@charset "utf-8";
.greet {display:flex; flex-wrap:wrap;}
.greet .img {width: 46.83%;}
.greet .text {flex:1 1 auto; min-width: 0; width: 1%;}
.greet .text .tit {margin-top: 40px; margin-bottom: 37px; color:#1f89be; font-size:25px; line-height:1.28em; font-weight: 700; letter-spacing:-.03em;}
.greet .text .txt p {margin-bottom: 30px; color:#505050; font-size:16px; line-height:1.75em; font-weight: 400; letter-spacing:-.03em;}
.greet .text .txt .name:last-of-type {color: #2c2c2c; margin-bottom: 0; font-size:17px; font-weight: 500; letter-spacing: -0.03em;}

.company .img {margin-bottom: 58px;}
.company .table {border-top:1px solid #242424;}
.company .table table {width: 100%; border-collapse: collapse; }
.company .table table th {text-align: center; background-color: #f8f8f8; border:1px solid #ddd; border-top:none; padding: 15px 0; color: #242424; font-size:16px; line-height: 1.5em; font-weight: 500; letter-spacing: -.03em;}
.company .table table td {border:1px solid #ddd; padding: 15px 30px;}
.company .table table td span {margin-left: 122px;}
.company .table table td ul li {text-align: left; color: #454545; font-size:16px; line-height: 1.5em; font-weight: 400; letter-spacing: -.03em;}
.company .table table td:last-of-type {text-align: center;}
.company .table table tr th:first-child,
.company .table table tr td:first-child {border-left:0;}
.company .table table tr th:last-child,
.company .table table tr td:last-child {border-right:0;} 

.goal .items {display:flex; flex-wrap:wrap; margin: 35px -20px -25px;}
.goal .items .item {width: 33.333333%; padding: 25px 20px; text-align: center;}
.goal .items .item .text {text-align: left; margin-top: 30px; color: #242424; font-size:16px; line-height: 1.625em; font-weight: 400; letter-spacing: -.03em;}

.history .image {position: relative; text-align: center; margin-bottom: 80px;}
.history .image:before {content:""; position: absolute; width: 1px; height: 84px; background: #ddd; left: 50%; transform:translateX(-50%); bottom: -84px;}
.history .group {position:relative; padding-bottom:80px;}
.history .group:before {content:""; position:absolute; top:15px; left:50%; bottom:7px; width:1px; background:#ddd;}
.history .group .inner {position:relative; display:flex; flex-direction: column;}
.history .group .inner ul {margin-top: 10px;}
.history .group .bullet:after {content:""; position:absolute; top:0; left:50%;  width:9px; height:9px; background:#1f89be; border-radius:100%; transform: translateX(-50%);}

.history .group h3 {margin-top: -10px; color:#1f89be; font-size:22px; letter-spacing:-0.03em; line-height:1.3em; font-weight:600;}
.history .group ul li {color:#242424; font-size:17px; font-weight:400; line-height:1.647em; letter-spacing:-.03em;}
.history .group ul li span {color:#505050; font-size:16px; font-weight:400; line-height:1.467em; letter-spacing:-.03em;}
.history .group ul li .list ul {margin-top: 0;}
.history .group ul li .list li {padding-left: 0.67em; text-indent: -0.67em; margin-bottom: 4px; color:#505050; font-size:16px; font-weight:400; line-height:1.467em; letter-spacing:-.03em;}

.history .group:nth-child(even) .inner {margin-left:50%; padding-left: 50px;}
.history .group:nth-child(odd) {text-align: right;}
.history .group:nth-child(odd) .inner {margin-right:50%; padding-right: 50px;}

.history .group .logo {position: absolute; left: 50%; top: -20px; padding-left: 50px;}

.expect .items {margin-top: 80px; display:flex; flex-wrap: wrap;}
.expect .items .item {position: relative; width: 33.33333%; padding-left: 70px;}
.expect .items .item:before {content:""; position: absolute; width: 1px; height: 75px; background-color: #ddd; left: 0; top: 50%; transform:translateY(-50%);}
.expect .items .item:first-of-type:before {display:none;}
.expect .items .item .tit {position: relative; padding-bottom: 13px; margin-bottom: 18px; color:#242424; font-size:18px; font-weight:500; line-height:1.647em; letter-spacing:-.03em;}
.expect .items .item .tit:before {content:""; position: absolute; width: 44px; height: 2px; background-color: #1f89be; bottom: 0;}
.expect .items .item .txt {color:#454545; font-size:16px; font-weight:400; line-height:1.625em; letter-spacing:-.03em;}

.purpose .group {padding-bottom: 60px;}
.purpose .group:nth-of-type(even) {background-color: #f8f8f8; padding-top: 60px;}
.purpose .group .contain {display:flex; align-items: center;}
.purpose .group .contain .img {width: 42.91%;}
.purpose .group .contain .text {flex:1 1 auto; min-width: 0; width: 1%;}
.purpose .group:nth-of-type(even) .contain .text {padding-left: 60px;}
.purpose .group .contain .text .tit {position: relative; padding-bottom: 15px; margin-bottom: 20px; color:#242424; font-size:18px; font-weight:500; line-height:1.3em; letter-spacing:-.03em;}
.purpose .group .contain .text .tit:before {content:""; bottom: 0; position: absolute; width: 44px; height: 2px; background-color: #1f89be;}
.purpose .group .contain .text .txt p {margin-bottom: 20px; color:#454545; font-size:16px; font-weight:400; line-height:1.625em; letter-spacing:-.03em;}
.purpose .group .contain .text .txt ul li {padding-left: 12px; position: relative; margin-bottom: 3px; color:#454545; font-size:16px; font-weight:400; line-height:1.3em; letter-spacing:-.03em;}
.purpose .group .contain .text .txt ul li:before {content:""; position: absolute; top:50%; left: 0; margin-top: -2px; transform:translateY(-50%); width: 7px; height: 7px; background: url(../images/sub/circle.png)50% 50% no-repeat; background-size: cover;}
.purpose .group .contain .text .txt span {color:#1f89be; font-weight:500;}