@charset "utf-8";
/* *******************************************************
 * filename : layout.css
 * description : 전체 레이아웃 CSS
 * date : 2020-11-25
******************************************************** */
@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&amp;display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR&amp;display=swap');
/* ****************** LAYOUT ********************** */
body, table, th, td, button, select, input, textarea {
	font-family:'Spoqa Han Sans Neo';
	font-size:15px;
	color:#666;
	-webkit-text-size-adjust:none;
	word-break:keep-all;
}
body { background-color:#fff; }
#wrap {overflow:hidden; width:100%; min-width:320px; position:relative; }
.area{ max-width:1200px; margin:0px auto;}
.area-box{ max-width:1600px; margin:0px auto; }
.area-big{max-width:1388px; margin:0 auto}

.font-noto{font-family:'Spoqa Han Sans Neo';}
.font-serif{font-family: 'Spoqa Han Sans Neo';}

/* ****************** HEADER ********************** */
#header{
	position:fixed; height:105px; top:0; left:0; width:100%; z-index:9999; 
	-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s
}
.fullpage-wrapper #header{
	position:fixed;
}
#headerInnerWrap{
	position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:9999; 
	-webkit-transition:background-color 0.3s;
	transition:background-color 0.3s
}
#headerInner{
	position:relative; height:100%; margin:0px auto; padding:0 160px;  
	/*-webkit-transition:padding 0.3s;
	transition:padding 0.3s*/
}
#header .logo{position:relative; z-index:100; float:left; padding:23.5px 0; }
#header .logo a{display:block; }
#header .logo img{vertical-align:top;}
#header .logo img.off-logo{display:block; }
#header .logo img.on-logo{display:none}
#header.open #headerInnerWrap{background-color:#fff}
#header.open .logo img.off-logo{display:none; }
#header.open .logo img.on-logo{display:block}

/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:absolute; top:50%; right:160px; margin-top:-16px; z-index:100;}

