@charset "utf-8";
/* *******************************************************
 * filename : layout.css
 * description : 전체 레이아웃 CSS
 * date : 2025-06-26
******************************************************** */
@import url('https://fonts.googleapis.com/css2?family=Fahkwang:wght@300;400;500;600;700&display=swap');
@import url('https://fastly.jsdelivr.net/gh/wanteddev/wanted-sans@v1.0.1/packages/wanted-sans/fonts/webfonts/variable/split/WantedSansVariable.min.css');
/* ========================================================
 * SETTING
======================================================== */
:root{
	--main-color: #a59266;
	--area-wide-width: 1800px;
	--area-box-width: 1600px;
	--area-width: 1400px;
	--area-padding: 30px;
	--header-height: 140px;
	--sub-visual-height: 55rem;
	--sub-menu-height: 8.5rem;
	--full-height: 100vh;
	--transition-custom: all 0.4s ease-in-out;
	--transition-custom2: all 0.8s ease-in-out; /* data-scroll */
	--font-family1: 'Wanted Sans', 'Noto Sans KR', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
	--font-family2: 'Fahkwang', 'Wanted Sans', 'Noto Sans KR', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
}
html:not(.is-mobile) *::-webkit-scrollbar {
	width: 7px;
	height: 15px;
}
html:not(.is-mobile) *::-webkit-scrollbar-track {
	background-color: #f1f1f1;
}
html:not(.is-mobile) *::-webkit-scrollbar-thumb {
	background-color: #000;
}
::selection {
    background: var(--main-color);   
    color: #fff;
}
::-moz-selection {
    background: var(--main-color);    
    color: #fff;
}
html{font-size:10px;}
body, table, th, td, button, select, input, textarea {
	font-family:var(--font-family1);
	color:#666;
	-webkit-text-size-adjust:none;
	-moz-text-size-adjust:none;
	text-size-adjust:none;
	word-break:keep-all;
}
body { background-color:#fff; }
table, th, td{word-break:break-word;}
#wrap {overflow:hidden; width:100%; min-width:320px; position:relative; }

/* ========================================================
 * LAYOUT
======================================================== */
/* ****************** 공통클래스 ********************** */
.area{ max-width:var(--area-width); 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;}
/* br tag */
.m-br{display:none;}
.display-m{display:none;}
.font-fahkwang{font-family:var(--font-family2);}

/* ****************** HEADER ********************** */
#header{position:absolute; height:var(--header-height); top:0; left:0; width:100%; z-index:9999; }
#headerInnerWrap{position:absolute; top:0px; left:0px; width:100%; height:var(--header-height); z-index:9999; transition:var(--transition-custom); transition-property:background-color;}
#headerInner{position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height);}
#header .logo{position:relative; z-index:100;}
#header .logo a{display:block; height: 28px; position: relative;}
#header .logo img{position: absolute; top: 0; left: 0; height: 100%; display:block; vertical-align:top; transition:var(--transition-custom); transition-property: opacity, visibility;}
#header .logo a .ori-ver{opacity: 1; visibility: visible;}
#header .logo a .white-ver{opacity: 0; visibility: hidden;}
.sitemap-open#header .logo a .ori-ver{opacity: 0; visibility: hidden;}
.sitemap-open#header .logo a .white-ver{opacity: 1; visibility: visible;}

/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:relative; z-index:100;}

/* Header :: 사이트맵버튼 */
.sitemap-line-btn{position: relative; width:32px; height:32px; display:flex; flex-direction:column; justify-content: center; box-sizing:border-box;}
.sitemap-line-btn img{position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 24px; transition:var(--transition-custom); transition-property: opacity, visibility;}
.sitemap-line-btn .ori-ver{opacity: 1; visibility: visible;}
.sitemap-line-btn .white-ver{opacity: 0; visibility: hidden;}
.sitemap-open .sitemap-line-btn .ori-ver{opacity: 0; visibility: hidden;}
.sitemap-open .sitemap-line-btn .white-ver{opacity: 1; visibility: visible;}


