#main{overflow-x: hidden;}
.scrlLock { overflow-y: hidden;}
#header {position: fixed;top:0;left:0;width: 100%;border-bottom: 0;z-index: 9998;}
#header.sub-header{position: sticky !important;}
 
#header .container{display:flex;align-items: center; max-width: 1850px; padding: 0 2rem; margin: auto;}
#header .logo {width:15%}
#header .logoImg_on{display: none;}
#header .logo a{display: inline-block;}
#header #menu{width:70%;font-family: var(--notoSans), serif;}
#header #menu .menu{width: calc(100% / 9);position: relative;top:0;display: block!important;}
#header #menu .depth01{padding:25px 0;display:block; text-align: center; font-weight: 500;}
#header #menu .depth02{display:none;position:absolute;top:100%;left:50%;width:100%; transform: translateX(-50%);}

#header{transition: .3s all ease;}


/* board */
#header.board {position: fixed;top: 0;left: 0;width: 100%;z-index: 9998;box-shadow: 0 0 7px rgb(0 0 0 / 10%); backdrop-filter:blur(10px);}

.sub.board{padding-top: 74px;}

/* sticky */
#header.sticky {position: fixed;top: 0px;left: 0;width: 100%;z-index: 9998;box-shadow: 0 0 7px rgb(0 0 0 / 10%);backdrop-filter:blur(10px);}
#header.sticky #menu .depth01{color:#484848;}
#header #menu .depth01 span{position: relative;}

