@charset "UTF-8";

html{
	font-size: 62.5%;
    font-weight: 500;
}
body {
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.6;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	overflow-wrap: break-word;
	word-break: normal;
	overflow-x: hidden;
	color: #333;
	min-width: 1160px;
}
@media screen and (max-width: 767px) {
	body {
		font-size: 1.4rem;
		min-width: auto;
	}
	.preload * {
		-webkit-transition: none !important;
		-moz-transition: none !important;
		-ms-transition: none !important;
		-o-transition: none !important;
		transition: none !important;
	}
}
@media screen and (max-width: 374px) {
	body {
		min-width: 375px;
	}
}

/* base
========================================================================== */
.sp-hide{display: none;}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img{
	vertical-align: bottom;
}

@media only screen and (min-width: 768px) {
	.sp-hide{display: block;}
	.pc-hide{display: none;}
}

/* hover
========================================================================== */
@media screen and (min-width: 768px) {
	.hover{
		-webkit-transition: all .1s ease-in-out;
		transition: all .1s ease-in-out;
	}
	.hover:hover{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha(opacity=70)";
	}
}

/* margin
========================================================================== */
.mt10{margin-top: 10px!important;}
.mt20{margin-top: 20px!important;}
.mt30{margin-top: 30px!important;}
.mt40{margin-top: 40px!important;}
.mt50{margin-top: 50px!important;}
.mt60{margin-top: 60px!important;}
.mb10{margin-bottom: 10px!important;}
.mb20{margin-bottom: 20px!important;}
.mb30{margin-bottom: 30px!important;}
.mb40{margin-bottom: 40px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60{margin-bottom: 60px!important;}

/* width
========================================================================== */
.wauto {width: auto!important;}
.w5 {width: 5% !important;}
.w10 {width: 10% !important;}
.w20 {width: 20% !important;}
.w30 {width: 30% !important;}
.w40 {width: 40% !important;}
.w50 {width: 50% !important;}
.w60 {width: 60% !important;}
.w70 {width: 70% !important;}
.w80 {width: 80% !important;}
.w90 {width: 90% !important;}
.w100 {width: 100% !important;}

/* section
========================================================================== */
.section-s{margin-bottom: 60px;}
.section-l{margin-bottom: 80px;}
@media screen and (max-width: 767px) {
	.section-s{margin-bottom: 30px;}
	.section-l{margin-bottom: 40px;}
}

/* text
========================================================================== */
.caution{
	text-align: center;
}
.tcen {text-align: center!important;}
.tlef {text-align: left!important;}
.trig {text-align: right!important;}

/* listmark
========================================================================== */
.maru,.shikaku,.kome,.ast,.maru1,.maru2,.maru3,.dot,.arrow,.maru-w,.nimaru{
	position: relative;
	padding-left: 1.1em;
}
.tyu,.no1,.no2,.no3,.no4,
.kana-a,.kana-i,.kana-ro,.kana-ha{
	position: relative;
	padding-left: 1.7em;
}
.kome1,.kome2,.kome3,.kome4,.kako1,.kako2,.kako3,.kako4,.kako5,.kako6,.kako7,.ast1,.ast2,.ast3{
	position: relative;
	padding-left: 2.2em;
}
.ex1,.ex2,.no10{
	position: relative;
	padding-left: 2.6em;
}
.source,.tyu1,.tyu2,.tyu3,.kako-kome,.kako-tyu{
	position: relative;
	padding-left: 3.2em;
}
.maru:before,.shikaku:before,.kome:before,.kome2:before,.kome3:before,.kome4:before,.kome1:before,
.ast:before,.ast1:before,.ast2:before,.ast3:before,.maru1:before,.maru2:before,.maru3:before,
.kako1:before,.kako2:before,.kako3:before,.kako4:before,.kako5:before,.kako6:before,.kako7:before,
.dot:before,.source:before,.tyu:before,.tyu1:before,.tyu2:before,.tyu3:before,.arrow:before,.maru-w:before,
.no1:before,.no2:before,.no3:before,.no4:before,.no10:before,.kana-a:before,.kana-i:before,.kana-ro:before,.kana-ha:before,
.ex1:before,.ex2:before,.kako-kome:before,.kako-tyu:before,.nimaru:before{
	position: absolute;
	display: block;
	left: 0;
	font-size: inherit;
}

.maru:before{content: '●';font-family: "メイリオ", Meiryo;}
.shikaku:before{content: '■';font-family: "メイリオ", Meiryo;}
.kome:before{content: '※';}
.kome1:before{content: '※1';}
.kome2:before{content: '※2';}
.kome3:before{content: '※3';}
.kome4:before{content: '※4';}
.ast:before{content: '＊';}
.ast1:before{content: '＊1';}
.ast2:before{content: '＊2';}
.ast3:before{content: '＊3';}
.maru1:before{content: '\002460'}
.maru2:before{content: '\002461';}
.maru3:before{content: '\002462';}
.nimaru:before{content: '\0025ce';}
.kako1:before{content: '（1）';}
.kako2:before{content: '（2）';}
.kako3:before{content: '（3）';}
.kako4:before{content: '（4）';}
.kako5:before{content: '（5）';}
.kako6:before{content: '（6）';}
.kako7:before{content: '（7）';}
.kako-kome:before{content: '（※）';}
.kako-tyu:before{content: '（注）';}
.no1:before{content: '１.';}
.no2:before{content: '２.';}
.no3:before{content: '３.';}
.no4:before{content: '４.';}
.no10:before{content: '１０.';}
.kana-a:before{content: 'ア.';}
.kana-i:before{content: 'イ.';}
.kana-ro:before{content: 'ロ.';}
.kana-ha:before{content: 'ハ.';}
.dot:before{content: '・';}
.source:before{content: '出典：';}
.tyu:before{content: '注）';}
.tyu1:before{content: '（注1）';}
.tyu2:before{content: '（注2）';}
.tyu3:before{content: '（注3）';}
.ex1:before{content: '例１.';}
.ex2:before{content: '例２.';}

/* 注釈
========================================================================== */
.note {
	font-size: 1.2rem;
	margin-top: 10px;
	text-align: left;
}
.note li:not(:last-child){
	margin-bottom: 3px;
}

/* color
========================================================================== */
.bg_color_beige{background-color: #fff5e1!important;}
.bg_color_blue{background-color: #e4f1ff!important;}
.bg_color_komonbiz{background-color: #c18d27!important;}
.bg_color_bonobo{background-color: #00a0bd!important;}
.bg_color_credit{background-color: #193472!important;}


/* header
========================================================================== */
#header{
	border-bottom: 1px solid #b3b3b3;
}
#header .header__inner{
	display: flex;
	align-items: center;
	width: 1160px;
	margin: 0 auto;
	padding: 0 20px;
	height: 70px;
}
#header .header__logo{
	width: 300px;
}
@media screen and (max-width: 767px) {
	#header .header__inner{
		width: 100%;
		padding: 0 12px;
		height: 50px;
	}
	#header .header__logo{
		width: 220px;
	}
}

/* footer
========================================================================== */
#footer{
	margin-top: 80px;
}
#footer .wrap {
	padding: 15px 0;
	width: 1120px;
	margin: 0 auto;
}
.footer-content-area {
  font-size: 14px;
}
.footer-content-area h4 {
  font-size: 16px;
}
.footer-content-area i.fa {
  margin-right: 12px;
}
.footer-content-area .footer-cont-content li {
  position: relative;
  overflow: hidden;
  float: left;
}
.footer-content-area .footer-cont-content li a::before {
  content: '|';
  position: absolute;
}
.footer-content-area .footer-cont-content li:first-child a::before{ content: '';}
.footer-content-area .footer-cont-content li a {
  padding: 8px 12px 8px 0px;
  display: inline-block;
}
.footer-content-area .footer-cont-content li a span{ margin-left: 1em;}
.footer-content-area #footer-cont-about li a:hover,
.footer-content-area .footer-cont-content li a:hover {
  text-decoration: underline;
}
.footer-content-area #footer-cont-sns a {
  display: block;
  padding: 8px 12px 8px 0;
}
.footer-content-area #footer-cont-sns a:hover {
  text-decoration: none;
}
.footer-gnav-ul{
  margin: 0 auto 10px;
  width: auto;
  display: inline-block;
  text-align: center;
  font-size: 1.6rem;
}
.footer-01 {
  background: #f2f2f2;
  padding: 10px 0 15px;
  text-align: center;
}
.ft_logo{ margin-bottom: 20px;}
.ft_logo img{width: 330px;}
.ft_logo a{ display: block;}
@media screen and ( max-width: 767px ){
	#footer{
		margin-top: 40px;
	}
	#footer .wrap {
		width: 100%;
	}
	.footer-content-area .footer-cont-content li { float:none;}
	.footer-content-area .footer-cont-content li a{
		padding: 8px 12px 4px 0px;
		font-size: 1.4rem;
	}
	.footer-content-area .footer-cont-content li a::before {content: '';}
	.footer-content-area .footer-cont-content li a span{ margin-left: 0;}
	.footer-gnav-ul{
		text-align: left;
		margin-bottom: 20px;
	}
	.footer-01{
		padding: 0 12px;
		text-align: left;
	}
		.footer-01 .address { font-size: 1.2rem;}
		.footer-02 .footer_Privacy { flex-direction: column;}
		.footer-02 .footer_Privacy .footer_Privacy-mark li:last-child { margin-right: 0;}
		.footer-02 .footer_Privacy .footer_Privacy-txt{padding: 0 12px;}
		.footer-02 .footer_Privacy .footer_Privacy-txt p { margin-top: 12px;}
		.footer-02 .row .gr8 { padding: 0 !important;}
	}