/* Header :: 언어선택 */
.header-lang {position:relative; float:left; z-index:100; top:1px}
.header-lang .lang-list{}
.header-lang .lang-list li{position:relative; float:left; padding:0 15px}
.header-lang .lang-list li:after{position:absolute; content:""; width:1px; height:10px; background-color:rgba(255,255,255,0.2); opacity:0.4; right:0; top:2px}
.header-lang .lang-list li:last-child:after{display:none}
.header-lang .lang-list li a{font-weight:400; font-size:12px; color:#fff; opacity:0.4; letter-spacing:0}
.header-lang .lang-list li.selected a{opacity:1}
#header.open .header-lang .lang-list li a{color:#484848}
#header.open .header-lang .lang-list li:after{background-color:#484848; }

/* Header :: 사이트맵버튼 */
.sitemap-line-btn{float:left; margin-left:30px; box-sizing:border-box; padding-top:6px;}
.sitemap-line-btn .line{display:block; width:31px; height:2px; background-color:#fff; border-radius:5px; margin-bottom:10px; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;}
.sitemap-line-btn .line:last-child{margin-bottom:0}
/* active */
.sitemap-open-btn.active{position:relative; z-index:100000;}
.sitemap-open-btn.active .line:nth-child(2), 
.sitemap-open-btn.active .line:nth-child(4){opacity: 0;}
.sitemap-open-btn.active .line:nth-child(1){
	 -webkit-transform: translateY(5px) rotate(45deg);
	  transform: translateY(5px) rotate(45deg);
}
.sitemap-open-btn.active .line:nth-child(3){
	 -webkit-transform: translateY(-5px) rotate(-45deg);
	  transform: translateY(-5px) rotate(-45deg);
}
#header.open .sitemap-line-btn .line{background-color:#454545; }


/* -------- Header :: GNB(PC) -------- */
.gnb-overlay-bg{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9997;}	/* gnb overlay BG */
#gnb{position:absolute; text-align:center; top:0; left:0px; width:100%; z-index:99;}
#gnb > ul{display:inline-block; *display:inline;*zoom:1;}
#gnb > ul > li{position:relative; float:left; word-break:keep-all;}
#gnb > ul > li > a{
	position:relative; z-index:100; display:block; height:105px; line-height:105px; padding:0 50px; text-align:center; color:#fff; font-size:18px; letter-spacing:0; font-weight:600; -webkit-transition:all 0.5s; transition:all 0.5s;
}
#gnb > ul > li.gnb3 > a{padding:0 40px}
#gnb > ul > li.gnb4 > a{padding:0 55px}


/* GNB :: 2차 전체메뉴 */
#gnbBg{
	overflow:hidden; position:absolute; left:0; top:105px; width:100%; height:0; background:#f0f0f0; z-index:98;
	-webkit-transition:height 0.3s ease-in-out;
	transition:height 0.3s ease-in-out
}
#gnbBg:after{position:absolute; top:0; width:100%; left:0; height:1px; background-color:#ececec; content:"";}
#gnb.total-menu > ul > li .gnb-2dep{
	position:absolute; 
	top:105px; 
	left:0px; 
	z-index:99;
	width:100%; 
	text-align:center; 
	opacity:0;filter:Alpha(opacity=0);
	height:0;
	-webkit-transition: all 0.3s 0s;
    transition: all 0.3s 0s;
	visibility:hidden;
}
#gnb.total-menu > ul > li .gnb-2dep:before {
	content:""; position:absolute; top:0px; width:0; left:50%; height:3px; background-color:#e11d24; transform:translateX(-50%);
	-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s; z-index:10;
}
#gnb.total-menu > ul > li:hover .gnb-2dep:before {width:calc(100% - 80px);}
#gnb.total-menu > ul > li .gnb-2dep ul{padding:32px 0px 0; }
#gnb.total-menu > ul > li .gnb-2dep ul li{position:relative;}
#gnb.total-menu > ul > li .gnb-2dep ul li a{ display:block;  padding:11px 5px; color:#484848; font-size:16px; letter-spacing:-0.5px; font-weight:400; line-height:1.4; -webkit-transition:all 0.2s;-moz-transition:all 0.2s;-o-transition:all 0.2s;-ms-transition:all 0.2s;transition:all 0.2s; }
#gnb.total-menu > ul > li .gnb-2dep ul li a em{display:inline-block; }
#gnb.total-menu > ul > li .gnb-2dep ul li a:hover{color:#e11d24;}

/* GNB :: 2차메뉴 Over (높이변경) */
#gnb.open #gnbBg{height:325px}
#gnb.open > ul > li > a{color:#484848}
#gnb.open > ul > li > a:hover,
#gnb.open > ul > li.on > a{color:#e11d24;}

#gnb.open > ul > li .gnb-2dep{
	height:250px; opacity:1.0;filter:Alpha(opacity=100);
	visibility:visible;
	-webkit-transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
    transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
}


/* 메인 헤더 고정 */
#header.top-fixed #headerInnerWrap{background-color:#fff; border-bottom:1px solid #ddd}
#header.top-fixed .header-lang .lang-list li a{color:#484848}
#header.top-fixed .header-lang .lang-list li:after{background-color:#484848; }
#header.top-fixed .sitemap-line-btn .line,
#header.top-fixed .nav-open-btn .line{background-color:#454545; }
#header.top-fixed #gnb > ul > li > a{color:#484848}
#header.top-fixed .logo img.off-logo{display:none; }
#header.top-fixed .logo img.on-logo{display:block}


/* -------- Header :: GNB(Mobile) -------- */
.nav-open-btn{display:none;}
#gnbM{display:none}

/* ****************** FOOTER ********************** */
/* -------- FOOTER :: 레이아웃 -------- */
#footer{background-color:#f2f2f2; padding:50px 0}
#footerInner{position:relative; }
.footer-left-con{float:left; width:calc(100% - 400px)}
.footer-right-con{float:right; text-align:right; width:400px}

/* Footer :: TOP버튼 */
/* Footer :: TOP버튼 (중앙정렬 통일) */
.to-top-btn{
	position:fixed; bottom:-100px; right:28px; display:block;
	width:68px; height:68px;
	background-color:rgba(225,29,36,0.9);
	text-align:center; color:#fff; z-index:99;
	box-sizing:border-box;
	opacity:0; filter:Alpha(opacity=0);
	-webkit-transition:all 0.6s; -moz-transition:all 0.6s; -o-transition:all 0.6s; -ms-transition:all 0.6s; transition:all 0.6s;
}

