@charset "utf-8";

.introduce .tit {text-align:center;}
.introduce .tit h3 {font-size:40px; font-weight:700; line-height:1.4em; letter-spacing:-.03em; text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.35); margin-bottom: 25px;}
.introduce .tit h3 span {color:#a3000b;}
.introduce .tit .tt {color:#242424; font-size:20px; font-weight:500; line-height:1.5em; letter-spacing:-.03em;}
.introduce .tit .tt span {font-weight: 700;}
.introduce .tit .img {margin: 60px 0 40px 0;}

.organization {background-color: #f8f8f8; margin-top: 100px; padding: 88px 0;}
.organization .img {text-align:center;}
.organization h3 {text-align:center; margin-bottom: 50px; color:#242424; font-size:35px; font-weight:700; line-height:1.5em; letter-spacing:-.03em;}

.technicalperson {margin-top: 100px;}
.technicalperson h3 {text-align:center; margin-bottom: 50px; color:#242424; font-size:35px; font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.technicalperson .boxes {display:flex; flex-wrap: wrap; margin: -16px -20px;}
.technicalperson .boxes .box {width: 33.3333%; padding: 16px 20px;}
.technicalperson .boxes .box .con {padding: 0 30px 42px 0; border:1px solid #ddd; border-radius:0 0 50px 0; box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);}
.technicalperson .boxes .box .tit {display:flex; align-items: center; margin-bottom: 21px;}
.technicalperson .boxes .box .tit .text {margin-left: 20px;}
.technicalperson .boxes .box .tit .job {color:#242424; font-size:17px; font-weight:400; line-height:1.5em; letter-spacing:-.03em;}
.technicalperson .boxes .box .tit h4 {color:#242424; font-size:26px; font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.technicalperson .boxes .box .tit .position {color:#242424; font-size:20px; font-weight:400; line-height:1.5em; letter-spacing:-.03em;}
.technicalperson .boxes .box ul {margin-left: 30px;}
.technicalperson .boxes .box ul li {padding-left:13px; position: relative; color:#454545; font-size:17px; font-weight:400; line-height:1.4em; letter-spacing:-.03em; margin-bottom: 16px;}
.technicalperson .boxes .box ul li:last-child {margin-bottom: 0;}
.technicalperson .boxes .box ul li:before {content:" "; position:absolute; width: 4px; height: 4px; background-color: #454545; border-radius: 50%; top:12px; left:0;}

.history {display:flex; align-items: center; justify-content: space-between; margin: 0 100px;}
.history .group {position:relative;}
.history .group:before {content:""; position:absolute; top:18px; left:20%; bottom:-79px; width:1px; border-right:1px dashed #ddd;}
.history .group:last-child:before {bottom: 35px;}
.history .group .inner {position:relative; display:flex; align-items: flex-start;}
.history .group .inner .year {padding-right: 34px; width:20%; text-align:end;}
.history .group .inner .year h3 {color: #a3000b; font-size:28px; line-height: 1.5em; font-weight: 500; letter-spacing: 0;}
.history .group .inner .tt ul {margin-top: 10px;}
.history .group .inner .tt ul li {display:flex; align-items: flex-start; flex-direction: row-reverse; justify-content: flex-end; margin-bottom: 27px; font-size:16px; line-height: 1.4em; font-weight: 400; letter-spacing: 0; color:#454545;}
.history .group .inner .tt ul li:last-of-type {margin-bottom: 0;}
.history .group .inner .tt ul li p {margin: 0 0 0 8px; order:-1;}
.history .group .inner .tt .num {position: relative; display:inline-block; font-size:16px; font-weight: 500; margin-right: 10px; color: #242424;}
.history .group .inner .tt .bullet {width: 10px; height: 10px; background-color: #595757; order:1; margin-top: 7px; margin-right:27px; border-radius:50%; margin-left: -4px;}

.certificate ul {display:flex; flex-wrap: wrap; margin: -30px -10px;}
.certificate ul li {padding: 30px 10px; width: 20%; text-align:center;}
.certificate ul li p {margin-top: 10px; font-size:16px; line-height: 1.3em; font-weight: 400; letter-spacing:-.03em; color:#454545;}

.customer .contain {max-width: 950px;}
.customer ul {display:flex; flex-wrap: wrap; margin:  -30px -10px;}
.customer ul li {width: 25%; padding: 30px 10px; text-align: center;}
.customer ul li p {margin-top: 20px; font-size:18px; line-height: 1.3em; font-weight: 500; letter-spacing:-.03em; color:#242424;}

.Cooperation ul {display:flex; flex-wrap: wrap; margin:-10px; margin-bottom: 46px;}
.Cooperation ul li {padding:10px;}

.Cooperation .doc-tit h3 {position: relative; margin-bottom: 16px; font-size:22px; line-height: 1.3em; letter-spacing:0; padding-left: 27px;}
.digital .doc-tit h3 {padding-bottom: 20px; margin-bottom: 20px; border-bottom:1px solid #ddd; position: relative; padding-left: 27px; font-weight: 500; font-size:20px; letter-spacing:-.03em; color:#242424; } 
.doc-tit h3 {padding-bottom: 17px; margin-bottom: 15px; border-bottom:1px solid #ddd; position: relative; padding-left: 27px; font-weight: 500; font-size:20px; letter-spacing:-.03em; color:#242424; } 
.doc-tit h3:before {content:""; position: absolute; width: 20px; height: 20px; background: url(../images/sub/mark.png); top:5px; left: 0;}

.copy {margin: 60px 0; background-color: #f8f8f8; border:1px solid #ddd; border-radius:10px; padding: 40px 0; text-align:center;}
.copy .pp {color:#242424; font-size:18px; line-height: 1.667em; font-weight: 500; letter-spacing:-.03em;}

.digital .group {margin-bottom: 80px;}
.digital .group:last-of-type {margin-bottom: 0;}
.digital .group> ul {margin-left: 30px;}
.digital .group .con {display:flex; margin: 11px 0; border:1px solid #ddd; border-radius:10px;} 
.digital .group .tit {text-align:center; border-radius:10px 0 0 10px; width: 200px; display:flex; justify-content: center; align-items: center; background-color: #cc000e; color:#fff; font-size:18px; line-height: 1.3em; font-weight: 500; letter-spacing:-.03em;}
.digital .group .tit2 {background-color: #a3000b;}
.digital .group .tit3 {background-color: #630007;}
.digital .group .txt {margin-left: 40px; font-size:16px; line-height: 1.75em; font-weight: 400; letter-spacing:-.03em; color:#454545; padding: 20px 0;}
.digital .group .txt ul {}
.digital .group .txt ul li {display:flex;}
.digital .group .txt ul li span {position: relative; width: 165px; color:#242424; font-weight: 500;padding-left: 10px;}
.digital .group .txt ul li span:before {content:" "; position:absolute; width: 2px; height: 15px; background-color: #a3000b; top:7px; left: 0;}
.digital .group .txt3 ul li span {position: relative;}
.digital .group .txt3 ul li span:before {background-color: #630007; content:""; position:absolute; width: 2px; height: 15px; top:7px; left: 0;}
.digital .group2 .img {padding: 40px 0;text-align:center; background-color: #f8f8f8; border:1px solid #ddd; border-radius:10px; margin-left: 30px;}
.digital .group3 .txt ul li span {width: auto;}

.digital .group .items {position: relative; display:flex; flex-wrap: wrap; margin: -10px -15px -10px 15px;}
.digital .group .items:before {content:""; position: absolute; width: 966px; height: 493px; background: url(../images/sub/arrow.png)50% 50% no-repeat; background-size: cover; top:50%; left:50%; transform:translate(-50%, -50%); z-index: -1;}
.digital .group .item {width: 33.3333%; padding: 10px 15px;}
.digital .group .item .con {flex-direction: column; height: 250px; margin: 0;}
.digital .group .item .tit {width: 100%; padding: 17px 0; border-radius: 10px 10px 0 0; font-size:20px; font-weight: 500; letter-spacing:-.03em;}

.digital .group .item .txt {margin-left: 0; text-align:center;}
.digital .group .item .txt .t1 {font-size:18px; line-height: 1.4em; font-weight: 500; letter-spacing:-.03em; color:#242424; margin-bottom: 10px;}
.digital .group .item .txt .t2 {font-size:16px; line-height: 1.563em; font-weight: 400; letter-spacing:-.03em; color:#454545;}

.digital .group .item ul {margin-left: 0; display:flex; flex-direction: column; justify-content: center; height: 150px; border:1px solid #cc000e; border-radius:10px; padding: 0 20px;}
.digital .group .item ul li {padding-left: 10px; position: relative; font-size:16px; line-height: 1.4em; font-weight: 400; letter-spacing:-.03em; color:#454545;}
.digital .group .item ul li:before {content:""; position: absolute; width: 4px; height: 4px; background-color: #454545; border-radius:50%; top:10px; left:0; }

.digital .group .item2 ul, .digital .group .item5 ul {border:1px solid #a3000b;} 
.digital .group .item3 ul, .digital .group .item6 ul {border:1px solid #630007;} 

.digital3 .group .img {margin-left: 30px;}
.digital3 .group .tt {margin-bottom: 40px; margin-left: 30px; font-size:16px; line-height: 1.563em; font-weight: 400; letter-spacing:-.03em; color:#454545;}
.digital3 .group span {color:#a3000b; font-weight: 500;}

.energy .image {display:flex; flex-wrap: wrap; margin: 0 -20px; margin-bottom: 60px;}
.energy .image li {padding: 0 20px;}
.energy .image2 {margin: 0 -10px 0 15px;}
.energy .image2 li {padding: 0 10px;}
.energy .image2 .img {border:1px solid #ddd;}
.energy .img {text-align:center;}

.energy .text-list {margin-bottom: 60px;}
.energy .text-list2 {margin-bottom: 40px;}
.energy .text-list:last-of-type {margin-bottom: 0;}
.energy .text-list .list {margin-left: 30px; display:flex; flex-direction: column; margin-bottom: 40px;}
.energy .text-list .list2 {margin-bottom: 20px;}
.energy .text-list .list li {font-size:16px; line-height: 1.4em; font-weight: 400; letter-spacing:-.03em; color:#454545; margin-bottom: 7px;}
.energy .text-list .list li:last-of-type {margin-bottom: 0;}
.energy .text-list .point {margin-bottom: 7px;color:#a3000b; font-size:16px; line-height: 1.4em; font-weight: 500; letter-spacing:-.03em; margin-left: 30px;}
.energy .text-list .point:last-of-type {margin-bottom: 0;}
.energy .energy-tit {margin-bottom: 60px; text-align:center; font-size:35px; line-height: 1.4em; font-weight: 700; letter-spacing:-.03em; color:#000000;}
.energy .energy-img {margin-bottom: 100px;}
.energy .img-box {padding:60px; margin-left:30px; border:1px solid #ddd; border-radius:10px; text-align:center;}
.energy .img-box-2 {display:flex; justify-content:space-around; align-items:center; padding:45px 20px; margin-left:30px; border:1px solid #ddd; text-align:center;}
.energy .img-box-2 p {margin-top:10px; color:#242424; font-size:20px; font-weight:500; line-height:1.33em;}
.energy .img-box-2 .arr {margin:0 20px;}
.energy .img-box-3 {display:flex; justify-content:space-between; align-items:center; gap:20px; margin-left:30px; text-align:center;}
.energy .img-box-3 p {margin-top:20px; color:#242424; font-size:20px; font-weight:500; line-height:1.33em;}

.somac {background-color: #f8f8f8;padding: 100px 0;}
.somac-list {display:flex; align-items: center;}
.somac-list ul {margin-left: 60px;}
.somac-list ul li {margin-bottom: 12px; font-size:16px; line-height: 1.4em; font-weight: 400; letter-spacing:-.03em; color:#454545;}
.somac-list ul li span {color: #242424; font-size:18px; font-weight: 500;}

.map .location-wrap {position:relative; height:500px;}
.map .location {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; z-index:-1;}
.map .location.on {opacity:1; z-index:1;}

.local-info {}
.local-info ul {} 
.local-info ul li{display:flex; border-bottom:1px solid #ddd; padding: 20px;}
.local-info ul li h3 {position: relative; width: 108px; font-size:18px; line-height: 1.4em; font-weight: 500; letter-spacing:0; color:#a3000b;}
.local-info ul li h3:before {content:""; position: absolute; width: 1px; height: 12px; background-color: #ddd; right: 20px; top:7px}
.local-info ul li p {font-size:16px; line-height: 1.4em; font-weight: 400; letter-spacing:-.03em; color:#333;}