@charset "utf-8";

.real-cont {padding: 120px 0 180px; position: relative;}
.real-cont::before {position: absolute; content: ''; width: 100%; height: 500px; background: url(../images/sub/bg_top_.png) 50% 50% no-repeat; background-size: cover; top: 0; left: 0; z-index: -1;}
.real-cont::after {position: absolute; content: ''; width: 100%; height: 600px; background: url(../images/sub/bg_bottom_.png) 50% 50% no-repeat; background-size: cover; bottom:0; left: 0; z-index: -1;}

.mo {display: none;}
/* splitting */
.page-header > .container.motion h2.chars .char {animation:textAni 2s both .5s; animation-delay:calc(0.1s * var(--char-index));}

@keyframes textAni {
    0% {opacity:0;}
    30% {opacity:0;}
}


/* page-header */
.page-header {position: relative; width: 100%; height: 970px; background: url() 50% 50% no-repeat; background-size: cover; display: flex; align-items: flex-end; padding-bottom: 100px;}
.page-header.type1 {background-image: url(../images/sub/s-visual01.jpg);}
.page-header.type2 {background-image: url(../images/sub/s-visual02.jpg);}
.page-header.type3 {background-image: url(../images/sub/s-visual03.jpg);}
.page-header.type4 {background-image: url(../images/sub/s-visual04.jpg);}
.page-header.type5 {background-image: url(../images/sub/s-visual05.jpg);}
.page-header.type6 {background-image: url(../images/sub/s-visual06.jpg);}

.page-header .container {display: flex; align-items: flex-end; justify-content: space-between;}

.s-nav {max-width: 380px; width: 100%;}
.s-nav ul {display: flex; gap: 43px; align-items: center; width: 100%;}
.s-nav ul li {position: relative; font-size: 20px; font-weight: 500; color: rgba(255,255,255, .6);}
.s-nav ul li ~ li::after {position: absolute; content: ''; width:  3px; height: 3px; border-radius: 50%; background-color: rgba(255,255,255, .6); top: 50%; left: -22px; transform: translateY(-50%);}
.s-nav ul li.home img {max-width: 100%; display: block; margin: 0 auto; opacity: .6;}

.sub_4_1_ .s-nav ul li:last-child, .sub_5_1_ .s-nav ul li:last-child, .sub_6_1_ .s-nav ul li:last-child {display: none;}

