@charset "utf-8";

.ideology {background: url(../images/sub/ideology-bg.png)50% 50% no-repeat; background-size: cover;}
.ideology .contain {display:flex;}
.ideology .text h2 {font-size:45px; color:#242424; font-weight:700; line-height:1.3em; letter-spacing:-.03em;}
.ideology .text p {margin-top: 25px; font-size:18px; color:#454545; font-weight:400; line-height:1.556em; letter-spacing:-.03em;}
.ideology .text p span {color:#242424; font-weight: 500;}

.organization .img {text-align: center;}

.talent .text {border-bottom:1px solid #242424;}
.talent .text h2 {margin-bottom: 10px; font-size:35px; color:#242424; font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.talent .text p {margin-bottom: 36px; color: #454545; font-weight:400; line-height:1.3em; letter-spacing:-.03em; font-size:16px;}
.talent .img {margin-top: 67px; text-align: center;}
.talent .list .items {display:flex; flex-wrap:wrap; padding: 35px 0 35px 90px; border-bottom:1px solid #ddd;}
.talent .list .items .item {width: 33.33333%; display:flex; align-items: center; padding: 25px 0;}
.talent .list .items .item .tt {margin-left: 30px;font-size:20px; color:#242424; font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.talent .list .items .item:nth-of-type(3),.talent .list .items .item:nth-of-type(6) {padding-left: 50px;}

.about_history {position: relative;}
.timeline {position:relative;padding-left:230px;}
.timeline .status {position:absolute; left:159px; top:0; opacity:0; margin-top:17px; width:2px; height:100%; background-color:#dcdcdc;}
.timeline .status:after {content:''; position: absolute; left:-1px; bottom:0; display:block; width:4px; height:4px; border-radius:50%; background-color:#dcdcdc;;}
.timeline .status .bar {position:absolute; left:0; top:0; display:block; width:2px; height:0; max-height:100%; background-color:#d3181f; transition:height .3s;}
.timeline .status.in {opacity:1;}
.timeline .item {position:relative; margin-bottom: 90px;}
.timeline .item .subject {position:absolute; top:0; left:-230px; width:159px; margin:0; font-size:35px; font-weight:700; color:#242424; line-height: 1.4em; letter-spacing: -.03em;}
.timeline .item .subject:before,
.timeline .item .subject:after {content:''; position:absolute; display:block; border-radius:50%;}
.timeline .item .subject:before {right:-6px; top:19px; width:10px; height:10px; background-color:#d3181f; z-index: 2;}
.timeline .item .subject:after {right:-12px;top:13px;width:22px;height:22px;background-color:#e6d1cc;}
.timeline .item li + li {margin-top:20px;}
.timeline .item li .tit {padding-top: 10px; display:block; margin-bottom:10px; font-size:23px; color:#242424; line-height: 1.4em; letter-spacing: -.03em; font-weight:600;}
.timeline .item li .txt {font-size:16px; font-weight: 400; color:#454545; line-height: 1.875em; letter-spacing: -.03em; padding-left: 2em; text-indent: -2em;}
.timeline .item li .txt span {color:#d3181f; font-weight: 600; margin-right: 16px;}
.timeline.end .status:after {background-color:#d3181f;}

.is-footer .timeline .status.in .bar {height:100% !important;}
.is-footer .timeline .status:after {background-color:#d3181f;}

.history-images {position: absolute; top:0; right: 0;}
.history-images .images {}
.history-images .images .img {margin-bottom: 14px; width: 420px; height: 281px;}
.history-images .images .img:last-of-type {margin-bottom: 0;}
.history-images .images .img .thumb {position:relative; padding-bottom:66.9%; overflow:hidden;}
.history-images .images .img .thumb img {position: absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}

.paper .group {margin-bottom: 65px;}
.paper .group h2 {margin-bottom: 20px; position: relative; font-size:20px; color:#242424; line-height: 1.4em; letter-spacing: -.03em; font-weight:600; padding-left: 30px;}
.paper .group h2:before {content:""; position: absolute; width: 20px; height: 20px; background: url(../images/sub/bullet.png); left: 0; top: 3px;}
.paper .group .tt {position: relative; margin-bottom: 48px; text-align: center; background-color: #fafafa; border-radius:10px; padding: 60px 0; font-size:18px; color:#242424; line-height: 1.722em; letter-spacing: -.03em; font-weight:400;}
.paper .group .tt span {font-weight: 600; font-size:20px;}
.paper .group .tt .img:nth-of-type(1) {position: absolute; left: 23%; top: 50px;}
.paper .group .tt .img:nth-of-type(2) {position: absolute; right: 26%; bottom: 45px;}
.paper .group .images {border:1px solid #ddd; border-radius:10px; padding: 30px; text-align: center;}

.paper .table table {width: 100%; border-collapse: collapse; text-align: center;}
.paper .table table th {padding: 14px 0; border:1px solid #ddd; background-color: #fafafa; font-size:16px; color:#242424; line-height: 1.4em; letter-spacing: -.03em; font-weight:500;}

.paper .table table td {padding: 10px 0; border:1px solid #ddd; font-weight: 400; font-size:16px; color:#454545; line-height: 1.438em; letter-spacing: -.03em; font-weight:400;}
.paper .table table td span {font-weight: 500;}
.paper .table table td:last-of-type {border-right:none;}
.paper .table table td:first-of-type {border-left:none;}
.paper .table table th:last-of-type {border-right:none;}
.paper .table table th:first-of-type {border-left: none;}

.paper .items {padding-left: 30px;}
.paper .items .item h3 {padding-left: 30px; padding-bottom: 17px; position: relative; font-size:20px; font-weight: 600; color:#242424; line-height: 1.4em; letter-spacing: -.03em;}
.paper .items .item h3:before {content:''; position:absolute; width: 20px; height: 20px; background: url(../images/sub/mark.png); left: 0; top:4px;}
.paper .items .item1 {margin-bottom: 60px;}
.paper .items .item2 {display:flex; flex-wrap:wrap; margin: 0 -25px;}
.paper .items .item2 .inner {width: 50%; padding: 0 25px;}
.paper .items .item2 .inner .img {display: flex; position: absolute; height: 210px; width: 100%; align-items: center; justify-content: center;}
.paper .items .item2 .inner .box {position: relative; border:1px solid #ddd; height: 300px;}
.paper .items .item2 .inner .box .text {display:flex; align-items: center; justify-content: center; position: absolute; bottom: 0; text-align: center;background-color: #f2f2f2; width: 100%; height: 90px;}

.map .text {margin-bottom: 24px;}
.map .text .tit {margin-top: 30px; font-size:23px; color:#242424; line-height: 1.3em; letter-spacing: -.03em; font-weight:600;}
.map .text .tit span {font-size:20px; color:#d2624b;}
.map .text .txt {margin-top: 10px; font-size:16px; color:#454545; line-height: 1.3em; letter-spacing: -.03em; font-weight:400;}
.map .con ul {border-bottom:1px solid #ddd; margin-top: 40px;}
.map .con ul li {position: relative; display:flex; align-items: center; padding:26px; border-top:1px solid #ddd;}
.map .con ul li a {display:block; display:flex; align-items: center;}
.map .con ul li .tit {font-size:18px; color:#242424; line-height: 1.3em; letter-spacing: -.03em; font-weight:500;}
.map .con ul li .txt {position: absolute; left: 15%; font-size:16px; color:#454545; line-height: 1.3em; letter-spacing: -.03em; font-weight:400;}

.map .con ul li .img {margin-right: 20px;}
.public {text-align: center;}