@charset "UTF-8";

/* ===== LOAD EFFECT ===== */
.loading-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:9999;
    background-color:#fff;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.loading-wrap .loading-circle {
	width: 60px;
	height: 60px;
	-webkit-animation: spin 3s infinite;
	-moz-animation: spin 3s infinite;
	-ms-animation: spin 3s infinite;
	-o-animation: spin 3s infinite;
	animation: spin 3s infinite;
}
.loading-wrap .loading-circle circle {
	stroke:#0042bf;
	stroke-width: 4;
	stroke-dasharray: 157, 157;
	stroke-dashoffset: 0;
	fill: transparent;
	-webkit-animation: circleAni 1s infinite;
	-moz-animation: circleAni 1s infinite;
	-ms-animation: circleAni 1s infinite;
	-o-animation: circleAni 1s infinite;
	animation: circleAni 1s infinite;
}
.sub .loading-wrap {
    opacity: 0;
}
.loading.sub .loading-wrap {
	opacity: 1;
}

/* SPIN */
@-webkit-keyframes spin {
	100% { 
        -webkit-transform: rotate(360deg); 
        transform: rotate(360deg); 
    }
}
@-moz-keyframes spin {
	100% { 
        -webkit-transform: rotate(360deg); 
        transform: rotate(360deg); 
    }
}
@-ms-keyframes spin {
	100% { 
        -webkit-transform: rotate(360deg); 
        transform: rotate(360deg); 
    }
}
@-o-keyframes spin {
	100% { 
        -webkit-transform: rotate(360deg); 
        transform: rotate(360deg); 
    }
}
@keyframes spin {
	100% { 
        -webkit-transform: rotate(360deg); 
        transform: rotate(360deg); 
    }
}


/* CIRCLE */
@-webkit-keyframes circleAni {
	0% { 
        stroke-dashoffset: 157; 
    }
	75% { 
        stroke-dashoffset: -147; 
    }
	100% { 
        stroke-dashoffset: -157; 
    }
}
@-moz-keyframes circleAni {
	0% { 
        stroke-dashoffset: 157; 
    }
	75% { 
        stroke-dashoffset: -147; 
    }
	100% { 
        stroke-dashoffset: -157; 
    }
}
@-ms-keyframes circleAni {
	0% { 
        stroke-dashoffset: 157; 
    }
	75% { 
        stroke-dashoffset: -147; 
    }
	100% { 
        stroke-dashoffset: -157; 
    }
}
@-o-keyframes circleAni {
	0% { 
        stroke-dashoffset: 157; 
    }
	75% { 
        stroke-dashoffset: -147; 
    }
	100% { 
        stroke-dashoffset: -157; 
    }
}
@keyframes circleAni {
	0% { 
        stroke-dashoffset: 157; 
    }
	75% { 
        stroke-dashoffset: -147; 
    }
	100% { 
        stroke-dashoffset: -157; 
    }
}


/* ****************** HEADER ********************** */
#header{
	position:absolute; height:100px; top:0; left:0; width:100%; z-index:9999; 
}
.index-wrapper #header{
	top:-100px;
	transition:top 1.5s ease, opacity 1.5s ease;
	opacity:0;
}
.intro-wrapper #header{
	transition:top 1.2s ease 0.2s, opacity 1s ease 0.2s;
}
.index-wrapper #header.open {
	top:0;
	opacity:1.0;
}
#headerInnerWrap{
	position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:9999;
	-webkit-transition:background-color 0.3s;
	transition:background-color 0.3s
}
#headerInner{
	position:relative; height:100%; margin:0px auto; padding:0 43px;  
	-webkit-transition:padding 0.3s;
	transition:padding 0.3s
}
#header .logo{position:relative; z-index:100; float:left; padding-top:33px; }	
#header .logo a{display:block; }
#header .logo img{display:block; vertical-align:top; height:35px;}
#header .logo .logo-color{display:none;}

