@charset "utf-8";
/* ND CMS 샘플 사이트 — COMMON_CSS (header/GNB/footer/공통). 소스 blocks/COMMON_CSS.txt 의 구조(클래스명)를 유지하고 ND 브랜드로 교체 */
:root {
    --mainColor1: #1e3a8a;      /* ND 네이비 */
    --mainColor2: #06b6d4;      /* ND 시안(포인트) */
    --color-sh: #2563eb;        /* 인터랙션(호버/활성) */
    --color-s: #f1f5fd;         /* 연한 면 */
    --color-border: #dbe4f5;
    --nd-navy-d: #172554;
    --nd-ink: #0f172a;
    --nd-muted: #64748b;
}
/* 공통 */
/* sound only */
.screenOut { overflow: hidden; display: inline-block; border: 0; position: absolute; z-index: -1; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); }
.hidden { position: absolute; width: 1px; height: 1px; clip: rect(0 0 0 0); overflow: hidden; }

/* 바로가기 */
#skip { position:absolute; top: -100px; left: 0; width: 100%; z-index:99999; }
#skip a:focus { position: absolute; width: 100%; top: 100px; left:0; padding: 0 20px; z-index: 99999; text-align: center; font-size: 16px; line-height:36px; color: #fff; background: #000; overflow: visible; clip: unset; box-sizing: border-box; outline-offset: -2px; }
#container { min-height: calc(100vh - 248px); }

