.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 공통 이너 */
.common_ctt_inner {
  max-width: 1360rem;
  margin: 0 auto;
  padding: 0 20rem;
}

/* 공통 셀렉트 */
.common_select {
  position: relative;
}

p::selection,
span::selection,
div::selection {
  background: #000;
  color: #fff;
}

/* 파이카프션 캡션 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {
  display: inline-block;
  position: relative
}

#captcha legend {
  position: relative;
  font-size: 15px;
  line-height: normal;
  text-indent: initial;
  overflow: visible;
}

#captcha legend label {
  font-size: 14px
}

#captcha #captcha_img {
  height: 40px;
  border: 1px solid #898989;
  vertical-align: top;
  padding: 0;
  margin: 0
}

#captcha #captcha_mp3 {
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  vertical-align: middle;
  overflow: hidden;
  cursor: pointer;
  background: url('../../../img/captcha2.png') no-repeat;
  text-indent: -999px;
  border-radius: 3px
}

#captcha #captcha_reload {
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  vertical-align: middle;
  overflow: hidden;
  cursor: pointer;
  background: url('../../../img/captcha2.png') no-repeat 0 -40px;
  text-indent: -999px;
  border-radius: 3px
}

#captcha #captcha_key {
  margin: 0 0 0 3px;
  padding: 0 5px;
  width: 90px;
  height: 40px;
  border: 1px solid #ccc;
  background: #fff;
  font-size: 1.333em;
  font-weight: bold;
  text-align: center;
  border-radius: 3px;
  vertical-align: top
}

#captcha #captcha_info {
  display: block;
  margin: 5px 0 0;
  font-size: 0.95em;
  letter-spacing: -0.1em
}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
/*
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}
*/

.mobile_nav_item {
  display: none;
  pointer-events: none;
}
@media screen and (max-width: 499px) {
  /* 모바일 하단 버튼 네비게이션 */
  .mobile_nav_item {
    width: 100dvw;
    position: fixed;
    left: 50%;
    bottom: 6dvh;
    z-index: 999;
    transform: translate(-50%, 300%);
  
    display: flex;
    pointer-events: all;
  
  }
  
  
  .mobile_nav_item.scroll_active {
    transform: translate(-50%, 0%);
    animation: bounceUp 0.6s ease-out forwards;
  }
  
  .mobile_nav_item .mobile_nav_item_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 43px;
  
    position: relative;
  
  }
  
  .mobile_nav_item .back_btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }
  
  .mobile_nav_item .nav_home_btn {
    max-width: 22px;
    width: auto;
    height: auto;
  }
  
  
  .mobile_nav_item .nav_lottie canvas {
    width: 50px !important;
  }
  
  .mobile_nav_item .nav_btn {
    max-width: 20px;
    width: auto;
    height: auto;
  }
  
  
  
  .mobile_nav_item.back_btn {
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    width: 40px;
    min-width: 40px;
    height: 40px;
  }
  
  .mobile_nav_item.back_btn a:focus,
  .mobile_nav_item.back_btn a:hover {
    background-color: #000;
  }
  
  .mobile_nav_item.back_btn:focus i,
  .mobile_nav_item.back_btn:hover i {
    color: #fff;
  }
  
  .mobile_nav_item.back_btn a {
    display: inline-flex;
    width: 100%;
    height: 100%;
    background-color: #fff;
    justify-content: center;
    align-items: center;
  }
  
  .mobile_nav_item.back_btn a i {
    font-weight: 600;
  }
  
  
  
  .mobile_nav_item.back_btn.scroll_active.main_mobile_nav_box {
    left: calc(((100dvw - 100px) / 2) - 0px);
    width: 35px;
    min-width: 35px;
    height: 35px;
    pointer-events: none;
    opacity: 0;
    box-shadow: none;
    /* transition: left 0.3s ease-out, width 0.3s ease-out, height 0.3s ease-out; */
  }
  
  .mobile_nav_item.back_btn.sub_mobile_nav_box {
    left: calc(((100dvw - 100px) / 2) - 0px);
    width: 35px;
    min-width: 35px;
    height: 35px;
    pointer-events: none;
    opacity: 0;
    transition: left 0.3s ease-out, width 0.3s ease-out, height 0.3s ease-out, opacity 0.3s ease-out;
  }
  
  .mobile_nav_item.back_btn.scroll_active.sub_mobile_nav_box {
    width: 47px;
    min-width: 47px;
    height: 47px;
    left: calc(((100dvw - 160px) / 2) - 60px);
    pointer-events: all;
    opacity: 1;
    transition: left 0.3s ease-out, width 0.3s ease-out, height 0.3s ease-out, opacity 0.3s ease-out;
  }
  .mobile_nav_item.nav_box_btn .visual_desc {
    position: absolute;
    bottom: -5px;
    left: calc(50% - 22.64rem);
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    background-color: #000;
    color: #fff;
    border-radius: 30px;
    font-size: 12px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
  }
  
  .mobile_nav_item.nav_box_btn .visual_desc i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    opacity: 0;
    transition: opacity 0.2s ease-out;
  }
  
  .mobile_nav_item.nav_box_btn.scroll_active .visual_desc {
    animation: visualBubble 3.6s ease-out forwards;
  }
  
  .mobile_nav_item.nav_box_btn.scroll_active .visual_desc i {
    animation: textFade 3.6s ease-out forwards;
  }
  
  .mobile_nav_item.nav_box_btn {
    width: auto;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    border-radius: 40px;
  }
  .mobile_nav_item.nav_box_btn ul {
    display: flex;
    align-items: center;
    background-color: #fff;
    justify-content: center;
    justify-content: space-between;
    padding: 0 16px;
    border-radius: 40px;
    overflow: hidden;
    gap:0 6rem;
  }
  
  .mobile_nav_item.nav_box_btn ul li {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 1.5px;
  }
  
  .mobile_nav_item.nav_box_btn ul li .item_inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  
  .mobile_nav_item.nav_box_btn ul li a,
  .mobile_nav_item.nav_box_btn ul li button {
    padding: 7.5px 8px;
    position: initial;
  }
  
  .mobile_nav_item.nav_box_btn ul li button {}
  }

/* 바운스 애니메이션 */
@keyframes bounceUp {
  0% {
    transform: translate(-50%, 200%);
    
  }

  60% {
    transform: translate(-50%, -10%);
  }

  80% {
    transform: translate(-50%, 5%);
  }

  100% {
    transform: translate(-50%, 0%);
  }
}

@keyframes bounceDown {
  0% {
    transform: translate(-50%, 0%);
  }

  60% {
    transform: translate(-50%, -10%);
  }
}



/* 버블 애니메이션 */
@keyframes visualBubble {
  0% {
    width: 10px;
    height: 10px;
    padding: 0;
    bottom: -5px;
    opacity: 0;
  }
  20% {
    width: 50px;
    height: 20px;
    padding: 3px 0;
    bottom: -12px;
    opacity: 1;
  }
  70% {
    width: 50px;
    height: 20px;
    padding: 3px 0;
    bottom: -12px;
    opacity: 1;
  }
  90% {
    width: 5px;
    height: 5px;
    padding: 0;
    bottom: -5px;
    opacity: .5;
  }
  100% {

    opacity: 0;
  }
}

/* 텍스트 애니메이션 - 버블 애니메이션 후 텍스트 등장 */
@keyframes textFade {
  0%, 10% {
    opacity: 0;
  }
  25%, 70% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
}

@media screen and (max-width: 499px) {
  .empty_list {font-size:14px;}
}

