@charset "utf-8";

/* ************************* 레이아웃 정의 ***************************** */
.sub-visual {position:fixed; width:100%; height:700px; top:0;}

.contents .part1 {text-align:center; height:700px; position:relative; padding-top:130px; transition:all 1s ease;)}
.contents .sub-toptext {display:flex; flex-direction:column; justify-content:center; align-items:center; height:calc(100% - 85px);}

.sub-visual .sub-visual-wrap { position :absolute; display:table; width:1400px; height:100%; left :50%; transform :translateX(-50%); }
.sub-visual .sub-visual-text {display:flex; flex-direction:column; justify-content:center; height:100%;}
.sub-visual .sub-visual-text h2 {font-size:40px; padding-top:0px; font-weight:700; letter-spacing:-.5px; color:#000; text-align :center; z-index :5;}

.sub-top-visual {z-index:-1; position:fixed; width:100%; height:100vh; top:0; left:0; background-size:cover; background-position:center; background-repeat:no-repeat; transform:scale(1.2); transition:all 2s ease !important;}
.sub-top-visual .cover {position:absolute; background:rgba(0,0,0,0.7); width:100%; height:100%;}
.sub-top-visual.active {transform:scale(1);}
.sub-top-visual.company {background-image:url(/images/common/bg_hompage_company.webp);}
.sub-top-visual.welfare {background-image:url(/images/common/bg_hompage_welfare.webp);}
.sub-top-visual.association {background-image:url(/images/common/bg_hompage_association.webp);}
.sub-top-visual.association .cover {background:rgba(0,0,0,0.5);}
.sub-top-visual.lab {background-image:url(/images/common/bg_hompage_lab.webp);}
.sub-top-visual.kids {background-image:url(/images/common/bg_hompage_kids.webp);}
.sub-top-visual.shop {background-image:url(/images/common/bg_hompage_shop.webp);}
.sub-top-visual.dev {background-image:url(/images/common/bg_hompage_dev.webp);}
.sub-top-visual.brochure {background-image:url(/images/common/bg_print_brochure.webp);}
.sub-top-visual.catalog {background-image:url(/images/common/bg_print_catalog.webp);}
.sub-top-visual.card {background-image:url(/images/common/bg_print_card.webp);}
.sub-top-visual.card .cover {background:rgba(0,0,0,0.5);}
.sub-top-visual.domain {background-image:url(/images/common/bg_service_domain.webp);}
.sub-top-visual.domain .cover {background:rgba(0,0,0,0.6);}
.sub-top-visual.hosting {background-image:url(/images/common/bg_service_hosting.webp);}
.sub-top-visual.hosting .cover {background:rgba(0,0,0,0.5);}
.sub-top-visual.ebook {background-image:url(/images/common/bg_service_ebook.webp);}
.sub-top-visual.ebook .cover {background:rgba(0,0,0,0.6);}
.sub-top-visual.chatbot {background-image:url(/images/common/bg_service_chatbot.webp);}
.sub-top-visual.chatbot .cover {background:rgba(0,0,0,0.6);}
.sub-top-visual.geo {background-image:url(/images/common/bg_service_geo.webp);}
.sub-top-visual.geo .cover {background:rgba(0,0,0,0.0);}
.sub-top-visual.customer {background-image:url(/images/common/bg_customer_inquiry.webp);}
.sub-top-visual.about {background-image:url(/images/common/bg_intro.webp);}
.sub-top-visual.about .cover {background:rgba(0,0,0,0.6);}
.sub-top-visual.payment {background-image:url(/images/common/bg_customer_payment.WEBP);}

.sub-toptext {}
.sub-toptext h1 {color:#fff; text-align:center; font-size:clamp(30px, 4vw, 70px); line-height:1.1;}
.sub-toptext > p.sub-tit {font-size:clamp(25px,4vw,50px); line-height:1.1; color:#fff; font-weight:500; margin-top:10px;}
.sub-toptext > p.sub-tit .empha {color:var(--base4);}
.sub-toptext > p {font-weight:200; color:rgba(255,255,255,0.5); text-align:center; position:relative; margin-top:30px;}
.site-route {display:flex; justify-content:space-between; align-items:center; color:#fff; height:85px; transform:scale(.9); transition:1s ease; opacity:0;}
.site-route.active {transform:scale(1); opacity:1;}
.site-route>p {font-weight:500; font-size:clamp(15px,1.5vw,24px); position:relative; height:100%; display:flex; align-items:center; justify-content:center; border-top:5px solid var(--base1); box-sizing:border-box;}
.site-route ul {display:flex; align-items:center; font-size:12px;}
.site-route ul li {position:relative;}
.site-route ul li:first-child {}
.site-route ul li img {transform:translateY(-2px)}
.site-route ul li+li {padding-left:35px;}
.site-route ul li+li:before {content:""; display:block; width:1px; height:8px;  position:absolute; top:5px; left:16px; background:rgba(255,255,255,0.5); transform:rotate(-45deg);}
.contents .site-routeWrap {border-top:1px solid rgba(255,255,255,0.15); position:absolute;
    width:100%; bottom:0;}

.black_header_Bg {height:120px; background:#000;}

/*footer*/
footer {position:relative; padding:100px 0 70px; font-size:15px; background:var(--bg1); color:#666; z-index:5; border-top:1px solid var(--border1);}
footer .f_btnWrap {display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
footer .f_btnWrap article {position:relative; color:#fff; padding:50px; border-radius:clamp(10px, 1.2vw, 20px); display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between;}

footer .f_btnWrap article dt {font-size:clamp(20px,1.7vw,24px); font-weight:600;}
footer .f_btnWrap article dd {opacity:0.7; margin-top:10px; font-weight:200; line-height:1.4;}
footer .f_btnWrap article:nth-child(1) {background:var(--blue);}
footer .f_btnWrap article:nth-child(2) {background:var(--blue2);}
footer .f_btnWrap article:nth-child(3) {background:var(--base2);}
footer .f_btnWrap article {position:relative; overflow:hidden;}
footer .f_btnWrap article .gIcon {position:absolute; right:clamp(30px,4vw,50px); bottom:clamp(30px,4vw,40px); display:flex; align-items:center; justify-content:center; width:clamp(34px,5vw,40px); height:clamp(34px,5vw,40px); color:#fff; opacity:.9; pointer-events:none;}
footer .f_btnWrap article .gIcon svg {display:block; width:100%; height:100%; fill:currentColor; opacity:.3;}

footer .f_btnWrap article .white_btn {display:inline-block; padding:15px 40px; background:#fff; font-weight:600; color:#000; border-radius:10px; margin-top:15px; transition:all 0.2s;}
footer .f_btnWrap article .white_btn:hover {background:var(--base4); color:#000;}
footer .f_btnWrap a {font-size:18px;}
footer .footer-info {margin-top:50px;}
footer .footer-info .top {display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:20px;}
footer .footer-info .top .logoWrap {display:flex; align-items:center; gap:50px; flex-wrap:wrap;
row-gap:15px;}
footer .footer-info .top .logoWrap img {width:194px;}
footer .footer-info .top .logoWrap > div {display:flex; font-weight:600;}
footer .footer-info .top .logoWrap a {color:#000;}
footer .footer-info .top .logoWrap .privacy_btn {color:#000; font-weight:600; position:relative;}
footer .footer-info .top .logoWrap .privacy_btn {padding-left:20px; margin-left:20px; background:transparent;}
footer .footer-info .top .logoWrap .privacy_btn:before {content:""; display:block; width:1px; height:12px; background:var(--border); position:absolute; left:0; top:7px;}
footer .footer-info .top .callnum {display:flex; gap:15px; align-items:center; font-weight:600; color:#000;}
footer .footer-info .top .callnum a {font-size:clamp(24px,2vw,40px); font-weight:700; color:var(--base1); line-height:1;}
footer .footer-info .top .callnum .icon {display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:var(--base1); color:#fff; flex:0 0 50px;}
footer .footer-info .top .callnum .icon svg {display:block; width:24px; height:24px; fill:currentColor;}

footer .footer-info .info {margin-top:20px;}
footer .footer-info .info .wrap {display:flex; gap:40px;}
footer .footer-info .info dl {display:flex; gap:5px;}
footer .footer-info .info dt {font-weight:600; color:#000;}
footer .footer-info address+small {color: var(--gray1);}


/* 개인정보취급방침 팝업 */
.privacyPopup {display:none; position:fixed; left:50%; top:50%; transform:translate(-50%, -50%); width:100%; max-width:700px; padding:30px!important; background-color:#fff; z-index:99999; border-radius:clamp(10px, 1.2vw, 20px); text-align:left; overflow:hidden; box-sizing:border-box;}
.privacyPopOverlay {display:none; position:fixed; left:0; top:0; width:100%; height:100%;
background-color:rgba(0, 0, 0, 0.5); z-index:9999;}
.privacyPopup .closeBtn {position:absolute; right:25px; top:25px; font-weight:700; font-size:18px; z-index:99; background:url(/images/common/icon_close.png) no-repeat center / 20px; width:25px; height:25px;}
.privacyPopup .txt {display:block; word-break:keep-all; color:#000; transform:var(--textRotate);}
.privacyPopup .txt>p {font-size:24px; margin-bottom:20px;}
.privacyPopup .txt pre {background:#fff; font-family:'Pretendard'; padding-right:15px;}
.privacyPopup .term_bx {border:1px solid #e5e5e5; padding:20px; border-radius:10px; background:#fff; padding-right:15px;}
.privacyPopup .inner_scroll {height:200px; overflow:auto;}

.textIndent {position:absolute; left:-9999px; opacity:0;}

/* ************************ 데스크탑 (1249~) ************************ */
@media screen and (min-width:1249px), print {

	html,body {min-width:1200px;}
	.mobile {display:none !important;}


	/*헤더**/
	header {z-index:999; position:absolute; width:100%; min-width:1200px; top:0; left:0; height:120px; background:ease-gradient(to bottom, rgba(0,0,0,.7), transparent); transform:scale(.9); transition:1s ease; opacity:0;}

	header.active {transform:scale(1); opacity:1;}
	header .head {width:90vw; margin:0 auto; position:relative;}
	header .head a.logo {position:absolute; z-index:99999; left:0; top:45px;}
	header .head a {}
	header .head a img.on {display:none;}
	header .head a img.off {display:block;}

	header .navBg {background:transparent; position:absolute; left:0; top:0; width:100%; height:0; transition:all .3s ease !important;}
	header .navBg:after {opacity:0; width:100%; height:1px; background:#ededef; left:0; top:120px; position:absolute; display:block; content:'';}

	header aside {position:absolute; right:0; top:36px; z-index:999; overflow:hidden;}
	header aside>* {float:left;}
	header aside .lang {}
	header aside .lang>a {padding-right:27px; font-size:12px; display:block; background:url(/images/common/lang_arrow.png)100% 50% no-repeat; color:#fff;}
	header aside .lang ul {display:none;}
	header aside .lang>a.on+ul {display:block;}
	header aside .lang ul a {color:#fff; font-size:12px;}
	header aside .lang ul a:hover {border-bottom:1px solid #fff;}
	header aside .sideBtn {display:flex; gap:10px; overflow:hidden;}
	header aside .sideBtn a.inquire {display:inline-block; background-color:var(--base1); width:140px; height:50px; text-align:center; font-weight:500; line-height:50px; color:#fff; border-radius:3rem;}
	header aside .sideBtn a.call {display:flex; justify-content:flex-start; align-items:center; width:50px; height:50px; border-radius:3rem; background-color:#fff; position:relative; overflow:hidden; transition:width 0.5s ease; padding:0 13px; box-shadow:0 2px 5px rgba(0,0,0,0.1);}
	header aside .sideBtn a.call .call-icon {display:flex; align-items:center; justify-content:center; flex:0 0 24px; width:24px; height:24px; color:#000;}
	header aside .sideBtn a.call .call-icon svg {display:block; width:24px; height:24px; fill:var(--base1);}
	header aside .sideBtn a.call .call-number {white-space:nowrap; margin-left:10px; opacity:0; transition:opacity 0.3s ease; color:#333; font-weight:600;}
	header aside .sideBtn a.call:hover {width:150px;}
	header aside .sideBtn a.call:hover .call-icon svg {fill:#fff;}
	header aside .sideBtn a.call:hover .call-number {opacity:1;}
	
	
	/* gnb */
	nav {height:100%; position:relative; margin:0 auto; overflow:hidden; transition:height 0.3s ease;}
	nav .gnb {width:100%; height:120px; display:flex; justify-content:center; align-items: center; gap: 50px;}
	nav .gnb .dep1 { display:flex; gap:4.5vw;}
	nav .gnb .dep1>li {display:flex; flex-direction:column;}
	nav .gnb .dep1>li>a {padding:42px 0; color:#fff; font-weight:600; font-size: clamp(14px, 1.3vw, 20px); display:block; position:relative;transition:0.2s;}
	nav .gnb .dep1>li.on>a {color:var(--base4);}
	nav .gnb .dep1>li>a:after {width:100%; height:2px; left:0; bottom:-2px; position:absolute; display:block; content:'';transition:0.2s;}

	nav .gnb .dep2 {opacity:0;padding:40px 0 0; top:120px; position:absolute; gap:10px; display:flex; flex-direction:column;transition:all .3s;}
	nav .gnb .dep2>li {}
	nav .gnb .dep2>li a {font-weight:500; display:inline-block; color:#333; white-space:nowrap; position:relative; transition:0.2s; font-size: clamp(14px, 1.15vw, 16px); letter-spacing:-.5px;}
	nav .gnb .dep2>li a:hover,
	nav .gnb .dep2>li.on a {color:var(--base1); border-color:inherit;}

	@keyframes wide {
	  from {transform:scaleX(0);}
	  to {transform:scaleX(1);}
	}

	/* 마우스 올렸을때 */
	header.on {}
	header.on .head a img.off {display:none;} 
	header.on .head a img.on {display:block;}
	header.on .navBg {height:100%; background:#fff;}
	header.on .navBg:after {opacity:1;transition:all .5s ease;}
	header.on nav {height:470px;}
	header.on nav.pc .gnb>ul {height:auto;}
	header.on nav.pc .gnb>ul>li.on>a,
	header.on nav.pc .gnb>ul>li:hover>a {color:var(--base1) !important;}
	header.on nav.pc .gnb>ul>li.on>a:after {background:var(--base1);}
	header.on nav.pc .gnb>ul>li>ul {opacity:1;}
	header.on .gnb>ul>li>a {color:#000;}
	
	header.on aside .sideBtn a.call {background:var(--base2);}
	header.on aside .sideBtn a.call img.off {display:none;}
	header.on aside .sideBtn a.call img.on {display:block;}
	header.on aside .sideBtn a.call .call-number {color:#fff;}

	/* lnb */
	.lnb {position:sticky; top:630px; left:0; width:100%; height:70px; border-bottom:1px solid #ededed; border-top:1px solid rgba(255, 255, 255, 0.15); z-index:33;}
	.lnb .lnb-wrap {display:flex; align-items:center; position:relative; height:100%; width:100%; max-width :1400px; margin :0 auto; overflow:hidden;}
	/*.lnb .lnb-wrap>* {float:left;}*/
	.lnb .lnb-wrap:after {clear:both; content:''; display:block;}
	.lnb .lnb-wrap a {font-size:16px; color:#000;}
	.lnb .lnb-wrap h3 {background:var(--green); color:#fff; height:100%; padding:20px 30px; box-sizing:border-box; font-size:18px;}
	.lnb .lnb-wrap .home {display:block; width:40px; height:40px; background:#fff url(/images/common/i-home.png)no-repeat center / 15px; border-radius:50%; border:1px solid #efefef;}
	.lnb .lnb-wrap .lnb-depth {position:relative; padding-left:20px;}
	.lnb .lnb-wrap .lnb-depth .onmenu {display:block; font-size:16px; color:#000; cursor:pointer; line-height:60px; background:url(/images/common/lnb_arrow.png)100% center no-repeat}
	.lnb .lnb-wrap .lnb-depth.dep2 .onmenu { color :var(--base); background:url(/images/common/lnb_arrow2.png)100% center no-repeat; }
	.lnb .lnb-wrap .lnb-depth>ul {display:flex; width:100%; gap:60px; height:70px; align-items:center;}
	.lnb .lnb-wrap .lnb-depth>ul li{position:relative;}
	.lnb .lnb-wrap .lnb-depth>ul li+li:before {content:""; display:block; width:1px; height:18px; background:#ddd; position:absolute; left:-30px;         top:50%; transform:translateY(-50%);}
	.lnb .lnb-wrap .lnb-depth>ul li:last-child {border-bottom:none;}
	.lnb .lnb-wrap .lnb-depth>ul li a {display:block; padding:21.5px 0; font-weight:700; color:#000; text-align:center; font-size:18px;}
	.lnb .lnb-wrap .lnb-depth>ul li:hover a { color :var(--base3); }
	.lnb .lnb-wrap .lnb-depth>ul li.on a {position:relative; color:var(--base3);}
	.lnb .lnb-wrap .lnb-depth>ul li.on a:after {content:""; display:block; position:absolute; width:100%; height:3px; background:var(--base3); bottom:1px;}
	.lnb .lnb-wrap .lnb-depth.on>ul { display:block;}

	.lnb.fixOn {position:fixed; width:100%; z-index:1000 !important; top:0 !important; box-shadow:0 3px 3px rgba(0,0,0,.05); background:#f9f9f9}
	.lnb.fixOn .lnb-wrap {border-radius:0;}

	/*컨텐츠*/
	.contents {color:#666; position:relative; z-index:0;}

	.contents-wrap {padding:80px 0!important; margin:0px auto!important; max-width:100%;}
	.w90vw {width:90vw; margin:0 auto!important; max-width:100%;}


	.fixMenu {position:fixed; right:10px; z-index:999; text-align:center; bottom:10vh; transform:translateY(-50%);}
	.fixMenu .goTop {
		position:fixed; bottom:5vh; right:10px;
		display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
		width:50px; height:70px; border-radius:100px; background:var(--blue);
		font-size:12px; color:#fff; line-height:1; transition:all .3s ease !important;
		transform:translateX(70px); opacity:0; box-shadow:-10px 20px 20px rgba(0,0,0,.4);
	}
	.fixMenu .goTop:before {content:""; width:7px; height:7px; border:3px solid #fff; border-left:0; border-bottom:0; transform:rotate(-45deg);}
	.fixMenu .goTop:hover {height:100px; gap:10px; background:var(--base1);}
	.fixMenu .goTop.active {transform:translateX(0); opacity:1;}



	/* ************************** ani / pc에서만 사용 ************************** */
	.ani>* {transition:all 0.7s ease !important;}

	.ani-slide-down {transform:translateY(5vh); transition:all .7s ease; opacity:0;}
	.ani-slide-down.active {transform:translateY(0); opacity:1;}
	.ani-slide-down>* {transform:translateY(3vh);}
	.ani-slide-down.active>* {transform:translateY(0);}

	.ani-slide-left {transform:translateX(-5%); transition:all .7s ease; opacity:0;}
	.ani-slide-left.active {transform:translateX(0); opacity:1;}
	.ani-slide-left>* {transform:translateX(-3%);}
	.ani-slide-left.active>* {transform:translateX(0);}

	.ani-slide-right {transform:translateX(5%); transition:all .7s ease; opacity:0;}
	.ani-slide-right.active {transform:translateX(0); opacity:1;}
	.ani-slide-right>* {transform:translateX(3%);}
	.ani-slide-right.active>* {transform:translateX(0);}

	.ani-curtain-left {clip-path:inset(0 100% 0 0); transition:all 1s ease;}
	.ani-curtain-left.active {clip-path:inset(-10%);}
	.ani-curtain-left>* {transform:translateX(5%);}
	.ani-curtain-left.active>* {transform:translateX(0);}

	.ani-scale-up {transform:scale(0.9); transition:all .7s ease; opacity:0;}
	.ani-scale-up.active {transform:scale(1); opacity:1;}
	.ani-scale-up>* {transform:scale(0.8);}
	.ani-scale-up.active>* {transform:scale(1);}

	.ani-scale-down {transform:scale(1.1); transition:all .7s ease; opacity:0;}
	.ani-scale-down.active {transform:scale(1); opacity:1;}
	.ani-scale-down>* {transform:scale(1.4);}
	.ani-scale-down.active>* {transform:scale(1);}

	.delay1 {transition-delay:0.15s;}
	.delay2 {transition-delay:0.3s;}
	.delay3 {transition-delay:0.45s;}
	.delay4 {transition-delay:0.6s;}
	.delay5 {transition-delay:0.75s;}
	.delay6 {transition-delay:0.9;}
	.delay7 {transition-delay:1.05s;}
	.delay8 {transition-delay:1.2;}
	.delay9 {transition-delay:1.35;}
	.delay10 {transition-delay:1.5;}


	/* aniTxt set */
	.aniTxt {display:flex; flex-wrap:wrap; position:relative; flex-direction:row; text-indent:-99999px; letter-spacing:-.1vw;}
	.aniTxt.center {justify-content:center;}
	.aniTxt>span {overflow:hidden; display:block; perspective:1.7vw; opacity:0; text-indent:0;}
	.aniTxt>span>span {display:block; transition:.5s ease;  transform:translateY(100%);}
	.aniTxt>span.on {opacity:1;}
	.aniTxt>span.on>span {transform:translateY(0);}
	.aniTxt .empty{display:inline-block;}
	.aniTxt .empty span{white-space:pre;}

	/* 서브 상단 텍스트 애니 */
	.part1.active {height:clamp(500px,80vh,1000px)}

	.sub-toptext>* {opacity:0; transform:translateY(5vh); transition:all 1s ease;}
	.sub-toptext .sub-tit {transition-delay:0.2s;}
	.sub-toptext .sub-tit+p {transition-delay:0.4s;}
	.sub-toptext.active>* {opacity:1; transform:translateY(0);}
}


/* ************************ 태블릿 이하(~1249) ************************ */
@media screen and (max-width:1249px) {

	.pc {display:none !important;}
	.w90vw {padding:0 30px!important; max-width:100%;}

	/*헤더*/
	header {position:absolute; left:0; top:0; width:100%; z-index:999; height:60px; background:ease-gradient(to bottom, rgba(0,0,0,.7), transparent);}
	header .head {padding:20px;}
	header .head .gnbView {position:absolute; right:0; top:0; width:60px; height:60px; background:url(/images/common/menu.png)center /22px no-repeat ;}
	header .head .gnbView img {}
	header .head a {display:inline-block;}
	.black_header_Bg {height:60px;}

	/*gnb*/
	nav.mobile {transform:translateX(100%); z-index:9999; position:fixed; right:0; top:0; width:100%; max-width:100%; min-width:320px; height:100%; overflow:hidden; background:#fff; transition:all .3s;}
	nav.active {transform:translateX(0);}
	nav.mobile .closeWrap {display:flex; justify-content:space-between; position:relative; height:60px; border-bottom:10px solid rgba(0,0,0,.05); overflow:hidden;}
	nav.mobile .closeWrap .gnbClose {display:block; width:30px; height:60px; background:url(/images/common/icon_close.png) left center no-repeat; background-size:12px;}
	.gnbCover {z-index:9998; position:fixed; left:0; top:0; display:none; width:100%; height:100%; background:rgba(0,0,0,.5);}

	nav.mobile .gnb {position:relative; width:100%; height:100%; overflow-y:auto; text-align:left !important;}
	nav.mobile .gnb * {width:100% !important;}
	nav.mobile .gnb .dep1>li {clear:both; position:relative; border-bottom:1px solid rgba(0,0,0,.1);}
	nav.mobile .gnb .dep1>li>a {display:block; padding:17px 20px; font-size:16px; font-weight:600;}
	nav.mobile .gnb .dep1>li>a span {font-size:14px; color:#999; padding-left:5px;}
	nav.mobile .gnb .dep1>li.on {border-color:var(--base2);}
	nav.mobile .gnb .dep1>li.on>a {background:var(--blue); color:#fff;}
	nav.mobile .gnb .dep1>li.on>a span {color:#fff;}
	
	nav.mobile .gnb .dep2 {display:none;}
	nav.mobile .gnb .dep2>li {position:relative;border-top:1px solid #eee;}
	nav.mobile .gnb .dep2>li a {display:block; padding:15px 40px; font-size:16px; font-weight:500; color:#333; letter-spacing:-.5px;background:#fff;}
	nav.mobile .gnb .dep2>li a span {font-size:14px; color:#999; padding-left:5px;}
	nav.mobile .gnb .dep2>li:last-child a {border-color:#e0e0e0;}
	nav.mobile .gnb .dep2>li a:hover {color:#000; background-color:#f5f5f5;}
	nav.mobile .gnb .dep2>li.on a {color:var(--blue); font-weight:700;}
	nav.mobile .gnb .dep2>li.on a span {color:var(--base1);}
	nav.mobile .gnb>.side {display:none;}

	header .closeWrap .hotBtn {display:flex; flex:1; min-width:0; gap:8vw; padding-left:20px;}
	header .closeWrap a {position:relative; display:flex; align-items:center; gap:5px; font-size:16px; color:#000; font-weight:600; letter-spacing:-.1vw;}
	header .closeWrap a.inquire {color:var(--blue);}
	header .closeWrap a.call {color:var(--base1);}
	header .closeWrap a.call img {width:15px;}
	header .closeWrap a+a:after {content:""; position:absolute; left:-4vw; top:50%; transform:translateY(-50%); width:0; height:15px; border-left:1px solid #d5d5d5;}

	.site-route {height:65px;}
	.site-route>p {border-top:3px solid var(--base1);}

	/* footer */
	footer {padding:50px 0 35px;}
	footer .f_btnWrap article {padding:40px;}
	footer .f_btnWrap article .white_btn {padding:12px 35px; font-size:16px;}
	footer .footer-info .top .callnum .icon {width:40px; height:40px; background:var(--base1) url(/images/common/i-callW.png) no-repeat center / 17px;}
	/* lnb */
	.lnb {
		position:relative; height:30vh; opacity:0;
		background-position:center; background-repeat:no-repeat; background-size:cover;
	}
	.lnb.on {margin-top:0; opacity:1;}
	.lnb .cover {position:absolute; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,.0);}
	.lnb.on .cover {background:rgba(0,0,0,.4);}
	.lnb-wrap {position:relative; height:100%;}
	.lnb-wrap .titwrap {position:absolute; width:100%; bottom:7vh; color:#fff; text-align:center;}
	.lnb-wrap .titwrap .tit {font-size:22px; letter-spacing:-1px;}
	.lnb-wrap .titwrap p {font-size:14px;}


	/*컨텐츠*/
	.contents {position:relative; color:#666;}
	.contents-wrap {width:100%; padding:60px 20px 60px; max-width:100%;}
	.contents .wrapper {width:100%; padding:50px 0;}
	.contents .part1 {padding-top:60px; height:60vh;}


	.sub-visual {position:relative; width:100%; height:20vh; margin-top:60px;}
	.sub-visual .sub-visual-wrap { position :absolute; display:table; width:100%; height:100%; left :50%; transform :translateX(-50%);}
	.sub-visual .sub-visual-text {display:flex; flex-direction:column; justify-content:center; height:100%; padding-top:15px;}
	.sub-visual .sub-visual-text h2 {font-size:30px; font-weight:700; letter-spacing:-.5px; color:#000; text-align:center; z-index :5;}
	.sub-visual .sub-visual-text p {font-size:18px; color:#000;
    text-align:center; position:relative; margin-top:20px;}
	.sub-visual .sub-visual-text p:before {content:""; display:block; width:40px; height:2px; background:var(--base2); position:absolute; top:-7px; left:50%; transform:translateX(-50%);}
	.sub-visual {background:url(/images/common/lnb_bg.png) no-repeat; background-size:cover; background-position:center;}

	.contents-wrap {padding:50px 20px 50px!important;}
	.subpart .titWrap > * {text-align:left !important;}
	.subpart .titWrap > p:before {left:0 !important; transform:translateX(0) !important;}
}
/* ************************ 모바일 (0~991) ************************ */
@media screen and (max-width:991px) {
	footer .footer-info {margin-top:30px;}
	footer .footer-info .bottom {margin-top:20px;}
	footer .f_btnWrap {grid-template-columns:1fr;}
	footer .f_btnWrap article {padding:30px;}
	footer .footer-info .top .logoWrap img {width:150px;}
}


/* ************************ 모바일 (0~767) ************************ */
@media screen and (max-width:767px) {
	.w90vw {padding:0 20px !important; max-width:100%;}
	header .head a img {height:20px;}
	.sub-visual {height:120px;}
	.sub-visual .sub-visual-text p:before {top:-8px;}
	.contents-wrap {padding:40px 20px 50px!important;}
	
	/*footer*/
	.site-route {gap:15px;}
	.site-route {height:60px;}
	.site-route ul {display:none;}
	footer {padding:50px 0; font-size:14px; word-break:break-all;}
	footer .f_btnWrap article:nth-child(1) {background-image:none; padding:20px;}
	footer .f_btnWrap article:nth-child(1) .contactWrap {display:grid; width:100%; gap:10px; grid-template-columns: 1fr 1fr;}
	footer .f_btnWrap article:nth-child(1) .contactWrap a {padding:20px 0; text-align:center; line-height:1;}
	footer .callnum,
	footer .f_btnWrap article:nth-child(2),
	footer .f_btnWrap article:nth-child(3) {display:none !important;}
	footer .footer-info .top {gap:10px; margin-top:50px;}
	footer .footer-info .top .logoWrap > div {display:none;}
	
	footer .footer-info .info .wrap {display:grid; grid-template-columns:repeat(2, 1fr); gap:10px;}
	footer .footer-info .info dl {flex-direction:column; gap:0px; line-height:1.3;}
	footer .footer-info .info dt {font-weight:600; color:#000;}
	footer .footer-info .info address {display:flex; flex-direction:column; margin-top:10px; gap:10px;}
	footer .footer-info .info small {display:block; margin-top:20px;}
	
	.contents .sub-toptext {height:calc(100% - 65px); padding:0 10vw; word-break:keep-all;}

	.privacyPopup {width:95%;}
	.privacyPopup .txt h3 {font-size:20px;}
	
	.contents .part1 {height:100vh;}
}