@charset "utf-8";
/* 공통: 초기화 · 수치 체계 · 헤더 · GNB · 사이트맵 · 모바일 메뉴 · 바닥글
   기준 폭 1920 (1rem = 10px), 화면 폭에 따라 html 글자 크기가 줄어든다 */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;900&family=Noto+Sans+KR:wght@300;400;500;600;700;900&display=swap');

:root{
	--main-color:#1c75bc;
	--area-box-width:1660px;
	--area-width:1340px;
	--area-padding:30px;
	--header-height:120px;
	--sub-visual-height:59.6rem;
	--sub-menu-height:60px;
	--transition-custom:all 0.4s ease-in-out;
	--transition-custom2:all 0.8s ease-in-out;
	--font-family1:'Poppins','Noto Sans KR',sans-serif;
}
@media all and (max-width:1280px){:root{--header-height:80px;}}
@media all and (max-width:800px){:root{--area-padding:5vw; --sub-visual-height:30rem;}}
@media all and (max-width:480px){:root{--header-height:60px; --sub-menu-height:45px;}}

html{overflow-y:scroll; font-size:10px;}
@media all and (max-width:1536px){html{font-size:0.6510vw;}}
@media all and (max-width:1280px){html{font-size:0.8594vw;}}
@media all and (max-width:800px){html{font-size:1.375vw;}}
@media all and (max-width:640px){html{font-size:1.7188vw;}}
@media all and (max-width:480px){html{font-size:2.2vw;}}
@media all and (max-width:412px){html{font-size:2.4272vw;}}
@media all and (max-width:390px){html{font-size:2.1795vw;}}

