/*============================
      header
============================*/

/* header top */
#header {
  position: fixed;
  width: 100%;
  z-index: 999;
  transition: background 0.3s;
}

#header .logo_wrap {
  padding:  25px;
}

#header .logo {
  display: block;
  position: relative;
  z-index: 9999;
  font-weight: 600;
  font-size: 25px;
}


#header .h_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#header .h_menu{
  padding: 10px 20px; 
  display:flex; 
  align-items:center;
}

/****** 메뉴 버튼 ******/
.h_menu{
  padding: 20px; 
  display: flex; 
  align-items: center;
  opacity: 0;
  margin-top: -9999px;
}

.menu_btn{
  width: 35px; height: 35px;
  border:1px solid rgba(35,25,22,.15);
  border-radius: 999px;
  background:#fff;
  display: grid; place-items: center;
  position: relative;
  z-index: 999;
}

.menu_shape{
  width: 28px; height: 28px;
  position: relative;
  display: block;
  z-index: 999;
}

.menu_shape::before{
  content:"";
  position: absolute; left: 50%; top: 50%;
  width: 6px; height: 6px;
  background:#231916;
  border-radius: 50%;
  transform: translate(-50%,-50%) scale(1);
  transition: transform .22s ease;
}

.menu_shape i,
.menu_shape::after{
  content:"";
}

.menu_shape span{display:none;}


.menu_shape::after{
  content:"";
  position:absolute; left:50%; top:50%;
  width:18px; height:18px;
  transform:translate(-50%,-50%) scale(.7);
  opacity:0;
  transition:opacity .22s ease, transform .22s ease;
  background:
    linear-gradient(#231916,#231916) 50% 50%/100% 1.5px no-repeat,
    linear-gradient(#231916,#231916) 50% 50%/1.5px 100% no-repeat;
}

.menu_btn:hover .menu_shape::before{
  transform:translate(-50%,-50%) scale(1.4);
}

body.is-menu-open .menu_btn:hover .menu_shape::before{
  transform:translate(-50%,-50%) scale(0);
}
body.is-menu-open .menu_shape::before{
  transform:translate(-50%,-50%) scale(0);
}
body.is-menu-open .menu_shape::after{
  opacity:1;
  transform:translate(-50%,-50%) scale(1) rotate(45deg);
}

/* 패널 */
.gnb_panel{
  position:fixed; top:0; left:0;
  width: 100%;
  height:100vh;
  background:rgba(255,255,255, .95);
  border-right:1px solid rgba(35,25,22,.18);
  transform:translateX(-100%);
  transition:transform .35s ease;
  z-index:900;
  padding:20px;

  display: flex;
  align-items: center;
}

body.is-menu-open .gnb_panel{transform:translateX(0);}

.gnb_dim{
  position:fixed; inset:0;
  background:rgba(0,0,0,.05);
  z-index: 51;
}

.m_gnb_list{
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 14px;
}

.m_gnb_list a{
  display: block;
  padding: 10px 6px;
  font-size: 15px;
}



/****** //메뉴 ******/

/*============================
      왼쪽 메뉴바
============================*/

.left_inner {
  position: fixed; top: 0; left: 0;
  width: 420px;
  height: 100vh;
  padding: 82px 25px 25px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  z-index: 50;
  transition: width .5s;
}


/****** gnb ******/
.left_inner .gnb_list {
  padding-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.left_inner .gnb_list li a {
  position: relative;
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
}

.left_inner .gnb_list a:hover{
  color: rgba(0, 0, 0, 0.6);
}
.left_inner .gnb_list a.font_weight {
  font-weight: 500;
}

/* .left_inner .gnb_list.SMN_effect-32 a{
  padding: 0;
  z-index: 1;
}

.left_inner .gnb_list.SMN_effect-32 a:hover{
  color: rgba(0, 0, 0, 0.6);
  -ms-animation: circleOpacity forwards 1s;
  -moz-animation: circleOpacity forwards 1s;
  -webkit-animation: circleOpacity forwards 1s;
  animation: circleOpacity forwards 1s;
}

@keyframes circleOpacity{
  0%{ opacity: 1; }
  100%{ opacity: 1; }
}

.left_inner .gnb_list.SMN_effect-32 a:before,
.left_inner .gnb_list.SMN_effect-32 a:after{
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, 80%);
  content: "◯";
  display: block;
  width: 100%;
  font-size: 0px;
  color: rgba(0, 0, 0, 1);
  text-align: center;
  z-index: -1;
}

.left_inner .gnb_list.SMN_effect-32 a:hover:before{
  animation: circledrop 1s;
  -ms-animation: circledrop 1s;
  -moz-animation: circledrop 1s;
  -webkit-animation: circledrop 1s;
}

.left_inner .gnb_list.SMN_effect-32 a:hover:after{
  animation: circledrop 1s 0.5s;
  -ms-animation: circledrop 1s 0.5s;
  -moz-animation: circledrop 1s 0.5s;
  -webkit-animation: circledrop 1s 0.5s;
}

@keyframes circledrop{
  0%{
    opacity: 1;
    font-size: 0;
    transform: translate(-50%, -50%) scale(0);
  }
  100%{
    opacity: .2;
    font-size: 30px;
    transform: translate(-50%, -70%) scale(1);
  }
} */


/****** PC footer ******/

.footer_wrap {
  font-size: 12px;
  color: rgba(35,25,22,1);
}

.footer_wrap h2 {
  font-size: 13px;
  font-weight: 400;
  color: rgba(35,25,22,1);
  padding-bottom: 30px;
}

.footer_wrap .copyright {
  padding-left: 2px;
}
.footer_wrap .copyright p {
  font-weight: 400;
  font-size: 11px;
  position: relative;
  padding-left: 15px;
  line-height: 1.5;
}
.footer_wrap .copyright p span {
  font-weight: 600;
  position: absolute;
  left: 0;
}
.footer_wrap .copyright p:first-child span {
  top: 0;
}
.footer_wrap .copyright p:nth-child(2) span {
  top: 0;
}
.footer_wrap .copyright p:nth-child(3) span {
  top: 0.4px;
}


.footer_wrap .copyright small {
  display: block;
  font-weight: 300;
  font-size: 8px;
  padding-top: 8px;
}

@media screen and (max-width:1440px) {
    .left_inner {
      width: 350px;
    }
}

@media screen and (max-width:1280px) {
  .left_inner {
      width: 300px;
    }
}

@media screen and (max-width:768px) {
  #header {
    background: rgba(255,255,255, .8);
  }

  .left_inner {
    display: none;
  }
  #header .logo_wrap {
    padding: 18px 20px;
  }
  #header .logo {
    font-size: 24px;
  }
  .h_menu{
    opacity: 1;
    margin-top: 0;
  }
}

@media screen and (max-width:430px) {
  #header .logo {
    font-size: 20px;
  }
  #header .h_menu {
    padding: 10px 20px;
  }
  .menu_btn {
    width: 30px;
    height: 30px;
  }
}

/****** MOBILE footer ******/
#footer {
  padding: 20px;
  display: none;
}

@media screen and (max-width:768px) {
  #footer {
    display: block;
  } 
}
@media screen and (max-width:500px) {
  #footer {
    padding-top: 100px;
  }

  #footer.main_footer {
    padding: 0px 20px 20px;
  }
  .footer_wrap h2 {
    font-size: 12px;
    padding-bottom: 10px;
  }
  .footer_wrap .copyright {
    padding-left: 1px;
  }
  .footer_wrap .copyright p {
    font-size: 9px;
    padding-left: 12px;
  }
}