#header.top-fixed-object{
	position:fixed;
}
#header.top-fixed #headerInnerWrap{
	background-color:#fff;
	border-bottom:1px solid #e9edf3;
	box-shadow:0 8px 24px rgba(15,35,64,0.08);
}
#header.top-fixed #gnb > ul > li > a{
	color:#111;
}
#header.top-fixed #gnb > ul > li > a:hover,
#header.top-fixed #gnb > ul > li.on > a{
	color:var(--pointColor);
}
#header.top-fixed .logo .logo-color{
	display:block;
}
#header.top-fixed .logo .logo-white{
	display:none;
}
#header.top-fixed .sitemap-line-btn .line{
	background-color:#111;
}



/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:absolute; top:0; right:20px; z-index:100; display:flex; align-items:flex-start;}
.header-contact-btn{
	overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; gap:6px;
	min-width:106px; height:40px; margin-top:30px; margin-left:8px; padding:0 12px;
	border:1px solid transparent; box-sizing:border-box; color:#fff; font-size:13px; font-weight:700; line-height:1;
	transition:color 0.3s;
}
.header-contact-btn:before{position:absolute; left:0; top:0; bottom:0; width:100%; background-color:#fff; content:""; transform:scaleX(0); transform-origin:100% 0; transition:transform 0.3s;}
.header-contact-btn:first-child{margin-left:0;}
.header-contact-btn i,
.header-contact-btn em{position:relative; z-index:1;}
.header-contact-btn i{font-size:18px;}
.call-btn{background-color:var(--phoneColor); border-color:var(--phoneColor);}
.kakao-btn{background-color:var(--kakaoColor); border-color:var(--kakaoColor); color:#371d1e;}
.naver-btn{background-color:var(--naverColor); border-color:var(--naverColor);}
@media all and ( min-width: 1221px ){
	.header-contact-btn:hover:before{transform:scaleX(1); transform-origin:0 0;}
	.call-btn:hover{color:var(--phoneColor);}
	.kakao-btn:hover{color:#371d1e;}
	.naver-btn:hover{color:var(--naverColor);}
}

/* Header :: 사이트맵버튼 */
.sitemap-line-btn{float:left; width:100px; height:100px; box-sizing:border-box; }
.sitemap-line-btn .line{display:block; width:18px; height:2px; background-color:#fff; margin: 3px auto; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;}
@media all and (min-width: 1221px) {
	.sitemap-line-btn {
		display:none;
	}
}
/* active */
.sitemap-open-btn.active{position:relative; z-index:100000;}
.sitemap-open-btn.active .line{background-color:#000;}
.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(0,0,0,0.5); z-index:9997;}	/* gnb overlay BG */
#gnb{position:absolute; text-align:center; top:0; left:0px; width:100%; padding:0 480px 0 220px; z-index:99; box-sizing:border-box;}
#gnb > ul{display:flex; justify-content:center; width:100%; margin:0 auto;}
#gnb > ul > li{position:relative; float:none; word-break:keep-all;}
#gnb > ul > li > a{
	position:relative; z-index:100; display:flex; align-items:center; justify-content:center; min-width:118px; height:100px; padding:0 12px; text-align:center; color:#fff; font-size:18px; font-weight:bold; line-height:1.35; transition:all 0.3s;
}
#gnb > ul > li > a:after{position:absolute; bottom:-1px; left:50%; width:120px; height:2px; background-color:var(--pointColor); margin-left:-60px; content:""; transform:scaleX(0); transition:all 0.3s; transform-origin:0 0;}
#gnb > ul > li > a:hover, #gnb > ul > li.on > a{color:var(--pointColor);}
#gnb > ul > li.active > a:after{ transform:scaleX(1);}
/* GNB :: 2차 전체메뉴 */
#gnbBg{
	overflow:hidden; position:absolute; left:0; top:0px; width:100%; height:0; background:#fff; z-index:98;
	-webkit-transition:height 0.3s ease-in-out;
	transition:height 0.3s ease-in-out
}
#gnb.total-menu > ul > li .gnb-2dep{
	position:absolute; 
	top:100px; 
	left:0px; 
	z-index:99;
	width:100%; 
	text-align:left; 
	opacity:0;filter:Alpha(opacity=0);
	height:0;
	-webkit-transition: all 0.3s 0s;
    transition: all 0.3s 0s;
	visibility:hidden;
}
#gnb.total-menu > ul > li .gnb-2dep:before {content:""; position:absolute; left:0; top:-100px; width:100%; height:calc(100% + 100px); background-color:var(--mainColor); transition:all 0.3s; opacity:0;}
#gnb.total-menu > ul > li:hover .gnb-2dep:before {opacity:1}
#gnb.total-menu > ul > li .gnb-2dep ul{position:relative; padding-top:32px; text-align:center;}
#gnb.total-menu > ul > li .gnb-2dep ul li{position:relative; margin-bottom:20px;}
#gnb.total-menu > ul > li .gnb-2dep ul li a{ position:relative; display:inline-block;  color:#000; font-size:15px; font-weight:400; line-height:1.3; transition:all 0.2s}
#gnb.total-menu > ul > li .gnb-2dep ul li a:after{position:absolute; bottom:-2px; left:0; width:100%; height:1px; background-color:#fff; transform:scaleX(0); transform-origin:50% 0; content:""; transition:all 0.2s}

/* -------- Header :: 메뉴오픈 -------- */
/* Header :: UTIL MENU */
#header.menu-open .sitemap-line-btn .line{background-color:#000}
#header.menu-open .logo .logo-color{display:block;}
#header.menu-open .logo .logo-white{display:none;}


/* GNB :: 2차메뉴 Over (높이변경) */
#gnb.open #gnbBg{height:240px}
#gnb.open > ul > li > a{color:#000;}
#gnb.open > ul > li:hover > a{color:#fff;}
#gnb.open > ul > li .gnb-2dep{
	height:140px; opacity:1.0;filter:Alpha(opacity=100);
	visibility:visible;
	-webkit-transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
    transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
}
#gnb.open > ul > li:hover .gnb-2dep li a{color:#fff;}
#gnb.open > ul > li .gnb-2dep ul li a:hover:after{transform:scaleX(1); }

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