/* 노출 위치 */
.to-top-btn.bottom-fixed{bottom:28px; opacity:1.0; filter:Alpha(opacity=100);}

/* ✅ 핵심: 버튼 안의 화살표+TOP을 정확히 가운데로 */
.to-top-btn .top-inner{
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;                 /* 화살표와 TOP 간격 (원하면 2~6px) */
	transition:transform 0.3s;
	padding:0;               /* padding-top 제거 */
	box-sizing:border-box;
}

.to-top-btn i{
	display:block;
	font-size:22px;
	line-height:1;
}

.to-top-btn em{
	display:block;
	font-weight:400;
	font-size:13px;
	letter-spacing:0;
	color:#fff;
	line-height:1;
	margin:0;                /* 기존 margin-top 제거 */
}

/* hover는 기존처럼 살짝 올라가는 효과만 유지 */
.to-top-btn:hover .top-inner{transform:translateY(-3px)}

/* 메인/서브 표시 로직(기존 유지) */
.to-top-btn.main-top{display:block}
.to-top-btn.sub-top{display:none}
#footer.sub .to-top-btn.main-top{display:none}
#footer.sub .to-top-btn.sub-top{display:block}


/* Footer :: 푸터메뉴 */
.foot-menu{margin-top:50px}
.foot-menu li{display:inline-block; position:relative; padding-left:30px;}
.foot-menu li:first-child{padding-left:0}
.foot-menu li a{color:#4e4e4e; font-size:14px; letter-spacing:-0.5px;}
.foot-menu li a b{color:#e11d24; font-weight:600;}

/* Footer :: 정보 */
.footer-address{margin-bottom:50px; letter-spacing:-0.25px;}
.footer-address .footer-address-txt{color:#4e4e4e; font-size:14px; line-height:1.7; margin:0 -8px 3px;}
.footer-address p{display:inline-block; vertical-align:middle; position:relative; margin:0 8px;}
.footer-address p:before{position:absolute; top:50%; left:-8px; width:1px; height:10px; margin-top:-5px; background-color:#e8e8e8; content:"";}
.footer-address p:first-child:before{display:none;}
/* Footer :: Copyright */
.footer-copyright{font-size:14px; letter-spacing:0; color:#b8b8b8}

/* Footer :: 패밀리사이트 */
.footer-drop-menu{display:inline-block; width:340px}
.family-site-box{float:left; position:relative; width:160px; text-align:left; letter-spacing:-0.25px;}
.family-site-box .family-site-open-btn{display:block; width:100%; height:50px; line-height:50px; padding:0 15px; text-align:left; font-size:12px; border-bottom:1px solid #4e4e4e; color:#6c6c6c; box-sizing:border-box; letter-spacing:0}
.family-site-box .family-site-open-btn:after{position:absolute; right:10px; top:50%; transform:translateY(-50%); font-size:23px; font-family: 'xeicon'; content:"\e936";}
.family-site-box.open .family-site-open-btn:after{content:"\e930";}
.family-site-list{position:absolute; bottom:100%; left:0px; width:100%;  padding:10px 0; background-color:#fff; border:1px solid #ddd; border-bottom:0;  z-index:11; display:none; box-sizing:border-box;}
.family-site-list a{display:block; padding:10px; color:#333; font-size:12px;}
.family-site-list a:hover{color:#000; text-decoration:underline;}
.site-map-con{margin-left:20px}

/* ****************** SUB LAYOUT ********************** */
/*  SUB LAYOUT :: 비주얼 */
#visual{position:relative; overflow:hidden; width:100%; height:580px; }
#visual .visual-img-con{
	position:absolute; 
	top:0px; 
	left:0px; 
	width:100%;
	height:100%;
	background-size:cover !important;
    -webkit-transform: scale(1.1,1.1); 
     transform: scale(1.1,1.1);
	-webkit-transition:transform 5000ms  ease-in-out ;
    transition:transform 5000ms ease-in-out ;	
}
#visual .visual-txt-con{position:relative; z-index:1; text-align:center; display:table; width:100%; height:100%; }
#visual .visual-txt-container{position:relative; width:100%; }
#visual .visual-txt-container h2{ padding:30px 0px 10px;
font-weight:700; 
font-size:70px;
letter-spacing:-0.1px; 
color:#fff;
-webkit-transition-delay:0.3s;
transition-delay:0.3s;}

#visual .visual-txt-container p{
position:relative;
display:inline-block;
font-size:14px; 
font-weight:400; 
padding-top:20px;
color:rgba(255,255,255,0.7); 
letter-spacing:2px; 
-webkit-transition-delay:0.5s; 
transition-delay:0.5s; 
}
#visual .visual-txt-container p:after{
position:absolute; 
content:""; 
width:100%; 
height:0px;
background-color:rgba(255,255,255,0.7); 
right:0; bottom:-9px}

/* 모바일 화면에 맞춘 스타일 */
@media (max-width: 768px) {
    #visual .visual-txt-container h2 {padding:5px 0 0;
        font-size: 30px; /* 모바일에 맞는 크기로 조정 */
        letter-spacing: -0.05px; /* 모바일에 맞게 조정 */
        line-height: 1.2; /* 줄 간격 조정 */
    }
}

/*
#visual .visual-tit,
#visual .visual-sub-txt{
	opacity:0;filter:Alpha(opacity=0);
    -webkit-transform: translateY(-30px); 
     transform: translateY(-30px);
	-webkit-transition:opacity 1.0s, transform 1.0s;
	transition:opacity 1.0s, transform 1.0s;
}
#visual .visual-tit{
font-weight:700; 
font-size:70px;
letter-spacing:-0.1px; 
color:#fff;
-webkit-transition-delay:0.3s;
transition-delay:0.3s;}
#visual .visual-sub-txt{
position:relative;
display:inline-block;
font-size:14px; 
font-weight:400; 
padding-top:20px;
color:rgba(255,255,255,0.7); 
letter-spacing:2px; 
-webkit-transition-delay:0.5s; 
transition-delay:0.5s; 
}
#visual .visual-sub-txt:after{
position:absolute; 
content:""; 
width:100%; 
height:1px;
background-color:rgba(255,255,255,0.7); 
right:0; bottom:-9px}

/* SUB LAYOUT :: 상단효과 active */
#visual.active .visual-img-con{
    -webkit-transform: scale(1.0,1.0) rotate(0.002deg);
     transform: scale(1.0,1.0) rotate(0.002deg);
}
#visual.active .visual-tit,
#visual.active .visual-sub-txt{
	opacity:1.0;filter:Alpha(opacity=100);
    -webkit-transform: translateY(0px); 
     transform: translateY(0px);
}

/* SUB LAYOUT :: 서브메뉴(스타일2) */
#topMenu02{position:relative; width:100%;height:80px; margin-top:-80px; z-index:9}
#topMenu02 .side-menu-inner{text-align:center; width:100%; height:79px; border-bottom:1px solid #ddd; background-color: rgba(255,255,255,1);}
#topMenu02 .side-menu-inner > ul{/* display:inline-block; *display:inline;*zoom:1;  width: 100%;*/}
#topMenu02 .side-menu-inner ul{display:flex; justify-content:center; align-items:center}
#topMenu02 .side-menu-inner ul li{
	/* float:left; */ 
	position:relative;
	display:inline-block; 
	float:left;
	width: 33.333%; 
	margin-left:-3px; 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	 box-sizing: border-box; 
	-webkit-transition:all 0.4s; 
	transition:all 0.4s;
}
#topMenu02 .side-menu-inner ul li:after{position:absolute; content:""; width:1px; height:30px; background-color:rgba(255,255,255,0.4); right:0; top:50%; transform:translateY(-50%)}
#topMenu02 .side-menu-inner ul li:first-child {margin-left:0}
#topMenu02 .side-menu-inner ul li:last-child:after{display:none}
#topMenu02 .side-menu-inner ul li > a{
	display:block; 
	display:table; 
	position:relative;
	width:100%;
	height:80px; 
	line-height:1.2; 
	color:#000; 
	font-size:17px; 
	letter-spacing:-0.1px; 
	font-weight:400; 
	word-break:keep-all;
	-webkit-transition:all 0.4s; 
	transition:all 0.4s;
}

