@charset "utf-8";

/* 珥덇린??*/
html {overflow-y:scroll}
body {margin:0;padding:0;font-size:0.75em;font-family:'Malgun Gothic', dotum, sans-serif;background:#fff}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}

ul, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}

textarea, select {font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#000;text-decoration:none}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

input[type=text],input[type=password], textarea {
-webkit-transition:all 0.30s ease-in-out;
-moz-transition:all 0.30s ease-in-out;
-ms-transition:all 0.30s ease-in-out;
-o-transition:all 0.30s ease-in-out;
outline:none;
}

input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
-webkit-box-shadow:0 0 5px #9ed4ff;
-moz-box-shadow:0 0 5px #9ed4ff;
box-shadow:0 0 5px #9ed4ff;
border:1px solid #558ab7 !important;
}

.placeholdersjs {color:#aaa !important}

/* ?덉씠?꾩썐 ?ш린 吏??*/
#hd, #wrapper, #ft {min-width:1200px}

#hd_pop,
#hd_wrapper,
#tnb .inner,

#gnb .gnb_wrap,
#container_wr,
#ft_wr {width:1200px}

/* 怨듯넻 - display none/block */
.is-hidden { display: none !important; }
.is-visible { display: block !important; }

/* 怨듯넻 - 酉고룷??(pc / mobile) 蹂?display none/block */
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}

/* ?앹뾽?덉씠??*/
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}

/* ?곷떒 ?덉씠?꾩썐 */
#hd {background:#212020}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#tnb {border-bottom:1px solid #383838;margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}

#hd_wrapper {position:relative;margin:0 auto;height:140px;zoom:1}
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}

#logo {float:left;padding:30px 0 0}

.hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}

#hd_define {float:left}
#hd_define:after {display:block;visibility:hidden;clear:both;content:""}
#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_define li a {display:inline-block;color:#919191}
#hd_define li.active a {color:#fff}


#hd_qnb {float:right;text-align:right}
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
#hd_qnb li a {display:inline-block;color:#919191}
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}


.hd_login {position:absolute;right:0;top:60px}
.hd_login li {float:left;margin:0 5px;border-left:1px solid #616161;padding-left:10px;line-height:13px}
.hd_login li:first-child {border-left:0}
.hd_login a {color:#fff}


/* 硫붿씤硫붾돱 */
#gnb {position:relative;background:#fff}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap {margin:0 auto;position:relative}
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1}
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
#gnb .gnb_1dli:hover > a {color:#3a8afd;
-webkit-transition:background-color 2s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('../img/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
.gnb_1da {display:block;font-weight:bold;padding:0 15px;color:#080808;text-decoration:none}
.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px}
.gnb_2dli:first-child {border:0}
.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px}
.gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;border-top:0;padding:0;
-webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
-moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)}
.gnb_2da {display:block;padding:0 10px;line-height:40px;background:#fff;color:#080808;text-align:left;text-decoration:none}
a.gnb_2da:hover {color:#3a8afd;background:#f7f7f8;
-moz-transition:all 0.3s ease-out;
-o-transition:all 0.3s ease-out;
transition:all 0.3s ease-out}

.gnb_1dli_air .gnb_2da {}
.gnb_1dli_on .gnb_2da {}
.gnb_2da:focus, .gnb_2da:hover {color:#fff}
.gnb_1dli_over .gnb_2dul {display:block;left:0}
.gnb_1dli_over2 .gnb_2dul {display:block;right:0}
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:#080808}
.gnb_wrap .gnb_empty a {color:#3a8afd;text-decoration:underline}
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a {color:#555}

#gnb .gnb_menu_btn {background:#4158d1;color:#fff;width:50px;height:55px;border:0;vertical-align:top;font-size:18px}
#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0}
#gnb .gnb_mnal {float:right;padding:0}

#gnb_all {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
box-shadow:0 2px 5px rgba(0,0,0,0.2)}
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef}
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0}
#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd}
#gnb_all .gnb_al_li li {line-height:2em}
#gnb_all .gnb_al_li li a {color:#555}
#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}

/* 以묎컙 ?덉씠?꾩썐 */
#wrapper {}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}

#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
#container_title span {margin:0 auto 10px;display:block;line-height:30px}

.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}
.latest_wr {margin-bottom:20px}
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
.latest_top_wr {margin:0 -10px 20px}
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}

/* ?섎떒 ?덉씠?꾩썐 */
#ft {background:#212020;margin:0 auto;text-align:center}
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left}
#ft_wr:after {display:block;visibility:hidden;clear:both;content:""}
#ft_wr .ft_cnt {width:25%;float:left;padding:0 20px}

#ft_link {text-align:left}
#ft_link a {display:block;color:#fff;line-height:2em;font-weight:bold}
#ft_company h2 {font-size:1.2em;margin-bottom:20px}
#ft_company {font-weight:normal;color:#e3e3e3;line-height:2em}
#ft_catch {margin:20px 0 10px}
#ft_copy {text-align:center;width:1200px;margin:0 auto;padding:20px 0;color:#5b5b5b;font-size:0.92em;border-top:1px solid #383838}
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)}
#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff}

/* 寃뚯떆臾??좏깮蹂듭궗 ?좏깮?대룞 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}

/* ?붾㈃??룆湲??ъ슜?먯슜 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 蹂몃Ц 諛붾줈媛湲?*/
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 ?대?吏 ?덈퉬 吏??*/
.img_fix {width:100%;height:auto}

/* 罹≪콬 ?먮룞?깅줉(?낅젰)諛⑹? 湲곕낯 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 罹≪콬 ?먮룞?깅줉(?낅젰)諛⑹? 湲곕낯 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor ?⑥텞??*/
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor ?쒓렇 湲곕낯媛?*/
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* 踰꾪듉 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* ?쒖떇?④퀎 吏꾪뻾 */

.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#2375eb}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* ?고렪踰덊샇寃?됰쾭????*/
a.btn_frmline {}
button.btn_frmline {font-size:1em}

/* 寃뚯떆?먯슜 踰꾪듉 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 愿由ъ옄 ?꾩슜 踰꾪듉 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}


/* 湲곕낯?뚯씠釉?*/
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
.tbl_head01 thead th input {vertical-align:top} /* middle 濡??섎㈃ 寃뚯떆???쎄린?먯꽌 紐⑸줉 ?ъ슜??泥댄겕諛뺤뒪 ?쇱씤 源⑥쭚 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafafa}
.tbl_head01 a:hover {text-decoration:underline}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 濡??섎㈃ 寃뚯떆???쎄린?먯꽌 紐⑸줉 ?ъ슜??泥댄겕諛뺤뒪 ?쇱씤 源⑥쭚 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

/* ???뚯씠釉?*/
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
.frm_info.add_info { margin-top: 10px !important; padding: 8px 12px; background: #fff; border: 1px solid #ddd; border-radius: 6px; line-height: 1.6; }
.btn_info_toggle { display: block; margin: 5px 0 0 21px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }

/*湲곕낯 由ъ뒪??/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

/*??由ъ뒪??/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* ?먮즺 ?녿뒗 紐⑸줉 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}

/* ?꾩닔?낅젰 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* ?뚯씠釉???ぉ蹂??뺤쓽 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}

/* ?덉갹 湲곕낯 ?ㅽ???*/
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 寃?됯껐怨??됱긽 */
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}

/* ?먮컮?ㅽ겕由쏀듃 alert ???*/
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

/* ?ъ씠?쒕럭 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* ?섏씠吏?*/
.pg_wrap {clear:both;float:left;display:inline-block}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

/* cheditor ?댁뒋 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}

/* Mobile?붾㈃?쇰줈 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}


/* ============================================================
   21세기정치학회 — 디자인 시스템 v4 (ksgpc 레퍼런스 매칭)
   딥블루 #172d9d · 그라데이션 · 24px 라운드 카드 · 1420 컨테이너
   ============================================================ */
