@charset "utf-8";

/* 서브페이지 기본 세팅 s */
#container { padding-top: 85px; position: relative; overflow: hidden; }
.contents { padding-top:40px; padding-bottom: 120px; }
.contents * { line-height:140% }
.inner-small { position: relative; width: 96%; margin: 0 auto; max-width: 768px; }
h3 { font-size: 20px; margin-bottom: 20px; font-weight: 500; }
h3 span.okinawa::before { content: '🏖'; }
h3 span.fukuoka::before {  content: '🍣'; }
h3 span.hiroshima::before { content: '🎏'; }
h3 span.osaka::before { content: '🌸'; }
h3 span.nagoya::before { content: '🏯'; }
h3 span.tokyo::before { content: '🗼'; }
h3 span.hokkaido::before { content: '⛄'; }
.required { color:var(--warn-color); }

.sub_vis { width: 100%; height: 300px; position: relative; background: url("/resources/img/sub/sub_vis_1.jpg") no-repeat center/cover; color:white; text-align: center; }
.sub_vis.okinawa {background: url("/resources/img/sub/sub_vis_okinawa.jpg") no-repeat center/cover;}
.sub_vis.fukuoka {background: url("/resources/img/sub/sub_vis_fukuoka.jpg") no-repeat center/cover;}
.sub_vis.hiroshima {background: url("/resources/img/sub/sub_vis_hiroshima.jpg") no-repeat center/cover;}
.sub_vis.osaka {background: url("/resources/img/sub/sub_vis_osaka.jpg") no-repeat center/cover;}
.sub_vis.nagoya {background: url("/resources/img/sub/sub_vis_nagoya.jpg") no-repeat center/cover;}
.sub_vis.kyoto {background: url("/resources/img/sub/sub_vis_kyoto.jpg") no-repeat center/cover;}
.sub_vis.nara {background: url("/resources/img/sub/sub_vis_nara.jpg") no-repeat center/cover;}
.sub_vis.tokyo {background: url("/resources/img/sub/sub_vis_tokyo.jpg") no-repeat center/cover;}
.sub_vis.hokkaido {background: url("/resources/img/sub/sub_vis_hokkaido.jpg") no-repeat center/cover;}

.sub_vis.notice {background: url("/resources/img/sub/sub_vis_notice.jpg") no-repeat center/cover;}
.sub_vis.review {background: url("/resources/img/sub/sub_vis_review.jpg") no-repeat center/cover;}

.sub_vis.sub-vis-reserve { background: url('/resources/img/sub/sub_vis_reser.jpg') no-repeat center/cover; }
.sub_vis.sub-vis-none { display: none; }

.sub_vis .h2-wrap { display: flex; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap:8px; font-size: 46px; font-weight: 700; letter-spacing: -0.5px; }
.sub_vis .h2-sub { font-size: 22px; font-weight: 400; letter-spacing: 1.5px; }
select { padding: 2px 24px 0px; outline: none; background:white url('/resources/img/common/select-arw.png') no-repeat center/contain; background-position: 92%; background-size: 10px; cursor: pointer; }

.top-info-wrap { padding:0 0px 12px; margin-bottom: 24px; border-bottom: 1px solid var(--main-color); position: relative; }
.top-info-wrap::after { content: ''; width: 50%; max-width:330px; height:2px; background:var(--main-color); position: absolute; left:0px; bottom:0px; }
.top-info-wrap h3 { margin-bottom: 0; font-weight: 600; }
.top-info-wrap .selected-product { font-size: 24px; font-weight: 600; }
.history-back { display: block; width:38px; height: 38px; margin-bottom: 12px; background:url('/resources/img/common/ico_back.svg') no-repeat left center/ 14px; text-indent: -999px; overflow: hidden; z-index: 1; }
.inner-small .selected { padding-top: 80px; }

