@charset "utf-8";

.sub-tab {margin-bottom:80px; background:#fafafa; border-radius:10px; overflow:hidden;  border:1px solid #dfdfdf;}
.sub-tab .swiper {padding:0 2px;}
.sub-tab ul li {position: relative; flex:1; border-left:1px solid #dfdfdf;}
.sub-tab ul li:first-child {border-left:0;}
.sub-tab ul li a {display:flex; align-items:center; justify-content:center; width:100%; height:64px; padding:0 15px; font-weight:500; color:#878787; font-size:16px; line-height:1.2em; letter-spacing:-.03em; }
.sub-tab ul li.active a {color:#fff; background:var(--color-primary);}
.sub-tab ul li.active + li {border-left:0;}

.doc-cnt:not(:last-child) {margin-bottom:85px;}
.doc-cnt2:not(:last-child) {margin-bottom:70px;}

.doc-tit {margin-bottom:17px; font-size:34px; font-weight:700; letter-spacing:-.03em; line-height:1.3em; color:var(--color-primary);}
.doc-tit2 {padding-left:27px; position:relative; margin-bottom:50px; font-size:30px; font-weight:700; letter-spacing:-.03em; line-height:1.3em; color:#2c2c2c;}
.doc-tit2:before {content:''; position:absolute; left:0; top:15px; width:7px; height:7px; background:var(--color-secondary); transform:rotate(-45deg);}

.doc-txt {font-size:17px; font-weight:400; letter-spacing:-.03em;}

.greeting {display:flex; align-items:center;}
.greeting .img {width:600px; margin-right:80px;}
.greeting .sub-title {padding:0; margin-bottom:37px;}
.greeting .cnt {flex:1 1 auto; min-width:0; width:1%;}
.greeting .text-mg p:not(:last-child) {margin-bottom:28px;}

.history-top {display:flex; justify-content:center; align-items:center; min-height:440px; position:relative;}
.history-top:before {content:''; width:100vw; height:100%; position:absolute; left:50%; transform:translateX(-50%); background:url('../images/sub/history.jpg') no-repeat 50% 50% / cover; z-index:-1;}
.history {position:relative;}
.history:before {content:''; position:absolute; left:50%; top:-155px; margin-left:-8px; width:16px; height:16px; border:4px solid #fff; border-radius:100%;}
.history:after {content:''; position:absolute; left:50%; top:-139px; width:1px; height:139px; background:#fff;}
.history .group {position:relative; padding-bottom:44px;}
.history .group:first-child {padding-top:68px;}
.history .group:last-child {padding-bottom:0;}
.history .group:before {content:''; position: absolute; top:19px; left:50%; width:1px; height:100%; background:#a8a8a8;}
.history .group:first-child:before {top:0; height:110%;}
.history .group:last-child:before {display:none;}
.history .group:nth-child(odd) {padding-left:50%;}
.history .group:nth-child(even) {padding-right:50%; text-align:right;}
.history .con {position:relative;}
.history .con:before {content:''; position:absolute; top:19px; width:9px; height:9px; background:var(--color-primary); transition:.2s; transform:rotate(-45deg);}
.history h2 {margin-bottom:20px; color:var(--color-primary); font-size:34px; font-weight:700; letter-spacing:-.04em; line-height:1.4em;}
.history .list li {margin-bottom:15px; position:relative;display:flex; font-size:18px; line-height:1.4em; letter-spacing:-.04em;}
.history .list li:last-child {margin-bottom:0;}
.history .list li:before {position: absolute; top:-1px; content:'·'; color: #a8a8a8; font-size:30px;}
.history .list strong {color:#2c2c2c; min-width:52px;}
.history .group:nth-child(odd) .con {padding-left:35px;}
.history .group:nth-child(odd) .con:before {left:0;margin-left:-4px;}
.history .group:nth-child(odd) .list li {padding-left:15px;}
.history .group:nth-child(odd) .list li:before {left:0;}
.history .group:nth-child(even) .con {padding-right:35px;}
.history .group:nth-child(even) .con:before {right:0; margin-right:-5px;}
.history .group:nth-child(even) .list li {flex-direction:row-reverse; padding-right:15px;}
.history .group:nth-child(even) .list li:before {right:0;}

.certi-list ul {display:flex; flex-wrap:wrap; margin:-24px -15px;}
.certi-list ul li {padding:24px 15px; width:33.333%; text-align:center;}
.certi-list .tit {margin-top:26px; font-size:18px; letter-spacing:-.04em; line-height:1.4em;}

.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:var(--color-secondary); font-weight:600; margin-bottom:20px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:var(--color-primary);}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}

.img-desc {display:flex; align-items:center; margin-bottom:60px;}
.img-desc:last-child {margin-bottom:0;}
.img-desc .img {width:600px; margin-right:80px;}
.img-desc dl {flex:1 1 auto; min-width:0; width:1%;}
.img-desc dl dt {margin-bottom:24px; font-size:28px; font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:#2c2c2c;}

.image-list ul {display:flex; flex-wrap:wrap; margin:-10px;}
.image-list ul li {width:25%; padding:10px;}
.image-list.ty2 ul li {width:50%;}

.point-list ul {display:flex; flex-wrap:wrap; border-top:1px solid #a8a8a8;}
.point-list ul li {width:33.333%; border-bottom:1px dashed #c7c7c7; padding:15px;}
.point-list .box {padding:38px 0;}
.point-list .num {margin-bottom:17px; color:var(--color-primary); font-size:24px; font-weight:700; letter-spacing:-.04em; line-height:1.4em;}
.point-list.ty2 ul {border-top:0; margin:-15px;}
.point-list.ty2 ul li {border-bottom:0;}
.point-list.ty2 .box {height:100%; padding:34px 40px; background:#fafafa;}
.point-list-2 ul {border-top:1px solid #a8a8a8;}
.point-list-2 ul li {display:flex; border-bottom:1px dashed #c7c7c7; padding:45px 0;}
.point-list-2 .tit {width:305px; font-size:22px; font-weight:700; letter-spacing:-.04em; line-height:1.3em; color:var(--color-primary); }
.point-list-2 .txt {letter-spacing:-.04em; flex:1 1 auto; min-width:0; width:1%; line-height:1.6em;}

.table01 table {border-top:1px solid #a8a8a8; width:100%; border-collapse:collapse; border-spacing:0; text-align:center;}
.table01 table thead th {border-bottom:1px solid #dfdfdf; border-right:1px solid #dfdfdf; padding:16px 10px; background:#fafafa; color:#2c2c2c; font-weight:500;}
.table01 table tbody th {border-bottom:1px solid #dfdfdf; border-right:1px solid #dfdfdf; padding:16px 10px; background:#fafafa; color:#2c2c2c; font-weight:500;}
.table01 table tbody td {border-bottom:1px solid #dfdfdf;  border-right:1px solid #dfdfdf;padding:16px 10px;}
.table01 table thead th:last-child, 
.table01 table tbody th:last-child, 
.table01 table tbody td:last-child {border-right:0;} 
.table-tt {margin-top:15px; font-size:15px; line-height:1.6em; text-align:right; color:#878787;}

.img-table-wrap .row {display:flex; margin:-20px;}
.img-table-wrap .col {width:50%; padding:20px;}
.img-table-wrap .table01 {height:100%;}
.img-table-wrap .table01 table {height:100%;}

.customer-list ul {display:flex; flex-wrap:wrap; margin:-15px;}
.customer-list ul li {width:33.333%; padding:15px;}