html,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,a,em,img,strong,sub,b,i,dl,dt,dd,ol,ul,li,form,label,table,tbody,thead,tr,th,td,article,aside,footer,header,nav,section{margin:0; padding:0;}
article,aside,footer,header,nav,section{display:block;}
img{vertical-align:middle; border:0;}
body{line-height:1; background-color:#fff;}
ol,ul{list-style:none;}
a{text-decoration:none; color:#666;}
em,i{font-style:normal;}
button{border:0; background:none; cursor:pointer; padding:0; margin:0;}
input,select,textarea{line-height:1.2; vertical-align:middle;}
button,input{line-height:normal;}
table{border-collapse:collapse; border-spacing:0;}
body,table,th,td,button,select,input,textarea{font-family:var(--font-family1); font-size:12px; color:#666; -webkit-text-size-adjust:none; text-size-adjust:none; word-break:keep-all;}
.blind{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.clearfix:after{content:""; display:block; clear:both;}
.img-cover{object-fit:cover; width:100%; height:100%;}
.line-clamp2{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.line-clamp4{display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;}

#wrap{overflow:hidden; width:100%; min-width:320px; position:relative;}
.area{max-width:var(--area-width); margin:0 auto;}
.area-box{max-width:var(--area-box-width); margin:0 auto;}
.m-br{display:none;}
@media all and (max-width:1720px){.area-box{padding:0 var(--area-padding); max-width:none;}}
@media all and (max-width:1400px){.area{padding:0 var(--area-padding); max-width:none;}}
@media all and (max-width:1280px){.m-br{display:block;} .pc-br{display:none;}}

/* 처음 로딩 화면 */
.ms-preloader{position:fixed; inset:0; z-index:9999999; background-color:#151515; transition:opacity 1.3s cubic-bezier(0.645,0.045,0.355,1);}
.ms-preloader.hide{opacity:0;}
.ms-preloader.gone{visibility:hidden;}

/* ****************** 헤더 ****************** */
#header{position:absolute; top:0; left:0; width:100%; height:var(--header-height); margin-top:35px; z-index:9999;}
.fullpage-html #header{margin-top:0; opacity:0; transition:margin 0.8s, opacity 0.8s;}
body.active #header{margin-top:35px; opacity:1;}
#headerInnerWrap{position:absolute; top:0; left:0; width:100%; height:var(--header-height); z-index:9999; transition:background-color 0.4s ease-in-out;}
#headerInner{position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height); margin:0 auto; padding:0 45px 0 110px;}
#header .logo{position:relative; z-index:100;}
#header .logo a{display:block; position:relative; width:170px; height:39px;}
#header .logo img{position:absolute; top:0; left:0; width:auto; height:100%; transition:opacity 0.4s;}
#header .logo img.black{opacity:0;}
#header.gnb-open .logo img.black{opacity:1;}
#header.gnb-open .logo img.default{opacity:0;}
@media all and (max-width:1720px){#headerInner{padding:0 var(--area-padding);}}
.header-util-box{position:relative; display:flex; align-items:center; z-index:100;}
.header-recruit-btn{display:block; border:1px solid rgba(255,255,255,0.2); width:170px; height:40px; font-size:12px; font-weight:600; text-align:center; color:#fff; line-height:38px; box-sizing:border-box; transition:all 0.4s;}
#header.gnb-open .header-recruit-btn{border-color:rgba(0,0,0,0.2); color:#060708;}
.header-lang{position:relative; z-index:100; width:38px; margin-left:15px;}
.header-lang .lang-open-btn{overflow:hidden; position:relative; display:block; width:38px; height:38px; line-height:38px; text-align:center; border-radius:50%; transition:all 0.5s;}
.header-lang .lang-open-btn i{display:inline-block; position:relative; z-index:11; vertical-align:middle; font-size:24px; margin-top:-2px; color:#fff;}
.header-lang > ul{overflow:hidden; display:none; position:absolute; top:-5px; left:0; z-index:10; width:100%; text-align:center; background-color:var(--main-color); border-radius:50px; padding:40px 0 10px;}
.header-lang.open > ul{display:block;}
.header-lang > ul > li > a{display:block; font-size:12px; line-height:24px; color:#fff; transition:all 0.4s;}
.header-lang > ul > li > a:hover{background-color:rgba(255,255,255,0.2);}
#header.gnb-open .lang-open-btn i{color:#000;}
.cm-sitemap-open-btn{float:left; margin-left:17px;}
.cm-sitemap-open-btn i{display:inline-block; font-size:5.4rem; color:#fff; transform:rotate(-90deg);}
#header.gnb-open .cm-sitemap-open-btn i{color:#000;}
@media all and (min-width:801px){.header-recruit-btn:hover{background-color:var(--main-color); border-color:var(--main-color);}}

/* GNB (PC) */
.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.open{visibility:visible; opacity:1;}
#gnb{position:absolute; text-align:center; top:0; left:0; width:100%; z-index:99;}
#gnb > ul{display:inline-block;}
#gnb > ul > li{position:relative; float:left; word-break:keep-all; width:18rem; transition:width 0.4s;}
#gnb > ul > li > a{position:relative; z-index:100; display:block; line-height:var(--header-height); text-align:center; color:#fff; font-size:1.5rem; font-weight:600; transition:var(--transition-custom);}
#gnb.open > ul > li{width:21rem;}
#gnb.open > ul > li > a{color:#000;}
#gnb.open > ul > li.on > a{color:#fff;}
#gnbBg{overflow:hidden; visibility:hidden; position:absolute; left:0; top:-35px; width:100%; height:0; background:#fff; z-index:98; opacity:0; transition:height 0.3s ease-in-out, opacity 0.2s ease-in-out;}
#gnbBg:after{content:""; position:absolute; top:calc(35px + var(--header-height)); left:0; width:100%; height:1px; background-color:rgba(45,170,225,0.1);}
#gnb.open #gnbBg{visibility:visible; opacity:1;}
#gnb > ul > li .gnb-2dep{position:absolute; top:var(--header-height); left:0; z-index:99; width:100%; text-align:center; border-right:1px solid rgba(0,0,0,0.05); opacity:0; height:0; visibility:hidden; transition:all 0.2s 0s;}
#gnb > ul > li:first-child .gnb-2dep{border-left:1px solid rgba(0,0,0,0.05);}
#gnb > ul > li .gnb-2dep:before{content:""; position:absolute; top:calc(-1 * (var(--header-height) + 35px)); left:0; width:100%; height:calc(100% + var(--header-height) + 35px); background-color:var(--main-color); opacity:0; transition:all 0.4s;}
#gnb > ul > li:hover .gnb-2dep:before{opacity:1;}
#gnb > ul > li .gnb-2dep:after{content:""; position:absolute; left:50%; top:0; width:0; height:3px; background-color:#fff; transform:translateX(-50%); transition:all 0.4s;}
#gnb > ul > li:hover .gnb-2dep:after{width:13rem;}
#gnb > ul > li .gnb-2dep ul{position:relative; padding:40px 0;}
#gnb > ul > li .gnb-2dep ul li a{display:block; padding:9px 15px; color:#666; font-size:1.6rem; letter-spacing:-0.065em; font-weight:400; line-height:1.3; transition:var(--transition-custom);}
#gnb > ul > li.on .gnb-2dep ul li a{color:#b2e2f7;}
#gnb > ul > li .gnb-2dep ul li a span{position:relative;}
#gnb > ul > li .gnb-2dep ul li a span:before{content:""; position:absolute; left:50%; bottom:-2px; width:0; height:2px; background:#fff; transform:translateX(-50%); transition:var(--transition-custom);}
#gnb > ul > li .gnb-2dep ul li a:hover{color:#fff;}
#gnb > ul > li .gnb-2dep ul li a:hover span:before{width:100%;}
#gnb.open > ul > li .gnb-2dep{opacity:1; visibility:visible; transition:height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;}

/* GNB (모바일) — 1280 이하 */
.nav-open-btn{display:none;}
#gnbM{display:none;}
.gnb-overlay-bg-m{display:none;}
@media all and (max-width:1280px){
	.fullpage-html #header{margin-top:0 !important;}
	#headerInnerWrap{position:fixed; z-index:99;}
	#headerInner{padding:0 var(--area-padding);}
	#header .logo a{width:145px; height:33px;}
	.header-util-box{padding-right:65px;}
	.header-recruit-btn{display:none;}
	.cm-sitemap-open-btn{display:none;}
	#gnb{display:none;}
	.gnb-overlay-bg{display:none;}
	.gnb-overlay-bg-m{position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9998;}
	.gnb-overlay-bg-m.open{display:block;}
	#gnbM{display:block; position:fixed; top:0; right:-82%; width:80%; height:100%; max-width:280px; background-color:#fff; z-index:9999; transition:var(--transition-custom); visibility:hidden;}
	#gnbM.open{right:0; visibility:visible;}
	.gnb-navigation-wrapper{position:relative; box-sizing:border-box; overflow-y:auto; height:calc(100% - var(--header-height));}
	#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";}
	#navigation > li .gnb-2dep{display:none; padding:15px 0; background-color:#f2f2f2;}
	#navigation > li.active .gnb-2dep{display:block;}
	#navigation > li .gnb-2dep > ul > li > a{display:block; color:#888; font-size:14px; padding:12px var(--area-padding);}
	.header-util-menu-box .lang-select{height:var(--header-height); display:flex; align-items:center; padding:0 var(--area-padding);}
	.header-util-menu-box .lang-select li{float:left; border:1px solid #e5e5e5; margin-left:-1px;}
	.header-util-menu-box .lang-select li:first-child{margin-left:0;}
	.header-util-menu-box .lang-select li > a{position:relative; display:block; min-width:18px; text-align:center; height:40px; line-height:40px; padding:0 10px; color:#555; font-size:12px; font-weight:500;}
	.header-util-menu-box .lang-select li.cur{border-color:var(--main-color); position:relative; z-index:1;}
	.header-util-menu-box .lang-select li.cur a{color:var(--main-color);}
	.nav-open-btn{display:block; position:fixed; top:13px; right:var(--area-padding); margin-right:-10px; z-index:10000; width:54px; height:54px; transition:var(--transition-custom);}
	.nav-open-btn i{position:absolute; top:0; right:0; font-size:54px; transition:opacity 0.4s;}
	.nav-open-btn i.xi-drag-vertical{transform:rotate(-90deg); color:#fff;}
	.nav-open-btn i.xi-close{opacity:0; color:#333; font-size:28px; top:13px;}
	.nav-open-btn.active i.xi-drag-vertical{opacity:0;}
	.nav-open-btn.active i.xi-close{opacity:1;}
	#wrap.sub-wrap #header.top-fixed #headerInnerWrap{background-color:#fff; border-bottom:1px solid #eee;}
	#wrap.sub-wrap #header.top-fixed .logo a img.default{opacity:0;}
	#wrap.sub-wrap #header.top-fixed .logo a img.black{opacity:1;}
	#wrap.sub-wrap #header.top-fixed .header-lang .lang-open-btn i{color:#000;}
	#wrap.sub-wrap #header.top-fixed .nav-open-btn i{color:#000;}
}
@media all and (min-width:481px) and (max-width:1280px){.nav-open-btn.active{right:20px;}}
@media all and (max-width:480px){
	.nav-open-btn{top:3px;}
	#navigation > li > a{font-size:15px;}
	#navigation > li .gnb-2dep > ul > li > a{font-size:13px;}
	.header-util-menu-box .lang-select li > a{height:38px; line-height:38px;}
}

/* ****************** 사이트맵 (전체 화면) ****************** */
.cm-sitemap-wrapper{position:fixed; top:0; left:0; width:100%; height:100%; overflow-y:auto; overflow-x:hidden; font-size:2rem; z-index:-1; opacity:0; visibility:hidden;}
.cm-sitemap-wrapper:before{content:""; position:absolute; top:0; left:0; width:100%; height:100%; background-color:#000; opacity:0; transition:opacity 0.2s ease;}
.cm-sitemap-wrapper .cm-sitemap-bg{overflow:hidden; position:absolute; top:0; right:0; left:auto; width:0; height:100%; background:#000; transition:all 0.6s ease;}
.cm-sitemap-container{position:absolute; display:table; width:100%; height:100%;}
.cm-sitemap-inner-con{position:relative; display:table-cell; vertical-align:middle; padding:5em 0; opacity:0; transition:opacity 0.5s ease 0s;}
.cm-sitemap-wrapper.open{opacity:1; visibility:visible; z-index:99999;}
.cm-sitemap-wrapper.open:before{opacity:0.5;}
.cm-sitemap-wrapper.open .cm-sitemap-bg{width:100%;}
.cm-sitemap-wrapper.open .cm-sitemap-inner-con{opacity:1; transition-delay:0.4s;}
.cm-sitemap-wrapper.closing{opacity:0; transition:opacity 0.3s ease-out;}
.sitemap-modal-tit-con-03{overflow:hidden; display:flex; align-items:center; justify-content:space-between;}
.sitemap-modal-tit-con-03 h1{position:relative; font-size:3em; font-weight:700; letter-spacing:-0.004em; color:#fff; text-align:left;}
.sitemap-modal-tit-con-03 .sitemap-close-btn{display:flex; align-items:center; justify-content:center; width:40px; height:40px; background-color:#fff; border-radius:100%; font-size:1em; line-height:40px; color:#333;}
.sitemap-modal-tit-con-03 .sitemap-close-btn i{font-size:0.9em; line-height:40px; transition:transform 0.5s;}
.cm-sitemap-inner-con .splitting,.cm-sitemap-inner-con .splitting .word{overflow:hidden;}
.cm-sitemap-inner-con .splitting .word,.cm-sitemap-inner-con .splitting .char{display:inline-block;}
.sitemap-wrapper-style03{margin-top:3.75em;}
.sitemap-wrapper-style03 > ul{display:table; width:100%; table-layout:fixed;}
.sitemap-wrapper-style03 > ul > li{display:table-cell; padding:3.5em 2%; vertical-align:top; border-left:1px solid rgba(255,255,255,0.1); text-align:left;}
.sitemap-wrapper-style03 > ul > li:last-child{border-right:1px solid rgba(255,255,255,0.1);}
.sitemap-wrapper-style03 > ul > li > h2{margin-bottom:0.5em; font-size:1.3em; min-height:3.3em; line-height:1.3; letter-spacing:-0.0083em; font-weight:600; color:#fff;}
.sitemap-wrapper-style03 > ul > li > h2 a{color:inherit;}
.sitemap-wrapper-style03 > ul > li .sitemap-2dep a{display:block; overflow:hidden; padding:0.5em 0; color:#fff; font-size:0.85em; font-weight:300; line-height:1.3; transition:all 0.3s;}
@media (hover:hover){
	.sitemap-modal-tit-con-03 .sitemap-close-btn:hover i{transform:rotate(180deg);}
	.sitemap-wrapper-style03 > ul > li .sitemap-2dep:hover a{opacity:0.5;}
	.sitemap-wrapper-style03 > ul > li .sitemap-2dep:hover a:hover{opacity:1; color:#1c75bc;}
}
@media all and (max-width:800px){
	.sitemap-wrapper-style03 > ul{display:block;}
	.sitemap-wrapper-style03 > ul > li{display:block; width:auto; padding:5% 0; border-left:none; border-top:1px solid rgba(255,255,255,0.1);}
	.sitemap-wrapper-style03 > ul > li:last-child{border-right:none;}
	.sitemap-wrapper-style03 > ul > li:first-child{border-top:none;}
	.sitemap-wrapper-style03 > ul > li > h2{min-height:auto;}
	.sitemap-wrapper-style03 > ul > li .sitemap-2dep{overflow:hidden; margin:0 -1%;}
	.sitemap-wrapper-style03 > ul > li .sitemap-2dep li{float:left; width:31.33%; margin:0 1%;}
}
@media all and (max-width:480px){.sitemap-wrapper-style03 > ul > li .sitemap-2dep li{width:48%;}}

/* ****************** 바닥글 ****************** */
#footer{background-color:#000; padding:8.7rem 0 8rem;}
.footer-left-con{float:left;}
.footer-right-con{float:right;}
#footerTop .inner-box{padding:5rem 0; border-bottom:1px solid rgba(255,255,255,0.1);}
.foot-logo{display:block;}
.foot-logo img{height:4.2rem;}
.foot-menu{display:flex;}
.foot-menu li{position:relative; padding-left:50px; line-height:4.2rem;}
.foot-menu li:first-child{padding-left:0;}
.foot-menu li a{color:rgba(255,255,255,0.5); font-size:1.6rem; letter-spacing:-0.025em;}
.foot-menu li a b{color:#fff;}
#footerBottom{padding:6.8rem 0 6.4rem;}
.footer-address-info-box{letter-spacing:-0.5px;}
.footer-address-list{margin-top:0.7rem;}
.footer-address-list:first-child{margin-top:0;}
.footer-address-list dl{display:flex; color:#fff; font-size:1.6rem; line-height:2;}
.footer-address-list a{color:inherit;}
.footer-address-list dl dt{width:10.8rem; color:rgba(255,255,255,0.5);}
.footer-copyright{font-size:1.4rem; color:rgba(255,255,255,0.5); margin-top:4.5rem;}
.footer-sitemap-list-con > ul > li{float:left; padding-left:70px;}
.footer-sitemap-list-con > ul > li:first-child{padding-left:0;}
.footer-sitemap-list-con > ul > li h3{margin-bottom:30px; color:#fff; font-size:1.5rem; font-weight:600; text-transform:uppercase;}
.footer-sitemap-list-con > ul > li .sitemap-2dep li{margin-bottom:18px;}
.footer-sitemap-list-con > ul > li .sitemap-2dep li:last-child{margin-bottom:0;}
.footer-sitemap-list-con > ul > li .sitemap-2dep li a{display:block; color:rgba(255,255,255,0.4); font-size:1.5rem; transition:all 0.4s;}
.footer-sitemap-list-con > ul > li .sitemap-2dep li a:hover{color:var(--main-color);}
.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;}
.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);}
@media all and (max-width:1280px){
	#footer{padding:6.8rem 0 8.7rem;}
	#footerTop .inner-box{padding:0 0 3rem;}
	.footer-left-con,.footer-right-con{float:none;}
	.foot-logo{float:none; display:block; padding-bottom:5rem;}
	.footer-sitemap-list-con{display:none;}
}
@media all and (max-width:800px){
	#footerBottom{padding:3rem 0;}
	.foot-logo img{height:4.2rem;}
	.foot-menu li{line-height:1;}
	.footer-address-list dl{font-size:12px;}
	.footer-copyright{font-size:11px;}
}
@media all and (max-width:480px){
	.foot-menu{justify-content:space-between;}
	.foot-menu li{padding-left:0;}
	.foot-menu li a{font-size:1.3rem;}
}
@media all and (max-width:390px){.foot-menu li a{font-size:1.4rem;}}

html.sitemap-lock,html.sitemap-lock body{overflow:hidden;}

/* 글자 분해 효과용 */
.cm-word-split-JS{overflow:hidden;}
.cm-word-split-JS.splitting .word{overflow:hidden; line-height:1.1; display:inline-block;}
.cm-word-split-JS.splitting .char{display:inline-block; position:relative; font-size:inherit; font-family:inherit; font-weight:inherit;}
.splitting .whitespace{display:inline;}

/* ****************** 파트너 로고 격자 (메인 · 파트너 페이지) ****************** */
.partner-grid{display:grid; grid-template-columns:repeat(6,1fr); margin-top:6.4rem; border-top:1px solid #e5e7eb; border-left:1px solid #e5e7eb; background-color:#fff;}
.partner-grid li{display:flex; align-items:center; justify-content:center; height:13.6rem; padding:0 1.6rem; border-right:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; box-sizing:border-box;}
.partner-grid img{max-width:88%; max-height:4.4rem; opacity:0.8; transition:opacity 0.4s;}
.partner-grid li:hover img{opacity:1;}
.partner-grid .name{font-size:1.8rem; font-weight:600; letter-spacing:-0.03em; color:#4b5563; text-align:center;}
@media all and (max-width:800px){
	.partner-grid{grid-template-columns:repeat(3,1fr); margin-top:4rem;}
	.partner-grid li{height:9.6rem; padding:0 1.6rem;}
	.partner-grid img{max-height:3.2rem;}
	.partner-grid .name{font-size:1.5rem;}
}