/* -------- Header :: GNB(PC) -------- */
.gnb-overlay-bg{position:fixed; top:0; left:0; width:100%; height:100%; visibility:hidden !important; 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{position:absolute; text-align:center; top:0; left:0px; width:100%; z-index:99;}
#gnb > ul{display: flex; align-items: center; justify-content: flex-end;}
#gnb > ul > li{position:relative; word-break:keep-all;}
#gnb > ul > li:last-child{margin-right: calc(100px - 2.7rem);}
#gnb > ul > li > a{
	position:relative; z-index:100; display:block; line-height:var(--header-height); padding:0 2.7rem; text-align:center; color:#000; font-size:1.8rem; letter-spacing:-0.025em; font-weight:500; transition:var(--transition-custom);
}

/* GNB :: 2차 전체메뉴 */
#gnbBg{
	overflow:hidden; 
	position:absolute; 
	left:0; top:0px; 
	width:100%; 
	height:0; 
	background: #fff url("../images/common/gnbBg_logo.png") 3.07% 110% no-repeat;
	background-size: 47.08% !important;
	z-index:98;
	opacity:0;
	box-shadow: 0px 1px 1rem rgba(0, 0, 0, 0.05);
	transition:height 0.4s ease-in-out, opacity 0.2s ease-in-out;
}
#gnbBg:after{position:absolute; top:var(--header-height); width:100%; left:0; height:1px; background-color:#e5e5e5; content:"";}
#gnb.total-menu > ul > li .gnb-2dep{
	position:absolute; 
	top:var(--header-height); 
	left:0px; 
	z-index:99;
	width:100%; 
	text-align:center; 
	opacity:0;filter:Alpha(opacity=0);
	height:0;
    transition: all 0.2s 0s;
	transition-delay: 0s;
	visibility:hidden;
}
#gnb.total-menu > ul > li .gnb-2dep:before {
	content:""; position:absolute; left:0; top:0px; width:0; left:50%; height:2px; background-color:var(--main-color); 
	transition:var(--transition-custom);
}
#gnb.total-menu > ul > li:hover .gnb-2dep:before {width:100%; left:0;}
#gnb.total-menu > ul > li .gnb-2dep ul{padding:30px 0px;}
#gnb.total-menu > ul > li .gnb-2dep ul li{position:relative;}
#gnb.total-menu > ul > li .gnb-2dep ul li a{ display:block;  padding:10px 10px; color:#666; font-size:16px; letter-spacing:-0.025em; font-weight:400; line-height:1.3; word-break: break-word; transition:var(--transition-custom);}
#gnb.total-menu > ul > li .gnb-2dep ul li a:hover{color:var(--main-color);}

/* GNB :: 2차메뉴 Over (높이변경) */
#gnb.open #gnbBg{height:450px; opacity:1.0;filter:Alpha(opacity=100);}
#gnb.open > ul > li .gnb-2dep{
	height:310px; opacity:1.0;filter:Alpha(opacity=100);
	visibility:visible;
    transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
}

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

/* ****************** FOOTER ********************** */
/* -------- FOOTER :: 레이아웃 -------- */
#footer{background-color:#fff; border-top: 1px solid #e5e5e5;}

/* -------- FOOTER :: 상단 -------- */
#footerTop{padding:10rem 0 5.5rem; text-align: center;}
.footer-top-inner{display: flex; flex-direction: column; align-items: center;}

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

