@charset "utf-8";
/* 지정한 메인 요소에만 배경 확장 적용 */
html.dark-mode .reservation-box .cal-add:is(:hover,:focus-visible),
html.dark-mode header .all_menu:is(:hover,:focus-visible),
html.dark-mode header .mode_btn:is(:hover,:focus-visible),
html.dark-mode header .h_menu_area a:is(:hover,:focus-visible),
html.dark-mode header .h_logo:is(:hover,:focus-visible),
html.dark-mode .all_menu_cont .pop_btn_list_area a:is(:hover,:focus-visible),
html.dark-mode .login-wrap .util a:is(:hover,:focus-visible),
html.dark-mode .login-wrap button[type="submit"]:is(:hover,:focus-visible),
html.dark-mode .reserve-view-btn:is(:hover,:focus-visible),
html.dark-mode footer .link-wrap a:is(:hover,:focus-visible),
html.dark-mode footer .sns-wrap a:is(:hover,:focus-visible),
html.dark-mode .reservation-box .tab-list button:is(:hover,:focus-visible),
html.dark-mode a.add-btn:is(:hover,:focus-visible),
html.dark-mode .reservation .list-wrap .top-box p:is(:hover,:focus-visible),
html.dark-mode .reservation .cont p:is(:hover,:focus-visible),
html.dark-mode .news li span:is(:hover,:focus-visible),
html.dark-mode .sub-visual__wrap nav li a:is(:hover,:focus-visible),
html.dark-mode .cont-tab button:is(:hover,:focus-visible), .cont-tab a:is(:hover,:focus-visible),
html.dark-mode .close-btn:is(:hover,:focus-visible),
html.dark-mode .share-popwrap .sns-list li a:is(:hover,:focus-visible),
html.dark-mode .all_menu_wrap .all_menu_cont .logo_area .close:is(:hover,:focus-visible),
html.dark-mode header .head_sub_menu_cont .title_area .link:is(:hover,:focus-visible),
html.dark-mode .quick-menu-wrap li a:is(:hover,:focus-visible),
html.dark-mode .tab-list.row button:is(:hover,:focus-visible),
html.dark-mode .board .swiper-slide a:is(:hover,:focus-visible){background-color:var(--dm-hover); border-radius:8px; box-shadow:0 0 0 4px var(--dm-hover); -webkit-box-decoration-break:clone; box-decoration-break:clone;}

