@charset "utf-8";
/* 공통 */
.subbox { margin-bottom: 110px;}
.subbox.mg { margin-bottom: 0; }

/* 회사소개 */
.ab-big { height: 600px; background: url(../images/sub/sub1-1-big.jpg) center no-repeat; background-size: cover; padding-bottom: 90px; color: #fff; font-family:'Poppins'; margin-bottom: 120px;}
.ab-big .contain { display: flex; align-items: flex-end; height: 100%;}
.ab-subtit { font-size: 20px; font-weight: 600; letter-spacing: -.03em; line-height: 1em; margin-bottom: 70px; }
.ab-tit { font-size: 50px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; }
.ab-tit span { font-weight: 700; }
.ab-box { margin-bottom: 55px; display: flex; }
.ab-box.tr { margin-bottom: 120px; text-align: right;}
.ab-box .ab-subtit { color: #222; width: 38%; }
.ab-box .group-wrap { width: 62%;}
.ab-box .group-wrap .group { margin-bottom: 100px; }
.ab-box .group-wrap .group:last-child { margin-bottom: 0; }
.ab-box h2 { font-size: 40px; line-height: 1.2em; font-weight: 700; letter-spacing: -.03em; color: #222; margin-bottom: 35px; }
.ab-box h2 span { color: #4495c4; }
.ab-box p { font-size: 18px; font-weight: 300; letter-spacing: -.03em; line-height: 1.556em; color: #505050; margin-bottom: 40px; }
.ab-box .sign { display: flex; align-items: center; gap: 20px; }
.ab-box .sign.fx {justify-content: flex-end;}
.ab-box .sign strong { font-size: 18px; font-weight: 700; line-height: 1em; letter-spacing: -.03em; color: #222;}
.ab-sec3 { padding: 120px 0; background: #1c5076; }
.ab-sec3 .ab-subtit { margin-bottom: 15px; color: #fff; }
.ab-sec3 .ab-tit { color: #fff; margin-bottom: 60px; }
.ab-sec3-list { display: flex; gap: 39px; flex-wrap: wrap;}
.ab-sec3-list li { width: calc(100%/3 - 26px); color: #fff; }
.ab-sec3-list li img { width: 100%; }
.ab-sec3-list li .tit { font-family:'Poppins'; font-size: 40px; font-weight: 600; letter-spacing: -.03em; line-height: 1em; margin: 24px 0 18px;}
.ab-sec3-list li .txt { font-size: 18px; font-weight: 400; line-height: 1.5em; letter-spacing: -.03em; opacity: 0; transition: .2s;}  
.ab-sec3-list li:hover .txt {opacity: 1; }
.ab-sec4 { position: relative; padding: 120px 0 40px; }
.ab-sec4 .contain { display: flex; height: 100%;}
.ab-sec4 .contain::after { content: none;}
.ab-sec4 .left { width: 50%; color: #222; position: sticky; top: 130px; height: 100%;}
.ab-sec4 .left .ab-subtit { margin-bottom: 18px; }
.ab-sec4 .left .since { font-size: 120px; font-weight: 700; letter-spacing: -.03em; line-height: 1em; color: #e8e8e8; font-family:'Poppins'; padding-left: 135px; margin-top: 130px;}
.ab-sec4 .left .year { position: absolute; right: 0; bottom: 0px; font-family:'Poppins'; font-size: 180px; font-weight: 700; letter-spacing: -.03em; color: #1c5076; line-height: 0;}
.hst-tab { margin-top: 90px; }
.hst-tab li a { display: inline-block; font-family:'Poppins'; font-size: 22px; font-weight: 700; line-height: 1em; letter-spacing: -.03em; color: #ccc; padding: 12px 0; position: relative; }
.hst-tab li.active a { color: #222;}
.hst-tab li a::after { content: ""; position: absolute; left: 0; bottom: 4px; width: 100%; height: 2px; background: #222; display: none;}
.hst-tab li.active a::after { display: block;}
.ab-sec4 .right { width: 50%; padding-left: 100px; position: relative; }
.ab-sec4 .right .bd { padding: 30px 0; border-bottom: 1px solid #ddd;}
.ab-sec4 .group { display: flex; align-items: flex-start; }
.ab-sec4 .group .year { width: 95px; font-size: 24px; line-height: 1em; letter-spacing: -.03em; color: #85c54d; font-weight: 600; font-family:'Poppins'; padding-top: 3px;}
.ab-sec4 .group .txtbox { flex: 1 1 auto; min-width: 0; width: 1%; }
.ab-sec4 .group .txtbox p { font-size: 18px; font-weight: 300; letter-spacing: -.03em; line-height: 1.5em; color: #505050; margin-bottom: 14px; }

/* 기술현황 */
.ct-tab { display: flex; gap: 10px; flex-wrap: wrap;}
.ct-tab li { width: auto; }
.ct-tab li a { display: inline-block; line-height: 1em; font-size: 18px; font-weight: 600; letter-spacing: -.03em; color: #1c5076; border: 1px solid #1c5076; padding: 10px 20px; border-radius: 20px; transition: .2s;}
.ct-tab li a:hover { background: #1c5076; color: #fff;}
.ct-tab li.active a { background: #1c5076; color: #fff;}
.ct-fx { display: flex; align-items: flex-start;}
.ct-fx h2 { font-size: 40px; font-weight: 700; letter-spacing: -.03em; color: #222; line-height: 1em; margin-bottom: 50px; margin-top: 80px;}
.ct-fx .sec2-list li { color: #1c5076; }
.ct-fx .sec2-list li::after { background: #1c5076;}
.ct-fx .sec2-list li:hover::after { background: transparent ; height: 100%; border: 1px dashed #85c54d;}
.ct-fx .sec2-list li:hover .num { color: #85c54d;}
.ct-fx .sec2-list li:hover p { color: #85c54d;}
.ct-fx .sec2-list li.active::after { background: transparent; height: 100%; border: 1px dashed #85c54d;}
.ct-fx .sec2-list li.active .num { color: #85c54d;}
.ct-fx .sec2-list li.active p { color: #85c54d;}
.ct-fx .sec2-certi li { box-shadow: 0 0 50px rgba(0,0,0,0.1);}
.ct-fx .sec2-swiper-button-prev, .sec2-swiper-button-next { border: 1px solid #ccc; }
.ct-fx .sec2-swiper-button-prev { background-image: url(../images/sub/sub1-2-left.png); border-right: none;}
.ct-fx .sec2-swiper-button-prev:hover { background-image: url(../images/sub/sub1-2-left-w.png); }
.ct-fx .sec2-swiper-button-next { background-image: url(../images/sub/sub1-2-right.png); }
.ct-fx .sec2-swiper-button-next:hover { background-image: url(../images/sub/sub1-2-right-w.png); }
.ct-fx .main-link { border: 1px solid #ccc; color: #999;}
.ct-fx .main-link:hover { color: #fff;}

/* 사업영역 */
.bs-list { display: flex; flex-wrap: wrap; gap: 80px 24px; }
.bs-list li { width: calc(100%/3 - 16px); }
.bs-list li .txtbox {min-height: 130px; padding-top: 20px; padding-left: 18px; color: #1c5076; border-top: 2px solid #1c5076;}
.bs-list li .txtbox .tit { font-size: 22px; font-weight: 600; line-height: 1.2em; margin-bottom: 13px; }
.bs-list li .txtbox .txt { line-height: 1.5em; font-size: 16px; font-weight: 400; }

/* 오시는 길 */
.root_daum_roughmap {width:100% !important;}
.directions {margin-bottom:40px; display: flex; border-top: 2px solid #1c5076; padding-top: 25px; }
.directions .address-info { width: 65%; padding-left: 20px; font-size: 22px; font-weight: 600; line-height: 1.5em; color: #1c5076; }
.directions .contact-info {line-height:1.5em; width: 35%; }
.directions .contact-info dl {display:flex; margin-bottom: 35px;}
.directions .contact-info dl:last-child { margin-bottom: 0; }
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#1c5076;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;} 

/* 전체실적 */
.year-sel-fx { display: flex; gap: 20px; margin-bottom: 90px; z-index: 2; position: relative; flex-wrap: wrap;}
.year-sel-fx .construct-select {position:relative; display:inline-block; width: calc(100%/2 - 10px);}
.year-sel-fx .construct-select:first-child { z-index: 2; }
.construct-select .toggle-button {display:flex; justify-content:space-between; align-items:center; width:100%; padding:20px 30px; background:none; color:#1c5076; font-weight:600; line-height:1.5em; text-align:left; font-size: 22px; letter-spacing: -.03em; border: none;  border-bottom: 1px solid #1c5076;}
.construct-select .toggle-button .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.construct-select .toggle-button .chevron {width:16px;}
.construct-select .toggle-button svg {display:block; width:100%; height:auto;}
.construct-select .toggle-button path {fill:#1c5076;}
.construct-select .toggle-layer {display:none; position:absolute; left:0; width:100%; background:#fff; border-top:0; padding: 12px 0; border: 1px dashed #81c240; }
.construct-select .toggle-layer a {display:block; padding:5px 30px; color:#505050; font-weight:400; line-height:1.5em;}
.construct-select .toggle-layer a:hover {color:#81c240; font-weight: 600; }
.construct-select.active .toggle-button { border: 1px dashed #81c240; border-bottom: none; color: #81c240; }
.construct-select.active .toggle-button .chevron {transform:scaleY(-1);}
.construct-select.active .toggle-button path { fill: #81c240;}

/* 솔루션 공통 */
.sub3-box { margin-bottom: 120px; }
.sub3-box.mg { margin-bottom: 0; }
.sub3-tit { line-height: 1.2em; font-weight: 700; font-size: 42px; color: #222; margin-bottom: 35px; }
.sub3-txt { font-size: 18px; line-height: 1.5em; color: #505050; margin-bottom: 35px; }
.sub3-subtit { color: #1c5076; font-size: 24px; font-weight: 700; line-height: 1.3em; margin: 25px 0;}
.sub3-txtbox { margin-bottom: 30px; }
.sub3-txtbox p { position: relative; padding-left: 13px; color: #505050; font-weight: 300; font-size: 18px; line-height: 1.666em; }
.sub3-txtbox p::before { content: ""; position: absolute; left: 0; width: 3px; height: 3px; border-radius: 3px; background: #505050; top: 12px;}

/* 방화막 솔루션 */
.fire-box { border-top: 2px solid #1c5076; margin-top: 50px; }
.fire-box.mg { margin-top: 80px; }
.fire-list { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 60px; }
.fire-list>li { width: calc(100%/4 - 15px); }
.fire-list>li .tit { font-size: 18px; font-weight: 600; line-height: 1.4em; color: #222; margin: 25px 0 12px; }
.fire-list>li .sublist li { display: flex; line-height: 1.556em; margin-bottom: 3px; }
.fire-list>li .sublist li:last-child { margin-bottom: 0; }
.fire-list>li .sublist li .title { width: 90px; position: relative; }
.fire-list>li .sublist li .title::after { content: ""; position: absolute; right: 0; width: 1px; height: 10px; background: #1c5076; top: 6px;}
.fire-list>li .sublist li .txt { flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 20px; }
.fire-fx { gap: 40px; display: flex; flex-wrap: wrap; margin-bottom: 40px; }
.fire-fx .fire-box { margin-top: 0; width: calc(100%/2 - 20px); } 
.fire-fx.fx2 { gap: 70px 24px; margin-bottom: 0; }
.fire-fx.fx2 .fire-box { width: calc(100%/3 - 16px); }
.fire-img { border: 1px solid #ddd; text-align: center;}
.fire-list2 { display: flex; gap: 24px; flex-wrap: wrap;}
.fire-list2 li { width: calc(100%/3 - 16px); text-align: center; border: 1px solid #ddd; padding: 36px 10px; border-top: 2px solid #1c5076; line-height: 1.3em; font-size: 18px; font-weight: 600; color: #222222; }
.fire-list2 li:nth-of-type(even) { border-top-color: #81c240; }
.fire-list2.left {margin-top: 40px; }
.fire-list2.left li { text-align: left; padding: 35px;}
.fire-list2.left li .tit { font-size: 24px; font-weight: 700; line-height: 1.2em; padding-bottom: 15px; position: relative; }
.fire-list2.left li .tit span { font-size: 18px; padding-left: 10px; }
.fire-list2.left li .txt {padding-top: 20px; border-top: 1px solid #ddd;}
.fire-list2.left li .txt p { position: relative; padding-left: 13px; color: #505050; font-weight: 300; font-size: 16px; line-height: 1.666em; }
.fire-list2.left li .txt p::before { content: ""; position: absolute; left: 0; width: 3px; height: 3px; border-radius: 3px; background: #505050; top: 10px;}
.fire-list2.w100 li { width: 100%; }
.fire-list2.w100 li.bd1 { border-top-color: #81c240;}
.fire-list2.w100 li.bd2 { border-top-color: #4495c4;}
.fire-list2.w100 li.bd3 { border-top-color: #1c5076;}
.fire-list2.w100 li .tit { display: inline-block; }
.fire-list2.w100 li .txt { display: flex; flex-wrap: wrap; gap: 0 10px; }
.fire-list2.w100 li .txt p { width: calc(100%/2 - 5px);}
.fire-list2.w100 li strong { width: 88px; height: 36px; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #fff; background: #d50b0b; font-size: 18px; line-height: 1em; font-weight: 700;  position: absolute; right: -90px; top: -30px; transform: rotate(-20deg);}
.fire-list2.color { gap: 30px; }
.fire-list2.color li { border-top: 2px solid #1c5076 !important ; width: calc(100%/2 - 15px);}
.fire-img-wrap { text-align: center; position: relative; }
.fire-img-wrap::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd;}

/* 스테이지 인프라 종합솔루션 */
.stage-bg { height: 600px; background: url(../images/sub/sub3-2-img1.jpg) center no-repeat; background-size: cover; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 30px; font-weight: 700; line-height: 1.5em; text-align: center;}
.sub3-certi { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 40px; }
.sub3-certi li { position: relative; text-align: center; width: calc(100%/3 - 16px);}
.sub3-certi li::after { content: "";  position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd;}
.sub3-certi.bd li::after { display: none; }
.con-list { border-top: 2px solid #1c5076;}
.con-list li { display: flex; padding: 35px 0 30px; border-bottom: 1px solid #ddd;}
.con-list li .tit {width: 130px; text-align: center; font-size: 16px; font-weight: 700; color: #1c5076; 	font-family:'Poppins'; }
.con-list li .tit strong { font-size: 24px; padding-left: 3px; }
.con-list li .txt { padding-left: 20px; flex: 1 1 auto; min-width: 0; width: 1%; font-size: 18px; }
.con-group { margin-top: 80px; }
.con-tit { font-size: 32px; }
.con-list2 { border: 1px solid #ddd; border-top: 3px solid #1c5076; padding: 25px 35px; flex-wrap: wrap; display: flex; gap: 0 10px;}
.con-list2 li { width: calc(100%/2 - 5px); position: relative; padding-left: 13px; }
.con-list2 li::before { content: ""; position: absolute; left: 0; width: 3px; height: 3px; border-radius: 3px; background: #505050; top: 10px;}
.af-list { display: flex; gap: 24px; flex-wrap: wrap;}
.af-list li { width: calc(100%/3 - 16px); text-align: center; color: #fff; padding: 80px 35px; background: url(../images/sub/af-bg.jpg) center no-repeat; background-size: cover;}
.af-list li .tit { font-family:'Poppins'; font-size: 32px; font-weight: 700; line-height: 1em; margin-bottom: 5px; }
.af-list li .txt { font-family:'Poppins'; font-size: 20px; line-height: 1.5em; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.3); margin-bottom: 20px; }
.af-list li .tit2 { font-size: 24px; font-weight: 700; line-height: 1.3em; }
.gray { padding: 50px 10px; text-align: center; background: #f5f5f5; font-size: 32px; font-weight: 700; line-height: 1.3em; color: #222; margin-top: 30px; }
.gray span { color: #4495c4; }
.af-process { display: flex; gap: 60px; flex-wrap: wrap; margin-top: 75px; }
.af-process li { width: calc(100%/4 - 45px);}
.af-process li .titbox { color: #fff; text-align: center; padding: 10px 5px 6px; background: #1c5076; position: relative;}
.af-process li .titbox::after { content: ""; position: absolute; right: -30px; border-top: 37px solid transparent; border-bottom: 37px solid transparent; border-left: 30px solid #1c5076; width: 0; height: 0; top: 0;}
.af-process li:last-child .titbox::after { display: none; }
.af-process li .titbox .tit { font-size: 24px; font-weight: 700; line-height: 1.2em; }
.af-process li .titbox .tit span { display: block; font-size: 16px; font-weight: 400; }
.af-process li .txtbox { padding: 25px 30px;}
.af-process li .txtbox p { position: relative; padding-left: 13px; margin-bottom: 5px; }
.af-process li .txtbox p:last-child { margin-bottom: 0; }
.af-process li .txtbox p::before { content: ""; position: absolute; left: 0; width: 3px; height: 3px; border-radius: 3px; background: #505050; top: 10px;}