html {
  scroll-padding-top: 50px;
  scroll-behavior: smooth;

}

* {
  box-sizing: border-box;
}


body ::selection {
    background: #00B18E;
    color: #fff;
}


.flex{display: flex;}

.flex_a {display: flex; align-items: center;}

.flex_bw{display: flex; justify-content: space-between; align-items: center;}

.flex_ad{display: flex; justify-content: space-around; align-items: center;}

.flex_c {display: flex; justify-content: center; align-items: center;}

.flex_bt {display: flex; justify-content: space-between;}

.flex_ed {display: flex; justify-content: end; align-items: center;}

.in-bl-p {font-size: 0!important;}

.in-bl-p > * {display: inline-block;vertical-align:top; font-size: 1.6rem; vertical-align: middle;}

.at-container {width: 1200px; margin: 0 auto; position: relative;}

:root {
    --font1: 'Interop';
    --font2: "Noto Sans KR", sans-serif;
    --font3: "Inter", sans-serif;
    
}

.font1 { font-family: var(--font1); }
.font2 { font-family: var(--font2); }
.font3 { font-family: var(--font3); }


br.m_br {display: none;}
br.mm_br {display: none;}






/* 헤더 */
#header {width: 100%; transition: transform 0.1s ease, 0.3s ease; position:absolute; top: 0; left: 0; z-index: 999;  background: transparent;
  transition: all 0.3s ease; display: block;}


#header.fixed {
  position: fixed;
}

#header.show {
  transform: translateY(0);
  background: #fff;
}

/* 🔥 숨김 */
#header.hide {
  transform: translateY(-100%);
}
.header {width: 1600px; margin: 0 auto; }

.header > .logo img {width: 60px;}
.header_menu {margin-right: 60px; gap: 60px; font-weight: 500;}
.header_menu li a {font-size: 18px; display: inline-block;   transition: color 0.3s ease;}
.header_menu li a:hover {color: #19C3A2;}

.header_inner .ist_btn {display: inline-flex; align-items: center; justify-content: center; width: 120px; height: 30px;  border: 2px solid transparent;
border-radius: 50px;
  background:
    linear-gradient(white, white) padding-box,
    linear-gradient(
      to bottom,
      #8226AF 0%, #8226AF 33%,
      #C12A68 33%, #C12A68 66%,
      #D77C46 66%, #D77C46 100%
    ) border-box;
}





.hd_inner_m .ist_btn {display: inline-flex; align-items: center; justify-content: center; width: 120px; height: 30px;  border: 2px solid transparent;
border-radius: 50px;
  background:
    linear-gradient(white, white) padding-box,
    linear-gradient(
      to bottom,
      #8226AF 0%, #8226AF 33%,
      #C12A68 33%, #C12A68 66%,
      #D77C46 66%, #D77C46 100%
    ) border-box;
}


.hd_inner_m .ist_btn span {font-size: 12px;}


.hd_inner_m .hd_m_right > .ist_btn {padding: 1px 5px; width: 100px; height: 28px;}




.ist_btn > img {width: 16px; margin-right: 5px;}
.ist_btn > span {color: #C43762; text-align: center; font-size: 14px;}


.ist_btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  border: 2px solid transparent;

  color: #333;
  background: white;
  overflow: hidden;

  transition: color 0.4s ease;
}

/* 🔥 그라데이션 배경 레이어 */
.ist_btn::before {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    to bottom,
    #8226AF 0%, 
    #C12A68 50%, 
    #D77C46 100%
  );
  

  opacity: 0;
  transition: opacity 0.6s ease;

  z-index: 0;
}

/* 내용 위로 */
.ist_btn span,
.ist_btn img {
  position: relative;
  z-index: 1;
  transition: all 0.4s ease;
}

/* hover → 배경 채워짐 */
.ist_btn:hover::before {
  opacity: 1;
}

/* 텍스트 흰색 */
.ist_btn:hover span {
  color: white;
}

/* 이미지 흰색 */
.ist_btn:hover img {
  filter: brightness(0) invert(1);
}













h1.logo {width: 12%;}

#header.shadow {box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); }



.header_inner {width: 1520px; align-items: center; margin: 0 auto; position: relative; height: 100px; justify-content: right;}
.header_inner .header_login_wrap {position: absolute; top: 17px; right: 0;}


#header.fixed {
    position:fixed;
}





#m_header {display: none;}


body.menu_open {
    overflow: hidden;
}


.call_btn {
    display: block;
    padding: 15px 20px;
    background: #19e9be;
    color: #fff;
    font-weight: 700;
    border-radius: 30px;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
    margin-top: 80px;
}