:root{
  /* 딥 잉크 네이비 + 뮤트 브론즈 + 웜 뉴트럴 — 절제된 학술 톤 */
  --blue:#2e4f96; --blue-d:#22355f; --blue-b:#5b74ad;
  --grad:linear-gradient(155deg,#3a62b4 0%,#2e4f96 55%,#22355f 100%);
  --ink:#1e2126; --gray:#697180; --line:#dde1e8; --bg:#f7f8fa;
  --navy:#22355f; --navy-d:#1a2a4d; --gold:#3b5da8; --blue-lt:#eef2f9; --sub:#697180;
  --sans:'Pretendard','Malgun Gothic','맑은 고딕',system-ui,sans-serif;
  --serif:'Noto Serif KR','Pretendard','Malgun Gothic','맑은 고딕',serif;
}
body{font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.p21-wrap{position:relative;max-width:1420px;margin:0 auto;padding:0 20px}
.p21-full{position:relative;width:100vw;left:50%;transform:translateX(-50vw)}
html{overflow-x:hidden}
#hd,#wrapper,#ft{min-width:0} /* 반응형: 그누보드 base의 min-width:1200px 무효화 */
#container.p21-index{max-width:none;width:auto;margin:0;padding:0;border:0;background:none}
#container_wr:has(.p21-index),#wrapper:has(.p21-index){max-width:none;width:auto;margin:0;padding:0;background:none}

/* ---- 상단 유틸 (패밀리탭 + 로그인) ---- */
#p21-top{border-top:4px solid var(--blue);background:#fff}
#p21-top .p21-wrap{display:flex;justify-content:space-between;align-items:flex-start}
.p21-fam{display:flex;list-style:none;margin:0;padding:0}
.p21-fam li+li{margin-left:-1px}
.p21-fam a{display:flex;align-items:center;justify-content:center;min-width:150px;height:33px;padding:0 16px;
  border:1px solid #c6c6c6;border-top:0;border-radius:0 0 12px 12px;background:#fff;
  color:var(--ink);font-size:13.5px;text-decoration:none;transition:.15s}
.p21-fam a:hover{color:var(--blue)}
.p21-fam a.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;z-index:1}
.p21-util{display:flex;align-items:center;gap:24px;padding:13px 0 11px}
.p21-util a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:15px;font-weight:500;letter-spacing:-.01em;text-decoration:none;transition:color .15s}
.p21-util a:hover{color:var(--blue)}
.p21-util svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.p21-util .hi{color:var(--blue);font-size:15px;font-weight:600}

