@charset "utf-8";


.sub-tab {margin-bottom:60px; text-align:center;}
.sub-tab ul {display:flex; width:100%;}
.sub-tab ul li {flex:1; width: auto; display: table; min-height: 60px;}
.sub-tab ul li a {position:relative; display:table-cell; vertical-align: middle; color:#fff; font-size:19px; font-weight:500; line-height:1.3em; background: #454545;}
.sub-tab ul li.active a {background: #12397a; z-index:2;}

.top-txt {font-size: 20px; line-height: 1.444em; margin-bottom: 60px; text-align: center;}	
.top-txt strong {color: #12397a; font-weight: 500;}

/* about */
.about .section {padding: 100px 0;}
.about .section.bg {background: #fafafa;}
.about h3 {text-align: center; font-size:32px; line-height:1.3em; padding-bottom: 80px;}

/* greetings */
.greetings .head {display: table; width: 100%; height: 241px; background: no-repeat url("../images/sub/greetings.jpg") center center / cover;}
.greetings .head .cell {display: table-cell; vertical-align:bottom; padding: 60px 50px;}
.greetings .head p {color: #fff; font-size: 28px; font-weight: 700; line-height: 1.357em; letter-spacing: -.02em;}
.greetings .head p strong {display: block; color: #cbeeff;}
.greetings .body {color: #454545; padding: 30px 0 0 40px;}
.greetings .body p {margin-bottom: 23px;}
.greetings .body p:last-child {margin-bottom: 0;}

/* history */
.history .year {color: #12397a; font-size: 30px; line-height: 1.2; letter-spacing: -.25px; text-align: center; margin-bottom: 35px;}
.history .group {position:relative; padding:100px 0 80px; /* display: flex; */}
.history .group:before {content:''; position:absolute; left:50%; top:0; bottom:0; width:1px; border: 1px dashed #ddd;}
.history .group:after {content:''; position:absolute; left:50%; top:-10px; margin-left: -10px; bottom:0; width:21px; height: 21px; border: 1px solid #c9c9c9; border-radius:100%; box-shadow: #fafafa 0px 0px 0px 5px inset, #123979 0px 0px 0px 10px inset;}
.history .group .img {position: absolute; left: -100%; top: 0; transform: translateY(-40%); width: 100%; text-align: right; padding-right: 40px;}
.history .group .cnt {position: relative; display: flex; width: 50%; padding-left: 42px; margin-left: 50%;}
.history .group .cnt .date {position: relative; min-width: 63px; color: #686868; font-size: 17px; font-weight: 500; letter-spacing: -.025em;}
.history .group .cnt .date:before,
.history .group .cnt .date:after {content:''; position: absolute; top: 14px; left: -42px;}
.history .group .cnt .date:before {width: 7px; height: 7px; margin-top: -3px; margin-left: -3px; border-radius:7px; background: #a8a8a8;}
.history .group .cnt .date:after {width: 27px; height: 1px; background: #a8a8a8;}
.history .group .cnt .txt {color: #282828; letter-spacing: -.025em;}
.history .group .cnt .txt strong {display: block; color: #12397a; font-size: 20px; font-weight: 500; margin-bottom: 12px;}


/* philosophy */
.philosophy {display: flex;align-items: center;}
.philosophy .img {width: 63.5%; padding-right: 30px;}
.philosophy .txt {flex: 1 1 auto; min-width: 0; width: 1%;}
.philosophy .txt strong {display: block; color: #094894; font-size: 30px; line-height: 1.4; letter-spacing: -.025em; margin-bottom: 18px;}
.philosophy .txt p {color: #454545; font-size: 1.063em; line-height: 1.471em; letter-spacing: -.025em; margin-bottom: 13px;}
.philosophy .txt p:last-child {margin-bottom: 0;}

/* partner */
.partner ul {display: flex;justify-content: space-between; margin: 0 -10px;}
.partner ul li {padding: 0 10px;}
.partner ul li p {font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: -.025em; padding: 0 10px; margin-top: 15px;}

.product-items {text-align: center; margin-bottom: 95px;}
.product-items ul {display: flex;flex-wrap:wrap; margin: 0 -20px;}
.product-items ul li {width: 50%; padding: 0 20px;}
.product-items ul li p {margin-top: 15px;}
.product-items .t1 {margin-top: 45px; color: #242424; font-size: 1.063em; line-height: 1.529em;}

.product-items ul.w1 li {width: 100%;}
.product-items ul.w3 li {width: 33.333333%;}

.SAP {padding: 10px; background: #ddd; margin-bottom: 95px;}
.SAP .inner {display: flex;align-items: center;justify-content: space-around; padding: 30px; background: #fff;}
.SAP .txt {padding-right: 15px;}
.SAP .txt strong {display: block; color: #333; font-size: 24px; line-height: 1.4; margin-bottom: 20px;}
.SAP .txt p {color: #242424; font-size: 20px; font-weight: 500; line-height: 1.6;}
.SAP .txt p span {color: #12397a;}
.SAP .img {flex: 0 0 318px;}

.product-contact .contact-info {display: flex;align-items: center;}
.contact-info .img {width: 49%; text-align: right; padding: 0 65px;}
.contact-info .cnt {flex: 1 1 auto; min-width: 0; width: 1%; border-left: 1px solid #ddd; padding-left: 9.5%;}
.contact-info .cnt strong {display: block; color: #12397a; font-size: 20px; font-weight: 700; line-height: 1.4;}
.contact-info .cnt .info {font-size: 1.063em; font-weight: 500; line-height: 1.5;}
.contact-info .cnt .info p {position: relative; margin: 18px 0; padding-left: 36px;}
.contact-info .cnt .info .ico {position: absolute; top: -1px; left: 0; width: 27px; height: 27px; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.contact-info .cnt .info .ico-mail {background-image:url("../images/sub/ico_mail.png");}
.contact-info .cnt .info .ico-tel {background-image:url("../images/sub/ico_tel.png");}
.contact-info .cnt .info .ico-fax {background-image:url("../images/sub/ico_fax.png");}

/* warranty */
.warranty ul {display: flex;flex-wrap:wrap; margin: -30px; text-align: center;}
.warranty ul li {width: 33.3333333%; padding: 30px;}

.slideshow {position: relative;}
.slideshow .slider {position: relative;}
.slideshow .slide-btn {position:absolute; bottom: 0; right: 0;}
.slideshow .slick-arrow {width:40px; height:40px;z-index:50; background-size: 17px; background-color:#454545; background-position:50% 50%; background-repeat:no-repeat; border:0; overflow:hidden; text-indent:-9999em;}
.slideshow .slick-arrow:hover {background-color:#12397a;}
.slideshow .slick-prev {background-image:url("../images/sub/sh_slide_prev.png"); border-right: 1px solid rgba(255,255,255,.1);}
.slideshow .slick-next {background-image:url("../images/sub/sh_slide_next.png");}

.slideshow .roll-btn {text-align: center; margin-top: 5px;}
.slideshow .slick-dots li {display:inline-block; margin: 0 6px;}
.slideshow .slick-dots button{width:7px; height:7px; border-radius:7px; background:#ddd; border:0; text-indent:-999em; font-size:0; line-height:0;}
.slideshow .slick-dots li.slick-active button {width:17px; background:#12397a;}