/* -------- Header :: 서브헤더 -------- */
.sub-wrapper #header{border-bottom:1px solid rgba(255,255,255,0.15);}

/* ****************** 사이트맵 ********************** */
/* 사이트맵 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: var(--mainColor); 
	-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-style01{height:100%; }
.sitemap-wrapper-style01 > ul{overflow:hidden; position:relative; z-index:1; top:50%; transform:translateY(-50%);}
.sitemap-wrapper-style01 > ul > li{overflow:hidden; float:left; width:20%;height:100%;}
.sitemap-wrapper-style01 > ul > li > h2{overflow:hidden; color:#191919; font-size:18px; letter-spacing:-1.0px; margin:0% 15% 40px; font-weight:600; }
.sitemap-wrapper-style01 > ul > li:hover > h2{color:var(--pointColor);}
.sitemap-wrapper-style01 > 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-style01 > ul > li .sitemap-2dep a:after{
	position:absolute; top:0; left:0; width:0; content:""; height:100%; background:var(--mainColor);
	-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-style01 > ul > li .sitemap-2dep a span{position:relative; z-index:1;}
.sitemap-wrapper-style01 > ul > li .sitemap-2dep a .gnb-icon{display:none;}
.sitemap-wrapper-style01 > ul > li .sitemap-2dep a:hover{color:#fff; }
.sitemap-wrapper-style01 > ul > li .sitemap-2dep a:hover:after{width:100%; }
.sitemap-wrapper-style01 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-style01 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); 
}


/* ****************** HEADER ********************** */
@media all and (max-width:1640px){
	#gnb{padding-right:460px; padding-left:180px;}
}

@media all and ( max-width: 1536px ){
	/* -------- Header :: GNB(PC) -------- */
	#gnb{padding-right:430px; padding-left:170px;}
	#gnb > ul > li > a{min-width:98px; font-size:14px; padding:0 8px}
	#gnb.total-menu > ul > li .gnb-2dep ul li a{font-size:14px; }
}