/* Footer :: 정보 */
.footer-address{margin-top: 3.5rem;}
.footer-address .footer-address-txt{display: flex; flex-wrap:wrap; justify-content: center; margin:-1rem; font-size: 1.6rem; line-height: 1.5; color:#666;}
.footer-address p{margin:1rem;}
.footer-address a{color:inherit}


/* -------- FOOTER :: 하단 -------- */
#footerBottom{}
.footer-bottom-inner{position: relative; border-top: 1px solid #f2f2f2; padding-top: 4rem !important; padding-bottom: 4rem !important; display: flex; flex-wrap:wrap; align-items: center; justify-content: space-between;}

/* Footer :: 푸터메뉴 */
.foot-menu{display: flex; flex-wrap:wrap; align-items: center; position: relative; z-index: 2;}
.foot-menu li{padding-left:3rem;}
.foot-menu li:first-child{padding-left:0}
.foot-menu li a{font-size:1.6rem; line-height: 3rem; letter-spacing:-0.025em; color: #aaa;}
.foot-menu li a b{color:#000; font-weight: 400;}

/* Footer :: Copyright */
.footer-copyright{position: absolute; top: 4rem; left: 0; width: 100%; font-size:1.6rem; line-height: 3rem; letter-spacing:-0.025em; color: #aaa; text-align: center;}

/* Footer :: TOP버튼 */
.to-top-btn{position: relative; padding-right: 2rem; font-size: 1.6rem; line-height: 3rem; color:#000; display: inline-flex; align-items: center;}
.to-top-btn em{position: absolute; top: 50%; margin-top: -0.35rem; right: 0; /* margin-left: 1.3rem; */ width: 0.7rem; height: 0.7rem; background-color: #000; border-radius: 100%; display: block; transition:var(--transition-custom); transition-property: opacity;}
.to-top-btn .arrow-group{position: absolute; top: 50%; margin-top: -7px; right: 0; opacity: 0; transition:var(--transition-custom); transition-property: opacity;}
.to-top-btn .arrow-group span{display: block; width: 7px; height: 7px; transform: rotate(224deg); border-right: 1px solid #000; border-bottom: 1px solid #000; margin: 0 0 3px 4px; animation: mouse-scroll 1s infinite;}
.to-top-btn .arrow-group span:nth-child(1) {margin-top: 1px; animation-delay: .3s; animation-direction: alternate; animation-delay: alternate;}
.to-top-btn .arrow-group span:nth-child(2) {animation-delay: .2s; animation-direction: alternate; margin-top: -6px;}
.to-top-btn .arrow-group span:nth-child(3) {animation-direction: alternate; margin-top: -6px;}
.to-top-btn:hover em{opacity: 0;}
.to-top-btn:hover .arrow-group{opacity: 1;}

@keyframes mouse-scroll {
  0%   { opacity: 0; }
  50%  { opacity: .5; }
  100% { opacity: 1; }
}

/* -------- 패밀리사이트 플로팅 광고 (PC) -------- */
.floating-family-ad{position: fixed; right: 1rem; top: 50%; transform: translateY(-50%); z-index: 9990;}
.floating-family-ad a{display: flex; flex-direction: column; align-items: center; width: 14rem; padding: 1.2rem; background-color: var(--main-color); color: #fff; font-size: 1.4rem; line-height: 1.5; letter-spacing: -0.02em; text-decoration: none; border-radius: 12px; box-shadow: 0 4px 16px rgba(0,0,0,0.12); opacity: 0.96; transition: var(--transition-custom); transition-property: opacity, background-color, box-shadow; text-align: center;}
.floating-family-ad a:hover{opacity: 1; background-color: #8f7d54; box-shadow: 0 6px 20px rgba(0,0,0,0.15);}
.floating-family-ad__img{display: block; width: 10rem; height: 10rem; margin-bottom: 1rem; border-radius: 8px; overflow: hidden; flex-shrink: 0;}
.floating-family-ad__img img{display: block; width: 100%; height: 100%; object-fit: cover;}
.floating-family-ad__short{display: none;}
.floating-family-ad__txt{display: block;}

/* ****************** SUB LAYOUT ********************** */
#container{padding-top: var(--header-height);}
/*  SUB LAYOUT :: 비주얼 */
#visual{position:relative; width:100%; height:var(--sub-visual-height); box-sizing: border-box;}
#visual .visual-img-con{
	position:absolute; 
	top:0px; 
	left:0px; 
	width:100%;
	height:var(--sub-visual-height);
	overflow:hidden; 
}
#visual .visual-img-inner{
	width:100%; 
	height:100%; 
	background-size:cover !important; 
	transform: scale(1.1,1.1); 
	transition:transform 5s linear;
}
#visual .visual-txt-con{position:relative; z-index:1; display:table; width:100%; height:100%; box-sizing: border-box;}
#visual .visual-txt-container{position:relative; width:100%; }
#visual .visual-tit,
#visual .visual-sub-txt{
	opacity:0;
    transform: translateY(30px);
	transition:var(--transition-custom2);
	transition-property: transform, opacity;
}
#visual .visual-tit{
	font-size:8rem; font-weight: 500; color: #fff; 
	transition-delay:0.3s;
}
#visual .visual-sub-txt{
	margin-top: 2.5rem; font-size:2rem; line-height: 1.5; letter-spacing: -0.065em; color: #fff;
	transition-delay:0.5s;
}

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

/*  SUB LAYOUT :: 서브메뉴 */
#topMenu04{position: absolute; bottom: 0; left: 0; width:100%; height: calc(var(--sub-menu-height) + 2px); z-index: 11;}
#topMenu04 .side-menu-inner{width:100%; height:var(--sub-menu-height); border-top: 2px solid rgba(255,255,255,0.1);}
#topMenu04 .cm-top-menu{display: flex;}
#topMenu04 .location-to-home-btn{width: 4rem; height:var(--sub-menu-height); display: flex; align-items: center; justify-content: center;}
#topMenu04 .location-to-home-btn svg{position: relative; left: -0.7rem; height: 4rem;}
/* location1 */
#topMenu04 .location1{position:relative; width:18.5rem;}
#topMenu04 .location1 > .cur-location{position:relative; display:block; width:100%; height:var(--sub-menu-height); padding:0 5rem 0 2rem; text-align:left;}
#topMenu04 .location1 > .cur-location span{display:block; width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:var(--sub-menu-height); font-weight:600; font-size:1.8rem; letter-spacing:-0.025em; color: #fff;}
#topMenu04 .location1 > .cur-location .arrow{position:absolute; top:50%; right:3rem; width:1.8rem; height:1.8rem;margin-top:-0.9rem; font-size:1.8rem; color: #fff;}
#topMenu04 .location1.open > .cur-location .arrow{transform:rotate(-180deg); margin-top:-10px;}
#topMenu04 .location1 .location-menu-con{display:none; position:absolute; top:100%; left:-1px; right:0px; border:1px solid #ddd; border-top:0; background-color:#fff; z-index:11; padding-bottom:10px}
#topMenu04 .location1 .location-menu-con li:first-child{padding-top: 10px;}
#topMenu04 .location1 .location-menu-con li a{display:block; padding:10px 2rem; font-size:1.6rem; word-break:keep-all; line-height:1.5;}
#topMenu04 .location1 .location-menu-con li.on{position:relative;}
#topMenu04 .location1 .location-menu-con li.on a{color:var(--main-color); font-weight:500;}
/* location2 */
#topMenu04 .location2{position:relative; width: calc(100% - 22.5rem);}
#topMenu04 .location2 ul{display:flex; align-items:center; justify-content:flex-start;}
#topMenu04 .location2 ul li > a{display:block; display:table; position:relative; width:100%; height:var(--sub-menu-height); font-size:1.8rem; line-height: 1.3; letter-spacing:-0.065em; font-weight:600; color:rgba(255,255,255,0.5); word-break:keep-all; transition:var(--transition-custom);}
#topMenu04 .location2 ul li > a:before{position:absolute; top:-2px; left:50%; width:0; height:2px; background-color: #fff; content:""; transition:var(--transition-custom);}
#topMenu04 .location2 ul li > a > span{display:table-cell; vertical-align:middle; padding:0 3.5rem;}
#topMenu04 .location2 ul li > a:hover, 
#topMenu04 .location2 ul li.on > a{color: #fff;}
#topMenu04 .location2 ul li > a:hover:before, 
#topMenu04 .location2 ul li.on > a:before{width:100%; margin-left:-50%;}

#topMenu04 .location2.prd-menu-container{top: -1px; overflow: hidden;}
#topMenu04 .location2.prd-menu-container ul{width: auto !important;}
#topMenu04 .location2.prd-menu-container ul li.swiper-slide{width: auto !important;}
#topMenu04 .location2.prd-menu-container ul li.swiper-slide > a{}
#topMenu04 .location2.prd-menu-container ul li.swiper-slide > a:before{top: 0;}

/* SUB LAYOUT :: 서브메뉴 Fixed (공통) */
@media all and (min-width:1025px){
	.fixed-sub-menu.top-fixed .side-menu-inner{position:fixed; top:0px; left:0px; z-index:9999;}
}

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

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

/*  SUB LAYOUT :: 상단정보 (공통) */
#contentInfoCon{position:relative; margin:0 auto 5rem; text-align:center;}
#contentInfoCon .content-tit{color:#000; font-size:5rem; font-weight:600; line-height: 1.4; letter-spacing:-0.05em;}

/* ****************** 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 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; }


/* ****************** 임시 시안 css ********************** */
.cm-sian-img{position: relative; left: 50%; margin-left: -960px;}

@media all and (max-width:1280px){
	.cm-sian-img{position: static; margin-left: 0; width: 100%; height: auto;}
}