/* main */
.morebtn {font-size: 1rem; line-height: 1; font-weight: 700; display: flex; align-items: center; gap: 5px;}
.morebtn::after {display: block; content: ""; width: 14px; aspect-ratio: 1/1; background: url('../img/icon_more_arr.png') no-repeat center center / contain;}
.morebtn.white {color: #fff;}
.morebtn.white::after {background-image: url('../img/icon_more_arr_w.png');}

.main_tit {margin-bottom: 60px; display: flex; flex-direction: column; gap: 20px;}
.main_tit .big {font-size: 3.75rem; font-weight: 600;}
.main_tit .small {font-size: 1.25rem;}
.main_top {
    width: 100%; padding: 100px 0; min-height: 100vh; background: url('../img/bg_main_top.webp') no-repeat center center / cover; position: relative;
    display: flex; flex-direction: column; justify-content: flex-end;
}
.main_top::after {
    display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5;
    position: absolute; top: 0; left: 0;
}
.main_top .inner {position: relative; z-index: 1; }
.main_top .title {color: #fff; display: flex; flex-direction: column; gap: 10px;}
.main_top .title .small {font-weight: 600; font-size: 1.5rem;}
.main_top .title .big {font-weight: 600; font-size: 3.75rem;}

.main_biz {
    background-image: url('../img/bg_main_biz_01.png'), url('../img/bg_main_biz_02.png');
    background-size: 20% auto, 20% auto; background-position: top right, bottom left;
    background-repeat: no-repeat;

}
.main_biz .img {margin-top: 60px; aspect-ratio: 3/1; overflow: hidden;}
.main_biz .img img {width: 100%; height: 100%; object-fit: cover;}

.main_prg .list {display: flex;  gap: 5px;}
.main_prg .item {width: 100%; background: #000; position: relative; aspect-ratio: 3/4; padding: 20px; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.main_prg .item .img {opacity: .5; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.main_prg .item .img img {width: 100%; height: 100%; object-fit: cover;  transition: all .3s;}
.main_prg .item:hover .img img {scale: 1.2;}
.main_prg .item .cont {color: #fff; position: relative; z-index: 1; text-align: center;}
.main_prg .item .cont .tit {font-size: 2rem; font-weight: 600;}
.main_prg .item .cont .descrip {font-weight: 600; margin-top: 10px;}

.main_bot {background: url('../img/bg_main_bot.webp') no-repeat center center / cover; position: relative;}
.main_bot::after {
    display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5;
    position: absolute; top: 0; left: 0;
}
.main_bot .inner {position: relative; z-index: 1; }
.main_bot .main_tit {color: #fff;}


/* about */
.abt_top {
    width: 100%; padding: 100px 0; min-height: 100vh; background: url('../img/bg_about_top.webp') no-repeat center center / cover; position: relative;
    display: flex; flex-direction: column; justify-content: center;
}
.abt_top::after {
    display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5;
    position: absolute; top: 0; left: 0;
}
.abt_top .inner {position: relative; z-index: 1;}
.abt_top .tit {color: #fff; text-align: center;}
.abt_top .tit .big {font-size: 4.25rem; font-weight: 700;}
.abt_top .tit .small {font-size: 2rem; margin-bottom: 30px;}
.abt_sec {height: 600px; display: flex; align-items: center; justify-content: center; position: relative;}
.abt_sec .text {text-align: center; color: #fff; line-height: 1.8; font-size: 1.5rem;}
.abt_sec1 {
    background-image: url('../img/bg_main_biz_01.png'), url('../img/bg_main_biz_02.png');
    background-size: 20% auto, 20% auto; background-position: top right, bottom left;
    background-repeat: no-repeat;

}
.abt_sec1 .text {color: #000;}
.abt_sec2 {background: url('../img/bg_about_sec_02.webp') no-repeat center center / cover;}
.abt_sec3 {background: url('../img/bg_about_sec_03.webp') no-repeat center center / cover;}
.abt_sec2, .abt_sec3 {background-attachment: fixed;}
.abt_sec2 .inner, .abt_sec3 .inner {position: relative; z-index: 1;}
.abt_sec2:after, .abt_sec3:after {
    display: block; content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0;
    background: #000; opacity: .5;
}

.abt_gal .swiper-wrapper{transition-timing-function: linear;}
.abt_gal .item {width: 20%; aspect-ratio: 1/1;}
.abt_gal .item img {width: 100%; height: 100%; object-fit: cover;}


/* 필터 */
.fi_wrap {padding: 100px 0 0;}
.fi_wrap .inner {padding-bottom: 50px; border-bottom: 1px solid var(--border); max-width: 1400px;}
.fi_wrap .list {display: flex; flex-direction: column; gap: 20px;}
.fi_wrap .item {display: flex; gap: 20px; }
.fi_wrap .item .gu {font-size: 1.125rem; width: 80px; flex-shrink: 0; font-weight: 700; padding-top: 13px;}
.fi_wrap .item .nae {width: 100%;}
.fi_wrap .item .btnlist {display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 5px 0;}
.fi_wrap .item .input {display: flex; gap: 10px; width: 100%;}
.fi_wrap .item .input input[type="text"] {border: 1px solid var(--border); border-radius: 10px; flex: 1 0 0; max-width: 800px; padding: 0 15px; height: 55px;}
.fi_wrap .btnlb {height: 45px; border-radius: 10px; overflow: hidden; line-height: 1; min-width: 70px;}
.fi_wrap .btnlb input {display: none;}
.fi_wrap .btnlb label {
    width: 100%; height: 100%; background: #f5f5f5; color: #aaa; padding: 0 10px;
    display: flex; text-align: center; align-items: center; justify-content: center; cursor: pointer;
}
.fi_wrap .btnlb input:checked + label {background: var(--mainGreen); color: #fff;}




/* form style */
.form_s { background: #f5f5f5; }
.form_s input,
.form_s select { font-size: 1.125rem; font-weight: 500; }
.form_s select { margin-top: 5px; }
.form_s .inner { max-width: 700px; }
.form_s .form_box { background: #fff; padding: 40px; margin-bottom: 10px; }
.form_s .form_box .tit { font-size: 1.5rem; font-weight: 700; margin-bottom: 25px; }
.form_s .form_box .tit .light { font-weight: 500; }
.form_s .address { display: flex; }
.form_s .address input[type="text"] { margin-right: 20px; }

.form_s .btn_box a { margin: 0 auto; }
.form_s .btn_box2 { display: flex; justify-content: space-between; }
.form_s .btn_box2 a { width: calc(50% - 5px); }
.form_box li { margin-bottom: 25px; }
.form_box li:last-child { margin-bottom: 0; }
.form_box .item { font-size: 0.875rem; font-weight: 500; margin-bottom: 5px; color: #777; }
.form_box .req:after { display: inline-block; content: "*"; }
.form_box input[type="text"],
.form_box input[type="tel"] { width: 100%; }
.form_box .pri_box { padding: 15px 25px; background: #F9F9F9; }
.form_box .pri_box .txt { font-size: 0.9375rem;}
.form_box .pri_box .txt p { margin: 10px 0; }
.form_box .pri_box .txt p .bold { font-weight: 500; display: block; }
.form_box .agree { text-align: right; margin-top: 10px; }
.form_box .nt_box .nt_tit { color: var(--mainRed)0; font-size: 1.125rem; font-weight: 700}
.form_box .nt_box .nt_txt { margin-top: 10px; font-size: 1rem; }

.form_box .biz_info p { font-size: 1rem;  display: table-row; }
.form_box .biz_info .gubun { display: table-cell; padding-top: 10px; padding-right: 15px; color: #777; }
.form_box .biz_info .cont { display: table-cell; padding-top: 10px;}
.form_box .biz_info p:first-child .gubun,
.form_box .biz_info p:first-child .cont { padding-top: 0; }
.form_box .info_cal { background: #f9f9f9; padding: 20px; }
.form_box .calBox { width: 100%; margin: 0 auto; }

.calBox .gubun { margin-top: 20px; text-align: right; }
.calBox .gubun p { display: inline-block; font-size: 0.875rem; margin-left: 20px; }
.calBox .gubun p span { width: 15px; height: 15px; display: inline-block; margin-right: 5px; vertical-align: middle; }
.calBox .gubun p .choiceY { background: var(--mainGreen); }
.calBox .gubun p .choiceN { background: #ddd; }
.calBox .gubun p .choiceT { background: #F5D042; }
.calBox .gubun p .choiceR { background: #d73e3e; }

.calendar { text-align: center; width: 100%; table-layout: fixed;}.calendar .calYm { font-size: 1.125rem; font-weight: 500; }
.calendar .calYm #calYear { margin-left: 10px; }
.calendar .calYm #calMonth { margin-right: 10px; }
.calendar .calYm img { vertical-align: middle; margin-bottom: 1px; }
.calendar td { height: 50px; text-align: center; font-size: 0.875rem; }

.calendar>tbody>tr>td>p { height: 45px; width: 45px; border-radius: 45px;line-height: 45px;  transition-duration: .2s;  margin: 0 auto; display: block; text-align: center; }
.calendar>tbody>tr>td:nth-child(1)>p { color: var(--mainRed)0; }
.calendar>tbody>tr>td:nth-child(7)>p { color: #004EC2; }
.pastDay { color: #ddd !important; }
.today { background-color: #F5D042; color: #fff; font-weight: 600; cursor: pointer; }
.holiday { background: #ddd; }
.rsvDay { background: #d73e3e; color: #ffffff; cursor: pointer; }

.futureDay { cursor: pointer; }
.futureDay:hover { background: #eee; }
.futureDay.choiceDay,
.today.choiceDay { background: var(--mainGreen); color: #fff !important; font-weight: 700; cursor: pointer; }
.comp_s .txt_box { font-size: 1.25rem; text-align: center; font-weight: 500; }
.comp_s .btn_box { margin-top: 40px; }
.comp_s .btn_box a { margin: 0 auto; }
.login_s { background: #fff; position: relative;}
.login_s .inner { max-width: 500px;  }
.login_s .form_box { padding: 0; }
.login_s .btn_box { margin: 40px auto 0; }
.cancel_s { height: 80vh; position: relative; }
.cancel_s .inner { max-width: 500px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.cancel_s .txt_box { font-size: 2rem; text-align: center; }
.cancel_s .btn_box { max-width: 200px; margin: 40px auto 0; }
.rez_info li { font-size: 1rem;  display: table-row; }
.rez_info li.txt18 { font-size: 1.125rem; }
.rez_info li .gubun { display: table-cell; padding-top: 10px; padding-right: 15px; color: #777; }
.rez_info li .cont { display: table-cell; padding-top: 10px;}
.rez_info li:first-child .gubun,
.rez_info li:first-child .cont { padding-top: 0; }
.rez_cmnt { padding-top: 10px; }
.rez_cmnt p { padding-left: 15px; font-size: 1rem; color: #555; position: relative; margin: 10px 0; }
.rez_cmnt p::before { display: block; content: "-"; position: absolute; left: 0; } 


/* 리스트 */
.bList_s {padding: 120px 0;}
.bList_s .inner {max-width: 1400px;}
.bList_s .sec_box { font-size: 0; }
.bList_s .sec_box>div { display: inline-block; vertical-align: top; }
.bList_s .map_box { width: calc(100% - 860px); margin-right: 60px; position: sticky; top: 130px; height: 100%;}
.bList_s .map_box .btn_icon {width: 90px; height: 90px; position: absolute; top: -20px; left: -20px; z-index: 2;}
.bList_s .map_box,
.bList_s .mapLink,
.bList_s .mapImg{aspect-ratio: 5/6.7;}
.bList_s .map_inner {  height: 100%; position: relative; z-index: 1;}
.bList_s .mapLink { position: absolute; width: 100%;}
.bList_s .mapLink a { position: absolute; display: block; }
.bList_s .mapLink a.basics { top: 26%; left: 26%; width: 20%; height: 18%;}
.bList_s .mapLink a.gang { top: 22%; left: 50%; width: 29%; height: 19%; }
.bList_s .mapLink a.chung { top: 45%; left: 28%; width: 25%; height: 14%; }
.bList_s .mapLink a.jeolla { top: 62%; left: 24%; width: 24%; height: 18%; }
.bList_s .mapLink a.gyeong { top: 49%; left: 56%; width: 27%; height: 25%; }
.bList_s .mapLink a.jeju { top: 90%; left: 20%; width: 17%; height: 7%; }

.mapOn { opacity: 1 !important; transition: .2s ease-in; }

.bList_s .mapImg { position: absolute; width: 100%; z-index: -1;  border-radius: 20px; overflow: hidden;}
.bList_s .mapImg:after { display: block; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: .05;}
.bList_s .mapImg img { position: absolute; top: 0; left: 0; bottom: 0; right: 0; opacity: 0; }
.bList_s .mapImg img.all { opacity: 1; z-index: -1; }

.bList_s .mapTag { text-align: left; margin-bottom: 10px; }
.bList_s .mapTag p { font-size: 1.5rem; font-weight: 700; width: 100%; color: #000; }

.bList_s .list_box { width: 800px; }
.bList_s .list_box .list {margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 40px;}
.bList_s .list_box .list li {width: calc(50% - 20px);}
.bList_s .list_box .list li a { display: flex; flex-direction: column; gap: 15px; position: relative; }
.bList_s .list_box .list li a:after { display: block; content: ""; background:url('../img/bList_arrow.png') no-repeat center center / 40px 40px; width: 40px; height: 40px; position: absolute; right: 0; bottom: 0; }
.bList_s .list_box .list .thumbnail {width: 100%; overflow: hidden; background: #f5f5f5; border-radius: 20px; aspect-ratio: 1/1;}
.bList_s .list_box .list .thumbnail p {width: 100%; height: 100%;}
.bList_s .list_box .list .thumbnail img { width: 100%; height: 100%; object-fit: cover;}
.bList_s .list_box .list .biz_info {width: 100%; padding: 0 5px; }
.bList_s .list_box .paging {margin-top: 100px;}

.bList_s .biz_info .name { font-size: 1.25rem; font-weight: bold; margin-bottom: 5px; }
.bList_s .biz_info p { font-size: 0.875rem; display: table-row; }
.bList_s .biz_info p .gubun { display: table-cell; padding-top: 10px; padding-right: 10px; color: #777; white-space: nowrap;}
.bList_s .biz_info p .cont { display: table-cell; padding-top: 10px; }
.bList_s .biz_info p .cont .cmnt { display: block; font-size: 0.9375rem; }


/* 2024 버전 */
.detail_24 .inner { max-width: 920px; }
.detail_24 .sec_box {display: flex; flex-direction: column; gap: 60px;}
.detail_24 .dt_tit {font-size: 1.25rem; font-weight: 700; margin-bottom: 10px;}
.detail_24 .dt_top {display: flex; gap:40px; align-items: flex-start;}
.detail_24 .dt_top .thumbnail {border-radius: 20px; overflow: hidden; max-width: 440px; width: 100%; aspect-ratio: 1/1; flex-shrink: 0;}
.detail_24 .dt_top .thumbnail img {width: 100%; height: 100%; object-fit: cover;}
.detail_24 .dt_top .biz_info .top {display: flex; align-items: center; gap: 10px;}
.detail_24 .dt_top .biz_info .top .area {font-size: 0.875rem; line-height: 1; display: flex; align-items: center; gap: 2px;}
.detail_24 .dt_top .biz_info .top .area::before {
    display: inline-block; content: ""; background: url('../img/icon_map_gray.png') no-repeat center center / contain; width: 14px; height: 14px;
}
.detail_24 .dt_top .biz_info .top .badge {font-size: 0;}
.detail_24 .dt_top .biz_info .name {font-size: 2rem; font-weight: 700; margin-top: 10px;}
.detail_24 .dt_top .biz_info .ex {font-size: 0.875rem; color: #555; margin-top: 10px;}
.detail_24 .dt_top .biz_info .desc {margin-top: 30px; font-size: 0.875rem; display: flex; flex-direction: column; gap:7px;}
.detail_24 .dt_top .biz_info .desc > li {display: flex; align-items: flex-start; gap:10px;}
.detail_24 .dt_top .biz_info .desc .gubun {width: 80px; color: #777;}
.detail_24 .dt_top .biz_info .desc .naeyong {flex: 1 0 0; display: flex; align-items: center; flex-wrap: wrap; gap:0px 10px;}
.detail_24 .dt_top .biz_info .shortcut {margin-top: 30px; display: flex; flex-wrap: wrap; gap:10px 20px;}
.detail_24 .dt_top .biz_info .shortcut a {display: flex; gap: 5px; font-size: 0.875rem; align-items: center; line-height: 1;}
.detail_24 .dt_top .biz_info .shortcut a img {width: 14px; height: 14px;}
.detail_24 .dt_top .btn_reg {width: 100%; margin-top: 30px; padding-top: 30px; border-top: 1px solid #e9e9e9; }
.detail_24 .dt_top .btn_reg a {border-radius: 10px;}

.detail_24 .dt_prog,
.detail_24 .dt_fac,
.detail_24 .dt_map {padding: 60px 0 0; border-top: 1px solid #e9e9e9;}

.detail_24 .dt_prog .item {background: #f5f5f5; border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 10px; margin-top: 20px;}
.detail_24 .dt_prog .item .title {}
.detail_24 .dt_prog .item .ex {font-size: 0.875rem; color: #777;}
.detail_24 .dt_prog .item .desc {display: flex; justify-content: flex-end; font-size: 0.875rem; gap: 15px; width: 100%;}
.detail_24 .dt_prog .item .desc p {display: flex; gap: 5px;}
.detail_24 .dt_prog .item .desc p span {color: #777; font-size: 0.75rem;}
.detail_24 .dt_prog .item .desc p .bold {font-weight: 700;}
.detail_24 .dt_fac {display: flex; flex-wrap: wrap; gap: 40px 15px;}
.detail_24 .dt_fac_list {width: 100%;}
.detail_24 .dt_fac_list ul {display: flex; flex-wrap: wrap; gap: 15px;}
.detail_24 .dt_fac_list li {
    border: 1px solid #ddd; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px;
    width: calc(12.5% - 13.2px); aspect-ratio: 1/1; padding: 3px;
}
.detail_24 .dt_fac_list.w50 {width: calc(50% - 7.5px);}
.detail_24 .dt_fac_list.w50 li {width: calc(25% - 13.2px);}
.detail_24 .dt_fac_list .icon {width: 48px; height: 48px;}
.detail_24 .dt_fac_list .text {font-size: 0.75rem; text-align: center; color: #555; line-height: 1.2;}

.detail_24 .dt_map .map {width: 100%; height: 300px; background: #e9e9e9; border: 1px solid #e9e9e9; border-bottom: 0;}
.detail_24 .dt_map .info {padding: 20px; display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; border: 1px solid #e9e9e9; border-top: 0;}

.detail_24 .dt_map .info .right {font-size: 0.875rem; display: flex; gap: 10px;}
.detail_24 .dt_map .info .right a {color: #777; display: flex; align-items: center; gap: 1px;}
.detail_24 .dt_map .info .right a::before {
    display: block; content: ""; background-repeat: no-repeat;  background-size: contain; background-position: center center; width: 14px; height: 14px;
}
.detail_24 .dt_map .info .right .copy::before {background-image: url('../img/icon_copy_gray.png');}
.detail_24 .dt_map .info .right .view::before {background-image: url('../img/icon_map_gray.png');}

.detail_24 .dt_cont {border-bottom:1px solid #e9e9e9}
.detail_24 .dt_cont .cont {padding: 40px 15px ;}
.detail_24 .dt_cont_tit {background: #f5f5f5; padding: 15px;}
.detail_24 .dt_cont_tit .tit {font-size: 1.125rem; line-height: 1; font-weight: 700; display: flex; gap: 10px; align-items: center;}
.detail_24 .dt_cont_tit .tit::before {display: block; content: ""; background: url('../img/icon_check_black.png') no-repeat center center / contain; width: 18px; height: 18px;}

.detail_24 .dt_info {border-top: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; margin-bottom: 60px;}
.detail_24 .dt_info_list {display: flex; flex-wrap: wrap; gap: 20px; padding: 20px 5px;}
.detail_24 .dt_info_list li {width: calc(50% - 10px); font-size: 0.875rem; gap: 10px; display: flex; align-items: flex-start;} 
.detail_24 .dt_info_list .gubun {width: 90px; flex-shrink: 0; color: #777;}

.detail_24 .dt_img {padding: 60px 0; font-size: 0;}

#bizHoursView {font-size: 0.75rem; color: var(--mainGreen); cursor: pointer; display: flex; gap: 2px; align-items: center;}
#bizHoursView::after {display: block; content: ""; background: url('../img/biz_hours_view.png') no-repeat center center / contain; width: 12px; height: 12px;}
#bizHours {width: 100%; display: none; margin-top: 2px;}
#bizHours > li {display: flex; align-items: flex-start; gap: 10px; margin-top: 5px; font-size: 0.8125rem;}
#bizHours > li:first-child {margin-top: 0px;}
#bizHours .gubun {margin-right: 10px;}



.form_s .inner .form_box .total_txt { font-size: 1.25rem; }
.form_s .inner .form_box #rsvTab { margin-top: 15px; border: 1px solid var(--mainGreen); width: 100%; text-align: center; }
.form_s .inner .form_box #rsvTab a { cursor: pointer; color: #ffffff; font-size: 0.9375rem; font-weight: bold; }
.form_s .inner .form_box #rsvTab thead { background-color: var(--mainGreen); color: #ffffff; height: 40px; }
.form_s .inner .form_box #rsvTab tr { height: 40px; }
.form_s .inner .form_box #rsvTab tr th,
.form_s .inner .form_box #rsvTab tr td { border: 1px solid #062312; vertical-align: middle; }
.form_s .inner .form_box #rsvTab tr td span { display: inline-block; padding: 0 10px; height: 25px;  background-color: var(--mainGreen);}

/* faq */
.faq_wrap .inner {max-width: 800px;}
.faq_list {border-top: 1px solid var(--border);}
.faq_item {border-bottom: 1px solid var(--border);}
.faq_item .ask {padding: 25px 20px 25px 55px; font-size: 1.125rem;position: relative; cursor: pointer;}
.faq_item .ask::before {
    display: block; content: ""; width: 40px; aspect-ratio: 1/1; background: url('../img/icon_faq_ask.png') no-repeat center center / contain;
    position: absolute; left: 0; top: 20px;
}
.faq_item .ask.on {font-weight: 700;}
.faq_item .ask.on::before {background-image: url('../img/icon_faq_ask_on.png');}
.faq_item .answer {padding: 25px 20px 25px 55px; background: #f5f5f5; display: none;}

#popViewFaq .layer {max-width: 800px;}
#popViewFaq .pop_box {padding: 20px;}
#popViewFaq .pop_box .sec_tit {margin-bottom: 20px;}
#popViewFaq .pop_box .sec_tit .txt {font-size: 2rem; font-weight: 500; }

/* 2025 영문 css수정 */
.detail_24.eng_detail .dt_prog .item:last-child{margin-bottom: 60px;}
.detail_24.eng_detail .dt_fac{padding-bottom: 60px;}
.detail_24.eng_detail .dt_map{padding-bottom: 60px;}