@charset "utf-8";
/* *******************************************************
 * filename : layout.css
 * description : 전체 레이아웃 CSS
******************************************************** */
@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap'); /*play폰트*/
@import url('https://fonts.googleapis.com/earlyaccess/notosansjp.css');

/* ****************** LAYOUT ********************** */

:lang(ko){
	font-family: sans-serif, 'NanumSquare', 'Play';
	letter-spacing: 0px;
}
:lang(en){
	font-family: sans-serif, 'NanumSquare', 'Play';
	letter-spacing: -0.8px;
}
:lang(ja){
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: -0.8px;
	word-break:break-all;
}

body, table, th, td, button, select, input, textarea {
	font-size:1.3rem;
	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:1132px; margin:0px auto;} 
.area-box{ max-width:1600px; margin:0px auto; }

::selection {
    background: #2a7c95;   
    color: #fff;
}
::-moz-selection {
    background: #2a7c95;    
    color: #fff;
}

.nanumSquare{
	font-family:'NanumSquare',sans-serif;
	font-size:1.7rem;
	line-height:1.5;
}

/*메뉴고정시키기 2depth */
body.bodyfixed #topMenu01
{
	position:fixed;
	top:0; left:0;
	z-index:9999;	
	transition: top 0.4s;
}
body.bodyfixed #topMenu01 .side-menu-inner{
	height:60px;
	 transition: height 0.4s
}
body.bodyfixed #topMenu01 .side-menu-inner ul li > a{
	height:60px;
	transition: height 0.4s
}
body.bodyfixed #topMenu01,
#topMenu01.topmenuOn{
	border-bottom: 1px solid #e7e7e7;
	background:rgba(255,255,255,1);   
}

body.bodyfixed #subMenu01{
	margin:80px 0 40px 0;
}


/*메뉴고정시키기 3depth */
body.bodyfixed2 #subMenu01
{
	position:fixed;
	top:61px; left:0;
	margin:0;
	z-index:9999;	
	/* transition: top 0.3s; */
}

body.bodyfixed2 #subMenu01{
	background:rgba(255,255,255,1);  
	border-bottom: 1px solid #e7e7e7;
	/*	transition: 0.4s; */
}
body.bodyfixed2 #subMenu01 .side-menu-inner{
	height:60px;
	transition: height 0.4s
}
body.bodyfixed2 #subMenu01 .side-menu-inner ul li > a{
	height:60px;
	transition: height 0.4s
}


/*메뉴고정시키기 4depth */
body.bodyfixed3 #s-subMenu 
{
	position:fixed;
	top:122px; left:0;
	height: 40px;
	z-index:9999;	
	margin:0 0 40px 0; 
	/* transition: top 0.3s; */
}

body.bodyfixed3 #s-subMenu{
	background:rgba(255,255,255,1);   
	border-bottom: 1px solid #000;
}
body.bodyfixed11 #content{
	margin-top: 60px;
}
body.bodyfixed22 #content{
	margin-top: 168px;
}
body.bodyfixed33 #content{
	margin-top: 230px;
}

/*메뉴고정시키기 글로브박스 끝*/


/* ************* Container (body)  ***************** */
#container{  padding:0 0 60px;}
@media all and (max-width:800px){
	#container{  padding:0;}
}

/* ****************** FOOTER ********************** */
/* -------- FOOTER -------- */
#footer{position:relative; width:100%; padding:40px 0 95px; background-color:#e8e7e7; border-top:3px solid #ee3134; display:block;}
/* 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:1.6rem; line-height:20px; padding-top:5px; transition:all 0.3s}
.to-top-btn:hover i{transform:translateY(-3px)}


#footerInner{ position:relative; }
.footer-left-con{ float:left; }
.footer-right-con{ float:right; }
.footer-center-con{ float:left;  }
/* -------- FOOTER :: 상단 -------- */

#footer-con{  padding-bottom:45px; }


/* Footer :: 푸터로고 */
.foot-logo{ display:block; }

/* Footer :: 회사정보 */
.footer-address{  margin:0 0 0 250px; letter-spacing:-0.75px; text-align:left; }
.footer-address .footer-address-txt{color:#000; font-size:1.4rem; line-height:1.4; font-weight:500; }
.footer-address p{display:inline-block; vertical-align:middle;  }
.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 :: 개인정보보호정책 | 이메일무단수집거부 */
.foot-menu{  display:block; }
.foot-menu li{ position:relative; float:left; padding-left:40px; line-height:30px;}
.foot-menu li:before{position:absolute; top:50%; left:18px; width:1px; height:10px; margin-top:-5px; background-color:#000;  content:""; opacity:0.15} /* 세로구분바 */ 
.foot-menu li:first-child{padding-left:0}
.foot-menu li:first-child:before{display:none} 
.foot-menu li a{color:#000; font-size:1.3rem; font-weight:500;}

/* Footer :: Copyright */
.footer-copyright{ font-size:1.3rem; letter-spacing:-0.5px; color:#000; }


/* ****************** SUB 페이지 LAYOUT ********************** */

/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content { margin-top:0; padding:47px 0 80px 0; width:100%;  height:auto; display:inline-block;}
#contentInfoCon { text-align:center; margin-bottom:35px; }
#contentInfoCon p { width:1px; height:64px; background-color:#000; margin:0 auto;} 
#contentInfoCon .content-tit{ padding:48px 0; font-size:4.8rem; color:#333; font-weight:300; }
#contentInfoCon b{ font-weight:700; }
#contentInfoCon span { font-size:2.8rem; color:#000; line-height:1.4; font-weight:300; } 



/*  SUB LAYOUT :: 비주얼 */
#visual{position:relative; overflow:hidden; height:292px; }
#visual .visual-inner{overflow:hidden; 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%; top:82px; height:210px; letter-spacing:-0.5px; text-align:center; color:#fff;}
#visual .visual-txt-con .table-cell-layout{vertical-align:middle;}
#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:4.0rem; 
	letter-spacing:-1px;
	-webkit-transition-delay:0.3s;
	transition-delay:0.3s;
}
#visual .visual-sub-txt{
	font-size:1.8rem; 
	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 LAYOUT :: 상단이미지 효과 */
#visual.active .visual-img-con{
    -webkit-transform: scale(1.0,1.0) rotate(0.002deg);
     transform: scale(1.0,1.0) rotate(0.002deg);
}




/*************  화면 사이즈에 따라 폰트 비율기준 변경 (rem 설정) ************/
html{font-size:10px; !important;}
@media all and (max-width:1132px){ html{font-size:8.5px; !important;} }
@media all and (max-width:800px){ html{font-size:8px; !important;} }
@media all and (max-width:480px){ html{font-size:7.5px; !important;} }
/******************  화면 사이즈에 따라 폰트 비율 변경 ******************/