/* 푸터 */
footer {width: 100%; }
footer .customer_wrap {border-bottom: 1px solid #D2D2D2; padding: 40px;}
footer .customer_wrap img {width: 100%;}
.footer_inner {width: 1440px; margin: 0 auto;}
.footer_top_wrap {padding: 34px 0; border-bottom: 1px solid #D2D2D2;}
.footer_top_left > h4 {margin-bottom: 20px; font-size: 3.6rem; font-weight: 600;}
.footer_top_left > p {font-weight: 500; font-size: 1.8rem;}
.footer_top_right .footer_input_wrap {gap: 0 10px; margin-bottom: 20px; justify-content: flex-end;}
.footer_top_right .footer_input_wrap input[type="text"] {padding: 20px; border: 1px solid #202020; font-size: 14px; font-weight: 300; border-radius: 0;}
.footer_input_wrap input.mail_input { width: 300px;}
.footer_top_right .footer_input_wrap > button {width: 210px; height: 58px; background-color: #202020; color: #FFF; font-weight: 600; font-size: 2.4rem;}
.footer_chk_box_wrap > p {display: inline-block; color: #505050; font-size: 1.8rem; font-weight: 600; margin-right: 30px;}
.footer_bottom_wrap {padding: 34px 0;}
.footer_inner .f_sp_btn {width: 210px; height: 60px; background-color: #00545E; color: #FFF; font-size: 2.4rem; font-weight: 600;}
.footer_bt_det_wrap .f_terms_wrap a {display: inline-block; font-size: 14px;}
.footer_bt_det_wrap .f_terms_wrap a.b_txt {font-weight: 600;}
.footer_bt_det_wrap .f_terms_wrap a::after {content: "|"; display: inline-block; margin: 0 10px; font-weight: 400;}
.footer_bt_det_wrap .f_terms_wrap {margin-bottom: 20px;}
.footer_bt_det_wrap .f_terms_wrap a:last-child::after {content: ""; display: none;}
.footer_bt_det_wrap .f_info_txt > p {font-size: 12px; margin-bottom: 10px;}
.footer_bt_det_wrap .f_info_txt > p.f_info_ftxt {margin-bottom: 20px;}
.footer_bt_det_wrap .f_info_txt > span {font-size: 12px;}
.footer_top_mb_wrap {display: none; border-bottom: 2px solid #D2D2D2;}
.footer_top_mb_wrap .f_m_info_chk {margin-top: 20px;}
footer .chk_box_wrap label:last-child {margin-right: 0;}
footer .ft_sp_btn {display: none; }
.footer_top_right .footer_input_wrap > button.ft_sp_btn {background-color: #00545E;}
.footer_bt_det_wrap {width: 60%;}
.footer_bottom_wrap img.f_l_img2 {display: none;}





#m_header {transition: transform 0.1s ease, 0.3s ease; }

#header.hide,
#m_header.hide {
    transform: translateY(-100%);
}


.header_m {width: 100%; background-color: #FFF; position: fixed; top: 0; left: 0; z-index: 999; padding: 0 15px;}
.hd_inner_m {width: 100%; height: 50px; background-color: #FFF;}
.hd_m_right {justify-content: end; gap: 15px;}

.hd_inner_m h1 img {width: 34px;}

.hd_m_right button > img {width: 30px;}

.hd_m_right > .ist_btn {padding: 2px 8px; border-radius: 20px;}

/* 모바일 메뉴 전체 */
.mo_lnb {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1000;
    pointer-events: none;
}

/* 배경 */
.m_lnb_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: 0.3s;
}

/* 메뉴 */
.m_lnb_menu {
    position: absolute;
    top: 0;
    right: -80%; /* 숨김 */
    width: 80%;
    height: 100%;
    background: #19C3A2;
    padding: 60px 35px; /* 헤더 피하려고 여백 */
    transition: 0.3s;
}

/* 활성화 */
.mo_lnb.active {
    pointer-events: auto;
}

.mo_lnb.active .m_lnb_bg {
    opacity: 1;
}

.mo_lnb.active .m_lnb_menu {
    right: 0;
}

.close_btn {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    width: 24px;
    height: 24px;
}

.close_btn img {
    width: 100%;
}

#m_header {
  width: 100%;
  transition: 0.3s;
  z-index: 999;
}

/* 고정 상태 */
#m_header.fixed {
  position: fixed;
  top: 0;
  left: 0;
}

/* 숨김 */
#m_header.hide {
  transform: translateY(-100%);
}

/* 보임 */
#m_header.show {
  transform: translateY(0);
}
.m_header_menu {padding-top: 50px;}
.m_header_menu li {
    opacity: 0;
    transform: translateX(-20px);
    transition: 0.5s ease;
    


    font-size: 20px;
    font-weight: 500;
    margin-bottom: 1px;
}
.m_header_menu li a {width: 100%;     padding-top: 17px;
    padding-bottom: 17px; display: block; font-weight: 700; color: #FFF;}
/* 활성화 상태 */
.mo_lnb.active .m_header_menu li {
    opacity: 1;
    transform: translateX(0);
}