.nav_btn{display: none;width: 30px;height: 20px;position: absolute;top: 17px;right: 5%;transition: .1s;cursor: pointer;z-index:10000;}
.nav_btn span{width: 100%;height: 2px;background-color: #46423a;display: inline-block;position: absolute;border-radius: 5px; transition: all 0.3s;}
.nav_btn .border1 {top: 0; right:0; width: 100%;}
.nav_btn .border2 {top: 0; right:0; bottom: 0; margin: auto; width: 100%;}
.nav_btn .border3 {bottom: 0px; right:0; width: 100%;}


.nav_btn.open {transform: rotate(360deg);}
.nav_btn.open span{background-color: #000;}
.nav_btn.open .border1 {transform: translateY(16px) rotate(-45deg);width: 100%; top:-13px; }
.nav_btn.open .border2 {opacity: 0; }
.nav_btn.open .border3 {transform: translateY(-16px) rotate(45deg);width: 100%; }

#footer{background: url(/img/main/footer_bg.jpg) no-repeat center / cover; padding-top: 340px; padding-bottom: 40px; color: #f7f5f2;}
#footer .fmenu{gap: 15px;}
#footer a{color: #f7f5f2;}
#footer .line{width: 100%; height: 1px; background-color: #665f57;}
#footer .m_wrap{padding-left: 80px;}
#footer .m_wrap .root_daum_roughmap{width: 100%;}
#footer .m_wrap .root_daum_roughmap .wrap_map{height: 230px;}

.quick { position: fixed; right: 2.3%; bottom: 100px; z-index: 100; }
.quick_menu li { position: relative; margin-bottom: 10px; }
.quick_menu li a { display: block;}
.quick_menu li a span { opacity:0;position: absolute; top: 50%; right: 65px; white-space: pre; padding: 5px 10px;  background-color: #fff; z-index: -1; border-radius:2px; transform: translateY(-50%); transition: all 0.3s; }
.quick_menu li a span:after{border-bottom: 5px solid transparent;
  border-top: 5px solid transparent;
  border-left: 5px solid #fff;
  border-right: 5px solid transparent; display: block; content:''; position: absolute; top: 50%; right: -10px; transform: translateY(-50%);}
.quick_menu li a:hover span{opacity: 1;}
.quick_menu li.on a span { display: block; }
.top{margin-top: 10px; border-radius: 100%;line-height: 50px; display: block; }



.quick_btn { width: 50px; height: 50px; display: block; border-radius: 50%; background: url(/img/main/pc_minus.png) no-repeat center #b2a89b; cursor: pointer; }
.quick_btn.on { background: url(/img/main/pc_plus.png) no-repeat center #b2a89b;}
.root_daum_roughmap .wrap_controllers,.root_daum_roughmap .cont .section.lst, .root_daum_roughmap .wrap_btn_zoom{display: none !important;}

@media (min-width:990px){
    .dropdown-menu {position: absolute;width:100%}
    .dropdown{position:relative;top:0;left:0}

    #header .container{position: relative;top:0;left:0;}
    #header .dropdown-menu {visibility: hidden;opacity: 0;display: block!important;transition: all .5s ease}
    #header #menu .depth01{transition: all .5s ease;}
    #header .dropdown-menu.visible{visibility: visible;opacity: 1;} 

    #header .tel {display: none;}
    
    #header .logo{width: 210px;display:flex;align-items: center; padding: 10px 0;}
    #header #menu{margin-left: auto; margin-right: 3%;}
    #header #menu #lnb .depth02{background-color: #FBFAF6;padding: 10px;text-align: center; margin-top: 1px; }
    #header #menu .depth02{width: 180px;}
    #header .depth02 a{display:inline-block;position:relative;top:0;left:0;padding: 10px 0;color:#484848;padding-right: 10px; font-weight: 500; transition: all .3s;}
    #header .depth02 a:hover{color: var(--pointcolor); text-decoration: underline; text-underline-offset: 4px;}
    #header .depth01 span{position: relative;}
    #header .depth01.on span:after{display: none;content:"";clear:both;width: 6px;height: 6px;position:absolute;top: -5px;left:-10px;transition: .3s all ease;background-color: #be875f; border-radius: 50%;}
    #header .depth01.on span:after{display: block;}

    #header .login{width:10rem; justify-content: flex-end;}
    #header .login li{width: 50%;padding: 0 5px; position: relative;}
    #header .login li:first-child:after {content:''; height: 40%; width: 1px; background-color: #46423a; position: absolute; right:0; top:0; bottom:0; margin: auto;}
    #header.sticky .login li:first-child:after {background-color: #484848;}
    #header .login li a{padding:3px 0;text-align: center;border-radius: 150px;border:1px solid transparent;display: block; font-size: 18px; }
    #header.sticky .login li a{color:#484848; }
 

    #header .nav-menu .login {display: none;}

 
}

@media (max-width:1580px){
    #header .container{width: 100%;padding: 0 15px}
    #header #menu{width: calc(100% - 250px);margin: 0;}
    #header .logo{width: 100px}
    #header .depth02 a{padding: 0.9375rem 0;}
    #header #menu .depth02{width: 150px;}

    #ctt{width: 90%;}

}
@media (max-width: 1240px) {
    #header #menu {
        width: calc(100% - 180px);
    }
}
@media (max-width: 990px) {
    .header_bg{width: 100%; height: 100%; background-color: rgba(0,0,0,0.8); position: fixed; top: 0; left: 0; z-index: 99; display: none;}
    #header{border-bottom: 0;}
    #header .container{width: 90%;padding: 0;}
    html.open-menu {overflow: hidden;}
    .nav_btn{display: inline-block; top: 25px;}
    .dropdown-menu{height:auto;width:100%!important}
    .nav_btn.sticky.open span {background-color: #000;}
    #header.mOpen{width: 80% !important; margin-left: 20% !important;}
    #header .nav-menu{padding:0;width: 80%;height:100%;overflow: scroll;position: fixed;right: 0;top: -100%;bottom: 0;background-color: #fff;z-index: 1;letter-spacing: 0px;transition-timing-function: ease-in-out;
        -ms-transition-timing-function: ease-in-out;
        -moz-transition-timing-function: ease-in-out;
        -webkit-transition-timing-function: ease-in-out;
        -o-transition-timing-function: ease-in-out;
        transition-duration: .5s;
        -ms-transition-duration: .5s;
        -moz-transition-duration: .5s;
        -webkit-transition-duration: .5s;
        -o-transition-duration: .5s;padding: 50px 0 0 0; 
    }
    #header .nav-menu.on {top: 0;z-index: 9997;} 
    #header #menu #lnb{padding: 30px 0;}
    #header #menu #lnb .menu {width: 100%!important;text-align: left;}
    #header #menu #lnb .menu.active:after{/* width: 86%;transition: .5s all ease .5s; */ display: none;}
    #header #menu #lnb .depth01 {padding: 15px 10%;font-size: 2rem;text-align: left;font-family: var(--mainfont), sans-serif;color: #46423a;}

     #header  .menu.active .depth01 span:after{display: none;content:"";clear:both;width: 6px;height: 6px;position:absolute;top: -5px;left:-10px;transition: .3s all ease;background-color: #be875f; border-radius: 50%;}
    #header  .menu.active .depth01 span:after{display: block;}

    #header.mOpen #menu #lnb .depth01.void_link {position: relative;}
    #header.mOpen #menu #lnb .active .depth01.void_link:after { display: none;}
    #header.mOpen #menu #lnb .active .depth01.void_link:before {transform: rotate(90deg);}
    #header #menu #lnb .menu01 .depth01.void_link:after,   #header #menu #lnb .menu03 .depth01.void_link:after,
    #header #menu #lnb .menu01 .depth01.void_link:before,   #header #menu #lnb .menu03 .depth01.void_link:before{display: block;}

    #header #menu #lnb .menu .depth01{color: #46423a;font-weight: 500; }
   
    #header #menu #lnb .menu.active .depth02 a { color: #46423a;}
    #header #menu #lnb .depth02 {left: 0;transform: translateX(0);position: relative;top: 0;font-size: 1.5rem; border-radius: 5px;}
    #header #menu #lnb .depth02 a{padding: 10px 12%;color: #fff;display: block;}
    #header #menu #lnb .depth02 a.void_link span {transform: rotate(90deg);transition: .5s all ease;}
    #header #menu #lnb .depth02 a.void_link {display: flex;justify-content: space-between;}

    #header #menu #lnb .depth02 > li.active a span{transform: rotate(270deg);}

    
    #header #menu .depth01.on span:after{content: ''; display: block; width: 7px; height: 7px; background-color: var(--pointcolor); border-radius: 50%; position: absolute; top: 0; left: -10px;}
 
    #header .menu-btn {display: block;width: 25px;height: 15px;top:0; bottom:0; margin:auto; right: 5%;position: absolute; z-index: 9999;cursor: pointer;-webkit-transition: top 300ms;transition: top 300ms;}
    #header .menu-btn span {opacity: 1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";right: 0;display: block;width: 100%;height: 1px;border-radius: 10px;background-color: #000;position: absolute;-webkit-transform: rotate(0deg);transform: rotate(0deg);-webkit-transition: .4s ease-in-out;transition: .4s ease-in-out;}
    #header .menu-btn .btn_line01 {top: 0;}
    #header .menu-btn .btn_line02 {top: 7px;}
    #header .menu-btn .btn_line03 {bottom: 0;}

    #header .menu-btn.on {position: fixed;top: 20px;right: 5%;bottom: auto;height:35px;width:35px}
    #header .menu-btn.on span:nth-child(1) {top: 17px;-webkit-transform: rotate(135deg);transform: rotate(135deg);}
    #header .menu-btn.on span:nth-child(2) {opacity: 0;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";right: -60px;}
    #header .menu-btn.on span:nth-child(3) {top: 17px;-webkit-transform: rotate(-135deg);transform: rotate(-135deg);}


    #header .logo{padding: 15px 0;width: auto; }
    #header.mOpen .logo{position: absolute;top: 0;/* left:5%; */z-index: 9999;} 


    #header .login{display: none;}
    #header #menu .login {display: flex;width: 100%;padding: 0 5%;margin: 5rem 0 2rem 0;}
        #header #menu .login li {position: relative; padding: 5px; background-color: #0c3f40; border-radius: 8px;}
    #header .login li{padding-right: 10px; text-align: center;}
    #header .login li a{font-size: 1.875rem; display: block; color: #faf8ef;}

/* 1. 모바일 메뉴(sitemapOn)가 열렸을 때 헤더의 위치를 강제 고정 */
#header.sitemapOn {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important; /* 메뉴가 전체를 덮도록 */
    z-index: 9999 !important;
}

/* 2. 스크롤 내렸을 때의 sticky 상태에서 발생하는 레이아웃 꼬임 방지 */
#header.sticky {
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    left: 0 !important;
}

/* 3. 모바일에서 가로 스크롤 생기는 원인 원천 차단 */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
}

}

@media(max-width: 1800px){
    #footer .point-font.width30{width: 20%;}
    #footer .i_info{width: 40%;}
}

@media(max-width: 1240px){
    #footer #information .flex-between{flex-wrap: wrap;}
    #footer .point-font.width30{width: 20%;}
    #footer .i_info{width: 80%;}
    #footer .m_wrap{width: 100%; padding-left: 0; margin-top: 5rem;}
}

@media(max-width: 990px){
    #footer .point-font.width30{width: 100%; margin-bottom: 3rem;}
    #footer .i_info{width: 100%;}
    #footer .fmenu{margin-top: 3rem;}

     #header .logo img{max-width: 70%;}
}

@media(max-width: 500px){
    #footer .i_info>.flex{flex-direction: column;}
    #footer .i_info>.flex>.width15, #footer .i_info>.flex>.width85{width: 100%;}
    #footer .i_info>.flex>.width85{padding-left: 0; margin-top: 10px;}
}

/* 모바일 1차 메뉴 + / - 버튼 */
@media (max-width: 990px) {

    /* 2차 메뉴가 있는 메뉴만 */
    #header #menu #lnb > li.menu:has(> .depth02) > .depth01 {
        position: relative;
        padding-right: 60px;
    }

    /* + 가로선 */
    #header #menu #lnb > li.menu:has(> .depth02) > .depth01::after {
        content: "";
        position: absolute;
        right: 10%;
        top: 50%;
        width: 16px;
        height: 1px;
        background: #46423a;
        transform: translateY(-50%);
    }

    /* + 세로선 */
    #header #menu #lnb > li.menu:has(> .depth02) > .depth01::before {
        content: "";
        position: absolute;
        right: calc(10% + 7.5px);
        top: 50%;
        width: 1px;
        height: 16px;
        background: #46423a;
        transform: translateY(-50%);
        transition: .3s;
    }

    /* 메뉴 열렸을 때 세로선 숨김 → - */
    #header #menu #lnb > li.menu.active > .depth01::before {
        opacity: 0;
    }
}