@media all and (max-width:1366px){
	#gnb{padding-right:230px; padding-left:150px;}
	.header-contact-btn{width:42px; min-width:42px; padding:0; gap:0;}
	.header-contact-btn em{display:none;}
	.header-contact-btn i{font-size:20px;}
}
@media all and (max-width:1280px){
	#gnb{padding-right:210px; padding-left:140px;}
	#gnb > ul > li > a{min-width:90px; font-size:13px; padding:0 5px}
	.header-contact-btn{width:38px; min-width:38px;}
	.sitemap-line-btn{width:80px}
}
@media all and ( max-width: 1220px ){
	#header,#headerInnerWrap{height:80px;}
	.fullpage-wrapper #header{position:absolute;}
	#headerInnerWrap{position:fixed; z-index:10000;}
	#headerInner{padding:0 15px;}
	#header .logo{padding:21px 0;}	/* padding값 적절히 바꿔주세요 */
	#header.top-fixed #headerInnerWrap{background-color:#fff; border-bottom:1px solid #eee;}
	#header.top-fixed .logo .logo-color{display:block;}
	#header.top-fixed .logo .logo-white{display:none;}
	
	/* -------- Header :: UTIL BOX -------- */
	.header-util-box{padding-right:68px; right: 0;}
	/* Header :: 사이트맵 버튼 */
	.sitemap-line-btn, .sitemap-custom-btn{display:none;}

	/* Header :: 제품 버튼 */
	.header-contact-btn {margin-top:20px}

	/* -------- Header :: GNB(Pc) -------- */
	#gnb{display:none;}
	.gnb-overlay-bg{display:none}

	/* -------- Header :: GNB(Mobile/기본스타일) -------- */
	.gnb-overlay-bg-m{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9998;}	
	#gnbM{ 
		display:block; 
		position:fixed; 
		top:0px; 
		right:-100%;
		width:100%;
		height:100%;  
		background-color:#fff; 
		z-index:9999; 
		transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); 
		-webkit-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);  
		visibility:hidden;
	}
	#gnbM.open{
		right:0px; 
		visibility:visible;
	}
	/* GNB Mobile :: 레이아웃 */
	.gnb-navigation-wrapper{position:relative; height:100%; box-sizing:border-box; padding-top:80px; overflow-y:auto;}	/* padding-top : Header 높이값 */
	.header-util-menu-box + .gnb-navigation-wrapper{padding-top:0}
	
	/* 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; color:#333; font-size:17px; font-weight:500; }
	#navigation > li.active > a{color:var(--pointColor);}
	#navigation > li.has-2dep > a:before{font-family:xeicon; content: "\e914"; position:absolute; top:50%; right:15px; 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 > li{height:auto !important;}
	#navigation > li .gnb-2dep > li > a{display:block; color:#444; font-size:14px; padding:12px 15px; opacity:0.7;filter:Alpha(opacity=70);}
	#navigation > li .gnb-2dep > li.on > a{opacity:1.0;filter:Alpha(opacity=100); font-weight:500;}
	/* GNB Mobile :: 메뉴영역 ::  3차 */
	#navigation > li .gnb-2dep > li > .gnb-3dep{display:none; padding:10px; background-color:#aaa; margin:0 10px}
	#navigation > li .gnb-2dep > li > .gnb-3dep > li > a{display:block; padding:8px 0; font-size:13px; color:#fff;}
	#navigation > li .gnb-2dep > li > .gnb-3dep > li > a:before{display:inline-block; content:"-"; margin-right:5px;}
	
	/* -------- Header :: 네비게이션 오픈 버튼 -------- */
	.nav-open-btn{
		display:block; position:fixed; top:24px;  right:25px; z-index:10000; 
		height:30px;
		-webkit-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
		transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); 
	}
	.nav-open-btn .line{
		display:block; width:18px; height:2px; background-color:#fff; border-radius:5px; margin: 3px auto;
		-webkit-transition: all 0.3s ease-in-out;
	     transition: all 0.3s ease-in-out;
	}
	.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){
		 -webkit-transform: translateY(5px) rotate(45deg);
		  transform: translateY(5px) rotate(45deg);
	}
	.nav-open-btn.active .line:nth-child(3){
		 -webkit-transform: translateY(-5px) rotate(-45deg);
		  transform: translateY(-5px) rotate(-45deg);
	}
	
	#header.top-fixed .nav-open-btn .line{background-color:#333}
}

