/*------------------------------------------------------------------------------*/
/* 1. reset */
/*------------------------------------------------------------------------------*/
html {font-size: 62.5%; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; -o-text-size-adjust: none;}
body {font-size: 1.6rem;position: relative;line-height: 1.3;}
:lang(ko) { word-break:keep-all }
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, em, pre, code, form, fieldset, legend, address, caption, cite, p, blockquote, th, td, input, select, textarea, button, figure, figcaption {margin:0;padding:0;box-sizing:border-box;font-family:'pretendard', 'Malgun Gothic',  sans-serif;color:#333;font-weight:400;font-style:normal;letter-spacing:-0.3px;}
table {border-collapse:collapse;width:100%;}
caption, legend, caption *, legend * {font-size:0;overflow:hidden;clip:rect(0, 0, 0, 0);width:1px;height:1px;background:transparent;}
h1, h2, h3, h4, h5, h6 {font-size:2.8rem;line-height:1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
ul, ol, dl, dt, dd {margin:0;padding:0;list-style:none}
p {margin:0;padding:0;word-break:keep-all}
fieldset {border:solid 0px rgb(77, 61, 61);padding:0;}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
figure + figure {margin-left:20px;}
figcaption {color:#626262;font-size:1.5rem;text-align:center;}
label, input, button, select, img, span, p {vertical-align:middle;background: none;}
img{margin: 0; padding: 0;}
input[type="submit"],
input[type="button"],
button {cursor:pointer}
input,
button {margin:0;padding:0;font-size:1.6rem;border:0;}
::-webkit-input-placeholder {color:#777;font-weight:400;}
::-moz-placeholder {color:#777;font-weight:400;}
:-ms-input-placeholder {color:#777;font-weight:400;}
:-moz-placeholder {color:#777;font-weight:400;}

a {color:#1b1b1b;text-decoration:none;}
a:focus-visible {outline: 1px solid #000;}
*, :after, :before {-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
/*------------------------------------------------------------------------------*/

.sr_only {overflow:hidden !important;position:absolute;width:1px;height:1px;margin:0;margin-left:-1px;padding:0;clip:rect(0,0,0,0);}
.hide{display:none;}
.clearfix:after {display:block;content:'';clear:both;}
.flex {display: flex; flex-wrap: wrap;}
.flex > .half {flex-basis: 49.5%;}
.flex > .third {flex-basis: 32.5%;}
.flex > .fifth {flex-basis: 17%;}

.display_ib{display: inline-block;}
.text_l{text-align: left !important;}
.text_c{text-align: center !important;}
.f-left {float:left;}
.f-right {float:right;}
.borno_l{border-left: 0 none !important;}
.borno_r{border-right: 0 none !important;}
.borno_t{border-top: 0 none !important;}
.borno_b{border-bottom: 0 none !important;}
.gm{font-family: 'Gmarket';}
.ns{font-family: 'NotoSerif';}
.txt_blue{color:#053291;}
.br_line{border-right:1px solid #e6e9ef !important;}

/*skipNav*/
#skipNav {width:100%; position:absolute; top:0; left:0; z-index:10000; }
#skipNav a {display:block; width:100%; line-height:50px; text-align:center; background-color:#214aa6; color:#fff; font-weight:700; font-size:18px; height:0; overflow:hidden; }
#skipNav a:focus {height:50px; }

/*------------------------------------------------------------------------------*/
/* text align */
/*------------------------------------------------------------------------------*/
.tx_center{text-align: center;}

.mt0 {margin-top:0px;} .mt5 {margin-top:5px;} .mt10 {margin-top:10px;} .mt15 {margin-top:15px;} .mt20 {margin-top:20px;} .mt25 {margin-top:25px;} .mt30 {margin-top:30px;} .mt35 {margin-top:35px;} .mt40 {margin-top:40px;} .mt45 {margin-top:45px;} .mt50 {margin-top:50px;}
.mr0 {margin-right:0px;} .mr5 {margin-right:5px ;} .mr10 {margin-right:10px ;} .mr15 {margin-right:15px;} .mr20 {margin-right:20px;} .mr25 {margin-right:25px ;} .mr30 {margin-right:30px ;} .mr35 {margin-right:35px;} .mr40 {margin-right:40px;} .mr45 {margin-right:45px;} .mr50 {margin-right:50px;}
.mb0 {margin-bottom:0px;} .mb5 {margin-bottom:5px;} .mb10 {margin-bottom:10px;} .mb15 {margin-bottom:15px;} .mb20 {margin-bottom:20px;} .mb25 {margin-bottom:25px;} .mb30 {margin-bottom:30px;} .mb35 {margin-bottom:35px;} .mb40 {margin-bottom:40px;} .mb45 {margin-bottom:45px;} .mb50 {margin-bottom:50px;} .mb65 {margin-bottom:65px;} .mb80 {margin-bottom:80px;}
.ml0 {margin-left:0px;} .ml5 {margin-left:5px;} .ml10 {margin-left:10px;} .ml15 {margin-left:15px;} .ml20 {margin-left:20px;} .ml25 {margin-left:25px;} .ml30 {margin-left:30px;} .ml35 {margin-left:35px;} .ml40 {margin-left:40px;} .ml45 {margin-left:45px;} .ml50 {margin-left:50px;}
.pd0{ padding: 0;}

.p20{padding: 20px;} .p30{padding: 30px;}
.pt0 {padding-top:0px;} .pt5 {padding-top:5px;} .pt10 {padding-top:10px;} .pt15 {padding-top:15px;} .pt20 {padding-top:20px;} .pt25 {padding-top:25px;} .pt30 {padding-top:30px;} .pt35 {padding-top:35px;} .pt40 {padding-top:40px;} .pt45 {padding-top:45px;} .pt50 {padding-top:50px;}
.pr0 {padding-right:0px;} .pr5 {padding-right:5px ;} .pr10 {padding-right:10px ;} .pr15 {padding-right:15px;} .pr20 {padding-right:20px;} .pr25 {padding-right:25px ;} .pr30 {padding-right:30px ;} .pr35 {padding-right:35px;} .pr40 {padding-right:40px;} .pr45 {padding-right:45px;} .pr50 {padding-right:50px;}
.pb0 {padding-bottom:0px;} .pb5 {padding-bottom:5px;} .pb10 {padding-bottom:10px;} .pb15 {padding-bottom:15px;} .pb20 {padding-bottom:20px;} .pb25 {padding-bottom:25px;} .pb30 {padding-bottom:30px;} .pb35 {padding-bottom:35px;} .pb40 {padding-bottom:40px;} .pb45 {padding-bottom:45px;} .pb50 {padding-bottom:50px;}
.pl0 {padding-left:0px;} .pl5 {padding-left:5px;} .pl10 {padding-left:10px;} .pl15 {padding-left:15px;} .pl20 {padding-left:20px;} .pl25 {padding-left:25px;} .pl30 {padding-left:30px;} .pl35 {padding-left:35px;} .pl40 {padding-left:40px;} .pl45 {padding-left:45px;} .pl50 {padding-left:50px;}
.f11{font-size: 1.1rem;}
.f18{font-size: 1.8rem;}
.f20{font-size: 2rem;}

/*inner*/
.inner{width: 1300px; margin:0 auto;}

/*list_공통*/
.dot_list > li{position: relative;}
.dot_list > li::before{position: absolute;content: "";display: inline-block;}
.dot_list > li{padding-left: 10px;color: #444;}
.dot_list > li ~ li{margin-top: 10px;}
.dot_list > li::before{top: 9px; left:0; width: 3px; height: 3px;background-color: #333333;border-radius: 10px;}
.dot_list li > ul{margin-top: 10px;}
.num_list{ counter-reset:num; }
.num_list li{ position:relative; padding-left:22px; font-size:1.7rem; line-height:1.7; color:#444; }
.num_list li::before{ counter-increment:num; content:counter(num) "."; position:absolute; left:0; top:0; color:#222; font-weight:500; }
.num_list li + li{ margin-top:6px; }
/*------------------------------------------------------------------------------*/
/* color */
/*------------------------------------------------------------------------------*/
.red{color:red !important;}
.blue{color:#00579b !important;}
.blue_btn{background-color: #183370;}
.dg_btn{background-color:#444444;}

/*------------------------------------------------------------------------------*/
/* header */
/*------------------------------------------------------------------------------*/
:root{
  --gnb-height: 280px;
}
.site_header {width: 100%; background: #fff; position:relative;}
.header_util {border-bottom: 1px solid #e6e9ef; background: #f9f9f9;}
.header_util_inner {display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px;}
.header_util_links,
.header_member_links {display: flex; align-items: center; flex-wrap: wrap;}
.header_util_link,
.header_member_link {font-size: 1.4rem; color: #333; line-height: 1; padding: 10px 10px; position: relative;}
.header_util_link + .header_util_link::before{ content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 100%; background: #d9dce3; transform: translateY(-50%); }
.header_member_link + .header_member_link::before { content: ""; position: absolute; left: -2px; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: #b3b3b3; transform: translateY(-50%); }
/* 알림 종 */
.header_mem_ico { display: inline-block; width: 17px; height: 21px; background: url('../images/common/header_member_blk_icon.png') no-repeat center/contain; vertical-align: middle; }
.header_mem_badge { position: absolute; top: 4px; right: 3px; min-width: 15px; height: 15px; border-radius: 50%; background: #f5462e; color: #fff; font-size: 0.9rem; font-style: normal; font-weight: 700; line-height: 15px; text-align: center; padding: 0 3px; letter-spacing: 0; pointer-events: none; }
.noti_btn { background: none; border: none; cursor: pointer; }
.noti_wrap { position: relative; }
.noti_popup { position: absolute; top: calc(100% + 10px); left: 0; width: 400px; background: #fff; border-radius: 15px; box-shadow: 0 6px 24px rgba(0,0,0,0.13); z-index: 500; overflow: hidden; padding: 20px; }
.noti_popup_head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e6e9ef; padding-bottom: 20px; }
.noti_popup_title { font-size: 1.8rem; font-weight: 700; color: #111; letter-spacing: -0.5px; }
.noti_popup_close { display: inline-flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; padding: 2px; border-radius: 4px; }
.noti_tabs { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 15px; }
.noti_tab { display: inline-flex; align-items: center; justify-content: center; height: 32px; padding: 0 14px; border-radius: 16px; background: #ebf0f8; color: #6b7a99; font-size: 1.4rem; font-weight: 500; border: none; cursor: pointer; letter-spacing: -0.3px; transition: background .15s, color .15s; }
.noti_tab.is_active, .noti_tab[aria-selected="true"] { background: #f5462e; color: #fff; }
.noti_popup_body { max-height: 320px; overflow-y: auto; }
.noti_item { background: #f0f0f0; border-radius: 10px; padding: 15px; margin-top: 15px; }
.noti_item + .noti_item { margin-top: 6px; }
.noti_item_cate { display: block; font-size: 1.3rem; font-weight: 700; margin-bottom: 4px; }
.noti_cate_edu { color: #2a9d4e; } .noti_cate_fee { color: #c28640; } .noti_cate_notice { color: #333; } .noti_cate_license { color: #f5462e; }
.noti_item_text { font-size: 1.4rem; color: #444; line-height: 1.5; letter-spacing: -0.3px; }
.noti_item_date { display: block; margin-top: 6px; font-size: 1.2rem; color: #888; }
a.noti_item { display: block; text-decoration: none; } a.noti_item:hover { background: #e6e6e6; } a.noti_item.is_unread { border-left: 3px solid #f5462e; } a.noti_item.is_unread .noti_item_text { font-weight: 700; color: #222; }
.noti_more_link { display: block; margin-top: 12px; padding: 10px 0; text-align: center; font-size: 1.3rem; color: #555; border-top: 1px solid #e5e5e5; text-decoration: none; } .noti_more_link:hover { color: #f5462e; }
.noti_empty { padding: 24px 20px; text-align: center; font-size: 1.4rem; color: #999; }
@media (max-width: 1024px) { .noti_popup { width: 360px; left: auto; right: 0; } }
@media (max-width: 768px) { .noti_popup { width: 320px; left: auto; right: 0; top: calc(100% + 6px); border-radius: 12px; } }
@media (max-width: 600px) { .noti_popup { position: fixed; top: 42px; left: 10px; right: 10px; width: auto; max-height: calc(100dvh - 60px); overflow-y: auto; } }

/*헤더영역*/
.header_main { background: #fff; border-bottom: 1px solid #e9e9e9;}
.header_main_inner{ display:flex; align-items:center; justify-content:space-between; gap: 30px; min-height: 100px; }


.header_brand{ margin:0; }
.header_brand_link{ display:inline-flex; align-items:center; width: 220px; }
.header_logo_img{ display:block; width:auto; height:70px; max-width:100%; }

/* GNB */
.gnb{ flex:1; position:relative;}
.gnb_list{ display:flex; align-items:center; justify-content:center; gap: 30px; }
.gnb_link{ display:inline-flex; align-items:center; height: 100px; font-size: 2rem; font-weight: 600; color:#222; white-space: nowrap; padding:0 15px;}
.gnb_link:focus-visible{ outline: 2px solid #000; outline-offset: 2px; }
.gnb_item{ position:relative; }

/* 드롭 배경(풀폭) */
.site_header{ position:relative; }
.site_header::after{ content:""; position:absolute; left:0; right:0; top:142px; height:var(--gnb-height, 280px); background:#fff; border-top:1px solid #e9e9e9; box-shadow:0 10px 20px rgba(0,0,0,.06); opacity:0; pointer-events:none; transition:height .2s ease, opacity .15s ease; z-index:20; }
.site_header.is_gnb_open::after{ opacity:1; pointer-events:auto; }

.gnb{ position:relative; }
.gnb_list{ position:relative; }
.gnb_item{ position:static; }
.gnb_depth2{ position:absolute; left:0; right:0; top:92px; display:none; z-index:30; }
.site_header.is_gnb_open .gnb_depth2{ display:block; }
.gnb_list{ display:grid; grid-template-columns:repeat(6, 1fr); align-items:center; gap:30px; justify-items:center; }
.gnb_link{ justify-content:center; }
.gnb_depth2_list{ margin:0; padding:22px 0 30px; list-style:none; width:100%; max-width: 210px; }
.gnb_depth2_list > li{text-align: center;}
.gnb_depth2_list li + li{ margin-top:14px; }
.gnb_depth2_link{ display:inline-block; font-size:1.5rem; color:#333; line-height:1.2; padding:2px 0; white-space:nowrap; }
.gnb_depth2_link:hover{ text-decoration:underline; color:#214aa6; font-weight:700;}
.gnb_depth2_link:focus-visible{ outline:2px solid #000; outline-offset:2px; }
.gnb_item{ position:relative; }
.gnb_depth2{ position:absolute; left:50%; transform:translateX(-50%); width:100%; }
.gnb_item.is_open > .gnb_link{ color:#1b5fd3; position:relative; }
.gnb_item.is_open > .gnb_link::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:#1b5fd3; }

/* ==============================
   Header Search
   ============================== */
.header_search{ margin-left: 40px; flex-shrink: 0; display: flex; align-items: center; }
.header_search_btn{ position:relative; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #c5c5c5; border-radius:50%; background:#fff; transition:border-color .2s ease, background-color .2s ease; z-index:120; }
.header_search_btn::before{ content:""; display:block; width:19px; height:19px; background:url("../images/common/icon_search.png") no-repeat center center / contain; transition:background-image .2s ease, transform .2s ease; }
.header_search_btn.is_open::before{ background-image:url("../images/common/icon_close.png"); }
.header_search_btn:focus-visible{ outline:2px solid #000; outline-offset:3px; }
.header_search_layer{ position:absolute; left:0; top:100%; width:100%; padding:65px 0 70px; background:rgba(0,0,0,.62); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease, visibility .25s ease; z-index:110; }
.header_search_layer.is_open{ opacity:1; visibility:visible; pointer-events:auto; }
.header_search_layer_inner{ display:flex; justify-content:center; }
.header_search_form{ width:100%; max-width:760px; }
.header_search_field{ position:relative; display:flex; align-items:center; width:100%; height:70px; padding-right:88px; border:3px solid #3f75ea; border-radius:999px; background:#fff; overflow:hidden; box-shadow:0 12px 24px rgba(0,0,0,.12); }
.header_search_input{ width:100%; height:100%; padding:0 30px; border:0; background:transparent; color:#333; font-size:1.7rem; outline:none; }
.header_search_input::placeholder{ color:#4f80e8; font-weight:500; }
.header_search_submit{ position:absolute; right:0; top:0; width:86px; height:100%; border:0; border-radius:999px; background:#3f75ea; }
.header_search_submit::before{ content:""; position:absolute; left:50%; top:50%; width:31px; height:31px; background:url("../images/common/icon_search_box.png") no-repeat center center / contain; transform:translate(-50%, -50%); }
.header_search_submit:focus-visible{ outline:2px solid #000; outline-offset:-2px; }
.site_header.is_search_open{ z-index:200; }
.site_header.is_search_open::after{ pointer-events:none; }
  

/* ==============================
  공통css
   ============================== */
.convey_h3{font-size: 2.4rem; font-weight: 700; position: relative;}
.convey_h3::before{content: ''; display: inline-block; width: 12px; height: 15px; padding-left: 20px; background: url(../images/sub/convey_h3.png)no-repeat; vertical-align: middle;}
/* 공통 테이블 */
.basic_table{ width:100%; border-top:2px solid #222222; border-collapse:collapse; }
.basic_table th,
.basic_table td{ border:1px solid #dbdbdb; padding:15px 10px; }
.basic_table th{ width:200px; background:#f6f6f6; color:#202738; font-size:1.8rem; font-weight:500; }
.basic_table td{ font-size:1.7rem; }
.board_btm{ position:relative; margin-top:50px; }
.paging_list{ display:flex; align-items:center; justify-content:center; gap:5px; }
.paging_list > li{ display:flex; align-items:center; justify-content:center; }
.paging_list > li > a{ display:flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 4px; border-radius:3px; color:#666; font-size:1.5rem; line-height:1; }
.paging_list > li > a:hover{ color:#214aa6; }
.paging_list > li > a:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.paging_list > li.on > a{ min-width:26px; height:26px; background:#2f57b3; color:#fff; font-weight:700; }
.paging_list .btn{ width:26px; height:26px; padding:0; background-repeat:no-repeat; background-position:center; background-size:auto; }
.paging_list .btn.first{ background-image:url("../images/common/icon_pprev.png"); }
.paging_list .btn.prev{ background-image:url("../images/common/icon_prev.png"); }
.paging_list .btn.next{ background-image:url("../images/common/icon_next.png"); }
.paging_list .btn.last{ background-image:url("../images/common/icon_nnext.png"); }
/* 글작성 버튼 */
.btn_write{ position:absolute; right:0; top:50%; display:inline-flex; align-items:center; justify-content:center; width:125px; height:45px; border-radius:5px; background:#2f57b3; color:#fff; font-size:1.5rem; font-weight:500; transform:translateY(-50%); }
.btn_write:hover{ background:#24489a; }
.btn_write:focus-visible{ outline:2px solid #2a4ea4; outline-offset:3px; }
.icon_lock{display: inline-block; width:12px; height: 16px; vertical-align: middle; background: url(../images/common/icon_lock.png)no-repeat; margin-left: 7px;}
/*포토게시판*/
.photo_box{ margin-top:30px; padding:30px 0; border-top:1px solid #111; border-bottom: 1px solid #dbdbdb; overflow:hidden;}
.photo_list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px 35px; position: relative;}
.photo_item{ width: 100%; }
.photo_link{ display:block; }
.photo_thumb{ position:relative; display:block; width:100%; height:175px; border-radius:20px; overflow:hidden; background:#f3f3f3; }
.photo_thumb img{ display:block; width:100%; height:100%; object-fit:cover; }
.photo_dim{ position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.65); opacity:0; transition:opacity .25s ease; }
.photo_more{ position:absolute; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; transform:translate(-50%, -50%); opacity:0; transition:opacity .25s ease; text-align:center; z-index:2; }
.photo_more_icon{ display:block; width:60px; height:60px; border:1px solid #bfbfbf; border-radius:50%; background:transparent url("../images/sub/photo_plus.png") no-repeat center center; background-size:18px 18px; }
.photo_more_text{ display:block; color:#fff; font-size:1.6rem; font-weight:500; white-space:nowrap; }
.photo_info{ display:block; padding-top:15px; }
.photo_title{ display:block; overflow:hidden; color:#333; font-size:1.7rem; font-weight:500; white-space:nowrap; text-overflow:ellipsis; }
.photo_date{ display:block; margin-top:10px; color:#555; font-size:1.6rem; }
.photo_link:hover .photo_dim,
.photo_link:hover .photo_more,
.photo_link:focus .photo_dim,
.photo_link:focus .photo_more,
.photo_link:focus-visible .photo_dim,
.photo_link:focus-visible .photo_more{ opacity:1; }
.photo_link:focus-visible{ outline:0; }
.photo_link:focus-visible .photo_thumb{ outline:2px solid #2a4ea4; outline-offset:4px; }
.photo_link:focus-visible .photo_title{ text-decoration:underline; }

/*글쓰기영역*/
/* write_box */
.write_box{ margin-top:50px; }
.write_table th{ background:#f6f6f6; text-align:center;}
.write_table td{ background:#fff; vertical-align:middle; }
.write_input,
.write_textarea{ width:100%; border:1px solid #cdcdcd; border-radius:5px; background:#fff; color:#333; font-size:1.6rem; }
.write_input{ height:40px; padding:0 16px; }
.write_textarea{ height:150px; padding:16px; resize:vertical; }
.write_input:focus,
.write_textarea:focus,
.write_file_btn:focus-visible,
.write_radio input:focus-visible + .write_radio_mark{ outline:2px solid #2a4ea4; outline-offset:2px; }
.write_radio_group{ display:flex; align-items:center; flex-wrap:wrap; gap:36px; }
.write_radio{ display:inline-flex; align-items:center; position:relative; cursor:pointer; }
.write_radio input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); }
.write_radio_mark{ position:relative; width:22px; height:22px; border:2px solid #cdcdcd; border-radius:50%; background:#fff; flex:0 0 22px; }
.write_radio_mark::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:12px; border-radius:50%; background:#2a4ea4; transform:translate(-50%, -50%) scale(0); transition:transform .2s ease; }
.write_radio input:checked + .write_radio_mark{ border-color:#2a4ea4; }
.write_radio input:checked + .write_radio_mark::after{ transform:translate(-50%, -50%) scale(1); }
.write_radio_text{ margin-left:10px; color:#444; font-size:1.6rem; font-weight:500; }
.write_file_box{ display:flex; align-items:center; gap:16px; min-height:48px; }
.write_file_input{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; }
.write_file_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:94px; height:38px; padding:0 18px; border:1px solid #2a4ea4; border-radius:5px; background:#fff; color:#2a4ea4; font-size:1.5rem; font-weight:500; cursor:pointer; }
.write_file_name{ color:#666; font-size:1.5rem; }
/*뷰영역*/
/* view_box */
.view_box{ margin-top:50px; border-top:1px solid #222; }
.view_head{ border-bottom:1px solid #dbdbdb; }
.view_head_table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.view_head_table th,
.view_head_table td{ border:0; }
.view_head_table col.col_meta_th{ width:58px; }
.view_head_table col.col_meta_sep{ width:18px; }
.view_head_table col.col_meta_date{ width:96px; }
.view_head_title{ padding:30px; background:#f8f8f8; border-bottom:1px solid #dbdbdb !important; color:#333; font-size:2.2rem; font-weight:600; line-height:1.35; text-align:center; }
.view_meta_th{ padding:15px; color:#222; font-size:1.6rem; font-weight:500; text-align:left; white-space:nowrap; }
.view_meta_th_date{ text-align:left; }
.view_meta_sep{ padding:15px 0; color:#c8c8c8; font-size:1.6rem; text-align:center; white-space:nowrap; }
.view_meta_td{ padding:15px 10px; color:#666; font-size:1.6rem; font-weight:400; white-space:nowrap; }
.view_meta_td_left{ text-align:left; }
.view_meta_td_date{ text-align:right; padding-right:20px; }
.view_body{ min-height:150px; padding:50px 20px; border-bottom:1px solid #dbdbdb; }
.view_body p{ color:#444; font-size:1.7rem; line-height:1.9; }
.view_body p + p{ margin-top:8px; }
.reply_write_box{ padding:20px; border-bottom:1px solid #dbdbdb; background:#f8f8f8; }
.reply_write_inner{ display:flex; align-items:stretch; gap:10px; }
.reply_input{ flex:1 1 auto; min-width:0; height:90px; padding:0 15px; border:1px solid #cdcdcd; background:#fff; border-radius: 5px; color:#333; font-size:1.6rem; }
.reply_input::placeholder{ color:#999; }
.reply_input:focus{ outline:2px solid #2a4ea4; outline-offset:2px; position:relative; z-index:1; }
.reply_submit{ flex:0 0 110px; display:inline-flex; align-items:center; justify-content:center; height:90px; background:#1d397c; color:#fff; font-size:1.6rem; font-weight:500; border-radius:5px; box-sizing: border-box; }
.reply_submit:hover{ background:#23428d; }
.reply_submit:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.reply_list_box{ border-bottom:1px solid #dbdbdb; }
.reply_item{ padding:20px 10px; }
.reply_item + .reply_item{ border-top:1px solid #ededed; }
.reply_top{ display:flex; align-items:center; gap:10px; }
.reply_icon{ flex:0 0 21px; width:21px; height:21px; background:url("../images/common/icon_reply.png") no-repeat center center / contain; }
.reply_name{ color:#444; font-size:1.6rem; font-weight:500; }
.reply_date{ color:#999; font-size:1.5rem; }
.reply_text{ margin-top:8px; padding-left:30px; color:#555; font-size:1.6rem; line-height:1.6; }
.view_box .write_btn_box{ margin-top:50px; }


/* ==============================
  테이블 헤더
   ============================== */
.board_header{ margin-top:50px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.board_header_info{ flex:0 0 auto; color:#666666; font-size:1.6rem; line-height:1.4; white-space:nowrap; }
.board_header_info strong{ color:#000; font-weight:700; }
.board_header_bar{ display:inline-block; margin:0 4px; color:#999; }
.board_header_control{ display:flex; align-items:center; justify-content:flex-end; gap:5px; flex:1 1 auto; min-width:0; }
.board_header_select_box{ position:relative; flex:0 0 160px; }
.board_header_select{ width:100%; height:45px; padding:0 34px 0 12px; border:1px solid #cdcdcd; border-radius:5px; background:#fff url("../images/common/select_arrow.png") no-repeat right 12px center; color:#333; font-size:1.6rem; appearance:none; -webkit-appearance:none; -moz-appearance:none; }
.board_header_search_box{ display:flex; align-items:center; width:100%; max-width:260px; }
.board_header_input{ width:100%; height:45px; padding:0 12px; border:1px solid #d6d6d6; border-right:0; border-radius:5px 0 0 5px; background:#fff; color:#999; font-size:1.6rem; }
.board_header_input::placeholder{ color:#999; }
.board_header_btn{ flex:0 0 80px; height:45px; border-radius:0 5px 5px 0; background:#444; color:#fff; font-size:1.6rem; font-weight:500; }
/* 접근성 */
.board_header_select:focus,
.board_header_input:focus,
.board_header_btn:focus{ position:relative; z-index:1; outline:2px solid #2a4ea4; outline-offset:1px; }

/* ==============================
  공통 게시판 테이블
   ============================== */
.board_tbl_wrap{ margin-top:20px; border-top:1px solid #111; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.board_tbl{ width:100%; min-width:680px; table-layout:fixed; border-collapse:collapse; }
.board_tbl thead th{ height:60px; padding:10px 8px; border-bottom:1px solid #dbdbdb; color:#222; font-size:1.7rem; font-weight:500; text-align:center; background:#f8f8f8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-sizing:border-box; }
.board_tbl tbody td{ height:60px; padding:10px 8px; border-bottom:1px solid #e5e5e5; color:#444; font-size:1.6rem; text-align:center; vertical-align:middle; font-weight: 200; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-sizing:border-box; }
.board_tbl .board_td_title{ text-align:left; padding-left:18px; padding-right:18px; }
.board_subject{ display:inline-block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#222; font-size:1.6rem; line-height:1.4; vertical-align:middle; font-weight: 400; }
.board_subject:hover{ text-decoration:underline; }
.board_subject:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; border-radius:2px; }
td[data-th="상태"] { font-weight: 500 !important; }
.board_badge_notice{ display:inline-flex; align-items:center; justify-content:center; min-width:50px; height:26px; padding:0 10px; border-radius:13px; background:#ef6c00; color:#fff; font-size:1.3rem; }
.board_td_file{ text-align:center; }
.board_file_link{ display:inline-block; width:18px; height:22px; background:url("../images/common/ico_addfile.png") no-repeat center center / 18px 22px; vertical-align:middle; }
.board_file_link:focus-visible{ outline:2px solid #2a4ea4; outline-offset:3px; border-radius:2px; }
.board_tbl tbody td::before{ display:none; }
/* ================================
  공통_view 페이지
================================ */
.board_view{ margin-top: 60px; border-top: 1px solid #222; }
.board_view_head{ border-bottom: 1px solid #dbdbdb; background: #f8f8f8; }
.board_view_title{ padding: 22px 20px; font-size: 2.2rem; font-weight: 700; line-height: 1.5; color: #333; text-align: center; word-break: keep-all; }
.board_view_meta{ border-bottom: 1px solid #dbdbdb; }
.bvm_inner{ display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; padding: 0 16px; }
.bvm_group{ display: flex; align-items: center; min-width: 0; }
.bvm_group_right{ justify-content: flex-end; gap: 24px; margin-left: auto; }
.bvm_item{ display: flex; align-items: center; min-width: 0; }
.bvm_key{ position: relative; flex-shrink: 0; padding-right: 12px; margin-right: 12px; font-size: 1.4rem; font-weight: 600; color: #333; line-height: 1.4; }
.bvm_key::after{ content: ""; position: absolute; right: 0; top: 50%; width: 1px; height: 14px; background: #d0d0d0; transform: translateY(-50%); }
.bvm_val{ font-size: 1.4rem; line-height: 1.4; color: #666; word-break: keep-all; }
.board_view_file{ display: flex; align-items: center; gap: 18px; min-height: 60px; padding: 14px 16px; border-bottom: 1px solid #dbdbdb; }
.bvf_key{ flex: 0 0 auto; font-size: 1.4rem; font-weight: 600; color: #333; }
.bvf_link{ position: relative; display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 1.4rem; color: #053291; word-break: break-all; }
.bvf_link::before{ content: ""; flex-shrink: 0; width: 18px; height: 21px; background: url("../images/common/ico_addfile.png") no-repeat center / contain; }
.bvf_link:hover{ color: #174ca7; }
.bvf_link:focus-visible{ outline: 2px solid #000; outline-offset: 2px; border-radius: 2px; }
.board_view_body{ min-height: 180px; padding: 26px 20px 30px; border-bottom: 1px solid #dbdbdb; }
.board_view_body p{ font-size: 1.5rem; line-height: 1.9; color: #444; word-break: keep-all; }
.board_view_body p + p{ margin-top: 2px; }
.board_view_body img,
.board_view_con img,
.view_body img{ max-width:100% !important; height:auto !important; }
/* === CKEditor5 본문 이미지 정렬 === */
.board_view_body figure.image,
.board_view_con figure.image,
.content figure.image,
.view_body figure.image{ display:table; clear:both; text-align:center; margin:.9em auto; max-width:100%; }
.board_view_body figure.image > img,
.board_view_con figure.image > img,
.content figure.image > img,
.view_body figure.image > img{ display:block; margin:0 auto; max-width:100%; height:auto; }
/* 리사이즈(25/50/75%): figure는 블록이 되지만 위 base의 margin:auto 로 가운데 유지 */
.board_view_body figure.image.image_resized,
.board_view_con figure.image.image_resized,
.content figure.image.image_resized,
.view_body figure.image.image_resized{ display:block; box-sizing:border-box; max-width:100%; }
.board_view_body figure.image.image_resized > img,
.board_view_con figure.image.image_resized > img,
.content figure.image.image_resized > img,
.view_body figure.image.image_resized > img{ width:100%; }
/* 명시적 가운데/좌/우/측면 정렬 클래스(구 콘텐츠·향후 대비) */
.board_view_body figure.image.image-style-align-center,
.board_view_con figure.image.image-style-align-center,
.content figure.image.image-style-align-center,
.view_body figure.image.image-style-align-center{ margin-left:auto; margin-right:auto; }
.board_view_body figure.image.image-style-align-left,
.board_view_con figure.image.image-style-align-left,
.content figure.image.image-style-align-left,
.view_body figure.image.image-style-align-left{ float:left; clear:none; margin:.9em 1.5em .9em 0; }
.board_view_body figure.image.image-style-align-right,
.board_view_con figure.image.image-style-align-right,
.content figure.image.image-style-align-right,
.view_body figure.image.image-style-align-right{ float:right; clear:none; margin:.9em 0 .9em 1.5em; }
.board_view_body figure.image.image-style-side,
.board_view_con figure.image.image-style-side,
.content figure.image.image-style-side,
.view_body figure.image.image-style-side{ float:right; clear:none; max-width:50%; margin:.9em 0 .9em 1.5em; }
.board_view_body figure.image.image-style-block-align-left,
.board_view_con figure.image.image-style-block-align-left,
.content figure.image.image-style-block-align-left,
.view_body figure.image.image-style-block-align-left{ margin-left:0; margin-right:auto; }
.board_view_body figure.image.image-style-block-align-right,
.board_view_con figure.image.image-style-block-align-right,
.content figure.image.image-style-block-align-right,
.view_body figure.image.image-style-block-align-right{ margin-left:auto; margin-right:0; }
/* 인라인 이미지 */
.board_view_body .image-inline,
.board_view_con .image-inline,
.content .image-inline,
.view_body .image-inline{ display:inline-block; max-width:100%; }
.board_view_body .image-inline img,
.board_view_con .image-inline img,
.content .image-inline img,
.view_body .image-inline img{ max-width:100%; height:auto; }
/* === /CKEditor5 본문 이미지 정렬 === */
.board_view_nav{ margin-top:40px; border-top:1px solid #dcdcdc;}
.board_view_nav_list{ list-style:none; }
.board_view_nav_item{ position:relative; display:flex; align-items:center; padding:14px 10px 14px 28px; border-bottom:1px solid #e6e6e6; }
.board_view_nav_item:first-child::before{ content:""; position:absolute; left:10px; top:50%; width:17px; height:11px; background:url('../images/common/board_next.png') no-repeat center / contain; transform:translateY(-50%); }
.board_view_nav_item:last-child::before{ content:""; position:absolute; left:10px; top:50%; width:17px; height:11px; background:url('../images/common/board_prev.png') no-repeat center / contain; transform:translateY(-50%); }
.board_view_nav_label{ position:relative; padding:0 14px; margin-right:14px; font-size:1.4rem; color:#666; }
.board_view_nav_label::after{ content:"|"; position:absolute; right:0; top:50%; transform:translateY(-50%); color:#cfcfcf; }
.board_view_nav_link{ font-size:1.4rem; color:#333; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.board_view_nav_link:hover{ text-decoration:underline; }
.decla_btn_box{ display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.decla_btn{ display: inline-flex; align-items: center; justify-content: center; min-width: 150px; height: 60px; padding: 0 24px; border-radius: 4px;  font-size: 1.6rem; font-weight: 500; }
.decla_btn_submit{ background: #2a4ea4; color: #fff; }
.decla_btn_list{ background: #4b505a; color: #fff; }
.decla_input:focus,
.decla_select:focus,
.decla_textarea:focus,
.decla_file_btn:focus,
.decla_btn:focus{ outline: 2px solid #2f4fa8; outline-offset: 2px; }
.board_preview_btn{display: inline-flex; justify-content: center; align-items: center; min-width: 70px; height: 28px; color:#00775a; font-size: 1.4rem; border:1px solid #00775a; border-radius: 5px; font-weight: 500;}


/* ==============================
   Footer
   ============================== */
.site_footer{ background:#414141; padding:40px 0 100px; }
.footer_top{ display:flex; gap:30px; }
.footer_link{ font-size:1.5rem; color:#fff; }
.footer_link:hover{ text-decoration:underline; }
.footer_info{ margin-top:35px;  }
.footer_row{ display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-bottom:10px; }
.footer_row span{font-size:1.4rem; color:#dadada;}
.footer_row span:not(:last-child)::after{ content:"|"; margin-left:20px; color:#8c8c8c; }
.footer_copy{ margin-top:10px; font-size:1.4rem; color:#dadada; }

/* =========================================================
   Header Responsive
   ========================================================= */
@media (max-width:1300px){
  .inner{ width:100%; padding:0 20px; }
  .header_main_inner{ gap: 20px; }
  .gnb_list{ gap: 18px; }
  .gnb_link{ font-size: 1.8rem; padding: 0 10px; }
}

@media (max-width:1200px){
  .header_brand_link{ width: 200px; }
  .gnb_link{ font-size: 1.7rem; padding: 0 8px; }
  .header_util_link,
  .header_member_link{ font-size: 1.2rem; padding: 10px 8px; }
}

@media (max-width:1100px){
  .header_main_inner{ gap: 16px; }
  .gnb_list{ gap: 12px; }
  .gnb_link{ font-size: 1.6rem; padding: 0 6px; }
}

/* =========================================================
   Mobile Header 
   ========================================================= */
.mnav{ display:none; }
.mnav.is_open{ display:block; }
.mnav_btn{ display:none; }
.mnav_member{display:none;}

@media (max-width:1024px){
  .basic_table th{ width:140px; font-size:1.5rem; } 
  .basic_table td{ font-size:1.5rem; } 
  .num_list li{ font-size:1.5rem; }
  .board_header{ gap:16px; margin-top:40px; } 
  .board_header_info{ font-size:1.3rem; } 
  .board_header_control{ gap:8px; } 
  .board_header_select_box{ flex:0 0 140px; } 
  .board_header_search_box{ max-width:240px; }
  .board_tbl thead th{ height:56px; padding:10px 6px; font-size:1.4rem; } 
  .board_tbl tbody td{ height:56px; padding:10px 6px; font-size:1.35rem; } 
  .board_tbl .board_td_title{ padding-left:14px; padding-right:14px; } 
  .board_subject{ font-size:1.35rem; } 
  .board_badge_notice{ min-width:46px; height:24px; font-size:1.2rem; }
  .photo_box{ margin-top:24px; padding:24px 0; } 
  .photo_list{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:30px 20px; }
  .photo_list::after{ display:none; }
  .photo_thumb{ height:auto; aspect-ratio:310 / 175; border-radius:16px; }
  .photo_info{ padding-top:14px; }
  .photo_title{ font-size:1.55rem; line-height:1.4; }
  .photo_date{ margin-top:9px; font-size:1.4rem; }
  .photo_more{ gap:10px; }
  .photo_more_icon{ width:50px; height:50px; background-size:16px 16px; }
  .photo_more_text{ font-size:1.4rem; }
  .view_box{ margin-top:40px; } 
  .view_head_title{ padding:18px 16px; font-size:1.7rem; line-height:1.45; } 
  .view_meta_th, 
  .view_meta_sep, 
  .view_meta_td{ padding-top:14px; padding-bottom:14px; font-size:1.3rem; } 
  .view_meta_th{ padding-left:12px; padding-right:12px; } 
  .view_meta_td{ padding-left:8px; padding-right:8px; } 
  .view_meta_td_date{ padding-right:12px; } 
  .view_body{ padding:36px 16px; min-height:auto; } 
  .view_body p{ font-size:1.45rem; line-height:1.8; } 
  .reply_write_box{ padding:16px; } 
  .reply_write_inner{ gap:8px; } 
  .reply_input{ height:78px; font-size:1.35rem; } 
  .reply_submit{ flex:0 0 96px; height:78px; font-size:1.4rem; } 
  .reply_item{ padding:18px 8px; } 
  .reply_name{ font-size:1.35rem; } 
  .reply_date{ font-size:1.2rem; } 
  .reply_text{ padding-left:30px; font-size:1.35rem; } 
  .view_box .write_btn_box{ margin-top:40px; }
  .header_search_layer{ padding:40px 20px 45px; } 
  .header_search_layer_inner{ padding:0 10px; } 
  .header_search_form{ max-width:none; } 
  .header_search_field{ height:62px; padding-right:76px; border-width:2px; } 
  .header_search_input{ padding:0 24px; font-size:1.6rem; } 
  .header_search_submit{ width:74px; } 
  .header_search_submit::before{ width:26px; height:26px; }
}


@media (max-width:768px){
  .inner{padding:15px;}
  .site_header::after{ display:none !important; }
  .gnb_depth2{ display:none !important; }
  .gnb{ display:none; }
  .header_main_inner{ gap:8px; min-height:72px; justify-content:flex-start; } 
  .header_brand{ margin:0; margin-right:auto; flex-shrink:0; } 
  .header_brand_link{ width:170px; } 
  .header_logo_img{height: 50px;}
  .mnav_btn{ display:inline-flex; order:2; width:44px; height:44px; margin-left:0; flex-shrink:0; border-radius:10px; border:1px solid #e6e9ef; align-items:center; justify-content:center; position:relative; }
  .mnav_btn::before,
  .mnav_btn::after{ content:""; position:absolute; left:50%; width:18px; height:2px; background:#222; transform:translateX(-50%); }
  .mnav_btn::before{ top:16px; box-shadow:0 6px 0 #222; }
  .mnav_btn::after{ top:28px; }
  .header_search{ order:3; margin-left:0; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
  .header_search_btn{ width:40px; height:40px; margin-left:0; flex-shrink:0; }
  .header_util{display:none;}
  .mnav_member{display:block; border-top:1px solid #eee; padding:20px; background:#f7f8fc; margin-top:auto;}
  .mnav_member_top{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .mnav_member_icon{width:28px; height:28px; object-fit:contain; flex-shrink:0;}
  .mnav_member_name{font-size:1.5rem; font-weight:600; color:#222;}
  .mnav_member_name em{font-style:normal; font-weight:400; color:#666;}
  .mnav_member_links{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 0;}
  .mnav_member_links li{width:50%;}
  .mnav_member_links li a{font-size:1.4rem; color:#444; text-decoration:none; display:block; padding:5px 0; position:relative; padding-left:12px;}
  .mnav_member_links li a::before{content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:4px; height:4px; border-radius:50%; background:#2366d6;}
  .mnav_member_links li a:hover{color:#2366d6;}
  .mnav{ display:none; }
  .mnav.is_open{ display:block; }
  .mnav_dim{ position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,.45); z-index:9990; }
  .mnav_panel{ position:fixed; top:0; right:0; width:min(360px, 86vw); height:100%; background:#fff; z-index:9991; box-shadow:-10px 0 30px rgba(0,0,0,.15); display:flex; flex-direction:column; }
  .mnav_head{ display:flex; align-items:center; justify-content:space-between; padding:18px 16px; border-bottom:1px solid #e6e9ef; }
  .mnav_tit{ font-size:1.8rem; font-weight:700; color:#222; }
  .mnav_close{ width:40px; height:40px; border-radius:10px; border:1px solid #e6e9ef; position:relative; flex-shrink:0; }
  .mnav_close::before,
  .mnav_close::after{ content:""; position:absolute; left:50%; top:50%; width:18px; height:2px; background:#222; }
  .mnav_close::before{ transform:translate(-50%,-50%) rotate(45deg); } 
  .mnav_close::after{ transform:translate(-50%,-50%) rotate(-45deg); }
  .mnav_nav{ padding:10px 0; overflow:auto; -webkit-overflow-scrolling:touch; }
  .mnav_nav .mnav_list{ padding:0 10px 20px; }
  .mnav_nav .mnav_item{ border-bottom:1px solid #eef0f4; }
  .mnav_nav .mnav_link{ display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:0 8px; font-size:1.7rem; font-weight:700; color:#222; }
  .mnav_nav .mnav_link::after{ content:""; width:10px; height:10px; border-right:2px solid #8a8a8a; border-bottom:2px solid #8a8a8a; transform:rotate(45deg); transition:transform .2s ease; }
  .mnav_nav .mnav_item.is_open .mnav_link::after{ transform:rotate(-135deg); }
  .mnav_nav .mnav_depth2{ display:none; padding:0 8px 14px; }
  .mnav_nav .mnav_item.is_open .mnav_depth2{ display:block; }
  .mnav_nav .mnav_depth2 a{ display:block; padding:10px 10px; font-size:1.5rem; color:#333; }
  .mnav_nav .mnav_depth2 a:focus-visible{ outline:2px solid #000; outline-offset:2px; }
  .basic_table,
  .basic_table tbody,
  .basic_table tr,
  .basic_table th,
  .basic_table td{ display:block; width:100%; }
  .basic_table tr{ margin-top:16px; border:1px solid #dbdbdb; border-radius:10px; overflow:hidden; } 
  .basic_table th{ width:100%; border:0; font-size:1.6rem; padding:14px 16px; } 
  .basic_table td{ border:0; padding:16px; } 
  .num_list li{ font-size:1.45rem; } 
  .board_header{ flex-direction:column; align-items:flex-start; gap:12px; margin-top:30px; } 
  .board_header_info{ width:100%; white-space:normal; font-size:1.35rem; line-height:1.5; } 
  .board_header_control{ width:100%; justify-content:flex-start; gap:8px; }
  .board_header_select_box{ flex:0 0 130px; }
  .board_header_search_box{ flex:1 1 auto; max-width:none; }
  .board_header_select,
  .board_header_input,
  .board_header_btn{ height:42px; font-size:1.35rem; }
  .board_header_btn{ flex:0 0 72px; }
  .board_tbl_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:16px; } 
  .board_tbl_wrap::-webkit-scrollbar{ height:8px; } 
  .board_tbl_wrap::-webkit-scrollbar-thumb{ background:#cfcfcf; border-radius:10px; } 
  .board_tbl{ min-width:720px; } 
  .board_tbl thead th{ height:52px; padding:8px 6px; font-size:1.35rem; white-space:nowrap; } 
  .board_tbl tbody td{ height:54px; padding:8px 6px; font-size:1.3rem; white-space:nowrap; } 
  .board_tbl .board_td_title{ padding-left:12px; padding-right:12px; } 
  .board_subject{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1.3rem; } 
  .board_badge_notice{ min-width:44px; height:23px; padding:0 8px; font-size:1.15rem; } 
  .board_file_link{ width:16px; height:20px; background-size:16px 20px; } 
  .board_btm{ margin-top:36px; }
  .board_btm:has(.btn_write){ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; min-height:0; padding:10px 0 0; }
  .board_btm:has(.btn_write) .paging_list{ width:100%; flex-wrap:wrap; justify-content:center; }
  .board_btm:has(.btn_write) .btn_write{ position:static; transform:none; width:100%; max-width:220px; height:48px; padding:0 20px; box-sizing:border-box; border-radius:8px; font-size:1.5rem; }
  .board_btm:not(:has(.btn_write)) .paging_list{ width:100%; flex-wrap:wrap; justify-content:center; }
  .photo_box{ margin-top:20px; padding:20px 0; }
  .photo_list{ gap:24px 14px; }
  .photo_thumb{ border-radius:12px; }
  .photo_info{ padding-top:12px; }
  .photo_title{ font-size:1.5rem; }
  .photo_date{ margin-top:8px; font-size:1.35rem; }
  .photo_more{ gap:8px; }
  .photo_more_icon{ width:44px; height:44px; background-size:14px 14px; }
  .photo_more_text{ font-size:1.3rem; }
  .view_box{ margin-top:30px; }
  .view_head_title{ padding:16px 14px; font-size:1.6rem; line-height:1.45; word-break:keep-all; }
  .view_head_table col.col_meta_th{ width:52px; }
  .view_head_table col.col_meta_sep{ width:14px; }
  .view_head_table col.col_meta_date{ width:84px; }
  .view_meta_th,
  .view_meta_sep,
  .view_meta_td{ padding-top:12px; padding-bottom:12px; font-size:1.25rem; }
  .view_meta_th{ padding-left:10px; padding-right:8px; }
  .view_meta_td{ padding-left:6px; padding-right:6px; }
  .view_meta_td_date{ padding-right:10px; }
  .view_body{ padding:28px 14px; }
  .view_body p{ font-size:1.4rem; line-height:1.75; }
  .reply_write_box{ padding:14px; }
  .reply_write_inner{ gap:8px; }
  .reply_input{ height:64px; padding:0 12px; font-size:1.3rem; }
  .reply_submit{ flex:0 0 90px; height:64px; font-size:1.35rem; }
  .reply_item{ padding:16px 6px; }
  .reply_top{ gap:8px; flex-wrap:wrap; }
  .reply_icon{ flex:0 0 18px; width:18px; height:18px; }
  .reply_name{ font-size:1.3rem; }
  .reply_date{ font-size:1.15rem; }
  .reply_text{ margin-top:6px; padding-left:26px; font-size:1.3rem; line-height:1.6; }
  .view_box .write_btn_box{ margin-top:32px; }
  .view_box .write_btn{ width:150px; height:50px; font-size:1.6rem; } 
  .header_search_layer{ padding:30px 15px 35px; } 
  .header_search_layer_inner{ padding:0; } 
  .header_search_field{ height:56px; padding-right:70px; border-radius:40px; } 
  .header_search_input{ padding:0 20px; font-size:1.5rem; } 
  .header_search_submit{ width:66px; } 
  .header_search_submit::before{ width:24px; height:24px; }
  .board_view{ margin-top: 24px; } 
  .board_view_title{ padding: 18px 14px; font-size: 1.8rem; } 
  .bvm_inner{ flex-direction: column; align-items: flex-start; gap: 0; min-height: 0; padding: 8px 14px; } 
  .bvm_group{ width: 100%; min-height: 0; } 
  .bvm_group_right{ margin-left: 0; justify-content: flex-start; gap: 18px; } 
  .bvm_item{ padding: 8px 0; } 
  .bvm_key, 
  .bvm_val, 
  .bvf_key, 
  .bvf_link{ font-size: 1.35rem; } 
  .board_view_file{min-height: 0; padding: 12px 14px 14px; } 
  .bvf_key{ display: block; margin-bottom: 8px; }
  .board_view_file{ flex-direction: column; align-items: flex-start; gap: 0; }
  .bvf_link{ display: flex; width: 100%; }
  .bvf_link + .bvf_link{ margin-top: 8px; }
  .board_view_body{ min-height: 140px; padding: 20px 14px 24px; } 
  .board_view_body p{ font-size: 1.4rem; line-height: 1.8; }
  .board_view_nav_item{ align-items:center; gap:10px; }
  .board_view_nav_link{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .decla_file_box{ flex-wrap: wrap; gap: 8px; }
  .decla_btn_box{ margin-top: 24px; }
  .decla_btn{ min-width: 100px; height: 42px; }
}
@media (max-width:560px){
  .photo_box{ margin-top:18px; padding:18px 0; }
  .photo_list{ gap:20px 12px; }
  .photo_thumb{ border-radius:10px; }
  .photo_info{ padding-top:11px; }
  .photo_title{ font-size:1.45rem; }
  .photo_date{ margin-top:7px; font-size:1.3rem; }
  .photo_more{ gap:6px; }
  .photo_more_icon{ width:38px; height:38px; background-size:13px 13px; }
  .photo_more_text{ font-size:1.2rem; }
}


@media (max-width:480px){
 /* 20260629 수정*/
  .inner{padding:15px;} 
  .header_main_inner{ gap:6px; min-height:68px; } 
  .header_brand{ margin-right:auto; } 
  .header_brand_link{ width:150px; } 
  .header_util_link, 
  .header_member_link{ font-size:1.2rem; padding:3px 2px; } 
  .header_search{ order:3; margin-left:0; } 
  .header_search_btn{ width:38px; height:38px; } 
  .mnav_btn{ order:2; width:40px; height:40px; } 
  .mnav_btn::before{ top:14px; } 
  .mnav_btn::after{ top:26px; } 
  .mnav_panel{ width:min(320px, 88vw); } 
  .basic_table th{ font-size:1.5rem; } 
  .basic_table td{ font-size:1.4rem; } 
  .num_list li{ font-size:1.4rem; } 
  .board_header{ gap:10px; margin-top:24px; } 
  .board_header_info{ font-size:1.3rem; } 
  .board_header_control{ flex-direction:row; flex-wrap:nowrap; gap:5px; }
  .board_header_select_box{ flex:0 0 100px; }
  .board_header_search_box{ flex:1 1 auto; max-width:none; } 
  .board_header_select, 
  .board_header_input, 
  .board_header_btn{ height:40px; font-size:1.3rem; } 
  .board_header_btn{ flex:0 0 68px; } 
  .board_tbl_wrap{ margin-top:14px; margin-right:-10px; padding-right:10px; } 
  .board_tbl{ min-width:680px; } 
  .board_tbl thead th{ font-size:1.3rem; } 
  .board_tbl tbody td{ font-size:1.25rem; } 
  .board_subject{ font-size:1.25rem; } 
  .board_badge_notice{ min-width:40px; height:22px; font-size:1.1rem; } 
  .board_btm{ margin-top:30px; } 
  .paging_list{ gap:4px; } 
  .paging_list > li > a{ min-width:24px; height:24px; font-size:1.4rem; } 
  .paging_list .btn{ width:24px; height:24px; background-size:14px auto; } 
  .board_btm:has(.btn_write){ gap:14px; } 
  .board_btm:has(.btn_write) .btn_write{ max-width:none; width:100%; height:42px; font-size:1.4rem; } 
  .photo_box{ margin-top:18px; padding:18px 0; }
  .photo_list{ grid-template-columns:1fr; gap:18px 10px; }
  .photo_thumb{ border-radius:8px; aspect-ratio:16 / 9; }
  .photo_info{ padding-top:10px; }
  .photo_title{ font-size:1.4rem; line-height:1.4; }
  .photo_date{ margin-top:6px; font-size:1.2rem; }
  .photo_more{ gap:5px; }
  .photo_more_icon{ width:34px; height:34px; background-size:12px 12px; }
  .photo_more_text{ font-size:1.1rem; } 
  .view_box{ margin-top:24px; } 
  .view_head_table, 
  .view_head_table tbody, 
  .view_head_table tr{ display:block; width:100%; } 
  .view_head_table colgroup{ display:none; } 
  .view_head_table tr:first-child{ display:block; } 
  .view_head_table tr:last-child{ display:flex; flex-wrap:wrap; align-items:center; padding:10px 12px; gap:6px 0; border-top:0; } 
  .view_head_title{ display:block; width:100%; padding:14px 12px; font-size:1.5rem; line-height:1.5; } 
  .view_meta_th, 
  .view_meta_sep, 
  .view_meta_td{ display:block; width:auto; padding:0; font-size:1.2rem; line-height:1.5; } 
  .view_meta_th{ margin-right:6px; font-weight:500; } 
  .view_meta_sep{ margin-right:6px; color:#bfbfbf; } 
  .view_meta_td{ margin-right:18px; } 
  .view_meta_th_date{ margin-left:auto; } 
  .view_meta_td_date{ margin-right:0; padding-right:0; text-align:left; } 
  .view_body{ padding:22px 12px; } 
  .view_body p{ font-size:1.3rem; line-height:1.7; } 
  .reply_write_box{ padding:12px; } 
  .reply_write_inner{ flex-direction:column; align-items:stretch; gap:8px; } 
  .reply_input{ width:100%; height:56px; padding:0 12px; font-size:1.25rem; } 
  .reply_submit{ flex:0 0 auto; width:100%; height:44px; font-size:1.3rem; } 
  .reply_item{ padding:14px 4px; } 
  .reply_top{ align-items:flex-start; gap:6px; } 
  .reply_icon{ flex:0 0 16px; width:16px; height:16px; margin-top:1px; } 
  .reply_name{ font-size:1.25rem; } 
  .reply_date{ width:100%; padding-left:22px; font-size:1.1rem; } 
  .reply_text{ padding-left:22px; font-size:1.25rem; line-height:1.55; } 
  .view_box .write_btn_box{ margin-top:26px; } 
  .view_box .write_btn{ width:120px; height:44px; font-size:1.4rem; } 
  .header_search_layer{ padding:24px 12px 28px; } 
  .header_search_field{ height:50px; padding-right:60px; border-radius:30px; } 
  .header_search_input{ padding:0 16px; font-size:1.4rem; } 
  .header_search_submit{ width:56px; } 
  .header_search_submit::before{ width:20px; height:20px; }
}