@charset "utf-8";
:root { --site-navy:#0f244c; --site-green:#248a41; }
html { width:100%; scroll-behavior:smooth; }
body { width:100%; margin:0; color:#252a30; font-size:15px; line-height:1.65; font-family:"Malgun Gothic",sans-serif; }
img { max-width:100%; height:auto; }
button, input, select, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible { outline:3px solid var(--site-green); outline-offset:4px; }
[hidden] { display:none !important; }
.site-boundary { width:calc(100% - 48px); max-width:1200px; margin-inline:auto; }
.site-skip { position:absolute; left:16px; top:-100px; z-index:10000; padding:12px 20px; color:#fff; background:var(--site-navy); }
.site-skip:focus { top:8px; }
.site-header { position:relative; z-index:100; background:#fff; border-bottom:1px solid #edf0f2; }
.site-header-inner { width:calc(100% - 48px); max-width:1200px; min-height:116px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.site-logo { flex:0 0 auto; display:block; width:248px; }
.site-logo img { display:block; width:100%; height:auto; }
.site-menu { display:flex; gap:clamp(20px,4vw,64px); align-items:center; list-style:none; }
.site-menu-item { position:relative; }
.site-menu-item > a { display:block; padding:32px 0; color:#242a32; font-size:19px; font-weight:600; white-space:nowrap; }
.site-menu-item.is-current > a, .site-menu a:hover, .site-menu a[aria-current="page"] { color:var(--site-green); }
.site-submenu { position:absolute; top:100%; left:50%; transform:translateX(-50%); min-width:210px; padding:10px; background:#fff; border:1px solid #e5e9e5; border-radius:4px; box-shadow:0 8px 20px #0f244c15; opacity:0; visibility:hidden; transition:opacity .15s; list-style:none; }
.site-menu-item:hover .site-submenu, .site-menu-item:focus-within .site-submenu { opacity:1; visibility:visible; }
.site-submenu a { display:block; padding:11px 14px; color:#343a40; white-space:nowrap; }
.site-submenu a:hover, .site-submenu a:focus-visible { background:#f0f7f1; }
.site-menu-toggle { display:none; }
#container.site-main { width:100%; float:none; min-height:0; margin:0; font-size:1em; }
.site-hero { position:relative; background:#e9f0eb; }
.site-hero-slides { position:relative; height:clamp(320px,43vw,640px); }
.site-hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .6s ease; }
.site-hero-slide.is-active { opacity:1; visibility:visible; }
.site-hero-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.site-hero-controls { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; width:max-content; max-width:calc(100% - 24px); align-items:center; gap:8px; padding:4px 8px; border-radius:24px; background:#0c1526b3; color:#fff; }
.site-hero-controls button { flex-shrink:0; min-width:40px; min-height:40px; padding:0 10px; border:0; background:transparent; color:#fff; font-size:26px; white-space:nowrap; }
.site-hero-controls .site-hero-pause { font-size:12px; border-left:1px solid #ffffff50; }
.site-hero-counter { min-width:40px; text-align:center; font-size:13px; }
.site-quick { padding-block:48px 60px; }
.site-quick h2 { margin:0 0 28px; text-align:center; font-size:28px; font-weight:500; letter-spacing:2px; }
.site-quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.site-quick-card { position:relative; display:block; overflow:hidden; aspect-ratio:5/3; background:var(--site-navy); color:#fff; }
.site-quick-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.site-quick-card::after { content:""; position:absolute; inset:0; background:#07152555; }
.site-quick-card > span { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.site-quick-card strong { font-size:clamp(20px,2.3vw,30px); }
.site-quick-card small { font-size:13px; }
.site-quick-card:hover img { transform:scale(1.04); }
.site-page-heading { padding:44px 0; background:var(--site-navy) url("../../../images/s_bg.jpg") center/cover; color:#fff; }
.site-page-heading p { margin:0 0 6px; color:#fff; font-size:14px; }
.site-page-heading h1 { font-size:32px; line-height:1.4; word-break:keep-all; }
.site-section-nav { border-bottom:1px solid #dfe5e8; background:#f7f9fa; }
.site-section-nav ul { display:flex; flex-wrap:wrap; gap:0 24px; list-style:none; }
.site-section-nav a { display:block; padding:17px 4px; border-bottom:3px solid transparent; color:#424b50; }
.site-section-nav a[aria-current="page"] { border-bottom-color:var(--site-green); color:var(--site-green); font-weight:700; }
.site-page-content { min-height:340px; padding-block:40px 64px; }
.site-inquiry-note { padding:16px 20px; margin-bottom:24px; background:#f0f7f1; border-left:3px solid var(--site-green); word-break:keep-all; }
.site-footer { color:#fff; background:var(--site-navy); text-align:center; }
.site-footer > .site-boundary { padding-block:30px; }
.site-footer strong { display:block; margin-bottom:10px; font-size:19px; }
.site-footer p { margin:4px 0; word-break:keep-all; overflow-wrap:anywhere; }
.site-footer span { display:inline-block; margin-inline:12px; }
.site-footer a { color:inherit; }
.site-footer-bottom { padding:16px 24px; background:#0c1526; font-size:13px; }
.site-footer-bottom > a { display:inline-block; padding:4px 10px; }
#hd_login_msg { padding:8px 24px; background:#f2f6f3; font-size:13px; text-align:center; }
#hd_login_msg a { margin-left:10px; }
#hd_pop { width:100%; max-width:1200px; }
.hd_pops { max-width:calc(100vw - 24px); }
.hd_pops_con { max-width:100%; overflow:auto; }
#bo_list, #bo_v, #bo_w, #fwrite { max-width:100%; }
#bo_v_con { overflow-wrap:anywhere; }
#bo_v_con img, #bo_v_con video, #bo_v_con iframe { max-width:100%; }
#bo_v_con table { display:block; max-width:100%; overflow-x:auto; }
.site-page-content .tbl_wrap { overflow-x:auto; }
.site-page-content .tbl_head01 table { min-width:600px; }
.site-page-content .frm_input, .site-page-content select { max-width:100%; }
.site-page-content input[type="file"] { width:100%; min-width:0; max-width:100%; }
.site-page-content .bo_sch { width:min(360px,calc(100vw - 32px)); }
.mbskin { max-width:calc(100% - 32px); }
@media (max-width:900px) {
    .site-header-inner { min-height:82px; flex-wrap:wrap; gap:0; }
    .site-logo { width:200px; }
    .js .site-menu-toggle { display:flex; width:44px; height:44px; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #dce3dd; border-radius:4px; background:#fff; }
    .site-menu-toggle span { display:block; width:21px; height:2px; background:var(--site-navy); }
    .site-nav { flex-basis:100%; padding:12px 0 20px; }
    .js .site-nav { display:none; }
    .js .site-header.is-open .site-nav { display:block; }
    .site-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px 24px; }
    .site-menu-item > a { padding:12px 0; font-size:17px; border-bottom:1px solid #e5eae6; }
    .site-submenu { position:static; transform:none; min-width:0; padding:4px 0; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; }
    .site-submenu a { padding:10px 0; white-space:normal; word-break:keep-all; font-size:14px; }
    .site-hero-slides { height:clamp(280px,55vw,440px); }
    .site-quick { padding-block:32px 40px; }
    .site-quick-grid { gap:12px; }
    .site-quick-card strong { font-size:21px; }
    .site-page-heading { padding:30px 0; }
    .site-page-heading h1 { font-size:28px; }
}
@media (max-width:600px) {
    .site-boundary, .site-header-inner { width:calc(100% - 32px); }
    .site-header-inner { min-height:72px; }
    .site-logo { width:172px; }
    .site-hero-slides { height:clamp(240px,68vw,360px); }
    .site-hero-controls { bottom:12px; }
    .site-quick h2 { margin-bottom:20px; font-size:24px; }
    .site-quick-grid { grid-template-columns:1fr; gap:14px; }
    .site-quick-card { aspect-ratio:5/2.6; }
    .site-quick-card strong { font-size:27px; }
    .site-section-nav ul { gap:0 16px; }
    .site-section-nav a { padding:12px 0; font-size:13px; }
    .site-page-content { padding-block:24px 40px; }
    .site-footer span { display:block; margin:3px 0; }
    #bo_w .bo_w_info .frm_input { width:100%; margin:0 0 10px; float:none; }
    #bo_w .bo_w_tit .frm_input { padding-right:16px; }
    #bo_w .write_div { max-width:100%; }
    #bo_w #wr_content { width:100%; }
    #bo_list .td_num, #bo_list .td_num2, #bo_list .td_datetime, #bo_list .td_name { width:auto; padding-inline:8px; }
    #bo_list .tbl_head01 table, #bo_list .tbl_head01 thead, #bo_list .tbl_head01 tbody { display:block; width:100%; min-width:0; }
    #bo_list .tbl_head01 tr { display:grid; grid-template-columns:minmax(0,1fr) 70px 65px; }
    #bo_list .tbl_head01 tr:has(.all_chk), #bo_list .tbl_head01 tr:has(.td_chk) { grid-template-columns:32px minmax(0,1fr) 70px 65px; }
    #bo_list .tbl_head01 th, #bo_list .tbl_head01 td { min-width:0; }
    #bo_list .empty_table { grid-column:1 / -1; }
    #bo_list .td_num, #bo_list .td_num2 { display:none; }
    #bo_list .td_name { width:70px; overflow-wrap:anywhere; }
    #bo_list .td_datetime { width:65px; font-size:12px; }
    #bo_list .all_chk, #bo_list .td_chk { width:32px; }
    #bo_list .td_subject { width:100%; overflow-wrap:anywhere; }
    #bo_list .bo_tit a { display:inline; white-space:normal; }
    #bo_v .btn_bo_user { float:none; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
    #bo_v .btn_bo_user li { margin:0; }
    .site-inquiry-note { padding:12px 14px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .site-hero-slide, .site-quick-card img { transition:none; }
}
