@charset "utf-8";

/* ============================================================
   section-menu.css
   Self-contained styles for the #menu section.
   Safe to load on ANY page (shop.css, menu-base.css, etc.)
   — all layout overrides are scoped under #menu.
   ============================================================ */

/* --- #menu h2 (scoped — menu-base.css not required) --- */
#menu h2{
	font-size: 26px;
	color: #87633d;
	text-align: center;
	margin: 0 auto 50px;
	line-height: 1.4;
	padding-top: 40px;
	background-image: url(/public/img/icon/menu.svg);
	background-repeat: no-repeat;
	background-size: 40px auto;
	background-position: center top;
}
#menu h2 span{
	display: block;
	font-size: 14px;
}

/* --- twoCol overrides scoped to #menu (avoids conflict with shop.css) --- */
#menu .twoCol .colL{
	width: 45%;
}
#menu .twoCol .colR{
	width: 50%;
}

/* --- menuWrapper --- */
#menu .menuWrapper h3{
	font-size: 26px;
	font-weight: bold;
	line-height: 1.2;
	color: #87633d;
	padding: 2px 0 15px 50px;
	margin-bottom: 20px;
	background-image: url(/public/img/icon/title01.svg);
	background-repeat: no-repeat;
	background-size: 40px auto;
	background-position: left 5px;
	border-bottom: 1px dotted #87633d;
}
#menu .menuWrapper h3 span{
	display: block;
	font-size: 13px;
	font-weight: normal;
}
#menu .menuWrapper p{
	color: #bd937f;
}

/* --- flip variant --- */
#menu .menuWrapper.flip{
	padding: 100px 0;
	margin: 100px 0;
	background-color: #dcd4ce;
	background-image: url(/public/img/bg-flower.svg);
	background-size: 100% auto;
}
#menu .menuWrapper.flip .twoCol{
	flex-direction: row-reverse;
}
#menu .menuWrapper.flip .twoCol .colR{
	width: 45%;
}
#menu .menuWrapper.flip .twoCol .colL{
	width: 50%;
}
#menu .menuWrapper.flip p{
	color: #87633d;
}
.menuWrapper.flip .priceTable li:first-child{
	background-color: rgba(250,250,250,0.9);
	border-bottom: none;
}
.menuWrapper.flip .priceTable li{
	background-color: rgba(250,250,250,0.2);
}
#menu .menuWrapper .priceTable .handTitle{
	color: #87633d;
	display: block;
	text-align: center;
	background-color: rgba(250,250,250,0.5);
}
.menuWrapper .comment{
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 50px;
}


/* ============================================================
   .priceTable — shared component (not in shop.css, safe here)
   Used by section-course.css and section-combi.css as well.
   ============================================================ */
.priceTable{
	margin: 50px auto;
}
.priceTable li{
	display: flex;
	justify-content: space-between;
	background-color: rgba(220,212,206,0.2);
	padding: 10px 20px;
	font-size: 18px;
	border-bottom: dotted 1px #87633d;
}
.priceTable li:first-child{
	background-color: rgba(220,212,206,1);
	border-bottom: none;
}
.priceTable .priceTime{
	width: 30%;
	text-align: center;
	color: #87633d;
}
.priceTable .priceTime.Total{
	width: 100%;
}
.priceTable .saleOff .priceTime{
	width: 50%;
	line-height: 1.5;
}
.priceTable .saleOff .priceTime span{
	font-size: 12px;
	display: block;
}
.priceTable .price{
	text-align: center;
	color: #87633d;
}
.priceTable li:first-child .price{
	width: 70%;
}
.priceTable .min,
.priceTable .tax{ font-size: 14px; display: inline-block; }

.priceTable .gotoBook div{
	text-align: center;
	padding: 5px 10px;
	background-color: #bd937f;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	border: 1px solid #bd937f;
	border-radius: 5px;
	outline-offset: -1px;
	box-sizing: border-box;
	transition: all 0.3s ease-in-out 0s;
}
.priceTable .gotoBook div span{
	background-image: url(/public/img/icon/reservation.svg);
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: left center;
	padding-left: 20px;
	transition: all 0.3s ease-in-out 0s;
}
.priceTable .gotoBook a:hover div{
	background-color: #fff;
	color: #bd937f;
}
.priceTable .gotoBook a:hover div span{
	background-image: url(/public/img/icon/reservation-br.svg);
	transition: all 0.3s ease-in-out 0s;
}
.priceTable .price .gotoBook{
	margin-top: 10px;
}
.priceTable .price .gotoBook div{
	font-size: 14px;
}

.priceDel{
	text-decoration: line-through;
	font-size: 14px;
	margin-right: 10px;
}
.priceSpecial{
	display: block;
	border-radius: 5px;
	font-size: 16px;
	padding: 5px 10px;
	color: #FFF;
	background-color: #ed5a24;
}
.saleOff .priceSpecial{
	font-size: 18px;
	line-height: 1.5;
}
.saleOff .priceSpecial span{
	display: block;
	font-size: 14px;
}
.priceTable li.saleOffToBook{
	justify-content: center;
}
.priceTable li.saleOffToBook .gotoBook{
	width: 100%;
	max-width: 300px;
}
.priceTable li.saleOffToBook .gotoBook div{
	font-size: 14px;
}

.btnGiftBanner{
	max-width: 800px;
	margin: 0 auto;
}


/* ============================================================
   Responsive
   ============================================================ */
@media only screen and (max-width:450px){
	#menu h2{
		background-size: 30px auto;
		margin-bottom: 20px;
	}
	#menu .twoCol,
	#menu .menuWrapper.flip .twoCol{
		display: block;
	}
	#menu .twoCol .colL,
	#menu .twoCol .colR,
	#menu .menuWrapper.flip .twoCol .colR,
	#menu .menuWrapper.flip .twoCol .colL{
		width: 100%;
	}
	#menu .twoCol .colR,
	#menu .menuWrapper.flip .twoCol .colR{
		margin-top: 10px;
	}
	#menu .menuWrapper.flip{
		padding: 50px 0;
		margin: 50px 0;
	}
	#menu .menuWrapper h3{
		font-size: 20px;
		background-size: 35px auto;
		padding-left: 42px;
	}
	.priceTable{
		margin: 30px auto;
	}
	.priceTable .priceTime{
		font-size: 16px;
	}
	.priceTable .price{
		font-size: 16px;
	}
	.priceTable .min,
	.priceTable .tax{ font-size: 12px; }
	.priceTable li.saleOff{
		display: block;
	}
	.priceTable .saleOff .priceTime{
		width: 100%;
		text-align: left;
	}
	.priceTable .saleOff .priceTime span{
		display: inline;
		font-size: 16px;
	}
	.priceTable .saleOff .price{
		font-size: 18px;
	}
	.saleOff .priceSpecial{
		font-size: 20px;
		max-width: 300px;
		margin: 0 auto;
	}
}
