@charset "utf-8";

.doc-cnt {margin-bottom: 90px;}
.doc-cnt:last-child {margin-bottom: 0;}
.doc-cnt.bg {padding: 80px 0; background-color: #f4f4f4;}

/* TECHNOLOGY  */
.tech {}
.tech .top {display: flex;align-items:center; margin-bottom: 35px;}
.tech .top .img {width: 53.75%; padding-right: 30px;}
.tech .top .txt {flex: 1 1 auto; min-width: 0; width: 1%; color: #242424; font-size: 1.25em; line-height: 1.75; letter-spacing: -.02em; font-weight: 500;}
.tech .top .txt strong {color: #0b3eaf;}
.tech .bottom {color: #454545; font-size: 1.063em; line-height: 2.353;}
.tech .bottom .tt {font-size: 1.176em; font-weight: 600; line-height: 1.75; margin-bottom: 1em;}
.tech .bottom .dot-list {margin-bottom: 2.353em;}
.tech .bottom .dot-list > li {position: relative; display: flex;flex-wrap:wrap; padding-left: 20px; line-height: 1.75; letter-spacing: -.02em; margin-bottom: .75em;}
.tech .bottom .dot-list > li:last-child {margin-bottom: 0;}
.tech .bottom .dot-list > li:before {content:'•'; position:absolute; top:0px; left:0; color: #000;}
.tech .bottom .dot-list > li span {color: #6a8dcd; font-weight: 600; margin-right: 2px;}
.tech .bottom .dot-list > li p {flex: 1 1 auto; min-width: 0; width: 1%;}

.tech-imgs {display: flex;flex-wrap:wrap; margin: -1.25%;}
.tech-imgs li {width: 50%; padding: 1.25%;}

/* COMPANY */
.greetings {text-align: center;}
.greetings .log {margin-bottom: 40px;}
.greetings .cnt {color: #454545; font-size: 1.125em; line-height: 1.667; letter-spacing: -.02em; margin-bottom: 30px;}
.greetings .cnt:last-child {margin-bottom: 0;}
.greetings .cnt b {color: #0b3eaf; font-size: 1.111em; line-height: 1.75;}

.history {position: relative;}
.history:before {content:''; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; border-right: 1px dashed #ddd; z-index: -1;}
.history .group {display: flex;align-items: baseline; width: calc(50% + 60px); margin-bottom: 40px;}
.history .group:last-child {margin-bottom: 0;}
.history .year {width: 120px; height: 120px; text-align: center; color: #fff; line-height: 120px; background: linear-gradient(-45deg, #0b3eaf 0%, #6a8dcd 100%); border-radius:100%;}
.history .list {flex: 1 1 auto; min-width: 0; width: 1%;}
.history .list li {padding-left: 0.438em; text-indent: -0.438em; color: #454545; font-size: 1.063em; line-height: 1.75; letter-spacing: -.02em; margin-bottom: .75em;}
.history .list li:last-child {margin-bottom: 0;}

.history .group:nth-child(odd) {margin-left: calc(50% - 60px);}
.history .group:nth-child(odd) .list {margin-left: 40px;}
.history .group:nth-child(even) .year {order: 2;}
.history .group:nth-child(even) .list {text-align: right; margin-right: 40px;}

.cerify {}
.cerify .group {margin-bottom: 80px; padding-bottom: 80px; border-bottom: 1px solid #ddd;}
.cerify .group:last-child {margin-bottom: 0; padding-bottom: 0; border-bottom: 0;}
.cerify h3 {margin-bottom: 35px;}
.cerify h3 span {display: inline-block; min-width: 250px; padding: 5px 35px; text-align: center; color: #fff; font-weight: 400; font-size: 1.375em; line-height: 1.5; letter-spacing: -.02em; background-color: #0b3eaf; border-radius:50vh;}
.cerify-list {}
.cerify-list ul {display: flex;flex-wrap:wrap; margin: 0 -15px -37px; text-align: center;}
.cerify-list ul li {width: 20%; padding: 0 15px; margin-bottom: 37px;}
.cerify-list ul li span {display: block; font-size: 1.063em; line-height: 1.5; letter-spacing: -.02em; margin-top: 12px;}

.location {position: relative; border-radius:20px; overflow:hidden; margin-bottom: 60px;}
.location .map {height: 450px;}
.location .addr {position: absolute; bottom: 0; left: 0; width: 100%; padding: 16px 20px; color: #fff; font-size: 0.938em; letter-spacing: 1.75em; letter-spacing: -.02em; text-align: center; background-color: rgba(0,29,93,.75);}
.location .addr p {position: relative; display: inline; padding-left: 37px;}
.location .addr i {position: absolute; top: 2px; left: 0; width: 22px; height: 22px; background: no-repeat url("../images/sub/icon_addr.png") center center / contain;}