#topMenu02 .side-menu-inner ul li > a > span{display:table-cell; vertical-align:middle; padding:0 15px; }
#topMenu02 .side-menu-inner ul li:hover,
#topMenu02 .side-menu-inner ul li.on{background-color:#fff; border-bottom:3px solid #e11d24;}
#topMenu02 .side-menu-inner ul li:hover > a, 
#topMenu02 .side-menu-inner ul li.on > a{color:#e11d24;}

#topMenu02 .side-menu-inner ul.sub-menu-company li{width:16.666%}
#topMenu02 .side-menu-inner ul.sub-menu-ir li,
#topMenu02 .side-menu-inner ul.sub-menu-energy li{width:20%}
#topMenu02 .side-menu-inner ul.sub-menu-recruit li{width:50%}


/* SUB LAYOUT :: 모바일메뉴(공통)  */
#topMenuM01,
#topMenuM02{display:none;}

/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content:not(.wide){padding:90px 0 120px }
#content.wide{padding:90px 0 120px}

#content2:not(.wide){padding:90px 0 0px }
#content2.wide{padding:90px 0 0px}


/*  SUB LAYOUT :: 상단정보 (공통) */
#contentInfoCon {
    position: relative;
    margin: 0 auto 55px;
    text-align: center;
}

/* 기본 (PC) 스타일 */
#contentInfoCon .content-tit {
    color: #000;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.6px;
}

