@charset "utf-8";
/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * Common *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
img {width: 100%; max-width: fit-content;}

/* color */
:root {
    --light-green: #F3FBF0;
    --deep-green: #53803C;
}

/* 카카오 지도 */
.map_box .root_daum_roughmap {width: 100%; height: 100%;}
.map_box .root_daum_roughmap .wrap_map {width: 100%; height: 100%;}

/* note */
.note span {font-size: 14px; line-height: 1.4em; color: #a5a5a5;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * Section *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.main .section {padding: 50px 0;}
.section {padding: 50px 0; box-sizing: border-box;}
.section.p-100 {padding: 100px 0;}
.section.pb-0 {padding-bottom: 0;}
.section.pt-0 {padding-top: 0;}
.section.last {padding-bottom: 90px;}

.section [class^=row] + [class^=row] {margin-top: 0;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * box *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.box-type01 {padding: 24px; box-sizing: border-box; box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15); border-radius: 10px;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * 별점 *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.rate .star {display: inline-flex; align-items: center; vertical-align: bottom;}
.rate .star i {display: block; width: 18px; height: 18px; background: no-repeat center center / contain; flex-shrink: 0; }
.rate .star i.full {background-image: url(/icon/star-full.svg);}
.rate .star i.half {background-image: url(/icon/star-half.svg);}
.rate .star i.blank {background-image: url(/icon/star-blank.svg);}
.rate .star p {font-weight: 700; font-size: 14px;}
.rate span {display: inline-block; vertical-align: bottom; font-size: 14px; line-height: 1.14em;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * btn *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.btn_wrap {display: flex; align-items: center;}
.btn_wrap .btn {display: flex; align-items: center; justify-content: center;}

.btn_wrap .basic {font-weight: 700; font-size: 18px; line-height: 1.33em; letter-spacing: 0.001em; border-radius: 10px; height: 50px; padding: 15px; box-sizing: border-box;}

/* color */
.btn_wrap .white {background-color: #fff; border: 1px solid #dfdfdf; color: #a5a5a5;}
.btn_wrap .deep-green {background-color: var(--deep-green); color: #fff;}
.btn_wrap .light-green {background-color: #8ad564; color: #fff;}
.btn_wrap .wg-deep {background: #DBF2CF; color: #53803C;}
.btn_wrap .white-green {background-color: #dbf2cf; color: #000;}
.btn_wrap .gray {background-color: #dfdfdf; color: #fff;}
.btn_wrap .red {background-color: #ffe6e6; color: #ff0000;}
/* bd-color */
.btn_wrap .bd-deep {border: 1px solid #53803C; background-color: #fff; color: #53803C;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * Title *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
/* main-tit */
.main_tit.mb {margin-bottom: 10px;}
.main_tit h3 {font-weight: 700; font-size: 24px; line-height: 1.33em;}
.main_con_tit h5 {}

.sub_main_tit.mb {margin-bottom: 20px;}
.sub_main_tit .flex_wrap {align-items: center; gap: 10px;}
.sub_main_tit h3{font-size: 24px; font-weight: 700; color: #000;}
.sub_main_tit.center h3{text-align: center;}
.sub_main_tit.line {padding-bottom: 15px; border-bottom: 1px solid #dfdfdf;}

.sub_con_tit.mb {margin-bottom: 20px;}
.sub_con_tit h5 {font-weight: 700; font-size: 20px; line-height: 1.2em;}
.sub_con_tit.line {padding-bottom: 15px; border-bottom: 1px solid #dfdfdf;}

.heading .desc p {}

/* modal & row title */
.row_tit.mb, 
.modal_tit {margin-bottom: 15px;}
.row_tit h5,
.modal_tit h5 {font-weight: 700; font-size: 18px; line-height: 1.33em; color: #000;}

.modal_tit.type02 .flex_wrap{display: flex; align-items: center; gap: 10px;}
.modal_tit.type02 .flex_wrap h5{width: 80px; text-align-last: justify;}
.modal_tit.type02 .flex_wrap span{display: inline-block; width: calc(100% - 140px); font-size: 16px; font-weight: 500;}
.modal_tit.type02 .flex_wrap span input[type="text"]{border: none;}
.modal_tit.type02 .flex_wrap span select{border: none; font-weight: 500;}
.search-form .start_picker table.ui-datepicker-calendar tbody tr td.on{font-weight: 700; color: var(--deep-green);}
.search-form .available > div{display: flex; align-items: center; justify-content: space-between;}
.search-form .available > div + div{margin-top: 10px;}
.search-form .available > div > span{display: flex; align-items: center; font-size: 16px; gap: 5px;}
.search-form .available > div > span:first-child{font-weight: 700;}
.search-form .available span label input[type="radio"]{display: none;}
.search-form .available span label b{display:inline-block; padding:0; border:1px solid #8a8a8a; color:#666; font-size:18px; width:64px; height:30px; font-weight:400; text-align:center; line-height:28px;}
.search-form .available span label input[type="radio"]:checked ~ b{border:1px solid #323337; color:#fff; background:#323337;}

.search-form .available .blue{color: #0000ff;}
.search-form .available .red{color: #ff0000;}

.search-form .start_picker table.ui-datepicker-calendar tbody td .ui-state-active{color: #0000ff;}

/* 상태 (예약, 재예약, 결제, 로그인 요청 등) 타이틀 */
.state_title {text-align: center;}
.state_title i {margin-bottom: 10px;}
.state_title h3 {font-weight: 700; font-size: 24px; line-height: 1.33em;}
.state_title p {font-weight: 500; font-size: 18px; line-height: 1.22em; color: #a5a5a5; margin: 20px auto 0;}
.state_title p span {color: #53803C;}
/* 상태 타이틀 : 아이콘 */
.state_title i.excla {display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background-color: #8AD564; color: #fff; font-weight: 700; font-size: 22px; line-height: 1em; font-style: normal;}
.state_title i.lock {display: inline-block; width: 24px; height: 32px; background: url(/icon/lock.svg) no-repeat center center / contain;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * input, select, textarea *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
/* contenteditable placeholder */
[contenteditable="true"]:empty:before {content: attr(placeholder);}
/* type01 */
.input-type01 {width: 100%; max-width: 285px; height: 48px;}
.input-type01 input {width: 100%; height: 100%; outline: none; border: none; background-color: var(--light-green); border-radius: 10px;}

input.type01:is([type=text],[type=tel],[type=number], [type=email], [type=password]),
textarea.type01, .textarea.type01 {width: 100%; height: 50px; border-radius: 10px; background-color: #fff; font-size: 16px; line-height: 1.25em; outline: none; border: 1px solid #dfdfdf; padding: 15px; box-sizing: border-box;}
textarea.type01::placeholder,
input.type01::placeholder,
[contenteditable="true"]:empty:before {font-size: 16px; line-height: 1.25em; color: #a5a5a5;}
/* type01 예외 */
textarea.type01, .textarea.type01 {height: auto; resize: none; word-break: break-all;}
input.type01[type=number]::-webkit-inner-spin-button {appearance: none;}
input.on[type=password] {background: #fff url(/icon/checked-circle.svg) no-repeat center right 15px / 20px auto; padding-right: 40px;}
input.type01.search {background: #fff url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.375 15.375L21 21' stroke='%23c1c1c1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='10' r='7' stroke='%23c1c1c1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center left 15px / 24px auto; padding-left: 44px;}
/* type02 */
input.type02:is([type=text], [type=password], [type=email], [type=tel], [type=number]) {width: 100%; height: 50px; border-radius: 10px; background-color: #f6f6f6; font-size: 16px; line-height: 1.25em; outline: none; border: none; padding: 15px; box-sizing: border-box;}
input.type02::placeholder {font-size: 16px; line-height: 1.25em; color: #a5a5a5;}
/* type02 예외 */
input.type02[type=number]::-webkit-inner-spin-button {appearance: none;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * input(search) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.input-type01 {position: relative;}
.input-type01.search input {padding-left: 48px; padding-right: 12px; box-sizing: border-box;}
.input-type01.search input::placeholder {font-size: 14px; line-height: 1.14em; color: #a5a5a5;}
.input-type01.search::before {content: ''; position: absolute; top: 50%; left: 12px; transform: translateY(-50%); width: 24px; height: 24px; background: url(/icon/search_24x24.svg) no-repeat center center / contain;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * input(file) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.input_file.type01 input[type="file"] {display: none;}
.input_file.type01 {display: block; width: 82px; aspect-ratio: 1/1; border-radius: 5px; border: 1px solid #dfdfdf; background: url(/img/camera_Btn.png) no-repeat center center / 66px auto;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * input(checkbox, radio) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
input:is([type=checkbox], [type=radio]).type01 {width: 24px; height: 24px; accent-color: var(--deep-green); cursor: pointer;}

/* 체크박스, 라디오 리스트 */
:is(.item_check, .item_radio) ul li + li {margin-top: 25px;}
.item_check ul li input[type=checkbox] {margin-right: 15px; vertical-align: middle;}
.item_radio ul li input[type=radio] {margin-right: 15px; vertical-align: middle;}
:is(.item_check, .item_radio) ul li span {font-size: 20px; line-height: 1.1em; font-weight: 500; vertical-align: middle;}

@media all and (max-width: 767px) {
    :is(.item_check, .item_radio) ul li span {font-size: 18px;}
}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * search-form *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.search-form form {background-color: var(--light-green); padding: 8px; border-radius: 10px; box-sizing: border-box; align-items: center;}
.search-form .option_wrap {width: calc(100% - 165px); display: flex;}
/* 옵션 */
.search-form .option {padding: 0 40px; box-sizing: border-box; flex: 1; position: relative;}
.search-form .option:not(:last-of-type)::before {content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 1px; height: 50px; background-color: #dfdfdf;}
.search-form .option > .txt_box {cursor: pointer;}
.search-form .option h6 {font-weight: 500; font-size: 18px; line-height: 1.22em; color: #6f6f6f; margin-bottom: 5px;}
.search-form .option p {font-weight: 500; font-size: 20px; line-height: 1.1em; font-feature-settings: "tnum";}
.search-form .option .select {position: absolute; top: 100%; left: 0; transform: translateY(10px); background-color: #fff;  z-index: 10; width: 100%; max-width: 375px; padding: 15px; box-sizing: border-box; box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15); border-radius: 10px; display: block; opacity: 0; visibility: hidden; transition: 0.3s ease-out;}
.search-form .option .select.on {opacity: 1; visibility: visible;}
/* 옵션 (지역) */
.main .search-form .option.region {display: none;}

/* 옵션 (날짜) */
.search-form .date span {font-feature-settings: "tnum";}
.search-form .date .start_picker,
.search-form .date .end_picker {display: none;}
.search-form .date .start_picker.on,
.search-form .date .end_picker.on {display: block;}

/* 옵션 (인원) */
.search-form .people .select ul li{display: flex; align-items: center;}
.search-form .people .select ul li + li {margin-top: 25px;}
.search-form .people .select ul li label {width: calc(100% - 105px);}
.search-form .people .select ul li label > * {vertical-align: middle; display: inline-block;}
.search-form .people .select ul li label b {font-weight: 500; font-size: 16px; line-height: 1.25em; width: 3em; margin-right: 20px;}
.search-form .people .select ul li label span {font-weight: 500; font-size: 14px; line-height: 1.14em; color: #a5a5a5;}
.search-form .people .select ul li .number {width: 105px; position: relative;}
.search-form .people .select ul li .adult_number {width: 105px; position: relative;}
.search-form .people .select ul li .number i {position: absolute; top: 50%; transform: translateY(-50%); background: no-repeat center center / contain; width: 14px; height: 14px; cursor: pointer;}
.search-form .people .select ul li .adult_number i {position: absolute; top: 50%; transform: translateY(-50%); background: no-repeat center center / contain; width: 14px; height: 14px; cursor: pointer;}
.search-form .people .select ul li .number i.minus {background-image: url(/icon/minus_14x14.svg); left: 16px;}
.search-form .people .select ul li .adult_number i.minus {background-image: url(/icon/minus_14x14.svg); left: 16px;}
.search-form .people .select ul li .number i.plus {background-image: url(/icon/plus_14x14.svg); right: 16px;}
.search-form .people .select ul li .adult_number i.plus {background-image: url(/icon/plus_14x14.svg); right: 16px;}
.search-form .people .select ul li .number input {width: 100%; height: 40px; outline: none; border: 1px solid #dfdfdf; border-radius: 20px; text-align: center; padding: 0 30px; box-sizing: border-box; font-weight: 500; font-size: 18px;}
.search-form .people .select ul li .adult_number input {width: 100%; height: 40px; outline: none; border: 1px solid #dfdfdf; border-radius: 20px; text-align: center; padding: 0 30px; box-sizing: border-box; font-weight: 500; font-size: 18px;}
.search-form .people .select ul li .number input::-webkit-inner-spin-button {appearance: none;}
.search-form .people .select ul li .adult_number input::-webkit-inner-spin-button {appearance: none;}
.search-form .people .select .btn_wrap {gap: 10px; margin-top: 25px;}
.search-form .people .select .btn_wrap .btn {width: calc(50% - 5px);}
/* 검색 버튼 */
.search-form .searchBtn {display: flex; align-items: center; justify-content: center; width: 165px; height: 60px; border-radius: 10px; background-color: var(--deep-green); color: #fff; font-weight: 700; font-size: 20px; line-height: 1.4em;}

@media all and (max-width: 1024px) {
    .search-form form {display: block;}
    .search-form .option_wrap {flex-direction: column; gap: 20px;}
    .search-form .option {padding: 0;}
    .search-form .option:not(:last-of-type)::before {display: none;}
    .search-form .searchBtn {width: 100%; margin-top: 20px;}
}


/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * check list (type01) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.check_list.type01 {list-style: '✔️'; padding-left: 1.25em; box-sizing: border-box;}
.check_list.type01 li {padding-left: 0.25em; box-sizing: border-box;}
.check_list.type01 li + li {margin-top: 10px;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * prod list (type01) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.prod_wrap.type01 {display: flex; flex-wrap: wrap; gap: 25px;}
.prod_wrap.type01:has(.noData_box){justify-content: center; text-align: center;}
.prod_wrap.type01 .noData_box p{margin-top: 10px;}
.prod_wrap.type01 .prod {width: calc(25% - 19px); border-radius: 10px; overflow: hidden; cursor: pointer; box-shadow: 0px 0px 4px 4px rgba(0, 0, 0, 0.03); position: relative;}
.prod_wrap.type01 .prod .img_box {height: 185px; position: relative;}
.prod_wrap.type01 .prod .img_box img {width: 100%; max-width: unset; height: 100%; object-fit: cover; object-position: center center;}
.prod_wrap.type01 .prod .txt_box {padding: 10px; padding-bottom: 15px; box-sizing: border-box; background-color: #fff;}
/* 상품 태그 */
.prod_wrap.type01 .tag {position: absolute; top: 0; left: 0; width: 100%; display: flex; flex-wrap: wrap; gap: 4px; padding: 12px; box-sizing: border-box;}
.prod_wrap.type01 .tag li {background-color: #53803C; color: #fff; font-weight: 700; font-size: 14px; line-height: 1.28em; padding: 4px 8px; box-sizing: border-box; border-radius: 30px;}
/* 제품명 & 주소 */
.prod_wrap.type01 .prod .prod_header {display: flex; align-items: flex-start;}
.prod_wrap.type01 .prod .tit {width: calc(100% - 24px);}
.prod_wrap.type01 .prod .tit h6 {font-weight: 700; font-size: 20px; line-height: 1.2em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.prod_wrap.type01 .prod .tit p {font-weight: 500; font-size: 14px; line-height: 1.6em; color: #3d3d3d;}
/* 찜 */
.prod_wrap.type01 .prod .prod_header .zzim {display: block; width: 24px; height: 24px; background: url(/icon/heart.svg) no-repeat center center / contain;}
.prod_wrap.type01 .prod .prod_header .zzim.on {background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C13 21 22 16.0002 22 9.00043C22 5.50057 19 3.04405 16 3.00065C14.5 2.97894 13 3.50065 12 5.00059C11 3.50065 9.47405 3.00065 8 3.00065C5 3.00065 2 5.50057 2 9.00043C2 16.0002 11 21 12 21Z' stroke='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='%23FFB0B0'/%3E%3C/svg%3E%0A");}
/* 상품 설명 */
.prod_wrap.type01 .prod .desc {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: hidden; overflow: hidden; height: 2.66em; font-size: 12px; line-height: 1.33em; margin-top: 10px;}
.prod_wrap.type01 .prod .desc p { color: #6f6f6f;}
/* 기타 */
.prod_wrap.type01 .prod .etc {display: flex; align-items: center; margin-top: 25px;}
/* 기타 : 가격 */
.prod_wrap.type01 .price {margin-left: auto; position: absolute;bottom: 10px;right: 10px;}
.prod_wrap.type01 .price p {font-weight: 700; font-size: 18px; line-height: 1.55em; letter-spacing: -0.05em;}
/* 기타 : 정보 */
.prod_wrap.type01 .info li + li {margin-top: 5px;}
.prod_wrap.type01 .info i {display: inline-block; vertical-align: middle; width: 16px; height: 16px; background: no-repeat center center / contain;}
.prod_wrap.type01 .info i.addr {background-image: url(/icon/map_pin.svg);}
.prod_wrap.type01 .info i.tel {background-image: url(/icon/tel.svg);}
.prod_wrap.type01 .info span {vertical-align: middle; font-size: 16px; color: #6f6f6f;}

@media all and (max-width: 1200px) {
    .prod_wrap.type01 .prod {width: calc(33.3333% - 17px);}
}

@media all and (max-width: 1024px) {
    .prod_wrap.type01 .prod {width: calc(50% - 18px);}
}

@media all and (max-width: 767px) {
    .prod_wrap.type01 .prod {width: 100%;}
}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * prod list (type01 : horizon) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.prod_wrap.dir_hor .prod {width: 100%; display: flex;}
.prod_wrap.dir_hor .prod .img_box {width: 300px;}
.prod_wrap.dir_hor .prod .txt_box {width: calc(100% - 300px); display: flex; flex-direction: column;}
/* 제품명 & 주소 */
.prod_wrap.dir_hor .prod .tit p {font-size: 16px;}
/* 찜 */
.prod_wrap.dir_hor .prod .zzim_wrap {text-align: center; width: 24px;}
.prod_wrap.dir_hor .prod .zzim_wrap span {font-size: 12px; line-height: 1.33em; color: #6f6f6f; font-feature-settings: "tnum";}
/* 상품 설명 */
.prod_wrap.dir_hor .prod .desc {font-size: 14px;}
/* 별점 */
.prod_wrap.dir_hor .prod .etc {margin-top: auto; align-items: flex-end;}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * Event list (type01) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
/* layout */
.event_wrap {display: flex; gap: 24px; flex-wrap: wrap;}
.event_wrap .event {display: flex; background-color: var(--bg); border-radius: 10px; overflow: hidden; cursor: pointer; flex-wrap: wrap; box-sizing: border-box;}
.event_wrap.item02 .event{width: calc(50% - 12px); }
.event_wrap.item03 .event{width: calc(33.333% - 16px); }
.event_wrap .event .txt_box {padding: 20px; box-sizing: border-box; min-width: 0; width: 100%;}
.event_wrap .event .img_box {width: 100%; aspect-ratio: 9/7.041;}
.event_wrap .event .img_box img {max-width: unset; height: 100% !important; object-fit: cover; object-position: center center; width: 100% !important;}
/* title */
.event_wrap .event_tit span {display: block; font-weight: 700; font-size: 14px; line-height: 1.16em; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; margin-bottom: 5px;}
.event_wrap .event_tit h5 {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; font-weight: 700; font-size: 20px; line-height: 1.22em; height: 2.44em;}
/* date */
.event_wrap .date {margin-top: 10px;}
.event_wrap .date span {font-weight: 400; font-size: 12px; line-height: 1.2em; color: #6f6f6f;}


/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * Coupon list (type01) *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.coupon_wrap .coupon {padding: 0; display: flex; box-shadow: 0px 0px 4px 4px rgba(0, 0, 0, 0.03); border-radius: 10px;}
.coupon_wrap .coupon + .coupon {margin-top: 15px;}
.coupon_wrap .coupon > * {padding: 20px; box-sizing: border-box;}
/* txt_box */
.coupon_wrap .txt_box {display: flex; flex: 1; min-width: 0; align-items: center; gap: 25px;}
.coupon_wrap .sale {font-weight: 700; font-size: 24px; line-height: 1.33em; font-feature-settings: "tnum";}
.coupon_wrap .conditions {flex: 1; min-width: 0;}
.coupon_wrap .conditions p {font-size: 16px; line-height: 1.25em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.coupon_wrap .conditions span {display: block; font-size: 12px; line-height: 1.5em; color: #a5a5a5; margin-top: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
/* link */
.coupon_wrap .link_box {background-color: #EDF9E8; cursor: pointer; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; margin-left: auto;}
.coupon_wrap .link_box i {width: 32px; height: 32px; border-radius: 50%; border: 2px solid #53803C; box-sizing: border-box; background: url(/icon/arrow_right.svg) no-repeat center center / 20px auto;}
.coupon_wrap .link_box span {font-weight: 500; font-size: 12px; color: #53803C;}


/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * review list *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.review_list > li {padding: 20px; border-radius: 10px; box-shadow: 0px 0px 4px 3px rgba(0, 0, 0, 0.04);}
.review_list > li + li {margin-top: 20px;}
.review_list .review_header {display: flex; align-items: center; gap: 10px; margin-bottom: 15px;}
.review_list .review_header p {font-size: 14px;}
.review_list .review_header span {font-size: 14px; margin-left: auto;}
.review_list .summary {align-items: center;}
.review_list .summary .info {width: calc(100% - 210px);}
.review_list .summary .info li span {font-weight: 500; font-size: 14px; line-height: 1.14em; color: #a5a5a5;}
.review_list .summary .gallery {width: 210px; gap: 5px; display: flex; justify-content: flex-end;}
.review_list .summary .gallery li {width: calc(33.3333% - 4px); aspect-ratio: 1/1; border-radius: 5px; overflow: hidden;}
.review_list .summary .gallery li img {width: 100%; height: 100%; object-fit: cover; max-width: unset;}
.review_list .desc {margin-top: 20px;}
.review_list .desc p {font-size: 16px; line-height: 1.375em;}


/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * prod filter *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.filter {position: sticky; top: 40px; height: 100vh; overflow-y: auto; overflow-x: hidden;}
/* 옵션별 타이틀 */
.filter .filter_tit {margin-bottom: 30px;}
.filter .filter_tit h6 {font-weight: 700; font-size: 20px; line-height: 1.2em;}
/* 필터 초기화 */
.filter .reset i {display: inline-block; width: 18px; height: 18px; background: url(/icon/reset.svg) no-repeat center center; background-size: 100% auto; vertical-align: middle; margin-right: 5px;}
.filter .reset span {vertical-align: middle; font-weight: 700; font-size: 20px; line-height: 1.4em; color: #53803C;}
/* 구분선 */
.filter .divider {width: 100%; height: 1px; background-color: #dfdfdf; margin: 40px 0;}
/* 가격 구간 설정 */
.filter .item_range .price {font-weight: 700; font-size: 18px; line-height: 1.33em;}
.filter .item_range .irs {margin-top: 20px;}
/* ion range custom */
.filter .irs--round .irs-bar {background-color: var(--deep-green);}
.filter .irs--round .irs-handle {top: 30px; width: 16px; height: 16px; background-color: var(--deep-green); border-color: transparent;}
.filter .irs--round .irs-from,
.filter .irs--round .irs-to,
.filter .irs--round .irs-single {background-color: var(--deep-green);}
.filter .irs--round .irs-from::before,
.filter .irs--round .irs-to::before,
.filter .irs--round .irs-single::before {border-top-color: var(--deep-green);}
.filter .irs--round .irs-grid-text {border-top-color: var(--deep-green); color: #a5a5a5;}
/* ion range 높이 설정 */
.filter .irs--round.irs-with-grid {height: 35px;}
.filter .irs--round .irs-line,
.filter .irs--round .irs-bar {top: 6px;}
.filter .irs--round .irs-handle {top: 0;}
/* filter btn */
.filter .item_btn .btn_wrap {display: flex; flex-wrap: wrap; gap: 4px;}
.filter .item_btn .btn_wrap label {font-size: 18px;}
.filter .item_btn .btn_wrap label input[type=checkbox] {display: none;}
.filter .item_btn .btn_wrap label input[type=checkbox]:checked ~ span {background-color: var(--deep-green); color: #fff; border-color: transparent;}
.filter .item_btn .btn_wrap label span {display: inline-block; border: 1px solid #A5A5A5; padding: 6px 10px; box-sizing: border-box; border-radius: 40px;}

.m_filter.filter,
.m_filter_select{display: none; margin-bottom: 20px;}
.m_filter_select ul{display: flex; gap: 8px;}
.m_filter_select ul li a{padding: 8px 46px 8px 16px; border: 1px solid #dfdfdf; border-radius: 16px; color: #000; font-size: 16px; font-weight: 500; background: url(/img/down_icon.png)no-repeat center right 16px;}
.filter h4.title{font-size: 20px; font-weight: 700; text-align: center; display: none;}
.m_filter {display:none; position: fixed; left: 0; top: 0; width: 100%; background-color: #fff; z-index: 10; padding: 40px 20px 110px; box-sizing: border-box; max-height: 100vh; height: 100%; overflow-y: auto;}
.m_filter .filter{height: auto; position: unset;}
.filter .closed_btn{position: absolute; left: 25px; top: 40px; display: none;}

.filter .btn_wrap.type02.sticky{gap: 12px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 25px; box-sizing: border-box; background-color: #fff; box-shadow: 0px -5px 10px 0px #0000000D; display: none;}
.filter .btn_wrap.type02 a{width: calc(50% - 6px);}

@media all and (max-width: 767px) {
    .filter .btn_wrap.type02.sticky{display: flex;}
    .filter .item_btn .btn_wrap {gap: 4px;}
    .filter .item_btn .btn_wrap label span {font-size: 16px; padding: 6px;}
    .m_filter .reset{display: none;}

    .m_filter.on{display: block;}
    .m_filter .filter.type02,
    .m_filter_select{display: block;}

    .filter{position: fixed; top: 0; left: 0; background-color: #fff; z-index: 50;width: 100%; padding: 30px; box-sizing: border-box; display: none;}
    .filter.on,
    .filter h4.title,
    .filter .closed_btn{display: block;}
    .filter .reset{display: none;}
}

/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * table *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
table {width: 100%; font-feature-settings: "tnum";}
table.type01 {text-align: left;}
table.type01 td,
table.type01 th {padding: 10px 15px; box-sizing: border-box;}
table.type01 td:first-child,
table.type01 th:first-child {padding-left: 30px;}
table.type01 td:last-child,
table.type01 th:last-child {padding-right: 30px;}
/* thead */
table.type01 thead tr {height: 60px;}
table.type01 thead th {background: #DBF2CF; font-weight: 500; font-size: 16px; color: #6f6f6f;}
table.type01 thead th:first-child {border-radius: 10px 0 0 10px;}
table.type01 thead th:last-child {border-radius: 0 10px 10px 0;}
/* tbody */
table.type01 tbody tr {height: 50px; transition: 0.3s;}
table.type01 tbody tr:not(.no-data):hover {background-color: #F3FBF0;}
table.type01 tbody tr:not(.no-data):hover td {color: #000;}
table.type01 tbody tr + tr {border-top: 1px solid #dfdfdf;}
table.type01 tbody tr + tr:last-child {border-bottom: 1px solid #dfdfdf;}
table.type01 tbody tr td {font-weight: 500; font-size: 16px;}
table.type01 tbody tr td b {font-weight: 700;}
/* color */
table.type01 tbody tr td .red {color: red;}
table.type01 tbody tr td .green {color: #7CC05A;}
table.type01 tbody tr td .gray {color: #8B8B8B;}
/* over */
table.type01 tbody td.over {max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

/* no-data */
table.type01 tr.no-data td {text-align: center;}
/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * pop-layout *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
body.pop {height: 100vh; overflow: hidden;}
.pop-layout {position: fixed; top: 0; left: 0; width: 100%; height: 100vh; display: none; z-index: 200;}
.pop-layout .pop_bg {width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.25); cursor: pointer;}
.pop-layout .pop_up {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; overflow-y: auto; background-color: #fff; border-radius: 20px;}

/* 팝업창 크기 */
.pop-layout .pop_up.addr_search {max-width: 375px; max-height: 485px;}
.pop-layout .pop_up.change-star {max-width: 375px; height: auto;}
.pop-layout .pop_up.change-pw {max-width: 375px; height: auto;}


/*ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 * layout01 *
    
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ*/
.layout01 .inner {gap: 30px; justify-content: space-between;}
.layout01 .inner > .left {width: 240px; box-sizing: border-box;}
.layout01 .inner > .right {width: calc(100% - 270px); box-sizing: border-box;}
.layout01 .inner > .full_box{width: 100%; box-sizing: border-box;}

.layout01.revers .inner > .left {width: 375px; order: 1;}
.layout01.revers .inner > .right {width: calc(100% - 405px);}

/* 예외 */
.prod_wrap .layout01 .inner > .right {max-width: 955px;}

.mypage_con .noData_box{display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 10px; text-align: center; border: none; box-shadow: unset; margin-top: 50px; width: 100%;}
.reserve_list .noData_box{display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 10px; text-align: center; border: none; box-shadow: unset;  width: 100%;}
.mypage_con .noData_box p,
.reserve_list .noData_box p{font-size: 16px; color: #444444; letter-spacing: -0.06em;}