.s-nav h2 {font-size: 70px; font-weight: 700; color: #fff; margin-top: 30px;}

.lnb {width: 1%; flex: 1 1 auto;}
.lnb ul {display: flex; justify-content: right;}
.lnb ul li {width: auto; border-bottom: 1px solid rgba(255,255,255, .3);}
.lnb ul li a {position: relative; display: block; padding: 0 20px; font-size: 22px; color: #fff; line-height: 58px; font-weight: 500; transition: all .3s linear;}  
.lnb ul li a:hover {color: #008cd6;}
.lnb ul li a:after {position: absolute; content:''; width: 100%; height: 3px; background-color: #008cd6; bottom: -1px; left: 0; opacity: 0;}
.lnb ul li.active a {color: #008cd6; font-weight: 700;}
.lnb ul li.active a:after {opacity: 1;}

.lnb ul li a span .char {display:inline-block;position:relative;color:transparent;overflow: hidden; line-height: 25px;}
.lnb ul li a span .char::before,
.lnb ul li a span .char::after {position:absolute;left:0;top:0; color: #fff; content:attr(data-char); transition: transform .3s linear;  /*transition-delay:calc(20ms * var(--char-index));*/}
.lnb ul li a span .char::before{transform:translateY(100%);}

.lnb ul li a:hover span .char::before {transform:translateY(0%);opacity:1; }
.lnb ul li a:hover span .char::after {transform:translateY(-100%);opacity:.8;}

.lnb ul li.active a span .char::before {color: #008cd6;}  
.lnb ul li.active a span .char::after {color: #008cd6;}

.lnb .btn-drop {display: none;}

section {padding: 120px 0 180px; position: relative;}
section::before {position: absolute; content: ''; width: 100%; height: 500px; background: url(../images/sub/bg_top_.png) 50% 50% no-repeat; background-size: cover; top: 0; left: 0; z-index: -1;}
section::after {position: absolute; content: ''; width: 100%; height: 600px; background: url(../images/sub/bg_bottom_.png) 50% 50% no-repeat; background-size: cover; bottom:0; left: 0; z-index: -1;}

.section-header h3 {position: relative; padding-top: 50px; text-align: center; color: #000; font-weight: 700; font-size: 52px; margin-bottom: 100px;}
.section-header h3::before {position: absolute; content: ''; width: 77px; height: 31px; background: url(../images/sub/ico_bullet.png) 50% 50% no-repeat; background-size: auto; top: 0; left: 50%; transform: translateX(-50%);}
.section-header p {font-size: 24px; line-height: 1.6; color: #000; text-align: center; font-weight: 600;}
.section-header p > span {color: #008cd6;}

.article-header h4 {font-size: 50px; font-weight: 600; color: #000; text-align: center; line-height: 60px;}
.article-header p {font-size: 24px; line-height: 40px; color: #333; padding-top: 45px; text-align: center;}

.sub-tab {width: 100%; margin-bottom: 80px;}
.sub-tab ul {width: 100%; display: flex; background-color: #fff; border-radius: 50px; overflow: hidden;}
.sub-tab ul li {position: relative; flex: 1 1 auto; width: 1%;}
.sub-tab ul li ~ li::after {position: absolute; content: ''; width: 1px; height: 20px; background-color: #ddd; top: 50%; transform: translateY(-50%); left: 0;}
.sub-tab ul li a {display: flex; width: 100%; height: 100%; padding: 16px 5px; align-items: center; justify-content: center;}
.sub-tab ul li a > span {display: block;font-size: 20px; font-weight: 500; color: #333; text-align: center; line-height: 1.4;}
.sub-tab ul li.active {background-color: #008cd6; border-radius: 50px; }
.sub-tab ul li.active a > span {color: #fff; font-weight: 700;}
.sub-tab ul li.active::after {display: none;}
.sub-tab ul li.active + li::after {display: none;}


/* s1_1 */
.s1_1 {padding-bottom: 170px;}
.bg {width: 100%; box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2); border-radius: 10px; overflow: hidden;}
.bg img {max-width: 100%; display: block; margin: 0 auto;}

.s1_1 article {width: 100%; margin-top: 75px; display: flex;}
.s1_1 article > h4 {max-width: 695px; width: 100%; font-size: 42px; font-weight: 700; line-height: 1.38; padding-right: 105px; border-right: 1px solid #ddd; color: #000;}
.s1_1 article > h4 > span {color: #008cd6;}
.s1_1 article .txt {width: 1%; flex: 1 1 auto; padding-left: 120px;}
.s1_1 article .txt p {font-size: 22px; color: #666; line-height: 1.727;}
.s1_1 article .txt p ~ p {margin-top: 40px;}
.s1_1 article .txt p.last {margin-top: 40px; font-size: 24px; color: #000;}
.s1_1 article .txt p.last > b {font-size: 28px; font-weight: 700;}
.s1_1 article .txt p.last > strong {font-weight: 700;}

/* s1_2 */
.s1_2 article .inner {width: 100%; display: flex; gap: 120px;}
.s1_2 .history_img {max-width: 500px; width: 100%;}
.s1_2 .history_img img {max-width: 100%; display: block; margin: 0 auto;border-radius: 10px; box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);}

.s1_2 .history {width: 1%; flex: 1 1 auto;}
.s1_2 .history h5 {font-size: 48px; font-weight: 700; color: #000;}
.s1_2 .history h5 > small {display: block; font-size: 20px; color: #008cd6; margin-bottom: 15px;}
.s1_2 .history_txt {margin-top: 35px; position: relative;}
.s1_2 .history_txt::after {position: absolute; content: ''; width: 1px; height: calc(100% - 30px); top: 15px; left: 105px; background-color: #ddd;}
.s1_2 .history_txt dl {display: flex;}
.s1_2 .history_txt dl ~ dl {margin-top: 25px;}
.s1_2 .history_txt dl dt {position: relative; max-width: 105px; width: 100%; font-size: 24px; font-weight: 700; color: #008cd6; line-height: 1.6;}
.s1_2 .history_txt dl dt::after {position: absolute; content: ''; width: 9px; height: 9px; background-color: #008cd6; top: 14px; right: -5px; transform: rotate(-45deg); z-index: 2;}
.s1_2 .history_txt dl dd {width: 1%; flex: 1 1 auto; line-height: 1.6; font-size: 22px; color: #666; padding-left: 45px;}

.s1_2 article {display: none;}
.s1_2 article#history01 {display: block;}

/* s1_3 */
.s1_3 article {margin-top: 50px; padding-top: 60px; border-top: 1px dashed #ddd;}
.s1_3 .philosophy {width: 100%; display: flex; align-items: center;}
.s1_3 .philosophy.rev {flex-direction: row-reverse;}
.s1_3 .philosophy ~ .philosophy {margin-top: 80px;}
.s1_3 .philosophy .img_box {width: 50%; padding-right: 90px; position: relative; z-index: 1;}
.s1_3 .philosophy.rev .img_box {padding-right: 0; padding-left: 90px;}
.s1_3 .philosophy .img_box img {max-width: 100%; display: block; margin: 0 auto; border-radius: 10px; box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);}
.s1_3 .philosophy .txt_box {width: 50%; padding-left: 190px; padding-top: 185px; position: relative; min-height: 480px;}
.s1_3 .philosophy .txt_box::after {position: absolute; content:''; width: 330px; height: 301px; background:url() 50% 50% no-repeat; background-size: auto; bottom: 90px; right: 0; z-index: -1;}
.s1_3 .philosophy:nth-of-type(1) .txt_box::after {background-image:url(../images/sub/ico_s13_01.png);}
.s1_3 .philosophy:nth-of-type(2) .txt_box::after {background-image:url(../images/sub/ico_s13_02.png);}
.s1_3 .philosophy:nth-of-type(3) .txt_box::after {background-image:url(../images/sub/ico_s13_03.png);}
.s1_3 .philosophy:nth-of-type(4) .txt_box::after {background-image:url(../images/sub/ico_s13_04.png);}
.s1_3 .philosophy:nth-of-type(5) .txt_box::after {background-image:url(../images/sub/ico_s13_05.png);}
.s1_3 .philosophy.rev .txt_box {padding-left: 105px;}
.s1_3 .philosophy.rev .txt_box::after {right: 30px;}
.s1_3 .philosophy .txt_box h5 {font-size: 45px; color: #000; font-weight: 700; margin-top: 30px;}
.s1_3 .philosophy .txt_box > span {display: inline-block; padding: 0 24px; line-height: 40px; font-size: 18px; font-weight: 700; color: #fff; border-radius: 50px;}
.s1_3 .philosophy:nth-of-type(1) .txt_box > span {background-color: #ffae11 ;}
.s1_3 .philosophy:nth-of-type(2) .txt_box > span {background-color: #53b00e;}
.s1_3 .philosophy:nth-of-type(3) .txt_box > span {background-color: #f46b28;}
.s1_3 .philosophy:nth-of-type(4) .txt_box > span {background-color: #008bd5;}
.s1_3 .philosophy:nth-of-type(5) .txt_box > span {background-color: #cf63dc;}

/* s1_4 */
.s1_4 article {display: none;}
.s1_4 .esg_txt p {font-size: 22px; color: #666; line-height: 1.727; text-align: center;}
.s1_4 .esg_txt p ~ p {margin-top: 35px;}
.s1_4 #esg01 {display: block;}

/* s1_5 */
.s1_5 figure {width: 100%;}
.s1_5 figure img {display: block; max-width: 100%; margin: 0 auto;}

/* s1_6 */
.global {position: relative; width: 100%; height: 990px;}
.global-map {position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
.global-map.mo-map {display: none;}
.global-map .arrow {position: absolute; top: 0; right: 0;}
.global-map img {width: 100%; display: block; margin: 0 auto; max-width: 100%;}
.global-dot {position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
.kor {position: absolute; top: 278px; right: 202px;}
.kor .kor-img {position: relative; z-index: 2; padding-bottom: 25px;}
.kor .kor-img img{display: block; margin: 0 auto; max-width: 100%; border-radius: 50%;box-shadow: 0px 0px 20px 0px rgba(0, 139, 213, 0.4); opacity: 0; transition: all .5s linear;}
.kor .kor-img::after {position: absolute; content: ''; width: 1px; height: 0px; background-color: #008bd5; bottom: 0; left: 50%; transform: translateX(-50%); opacity: 0; transition: all .5s linear .9s;}
.kor .dot {position: relative; display: block; width: 10px; height: 10px; border-radius: 50%; background-color: #008bd5; margin: 0 auto; opacity: 0;transition: all .5s linear 1.5s;}
.kor .dot::before {position: absolute; content: ''; width: 100%; height: 100%; background-color: #008bd5; border-radius: 50%; z-index: 1; transition: .3s; top: 0; left: 0; animation: ball-scale 1s 0s linear infinite;}
.kor .dot::after {position: absolute; content: ''; width: 100%; height: 100%; background-color: #008bd5; border-radius: 50%; z-index: 1; transition: .3s; top: 0; left: 0; animation: ball-scale 2s -1s linear infinite;}

@keyframes ball-scale {
    0% {transform: scale(1); opacity: 0.1;}
    5% {opacity: 0.4;}
    100% {transform: scale(12); opacity: 0;}
}

.global.animated .global-map .arrow { animation: large-scale 1s linear forwards 1.3s; opacity: 0; transform-origin: 85% 40%;}
.global.animated .kor .kor-img img {animation: large-scale .5s linear forwards .7s;}
.global.animated .kor .kor-img::after {height: calc(100% - 100px); opacity: 1;}
.global.animated .kor .dot {opacity: 1;}

@keyframes large-scale {
    0% {transform: scale(0); opacity: 0;}
    100% {transform: scale(1); opacity: 1;}
}


/* s1_7 */
.s1_7 .map {width: 100%; height: 550px; overflow: hidden; border-radius: 10px; box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);}
.root_daum_roughmap {width: 100% !important; height: 100% !important;}
.root_daum_roughmap .wrap_map {height: 100% !important;}
.root_daum_roughmap .map_border {display: none !important;}

.map-info {margin-top: 60px; width: 100%; display: flex; justify-content: space-between;}
.map-info .info {width: 1%; flex: 1 1 auto;}
.map-info .info dl {width: 100%; display: flex;}
.map-info .info dl ~ dl {margin-top: 15px;}
.map-info .info dl dt {max-width: 60px; width: 100%; font-size: 22px; color: #000; font-weight: 700;}
.map-info .info dl dd {width: 1%; flex: 1 1 auto; font-size: 22px; color: #666;}
.map-info .info dl dd address {font-style: normal;}
.map-info .info dl dd a {color: #666; display: inline-block;}
.map-info .btn-area {max-width: 130px; width: 100%; display: flex; gap: 10px;}
.map-info .btn-area a {display: block; width: 58px; height: 58px; border-radius: 50%; background: url() 50% 50% no-repeat; background-size: auto; transition: all .2s linear;}
.map-info .btn-area a.search {background-image: url(../images/sub/ico_search.png); background-color: #008bd5; border: 1px solid #008bd5;}
.map-info .btn-area a.print {background-image: url(../images/sub/ico_print.png); background-color: #0c213a; border: 1px solid #0c213a;}
.map-info .btn-area a.search:hover {background-image: url(../images/sub/ico_search_on.png); background-color: transparent;}
.map-info .btn-area a.print:hover {background-image: url(../images/sub/ico_print_on.png); background-color: transparent;}

/* s2,s3,s5 */
.gall-pop-wrap {display: none; position: fixed; width: 100%; height: 100%; background-color: rgba(0,0,0, .6); z-index: 1001; top: 0; left: 0;}
.gall-pop-wrap .gall-popup {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 990px; width: 100%; padding: 0 115px;}
.gall-pop-wrap .gall-popup .inner {width: 100%; max-width: 760px; background-color: #fff; border-radius: 10px; max-height: 630px; margin: 0 auto; overflow: hidden;}
.gall-pop-wrap .gall-popup .inner .tit {width: 100%; background-color: #008bd5; padding: 22px 60px; display: flex; align-items: center; justify-content: right;}
.gall-pop-wrap .gall-popup .inner .tit > h5 {width: 1%; flex: 1 1 auto; font-size: 22px; font-weight: 700; color: #fff; line-height: 1.6;}
.gall-pop-wrap .gall-popup .inner .tit > a.close-btn {display: block; width: 18px; height: 18px;}
.gall-pop-wrap .gall-popup .inner .gall-img {width: 100%; padding: 60px;}
.gall-pop-wrap .gall-popup .inner .gall-img img {max-width: 100%; display: block; margin: 0 auto;}
.gall-pop-wrap .gall-popup .inner .gall-img .gall-slide {width: 100%; border-radius: 10px; overflow: hidden;}
.gall-pop-wrap .gall-popup .inner .gall-img .gall-slide img {max-width: 100%; display: block; margin: 0 auto;}
.pop-controls {position: absolute; width: calc(100% - 30px); display: flex; align-items: center; justify-content: space-between; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.pop-controls .pop-btn {width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; border: 1px solid #fff; border-radius: 50%; background-color: rgba(255,255,255, .2); cursor: pointer; transition: all .2s linear;}
.pop-controls .pop-btn img {display: block; max-width: 100%; margin: 0 auto;}
.pop-controls .pop-btn:hover {background-color: #008bd5; border-color: #008bd5;}


/* s4_1 */
.certi-pop {display: none; position: fixed; width: 100%; height: 100%; background-color: rgba(0,0,0, .6); z-index: 1001; top: 0; left: 0;}
.certi-pop .popup {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 700px; width: 100%; padding: 0 15px;}
.certi-pop .popup .inner {padding:50px 30px 0px; position: relative; width: 100%; background-color: #fff; border-radius: 10px; max-height: 95dvh; overflow:auto;}
.certi-pop .popup .inner a {display: block; position: absolute; width: 20px; height: 20px; top: 30px; right: 30px;}
.certi-pop .popup .inner .pop-img {width: 100%;}
.certi-pop .popup .inner .pop-img img {display: block; width: 100%; max-width: 80%; margin: 0 auto; box-shadow: 5px 0px 15px rgba(0,0,0,0.1);}
.certi-pop .popup .inner .pop-tit {font-size: 24px; padding:30px 0; line-height: 1.5; color: #202020; font-weight: 600; text-align: center;}

.certi-pop .popup .inner::-webkit-scrollbar {display: none;}

/* s6_1 */
.s6_1 .section-header h3 {margin-bottom: 100px;}
.contact {width: 100%; display: flex; align-items: flex-start; gap: 80px;}
.contact .img-box {max-width: 770px; width: 100%;}
.contact .img-box img {display: block; max-width: 100%; margin: 0 auto; box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);  border-radius: 10px;}
.contact .contact-info {width: 1%; flex: 1 1 auto;}
.contact .contact-info ul {width: 100%; display: flex; flex-wrap: wrap;}
.contact .contact-info ul li {width: 50%; min-height: 330px;}
.contact .contact-info ul li:nth-of-type(2) ~ li {border-top: 1px dashed #ddd;}
.contact .contact-info ul li dl {width: 100%; height: 100%; padding-top: 40px;}
.contact .contact-info ul li dl dt {max-width: 100px; width: 100%; border-radius: 50%; margin: 0 auto;}
.contact .contact-info ul li dl dd {margin-top: 25px; text-align: center; width: 100%;}
.contact .contact-info ul li dl dd h5 {font-size: 24px; font-weight: 700; color: #008bd5;}
.contact .contact-info ul li dl dd h5 ~ h5 {margin-top: 10px;}
.contact .contact-info ul li dl dd p {font-size: 22px; color: #666; margin-top: 10px; line-height: 1.727;}
.contact .contact-info ul li dl dd p a {color: #666; display: inline-block;}