#contentInfoCon .content-tit2 {
    color: #414141;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -0.6px;
    margin-bottom: 10px;
}

#contentInfoCon .content-tit3 {
    color: #000;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.6px;
    margin-bottom: 30px;
    margin-top: 30px;
    line-height: 1.4em;
}

/* 📱 모바일 (768px 이하) 최적화 */
@media (max-width: 768px) {
    #contentInfoCon .content-tit {
        font-size: 24px; /* 글자 크기 감소 */
    }

    #contentInfoCon .content-tit2 {
        font-size: 20px; /* 크기 조정 */
        margin-bottom: 8px; /* 간격 조정 */
    }

    #contentInfoCon .content-tit3 {
        font-size: 16px; /* 모바일에서 가독성 좋게 조정 */
        margin-bottom: 8px;
        margin-top: 20px; /* 상단 여백 조정 */
        line-height: 1.5em; /* 줄 간격 약간 늘리기 */
    }
}

/* 📱 더 작은 화면 (480px 이하) 추가 조정 */
@media (max-width: 480px) {
    #contentInfoCon .content-tit {
        font-size: 22px;
    }

    #contentInfoCon .content-tit2 {
        font-size: 18px;
        margin-bottom: 6px;
    }

    #contentInfoCon .content-tit3 {
        font-size: 14px;
        margin-bottom: 6px;
        margin-top: 15px;
        line-height: 1.6em;
    }
}


