@charset "utf-8";

#shGnb{display:flex;align-items:center;position:relative;width:100%;height:100px;padding:0 70px}
#shGnb.on{border-bottom:1px solid #e1e1e1}
#shGnb.fix{background:rgba(0,0,0,.3);backdrop-filter:blur(5px)}
.sh_lnb_bg{display:none;position:absolute;top:0;left:0;width:100%;height:320px;background:#fff}

/* 로고 */
#shGnb .sh_logo{position:relative;z-index:20}

/* 대분류  */
#shGnb .sh_nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0 auto}
#shGnb .sh_nav > ul > li{float:left;position:relative;line-height:100px;transition:all .4s ease-in-out}
#shGnb .sh_nav > ul > li > a{position:relative;z-index:20;display:block;padding:0 40px;font-size:16px;color:#fff;transition:all .2s}
#shGnb .sh_nav > ul > li:hover > a{color:var(--primary)!important}
#shGnb .sh_nav > ul > li:hover .sh_lnb_s:before{width:calc(100% + 40px);opacity:1}
#shGnb .sh_nav > ul > li:hover .sh_lnb_s a{color:#777}
#shGnb .sh_nav > ul > li:hover .sh_lnb_s a:hover{color:var(--primary)}
#shGnb.on .sh_nav > ul > li > a{padding:0 50px;color:#111}

/* 소분류 */
#shGnb .sh_lnb_s{display:none;position:absolute;left:50%;transform:translateX(-50%);min-width:100%;width:max-content;padding-top:25px;min-height:145px}
#shGnb .sh_lnb_s:before{opacity:0;display:block;content:"";position:absolute;left:50%;top:-2px;z-index:-1;transform:translateX(-50%);width:0;height:4px;background:var(--primary);transition:all .2s}
#shGnb .sh_lnb_s li a{display:block;font-size:16px;font-weight:500;line-height:2.2;text-align:center;color:#555;transition:all .2s}
#shGnb .sh_lnb_s li a:hover{color:var(--primary)}

/* 메뉴버튼 */
#navBtn{position:absolute;top:50%;right:70px;z-index:101; transform:translateY(-50%);width:54px;height:30px;cursor:pointer;transition:all .3s var(--ani)}
#navBtn.no_pointer{pointer-events:none;cursor:alias}
#navBtn span{position:absolute;top:50%;left:0}
#navBtn:before, #navBtn:after{display:block;content:'';position:absolute;left:0;top:8px;z-index:-1;width:100%;height:3px;background:#fff;transition:all .3s var(--ani), width .6s .6s}
#navBtn:after{top:20px}
#navBtn.active:before{top:50%;right:0;transform:rotate(45deg)}
#navBtn.active:after{top:50%;left:0;transform:rotate(-45deg)}

/* 메뉴오픈 */
#navWrap{position:fixed;top:-100vh;left:0;z-index:100;min-width:1280px;width:100%;height:100vh;color:#fff;background:rgba(0,0,0,.3);backdrop-filter:blur(5px)}
#navWrap .nav_bg_wrap{position:absolute;top:0;right:0;z-index:0;width:50%;height:100%}
#navWrap .nav_bg{overflow:hidden;position:absolute;right:0;width:0;height:calc(100vh / 5);transition:width .6s var(--ani)}
#navWrap .nav_bg:before{display:block;content:"";position:absolute;top:-5%;left:-5%;z-index:-1;width:110%;height:110%;background:var(--primary)}
#navWrap .bg1{top:0;transition-delay:0s}
#navWrap .bg2{top:calc(100vh / 5);transition-delay:.1s}
#navWrap .bg3{top:calc((100vh / 5) * 2);transition-delay:.2s}
#navWrap .bg4{top:calc((100vh / 5) * 3);transition-delay:.3s}
#navWrap .bg5{top:calc((100vh / 5) * 4);transition-delay:.4s}
#navWrap.active .nav_bg{width:100%}
#navWrap .year{opacity:0;position:absolute;left:55%;bottom:40px;z-index:1;font-size:15px;font-weight:500;line-height:1.4}
#navWrap .year img{vertical-align:-2px;margin-right:3px}
#navWrap.active .year{opacity:1;transition:all .3s .6s}
#navWrap .nav_mn{position:absolute;top:19%;left:55%;z-index:2}
#navWrap .nav_mn li{overflow:hidden}
#navWrap .nav_mn li a{display:inline-block;transform:translateY(100%);font-size:38px;letter-spacing:-1px;line-height:2.45;color:#fff;transition:transform .6s var(--ani) 0s}
#navWrap .nav_mn li a:hover{color:#fff; transition:opacity .2s 0s}
#navWrap.active .nav_mn li a{transform:translateY(0)}
#navWrap.active .nav_mn li:nth-child(1) a{transition-delay:.8s}
#navWrap.active .nav_mn li:nth-child(2) a{transition-delay:.9s}
#navWrap.active .nav_mn li:nth-child(3) a{transition-delay:1s}
#navWrap.active .nav_mn li:nth-child(4) a{transition-delay:1.1s}
#navWrap.active .nav_mn li:nth-child(5) a{transition-delay:1.2s}
#navWrap .nav_mn li a span{transition:all .6s var(--ani);transition-delay:.3s}
#navWrap .nav_mn li a:hover span{padding-left:90px;transition-delay:0s}
#navWrap .nav_mn li a em{display:block;content:"";position:absolute;left:0;top:calc(50% - 3px);z-index:1;width:62px;height:5px;transform-origin:right;transform:scaleX(0);background:#fff;transition:transform .3s var(--ani) .3s}
#navWrap .nav_mn li a em:before,#navWrap .nav_mn li a em:after{content:"";position:absolute;right:-6.5px;bottom:0;background:#fff;transition:transform .6s var(--ani) 0s;z-index:2}
#navWrap .nav_mn li a em:before{width:5px;height:38px;transform-origin:0% 100%;transform:rotate(-90deg)}
#navWrap .nav_mn li a em:after{width:38px;height:5px;transform-origin:100% 0%;transform:translateX(-1px) rotate(0deg)}
#navWrap .nav_mn li a:hover em{transform-origin:left;transform:scaleX(1);transition-delay:0s}
#navWrap .nav_mn li a:hover em:before{transform:rotate(-45deg);transition-delay:.3s}
#navWrap .nav_mn li a:hover em:after{transform:translateX(-6px) rotate(-45deg);transition-delay:.3s}
#navWrap .contact{opacity:0;position:absolute;right:15%;top:21%;transform:translateY(40px);font-size:17px;line-height:1.8;transition:all .3s 0s}
#navWrap .contact p{margin-bottom:20px}
#navWrap.active .contact{opacity:1;transform:translateY(0);transition:all .3s .9s}

/* 반응형 메뉴 [s] */
#topmenuM{display:none;position:relative;width:100%;padding:15px;line-height:1.8;background-color:#fff;font-family:var(--k-font)}	
/* 로고 */
#m_logo{position:relative}
#m_logo a{display:inline-block}
/* 상단 버튼 및 오픈메뉴 */
#m_navBtn{position:absolute;top:12px;right:15px;z-index:5;width:30px;height:30px;cursor:pointer}
#m_navBtn span{display:block;position:absolute;top:50%;left:0;width:100%;height:2px;background-color:#222;transform:translateY(-50%);transition:all .3s ease}
#m_navBtn span:before,#m_navBtn span:after{display:block;content:"";position:absolute;left:0;width:100%;height:2px;background-color:#222;transition:all .3s ease}
#m_navBtn span:before{top:-8px}
#m_navBtn span:after{top:8px}
#m_navBtn.on span{background-color:transparent}
#m_navBtn.on span:before{top:0;transform:rotate(45deg)}
#m_navBtn.on span:after{top:0;transform:rotate(-45deg)}#m_navWrap{display:none;position:fixed;left:0;top:0;z-index:4;width:100%;height:100%;background-color:rgba(0,0,0,.7)}
#m_navWrap .inner{overflow-y:scroll;opacity:0;position:fixed;right:-40px;top:0;z-index:6;min-width:300px;width:75%;height:100%;padding:60px 0;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#m_navWrap.on .inner{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#m_navWrap .inner:before, #m_navWrap .inner:after{opacity:0;display:block;position:fixed;top:0;right:-40px;z-index:1;content:"";min-width:300px;width:70%;height:60px;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#m_navWrap .inner:after{top:auto;bottom:0}
#m_navWrap.on .inner:before, #m_navWrap.on .inner:after{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#m_navWrap .inner .mo_hd_copy{position:fixed;right:0;bottom:15px;z-index:2;min-width:300px;width:70%;font-size:12px;text-align:center;color:#888}
#m_navWrap .user_tip{padding:10px 20px;background-color:#f5f5f5}
#m_navWrap .user_tip li{display:inline-block}
#m_navWrap .user_tip li+li{margin-left:10px}
/* 대분류 */
#topmenuM .m_lnb .m_bmenu{display:block;position:relative;width:100%;height:52px;padding:0 20px;border:none;border-bottom:1px solid #ddd;background:none;font-size:16px;line-height:52px;color:#222;text-align:left;font-weight:500;font-family:var(--e-font),var(--k-font)}
#topmenuM .m_lnb .m_bmenu:after{float:right;content:"\f107";font-family:'fontawesome'}
#topmenuM .m_lnb .m_bmenu.on:after{content:"\f106"}
/* 소분류 */
#topmenuM .m_smenu{display:none;padding:15px 20px;border-bottom:1px solid #ddd;background-color:#f2f3f5}
#topmenuM .m_smenu li a{font-size:14px;color:#777}

@media(hover:hover){
#shGnb .sh_nav > li:hover > a{color:#fff!important}
#shGnb .sh_nav > li:hover .sh_lnb_s:before{opacity:1}
#shGnb .sh_nav > li:hover .sh_lnb_s a{color:rgba(255,255,255,.6)}
#shGnb .sh_lnb_s li a:hover{color:var(--primary)}
#shGnb .sh_nav > li:hover .sh_lnb_s:after{width:calc(100% + 40px)}
.pf_cate > ul > li ul a:hover{opacity:1}
}
@media (max-width:1400px){
#shGnb{padding:0 30px}
#shGnb .sh_nav > ul > li > a{padding:0 20px}
#navBtn{right:30px}
}
@media (max-width:1024px){
#shGnb{display:none}
#topmenuM{display:block}	
}
/* 반응형 메뉴 [e] */

/* PC 회원 메뉴 스타일 */
.sh_user_menu {
    position: absolute;
    top: 50%;
    right: 140px; /* navBtn 왼쪽에 배치 */
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 20;
}

.sh_user_menu .user_link {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 20px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.sh_user_menu .user_link:hover {
    background-color: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.6);
}

/* shGnb.on 상태일 때 (드롭다운 메뉴 열렸을 때) */
#shGnb.on .sh_user_menu .user_link {
    color: #333;
    border-color: rgba(0,0,0,0.2);
}

#shGnb.on .sh_user_menu .user_link:hover {
    background-color: rgba(0,0,0,0.05);
    border-color: rgba(0,0,0,0.3);
}

/* 모바일에서는 PC 회원메뉴 숨김 */
@media (max-width: 1024px) {
    .sh_user_menu {
        display: none;
    }
}

/* 1400px 이하에서 navBtn 위치 조정에 맞춰 */
@media (max-width: 1400px) {
    .sh_user_menu {
        right: 100px; /* navBtn이 30px로 이동했으므로 조정 */
    }
}