@import url(main.css);
@import url(sub.css);
@font-face {
  font-family: 'Pretendard';
  src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'SUITE';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-2@1.0/SUITE-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'SUITE';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-2@1.0/SUITE-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'SUITE';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-2@1.0/SUITE-Heavy.woff2') format('woff2');
  font-weight: 900; font-style: normal; font-display: swap;
}

:root {
  --primary-50:  #FFF3E8;
  --primary-100: #FFE2C7;
  --primary-200: #FFC093;
  --primary-300: #FFA15F;
  --primary-400: #F88C3F;
  --primary-500: #F37F32;
  --primary-600: #DC702E;
  --primary-700: #C26028;
  --primary-800: #A84F23;
  --primary-900: #8B3D1D;
  
  /* Sub 컬러 계열 */
  --sub-50:  #E6F9F6;
  --sub-100: #B3EFE6;
  --sub-200: #80E5D6;
  --sub-300: #4DDBC6;
  --sub-400: #26CFB7;
  --sub-500: #00A998; /* 요청하신 메인값 */
  --sub-600: #008574;
  --sub-700: #006259;
  --sub-800: #00413D;
  --sub-900: #002124;

  --skyblue-50:  #E6F7FA;   /* 더 옅게 (이전 #B9EFF7 보다 훨씬 연함) */
  --skyblue-100: #8FE5F3;
  --skyblue-200: #66DBEE;
  --skyblue-300: #3CD1E9;
  --skyblue-400: #19C2DE;
  --skyblue-500: #00ACC8; /* base (unchanged) */
  --skyblue-600: #118699;
  --skyblue-700: #0E6E7E;
  --skyblue-800: #0B5763;
  --skyblue-900: #083F48;

  --violet-50:  #F9E6F9;
  --violet-100: #F2CCF2;
  --violet-200: #E699E6;
  --violet-300: #D966D9;
  --violet-400: #CC33CC;
  --violet-500: #8B288A; /* 기준 */
  --violet-600: #741F73;
  --violet-700: #5C185C;
  --violet-800: #441144;
  --violet-900: #2D0B2D;
  --violet-500: #8B288A;

  --red-500: #963D4F;


    --point_color: #F18B25;
    --font_color: #333;
    --hover_color: #F37F32;
    --icon_hover_color: #21AD4C;

}




		

html { font-size: 62.5%;
  font-family: 'Pretendard', sans-serif;
  scroll-behavior: smooth;
  word-break: keep-all;        /* 핵심: CJK 글자 단위 줄바꿈 금지 */
  color: var(--font_color);
}
body {
  overflow-x: hidden;
  overflow-wrap: break-word;   /* 너무 긴 단어/URL은 끝에서 안전하게 줄바꿈 */
  word-wrap: break-word;       /* 구형 브라우저 보강 */
  hyphens: auto;               /* 영어는 하이픈 분리 허용(한글엔 영향 거의 없음) */
}  
img {
  width: 100%;
}
.logo img,
.Flogo img {
  max-width: 220px;
  max-height: 40px;
}

/* Header 헤더 */
header {
    width: 100%;
    height: 80px;
    position: fixed;
    top: 0;
    z-index: 999;
    background-color: transparent;
    transition: all 0.3s ease;
}
header:hover{
  background:#fff;
}
header:hover .menu_web .depth_1 > li a{
  color: var(--font_color);
}



.header_container {
    display: flex;
    height: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 0 10%;
}

.menu_mo {
    display: none;
}

.menu_web .depth_1 {
    font-size: 2rem;
    font-weight: 500;
    display: flex;
    width: 100%;
}
.menu_web .depth_1 > li a{
    padding: 32px 70px;
    color: white;
}
.menu_web .depth_1 > li a:hover{
    color: var(--hover_color)
}

.menu_web .depth_1 > li{
    position: relative;
}




header.scrolled {
  background-color: white;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.08);
}

