@charset "utf-8";
#topmenu_wrapper{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:75px;width:100%;max-width:var(--main-width);margin:0 auto;padding:100px 80px 0}
.sh_lnb_bg{display:none;position:absolute;top:100px;left:0;width:100%;min-width:1500px;height:140px;background-color:#e8e6e0;z-index:9999;box-shadow:0 7px 9px rgba(0, 0, 0, 0.05)}
#sh_hd.sub .sh_lnb_bg{background-color:#fff}

/* 로고 */
#topmenu_wrapper .sh_logo{position:relative;z-index:20}

/* 대분류  */
#topmenu_wrapper #top_nav{display:flex;width:max-content;height:62px}
#topmenu_wrapper #top_nav > li{position:relative;line-height:1}
#topmenu_wrapper #top_nav > li > a{display:block;padding:15px 30px;font-size:18px;font-weight:400;color:#000}
#topmenu_wrapper #top_nav > li > a.hov{color:#fff;background-color:#000;border-radius:100px}

/* 소분류 */
#topmenu_wrapper .sh_lnb_s{display:none;position:absolute;left:50%;transform:translateX(-50%);min-width:100%;width:max-content;margin-top:14px;z-index:9999;background-color:#000;border-radius:15px}
#topmenu_wrapper .sh_lnb_s li:first-child{padding-top:24px}
#topmenu_wrapper .sh_lnb_s li:last-child{padding-bottom:24px}
#topmenu_wrapper .sh_lnb_s li a{display:block;line-height:1.8;text-align:center;color:rgba(255,255,255,0.7);font-size:16px;transition:color .2s}
#topmenu_wrapper .sh_lnb_s li a:hover{color:#fff}

/* 반응형 메뉴 [s] */
#topmenuM{display:none;position:relative;width:100%;padding:20px 15px;line-height:1.8;font-family:'notokr-regular'}
#sh_hd.sub #topmenuM{border-bottom:1px solid #e1e1e1;background-color:#fff}

/* 로고 */
#m_logo{position:relative}
#m_logo a{display:inline-block}
#m_logo img{width:160px;max-height:60px}

/* 상단 버튼 및 오픈메뉴 */
#m_navBtn{position:absolute;top:18px;right:15px;z-index:5;width:30px;height:30px;cursor:pointer}
#m_navBtn span{display:block;position:relative;top:50%;transform:translateY(-50%);width:100%;height:2px}
#m_navBtn span:before, #m_navBtn span:after{display:block;content:"";position:absolute;top:-6px;width:30px;height:2px;background-color:#000;-webkit-transition:all .1s;transition:all .2s}
#m_navBtn span:after{top:6px;width:16px;right:0;background-color:var(--primary)}
#m_navBtn.on{position:fixed}
#m_navBtn.on span:before{top:0;right:-4px;background-color:#111;transform:rotate(45deg)}
#m_navBtn.on span:after{top:0;right:-4px;width:30px;transform:rotate(-45deg);background-color:#222}
#navWrap{display:none;position:fixed;left:0;top:0;z-index:4;width:100%;height:100vh;background-color:rgba(0,0,0,.7)}
#navWrap .inner{overflow-y:scroll;opacity:0;position:fixed;right:-40px;top:0;z-index:6;min-width:300px;width:75%;height:100vh;padding:60px 0;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#navWrap.on .inner{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#navWrap .inner:before, #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}
#navWrap .inner:after{top:auto;bottom:0}
#navWrap.on .inner:before, #navWrap.on .inner:after{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#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}
#navWrap .user_tip{padding:10px 20px;background-color:#f5f5f5}
#navWrap .user_tip li{display:inline-block}
#navWrap .user_tip li+li{margin-left:10px}

/* 대분류 */
#topmenuM .m_lnb > li:first-child{display:none}
#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-family:'notokr-medium'}
#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}

/* 반응형 [s] */
@media (hover:hover){
#top_nav ul a:hover{opacity:.75}
}
@media (max-width:1024px){
#topmenuM{display:block}
#topmenuM::before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;backdrop-filter:blur(3px)}
#topmenu_wrapper{display:none}
}
/* 반응형 [e] */

/* 메뉴버튼 */
#sh_nav{font-family:var(--e-font-gothic)}
#sh_nav #navBtn{position:fixed;top:60px;right:60px;z-index:101;display:flex;align-items:center;gap:8px;font-size:16px;line-height:1;cursor:pointer;transition:all .3s cubic-bezier(.26,1.04,.54,1)}
#sh_nav #navBtn .btn__tip{position:relative;display:flex;gap:8px;width:23px;height:23px}
#sh_nav #navBtn .btn__tip .line{width:1px;height:18px;background-color:#000;transition:background-color .3s var(--ani),}
#sh_nav #navBtn .btn__tip .line:nth-child(2){width:2px}
#sh_nav #navBtn .btn__tip .line:last-child{width:4px}
#sh_nav #navBtn.active{transition:color 0.3s var(--ani)}
#sh_nav #navBtn.active .btn__tip .line:not(:last-child){position:absolute;top:50%;left:50%;width:2px;height:20px}
#sh_nav #navBtn.active .btn__tip .line:first-child{transform:translate(-50%, -50%) rotate(45deg)}
#sh_nav #navBtn.active .btn__tip .line:nth-child(2){transform:translate(-50%, -50%) rotate(-45deg)}
#sh_nav #navBtn.active .btn__tip .line:last-child{display:none}
#sh_nav #navBtn.scroll-light, #sh_nav #navBtn.active{color:#fff}
#sh_nav #navBtn.scroll-light .line, #sh_nav #navBtn.active .btn__tip .line{background-color:#fff}

/* 메뉴오픈 */
#navAll{position:fixed;top:-100vh;left:0;z-index:100;min-width:1280px;width:100%;height:100vh;color:#fff}
#navAll .link-home{position:absolute;top:60px;left:60px;width:100%;z-index:10;opacity:0;transition:opacity .2s var(--ani)}
#navAll .nav_bg_wrap{position:absolute;top:0;right:0;z-index:0;width:100%;height:100%}
#navAll .nav_bg{overflow:hidden;position:absolute;right:0;width:0;height:calc(100vh / 3);transition:width .6s var(--ani)}
#navAll .nav_bg:before{display:block;content:"";position:absolute;top:-5%;left:-5%;z-index:-1;width:110%;height:110%;background:url(./texture.jpg) 50%;animation:grain .8s steps(1) 0s infinite}
#navAll .bg1{top:0;transition-delay:.2s}
#navAll .bg2{top:calc(100vh / 3);transition-delay:.3s}
#navAll .bg3{top:calc((100vh / 3) * 2);transition-delay:.4s}
#navAll.active .nav_bg{width:100%}
#navAll .year{opacity:0;position:absolute;left:40px;bottom:40px;z-index:1;font-size:15px;font-weight:500;line-height:1.4}
#navAll .year img{vertical-align:-2px;margin-right:3px}
#navAll.active .year{opacity:1;transition:all .3s .6s}
#navAll .nav_mn{position:absolute;top:19%;left:12%;z-index:2}
#navAll .nav_mn li{overflow:hidden}
#navAll .nav_mn li a{display:inline-block;transform:translateY(100%);font-size:70px;font-weight:300;letter-spacing:-1px;line-height:1.2;color:rgba(255,255,255,.25);text-transform:uppercase;transition:transform .6s var(--ani) 0s}
#navAll .nav_mn li a:hover{color:#fff;transition:opacity .2s 0s}
#navAll.active .nav_mn li a{transform:translateY(0)}
#navAll.active .nav_mn li:nth-child(1) a{transition-delay:.8s}
#navAll.active .nav_mn li:nth-child(2) a{transition-delay:.9s}
#navAll.active .nav_mn li:nth-child(3) a{transition-delay:1s}
#navAll.active .nav_mn li:nth-child(4) a{transition-delay:1.1s}
#navAll.active .nav_mn li:nth-child(5) a{transition-delay:1.2s}
#navAll .nav_mn li a span{transition:all .6s var(--ani);transition-delay:.3s}
#navAll .nav_mn li a:hover span{padding-left:110px;transition-delay:0s}
#navAll .nav_mn li a em{display:block;content:"";position:absolute;left:0;top:calc(50% - 3px);z-index:1;width:82px;height:6px;transform-origin:right;transform:scaleX(0);background:#fff;transition:transform .3s var(--ani) .3s}
#navAll .nav_mn li a em:before,#navAll .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}
#navAll .nav_mn li a em:before{width:6px;height:58px;transform-origin:0% 100%;transform:rotate(-90deg)}
#navAll .nav_mn li a em:after{width:58px;height:6px;transform-origin:100% 0%;transform:translateX(-1px) rotate(0deg)}
#navAll .nav_mn li a:hover em{transform-origin:left;transform:scaleX(1);transition-delay:0s}
#navAll .nav_mn li a:hover em::before{transform:rotate(-45deg);transition-delay:.3s}
#navAll .nav_mn li a:hover em::after{transform:translateX(-6px) rotate(-45deg);transition-delay:.3s}
#navAll .contact{opacity:0;position:absolute;right:15%;top:21%;transform:translateY(40px);font-size:17px;line-height:1.6;transition:all .3s 0s}
#navAll .contact p{margin-bottom:20px}
#navAll.active .contact{opacity:1;transform:translateY(0);transition:all .3s .9s}
@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-1%,-1%)}20%{transform:translate(1%,1%)}30%{transform:translate(-2%,-2%)}40%{transform:translate(3%,3%)}50%{transform:translate(-3%,-3%)}60%{transform:translate(4%,4%)}70%{transform:translate(-4%,-4%)}80%{transform:translate(2%,2%)}90%{transform:translate(-2%,-2%)}}

@media (max-width:1024px){
#sh_nav{display:none}
#m_navBtn.scroll-light span::before{background-color:#fff}
#m_navBtn.scroll-light.on span::before{background-color:#222}
}