/* 태그 */
.tag { border: 1px solid #ffffff4c; font-size: 14px; font-weight: 600; border-radius: 14.5px; line-height: 14px; padding-left: 18px; padding-right: 18px; width: fit-content; padding-top: 7px; padding-bottom: 7px; box-sizing: border-box; }
.tag.type1 { color: white; border-color: #ffffff4c; background-color: rgb(255,255,255 ,10%); }
.tag.type2 { color: var(--mainColor1); border-color: var(--mainColor1); background-color:white; }
.link_btn { font-size: 18px; position: relative; font-weight: 600; font-stretch: normal; font-style: normal; line-height: normal; letter-spacing: -0.72px; text-align: left; color: #fff; }
.link_btn.type1 { padding-right: 27px; background: url(../images/icn_arrow1_black.png) no-repeat center right / 12px; color: black; }
.link_btn.type2 { padding-right: 27px; background: url(../images/icn_arrow1_white.png) no-repeat center right / 12px; color: white; }

/* 헤더 */
header { width: 100%; height: 86px; position: fixed; top: 0px; left: 0px; right: 0px;z-index:300}
header .header_inner { max-width: 1920px; height:86px; display: flex; align-items: center; justify-content:center;color: white}
header .header_inner h1{position:absolute;left:30px}
header .header_inner h1 a { display:block; background: url('../images/nd/logo-white.svg') no-repeat left center / contain; width:142px; height:36px }
header .header_inner .gnb > ul { display: flex; }
header .header_inner .gnb > ul > li > a { position: relative; color: white; font-size: 18px; font-weight: 600; padding-left: 30px; padding-right: 30px; padding-top: 28px; padding-bottom: 28px; }
header .header_inner .gnb > ul > li > a::before { position: absolute; bottom: 0;left: 50%; transform: translateX(-50%); z-index: 1; content: ''; width: 0; height: 2px;background: var(--mainColor1); transition: 0.2s;}
header .header_inner .gnb > ul > li > a.on::before { width: 100%; }
header .header_inner .gnb > ul > li > a.on { color: var(--mainColor1) !important; }
header .header_inner .gnb > ul > li > a.on::before { background: var(--mainColor2); height: 3px; }
header .header_inner .gnb ul li .depth_wrap { background: white; top: 80px; left: 0px; width: 100%; position: absolute; display: none; min-height: 332px; }
header .header_inner .gnb ul li .depth_wrap.on { display: flex; }
header .header_inner .gnb ul li .depth_wrap .tit { font-size: 28px; white-space: nowrap; font-weight: bold; color: var(--nd-navy-d); flex-shrink: 0; padding-top: 43px; padding-right: 48px; border-right:1px solid #e6e2df; }
header .header_inner .gnb ul li .depth_wrap .inner { max-width: 1260px; width: 100%; margin: 0 auto; padding-right: 60px; display: flex; padding-left: 60px; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list { width: 100%; padding-bottom: 40px; flex-wrap: wrap; gap: 20px 10px; display: flex; place-self: flex-start; margin-top: 45px; margin-left: 40px; margin-right: 40px; align-content: flex-start; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li { max-width: 250px; width: calc(50% - 5px); display: block; font-size: 16px; font-weight: normal; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li > a { font-size: 16px; line-height: 1; width: 100%; display: inline-block; font-weight: normal; border: solid 1px #e5e5e5; background: #fff url(../images/icon_arrow_down_gray.png) no-repeat calc(100% - 20px) center / 11px 6px; color: #555555 !important; padding-left: 19px; padding-top: 17px; padding-bottom: 18px; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li.ex_link > a {background: #fff url(../images/ic_link.svg) no-repeat calc(100% - 20px) center / 15px auto;}
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li > a:hover { background: var(--mainColor1); color: white !important; transition: 0.3s all; background: var(--mainColor1) url(../images/icon_arrow_down_white.png) no-repeat calc(100% - 20px) center / 11px 6px; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li.ex_link > a:hover {background:  var(--mainColor1) url(../images/ic_link2.svg) no-repeat calc(100% - 20px) center / 15px auto;}
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list .pc_depth3_list { display: flex; margin-top: 20px; flex-direction: column; gap: 15px; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list .pc_depth3_list li { display: flex; line-height: 1; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list .pc_depth3_list li a { padding-left: 24px; position: relative; display: inline-block; font-size: 16px; line-height: 1; color: #555; font-weight: 500; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list .pc_depth3_list li a::after { background: #aaa; content: ""; display: block; left: 10px; top:50%; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 10px; position: absolute; }
header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list .pc_depth3_list li.ex_link::after { content: ''; display: inline-flex; margin-left: auto; width: 15px; height: 15px; background: url(../images/ic_link.svg) no-repeat; background-size: cover; }
.gnb_img_box { display: block; position: relative; flex-shrink: 0; margin-top: 45px; height: fit-content; }
.gnb_img_box .img_wrap { max-width: 300px; width: 100%; height: 196px; background: #0b1b4d; border-radius: 10px; overflow: hidden; }
.gnb_img_box .img_wrap img { width: 100%; height: 100%; object-fit: cover; }
.gnb_img_box .img_tit { position: absolute; left: 22px; bottom: 20px; right: 22px; transform: none; width: auto; text-align: left; color: #fff; font-size: 17px; font-weight: 700; line-height: 1.4; text-shadow: 0 1px 8px rgba(11,27,77,.6); }
.depth_wrap { border-bottom: 1px solid var(--mainColor2); }
.depth_wrap .inner .tit { background: url(../images/nd/bg_mark.svg) no-repeat right bottom / 150px; }
header .header_inner .h_menu_wrap {position:absolute;right:30px;display: flex; gap:20px; align-items: center; }
header .header_inner .h_menu_wrap .lang_list a {font-size: 15px;color:#fff;font-weight: 600; font-stretch: normal; font-style: normal; line-height: normal;border:2px solid #fff;position: relative;display:flex;align-items:center;justify-content:center;border-radius:30px;min-width:45px;height:26px;padding:0 10px;transition:.3s}
header .header_inner .h_menu_wrap .lang_list a:hover{background-color:#fff;color:#333}
header .header_inner .h_menu_wrap .lang_list a.selected { display: none;}
header .header_inner .h_menu_wrap .lang_list a.selected::after { background: white; }
header .header_inner .h_menu_wrap .menu_wrap{width:32px;height:22px;line-height:0}
header .header_inner .h_menu_wrap .menu_wrap .menu_btn { font-size: 11px; font-weight: 500;position: relative;width:100%;height:100%}
header .header_inner .h_menu_wrap .menu_wrap .menu_btn span{position:absolute;width:80%;left:0;height:3px;background-color:#fff;top:50%;transform:translateY(-50%);text-indent:-999%;overflow:hidden}
header .header_inner .h_menu_wrap .menu_wrap .menu_btn::after { content: ''; display: block; width:100%; height: 3px; right: 0px; background: white; position: absolute; top: 0px; }
header .header_inner .h_menu_wrap .menu_wrap .menu_btn::before { content: ''; display: block; width:100%; height: 3px; right: 0px; background: white; position: absolute; bottom:0}
header .btn-depth3{display:none}
header .all_depth3_list .gnb-3item{padding:10px 10px 10px 20px;color:#fff;display:block}
header .all_menu_wrap { position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; background: radial-gradient(circle at 85% 15%, rgba(6,182,212,.22), transparent 45%), linear-gradient(135deg,#0b1b4d,#1e3a8a 65%,#172554); z-index: 50; display: none; }
header .all_menu_wrap .inner { max-width: 1520px; padding-right: 20px; padding-left: 20px; margin: 50px auto 0; display: flex; flex-direction: column; justify-content: center; height: 100%; }
header .all_menu_wrap .close_btn { position: absolute; background: url(../images/icn_close_white.png) no-repeat center / cover; width: 30px; height: 30px; top: 66px; right: 84px; }
header .all_menu_wrap .logo_area a { display: inline-block; width:142px; position: absolute; top: 65px; left: 80px; }
header .all_menu_wrap .logo_area a img { width: 100%; }
header .all_menu_wrap .all_menu_main { display: flex; justify-content: space-between; align-items: baseline; }
header .all_menu_wrap .all_menu_main nav .all_depth1_list { display: flex; flex-wrap: wrap; gap: 40px 64px; }
header .all_menu_wrap .all_menu_main nav .all_depth1_list .list_tit { font-size: 28px; display: inline-block; font-weight: bold; white-space: nowrap; color: #fff; }
header .all_menu_wrap .all_menu_main nav .all_depth1_list .all_depth2_list { margin-top:20px; display: flex; flex-direction: column; gap:20px}
header .all_menu_wrap .all_menu_main nav .all_depth1_list .all_depth2_list > li > a { font-size:1.25rem; color: #ddd; font-weight: 500; }
header .all_menu_wrap .all_menu_main nav .all_depth1_list .all_depth2_list > li > a:hover { color: #67e8f9; }

header .all_menu_wrap .txt_wrap { display: flex; gap: 53px; flex-direction: column; }
header .all_menu_wrap .txt_wrap .blue_txt { font-size: 24px; color: var(--mainColor2); font-weight: bold; }
header .all_menu_wrap .txt_wrap strong { font-size: 44px; font-weight: 700; line-height: 1.3; }

header.active { background: white; border-bottom: 1px solid #e5e5e5; }
header.active .header_inner h1 a { background-image:url('../images/nd/logo-color.svg') }
header.active .header_inner .gnb ul li a { color: black; }
header.active .header_inner .h_menu_wrap .lang_list a.selected { color: #000000; }
header.active .header_inner .h_menu_wrap .lang_list a.selected::after { background-color: black; }
header.active .header_inner .h_menu_wrap .lang_list a {border-color:#000;color: #000; }
header.active .header_inner .h_menu_wrap .lang_list a::after { background: #000; }
header.active .header_inner .h_menu_wrap .menu_wrap .menu_btn { color: black; }
header.active .header_inner .h_menu_wrap .menu_wrap .menu_btn span{background-color:black}
header.active .header_inner .h_menu_wrap .menu_wrap .menu_btn::after { background: black; }
header.active .header_inner .h_menu_wrap .menu_wrap .menu_btn::before { background: black; }

/* 푸터 */
footer { width: 100%; background: #0f172a; color: #94a3b8; border-top: 3px solid var(--mainColor1); }
footer a { color: inherit; }
footer a:hover, footer a:focus-visible { color: #fff; }
footer .footer_inner { max-width: 1690px; padding: 44px 60px 40px; margin: 0 auto; }
footer .footer_inner .footer_top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid rgba(148,163,184,.22); }
footer .footer_inner .footer_top .policy_list { display: flex; flex-wrap: wrap; gap: 8px 36px; }
footer .footer_inner .footer_top .policy_list li a { font-size: 16px; font-weight: 600; line-height: 1.4; color: #cbd5e1; }
footer .footer_inner .footer_top .policy_list li:first-of-type a { color: #fff; }
footer .footer_inner .footer_top .policy_list li a:hover { color: #67e8f9; }
footer .footer_inner .footer_top .go_top_btn { font-size: 14px; font-weight: 700; letter-spacing: .08em; color: #e0f2fe; border: 1px solid rgba(148,163,184,.4); border-radius: 999px; padding: 8px 18px; background: transparent; cursor: pointer; transition: .2s; }
footer .footer_inner .footer_top .go_top_btn:hover { background: #fff; color: var(--mainColor1); border-color: #fff; }
footer .footer_inner .footer_con { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; margin-top: 30px; }
footer .footer_inner .footer_con .left_wrap { display: flex; gap: 32px; align-items: flex-start; }
footer .footer_inner .footer_con .footer_logo { flex-shrink: 0; width: 142px; height: auto; }
footer .footer_inner .footer_con .footer_logo img { display: block; width: 100%; height: auto; }
footer .footer_inner .footer_con .footer_info { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 400; line-height: 1.6; color: #94a3b8; }
footer .footer_inner .footer_con .footer_info .desc { color: #cbd5e1; font-weight: 500; }
footer .footer_inner .footer_con .number_wrap { display: flex; flex-wrap: wrap; gap: 4px 36px; }
footer .footer_inner .footer_con .number_wrap dl { display: flex; gap: 12px; }
footer .footer_inner .footer_con .number_wrap dt { color: #67e8f9; font-weight: 600; }
footer .footer_inner .footer_con .copyright { margin-top: 6px; font-size: 14px; color: #64748b; }
footer .footer_inner .footer_con .right_wrap { display: flex; gap: 56px; }
footer .footer_inner .footer_con .footer_links dt { font-size: 14px; font-weight: 700; color: #e2e8f0; margin-bottom: 12px; }
footer .footer_inner .footer_con .footer_links dd { margin-bottom: 8px; font-size: 15px; }


/* 탭메뉴 */
.tab_menu_wrap ul { display: flex; gap: 42px; }
.tab_menu_wrap ul li { font-size: 20px; font-weight: 600; color: #777; }
.tab_menu_wrap ul li a { color: #777; }
.tab_menu_wrap ul li a.selected { color: var(--mainColor1); }

/* 스와이퍼 */
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction { top: auto !important; width: auto !important; left: auto !important; }

@media screen and (max-width: 1440px) {
    header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list { margin-left: 30px; margin-right: 30px; }
    header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li { width: calc(33% - 5.6px); }
    header .all_menu_wrap .all_menu_main {justify-content: center;}
    header .all_menu_wrap .txt_wrap {display: none;}
    .all_menu_bottom {display: none;}
}

@media screen and (max-width: 1279px) {
    .gnb_img_box { display: none; }
    header .header_inner .gnb ul li .depth_wrap .inner ul.pc_depth2_list > li { width: calc(33% - 5.6px); }
}

@media screen and (max-width: 1200px) {
    header .header_inner .gnb > ul > li > a{padding-left:20px;padding-right:20px}
}

@media screen and (min-width:1025px) {
    header .all_depth3_list{display:none}
    header .btn-depth3{display:none}
}

@media screen and (max-width:1024px) {
    html, body{font-size:14px}

    header .header_inner .gnb { display: none; }
    header .header_inner .gnb > ul > li > a { padding-right: 15px; padding-left: 15px; }
    header .header_inner .h_menu_wrap .menu_wrap .menu_btn::after,
    header .header_inner .h_menu_wrap .menu_wrap .menu_btn::before,
    header .header_inner .h_menu_wrap .menu_wrap .menu_btn span{height:2px}
    header .all_menu_wrap {background: #fff;}
    header .all_menu_wrap .inner{height:100vh;margin:60px auto 0; padding: 0; justify-content: flex-start;}
    header .all_menu_wrap .all_menu_main{height:100%}
    header .header_inner h1{top:15px}
    header .all_menu_wrap .logo_area a {top:15px; left: 20px; width:142px;height:36px;background: url('../images/nd/logo-color.svg') no-repeat left center/contain}
    header .all_menu_wrap .logo_area a img {display: none;}
    header .all_menu_wrap .txt_wrap {display: none;}
    header .all_menu_wrap .close_btn { width: 17px; height: 16px; background: url(../images/icn_close2.svg) no-repeat center center; background-size: cover; top: 24px; right: 20px; }
    header .all_menu_wrap .all_menu_main nav{position:relative;width: 100%;height:100%;border-top:1px solid var(--color-border)}
    header .all_menu_wrap .all_menu_main nav::after{position:absolute;left:120px;background-color:var(--color-border);width:1px;height:100%;content:"";top:0;z-index:100}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list {flex-direction: column;gap:0;height:100%}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list li{display:flex;flex-direction:column}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list li.on .list_tit{background-color:var(--color-sh);color:#fff}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list li.on .list_tit::after{position:absolute;width:0;content:"";right:-15px;top:50%;transform:translateX(-50%);height: 0;border-style: solid;border-width:5px 0px 5px 10px;border-color: transparent transparent transparent var(--color-sh);z-index:200}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list li.on .all_depth2_list{display:block}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list .list_tit {position:relative;color: #222;font-size:1rem; padding:5px;display:flex;align-items:center;justify-content:center;width:120px;height:86px;background-color:var(--color-s);border-bottom:1px solid var(--color-border);text-align:center}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list .btn_depth { position: absolute; top: 3px;right: 20px; width: 20px; height: 20px; background: url(../images/icon_arrow_down_gray.png) no-repeat center center; background-size: 11px 6px; transition: 0.2s; }
    header .all_menu_wrap .all_menu_main nav .all_depth1_list .btn_depth.on { transform: rotate(180deg); }
    header .all_menu_wrap .all_menu_main nav .all_depth1_list .all_depth2_list { display: none; margin-top: 0;top:0;overflow-y:auto;height:calc(100vh - 30px);background: #fff;position:absolute;right:0;width:calc(100% - 120px);z-index:100}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list .all_depth2_list > li{position:relative;border-bottom:1px solid var(--color-border)}
    header .all_menu_wrap .all_menu_main nav .all_depth1_list .all_depth2_list > li > a {color: #222; font-size:1rem;width:calc(100% - 30px);height:50px;display:flex;align-items:center;padding:10px}
    header .all_depth3_list{display:none;background-color:var(--color-s)}
    header .all_depth3_list .gnb-3item{padding:10px 10px 10px 20px;font-size:.9em;color:initial}
    header .btn-depth3{position:absolute;display:block;width:50px;height:50px;text-indent:-999%;overflow:hidden;background:url('../images/icon_arrow_down_gray.png') center/12px no-repeat;transition:.2s;right:0;top:0}
    header .btn-depth3.on{transform: rotate(180deg)}
}

@media screen and (max-width: 720px) {
    /* header */
    header .header_inner h1{left:20px}
    header .header_inner h1 a { width:124px; height:32px }
    header .header_inner .gnb { display: none; }
    header .header_inner .h_menu_wrap{right:20px;gap:10px}
    header .header_inner .h_menu_wrap .menu_wrap{width:24px;height:18px}
    header { height: 60px; }
    header .header_inner { padding-right: 20px; padding-left: 20px; height: 60px; }
    header .header_inner .h_menu_wrap .menu_wrap .menu_btn { font-size: 9px; }

}

@media screen and (max-width: 480px) {
}

/* 사이트맵: 1699px 이하에서는 슬로건/주소 영역을 숨기고 메뉴 컬럼에 폭을 양보 */
@media screen and (max-width: 1699px) {
    header .all_menu_wrap .txt_wrap { display: none; }
    header .all_menu_wrap .all_menu_bottom { display: none; }
    header .all_menu_wrap .all_menu_main { justify-content: center; }
}

/* ND 공통 UI (메인/서브 공용) */
.nd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 10px; border: 1.5px solid transparent; font-size: 16px; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.nd-btn:hover { transform: translateY(-1px); }
.nd-btn--primary { background: #1e3a8a; color: #fff; }
.nd-btn--primary:hover { background: #172554; color: #fff; }
.nd-btn--light { background: #fff; color: #1e3a8a; }
.nd-btn--light:hover { background: #e0f2fe; color: #172554; }
.nd-btn--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
.nd-btn--ghost:hover { background: rgba(255,255,255,.14); border-color: #fff; color: #fff; }
.nd-btn--outline { border-color: #1e3a8a; color: #1e3a8a; background: #fff; }
.nd-btn--outline:hover { background: #eff6ff; color: #172554; }
.nd-btn--arrow::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
@media screen and (max-width: 720px) { .nd-btn { min-height: 48px; padding: 0 20px; font-size: 15px; } }
/* 접근성: 포커스 링 (reset.css 의 붉은 점선 대체) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
header:not(.active) a:focus-visible, header:not(.active) button:focus-visible, footer a:focus-visible, footer button:focus-visible { outline-color: #67e8f9; }
#skip a:focus { background: var(--mainColor1); }

/* 공통 보조 */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

@media screen and (max-width: 1024px) {
    footer .footer_inner .footer_con { flex-direction: column; }
    footer .footer_inner .footer_con .right_wrap { gap: 40px; flex-wrap: wrap; }
}
@media screen and (max-width: 720px) {
    footer .footer_inner { padding: 32px 20px 36px; }
    footer .footer_inner .footer_top { align-items: flex-start; }
    footer .footer_inner .footer_top .policy_list { gap: 6px 18px; max-width: calc(100% - 80px); }
    footer .footer_inner .footer_top .policy_list li a { font-size: 14px; }
    footer .footer_inner .footer_top .go_top_btn { position: static; top: auto; right: auto; font-size: 12px; padding: 6px 14px; }
    footer .footer_inner .footer_con { margin-top: 22px; gap: 28px; }
    footer .footer_inner .footer_con .left_wrap { flex-direction: column; gap: 16px; }
    footer .footer_inner .footer_con .footer_logo { width: 124px; }
    footer .footer_inner .footer_con .right_wrap { position: static; width: 100%; bottom: auto; gap: 28px 36px; }
    footer .footer_inner .footer_con .footer_info { font-size: 14px; gap: 6px; }
}

/* GNB 프리셋 확장: 개별 드롭다운형 (.gnb--dropdown) & 심플 상단바형 (.gnb--simple) */
header .header_inner .gnb ul.gnb_simple_list { display: flex; align-items: center; }
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item { position: relative; }
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item > a { position: relative; display: block; color: #fff; font-size: 18px; font-weight: 600; padding: 28px 30px; transition: color .2s; }
header.active .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item > a { color: #111; }
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item > a::before { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ''; width: 0; height: 3px; background: var(--mainColor2, #06b6d4); transition: width .2s; }
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item.on > a,
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item.active > a,
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item > a:hover { color: var(--mainColor1, #1e3a8a) !important; }
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item.on > a::before,
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item.active > a::before,
header .header_inner .gnb ul.gnb_simple_list > li.gnb_d1_item > a:hover::before { width: 100%; }
header .header_inner .gnb.gnb--dropdown .gnb_drop_box { display: none; position: absolute; top: 86px; left: 50%; transform: translateX(-50%); min-width: 220px; background: #fff; border: 1px solid #e2e8f0; border-top: 3px solid var(--mainColor1, #1e3a8a); border-radius: 0 0 12px 12px; box-shadow: 0 18px 36px -12px rgba(15, 23, 42, .18); padding: 10px 0; z-index: 350; }
header .header_inner .gnb.gnb--dropdown li.gnb_d1_item.on > .gnb_drop_box { display: block; }
header .header_inner .gnb.gnb--dropdown .gnb_d2_list > li > a { display: block; padding: 11px 22px; font-size: 15px; font-weight: 600; color: #334155 !important; white-space: nowrap; }
header .header_inner .gnb.gnb--dropdown .gnb_d2_list > li > a:hover,
header .header_inner .gnb.gnb--dropdown .gnb_d2_list > li.active > a { background: #f1f5fd; color: var(--mainColor1, #1e3a8a) !important; }
header .header_inner .gnb.gnb--dropdown .gnb_d3_list { padding: 4px 0 8px 16px; background: #f8fafc; border-top: 1px dashed #e2e8f0; border-bottom: 1px dashed #e2e8f0; }
header .header_inner .gnb.gnb--dropdown .gnb_d3_list > li > a { display: block; padding: 6px 18px; font-size: 13.5px; font-weight: 500; color: #64748b !important; white-space: nowrap; }
header .header_inner .gnb.gnb--simple .gnb_drop_box { display: none !important; }

