/* ========================================
   기본 헤더
   ======================================== */
.header_all_wrap a { display: block; }
.header_all_wrap { width: 100%; position: fixed; top: 0; left: 0; z-index: 99999 !important; background-color: transparent; }
.header_wrap { width: 100%; padding: 0 5%; position: relative; z-index: 5; }
.main .header_wrap { width: 100%; padding: 0 5%; position: relative; z-index: 5; background: rgba(0, 0, 0, 0.25); backdrop-filter: blur(8px); }
.main .open .header_wrap { width: 100%; padding: 0 5%; position: relative; z-index: 5; background: rgba(0, 0, 0, 0); backdrop-filter: blur(8px); }
.sub .header_wrap { border-bottom: 1px solid #eee; }
.header_mid_wrap { height: 80px; display: flex; align-items: center; }
.header_mid { position: relative; width: 100%; height: 100%; padding: 0 220px; display: flex; align-items: center; justify-content: center; }
.open .header_mid { padding: 0 250px 0; }
.logo_w * { fill: #fff; }
.logo_w { display: none; }
.logo_wrap { position: absolute; left: 0; width: 200px; top: 58%; transform: translateY(-50%); }
.logo { position: relative; display: block; width: 100%; }
.logoImg { display: block; width: 159px; height: 39px; background: url(../images/main/logo_w.png); }
.scroll .logoImg { background: url(../images/main/logo_b.png); }
.main .logo svg .black { fill: #fff; }
.sub .logo svg .white { fill: #000; }
.open .logo svg .white { fill: #000; }

/* ========================================
   언어 선택 탭
   ======================================== */
.lang_all_wrap { position: fixed; top: 32px; right: calc(5% + 100px); z-index: 99999; }
.lang_box { position: relative; }
.lang_globe_wrap { position: relative; }
.lang_globe_btn { background: none; border: none; cursor: pointer; display: flex; align-items: center; gap: 6px; border-radius: 17px; transition: border-color 0.2s; }
.lang_current { font-size: 16px; font-weight: 600; color: #333; letter-spacing: 0.03em; line-height: 1; }
.main .lang_current { color: #fff; }
.main .lang_globe_btn { color: #fff; }
.main.scroll .lang_globe_btn { color: #000; }
/* 드롭다운 화살표 */
.lang_arrow { width: 5px; height: 5px; border-right: 1.5px solid #555; border-bottom: 1.5px solid #555; transform: rotate(45deg) translateY(-2px); display: block; flex-shrink: 0; transition: transform 0.2s; }
.lang_globe_wrap:hover .lang_arrow { transform: rotate(225deg) translateY(-2px); }
/* 드롭다운 메뉴 */
.lang_sub_wrap { display: none; position: absolute; top: 100%; padding-top: 8px; right: -16px; min-width: 80px; z-index: 9999; }
.lang_sub_wrap_inner { background: #fff; border: 1px solid #eee; border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,0.10); overflow: hidden; }
.lang_globe_wrap:hover .lang_sub_wrap { display: block; }
.lang_sub_box a { display: block; text-align: center; font-size: 13px; font-weight: 500; color: #444; padding: 8px 16px; transition: background 0.15s, color 0.15s; text-decoration: none; white-space: nowrap; background: #fff; }
.lang_sub_box a:hover { background: #fff5f5; color: #DC2227; }
.lang_sub_box.active a { color: #DC2227; font-weight: 700; background: #fff5f5; }
/* scroll / open 상태 */
.scroll .lang_globe_circle, .open .lang_globe_circle { border-color: #333; }
.scroll .lang_globe_circle::before, .scroll .lang_globe_circle::after, .open .lang_globe_circle::before, .open .lang_globe_circle::after { background: #333; }
.scroll .lang_current, .open .lang_current { color: #333; }
.scroll .lang_arrow, .open .lang_arrow { border-color: #444; }

/* ========================================
   헤더 show wrap
   ======================================== */
.header_show_wrap { border-top: 1px solid #eee; position: relative; z-index: 3; display: none; width: 100%!important; height: auto!important; }
.header_show .menu { position: relative; }
.header_show .menu_a { font-size: 30px; color: #000; position: absolute; top: 26px; left: 0; font-weight: 700; opacity: 0.05; width: 220px; text-align: right; }
.header_show .sub_menu_wrap { padding-left: 250px; display: flex; flex-direction: row; flex-wrap: nowrap; }
.header_show .sub_menu { padding: 30px 35px; text-align: center; transition: all 0.3s ease; }
.header_show .sub_menu_a { font-size: 18px; color: #000; font-weight: 600; }
.header_show .thd_menu_a { font-size: 15px; color: #666; font-weight: 400; line-height: 1.4; }
.header_show .thd_menu { padding-bottom: 10px; }
.header_show .thd_menu_a:hover { color: #DC2227; }
.header_show .sub_menu:hover { background-color: #fafafa; }

/* ========================================
   상단 네비 (PC)
   ======================================== */
.top_nav { position: relative; font-size: 14px; text-align: center; z-index: 9999; display: flex; justify-content: center; }
.top_nav:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.top_nav .menu { width: auto; min-width: 120px; position: relative; vertical-align: top; height: 100%; }
.top_nav .menu_a { font-size: 20px; color: #333; height: 80px; padding: 0 18px; font-weight: 400; letter-spacing: 0; display: flex; align-items: center; justify-content: center; }
.top_nav .menu_a span { vertical-align: middle; line-height: 1.6; text-align: center; position: relative; }

/* ========================================
   2뎁스 서브메뉴
   [수정] hover CSS 트리거 추가 — JS .is-open 없이도 동작
   ======================================== */
.top_nav .sub_menu_wrap {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 160px;
  white-space: nowrap;
  background: #fff;
  padding: 0 !important;
  z-index: 99999;
  border-radius: 0 0 6px 6px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.2s ease, visibility 0.2s ease;
}

/* hover로 드롭다운 열기 — 모든 페이지(main/sub/scroll) 공통 적용 */
.top_nav .menu:hover .sub_menu_wrap {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  max-height: 500px;
}

/* JS .is-open 클래스도 유지 (기존 JS 호환) */
.top_nav .menu.is-open .sub_menu_wrap {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  max-height: 500px;
}
.top_nav .menu:not(.is-open) .sub_menu_wrap { height: auto !important; overflow: visible !important; pointer-events: auto; }
.top_nav .menu.is-open.no-anim .sub_menu_wrap { transition: none !important; }

.top_nav .sub_menu { padding: 0; }

/* [수정] sub_menu_a display: block 명시 — 전역 none 덮어쓰기 방지 */
.top_nav .sub_menu_a { display: block; font-size: 18px; color: #000; font-weight: 500; padding: 11px 24px; line-height: 1.6; transition: color 0.15s, background 0.15s; }
.top_nav .sub_menu:hover > .sub_menu_a { color: #DC2227; background: #fff5f5; }
.top_nav .sub_menu.active > .sub_menu_a { color: #DC2227; font-weight: 500; }

/* ========================================
   3뎁스
   ======================================== */
.top_nav .thd_menu_wrap { max-height: 0; overflow: hidden; background: #f6f9fd; border-top: 0px solid #e8eef5; transition: max-height 0.3s cubic-bezier(0.4,0,0.2,1), border-top-width 0.1s, padding 0.25s; padding: 0; }
.top_nav .sub_menu.thd-open .thd_menu_wrap { max-height: 400px; border-top: 1px solid #e8eef5; padding: 4px 0; }
.top_nav .thd_menu_a { display: block; font-size: 15px; color: #333; padding: 8px 24px 8px 34px; line-height: 1.4; font-weight: 400; transition: color 0.15s, background 0.15s; }
.top_nav .thd_menu_a:hover { color: #DC2227; background: #edf4fb; }

/* 3뎁스 화살표 */
.top_nav .sub_menu_a .thd_arrow { display: inline-block; width: 5px; height: 5px; border-right: 1.5px solid #aaa; border-bottom: 1.5px solid #aaa; transform: rotate(45deg) translateY(-2px); margin-left: 8px; transition: transform 0.22s ease, border-color 0.15s; vertical-align: middle; flex-shrink: 0; }
.top_nav .sub_menu.thd-open .sub_menu_a .thd_arrow { transform: rotate(225deg) translateY(2px); border-color: #DC2227; }

/* active 상태 */
.top_nav .menu.is-open .menu_a span, .top_nav .menu.active .menu_a span { color: #000; }
.main .top_nav .menu_a span { color: #fff; }

/* [수정] 기존 .sub_menu_a { display: none } 제거
   → PC top_nav의 sub_menu_a는 display: block으로 위에서 선언함
   → 아래는 header_show 내부의 별도 스타일만 유지 */

/* ========================================
   서브페이지 hover 보완
   [수정] .sub / .scroll 에서 드롭다운 border 추가
   ======================================== */
.sub .top_nav .menu:hover .sub_menu_wrap,
.scroll .top_nav .menu:hover .sub_menu_wrap {
  border-top: 1px solid #eee;
}

/* sub 페이지 header 고정 보정 */
.sub .header_all_wrap {
  background-color: #fff;
  position: fixed;
  z-index: 99999 !important;
}

/* ========================================
   햄버거 버튼 (2선)
   ======================================== */
.m_menu_btn_wrap { position: absolute; top: 0; right: 0; width: 80px; height: 80px; z-index: 3; }
.m_menu_btn { width: 80px; height: 80px; justify-content: center; align-items: center; cursor: pointer; text-decoration: none; align-content: center; }
.hd_menu { display: flex; flex-direction: column; position: relative; width: 80px; height: 2px; background-color: #333; border-radius: 2px; transition: background-color 0.2s; transform: translateY(-8px); }
.hd_menu::before { content: ''; position: absolute; top: 15px; left: 0; width: 80px; height: 2px; background-color: #333; border-radius: 2px; display: block; transition: all 0.2s; }
.main .hd_menu, .main .hd_menu::before { background-color: #fff; }
.m_menu_btn:hover .hd_menu, .m_menu_btn:hover .hd_menu::before { background-color: #DC2227; }
.scroll .hd_menu, .scroll .hd_menu::before { background-color: #333; }
.open .hd_menu, .open .hd_menu::before { background-color: #333; }

/* ========================================
   모바일 전체 메뉴 (.m_menu_wrap)
   ======================================== */
.m_menu_wrap { width: 100%; height: 100%; position: fixed; top: 0; left: 9999px; bottom: 0; z-index: 99999; background-color: #222; overflow-y: auto !important; overflow-x: hidden !important; }
.m_menu_wrap a { display: block; color: #fff; }
.m_menu_wrap .menu_a:after { content: ""; width: 15px; height: 15px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; display: block; position: absolute; top: 42%; right: -40px; transform: rotate(225deg); transition: all .3s ease; margin-top: -5px; }
.m_menu_wrap .menu_a.void_link:after { top: 7px; right: 50px; transform: rotate(-45deg); }
.m_menu_wrap .menu_a.void_link.menu_on:after { transform: rotate(-225deg); }
.m_menu_wrap .sub_menu_wrap { display: none; width: 100%!important; font-size: 24px; text-align: left; height: auto !important; }
.m_menu_wrap .menu_a:hover { color: #DC2227; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:hover { color: #fff; }
.m_menu_wrap .menu_a.menu_on { color: #DC2227; }
.m_menu_inner { position: relative; transform: none !important; top: 0 !important; padding: 10px 0 40px !important; }
.m_lang_all_wrap { padding: 0 5%; }
.m_lang_sub_wrap { display: flex; gap: 20px; }
.m_lang_sub_wrap a { font-size: 16px; color: #fff; }
.m_lang_sub_box.active a { color: #DC2227; font-weight: 700; }

/* ========================================
   모바일 닫기 버튼
   ======================================== */
.m_close_wrap { display: flex !important; justify-content: flex-end !important; padding: 18px 20px 10px !important; }
.m_close_btn { width: 40px; height: 40px; position: relative; display: inline-block !important; cursor: pointer; }
.m_close_btn::before, .m_close_btn::after { content: ''; display: block; position: absolute; width: 28px; height: 2px; background: #fff; top: 50%; left: 50%; border-radius: 2px; transition: background 0.2s; }
.m_close_btn::before { transform: translate(-50%, -50%) rotate(45deg); }
.m_close_btn::after { transform: translate(-50%, -50%) rotate(-45deg); }
.m_close_btn:hover::before, .m_close_btn:hover::after { background: #DC2227; }

/* ========================================
   모바일 메뉴 내부 (.m_menu)
   ======================================== */
.m_menu { padding: 20px 0%; display: grid; row-gap: 0px; grid-template-columns: repeat(1, 1fr); align-items: stretch; }
.m_menu .menu { display: flex; flex-direction: column; align-items: flex-start; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 0px; gap: 10px; position: relative; }
.m_menu .menu_a { display: flex; align-items: center; font-size: 30px; font-weight: 800; text-transform: uppercase; width: 210px; white-space: nowrap; }
.m_menu .sub_menu_wrap { width: 100%!important; display: none; }
.m_menu .sub_menu { display: flex; flex-direction: row; align-items: flex-start; gap: 50px; padding-bottom: 15px; }
.m_menu .sub_menu:last-child { padding-bottom: 0; }
.m_menu .sub_menu_a { display: flex; align-items: center; font-size: 18px; font-weight: 400; line-height: 1.4; text-transform: uppercase; white-space: nowrap; padding: 0; }
.m_menu .thd_menu_wrap { display: none; width: 100%; row-gap: 20px; column-gap: 50px; text-align: left; flex-wrap: wrap; }
.m_menu .thd_menu_a { font-size: 16px; font-weight: 300; line-height: 1.4; opacity: 0.8; }
.m_menu .menu:hover .menu_a span { color: #DC2227; }
.m_menu .sub_menu:hover .sub_menu_a span { color: #DC2227; }

/* ========================================
   상태별 헤더 스타일
   ======================================== */
.main .logo_off { display: block; }
.main .logo_on { display: none; }
.main.scroll .logo_off { display: none; }
.main.scroll .logo_on { display: block; }
.main .open .logo_off { display: none; }
.main .open .logo_on { display: block; }
.w_tp .logo_on { display: inline-block; }
.w_tp .logo_off { display: none; }
.w_tp .top_nav .menu_a { color: #000; }
.sub .header_bar { display: none; }
.open .header_all_wrap { background-color: #fff; border-bottom: 1px solid #eee; }
.open .logo svg .cls-1 { fill: #DC2227; }
.open .top_nav .menu_a span { color: #000; }
.open .header_bar { display: block; }
.scroll .header_all_wrap { background-color: #fff; }
.scroll .logo svg .cls-1 { fill: #DC2227; }
.scroll .top_nav .menu_a span { color: #000; }
.scroll .header_bar { display: block; }

/* ========================================
   배경 오버레이
   ======================================== */
.m_all_bg { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9998; }

/* ========================================
   반응형
   ======================================== */
@media screen and (max-width:1700px) {
  .lang_all_wrap { display: block; }
  .top_nav { display: flex; }
  .m_menu_btn_wrap { display: block !important; }
  .sub .top_side { display: none; }
}
@media screen and (max-width:1600px) {
  .header_wrap { padding: 0 30px; }
  .header_show .sub_menu_a { font-size: 16px; }
  .header_show .thd_menu_a { font-size: 13px; }
  .header_show .sub_menu { padding: 30px 20px; flex-basis: 160px; }
  .header_show .menu_a { font-size: 24px; }
  .top_nav .menu_a { font-size: 14px; padding: 0 12px; }
}
@media screen and (max-width:1400px) {
  .header_mid { padding: 0 200px 0 140px; }
  .header_show .sub_menu_wrap { padding-left: 140px; }
  .header_show .menu_a { width: 120px; }
  .top_nav .menu_a { font-size: 13px; padding: 0 10px; }
}
@media screen and (max-width:1260px) {
  .m_menu .sub_menu { flex-direction: column; gap: 0px; padding-bottom: 10px; }
}
@media screen and (max-width:1224px) {
  .main .header_wrap { background: rgba(0, 0, 0, 0); }
  .main.scroll .logo .white { fill: #000; }
}
@media screen and (max-width:1200px) {
  .sub_menu_vd_wrap { display: none; }
  .header_show .menu_a { font-size: 18px; }
  .top_nav .menu_a { font-size: 12px; padding: 0 8px; }
  .bbbgap { height: 150px; }
  .bbgap { height: 100px; }
  .bgap { height: 70px; }
  .gap { height: 40px; }
  .sgap { height: 20px; }
  .ssgap { height: 10px; }
  .sssgap { height: 10px; }
  .ssssgap { height: 5px; }
  .sec_tit { font-size: 16px; }
  .m_menu_btn_wrap { position: absolute; top: 0; right: 0; width: 40px; height: 80px; z-index: 3; display: block !important; }
  .m_menu_btn { width: 40px; height: 80px; justify-content: center; align-items: center; cursor: pointer; text-decoration: none; align-content: center; }
  .top_nav { display: none; }
  .header_show_wrap { display: none !important; }
  .logo_wrap { position: relative; max-width: 140px; top: 27%; transform: translateY(-50%); left: 0; }
  .header_mid { padding: 0 !important; height: 100%; justify-content: flex-start; }
  .lang_all_wrap { top: 24px; right: 55px; display: none; }
  .lang_globe_btn { padding: 4px 8px 4px 5px; height: 30px; }
  .lang_globe_circle { width: 15px; height: 15px; }
  .lang_current { font-size: 11px; }
  .hd_menu { width: 40px; transform: translateY(-6px); }
  .hd_menu::before { width: 20px; top: 12px; }
  .header_wrap { padding: 0 5%; }
  body.mobile #hk-sitemap-overlay { display: none !important; }
}
@media screen and (max-width:1100px) {
  .sec_tit9 { font-size: 36px; }
  .sec_txt2 { font-size: 16px; }
}
@media screen and (max-width:760px) {
  .sec_tit3 { font-size: 16px; }
  .sec_txt { font-size: 14px; }
  .sec_tit4 { font-size: 22px; }
  .sec_txt2 { font-size: 15px; }
  .m_menu .menu_a { font-size: 20px; width: 100%; }
  .m_menu_wrap .menu_a.void_link:after { width: 10px; height: 10px; right: 0; }
}
@media screen and (max-width:650px) {
  .bbbgap { height: 80px; }
  .bbgap { height: 40px; }
  .bgap { height: 30px; }
  .gap { height: 25px; }
  .sgap { height: 18px; }
  .ssgap { height: 15px; }
  .sssgap { height: 8px; }
  .ssssgap { height: 5px; }
}
@media (max-width:520px) {
  .m_menu .menu { flex-direction: column; }
}
@media screen and (max-width:480px) {
  .lang_all_wrap { right: 100px; display: none; }
  .m_menu_wrap .top_nav .menu_a { font-size: 15px !important; }
}

/* ============================================
   PC 사이트맵 오버레이
   ============================================ */
#hk-sitemap-overlay { display: none; position: fixed; inset: 0; background: rgba(13, 15, 22, 0.98); z-index: 999999; overflow-y: auto; }
#hk-sitemap-overlay.hk-active { display: block; animation: hkSMFade 0.3s ease; }
@keyframes hkSMFade {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
.hk-sm-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 60px; border-bottom: 1px solid rgba(255,255,255,0.07); position: sticky; top: 0; background: rgba(13,15,22,0.98); z-index: 2; backdrop-filter: blur(10px); }
.hk-sm-logo { font-size: 14px; font-weight: 800; color: #fff; letter-spacing: 0.1em; }
.hk-sm-title { font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3); letter-spacing: 0.25em; }
.hk-sm-close { width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.2); background: transparent; color: #fff; font-size: 15px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.25s; }
.hk-sm-close:hover { background: #DC2227; border-color: #DC2227; transform: rotate(90deg); }
.hk-sm-body { padding: 50px 60px 80px; }
.hk-sm-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 50px 32px; max-width: 1380px; margin: 0 auto; }
.hk-main-a { display: block; color: #fff; font-size: 26px; font-weight: 700; text-decoration: none; padding-bottom: 13px; margin-bottom: 16px; border-bottom: 2px solid #DC2227; letter-spacing: 0.05em; transition: color 0.2s; }
.hk-main-a:hover { color: #7aaef5; }
.hk-sub-ul { list-style: none; margin: 0; padding: 0; }
.hk-sub-li { margin-bottom: 20px; }
.hk-sub-a { display: block; color: #bbb; font-size: 20px; font-weight: 500; text-decoration: none; transition: color 0.2s, padding-left 0.15s; }
.hk-sub-a:hover { color: #DC2227; padding-left: 4px; }
.hk-thd-ul { list-style: none; margin: 7px 0 0 0; padding: 6px 0 0 12px; border-left: 2px solid rgba(255,255,255,0.07); }
.hk-thd-ul li { margin-bottom: 5px; }
.hk-thd-a { display: block; color: #777; font-size: 16px; text-decoration: none; line-height: 1.5; transition: color 0.2s; }
.hk-thd-a:hover { color: #DC2227; }
/* 사이트맵 반응형 */
@media screen and (max-width:1200px) {
  .hk-sm-grid { grid-template-columns: repeat(4, 1fr); gap: 40px 24px; }
  .hk-sm-body { padding: 100px 40px 60px; }
  .hk-main-a { font-size: 20px; }
  .hk-sub-a { font-size: 16px; }
}
@media screen and (max-width:960px) {
  .hk-sm-grid { grid-template-columns: repeat(3, 1fr); gap: 36px 20px; }
  .hk-sm-header { padding: 20px 32px; }
  .hk-sm-body { padding: 80px 32px 60px; }
}

/* ============================================
   MOBILE 아코디언 메뉴 (body.mobile)
   ============================================ */
body.mobile #hk-sitemap-overlay { display: none !important; }
body.mobile .m_menu_wrap .top_nav { display: block !important; }
body.mobile .m_menu_wrap .menu { display: block; border-bottom: 1px solid rgba(255,255,255,0.07); }
/* 1depth */
body.mobile .m_menu_wrap .menu > .menu_a.void_link { display: flex !important; align-items: center; justify-content: space-between; padding: 18px 60px 18px 24px !important; font-size: 16px !important; font-weight: 600 !important; color: #fff !important; cursor: pointer; position: relative !important; text-decoration: none; }
body.mobile .m_menu_wrap .menu > .menu_a.void_link::after { content: "" !important; width: 9px !important; height: 9px !important; border-right: 2px solid rgba(255,255,255,0.45) !important; border-bottom: 2px solid rgba(255,255,255,0.45) !important; border-left: none !important; border-top: none !important; background: none !important; transform: rotate(45deg) !important; transition: transform 0.3s, margin-top 0.3s !important; position: absolute !important; right: 24px !important; top: 50% !important; margin-top: -8px !important; }
body.mobile .m_menu_wrap .menu > .menu_a.void_link.hk-open::after { transform: rotate(-135deg) !important; margin-top: -3px !important; }
/* 2depth */
body.mobile .m_menu_wrap .sub_menu_wrap { display: none; overflow: hidden; background: rgba(0,0,0,0.22); }
body.mobile .m_menu_wrap .sub_menu_wrap.hk-open { display: block; }
body.mobile .m_menu_wrap .sub_menu > .sub_menu_a { display: flex !important; align-items: center; justify-content: space-between; padding: 14px 60px 14px 36px !important; font-size: 14px !important; font-weight: 500 !important; color: #ccc !important; position: relative !important; text-decoration: none; cursor: pointer; }
body.mobile .m_menu_wrap .sub_menu > .sub_menu_a.hk-has-ch::after { content: "" !important; width: 8px !important; height: 8px !important; border-right: 1.5px solid rgba(255,255,255,0.35) !important; border-bottom: 1.5px solid rgba(255,255,255,0.35) !important; border-left: none !important; border-top: none !important; background: none !important; transform: rotate(45deg) !important; transition: transform 0.3s, margin-top 0.3s !important; position: absolute !important; right: 24px !important; top: 50% !important; margin-top: -6px !important; }
body.mobile .m_menu_wrap .sub_menu > .sub_menu_a.hk-has-ch.hk-open::after { transform: rotate(-135deg) !important; margin-top: -2px !important; }
/* 3depth */
body.mobile .m_menu_wrap .thd_menu_wrap { display: none !important; background: rgba(0,0,0,0.18); padding: 4px 0; }
body.mobile .m_menu_wrap .thd_menu_wrap.hk-open { display: block !important; max-height: 600px !important; overflow: visible !important; }
body.mobile .m_menu_wrap .thd_menu_a { display: block !important; padding: 14px 24px 14px 36px !important; font-size: 15px !important; color: #777 !important; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.03); transition: color 0.2s, background 0.2s; }
body.mobile .m_menu_wrap .thd_menu_a:hover { color: #DC2227 !important; background: rgba(70,123,214,0.06); }
body.mobile .m_menu_wrap .thd_arrow { display: none !important; }
/* PC nav CSS 충돌 방지 */
body.mobile .m_menu_wrap .top_nav .sub_menu_wrap { visibility: visible !important; opacity: 1 !important; display: none !important; }
body.mobile .m_menu_wrap .top_nav .sub_menu_wrap.hk-open { visibility: visible !important; opacity: 1 !important; display: block !important; }
body.mobile .m_menu_wrap .top_nav .menu.is-open .sub_menu_wrap { visibility: visible !important; opacity: 1 !important; }
body.mobile .m_menu_wrap .top_nav .thd_menu_wrap { max-height: 0 !important; overflow: hidden !important; display: none !important; }
body.mobile .m_menu_wrap .top_nav .thd_menu_wrap.hk-open { max-height: 600px !important; overflow: visible !important; display: block !important; }
body.mobile .m_menu_wrap .sub_menu_a { display: flex !important; visibility: visible !important; opacity: 1 !important; }
body.mobile .m_menu_wrap .top_nav .sub_menu_a { color: #ccc !important; font-size: 15px !important; padding: 14px 60px 14px 36px !important; width: 100%; }
body.mobile .m_menu_wrap .top_nav .thd_menu_a { visibility: visible !important; opacity: 1 !important; display: block !important; color: #999 !important; }
/* 닫기 버튼 */
body.mobile .m_close_wrap { padding: 20px 20px 10px; display: flex; justify-content: flex-end; }
body.mobile .m_close_btn { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.25); background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; text-decoration: none; cursor: pointer; }

/* ============================================
   .m_menu_wrap 내 PC top_nav 충돌 초기화
   ============================================ */
.m_menu_wrap .top_nav { display: block !important; flex-direction: column; position: static; text-align: left; font-size: inherit; }
.m_menu_wrap .top_nav .menu { width: 100% !important; min-width: 0 !important; height: auto !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; display: block !important; position: static !important; }
/* m_menu_wrap 내부에서는 hover 드롭다운 비활성화 */
.m_menu_wrap .top_nav .menu:hover .sub_menu_wrap { opacity: 1; visibility: visible; max-height: 0; pointer-events: none; display: none !important; }
/* 2뎁스 서브메뉴: none으로 시작 */
.m_menu_wrap .top_nav .sub_menu_wrap { display: none !important; position: static !important; top: auto !important; left: auto !important; transform: none !important; min-width: 0 !important; white-space: normal !important; background: rgba(0,0,0,0.22) !important; border-top: none !important; box-shadow: none !important; padding: 0 !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transition: none !important; }
.m_menu_wrap .top_nav .sub_menu_wrap.hk-open { display: block !important; }
.m_menu_wrap .top_nav .menu.is-open .sub_menu_wrap:not(.hk-open) { display: none !important; }
/* 1뎁스 링크 */
.m_menu_wrap .top_nav .menu_a { height: auto !important; padding: 18px 60px 18px 24px !important; font-size: 16px !important; font-weight: 600 !important; color: #fff !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; position: relative !important; width: 100% !important; box-sizing: border-box !important; }
.m_menu_wrap .top_nav .menu_a span { color: #fff !important; }
.m_menu_wrap .top_nav .menu_a.void_link::after, .m_menu_wrap .top_nav .menu_a.void_link:after { content: "" !important; width: 9px !important; height: 9px !important; border-right: 2px solid rgba(255,255,255,0.45) !important; border-bottom: 2px solid rgba(255,255,255,0.45) !important; border-left: none !important; border-top: none !important; background: none !important; transform: rotate(45deg) !important; transition: transform 0.25s !important; position: absolute !important; right: 24px !important; top: 50% !important; left: auto !important; margin-top: -7px !important; display: block !important; }
.m_menu_wrap .top_nav .menu_a.void_link.hk-open::after, .m_menu_wrap .top_nav .menu_a.void_link.hk-open:after { transform: rotate(-135deg) !important; margin-top: -2px !important; }
/* 2뎁스 항목 */
.m_menu_wrap .top_nav .sub_menu { padding: 0 !important; position: relative !important; background: none !important; }
.m_menu_wrap .top_nav .sub_menu:hover > .sub_menu_a { color: #ccc !important; background: none !important; }
/* sub_menu_a 되살림 */
.m_menu_wrap .sub_menu_a, .m_menu_wrap .top_nav .sub_menu_a { display: flex !important; visibility: visible !important; opacity: 1 !important; align-items: center !important; padding: 14px 60px 14px 36px !important; font-size: 14px !important; font-weight: 500 !important; color: #ccc !important; position: relative !important; cursor: pointer !important; background: none !important; box-sizing: border-box !important; }
.m_menu_wrap .sub_menu_a:hover, .m_menu_wrap .top_nav .sub_menu_a:hover { color: #fff !important; background: none !important; }
/* 3뎁스 화살표 */
.m_menu_wrap .sub_menu_a.hk-has-ch::after, .m_menu_wrap .sub_menu_a.hk-has-ch:after { content: "" !important; width: 8px !important; height: 8px !important; border-right: 1.5px solid rgba(255,255,255,0.35) !important; border-bottom: 1.5px solid rgba(255,255,255,0.35) !important; border-left: none !important; border-top: none !important; background: none !important; transform: rotate(45deg) !important; transition: transform 0.25s !important; position: absolute !important; right: 24px !important; top: 50% !important; left: auto !important; margin-top: -6px !important; display: block !important; }
.m_menu_wrap .sub_menu_a.hk-has-ch.hk-open::after, .m_menu_wrap .sub_menu_a.hk-has-ch.hk-open:after { transform: rotate(-135deg) !important; margin-top: -2px !important; }
/* 3뎁스 wrap */
.m_menu_wrap .top_nav .thd_menu_wrap { display: none !important; max-height: none !important; overflow: hidden !important; background: rgba(0,0,0,0.18) !important; padding: 0 !important; border-top: none !important; transition: none !important; }
.m_menu_wrap .top_nav .thd_menu_wrap.hk-open { display: block !important; max-height: none !important; overflow: visible !important; }
.m_menu_wrap .top_nav .sub_menu.thd-open .thd_menu_wrap:not(.hk-open) { display: none !important; max-height: 0 !important; }
/* 3뎁스 링크 */
.m_menu_wrap .top_nav .thd_menu_a { display: block !important; visibility: visible !important; opacity: 1 !important; padding: 10px 24px 10px 52px !important; font-size: 13px !important; color: #777 !important; text-decoration: none !important; line-height: 1.4 !important; border-bottom: 1px solid rgba(255,255,255,0.03) !important; transition: color 0.2s, background 0.2s !important; font-weight: 400 !important; }
.m_menu_wrap .top_nav .thd_menu_a:hover { color: #DC2227 !important; background: rgba(70,123,214,0.06) !important; }
.m_menu_wrap .top_nav .thd_arrow { display: none !important; }
.m_menu_wrap .thd_menu_wrap { display: none !important; }
/* 모바일 2뎁스 클릭 가능하게 강제 */
body.mobile .m_menu_wrap .sub_menu_a { display: flex !important; pointer-events: auto !important; position: relative; z-index: 10; }
body.mobile .m_menu_wrap .sub_menu { position: relative; z-index: 5; }
body.mobile .m_menu_wrap .thd_menu_a { display: flex !important; pointer-events: auto !important; position: relative; z-index: 10; }
body.mobile .m_menu_wrap .thd_menu { position: relative; z-index: 5; }






/* 드롭다운 잘림 방지 */
.header_mid_wrap,
.header_wrap,
.header_mid {
  overflow: visible !important;
}

.header_all_wrap {
  overflow: visible !important;
}