@charset "utf-8"; 
/* *******************************************************
 * filename : layout.css
 * description : 전체 레이아웃 CSS
 * date : 2022-03-26
******************************************************** */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans+SC:wght@100..900&display=swap');
/* ========================================================
 * SETTING
======================================================== */
:root { 
	--main-color: #2561ae;
	--sub-color: #146ee2;
	--area-wide-width: 1620px;
	--area-box-width: 1520px;
	--area-width: 1320px;
	--area-width-86: 860px;
	--area-padding: 30px;
	--header-top-height: 90px;
	--header-bottom-height: 68px;
	--sub-visual-height: 48rem;
	--sub-menu-height: 60px;
	--full-height: 100vh;
	--transition-custom: all 0.4s ease-in-out;
	--transition-custom2: all 0.8s ease-in-out; /* data-scroll */
	--font-xi :'xeicon' !important;
} 
::selection { 
background: var(--main-color); 
color: #fff; 
} 
::-moz-selection { 
background: var(--main-color); 
color: #fff; 
} 
body, table, th, td, button, select, input, textarea { 
	color:#666; 
	-webkit-text-size-adjust:none; 
	-moz-text-size-adjust:none; 
	text-size-adjust:none; 
	word-break:keep-all; 
} 
body {background-color:#fff;} 
body.popup_body #ch-plugin{display:none!important}
table, th, td { word-break:break-word; } 
#wrap { overflow:hidden; width:100%; min-width:320px; position:relative; } 
html[lang=zh] body, html[lang=zh] table, html[lang=zh] th, html[lang=zh] td, html[lang=zh] button, html[lang=zh] select, 
html[lang=zh] input, html[lang=zh] textarea {
	font-family:var(--font-family-sc) !important;
}
html[lang=ja] body, html[lang=ja] table, html[lang=ja] th, html[lang=ja] td, html[lang=ja] button, html[lang=ja] select, 
html[lang=ja] input, html[lang=ja] textarea {
	font-family:var(--font-family-ja) !important;
}

@media all and (max-width:1024px) { 
	:root { 
		--header-top-height: 80px;
	} 
} 

@media all and (max-width:768px) { 
	:root { 
		--header-top-height: 68px;
		--sub-visual-height: 32rem;
		--sub-menu-height: 45px;
		--area-padding: 5vw;
	} 
} 

/* ========================================================
 * FONT SIZE
======================================================== */
html{font-size:10px;}
@media all and (max-width:1536px){
	html{font-size:0.6510vw;} /* 10 */
}
@media all and (max-width:1280px){
	html{font-size:0.8594vw;} /* 10 -> 11*/
}
@media all and (max-width:1024px){
	html{font-size:1.002vw} /* 10 -> 11*/
}
@media all and (max-width:768px){
	html{font-size:1.375vw} /* 10 -> 11*/
}
@media all and (max-width:640px){
	html{font-size:1.7188vw}  /* 10 -> 11*/
}
@media all and ( max-width: 480px ){
	html{font-size:2.2vw}  /* 10 */
}
@media all and (max-width:390px){
	html{font-size:2.1795vw}  /* 10 -> 8.5 */
}
/* ========================================================
 * LAYOUT
======================================================== */

/* ****************** 공통클래스 ********************** */
.area{ max-width:var(--area-width); margin:0px auto;}
.area-860{ max-width:var(--area-width-86); margin:0px auto;}
.area-box{ max-width:var(--area-box-width); margin:0px auto; }
.area-wide{ max-width:var(--area-wide-width); margin:0px auto; }
.full-height{height:var(--full-height);}
/* Fullpage Layout */
.fullpage-html{overflow:hidden; height:100%;}
.fullpage-html #wrap{position:static;}
.flex-btw-box{display: flex; flex-wrap: wrap; justify-content: space-between;}
.flex-center-box{display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.flex-btw-box .ml-auto{ margin-left: auto;}

@media all and (max-width:1660px){
	.area-box{padding:0 var(--area-padding); max-width:none;}
}
@media all and (max-width:1360px){ 
	.area{padding:0 var(--area-padding); max-width:none;}
}
@media all and (max-width:920px){ 
	.area-860{padding:0 var(--area-padding); max-width:none;}
}

/* ****************** COMMON :: BANNER :: TOP ********************** */
.top-banner {
	background-color: #3e404b; color: #fff;position: relative;text-align: center; width: 100%; overflow: hidden;
}
.top-banner .bnr_item{
	height:50px;display: flex;width: 100%;align-items: center;justify-content: center;
	font-size: 1.48rem; line-height: 2.2rem;
}
.banner-close {
	position: absolute; right: 1rem;top: 50%;transform: translateY(-50%);z-index: 1;border: none;
	font-size: 12px;line-height: 1;color: #fff;cursor: pointer;background-color: rgba(0, 0, 0, 0.3);width: 25px;height: 25px;border-radius: 50%;
}
.banner-close:hover {color: #fff;}
.top-banner .pagination-wrap{ position: absolute;bottom: 0;left: 50%; transform: translateX(-50%);min-width: max-content; z-index: 1;}
.top-banner .pagination-wrap > div{min-width: inherit;}
.top-banner .pagination-wrap .swiper-pagination-bullet{ width: 5px; height: 5px;}
.top-banner .swiper-navi-btn{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; color:#fff}
.top-banner .swiper-navi-btn::before{ content: "\e93b"; font-family: var(--font-xi); font-size: 1.8rem; display: block; z-index: 1;}
.top-banner .swiper-navi-btn.btn_prev{ left: var(--area-padding);}
.top-banner .swiper-navi-btn.btn_next{ right:5rem; transform: translateY(-50%) rotate(-180deg);}
@media (max-width: 768px) {
	.top-banner {font-size: 14px;}
	.banner-close {font-size: 18px;}
}


/* ****************** HEADER ********************** */
#header{position:relative; top:0; left:0; width:100%; z-index:999; }
#headerTop, #headerBottom{border-bottom: 1px solid #ddd; background-color: #fff;}
#headerInner{
	position:relative; height:100%; -webkit-transition:padding 0.3s;transition:padding 0.3s; 
	display: flex;align-items: center; justify-content: space-between; height:var(--header-top-height);
}
#header .logo{position: relative;z-index: 100;height: var(--header-top-height);}
#header .logo a{
	color:#101010;display: inline-flex;align-items: center; width: inherit; height: inherit; max-width: inherit; max-height: inherit; 
	background-repeat: no-repeat; background-size:contain; background-position: center; background-image: url('../../../data/cf_Logo/cf_logo.png');
}
#header .logo img{display:block; vertical-align:top;}


/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:relative; z-index:100; column-gap: 2.2rem;}
.header-sns-list{ column-gap: 2rem;}

/*header :: util :: member*/
.member-menu-box{position:relative; z-index:100;}
.member-menu-box a.login{ display: inline-flex; align-items: center;justify-content: center; column-gap: .5rem;}
.member-menu-box a{font-size:1.3rem; font-weight:400;}
.member-menu-box a i{font-size:2rem; vertical-align:middle;}

.member-menu-box.open .top_mb_private{opacity: 1; visibility: visible; transform: scale(1);}
.member-menu-box .top_mb_private_btn{color:#000; font-weight: 500; }
.member-menu-box .top_mb_private_btn img{ width: 25px; height: 25px; border-radius: 50%;}
.member-menu-box .top_mb_private{
	position: absolute; top: 100%; right: 0; margin-top: 1rem; -webkit-box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.07); min-width: 25rem; border: 1px solid #efefef; text-align: center;
    box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.07); padding:var(--area-padding) 0 0;background-color: #fff; transition: all 0.3s; border-radius: 1.5rem;
	font-size: 1.34rem; line-height: 1.4; opacity: 0; visibility: hidden; transform: scale(0.95);
}
.member-menu-box .top_mb_private > *:not(p, .my_menu_list){ padding: 0 1.5rem;}
.member-menu-box .top_mb_private .my_profile_img{ position: relative; display: inline-block; margin: 0 auto 2rem;}
.member-menu-box .top_mb_private .my_profile_img img{ border-radius: 50%; overflow: hidden; max-width: 100%;}
.member-menu-box .top_mb_private .my_profile_img > a{ 
	position: absolute;right: -.6rem;bottom: -.7rem;z-index: 1;padding: .3rem;background: #fff;display: block;border-radius: 50%;
}
.member-menu-box .top_mb_private .my_profile_img > a >i{    
	background-color: #fff;border: 1px solid #efefef;border-radius: 50%;width: 25px;height: 25px; font-size: 1.3rem;
	display: inline-flex;align-items: center;justify-content: center; color:#000;box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1);
}
.member-menu-box .top_mb_private .my_profile_img > a:hover i{ color:#fff; background-color: var(--main-color);}
.member-menu-box .top_mb_private .my_private_info dt{ color:#000; font-weight: 500;}
.member-menu-box .top_mb_private .my_private_info dd{ opacity: .8;}
.member-menu-box .top_mb_private .my_activitiy_info a{
	width: 3.2rem; height: 3.2rem; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; position: relative; border:1px solid #e0e0e0;
}
.member-menu-box .top_mb_private .my_activitiy_info a i{font-size:1.8rem;}
.member-menu-box .top_mb_private .my_activitiy_info a .count{ 
	position: absolute;right: -.6rem;top: -.6rem;z-index: 1;background: #c00;line-height: 1;color: #fff;
	width: 16px;height: 16px;font-size: 10px;display: inline-flex;align-items: center;justify-content: center;border-radius: 100%;font-weight: 600;
}
.member-menu-box .top_mb_private .my_menu_list{text-align: left; border-top: 1px solid #efefef; background-color: #efefef; border-radius: 0 0 1.5rem 1.5rem;}
.member-menu-box .top_mb_private .my_menu_list > li+li{ border-top: 1px solid #e0e0e0;}
.member-menu-box .top_mb_private .my_menu_list > li a{padding:.7rem 1.5rem; display: block; display: flex; gap: 1.2rem; align-items: center;}
.member-menu-box .top_mb_private .my_menu_list > li a i{ font-size: 1.6rem;}

.header-lang-list{ position:relative; z-index:100; }
.header-lang-list:not(:has(>*)){ display: none;}
.header-lang-list:not(:has(.cm-drop-open-btn-JS)) {border: 1px solid #000; min-width: 6rem; height: 2.4rem; box-sizing: border-box;}
.header-lang-list ul {height: 100%;}
.header-lang-list li{letter-spacing:-0.5px; color:#000;}
.header-lang-list:not(:has(.cm-drop-open-btn-JS)) li{ height: 100%; flex: 1; min-width: 2.5rem;}
.header-lang-list li button{font-size:1.2rem; font-weight:500; display:block; width: 100%; height: 100%; line-height: 2.2rem; text-align: center; position:relative; color:#000; transition:var(--transition-custom);}
.header-lang-list li.selected button,
.header-lang-list:not(:has(.cm-drop-open-btn-JS)) li button:hover{ background: #000; color: #fff;}

/*drop ver*/
.header-lang-list .lang-open-btn {
	overflow:hidden; position:relative; min-width: 6rem; height:3rem; color:#333; text-align:center; background-color: #fff; font-size: 1.4rem;
	display:flex; align-items:center; justify-content:center; border-radius: 3rem; z-index: 12; column-gap: .5rem; border: 1px solid #d0d0d0;
}
.header-lang-list:has(.cm-drop-open-btn-JS) ul{
    overflow: hidden; display: none; position: absolute; top: 1.5rem;left: 0;z-index: 10;width: 100%;text-align: center; height: auto;
	background:#fff; backdrop-filter: blur(0.7rem) brightness(0.6);border-radius: 0 0 1.5rem 1.5rem;padding:1.8rem 0 0; border: 1px solid #d0d0d0;
}
.header-lang-list:has(.cm-drop-open-btn-JS) ul li button{ line-height: 3rem;}


/* -------- Header :: GNB(PC) -------- */
#headerMenuCon{ height: var(--header-bottom-height); display: flex;align-items: center; justify-content: space-between;}
.gnb-overlay-bg{position:fixed; top:0; left:0; width:100%; height:100%; visibility:hidden; opacity:0; background:rgba(0,0,0,0.5); z-index:9997;  transition:var(--transition-custom); }	/* gnb overlay BG */
.gnb-overlay-bg.open{visibility:visible; opacity:1.0;}
#gnb > ul > li{position:relative; word-break:keep-all;}
#gnb > ul > li:nth-child(1) > a{ padding-left: 0;}
#gnb > ul > li > a{
	position:relative; z-index:100; display:block; line-height:var(--header-bottom-height); padding:0 3rem; 
	text-align:center; color:#000; font-size:1.7rem; letter-spacing:-0.025em; font-weight:600; transition:var(--transition-custom);
}
#gnb > ul > li > a:hover,
#gnb > ul > li > a:focus,
#gnb > ul > li.on > a{color:var(--main-color);}
#gnb.each-menu > ul > li .gnb-2dep{
	position:absolute; top:calc(var(--header-bottom-height) - 10px); left:50%;  transform: translateX(-50%); z-index:99;
	width:18rem; text-align:left;  visibility:hidden; opacity:0;filter:Alpha(opacity=0); transition:all 0.2s cubic-bezier(0.4, 0, 1, 1);
}
#gnb.each-menu > ul > li:nth-child(1) .gnb-2dep{ transform: translateX(calc(-50% - 1.5rem));}
#gnb.each-menu > ul > li .gnb-2dep:before{
	content:""; position:absolute; top:0px; left:0px; right:0px; height:0; background-color:var(--main-color); transition:all 0.2s cubic-bezier(0.4, 0, 1, 1);
}
#gnb.each-menu > ul > li .gnb-2dep ul{padding:15px 0px;}
#gnb.each-menu > ul > li .gnb-2dep ul li{position:relative; padding:15px 15px; opacity:0; transition:all 0s 0s; }
#gnb.each-menu > ul > li .gnb-2dep ul li a{display:block; color:#fff; font-size:14px; font-weight:600; text-align:center; line-height:1.4; opacity:0.9;}
#gnb.each-menu > ul > li .gnb-2dep ul li a:hover{opacity:1.0;}
#gnb.each-menu > ul > li .gnb-2dep ul li a:hover span:after {opacity: 1; width: 100%;}
#gnb.each-menu > ul > li .gnb-2dep ul li a span {display: inline-block; position: relative;}
#gnb.each-menu > ul > li .gnb-2dep ul li a span:after {display: block;
    content: "";position: absolute;bottom: -7px;left: 50%;width: 0;height: 2px;
	background: #fff;transform: translateX(-50%); opacity: 0; transition:all 0.4s ease;
}

/* over했을때 */
#gnb.each-menu > ul > li .gnb-2dep.open{visibility:visible; opacity:1.0;}
#gnb.each-menu > ul > li .gnb-2dep.open:before{height:100%;}
#gnb > ul > li .gnb-2dep.open ul li{opacity:1.0; transition:var(--transition-custom2);}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(1){transition-delay:0.1s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(2){transition-delay:0.2s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(3){transition-delay:0.3s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(4){transition-delay:0.4s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(5){transition-delay:0.5s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(6){transition-delay:0.6s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(7){transition-delay:0.7s;}
#gnb > ul > li .gnb-2dep.open ul li:nth-child(8){transition-delay:0.8s;}

/* 헤더 :: 검색 */
.header-search-box{ position: relative;}
.header-search-box .search-input-box{background-color:#ebebeb; width:305px; height:4rem; border-radius:.5rem; box-sizing:border-box; padding:0 3rem 0 1.5rem; position: relative;}
.header-search-box #sch_stx{width:100%; height:100%; text-indent:3px; background:none; border:0; vertical-align:middle; font-size:14px; letter-spacing: -0.75px;}
.header-search-box #sch_stx:focus{outline:none;}
.header-search-box #sch_stx::placeholder{color: rgba(34,34,34,0.8);}
.header-search-box .header-search-btn{position:absolute; top:50%; right:1rem; height:3rem; transform: translateY(-50%);}
.header-search-box .header-search-btn button{color:#000; }
.header-search-box .header-search-btn i{font-size:2.2rem;}
.mb-search-btn{display:none;}

.header-search-box:has(#sch_stx:focus) #search-suggestions{opacity: 1;transform: translateY(0);visibility: visible;}
#search-suggestions{
	opacity: 0; visibility: hidden;
    transform: translateY(.25rem); position: absolute; top: 130%; box-shadow: 0 0 1.5rem #00000026;
	background: #fff;border-radius: .4rem;text-align: left;padding: .75rem 0 .85rem;z-index: 99;
	transition: all .2s ease-in-out;display: block; width: 100%; padding: 2rem 2.5rem;
}
#search-suggestions .title{ font-weight: 600; margin-bottom: 1rem;}
#search-suggestions > ul > li{ position: relative; padding: 0 1rem 0 0;border-radius: .4rem;}
#search-suggestions > ul > li > a{color: rgba(38, 50, 56, 1);padding:.3rem 2rem .3rem 0;display: block;white-space: nowrap;}
@media all and (min-width: 1025px) {
    #search-suggestions > ul > li:hover {font-weight:600; text-decoration: underline;}
}

/* -------- Header :: GNB(Mobile) -------- */
.nav-open-btn{display:none;}
#gnbM{display:none}

@media all and ( max-width: 1280px ){

	/* -------- Header :: UTIL BOX -------- */

	/* -------- GNB Mobile :: 언어선택 및 회원메뉴 -------- */
	
	/* 회원메뉴 */
	.member-menu-box{}
	.member-menu-box li{position:relative; text-align: center;}
	.member-menu-box li:before{content:""; position:absolute; top:10px; bottom:10px; left:0px; width:1px; background-color:rgba(0,0,0,0.1); content:"";}
	.member-menu-box li:first-child:before{display:none;}
	.member-menu-box li a{display:block; padding:6px 0}
	.member-menu-box >a:not(.horiz) i{font-size:2.3rem; }
	.member-menu-box >a:not(.horiz) i{margin: 0;}
	.member-menu-box >a:not(.horiz) strong{display:block; padding-top:5px; font-size:13px; letter-spacing:-0.5px; font-weight:400;}
	.member-menu-box >a strong.hide{ display: none;}
	.header-util-menu-box .lang-select + .member-menu-box{border-top:1px solid #e7e7e7; padding-right:0;}

	/* -------- Header :: 네비게이션 오픈 버튼 -------- */
	
}

@media all and ( max-width: 1024px ){

	#header.top-fixed-object{ height: var(--header-top-height);}
	#header.top-fixed-object #headerInnerWrap{ position: fixed; width: 100%; left: 0; }
	#header.top-fixed-object.top-fixed #headerInnerWrap{top: 0;}

	#header .logo { width: 150px !important;}

	/* -------- Header :: GNB(Pc) -------- */
	#gnb{display:none;}
	.gnb-overlay-bg{display:none}

	/* -------- Header :: GNB(Mobile/기본스타일) -------- */
	#headerBottom{ border: 0;}
	#headerMenuCon{ height: auto;}
	.gnb-overlay-bg-m{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.3); z-index:9998;}	
	#gnbM{ 
		display:block; position:fixed; top:0px; right:-82%;width:80%; height:100%;  max-width:280px; background-color:#fff; 
		z-index:9999; transition:var(--transition-custom);   visibility:hidden;
	}
	#gnbM.open{right:0px; visibility:visible;}
	/* GNB Mobile :: 레이아웃 */
	.gnb-navigation-wrapper{position:relative; height:100%; box-sizing:border-box; padding-top:var(--header-top-height); overflow-y:auto;}	
	.header-util-menu-box + .gnb-navigation-wrapper{padding-top:0; height:calc(100% - var(--header-height));}
	
	/* GNB Mobile :: 메뉴영역 :: 1차 */
	#navigation > li{border-bottom:1px solid #e7e7e7;}
	#navigation > li:first-child{border-top:1px solid #e7e7e7}
	#navigation > li > a {position:relative; display:block; padding:15px var(--area-padding); color:#333; font-size:17px; font-weight:500; }
	#navigation > li.active > a{color:var(--main-color);}
	#navigation > li.has-2dep > a:before{font-family:xeicon; content: "\e914"; position:absolute; top:50%; right:var(--area-padding); font-size:1.3em; transform:translateY(-50%);}
	#navigation > li.has-2dep.active > a:before{content: "\e91b";}
	/* GNB Mobile ::  메뉴영역 :: 2차 */
	#navigation > li .gnb-2dep{display:none; padding:15px 0; background-color:#f2f2f2; }
	#navigation > li .gnb-2dep > ul > li{height:auto !important;}
	#navigation > li .gnb-2dep > ul > li > a{display:block; color:#888; font-size:1.55rem; padding:12px var(--area-padding); }
	#navigation > li .gnb-2dep > ul > li.on > a{color:#000; font-weight:500;}
	/* GNB Mobile :: 메뉴영역 ::  3차 */
	#navigation > li .gnb-2dep > ul > li > .gnb-3dep{display:none; padding:10px; background-color:#aaa; margin:0 10px}
	#navigation > li .gnb-2dep > ul > li > .gnb-3dep > li > a{display:block; padding:8px 0; font-size:13px; color:#fff;}
	#navigation > li .gnb-2dep > ul > li > .gnb-3dep > li > a:before{display:inline-block; content:"-"; margin-right:5px;}

	/* -------- Header :: 네비게이션 오픈 버튼 -------- */
	html:has(#topBanner:not([style*="display: none"])) #header.top-fixed-object:not(.top-fixed) .nav-open-btn:not(.active){top: calc((var(--header-top-height) / 2) + 50px);}
	.nav-open-btn{
		display:block; position:fixed; top:calc(var(--header-top-height) / 2);right:var(--area-padding); z-index:10000; transform: translateY(-50%);
		/* transition:var(--transition-custom);  */
	}
	.nav-open-btn .line{
		display:block; width:26px; height:2px; background-color:#333; margin: 4px auto;
		transition:var(--transition-custom); 
	}
	.nav-open-btn.active .line{background-color:#333;}
	.nav-open-btn.active .line:nth-child(2), .nav-open-btn.active .line:nth-child(4){opacity: 0;}
	.nav-open-btn.active .line:nth-child(1){
		transform: translateY(6px) rotate(45deg);
	}
	.nav-open-btn.active .line:nth-child(3){
		transform: translateY(-6px) rotate(-45deg);
	}
	#header.top-fixed .nav-open-btn .line{background-color:#333}

	/* -------- Header :: UTIL BOX -------- */
	#header:has(#gnbM.open) .header-util-box{ z-index: 9999999;}
	.header-util-box{ margin-right: calc(2.6rem + 2rem); column-gap: 1.5rem;} /*햄버거 메뉴 + 여백*/

	/* -------- GNB Mobile :: 언어선택 및 회원메뉴 -------- */
	/* 회원메뉴 */
	.member-menu-box .top_mb_private_btn > span{ display: none;}
	#header .header-sns-list{ column-gap: 1.3rem; display: none !important;}

	/* 헤더 :: 검색 */
	.header-search-box{position:fixed; left:0; top: 0;width:100%;height: var(--header-top-height);border-radius:0;border:0;  z-index: 9999999; display: none;}
	.header-search-box form{ height: 100%; width: 100%;}
	.header-search-box .search-input-box{ width: 100%; height: 100%; padding: 0 var(--area-padding);}
	.header-search-box .header-search-btn{ right: var(--area-padding);}
	#search-suggestions{ top: 100%;}
	.header-search-box.open{ display: block;}

}
@media all and ( max-width: 480px ){
	
	#header .logo { width: 130px !important;}
	/* -------- Header :: UTIL BOX -------- */
	/* Header :: 언어선택 및 회원메뉴 */
	/* 회원메뉴 */
	.member-menu-box{padding:5px 0;}
	.member-menu-box li a{ padding:4px 0}
	.member-menu-box li a i{font-size:20px;}
	.member-menu-box li a strong{padding-top:5px;}
	.gnb-style-full .member-menu-box li a{padding:10px 0;}
}

/* ****************** FOOTER ********************** */

/* -------- FOOTER :: 레이아웃 -------- */
#footer{background-color:#fff; border-top:1px solid #eee;}
.footer-left-con{flex: 1 1 0;}
.footer-right-con{width:23rem;}

/* Footer :: TOP버튼 */
.to-top-btn{
	position:fixed; bottom:-100px; right:30px;display:block; width:46px; height:46px; background-color:#fff; 
	text-align:center; color:#333; z-index:99;border:1px solid #eee;box-sizing:border-box;opacity:0;transition:var(--transition-custom);border-radius:50%;
}
.to-top-btn.bottom-fixed{bottom:120px; opacity:1.0;}
.to-top-btn i{display:inline-block; font-size:16px; line-height:46px; transition:var(--transition-custom);}
.to-top-btn:hover i{transform:translateY(-3px)}
#fullpage .to-top-btn{display:none;}

/* -------- FOOTER :: 상단 -------- */
#footerTop{padding:6rem 0 5rem; border-bottom:1px solid rgba(0,0,0,0.1);}

/* Footer :: 푸터메뉴 */
.foot-menu{margin-bottom:5.5rem;column-gap: 3.5rem;}
.foot-menu li{position:relative; }
.foot-menu li:first-child{padding-left:0}
.foot-menu li a{color:#333; font-size:1.5rem; font-weight:500;}
.foot-menu li a b{color:var(--main-color);}

/* Footer :: 정보 */
.footer-address-info-box .address{ width: 100%; margin-bottom:1rem;}
.footer-address-info-box .address b{ display: inline-block; margin-right: 1.2rem;}
.footer-address-list{ row-gap: 1.7rem;}
.footer-address-list dl{display:inline-flex; color:#111; min-width: 32rem;}
.footer-address-list dl:nth-of-type(3n){width: calc(100% - (32rem * 2));}
.footer-address-list dl dt,
.footer-address-list dl dd{vertical-align:middle; display:inline-block;}
.footer-address-list dl dt{opacity:0.5;}
.footer-address-list dl dt{min-width:11rem; padding-right: 1rem;}
.footer-address-list dl dd{flex: 1;}
.footer-address-list span{display:inline-block; margin-right:15px}
.footer-address-list a{color:inherit;}

/* Footer :: 문의링크 */
.footer-inquiery-link a{
	display: flex; align-items:center; justify-content:space-between; padding:0 2rem; 
	box-sizing:border-box; width:20rem; height:5.5rem; border:1px solid rgba(0,0,0,0.1); border-radius:3rem;
	transition: border-color .15s ease-in-out;
}
.footer-inquiery-link a span{font-size:1.5rem; color:#333; font-weight:600;}
.footer-inquiery-link a i{font-size:2rem; color:#333;}
.footer-inquiery-link a:hover{border-color: #666;}

/* Footer :: 패밀리사이트 */
.family-site-container{ margin-bottom: 2rem;}
.family-site-box{position:relative; width:20rem; text-align:left; }
.family-site-box .family-site-open-btn{
	position: relative; display:block; width:100%; height:5.5rem; padding:0 2rem; text-align:left; font-size:1.5rem; 
	background-color:#f5f5f5; color:#222; box-sizing:border-box; border-radius:3rem; z-index: 2;
}
.family-site-box .family-site-open-btn:after{position:absolute; right:2rem; top:50%; transform:translateY(-50%); font-size:2.4rem; font-family: 'xeicon'; content:"\e932";}
.family-site-box.open .family-site-open-btn:after{content:"\e938";}
.family-site-list{
	position:absolute; bottom:50%; left:0px; width:100%; padding:2rem 0 3.5rem; 
	background-color:#f5f5f5; z-index:1; display:none; box-sizing:border-box; border-radius:3rem 3rem 0 0;
}
.family-site-list a{display:block; padding:1rem 2rem; color:#333; font-size:1.4rem;}
.family-site-list a:hover{color:#000; text-decoration:underline;}


/* -------- FOOTER :: 하단 -------- */
#footerBottom{ padding:4rem 0;}

/* Footer :: Copyright */
.footer-copyright{font-size:1.5rem; letter-spacing:-0.025em; font-weight:500;}
.footer-copyright b{color:var(--main-color); font-weight:inherit}

/* Footer :: SNS 리스트 */
.foot-sns-menu ul{ column-gap: 2.5rem; justify-content: flex-end;}
.foot-sns-menu li{display:inline-block; vertical-align:middle;}
.foot-sns-menu li a{display:block; font-size:2rem; letter-spacing:-0.025em; color:#333; font-weight:500;}

@media all and (max-width: 768px){
	.footer-left-con, .footer-right-con{ width: 100%; flex: unset;}
	#footerTop .footer-right-con{ margin-top: 5rem;}
	#footerBottom > .area-box{flex-direction: column-reverse; justify-content: flex-start; row-gap: 2rem;}

	/* Footer :: SNS 리스트 */
	.foot-sns-menu ul{justify-content: flex-start;}

	/* Footer :: 정보 */
	.footer-address-list dl{ width: 100% !important;}
}


/* ****************** SUB LAYOUT ********************** */

/* SUB :: DDE CONTENT DEFAULT */
#ddeContent__area{font-family: inherit;color:#666;}
#middleArea:has(>#contentInfoCon) #ctt #contentInfoCon,
#content:has(>#contentInfoCon) #ctt #contentInfoCon{ display: none !important;}

/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content:not(.wide){padding:12rem 0}
#content.wide{padding:0}

#container:not(:has(#middleArea)){padding:12rem 0}

/*  SUB LAYOUT :: 비주얼 */
#visual{position:relative; width:100%; padding: var(--header-top-height) 0;}
#visual:has(.visual-img-con){height:var(--sub-visual-height); padding: 0;}
#visual .visual-img-con{
	position:absolute; top:0px; left:0px; width:100%;height:var(--sub-visual-height);overflow:hidden; 
}
#visual .visual-img-con:before{ content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2);}
#visual .visual-txt-con{
	position:relative; z-index:1; text-align:center; display: flex; flex-direction: column; justify-content: center;
	width:100%; height:100%; color:#000; box-sizing: border-box; 
}
#visual .visual-txt-container{position:relative; width:100%;}
#visual .visual-tit,
#visual .visual-sub-txt,
#visual .location{
	opacity:0; transform: translateY(30px); transition:var(--transition-custom2); transition-property: transform, opacity;
}
#visual .visual-tit{font-weight:700; font-size:6rem; line-height:1.25; position: relative; display: inline-block;}
#visual .visual-sub-txt{font-size:1.6rem;padding-top:3rem;transition-delay:0.1s;}
#visual .location{transition-delay:0.2s;}
#visual .visual-tit .btn_admin{
	font-size: 2.2rem;margin-left: 2rem;color: #c00;position: absolute;right: 0;top: 0;transform: translate(100%, -100%);
}
/* SUB LAYOUT :: 상단효과 active */
body.active #visual .visual-img-con{ transform: scale(1.0,1.0) rotate(0.002deg);}
body.active #visual .visual-tit,
body.active #visual .visual-sub-txt,
body.active #visual .location{opacity:1.0;transform: translateY(0px);}


/* SUB LAYOUT :: 위치정보(location) */
.location{overflow:hidden; padding-top:3.5rem;}
.location li{display:inline-block; vertical-align:middle; color:#000; font-size:1.6rem; font-weight:500;}
.location li a{color:inherit;}
.location li i{font-size:2rem; margin-top:-2px;}
.location li:before{font-family: 'xeicon'; display:inline-block; content: "\e93f"; position:relative; top:-1px; vertical-align:middle; margin:0px 1rem 0 0.8rem; color:#000; font-size:2rem;}
.location li:first-child:before{display:none;}


/* SUB LAYOUT :: 배경 존재여부에 따른 텍스트 컬러 설정 */
#visual:has(.visual-img-con) .visual-txt-con{ color:#fff}
#visual:has(.visual-img-con) .location li,
#visual:has(.visual-img-con) .location li:before{ color:#fff}


/*  SUB LAYOUT :: 서브메뉴(리스트 스타일) */
#topMenu{position:relative; width:100%; height:calc(var(--sub-menu-height) + 1px); } /* (+1 border height)*/
#topMenu .side-menu-inner{text-align:center; width:100%; height:var(--sub-menu-height); border-bottom:1px solid rgba(0,0,0,0.2); background-color: #fff;}
#topMenu .side-menu-inner .snb{display:flex; align-items:center; justify-content:center;height:var(--sub-menu-height);}
#topMenu .side-menu-inner .snb li{ width: 100%;}
#topMenu .side-menu-inner .snb li > a{
	display:block; position:relative;width:100%; height:100%;line-height:1.2; color:#000; 
	font-size:1.8rem; font-weight:600; word-break:keep-all;transition:var(--transition-custom);
}
@media all and (min-width: 769px){
	#topMenu .side-menu-inner .snb li{max-width:200px; height: 100%;} /* max-width 자유롭게 수정 */
	#topMenu .side-menu-inner .snb li > a{display:flex; align-items: center; justify-content: center; }
	#topMenu .side-menu-inner ul li > a:before{
		position:absolute; bottom:-1px; left:50%;width:0;height:3px;border-radius:5px;
		background-color:var(--main-color);content:"";transition:var(--transition-custom);
	}
	#topMenu .side-menu-inner ul li.on > a:before{width:100%; margin-left:-50%;}
}

#topMenu .side-menu-inner ul li > a > span{padding:0 2.5rem;}
#topMenu .side-menu-inner ul li > a:hover, 
#topMenu .side-menu-inner ul li.on > a{color:var(--main-color);}
#topMenu .cur-location{ display: none;}

/*  SUB LAYOUT :: 상단정보 (공통) */
#contentInfoCon{position:relative; margin:0 auto 6rem; text-align:center; }
#contentInfoCon .content-tit{color:#000; font-size:4rem; font-weight:700; letter-spacing:-0.025em; text-transform: capitalize;line-height: 1.25;}

@media all and (max-width:1120px){
	/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
	#content:not(.wide){padding:85px 0}
}

@media all and (max-width: 768px){
	/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
	#content:not(.wide){padding:50px 0}

	/*  SUB LAYOUT :: 비주얼 */
	#visual .visual-tit{font-size: 4.8rem}

	/*  SUB LAYOUT :: 서브메뉴(리스트 스타일) */
	#topMenu .area{ padding: 0;}
	#topMenu .cur-location{
		position:relative; display: flex; align-items: center; width:100%; text-align:left; 
		height:var(--sub-menu-height); padding:0 var(--area-padding); box-sizing:border-box;
	}
	#topMenu .cur-location span{
		display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:var(--sub-menu-height); 
		color:var(--main-color); font-weight:600; font-size:1.8rem; text-align:center; flex: 1; text-align: left;
	}
	#topMenu .cur-location .arrow{ width:20px; height:20px; font-size:1.8rem; color:var(--main-color); position: relative; text-align: center;}

	/*  SUB LAYOUT :: 서브메뉴(리스트 스타일) */
	#topMenu .side-menu-inner .snb{ 
		flex-direction: column; position: absolute;top: 100%;left: 0;right:0;display: none;
		border-bottom: 1px solid #ddd;background-color: #fff;z-index: 11; height: auto;
	}
	#topMenu .side-menu-inner .snb li + li{border-top: 1px solid #eee;}
	#topMenu .side-menu-inner .snb li > a{text-align: left; padding: 1.3rem var(--area-padding); font-size: 1.5rem;}
	
	/* Menu OPEN */
	#topMenu.open .cur-location .arrow{transform:rotate(-180deg);}

	/*  SUB LAYOUT :: 상단정보 (공통) */
	#contentInfoCon{ margin-bottom: 3.5rem;}
}
@media all and (max-width: 560px){
	/*  SUB LAYOUT :: 상단정보 (공통) */
	#contentInfoCon .content-tit{ font-size: 3.4rem;}
}
@media all and (max-width: 480px){
	/*  SUB LAYOUT :: 비주얼 */
	#visual{ padding: 5rem 0;}
	#visual .visual-tit{ font-size: 4.2rem;}

}

/* -------- 공통 :: cmp switer -------- */
.cm__swiper{position: relative; overflow: hidden;}
.cm__swiper.visible{overflow: visible;}
/* .cm__swiper.hide-x,.cm__swiper[data-row-num="auto"],.cm__swiper[data-row-num="1"]{overflow: hidden;} */
.cm-swiper_arrs .control_arr{ width: 4rem; height: 4rem; border: 1px solid #e0e0e0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;}
.cm-swiper_arrs .control_arr.swiper-button-disabled{opacity:.5; pointer-events: none;}
.cm-swiper_arrs .control_arr i{ font-size: 2rem; line-height: 1;}
.cm-swiper_arrs.circle .control_arr{border-radius: 50%;}
.cm-swiper_arrs.position .control_arr{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;}
.cm-swiper_arrs.position .control_arr.btn_prev{left:1px}
.cm-swiper_arrs.position .control_arr.btn_next{ right:1px;}
.cm-swiper_arrs.rarge .control_arr{ width: 5.5rem; height:5.5rem;}
.cm-swiper_pagination{display: flex;align-items: center;}
.cm-swiper_pagination:not(.dot) .swiper-pagination-bullet{width:2px; height: 10px;border-radius: 0; margin: 0 3px!important; }
.cm-swiper_pagination .swiper-pagination-bullet{background-color: #fff; opacity:1;}
.cm-swiper_pagination:not(.dot) .swiper-pagination-bullet.swiper-pagination-bullet-active{
	width: auto;background-color: transparent;color: #fff;font-size: 1.3rem;line-height: 11px;font-weight: 700;
}
.cm-swiper_pagination:not(.dot) .swiper-pagination-bullet.swiper-pagination-bullet-active::before{content: attr(index);white-space: nowrap;display: inline-block;}
.cm-swiper_pagination.theme--light .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){ background-color: #000;}
.cm-swiper_pagination.theme--light .swiper-pagination-bullet.swiper-pagination-bullet-active{color:#000;}

.fullPageSwiper_wheel .cm__swiper .swiper-container:before{content: "";display: block;position: absolute;width: 100vw;height: 100vh;left:0;top: 50%;transform: translate(-50%, -50%);}

/* ****************** 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;}
@keyframes spin {to { transform: rotate(360deg); }}
@-webkit-keyframes spin {to { transform: rotate(360deg); }}
/* modal layer content */
.footer-modal-content{position:relative; width:96%; max-width:1000px; margin:20px auto; }
.footer-modal-content.mid-size{ max-width: 820px;}
.footer-modal-content.sm-size{ max-width: 520px;}
.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;}
.footer-modal-content.sm-size .modal-close-btn i{ font-size: 30px;}
.modal-close-btn i:hover {color:#fff}
.footer-inner-box{padding:30px; background-color:#fff; }
.footer-inner-box.round-box{ border-radius: 2rem;}
.footer-inner-box .title-box{ padding-bottom: 1.8rem;}
.footer-inner-box .title-box h1{ color: #101010; padding: 0;} 
.footer-inner-box .title-box .modal-close-btn{color: #101010; position: unset;}
.footer-inner-box .title-box .modal-close-btn i:hover{color: #101010;}
.footer-inner{padding:20px; height:400px; overflow-y:auto; overflow-x:hidden; border:1px solid #ddd; font-size: 1.45rem; line-height: 2.2rem;}
.footer-inner.none_border{ border: 0; padding: 0;}

/* arrow 공통 */
.arrow-wrap {display:flex; align-items:center;}
.arrow-right-wrap .arrow-head {position: relative; display:inline-block; width: 0px; height: 0px; border-left: 5.5px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent; z-index:1;}
.arrow-left-wrap {flex-direction:row-reverse;}
.arrow-left-wrap .arrow-head {display:inline-block; width: 0px; height: 0px; border-right: 5.5px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent;}
.arrow-wrap em {display:inline-block; width: 15px; height: 2px; background: #fff;}

@media all and (max-width:768px){
	/* modal layer content */
	.footer-modal-content{width:auto; margin:50px 15px}
	.footer-modal-content h1{font-size:18px; text-align:left; padding:0 30px 15px 0}
	.modal-close-btn{right:-3px; top:-3px;}
	.modal-close-btn i{font-size:24px}
	.footer-inner-box{padding:15px}
	.footer-inner{padding:10px; height:250px;}
}

/* -------- 공통 :: 탭 -------- */

/* Tab 공통 스타일 */
.sub-tab-wrapper-style{position:relative; border-radius: 0.5rem; margin-bottom:5rem; overflow: hidden;z-index: 100;}
.sub-tab-list-style {position: relative; margin: 0 auto;}
.sub-tab-list-style ul{ position: relative; display: flex; align-items: center; justify-content: center;}
.sub-tab-list-style ul:not(.v-slide-group__content){flex-wrap: wrap; row-gap: .2rem;}
.sub-tab-list-style ul li{display: inline-flex; min-width: 17rem; height:5.5rem; }
.sub-tab-list-style ul li+li{ margin-left: -1px;}
.sub-tab-list-style ul li a{
	width:100%; height: 100%; text-align:center; position: relative; color:#000; font-size:1.7rem; font-weight:500;padding: 0 1rem;
	display:inline-flex;  align-items: center; justify-content: center;border: 1px solid #e0e0e0; line-height: 1.35;
}
.sub-tab-list-style ul li.selected a, .sub-tab-list-style ul li:hover a {color: var(--main-color);}
.sub-tab-list-style ul li.selected a{ background-color: var(--main-color); color:#fff}
.sub-drop-open-btn-style{display:none}

/* 슬라이드 탭*/
.v-slide-group{display: flex;}
.v-slide-group.v-tabs{height:5.5rem; box-sizing:border-box;}
#topMenu.v-slide-group.v-tabs{height:auto}
.v-slide-group.theme--light{background-color: #fff; color:#000}
.v-slide-group.v-tabs > *{ cursor:auto}

.v-slide-group-wrapper{
	contain: content; display: flex; flex: 1 1 auto;overflow: hidden; overflow-x:auto; position:relative; 
	touch-action: pan-x; -webkit-overflow-scrolling: touch; -webkit-user-drag: none; user-select: none
}
.v-tabs-content{
	display: flex;flex: 1 0 auto;position: relative; transition: .3s cubic-bezier(.25,.8,.5,1); padding-right:50px !important;
	white-space: nowrap; user-select: none; will-change: transform; scroll-behavior:auto !important; 
}
.v-slide-tab-container-JS section, .v-tabs-content .v-tab{ opacity: 0; transition: opacity .05s ease-in-out}
.v-slide-tab-container-JS.is-ready section,
.v-slide-tab-container-JS.is-ready .v-tab{ opacity: 1; }
@media all and (min-width: 1024px) {
    .v-slide-tab-container-JS section, .v-tabs-content .v-tab { opacity: 1 !important; }
}
.v-tabs-content .v-tab a{
	-webkit-user-drag: none; user-select: none; -webkit-tap-highlight-color: transparent;
}
.v-tab-toggle-btn{ 
	min-width: 50px; height: 100%; font-size: 2rem; display: inline-flex; align-items: center; justify-content: center;
	background-color: rgba(255, 255, 255, 0.15); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); /* Safari 호환 */
	position: absolute; right: 0; top: 0;
	box-shadow: -4px 0 8px rgba(0, 0, 0, 0.07);-webkit-box-shadow: -4px 0 8px rgba(0, 0, 0, 0.07);
}
.v-tab-toggle-btn:not(.visible){ display: none;}
.v-tab-toggle-btn::before{ content: "\e936"; display: block; font-family: var(--font-xi);}
.v-tab-toggle-btn.open::before{transform: rotate(180deg);}

/*v-tab meun open */
.v-slide-group-wrapper.expanded{ overflow: hidden; flex-wrap: wrap;}
.v-slide-group-wrapper.expanded .v-tabs-content{ width: 100%; flex-direction: column !important;white-space: normal;padding-right: 0 !important;}
.v-slide-group-wrapper.expanded a{padding: 1rem 0;display: inline-flex;}

@media all and (max-width:1024px){
	.sub-tab-wrapper-style{ margin-bottom: 3rem;}
	.sub-tab-list-style ul.v-slide-group__content{ justify-content: flex-start;}
	.sub-tab-list-style ul li{ height: 4.8rem; max-width:25%; min-width: 25%;}
	.sub-tab-list-style ul:has(li:nth-child(5)){justify-content: flex-start;}
	.sub-tab-list-style ul:has(li:nth-child(5)) li:nth-child(4n+5){ margin-left: 0;}
	.sub-tab-list-style ul li a{font-size: 1.5rem;}

	/* Tab Fixed Move*/
	/* Mobile Tab Drop Menu */
	.sub-drop-menu-style{position:relative;}
	.sub-drop-open-btn-style{display:block; position:relative; padding:0 15px; height:50px; line-height:50px; font-size:15px; font-weight: 500; background: linear-gradient(135deg,  rgba(81,188,255,1) 0%,rgba(81,188,255,1) 16%,rgba(13,83,155,1) 100%);border-radius: 2rem; box-sizing:border-box;}
	.sub-drop-open-btn-style span{color:#fff; }
	.sub-drop-open-btn-style .arrow{color:#fff; position:absolute; top:50%; right:15px; margin-top:-7px}
	.sub-drop-open-btn-style.open .arrow{transform:rotate(180deg)}
	.sub-drop-menu-style ul{display:none; margin:0; height:auto; position:absolute; top:100%; left:0px; right:0px; background-color:#fff; border-radius: 2rem; border:1px solid #ddd; border-top:0; z-index:11; box-sizing:border-box;}
	.sub-drop-menu-style ul li{position:relative; display:block; float:none; border:0; border-top:1px solid #eee; width:auto; background-color:transparent}
	.sub-drop-menu-style ul li:first-child{border-top:0; border-left:0; border-radius: 0;}
	.sub-drop-menu-style ul li:last-child {border-radius: 0;}
	.sub-drop-menu-style ul li a{display:block; width:auto; height:auto; padding:13px 15px; border:0; text-align: left;}
	.sub-drop-menu-style ul li a em{font-size:13px; line-height: 1.2;}
	.sub-drop-menu-style ul li a i {display: none;}
	.sub-drop-menu-style ul li.selected {background:transparent;}
	.sub-drop-menu-style ul li.selected a em{color: var(--sub-color); font-weight:600;}
}
@media all and (max-width:480px){
	.sub-tab-list-style ul li {width: 12rem;}
	.sub-tab-list-style ul li a{font-size: 1.4rem;}
}

/* 404 error */
#error_404{ padding:0 var(--area-padding); text-align: center; min-height: 100vh;}
#error_404 .error-contents{ max-width: 580px; margin: 0 auto; padding: 5rem 0; position: relative; height: 100%; display: flex; flex-direction: column;min-height: inherit;}
#error_404 .head_logo{ width: 50%; margin: 0 auto 10rem;}
#error_404 .head_logo img{ max-width: 100%; height: auto; }
#error_404 .error-content{ flex: 1; display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center;}
#error_404 .error-content > p.i-error-400{ font-size: 8rem;color: #121212;font-weight:800;text-transform: uppercase;}
#error_404 .error-content > p.i-error-400 i{display: block;font-size: 11rem;margin-bottom: 2rem;}
#error_404 .error-content aside{ width: 100%;}
#error_404 .error-content aside > a,
#error_404 .error-content aside > button{ 
	flex: 1;height: 5.3rem;font-size: 1.6rem;line-height: 2.2rem;color: #000;font-weight: 500;
	border: 1px solid #333;display: inline-flex;align-items: center;justify-content: center;
}
#error_404 .error-content aside > .primary{ background-color: #333; color: #fff;}

@media all and (max-width:768px){
	#error_404{ min-height: unset;}
	#error_404 .head_logo{ margin-bottom: 5rem;}
	#error_404 .error-content > p.i-error-400{ font-size: 5rem;}
	#error_404 .error-content > p.i-error-400 i{ font-size: 8rem;}
}

/* basic modal style :: v-dialog */
.theme--light.v-overlay {color: rgba(0,0,0,.76)}
.theme--dark.v-overlay {color: #fff}
.v-overlay {align-items: center;border-radius: inherit;display: flex;justify-content: center;position: fixed;top: 0;left: 0;right: 0;bottom: 0;pointer-events: none;transition: .3s cubic-bezier(.25,.8,.5,1),z-index 1ms; z-index:199;}
.v-overlay__content {position: relative}
.v-overlay__scrim {border-radius: inherit;bottom: 0;height: 100%;left: 0;position: absolute;right: 0;top: 0;transition: inherit;width: 100%;will-change: opacity}
.theme--dark .v-overlay__scrim {background-color: rgb(33, 33, 33); opacity: .3;background-color: rgb(33, 33, 33);}
.theme--light .v-overlay__scrim {background-color: rgb(255, 255, 255);opacity: .3;border-color: rgb(255, 255, 255);}
.v-overlay--absolute {position: absolute}
.v-overlay--active {pointer-events: auto}
.v-dialog__content {
	align-items: center;display: flex;height: 100%;justify-content: center;left: 0;/*pointer-events: none;*/position: fixed;top: 0;
	transition: .2s cubic-bezier(.25,.8,.25,1), z-index 1ms;width: 100%;z-index:200;outline: none
}
.v-dialog__content.inner{ position: relative;}
.v-dialog {border-top: 2px solid #000;display: flex;justify-content: center;flex-direction: column;width: auto!important;transition: unset!important}
.v-dialog.bt-none {border-top: 0}
.v-dialog:not(.v-dialog--fullscreen) {max-height: 800px!important}
@media(max-height: 800px) {
    .v-dialog:not(.v-dialog--fullscreen) {max-height:90%!important}
}
.v-dialog.full-popup {display: block;border-top: 0;margin: 0;width: 100%!important;max-height: 100%!important;height: 100%!important;background: #fff;overflow-y: auto!important}
.v-dialog>* {width: 100%;}
.v-dialog.full-popup .header-fix {position: fixed;}
.v-dialog.full-popup .header-fix .inner{width:100%; height: 6rem; position: relative;}
@media all and (max-width:1024px){
	.v-dialog.md-fullscreen{ height: 100%; max-height: 100% !important; width:100% !important}
	.v-dialog.md-fullscreen .ui-popup{ max-width: unset !important; width: 100% !important;}
}

/* ui-popup */
.ui-popup {position: relative;background: #fff;width: 100%;height: 100%;min-height: 10px;padding: 0 0 3.4rem;display: flex;flex-direction: column;margin: 0;box-sizing: border-box}
.ui-popup .popup-header {position: relative;box-sizing: border-box;padding: 4.4rem 2.4rem 2.4rem;display: flex;width: 100%;align-items: center;justify-content: center; color:#000; font-weight: 500;}
.ui-popup .popup-header .tit{font-size: 2rem;line-height: 2.8rem;font-weight: 400;text-align: center}
.ui-popup .popup-header .btn-close {padding: 0;position: absolute;right: 1.8rem;top: 1.4rem;z-index: 2;width: auto!important; font-size: 2.2rem;}
.ui-popup .popup-header .btn-back{padding: 0;position: absolute;left: 1.8rem;top: 1.4rem;z-index: 2;width: auto!important;display: none; font-size: 2.2rem;}
.ui-popup .popup-header:has(.top-notice) {display: block}
.ui-popup .popup-header:has(.top-notice) .top-notice{margin: 2.4rem -2.4rem 0}
.ui-popup.none-tit .popup-header{padding: 7.2rem 2.4rem 0}
.ui-popup .popup-body{box-sizing: border-box;overflow-y: auto;overflow-x: hidden;display: flex;flex: 1;width: 100%;height: auto;flex-direction: column;padding:0 2rem 0 2.4rem}
.ui-popup .popup-body .popup-btn-box{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;width: 100%;box-sizing: border-box;margin-top: 3.4rem}
.ui-popup .popup-body .popup-btn-box>.v-btn{flex: 1;min-width: unset!important}
.ui-popup .popup-body .popup-btn-box>.v-btn:not(:last-child){margin-right: 1rem!important}
.ui-popup .popup-body .popup-btn-box>.v-btn.v-btn--block{margin-right: 0!important}
.ui-popup .popup-body::-webkit-scrollbar{width: 1rem}
.ui-popup .popup-body::-webkit-scrollbar-track {background-color: transparent}
.ui-popup .popup-body::-webkit-scrollbar-thumb {background-color: #000;background-clip: padding-box;border-left: .4rem solid transparent;border-right: .4rem solid transparent}
.ui-popup .popup-body::-webkit-scrollbar-button {width: 0;height: 0}
.ui-popup .popup-body.hide-scrollbar::-webkit-scrollbar-thumb{background-color: transparent}
.ui-popup .popup-footer{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;width: 100%;box-sizing: border-box}
.ui-popup .popup-footer .full{ width:100%}
.ui-popup .popup-footer>.v-btn,.ui-popup .popup-footer>button{flex: 1;margin: 0!important;min-width: unset!important}
.ui-popup .popup-footer>.v-btn:not(:last-child),.ui-popup .popup-footer>button:not(:last-child){margin-right: 10px!important}
.ui-popup .popup-footer:not(:empty){ padding: 3.4rem 2.4rem 0;background-color: #fff}
.ui-popup .popup-footer>.v-btn:not(.v-btn--outlined)+.v-btn:not(.v-btn--outlined){content: "";position: absolute;left: 0;top: calc(50% - .7rem);width: 1px;height: 1.4rem;background: #232323}
.ui-popup.btmfull-ver{ padding-bottom: 0;}
.ui-popup.btmfull-ver .popup-body{ padding-bottom: 3.4rem;}
.ui-popup.btmfull-ver .popup-footer{padding-left: 0;padding-right: 0;padding-top: 0}
.ui-popup.btmfull-ver .popup-footer>.v-btn,.ui-popup.btmfull-ver .popup-footer>button{border-right: 0;border-left: 0;border-bottom: 0;margin-right: 0!important}
.ui-popup.back-header .popup-header .btn-close{ display: none;}
.ui-popup.back-header .popup-header .btn-back{ display: block;}
.ui-popup .full-width{ margin-left: -2.4rem!important;margin-right: -2.4rem!important;padding: 0 2.4rem }


#floating-banner {position: fixed;bottom: 2rem;left: 2rem;width: 25rem;background: #fff;border-radius: .8rem;
	box-shadow: 0 4px 15px rgba(0,0,0,0.15);overflow: hidden;z-index: 9999;
}
#floating-banner:not(:has(.bnr_item)){ display: none !important;}
#floating-banner .bnr_item{ display: flex;width: 100%;height: 100%;justify-content: center;min-height: 25rem;align-items: center;}
#floating-banner img {width: 100%;display: block; height: 100%; object-fit: cover;}
#banner-close {display: block;width: 100%;background: #333;color: #fff;padding: 6px;font-size: 13px;border: none;cursor: pointer;}
#banner-close:hover {background: #555;}
/* 모바일 반응형 */
@media (max-width: 500px) {
	#floating-banner {width: 80%;right: 10%;}
}


/* v-btn */
.v-btn__wrap {display: flex;flex-wrap: wrap;column-gap: 1rem;margin-top: 3.4rem;}
.v-btn__wrap.stuck {column-gap: 0}
.v-btn__wrap:not(.v-btn--round) .v-btn {flex: 1}
.v-btn__wrap.half .v-btn {flex: 0 auto;width: calc((100% / 2) - .5rem);margin: 0 auto;}
.v-btn__wrap.v-btn-round {display: block;width: 100%;text-align: center}
.v-btn__wrap.v-btn-round .v-btn {min-width: 2.6rem;flex: 0 auto;}
.v-btn__wrap.v-btn-round .v-btn.mid-size {min-width: 22.5rem}
.v-btn__wrap.v-btn-round .v-btn:not(:first-child) {margin-left: .4rem;}
.v-btn__wrap.bt {border-top: 1px solid #000;padding-top: 4rem;}
.v-btn__wrap.bt.hash {border-color: #ddd;}
.v-btn {
	align-items: center;border-radius: 0;display: inline-flex;flex: 0 0 auto;font-weight: 500;letter-spacing: 0;justify-content: center;
	outline: 0;position: relative;text-decoration: none;text-indent: 0;text-transform: none;transition-duration: .28s;
	transition-property: box-shadow,transform,opacity;transition-timing-function: cubic-bezier(.4,0,.2,1);
	-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;vertical-align: middle;white-space: nowrap;
}
.v-btn.v-size--small.w-auto,.v-btn.w-auto {width: auto}
.v-btn.v-size--small {width: 9rem;border-color: #e6e6e6;font-size: 1.4rem}
.v-btn.v-size--small.v-size--H36 {height: 3.6rem;}
.v-btn--icon.v-size--small {height: 3.6rem;width: 3.6rem}
.v-btn--block {display: flex;flex: 1 0 auto;min-width: 100%!important;max-width: auto;}
.v-btn--disabled {pointer-events: none;}
.v-btn.theme--light {color: rgba(0,0,0,.76);}
.v-btn.v-size--default,.v-btn.v-size--large,.v-btn.v-size--x-large {font-size: 1.6rem}
.v-btn:not(.v-btn--round).v-size--large,.v-btn:not(.v-btn--round).v-size--x-large {height: 60px;}
.v-btn.v-btn--disabled,.v-btn.v-btn--has-bg.v-btn--disabled,.v-btn.v-btn--has-bg {background-color: #ccc!important;border-color: #ccc!important;color: #fff!important;}
.v-btn.v-btn--outlined {background-color: #fff;border-color: #000;}
.v-btn--outlined {border: thin solid;}
.v-btn.v-btn--outlined.has{border-color:#d8d8d8}
.v-btn.v-size--small.v-btn--has {border: 1px solid #e6e6e6;}
.theme--light.v-btn.v-btn--has-bg {background-color: #f5f5f5;}
.v-btn.primary {border-color: #000;background-color: #000;color: #fff}
.v-btn:not(.v-btn--round).v-size--small {height: 3.6rem;min-width: 6.4rem;padding: 0 1.6rem;}
.v-size--H50 {height: 5rem;}
.theme--light {color: #000;}
.theme--light.v-btn.v-btn--icon {background-color: transparent;color: rgba(0,0,0,.54);}
.theme--light.v-btn {box-shadow: none;color: #000}
@media all and (max-width: 768px) {
	.v-btn:not(.v-btn--round).v-size--large,.v-btn:not(.v-btn--round).v-size--x-large {height:45px}
	.v-btn__wrap.v-btn-round .v-btn:not(.single){min-width:40%}
    .v-btn__wrap.v-btn-round.cm-form-btn .v-btn {min-width: inherit;width: 35%;}
}