header.scrolled .menu_web .depth_1 > li a {
  color: var(--font_color);
}
header.scrolled .menu_web .depth_1 > li a:hover {
  color: var(--hover_color);
}

#mainHeader .btn_ham span { background:#fff; transition:background .2s; }
#mainHeader:hover .btn_ham span { background:#000; }
#mainHeader.scrolled .btn_ham span { background:#000; }



.menu_web .depth_1 .depth_2 {
    display: none;
    font-size: 1.6rem;
    font-weight: 500;
}
.menu_web .depth_1 .depth_2.small {
    display: none;
    font-size: 1.5rem;
    font-weight: 500;
}

.menu_web .depth_1 li:hover .depth_2 {
    display: block;
}
.menu_web .depth_1 li .depth_2:hover {
    display: block;
}

.menu_web .depth_1 .depth_2 {
    position: absolute;
    top: calc(100% + 32px);
    left: 0;
    background-color: white;
    z-index: 10;
    width: 100%;
}
.menu_web .depth_1 .depth_2 li a{
    display: block;
    padding: 10px 0;
    text-align: center;
    color: var(--font_color);
}
.menu_web .depth_1 .depth_2 li a:hover{
    color: var(--hover_color);
}





header.active{background-color: #fff; transition: all 0.4s;}

/* 햄버거 버튼 기본 스타일 */
.btn_ham {
    position: relative;
    width: 30px;
    height: 23px;
    display: none;
    cursor: pointer;
    background: none;
    border: none;
    z-index: 99;
  }
  .btn_ham span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: white;
    border-radius: 4px;
    transition: all 0.4s;
  }
  .btn_ham span:nth-child(1) { top: 0; }
  .btn_ham span:nth-child(2) { top: 11px; }
  .btn_ham span:nth-child(3) { bottom: 0; }
  
  /* 햄버거 → X 변신 */
  .btn_ham.active_1 span:nth-child(1) {
    transform: translateY(11px) rotate(-45deg);
  }
  .btn_ham.active_1 span:nth-child(2) {
    opacity: 0;
  }
  .btn_ham.active_1 span:nth-child(3) {
    transform: translateY(-11px) rotate(45deg);
  }
  

  .depth_1_mo_btn {
    width: 100%;
    font-size: 1.5em;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center; /* ← 수직 정렬 */
    gap: 10px;
    background: none;
    border: none;
    color: #000;
    padding: 10px 0;
    white-space: nowrap; /* 줄바꿈 방지 */
  }
  
  .depth_1_mo_btn img {
    width: 16px;
    height: auto;
    display: inline-block;
  }
    
  @media (max-width: 1320px) {
    .header_container {
      padding: 0 5%;
  }
    .menu_web .depth_1 > li a{
      padding: 32px 54px;
      color: white;
  }
  }
  @media (max-width: 1199px) {
    html, body {
      max-width: 100%;
      overflow-x: hidden;
    }
    /* 헤더 스타일 */
    .header {
      position: fixed;
    }
  
    .header_container {
      width: 80%;
      padding: 0;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  
    /* PC 메뉴 숨김 */
    .menu_web {
      display: none;
    }
  
    /* 로고 교체 */
    /* .logo {
      display: none !important;
    }
   */
    .logo2 {
      width: 200px;
      display: block;
    }
  
    /* 햄버거 버튼 보이기 */
    .btn_ham {
      display: block;
    }
  
    /* 모바일 메뉴 */
    .menu_mo {
      display: block;
      position: absolute;
      top: 100%;
      left: 100%;
      width: 100%;
      height: 100vh;
      background-color: #fff;
      transition: all 0.8s;
      z-index: 90;
      padding: 20px;
      box-sizing: border-box;
    }
  
    .menu_mo.active {
      left: 0;
    }
  
    /* 메뉴 리스트 */
    .depth_1_mo {
      width: 80%;
      margin: 20px auto 0;
      list-style: none;
    }
    
  
    .depth_1_mo li {
      margin-bottom: 20px;
      cursor: pointer;
    }
  
    .depth_1_mo_btn {
      width: 100%;
      font-size: 2em;
      font-weight: 600;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: none;
      border: none;
      color: #000;
    }
    .depth_1_mo_btn .border {
        width: 80%;
        height: 1px;
        background-color: #d4d4d4;
        padding: 0 20px;
    }

    .depth_1_mo_btn img {
      width: 15px;
      transition: all 0.5s;
    }
  
    .depth_1_mo li.open .depth_1_mo_btn img {
      transform: rotate(-180deg);
    }
  
    .depth_2_mo {
        margin: 0;
        padding: 0 0 0 30px; /* 왼쪽 들여쓰기만 */
        overflow: hidden; /* 애니메이션 부드럽게 */
        display: none;
    }
  
    .depth_2_mo li {
      color: #777;
      line-height: 1.5;
      font-size: 1.6rem;
      margin-top: 10px;
    }
  
    .depth_2_mo li:hover {
      color: var(--primary-700);
    }
  }
  

section:last-of-type {
  margin-bottom: 6rem;
}
.main section:last-of-type {
  margin-bottom: 0;
}

/* === PC 드롭다운: 배경이 먼저, 글자는 살짝 뒤에 === */
:root{
  --header-h: 80px;     /* 헤더 높이 */
  --bg-open-h: 200px;   /* 펼칠 배경 높이(필요시 조정) */
}

@media (min-width:1200px){
  /* 각 li를 기준점으로 */
  .menu_web .depth_1 > li{ position: relative; }

  /* 풀폭 흰 배경바: 기본 0, 호버 시 키움 */
  .gnb_bg{
    position: fixed;
    top: var(--header-h);
    left: 0; width: 100vw;
    height: 0;                          /* 기본 접힘 */
    background:#fff;
    border-top:1px solid #ddd;
    box-shadow:0 10px 20px rgba(0,0,0,.06);
    z-index: 1000;                       /* 헤더(999)보다 위, 서브보다 아래 */
    pointer-events: none;                /* 이벤트 막지 않음 */
    transition: height .18s ease;        /* 배경이 먼저 */
  }
  /* 메뉴/헤더 위에 마우스 → 배경 펼침 */
  .menu_web:hover ~ .gnb_bg,
  header:hover .gnb_bg{ height: var(--bg-open-h); }

  /* === depth_2 단일 선언 (중복 금지) === */
  .menu_web .depth_1 > li > .depth_2{
    position: absolute;
    top: 100%; left: 0;
    padding: 16px 0;
    background: transparent;             /* 배경은 gnb_bg 담당 */
    z-index: 1010;                       /* 배경 위로 */
    /* 처음엔 숨김 */
    visibility: hidden;
    opacity: 0;
    transform: translateY(6px);
    margin-top: 20px;
    transition:
      opacity .20s ease,
      transform .20s ease,
      visibility 0s linear .20s;         /* 0.2초 뒤에 보이도록(배경 먼저) */
  }
  /* li hover 시 텍스트 노출(배경 뒤) */
  .menu_web .depth_1 > li:hover > .depth_2{
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: .06s, .06s, 0s;    /* 살짝만 지연 */
  }


  .menu_web:hover .depth_1 > li > a{
    color: var(--font_color, #222);
  }
}




/* 푸터 footer */
footer {
  width: 100%;
  height: auto;
  padding: 50px 0 50px;
  background-color: #222;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: #dadada;
}
footer section {
  width: 80%;
  margin: 0 auto !important;
}
footer section .wrap{
  display: flex;
  width: 100%;
}
footer section .wrap .fs01{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
footer section .txt .footer_content{
  display: flex;
  gap: 2rem;
  justify-content: center;
  text-align: left;
  flex-wrap: wrap;
  padding: 0 2rem;
}
footer .footer_bottom {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: 2rem;
}
footer .sns_logo {
  display: flex;
  gap: 2rem;
}

@media (max-width:1000px) {
  footer section .wrap .fs01 {
    flex-direction: column;
    gap: 2rem;
  }
} 