.label-float-input { position: relative; }
.label-float-input textarea { display: block; height:150px; padding:18px; border-radius: 8px; border:1px solid var(--form-item-border); font-size: 15px; }
.label-float-input input[type="text"],
.label-float-input select { width: 100%; display: block; height:50px; padding:0 18px; border-radius: 8px; border:1px solid var(--form-item-border); font-size: 15px; }
.label-float-input input:read-only { background: #EEE; }
.label-float-input input:read-only + label { background: transparent; cursor: default; }
.label-float-input label { position: absolute; padding:0 4px; top:50%; transform: translateY(-50%); left:16px; transition: 0.2s ease-out; color:var(--sub-black); background:white; font-size: 16px; font-weight: 400; pointer-events: none; }
.label-float-input textarea:focus,
.label-float-input input:focus:not(:read-only) { outline: none; border-color:var(--main-color); }

.label-float-input input:not(:placeholder-shown) + label,
.label-float-input textarea:not(:placeholder-shown) + label,
.label-float-input input:focus:not(:read-only) + label,
.label-float-input textarea:focus + label { top:0px; transform: translateY(-50%); font-size: 14px; color:var(--main-black); }

.btn-wrap { width: 100%; display: flex; gap:8px; }
.btn-wrap button { width: 100%; height:52px; }
.btn-wrap button.inactive { background:#FAFAFA; color:#666; border:1px solid #DDD; }
.btn-wrap button.active { background:var(--main-color); color:white; }

.fake-drop-down { position: relative; cursor: pointer; }
.fake-drop-down .fake-drop-down-label { padding:0 4px; color:#666; position: absolute; left: 16px; top:50%; transform: translateY(-50%); z-index: 1; background:white; transition: 0.2s ease-out; pointer-events: none; }
.fake-drop-down .fake-drop-down-value { width: 100%; display: flex; align-items: center; height:50px; padding:0 18px; padding-right:38px; background:white; border:1px solid var(--form-item-border); border-radius: 8px; color:var(--main-black); font-size: 17px; }
.fake-drop-down .fake-drop-down-value::after { content: ''; width: 20px; height: 20px; background: url('/resources/img/common/select-arw.png') no-repeat center; position: absolute; right: 18px; top: calc(50% - 10px); transition: 0.3s ease-out; }
.fake-drop-down ul { width:100%; max-height:350px; position: absolute; left:0px; bottom:1px; transform: translateY(100%); background:white; z-index: 2; border:1px solid var(--main-color); border-top-color: #DDD ; box-shadow: 2px 5px 4px rgba(177,204,239,0.4); border-radius: 0px 0px 8px 8px; visibility: hidden; overflow-y: auto; }
.fake-drop-down li :where(button, p) { width: 100%; height:42px; padding: 0 18px; border-bottom: 1px solid #DDD; text-align: left; cursor: pointer; line-height: 40px; }
.fake-drop-down li:first-child :where(button, p) { height:44px; line-height: 44px; }
.fake-drop-down li:last-child :where(button, p) { height:44px; line-height: 44px; border-bottom: none; }
.fake-drop-down li:hover :where(button, p) { background:#f4f7ff; }
.fake-drop-down .inactive-li p { cursor: default !important; }
.fake-drop-down.active ul { visibility: visible; }
.fake-drop-down.active .fake-drop-down-value { border-radius: 8px 8px 0px 0px; border-color:var(--main-color); }
.fake-drop-down.active .fake-drop-down-value::after { transform: rotate(180deg); }
.fake-drop-down.value-selected .fake-drop-down-label { top:0px; transform: translateY(-50%); font-size: 14px; color:var(--main-black); }
.note { color:#666; margin-top:4px; padding-left: 2px; font-size: 14px; }
@media screen and (max-width:768px){
	#container { padding-top: 64px; }
  	.inner-small { width: 100%; padding: 0 20px; }
	.sub_vis { height: 230px; }
	.sub_vis .h2-wrap { font-size: 30px; }
	.sub_vis .h2-sub { font-size: 17px; }
}
@media screen and (max-width:500px){
	.sub_vis { height: 200px; }
	.sub_vis .h2-wrap { font-size: 22px; font-weight: 600; }
	.sub_vis .h2-sub { font-size: 16px; }
}
/* 서브페이지 기본 세팅 e */

/* 상품리스트 */
.product { padding-bottom: 80px; min-height:314px; }
.product .schedule ul { display: grid; grid-template-columns: repeat(3, 1fr); gap:40px; }
.product .schedule .product-img { width: 100%; padding-bottom: 100%; border-radius: 16px; overflow: hidden; position: relative; }
.product .schedule .product-img img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.product .schedule .product-title { width: 94%; height: 48px; margin: 16px auto 0; font-size: 18px; font-weight: 400; line-height: 125%; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product .schedule .product-price { width: 94%; margin: 16px auto 0; font-size: 22px; font-weight: 600; line-height: 31px; color:var(--sub-color); letter-spacing: -0.5px; }
.product .schedule .product-price p { line-height: 31px; }
.product .schedule .product-price span { font: 400 15px/31px 'WantedSans'; }

.product .schedule .product-price .unit { margin-right: 4px; }
.product .schedule .price-title { font-size: 18px; font-weight: 500; color: var(--sub-black); margin-right: 10px !important; }
.product .schedule .product-info { margin: 6px 0 4px; padding:10px 6px; background:#FAFAFA; border-radius: 5px; }
.product .schedule .product-day { display: grid; grid-template-columns: repeat(7, 1fr); gap:4px; width: 100%; padding:0 2px; cursor: default; }
.product .schedule .product-day p { padding: 4px 0; border-radius: 2px; font-weight: 500; }
.product .schedule .product-day p.off { color:#DDD; }
.product .schedule .product-button-wrap { width:96%; margin:16px auto 0; display: flex; gap:4px; }
.product .schedule .product-button-wrap button { width: 100%; height: 40px; border-radius: 5px; }
.product .schedule .product-button-wrap .active-type-blue { background:var(--main-color); color:white; }
.product .schedule .product-button-wrap .active-type-black { background:var(--main-black); color:white; }
.product .schedule .product-button-wrap .inactive { background:#DDD; color:#666666; cursor: default; }

@media screen and (max-width:850px){
  .product .schedule ul { grid-template-columns: repeat(2, 1fr); gap:32px; }
}
@media screen and (max-width:430px){
	.product .schedule .product-button-wrap { margin-top: 8px; }
  .product .schedule ul { grid-template-columns: repeat(1, 1fr); gap:40px 20px; }
}


/* 상품상세 */
.detail .prdt-top { margin-bottom: 30px; padding-bottom: 40px; border-bottom: 1px solid #eee; }
.detail .prdt-top .prdt-img { position: relative;  }
.detail .prdt-top .prdt-img .img-box { width: 100%; padding-bottom: 48%; background-color: #000; position: relative; }
.detail .prdt-top .prdt-img .img-box > img { width: 100%; height: 100%; object-fit: cover; opacity: 0.75; position: absolute; }
.detail .prdt-top .prdt-tit-box { position: absolute; left: 3%; top: 8%; }
.detail .prdt-top .prdt-tit-box p { font: 400 15px/100% 'WantedSans'; color: #fff; }
.detail .prdt-top .prdt-tit-box p.prdt-tit { width: 80%; max-width: 520px; font: 600 26px/135% 'WantedSans'; margin-top: 3px; }

.sticky-cont { display: grid; grid-template-columns: auto 280px; gap:20px; position: relative; z-index: 1; }
.sticky-scroll { position: sticky; top:100px; height: fit-content; padding:24px; background:white; border-radius: 16px; box-shadow: var(--box-shadow); }
.sticky-scroll .btn-wrap { margin-top: 16px; }
.sticky-scroll button { border-radius: 5px; }
.sticky-scroll .product-title { font-size: 18px; font-weight: 500; line-height: 125%; }
.sticky-scroll .product-tag { margin-top: 8px; font: 400 14px/125% 'WantedSans'; color: #757575; }
.sticky-scroll .product-price { margin: 16px auto 0; font-size: 18px; font-weight: 600; line-height: 125%; color:var(--sub-color); letter-spacing: -0.5px; }
.sticky-scroll .product-price p { line-height: 140%; }
.sticky-scroll .product-price span { display: inline-block; line-height: 120%; }
.sticky-scroll .product-price .unit { margin-right: 4px; }
.sticky-scroll .price-title { font-size: 18px; font-weight: 500; color:var(--sub-black); margin-right:10px !important; }


@media screen and (max-width:768px){
  .detail .prdt-top .prdt-img .img-box { padding-bottom: 65%; }
  .detail .prdt-top .prdt-tit-box { left: 16px; }
  .detail .prdt-top .prdt-tit-box p.prdt-tit { font-size: 20px; }

	.sticky-cont { grid-template-columns: repeat(1, 1fr); }
	.sticky-scroll { width: calc(100% + 40px); margin-left:-20px; padding:20px; top:auto; bottom:0px; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15); border-radius: 0px; }
  .sticky-scroll .product-title { width: calc(100vw - 70px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sticky-scroll .product-price { display: flex; gap:32px; font-size: 18px; }
  .sticky-scroll .price-title { font-size: 16px; margin-right: 8px !important; }
}
@media screen and (max-width:480px){
  .detail .prdt-top .prdt-img .img-box { padding-bottom: 78%; }
}


/* 예약 step1 */
.reserve1 .form-input-wrap { display: grid; grid-template-columns: repeat(1, 1fr); gap:20px 16px; margin-bottom: 40px; padding-bottom: 40px; border-bottom:1px dashed #DDD; }
.reserve1 .form-input-wrap h3 { margin-bottom: 0; }
.reserve1 .form-input-wrap input:read-only { cursor: default; background:#FAFAFA; }
.reserve1 .form-input-wrap input:read-only:focus { outline: none; }
.reserve1 .form-input-wrap input:read-only + label { background: linear-gradient(180deg, white 48%, #FAFAFA 50%); font-size: 15px; font-weight: 500; }
.reserve1 .form-input-wrap .label-float-input { height: fit-content; }
.reserve1 .map-link { width: 50px; height:50px; overflow: hidden; position: absolute; top:0px; right:0px; color:white; border-radius: 8px; text-indent: -999px; background:var(--sub-color) url('/resources/img/sub/ico_map.svg') no-repeat center/24px; }
.reserve1 .label-float-input:has(.map-link) { padding-right: 58px; }
	/* 날짜 및 인원 선택 - 날짜선택 */
	.ui-state-disabled { color:#777; }
	.reserve1 .book-datepicker { height: 72px; display: flex; gap:6px; align-items: center; justify-content: center; width: 100%; background:var(--sub-color); border-radius: 8px 8px 0 0; position: relative; padding-left:50px; }
  .reserve1 .ui-datepicker-trigger::after { content: ''; display: block; width: 100%; height: 100%; position: absolute; width: 100%; height: 100%; left:0px; top:0px; z-index: 1; }
	.reserve1 .select-date { width:32px; height:32px; }
	.reserve1 .selected-text { font-size: 26px; font-weight: 600; color:white; margin-right: 10px; }
	.reserve1 .remaining-seats { height:40px; display: flex; align-items: center; justify-content: center; padding:32px 0; font-weight: 700; color:var(--point-color); font-size: 26px; border: 1px solid #B3DBF1; border-bottom: none; }
	.reserve1 .remaining-seats.empty { color:var(--warn-color); }
	.reserve1 .remaining-seats span { display: inline-block; margin-right: 8px; font-weight: 500; color:var(--main-black); font-size: 20px; }
  .reserve1 .remaining-seats span:last-child { margin-right: 0; font-size: 22px; font-weight: 400; }
  .reserve1 .fake-button { padding:5px 13px; background:white; border-radius: 4px; color:var(--main-color); font-size: 15px; font-weight: 500; box-shadow: 3px 3px 3px #00000010; }
	/* 날짜 및 인원 선택 - 인원선택 */
	.reserve1 .select-people-wrap { border-radius: 0 0 8px 8px; border:1px solid var(--form-item-border); overflow: hidden ; }
	.reserve1 .select-people-wrap .label-line { padding:18px 0 18px; display: grid; grid-template-columns: 1fr 1fr 1fr; text-align: center; font-weight: 500; font-size: 19px; border-bottom: 1px solid var(--form-item-border); color:var(--sub-black); background:#FAFAFA; }
	.reserve1 .select-people-wrap .label-line .t-small { color:#666; font-weight: 300; font-size: 14px; }
	.reserve1 .select-people-wrap .counting-people-line { width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; padding:18px 0px; border-bottom:1px solid var(--form-item-border); font-size: 16px; }
	.reserve1 .select-people-wrap .counting-people-line > div { display: flex; align-items: center; justify-content: center; font-weight: 500; letter-spacing: -0.5px; }
	.reserve1 .select-people-wrap .counting-people-line .unit { font-size: 15px; font-weight: 300; color:var(--sub-black); }
	.reserve1 .select-people-wrap .counting-people-line input { width: 72px; border:none; background:transparent; cursor: default; }
	.reserve1 .select-people-wrap .counting-people-line input:focus { outline: none; }
	.reserve1 .select-people-wrap .counting-people-line input[type="number"] { width:40px; border: 1px solid #DDD; text-align: center; }
	/* 인원 수 +/- */
	.reserve1 .counting-div > div { display: flex; align-items: center; gap:8px; margin:0px auto; }
	.reserve1 .counting-div span { cursor: pointer; color:var(--main-color); }
	.reserve1 .number-counting { display: flex; flex-direction: column; }
	/* 총 */
	.reserve1 .select-people-wrap .counting-people-line.entire-price { margin-top:2px; border-top: 1px solid var(--form-item-border); border-bottom:none; background:#FAFAFA; }
	.reserve1 .select-people-wrap .counting-people-line.entire-price input { font-weight: 600; }
	.reserve1 #total_num { font-size: 14px; color:var(--sub-black); }
	.reserve1 #total_num input { width: 30px; margin:2px; padding:1px 2px 0; text-align: right; color:var(--main-black); font-size: 15px; }
	.reserve1 .note-wrap { display: grid; grid-template-columns: repeat(1, 1fr); gap:8px; color:#666; margin-top:12px; padding-left: 2px; font-size: 14px; }
  .reserve1 .note-wrap p { position: relative; padding-left: 16px; }
  .reserve1 .note-wrap p::before { content: '※'; position: absolute; left:0px; top:0px; }

	/* 결제 */
	.reserve1 .pay-div { margin-top:40px; padding-top: 40px; border-top:1px dashed #DDD; }
	.reserve1 .pay-div > div { display: flex; justify-content: space-between; }
	.reserve1 .pay-btn-wrap { display: flex; }
	.reserve1 .pay-btn-wrap button { width: 100%; height: 42px; border: 1px solid #DDD; background:#FAFAFA; font-size: 17px; font-weight: 500; color:#888; border-bottom:none; }
	.reserve1 .pay-btn-wrap button.active { border: 1px solid var(--sub-color); background:var(--sub-color); color:white; }
	.reserve1 .pay-div .money { padding:0px 10px 10px; letter-spacing: -0.5px; text-align: right; position: relative; }
	.reserve1 .pay-div .money #pay_message_target { font-size: 18px; font-weight: 400; color:var(--sub-black) }
	.reserve1 .pay-div .money .money-value { font-size: 32px; font-weight: 600; color:var(--main-color); }
	.reserve1 .pay-div .btn-wrap { margin-top: 8px; }

	@media screen and (max-width:768px){
		.reserve1 .selected-text { font-size: 22px; margin-right: 20px; }
    .reserve1 .book-datepicker { padding-left: 30px; }
    .reserve1 .fake-button { padding:3px 8px; font-size: 13px; right:10px; }
	}
	@media screen and (max-width:500px){
    .reserve1 .select-date { width: 28px; height:28px }
		.reserve1 .form-input-wrap { grid-template-columns: repeat(1, 1fr); gap:16px 16px; }
		.reserve1 .form-input-wrap .note { margin-bottom: 8px;}
    .reserve1 .remaining-seats { font-size: 20px; }
		.reserve1 .remaining-seats span { font-size: 16px; }
    .reserve1 .remaining-seats span:last-child { font-size: 18px; }

		.reserve1 .select-people-wrap .label-line { grid-template-columns:0.8fr 1fr 1fr; font-size: 16px; }
		.reserve1 .select-people-wrap .counting-people-line { grid-template-columns:0.8fr 1fr 1fr; }

		.reserve1 .pay-div .money #pay_message_target { font-size: 16px; }
	}


/* 예약 step2 결제 */
.selected-product-date { margin-top: 2px; font-size: 17px; position: relative; font-weight: 400; color:#666; }
.reserve2 .selected-product { color:var(--sub-black); }

	/* 약관동의 */
  .reserve2 section:has(.terms-wrap) h3 { margin-bottom: 10px; margin-top: 40px; }
	.terms-wrap { padding-bottom: 80px; }
	.terms-wrap .terms { padding:24px; background:#F6F6F6; font-size: 15px; }
	.terms-wrap .agree-box { margin-top: 8px; display: flex; justify-content: right; align-items: center; }
	.terms-wrap .agree-box input { width: 16px; height: 16px; }
	/* 결제 전 확인 */
	.reserve-check { margin-bottom: 40px; }
  .reserve-check > div { display: grid; grid-template-columns: repeat(1, 1fr); border:1px solid #DDD; border-top:2px solid var(--sub-color); padding:6px 0 2px; }
	.reserve-check ul { width: 100%; padding:26px; display: grid; grid-template-columns: 1fr 1fr; gap:20px; border-bottom:1px dashed #DDD; }
  .reserve-check ul:last-child { border-bottom: none; }
	.reserve-check ul .item-name { font: 300 15px / 100% 'Wanted Sans'; color: #047ab2; }
	.reserve-check ul .item-text { color:var(--sub-black); font: 500 19px / 120% 'Wanted Sans'; margin-top: 8px; }
  .reserve-check ul .t-key { font-weight: 700; }
	/* 결제 */
	.reserve2 .pay-div { padding-top: 50px; }
	.reserve2 .pay-div > div { display: flex; justify-content: space-between; }
	.reserve2 .pay-btn-wrap { display: flex; }
	.reserve2 .pay-btn-wrap button { width: 100%; height: 42px; border: 1px solid #DDD; background:#FAFAFA; font-size: 17px; font-weight: 500; color:#888; border-bottom:none; }
	.reserve2 .pay-btn-wrap button.active { border: 1px solid var(--sub-color); background:var(--sub-color); color:white; }
	.reserve2 .pay-div .money { display: flex; align-items: center; padding:20px 10px 10px; letter-spacing: -0.5px; text-align: right; position: relative; }
	.reserve2 .pay-div .money #pay_message_target { padding-top: 4px; padding-right: 12px; font-size: 18px; font-weight: 400; color:var(--sub-black); }
	.reserve2 .pay-div .money .money-value { font-size: 32px; font-weight: 600; color:var(--main-color); }
	.reserve2 .pay-div .btn-wrap { margin-top: 8px; }
	@media screen and (max-width:768px){
    .reserve-check > div { flex-wrap:wrap; }
	}
	@media screen and (max-width:500px){
    .reserve2 .selected-product { font-size: 20px; }
		.selected-product-date { font-size: 17px; }
		.reserve2 h3 { margin-bottom: 10px; } 
		.reserve-check ul { padding:28px 24px; gap:20px; grid-template-columns: repeat(1, 1fr); }
		.reserve-check ul .item-name { font-size: 14px; }
		.reserve-check ul .item-text { font-size: 17px; }
	}
  
  /* 예약확인 - 정보확인 */
  .check-member-info .inner-small { max-width: 600px; margin-top:60px; padding:50px 40px 46px; }
  .check-member-info h4 { font-size: 17px; margin-bottom: 16px; position: relative; padding-left:16px; }
  .check-member-info h4::before { content: ''; width: 4px; height:16px; background:var(--main-color); position: absolute; left:0px; top:50%; transform: translateY(-50%); }
.check-member-info .form-input-wrap { grid-template-columns: repeat(1, 1fr); gap:8px; margin-bottom: 20px; padding-bottom: 0; border-bottom: none; }


/* 리뷰작성하기 /prog/review/write.php */
.review h3 { text-align: center; font-size: 28px; font-weight: 600; margin-bottom: 0; }
.review .h3-wrap { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.review .inner-small { max-width: 480px; }
.review form ul { display: grid; gap:24px; grid-template-columns: repeat(2, 1fr); margin-bottom: 34px; }
.review form .grid-2fr { grid-column: auto / span 2; }
.review form li > label { display: block; margin-bottom: 4px; font-size: 17px; }
.review form li input[type="text"],
.review form li input[type="password"] { display: block; width: 100%; height:48px; padding:0 12px; border: 1px solid var(--sub-color); border-radius: 8px; }
.review form li select { display: block; width: 100%; height: 48px; padding:0 12px; border: 1px solid var(--sub-color); border-radius: 8px; }
.review form li textarea { padding:12px; border: 1px solid var(--sub-color); border-radius: 8px; }
.review form #start_date { cursor: pointer; }
#limit { font-size: 14px; text-align: right; padding: 4px; color:#666; }
.review .file-box { margin-top:12px; display: grid; grid-template-columns: auto 80px; gap:12px; margin-bottom: 16px; align-items: center; background:#FAFAFA; padding:12px; border:1px solid #EEEE; }
.review .file-box input { width: 100%; }
.review .file-box span { color:var(--warn-color); font-size: 14px; }
.review .t-small { font-size: 14px; }

.review form li input:focus,
.review form li textarea:focus { outline: 2px solid var(--bg-color); }
.review form li input:not(:placeholder-shown),
.review form li textarea:not(:placeholder-shown) { background:#FAFAFA; }

.review .ui-datepicker-trigger { display: none; }

.review .star { width: fit-content; position: relative; font-size: 36px; color: #DDD; }
.review .star p { width: fit-content; }
.review .star input { width: 100%; height: 100%; position: absolute; left: 0; top:0px; opacity: 0; cursor: pointer; z-index: 1; }
.review .star .blue-star { width: 100%; height: 100%; position: absolute; left: 0; top:0px; color: var(--sub-color); overflow: hidden; pointer-events: none; white-space: nowrap; }

.ui-datepicker-current { display:none; }
.uploaded img { width:80px; height:80px; object-fit:cover; margin-bottom:10px; }
.uploaded button { height:40px; background:var(--warn-color); color:white; border-radius:5px; }
.review form li select { padding: 0 44px 0 12px; text-overflow: ellipsis; white-space: nowrap; }

@media screen and (max-width:480px){
  .review form ul { gap:24px 12px; }
  .review h3 { font-size: 20px; }
  .review .star { font-size: 32px; }

  .review form li > label { font-size: 16px; }
  .review form li input[type="text"], .review form li input[type="password"] { font-size: 15px; }
}


  
  /* 예약자정보 */
  .reserv_data { width: 100%;height: 80px; background-color: #eee; padding: 28px 0; box-sizing: border-box;}
  .reserv_data ul { width: 100%; display: flex; justify-content: center; margin: 0 auto; height: 100%; align-items: center; }
  .reserv_data ul li { margin: 0 20px; position: relative; text-align: center; font-size: 17px; font-weight: 500; color: #333;}
  .reserv_data ul li::after { content: ""; width: 1px; height: 17px; background-color: #333; position: absolute; top: 3px; right: -20px; }
  .reserv_data ul li > span { margin-left: 10px;}
  .reserv_data ul li > span:first-of-type { margin-left: 0; }
  .reserv_data ul li > span.cho_wkday { margin-left: 0;}
  .reserv_data ul li:last-child::after {content: ""; width: 1px; height: 17px; background-color: inherit; position: inherit; }
  .reserv_data ul li.cho_tmpick { color: #4bbebe ;}
  
  .vst_wrap { display: flex; justify-content: space-between; width: 100%; }
  .vst_wrap .vst_r{ width: calc( 100% - 560px ); }

  .vst_info_wrap {height: 100%;}
  .vst_form { width: 540px; height: 100%; padding: 40px; box-sizing: border-box;}
  .vst_form table { width: 100%;}
  .vst_form table td:first-child { color: #333; font-weight: 500; padding: 0 15px 45px 0; position: relative; width: 39%; box-sizing: border-box;}
  .vst_form table td:first-child::before { content: ""; background: #4bbebe ; position: absolute; top: 10px; left: -10px; margin-right: 5px; width: 5px; height: 5px;}
  .vst_form table td:last-child { width: 80%;}
  .vst_form table input[type="text"] { background: inherit; width: 95%; border: none; border-bottom: 1px solid #ddd; font-size: 15px; color: #333; font-weight: 300; padding: 0 5px 5px 10px; }
  .vst_form table input[type="text"]#rent_name { text-transform: uppercase;}
  .vst_form table input[type="text"]::placeholder { color: #aaa; font-size: 16px; font-weight: 300;}
  .vst_form table select { width: 95%; padding: 3px 5px; cursor: pointer;}

  .vst_btn_wrap { display: flex; justify-content: space-between; }
  .vst_btn_wrap .btn_more { margin: 0 !important; margin-top: 40px !important; }

  .pkup_plc { border-bottom: 1px solid #ddd; font-size: 16px; color: #333;}
  .pkup_plc option { font-size: 16px; font-weight: 300; color: #333;}

  .vst_wrap .more p {width: fit-content; transform: translateX(-10px);text-indent: -14px; margin-left: 14px; margin-bottom: 5px;}
  .vst_wrap .more p:first-child {color: #EF414E;}
  .vst_wrap .more p.info_ch {background: #EF414E; color: #fff; padding-left: 14px; margin-left: 0;}
  .vst_wrap .vst_r .more {margin-top: 10px; background-color: #F5F5F5; padding: 15px;}

  /* 인원정보 */
  .vst_calc { padding: 20px; min-height: 515px;  box-sizing: border-box; position: relative;}
  .vst_calc table { width: 100%; color: #333; text-align: center;}
  .vst_calc table tr {border-bottom: 1px solid #ddd;}
  .vst_calc table tr:last-child td { padding: 32px 0;}
  .vst_calc table th:first-child { width: 30%;}
  .vst_calc table th { width: 22%; padding: 14px 0;}
  .vst_calc table th:last-child { width: 26%;}

  .vst_calc table td:first-child { width: 30%;}
  .vst_calc table td {position: relative; width: 22%; padding: 14px 0;}
  .vst_calc table td>div{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%;} 

  .vst_calc .small {font-size: 14px; font-weight: 500;}
  .vst_calc table td:last-child { width: 26%; position: relative;}
  .vst_calc table td input[type="text"] { background: #fff; border: 0px;cursor: default;   width: 52px !important; text-align: center;}


  .std_adult { font-size: 14px; margin-left: 7px;}

  .vst_calc table .undw_wrap { display: flex; flex-flow: column; width: 20px; height: 50px; position: absolute; left: 69%; transform: translate(0, -38%);}
  .undw_wrap span { display: block; font-size: 12px; color: #333;   
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none
  }
  .undw_wrap .up_btn {margin-bottom: 5px;}
  .totaly_people { width: 100%;}
  .totaly_people p { text-align: right; font-weight: 500; padding-top: 15px;}

  .vst_calc .total_adt, .vst_calc .total_chd, .vst_calc .total_baby { font-weight: 550; margin-left: 10px;}
  .calc_txt { position: absolute; bottom: 100px; right: 20px;}
  .calc_txt p {display: inline-block;}
  .smal_txt { font-size: 14px; color: #666;}
  .ntc_exchange { width: 100%; height: 85px; background-color: #eee; position: absolute; bottom: 0; left: 0; padding: 15px; box-sizing: border-box;}
  .ntc_exchange p { font-size: 14px; color: #333; line-height: 180%; text-indent: -6px; padding-left: 6px; }

  /* check fullpay */
  .check_fullpay {width: 100%; max-width: 380px; margin-bottom:20px; position:absolute; right:0px; background-color:#ccc; height:40px; border-radius:50px;}
  .toggle-btn {width:50%; height: 100%; border-radius: 50px; background-color: #2CA6E0; position:absolute; transition: all 0.3s ease-in-out;}
  .toggle-btn.on{transform: translateX(100%);}
  .check_fullpay ul {width:100%; position: absolute;}
  .check_fullpay ul li{width:50%; line-height: 40px; text-align: center; color:white; float:left;}
  .fullpay_notice {display:none;text-align: end; padding-top: 46px; color:#EF414E;}
  .fullpay_notice2 {display:block; color:#EF414E;}
  .fullpay_notice.on {display:block;}
  .btn_fullpay { text-align: center; width: 190px; height: 40px; position: relative; right: 0px; margin-bottom: 6px; font-family: "PRETENDARD"; line-height: 40px; color: white; background-color: #2CA6E0; border-radius: 40px;}

  /*refund*/
  .wrap_border.refund {padding: 20px; color: #253e9a; text-indent: -14px; padding-left: 34px;}

  /* 픽업안내 */
  .pkof_info {width: 495px; height: 125px; padding: 20px 0; box-sizing: border-box;}
  .pkof_info > ul { display: flex; width: 100%; height: 100%; flex-flow: row; justify-content: center;}
  .pkof_info > ul > li { width: 50%; height: 100%; position: relative;}
  .pkof_info > ul > li:first-child:after { content: ""; width: 1px; height: 90%; background-color: #ddd; position: absolute; top: 5%; right: 0;}
  .pickdrop { width: 100%; height: 100%;}
  .pickdrop p { text-align: center; font-size: 14px; margin-bottom: 10px;}
  p.info_txt { font-weight: 500; color: #4bbebe ;}
  p.min_info { font-size: 12px;}
  .pick_plc, .pick_tm, .drop_tm { font-weight: 500;}

  /* 기타사항 */
  .memo_area { width: 685px;height: 125px; } 
  .memo_area textarea { width: 100%; min-height: 125px; padding: 15px; border: 1px solid #ddd; box-sizing: border-box; font-size: 14px; font-weight: 300; color: #333; resize: none; line-height: 165%;}
  .memo_area textarea::placeholder { color: #aaa;}
  
  /* 이용약관 */
  .sub_des { width: 100%; margin: 40px 0;}
  .sub_des p { width: 100%; text-align: center;}
  .sub_des_tit { font-weight: 500; padding-bottom: 10px;}
  .ag_check { float: right;}
  .ag_check label { font-size: 16px;}
  .ag_check input[type=checkbox] { width: 16px; height: 16px; margin-left: 5px; margin: inherit;}
  .des_txt { width: 100%; padding: 30px 20px; background: #f5f5f5; box-sizing: border-box; }
  .des_txt > ul > li { font-size: 14px; line-height: 140%; margin-bottom: 5px; padding-left: 14px; text-indent: -14px; }

  .tot_agr { position: absolute; bottom: 15px; right: 200px;}
  .tot_agr input[type=checkbox] { margin-left: 7px; }

  /* 예약 내역 확인 */
  .pay_contents { display: flex; justify-content: space-between; }
  .rsv_check { width: 700px; position: relative;}
  .rsv_check_wrap { width: 100%; height: 720px; padding: 0 20px 20px 20px; box-sizing: border-box;}
  .rsv_check_wrap ul { display: flex; flex-wrap: wrap; flex-direction: row; border-top: 1px solid #ddd; margin-bottom: 2px; }
  .rsv_check_wrap ul.reserv_cont { border-top: 0px;}
  .rsv_check_wrap ul > li { height: 80px; padding: 30px 0; box-sizing: border-box; border-bottom: 1px solid #ddd;}
  .rsv_check_wrap ul > li.half { width: 50%; }
  .rsv_check_wrap ul > li.wide { width: 100%; }
  .rsv_check_wrap ul > li > p { display: inline-block; }
  .itm_name  { width: 80px; font-weight: 500; text-align: right; }
  .itm_name_v2 {width:130px;}
  .itm_txt { padding-left: 40px; font-weight: 300; font-size: 16px;}
  .resv_cont .resv_fin_ck .half .itm_txt.mg_left{
    margin-left: 84px;
  }
  .coupone { display: flex; }
  .coupone .itm_name { padding-top: 30px; display: inline-block;}
  .coupone .itm_cont { padding: 20px 0 0 40px; box-sizing: border-box; }
  .itm_cont input[type='text'] { width: 230px; padding: 5px 10px 9px; background: inherit; border: inherit; border-bottom: 1px solid #ddd; box-sizing: border-box; font-size: 16px; color: #333; font-weight: 300;}
  .itm_cont input[type='text']::placeholder { font-size: 14px; color: #aaa; font-weight: 300;}
  .itm_cont span { display: inline-block; width: 70px; height: 40px; margin-left: 7px; color: #fff; font-weight: 500; line-height: 40px; text-align: center; background-color: #4bbebe ; }
  .itm_cont .min_des { font-size: 12px; color: #666; line-height: 160%; text-indent: -13px; padding-left: 13px; }
  .top_des{ margin-top: 15px;}


  /* 결제방식선택 */
  .payment { margin-top: 24px;}
  .fsh_chk { width: 100%; height: 160px; padding: 50px 20px; border: 2px solid #542CA6 ; box-sizing: border-box; text-align: center; line-height: 160%;}
  .grn_bold { color: #2CA6E0 ; font-weight: 600;}
  .payment ul { display: flex; width: 100%; flex-direction: row; justify-content: space-between; margin: 20px 0 0; }
  .payment ul > li { width: 48%; height: 130px; text-align: center; border: 1px solid #ddd; box-shadow: 2px 2px 2px #ddd; transition: all 0.3s ease-in;}

  .payment ul > li > p { width: 100%; text-align: center; padding: 25px 0 7px; }
  .payment ul > li > span { display: block; padding-top: 10px; position: relative;}
  .payment ul > li > span > img { padding-left: 10px; width: 42px; position: absolute; top: 7px; left: 50%; transform: translateX(-50%);}
  .payment ul > li > span::before { content: ''; width: 40px; height: 40px; border-radius: 20px;  background-color: rgba(71, 187, 180, 0.4); position: absolute; top: 0px; left: 37%; z-index: -1px; opacity: 0; transition: all 0.3s ease-in;}

  .payment ul > li:hover { background-color: rgba(238,238,238, 0.4); cursor: pointer;}
  .payment ul > li:hover span::before { opacity: 1;}

  .payment ul > li.on { background-color: rgba(238,238,238, 0.4);}
  .payment ul > li.on span::before { opacity: 1;}

  /* 예약완료확인 */
  .resv_fin { width: 100%; height: 60px; line-height: 60px; font-size: 24px; color: #fff; background-color: #1F2C5C ; text-align: center;}

  .resv_cont_wrap { width: 100%; margin-top: 40px; position: relative; }
  .resv_cont { display: flex; width: 100%; height: 432px; justify-content: space-between; }
  .resv_cont ul { padding: 0 20px; height: 100%; box-sizing: border-box; display: flex;}
  .resv_cont ul > li { padding: 30px 0; box-sizing: border-box; border-bottom: 1px solid #ddd; }
  .resv_cont ul > li:last-child { /*border-bottom: 0px;*/ position: relative;}
  .resv_cont ul > li p { display: inline-block;}
  .resv_fin_ck { width: 800px; flex-wrap: wrap; flex-direction: row; justify-content: space-between }
  .resv_fin_ck li.half  {padding: 30px 0;  width: 49%;}
  .resv_fin_ck li.wide { width: 100%;}
  .pay_fn_info { width: calc( 100% - 840px); flex-wrap: nowrap; flex-direction: column; }

  /* 확인해주세요 */
  .pls_ck { margin-top: 40px;}
  .pls_ck ul { width: 100%;padding: 20px; box-sizing: border-box; }
  .pls_ck > ul > li { line-height: 160%; margin-bottom: 5px; padding-left: 6px; text-indent: -6px; }

/* 이전, 다음 버튼 */
.btn_more.back_step { margin: 20px auto 0; border: 1px solid #ddd; background: #ddd; color: #666; float: left;}
.btn_more.back_step .btn_txt { text-align: center;}
.btn_more.back_step:hover .btn_txt{padding-right: 0px; padding-left: 15px;}
.btn_more.back_step .btn_txt .arw{position: absolute; top: 20%; left: 0; width: 0.4rem; height: 0.4rem; border-top: 0.125rem solid #666; border-right: 0.125rem solid #666; transform: rotate(225deg) translateY(-50%); -webkit-transition:all .5s ease; -o-transition: all .5s ease;transition:all .5s ease; opacity: 0;}
.btn_more.back_step:hover .btn_txt .arw{opacity: 1;}
.btn_more.next_step { margin: 20px auto 0; text-align: center; float: right;}

/* 예약취소 / 처음으로 */
.btn_wrap {position: relative; width: 100%; height: 55px; margin-top: 40px;}
.btn_wrap.myorder { display: flex; justify-content: flex-end; }
.btn_more.resv_cancel { margin: 0; text-align: center; border: 1px solid #ddd; background: #ddd; color: #333; cursor: pointer; }
.btn_more.fst_step { margin: 0; margin-left: 10px; text-align: center; border: 1px solid #1F2C5C ; background: #1F2C5C ; color: #fff; }
.btn_more.fst_step:hover .btn_txt{padding-right: 0px;}
.btn_more.resv_cancel:hover .btn_txt{padding-right: 0px;}

/* 예약취소 모달창 */
.can_md_back { width: 100%; height: 100%; position: fixed; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 100; display: none;}
.can_md_back.active { display: block;}
.can_md_cont { width: 400px; height: 320px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #fff; z-index: 10;}
.can_md_cont h3 { text-align: center; padding: 40px 0 10px; color: #4bbebe; }
.can_md_cont p { text-align: center; font-size: 14px; color: #333; margin-bottom: 60px;}
.can_md_cont p.cancel_qus { font-size: 17px; font-weight: 500; color: #333;}

.btn_wrap { width: 100%; text-align: center;}
.btn_wrap .btn_more {display: inline-block;}
.btn_wrap button { width: 150px; height: 40px; text-align: center;}
.cls_btn { border: 1px solid #ddd; color: #333; margin-right: 10px;}
.cancel_btn { border: 1px solid #4bbebe; background-color: #4bbebe; color: #fff;}

/* 크루즈 소개 */
.proms { text-align: center; padding-bottom: 30px; font-size: 16px; color: #666; }
.promise_list { width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.promise_list .cont_wrap { width: 380px; height: 420px; margin-right: 29px; margin-bottom: 30px; box-sizing: border-box; }
.promise_list li:nth-child(3n) { margin-right: 0; }

.cont_box { width: 100%; height: 360px; overflow: hidden; box-sizing: border-box; border: 1px solid #fff; }
.cont_box p { text-align: left;  padding-left: 15px; margin-top: 0; }
.cont_box .img_bg { width: 100%; height: 235px; background-repeat: no-repeat; background-position: center; background-size: cover; position: relative; }
.cont_box .img_bg .img_wrap { width: 100%; height: 235px; overflow: hidden; position: relative; }
.cont_box .img_bg .img_wrap img { width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);  transition: all 0.5s ease-in-out;}
.cont_box .img_bg p { padding: 4px 15px 9px; background-color: #4bbebe; position: absolute; bottom: -15px; left: 0; margin-top: 0; font-size: 20px; font-weight: 900; color: #fff; }

.cont_box p.cont_tit { font-size: 18px; font-weight: 600; margin-top: 30px; color: #333;}
.cont_box p.more_btn { font-size: 14px; padding-top: 5px; cursor: pointer; transition: all 0.5s ease-in-out; }
.more_cont { transition: all 0.5s ease-in-out; }
.cont_box p.cont_des { font-size: 16px; color: #666; margin-top: 15px; }
.cont_box p.caution_txt { font-size: 12px; color: #E44242; margin-top: 20px;}

.more_cont { display: none; padding-right: 15px;}
.promise_list li:hover .cont_box { border: 1px solid #4bbebe; transition: all 0.5s ease-in-out; }
.promise_list li:hover .cont_box .img_bg .img_wrap img { width: 110%; }
.promise_list li:hover .more_btn { display: none; }
.promise_list li:hover .more_cont { display: block; }

/* 이용안내 */
.tour_info .sec_wrap { margin-bottom: 0; margin-top: 80px;}
.tour_info .sec_wrap1 { margin-top: 0px; padding-top: 0px;}
.tour_info .sec_wrap2 { background: url('/resources/img/sub/schedule_bg.png')no-repeat center top/cover;}
.tour_info .sec_wrap3 { padding-top: 120px; margin-top: 0;}
.tour_info .sec_wrap4 { width: 100%; background-color: rgba(75, 190, 190, 0.2); padding: 135px 0; margin-top: 135px; box-sizing: inherit;}
.tour_info .sec_wrap5 { padding:120px 0 120px; margin-top: 0;}


.wrap_border_gr { border: 1px solid #4bbebe;}
.full_tb { width: 100%;}

.info_tit_wrap { margin-bottom: 35px;}
.info_sub_tit { font-size: 30px; font-weight: 600;  display: inline-block; margin-right: 14px; position: relative; }
.info_sub_tit::before { content: ''; width: 18px; height: 4px; background-color: #4bbebe; position: absolute; top: -4px; left: 0;}
.info_sub_des { font-size: 16px; color: #666;}

.tour_llc th { width: 33.3%; border-right: 1px solid #ddd; height: 70px; line-height: 24px; font-size: 18px; background-color: #4bbebe; color: #fff; vertical-align: middle; }
.tour_llc th:last-child, .tour_llc td:last-child { border-right: 0;}
.tour_llc th span { font-size: 16px; font-weight: 400;}
.tour_llc td { height: 87px; border-right: 1px solid #ddd; font-size: 20px; text-align: center; line-height: 87px; font-weight: 500;}



.tb_wrap { width: 750px; height: 360px; padding: 105px 30px 0; box-sizing: border-box; position: relative; margin-bottom: 75px; background-color: #fff;}
.tb_wrap_tit { width: 100%; height: 70px; background-color: #4bbebe; color: #fff; font-size: 20px; text-align: center; line-height: 70px; margin-bottom: 35px; position: absolute; top: 0; left: 0;}
.tour_schl { width: 100%; border: 1px solid #ddd; margin-bottom: 15px; }
.tour_schl th { width: 25%; height: 70px; border-right:1px solid #ddd; border-bottom: 1px solid #ddd; background-color: rgba(75, 190, 190, 0.2); font-size: 16px; font-weight: 500; line-height: 70px; }
.tour_schl td { height: 90px; font-size: 20px; font-weight: 500; line-height: 90px; text-align: center; border-right:1px solid #ddd; }
.ft_note { font-size: 14px; color: #666; text-align: left; text-indent: -5px; padding-left: 5px; }


.pckup_tb { width: 100%; background-color: #fff;}
.tm_tb_tit th, .tm_tb_th th { background-color: #4bbebe; color: #fff;}

.tm_tb_tit th { font-size: 18px; font-weight: 600;}
.tm_tb_tit th:first-child { width: 30%; border-right: 1px solid #ddd; vertical-align: middle;}
.tm_tb_tit th:last-child { height: 50px; line-height: 50px; text-align: center; border-bottom: 1px solid #ddd; }

.tm_tb_th th { height: 45px; font-size: 16px; font-weight: 600; line-height: 45px; border-right: 1px solid #ddd;}
.tm_tb_th th:last-child { border-right: 0;}

.pckup_tb td { font-size: 16px; padding: 10px 0; text-align: center; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; vertical-align: middle; }
.pckup_tb td:last-child { border-right: 0;}

.caution_cell1 td { border-top: 2px solid #ddd; }
.caution_cell td { padding: 15px 0; font-weight: 600;}
.caution_cell td:first-child { background-color: rgba(75, 190, 190, 0.2); font-weight: 800;}

.list_wrap { width: 100%; padding: 20px 40px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; box-sizing: border-box; border-right: 1px solid #4bbebe; border-left: 1px solid #4bbebe; background-color: #fff;}
.mt_list { width: 50%; height: 100%; float: left;}
.mt_list li, .caution_list li { font-size: 14px; color: #717171; padding-bottom: 10px;}
.mt_list li { text-indent: -10px; padding-left: 10px; }
.caution_list li { text-indent: -5px; padding-left: 5px; }
.mt_list b { font-weight: 600;}
.mt_list .ud_line { text-decoration: underline;}
.caution_list { width: 50%; height: 100%; float:right;}

.indi_guide { display: flex; width: 100%; border: 1px solid #4bbebe; border-top: 0; background-color: #fff; box-sizing: border-box;}
.guide_tit { position: relative; width: 21%; box-sizing: border-box; background: rgba(217, 217, 217, 0.2); }
.guide_tit p { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; font-weight: 700; font-size: 16px; }
.guide_txt { width: 78%; padding: 20px 40px; box-sizing: border-box; }
.guide_txt p { font-size: 16px; padding-bottom: 5px;}
.guide_txt b { font-weight: 600;}
.guide_txt span { display: block; font-size: 14px; font-weight: 500; line-height: 160%; color: #717171; text-indent: -10px; padding-left: 10px; }
.guide_txt span.red_point { color: #E44242;}

.tour_progress { width: 100%; display: flex; justify-content: space-between;}
.tour_progress li { width: 20%; height: 227px; position: relative; text-align: center; padding-top: 30px;}
.tour_progress .arrow { width: 46px; height: 227px; background: url('/resources/img/sub/gr_arrow.png') no-repeat center center/contain; }
.tour_progress li img { width: 100px;}
.tour_progress li p { text-align: center; font-size: 18px; padding-top: 7px;}
.tour_progress li:last-child::after { display: none;}

.sevc_list { width: 48%; height: 170px;}
.inc_sevc { float: left;}
.non_inc {float: right;}
.sevc_list p { padding: 10px 0; width: 100%; background-color: #4bbebe; color: #fff; text-align: center; font-size: 20px;}
.sevc_list ul { width: 100%; display: flex; padding: 20px 30px; justify-content: space-between; flex-wrap: wrap; box-sizing: border-box;}
.sevc_list ul li {  width: 49%; font-size: 16px; line-height: 180%; text-align: left; padding-left: 20px; box-sizing: border-box; position: relative;}
.sevc_list ul li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background-color: #333; position: absolute; top: 12px; left: 5px;}
.sevc_list.inc_sevc ul li:last-child { width: 100%;}
.sevc_list ul li span { font-size: 14px; color: #717171;}

.notice_list li { line-height: 200%; padding-left: 17px; position: relative;}
.notice_list li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background-color: #333; position: absolute; top: 13px; left: 5px;}


/* contact us */
.contents.bt_contact { padding: 150px 0 0;}
.contact_us { width: 100%; }

.address_wrap { width: 52%; height: 400px; float: left; padding: 95px 50px 0 0; box-sizing: border-box;}
.address_wrap h2 { text-align: left; color: #fff;}
.address_wrap p { text-align: left; color: #fff; padding-top: 15px;}
.address_wrap p.address { font-size: 18px;}
.address_wrap p.tel_num { font-size: 30px;}

.quick_menu { width: 48%; float: right; display: flex; justify-content: space-between; margin-top: 120px;}
.quick_menu li { width: 160px; height: 160px; border: 1px solid #fff; text-align: center; transition: all 0.3s ease-in-out; cursor: pointer;}
.simp_des { color: #fff; padding-top: 12px; font-size: 14px; }
.quick_menu li a { display: block; text-align: center; font-weight: 800; font-size: 16px; color: #fff; letter-spacing: 0.5px; padding-top: 5px;  }
.ico_bg { width: 50px; height: 50px; margin: 25px auto 0; background-repeat: no-repeat; background-position: center; background-size: contain; position: relative;}
.ico_bg.qck_resv { background-image: url('/resources/img/sub/loc_ico1 1.png');}
.ico_bg.qck_qna { background-image: url('/resources/img/sub/loc_ico1 2.png');}
.ico_bg.qck_review { background-image: url('/resources/img/sub/loc_ico1 3.png');}
.ico_bg::before { content: ''; width: 50px; height: 50px; border-radius: 50%; background-color: rgba(75, 190, 190, 0.3); position: absolute; top: -8px; left: -15px; display: none;}

.quick_menu li:hover { background-color: #fff; border: 1px solid #4bbebe;}
.quick_menu li:hover .simp_des { color: #333;}
.quick_menu li:hover a { color: #333;}
.quick_menu li:hover .ico_bg.qck_resv { background-image: url('/resources/img/sub/loc_ico1 1_gr.png');}
.quick_menu li:hover .ico_bg.qck_qna { background-image: url('/resources/img/sub/loc_ico1 2_gr.png');}
.quick_menu li:hover .ico_bg.qck_review { background-image: url('/resources/img/sub/loc_ico1 3_gr.png');}
.quick_menu li:hover .ico_bg::before { display: block;}

/* detail */
.material-symbols-sharp {font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 48}