/* ****************** MODAL LAYERPOPUP ********************** */
/* modal layer */
.modal-fixed-pop-wrapper{display:none; overflow-y:scroll; overflow-x:hidden;  position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:9999; background:#000; background:rgba(0,0,0,0.8);}
.modal-fixed-pop-inner{position:absolute; display:table; width:100%; height:100%; text-align:center;}
.modal-inner-box{ position:relative; display:table-cell; vertical-align:middle;}
.modal-loading{position:absolute; top:50%; left:50%; margin:-25px 0 0 -25px; z-index:10000;}
.modal-inner-content{text-align:left;}
.loading {
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 8px solid rgba(255,255,255,.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg);  }
}
/* modal layer content */
.footer-modal-content{position:relative; width:96%; max-width:1000px; margin:20px auto; }
.footer-modal-content h1{font-size:24px; font-weight:600; letter-spacing:-0.5px; text-align:center; padding:0 50px 20px; color:#fff;}
.modal-close-btn{position:absolute; top:-6px; right:-6px; color:#fff; }
.modal-close-btn i{font-size:38px;}
.modal-close-btn i:hover {color:#fff}
.footer-inner-box{padding:30px; background-color:#fff; }
.footer-inner{padding:20px; height:400px; overflow-y:auto; overflow-x:hidden; border:1px solid #ddd; }

/* ****************** 사이트맵 ********************** */
/* -------- 사이트맵 01 -------- */
/* 사이트맵 01 */
.sitemap-wrapper{padding:30px; background-color:#fff;}
.sitemap-wrapper > ul{display:table; width:100%; table-layout:fixed;}
.sitemap-wrapper > ul > li{display:table-cell; vertical-align:top; text-align:center;}
.sitemap-wrapper > ul > li > h2{color:#191919; margin:0 2% 20px 2%; padding:15px 5px; font-size:17px; background-color:#f2f2f2;  letter-spacing:-1.0px; margin-bottom:20px; font-weight:500;}
.sitemap-wrapper > ul > li .sitemap-2dep {padding:0 5% 20px;}
.sitemap-wrapper > ul > li .sitemap-2dep a{display:block; padding:10px 0; color:#666; font-size:14px; font-weight:400; line-height:1.2em;}
.sitemap-wrapper > ul > li .sitemap-2dep a:hover{color:#000; }

/* -------- 사이트맵 02 -------- */
/* 사이트맵 02 :: Layout */
#sitemapContent{	
	position:fixed; 
	top:0; left:0; right:0; bottom:0; 
	opacity:0;filter:Alpha(opacity=0); 
	visibility:hidden;   
	z-index:-1;
	-webkit-transition:all 0.3s  0.5s;
	transition:all 0.3s  0.5s;
}
#sitemapInnerCon{position:absolute; top:0; left:0; bottom:0; right:100px; border-right:1px solid #ddd; }
#sitemapContent .sitemap-bg-box{position:absolute; top:0px; left:0px; width:100%; height:100%;}
#sitemapContent .visual-intro-item{float:left; position:relative; height:100%;}
#sitemapContent .visual-intro-item:before{
	position:absolute;  left:0; top:0px; width:1px; height:0; content:""; background-color:#ddd; z-index:1; 
}
#sitemapContent .visual-intro-item:first-child:before{display:none}
#sitemapContent .visual-intro-item:after{	
	content:""; 
	position:absolute; right:0; top:0px; 
	width:100%; height:100%; 
	background: #333; 
	-webkit-transition: width .6s cubic-bezier(0.47, 0, 0.31, 1.04) 0.2s;
	transition: width .6s cubic-bezier(0.47, 0, 0.31, 1.04) 0.2s ;
}
#sitemapContent .sitemap-close-btn{position:absolute; top:40px; right:40px;}
#sitemapContent .sitemap-close-btn i{font-size:20px; color:#222;}

/* 사이트맵 02 :: 메뉴리스트 */
.sitemap-wrapper-style02{height:100%; }
.sitemap-wrapper-style02 > ul{overflow:hidden; position:relative; z-index:1; top:50%; transform:translateY(-50%);}
.sitemap-wrapper-style02 > ul > li{overflow:hidden; float:left; width:20%;height:100%;}
.sitemap-wrapper-style02 > ul > li > h2{overflow:hidden; color:#191919; font-size:18px; letter-spacing:-1.0px; margin:0% 15% 40px; font-weight:600; }
.sitemap-wrapper-style02 > ul > li:hover > h2{color:#f57f20;}
.sitemap-wrapper-style02 > ul > li .sitemap-2dep a{
	overflow:hidden; position:relative; display:block;  padding:20px 15%; color:#777; font-size:15px; letter-spacing:-0.15px; font-weight:400; line-height:1.2;
	-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s
}
.sitemap-wrapper-style02 > ul > li .sitemap-2dep a:after{
	position:absolute; top:0; left:0; width:0; content:""; height:100%; background:#f57f20;
	-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s
}
.sitemap-wrapper-style02 > ul > li .sitemap-2dep a span{position:relative; z-index:1;}
.sitemap-wrapper-style02 > ul > li .sitemap-2dep a .gnb-icon{display:none;}
.sitemap-wrapper-style02 > ul > li .sitemap-2dep a:hover{color:#fff; }
.sitemap-wrapper-style02 > ul > li .sitemap-2dep a:hover:after{width:100%; }
.sitemap-wrapper-style02 ul li span{
	display:block; opacity:0;filter:Alpha(opacity=50);
	-webkit-transform:translateX(-5%);
	transform:translateX(-50%);
	transition: transform .8s cubic-bezier(0.47, 0, 0.31, 1.04) 0s, opacity .8s cubic-bezier(0.47, 0, 0.31, 1.04) 0s; 
}
/* 사이트맵 open */
#sitemapContent.open{
	opacity:1.0;filter:Alpha(opacity=100); 
	visibility:visible; 
	z-index:99999; 
	background-color:#fff;
	-webkit-transition:all 0.3s  0s; 
	transition:all 0.3s 0s;
}
#sitemapContent.open .visual-intro-item:before{height:100%;}
#sitemapContent.open .visual-intro-item:after {width:0;}
#sitemapContent.open .visual-intro-item {
	-webkit-transform: scaleX(1);
	transform: scaleX(1); 
	transform-origin:right top; 
	transition-property: transform;
}
#sitemapContent.open .sitemap-wrapper-style02 ul li span{
	opacity:1.0;filter:Alpha(opacity=100);
	-webkit-transform:translateX(0);
	transform:translateX(0);
	transition: transform .8s cubic-bezier(0.47, 0, 0.31, 1.04), opacity .8s cubic-bezier(0.47, 0, 0.31, 1.04); 
}

/*푸터 로고 추가 */
.footer-logo-list{text-align:center; border-top:1px solid #d9d9d9; padding:40px 0}
.footer-logo-list span{display:inline-block; margin-right:9%}
.footer-logo-list span:last-child{margin-right:0}
.footer-logo-list span img{max-width:100%}

/***** 24-03-13 유지보수 *****/
#topMenu02 .side-menu-inner ul.sub-menu-company li {width: 14.285%;}
#gnb.open #gnbBg{height:370px}

/**** 추가소스 11/25 ***/
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:
url(/webfonts/fa-brands-400.eot);src:
url(/webfonts/fa-brands-400d41d.eot?#iefix) format("embedded-opentype"),
url(/webfonts/fa-brands-400.woff2) format("woff2"),
url(/webfonts/fa-brands-400.woff) format("woff"),
url(/webfonts/fa-brands-400.ttf) format("truetype"),
url(/webfonts/fa-brands-400.svg#fontawesome) format("svg")}
.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:
url(/webfonts/fa-regular-400.eot);src:
url(/webfonts/fa-regular-400d41d.eot?#iefix) format("embedded-opentype"),
url(/webfonts/fa-regular-400.woff2) format("woff2"),
url(/webfonts/fa-regular-400.woff) format("woff"),
url(/webfonts/fa-regular-400.ttf) format("truetype"),
url(/webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:
url(/webfonts/fa-solid-900.eot);src:
url(/webfonts/fa-solid-900d41d.eot?#iefix) format("embedded-opentype"),
url(/webfonts/fa-solid-900.woff2) format("woff2"),
url(/webfonts/fa-solid-900.woff) format("woff"),
url(/webfonts/fa-solid-900.ttf) format("truetype"),
url(/svgs/fa-solid-900.html#fontawesome) format("svg")}
.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}

/* /_res/xeicon-2.3.3/xeicon.css */
/*!*  XEIcon 2.3.3 by @NAVER - http://xpressengine.github.io/XEIcon/ 
- @XEIcon*  
License - http://xpressengine.github.io/XEIcon/license.html (Font: SIL OFL 1.1, CSS: MIT License)*/
@font-face {  font-family: 'xeicon';  src: 
url("/xeicon-2.3.3/fonts/xeicon75d5.eot?3ka2yj");  src: 
url("/xeicon-2.3.3/fonts/xeicon75d5.eot?3ka2yj#iefix") format("embedded-opentype"), 
url("/xeicon-2.3.3/fonts/xeicon75d5.woff2?3ka2yj") format("woff2"), 
url("/xeicon-2.3.3/fonts/xeicon75d5.ttf?3ka2yj") format("truetype"), 
url("/xeicon-2.3.3/fonts/xeicon75d5.woff?3ka2yj") format("woff"), 
url("/xeicon-2.3.3/fonts/xeicon75d5.svg?3ka2yj#xeicon") format("svg");  
font-weight: normal;  font-style: normal;  font-display: swap;}[class^="xi-"],[class*=" xi-"] {  

/* use !important to prevent issues with browser extensions that change fonts */  
font-family: 'xeicon' !important;  display: inline-block;  speak: none;  font-style: normal;  font-weight: normal;  font-variant: normal;  text-transform: none;  line-height: 1;  

font-family: 'FontAwesome'; 
src: url('/font-awesome/fonts/fontawesome-webfonte0a5.eot?v=4.3.0'); 
src: url('/font-awesome/fonts/fontawesome-webfontd41d.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('/font-awesome/fonts/fontawesome-webfonte0a5.woff2?v=4.3.0') format('woff2'), url('/font-awesome/fonts/fontawesome-webfonte0a5.woff?v=4.3.0') format('woff'), url('/font-awesome/fonts/fontawesome-webfonte0a5.ttf?v=4.3.0') format('truetype'), url('/font-awesome/fonts/fontawesome-webfonte0a5.svg?v=4.3.0#fontawesomeregular') format('svg');  font-weight: normal;  font-style: normal;}
@font-face {  
font-family: 'xeicon';  
src:url('/xeicon-2.3.3/fonts/xeicon7067.eot?v=2.3.3'); 
src:url('/xeicon-2.3.3/fonts/xeicond41d.eot?#iefix&v=2.3.3') format('embedded-opentype'),     
url('/xeicon-2.3.3/fonts/xeicon7067.woff2?v=2.3.3') format('woff2'),    
url('/xeicon-2.3.3/fonts/xeicon7067.woff?v=2.3.3') format('woff'),   
url('/xeicon-2.3.3/fonts/xeicon7067.ttf?v=2.3.3') format('truetype'),   
url('/xeicon-2.3.3/fonts/xeicon7067.svg?v=2.3.3#xeicon') format('svg'); 
font-weight: normal;  
font-style: normal;}
@font-face {font-family: 'themify';
src:url('/themify/themify9f24.eot?-fvbane');
src:url('/themify/themifyd41d.eot?#iefix-fvbane') format('embedded-opentype'),url('/themify/themify9f24.woff?-fvbane') format('woff'),url('/themify/themify9f24.html?-fvbane') format('truetype'),url('/themify/themify9f24.svg?-fvbane#themify') format('svg');
font-weight: normal;font-style: normal;}


@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 700;
    src: local('Spoqa Han Sans Neo Bold'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Bold.woff2') format('woff2'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Bold.woff') format('woff'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Bold.ttf') format('truetype');
}


@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 500;
    src: local('Spoqa Han Sans Neo Medium'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Medium.woff2') format('woff2'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Medium.woff') format('woff'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 400;
    src: local('Spoqa Han Sans Neo Regular'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Regular.woff2') format('woff2'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Regular.woff') format('woff'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 300;
    src: local('Spoqa Han Sans Neo Light'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Light.woff2') format('woff2'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Light.woff') format('woff'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 100;
    src: local('Spoqa Han Sans Neo Thin'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Thin.woff2') format('woff2'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Thin.woff') format('woff'),
    url('/font/gh/spoqa/spoqa-han-sans%40latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Thin.ttf') format('truetype');
}


.img-responsive {
    max-width: 100%; /* 부모 요소 크기를 넘지 않도록 설정 */
    height: auto; /* 가로 비율을 유지하면서 자동 조절 */
    display: block; /* 가운데 정렬을 위해 필요 */
    margin: 0 auto; /* 중앙 정렬 */
}

/* PC 서브메뉴 on 색상 */
#topMenu02 .snb li.on > a,
#topMenu02 .snb li.on > a span{
  color:#e11d24 !important;
  font-weight:700;
}
