.blind {overflow:hidden; font-size:0; line-height:0; position:absolute; height:0; width:0;}
.open:after {background-color:#000; content:""; opacity:0.6; position:fixed; right:0; top:0; height:100%; width:100%; z-index:400;}

#header {transition-duration:0.5s; -webkit-transition-duration:0.5s; z-index:9999;}
#header .menu_open {
    width:40px;
    height:24px;
    background: url('../images/hamberger_menu_dark.svg') no-repeat 50% 50%;
    background-size: 100%;
}
#header .menu_close {
    background:url(../images/btn_close_33x33.png) no-repeat 0 0; 
    background-size: 100%;
    cursor:pointer; 
    position:absolute; 
    top:37px; 
    right:66px;
    height:26px; 
    width:26px; 
    z-index:510;
}

/* GNB */
#gnb {
    position:relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height:100px;
}
#gnb .menu_open {right:0;}
/* #gnb .open {display:block;} */
#gnb .open .gnb_wrap {
    opacity:1;
    right:0;
    /* position: relative; */
    height: 100vh;
}
#gnb .gnb_wrap {
    height: 100%; 
    background-color:#fff; 
    opacity:0; 
    position:fixed; 
    right:-200%; 
    top:0; 
    transition:opacity 0.8s, 
    right 0.8s; 
    -webkit-transition:opacity 0.8s, 
    right 0.8s; 
    width:40%; 
    max-width: 650px;
    z-index:500;
    padding:100px 80px 50px;
}
#gnb .gnb_container {
    overflow: hidden;
    height:auto !important
}
#gnb .gnb_menu {overflow:hidden; text-align:center; position:absolute; right:0; left:0; top:50%; margin-top:-166px; height:335px;}
#gnb .gnb_menu ul {display:inline-block; overflow:hidden;}
#gnb .gnb_menu li {overflow:hidden;}
#gnb .gnb_menu li + li {margin-top:50px;}
#gnb .gnb_menu a {display:inline-block; overflow:hidden; position:relative; height:40px;}
#gnb .gnb_menu a span {display:block; overflow:hidden; height:26px;}

.menu_close {transition:transform 0.3s; -webkit-transition:transform 0.3s;}
.menu_close:hover {transform:rotate(-90deg); -webkit-transform:rotate(-90deg);}

/*** 아코디언메뉴 ***/
#accordion_wrap,
#accordion_wrap ul,
#accordion_wrap ul li,
#accordion_wrap ul li a {
  list-style: none;
  display: block;
  position: relative;
}
#accordion_wrap {
    width: 100%;
    overflow-y: auto;
    max-height: 80vh;
}
#accordion_wrap::-webkit-scrollbar {width: 4px !important;}
#accordion_wrap::-webkit-scrollbar-thumb {background-color: #ebebeb; border-radius: 0;}
#accordion_wrap::-webkit-scrollbar-track {background-color:#f5f5f5;}

#accordion_wrap ul ul {
  display: none;
}
#accordion_wrap > ul > li > a {
    padding: 20px 0px 17px;
    z-index: 2;
    text-transform:uppercase;
    font-size: 34px;
    letter-spacing: 0.02em;
    font-weight: 400;
    line-height: 1em;
}
/* #accordion_wrap > ul > li.open > a {
    padding-bottom: 10px;
} */
#accordion_wrap > ul > li > a:hover,
#accordion_wrap > ul > li.active > a,
#accordion_wrap > ul > li.open > a {
  /* border-bottom:1px solid #ebebeb; */
}

#accordion_wrap > ul > li:after {
  display: block;
  position: absolute;
  content: "";
  background: url('../images/menu_arrow.svg') no-repeat 50% 50%;
  background:none;
  background-size: 100%;
  width: 24px;
  height: 10px;
  right: 0;
  z-index: 10;
  top:24px;
}
#accordion_wrap > ul > li.map:after {
    display: none;
}
#accordion_wrap > ul > li.open:after {
  content: "";
  transform:rotate(180deg); -webkit-transform:rotate(180deg);
  transition: rotate 0.4s;
}

#accordion_wrap > ul > li > ul > li.has-sub:after {
    display: block;
    position: absolute;
    content: "";
    background: url('../images/menu_arrow.svg') no-repeat 50% 50%;
    background:none;
    background-size: 100%;
    width: 24px;
    height: 10px;
    right: 0;
    z-index: 10;
    top:12px;
  }
  #accordion_wrap > ul > li > ul > li.has-sub.open:after {
    content: "";
    transform:rotate(180deg); -webkit-transform:rotate(180deg);
    transition: rotate 0.4s;
  }

#accordion_wrap ul ul li a {
  cursor: pointer;
  line-height: 1em;
  /* padding: 10px 20px; */
  z-index: 1;
}
#accordion_wrap ul ul li.open a {
    /* padding-bottom:10px; */
}
#accordion_wrap > ul > li > ul > li {
    line-height: 1em;
    padding:10px 20px 8px;
    font-weight: 400;
    font-size: 21px;
}
#accordion_wrap > ul > li > ul > li:first-child {
    padding-top: 5px;
}
#accordion_wrap > ul > li > ul > li:last-child {
    padding-bottom: 20px;
}
#accordion_wrap > ul > li > ul > li > ul > li {
    line-height: 1em;
    padding: 10px 20px; 
}
#accordion_wrap > ul > li > ul > li > ul > li:first-child {
  padding-top: 15px;
}

#accordion_wrap ul ul li:hover > a,
#accordion_wrap ul ul li.open > a,
#accordion_wrap ul ul li.active > a {

}
#accordion_wrap ul ul ul li a {
  padding-left: 30px;
}
#accordion_wrap > ul > li > ul > li:last-child > a,
#accordion_wrap > ul > li > ul > li.last > a {
  border-bottom: 0;
}
#accordion_wrap > ul > li > ul > li.open:last-child > ul > li:last-child > a {
  border-bottom: 0;
}
.menu_overlay {
    position: fixed;
    display: none;
    background-color: transparent;
    width:calc(100vw - 650px);
    height:100vh;
    z-index:410;
    left: 0;
    top: 0;
    margin: 0 !important;
}
.menu_overlay.block {
    display: block;
}
/*** 아코디언메뉴 ***/