@media all and ( max-width: 800px ){
	/* Header :: 검색버튼 */
	.header-search-box{margin-left:5px;}
	.header-search-inner{
		position:fixed; left:0; top:80px; 
		height:38px; width:auto; 
		border:3px solid #333; 
		text-align:left; 
		padding-right:35px;
		-webkit-box-sizing: border-box;
		 box-sizing: border-box; 
	}
	.header-search-inner .header-search-inner-box{background-color:#fff; border:0; padding-right:34px}
	.header-search-inner .header-search-btn{right:34px;}
	.header-search-inner .header-search-close-btn{top:0; right:-3px; border:0; height:100%; width:38px; border-radius:0;}
}
@media all and ( max-width: 480px ){
	#header,#headerInnerWrap{height:60px;}
	#header .logo{padding:15px 0;}	/* padding값 적절히 바꿔주세요 */
	#header .logo img{height:30px;}

	/* -------- Header :: UTIL BOX -------- */
	.header-util-box{padding-right:50px;}
	/* Header :: 제품버튼 */
	.header-contact-btn{width:28px; min-width:28px; height:24px; margin-top:18px; margin-left:5px; padding:0;}
	.header-contact-btn i{font-size:14px;}
	/* Header :: 사이트맵, 네비게이션 버튼 */
	.nav-open-btn{top:15px; right:15px; margin-top:0;}
	/* Header :: GNB(Mobile) */
	.gnb-navigation-wrapper{padding-top:60px} /* padding-top : Header 높이값 */
	.gnb-style-full .header-util-menu-box + .gnb-navigation-wrapper{top:60px; }
	.gnb-style-full-member .gnb-navigation-wrapper{bottom:60px;}
	#navigation > li > a{font-size:15px;}
	#navigation > li .gnb-2dep > li > a{font-size:13px;}

}




/* -------- FOOTER :: 레이아웃 -------- */
#footer{background-color:#fff; position: relative; z-index:9;}
.footer-left-con{float:left; }
.footer-right-con{float:right;}

/* Footer :: TOP버튼 */
.to-top-btn{
	position:fixed; 
	bottom:-100px; 
	right:15px;
	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:15px; 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 Common :: Estimate Form -------- */
#main-estimate{padding:10rem 0 8rem; background:#050505; color:#fff; border-top:1px solid rgba(255,255,255,0.25);}
#main-estimate > .inner{display:block; max-width:980px;}
.estimate-head{position:relative;}
.estimate-label{display:block; width:1rem; height:1rem; margin-bottom:2.5rem; border-radius:50%; background:#df171e; color:transparent; font-size:0; line-height:0;}
.estimate-head h3{color:#fff; font-size:5rem; font-weight:bold; line-height:1.1; letter-spacing:-0.04em;}
.estimate-head p{margin-top:2rem; color:#888; font-size:1.6rem; font-weight:400; line-height:1.3; letter-spacing:-0.04em;}
.estimate-form{display:block; margin-top:5rem;}
.estimate-form fieldset{display:block; min-width:0;}
.estimate-form-grid{display:flex; flex-wrap:wrap; margin:-1rem;}
.estimate-field{position:relative; display:block; width:calc(50% - 2rem); margin:1rem; border-radius:6rem; box-sizing:border-box;}
.estimate-field.full{width:100%;}
.estimate-message-field{display:grid; grid-template-columns:minmax(0, 1fr) 18rem; gap:1rem; align-items:start; width:calc(100% - 2rem); border-radius:3rem;}
.estimate-field > span,
.estimate-message-field > label:first-child{position:absolute; top:2rem; left:3rem; z-index:1; color:#fff; font-size:1.5rem; font-weight:700; line-height:2rem; letter-spacing:-0.02em; pointer-events:none;}
.estimate-field input,
.estimate-message-field textarea{width:100%; height:6rem; border:0; background-color:rgba(255,255,255,0.1); color:#fff; font-size:1.4rem; font-weight:500; line-height:1.3; letter-spacing:-0.02em; outline:1px solid transparent; transition:var(--transition-custom); transition-property:outline-color, background-color;}
.estimate-field input{padding:0 3rem 0 12rem; border-radius:6rem !important;}
.estimate-field input:-webkit-autofill,
.estimate-field input:-webkit-autofill:hover,
.estimate-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #1e1e1e inset; -webkit-text-fill-color:#fff; caret-color:#fff; transition:background-color 9999s ease-out;}
.estimate-field input::placeholder,
.estimate-message-field textarea::placeholder{color:rgba(255,255,255,0.3);}
.estimate-field input:focus,
.estimate-message-field textarea:focus{outline-color:#fff; background-color:rgba(255,255,255,0.14);}
.estimate-message-field textarea{height:14rem; padding:2.1rem 2.4rem 1.8rem 17rem; border-radius:3rem !important; overflow:hidden; resize:none;}
.estimate-side-actions{display:flex; flex-direction:column; gap:1.4rem; align-items:stretch;}
.estimate-file-field{position:relative; display:flex; align-items:center; justify-content:center; width:18rem; height:6rem; margin:0; border-radius:6rem; background-color:rgba(255,255,255,0.1); color:#fff; font-size:1.5rem; font-weight:700; cursor:pointer; overflow:hidden; outline:1px dashed rgba(255,255,255,0.3); transition:var(--transition-custom); transition-property:outline-color, background-color;}
.estimate-file-field:hover{outline-color:#fff; background-color:rgba(255,255,255,0.14);}
.estimate-file-field i{margin-right:0.8rem; font-size:2rem; vertical-align:middle;}
.estimate-file-field input{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.estimate-file-name{display:block; width:18rem; min-height:1.9rem; margin:-0.6rem 0 0; color:rgba(255,255,255,0.45); font-size:1.3rem; font-weight:500; line-height:1.4; text-align:center; word-break:break-all;}
.estimate-file-name.has-file{color:#fff;}
.estimate-submit-btn{display:flex; align-items:center; justify-content:center; width:18rem; height:6rem; border-radius:6rem; background:var(--subColor); color:#000; font-size:1.8rem; font-weight:700; line-height:1; transition:background-color 0.25s;}
.estimate-submit-btn:hover{background:var(--pointColor);}
.estimate-privacy{margin:2rem 1rem 0; color:rgba(255,255,255,0.72); font-size:1.4rem; line-height:1.5;}
.estimate-privacy-head{display:flex; align-items:center; justify-content:space-between; gap:1.6rem;}
.estimate-privacy label{display:inline-flex; align-items:center; gap:0.8rem; color:#fff; font-weight:700; cursor:pointer;}
.estimate-privacy input[type="checkbox"]{width:1.8rem; height:1.8rem; accent-color:var(--pointColor); cursor:pointer;}
.estimate-privacy-toggle{flex:0 0 auto; color:rgba(255,255,255,0.82); font-size:1.3rem; font-weight:700; line-height:1; text-decoration:underline; text-underline-offset:0.3rem;}
.estimate-privacy-detail{overflow:hidden; max-height:0; opacity:0; margin-top:0; padding:0 1.6rem; border:1px solid transparent; border-radius:1.6rem; background:rgba(255,255,255,0.06); transition:max-height 0.28s ease, opacity 0.2s ease, margin-top 0.28s ease, padding 0.28s ease, border-color 0.28s ease;}
.estimate-privacy.is-open .estimate-privacy-detail{max-height:24rem; opacity:1; margin-top:1.2rem; padding:1.4rem 1.6rem; border-color:rgba(255,255,255,0.12);}
.estimate-privacy-detail dl{display:grid; grid-template-columns:8rem minmax(0, 1fr); gap:0.6rem 1.2rem; color:rgba(255,255,255,0.62); font-size:1.3rem; line-height:1.5;}
.estimate-privacy-detail dt{color:#fff; font-weight:700;}
.estimate-privacy-detail dd{min-width:0;}

@media all and (max-width:800px){
	#main-estimate{padding:7rem 0 8rem;}
	.estimate-head h3{font-size:3.8rem;}
	.estimate-form{max-width:none; margin-top:3.5rem;}
	.estimate-field,
	.estimate-field.full,
	.estimate-message-field{width:calc(100% - 2rem);}
	.estimate-message-field{display:block;}
	.estimate-field input{padding-left:12rem;}
	.estimate-message-field textarea{height:10rem; padding:5.4rem 2.5rem 2rem; border-radius:3rem !important;}
	.estimate-side-actions{margin-top:1rem;}
	.estimate-file-field{width:100%; margin-top:1rem;}
	.estimate-file-name{width:100%;}
	.estimate-submit-btn{width:100%; height:5.4rem;}
	.estimate-privacy{font-size:1.3rem;}
	.estimate-privacy-head{align-items:flex-start;}
	.estimate-privacy-detail dl{grid-template-columns:1fr;}
}

/* -------- FOOTER :: 상단 -------- */
#footerTop{padding:4rem 0; }
#footerTop .area-wrap,
#footerMiddle .area-wrap{/* width:100%; */ display: flex; align-items:center; justify-content:space-between;}
#footerMiddle .area-wrap{position: relative; padding-top:3.5rem; padding-bottom:3.5rem;}
#footerMiddle .area-wrap:before{position: absolute; content:''; width:100%; height:1px; left:0; bottom:0; background:#e5e5e5;}

/* Footer :: 푸터메뉴 */
.foot-menu{}
.foot-menu li{float:left; position:relative; padding-left:4rem;}
.foot-menu li:first-child{padding-left:0}
.foot-menu li a{color:#222; font-size:1.6rem; font-weight:300;}
.foot-menu li a b{color:var(--mainColor); font-weight:bold;}

/* -------- FOOTER :: 하단 -------- */
#footerBottom{ padding:4.5rem 0;}

/* Footer :: 정보 style02 */
.footer-address-info-box{display: flex;}
.footer-address-list:first-child{margin-right:6rem;}
.footer-address-list dl{display:flex; font-size:1.6rem; line-height:1.5; letter-spacing:0; color:#222; margin-bottom:2rem;}
.footer-address-list dl dt{flex:0 0 12rem; width:12rem; color:#aaa;}
.footer-address-list dl dd{flex:1; min-width:0;}
.footer-address-list:last-child dl dt{flex-basis:8.5rem; width:8.5rem;}
.footer-address-list a{color:inherit}

/* Footer :: Copyright */
.footer-copyright{font-size:1.4rem; letter-spacing:-0.028em; color:#222; font-weight:600;}
.footer-copyright b{color:var(--mainColor);}

/* Footer :: SNS 리스트 */
.foot-sns-menu{text-align:right;}
.foot-sns-menu li{/* float:left; */display:inline-block; vertical-align:middle; margin-left:1rem}
.foot-sns-menu li:first-child{margin-left:0}
.foot-sns-menu li a{display:block; width:5rem; height:5rem; border-radius:50%; color:#fff; line-height:5rem; text-align:center;}
.foot-sns-menu li a i{font-size:2.4rem; line-height:5rem}
.foot-sns-menu li.phone a{background:var(--phoneColor);}
.foot-sns-menu li.kakao a{background:var(--kakaoColor); color:#371d1e;}
.foot-sns-menu li.naver a{background:var(--naverColor);}

/* Mobile Fixed CTA */
.mobile-fixed-cta{display:none;}

/* Quick Contact Menu */
.quick-contact-menu{
	position:fixed;
	right:3rem;
	top:50%;
	z-index:10020;
	display:flex;
	flex-direction:column;
	gap:1.2rem;
	transform:translateY(-50%);
}
.quick-contact-item{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:0.8rem;
	width:8.4rem;
	min-height:8.4rem;
	padding:1.2rem 0.8rem;
	box-sizing:border-box;
	border-radius:1rem;
	border:1px solid transparent;
	background:#ff8a00;
	color:#fff;
	font-size:1.3rem;
	font-weight:700;
	line-height:1.25;
	text-align:center;
	transition:transform 0.25s, background-color 0.25s, border-color 0.25s;
}
.quick-contact-item:hover{
	transform:translateY(-0.4rem);
}
.quick-contact-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:3.2rem;
	height:3.2rem;
	border-radius:50%;
	background:#fff;
	color:#ff8a00;
}
.quick-contact-icon i{font-size:1.9rem; line-height:1;}
.quick-contact-label{display:block;}
.quick-contact-item.phone{background:#ff8a00; border-color:#ff8a00;}
.quick-contact-item.phone:hover{background:#ef7800; border-color:#ef7800; color:#fff;}
.quick-contact-item.phone .quick-contact-icon{color:#ff8a00;}
.quick-contact-item.kakao{background:var(--kakaoColor); border-color:var(--kakaoColor); color:#371d1e;}
.quick-contact-item.kakao:hover{background:#ffd900; border-color:#ffd900; color:#371d1e;}
.quick-contact-item.kakao .quick-contact-icon{background:#371d1e; color:var(--kakaoColor);}
.quick-contact-item.naver{background:var(--naverColor); border-color:var(--naverColor); color:#fff;}
.quick-contact-item.naver:hover{background:#02b351; border-color:#02b351; color:#fff;}
.quick-contact-item.naver .quick-contact-icon{color:var(--naverColor);}

@media all and (max-width:1280px){
	.quick-contact-menu{right:1.5rem;}
	.quick-contact-item{width:7.8rem; min-height:7.8rem; font-size:1.2rem;}
}

/* ****************** FOOTER ********************** */
@media all and (max-width:800px){
	/* -------- FOOTER  -------- */
	#footerTop{padding:6rem 0 4rem;}
	#footerTop .area-wrap, #footerMiddle .area-wrap{display: block;}
	#footerMiddle .area-wrap{ padding-bottom:4rem;}
	#footerBottom{padding:4rem 0;}
	.footer-left-con,
	.footer-right-con{float:none;}
	/* Footer :: 푸터메뉴 */
	.foot-menu{display: flex; justify-content: space-around; width:100%; margin-bottom:3rem;}
	.foot-menu:after{display: none;}
	.foot-menu li {padding-left:0}
	/* .foot-menu li:before{width:3px; height:3px;} */ /* dot형태*/
	/* Footer :: SNS 리스트 */
	.foot-sns-menu{text-align:left;}
	/* Footer :: 정보 */
	.footer-address-info-box{display: block; margin-bottom:3.5rem;}
	.footer-address-list:first-child{margin-right:0;}
	.footer-address-list dl dt,
	.footer-address-list:last-child dl dt{flex:0 0 11rem; width:11rem;}
	.footer-address-list dl dd{width:calc(100% - 11rem);}
}

@media all and (max-width:800px){
	body{padding-bottom:calc(7.4rem + env(safe-area-inset-bottom));}
	#footerBottom{padding-bottom:calc(4rem + env(safe-area-inset-bottom));}
	.quick-contact-menu{display:none;}
	.mobile-fixed-cta{
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:10050;
		display:flex;
		height:calc(7.4rem + env(safe-area-inset-bottom));
		padding-bottom:env(safe-area-inset-bottom);
		box-shadow:0 -0.6rem 2rem rgba(0,0,0,0.16);
	}
	.mobile-fixed-cta-btn{
		position:relative;
		flex:1;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:0.6rem;
		min-width:0;
		height:7.4rem;
		border:0;
		box-sizing:border-box;
		color:#fff;
		font-size:1.4rem;
		font-weight:800;
		line-height:1.2;
		text-align:center;
	}
	.mobile-fixed-cta-btn:before{display:none;}
	.mobile-fixed-cta-btn i,
	.mobile-fixed-cta-btn span{position:relative; z-index:1;}
	.mobile-fixed-cta-btn i{font-size:2.4rem; line-height:1;}
	.mobile-fixed-cta-btn.kakao-btn{background:#111; color:#fff;}
	.mobile-fixed-cta-btn.call-btn{background:var(--phoneColor); color:#fff;}
	.to-top-btn.bottom-fixed{bottom:calc(8.4rem + env(safe-area-inset-bottom));}
}