.footer-02 {
	background: #f2f2f2;
	border-top:1px solid #c2c8cc;
}
.footer-02 .footer_Privacy{
	display: flex;
	align-items: center;
}
.footer-02 .footer_Privacy .footer_Privacy-mark{
	display: flex;
	align-items: center;
	flex-grow: 0;
	flex-shrink: 0;
}
.footer-02 .footer_Privacy .footer_Privacy-mark li{
	margin-right: 15px;
}
.footer-02 .footer_Privacy .footer_Privacy-mark li img{
	width: auto;
	height: 60px;
}
.footer-02 .footer_Privacy .footer_Privacy-txt{
	width: auto;
	flex-grow: 1;
	flex-shrink: 1;
}
.footer-02 .footer_Privacy .footer_Privacy-txt p {
	font-size: 1.2rem;
}
.footer-03{ background-color: #41484d;}
.footer-03 .footer-copy {
	text-align: center;
	font-size: 12px;
	color: #fff;
}

/* main_visual
========================================================================== */
main{
	width: 1160px;
	margin: 0 auto;
	padding: 0 20px;
}
.main-visual{
	position: relative;
	height: 420px;
}
.main-visual__inner{
	width: 1140px;
	height: 420px;
	margin: 0 auto;
}
.main-visual__inner .main-visual__img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.main-visual__inner .main-visual__ttl{
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	font-size: 70px;
	font-weight: bold;
	color: #183252;
	line-height: 1.3;
}
.main-visual__inner .main-visual__ttl span{
    display: block;
	font-size: 40px;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	main{
		width: 100%;
		padding: 0 12px;
	}
	.main-visual{
		height: auto;
		margin-inline: -12px;
	}
	.main-visual__inner{
		width: 100%;
		height: auto;
	}
	.main-visual__inner .main-visual__img{
		position: inherit;
		transform: none;
		width: 100%;
	}
	.main-visual__inner .main-visual__ttl{
		font-size: 32px;
		margin-left: 12px;
		text-shadow: 0px 0px 10px rgba(221, 241, 254, 1),
					 0px 0px 10px rgba(221, 241, 254, 0.3),
					 0px 0px 5px rgba(221, 241, 254, 1);
	}
	.main-visual__inner .main-visual__ttl span{
		font-size: 18px;
		margin-bottom: 10px;
	}

}

/* 汎用パーツ
========================================================================== */

.cat_page_title{
    position: relative;
    padding: 28px 10px 32px;
    background: #3b4d5a;
    background: -moz-linear-gradient(top, #3b4d5a 1%, #53646f 100%);
    background: -webkit-linear-gradient(top, #3b4d5a 1%,#53646f 100%);
    background: linear-gradient(to bottom, #3b4d5a 1%,#53646f 100%);
    color: #fff;
    text-align: center;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
	margin-inline: -50%;
}
.contact_box .cat_page_title{
    background: #404040;
    background: -moz-linear-gradient(top, #535353 1%, #404040 100%);
    background: -webkit-linear-gradient(top, #535353 1%,#404040 100%);
    background: linear-gradient(to bottom, #535353 1%,#404040 100%);
    padding: 18px 10px 26px;
}
.cat_title{
    font-size: 2.8rem;
    margin: 0;
}
.cat_page-ruby{
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: 1.5px;
  line-height: 0.8;
  margin: 0;
  font-family: segoe UI, -apple-system, BlinkMacSystemFont, Arial;
}
.tri-border{
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  z-index: 20;
}
.tri-border span{
  display: block;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 20px solid #53646f;
}
.contact_box .tri-border span{ border-top: 20px solid #404040;}
@media screen and ( max-width: 767px ){
  .cat_page_title{
    padding: 20px 10px 22px;
  }
  .contact_box .cat_page_title{
    padding: 10px 10px 18px;
  }
  .cat_title{
    font-size: 2.0rem;
  }
  .cat_page-ruby {
    font-size: 1.4rem;
  }
  .tri-border span {
    height: 20px;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 15px solid #53646f;
  }
  .contact_box .tri-border span {
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 10px solid #404040;
  }
}
.title_lead{
  font-weight: bold;
  color:#3a4c59;
  margin-bottom: 20px;
  font-size:2.4rem;
  padding: 2px 0 2px 22px;
  position: relative;
}
.title_lead::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 6px;
  background: #3a4c59;
  background: -moz-linear-gradient(top, #3a4c59 1%, #3a4c59 50%, #6b95b3 50%, #3a4c59 50%, #6b95b3 50%, #6b95b3 100%); 
  background: -webkit-linear-gradient(top, #3a4c59 1%,#3a4c59 50%,#6b95b3 50%,#3a4c59 50%,#6b95b3 50%,#6b95b3 100%);
  background: linear-gradient(to bottom, #3a4c59 1%,#3a4c59 50%,#6b95b3 50%,#3a4c59 50%,#6b95b3 50%,#6b95b3 100%);
}
@media screen and ( max-width: 767px ){
	.title_lead{
        font-size: 1.8rem;
        margin: 0 4px 15px;
        padding: 2px 0 2px 18px;
	}	
}
/*ttl*/
.ttl-type01{
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	margin: 60px 0;
}
@media screen and (max-width: 767px) {
	.ttl-type01{
		font-size: 2.6rem;
		margin: 30px 0;
	}	
}
.ttl-product{
	font-size: 2.0rem;
	font-weight: bold;
	background-color: #f2f2f2;
	text-align: center;
	padding: 43px 0 0;
	height: 160px;
}
.ttl-product span{
	position: relative;
	padding: 6px 40px;
}
.ttl-product span::after,
.ttl-product span::before{
    position: absolute;
    top: 0;
    content: '';
    width: 10px;
    height: 100%;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
}
.ttl-product span::after{
	border-right: 1px solid #666;
	right: 0;
}
.ttl-product span::before{
	border-left: 1px solid #666;
	left: 0;
}
@media screen and (max-width: 767px) {
	.ttl-product{
		font-size: 1.7rem;
		padding: 30px 0 0;
		height: 120px;
	}
	.ttl-product span{
		padding: 6px 20px;
	}
}

/*box*/
.box-product{
	display: flex;
	flex-wrap: wrap;
	margin: -40px 60px 0;
	justify-content: center;
}
.box-product li{
	position: relative;
	width: calc(100% / 2 - 20px);
	padding: 40px;
	border-radius: 8px;
	box-shadow: 0 3px 12px rgba(66, 84, 102, 20%);
	background-color: #fff;
}
.box-product li .box-product__img{
	display: flex;
	width: 340px;
	height: 130px;
	margin: 0 auto 20px;
}
.box-product li .box-product__img img{
	width: 100%;
}
.box-product li:nth-of-type(2n){
	margin-left: 40px;
}
.box-product li .btn-type01{
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.box-product{
		display: block;
		margin: -30px 20px 0;
	}
	.box-product li{
		position: relative;
		width: 100%;
		padding: 20px;
		border-radius: 8px;
	}
	.box-product li:nth-of-type(2n){
		margin-left: 0;
		margin-top: 20px;
	}
	.box-product li .box-product__img{
		width: 100%;
		height: auto;
	}
	.box-product li .box-product__img img{
		max-width: 240px;
		margin: 0 auto;
	}
}

/*btn*/
.btn-type01{
	position: relative;
	background-color: #333;
	display: block;
	border-radius: 8px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 12px 0;
	-webkit-transition: all ease-in-out .15s;
    transition: all ease-in-out .15s;
}
.btn-type01::after{
    position: absolute;
    content: "";
    background: url(/img/ic_arrow.svg) no-repeat center center;
    background-size: 12px 18px;
    width: 12px;
    height: 18px;
    top: 50%;
    right: 18px;
    transform: translate(0, -50%);
}
.btn-type01.ic_blank::after{
    position: absolute;
    content: "";
    background: url(/img/ic_blank.svg) no-repeat center center;
	background-size: 18px 17px;
    width: 18px;
    height: 17px;
}
.btn-type01:hover{
	opacity: 0.75;
}
@media screen and (max-width: 767px) {
	.btn-type01::after{
		background-size: 10px 16px;
		width: 10px;
		height: 16px;
		right: 10px;
	}
	.btn-type01.ic_blank::after{
		background-size: 16px 15px;
		width: 16px;
		height: 15px;
	}
}


/* ----------------------------------------
* breadcrumb
---------------------------------------- */
.breadcrumb-area {
	box-shadow: inset 1px 4px 6px -6px #262626;
	background: #f2f2f2;
	border-bottom: 1px solid #e5e5e5;
}
.breadcrumb-area .wrap {
	padding: 8px 0 6px;
	font-size: 1.2rem;
	width: 1120px;
	margin: 0 auto;
}
.breadcrumb {
	margin: 0;
	margin-left: -10px;
	overflow: hidden;
	font-size: 13px;
	padding: 0;
	line-height: 22px;
}
.breadcrumb li {
	float: left;
	margin-left: 10px;
}
.breadcrumb li a {
	text-decoration: none;
}
.breadcrumb li a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.breadcrumb{
		margin: 0 12px;
		font-size: 1.2rem;
	}
	.breadcrumb-area .wrap {
		padding: 6px 0px 4px;
		width: 100%;
	}
}

/* ----------------------------------------
* 404
---------------------------------------- */
.btn-404__wrap{
	width: 340px;
	margin: 0 auto;
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	.btn-404__wrap{
		width: 100%;
		margin-top: 40px;
	}	
}
