@charset "utf-8";

@font-face {font-style:normal; font-weight:100; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-Thin.woff2") format("woff2"), url("./fonts/Pretendard-Thin.woff") format("woff"), url("./fonts/Pretendard-Thin.otf") format("opentype");}
@font-face {font-style:normal; font-weight:200; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-ExtraLight.woff2") format("woff2"), url("./fonts/Pretendard-ExtraLight.woff") format("woff"), url("./fonts/Pretendard-ExtraLight.otf") format("opentype");}
@font-face {font-style:normal; font-weight:300; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-Light.woff2") format("woff2"), url("./fonts/Pretendard-Light.woff") format("woff"), url("./fonts/Pretendard-Light.otf") format("opentype");}
@font-face {font-style:normal; font-weight:400; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-Regular.woff2") format("woff2"), url("./fonts/Pretendard-Regular.woff") format("woff"), url("./fonts/Pretendard-Regular.otf") format("opentype");}
@font-face {font-style:normal; font-weight:500; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-Medium.woff2") format("woff2"), url("./fonts/Pretendard-Medium.woff") format("woff"), url("./fonts/Pretendard-Medium.otf") format("opentype");}
@font-face {font-style:normal; font-weight:600; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-SemiBold.woff2") format("woff2"), url("./fonts/Pretendard-SemiBold.woff") format("woff"), url("./fonts/Pretendard-SemiBold.otf") format("opentype");}
@font-face {font-style:normal; font-weight:700; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-Bold.woff2") format("woff2"), url("./fonts/Pretendard-Bold.woff") format("woff"), url("./fonts/Pretendard-Bold.otf") format("opentype");}
@font-face {font-style:normal; font-weight:800; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-ExtraBold.woff2") format("woff2"), url("./fonts/Pretendard-ExtraBold.woff") format("woff"), url("./fonts/Pretendard-ExtraBold.otf") format("opentype");}
@font-face {font-style:normal; font-weight:900; font-family:Pretendard; font-display:swap; src:url("./fonts/Pretendard-Black.woff2") format("woff2"), url("./fonts/Pretendard-Black.woff") format("woff"), url("./fonts/Pretendard-Black.otf") format("opentype");}
@font-face {font-style:normal; font-weight:300; font-family:GmarketSans; font-display:swap; src:url("./fonts/GmarketSansLight.otf") format("opentype");}
@font-face {font-style:normal; font-weight:500; font-family:GmarketSans; font-display:swap; src:url("./fonts/GmarketSansMedium.otf") format("opentype");}
@font-face {font-style:normal; font-weight:700; font-family:GmarketSans; font-display:swap; src:url("./fonts/GmarketSansBold.otf") format("opentype");}
*, *::before, *::after {
    box-sizing:border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font:inherit;
    font-size:100%;
    vertical-align:baseline;
    
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display:block;
}

/* ===== 공통 리셋 ===== */
body {
    line-height:1;
    font-family:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}
ol, ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote::before, blockquote::after,
q::before, q::after {
    content:"";
    content:none;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
a {
    color:inherit;
    text-decoration:none;
}
button {
    overflow:visible;
    padding:0;
    border:none;
    border-radius:0;
    background:inherit;
    box-shadow:none;
    cursor:pointer;
}
.sr-only {
    display:none;
}

/* ===== 공통 버튼 (btnWrap) ===== */
.btnWrap {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
}
.btnWrap a {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:4px;
    min-width:120px;
    height:56px;
    padding:0 20px;
    border-radius:12px;
    background:#293EAA;
    color:#FFF;
    font-weight:400;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
    text-align:center;

}
.btnWrap a:hover {
    background:#102283;
}
.btnWrap a.small {
    min-width:64px;
    height:40px;
    padding:0 12px;
    border-radius:8px;
    font-size:15px;
}
.btnWrap a.xs {
    min-width:unset;
    height:32px;
    padding:0 12px;
    border-radius:6px;
    font-size:15px;
}
.btnWrap a.md {
    min-width:90px;
    height:48px;
    padding:0 12px;
    border-radius:10px;
    font-size:17px;
}
.btnWrap a.lg {
    min-width:98px;
    height:64px;
    padding:0 24px;
    border-radius:12px;

}
.btnWrap a.black_line {
    border:1px solid #414141;
    background:#fff;
    color:#414141;
}
.btnWrap a.black_line:hover {
    background:#F4F5F6;
}
.btnWrap a.line {
    border:1px solid #293EAA;
    background:#fff;
    color:#293EAA;
}
.btnWrap a.line:hover {
    background:#EFF5FF;
}

/* ===== 怨듯넻 �븘�씠肄� (ico) ===== */
.ico {
    display:inline-block;
    width:16px;
    height:16px;
}
.ico.icon_gnbhome{
    width:16px;
    height:16px;
    background:url("../img/icon_gnbhome.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_outlink{
    width:20px;
    height:20px;
    background:url("../img/icon_outlink.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_arrow_blue {
    background:url("../img/btnRserve.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_findid {
    width:20px;
    height:20px;
    background:url("../img/icon_findid.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_inputalert {
    width:13px;
    height:13px;
    margin-top:-3px;
    background:url("../img/icon_inputalert.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_userhint {
    width:13px;
    min-width:13px;
    height:13px;
    margin-top:3px;
    background:url("../img/icon_userhint.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_checkcircle {
    width:13px;
    height:13px;
    margin-top:-3px;
    background:url("../img/icon_greencheck.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_eye {
    width:24px;
    height:24px;
    background:url("../img/icon_eye.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_naver {
    width:56px;
    height:56px;
    background:url("../img/icon_naver.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_kakao {
    width:56px;
    height:56px;
    background:url("../img/icon_kakao.png");
    background-repeat:no-repeat;
    background-position:center;

}
.ico.icon_phone {
    width:56px;
    height:56px;
    background:url("../img/icon_phone.png");
    background-repeat:no-repeat;
    background-position:center;
}
.ico.icon_btnprint {
    width:24px;
    height:24px;
    background:url("../img/icon_btnprint.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
}
.ico.icon_pagi_arrow {
    width:20px;
    height:20px;
    background:url("../img/icon_pagi_arrow.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.icon_inputsearch {
    width:28px;
    height:28px;
    background:url("../img/icon_inputsearch.png");
    
}
.ico.icon_btnarrow_right {
    width:20px;
    height:20px;
    background:url("../img/icon_arrow-right.png");
    background-repeat:no-repeat;
    background-size:cover;

}
.ico.icon_download {
    width:16px;
    height:16px;
    background:url("../img/icon_download.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.icon_download_dark {
    width:16px;
    height:16px;
    background:url("../img/icon_download_dark.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.icon_attachment {
    width:18px;
    height:18px;
    background:url("../img/icon_attachment.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.icon_boxcheck {
    width:17px;
    height:17px;
    background:url("../img/icon_boxcheck.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.icon_radio_check {
    width:17px;
    height:17px;
    background:url("../img/icon_radio_check.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.icon_breadcrumbhome {
    background:url("../img/icon_breadcrumbhome.png");
    background-repeat:no-repeat;
    background-size:cover;
}
.ico.reserve_tab_ico02 {
    width:40px;
    height:40px;
    background:url("../img/reserve_tab_ico02.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.reserve_tab_ico01 {
    width:40px;
    height:40px;
    background:url("../img/reserve_tab_ico01.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_convenience {
    width:30px;
    height:30px;
    background:url("../img/reserve_cont_icon01.png");
    background-repeat:no-repeat;
    background-position:center center;

}
.ico.icon_exhibit {
    width:30px;
    height:30px;
    background:url("../img/reserve_cont_icon02.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_leaflet {
    width:30px;
    height:30px;
    background:url("../img/reserve_cont_icon03.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_tel {
    width:16px;
    height:16px;
    background:url("../img/reserve_cont_tel.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_info {
    width:22px;
    height:26px;
    background:url("../img/reserve_cont_user.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_arrow_left {
    width:30px;
    height:30px;
    background:url("../img/reserve_cal_arrow.png") no-repeat center center;
    background-size:contain;
    transform:rotate(180deg);
}
.ico.icon_arrow_right {
    width:30px;
    height:30px;
    background:url("../img/reserve_cal_arrow.png") no-repeat center center;
    background-size:contain;

}
.ico.icon_circleinfo {
    width:20px;
    min-width:20px;
    height:20px;
    margin-top:0;
    background:url("../img/icon_info.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_eduInfo {
    width:30px;
    height:30px;
    background:url("../img/reserve_cont_icon04.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_eduProgram {
    width:30px;
    height:30px;
    background:url("../img/reserve_cont_icon05.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_reserveCheck {
    width:30px;
    height:30px;
    background:url("../img/reserve_cont_icon06.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_edu {
    width:28px;
    height:26px;
    background:url("../img/reserve_cont_edu.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_down {
    width:16px;
    height:16px;
    background:url("../img/icon_down.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_popclose {
    width:24px;
    height:24px;
    background:url("../img/icon_popclose.png");
    background-repeat:no-repeat;
    background-position:center center;
}
.ico.icon_file_del {
    width:24px;
    height:24px;
    background:url("../img/icon_file_del.png");
    background-repeat:no-repeat;
    background-position:center center;
}

/* ===== 怨듯넻 �젅�씠�븘�썐 (sub_wrap / breadcrumb) - �쟾泥� �럹�씠吏� 怨듭슜 ===== */
.sub_wrap {
    position:relative;
    padding:110px 0 120px;
    background-image:
        url("../img/wrap_bg_circle1.png"),
        url("../img/wrap_bg_circle2.png"),
        url("../img/wrap_bg_circle3.png");
    background-repeat:no-repeat, no-repeat, no-repeat;
    background-position:
        right 0 top 0,
        right 0 top 203px,
        left 80px bottom 40px;
    min-height: 1000px;
}
.breadcrumb_wrap ul {
    display:flex;
    align-items:center;
    gap:24px;
}
.breadcrumb_wrap ul li {
    display:flex;
    align-items:center;
    gap:4px;
    position:relative;
    color:#414141;
    font-weight:400;
    font-size:15px;
    line-height:150%;
    letter-spacing:-0.6px;
}
.breadcrumb_wrap ul li + li::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:-20px;
    width:16px;
    height:16px;
    background:url("../img/icon_breadcrumbarrow.png");
    background-repeat:no-repeat;
    transform:translateY(-50%);
}

/* ===== 怨듯넻 �뿤�뜑 (header.html) ===== */
.header {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:500;
    width:100%;
    border-bottom:1px solid #E1E1E1;
    background:#fff;
}
.headerToggle {
    display:none;
}
.headerInner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    max-width:1410px;
    height:90px;
    margin:0 auto;
    padding:0 15px;
}
.headerInner .btnWrap_text {font-size:17px; font-weight:700;}
.header_left {
    display: flex;
    align-items: center;
}
.header_left .logo img {
    max-width:100%;
    display:block;
    height:52px;
}
.header_left .slogon img {
    max-width:100%;
    display:block;
    height:48px;
}
.header_left .current {
    margin-left:20px;
    color: #102283;     
    font-size: 17px;
    font-weight: 700;
    line-height: 150%; /* 25.5px */
    letter-spacing: -0.68px;
    white-space:nowrap;
}
.header_right {
    display:flex;
    align-items:center;
    gap:200px;
}
.header_right_etc{
    display:flex;
    align-items: center;
    gap:24px;
}
.header_right_etc > a{
    color: #7C7C7C;
    font-size: 15px;
    font-weight: 400;
    line-height: 150%; /* 22.5px */
    letter-spacing: -0.6px;
}
.header_right .btnWrap .ico.icon_gnbhome {
    display:none;
}
.header_right_gnb > ul {
    display:flex;
    align-items:center;
    gap: 18px;

}
.header_right_gnb > ul > li {
    position:relative;
}
.header_right_gnb > ul > li > a {
    display:flex;
    align-items:center;
    gap:12px;
    height:90px;
    padding:0 16px;
    color:#222;
    font-weight:700;
    font-size:17px;
    letter-spacing:-0.68px;
    white-space:nowrap;
}
.header_right_gnb > ul > li > a::after {
    content:"";
    display:none;
}
.header_right_gnb > ul > li:has(> ul) > a::after {
    content:"";
    display:inline-block;
    width:14px;
    height:8px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M12.75 0.75L6.75 6.75L0.75 0.75' stroke='%23111111' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.header_right_gnb > ul > li > a:hover {
    color:#293EAA;
}
.header_right_gnb > ul > li > ul {
    display:none;
    position:absolute;
    top:100%;
    left:50%;
    min-width:150px;
    padding:0 12px;
    border:1px solid #E5E5E5;
    border-top:none;
    border-radius:0 0 12px 12px;
    background:#fff;
    transform:translateX(-50%);
    z-index:100;
}
.header_right_gnb > ul > li:hover > ul {
    display:block;
    
}
.header_right_gnb > ul > li > ul li a {
    display:block;
    padding:12px;
    color:#000;
    font-weight:400;
    font-size:16px;
    letter-spacing:-0.6px;
    text-align:center;
    white-space:nowrap;
}
.header_right_gnb > ul > li > ul li + li{
    border-top:1px solid #E5E5E5;
}
.header_right_gnb > ul > li > ul li a:hover {

    color:#293EAA;
    font-weight:700;
}

/* ===== 濡쒓렇�씤 (nibr_login.html) ===== */
.loginWrap {
    max-width:530px;
    margin:56px auto 0;
} 
.loginWrap .login_tit {
    color:#000;
    font-weight:700;
    font-size:42px;
    line-height:1.5;
    letter-spacing:-1.68px;
    text-align:center;
}
.loginWrap .login_bottom {
    margin-top:70px;
}
.loginWrap .loginForm_grid {
    display:flex;
    flex-direction:column;
    gap:24px;
}
.loginWrap .btnWrap {
    margin-top:60px;
}
.loginWrap .btnWrap a {
    width:100%;
}
.loginWrap .loginLinkBox {
    margin-top:12px;
}
.loginWrap .loginLinkBox ul {
    display:flex;
    align-items:center;
    gap:20px;
}
.loginWrap .loginLinkBox ul li a {
    color:#414141;
    font-weight:400;
    font-size:14px;
    line-height:150%; /* 21px */
    letter-spacing:-0.84px;
}
.loginWrap .loginLinkBox ul li:first-child {
    margin-right:auto;
}
.loginWrap .loginDivider {
    position:relative;
    margin-top:32px;
    text-align:center;
}
.loginWrap .loginDivider::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:0;
    z-index:-1;
    width:100%;
    height:1px;
    background:#E2E8F0;
    transform:translateY(-50%);
}
.loginWrap .loginDivider span {
    display:inline-block;
    position:relative;
    z-index:1;
    padding:0 12px;
    background:#fff;
    color:#888;
    font-weight:500;
    font-size:14px;
    letter-spacing:-0.84px;
}
.loginWrap .snsLoginBox {
    margin-top:32px;
}
.loginWrap .snsLoginBox ul {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;
}
.loginWrap .snsLoginBox ul li a {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    color:#414141;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}

/* ===== �넻�빀�삁�빟 硫붿씤 (reserve_main.html, reserve_main2.html) ===== */
.reserve_wrap {
    padding-top:90px;
    padding-bottom:120px;
}
.reserve_wrap p {
    margin:0;
}
.reserve_inner {
    max-width:1410px;
    margin:0 auto;
    padding:0 15px;
}
.reserve_top {
    padding:92px 0 50px;
    background:url("../img/reserv_top_bg.png");
    background-repeat:no-repeat;
    background-position:top -146px center;
    background-size:cover;
}
.reserve_top .reserve_inner {
    margin-top:60px;
}
.reserve_top .rv_t_tit {
    color:#000;
    font-weight:700;
    font-size:42px;
    line-height:1.5;
    letter-spacing:-1.68px;
    text-align:center;
    word-break: keep-all;
}
.noData {height:210px !important;}
.reserve_top .rv_t_desc {
    margin-top:12px;
    color:#60678E;
    font-weight:700;
    font-size:24px;
    line-height:1.5; /* 36px */
    letter-spacing:-0.96px;
    text-align:center;
}
.reserve_tabs {
    display:flex;
    gap:20px;
}
.reserve_tabs .reserve_tab {
    display:flex;
    flex:1;
    align-items:center;
    gap:24px;
    padding:28px 38px;
    border-radius:30px 12px 12px;
    background:#fff;
    cursor:pointer;
}
.reserve_tabs .reserve_tab.reserve_tab1 {
    border:1px solid #327DDE;
}
.reserve_tabs .reserve_tab.reserve_tab1 .reserve_ico {
    background:#E8F4FF;
}
.reserve_tabs .reserve_tab.reserve_tab2 {
    border:1px solid transparent;
    background-image:linear-gradient(#fff, #fff),
        linear-gradient(101deg, #0FA4C2, #327DDE);
    background-clip:padding-box, border-box;
    background-origin:border-box;
}
.reserve_tabs .reserve_tab.active {
    filter:drop-shadow(0 5px 30px rgba(28, 79, 124, 0.35)) drop-shadow(0 6px 20px rgba(48, 128, 222, 0.10));
}
.reserve_tabs .reserve_tab.reserve_tab2.active .reserve_ico {
    background:#fff;
}
.reserve_tabs .reserve_tab.reserve_tab1.active {
    position:relative;
    background: #327DDE;
}
.reserve_tabs .reserve_tab.reserve_tab1.active .reserve_ico.reserve_ico1 {
    background:#fff;
}
.reserve_tabs .reserve_tab.reserve_tab1.active::before {
    content:"";
    position:absolute;
    z-index:-1;
    border-radius:inherit;
    background:linear-gradient(98deg, #3469DD 17.08%, #2282DD 112.54%);
    inset:0;
}
.reserve_tabs .reserve_tab.reserve_tab1.active::after {
    content:"";
    display:block;
    position:absolute;
    bottom:-20px;
    left:50%;
    z-index:-2;
    width:24px;
    height:26px;
    background:url("../img/reserve_tab01_anchor.png");
    background-repeat:no-repeat;
    background-position:center center;
    transform:translateX(-50%);
}
.reserve_tabs .reserve_tab.reserve_tab2.active {
    position:relative;
    border-color:#0EA1C7;
}
.reserve_tabs .reserve_tab.reserve_tab2.active::after {
    content:"";
    display:block;
    position:absolute;
    bottom:-20px;
    left:50%;
    z-index:-2;
    width:24px;
    height:26px;
    background:url("../img/reserve_tab02_anchor.png");
    background-repeat:no-repeat;
    background-position:center center;
    transform:translateX(-50%);
}
.reserve_tabs .reserve_tab .reserve_tab_txt {
    color:#333;
}
.reserve_tabs .reserve_tab .reserve_tab_txt .rv_t_t_tit {
    font-weight:700;
    font-size:32px;
    line-height:150%; /* 48px */
    letter-spacing:-1.28px;
}
.reserve_tabs .reserve_tab .reserve_tab_txt .rv_t_t_desc {
    margin-top:4px;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.reserve_tabs .reserve_tab.active .reserve_tab_txt {
    color:#fff;
}
.reserve_tabs .reserve_tab.reserve_tab2.active::before {
    content:"";
    position:absolute;
    z-index:-1;
    border-radius:inherit;
    background:linear-gradient(101deg, #07A6B4 29.44%, #0094D7 146.9%);
    inset:0;
}
.reserve_tab:hover .reserve_tab_txt {
    color:#293EAA;
}
.reserve_tab .reserve_ico {
    display:flex;
    justify-content:center;
    align-items:center;
    width:80px;
    height:80px;
    border-radius:50px;
}
.reserve_tab .reserve_ico.reserve_ico1 {
    border:2px solid #E8F4FF;
    background:#FFF;
}
.reserve_tab .reserve_ico.reserve_ico2 {
    border:2px solid rgba(255, 255, 255, 0.20);
    background:#E7F9FB;
}
.reserve_info {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.info_headBox {
    display:flex;
    align-items:center;
    gap:12px;
}
.info_headBox .info_tit {
    display:flex;
    align-items:center;
    gap:8px;
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.info_headBox .info_tel {
    display:flex;
    align-items:center;
    gap:4px;
    padding:4px 12px;
    border-radius:30px;
    background:#F5F6F7;
    color:#333;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;

}
.info_listBox {
    margin-top:18px;
}
.info_listBox .info_list {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    row-gap:4px;
}
.info_listBox .info_list li {
    display:flex;
    align-items:flex-start;
    gap:4px;
}

.info_listBox .info_list li ul {
    margin-top:8px;
}
.info_listBox .info_list li .badge {
    border:1px solid #DADADA;
    color:#555;
    width:49px;
    white-space:nowrap;
}
.info_listBox .info_list .tit {
    color:#333;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
}
.info_listBox .info_list .txt {
    color:#555;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.info_listBox .info_list .txt.red {
    color:#E30510;
    font-weight:700;
}


.info_listBox .info_list .txt > ul li {
    gap:0;
}
.info_listBox .info_list .txt > ul li + li {
    margin-top:4px;
}

/* TODO(dev): .badge/.legendDot/.reserveDot�쓽 orange/indigo/teal/sky/gray�뒗 移댄뀒怨좊━ 怨좎젙媛믪씠 �븘�땲�씪
   �옱�궗�슜 媛��뒫�븳 5醫� 而щ윭 variant �겢�옒�뒪�엫(�깋�긽 hex�뒗 �꽭 �겢�옒�뒪 紐⑤몢 �룞�씪�븯寃� 留욎떠�몺).
   �떎�젣 �뼱�뼡 �깋�씠 �뼱�뼡 移댄뀒怨좊━瑜� �쓽誘명븯�뒗吏��뒗 �솕硫�/�꺆留덈떎 �떎瑜닿쾶 留ㅽ븨�릺誘�濡�(�삁: reserve_main2.html 李멸퀬)
   而щ윭 �겢�옒�뒪紐낆쓣 移댄뀒怨좊━紐낃낵 �룞�씪�떆�븯吏� 留� 寃� */
.badge {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    height:25px;
    margin-right:8px;
    padding:0 8px;
    border-radius:50px;
    color:#fff;
    font-weight:700;
    font-size:13px;
}
.badge.orange {
    background:#FF7A00;
}
.badge.indigo {
    background:#4C5FD5;
}
.badge.teal {
    background:#00A99D;
}
.badge.sky {
    background:#4FA8E8;
}
.badge.gray {
    background:#8C8C8C;
}
.info_left {
    flex:1;
}
.info_left .info_txt {
    margin-top:8px;
    color:#555;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.info_left .info_txt .txt_point {
    color:#293EA9;
}
.info_left .info_txt .btnNotice {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    height:32px;
    margin-left:12px;
    padding:0 12px;
    border:1px solid  #414141;
    border-radius:6px;
    color:#414141;
    font-weight:400;
    font-size:15px;
    letter-spacing:-0.6px;
}
.info_left .info_txt .btnNotice:hover {
    background:#F4F5F6;
}
.info_right .quickList {
    display:flex;
    gap:100px;
}
.info_right .quickList li {
    position:relative;
}
.info_right .quickList li a {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
}
.info_right .quickList li + li::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:-50px;
    width:1px;
    height:90px;
    background:url("../img/reserve_line.png");
    transform:translateY(-50%);
    
}
.info_right .quickList .quickIco {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:68px;
    height:68px;
    border-radius:60px;
    background:#F5F6F7;

}
.info_right .quickList .quickTxt {
    color:#555;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
    word-break: keep-all;
}
.info_right .quickList li a:hover .quickIco {
    background:#EFF5FF;
}
.info_right .quickList li a:hover .quickTxt {
    color:#293EA9;
}

/* ===== �삁�빟 罹섎┛�뜑 쨌 ���엫�뀒�씠釉� 쨌 �쟾�떆 �뒳�씪�씠�뱶 (exhibit_reserve.html, edu_reserve_personal.html, edu_reserve_group.html, special_reserve.html) ===== */
.reserve_bookingBox {
    margin-top:60px;
}
.bookingTop {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 34px;
    border:1px solid #C7D0EE;
    border-top-left-radius:8px;
    border-top-right-radius:8px;
    background:#F5F6FD;
}
.bookingTopL {
    display:flex;
    align-items:center;
    gap:20px;
}
.monthNav {
    display:flex;
    align-items:center;
    gap:12px;
    color:#111;
    font-style:normal;
    font-weight:700;
    font-size:32px;
    line-height:150%; /* 48px */
    letter-spacing:-1.28px;
}
.bookingTopR .viewTab {
    display:flex;
    align-items:center;
    border-radius:10px;
    background:#fff;
    
}
.bookingTopR .viewTab a {
    display:flex;
    justify-content:center;
    align-items:center;
    width:172px;
    height:48px;
    color:#666;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
    cursor:pointer;
}
.bookingTopR .viewTab a:hover {
    color:#293EAA;
}
.bookingTopR .viewTab a.active {
    border-radius:10px;
    background:linear-gradient(118deg, #293EAA 5.17%, #3556FF 101.85%), #FFF;
    box-shadow:6px 6px 10px 0 #DDE2FD;
    color:#fff;
}

.bookingTopR.eduTab .viewTab a:hover {
    color:#0FA4C2;
}

.bookingTopR.eduTab .viewTab a.active {
	border-radius:10px;
    background: linear-gradient(118deg, #0FA4C2 5.17%, #327DDE 101.85%), #FFF;
    box-shadow: 6px 6px 10px 0 #DDE2FD;
    color:#fff;
}

.exhibitCount {
    display:flex;
    align-items:baseline;
    gap:6px;
    color:#7C7C7C;
    font-weight:700;
    font-size:19px;
    letter-spacing:-0.76px;
}
.exhibitCount .num {
    color:#293EAA;
    font-weight:700;
    font-size:32px;
}
.exhibitCount .unit {
    color:#293EAA;
}
.bookingCont {
    display:none;
    position:relative;
    border-right:1px solid #C7D0EE;
    border-bottom:1px solid #C7D0EE;
    border-left:1px solid #C7D0EE;
    border-radius:0 0 15px 15px;
    background:#FFF;

}
.bookingCont.active {
    display:block;
}
.bookingCalBox {
    width:50%;
    padding:30px 34px;
    box-sizing:border-box;
}
.bookingCalBox .calGuide {
    display:flex;
    justify-content:space-between;
    align-items:center;
} 
.bookingCalBox .calGuide .calGuideTxt {
    color:#333;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.legendDot {
    display:inline-block;
    width:10px;
    height:10px;
    border-radius:3px;
    background:#0064DC;
}
.legendDot.blue {
    background:#0064DC;
}
.legendDot.purple {
    background:#7B4DE0;
}
.legendDot.orange {
    background:#FF7A00;
}
.legendDot.indigo {
    background:#4C5FD5;
}
.legendDot.teal {
    background:#00A99D;
}
.legendDot.sky {
    background:#4FA8E8;
}
.legendDot.gray {
    background:#8C8C8C;
}
.calLegend {
    display:flex;
    align-items:center;
    gap:20px;
    padding:7px 14px;
    border:1px solid #CDD7E6;
    border-radius:50px;
}
.calLegend .legendTxt {
    color:#555;
    font-weight:700;
    font-size:13px;
    line-height:150%; /* 19.5px */
    letter-spacing:-0.52px;
    text-align:center;
}
.calLegend .legendItemBox {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    position:relative;
}
.calLegend .legendItem {
    display:flex;
    align-items:center;
    gap:4px;
    position:relative;
    font-size:13px;
}
.calLegend .legendItemBox::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:-10px;
    width:1px;
    height:14px;
    background:#CDD7E6;
    transform:translateY(-50%);

}
.calGrid {
    width:100%;
    margin-top:20px;
}
.calGridHead,
.calGridBody {
    display:grid;
    gap:3px 16px;
    margin-top:12px;
    grid-template-columns:repeat(7, minmax(0, 1fr));
}
.calGridHead {
    border-radius:10px;
    background:#F5F6F7;
}
.calGridDay {
    padding:10px 16px;
    color:#555;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
    text-align:center;
}
.calGridCell .date {
    display:block;
}
.calGridDay.sat,
.calGridCell .date.sat {
    color:#0037C3;
}
.calGridDay.sun,
.calGridCell .date.sun {
    color:#E30510;
}
.empty:hover {
    border-color:transparent !important;
}
.calGridCell {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
    position:relative;
    height:98px;
    padding:8px 12px;
    border:1px solid transparent;
    border-radius:10px;
    text-align:left;
    box-sizing:border-box;
    gap: 4px;
}
.calGridCell:hover {
    border:1px solid #0064DC;
    border-radius:10px;
}
.calGridCell.today {
    background:#EFF5FF;
}
.calGridCell .reserveDotBox {
    display:flex;
    flex-wrap:wrap;
    gap:2px;
    margin-top:4px;
}
.calGridCell .reserveDot {
    display: inline-flex;
    padding:2px 7px;
    border-radius:12px;
    background:#0064DC;
    color:#fff;
    line-height:1;
    font-size:13px;
}
.calGridCell .reserveDot.blue {
    background:#0064DC;
}
.calGridCell .reserveDot.purple {
    background:#8529AA;
}
.calGridCell .reserveDot.orange {
    background:#FF7A00;
}
.calGridCell .reserveDot.indigo {
    background:#4C5FD5;
}
.calGridCell .reserveDot.teal {
    background:#00A99D;
}
.calGridCell .reserveDot.sky {
    background:#4FA8E8;
}
.calGridCell .reserveDot.gray {
    background:#8C8C8C;
}
.calGridCell .dateTooltip {
    display:none;
    position:absolute;
    top:-70px;
    left:50%;
    z-index:10;
    width:max-content;
    padding:8px 12px;
    border-radius:8px;
    background:#414141;
    color:#fff;
    font-size:13px;
    transform:translateX(-50%);
    line-height:150%;
}
.calGridCell .dateTooltip::after {
    content:"";
    display:block;
    position:absolute;
    bottom:-12px;
    left:50%;
    width:13px;
    height:15px;
    background:url("../img/reserve_tooltip_anchor.png");
    background-repeat:no-repeat;
    background-size:cover;
    transform:translateX(-50%);
}
.calGridCell .dateTooltip .tooltipTxt {
    font-weight:700;
}
.calGridCell.hasReserve:hover .dateTooltip {
    display:block;
}
.calGridCell .dateNotice {
    white-space:nowrap;
}
.bookingTimeBox {
    display:flex;
    flex-direction:column;
    position:absolute;
    top:0;
    right:0;
    width:50%;
    height:100%;
    padding:24px 4px 24px 34px;
    background:url("../img/bookingTimeBox_bg.png") no-repeat center / cover #3964D9;
    box-sizing:border-box;
}
.bookingTimeBox.green {
    background:url("../img/bookingTimeBox_bg.png") no-repeat center / cover #0C9CC2;
}
.bookingTimeBox .selectedDateTit {
    color:#fff;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.timeList_scroll {
    flex:1;
    min-height:0;
    overflow-y:auto;
    margin-top:8px;
    margin-right:15px;
    padding-right:15px;
}
.timeList_scroll::-webkit-scrollbar {
    width:6px;
}
.timeList_scroll::-webkit-scrollbar-track {
    border-radius:6.5px;
    background:#6183E1;
}
.timeList_scroll::-webkit-scrollbar-thumb {
    border-radius:6.5px;
    background:#FFF;
}
.bookingTimeBox.green .timeList_scroll::-webkit-scrollbar-track {
    background:#3DB0CE;
}
.timeList li {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    padding:19px 28px;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}
.timeList li + li {
    margin-top:18px;
}
.timeList .btnReserve {
    display:flex;
    align-items:center;
    gap:2px;
    padding:4px 14px;
    border:1px solid#293EAA;
    border-radius:8px;
    color:#293EAA;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.timeList li:hover .btnReserve {
    background:#EFF5FF;
}
.timeList .btnReserve .btnRserve_wrap {
    display:flex;
    justify-content:center;
    align-items:center;
    width:16px;
    height:16px;
    background:url("../img/btnRserve.png") no-repeat center / contain;
}
.timeList li.soldout .btnReserve .btnRserve_wrap {
    background-image:url("../img/btnRserve_dis.png");
}
.timeList .timeInfo {
    display:flex;
    align-items:center;
    gap:12px;
}
.timeList .timeInfo:has(.timeDuration) {
    gap:4px;
}
.timeOrder {
    display:flex;
    justify-content:center;
    align-items:center;
    padding:4px 10px;
    border:1px solid #95B6F8;
    border-radius:21px;
    color:#0064DC;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    line-height:1;
    letter-spacing:-0.6px;

}
.timeOrder.blue {
    border-color:#95B6F8;
    color:#0064DC;
}
.timeOrder.purple {
    border-color:#8529AA;
    color:#8529AA;
}
.timeList .timeInfo .timeRange {
    color:#333;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.timeList .timeInfo .timeDuration {
    color:#414141;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.timeList .timeAction {
    display:flex;
    align-items:center;
    gap:16px;
}
.timeList .timeAction .timeLeft {
    color:#979797;
    font-weight:400;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-1.14px;
}
.timeList .timeAction .timeLeft .num {
    margin-right:2px;
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.timeList li.soldout {
    background:#E1E1E1;
}
.timeList li.soldout .timeAction .timeLeft {
    color:#333;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.timeList li.soldout .btnReserve {
    border:1px solid #C8C8C8;
    background:#C8C8C8;
    color:#666;
}
.programList .programItem + .programItem {
    margin-top:28px;
}
.programItem_head {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}
.programItem_img {
    flex-shrink:0;
    overflow:hidden;
    width:56px;
    height:56px;
    border-radius:8px;
    background:#fff;
}
.programItem_img img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.programItem_period {
    color:#C7D4FF;
    font-weight:400;
    font-size:13px;
}
.programItem_tit {
    margin-top:2px;
    color:#fff;
    font-weight:700;
    font-size:17px;
    letter-spacing:-0.68px;
}
.reserve_expo {
    margin-top:80px;
}
.expoHead {
    display:flex;
    align-items:center;
    gap:16px;

}
.expoHead .expoTit {
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.96px;
}
.expoHead .expoDesc {
    color:#555;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.expoSlideWrap {
    position:relative;
    margin-top:18px;
}
.reserve_expo .expoSlide {
    overflow:hidden;
    position:relative;
}
.expoNavBtn {
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:50%;
    z-index:2;
    width:40px;
    height:40px;
    border-radius:50%;
    background:#fff;
    cursor:pointer;
    transform:translateY(-50%);
}
.expoNavBtn.prev {
    left:-56px;
}
.expoNavBtn.next {
    right:-56px;
}
.expoNavBtn:hover {
    border-color:#293EAA;
}
.expoNavBtn.swiper-button-disabled {
    opacity:0.4;
    cursor:default;
}
.expoItem {
    height:auto;
}
.expoItem > a {
    display:flex;
    align-items:stretch;
    overflow:hidden;
    height:100%;
    background:#fff;
  
}
.expoItem:hover > a {
    border-color:#293EAA;
}
.expoItem.active > a {
    border-color:#293EAA;
}
.expoItem_img {
    flex-shrink:0;
    align-self:flex-start;
    border-radius:4px;
    width: 132px;
    aspect-ratio: 167 / 243;
    height: auto;
}
.expoItem_img img {
    display:block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#contentEdu .expoItem_img {
    flex-shrink:0;
    border-radius:4px;
    width: 220px;
	aspect-ratio: 272 / 153;
	height: auto;

}   
.expoItem_txt {
    display:flex;
    flex:1;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:0 20px;
}
.expoItem_badge {
    color:#0064DC;
    font-style:normal;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.expoItem_badge.type02 {
    color:#8529AA;
}
.expoItem_tit {
    margin-top:8px !important;
    color:#111;
    font-style:normal;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.expoItem_info {
    display:flex;
    flex-direction:column;
    margin-top:12px;
    color:#666;
}
.expoItem_info li {
    position:relative;
    padding-left:10px;
    color:#666;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.expoItem_info li::before {
    content:"·";
    position:absolute;
    top:-1px;
    left:0;
}
.timeGroupList {
    display:flex;
    flex-direction:column;
    gap:18px;
}
.timeGroupList .timeGroup {
    padding:12px;
    border-radius:10px;
    background:#fff;
}
.timeGroupList .timeGroup .timeGroupHead {
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype {
    gap:12px;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype .txtBox {
    display:flex;
    flex-direction:column;
    gap:4px;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype .txtBox .badge {
    display:block;
    height:unset;
    padding:0;
    border:none;
    background:none;
    font-style:normal;
    font-weight:700;
    font-size:15px;
    line-height:150%;
    letter-spacing:-0.6px;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype .txtBox .badge.orange {
    color:#EA6E01;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype .txtBox .badge.indigo {
    color:#536EFA;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype .txtBox .badge.gray {
    color:#838690;
}
.timeGroupList .timeGroup .timeGroupHead.imgtype .txtBox .badge.blue {
    color:#0064DC;
}
.timeGroupList .timeGroup .timeGroupHead .roomName {
    color:#333;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.timeGroupList .timeGroup .timeSlotList {
    border-top:1px solid #E5E5E5;
}
.timeGroupList .timeGroup .timeList li {
    padding:0 12px;
    background:none;
}
.timeGroupList .timeGroup .timeList li + li {
    margin-top:12px;
}
.timeGroupList .timeGroup .timeList {
    padding-top:16px;
    border-top:1px solid #E5E5E5;
}
.timeGroupList .timeGroup.soldout {
    background:#E1E1E1;
}
.timeGroupList .timeGroup.soldout .timeList {
    border-top:1px solid rgba(0, 0, 0, 0.10);
}
.timeGroupList .timeGroup.soldout .btnReserve {
    border:1px solid #C8C8C8;
    background:#C8C8C8;
    color:#666;
}
.timeGroupList .timeGroup.soldout .btnReserve .btnRserve_wrap {
    background-image:url("../img/btnRserve_dis.png");
}
.timeGroupList .timeGroup.soldout .timeAction .timeLeft {
    color:#333;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}

/* ===== ipWrap / ipGroup 怨듯넻 �엯�젰 �뤌 而댄룷�꼳�듃 (�쟾泥� �뤌 �럹�씠吏� 怨듭슜) ===== */

/* wvCommon.css�쓽 input/select �깭洹� �꽑�깮�옄(margin, vertical-align, display �벑) 珥덇린�솕 */
.ipWrap input,
.ipWrap select,
.ipWrap textarea {
    display:block;
    margin:0;
    outline:none;
}
.required {
    color:#F00;
}
.ipWrap.textarea textarea {
    width:100%;
    min-height:85px;
    max-height:300px;
    padding:8px 12px;
    border:1px solid #B7B7B7;
    border-radius:4px;
    background:#FFF;
    color:#414141;
    font-size:15px;
    line-height:1.5;
    resize:none;
}
.ipWrap.textarea label + textarea {
    margin-top:8px;
}
.ipWrap.textarea textarea::placeholder {
    color:#9A9A9A;
    font-weight:400;
    letter-spacing:-0.6px;
}
.ipWrap.textarea textarea:read-only {
    border:1px solid #B7B7B7;
    outline:none;
    background:#E1E1E1;
    color:#1F1F1F;
    font-weight:400;


    
}
.ipWrap.textarea textarea:focus {
    outline-color:#005baa;
}
.ipWrap.radio .radio_row {
    display:flex;
    align-items:center;
    gap:8px;
}
.ipWrap.radio input[type="radio"] {
    flex-shrink:0;
    width:18px;
    height:18px;
    margin:0;
    border:0;
    background:url("../img/radio_off.png") no-repeat center;
    background-size:contain;
    cursor:pointer;
    appearance:none;
}
.ipWrap.radio input[type="radio"]:checked {
    background-image:url("../img/radio_on.png");
}
.ipWrap.radio input[type="radio"]:disabled {
    background-image:url("../img/radio_off_dis.png");
    cursor:not-allowed;
}
.ipWrap.radio input[type="radio"]:checked:disabled {
    background-image:url("../img/radio_on_dis.png");
}
.ipWrap.radio label {
    color:#1F1F1F;
    font-weight:400;
    font-size:17px;
    cursor:pointer;
}
.ipWrap.radio .radio_desc {
    display:block;
    margin-top:4px;
    margin-left:28px;
    font-weight:400;
    font-size:13px;
}
.ipWrap.radio.is-disabled label {
    color:var(--color-disabled);
    cursor:not-allowed;
}
.ipWrap.radio.is-disabled .radio_desc {
    color:var(--color-border);
}
.ipWrap.checkbox .checkbox_row {
    display:flex;
    align-items:flex-start;
    gap:10px;
}
.ipWrap.checkbox input[type="checkbox"] {
    flex-shrink:0;
    width:20px;
    height:20px;
    margin:0;
    margin-top:2px;
    border:0;
    background:url("../img/checkbox_off.png") no-repeat center;
    background-size:contain;
    cursor:pointer;
    appearance:none;
}
.ipWrap.checkbox input[type="checkbox"]:checked {
    background-image:url("../img/checkbox_on.png");
}
.ipWrap.checkbox input[type="checkbox"]:disabled {
    background-image:url("../img/checkbox_off_dis.png");
    cursor:not-allowed;
}
.ipWrap.checkbox input[type="checkbox"]:checked:disabled {
    background-image:url("../img/checkbox_on_dis.png");
}
.ipWrap.checkbox label {
    color:#555;
    font-weight:400;
    font-size:17px;
    cursor:pointer;
}
.ipWrap.checkbox label .noti_txt {
    display:block;
    margin-top:4px;
    color:#666;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.ipWrap.checkbox .checkbox_desc {
    display:block;
    margin-top:4px;
    margin-left:30px;
    color:var(--color-text-light);
    font-weight:400;
    font-size:13px;
}
.ipWrap.checkbox.is-disabled label {
    color:var(--color-disabled);
    cursor:not-allowed;
}
.ipWrap.checkbox.is-disabled .checkbox_desc {
    color:var(--color-border);
}
.ipWrap .label_hint {
    color:#de3412;
    font-weight:400;
    font-size:15px;
    line-height:1.5;
    letter-spacing:-0.6px;
}
.ipWrap select {
    min-width:250px;
    height:40px;
    padding:0 12px;
    border:1px solid #c8c8c8;
    border-radius:8px;
    background:url("../img/sel_arrow.png") no-repeat right 12px center;
    color:#666;
    font-weight:400;
    font-size:15px;
    line-height:1;
    letter-spacing:-1.08px;
    appearance:none;
}
.ipWrap select:disabled {
    background-color:#d9d9d9;
}
.ipWrap.select {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ipWrap.select.line select {
    min-width:0;
    height:50px;
    padding:10px 12px;
    border:none;
    border-bottom:1px solid #000;
    border-radius:0;
    font-size:17px;
}
.ipWrap.text {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ipWrap.text.pwBox .pwBox_field {
    position:relative;
}
.ipWrap.text.pwBox .pwBox_field input {
    width:100%;
}
.ipWrap.text.pwBox input[type="password"],
.ipWrap.text.pwBox input[type="text"] {
    padding-right:44px;
}
.ipWrap.text.pwBox .btnPwToggle {
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:50%;
    right:12px;
    padding:0;
    border:none;
    background:none;
    cursor:pointer;
    transform:translateY(-50%);
}
.ipWrap_hint {
    display:flex;
    align-items:flex-start;
    gap:4px;
    color:#1f1f1f;
    font-weight:400;
    font-size:14px;
    line-height:150%; /* 19.5px */
    letter-spacing:-0.52px;
}
.ipWrap label {
    color:#1f1f1f;
    font-weight:400;
    font-size:15px;
    line-height:1.5;
    letter-spacing:-0.6px;
}
.ipWrap.text input[type="text"], .ipWrap.text input[type="password"] {
    min-height:40px;
    margin:0;
    padding:2px 12px 0;
    border:1px solid  #b7b7b7;
    border-radius:6px;
    background:#fff;
    color:#1f1f1f;
    font-weight:400;
    font-size:15px;
    letter-spacing:-1.02px;
}
.ipWrap.text input[type="text"]::placeholder, .ipWrap.text input[type="password"]::placeholder {
    color:#9a9a9a;
}
.ipWrap.text input[type="text"]:read-only, .ipWrap.text input[type="password"]:read-only {
    border:1px solid #f4f5f6;
    outline:none;
    background:#f4f5f6;
}
.ipWrap.text input[type="text"].datepicker {
    background:url("../img/icon_date.png") no-repeat right 12px center;
}
.ipWrap.text input[type="text"].datepicker:read-only {
    border:1px solid  #b7b7b7;
    pointer-events:unset;
}
.ipWrap.text input[type="text"]:disabled, .ipWrap.text input[type="password"]:disabled {
    border:1px solid #b7b7b7;
    background:#d9d9d9;
    pointer-events:none;
}
.ipWrap.text.line input[type="text"], .ipWrap.text.line input[type="password"] {
    height:50px;
    padding:10px 12px;
    border:none;
    border-bottom:1px solid #000;
    border-radius:0;
}
.ipWrap.text.xl input[type="text"], .ipWrap.text.xl input[type="password"] {
    height:56px;
    padding:0 24px;
    border-radius:12px;
    font-size:19px;
}
.ipWrap.text.lg input[type="text"], .ipWrap.text.lg input[type="password"] {
    height:48px;
    padding:0 12px;
    border-radius:8px;
    font-size:17px;
}
.ipWrap .ip_row {
    display:flex;
    align-items:center;
    gap:8px;
}
.ipWrap .ip_alert {
    display:flex;
    align-items:center;
    gap:4px;
    color:#1f1f1f;
    font-weight:400;
    font-size:14px;
    line-height:1.5;
    letter-spacing:-0.52px;
    padding-top:8px;
}
.ipWrap .ip_alert.hint {
    align-items:flex-start;
}
.ipWrap.is-alert input[type="text"],
.ipWrap.is-alert select {
    border:2px solid #005baa !important;
}
.ipWrap.is-alert .ip_alert {
    color:#005baa;
}
.ipWrap.is-success .ip_alert {
    color:#00A878;
}
.ipWrap.is-error input[type="text"],
.ipWrap.is-error input[type="password"],
.ipWrap.is-error select {
    border:2px solid #E02020 !important;
}
.ipWrap.is-error .ip_alert {
    color:#E02020;
}
.ipWrap .ip_alert.error {
    color:#E02020;
}
.ipWrap .ip_alert.success {
    color:#267337;
}
.ipWrap.file {
    display:flex;
    flex-direction:column;
    gap:6px;
}
.ipWrap.file input[type="file"] {
    width:100%;
    min-height:40px;
    padding:0;
    border:none;
    border-radius:0;
    outline:none;
    background:none;
    color:#464C53;
    font-weight:400;
    font-size:17px;
    letter-spacing:-1.02px;
    cursor:pointer;
    appearance:none;
}
.ipWrap.file input[type="file"]::file-selector-button,
.ipWrap.file input[type="file"]::-webkit-file-upload-button {
    height:32px;
    margin-right:8px;
    padding:0 12px;
    border:1px solid #414141;
    border-radius:4px;
    background:#fff;
    color:#414141;
    font-weight:400;
    font-size:15px;
    letter-spacing:-0.6px;
    cursor:pointer;
    appearance:none;
}
.ipGroup {
    display:flex;
    gap:6px;
    width:100%;
}
.ipGroup .ipWrap {
    flex:1;
}
.ipGroup .ip_divider {
    display:flex;
    align-items:center;
    color:#1f1f1f;
    font-size:15px;
}
.ipGroup .ipWrap input,
.ipGroup .ipWrap select {
    width:100%;
    min-width:0;
    
}

/* ===== 怨듯넻 �뙘�뾽 (popupsample.html) ===== */
.popupDim {
    display:none;
    justify-content:center;
    align-items:center;
    position:fixed;
    z-index:1000;
    background:rgba(0,0,0,0.5);
    inset:0;

    
}
.popupDim.open {
    display:flex;
}
.popupLayer {
    display:flex;
    flex-direction:column;
    position:absolute;
    top:50%;
    left:50%;
    width:100%;
    max-width:520px;
    border:1px solid #E5E5E5;
    border-radius:8px;
    background:#FFF;
    box-shadow:0 18px 48px -12px rgba(0, 0, 0, 0.10);
    transform:translate(-50%, -50%);
}
.popupHead {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    padding:16px 30px;
    border-top-left-radius:8px;
    border-top-right-radius:8px;
    background:#EFF5FF;
}
.popupHead .popupTit {
    color:#293EAA;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;

}
.popupHead .btnPopupClose {
    width:24px;
    height:24px;
}
.popupCont {
    flex:1;
    padding:30px 30px 24px;
}
.popupCont .popupTxt {
    color:#333;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.popupFoot {
    display:flex;
    justify-content:flex-end;
    padding:0 30px 30px;
}
.loadingSpinner {
    display:flex;
    animation:loadingSpin 1s linear infinite;
}
@keyframes loadingSpin {
    from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}


/* ===== �삁�빟 �떊泥�/議고쉶 怨듯넻 �뤌 (exhibit_reserve.html, edu_reserve_personal.html, edu_reserve_group.html, mypage_reserve_*.html) ===== */
.reserveForm {
    margin-top:40px;
}
.reserveForm + .btnWrap {
    margin-top:40px;
}
.reserveForm .reserveForm_tit {
    color:#333;
    font-weight:700;
    font-size:32px;
    line-height:150%;
    letter-spacing:-1.28px;
}
.reserveForm_head {
    padding-bottom:30px;
    border-bottom:1px solid #E1E1E1;
}
.reserveForm_head.noLine {
    border-bottom:0;
}
.reserveForm_head.spaceBetween {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.reserveForm_rowList {
    padding:36px 0;
    border-bottom:1px solid #1F1F1F;
}
.reserveForm_rowList + .reserveForm_section {
    margin-top:40px;
}
.reserveForm_row {
    display:flex;
    align-items:center;
    gap:20px;
}
.reserveForm_row + .reserveForm_row {
    margin-top:20px;
}
.reserveForm_row .reserveForm_label {
    min-width:100px;
    color:#333;
    font-weight:400;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-1.14px;
}
.reserveForm_row .reserveForm_value {
    color:#333;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.reserveForm_row .reserveForm_num {
    color:#979797;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.reserveForm_row .reserveForm_num span {
    color:#293EAA;
    font-weight:700;
    font-size:19px;
}
.reserveForm_section_wrap {
    display:none;
    margin-top:40px;
}
.reserveForm_section_wrap.active {
    display:block;
}
.tabSwitch ~ .reserveForm_section_wrap {
    margin-top:50px;
}
.reserveForm_section .reserveForm_sectionTit {
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.reserveForm_section .reserveForm_desc {
    margin-top:18px;
}
.reserveForm_section + .reserveForm_section {
    margin-top:36px;
}
.reserveForm_section .tableWrap {
    margin-top:18px;
}
.reserveForm_type {
    padding:30px;
    border:1px solid #E1E1E1;
    border-radius:8px;
    background:#F7FAFF;
    color:#1F1F1F;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.reserveForm_type .ipWrap {
    margin-top:18px;
}
.reserveForm_type .ipWrap label {
    display:block;
    color:#1F1F1F;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
}
.typeToggle {
    display:inline-flex;
    align-items:center;
    margin-top:12px;
    border:1px solid #D2D2D2;
    border-radius:12px;
    background:#fff;

}
.typeToggle .typeToggleBtn {
    display:flex;
    justify-content:center;
    align-items:center;
    width:170px;
    height:48px;
    color:#666;
    font-weight:700;
    letter-spacing:-0.76px;
    cursor:pointer;
}
.typeToggle .typeToggleBtn .ico.icon_boxcheck {
    display:none;
}
.typeToggle .typeToggleBtn.active {
    gap:10px;
    border-radius:10px;
    background:linear-gradient(118deg, #293EAA 5.17%, #3556FF 101.85%), #FFF;
    box-shadow:6px 6px 10px 0 #DDE2FD;
    color:#fff;
}
.typeToggle .typeToggleBtn.active .ico.icon_boxcheck {
    display:block;
}
.tabSwitch {
    display:flex;
    overflow:hidden;
    width:100%;
    padding:4px;
    border-radius:12px;
    background:#EFF5FF;
}
.tabSwitch .typeToggleBtn {
    display:flex;
    flex:1;
    justify-content:center;
    align-items:center;
    height:56px;
    border-radius:10px;
    color:#666;
    font-weight:700;
    font-size:19px;
    letter-spacing:-0.76px;
    cursor:pointer;
}
.tabSwitch .typeToggleBtn.active {
    background:#102283;
    color:#fff;
}
.reserveForm_sectionHead {
    display:flex;
    align-items:center;
    gap:16px;
}
.reserveForm_sectionHead.spaceBetween {
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
}
.reserveForm_sectionHead .reserveForm_sectionTit {
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.reserveForm_sectionHead .reserveForm_sectionDesc {
    display:flex;
    align-items:flex-start;
    gap:1px;
    color:#1F1F1F;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.reserveForm_sectionHead.spaceBetween .reserveForm_sectionDesc {
    align-items:center;
    gap:8px;
}
.reserveForm_sectionHead.spaceBetween .reserveForm_num {
    color:#293EAA;
    font-weight:700;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-0.76px;
}
.reserveInfoBox {
    display:flex;
    margin-top:18px;
    padding:30px;
    border-radius:8px;
    background:#F4F5F6;
}
.reserveInfoBox .reserveInfoBox_item {
    display:flex;
    align-items:center;
    gap:20px;
    width:50%;
}  
.reserveInfoBox .reserveInfoBox_item .reserveInfoBox_label {
    min-width:100px;
    color:#333;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.reserveInfoBox .reserveInfoBox_item .reserveInfoBox_value {
    color:#333;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
}
.reserveForm_requiredNote {
    margin-top:24px;
    color:#F00;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.reserveForm_grid {
    display:flex;
    flex-direction:column;
    gap:24px;
    margin-top:18px;
    padding:30px;
    border:1px solid  #E1E1E1;
    border-radius:8px;

}
.reserveForm_grid #tab2_expWrap {
    display:flex;
    flex-direction:column;
    gap:24px;
}
.reserveForm_subBlock {
    min-width:0;
}
.reserveForm_grid .ipWrap.border-bline {
    padding-bottom:24px;
    border-bottom:1px solid #E1E1E1;
}
.qnaList {
    display:flex;
    flex-direction:column;
    gap:24px;
}
.qnaItem {
    display:flex;
    align-items:flex-start;
    gap:8px;
}
.qnaItem_num {
    flex-shrink:0;
    color:#333;
    font-weight:700;
    font-size:17px;
}
.qnaItem_content {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:12px;
    min-width:0;
}
.qnaItem_options {
    display:flex;
    align-items:center;
    gap:30px;
}
.reserveForm_gridRow {
    display:grid;
    gap:36px;
    grid-template-columns:repeat(2, 1fr);
}
.design_radio {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.design_radio .reserveTimeList {
    display:grid;
    gap:18px;
    grid-template-columns:repeat(4, 260px);
}
.design_radio .reserveTimeItem {
    display:block;
    position:relative;
    width:260px;
    padding:12px 16px;
    border:1px solid #D2D2D2;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
}
.design_radio .reserveTimeItem input[type="radio"] {
    overflow:hidden;
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    border:0;
    white-space:nowrap;
    clip-path:inset(50%);
}
.design_radio .reserveTimeItem_head {
    display:flex;
    align-items:center;
    gap:8px;
}
.design_radio .reserveTimeItem_order {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    height:24px;
    padding:0 8px;
    border-radius:18px;
    font-weight:700;
    font-size:13px;
}
.design_radio .reserveTimeItem_order.purple {
    border:1px solid #8529AA;
    color:#8529AA;
}
.design_radio .reserveTimeItem_order.blue {
    border:1px solid #0064DC;
    color:#0064DC;
}
.design_radio .reserveTimeItem_time {
    color:#1F1F1F;
    font-weight:700;
    font-size:17px;
    letter-spacing:-0.76px;
}
.design_radio .reserveTimeItem_head .ico.icon_radio_check {
    display:none;
    margin-left:auto;
}
.design_radio .reserveTimeItem_count {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:4px;
    color:#979797;
    font-weight:400;
    font-size:17px;
    line-height:150%;
    letter-spacing:-1.02px;
}
.design_radio .reserveTimeItem_count span {
    color:#333;
    font-weight:700;
    font-size:19px;
}
.design_radio .reserveTimeItem input[type="radio"]:checked ~ .reserveTimeItem_head .ico.icon_radio_check {
    display:inline-block;
}
.design_radio .reserveTimeItem:has(input[type="radio"]:checked) {
    border-color:#3556FF;
    background:#F7FAFF;
}
.design_radio .reserveTimeItem:has(input[type="radio"]:disabled) {
    background:#F4F5F6;
    cursor:not-allowed;
}
.design_radio .reserveTimeItem:has(input[type="radio"]:disabled) .reserveTimeItem_time {
    color:#B7B7B7;
}
.design_radio .reserveTimeItem:has(input[type="radio"]:disabled) .reserveTimeItem_count {
    color:#666;
    font-weight:700;
}
.reserveForm_etcGuide {
    display:flex;
    align-items:center;
    gap:4px;
    color:#1F1F1F;
    font-weight:400;
    font-size:13px;
    line-height:150%; /* 19.5px */
    letter-spacing:-0.52px;
}

/* ===== �쉶�썝媛��엯 - �빟愿��룞�쓽 (nibr_join_terms.html) ===== */
.termsBox {
    padding:24px 30px;
    border-radius:8px;
    background:#F4F5F6;
}
.termsBox .termsBox_tit {
    color:#333;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
}
.termsBox .termsBox_list {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}
.termsBox_desc {
    font-size:15px;
}

/* ===== �쉶�썝媛��엯 - �젙蹂댁엯�젰/媛꾪렪�씤利� (nibr_join_info.html, nibr_join_phone.html, nibr_join_easyauth.html) ===== */
.joinSection_tit {
    color:#293EAA;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.joinSection_desc {
    margin-top:8px;
    color:#666;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.joinSection_note {
    margin-top:24px;
    color:#414141;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 22.5px */
    letter-spacing:-1.02px;
}
.joinSection .contentForm_grid {
    gap:18px;
    margin-top:12px;
}
.easyAuthList {
    display:flex;
    gap:16px;
    margin-top:32px;
}
.easyAuthItem {
    display:flex;
    flex:1;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:12px;
    position:relative;
    padding:24px 16px;
    border:1px solid #D2D2D2;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}
.easyAuthItem input[type="checkbox"] {
    overflow:hidden;
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    border:0;
    white-space:nowrap;
    clip-path:inset(50%);
}
.easyAuthItem_txt {
    color:#121212;
    font-weight:700;
    font-size:17px;
}
.easyAuthItem .ico.icon_radio_check {
    display:none;
    position:absolute;
    top:12px;
    right:12px;
}
.easyAuthItem input[type="checkbox"]:checked ~ .ico.icon_radio_check {
    display:inline-block;
}
.easyAuthItem:has(input[type="checkbox"]:checked) {
    border-color:#3556FF;
    background:#FAFCFF;
}
.joinTerms_all {
    margin-top:16px;
    padding:12px 16px;
    border-radius:8px;
    background:#EFF5FF;
}
.joinTerms_all label {
    color:#333 !important;
    font-weight:700 !important;

}
.joinTerms_list {
    margin-top:12px;
}
.joinTerms_list .joinTerms_item {
    padding:12px 16px;
    border-bottom:1px solid #F4F5F6;
}
.joinTerms_row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
.joinTerms_toggle {
    display:flex;
    flex-shrink:0;
    justify-content:center;
    align-items:center;
    width:24px;
    height:24px;
    padding:0;
    border:none;
    background:none;
    cursor:pointer;
}
.joinTerms_toggle.on .ico.icon_down {
    transform:rotate(270deg);
}
.joinTerms_detail {
    display:none;
    margin-top:12px;
}
.joinTerms_detail.on {
    display:block;
}
.joinTerms_detail .termsBox {
    overflow:hidden;
    max-height:260px;
    margin-top:0;
    padding:20px;
    padding-right:10px;
    border:1px solid #CFD2D3;
    border-radius:7px;
    background:#fff;
}
.joinTerms_detail .termsBox .termsScroll {
    overflow-y:auto;
    max-height:220px;
}
.joinTerms_detail .termsBox .termsScroll::-webkit-scrollbar-track {
    border-radius:6.5px;
    background:#fff;
}
.joinTerms_detail .termsBox .termsScroll::-webkit-scrollbar-thumb {
    border-radius:6.5px;
    background:#D9D9D9;
}
.termsArticle + .termsArticle {
    margin-top:16px;
}
.termsArticle_tit {
    color:#333;
    font-weight:700;
    font-size:15px;
}
.termsArticle .termsBox_desc {
    margin-top:6px;
    color:#666;
    line-height:150%;
}
.termsArticle_list {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:6px;
}
.termsArticle_list li {
    color:#666;
    font-size:14px;
    line-height:150%;
}

/* ===== 媛쒖씤�젙蹂� �룞�쓽 怨듯넻 (�쉶�썝媛��엯 �벑�뿉�꽌 �옱�궗�슜) ===== */
.ipWrap.checkbox + .privacyBox {
    padding-top:18px;
    border-top:1px solid #E1E1E1;
}
.privacyBox .privacyBox_txt {
    color:#555;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.privacyBox .privacyBox_list + .privacyBox_note {
    margin-top:12px;
}
.privacyBox .privacyBox_list {
    margin-top:12px;
}
.privacyBox .privacyBox_list li {
    position:relative;
    padding-left:20px;
    color:#555;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.privacyBox .privacyBox_list.lg li {
    font-size:17px;
    font-weight:400;
}
.privacyBox .privacyBox_list li.blue {
    color:#293EAA;
}
.privacyBox .privacyBox_list li::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:9px;
    width:2px;
    height:2px;
    border-radius:50%;
    background:#555;
    transform:translateY(-50%);
}
.privacyBox .privacyBox_note {
    display:flex;
    align-items:center;
    gap:4px;
    padding:8px 12px;
    border-radius:8px;
    background:#F5F6F7;
    color:#666;
    font-size:13px;
}

/* ===== 李몄뿬�옄 �젙蹂� / �븞�궡諛뺤뒪 怨듯넻 (mypage_reserve_edu_*_detail.html) ===== */
.participantBlock_tit {
    margin-bottom:12px;
    color:#293EAA;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.participantBlock + .participantBlock {
    margin-top:24px;
}
.noticeBox {
    padding:8px 16px;
    border-radius:8px;
    background:#F5F6F7;
}
.noticeBox .noticeBox_item {
    display:flex;
    align-items:flex-start;
    gap:4px;
    color:#666;
    font-weight:400;
    font-size:13px;
    line-height:150%; /* 19.5px */
    letter-spacing:-0.52px;
}
.noticeBox .noticeBox_item .ico.icon_circleinfo {
    margin-top:0;
}
.noticeBox .noticeBox_item + .noticeBox_item {
    margin-top:4px;
}

.reserveForm_subBlock .reserveForm_subTit {
    margin-bottom:12px;
    color:#333;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
}

/* ===== �뙆�씪 �뾽濡쒕뱶 怨듯넻 而댄룷�꼳�듃 ===== */
.fileUpload {
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
}
.fileUpload input[type="file"] {
    overflow:hidden;
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:0;
    margin:0;
    padding:0;
    border:0;
    white-space:nowrap;
    clip-path:inset(50%);
}

.fileUpload label {
    display:flex;
    justify-content:center;
    align-items:center;
    height:40px;
    padding:0 16px;
    border-radius:8px;
    background:#293EAA;
    color:#fff;
    font-weight:400;
    font-size:15px;
    white-space:nowrap;
    cursor:pointer;
}
.fileUpload label:hover {
    background:#102283;
}
.fileUpload .fileUpload_name {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    width:310px;
    height:40px;
    padding:8px 12px;
    border-radius:6px;
    background:#F4F5F6;
    box-sizing:border-box;
}
.fileUpload .fileUpload_nameText {
    flex:1;
    overflow:hidden;
    min-width:0;
    color:#111;
    font-weight:400;
    font-size:17px;
    line-height:1.5;
    letter-spacing:-1.02px;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.fileUpload .fileUpload_name .icon_attachment {
    display:none;
}
.fileUpload.has-file .fileUpload_name .icon_attachment {
    display:inline-block;
}
.fileUpload .btnFileRemove {
    display:none;
    flex-shrink:0;
    justify-content:center;
    align-items:center;
    width:24px;
    height:24px;
}
.fileUpload.has-file .btnFileRemove {
    display:flex;
}
.fileUpload.sm{
    justify-content: center;
}

.fileUpload.sm label {
    display:flex;
    justify-content:center;
    align-items:center;
    height:32px;
    padding:0 12px;
    border-radius:6px;
    background:#fff;
    color:#414141;
    border:1px solid #414141;
    font-weight:400;
    font-size:15px;
    white-space:nowrap;
    cursor:pointer;
}

.fileUpload.sm .fileUpload_name{
    display:none;
    background:none;
}
.fileUpload.sm .fileUpload_name .ico.icon_attachment{
    display:none;
}
.fileUpload.sm.has-file label{
    display:none;
}
.fileUpload.sm.has-file .fileUpload_name{
    display:flex;
}
.fileUpload.sm.has-file .ico.icon_file_del{
    width:22px;
    height:22px;
    background:url("../img/icon_file_delsm.png");
}
/* ===== 怨듯넻 �뀒�씠釉� (mypage_reserve_list.html �벑) ===== */
.tableWrap {
    overflow-x:auto;
    width:100%;
}
.tableWrap table {
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
}
.tableWrap thead th {
    height:56px;
    padding:0 12px;
    border-top:1px solid #CDD1D5;
    border-bottom:1px solid #D6E0EB;
    background:#F3F5F8;
    color:#131416;
    font-weight:700;
    font-size:15px;
    text-align:center;
    vertical-align:middle;
}
.tableWrap tbody td {
    height:64px;
    padding:8px 12px;
    border-bottom:1px solid #E1E1E1;
    color:#333;
    font-size:17px;
    line-height:1.5;
    text-align:center;
    vertical-align:middle;
    box-sizing:border-box;
    background:#fff;
}
.tableWrap tbody td.tal {
    text-align:left;
}
.tableWrap tbody th {
    width:150px;
    height:64px;
    padding:8px 12px;
    border-bottom:1px solid #D6E0EB;
    background:#F3F5F8;
    color:#131416;
    font-weight:700;
    font-size:16px;
    line-height:1.5;
    text-align:left;
    vertical-align:middle;
    box-sizing:border-box;
}

.tableWrap tbody td input, .tableWrap tbody td select {
    width:100%;
    min-width:unset;
}
.tableWrap .ipWrap.select,
.tableWrap .ipWrap.text {
    display:inline-flex;
    width:100%;
}
.tableWrap .tableWrap_countCell {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}
.tableWrap .tableWrap_countCell .ipWrap.text {
    width:auto;
}
.tableWrap .tableWrap_countCell .ipWrap.text input[type="text"] {
    width:120px;
    text-align:left;
}
.tableWrap .ipWrap.checkbox input {
    margin:0 auto;
}
.table_btnWrap a {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:4px;
    height:34px;
    border:1px solid  #414141;
    border-radius:6px;
    background:#FFF;
    color:#414141;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
    white-space:nowrap;
}

/* ===== �삁�빟 �긽�꽭 怨듯넻 (special_reserve_detail.html, edu_program_detail.html) ===== */
.reserveDetail {
    margin-top:40px;
}
.reserveDetail_tit {
    color:#000;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.reserveDetail_infoBox {
    margin-top:24px;
    padding:24px 30px;
    border:1px solid #E1E1E1;
    border-radius:11px;
}
.reserveDetail_infoRow {
    display:flex;
    align-items:center;
    gap:20px;
}
.reserveDetail_infoRow + .reserveDetail_infoRow {
    margin-top:18px;
}
.reserveDetail_infoBox.cols2 {
    display:grid;
    gap:18px 40px;
    grid-template-columns:repeat(2, 1fr);
}
.reserveDetail_infoBox.cols2 .reserveDetail_infoRow + .reserveDetail_infoRow {
    margin-top:0;
}
.reserveDetail_infoRow .reserveDetail_infoLabel {
    min-width:100px;
    color:#333;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.reserveDetail_infoValue {
    color:#333;
    font-weight:700;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-0.68px;
}
.reserveDetail_infoValue.flex {
    display:flex;
    align-items:center;
    gap:8px;
}
.reserveDetail_infoValue.reserveForm_num {
    color:#979797;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.reserveDetail_infoValue.reserveForm_num span {
    color:#333;
    font-weight:700;
    font-size:19px;
}
.reserveDetail_infoBox + .btnWrap {
    justify-content:flex-end;
    margin-top:30px;
}
.reserveDetail_contTit {
    margin-top:40px;
    color:#000;
    font-weight:700;
    font-size:24px;
    line-height:150%;
    letter-spacing:-0.96px;
}
.reserveDetail_editor {
    margin-top:18px;
    padding:20px;
}
.reserveDetail_editor + .btnWrap {
    margin-top:40px;
}
.listFilter_search {
    position:relative;
}
.listFilter_search .listFilter_searchBtn {
    position:absolute;
    top:50%;
    right:12px;
    transform:translateY(-50%);
}
.listFilter_search input[type="text"] {
    padding-right:50px;
}
.listWrap {
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:30px;
}
.listCount {
    display:flex;
    align-items:center;
    gap:6px;
    color:#131416;
    font-weight:400;
    font-size:15px;
    line-height:150%;
    letter-spacing:-0.6px;
}
.listCount span {
    color:#293EAA;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}

/* ===== 由ъ뒪�듃 怨듯넻 - �븘�꽣/移댁슫�듃/�럹�씠吏� (mypage_reserve_list.html) ===== */
.listFilter {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:20px;
}
.listPaging {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:50px;
}
.listPagingMobile {
    display:none;
}
.listPaging a:not(.listPaging_prev, .listPaging_next),
.listPagingMobile_nums a {
    display:flex;
    justify-content:center;
    align-items:center;
    width:40px;
    height:40px;
    color:#1F1F1F;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.listPaging a:not(.listPaging_prev, .listPaging_next).on,
.listPagingMobile_nums a.on {
    border-radius:8px;
    background:#102283;
    color:#fff;
    font-weight:700;
}
.listPaging_prev, .listPaging_next {
    display:flex;
    align-items:center;
    gap:0;
    color:#666;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.listPaging_next.on {
    color:#1F1F1F;
}
.listPaging_next .ico {
    transform:rotate(180deg);
}
.listPaging .listPaging_dots,
.listPagingMobile_nums .listPaging_dots {
    display:flex;
    justify-content:center;
    align-items:center;
    width:40px;
    height:40px;
}

/* ===== 援먯쑁 �봽濡쒓렇�옩 �븞�궡 (edu_program_group.html, edu_program_personal.html, edu_program_detail.html) ===== */
.programListTop {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.programGrid {
    display:grid;
    gap:20px;
    grid-template-columns:repeat(2, 1fr);

}
.programCard {
    display:flex;
    flex-direction:column;
    padding:20px;
    border:1px solid #E1E1E1;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}
.programCard:hover {
    border-color:#293EAA;
}
.programCard:hover .programCard_name {
    color:#293EAA;
}
.programCard:hover .btnWrap a {
    background:#EFF5FF;
}
.programCard_thumb {
    flex-shrink:0;
    overflow:hidden;
    position:relative;
    width:180px;
    border-radius:6px;
    aspect-ratio:16/9;
}
.programCard_thumb img {
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
}
.programCard_thumb.thumb_lg {
    width:780px;
    border-radius:12px;
    height: fit-content;
}

.programDetail_info {
    display:flex;
    flex:1;
    flex-direction:column;
    min-width:0;
}
.programDetail_info .programCard_txtBox {
    flex:unset;
}
.programDetail_info .reserveDetail_infoBox + .btnWrap a {
    width:100%;
}
.programCard_typeBadge {
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:0;
    left:0;
    width:46px;
    height:24px;
    border-radius:6px 0;
    background:#293EAA;
    color:#fff;
    font-weight:700;
    font-size:15px;
    line-height:150%;
}
.programCard_top {
    display:flex;
    gap:16px;
}
.programCard_body {
    display:flex;
    flex:1;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    min-width:0;
}
.programCard_body .btnWrap {
    margin:0 12px;
}
.programCard_body .btnWrap .ico.icon_pagi_arrow {
    transform:rotate(180deg);
}
.programCard_txtBox {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:4px;
}
.programCard_txtBox .badge {
    display:inline-block;
    height:unset;
    margin:0;
    padding:0;
    background:none;
    font-weight:700;
    font-size:16px;
    line-height:150%;
    letter-spacing:-0.56px;

}
.programCard_txtBox .badge.yellow {
    color:#DA9F09;
    
}
.programCard_txtBox .badge.indigo {
    color:#536EFA;
}
.programCard_txtBox .badge.orange {
    color:#EA6E01;
}
.programCard_txtBox .badge.purple {
    color:#8529AA;
}
.programCard_txtBox .badge.teal {
    color:#019EA3;
}
.programCard_txtBox .badge.green {
    color:#16A122;
}
.programCard_txtBox .badge.blue {
    color:#536EFA;
}
.programCard_txtBox .badge.navy {
    color:#293EAA;
}
.programCard_txtBox .badge.sky {
    color:#0B78CB;
}
.programCard_txtBox .badge.gray {
    color:#60678E;
}
.programCard_txtBox .programCard_name {
    display:-webkit-box;
    overflow:hidden;
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%;
    letter-spacing:-0.96px;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
}
.programCard_meta {
    display:flex;
    align-items:center;
    gap:24px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #E5E5E5;
    
}
.programCard_metaItem {
    display:flex;
    flex:1 1 0;
    align-items:center;
    gap:6px;
}
.programCard_metaItem .label {
    width:40px;
    color:#888;
    font-weight:400;
    font-size:15px;
    line-height:150%;
}
.programCard_metaItem .txt {
    color:#333;
    font-weight:400;
    font-size:15px;
    line-height:150%;
}
.reserveDetail .programCard_top {
    gap:40px;

}

/* ===== 肄섑뀗痢� �뤌 怨듯넻 �젅�씠�븘�썐 (�쉶�썝媛��엯/濡쒓렇�씤/留덉씠�럹�씠吏� �벑 怨듭슜) ===== */
.contentForm {
    margin-top:50px;
}
.contentForm_head.flex {
    display:flex;
    justify-content:space-between;
}
.contentForm_head.flex .right {
    padding-right:30px;
}
.contentForm_head.flex .right .joinStep {
    display:flex;
    align-items:flex-start;
    gap:50px;
    position:relative;
}
.contentForm_head.flex .right .joinStep::before {
    content:"";
    display:block;
    position:absolute;
    top:13.5px;
    width:100%;
    height:1px;
    background:repeating-linear-gradient(to right, #D2D2D2 0, #D2D2D2 4px, transparent 4px, transparent 8px);
}
.contentForm_head.flex .right .joinStep li {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:13px;
    position:relative;
    width:27px;
}
.contentForm_head.flex .right .joinStep li .step_circle {
    display:flex;
    justify-content:center;
    align-items:center;
    width:27px;
    height:27px;
    border:1px solid  #E1E1E1;
    border-radius:50%;
    background:#F4F5F6;
    color:#666;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.contentForm_head.flex .right .joinStep li .txt {
    display:none;
    white-space:nowrap;
}
.contentForm_head.flex .right .joinStep li.on .step_circle,
.contentForm_head.flex .right .joinStep li:has(~ li.on) .step_circle {
    background:#293EAA;
    color:#fff;
}
.contentForm_head.flex .right .joinStep li.on .txt {
    display:block;
    color:#293EAA;
    font-weight:700;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
    text-align:center;
}
.contentForm_head .contentForm_tit {
    color:#000;
    font-weight:700;
    font-size:32px;
    line-height:150%; /* 48px */
    letter-spacing:-1.28px;
}
.contentForm_head .contentForm_desc {
    margin-top:8px;
    color:#666;
    font-weight:400;
    font-size:19px;
    line-height:150%; /* 28.5px */
    letter-spacing:-1.14px;
}
.contentForm_head .contentForm_desc .txt_point {
    color:#293EAA;
}
.contentForm_body {
    margin-top:30px;
    padding:80px 50px 100px;
    border:1px solid #C8C8C8;
    border-radius:12px;
}
.contentForm_body.tableForm {
    padding:0;
    border:none;
    border-radius:0;
}
.contentForm_body.tableForm > .btnWrap {
    margin-top:40px;
}

/* ===== �쉶�썝 �깉�눜 (nibr_withdraw_pw.html, nibr_withdraw.html) ===== */
.withdrawNotice {
    margin-top:30px;
}
.withdrawNotice_tit {
    color:#333;
    font-weight:700;
    font-size:24px;
    letter-spacing:-0.96px;
}
.withdrawNotice_list {
    display:flex;
    flex-direction:column;
    margin-top:12px;
}
.withdrawNotice_list li {
    position:relative;
    padding-left:14px;
    color:#666;
    font-size:15px;
    line-height:150%;
}
.withdrawNotice_list li::before {
    content:"";
    position:absolute;
    top:10px;
    left:2px;
    width:2px;
    height:2px;
    border-radius:50%;
    background:#666;
}
.withdrawAgree {
    display:flex;
    justify-content:flex-end;
    margin-top:18px;
}
.withdrawAgree + .btnWrap {
    margin-top:30px;
}
.withdrawAgree .ipWrap.checkbox .checkbox_row {
    gap:8px;
}
.contentForm_body + .btnWrap {
    margin-top:24px;
}

/* ===== �쉶�썝�젙蹂� �닔�젙 (nibr_myinfo_pw.html, nibr_myinfo_edit.html) ===== */
.myInfoTable {
    border-top:1px solid #CDD1D5;
}
.myInfoTable td .ipWrap.text {
    width:220px;
}
.myInfoTable td .ipWrap.text input {
    width:100%;
}
.myInfoTable_pwRow {
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:24px;
}
.ip_alert.hint {margin-top:8px; }
.myInfoTable_pwRow .btnWrap {
    flex-shrink:0;
}
.myInfoTable_pwRow .btnWrap a {
    white-space:nowrap;
}
.myInfoTable_masked {
    color:#333;
    font-size:16px;
    letter-spacing:2px;
}
.myInfoTable_switchList {
    display:flex;
    align-items:center;
    gap:24px;
}
.myInfoTable_switchList .ipWrap.checkbox .checkbox_row {
    align-items:center;
    gap:8px;
}
.myInfoTable_log {
    color:#464C53;
    font-size:17px;
    line-height:1.5;
    letter-spacing:-1.02px;
}
.ipWrap.checkbox.toggleSwitch input[type="checkbox"] {
    width:32px;
    height:20px;
    background-image:url("../img/ip_desingcheck_off.png");
}
.ipWrap.checkbox.toggleSwitch input[type="checkbox"]:checked {
    background-image:url("../img/ip_desingcheck_on.png");
}

/* ===== �씤利앷껐怨�/�셿猷� �솕硫� 怨듯넻 (nibr_login_find_id_result.html, nibr_login_change_pw_result.html �벑) ===== */
.contentForm_body.center {
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:640px;
}
.contentForm_body #findPwForm {width:100%;}
.contentForm_body .contentForm_centerbox {
    width:100%;
    max-width:400px;
    margin: 0 auto;
}
.contentForm_body .contentForm_centerbox.lg {
    max-width:500px;
}
.contentForm_grid {
    display:flex;
    flex-direction:column;
    gap:20px;
}
.contentForm_body .contentForm_centerbox .contentForm_grid {
    display:flex;
    flex-direction:column;
    gap:20px;
}
.contentForm_body .contentForm_centerbox .pwCheck {
    text-align:center;
}
.contentForm_body .contentForm_centerbox .pwCheck_tit {
    color:#333;
    font-weight:700;
    font-size:24px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
}
.contentForm_body .contentForm_centerbox .pwCheck_desc {
    margin-top:12px;
    color:#666;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
}
.contentForm_body .contentForm_centerbox .pwCheck + .contentForm_grid {
    margin-top:24px;
}
.contentForm_body .contentForm_centerbox .joinInfo_row {
    display:flex;
    align-items:center;
    gap:8px;
}
.contentForm_body .contentForm_centerbox .joinInfo_row input {
    flex:1;
    min-width:0;
}
.contentForm_body .contentForm_centerbox .joinInfo_row .btnWrap {
    flex-shrink:0;
    margin-top:0;
}
.contentForm_body .contentForm_centerbox .joinInfo_row .btnWrap a {
    width:auto;
}
.contentForm_body .contentForm_centerbox .btnWrap {
    margin-top:24px;
}
.contentForm_body .contentForm_centerbox .btnWrap a {
    width:100%;
}
.contentForm_body .contentForm_centerbox .idResult_icon {
    display:flex;
    justify-content:center;
}
.contentForm_body .contentForm_centerbox .idResult_tit {
    margin-top:16px;
    text-align:center;
}
.contentForm_body .contentForm_centerbox .idResult_tit p {
    color:#333;
    font-weight:700;
    font-size:32px;
    line-height:150%; /* 36px */
    letter-spacing:-0.96px;
    text-align:center;
}
.contentForm_body .contentForm_centerbox .idResult_tit p strong {
    margin-right:4px;
    color:#293EAA;
    font-weight:700;
    font-size:42px;
    line-height:1;
    letter-spacing:-1.68px;
}
.contentForm_body .contentForm_centerbox .idResult_desc {
    margin-top:12px;
    color:#666;
    font-weight:400;
    font-size:17px;
    line-height:150%; /* 25.5px */
    letter-spacing:-1.02px;
    text-align:center;
}
.contentForm_centerbox.idResult .noticeBox {
    margin-top:16px;
}
.contentForm_centerbox.idResult .noticeBox .noticeBox_item {
    letter-spacing:-0.86px;
}
.contentForm_body .contentForm_centerbox .idResult_btns {
    margin-top:24px;
}
.contentForm_body .contentForm_centerbox .idResult_btns a {
    flex:1;
    width:auto;
}


/* Footer */
footer {background:#383F50; padding-block:40px;}
footer > .wrap-inner {
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
        "link      selects"
        "logo      selects"
        "address   selects"
        "copyright selects";
    column-gap:40px;
    row-gap:25px;
    max-width:1410px;
    padding:0 15px;
    margin:0 auto;
}
.link--list{
    grid-area:link;
    display:flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap:28px;
    row-gap:10px;
}
.link--list li {position:relative;}
.link--list li + li {margin:0; padding:0;}
.link--list li + li::before {content:''; display:block; width:1px; position:absolute; top:50%; left:-14px; height:10px; margin:0; background:#717682; transform:translateY(-50%);}
.link--list li.rowStart::before {display:none;}
.link--list li a {color:rgba(255, 255, 255, 0.80); font-size:16px; letter-spacing: -0.6px; transition:color 0.3s;}
.link--list li:not(.privacy) a:hover {color:rgba(255, 255, 255, 1);}
.link--list li.privacy a {color:#8AC7FF; font-weight:600;}
.footer-logo-wrapper {grid-area:logo; display:flex; align-items:center; gap:10px;}
.footer-logo-wrapper .footer-logo {max-width:214px; margin:0;}
.footer-logo-wrapper .awards-icon {max-width:65px; margin:0;}
.footer-adress {grid-area:address;}
.footer-adress p {color:rgba(255,255,255,0.50); font-weight:500; font-size:16px; line-height:calc(24 / 16);}
.copyright {grid-area:copyright; padding:0; color:rgba(255,255,255,0.30); font-size:15px; line-height:calc(30 / 15);}
.footer__selects {grid-area:selects; align-self:start; display:grid; gap:20px; grid-template-columns:repeat(2, 1fr);}
.footer__selects li {max-width:230px;}
.footer__selects select {overflow:hidden; max-width:210px; width:100%; height:40px; margin:0; padding:0 50px 0 20px; border:0; border-radius:99.9px; background:url("../img/main/ico-arrow-w.svg") no-repeat right 20px center / auto rgba(255, 255, 255, 0.20); color:#FFF; font-size:15px; white-space:nowrap; cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none; text-overflow:ellipsis;}
.footer__selects select option, .footer__selects select optgroup {color:#333;}
/* @media (width <= 1500px) { */
/*     硫붿씤 */
/*     .expoNavBtn{ */
/*         display:none; */
/*     } */
/* } */
@media (width <= 1200px){
    .header_right{
       gap: clamp(24px, 0vw, 150px);
    }
    .header_right .header_right_etc{
        gap:12px;
    }
    .header_right .header_right_etc > a{
        font-size:12px;
    }
    .header_right_gnb > ul {
        display:flex;
        align-items:center;
        gap:6px;
    }
    .header_left .logo {
        width:120px;
    }
    .header_left .current{
        font-size:14px;
    }
    .header_right_gnb > ul > li > a{
        font-size:14px;
        padding:0 10px;
    }
    .header_right .btnWrap .btnWrap_text {
        display:none;
    }
    .header_right .btnWrap a{
        padding:0;
        width:32px;

    }
    .header_right .btnWrap .ico.icon_gnbhome {
        display:inline-block;
    }
    .reserve_tabs .reserve_tab .reserve_tab_txt .rv_t_t_tit span {display:block;}
    .reserve_tabs .reserve_tab .reserve_tab_txt .rv_t_t_tit {line-height:120%;}
}
@media (max-width:1200px) {
    .programCard_thumb.thumb_lg {
        width:45%;
    }
    .programDetail_info .reserveDetail_infoBox + .btnWrap{
        margin-top:30px;    
    }
}

@media (width <= 1024px) {
    /* ===== �뀒釉붾┸(�돞10248px) 諛섏쓳�삎 �삤踰꾨씪�씠�뱶 - �븘�옒�뒗 �뜲�뒪�겕�넲 �꽮�뀡怨� ���쓳(�닚�꽌�뒗 �떎瑜� �닔 �엳�쓬) ===== */
    /* 硫붿씤 */
    .bookingCalBox{
        padding:14px;
    }
    .bookingTimeBox{
        padding:14px;
    }
 
    .timeList li{
        padding:10px 14px;
    }
    .timeList .timeInfo .timeRange{
        font-size:14px;
    }
    .timeList .timeAction .timeLeft{
        font-size:14px;
    }
    .timeList li.soldout .timeAction .timeLeft{
        font-size:14px;
    }
    .timeList .timeAction .timeLeft .num{
        font-size:16px;
    }
}


@media (width <= 768px) {
    /* ===== 紐⑤컮�씪(�돞768px) 諛섏쓳�삎 �삤踰꾨씪�씠�뱶 - �븘�옒�뒗 �뜲�뒪�겕�넲 �꽮�뀡怨� ���쓳(�닚�꽌�뒗 �떎瑜� �닔 �엳�쓬) ===== */

    /* ---- 怨듯넻 �뿤�뜑 (header.html) ---- */
    body.scrollLock {
        overflow:hidden;
    }
    .headerInner {
        position:relative;
        height:64px;
        padding:0 15px;
    }
    .header_left {
        gap:6px;
    }
    .header_left .logo img {
        height:40px;
    }
    .header_left .slogon img {
        height:26px;
    }
    .header_left .current {
        margin-left:6px;
        font-size:16px;
    }
    .header_right {
        display:none;
    }
    .header.mobileOpen .header_right {
        display:block;
    }
    .header_right .btnWrap {
        display:none;
    }
    .headerToggle {
        display:block;
        width:22px;
        height:16px;
        padding:0;
        border:0;
        background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'%3E%3Cpath d='M0 1H22M0 8H22M0 15H22' stroke='%23111111' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / contain;
        cursor:pointer;
    }
    .header.mobileOpen .headerToggle {
        width:16px;
        height:16px;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M1 1L15 15M15 1L1 15' stroke='%23111111' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    }
    .header.mobileOpen .header_right_gnb {
        display:block;
        position:fixed;
        height:calc(100% - 64px);
        top:64px;
        left:0;
        right:0;
        bottom:0;
      
        background:#fff;
        overflow-y:auto;
        z-index:200;
    }
    
    .header.mobileOpen .header_right_gnb > ul > li{
        position:static;
    }

    .header.mobileOpen .header_right_gnb > ul {
        position:relative;
        display:flex;
        flex-direction: column;
        align-items: flex-start;
        gap:0px;
        height:100%;
        background:#EFF5FF;
    }
    .header.mobileOpen .header_right_gnb > ul > li > a {
        height:58px;
        display:block;
        width:140px;
        height:auto;
        padding:16px 0 !important;
        font-size:17px;
        text-align:center;
        color:#000;
    
    }
    .header.mobileOpen .header_right_gnb > ul > li:has(> ul) > a {
        color:#293EAA;
        background:#fff;
        padding-left:12px;
  

    }
    .header.mobileOpen .header_right_gnb > ul > li:has(> ul) > a::after {
        display:none;
    }
    
    .header.mobileOpen .header_right_gnb > ul > li:has(> ul) > ul {
        display:block;
        position:absolute;
        top:0;
        height:100%;
        left:140px;
        right:0;
        min-width:0;
        padding:8px 14px;
        border:0;
        transform:none;
        border-radius:0px;
    }
    .header.mobileOpen .header_right_gnb > ul > li:has(> ul) > ul li a {
        padding:14px 0;
        text-align:left;
        color:#000;
        font-weight:700;
        font-size:15px;
    }
    .header.mobileOpen .header_right_gnb > ul > li:has(> ul) > ul li + li {
        border-top:0;
    }
    .header.mobileOpen .header_right_gnb > ul > li:has(> ul) > ul li{
        border-bottom:1px dashed #E1E1E1;
    }
    .header_right .header_right_etc{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap:0px;
        position: fixed;
        top: auto;
        left: 0;
        right: auto;
        bottom: 6px;
        height: auto;
        background: #EFF5FF;
        z-index: 201;
    }
    .header_right .header_right_etc > a {
        display: flex;
        align-items: center;
        justify-content: center;
        width:140px;
        padding:16px 20px;
        gap: 4px;
        color: #6B6B6B;
        font-size: 15px;
        font-weight: 500;
        
    }
    .header_right .header_right_etc > a::after {
        content: "";
        display: inline-block;
        width: 10px;
        height: 10px;
        background-color: #6B6B6B;
        -webkit-mask: url("/resource/img/icon_arrow-down.svg") no-repeat center / contain;
        mask: url("/resource/img/icon_arrow-down.svg") no-repeat center / contain;
        transform: rotate(-90deg);
    }

    .qnaItem_options {
        align-items: baseline;
        gap: 5px;
        flex-direction: column;}
    /* ---- ipWrap 怨듯넻 �엯�젰 �뤌 ---- */
    .ipWrap select {
        width:100%!important;
        height:44px;
        font-size:16px;
    }
    .ipWrap.text {
        gap:10px;
    }
    .ipWrap.text input[type="text"] {
        flex:1;
        width:100% !important;
        height:44px;
    }
    .ipWrap.text.xl input[type="text"], .ipWrap.text.xl input[type="password"],
    .ipWrap.text.lg input[type="text"], .ipWrap.text.lg input[type="password"] {
        flex:none;
    }
    .ipWrap.text .joinInfo_row input[type="text"] {
        flex:1;
        width:auto !important;
    }

    /* ---- �넻�빀�삁�빟 硫붿씤 ---- */
    .reserve_top {
        padding:40px 0;
    }
    .reserve_top .rv_t_tit {
        padding:0 15px;
        color:#000;
        font-weight:700;
        font-size:30px;
        letter-spacing:-1.2px;
        text-align:center;
        
    }
    .rv_t_tit > span {display:block;}
    .reserve_top .rv_t_desc {
        font-size:16px;
    }
    .reserve_top .reserve_inner {
        margin-top:30px;
    }
    .reserve_tabs .reserve_tab {
        display:flex;
        flex-direction:column;
        gap:12px;
        padding:23px 10px;
    }
    .reserve_tabs .reserve_tab .reserve_tab_txt {
        display:flex;
        flex:1;
        align-items:center;
    }
    .reserve_tabs .reserve_tab .reserve_tab_txt .rv_t_t_tit {
        font-size:22px;
        text-align:center;
    }
    .reserve_tabs .reserve_tab .reserve_tab_txt .rv_t_t_desc {
        display:none;
    }
    .reserve_info {
        flex-direction:column;
        align-items:flex-start;
    }
    .info_headBox {
        flex-direction:column;
        align-items:flex-start;
    }
    .info_headBox .info_tit {
        font-size:22px;
    }
    .info_headBox .info_tel {
        font-size:15px;
    }
    .info_listBox .info_list {
        grid-template-columns:repeat(1, 1fr);
    }
    .info_listBox .info_list li .badge {
        height:24px;
    }
    .info_listBox .info_list li {
        gap:8px;
    }
    .info_listBox .info_list .tit {
        font-size:16px;
    }
    .info_listBox .info_list .txt {
        font-size:16px;
    }
    .info_left .info_txt:has(.btnNotice) {
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }
    .info_left .info_txt .btnNotice {
        margin-left:0;
    }
    .info_right {
        width:100%;
        margin-top:36px;
    }
    .info_right .quickList {
        justify-content:space-evenly;
        gap:20px;
    }
    .info_right .quickList li {
        flex:1;
        text-align:center;
    }
    .info_right .quickList li + li::before {
        left:-10px;
    }
    .info_right .quickList li a{
        gap:12px;
    }
    .info_right .quickList .quickTxt {
        font-size:16px;
    }

    /* ---- �삁�빟 罹섎┛�뜑 쨌 ���엫�뀒�씠釉� 쨌 �쟾�떆 �뒳�씪�씠�뱶 ---- */
    .reserve_bookingBox {
        margin:40px -15px 0;
    }
    .calLegend {
        border-radius:10px;
    }
    .bookingTop {
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
        padding:16px;
    }
    .bookingTopR {
        width:100%;
    }
    .bookingTopR .viewTab {
        width:100%;
    }
    .bookingTopR .viewTab a {
        width:50%;
        font-size:17px;
    }
    .monthNav {
        font-size:24px;
    }
    .exhibitCount {
        font-size:17px;
    }
    .exhibitCount .num {
        font-size:22px;
    }
    .bookingCalBox {
        width:100%;
        padding:16px 15px;
    }
    .bookingTimeBox {
        position:relative;
        width:100%;
        padding:20px 5px 20px 15px;
    }
    .bookingCalBox .calGuide {
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }
    .bookingCalBox .calGuide .calGuideTxt {
        font-size:17px;
    }
    .bookingTimeBox .selectedDateTit {
        font-size:22px;
    }
    .timeGroupList .timeGroup {
        padding:24px;
    }
    .timeGroupList .timeGroup .timeGroupHead {
        padding:0;
        padding-bottom:18px;
    }
    .timeGroupList .timeGroup .timeGroupHead.imgtype {
        padding:0;
        padding-bottom:18px;
    }
    .timeGroupList .timeGroup .timeList li {
        padding:0;
    }
    .timeList_scroll {
        overflow-y:auto;
        max-height:500px;
        margin:0;
        margin-top:16px;
        margin-right:5px;
        padding:0;
        padding-right:5px;
    }
    .timeList li {
        flex-direction:column;
        align-items:unset;
        padding:12px 16px;
    }

    .timeList .timeInfo .timeRange{
        font-size:19px;
    }

    .timeList .timeAction {
        flex-direction:column;
        align-items:flex-end;
        gap:5.5px;
        margin-top:16px;
    }
    .timeList .btnReserve {
        justify-content:center;
        width:100%;
        height:40px;
    }
    .timeOrder {
        font-size:13px;
    }
    .timeList .timeInfo .timeOrder {
        margin-top:2px;
    }
    .timeList .timeAction .timeLeft {
        position:absolute;
        top:12px;
        right:16px;
        font-size:16px;

    }
    .timeGroupList .timeGroup.soldout .timeAction .timeLeft {
        font-size:16px;
    }
    .timeGroupList .timeGroup .timeList .timeAction .timeLeft {
        top:2px;
        right:0;
    }
    .timeList li.soldout .timeAction .timeLeft {
        font-size:16px;
    }
    .timeList .timeAction .timeLeft .num {
        font-size:17px;
    }
    .calGridCell .dateTooltip {
        display:none !important;
    }
    .calLegend .legendTxt {
        flex-shrink:0;
        white-space:nowrap;
    }
    .calLegend .legendItemBox::before {
        height:100%;
    }
    .reserve_expo {
        margin-top:40px;
    }
    .expoHead {
        flex-direction:column;
        align-items:flex-start;
        gap:0;
    }
    .expoHead .expoTit {
        font-size:22px;
    }
    .expoNavBtn {
        width:32px;
        height:32px;
    }
    .expoNavBtn.prev {
        left:-8px;
    }
    .expoNavBtn.next {
        right:-8px;
    }
    .expoItem_img {
        max-width:40%;
    }
    #contentDspy .expoItem_img {
	    flex-shrink:0;
	    border-radius:4px;
	    width: 122px;
	    aspect-ratio: 167 / 243;
	    height: auto;
	}
    #contentEdu .expoItem_img {
	    flex-shrink:0;
	    border-radius:4px;
	    width: 100%;
	    max-width:none;
	    height: auto;
	}
    /* 비율은 래퍼 div가 아니라 실제 img에 지정(swiper 슬라이드 높이 강제와 충돌하지 않음) */
    #contentEdu .expoItem_img img {
        aspect-ratio: 272 / 153;
        height: auto;
    }
    .expoItem > a {
        align-items:center;
        gap:10px;
    }
    /* 온라인 배움 마당(교육 탭)만 모바일에서 상단 이미지 + 하단 내용으로 세로 배치 */
    #contentEdu .expoItem > a {
        flex-direction:column;
        align-items:stretch;
    }
    .expoItem_badge{
        font-size:13px;
    }
    .expoItem_tit {
        margin-top:4px !important;
        font-size:17px;
    }
    .expoItem_txt{
        padding:0;
    }
    .expoItem_info {
        margin-top:4px;
    }
    .calGridHead, .calGridBody {
        gap:0;
    }
    .calGridCell {
        height:84px;
        padding:8px 4px;
    }
    

    /* ---- 怨듯넻 �젅�씠�븘�썐 ---- */
    .sub_wrap {
        padding:80px 0 80px;
        background-image:
            url("../img/wrap_bg_mo_circle1.png"),
            url("../img/wrap_bg_mo_circle2.png"),
            url("../img/wrap_bg_mo_circle3.png");
        background-position:
            right 0 top 0,
            right 0 top 120px,
            left 0 bottom -90px;
        min-height:unset;
    }
    .reserve_wrap {
        padding-top:64px;
        padding-bottom: 50px;
    }

    /* ---- �삁�빟 �떊泥�/議고쉶 怨듯넻 �뤌 ---- */
    .reserveForm {
        margin-top:26px;
    }
    .reserveForm .reserveForm_tit {
        font-size:24px;
        letter-spacing:-0.96px;
    }
    .reserveForm_head {
        padding-bottom:16px;
    }
    .reserveForm_head.noLine {
        padding-bottom:0;
    }
    .reserveForm_rowList {
        padding:18px 0;
    }
    .reserveForm_row {
        gap:12px;
    }
    .reserveForm_row .reserveForm_label {
        font-size:17px;
        letter-spacing:-1.02px;
    }
    .reserveForm_row .reserveForm_value {
        font-size:17px;
        letter-spacing:-0.68px;
    }
    .reserveForm_rowList + .reserveForm_section {
        margin-top:24px;
    }
    .reserveForm_section .reserveForm_sectionTit {
        font-size:22px;
    }
    .reserveForm_section .reserveForm_desc {
        margin-top:16px;
    }
    .reserveForm_section .tableWrap .btnWrap a{
        width:auto;
    }
    .reserveForm_type {
        padding:20px;
        font-size:16px;
    }
    .reserveForm_type .ipWrap label {
        font-size:16px;
    }
    .typeToggle {
        width:100%;
    }
    .typeToggle .typeToggleBtn {
        width:50%;
        height:44px;
        font-size:17px;
    }
    .reserveForm_section_wrap {
        margin-top:24px;
    }
    .reserveInfoBox {
        flex-direction:column;
        gap:16px;
        margin-top:16px;
        padding:20px;
    }
    .reserveInfoBox .reserveInfoBox_item {
        width:100%;
    }
    .reserveForm_section + .reserveForm_section {
        margin-top:24px;
    }
    .reserveForm_grid {
        gap:18px;
        padding:20px;
    }
    .reserveForm_gridRow {
        gap:24px;
        grid-template-columns:repeat(1, 1fr);
    }
    .design_radio {
        gap:12px;
    }
    .design_radio .reserveTimeList {
        gap:16px;
        grid-template-columns:repeat(1, 1fr);
    }
    .design_radio .reserveTimeItem {
        width:100%;
    }

    /* ---- �쉶�썝媛��엯 怨듯넻 (�빟愿�/媛쒖씤�젙蹂�) ---- */
    .termsBox {
        margin-top:12px;
        padding:18px;
    }
    .ipWrap.checkbox input[type="checkbox"] {
        width:24px;
        height:24px;
        background-size:cover;
    }
    .ipWrap.checkbox label {
        font-size:16px;
    }
    .termsBox .termsBox_tit {
        font-size:15px;
    }
    .termsBox .termsBox_list {
        gap:12px;
    }
    .privacyBox .privacyBox_txt {
        font-size:16px;
        letter-spacing:-0.96px;
    }
    .privacyBox .privacyBox_note {
        align-items:flex-start;
        line-height:1.5;
    }
    .privacyBox .privacyBox_note .ico.icon_circleinfo {
        margin-top:0;
    }
    .privacyBox .privacyBox_list {
        margin-top:16px;
    }
    .privacyBox .privacyBox_list.lg li {
        font-size:16px;
    }
    .reserveForm + .btnWrap {
        margin-top:24px;
    }
    .btnWrap {
        flex-direction:column;
        gap:16px;
    }
    .btnWrap a {
        width:100%;
        font-size:17px;
    }
    .contentForm_body .contentForm_centerbox .idResult_tit p {
        font-size:28px;
    }
    .contentForm_body .contentForm_centerbox > .btnWrap > a:not(.md, .lg, .small, .line, .black_line) {
        height:48px;
        border-radius:10px;
    }
    .reserveForm_sectionHead {
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    /* ---- �삁�빟 �긽�꽭 (special_reserve_detail.html, edu_program_detail.html) ---- */
    .reserveDetail_infoBox {
        padding:20px;
    }
    .reserveDetail_infoBox.cols2 {
        grid-template-columns:1fr;
    }
    .reserveDetail_infoRow .reserveDetail_infoLabel {
        font-size:15px;
    }
    .reserveDetail_infoValue {
        font-size:15px;
    }
    .reserveDetail_infoRow {
        gap:12px;
    }
    .reserveDetail_infoValue.reserveForm_num {
        font-size:15px;
    }
    .reserveDetail_infoValue.reserveForm_num span {
        font-size:17px;
    }

    /* ---- 由ъ뒪�듃 쨌 �봽濡쒓렇�옩 移대뱶 怨듯넻 (mypage_reserve_list.html, edu_program_*.html) ---- */
    .programListTop {
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }
    .programGrid {
        grid-template-columns:1fr;
    }
    .programCard {
        padding:16px;
    }
    .programCard_body {
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
        width:100%;
    }
    .listFilter {
        flex-wrap:wrap;
        justify-content:flex-start;
        gap:18px 16px;
        margin:12px 0 24px;
    }
    .listFilter .ipWrap.select {
        flex:1 1 calc(50% - 8px);
    }
    .listFilter .ipWrap.select select {
        width:100% !important;
        font-size:16px;
    }
    .listFilter_search {
        flex:1 1 100%;
    }
    .listFilter_search input[type="text"] {
        width:100% !important;
        font-size:16px !important;
    }
    .tableWrap thead th {
        height:46px;
    }
    .tableWrap tbody td {
        font-size:15px;
    }
    .listPaging {
        display:none;
    }
    .listPagingMobile {
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:24px;
        margin-top:30px;
    }
    .listPagingMobile_nums {
        display:flex;
        align-items:center;
        gap:8px;
    }
    .listPagingMobile_nav {
        display:flex;
        align-items:center;
        gap:34px;
    }
    .calGridCell .reserveDotBox {
        gap:4px;
    }
    .calGridCell .reserveDot {
        width:10px;
        height:10px;
        padding:0;
        border-radius:3px;
        font-size:0;
    }

    /* ---- 怨듯넻 �뙘�뾽 ---- */
    .popupLayer {
        width:calc(100% - 40px);
    }
    .popupHead {
        padding:16px 24px;
    }
    .popupHead .popupTit {
        font-size:22px;
    }
    .popupCont {
        padding:24px;
    }
    .popupFoot {
        justify-content:center;
        padding:0 24px 24px;
    }
    .popupFoot .btnWrap {
        flex-direction:row;
        gap:12px;
    }

    /* ---- 濡쒓렇�씤 ---- */
    .loginWrap {
        max-width:unset;
        margin-top:40px;
    }
    .loginWrap .login_tit {
        font-size:32px;
    }
    .loginWrap .login_bottom {
        margin-top:50px;
    }
    .loginWrap .loginForm_grid {
        gap:12px;
    }
    .loginWrap .btnWrap {
        margin-top:24px;
    }
    .loginWrap .loginLinkBox {
        margin-top:16px;
    }
    .loginWrap .loginLinkBox ul li a {
        font-size:15px;
    }
    .loginWrap .loginDivider span {
        font-size:13px;
    }

    /* ---- 肄섑뀗痢� �뤌 怨듯넻 (�쉶�썝媛��엯/留덉씠�럹�씠吏�) ---- */
    .contentForm {
        margin-top:26px;
    }
    .contentForm_head .contentForm_tit {
        font-size:24px;
        letter-spacing:-0.96px;
    }
    .contentForm_head .contentForm_desc {
        font-size:19px;
        letter-spacing:-1.14px;
    }
    .contentForm_body {
        margin-top:16px;
    }
    .contentForm_body.center {
        display:block;
        min-height:0;
        padding:24px 16px;
    }
    .contentForm_body .contentForm_centerbox {
        max-width:100%;
    }
    .contentForm_body .contentForm_centerbox.lg {
        max-width:100%;
    }
    .contentForm_head.flex {
        flex-direction:column;
        gap:24px;
    }
    .contentForm_head.flex .right {
        padding:0 30px;
    }
    .contentForm_head.flex .right .joinStep {
        justify-content:space-between;
    }
    .contentForm_head.flex .right .joinStep li {
        gap:8px;
    }
    .contentForm_head.flex .right .joinStep li.on .txt {
        font-size:13px;
    }
    .joinSection_tit {
        font-size:22px;
    }
    .joinSection .ipWrap.checkbox input[type="checkbox"] {
        width:20px;
        height:20px;
        margin-top:1px;
    }
    .joinTerms_all {
        margin-top:24px;
    }
    .contentForm_body .contentForm_centerbox .btnWrap {
        margin-top:36px;
    }
    .easyAuthList {
        margin-top:24px;
    }
    .joinSection_note {
        font-size:16px;
    }
    .easyAuthItem_txt {
        font-size:15px;
    }
reserve_inner
    /* 援먯쑁�봽濡쒓렇�옩�븞�궡 */
    .reserveForm_head.spaceBetween {
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }
    .tabSwitch {
        margin-top:24px;
    }
    .tabSwitch .typeToggleBtn {
        height:46px;
        border-radius:8px;
        font-size:15px;
    }
    .tabSwitch ~ .reserveForm_section_wrap {
        margin-top:24px;
    }

    /* ===== 援먯쑁 �봽濡쒓렇�옩 �긽�꽭 移대뱶 紐⑤컮�씪 �젅�씠�븘�썐 (edu_program_detail.html) - �뮘�뒭寃� 異붽��맂 �삤踰꾨씪�씠�뱶 ===== */
    .programCard_top {
        flex-direction:column;
        gap:20px;
    }
    .programCard_thumb {
        width:100%;
        height:auto;
   
    }
    .programCard_thumb.thumb_lg {
        width:100%;
    }
    .programCard_txtBox .badge {
        font-size:13px;
    }
    .programCard_txtBox .programCard_name {
        font-size:22px;
    }
    .programCard_txtBox {
        width:100%;
    }
    .programCard_body .btnWrap {
        width:100%;
        margin:16px 0 0;
    }
    .programCard_body .btnWrap a.xs {
        width:100%;
        height:40px;
        border-radius:10px;
        font-size:15px;
    }
    .programCard_meta {
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
    }
    .programCard_metaItem .label {
        width:80px;
    }
    .programDetail_info .reserveDetail_infoBox + .btnWrap {
        margin-top:30px;
    }
    /* �뀒�씠釉� */
    .tableWrap tbody th{
        width:130px;
        font-size:14px;
    }
    .tableWrap tbody .myInfoTable_pwRow{
        flex-direction: column;
        align-items: flex-start;
        gap:12px;
    }
    .myInfoTable_log{
        font-size:15px;
    }
    .myInfoTable_masked{
        margin-top:10px;
        font-size:15px;
    }

    /* footer */
    footer > .wrap-inner {
        grid-template-columns:1fr;
        grid-template-areas:
            "link"
            "selects"
            "logo"
            "address"
            "copyright";
        row-gap:24px;
    }
    .footer__selects {
        justify-self:start;
        gap:10px;
    }

}

/* Edge / IE 계열 비밀번호 보기 아이콘 제거 */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}
