@charset "utf-8";

.pb0 {padding-bottom:0 !important;}

.doc-tit {margin-bottom:55px; font-size:var(--fz28); font-weight:700; letter-spacing:-.03em; line-height:1.29em; color:#242424; text-align:center;}

.doc-tt {font-size:var(--fz16); font-weight:400; letter-spacing:-.03em; line-height:1.5em; color:#242424; text-align:center;}

.sub-tab {margin-bottom:40px;}
.sub-tab ul {gap:10px; display:flex; justify-content:center;}
.sub-tab ul li a {border-radius:8px; height:48px; padding:0 22px; display:flex; align-items:center; justify-content:center; text-align:center; background:#eee; font-size:var(--fz18); font-weight:500; line-height:1.33em; color:#999;}
.sub-tab ul li.active a {color:#fff; background:var(--color-primary);}

.greeting-top {padding-bottom:40px;  margin-bottom:40px; border-bottom:2px solid #e6e6e6;}
.greeting-top .t1 {font-size:var(--fz32); font-weight:500; letter-spacing:-.03em; line-height:1.4em;}
.greeting-top .t1 strong {color:var(--color-primary); font-size:1.88em;}
.greeting-top .t2 {margin:8px 0 33px; font-size:var(--fz32); font-weight:500; letter-spacing:-.03em; line-height:1.25em;}

.greeting {display:flex;}
.greeting .img {width:500px; margin-right:43px;}
.greeting .cnt {flex:1 1 auto; min-width:0; width:1%;}
.greeting .cnt h2 {margin-bottom:30px; font-size:var(--fz20); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:var(--color-primary);}
.greeting .cnt .txt-wrap {margin-bottom:30px;}
.greeting .cnt .txt-wrap p {margin-bottom:13px; line-height:1.63em; color:#454545;}
.greeting .cnt .txt-wrap p:last-child {margin-bottom:0;}
.greeting .cnt .strong {margin-bottom:45px; font-size:var(--fz18); font-weight:700; color:#454545;}
.greeting .cnt .sign-wrap {text-align:right;}
.greeting .cnt .sign-wrap p {margin-bottom:13px; font-size:var(--fz18); font-weight:700; line-height:1.4em; color:#242424;}
.greeting .cnt .sign-wrap .sign {font-weight:500; line-height:1.4em; color:#242424;}
.greeting .cnt .sign-wrap .sign img {margin-left:24px; vertical-align:middle;}

.contact-info {margin-bottom:80px;}
.contact-info .map-area {height:500px;}
.contact-info .comp {margin:35px 0 5px; font-size:var(--fz32); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.contact-info .addr {margin-bottom:33px; font-weight:400; letter-spacing:-.03em; color:#454545;}
.contact-info .info {display:flex;}
.contact-info .info .col {width:50%;}
.contact-info .info dl {margin-bottom:17px; display:flex;}
.contact-info .info dl:last-child {margin-bottom:0;}
.contact-info .info dl dt {min-width:140px; font-weight:700; color:var(--color-primary); line-height:1.63em;}
.contact-info .info dl dt img {margin-top:-.2em; margin-right:12px;}
.contact-info .info dl dd {font-weight:400; line-height:1.63em; color:#454545;}

.foreground h2 {margin-bottom:35px; font-size:var(--fz32); font-weight:700; line-height:1.4em;}

.slideshow {max-width:1000px; margin:0 auto;}
.slideshow .slick-track {display:flex;}
.slideshow .slick-track:before,
.slideshow .slick-track:after {display:none;}
.slideshow .slick-slide {flex-shrink:0; width:100%;}
.slideshow .image {position:relative; overflow:hidden; background:#f6f6f6;}
.slideshow .image:before {content:''; display:block; padding-bottom:60%;}
.slideshow .image img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.slideshow .slider-for {position:relative; margin-bottom:20px;}
.slideshow .slider-for .slide-btn {position:absolute; top:50%; z-index:10; display:flex; justify-content:center; align-items:center; width:40px; height:40px; margin-top:-20px; background:#fff; border:1px solid #ddd; border-radius:100%; transition:.2s; cursor:pointer; background-repeat:no-repeat; background-position:50% 50%;}
.slideshow .slider-for .slide-btn:hover {background-color:var(--color-primary); border-color:var(--color-primary);}
.slideshow .slider-for .slide-btn.prev {left:-100px; background-image:url('/images/sub/for-prev.png');}
.slideshow .slider-for .slide-btn.prev:hover {background-image:url('/images/sub/for-prev-on.png');}
.slideshow .slider-for .slide-btn.next {right:-100px; background-image:url('/images/sub/for-next.png');}
.slideshow .slider-for .slide-btn.next:hover {background-image:url('/images/sub/for-next-on.png');}
.slideshow .slider-nav .items {margin:0 -10px;}
.slideshow .slider-nav .item {padding:0 10px;}
.slideshow .slider-nav .image {cursor:pointer;}

.point .label {border-radius:24px; padding:0 25px; font-size:var(--fz20); font-weight:500; letter-spacing:-.03em; line-height:48px; display:inline-block; background:var(--color-primary); color:#fff; }
.point h2 {margin:20px 0 30px; font-size:var(--fz32); font-weight:400; letter-spacing:-.03em; line-height:1.25em; text-align:center;}
.point .bar {position:relative; margin:0 auto -40px; width:1px; height:80px; background:linear-gradient(to bottom, var(--color-primary) 50%, #fff 50%);}
.point .wrap {padding:75px 0 80px; background:#b9c1d1;}
.point .list ul {display:flex; margin:-20px;}
.point .list ul li {padding:20px; width:33.333%;}
.point .list .box {padding:60px 20px 35px; position:relative; height:100%; border-radius:24px; background:#737d90; text-align:center; color:#fff;}
.point .list .box .num {position:absolute; top:-20px; left:50%; transform:translateX(-50%); font-weight:700; line-height:40px; width:120px; text-align:center; color:#fff; background:var(--color-primary); border-radius:20px;}
.point .list .box .ico {margin-bottom:35px;}
.point .list .box .tit {margin-bottom:10px; font-size:var(--fz20); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.point .list .box .txt {line-height:1.63em; font-weight:400;}

.reason {padding:var(--sub-padding);}
.reason .logo {margin-bottom:30px; text-align:center;}
.reason .doc-tit {font-weight:400;}
.reason .group {margin-bottom:40px; display:flex; align-items:center;}
.reason .group:last-child {margin-bottom:0;}
.reason .group:nth-child(even) {flex-direction:row-reverse;}
.reason .group .img {width:48.333%;}
.reason .group .img img {border-radius:0 40px 0 40px;}
.reason .group .cnt {flex:1 1 auto; min-width:0; width:1%; padding:0 100px;}
.reason .group .cnt .tit {margin-bottom:15px; font-size:var(--fz28); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.reason .group .cnt .tit img {margin-right:40px; vertical-align:middle;}
.reason .group .cnt .txt {padding-left:87px; font-weight:400; letter-spacing:-.03em; line-height:1.63em;}

.tomorrow {background:#f9f9f9; padding:var(--sub-padding); padding-bottom:var(--real-padding-bottom);}
.tomorrow .doc-tit {margin-bottom:10px;}
.tomorrow .doc-tt {margin-bottom:55px;}
.tomorrow .wrap ul {display:flex; flex-wrap:wrap; margin:-20px;}
.tomorrow .wrap ul li {width:50%; padding:20px;}
.tomorrow .wrap .box {padding:40px; display:flex; align-items:center; height:100%; box-shadow:0 8px 16px rgba(0,0,0,.16); background:#fff; border-radius:24px;}
.tomorrow .wrap .box .ico {margin-right:40px;}
.tomorrow .wrap .box dl {flex:1 1 auto; min-width:0; width:1%;}
.tomorrow .wrap .box dl dt {margin-bottom:7px; font-size:var(--fz22); font-weight:600; letter-spacing:-.03em; line-height:1.4em;}
.tomorrow .wrap .box dl dd {font-weight:400; letter-spacing:-.03em; line-height:1.63em;}

.outline .doc-tit {text-align:left; margin-bottom:8px;}
.outline p {font-weight:400; color:#454545; line-height:1.63em;}

.merit {padding:var(--sub-padding);}
.merit .doc-tit {text-align:left; margin-bottom:35px;}
.merit .list ul li {margin-bottom:20px; display:flex;}
.merit .list ul li:last-child {margin-bottom:0;}
.merit .list .num {margin-right:20px; padding-top:.5em; font-size:var(--fz20); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:#fff; text-align:center; width:40px; height:56px; background:url('/images/sub/merit-num.png') no-repeat 50% 50% / contain;} 
.merit .list .txt {padding-bottom:10px; padding-top:.6em; font-size:var(--fz18); font-weight:500; line-height:1.4em; color:#454545; flex:1 1 auto; min-width:0; width:1%; border-bottom:1px solid #ddd;}
.merit .list .txt strong {color:var(--color-primary);}

.qualification {padding:var(--sub-padding); background:#e7eaf0;}
.qualification .doc-tit {text-align:left;}
.qualification .wrap .row {display:flex; flex-wrap:wrap; justify-content:center; margin:-32px -20px;}
.qualification .wrap .row .col {padding:32px 20px; width:33.333%;}
.qualification .wrap .box {background-position:100% 100%; background-repeat:no-repeat; border:1px solid #ddd; padding:60px 20px 35px; position:relative; min-height:265px; height:100%; text-align:center; background-color:#fff; border-radius:24px;}
.qualification .wrap .box .num {position:absolute; left:50%; top:0; margin:-25px 0 0 -25px; font-size:var(--fz20); font-weight:700; line-height:50px; background:var(--color-primary); width:50px; text-align:center; border-radius:100%; color:#fff;}
.qualification .wrap .box .tit {margin-bottom:9px; font-size:var(--fz24); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.qualification .wrap .box .txt {font-weight:400; letter-spacing:-.03em; line-height:1.63em; color:#454545;}
.qualification .wrap .box .tt {margin-top:8px; font-size:var(--fz14); font-weight:400; color:var(--color-primary); line-height:1.57em;}
.qualification .wrap .box1 {background-image:url('/images/sub/qualification1.png');}
.qualification .wrap .box2 {background-image:url('/images/sub/qualification2.png');}
.qualification .wrap .box3 {background-image:url('/images/sub/qualification3.png');}
.qualification .wrap .box4 {background-image:url('/images/sub/qualification4.png');}
.qualification .wrap .box5 {background-image:url('/images/sub/qualification5.png');}
.qualification.type2 .wrap .row .col {width:50%;}
.qualification.type2 .wrap .box {min-height:210px; background-image:none;}

.flowchart {padding:var(--sub-padding);}
.flowchart .doc-tit {text-align:left;}
.flowchart .img {border:1px solid #ddd; padding:60px 20px; text-align:center;}

.flow-list .wrap ol {margin:-17px -43px; display:flex; flex-wrap:wrap; justify-content:center;}
.flow-list .wrap ol li {width:16.666%; position:relative; padding:17px 43px; text-align:center;}
.flow-list .wrap ol li:after {content:''; position:absolute; right:0; top:30%; margin-right:-10px; width:19px; height:22px; background:url('/images/sub/flow-arr.png') no-repeat 50% 50% /contain;}
.flow-list .wrap ol li:nth-child(6):after,
.flow-list .wrap ol li:nth-child(10):after {display:none;}
.flow-list .wrap .ico {margin-bottom:19px;}
.flow-list .wrap .num {font-size:var(--fz18); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:var(--color-primary);}
.flow-list .wrap .txt {font-size:var(--fz18); font-weight:500; letter-spacing:-.03em; line-height:1.44em;}


