/* tab */
.tab{text-align:center; margin-bottom:80px;}
.tab li{display:inline-block; margin-left:64px;}
.tab li:first-child{margin-left:0;}
.tab li a{font-size:27px; display:block; position:relative;}
.tab li.on a{font-weight:700;}
.tab li.on a:after{content:""; display:block; width:100%; height:6px; background:#2977f9; margin-top:10px;}

#contents h3,
#contents h3 strong{font-size:48px; font-weight:700; line-height:1.3; margin-bottom:85px;}
#contents h3 span{font-size:24px; opacity:0.3; font-weight:900}

.basic_dl dt{position:relative; font-weight:700; padding-left:15px; display:inline-block; width:100px; margin-top:25px;}
.basic_dl dt:before{content:""; display:inline-block; width:5px; height:5px; background:#2977f9; position:absolute; top:11px; left:0}
.basic_dl dd{display:inline-block; width:calc(100% - 105px); margin-top:25px;}
.basic_dl dt:first-child,
.basic_dl dt:first-child + dd{margin-top:0}

.basic_dl02{border-left:5px solid #f4f4f4; padding:10px 0 10px 50px}
.basic_dl02 dt{font-size:30px; font-weight:700; margin-bottom:16px; position:relative;}
.basic_dl02 dt strong{font-weight:700}
.basic_dl02 dt:before{content:""; display:block; width:5px; height:calc(100% + 20px); background:#2977f9; position:absolute; top:-10px; left:-55px;}
.basic_dl02 dd{display:inline-block; width:15%; margin-left:13%; margin-top:22px;}
.basic_dl02 dt + dd,
.basic_dl02 dd:nth-child(6){margin-left:0}

h3 + .basic_p{margin-top:-50px; text-align:center;}

/* about */
.about{background:#fafafa; padding:55px 75px; position:relative; margin-bottom:150px;}
.about:before{content:""; display:block; width:846px; height:629px; background:url(../images/contents/bg_about.png) no-repeat; position:absolute; top:-160px; right:0}

/* history */
.history{position:relative;}
.history:before{content:""; display:block; width:5px; height:100%; background:#ddd; position:absolute; top:0; left:83px; opacity:0.3;}
.history li{position:relative; padding:70px 0 0 200px; min-height:171px; margin-top:100px;}
.history li:first-child{margin-top:0;}
.history li>strong{display:block; width:171px; height:171px; border-radius:50%; line-height:4; font-size:40px; font-weight:700; text-align:center; background:#fff; position:absolute; left:0; top:0}
.history li>strong:before,
.history li>strong:after{content:""; display:block; width:22px; height:4px; background:#2977f9; position:absolute; left:0; right:0; margin:auto; top:0;}
.history li>strong:after{opacity:0.2; top:auto; bottom:0;}
.history li:first-child>strong{color:#fff; background:#2977f9;}
.history li:first-child>strong:before{background:#fff; left:auto; right:38px; top:105px;}
.history li:first-child>strong:after{display:none;}
.history dl{position:relative; padding-left:140px; margin-bottom:50px}
.history dl:after{content:""; display:block; width:2px; height:100%; position:absolute; top:0; left:105px; background:#ddd;}
.history dt{font-size:30px; font-weight:700; color:#aaa; width:100px; display:block; position:absolute; top:-10px; left:0;}
.history dd{display:block; padding-top:20px;}
.history dt + dd{padding-top:0;}

/* certification */
.certification li{float:left; width:22%; margin-left:4%; text-align:center; margin-bottom:50px; font-size:22px;}
.certification li:first-child,
.certification li:nth-child(5),
.certification li:nth-child(9),
.certification li:nth-child(13){margin-left:0;}
.certification li img{width:100%; border:3px solid #eee; margin-bottom:20px;}

.directions img{width:100%; border:3px solid #eee; margin-bottom:50px;}

/* product */
.product>li{border:3px solid #eee; padding:50px 80px 0 80px; margin-top:50px;}
.product>li:first-child{margin-top:0}
.product>li>dl>dt{position:relative; font-weight:900; font-size:30px; line-height:1.3; margin-bottom:50px;}
.product>li>dl>dt small{font-weight:700; color:#aaa; font-size:20px;}
.product>li>dl>dt span{position:absolute; bottom:5px; left:-35px; font-size:20px; opacity:0.5}
.product>li>dl>dd{padding-bottom:35px; border-left:1px solid #eee; padding-left:25px;}
.product dd dt{display:inline-block; width:120px; margin-bottom:15px; font-weight:700; opacity:0.4;}
.product dd dd{display:inline-block; width:calc(100% - 135px); vertical-align:top;}
.product dd dd span:first-child{width:710px; display:inline-block;}
.product dd dd span:not(:first-child){color:#ddd; display:inline-block; padding:0 0.5em;}
.product dd dd:has(ul){margin-bottom:15px;}

/* customer_support */
.customer_support{border:5px solid #eee; position:relative; margin-top:150px; padding-top:130px;}
.customer_support:before{content:""; display:block; width:189px; height:152px; background:url(../images/contents/icon_support.png) no-repeat; position:absolute; top:-90px; left:0; right:0; margin:auto;}
.customer_support .tel{text-align:center;}
.customer_support .tel dt{display:inline-block; font-weight:900; font-size:39px; opacity:0.5}
.customer_support .tel dd,
.customer_support .tel dd strong{display:inline-block; font-weight:900; font-size:59px;}
.customer_support .tel + p{text-align:center; color:#aaa; font-weight:500; margin-bottom:120px;}
.customer_support .info{border-left:1px solid #eee; padding:0 0 80px 25px; margin-left:80px;}
.customer_support .info dt{display:inline-block; width:140px; margin-bottom:15px; font-weight:700; opacity:0.4;}
.customer_support .info dd{display:inline-block; width:calc(100% - 155px);}

