@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap');

/* ****************** LAYOUT ********************** */
body, table, th, td, button, select, input, textarea {
	font-family:'Roboto','Noto Sans KR',"돋움", Dotum, Arial, sans-serif;
	font-size:13px;
	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:1300px; margin:0px auto;} /* width 홈페이지 컨텐츠 가로값에 맞게 변경 */
.area-box{ max-width:1600px; margin:0px auto; }
::selection {
    background: #333367;   
    color: #fff;
}
::-moz-selection {
    background: #333367;    
    color: #fff;
}
/* ****************** HEADER ********************** */
#header{
	position:absolute; height:100px; 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
}
#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; 
	-webkit-transition:padding 0.3s;
	transition:padding 0.3s
}
#header .logo{position:relative; z-index:100; float:left; width:255px; padding:40px 0 0 0; text-align:center; }
#header .logo a{display:inline-block; }
#header .logo img{vertical-align:top;}

/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:absolute; top:75px; right:60px; z-index:100;}

/* Header :: 언어선택 */
.header-lang {position:relative; float:left; width:36px; height:36px; z-index:100; margin-left:18px; }
.header-lang .lang-open-btn {overflow:hidden; position:relative; z-index:11; display:block; width:100%; text-align:center; height:100%; font-size:10px; color:#333; background-color:#fff; border-radius:50%;}
.header-lang .lang-open-btn i {position:relative; top:-1px; }
.header-lang .lang-open-btn .arrow{position:absolute; top:0px; right:0px;}
.header-lang .lang-open-btn .arrow i{font-size:16px;}
.header-lang > ul {display:none; position:absolute; top:20px; left:0px; z-index:10; width:100%; padding: 17px 0 15px; border-radius:0 0 20px 20px; background-color:#fff;}
.header-lang > ul > li > a{display:block; text-align:center; padding:5px 0; color:#000; font-size:12px; letter-spacing:-0.5px; font-weight:700;}
.header-lang > ul > li.cur > a,
.header-lang > ul > li > a:hover{color:#333367; }
.header-lang.open .lang-open-btn .arrow i{transform:rotate(180deg); margin-top:-3px;}

/* Header :: 사이트맵버튼 */
.sitemap-line-btn{float:left; width:136px; height:37px; text-align:center; box-sizing:border-box; background-color:#c4c4ff; border-radius:30px; line-height:37px;}
.sitemap-line-btn .icon{display:inline-block; vertical-align:middle; margin-right:14px;}
.sitemap-line-btn .line{display:block; width:15px; height:1px; background-color:#000; margin: 4px auto; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;}
.sitemap-line-btn .sitemap-tit{display:inline-block; vertical-align:middle; color:#222; font-size:12px; letter-spacing:0.25px;}
/* 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 :: GNB(PC) -------- */
.gnb-overlay-bg{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(104,38,52,0.5); z-index:9997;}	/* gnb overlay BG */
#gnb{position:absolute; text-align:right; top:75px; left:0px; width:100%; z-index:99;font-family: 'Roboto', sans-serif;}
#gnb > ul{display:inline-block; margin-right:150px; *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:40px; padding:12px 32px 0; text-align:center; color:#fff; font-size:18px; /*letter-spacing:-0.5px;*/ font-weight:400; -webkit-transition:all 0.5s; transition:all 0.5s; 
}
#gnb > ul > li > a:before{position:absolute; left:50%; width:0;  bottom:10px; height:3px; background-color:#333367; content:"";  -webkit-transition:all 0.5s; transition:all 0.5s; }
#gnb > ul > li:hover > a:before,
#gnb > ul > li > a:hover:before{margin-left:-32px; width:65px;}

/* GNB :: 2차 각각메뉴 */
#gnb.each-menu > ul > li .gnb-2dep{
	/* display:none; */
	position:absolute; 
	top:52px; 
	left:50%; 
	z-index:99;
	width:180px;
	margin-left:-90px;
	text-align:left; 
	visibility:hidden;
	opacity:0;filter:Alpha(opacity=0);
}
#gnb.each-menu > ul > li .gnb-2dep:before{
	content:""; position:absolute; top:0; left:0px; right:0px; height:0; opacity:0;filter:Alpha(opacity=0); background-color:#333367; 
	-webkit-transition:all 0.4s; transition:all 0.4s
}
#gnb.each-menu > ul > li .gnb-2dep ul{padding:15px 0;}
#gnb.each-menu > ul > li .gnb-2dep ul li{position:relative; padding:8px 30px; opacity:0;filter:Alpha(opacity=0);-webkit-transition:all 0s 0s;-moz-transition:all  0s 0s;-o-transition:all  0s 0s;-ms-transition:all  0s 0s;transition:all  0s 0s; }
#gnb.each-menu > ul > li .gnb-2dep ul li a{ display:block; color:#c4c4ff; font-size:16px; letter-spacing:-0.75px; font-weight:400; line-height:1.3;}
#gnb.each-menu > ul > li .gnb-2dep ul li a:hover{color:#fff;}
/* over했을때 */
#gnb.each-menu > ul > li:hover .gnb-2dep:before{height:100%; opacity:1.0;filter:Alpha(opacity=100);}
#gnb.each-menu > ul > li .gnb-2dep.open{visibility:visible; opacity:1.0;filter:Alpha(opacity=100);}
#gnb > ul > li .gnb-2dep.open ul li{opacity:1.0;filter:Alpha(opacity=100); -webkit-transition:all 0.8s;-moz-transition:all 0.8s;-o-transition:all 0.8s;-ms-transition:all 0.8s;transition:all 0.8s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(1){-webkit-transition-delay: 0.1s; transition-delay:0.1s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(2){-webkit-transition-delay: 0.2s; transition-delay:0.2s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(3){-webkit-transition-delay: 0.3s; transition-delay:0.3s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(4){-webkit-transition-delay: 0.4s; transition-delay:0.4s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(5){-webkit-transition-delay: 0.5s; transition-delay:0.5s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(6){-webkit-transition-delay: 0.6s; transition-delay:0.6s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(7){-webkit-transition-delay: 0.7s; transition-delay:0.7s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(8){-webkit-transition-delay: 0.8s; transition-delay:0.8s;}

/* -------- Header :: GNB(Mobile) -------- */
.nav-open-btn{display:none;}
#gnbM{display:none}

/* ****************** FOOTER ********************** */
/* -------- FOOTER :: 레이아웃 -------- */
#footer{background-color:#051b2c; padding:62px 0 95px;}
.index-wrapper #footer{background-color:transparent; padding-bottom:100px;}
#footerInner{position:relative; }
.footer-left-con{float:left; }
.footer-right-con{float:right;}
.footer-b-con {clear:both; text-align:center; padding-top:50px; position:relative}
/* -------- FOOTER :: 상단 -------- */
#footerTop{padding-bottom:45px; }
/* Footer :: TOP버튼 */
.to-top-btn{
	position:fixed; bottom:-100px; right:15px; display:block; width:44px; height:44px; background-color:#fff; text-align:center; color:#051b2c; z-index:99;
	border:1px solid #ddd;
	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
	-webkit-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;
}
.to-top-btn.fixed{bottom:15px; opacity:1.0;filter:Alpha(opacity=100);}
.to-top-btn i{display:inline-block; font-size:16px; line-height:46px; transition:all 0.3s}
.to-top-btn:hover i{transform:translateY(-3px)}

/* Footer :: 푸터메뉴 */
.foot-menu{float:left; }
.foot-menu li{float:left; position:relative; padding-left:40px; line-height:30px;}
/* .foot-menu li:before{position:absolute; top:50%; left:18px; content:""; width:2px; height:2px; background-color:#636363; border-radius:50%; } */ /* dot 형태 */ 
.foot-menu li:before{position:absolute; top:50%; left:18px; width:1px; height:10px; margin-top:-5px; background-color:#fff;  content:""; opacity:0.15} /* line 형태 */ 
.foot-menu li:first-child{padding-left:0}
.foot-menu li:first-child:before{display:none} 
.foot-menu li a{color:#fff; font-size:15.5px; font-weight:500; color:rgba(255,255,255,0.8);}

/* Footer :: SNS 리스트 */
.foot-sns-menu{margin-right:70px;}
.foot-sns-menu li{float:left; margin-left:15px}
.foot-sns-menu li:first-child{margin-left:0}
.foot-sns-menu li img{width:35px;}
.foot-sns-menu li a{display:block; color:#fff; line-height:35px; text-align:center;}
.foot-sns-menu li a i{font-size:20px; line-height:35px;}

/* -------- FOOTER :: 하단 -------- */
/* Footer :: 푸터로고 */
.foot-logo{display:block; padding-bottom:20px;}
.footer-right-con .foot-logo{text-align:right;}
/* Footer :: 왼쪽정보 */
.footer-address{margin-bottom:30px; }
.footer-address .footer-address-txt{color:#fff; font-size:14.5px; line-height:1.4; margin:0 -8px; opacity:0.5; font-weight:300;}
.footer-address p{display:inline-block; vertical-align:middle; position:relative; margin:0 8px;}
.footer-address a{display:inline-block; vertical-align:middle; color:inherit}
.footer-address span{display:inline-block; vertical-align:middle;}
.footer-address em{margin:0 5px;}
/* Footer :: Copyright */
.footer-copyright{font-size:13px; letter-spacing:-0.5px; color:#fff; color:rgba(255,255,255,0.55);}


/* ****************** SUB LAYOUT ********************** */
/*  SUB LAYOUT :: 비주얼 */
#visual{position:relative; overflow:hidden; height:417px; }
#visual .visual-inner{overflow:hidden; margin-left:255px; position:relative; height:100%;}
#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; display:table; width:100%; height:100%; letter-spacing:-0.5px; padding-left:120px; color:#fff;}
#visual .visual-txt-con .table-cell-layout{vertical-align:bottom;}
#visual .visual-txt-container{position:relative; width:100%; }
#visual .visual-tit,
#visual .visual-sub-txt{
	overflow:hidden; 
	opacity:0;
}
#visual .visual-tit{
	font-weight:600; 
	font-size:60px; 
	letter-spacing:-1px;
	-webkit-transition-delay:0.3s;
	transition-delay:0.3s;
}
#visual .visual-sub-txt{
	font-size:18px; 
	font-weight:300; 
	margin:30px 0 78px;
	letter-spacing:-0.65px;
	-webkit-transition-delay:0.5s;
	transition-delay:0.5s;
	color:rgba(255,255,255,0.5);
}
#visual .visual-tit .char,
#visual .visual-sub-txt .word{display:inline-block; opacity:0;}
#visual .visual-tit.splitting,
#visual .visual-sub-txt.splitting{opacity:1.0;}
#visual .visual-tit.splitting .char,
#visual .visual-sub-txt.splitting .word{
	animation: slide-up 1.25s cubic-bezier(.5,.2,0,1);
    animation-fill-mode: both;
    animation-delay: calc( .5s + (.05s * var(--char-index)) );
}
#visual .visual-sub-txt.splitting .word{animation-delay: calc( .5s + (.05s * var(--word-index)) );}
@keyframes slide-up {
	from{
		opacity:0;
		transform: translateY(125%);
	}
	to{
		opacity:1.0;
		transform: translateY(0);
	}
}
/* SUB Side Bar */
#visual .visual-side-txt{position:absolute; bottom:0px; left:0px; width:255px; top:170px; }
#visual .visual-side-txt span{position:absolute; left:50px; top:110px; transform:rotate(-90deg) ; width:150px; color:#000; font-size:16px; letter-spacing:5px; font-weight:600; opacity:0.5; text-align:center;}

/* 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);
}


/*  SUB LAYOUT :: 서브메뉴(스타일1) */
#topMenu01{position:relative; width:100%; }
#topMenu01 .side-menu-inner{text-align:center; width:100%; height:78px; border-bottom:1px solid #e5e5e5; background-color: #fff;}
#topMenu01 .side-menu-inner ul{display:inline-block; *display:inline;*zoom:1;}
#topMenu01 .side-menu-inner ul li{float:left; width:260px;} /* max-width 자유롭게 수정 */
#topMenu01 .side-menu-inner ul li > a{
	display:block; 
	display:table; 
	position:relative;
	width:100%;
	height:78px; 
	line-height:1.2; 
	color:#666; 
	font-size:18px; 
	letter-spacing:-0.2px; 
	font-weight:300; 
	word-break:keep-all;
	-webkit-transition:all 0.4s;
	transition:all 0.4s;
}
#topMenu01 .side-menu-inner ul li > a:before{
	position:absolute;
	bottom:-3px;
	left:50%;
	width:0;
	height:6px;
	background-color:#333367;
	content:"";
	border-radius:10px;
	-webkit-transition:all 0.4s;
	transition:all 0.4s;
}
#topMenu01 .side-menu-inner ul li > a > span{display:table-cell; vertical-align:middle; padding:0 25px; }
#topMenu01 .side-menu-inner ul li > a:hover, 
#topMenu01 .side-menu-inner ul li.on > a{color:#0b1c3e; font-weight:400;}
#topMenu01 .side-menu-inner ul li > a:hover:before, 
#topMenu01 .side-menu-inner ul li.on > a:before{width:100%; margin-left:-50%;}

/* SUB LAYOUT :: 모바일메뉴(공통)  */
#topMenuM01,
#topMenuM02{display:none;}

p.pic {}
p.pic img {width: 100%;}


/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content{padding:5px 0 100px 0}
#contentInfoCon{text-align:center; margin-bottom:95px;}
#contentInfoCon.full-line{padding-bottom:42px; border-bottom:1px solid #e5e5e5;}
#contentInfoCon.mar0{margin-bottom:0}
#contentInfoCon .content-tit{font-size:50px; color:#333; font-weight:300; letter-spacing:-1px; display:none}
#contentInfoCon .content-tit b{font-weight:700}

/* ****************** 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; width:50px; height:50px; /* top:-50px; */ top:-6px; right:0px; text-align:center; color:#fff; background-color:#3bb0c4; }
.modal-close-btn i{font-size:32px; line-height:50px; }
.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; font-size:18px; 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; height:100%;}
.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:30% 15% 40px; font-weight:600; }
.sitemap-wrapper-style02 > ul > li:hover > h2{color:#333367;}
.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:#333367;
	-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); 
}