/* ---- 헤더 + GNB (메가메뉴) ---- */
#p21-head{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #cfcfd6}
#p21-head>.p21-wrap{display:flex;align-items:center;height:96px}
.p21-logo{display:flex;align-items:center;gap:13px;text-decoration:none}
.p21-logo img.mark{width:54px;height:54px;display:block}
.p21-logo .txt b{display:block;font-size:24px;font-weight:800;color:var(--navy);letter-spacing:-.5px;line-height:1.15}
.p21-logo .txt span{font-size:10px;color:#8a8a92;letter-spacing:.13em;font-weight:600}
.p21-gnb{margin-left:auto}
.p21-gnb>ul{display:flex;list-style:none;margin:0;padding:0}
.p21-gnb>ul>li{position:relative}
.p21-gnb>ul>li>a{display:flex;align-items:center;justify-content:center;height:96px;padding:0 25px;
  font-size:19px;font-weight:500;color:#111;text-decoration:none;position:relative;white-space:nowrap;transition:color .15s}
.p21-gnb>ul>li>a::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:var(--blue);
  transform:scaleX(0);transition:transform .22s}
.p21-gnb>ul>li:hover>a,.p21-gnb>ul>li:focus-within>a{color:var(--blue);font-weight:700}
.p21-gnb>ul>li:hover>a::after,.p21-gnb>ul>li:focus-within>a::after{transform:scaleX(1)}
/* 전 메뉴 동시 오픈(메가메뉴): 내비 호버 시 화면 전체폭 화이트 패널 + 컬럼 */
#p21-head::before{content:"";display:none;position:absolute;top:100%;left:0;right:0;height:272px;
  background:#fff;border-top:1px solid #cfcfd6;border-bottom:1px solid #e4e4ea;box-shadow:0 18px 26px rgba(10,20,60,.10)}
#p21-head:has(.p21-gnb>ul:hover)::before,#p21-head:has(.p21-gnb>ul>li:focus-within)::before{display:block}
.p21-gnb .sub{display:none;position:absolute;top:100%;left:0;width:100%;height:272px;z-index:1;
  flex-direction:column;align-items:center;padding:26px 0 0;background:none;border:0;box-shadow:none}
.p21-gnb>ul:hover .sub,.p21-gnb>ul>li:focus-within .sub{display:flex}
.p21-gnb>ul>li+li .sub{border-left:1px solid #ececf0}
.p21-gnb .sub a{display:block;flex:none;padding:10px 8px;font-size:15px;color:#3a3a44;text-decoration:none;
  white-space:nowrap;word-break:keep-all;text-align:center}
.p21-gnb .sub a:hover{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px}
/* 모바일 버튼/패널 */
.p21-mbtn{display:none;margin-left:auto;width:46px;height:46px;border:0;background:none;cursor:pointer;padding:8px}
.p21-mbtn svg{width:100%;height:100%;stroke:#111;fill:none;stroke-width:2;stroke-linecap:round}
#p21-mnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 18px 26px rgba(10,20,60,.12);padding:18px 24px 26px;z-index:99;
  grid-template-columns:repeat(2,1fr);gap:0 28px}
#p21-mnav.open{display:grid}
#p21-mnav .grp b{display:block;margin:14px 0 6px;font-size:16px;color:var(--blue);font-weight:700;
  border-bottom:1px solid #eef0f6;padding-bottom:8px}
#p21-mnav .grp a{display:block;padding:7px 2px;font-size:14.5px;color:#444;text-decoration:none}
#p21-mnav .grp a:hover{color:var(--blue)}

/* ---- 서브페이지 타이틀 밴드 ---- */
.p21-subvis{background:var(--grad)}
.p21-subvis .p21-wrap{padding-top:52px;padding-bottom:56px}
#container_title{margin:0;color:#fff;font-size:38px;font-weight:800;letter-spacing:-1px;text-align:center}

/* ---- 홈 공통 ---- */
.p21-home{background:#fff;padding-bottom:100px}
.p21-home section{margin-top:90px}
.p21-home .p21-hero{margin-top:0}

/* ---- 히어로 (사진 + 중앙 텍스트) ---- */
.p21-hero{position:relative;height:600px;overflow:hidden;background:#0d1540}
.p21-hero-bg{position:absolute;inset:0}
.p21-hero-bg i{position:absolute;inset:0;background-size:cover;background-position:center 30%;
  opacity:0;transform:scale(1.08);transition:opacity 1.2s ease;will-change:opacity,transform}
.p21-hero-bg i.on{opacity:1;animation:p21ken 9s ease-out forwards}
@keyframes p21ken{from{transform:scale(1.08)}to{transform:scale(1)}}
.p21-hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(10,16,50,.38),rgba(10,16,50,.30) 55%,rgba(8,13,40,.62))}
.p21-hero .slide{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;color:#fff;padding:0 24px 60px;opacity:0;visibility:hidden;transition:opacity .9s}
.p21-hero .slide.on{opacity:1;visibility:visible}
.p21-hero .t1{font-size:15px;letter-spacing:.28em;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:20px}
.p21-hero h2{font-size:56px;line-height:1.28;font-weight:800;letter-spacing:-1.4px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.p21-hero .t3{margin-top:20px;font-size:20px;font-weight:400;color:rgba(255,255,255,.92);word-break:keep-all;line-height:1.6}
.p21-hero .hctrl{position:absolute;left:0;right:0;bottom:138px;z-index:3;display:flex;justify-content:center;align-items:center;gap:10px}
.p21-hero .hctrl button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:.2s;padding:0 0 3px}
.p21-hero .hctrl button:hover{background:rgba(255,255,255,.25)}
.p21-hero .hctrl .pg{color:#d4d4d4;font-size:17px}
.p21-hero .hctrl .pg b{color:#fff;font-weight:700}
.p21-hero .hctrl .pg .slash{font-style:normal;margin:0 5px;opacity:.7}

/* ---- 히어로 하단 겹침 바로가기 메뉴 ---- */
.p21-vmenu{position:relative;margin-top:-107px;text-align:center;z-index:5}
.p21-vmenu ul{display:inline-flex;justify-content:center;list-style:none;margin:0;padding:0 30px;
  border-radius:24px 24px 0 0;background:var(--grad);text-align:left;box-shadow:0 -8px 24px rgba(13,33,133,.18)}
.p21-vmenu li{margin:0 18px}
.p21-vmenu a{display:flex;align-items:center;height:107px;padding:0 16px;text-decoration:none}
.p21-vmenu .ico{flex:none;width:46px;height:46px;margin-right:11px;display:flex;align-items:center;justify-content:center}
.p21-vmenu .ico svg{width:40px;height:40px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.p21-vmenu .txt{color:#fff;font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.01em}
.p21-vmenu a:hover .txt,.p21-vmenu a:focus .txt{text-decoration:underline;text-underline-offset:5px}

/* ---- 학회소식 : 세로탭 + 카드 ---- */
.p21-manews{display:flex;gap:44px}
.p21-manews .side{flex:none;width:290px}
.p21-manews .matit{font-size:40px;font-weight:700;color:var(--ink);letter-spacing:-1px;margin:0 0 32px}
.p21-manews .vtabs{list-style:none;margin:0;padding:0}
.p21-manews .vtabs li{display:flex;align-items:center;position:relative}
.p21-manews .vtabs li+li{margin-top:-1px}
.p21-manews .vtabs button{flex:1;height:57px;padding:0 46px 0 18px;border:0;border-top:1px solid #b9b9c2;
  background:#fff;font-family:inherit;font-size:19px;font-weight:500;color:var(--ink);text-align:left;cursor:pointer;transition:color .15s}
.p21-manews .vtabs li:last-child button{border-bottom:1px solid #b9b9c2}
.p21-manews .vtabs button:hover{color:var(--blue)}
.p21-manews .vtabs li.on{z-index:1}
.p21-manews .vtabs li.on button{background:var(--blue);color:#fff;font-weight:700;border-color:transparent;
  border-radius:12px;box-shadow:0 6px 16px rgba(23,45,157,.28)}
.p21-manews .tmore{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:none;
  color:rgba(255,255,255,.85);font-size:22px;font-weight:400;text-decoration:none;line-height:1}
.p21-manews .vtabs li.on .tmore{display:block}
.p21-manews .tmore:hover{color:#fff}
.p21-manews .cards{flex:1;min-width:0}
.p21-manews .cardlist{display:none;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;margin:0;padding:8px 4px}
.p21-manews .cardlist.on{display:grid}
.p21-manews .card{display:flex;flex-direction:column;height:100%;min-height:288px;padding:30px 26px;border-radius:24px;
  background:#fff;box-shadow:0 0 20px rgba(0,0,0,.12);text-decoration:none;transition:transform .22s}
.p21-manews .card:hover{transform:translateY(-8px)}
.p21-manews .card:hover .tit{text-decoration:underline;text-underline-offset:4px}
.p21-manews .badge{align-self:flex-start;padding:5px 11px;border-radius:4px;color:#fff;font-size:13px;font-weight:600;margin-bottom:20px}
.badge.b-notice1{background:#2e4f96}
.badge.b-won{background:#5b74ad}
.badge.b-cho{background:#3f6b91}
.badge.b-act{background:#54618f}
.p21-manews .tit{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  color:var(--ink);font-size:18px;line-height:1.45;font-weight:700}
.p21-manews .txt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
  margin:10px 0;color:#555;font-size:15px;line-height:1.6;word-break:break-all}
.p21-manews .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center}
.p21-manews .date{color:var(--gray);font-size:15px;font-variant-numeric:tabular-nums}
.p21-manews .more{color:var(--ink);font-size:13.5px;font-weight:500}
.p21-manews .more::after{content:" \2192";font-size:13px}
.p21-manews .empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:288px;
  border:1px solid var(--line);border-radius:24px;background:var(--bg);color:#9a9aa2;font-size:15px}

/* ---- 풀폭 투배너 ---- */
.p21-twobn{display:flex;list-style:none;margin:90px 0 0;padding:0}
.p21-twobn li{flex:1;display:flex;position:relative;background-size:cover;background-position:center;overflow:hidden}
.p21-twobn .bn-journal{background:var(--grad)}
.p21-twobn .bn-confer::before{content:"";position:absolute;inset:0;background:rgba(10,18,56,.58)}
.p21-twobn .inbox{position:relative;z-index:1;flex:1;display:flex;align-items:center;gap:24px;max-width:710px;min-height:228px}
.p21-twobn li:first-child .inbox{margin-left:auto;padding:0 60px 0 20px}
.p21-twobn li:last-child .inbox{margin-right:auto;padding:0 20px 0 60px}
.p21-twobn .txtbox{flex:1;color:#fff}
.p21-twobn .tit{font-size:30px;font-weight:700;letter-spacing:-.5px}
.p21-twobn .txt{margin-top:10px;font-size:16px;font-weight:400;color:rgba(255,255,255,.88)}
.btn_go,.p21-introband .linkbox a{flex:none;display:flex;align-items:center;min-width:186px;padding:12px 16px;
  border:1px solid rgba(255,255,255,.5);border-radius:8px;background:rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#fff;font-size:16px;font-weight:500;text-decoration:none;transition:.3s}
.btn_go::after,.p21-introband .linkbox a::after{content:"\2192";margin-left:auto;padding-left:16px;font-size:15px}
.btn_go:hover,.p21-introband .linkbox a:hover{background:rgba(9,14,40,.35)}

/* ---- 갤러리 슬라이더 + 회장 인사말 ---- */
.p21-galzone{display:flex;gap:56px}
.p21-galzone .gal{flex:1.15;min-width:0}
.p21-galzone .greet{flex:1;min-width:0}
.p21-galzone .tbox{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}
.p21-galzone .tbox h2{font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.5px;margin:0}
.p21-galzone .gctrl{display:flex;align-items:center;gap:6px}
.p21-galzone .gctrl button{width:28px;height:28px;border:0;background:none;color:#666;font-size:24px;line-height:1;cursor:pointer;padding:0 0 3px}
.p21-galzone .gctrl button:hover{color:var(--ink)}
.p21-galzone .gpg{color:#9d9d9d;font-size:17px;margin:0 4px}
.p21-galzone .gpg b{color:var(--ink);font-weight:700}
.p21-galzone .gpg i{font-style:normal;margin:0 4px}
.p21-galzone .gmore{margin-left:8px;color:var(--ink);font-size:22px;text-decoration:none;line-height:1}
.p21-galzone .gmore:hover{color:var(--blue)}
.p21-galzone .gslider{position:relative;height:313px;border-radius:24px;overflow:hidden;background:#eef1f8}
.p21-galzone .gsl{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s;text-decoration:none}
.p21-galzone .gsl.on{opacity:1;visibility:visible;z-index:1}
.p21-galzone .gsl i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .45s}
.p21-galzone .gsl:hover i{transform:scale(1.08)}
.p21-galzone .cap{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;
  padding:15px 24px;background:rgba(0,0,0,.62)}
.p21-galzone .cap b{color:#fff;font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p21-galzone .gsl:hover .cap b{text-decoration:underline;text-underline-offset:3px}
.p21-galzone .cap em{flex:none;margin-left:14px;color:rgba(255,255,255,.85);font-style:normal;font-size:13px}
.p21-galzone .gempty{display:flex;align-items:center;justify-content:center;height:100%;color:#9a9aa2;font-size:15px}
.p21-galzone .gbox{display:flex;align-items:center;gap:30px;height:313px;padding:36px 40px;border-radius:24px;
  background:#fff;box-shadow:0 0 20px rgba(0,0,0,.12)}
.p21-galzone .ph{flex:none;width:148px;height:186px;object-fit:cover;border-radius:16px;box-shadow:0 8px 20px rgba(20,40,90,.22)}
.p21-galzone .who{font-size:16px;color:#666;margin:0}
.p21-galzone .who b{font-size:23px;color:var(--ink);font-weight:700;margin-left:6px}
.p21-galzone .msg{margin:14px 0 22px;font-size:16px;line-height:1.75;color:#444;word-break:keep-all}
.p21-galzone .gbtn{display:inline-flex;align-items:center;padding:12px 18px;border-radius:8px;background:var(--blue);
  color:#fff;font-size:15px;font-weight:500;text-decoration:none;transition:.2s}
.p21-galzone .gbtn::after{content:"\2192";margin-left:22px;font-size:14px}
.p21-galzone .gbtn:hover{background:var(--blue-d)}

/* ---- 인트로 밴드 ---- */
.p21-introband .inbox{display:flex;align-items:center;gap:24px;padding:46px 48px;border-radius:24px;
  position:relative;overflow:hidden;background-size:cover;background-position:center}
.p21-introband .inbox::before{content:"";position:absolute;inset:0;background:rgba(11,22,66,.62)}
.p21-introband .txtbox,.p21-introband .linkbox{position:relative;z-index:1}
.p21-introband .tit{color:#fff;font-size:28px;font-weight:700;letter-spacing:-.5px}
.p21-introband .txt{margin-top:8px;color:rgba(255,255,255,.9);font-size:16px;word-break:keep-all}
.p21-introband .linkbox{display:flex;gap:16px;margin-left:auto}
.p21-introband .linkbox a{min-width:174px}

/* ---- 관련기관 배너 스트립 ---- */
#p21-partners{background:#f0f0f0;padding:26px 0}
#p21-partners .p21-wrap{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
#p21-partners a{display:flex;align-items:center;justify-content:center;min-width:198px;height:56px;padding:0 26px;
  border-radius:10px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.08);
  color:#333;font-size:15px;font-weight:600;text-decoration:none;transition:.2s}
#p21-partners a:hover{color:var(--blue);transform:translateY(-2px)}

/* ---- 푸터 ---- */
#p21-foot{background:#fff}
.p21-foot-links{border-bottom:1px solid #ececf0}
.p21-foot-links .p21-wrap{display:flex;align-items:center;gap:36px;height:62px}
.p21-foot-links a{color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
.p21-foot-links a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.p21-foot-links a.em{color:var(--blue);font-weight:800}
.p21-foot-body{display:flex;align-items:flex-start;gap:52px;padding-top:36px;padding-bottom:46px}
.p21-foot-body .flogo{flex:none;display:flex;align-items:center;gap:12px;text-decoration:none}
.p21-foot-body .flogo img{width:46px;height:46px}
.p21-foot-body .flogo b{display:block;font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.3px}
.p21-foot-body .flogo small{display:block;font-size:9.5px;color:#8a8a92;letter-spacing:.1em;font-weight:600}
.p21-foot-body .finfo p{margin:0;font-size:14px;color:var(--gray);line-height:1.95}
.p21-foot-body .finfo .copy{margin-top:12px;font-size:13px;color:#9a9aa2}
/* ---- 팝업레이어 (이미지 팝업) ---- */
#hd_pop{position:relative;z-index:900}
#hd_pop h2{position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops{position:absolute;z-index:901;background:#fff;border-radius:0;overflow:hidden;
  border:1px solid #16181c;box-shadow:0 20px 50px rgba(0,0,0,.20)}
.hd_pops_con{overflow:hidden;height:auto !important} /* 내용에 맞게 자동 높이 */
.hd_pops_con img{display:block;width:100%;height:auto}
.hd_pops_con a{display:block;line-height:0}
#hd_pop .hd_pops_footer{display:flex;justify-content:space-between;align-items:stretch;background:#fff;border-top:1px solid #16181c}
#hd_pop .hd_pops_footer button{border:0;background:#fff;color:#77797f;font-size:11.5px;padding:11px 16px;cursor:pointer;font-family:inherit;text-align:left;letter-spacing:.01em}
#hd_pop .hd_pops_footer button strong{font-weight:600;color:#3c3e44}
#hd_pop .hd_pops_footer button:hover{color:#16181c}
#hd_pop .hd_pops_footer .hd_pops_reject{background:#fff}
#hd_pop .hd_pops_footer .hd_pops_close{position:static;flex:none;background:#fff;color:#16181c;font-weight:700;border-left:1px solid #16181c}
/* 모바일: 하단 시트 */
@media(max-width:900px){
  .hd_pops{position:fixed;left:14px !important;right:14px;top:auto !important;bottom:14px;width:auto}
  .hd_pops .hd_pops_con{width:auto !important;max-height:62vh;overflow:auto}
  .hd_pops ~ .hd_pops{display:none}
}

/* ---- 학회 안내 챗봇 ---- */
#p21-bot-btn{position:fixed;right:30px;bottom:92px;width:55px;height:51px;border:0;border-radius:8px;
  background:#fff;border:1px solid #c9d2e2;color:var(--blue);cursor:pointer;z-index:95;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(20,30,60,.14);transition:.2s}
#p21-bot-btn svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#p21-bot-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-3px)}
#p21-bot-panel{display:none;position:fixed;right:30px;bottom:156px;width:372px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid #dfe3ec;border-radius:14px;box-shadow:0 18px 48px rgba(15,25,55,.22);
  z-index:96;overflow:hidden;flex-direction:column}
#p21-bot-panel.open{display:flex}
#p21-bot-panel .bhead{display:flex;align-items:center;gap:8px;padding:14px 16px;background:var(--grad);color:#fff}
#p21-bot-panel .bhead b{font-family:var(--serif);font-size:16px;font-weight:700}
#p21-bot-panel .bhead em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.08em;
  border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:2px 6px}
#p21-bot-panel .bclose{margin-left:auto;border:0;background:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 2px}
#p21-bot-panel .bbody{height:380px;overflow-y:auto;padding:16px 14px;background:#f7f8fb}
.bmsg{max-width:86%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.7;margin-bottom:10px;
  word-break:break-word;white-space:normal}
.bmsg.bot{background:#fff;border:1px solid #e5e8f0;color:#2c313c;border-top-left-radius:4px}
.bmsg.user{background:var(--blue);color:#fff;margin-left:auto;border-top-right-radius:4px}
.bmsg.err{color:#a04545;background:#fdf6f6;border-color:#eed7d7}
.bmsg.wait i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a9b4c8;margin:0 2px;
  animation:p21botdot 1.2s infinite}
.bmsg.wait i:nth-child(2){animation-delay:.2s}
.bmsg.wait i:nth-child(3){animation-delay:.4s}
@keyframes p21botdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.bqs{display:flex;flex-direction:column;gap:7px;margin:4px 0 10px}
.bqs button{border:1px solid #c9d2e6;background:#fff;color:var(--blue);border-radius:999px;
  padding:8px 14px;font-size:13px;text-align:left;cursor:pointer;transition:.15s;font-family:inherit}
.bqs button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
#p21-bot-panel .bfoot{display:flex;gap:8px;padding:12px;border-top:1px solid #e8ebf2;background:#fff}
#p21-bot-in{flex:1;height:42px;border:1px solid #d5dae5;border-radius:9px;padding:0 14px;font-size:14px;font-family:inherit}
#p21-bot-in:focus{outline:none;border-color:var(--blue)}
#p21-bot-send{width:44px;height:42px;border:0;border-radius:9px;background:var(--blue);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.15s}
#p21-bot-send:hover{background:var(--blue-d)}
#p21-bot-send svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#p21-bot-panel .bnote{padding:8px 14px 11px;background:#fff;font-size:11px;color:#98a0af;line-height:1.5}
@media(max-width:767px){
  #p21-bot-btn{right:14px;bottom:76px;width:48px;height:46px}
  #p21-bot-panel{right:8px;left:8px;bottom:130px;width:auto}
  #p21-bot-panel .bbody{height:52vh}
}

#top_btn{position:fixed;right:30px;bottom:30px;width:55px;height:51px;border:0;border-radius:8px;
  background:linear-gradient(154deg,#3c78ee 11%,#0d2185 92%);color:#fff;font-size:13px;font-weight:700;
  cursor:pointer;z-index:90;box-shadow:0 8px 18px rgba(13,33,133,.35);transition:.2s}
#top_btn:hover{transform:translateY(-3px)}

/* ---- 서브페이지 ---- */
#container:not(.p21-index){float:none;width:auto;max-width:1080px;margin:0 auto;padding:56px 24px 90px}
#container:not(.p21-index) thead th,#container:not(.p21-index) .tbl_head01 thead th{background:var(--blue) !important;color:#fff !important;border-color:var(--blue) !important}
#container:not(.p21-index) .pg_current{background:var(--blue) !important;border-color:var(--blue) !important;color:#fff !important;border-radius:6px}
#container:not(.p21-index) a.pg_page{border-radius:6px}
#container:not(.p21-index) a.pg_page:hover{color:var(--blue) !important;border-color:var(--blue) !important}
#container:not(.p21-index) .btn01,#container:not(.p21-index) .btn_b01,#container:not(.p21-index) a.btn_b01,#container:not(.p21-index) .btn_submit,#container:not(.p21-index) button.btn_submit{background:var(--blue) !important;border-color:var(--blue) !important;color:#fff !important;border-radius:6px}
#container:not(.p21-index) .btn02,#container:not(.p21-index) a.btn02{border-color:var(--blue) !important;color:var(--blue) !important;border-radius:6px}
#container:not(.p21-index) #bo_v_title,#container:not(.p21-index) .bo_v_tit{color:var(--navy)}
#container:not(.p21-index) .ctt_admin .btn_admin{background:var(--blue) !important;border-color:var(--blue) !important}
#container:not(.p21-index) #ctt{background:#fff;border:1px solid #e4e4ea;border-radius:20px;padding:26px 18px}
#container:not(.p21-index) #ctt > header h1{display:none}

/* ---- 본문 가독성 (콘텐츠/게시글) ---- */
#container:not(.p21-index) #ctt_con,#container:not(.p21-index) .p21-legacy,#container:not(.p21-index) #bo_v_con{
  max-width:820px;margin:0 auto;padding:14px 6px 26px;font-size:16.5px;line-height:2.02;color:#33383f;word-break:keep-all}
#container:not(.p21-index) #ctt_con p,#container:not(.p21-index) .p21-legacy p,#container:not(.p21-index) #bo_v_con p{margin:0 0 1.15em}
#container:not(.p21-index) #ctt_con h3,#container:not(.p21-index) .p21-legacy h3{font-size:23px;color:var(--navy);font-weight:800;margin:0 0 22px;text-align:center}
#container:not(.p21-index) #ctt_con h4,#container:not(.p21-index) .p21-legacy h4{font-size:17px;color:var(--blue);font-weight:700;margin:26px 0 10px}
#container:not(.p21-index) .p21-legacy ul,#container:not(.p21-index) .p21-legacy ol{margin:12px 0 18px;padding-left:24px}
#container:not(.p21-index) .p21-legacy li{margin:7px 0;line-height:1.85}
#container:not(.p21-index) .p21-legacy strong,#container:not(.p21-index) .p21-legacy b{color:var(--navy)}
#container:not(.p21-index) #ctt_con table,#container:not(.p21-index) .p21-legacy table,#container:not(.p21-index) #bo_v_con table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
#container:not(.p21-index) #ctt_con td,#container:not(.p21-index) #ctt_con th,#container:not(.p21-index) .p21-legacy td,#container:not(.p21-index) .p21-legacy th,#container:not(.p21-index) #bo_v_con td,#container:not(.p21-index) #bo_v_con th{padding:11px 14px;border:1px solid #e3e8f0;line-height:1.7;vertical-align:top}
#container:not(.p21-index) .p21-legacy tr:nth-child(even) td{background:#f8fafd}
#container:not(.p21-index) .p21-legacy th{background:var(--blue-lt);color:var(--blue);font-weight:700}
#container:not(.p21-index) #ctt_con img,#container:not(.p21-index) .p21-legacy img,#container:not(.p21-index) #bo_v_con img{max-width:100%;height:auto;margin:14px auto;border-radius:8px;display:block}

/* ---- 문서(규정/안내) 공용 컴포넌트 ---- */
.p21-doc{max-width:880px;margin:0 auto;text-align:left;font-size:15.5px;line-height:1.85;color:#3a3f47;word-break:keep-all}
.p21-doc .lead{font-size:17px;line-height:1.95;color:#2c3139;margin:0 0 26px}
.p21-doc .doc-meta{display:flex;gap:14px;justify-content:flex-end;margin:0 0 10px;font-size:13px;color:#8a8a92}
.p21-doc .chap{margin:38px 0 0}
.p21-doc .chap>h4{display:flex;align-items:center;gap:10px;margin:0 0 4px;padding:13px 16px;
  background:var(--blue-lt);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;
  font-size:17px;color:var(--blue);font-weight:800}
.p21-doc .chap>h4 em{flex:none;font-style:normal;font-size:12.5px;background:var(--blue);color:#fff;border-radius:4px;padding:3px 9px;font-weight:700}
.p21-doc .art{display:flex;gap:20px;padding:16px 6px;border-bottom:1px solid #eef0f5}
.p21-doc .art:last-child{border-bottom:0}
.p21-doc .art .no{flex:0 0 148px}
.p21-doc .art .no b{display:block;color:var(--blue);font-size:15px;font-weight:800}
.p21-doc .art .no span{display:block;font-size:13px;color:#8a8a92;margin-top:2px;line-height:1.5}
.p21-doc .art .bd{flex:1;min-width:0}
.p21-doc .art .bd>p{margin:0 0 8px}
.p21-doc .art .bd>p:last-child{margin-bottom:0}
.p21-doc .items{list-style:none;margin:4px 0 0;padding:0}
.p21-doc .items>li{position:relative;padding-left:26px;margin:7px 0}
.p21-doc .items>li>i{position:absolute;left:0;top:0;font-style:normal;color:var(--blue);font-weight:700;font-size:14px}
.p21-doc .subitems{list-style:none;margin:5px 0 2px;padding:0}
.p21-doc .subitems>li{position:relative;padding-left:24px;margin:5px 0;font-size:14.5px;color:#4a5058}
.p21-doc .subitems>li>i{position:absolute;left:0;top:0;font-style:normal;color:#7a86b8;font-weight:600;font-size:13.5px}
.p21-doc .ex{background:#f7f9fd;border:1px solid #e3eaf6;border-radius:8px;padding:9px 14px;margin:8px 0;font-size:13.5px;color:#4a5568;line-height:1.75}
.p21-doc .ex b{color:var(--blue);margin-right:8px;font-size:12.5px}
.p21-doc .note{background:#f6f8fb;border:1px solid #d9e1ef;border-radius:8px;padding:10px 14px;margin:10px 0;font-size:14px;color:#55627e}
.p21-doc table.grid{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}
.p21-doc table.grid th{background:var(--blue);color:#fff;padding:9px 10px;border:1px solid #2a41ae;font-weight:600;text-align:center}
.p21-doc table.grid td{padding:9px 12px;border:1px solid #e3e8f0;text-align:center;line-height:1.7}
.p21-doc table.grid td.l,.p21-doc table.grid th.l{text-align:left}
.p21-doc table.grid tr:nth-child(even) td{background:#fafbfe}
.p21-doc table.kv{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px}
.p21-doc table.kv th{width:150px;background:var(--blue-lt);color:var(--blue);padding:12px 14px;border:1px solid #e3e8f0;font-weight:700;text-align:left}
.p21-doc table.kv td{padding:12px 16px;border:1px solid #e3e8f0;line-height:1.7;text-align:left}
.p21-doc .p21-h{margin:36px 0 12px;padding-bottom:10px;border-bottom:2px solid var(--blue);font-size:19px;color:var(--navy);font-weight:800}
.p21-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}
.p21-statgrid>div{background:#fff;border:1px solid #e4e8f2;border-radius:14px;padding:20px 12px;text-align:center;box-shadow:0 2px 10px rgba(20,40,90,.06)}
.p21-statgrid b{display:block;font-size:26px;font-weight:800;color:var(--blue);letter-spacing:-.5px}
.p21-statgrid span{display:block;margin-top:6px;font-size:13px;color:#717181}
.p21-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.p21-tags i{font-style:normal;background:var(--blue-lt);color:var(--blue);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600}
.p21-btnrow{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.p21-btnrow a{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:10px;
  background:var(--blue);color:#fff;font-size:15px;font-weight:600;text-decoration:none;transition:.2s}
.p21-btnrow a:hover{background:var(--blue-d)}
.p21-btnrow a.line{background:#fff;border:1px solid var(--blue);color:var(--blue)}
.p21-btnrow a.line:hover{background:var(--blue-lt)}
.p21-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0;counter-reset:p21step}
.p21-steps>div{position:relative;background:#fff;border:1px solid #e4e8f2;border-radius:14px;padding:22px 18px 18px;box-shadow:0 2px 10px rgba(20,40,90,.06);counter-increment:p21step}
.p21-steps>div::before{content:"STEP " counter(p21step);display:inline-block;background:var(--blue);color:#fff;font-size:11.5px;font-weight:700;border-radius:4px;padding:3px 8px;letter-spacing:.06em}
.p21-steps b{display:block;margin:12px 0 6px;font-size:16px;color:var(--ink)}
.p21-steps p{margin:0;font-size:13.5px;color:#666;line-height:1.7}
@media(max-width:767px){
  .p21-doc .art{flex-direction:column;gap:6px}
  .p21-doc .art .no{flex:none;display:flex;align-items:baseline;gap:8px}
  .p21-statgrid{grid-template-columns:repeat(2,1fr)}
  .p21-steps{grid-template-columns:1fr}
}

/* ---- 임원진(staff) 페이지 — co_content 임베디드 스타일이 그누보드 필터에 제거되어 테마로 이식 ---- */
.p21-staff{--stf-navy:#22355f;--stf-blue:#2e4f96;--stf-accent:#3b5da8;--stf-line:#dde1e8;--stf-soft:#f3f5f9;--stf-mut:#8a92a3;color:#1e2126;line-height:1.6}
.p21-staff h3.stf-sec{font-size:20px;color:var(--stf-navy);margin:44px 0 18px;padding-left:14px;border-left:5px solid var(--stf-accent);font-weight:700;text-align:left}
.p21-staff h3.stf-sec:first-of-type{margin-top:8px}
.stf-org{background:var(--stf-soft);border:1px solid var(--stf-line);border-radius:14px;padding:34px 20px;margin-bottom:12px;overflow-x:auto}
.stf-org .tier{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;position:relative}
.stf-org .tier+.tier{margin-top:34px}
.stf-org .node{min-width:120px;text-align:center;padding:11px 18px;border-radius:9px;font-weight:600;font-size:14px;background:#fff;border:1.5px solid var(--stf-line);color:var(--stf-navy);position:relative}
.stf-org .node.top{background:linear-gradient(135deg,#3a62b4,#22355f);color:#fff;border:none;font-size:15px;letter-spacing:1px}
.stf-org .node.head{background:var(--stf-navy);color:#fff;border:none}
.stf-org .node.side{background:#fff;color:var(--stf-blue);font-size:13px;min-width:96px}
.stf-org .node.br{background:#eef2fb;border-color:var(--stf-accent);color:var(--stf-blue)}
.stf-org .row-head{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.stf-org .side-col{display:flex;flex-direction:column;gap:10px}
.stf-org .conn{width:2px;height:26px;background:var(--stf-line);margin:0 auto}
.stf-org .caption{text-align:center;color:var(--stf-mut);font-size:12px;margin-top:8px}
.stf-org .jihoe{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;max-width:640px;margin:0 auto}
.stf-org .jihoe .node{min-width:0;background:#6b7488;color:#fff;border:none;font-size:13px;padding:8px 14px}
.stf-lead{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:6px}
.stf-lead .card{flex:1 1 220px;background:#fff;border:1px solid var(--stf-line);border-top:3px solid var(--stf-accent);border-radius:10px;padding:16px 20px}
.stf-lead .card .role{font-size:13px;color:var(--stf-accent);font-weight:700;letter-spacing:.5px}
.stf-lead .card .name{font-size:19px;color:var(--stf-navy);font-weight:700;margin-top:4px}
.stf-lead .card .org{font-size:14px;color:var(--stf-mut)}
.stf-chips{display:flex;flex-wrap:wrap;gap:8px}
.stf-chips .chip{background:#fff;border:1px solid var(--stf-line);border-radius:20px;padding:6px 14px;font-size:14px;color:#28324a}
.stf-chips .chip b{font-weight:600;color:var(--stf-navy)}
.stf-chips .chip .u{color:var(--stf-mut);font-size:12.5px;margin-left:3px}
.stf-role-tbl{width:100%;border-collapse:collapse;margin-top:4px}
.stf-role-tbl th{width:130px;text-align:left;vertical-align:top;padding:12px 14px;background:var(--stf-soft);color:var(--stf-navy);font-weight:700;font-size:14px;border:1px solid var(--stf-line);white-space:nowrap}
.stf-role-tbl td{padding:12px 14px;border:1px solid var(--stf-line);font-size:14px;color:#28324a}
.stf-role-tbl td span{display:inline-block;margin:2px 10px 2px 0}
.stf-role-tbl td span .u{color:var(--stf-mut);font-size:12.5px}
.stf-note{color:var(--stf-mut);font-size:13px;margin-top:8px}
#container:not(.p21-index) #ctt_con .p21-staff h3.stf-sec{font-size:20px;color:var(--stf-navy);margin:44px 0 18px;text-align:left}
@media (max-width:600px){
.stf-org{padding:24px 12px}
.stf-role-tbl th{width:auto;display:block;border-bottom:none}
.stf-role-tbl td{display:block}
.stf-lead .card{flex-basis:100%}
}

/* ---- 오시는 길 지도 ---- */
.p21-map{margin:18px 0 6px}
.p21-map iframe{display:block;width:100%;height:360px;border:1px solid #e0e4eb}
.p21-map .maplink{margin-top:10px;font-size:14px;color:#8a92a3;text-align:right}
.p21-map .maplink a{color:#2e4f96;font-weight:600;text-decoration:none}
.p21-map .maplink a:hover{text-decoration:underline}

/* ---- 게시판 목록 가독성 (10건/페이지 + 큰 글씨) ---- */
#container:not(.p21-index) .tbl_head01 thead th{font-size:14.5px;padding:14px 8px}
#container:not(.p21-index) .tbl_head01 tbody td{font-size:15px;padding:15px 8px}
#container:not(.p21-index) .td_subject,#container:not(.p21-index) .td_subject a,#container:not(.p21-index) .bo_tit a{font-size:16px}
#container:not(.p21-index) .gall_text_href a{font-size:15.5px}
#container:not(.p21-index) .tbl_head01 .td_num,#container:not(.p21-index) .tbl_head01 .td_num2,#container:not(.p21-index) .tbl_head01 .td_datetime{white-space:nowrap}

/* ---- 게시판 아이콘/포인트 톤 통일 ---- */
#container:not(.p21-index) .fa-heart,#container:not(.p21-index) .fa-fire{color:var(--blue-b) !important}
#container:not(.p21-index) .bo_cate_on,#container:not(.p21-index) .bo_cate a:focus,#container:not(.p21-index) .bo_cate a:hover{color:var(--blue)}
#container:not(.p21-index) .btn_bo_user li button,#container:not(.p21-index) .btn_bo_user li a{border-radius:6px}
#container:not(.p21-index) .sch_bar,#container:not(.p21-index) .bo_sch{border-color:var(--blue)}

/* ---- 로그인 페이지 (독립 레이아웃 mbskin) ---- */
#mb_login{display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:auto;max-width:none;min-height:100vh;margin:0;padding:40px 16px;box-sizing:border-box;background:var(--bg)}
#mb_login::before{content:"";order:0;width:62px;height:62px;margin-bottom:12px;
  background:url(../img/logo.png) no-repeat center/contain}
#mb_login::after{content:"21세기정치학회";order:1;margin-bottom:24px;
  font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.5px}
#mb_login .mbskin_box{order:2;width:420px;max-width:100%;margin:0;border:0;border-radius:24px;
  background:#fff;box-shadow:0 0 24px rgba(0,0,0,.10);overflow:hidden}
#mb_login h1{position:absolute;font-size:0;line-height:0;overflow:hidden}
#mb_login .mb_log_cate{display:flex;margin:0}
#mb_login .mb_log_cate h2{flex:1;display:flex;align-items:center;justify-content:center;height:56px;margin:0;
  font-size:16px;font-weight:700;color:var(--blue);background:#fff;border-bottom:2px solid var(--blue)}
#mb_login .mb_log_cate .join{flex:1;display:flex;align-items:center;justify-content:center;height:56px;
  font-size:16px;color:#8a8a92;background:#f6f6f9;border-bottom:1px solid #e4e4ea;text-decoration:none}
#mb_login .mb_log_cate .join:hover{color:var(--blue)}
#mb_login #login_fs{padding:34px 34px 30px;border:0;margin:0}
#mb_login .frm_input{display:block;width:100%;height:52px;margin:0 0 12px;padding:0 16px;box-sizing:border-box;
  border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff}
#mb_login .frm_input:focus{border-color:var(--blue);outline:none}
#mb_login .btn_submit{display:block;width:100%;height:54px;margin-top:6px;border:0;border-radius:10px;
  background:var(--grad);color:#fff;font-size:17px;font-weight:700;cursor:pointer;transition:.2s}
#mb_login .btn_submit:hover{filter:brightness(1.08)}
#mb_login #login_info{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:14px;color:#666}
#mb_login #login_info a{color:var(--blue);font-weight:600;text-decoration:none}
#mb_login #login_info a:hover{text-decoration:underline}

/* ---- 반응형 ---- */
@media(max-width:1279px){
  .p21-gnb{display:none}
  .p21-mbtn{display:block}
  #p21-head>.p21-wrap{height:72px}
  .p21-logo img.mark{width:44px;height:44px}
  .p21-logo .txt b{font-size:20px}
  .p21-fam a{min-width:118px;font-size:12.5px}
  .p21-hero{height:440px}
  .p21-hero h2{font-size:38px}
  .p21-hero .t3{font-size:16px}
  .p21-hero .hctrl{bottom:18px}
  .p21-vmenu{margin-top:0}
  .p21-vmenu ul{display:flex;flex-wrap:wrap;width:100%;padding:0;border-radius:0}
  .p21-vmenu li{flex:0 1 33.333%;margin:0}
  .p21-vmenu a{justify-content:center;height:92px;margin:0 -1px -1px 0;padding:0;
    border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
  .p21-manews{flex-direction:column;gap:26px;margin-top:60px !important}
  .p21-manews .side{width:100%}
  .p21-manews .matit{font-size:30px;margin-bottom:20px}
  .p21-manews .vtabs{display:flex;gap:6px}
  .p21-manews .vtabs li+li{margin:0}
  .p21-manews .vtabs button{height:42px;padding:0 16px;border:0;font-size:16.5px}
  .p21-manews .vtabs li:last-child button{border:0}
  .p21-manews .vtabs li.on button{border-radius:8px}
  .p21-manews .tmore{display:none !important}
  .p21-manews .cardlist{grid-template-columns:repeat(2,1fr);gap:18px}
  .p21-twobn{flex-direction:column;margin-top:60px}
  .p21-twobn li:first-child .inbox,.p21-twobn li:last-child .inbox{max-width:none;margin:0;padding:0 36px}
  .p21-galzone{flex-direction:column;gap:48px;margin-top:60px !important}
  .p21-introband{margin-top:60px !important}
  .p21-introband .inbox{flex-direction:column;align-items:flex-start;padding:36px}
  .p21-introband .linkbox{margin:20px 0 0}
  .p21-home section{margin-top:60px}
  .p21-foot-body{flex-direction:column;gap:20px}
  #container_title{font-size:30px}
  .p21-subvis .p21-wrap{padding-top:38px;padding-bottom:42px}
}
@media(max-width:767px){
  #p21-top .p21-wrap{flex-direction:column;gap:4px}
  .p21-util{padding:6px 0 8px;flex-wrap:wrap;gap:12px}
  #p21-mnav{grid-template-columns:1fr}
  .p21-hero{height:340px}
  .p21-hero h2{font-size:28px}
  .p21-hero .t1{font-size:12px;margin-bottom:12px}
  .p21-vmenu li{flex:0 1 50%}
  .p21-vmenu a{height:70px}
  .p21-vmenu .ico{width:34px;height:34px;margin-right:7px}
  .p21-vmenu .ico svg{width:30px;height:30px}
  .p21-vmenu .txt{font-size:14px}
  .p21-vmenu .txt br{display:none}
  .p21-manews .cardlist{grid-template-columns:1fr}
  .p21-manews .card{min-height:0}
  .p21-manews .vtabs{flex-wrap:wrap}
  .p21-twobn .inbox{flex-direction:column;align-items:flex-start;justify-content:center;min-height:200px;gap:18px;padding:26px 20px !important}
  .p21-twobn .tit{font-size:22px}
  .p21-galzone .gslider{height:240px}
  .p21-galzone .gbox{flex-direction:column;height:auto;text-align:center;padding:30px 24px;gap:20px}
  .p21-galzone .gslider,.p21-galzone .gbox{border-radius:18px}
  .p21-galzone .ph{width:120px;height:150px}
  .p21-introband .inbox{padding:28px 22px}
  .p21-introband .linkbox{flex-direction:column;width:100%}
  .p21-introband .linkbox a{width:100%;min-width:0}
  #p21-partners a{min-width:0;flex:1 1 42%;font-size:13.5px;height:48px;padding:0 12px}
  .p21-foot-links .p21-wrap{gap:18px;height:auto;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
  #top_btn{right:14px;bottom:14px}
  #container:not(.p21-index){padding:36px 16px 60px}
  #container_title{font-size:24px}
}

/* ============================================================
   v4.1 프리미엄 톤 보정 — 세리프 제목 · 절제된 라운드/그림자 · 웜 뉴트럴
   ============================================================ */
/* 제목 서체: 명조 계열로 품격 */
#container_title,.p21-hero h2,.p21-manews .matit,.p21-galzone .tbox h2,
.p21-twobn .tit,.p21-introband .tit,.p21-logo .txt b,.p21-doc .p21-h,
.p21-doc .chap>h4,.p21-statgrid b,.p21-steps b,.p21-galzone .who b,#mb_login::after{font-family:var(--serif)}
.p21-hero h2{font-weight:700;letter-spacing:-.5px}
.p21-logo .txt b{font-weight:700;letter-spacing:0}
#container_title{font-weight:700;letter-spacing:0}
.p21-manews .matit,.p21-galzone .tbox h2{font-weight:700;letter-spacing:0}
/* 히어로: 청색 틴트 → 차분한 먹색 틴트 */
.p21-hero-bg::after{background:linear-gradient(rgba(17,19,28,.42),rgba(17,19,28,.28) 55%,rgba(13,15,23,.66))}
.p21-hero-bg i{filter:saturate(.82) contrast(1.02)}
.p21-hero .t1{letter-spacing:.34em;font-weight:500}
/* 카드류: 라운드·그림자 절제 + 웜 헤어라인 */
.p21-manews .card{border:1px solid #e3e7ee;border-radius:14px;box-shadow:0 1px 2px rgba(31,36,48,.04),0 12px 28px rgba(31,36,48,.06)}
.p21-manews .vtabs button{border-top-color:#c3c9d4}
.p21-manews .vtabs li:last-child button{border-bottom-color:#c3c9d4}
.p21-manews .vtabs li.on button{border-radius:8px;box-shadow:0 4px 14px rgba(28,39,64,.22)}
.p21-manews .badge{border-radius:3px;font-weight:500;letter-spacing:.02em}
.p21-manews .empty{border-radius:14px}
.p21-galzone .gslider,.p21-galzone .gbox{border-radius:14px}
.p21-galzone .gbox{border:1px solid #e3e7ee;box-shadow:0 1px 2px rgba(31,36,48,.04),0 12px 28px rgba(31,36,48,.06)}
.p21-galzone .ph{border-radius:10px}
.p21-galzone .gbtn{border-radius:6px}
.p21-introband .inbox{border-radius:16px}
.p21-introband .inbox::before{background:rgba(19,23,36,.62)}
.p21-twobn .bn-confer::before{background:rgba(19,23,36,.58)}
.btn_go,.p21-introband .linkbox a{border-radius:6px}
.p21-vmenu ul{border-radius:14px 14px 0 0;box-shadow:0 -6px 18px rgba(16,20,32,.16)}
/* 안내 컴포넌트 */
.p21-statgrid>div{border-radius:10px;border-color:#e3e7ee;box-shadow:0 1px 2px rgba(31,36,48,.04)}
.p21-steps>div{border-radius:10px;border-color:#e3e7ee;box-shadow:0 1px 2px rgba(31,36,48,.04)}
.p21-steps>div::before{background:none;border:1px solid var(--gold);color:var(--gold)}
.p21-btnrow a{border-radius:6px}
.p21-tags i{background:#eff2f7;border:1px solid #e0e4eb;color:#4b5160}
/* 문서 컴포넌트 */
.p21-doc .chap>h4{background:#f3f5f9;border-left:3px solid var(--gold);color:var(--navy);border-radius:0 8px 8px 0;font-weight:700}
.p21-doc .chap>h4 em{background:var(--navy);border-radius:3px}
.p21-doc .art .no b{color:var(--navy)}
.p21-doc .items>li>i{color:var(--gold)}
.p21-doc .subitems>li>i{color:#8fa3c8}
.p21-doc .ex{background:#f7f9fc;border-color:#dfe5ef;border-radius:6px}
.p21-doc .ex b{color:var(--gold)}
.p21-doc .note{border-radius:6px}
.p21-doc table.grid th{border-color:#274580}
.p21-doc table.grid td{border-color:#e0e4eb}
.p21-doc table.grid tr:nth-child(even) td{background:#f8fafc}
.p21-doc table.kv th{background:#eef2f9;color:var(--navy);border-color:#e0e4eb}
.p21-doc table.kv td{border-color:#e0e4eb}
.p21-doc .p21-h{border-bottom:1px solid #d8dde6;padding-bottom:12px}
/* 임원진 */
.stf-lead .card{border-top-color:var(--gold);border-radius:8px}
.stf-chips .chip{border-radius:16px}
/* 헤더/푸터/기타 */
.p21-fam a{border-radius:0 0 10px 10px}
#p21-partners{background:#f1f3f6}
#p21-partners a{border-radius:8px;color:#4b5160;box-shadow:0 1px 3px rgba(31,36,48,.08)}
#top_btn{background:linear-gradient(154deg,#3a62b4,#22355f)}
#mb_login .mbskin_box{border-radius:14px}
#mb_login .btn_submit,#mb_login .frm_input{border-radius:6px}
#container:not(.p21-index) #ctt{border-radius:14px;border-color:#e3e7ee}
.p21-subvis .p21-wrap{padding-top:56px;padding-bottom:60px}
.p21-galzone .msg{color:#545b69}

/* ---- 접근성: 키보드 포커스 표시 + 저대비 텍스트 보정 ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid #2e4f96;outline-offset:2px;border-radius:2px}
.p21-hero .hctrl button:focus-visible,.p21-galzone .gctrl button:focus-visible{outline-color:#fff}
.p21-galzone .gpg{color:#6d7788}
.p21-hero .hctrl .pg{color:#e4e7ef}
.p21-manews .empty{color:#78818f}
.p21-doc .doc-meta{color:#78818f}
.p21-manews .date{color:#666e7c}

/* ============================================================
   v4.4 에디토리얼 아카데미아 마감 — 표지형 히어로 · 사진 그레이딩 · 리듬
   ============================================================ */
:root{--heroPad:max(40px,calc(50% - 690px))}
/* 1) 히어로: 좌정렬 표지 타이포 */
.p21-hero{height:640px}
.p21-hero .slide{align-items:flex-start;text-align:left;padding:0 24px 96px var(--heroPad)}
.p21-hero .t1{position:relative;padding-top:22px;margin-bottom:24px;font-size:13.5px;letter-spacing:.38em;color:rgba(255,255,255,.78)}
.p21-hero .t1::before{content:"";position:absolute;top:0;left:2px;width:56px;height:2px;background:#fff}
.p21-hero h2{font-size:72px;line-height:1.18;letter-spacing:-1.5px;font-weight:700}
.p21-hero .t3{max-width:620px;font-size:18.5px;color:rgba(255,255,255,.88)}
.p21-hero .hctrl{justify-content:flex-start;padding-left:var(--heroPad);bottom:142px}
/* 2) 사진 그레이딩: 채도 절제 + 네이비 틴트로 전 사진 통일 */
.p21-hero-bg i{filter:grayscale(.3) saturate(.72) contrast(1.04) brightness(.9)}
.p21-hero-bg::after{background:linear-gradient(rgba(15,20,36,.46),rgba(15,20,36,.30) 55%,rgba(12,16,30,.68)),
  linear-gradient(rgba(24,36,70,.18),rgba(24,36,70,.18))}
.p21-galzone .gsl i{filter:grayscale(.22) saturate(.78) contrast(1.03);box-shadow:inset 0 0 0 999px rgba(28,42,78,.13)}
.p21-twobn .bn-confer{filter:none}
.p21-twobn .bn-confer::before{background:linear-gradient(rgba(20,28,52,.62),rgba(20,28,52,.62))}
.p21-galzone .ph{filter:saturate(.9)}
/* 3) 인트로 밴드: 어두운 블록 → 밝은 종이 패널 (리듬 회복) */
.p21-introband .inbox{background-image:none !important;background:#f7f9fc;border:1px solid #dfe4ec}
.p21-introband .inbox::before{display:none}
.p21-introband .tit{color:var(--navy)}
.p21-introband .txt{color:#5a6170}
.p21-introband .linkbox a{background:#fff;border:1px solid #c3ccdc;color:var(--blue);
  -webkit-backdrop-filter:none;backdrop-filter:none;font-weight:600}
.p21-introband .linkbox a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
/* 4) 섹션 영문 레이블 (러닝헤드처럼 담백하게) */
.p21-manews .matit::before,.p21-galzone .gal .tbox h2::before,.p21-galzone .greet .tbox h2::before,.p21-introband .tit::before{
  display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.34em;font-weight:600;color:#9aa3b5;margin-bottom:12px}
.p21-manews .matit::before{content:"NEWS & NOTICE"}
.p21-galzone .gal .tbox h2::before{content:"GALLERY"}
.p21-galzone .greet .tbox h2::before{content:"GREETINGS"}
.p21-introband .tit::before{content:"ABOUT US";margin-bottom:10px}
/* 5) 반응형 보정 */
@media(max-width:1279px){
  .p21-hero{height:480px}
  .p21-hero .slide{padding-left:40px;padding-bottom:60px}
  .p21-hero h2{font-size:46px}
  .p21-hero .t3{font-size:16px}
  .p21-hero .hctrl{padding-left:40px;bottom:20px}
}
@media(max-width:767px){
  .p21-hero{height:400px}
  .p21-hero .slide{padding-left:22px;padding-right:22px;padding-bottom:52px}
  .p21-hero h2{font-size:31px;letter-spacing:-.8px}
  .p21-hero .t1{font-size:11px;letter-spacing:.28em;margin-bottom:16px}
  .p21-hero .hctrl{padding-left:22px;bottom:16px}
}

/* ============================================================
   v4.2 탈(脫)컴포넌트 — 카드/칩/배지 문법을 클래식 편집 문법으로
   ============================================================ */
/* 섹션 제목: 컬러 바 박스 → 괘선 타이포그래피 */
#container:not(.p21-index) #ctt_con .p21-staff h3.stf-sec,.p21-staff h3.stf-sec{
  border-left:0;padding:0 2px 10px;border-bottom:1px solid #d8dde6;
  font-family:var(--serif);font-weight:700;color:var(--navy)}
.p21-doc .chap>h4{background:none;border-left:0;border-radius:0;padding:0 2px 12px;
  border-bottom:1px solid #d8dde6;font-family:var(--serif);font-size:19px;color:var(--navy)}
.p21-doc .chap>h4 em{background:none;color:var(--gold);border:0;border-radius:0;padding:0;
  font-size:14px;font-weight:700;letter-spacing:.02em}
/* 회장단: 카드 → 괘선 표 행 */
.stf-lead{display:block;border-top:2px solid var(--navy);margin-bottom:12px}
.stf-lead .card{display:flex;align-items:baseline;gap:18px;flex:none;
  background:none;border:0;border-bottom:1px solid #e2e6ed;border-radius:0;box-shadow:none;padding:16px 6px}
.stf-lead .card .role{flex:0 0 120px;color:var(--gold);font-size:13.5px;letter-spacing:.05em}
.stf-lead .card .name{margin-top:0;font-family:var(--serif);font-size:20px;font-weight:700}
.stf-lead .card .org{margin-left:auto;font-size:14.5px}
/* 명단 칩 → 텍스트 명단 패널 */
.stf-chips{display:block;border:1px solid #e2e6ed;border-radius:0;background:#fafbfd;padding:18px 22px;line-height:2.15}
.stf-chips .chip{display:inline;background:none;border:0;padding:0;font-size:15px;color:#2e3340}
.stf-chips .chip+.chip::before{content:"\B7";color:#b9c3d6;margin:0 11px;font-weight:700}
/* 통계 타일 → 괘선 팩트 밴드 */
.p21-statgrid{gap:0;border-top:1px solid #d8dde6;border-bottom:1px solid #d8dde6;margin:28px 0}
.p21-statgrid>div{background:none;border:0;border-radius:0;box-shadow:none;padding:24px 12px}
.p21-statgrid>div+div{border-left:1px solid #e7ebf2}
.p21-statgrid b{font-size:28px;color:var(--navy)}
.p21-statgrid span{color:#8a92a3}
/* STEP 카드 → 클래식 번호 목록 */
.p21-steps{display:block;margin:8px 0 4px}
.p21-steps>div{position:relative;background:none;border:0;border-radius:0;box-shadow:none;
  padding:16px 4px 16px 48px;border-bottom:1px solid #e7ebf2}
.p21-steps>div::before{content:counter(p21step);position:absolute;left:6px;top:14px;
  background:none;border:0;padding:0;color:var(--gold);font-family:var(--serif);font-size:25px;font-weight:700;letter-spacing:0}
.p21-steps b{margin:0 0 4px;font-size:16.5px}
.p21-steps p{font-size:14.5px;color:#565d6b}
/* 태그 필 → 텍스트 나열 */
.p21-tags{display:block;margin:10px 0 16px;line-height:2.05}
.p21-tags i{background:none;border:0;padding:0;border-radius:0;color:#2e3340;font-size:15.5px;font-weight:500}
.p21-tags i+i::before{content:"\B7";color:#b9c3d6;margin:0 12px;font-weight:700}
/* 예시 박스 → 인용 괘선 */
.p21-doc .ex{background:none;border:0;border-left:2px solid #c3cfe4;border-radius:0;padding:3px 2px 3px 16px;margin:9px 0}
/* 안내 노트 → 괘선 인용 */
.p21-doc .note{background:none;border:0;border-left:2px solid #a9bcdf;border-radius:0;padding:3px 2px 3px 16px;color:#55627e}
/* 버튼 절제 */
.p21-btnrow a{border-radius:4px;background:var(--navy);font-weight:500}
.p21-btnrow a:hover{background:#3a62b4}
.p21-btnrow a.line{background:none;border-color:#b4bdcc;color:#495064}
.p21-btnrow a.line:hover{background:#eff2f7;border-color:var(--navy);color:var(--navy)}

/* ================= v4.5 클라이언트 검수 반영 (2026-08) ================= */
/* 서브페이지 타이틀: 중앙 → 왼쪽 위, "상위메뉴 : 페이지명" 형식 */
.p21-subvis .p21-wrap{padding-top:34px;padding-bottom:36px}
#container_title{text-align:left;font-size:26px;font-weight:700}
#container_title span{display:inline;margin:0;line-height:1.4}
#container_title .bc-grp{font-weight:400;opacity:.85}
#container_title .bc-sep{font-weight:300;opacity:.55;margin:0 12px}
@media (max-width:900px){
  .p21-subvis .p21-wrap{padding-top:24px;padding-bottom:26px}
  #container_title{font-size:20px}
}

/* v4.5b: mega menu height 272 -> 320 (7 items in first column) */
#p21-head::before{height:320px}
.p21-gnb .sub{height:320px}

/* ---- v4.6 client update: horizontal logo lockup + hero copy ---- */
.p21-logo .lockup{height:54px;width:auto;display:block}
#p21-foot .flogo .lockup{height:44px;width:auto;display:block}
.p21-hero h2 .ld{display:block;font-size:24px;font-weight:500;letter-spacing:0;margin-bottom:14px;opacity:.94}
@media (max-width:900px){
  .p21-logo .lockup{height:40px}
  #p21-foot .flogo .lockup{height:36px}
  .p21-hero h2 .ld{font-size:16px;margin-bottom:8px}
}
