@charset "utf-8";

.tablet {display:none;}
.vision-text {margin-bottom: 60px; text-align: center;  color:#454545; font-size:18px; font-weight:400; line-height:1.778em; letter-spacing:-0.03em;}
.vision-text span {color: #274290; font-weight: 500; font-size:20px;}
.vision-box {position: relative; margin-top: -120px; padding: 47px 0;text-align:center; box-shadow: 0px 3px 7px 0px rgba(36, 36, 36, 0.1); background-color: #fff;}
.vision-box h3 {margin-bottom: 18px;  color:#454545; font-size:22px; font-weight:500; line-height:1.455em; letter-spacing:-0.02em;}
.vision-box h3 span {color:#0081c9; font-size:24px; font-weight:700; letter-spacing:-0.02em;}
.vision-box p { color:#454545; font-size:16px; font-weight:400; line-height:1.875em; letter-spacing:-0.03em;}
.vision-img {height: 650px; background: url(../images/sub/vision.jpg) 50% 50% no-repeat; background-size: cover; }

.leadershp .img {border-bottom:2px solid #686868; text-align:center; height: 500px; background: url(../images/sub/leadershp.jpg)50% 50% no-repeat; background-size: cover;}
.leadershp .img .txt {height: 500px; display:flex; flex-direction: column; justify-content: center; align-items: center;}
.leadershp .img p { color:#0084ca; font-size:25px; font-weight:500; line-height:1.4em; letter-spacing:-0.03em;}
.leadershp .img h3 { color:#16338a; font-size:35px; font-weight:500; line-height:1.4em; letter-spacing:-0.03em;}
.leadershp .text {margin-top: 22px;}
.leadershp .text p {margin-bottom: 23px;  color:#454545; font-size:16px; font-weight:400; line-height:1.647em; letter-spacing:-0.03em;}
.leadershp .text p span {color:#243f8e; font-size:17px; font-weight: 500;}
.leadershp .text .ceo {color:#242424; font-size:17px; font-weight:500; line-height:1.4em; letter-spacing:-0.03em;}

.history .img {margin-bottom: 50px;}
.history .group {position:relative; padding-bottom:54px;}
.history .group:before {content:""; position:absolute; top:10px; left:50%; bottom:-20px; width:1px; background:#ddd;}
.history .group:last-of-type:before {display:none;}
.history .group .inner {position:relative; display:flex;}
.history .group .inner ul {margin-top: 10px;}
.history .group .bullet:after {content:""; position:absolute; top:17px;left:50%; margin:-10px 0 0 -10px; width:20px; height:20px; background:#0186cb; border:4px solid #b2daef; border-radius:100%;}
.history .group .bullet:before {content:""; position:absolute; top:17px; width:50px; height:1px; border-bottom:1px solid #ddd;}

.history .group h3 {color:#25408e; font-size:28px; letter-spacing:-0.03em; line-height:1.385em; font-weight:500;}
.history .group ul li {margin-bottom: 7px; position:relative; color:#454545; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.03em;}
.history .group:last-child {padding-bottom:0;}
.history .group:nth-child(even) .inner {margin-left:50%; padding-left:80px;}
.history .group:nth-child(even) .inner ul {margin-left: 20px;}
.history .group:nth-child(even) .bullet:before {left:50%;}
.history .group:nth-child(odd) {text-align:right;}
.history .group:nth-child(odd) .inner {margin-right:50%; padding-right:80px; flex-direction: row-reverse;}
.history .group:nth-child(odd) .inner ul {margin-right: 20px;}
.history .group:nth-child(odd) .bullet:before {right:50%}


.service .group {margin-bottom: 130px; display:flex; flex-wrap:wrap; position: relative;}
.service .group .bg {z-index: -1; position: absolute; top:0; left: -200px; font-family: 'Montserrat', sans-serif; color:rgba(36,36,36,.05); font-size:120px; line-height:0.9em; font-weight: 700; letter-spacing:-0.03em;}
.service .group .img {flex:1 1 auto; min-width: 0; width: 1%;}
.service .group .text {position: relative; width: 54.348%; display: flex; align-items: center;}
.service .group .text .inner {position: relative; padding-left: 140px;}
.service .group .text .inner:before {content:""; position:absolute; width: 100px; height: 2px; background-color: #acacac; left: 0; top:18px;}
.service .group .text h3 {margin-bottom: 18px;color:#243f8e; font-size:26px; font-weight:700; line-height:1.4em; letter-spacing:-.03em;}
.service .group .text p {color:#242424; font-size:16px; font-weight:400; line-height:1.75em; letter-spacing:-.03em;}

.service .group:nth-of-type(even) {flex-direction: row-reverse;}
.service .group:nth-of-type(even) .text {justify-content: flex-end}
.service .group:nth-of-type(even) .text .inner {text-align: right; padding-left: 0; padding-right: 140px;}
.service .group:nth-of-type(even) .text .inner:before {left: auto; right: 0;}
.service .group:nth-of-type(even) .bg {left: 50%; width: auto; width: 200%;}

.service .group:nth-of-type(3) .bg {left: -20px;}

.project {max-width:1860px; padding: 0 30px; margin: 0 auto;} 

.recruit h3 {padding-bottom: 13px; border-bottom:1px solid #ddd; color:#242424; font-size:25px; font-weight:500; line-height:1.4em; letter-spacing:-.03em;}
.recruit h3 span {padding:0 10px 13px 10px; border-bottom:2px solid #25408e; width: 100%;} 
.recruit .img {text-align: center; margin-bottom: 100px;}
.recruit .tt {margin: 50px 0 70px; text-align: center; color:#242424; font-size:20px; font-weight:500; line-height:1.4em; letter-spacing:-.03em;}
.recruit ul { display:flex; flex-wrap:Wrap; margin: 50px -25px 60px -25px;}
.recruit ul li {padding: 0 25px; width: 33.33333%;}
.recruit .inner .image1 img {border-radius:50px 0 0 0;}
.recruit .inner .image3 img {border-radius: 0 50px 0 0;}
.recruit .inner .text {background-color: #25408e; padding: 20px; height: 140px;}
.recruit .inner .text .tit {margin-bottom: 15px; color:#fff; font-size:20px; font-weight:500; line-height:1.4em; letter-spacing:-.03em;}
.recruit .inner .text .txt {color:#fff; font-size:16px; font-weight:400; line-height:1.625em; letter-spacing:-.03em;}

.map {position: relative; display:flex; margin-top: 40px; margin: 40px -30px 100px -30px;}
.map .con {position: relative; display:flex; padding: 0 30px; align-items: center;}
.map .con:before {content:"";position: absolute; width: 1px; height: 14px; right: 0; background-color: #ddd; top:50%; transform:translateY(-50%);}
.map .con:nth-of-type(4):before {display:none !important;}
.map .con p {margin-left: 10px; color:#454545; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.03em;}
.link {position: absolute; right: 30px;}
.link ul li a {display:flex; align-items: center; margin-bottom: 13px;}
.link ul li a p {margin-left: 15px; color:#242424; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:0;}