/* 테이블형 게시판 제목과 전체메뉴 링크 */
html.dark-mode #lnb > ul > li > a:is(:hover,:focus-visible),
html.dark-mode .lnb > ul > li > a:is(:hover,:focus-visible){background-color:var(--dm-hover); border-radius:4px; box-shadow:4px 0 0 var(--dm-hover),-4px 0 0 var(--dm-hover);}
html.dark-mode .com_table_cont td a:is(:hover,:focus-visible) .title_cont .title,
html.dark-mode .all_menu_cont .list_area a:is(:hover,:focus-visible){background-color:var(--dm-hover); border-radius:4px; box-shadow:0 0 0 4px var(--dm-hover); -webkit-box-decoration-break:clone; box-decoration-break:clone;}
/* 서브 */
.termsuse{font-size:16px; line-height:1.7; color:#666; overflow-wrap:break-word;}
.copyright-policy{font-size:16px; line-height:1.7; color:#444; overflow-wrap:break-word;}
.copyright-policy h3{margin-bottom:16px; font-size:26px; font-weight:700; color:#222;}
.copyright-policy .top_nav{margin-bottom:28px; color:#777; font-size:14px;}
.copyright-policy .top_nav ul{display:flex; gap:12px;}
.copyright-policy .top_nav li + li:before{content:'›'; margin-right:12px;}
.copyright-policy > strong{display:block; font-weight:600;}
.copyright-policy .mt20{margin-top:20px;}
.copyright-policy > ul > li + li{margin-top:0px;}
.copyright-policy .fn_red{color:#b83737;}
.copyright-policy .ce{text-align:center; margin-bottom:0px;}
.copyright-policy .ce img{max-width:100%; height:auto;}
html.dark-mode .copyright-policy .ce img{background:#fff;}
html.dark-mode .copyright-policy,html.dark-mode .copyright-policy h3{color:var(--dm-text);}
html.dark-mode .copyright-policy .top_nav{color:var(--dm-muted);}
html.dark-mode .copyright-policy .fn_red{color:var(--dm-danger);}
@media only screen and (max-width:768px){
    .copyright-policy{font-size:15px;}
    .copyright-policy h3{font-size:22px;}
}
.termsuse h4{margin:36px 0 20px; font-size:22px; font-weight:700; color:#222;}
.termsuse h4:first-child{margin-top:0;}
.termsuse > ul > li + li{margin-top:24px;}
.termsuse > ul > li > strong,.termsuse > .terms-article-title{display:block; margin-bottom:8px; font-size:18px; font-weight:600;}
.join .agree-form .cont .inner.termsuse p,
.join .agree-form .cont .inner.termsuse li{font-size:inherit; font-weight:400; line-height:inherit; color:inherit;}
.join .agree-form .cont .inner.termsuse > p,
.join .agree-form .cont .inner.termsuse .group{padding-top:0;}
.join .agree-form .termsuse > .terms-article-title{margin-top:24px;}
.join .agree-form .termsuse > h4 + .terms-article-title{margin-top:0;}
html.dark-mode .termsuse,html.dark-mode .termsuse h4{color:var(--dm-text);}
@media only screen and (max-width:768px){
    .termsuse{font-size:15px;}
    .termsuse h4{font-size:20px;}
    .termsuse > ul > li > strong,.termsuse > .terms-article-title{font-size:17px;}
}
.sub-visual__wrap{max-width: 100%;height: 210px;padding: 0 20px;border-bottom: 1px solid #e8e8e8;background-color:#fbfbfb ;}
.sub-visual__wrap > .inner{display: flex;align-items: center;max-width: 1280px;width: 100%;height: 100%;margin: auto;background-repeat: no-repeat;}
.sub-visual__wrap.type1 > .inner{background-image: url(../../images/sub/sub_visual_img1.png);background-position: right 77px top -15px;background-repeat: no-repeat; }
.sub-visual__wrap.type2 > .inner{background-image: url(../../images/sub/sub_visual_img2.png);background-position: right top -65px; background-repeat: no-repeat;}
.sub-visual__wrap.type3 > .inner{background-image: url(../../images/sub/sub_visual_img3.png);background-position: right 10px top 6px;  background-repeat: no-repeat; }
.sub-visual__wrap.type4 > .inner{background-image: url(../../images/sub/sub_visual_img4.png);background-position: right 12px top 5px; background-repeat: no-repeat;}
.sub-visual__wrap.type5 > .inner{background-image: url(../../images/sub/sub_visual_img5.png);background-position: right 12px top -15px; background-size:39%; background-repeat: no-repeat;}
.sub-visual__wrap.type4.findPw > .inner{background-image: url(../../images/sub/sub_visual_img4_2.png);background-position: right 12px top 5px; background-repeat: no-repeat;}

.sub-visual__wrap .group{width: 100%;}
.sub-visual__wrap .top{display: flex;justify-content: space-between;}
.sub-visual__wrap nav ul{display: flex;}
.sub-visual__wrap nav li{font-size: 16px;font-weight: 500;color: #444444;}
.sub-visual__wrap nav li:after{content:'';display: inline-block;width: 6px;height: 11px;margin: 0 18px 0 20px;background-color: #555555;mask-image: url(../../images/common/sub_nav_arrow_ic.svg);mask-repeat: no-repeat;}
.sub-visual__wrap nav li:last-child:after{content:none}
.sub-visual__wrap nav li.home:before{content:'';display: inline-block;width: 18px;height: 18px;margin-top: -4px;margin-right: 16px; background-image:url(../../images/common/home_ic.svg);background-repeat: no-repeat;background-position: 0 0;vertical-align: middle;}
.sub-visual__wrap h2{width: 100%;font-family: 'GMarketSans';font-size: 56px;letter-spacing: -.8px;color: #222222;}
.page-util{display: flex;gap: 10px;}
.page-util .btn{width: 40px;height: 40px;border-radius: 100%;border: 1px solid #e8e8e8;background-repeat: no-repeat;background-position: center;background-color: #fff;}
.page-util .share-btn{background-image:url(../../images/common/share_ic.svg);}
.page-util .print-btn{background-image:url(../../images/common/print_ic.svg);}

.no-sub-v .contents{padding-top: 45px;background-color: #fbfbfb;}
.no-sub-v .sub-visual__wrap{height: auto; border: none;background-color: transparent;}
.no-sub-v .sub-visual__wrap > .inner{background: none;}
.no-sub-v .sub-visual__wrap .page-util,
.no-sub-v .sub-visual__wrap h2{display: none}


/* 공유하기 팝업 */
body.overlay:before{content:'';position: fixed;top: 0;left: 0;z-index: 9998;width: 100%;height: 100vh;background-color: rgba(0, 0, 0, 0.6);}
.share-popwrap.active { display: block; }
.share-popwrap{max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow-y:auto;}
.share-popwrap{display: none;z-index: 9999;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);max-width: 460px;width: 100%;padding: 30px 30px 40px;border-radius: 20px;background: #fff;}
.share-popwrap .top{display: flex;justify-content: space-between;align-items: center;padding-bottom: 50px;}
.share-popwrap h3{padding-bottom: 0;font-weight: 600;font-size: 32px; color: #222;}
.share-popwrap .close-btn{position:relative; width:28px; height:28px; background-color:transparent; color:#222;}
.share-popwrap .close-btn::before{content:''; position:absolute; inset:0; background-color:currentColor; mask:url('../../images/header/screen_pop_close.svg') center / contain no-repeat; pointer-events:none;}
.share-popwrap .sns-list{display: flex;}
.share-popwrap .sns-list li{flex:1}
.share-popwrap .sns-list li + li{border-left: 1px dashed #d1d1d1;}
.share-popwrap .sns-list li a{width: 100%;padding: 0 30px;text-align: center;}
.share-popwrap .sns-list span{display: block;padding-top: 50px;font-size: 16px;font-weight: 500;background-repeat: no-repeat;background-position: top center;}
.share-popwrap .sns-list .blog span{background-image: url(../../images/common/view_blog.png);}
.share-popwrap .sns-list .facebook span{background-image: url(../../images/common/view_facebook.png);}
.share-popwrap .sns-list .instagram span{}
.share-popwrap .sns-list .twitter span{background-image: url(../../images/common/view_twitter.png);}
.share-popwrap .sns-list .youtube span{}
.share-popwrap .input-group{margin-top: 40px;}
.share-popwrap .input-group input{width: 100%;height: 45px;border: 1px solid #ddd;border-radius: 6px;font-size: 16px;font-weight: 600;background-color: #f5f5f5; text-align: center;color: #666;}
.share-popwrap .btn{display: flex;align-items: center;justify-content: center;width: 100%;height: 45px;margin-top: 10px;border-radius: 6px;border: 1px solid #2d4c8b;font-size: 16px;font-weight: 600;background:#fff;color:#2d4c8b;transition: color 0.3s ease, background-color 0.3s ease;}
.share-popwrap .btn:hover{background:#2d4c8b;color:#fff}

.sub_contents{margin: auto;padding: 55px 0 0;}
.sub_contents,.sub-container{min-height:800px;}
.sub_contents h2{display:none;}
.sub-container{position: relative;overflow: hidden; padding-bottom: 120px;}
.wid-type1{max-width: 1320px;width: 100%;margin: auto;padding:0 20px;}
.g-area{max-width: 1280px;width: 100%;margin: auto;}
.g-area h3{font-size:24px; color:#222; font-weight:700; line-height:40px; font-family:"Pretendard GOV";}
.g-area h3 strong{font-size:48px; line-height:80px; color:#353535; font-family:'GMarketSans'; display:block;}
.g-zone{display:flex; margin-top:50px;}
.g-zone > *{min-width:0; max-width:100%;}
.g-zone > :not(.g-text){flex-shrink:1;}
.g-zone .g-img{max-width:523px; border-radius:15px; overflow:hidden;}
.g-zone .g-img img{display:block; border-radius:15px;}
.g-zone img{max-width:100%; height:auto; }
.g-zone .g-text{flex:1; min-width:0; padding:35px 0px 35px 70px; overflow-wrap:anywhere; position:relative; letter-spacing:-1.2px;}
.g-zone .g-text .g-b-image{position:absolute; bottom:30px; right:30px;}
.g-zone .g-text strong{line-height:1.5; font-weight:600; font-size:30px; color:#444;}
.g-zone .g-text strong span{color:#0875b6; font-weight:700;}
.g-zone .g-text p{font-weight:500; color:#6c6c6c; font-size:24px; line-height:1.375; margin-top:40px;}
@media only screen and (max-width:1320px){
    .g-area{width:calc(100% - 40px);}
}
@media only screen and (max-width:1280px){
    .g-zone > :not(.g-text){max-width:45%;}
    .g-zone .g-text{padding:25px 0 25px 35px; letter-spacing:-0.8px;}
    .g-zone .g-text strong{font-size:26px;}
    .g-zone .g-text p{font-size:21px; line-height:1.5; margin-top:28px;}
    .g-zone .g-text .g-b-image{position:static; display:block; max-width:45%; height:auto; margin:28px 0 0 auto;}
}
@media only screen and (max-width:1024px){
    .g-zone{flex-direction:column; align-items:stretch; gap:30px; margin-top:35px;}
    .g-zone > :not(.g-text){align-self:center; max-width:100%;}
    .g-zone .g-text{flex:auto; padding:0;}
    .g-zone .g-text .g-b-image{max-width:240px; max-width:min(240px,45%);}
}
@media only screen and (max-width:768px){
    .g-area h3{font-size:20px; line-height:1.5;}
    .g-area h3 strong{font-size:32px; line-height:1.5;}
    .g-zone{gap:24px; margin-top:28px;}
    .g-zone .g-text{letter-spacing:-0.4px;}
    .g-zone .g-text strong{font-size:22px;}
    .g-zone .g-text p{font-size:18px; margin-top:20px;}
    .g-zone .g-text br{display:none;}
    .g-zone .g-text .g-b-image{margin-top:24px;}
}
@media only screen and (max-width:480px){
    .g-area h3{font-size:18px;}
    .g-area h3 strong{font-size:28px;}
    .g-zone{gap:20px; margin-top:24px;}
    .g-zone .g-text strong{font-size:20px;}
    .g-zone .g-text p{font-size:16px; margin-top:16px;}
    .g-zone .g-text .g-b-image{max-width:50%; margin-top:20px;}
}
.pb0{padding-bottom: 0 !important;}
.mb0{margin-bottom: 0 !important;}
/* 탭 */
.tab-wrap{display: flex;align-items: center;justify-content: center;}
.tab-wrap.full{max-width: 1280px;width: 100%;}
.tab-wrap::before {content: '';position: absolute;inset: 0;border-radius: 30px;pointer-events: none;z-index: 0;}
.tab-wrap ul{display: flex;flex-wrap: wrap;position: relative; border-radius: 30px;background-color: #f2f2f2;}
.tab-wrap.full ul{width: 100%;}
.tab-wrap li{flex: 1;}
.tab-wrap button{position: relative;z-index: 1;width: 100%;height: 56px;border-radius: 30px;font-family: 'GMarketSans';font-size: 19px;font-weight: 700;line-height: normal;color: #999999;transition: color 0.3s ease;}
.tab-wrap .on button{color:#fff}
.tab-wrap button span{display: block;margin-top: 5px;}
.tab-wrap.s-type button span{margin-top: 0;}
.tab-indicator {position: absolute;top: 0;left: 0;height: 56px;z-index: 0;border: 1px solid #0875b6; border-radius: 30px;background: #0875b6;transition: transform 0.3s ease, width 0.3s ease;}

.tab-wrap.min{max-width: 540px;width: 100%;margin: 0 auto 80px;}
.tab-wrap.min2{max-width: 600px;width: 100%;margin: 0 auto 80px;}
.tab-wrap.min ul,.tab-wrap.min2 ul{width: 100%;}

.cont-tab-box {display: none;position: relative;}
.cont-tab-box.on {display: block;}
.cont-tab{margin-top: 45px;margin-bottom: 55px;}
.cont-tab ul{display: flex;gap: 63px;justify-content: center;}
.cont-tab li{text-align: center}
.cont-tab button, .cont-tab a{position: relative;font-size: 21px;font-weight: 700; color: #6c6c6c;}
.cont-tab .on button,.cont-tab .on a{color:#0875b6;}
.cont-tab .on button:before,
.cont-tab .on a:before{content:'';position: absolute;  top: -14px;left: 50%; transform: translateX(-50%);width: 8px;height: 8px;border-radius: 100%;background: #0875b6;}

.tab-cont{display: none;;}
.tab-cont.on{display: block;}

/* 예약하기 팝업 */
.reserve-pop{max-width: 800px;width: 100%;}
.reserve-pop .top-desc{margin-top:35px;}
.reserve-pop h3 + .top-desc{margin-top:15px;}
.reserve-pop .top-desc,.reservation-page .top-desc{padding-bottom:0; border-bottom:0;}
.reserve-pop .scroll{overflow-y: auto;max-height: calc(100vh - 240px);padding-right: 5px;}
.reserve-pop .agree-form .cont .group,.reservation-page .agree-form .cont .group{padding-top:0;}
.reserve-pop .agree-form .cont .title{padding-bottom: 25px;font-size: 19px;font-weight: 700;color: #444444;}
.reserve-pop .agree-radio,.reservation-page .agree-radio{margin-top:30px;}
.reserve-pop .btn-wrap,.reservation-page .btn-wrap{margin-top:48px;}
.reserve-pop .reservation-step-title{margin:0; font-size:24px; font-weight:700; line-height:1.4; color:#222;}
.reserve-pop h3{padding-bottom:0px;}
.reservation-page-container{width:100%; max-width:1320px; margin:0 auto; padding:0 20px; box-sizing:border-box;}
.reservation-page .reservation-step-title{margin:0 0 30px; font-size:28px; font-weight:700; line-height:1.4; color:#0875b6;}
.reservation-page .top-desc{margin-top:0;}
.reservation-page .btn-wrap ul{gap:10px;}
.reservation-page .btn-wrap li{width:100%; max-width:160px;}
.reservation-page .btn-wrap .btn{width:100%;}
.reservation-modify-page .tbl-title{margin:0 0 24px; font-size:20px; font-weight:700;}
#reservationLookup .form-table select{width:100%; min-width:0; max-width:100%; padding-right:52px; text-overflow:ellipsis;}
html.dark-mode #reservationLookup .form-table select{color-scheme:dark;}
html.dark-mode #reservationLookup .form-table select option{background-color:var(--dm-bg); color:var(--dm-text);}
html.dark-mode #reservationLookup .form-table select option:disabled{color:var(--dm-muted);}
@media only screen and (max-width:1024px){
    .reservation-modify-page .form-table colgroup{display:none;}
    .reservation-modify-page .form-table tr{display:flex; flex-wrap:wrap; padding:12px 0; border-top:1px solid var(--color-gray);}
    .reservation-modify-page .form-table th,
    .reservation-modify-page .form-table td{display:block; width:100%; height:auto; min-width:0; box-sizing:border-box; border:0; padding:8px 0; overflow-wrap:anywhere;}
    .reservation-modify-page .form-table tr:last-child{border-bottom:1px solid var(--color-gray);}
    .reservation-modify-page .form-table tr:last-child th,
    .reservation-modify-page .form-table tr:last-child td{border-bottom:0;}
    html.dark-mode .reservation-modify-page .form-table tr{border-color:var(--dm-border);}
}
html.dark-mode .reserve-pop .reservation-step-title,
html.dark-mode .reservation-page .reservation-step-title{color:var(--dm-text);}
.reservation-page .form-table input[type="text"],
.reservation-page .form-table select,
.reserve-pop .form-table input[type="text"],
.reserve-pop .form-table select{width:440px; min-width:440px; max-width:100%; box-sizing:border-box;}
@media only screen and (max-width:1200px){
    .reservation-page .form-table input[type="text"],
    .reservation-page .form-table select,
    .reserve-pop .form-table input[type="text"],
    .reserve-pop .form-table select{width:100%; min-width:0;}
}
@media only screen and (max-width:768px){
    .reservation-page .reservation-step-title{margin-bottom:10px; font-size:24px;}
    .reservation-page .btn-wrap{margin-top:30px;}
}
.board .popwrap .btn-wrap .btn{width: 100%;height: 52px;border-radius: 6px;font-size: 18px;}
.pw-check .btn-wrap{margin-top: 60px;}


/* 예약하기 */
.reservation-cont.bg-type1:before{top: auto;bottom: 135px;}
.reservation-cont.bg-type2:after{top: 50%;transform: translateY(-50%);margin-top: -77px;}
.reservation-cont .top-box{display: flex;flex-wrap: wrap;align-items: center;padding-bottom: 55px;}
.reservation-cont .top-box p{font-family: 'Cafe24Danjeonghae';font-size: 36px;color: #222222;}
.reservation-cont .reservation-month-control{display: flex; align-items: center; gap: 28px; position: relative;}
.reservation-cont .month-picker-btn{flex-shrink: 0; width: 43px; height: 43px; border-radius: 9px; box-shadow: 2px 0 10px rgba(0,0,0,.14); border: 1px solid #d5d5d5; background: #fff url('../../images/main/calendar_ic.png') center no-repeat;}
.reservation-cont .month-picker-btn:hover{background-color: #ecf4f9;}
.reservation-cont .month-picker-panel{position: absolute; top: calc(100% + 12px); left: 0; z-index: 20; width: 280px; max-width: calc(100vw - 40px); padding: 16px; border: 1px solid #d4d4d4; border-radius: 12px; background: #fff; color: #222; box-shadow: 0 8px 24px rgba(45,76,139,.14);}
.reservation-cont .month-picker-heading{display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;}
.reservation-cont .month-picker-heading strong{font-size:22px;}
.reservation-cont .month-picker-heading button{width: 40px; height: 40px; border-radius: 6px; font-size: 26px; color: #2d4c8b;}
.reservation-cont .month-picker-grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px;}
.reservation-cont .month-picker-grid button{min-height: 44px; border-radius: 6px; font-size: 14px; color: #666;}
.reservation-cont .month-picker-grid button:hover{background: #ecf4f9; color: #0875b6;}
.reservation-cont .month-picker-grid button.selected{background: #2d4c8b; color: #fff; font-weight: 700;}
.reservation-cont .month-picker-close{display: block; width: 100%; min-height: 40px; margin-top: 10px; border-top: 1px solid #eee; color: #666; font-size: 13px;}
.reservation-cont .reservation-month-control button:focus-visible{outline: 2px solid #0875b6; outline-offset: 2px;}
.reservation-cont .tab-lists{margin-left: 34px;}
.reservation-cont .tab-scroll-wrap{position:relative; min-width:0;}
.tab-scroll-arrow{display:none;}
.tab-lists ul{ display: flex;gap: 8px;}
.tab-lists button{height: 43px;width: 100px;border-radius:6px;font-size: 18px;font-weight: 600;line-height: 1;color: #6c6c6c;}
.tab-lists .on button{border-radius: 6px;box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.14);border: 1px solid #0875b6;color:#0875b6;background:#fff;}

.info-wrap > ul{display: flex;flex-wrap: wrap;flex: auto;}
.info-wrap > ul > li{flex: auto;padding:0 50px;border-right: 1px solid #d6d6d6;}
.info-wrap > ul > li:first-child{padding-left:0;}
.info-wrap .title{margin-bottom: 15px;padding-left:35px;font-size: 24px;font-weight: 600;color: #222222;background-image: url(../../images/sub/title_ic.svg);background-repeat: no-repeat;background-position: 0 50%;}
.info-wrap li ul li{font-size: 17px;font-weight: 500;line-height: 1.4;color: #666666;}
.info-wrap li ul li + li{padding-top: 5px;}
.info-wrap li ul li.col-red{color:#cd4040}
.info-wrap li ul li .pc-br{display: block}
.reservation-cont .info-wrap{display: flex;flex-wrap: wrap;gap: 55px;}
.reservation-cont .info-toggle{display: none;}
a.reserve-view-btn{display: flex;align-items: center;justify-content: center;width: 140px;height: 140px;border-radius: 9px;box-shadow: 4px 0px 8px rgba(0, 0, 0, 0.09);border: 1px solid #8f6a54;background: #897267;font-size: 19px;font-weight: 700;color: #fff; text-align: center;transition: color 0.3s ease, background-color 0.3s ease;}
a.reserve-view-btn span{display: block;}
a.reserve-view-btn span:before{content:'';display:block;width: 36px;height: 36px;margin: 0 auto 16px;mask-image: url(../../images/sub/reserve_view_ic.svg);mask-repeat: no-repeat;background-color: #fff;transition:background-color 0.3s ease;}
a.reserve-view-btn:hover{background-color: #fff;color:#8f6a54;}
a.reserve-view-btn:hover span:before{background-color: #8f6a54;}

.calendar-tbl-wrap{margin-top: 40px; overflow-x: auto;}
.mobile-reservation-calendar{display: none;}
.calendar-tbl-wrap table{width: 100%;}
.calendar-tbl-wrap thead th{position: relative;padding: 30px 16px; border-bottom: 1px solid #222222;font-size: 14px;font-weight: 500;color: #000000;text-align: left;}
.calendar-tbl-wrap thead th:before{content:'';position: absolute;right: 0;bottom: 0;width: 1px;height: 6px;background:#222222}
.calendar-tbl-wrap thead th.sun{color:#ca1818;}
.calendar-tbl-wrap thead th.sat{color:#2f6ca4;}
.calendar-tbl-wrap td{position: relative; height: 195px;padding: 15px;vertical-align: top;}
.calendar-tbl-wrap td:first-child > span{color:#ca1818}
.calendar-tbl-wrap td:last-child > span{color:#3f7cb8;}
.calendar-tbl-wrap td:after{content:'';position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);width: calc(100% - 10px);height: 1px;background: #cdcdcd;}
.calendar-tbl-wrap td > span{display: block;font-size: 16px;font-weight: 500;color: #666666;}
.calendar-tbl-wrap .cal-cell{ padding-top: 14px;}
.calendar-tbl-wrap .cal-cell li{display: flex;gap: 10px;flex-wrap: wrap;gap: 0 10px;margin-top: 5px;line-height: 1.4;}
.calendar-tbl-wrap .cal-cell li span{font-size: 16px;font-weight: 600;letter-spacing: -1px;color: #666;}
.calendar-tbl-wrap .cal-cell li p{font-size: 16px;font-weight: 600;letter-spacing: -1px;}
.calendar-tbl-wrap .cal-cell li .col1{color:#be5838}
.calendar-tbl-wrap .cal-cell li .col2{color:#0875b6;}
.calendar-tbl-wrap .cal-cell a{}
.calendar-tbl-wrap .btn-reserve{display: flex;align-items: center;position: relative;width: 100%;height: 40px;margin-top: 15px;padding: 0 22px;border-radius: 6px;border: 1px solid #2d4c8b;font-size: 16px;font-weight: 600;color: #fff;background: #2d4c8b;transition: color 0.3s ease, background-color 0.3s ease;}
.calendar-tbl-wrap .btn-reserve:hover{background:#fff;color:#2d4c8b;}
.calendar-tbl-wrap .btn-reserve span:after{content:'';position: absolute;top: 50%;right: 12px;transform: translateY(-50%);width: 7px;height:12px;mask-size: 8px;mask-image: url(../../images/main/main_arrow_icon.svg);mask-repeat: no-repeat;background-color: #fff;}
.calendar-tbl-wrap .btn-reserve:hover span:after{background-color: #2d4c8b;}
.calendar-tbl-wrap::-webkit-scrollbar{height: 8px;}
.calendar-tbl-wrap::-webkit-scrollbar-track{border-radius: 30px;background: #f2f2f2;}
.calendar-tbl-wrap::-webkit-scrollbar-thumb{border-radius: 30px;background: #2d4c8b;}
.calendar-tbl-wrap::-webkit-scrollbar-thumb:hover{background: #999999;}
.calendar-tbl-wrap{padding-bottom: 10px;scrollbar-width: thin;scrollbar-color: #c1c1c1 #f2f2f2;}

.step-box{height: 56px;border-radius: 32px;background-color: #f2f2f2;}
.step-box ul{display: flex;height: 100%;}
.step-box li{display: flex;align-items: center;justify-content: center;flex: 1;text-align: center;font-family: 'GMarketSans';font-size: 19px;font-weight: 700;color: #999999;}
.step-box li.on{border-radius: 30px;background: #0875b6;color: #fff;}
.step-box li span{ display: block;margin-top: 5px; line-height: 100%;}

table{table-layout: fixed;border-collapse: collapse;}
.tbl-title{padding-bottom: 32px;font-size: 20px;font-weight: 700;color: #444444;}
#step02 .tbl-title{margin-top: 40px;}

/* 회원가입 */
/* 스크롤바 전체 */
.scroll::-webkit-scrollbar,
.reserve-pop::-webkit-scrollbar {width: 6px;border-radius: 30px;}
/* 트랙 */
.scroll::-webkit-scrollbar-track,
.reserve-pop::-webkit-scrollbar-track {border-radius: 30px;background: #f2f2f2;}
/* thumb */
.scroll::-webkit-scrollbar-thumb,
.reserve-pop::-webkit-scrollbar-thumb {border-radius: 30px;background: #0a6697;}
.scroll::-webkit-scrollbar-thumb:hover,
.reserve-pop::-webkit-scrollbar-thumb:hover {background: #0875b6;}
/* 스크롤바 끝 */
section.join{max-width: 1320px;width: 100%;margin: auto;padding:0 20px 120px;}
.join .form-table td{overflow-wrap: anywhere;}
.join .form-table input[type="password"]{min-width: 0;}
.modify-agree-question{margin-bottom:16px; text-align:center; font-size:18px; font-weight:600; line-height:1.5; color:#444;}
html.dark-mode .modify-agree-question{color:var(--dm-text);}
.form-table .input-btn-group.address{width:calc((100% - 10px) / 2); max-width:none;}
.form-table .input-btn-group.address input[type="text"]{max-width:100%; min-width:0; box-sizing:border-box;}
.join .form-table textarea{display: block;width: 100%;min-width: 0;min-height: 120px;padding: 16px 20px;border: 1px solid #d4d4d4;border-radius: 9px;font: inherit;background-color: #fff;color: #222;resize: vertical;}
.join .form-table textarea::placeholder{color: #777;}
.join-top{padding-bottom: 40px;}
.join-top.login{margin-bottom: 40px;}
.join-top .join-desc{padding-bottom: 12px;font-size: 24px;font-weight: 600;line-height: 1.4;}
.join-top .join-tit{display: block;padding-bottom: 22px;font-family: 'GMarketSans';font-size: 48px;font-weight: 700; line-height: 1.3;letter-spacing: -3px;}
.join-top .join-sub-desc{font-size: 18px;font-weight: 500; line-height: 1.4;color: #666666;}
.top-desc{display: flex;align-items: center;justify-content: space-between;margin-top: 50px;margin-bottom: 30px;padding-bottom: 50px; border-bottom: 1px solid #d8d8d8;}
.top-desc p{font-size: 20px;font-weight: 700;line-height: 1.5;color: #444444;}
.top-desc > span{font-size:26px; font-weight:500; line-height:1.5; color:#444;}
.agree-form + .agree-form{margin-top: 40px;}
.account-find .top-desc{padding-bottom: 0;border: none;}
.join .btn-wrap li a, .join .btn-wrap li button{width: 100%}

.join h3{margin-bottom: 25px;padding-left: 35px;font-family: 'Pretendard', sans-serif;font-size: 20px;font-weight: 700;color: #444444;background-image: url(../../images/sub/title_ic.svg);background-repeat: no-repeat;background-position: 0 50%;}
.join h3 span{color:#f08400;}
.agree-form .cont{ padding:5px;border: 1px solid #d4d4d4;border-radius: 9px;background-color: #fff;}
.agree-form .cont .inner{height:190px;overflow-y: auto;padding:15px 20px;}
.agree-form.choice .cont{height: 130px}
.agree-form .cont p,
.agree-form .cont li{font-size: 17px;font-weight: 500;line-height: 1.5;color: #666;}
.agree-form .cont p{font-weight:600;}
.agree-form .cont .inner > p + p,
.agree-form .cont .group,
.agree-form .cont .group + p{padding-top: 25px;}
.agree-radio{margin-top: 20px;}
.agree-radio ul{display: flex;flex-wrap: wrap;gap: 24px;}
.agree-radio.center ul{justify-content: center;}

.cert-box ul{display: flex;flex-wrap: wrap;gap: 18px; width: fit-content; margin:0 auto;}
.cert-box li{display: flex;flex-direction: column;flex: 1;padding: 40px;border: 1px solid #c3c3c3;border-radius: 13px;background-color: #fff;background-repeat: no-repeat;background-position: 40px 40px; align-items: center;}
.cert-box li.type1::before{content:""; display:block; width:86px; aspect-ratio:1; background: url(../../images/sub/cert_ic1.png) center center no-repeat; background-size:100%; margin-bottom:25px;}
.cert-box li.type2{background-image: url(../../images/sub/cert_ic2.png)}
.cert-box .title{font-size: 24px;font-weight: 700;color: #0875b6; margin-bottom:15px;}
.cert-box .txt{font-size: 17px;font-weight: 500;line-height:1.65;color: #777777; text-align:center;}
.cert-box a{display: flex;align-items: center; position: relative;width: 180px;max-width: 180px;height: 50px; margin-top: auto; padding-left: 24px;border-radius: 6px;border: 1px solid #0a6697; font-size: 16px;font-weight: 700;color:#0a6697;transition: background-color 0.3s ease, color 0.3s ease; margin-top:15px;}
.cert-box a span:after{content:'';position: absolute;top: 50%;right:20px;transform: translateY(-50%);width: 14px;height: 10px;background-color: #2462c8;mask-image: url(../../images/sub/btn_arrow_ic.svg);mask-position: center; mask-size: 100%; mask-repeat: no-repeat;transition: transform 0.3s ease, background-color 0.3s ease;}
.cert-box a:hover{background-color: #0a6697; color:#fff;}
.cert-box a:hover span:after{background-color: #fff;transform: translate(-5px, -50%);}

.join .top-box{display: flex;align-items: center;justify-content: space-between;margin-top: 60px; padding-bottom: 50px;}
.join .top-box h3{margin-bottom: 0; }
.join .top-box span{font-size: 16px;font-weight: 500;color: #666666;}
.join .top-box span em{margin-right: 8px;font-weight: 700;color: #d13100;}
#memberType02-write .top-box{margin-top: 52px;}

.board-write .top-box{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;padding-bottom: 55px;}
.board-write .top-box .info-title{padding-left: 34px;font-size: 20px;font-weight: 700;color: #444444;background-image: url(../../images/sub/title_ic.svg);background-repeat: no-repeat;background-position: 0 50%;}
.board-write .top-box .required{ font-size: 16px;font-weight: 500;color: #666666;}
.board-write .top-box .required em{margin-right: 8px;font-weight: 700;color: #d13100;}

/* 첨부파일 */
.file-upload { display: flex; align-items: center; justify-content: space-between;position: relative; overflow: hidden; }
.file-upload .file-name {display: flex;align-items: center;overflow: hidden;font-size: 16px;font-weight: 500;color: #777777;text-overflow: ellipsis; }
.file-upload .btn-check {display: flex;align-items: center;justify-content: center;position: absolute;right: 0;cursor: pointer; white-space: nowrap; }
.file-upload .btn-check span:before{content:''; display: inline-block;width: 15px;height: 14px;margin-right: 6px;background-color: #fff; mask-image:url(../../images/board/upload_ic.svg);mask-repeat: no-repeat;transition: background-color 0.3s ease;}
.file-upload .btn-check:hover span:before{background-color: #444444;}
.file-upload .file-input-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.captcha{--captcha-height:58px; display:flex; flex-wrap:nowrap; align-items:center; gap:10px; width:100%;}
.form-table .captcha > input[type="text"]{flex:1 1 160px; min-width:0; width:0; height:var(--captcha-height);}
.captcha .btn-check span:before{content:''; display: inline-block;width: 14px;height: 14px;margin-right: 6px;background-color: #fff; mask-image:url(../../images/board/refresh_ic.svg);mask-repeat: no-repeat;transition: background-color 0.3s ease;}
.captcha .btn-check:hover span:before{background-color: #444444;}
.captcha .item{--captcha-border:#444; display:flex; flex:0 0 auto; align-items:stretch; gap:0; position:relative; min-width:0; width:max-content; max-width:100%; height:var(--captcha-height); border:1px solid var(--captcha-border); border-radius:9px; box-sizing:border-box;}
.captcha .img-box{flex:0 0 auto; width:auto; height:calc(var(--captcha-height) - 2px); overflow:hidden; border-radius:8px 0 0 8px;}
.captcha .img-box img{display:block; width:auto; height:100%; max-width:none; background:#fff;}
.captcha .item .btn-check{position:static; flex:0 0 120px; width:120px; height:auto; margin:0; border:0; border-left:1px solid var(--captcha-border); border-radius:0 8px 8px 0; box-sizing:border-box;}
html.dark-mode .captcha .item{--captcha-border:var(--dm-accent);}
@media only screen and (max-width:768px){
    .captcha{--captcha-height:45px;}
}


.board-view.type2.bg-type1:before{top: auto;bottom: -70px;}
.board-write.type3.bg-type1:before{ top: auto;bottom: -310px;}
.form-table + .btn-wrap{margin-top: 40px;}

.finish{margin-top: 100px;padding-bottom: 45px;border-bottom: 1px solid #d8d8d8;background-image: url(../../images/sub/join_success_img.png);background-repeat: no-repeat;background-position: right bottom 45px}
.finish strong{display: block;padding-bottom: 18px;font-size: 30px;font-weight: 700;line-height: 1.5;color: #0875b6;}
.finish .desc1{padding-bottom: 18px;font-size: 20px;font-weight: 700;line-height: 1.4;color: #444444;}
.finish .desc2{font-size: 18px;font-weight: 500;line-height: 1.6667;color: #666666;}
.finish .desc2 span{font-weight: 700;color:#e75829;}
.finish .btn-wrap{margin-top: 130px;}
.finish .btn-wrap ul{justify-content: left; gap: 10px;}
.finish .btn-wrap li{max-width: 160px;}

/* 로그인 */
.login-wrap{display: flex;gap: 100px;padding-bottom: 40px;border-bottom: 1px solid #d8d8d8;}
.login-wrap form {flex: 1 1 540px;max-width: 540px;min-width: 320px;}
.login-wrap .guide-box {flex: 1 1 300px;min-width: 280px;padding-top: 36px;padding-left: 60px;border-left: 1px solid #d8d8d8;background-image: url(../../images/sub/login_img.png);background-repeat: no-repeat;background-position: bottom center; background-size:90% auto;}
.login-wrap input[type="text"],
.login-wrap input[type="password"]{width: 100%;height: 62px;padding: 0 30px;border-radius: 9px;border: 1px solid #d4d4d4;font-size: 17px;font-weight: 500;color: #222;background-color: #fff;}
.login-wrap input[type="text"]::placeholder,
.login-wrap input[type="password"]::placeholder{color: #777777;}
.login-wrap .input-group + .input-group{margin-top: 35px;}
.login-wrap .btn-wrap{margin-top: 22px;}
.login-wrap .checkbox{margin-top: 24px;}
.login-wrap .util {display: flex; align-items: center;justify-content: space-between;margin-top: 34px;}
.login-wrap .util a{letter-spacing: -.8px;}
.login-wrap .util .find{font-size: 17px; font-weight: 500;color: #666666;transition: color 0.3s ease;}
.login-wrap .util .find:hover{color:#444;}
.login-wrap .util .join{font-size: 17px;font-weight: 700;color: #0a6697;text-decoration: underline;}
.login-wrap .guide-box li{text-indent: -18px;padding-left: 18px;font-size: 18px;font-weight: 500;line-height: 1.625;color: #666666;}
.login-wrap .guide-box li:before{content:'';display: inline-block;width: 5px;height: 5px;margin-right: 12px;margin-top: -5px;background-color: #888888;border-radius: 100%;vertical-align: middle;}
.login-wrap .guide-box li + li{margin-top:20px;}
.login-wrap .btn-wrap button{width: 100%;letter-spacing: -1px;}

/* 마이페이지 */
.sub_contents.mypage{padding-top:0;}
.mypage .sub-container{padding-top: 55px;}
.mypage .sub-container.bg-type1:before{top: auto;bottom: -60px;}
.mypage .sub-container.bg-type2:after{top: 50%;transform: translateY(-50%);margin-top: -100px;}
.mypage .btn-wrap a,
.mypage .btn-wrap button{width: 100%}
.mypage .agree-radio{margin-top: 40px;}

/* 관람안내 */
.using-guide{padding-bottom: 45px;}
.using-guide .wid-type1{position: relative; z-index: 2;}
.using-guide .item{display: flex;flex-wrap: wrap;gap: 0 73px;}
.using-guide .item > li{width: calc(33.333% - 49px); padding: 28px 20px 50px;border-top: 1px solid #d4d4d4;}
.using-guide .title{margin-bottom: 22px;padding-left: 35px;font-size: 24px;font-weight: 600;color: #222222;background-image: url(../../images/sub/title_ic.svg);background-repeat: no-repeat;background-position: 0 50%;}
.using-guide img{width: 100%;max-width: 338px;}
.using-guide .text-list li{font-size: 17px;font-weight: 500;line-height: 1.4;color: #666666;}
.using-guide .text-list.dot li{text-indent: -7px;padding-left: 7px;}
.using-guide .text-list.dot li:before{content:'';display: inline-block;width: 3px;height: 3px;margin-top: -4px;margin-right: 4px;border-radius: 100%;background-color: #666666;vertical-align: middle;}
.using-guide .text-list li + li{margin-top: 8px;}
.using-guide .text-list .red{color:#cd4040;}
.using-guide .text-list.dot li span{padding-left: 6px;}
.using-guide .link-box{display: flex;gap: 8px;  margin-top: 25px;}
.using-guide .link-box a{display: flex;align-items: center;max-width: 150px;width: 100%;height: 40px;padding:0 20px;border-radius: 7px;border: 1px solid #d8d8d8;font-size: 16px;color: #1d1d1d;transition: background-color 0.3s ease;}
.using-guide .link-box a span{display: block;width: 100%;background-image: url(../../images/sub/btn_right_arrow_ic.svg); background-repeat: no-repeat;background-position: right center;}
.using-guide .link-box a:hover{background-color: #f6f6f6;}

.cont-slide-wrap{position: relative;padding: 105px 0 120px;background-color: #fbfbfb;}
.cont-slide-wrap:before{top: -270px;z-index: 1}
.cont-slide-wrap .inner{ overflow: hidden;}
.cont-slide-wrap .top-box{display: flex;align-items: center;justify-content: space-between;position: relative;z-index: 2;max-width: 1280px;margin: 0 auto 40px;padding: 0 20px;}
.cont-slide-wrap .swiper-btn-wrap{display: flex;align-items: center;gap: 7px;}
.cont-slide-wrap .swiper-btn-wrap button{width: 40px;height: 40px;border-radius: 100%;border: 1px solid #999999;background-color: #fff;background-position: center;background-repeat: no-repeat;cursor: pointer;transition: border-color .2s;}
.cont-slide-wrap .swiper-btn-wrap button:hover{border-color: #444444;}
.cont-slide-wrap .swiper-btn-wrap button:before{content:'';display: block;width: 7px;height: 11px;margin: auto;background-color: #444444;mask-image: url(../../images/sub/btn_right_arrow_ic.svg);mask-repeat: no-repeat;}
.cont-slide-wrap .swiper-btn-wrap .swiper-prev:before{transform: rotate(180deg);}
.cont-slide-wrap .swiper-btn-wrap button.swiper-button-disabled{opacity: .4;cursor: default;}
.cont-slide-wrap .slide-box{padding-left: max(20px, calc((100% - 1280px) / 2 + 20px));}
.cont-slide-wrap .slide-box .swiper{overflow: visible;}
.cont-slide-wrap .slide-box .swiper-slide{max-width: 582px;}
.cont-slide-wrap .slide-box .img{position: relative;width: 100%;max-width: 582px;aspect-ratio: 1 / 1;border-radius: 12px;overflow: hidden;}
.cont-slide-wrap .slide-box .img:before{content:'';position: absolute;inset: 0;background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.7) 150%);pointer-events: none;z-index: 1;}
.cont-slide-wrap .slide-box .img img{width: 100%;height: 100%;object-fit: cover;}
.cont-slide-wrap .slide-box p{position: absolute;bottom: 45px;left: 45px;z-index: 2;font-size: 28px;font-weight: 700;color: #fff;text-align: center;}

/* 오시는 길 */
.direction.bg-type1:before{top: auto;bottom: -205px;}
.direction.bg-type2:after{top: 50%;transform: translateY(-50%);margin-top: -80px;}
h3.sub-title{padding-left: 34px; margin-bottom: 40px;font-family: 'Pretendard', sans-serif;font-weight: 600;font-size: 28px;letter-spacing: -.8px;color: #222222;background-image: url(../../images/sub/title_ic.svg);background-repeat: no-repeat;background-position: 0 50%;}
#map{height: 540px;  border: 1px solid #d6d6d6;border-radius: 16px;overflow: hidden;}
.direction .info-list{display: flex;flex-wrap: wrap;margin-top: 30px;}
.direction .info-list li{display: flex;flex-wrap: wrap;flex: 1;position: relative;}
.direction .info-list li.type2:before{content:'';position: absolute;top: 50%;transform: translateY(-50%);left: 0;width: 1px;height: 52px;background: #d6d6d6;}
.direction .info-list li.type3:before{display:none; content:'';position: absolute;top: 50%;transform: translateY(-50%);left: 0;width: 1px;height: 52px;background: #d6d6d6;}
.direction .info-list li.type1{padding-right: 40px;}
.direction .info-list li.type2{padding-left: 40px;}
.direction .info-list .tit:before{content:'';display: inline-block;width: 36px;height: 36px;margin-right: 22px;border-radius: 100%;background-color: #fd8b7b;background-repeat: no-repeat;background-position: center;vertical-align: middle;}
.direction .info-list .type1 .tit:before{background-image: url(../../images/sub/direction_ic1.png);}
.direction .info-list .type2 .tit:before{background-image: url(../../images/sub/direction_ic2.png);}
.direction .info-list .type3 .tit:before{background-image: url(../../images/sub/direction_ic3.png);}
.direction .info-list .tit{padding-right: 35px;font-size: 24px;font-weight: 600;color: #222222;}
.direction .info-list .con-txt{flex: 1;padding-top: 5px;font-size: 17px;font-weight: 500; line-height: 1.4;color: #666666;}
.root_daum_roughmap {position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
.root_daum_roughmap .wrap_map, .root_daum_roughmap .wrap_map iframe { width: 100% !important; height: 100% !important; }
.root_daum_roughmap .wrap_controllers { display: none !important; }






@media only screen and (max-width:1440px) {
    .bg-type1:before{width: 300px;height: 396px;background-size: 100% auto;}
    .bg-type2:after{width: 180px;height: 272px;background-size: 100% auto;}
    .cont-slide-wrap:before{ top: -160px;}
}


@media only screen and (max-width:1280px) {
    /*.join-top{padding-bottom: 30px;margin-bottom: 40px;}*/
    /*.join-top .join-desc{font-size: 20px;}*/
    /*.join-top .join-tit{padding-bottom: 10px;font-size: 40px;letter-spacing: -1.4px;}*/
    /*.join-top .join-sub-desc{ font-size: 16px;}*/
    /*.step-box{height: 48px;}*/
    /*.step-box li{font-size: 17px;}*/
    /*.agree-top{padding-bottom: 40px;}*/
    /*.agree-top p{font-size: 18px;}*/
    /*input[type="checkbox"] + label:before{margin-right: 10px;}*/
    /*input[type="checkbox"] + label:before{width: 20px; height: 20px;}*/
    /*input[type="radio"] + label:before{width: 20px;height: 20px;margin-right: 10px;}*/
    /*input[type="radio"]:checked + label:after{top:2px;}*/
    /*.agree-form h3{padding-left: 28px;font-size: 19px;}*/
    /*.agree-form .cont .inner > p + p, .agree-form .cont .group, .agree-form .cont .group + p{padding-top: 18px;}*/
    /*.agree-form .cont p, .agree-form .cont li{font-size: 16px;}*/
    /*.btn-wrap .btn{height: 60px;font-size: 20px;}*/

    .sub_contents h2{display: none;font-size: 32px;}
    .cont-tab{margin:40px 0;}
    .cont-tab button,.cont-tab a{font-size: 19px;}
    /* 관람안내 */
    .using-guide .title{margin-bottom: 18px;padding-left: 28px;font-size: 20px;}
    .using-guide .item{gap: 0 50px;}
    .using-guide .item > li{width: calc(33.333% - 34px);padding: 25px 20px 40px;}
    .using-guide .text-list li{font-size: 16px;}
    .using-guide .text-list li + li {margin-top: 5px;}
    .cont-slide-wrap{padding: 70px 0 100px;}
    .cont-slide-wrap h3{font-size: 30px;}
    .cont-slide-wrap .slide-box p{bottom: 30px;left: 30px;font-size: 24px;}

    h3.sub-title{padding-left: 28px;margin-bottom: 30px;font-size: 24px;}
    #map{height: 400px;}
    .direction{padding-bottom: 80px;}
    .direction .info-list .tit{padding-right: 20px;font-size: 21px;}
    .direction .info-list .tit:before{width: 32px;height: 32px; margin-right: 15px;background-size: 11px auto;}
    .direction .info-list .con-txt{font-size: 16px;}

    .reservation-cont .info-wrap{gap: 35px;}
    .info-wrap > ul > li{padding: 0 30px;}

}

@media only screen and (max-width:1024px) {
    .sub-visual__wrap{height: auto;padding-top: 40px;border-bottom: none;background:none}
    .sub-visual__wrap > .inner{padding: 0;background:none !important;}
    .sub-visual__wrap.type4 > .inner{ }
    .sub-visual__wrap h2{padding-top: 25px;font-size: 32px;}
    .sub-visual__wrap .group{position: relative;}
    .page-util .share-btn{position: absolute;right: 50px;bottom: 0;}
    .page-util .print-btn{position: absolute;right: 0;bottom: 0;}
    /*.page-util .print-btn{display: none}*/
    .share-popwrap h3{font-size: 24px;}
    .share-popwrap .close-btn{width:22px; height:22px;}
    .share-popwrap .sns-list span{font-size: 15px;}
    .share-popwrap .input-group input{font-size: 15px;}
    .share-popwrap .copy-btn{font-size: 15px;}
    .sub_contents{padding: 25px 0 0;}
    .sub_contents,.sub-container{min-height:38vh;}

    .bg-type1:before,
    .bg-type2:after{background:none}

    section.sub{padding: 36px 20px 70px;}
    .reservation-cont .top-box p{font-size: 24px;}
    .reservation-cont .tab-lists {margin-left: 15px;}
    .tab-lists button{width: 80px;font-size: 15px;}
    .info-wrap > ul > li{padding:0 20px;font-size: 15px;}
    .info-wrap > ul > li:last-child{border-right: none}
    .info-wrap .title{padding-left: 25px;font-size: 18px;}
    a.reserve-view-btn{width: 100%;height: 52px;font-size: 16px;}
    a.reserve-view-btn span:before{display: inline-block;width: 22px;height: 22px;margin-right: 10px;margin-top: 6px;mask-size: 22px;vertical-align: middle;;}

    .calendar-tbl-wrap table{min-width: 0; table-layout: fixed;}
    .calendar-tbl-wrap col{width: calc(100% / 7) !important;}
    .calendar-tbl-wrap thead th{padding: 15px 8px;}
    .calendar-tbl-wrap td{padding: 12px 6px; overflow-wrap: anywhere;}
    .calendar-tbl-wrap .btn-reserve{justify-content: center; height: auto; min-height: 40px; padding: 8px 4px; font-size: 13px; text-align: center;}
    .calendar-tbl-wrap .btn-reserve span:after{display: none;}
    .calendar-tbl-wrap td {height: 175px;}
    .calendar-tbl-wrap .cal-cell{padding-top: 10px;}
    .calendar-tbl-wrap .cal-cell li span{font-size: 15px;}
    .calendar-tbl-wrap .cal-cell li p{font-size: 15px;}

    .popwrap .cont{padding:30px 20px;}
    .popwrap .agree-form .cont{padding:0px;}
    .popwrap .btn-wrap{margin-top: 40px;}
    .popwrap .top-box{height: 70px;}
    .popwrap .top-box .title{padding-left: 26px;font-size: 19px;}

    /* 회원가입 */
    /*.join-top{padding-bottom: 20px;margin-bottom: 30px;}*/
    /*.join-top .join-desc{font-size: 17px;}*/
    /*.join-top .join-tit{padding-bottom: 6px;font-size: 26px;}*/
    /*.join-top .join-sub-desc{font-size: 15px;}*/
    /*.step-box{height: 45px;}*/
    /*.step-box li{font-size: 15px;}*/
    /*.step-box li span{margin-top: 2px;}*/
    /*.agree-top{flex-wrap: wrap;padding-bottom: 25px;margin-bottom: 25px;}*/
    /*.agree-top p{flex: auto;width: 100%;padding-bottom: 15px;font-size: 17px;}*/
    /*.agree-form h3{font-size: 17px;}*/

    .sub_contents h2{padding-bottom: 30px;font-size: 24px;}
    .sub-container{padding-bottom: 60px;}
    .cont-tab{margin: 25px 0;}
    .cont-tab button,.cont-tab a{font-size: 17px;}
    .cont-tab .on button:before,.cont-tab .on a:before{top: -8px;width: 5px;height: 5px;}
    /* 관람안내 */
    .using-guide .item{gap: 0 20px;}
    .using-guide .item > li{width: calc(50% - 10px);padding: 20px 12px 25px;}
    .using-guide .title{margin-bottom: 12px;padding-left: 25px;font-size: 17px;}
    .using-guide .text-list li{font-size: 15px;}
    .using-guide .link-box a{height: 36px;padding: 0 15px;font-size: 14px;}
    .cont-slide-wrap{padding: 40px 0 50px;}
    .cont-slide-wrap .top-box{margin: 0 auto 20px;}
    .cont-slide-wrap .swiper-btn-wrap button{width: 36px;height: 36px;}
    .cont-slide-wrap .slide-box p{bottom: 20px;left: 16px;font-size: 17px;}

    /* 오시는 길 */
    h3.sub-title{padding-left: 24px;margin-bottom: 20px;font-size: 20px;background-size: 12px auto;}
    .direction .info-list li.type2:before{height: 40px;}
    .direction .info-list .tit{padding-right: 15px;font-size: 18px;}
    .direction .info-list .con-txt{font-size: 15px;}

}

@media only screen and (max-width:768px) {
    .sub-visual__wrap nav li{ font-size: 15px;}
    .sub-visual__wrap nav li.home:before{width: 14px;height: 14px;margin-right: 10px;background-size: 14px auto;}
    .sub-visual__wrap nav li:after{margin: 0 12px 0 15px}
    .sub-visual__wrap h2{font-size: 25px;}
    .share-popwrap{ width: calc(100% - 40px);padding: 30px 20px;}
    .share-popwrap .top{padding-bottom: 35px;}
    .share-popwrap h3{font-size: 20px;}
    .share-popwrap .sns-list li a{padding: 0 12px;}
    .share-popwrap .sns-list span{padding-top: 45px;background-size: 35px auto;}

    .sub-container{padding-bottom: 50px;}

    .reservation-cont .top-box p{font-size: 30px;}
    .reservation-cont .reservation-month-control{gap: 20px;}
    .reservation-cont .month-picker-btn{width: 38px; height: 38px; background-size: 16px auto;}
    .reservation-cont .tab-lists{flex: auto;width: 100%;margin-left: 0;}
    .reservation-cont .top-box{gap: 15px;padding-bottom: 20px;}
    .info-wrap > ul > li{flex:auto;width: 100%;padding: 5px 0 20px;border-bottom: 1px solid #d6d6d6;border-right: none; flex:1;}
    .info-wrap > ul > li:first-child{border-top:1px solid #d6d6d6;}
    .info-wrap .title{font-size: 17px;}
    .info-wrap li ul li{font-size: 15px;}
    .reservation-cont .info-wrap{gap: 20px 0;}
    .reservation-cont .info-wrap > ul{border-top: 1px solid #d6d6d6;}
    .reservation-cont .info-wrap > ul > li{padding-top: 12px; padding-bottom: 12px;}
    .reservation-cont .info-wrap > ul > li:first-child{border-top: 0;}
    html.dark-mode .reservation-cont .info-wrap > ul{border-top-color: var(--dm-border);}
    .reservation-cont .info-section-heading{display: flex; align-items: center; justify-content: space-between; gap: 12px;}
    .reservation-cont .info-section-heading .title{margin-bottom: 0;}
    .reservation-cont .info-toggle{display: block; flex-shrink: 0; width: 44px; height: 44px; border-radius: 6px; background: url('../../images/common/dropdown_open.png') center / 16px auto no-repeat; transform: rotate(180deg); transition: transform .2s ease;}
    .reservation-cont .info-section.is-collapsed .info-toggle{transform: none;}
    .reservation-cont .info-toggle:focus-visible{outline: 2px solid #0875b6; outline-offset: 2px;}
    .reservation-cont .info-section-content{margin-top: 12px;}
    .reservation-cont .info-section.is-collapsed .info-section-content{display: none;}
    .calendar-tbl-wrap{margin-top: 24px; padding-bottom: 0; overflow: visible;}
    .calendar-desktop{display: none;}
    .mobile-reservation-calendar{display: block; overflow-anchor: none;}
    .reservation-layout{display: flex; flex-direction: column;}
    .reservation-layout > .top-box{display: contents;}
    .reservation-layout > .top-box > .tab-scroll-wrap{order:0; width:100%; padding-bottom:20px;}
    .tab-scroll-wrap .tab-lists{padding:2px 0 10px;}
    .tab-scroll-wrap .tab-lists li{flex-shrink:0;}
    .tab-scroll-wrap .tab-scroll-arrow{display:flex; align-items:center; justify-content:center; position:absolute; top:5px; z-index:2; width:32px; height:36px; border:1px solid #d4d4d4; border-radius:8px; background:#fff; color:#0875b6; font-size:28px; line-height:1; box-shadow:0 2px 8px rgba(0,0,0,.15);}
    .tab-scroll-wrap .tab-scroll-arrow.prev{left:0;}
    .tab-scroll-wrap .tab-scroll-arrow.next{right:0;}
    .tab-scroll-wrap .tab-scroll-arrow:focus-visible{outline:2px solid #0875b6; outline-offset:2px;}
    html.dark-mode .tab-scroll-wrap .tab-scroll-arrow{background:var(--dm-surface); border-color:var(--dm-accent); color:var(--dm-accent);}
    .reservation-layout > .info-wrap{order: 1;}
    .reservation-layout > .top-box > .reservation-month-control{order: 2; align-self: center; gap:15px; justify-content: center; margin-top: 28px; scroll-margin-top: 120px;}
    .reservation-layout > .mobile-reservation-calendar{order: 3; margin-top: 16px;}
    .reservation-cont .month-picker-panel{left: 50%; transform: translateX(-50%);}
    .mobile-day-list{display: flex; flex-direction: column; border-top:1px solid #494949}
    .mobile-day-card{display: grid; grid-template-columns: max-content minmax(0, 1fr) 64px; align-items: center; gap: 20px; min-height: 61px; padding: 20px 8px; border-bottom: 1px solid #e5e5e5; background: #fff;}
    .mobile-day-date{display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;}
    .mobile-day-date strong{font-size: 20px; font-weight: 500; line-height: 1.2; color: #777; white-space: nowrap;}
    .mobile-day-date span{font-size: 17px; font-weight: 600; line-height: 1.4; color: #222;}
    .mobile-day-card .cal-cell{grid-column: 2; min-width: 0;}
    .mobile-day-card .cal-cell li{display: grid; grid-template-columns: max-content minmax(0, 1fr); margin-top: 0; line-height: 1.5;}
    .mobile-day-card .cal-cell li + li{margin-top: 6px;}
    .mobile-day-card .cal-cell li span,
    .mobile-day-card .cal-cell li p{font-weight: 600; white-space: nowrap;}
    .mobile-reservation-calendar .mobile-day-card .btn-reserve{grid-column: 3; grid-row: 1; justify-content: center; width: 100%; height: 72px; min-height: 0; margin: 0; padding: 8px 4px; border-radius: 7px; text-align: center; font-size: 16px; line-height: 1.4;}
    .mobile-loading-spinner{display: inline-block; width: 22px; height: 22px; border: 2px solid #d4d4d4; border-top-color: #2d4c8b; border-radius: 50%; animation: reservation-loading .8s linear infinite;}
    .mobile-day-loader{padding: 24px 0; text-align: center;}
    .mobile-day-loader p{margin-bottom: 12px; font-size: 14px; line-height: 1.5; color: #777;}
    .mobile-day-loader button{width: 100%; min-height: 44px; border: 1px solid #d4d4d4; border-radius: 6px; color: #2d4c8b; font-size: 14px; font-weight: 600;}
    .mobile-day-loader button:focus-visible{outline: 2px solid #0875b6; outline-offset: 2px;}
    .calendar-tbl-wrap td:after{display: none;}
    .calendar-tbl-wrap .cal-cell{padding-top: 8px; padding-bottom: 12px;}
    .calendar-tbl-wrap .cal-cell li{justify-content: space-between; gap: 2px 8px;}
    .calendar-tbl-wrap .cal-cell li span,
    .calendar-tbl-wrap .cal-cell li p{font-size: 13px; letter-spacing: -.4px;}
    .calendar-tbl-wrap .btn-reserve{margin-top: auto; min-height: 44px;}
    .calendar-tbl-wrap td > span{font-size: 15px;}
    .calendar-tbl-wrap .btn-reserve{font-size: 14px;}


    /* 관람안내 */
    .using-guide{padding-bottom: 20px;}
    .using-guide .item > li{width: 100%;padding: 20px 12px;}

    /*오시는 길*/
    .direction .info-list li{flex:auto; width:100%;}
    .direction .info-list li.type1{padding-right: 0;padding-bottom: 15px;}
    .direction .info-list li.type2,.direction .info-list li.type3{padding-left: 0;padding-top: 15px;}
    .direction .info-list li.type2:before,.direction .info-list li.type3:before{display:block; top: 0;transform: initial;width: 100%;height: 1px;}
    .direction .info-list .tit{flex: auto;width: 100%;padding-right: 0;font-size: 17px;}
    .direction .info-list .tit:before{width: 28px;height: 28px;margin-right: 10px;background-size: 10px auto;}
    .direction .info-list li.type3 .tit:before{background-size:14px auto;}
    .direction .info-list .con-txt{padding-top: 10px;padding-left: 38px;}
    #map{height: 300px;}
}
@media only screen and (max-width:480px) {
    .share-popwrap .sns-list{flex-wrap: wrap;}
    .share-popwrap .sns-list li{flex: auto;width: 100%;}
    .share-popwrap .sns-list li + li{border-left: none;border-top: 1px dashed #d1d1d1;}
    .share-popwrap .sns-list li a{padding: 15px 0;}
    .share-popwrap .sns-list li:first-child a{padding-top: 0;}
    .share-popwrap .sns-list li:last-child a{padding-bottom: 0;}


    .cont-tab ul{gap: 20px;}
    .cont-tab li{flex: auto;}
    .cont-tab button,.cont-tab a{font-size: 16px;}

    /* 관람안내 */
    .cont-slide-wrap .slide-box{padding: 0 20px;}
    .cont-slide-wrap .slide-box .swiper{overflow: hidden;}
}



@media only screen and (max-width:380px) {
    .mobile-day-card{grid-template-columns: max-content minmax(0, 1fr) 52px; gap: 14px; padding-right: 4px; padding-left: 4px;}
    .mobile-reservation-calendar .mobile-day-card .cal-cell li span,
    .mobile-reservation-calendar .mobile-day-card .cal-cell li p{font-size: 12px;}
    .mobile-reservation-calendar .mobile-day-card .btn-reserve{font-size: 12px;}
}
@keyframes reservation-loading {to{transform: rotate(360deg);}}
@media (prefers-reduced-motion: reduce) {
    .mobile-loading-spinner{animation: none;}
}

/*2026-09-29 이주원 추가*/

.step-box li em{font-style:normal;}

.find_wrap .tit{font-size:32px; font-weight:600;}
.find_wrap{max-width:1320px; width:100%; margin:auto; padding:0 20px 120px;}
.find_wrap .tab_ul{height:56px; border-radius:32px; background:#f2f2f2;}
.find_wrap .tab_ul ul{display: flex;height: 100%;}
.find_wrap .tab_ul li{border-radius: 30px; display: flex;align-items: center;justify-content: center;flex: 1;text-align: center;font-family: 'GMarketSans';font-size: 19px;font-weight: 700;color: #999999;}
.find_wrap .tab_ul li.on{background: #0875b6;}
.find_wrap .tab_ul li a{display:flex; align-items: center; justify-content: center; width:100%; height: 100%; border-radius: 30px !important;}
.find_wrap .tab_ul li.on a{color:#fff;}
.find_wrap .tab_ul li span{ display: block;margin-top: 5px; line-height: 100%;}
.find_wrap .top-desc{margin-bottom:0px; border-bottom:0px;}

@media only screen and (max-width: 1200px){
    .form-table .input-group:not(.email):not(.number){flex-direction:column; gap:5px 0; width:100%; min-width:0; align-items:start;}
    .form-table td > input[type="text"],.form-table td > input[type="password"],
    .form-table .input-group:not(.email):not(.number) > input[type="text"],
    .form-table .input-group:not(.email):not(.number) > input[type="password"]{width:100%; min-width:0; max-width:100%; flex:none; box-sizing:border-box;}
}

@media only screen and (max-width: 1100px){
    .no-sub-v .contents{padding-top:0px;}
    .login-wrap{gap:40px;}
    .login-wrap form{max-width:440px;}
    .login-wrap .guide-box{background-size:90% auto; padding-top:20px; padding-left:30px;}
    .top-desc{flex-direction: column; align-items: start; gap:20px 0px;}
}


@media only screen and (max-width: 768px){
    .form-table .input-btn-group,.form-table .input-btn-group.address{width:100%; min-width:0; max-width:100%; flex:none;}
    .form-table .input-btn-group input[type="text"]{width:100%; min-width:0; max-width:100%; flex:none; box-sizing:border-box;}
    .join-top .join-desc{font-size:18px;}
    .join-top .join-tit{font-size:32px;}
    .join-top .join-sub-desc{font-size:16px;}
    .join-top.login{margin-bottom:0px; padding-bottom:0px;}

    .step-box li,.step-box li span,.find_wrap .tab_ul li, .find_wrap .tab_ul li a,.step-box li.on{font-size:16px; display:flex; flex-direction:column; gap:2px 0px;}
    .join .top-box{margin-top:40px; padding-bottom:30px;}
    .form-table table,.form-table tbody,.form-table tr{display:flex; flex-direction:column;}
    .form-table th,.form-table td{display:flex; flex-wrap:wrap; align-items:center; height:auto; min-height:0px; font-size:16px;}
    .form-table th{padding:20px 10px 10px;}
    .form-table td{border-top:0px; padding:0px 10px 10px;}
    .form-table .input-group{flex-wrap:wrap;}
    .form-table input[type="text"].name,.form-table .email input[type="text"],.form-table .email select{max-width:unset;}
    .form-table .email.input-group{gap:5px 0px; flex-direction:row; align-items:center; justify-content: space-between;}
    .form-table .email.input-group #email1{width:calc(100% - 20px);}
    .form-table .number.input-group{gap:0px 5px; flex-direction:row; align-items:center; justify-content: space-between; width:100%;}
    .form-table .number.input-group select,.form-table .number.input-group input{flex:0 0 29%;}
    .form-table tr:last-child th{border-bottom:0px;}
    .form-table .input-btn-group.address .btn-check,.form-table .input-btn-group .btn-check{font-size:14px; width:100px; margin-left:-100px;}
    .top-desc{flex-direction: column; align-items: start; gap:10px 0px; margin-top:25px; margin-bottom:15px; padding-bottom:25px;}
    .agree-form .cont .inner{max-height:100%;}
    .cert-box a{min-height:50px; margin:20px auto 0px;}
    .cert-box ul{flex-direction:column;}
    .top-desc p{font-size:16px;}

    .cert-box li{background-position:center 20px; height:auto; padding:0px; width:100%; padding:20px;}
    .login-wrap{flex-direction:column-reverse; gap:20px;}
    .login-wrap .guide-box{border-left:0px; padding:0px; background:none;}
    .login-wrap .guide-box::before{content:""; display:block; width:100%; margin:15px 0px; aspect-ratio: 425/307; background:url("../../images/sub/login_img.png")center center no-repeat; background-size:100%;}
    .login-wrap .guide-box ul{margin-top:10px; }
    .login-wrap .input-group + .input-group{margin-top:15px;}
    .join h3{margin-bottom:10px; padding-left:20px;}
    .login-wrap form{flex:0 1 auto; width:100%; min-width:0; max-width:100%;}
    .login-wrap .guide-box{flex:0 1 auto; width:100%; min-width:0;}
    .popwrap .form-table th,.popwrap .form-table td{height:auto; min-height:0;}
    .popwrap .form-table th{padding:20px 10px 10px;}
    .popwrap .form-table td{padding:0 10px 10px;}
    .board-write .top-box{padding-bottom:25px;}
    .form-table .input-group.number .btn-check{width:100%; margin:10px 0px 0px; margin-left:0px; flex:0 0 100%;}
    .find_wrap .tit{font-size:24px;}
    .finish{margin-top: 50px;padding-bottom: 15px;border-bottom: 1px solid #d8d8d8; background-repeat: no-repeat;background-position: right bottom; background-size:100%;}
    .finish strong{display: block;padding-bottom: 18px;font-size: 24px;font-weight: 700;line-height: 1.5;color: #0875b6;}
    .finish .desc1{padding-bottom: 18px;font-size: 18px;font-weight: 700;line-height: 1.4;color: #444444;}
    .finish .desc2{font-size: 16px;font-weight: 500;line-height: 1.6667;color: #666666;}
    .finish .desc2 span{font-weight: 700;color:#e75829;}
    .finish .btn-wrap{margin-top: 130px; justify-content: center;}
    .finish .btn-wrap ul{justify-content: center; gap: 10px;}
    .finish .btn-wrap li{max-width: 30vw;}
    .btn-wrap .btn{height:48px; font-size:16px;}
    .form-table .file-upload,.form-table td select.max440{max-width:100% !important;}
}

@media only screen and (max-width:400px){
    .captcha{flex-direction:column; align-items:stretch;}
    .captcha .item{flex:none; flex-direction:column; min-width:0; width:100%; max-width:100%; height:auto;}
    .form-table .captcha > input[type="text"]{flex:none; width:100%; max-width:100% !important;}
    .captcha .img-box{flex:none; width:100%; height:auto; border-radius:8px 8px 0 0;}
    .captcha .img-box img{width:100%; height:auto; max-width:100%;}
    .captcha .item .btn-check{flex:none; width:100%; height:45px; border-left:0; border-top:1px solid var(--captcha-border); border-radius:0 0 8px 8px;}
}

@media only screen and (max-width: 516px){
    .join-top{padding-bottom:25px; margin-bottom:30px;}
    .join-top.login{margin-bottom:0px;}
    .join-top .join-desc{padding-bottom:8px; font-size:16px;}
    .join-top .join-tit{padding-bottom:14px; font-size:26px; letter-spacing:-1px;}
    .join-top .join-sub-desc{font-size:15px; line-height:1.5;}

    .step-box,.find_wrap .tab_ul{height:52px;}
    .step-box li,.step-box li span,.step-box li.on,
    .find_wrap .tab_ul li,.find_wrap .tab_ul li a{min-width:0; font-size:14px; line-height:1.3;}
    .step-box li span,.find_wrap .tab_ul li span{margin-top:2px;}
    .join .top-box{margin-top:30px; padding-bottom:20px;}
    .join h3{font-size:18px;}
    .board-write .top-box{padding-bottom:20px;}
    .form-table th{padding:16px 0 8px; font-size:15px;}
    .form-table td{padding:0 0 16px;}
    .form-table .input-group{min-width:0;}
    .form-table input[type="text"],.form-table input[type="password"],
    .form-table select{min-width:0; max-width:100%; font-size:16px;}
    .form-table .number.input-group select,
    .form-table .number.input-group input{padding-right:8px; padding-left:8px;}

    .top-desc{gap:8px 0; margin-top:20px; margin-bottom:12px; padding-bottom:20px;}
    .top-desc p{font-size:15px;}
    .top-desc > span{font-size:20px;}
    .agree-form .cont li{font-size:15px;}
    .cert-box ul{gap:12px;}
    .cert-box li{padding:15px;}
    .cert-box .title{font-size:20px;}
    .cert-box .txt{font-size:15px;}
    .cert-box a{margin-top:16px;}

    .login-wrap{gap:16px;}
    .login-wrap .guide-box li{font-size:15px;}
    .login-wrap input[type="text"],.login-wrap input[type="password"]{height:52px; padding:0 16px; font-size:16px;}
    .login-wrap .input-group + .input-group{margin-top:10px;}
    .login-wrap .util{flex-wrap:wrap; gap:12px;}
    .login-wrap .util .find,.login-wrap .util .join{font-size:15px;}
    .find_wrap{padding:0 16px 60px;}
    .find_wrap .tit{font-size:22px;}

    .finish{margin-top:30px;}
    .finish strong{padding-bottom:14px; font-size:22px;}
    .finish .desc1{padding-bottom:14px; font-size:16px;}
    .finish .desc2{font-size:15px;}
    .finish .btn-wrap{margin-top:100px;}
    .finish .btn-wrap li{flex:1; min-width:0; max-width:160px;}
    .btn-wrap ul{gap:10px;}
    .btn-wrap li{min-width:0;}
    .btn-wrap .btn{height:48px; padding:0 10px; font-size:15px;}
}

/* 다크모드 */
html.dark-mode .sub-visual__wrap,
html.dark-mode .no-sub-v .contents{background-color:var(--dm-bg); border-color:var(--dm-border);}
html.dark-mode .sub-visual__wrap h2,
html.dark-mode .sub-visual__wrap nav li,
html.dark-mode .sub_contents h2,
html.dark-mode h3.sub-title,
html.dark-mode .top-desc p,
html.dark-mode .top-desc > span,
html.dark-mode .join h3,
html.dark-mode .join-top .join-desc,
html.dark-mode .join-top .join-tit,
html.dark-mode .tbl-title,
html.dark-mode .board-write .top-box .info-title,
html.dark-mode .reservation-cont .top-box p,
html.dark-mode .info-wrap .title,
html.dark-mode .using-guide .title,
html.dark-mode .direction .info-list .tit,
html.dark-mode .find_wrap .tit{color:var(--dm-text);}
html.dark-mode .reservation-cont .month-picker-btn{background-color: var(--dm-surface); background-image: url('../../images/main/calendar_ic_w.png'); border-color: var(--dm-border);}
html.dark-mode .reservation-cont .info-toggle{background-image: url('../../images/common/dropdown_open_d.png');}
html.dark-mode .reservation-cont .month-picker-btn:hover{background-color: var(--dm-hover);}
html.dark-mode .reservation-cont .month-picker-panel{background: var(--dm-surface); border-color: var(--dm-border); color: var(--dm-text);}
html.dark-mode .reservation-cont .month-picker-heading button{color: var(--dm-accent);}
html.dark-mode .reservation-cont .month-picker-grid button,
html.dark-mode .reservation-cont .month-picker-close{color: var(--dm-text); border-color: var(--dm-border);}
html.dark-mode .reservation-cont .month-picker-grid button:hover{background: var(--dm-hover); color: var(--dm-accent);}
html.dark-mode .reservation-cont .month-picker-grid button.selected{background: var(--dm-primary); color: #fff;}
html.dark-mode .reservation-cont .month-picker-btn{background-color: var(--dm-surface); background-image: url('../../images/main/calendar_ic_w.png'); border-color: var(--dm-border);}
html.dark-mode .reservation-cont .month-picker-btn:hover{background-color: var(--dm-hover);}
html.dark-mode .reservation-cont .month-picker-panel{background: var(--dm-surface); border-color: var(--dm-border); color: var(--dm-text);}
html.dark-mode .reservation-cont .month-picker-heading button{color: var(--dm-accent);}
html.dark-mode .reservation-cont .month-picker-grid button,
html.dark-mode .reservation-cont .month-picker-close{color: var(--dm-text); border-color: var(--dm-border);}
html.dark-mode .reservation-cont .month-picker-grid button:hover{background: var(--dm-hover); color: var(--dm-accent);}
html.dark-mode .reservation-cont .month-picker-grid button.selected{background: var(--dm-primary); color: #fff;}
html.dark-mode .join-top .join-sub-desc,
html.dark-mode .join .top-box span,
html.dark-mode .board-write .top-box .required,
html.dark-mode .agree-form .cont li,
html.dark-mode .cert-box .txt,
html.dark-mode .file-upload .file-name,
html.dark-mode .login-wrap .guide-box li,
html.dark-mode .login-wrap .util .find,
html.dark-mode .info-wrap li ul li,
html.dark-mode .using-guide .text-list li,
html.dark-mode .direction .info-list .con-txt,
html.dark-mode .finish .desc2{color:var(--dm-muted);}
html.dark-mode .join-top,html.dark-mode .top-desc,
html.dark-mode .login-wrap,html.dark-mode .login-wrap .guide-box,
html.dark-mode .info-wrap > ul > li,html.dark-mode .finish{border-color:var(--dm-border);}
html.dark-mode .agree-form .cont,
html.dark-mode .cert-box li,
html.dark-mode .share-popwrap,
html.dark-mode .page-util .btn{background-color:var(--dm-surface); border-color:var(--dm-border); color:var(--dm-text);}
html.dark-mode .using-guide .link-box a{background-color:var(--dm-primary); border-color:var(--dm-accent); color:#fff;}
html.dark-mode .using-guide .link-box a:hover,
html.dark-mode .using-guide .link-box a:focus-visible{background-color:var(--dm-primary); border-color:var(--dm-accent); color:var(--dm-accent);}
html.dark-mode .using-guide .link-box a span{position:relative; padding-right:15px; background-image:none;}
html.dark-mode .using-guide .link-box a span:after{content:''; position:absolute; top:50%; right:0; width:7px; height:10px; transform:translateY(-50%); background-color:currentColor; mask:url('../../images/sub/btn_right_arrow_ic.svg') center / contain no-repeat;}
html.dark-mode .step-box,
html.dark-mode .find_wrap .tab_ul{background-color:var(--dm-raised);}
html.dark-mode .step-box li,
html.dark-mode .find_wrap .tab_ul li,
html.dark-mode .find_wrap .tab_ul li a,
html.dark-mode .tab-wrap button,
html.dark-mode .tab-lists button{color:var(--dm-muted);}
html.dark-mode .step-box li.on,
html.dark-mode .find_wrap .tab_ul li.on{background-color:var(--dm-primary); color:#fff;}
html.dark-mode .find_wrap .tab_ul li.on a{color:#fff;}
html.dark-mode .find_wrap .tab_ul li:not(.on) a:is(:hover,:focus){background-color:var(--dm-hover);}
html.dark-mode .tab-lists .on button{background-color:var(--dm-hover); border-color:var(--dm-accent); color:var(--dm-accent);}
html.dark-mode .login-wrap input[type="text"],
html.dark-mode .login-wrap input[type="password"],
html.dark-mode .share-popwrap .input-group input{background-color:var(--dm-bg); border-color:var(--dm-border); color:var(--dm-text);}
html.dark-mode .login-wrap input::placeholder{color:var(--dm-muted);}
html.dark-mode .cert-box .title,
html.dark-mode .cert-box a,
html.dark-mode .login-wrap .util .join,
html.dark-mode .finish strong{color:var(--dm-accent);}
html.dark-mode .cert-box a{border-color:var(--dm-accent);}
html.dark-mode .cert-box a span:after{background-color:var(--dm-accent);}
html.dark-mode .finish .desc1,
html.dark-mode .share-popwrap h3,
html.dark-mode .share-popwrap .sns-list span,
html.dark-mode .reserve-pop .agree-form .cont .title{color:var(--dm-text);}
html.dark-mode .finish .desc2 span,
html.dark-mode .join .top-box span em,
html.dark-mode .board-write .top-box .required em,
html.dark-mode .info-wrap li ul li.col-red{color:var(--dm-danger);}
/* 모바일 전체메뉴 회원가입·로그인 */
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.join a,
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.login a{color: var(--dm-text);}
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.join a{background-image: url('../../images/header/join_ic_w.png');}
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.login a{background-image: url('../../images/header/login_ic_w.png');}
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.join a:hover,
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.join a:focus-visible,
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.login a:hover,
html.dark-mode .all_menu_wrap_m .all_menu_cont .m_top_cont .pop_btn_list_area > .list > li.login a:focus-visible{color: var(--dm-accent);}

html.dark-mode .calendar-tbl-wrap thead th,
html.dark-mode .calendar-tbl-wrap td,
html.dark-mode .calendar-tbl-wrap td > span,
html.dark-mode .calendar-tbl-wrap .cal-cell li span,
html.dark-mode .calendar-tbl-wrap .cal-cell li p{color:var(--dm-text); border-color:var(--dm-border);}
html.dark-mode .calendar-tbl-wrap thead th.sun,
html.dark-mode .calendar-tbl-wrap td:first-child > span,
html.dark-mode .calendar-tbl-wrap .cal-cell li .col1{color:var(--dm-danger);}
html.dark-mode .calendar-tbl-wrap thead th.sat,
html.dark-mode .calendar-tbl-wrap td:last-child > span,
html.dark-mode .calendar-tbl-wrap .cal-cell li .col2{color:var(--dm-accent);}
html.dark-mode .calendar-tbl-wrap td:after,
html.dark-mode .calendar-tbl-wrap thead th:before,
html.dark-mode .sub-visual__wrap nav li:after{background-color:var(--dm-border);}
html.dark-mode .calendar-tbl-wrap{scrollbar-color:var(--dm-border) var(--dm-surface);}
html.dark-mode .mobile-day-card{border-color: var(--dm-border); background: var(--dm-surface);}
html.dark-mode .mobile-day-date strong{color: var(--dm-muted);}
html.dark-mode .mobile-day-date span{color: var(--dm-text);}
html.dark-mode .mobile-day-loader p{color: var(--dm-muted);}
html.dark-mode .mobile-day-loader button{border-color: var(--dm-border); color: var(--dm-accent);}
html.dark-mode .mobile-loading-spinner{border-color: var(--dm-border); border-top-color: var(--dm-accent);}
html.dark-mode .calendar-tbl-wrap::-webkit-scrollbar-track{background:var(--dm-surface);}
html.dark-mode .calendar-tbl-wrap::-webkit-scrollbar-thumb{background:var(--dm-border);}
html.dark-mode .calendar-tbl-wrap .btn-reserve{background-color:var(--dm-primary); color:#fff; border-color:var(--dm-accent);}
html.dark-mode .calendar-tbl-wrap .btn-reserve:hover{color:var(--dm-accent);}
html.dark-mode .calendar-tbl-wrap .btn-reserve:hover span:after{background-color:var(--dm-accent);}
html.dark-mode .file-upload .file-name{background-color:var(--dm-bg); border-color:var(--dm-border);}
html.dark-mode .cont-tab button,html.dark-mode .cont-tab a{color:var(--dm-muted);}
html.dark-mode .cont-tab .on button,html.dark-mode .cont-tab .on a{color:var(--dm-accent);}
html.dark-mode .tab-wrap ul{background-color:var(--dm-raised);}
html.dark-mode .tab-wrap .on button{color:#fff;}
html.dark-mode .tab-indicator{background-color:var(--dm-primary); border-color:var(--dm-accent);}
html.dark-mode .cont-tab .on button:before,html.dark-mode .cont-tab .on a:before{background-color:var(--dm-accent);}
html.dark-mode .cont-slide-wrap{background-color:var(--dm-surface);}
html.dark-mode .cont-slide-wrap::before{display:none;}
html.dark-mode .cont-slide-wrap h3{color:var(--dm-text);}
html.dark-mode .cont-slide-wrap .swiper-btn-wrap button{background-color:var(--dm-raised); border-color:var(--dm-border);}
html.dark-mode .cont-slide-wrap .swiper-btn-wrap button:before{background-color:var(--dm-text);}
html.dark-mode .using-guide .text-list .red{color:var(--dm-danger);}
html.dark-mode .using-guide .text-list.dot li:before{background-color:var(--dm-muted);}
html.dark-mode .share-popwrap .close-btn{color:var(--dm-text);}
html.dark-mode .share-popwrap .btn{background-color:var(--dm-surface); color:var(--dm-accent); border-color:var(--dm-accent);}
html.dark-mode .share-popwrap .btn:hover,
html.dark-mode .share-popwrap .btn:focus{color:#fff;}
html.dark-mode .share-popwrap .sns-list li + li{border-color:var(--dm-border);}
html.dark-mode a.reserve-view-btn{background-color:var(--dm-primary); border-color:var(--dm-accent); color:#fff;}
html.dark-mode a.reserve-view-btn:hover,
html.dark-mode a.reserve-view-btn:focus{color:var(--dm-accent);}
html.dark-mode a.reserve-view-btn:hover span:before,
html.dark-mode a.reserve-view-btn:focus span:before{background-color:var(--dm-accent);}
html.dark-mode .file-upload .btn-check:hover span:before,
html.dark-mode .captcha .btn-check:hover span:before{background-color:#fff;}
html.dark-mode .file-upload .btn-check:hover,
html.dark-mode .file-upload .btn-check:focus-visible{background-color:var(--dm-hover) !important; border-color:var(--dm-accent); color:#fff;}
html.dark-mode .file-upload .btn-check:focus-visible span:before{background-color:#fff;}
html.dark-mode .join .form-table textarea{background-color:var(--dm-bg);border-color:var(--dm-border);color:var(--dm-text);}
html.dark-mode .join .form-table textarea::placeholder{color:var(--dm-muted);}
@media only screen and (max-width:516px) {
    .join .btn-wrap ul,.find_wrap .btn-wrap ul{flex-wrap: wrap;}
    .join .btn-wrap li,.find_wrap .btn-wrap li{flex: 1 1 120px;}
    .join .form-table textarea{padding: 12px 16px; font-size: 16px;}
    .popwrap .top-box{height:auto; flex-wrap:wrap; padding:10px !important;}
    .popwrap .top-box .title{font-size:16px;}
    .popwrap .viewScript{font-size:13px; margin-top:10px;}
}
html.dark-mode .page-util .print-btn{background-image:url("../../images/common/print_ic_w.svg");}
html.dark-mode .page-util .share-btn{background-image:url("../../images/common/share_ic_w.svg");}
html.dark-mode .sub-visual__wrap nav li.home:before{background-image:url("../../images/common/home_ic_w.svg");}
html.dark-mode .sub-visual__wrap nav li:after{background-image:url("../../images/common/sub_nav_arrow_ic_w.svg");}

.popwrap .viewScript{height: auto;padding: 7px 16px;flex-shrink: 0;font-size: 18px;font-weight: 600;line-height: 1;border-radius: 6px;box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.14);border: 1px solid #0875b6;color: #0875b6;background: #fff; margin-right:auto; margin-left:10px;}
html.dark-mode .popwrap .viewScript{background-color: var(--dm-hover);border-color: var(--dm-accent);color: var(--dm-accent);}
.video-popup .popwrap{display: flex;flex-direction: column;max-height: 80vh;overflow: hidden; width:fit-content;}
.video-popup .top-box{flex-shrink: 0; gap: 10px;}
.video-popup .top-box .title{min-width: 0; overflow-wrap: anywhere;}
.video-popup .videoCont{display: flex;flex-direction: column;gap: 20px;min-height: 0;overflow-y: auto;}
.videoCont iframe{display: block;flex-shrink: 0;max-height: 38vh;}
.popwrap .videoScript{display: none; min-height: 0; max-height: 28vh; padding: 20px 24px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; box-sizing: border-box; border: 1px solid #d1d1d1; border-radius: 6px; background: #f8f9fa; font-size: 16px; line-height: 1.8; color: #444444; overflow-wrap: anywhere; scrollbar-width: thin; scrollbar-color: #b7bdc4 #f8f9fa;}
.popwrap .videoScript.on{display: block;}
html.dark-mode .popwrap .videoScript{border-color: var(--dm-border); background: var(--dm-surface); color: var(--dm-text); scrollbar-color: var(--dm-border) var(--dm-surface);}
html.dark-mode .popwrap .videoScript{border-color: var(--dm-border); background: var(--dm-surface); color: var(--dm-text); scrollbar-color: var(--dm-border) var(--dm-surface);}
html.dark-mode .popwrap .videoScript p span{color:#fff !important; background:unset !important;}
@media only screen and (max-width:516px) {
    .video-popup .videoCont{padding: 16px; gap: 12px;}
    .popwrap .videoScript{padding: 14px 16px; font-size: 14px;}
}

/* Reveal newly appended reservation dates while scrolling. */
@media screen and (max-width: 768px) {
    .mobile-reservation-calendar .mobile-day-card {
        animation: reservation-day-reveal .7s cubic-bezier(.22, 1, .36, 1) both;
    }
    .mobile-reservation-calendar .mobile-day-card:nth-child(5n + 2) { animation-delay: .06s; }
    .mobile-reservation-calendar .mobile-day-card:nth-child(5n + 3) { animation-delay: .12s; }
    .mobile-reservation-calendar .mobile-day-card:nth-child(5n + 4) { animation-delay: .18s; }
    .mobile-reservation-calendar .mobile-day-card:nth-child(5n) { animation-delay: .24s; }
}
@keyframes reservation-day-reveal {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .mobile-reservation-calendar .mobile-day-card { animation: none; }
}
