@charset "utf-8";

#mainvisual{
	height: 300px;
	text-align: center;
	position: relative;
}
#slide_wrapper{
	width: 100%;
	height: 100%;
}
#slide_wrapper .mainTitle{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	height: 300px;
}
#slide_wrapper .slide1{
	background-image: url(/public/img/menu/mv-menu.webp);
}
#mainvisual .logoTop{
	position: absolute;
	width: 100%;
	text-align: center;
	margin-top: 100px;
	z-index: 1;
}
#mainvisual .titleBg{
	position: absolute;
	width: 100%;
	height: 300px;
	background-color: rgba(51,0,0,0.7);
	z-index: 0;
}
#mainvisual h1 .h1-shopName{
	display: block;
	font-size: 12px;
	font-weight: normal;
}
#mainvisual h1{
	font-size: 32px;
	color: #f8c14d;
	margin: 0 auto;
	z-index: 1;
	line-height: 1.4;
    background-image: url(/public/img/icon/jaithai-line.png);
    background-repeat: no-repeat;
    background-size: 200px auto;
    background-position: bottom center;
    padding-bottom: 60px;
}
#mainvisual h1 span{
	display: block;
	font-size: 14px;
	font-weight: normal;
}
section{
	padding: 100px 0;
}
.twoCol{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;	
    display: flex;
	justify-content: space-between;
}
.twoCol .colL{
	width: 45%;	
}
.twoCol .colR{
	width: 50%;
}
section#banner{
	padding: 30px 0;
	text-align: center;
}
section#banner img{
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}
#course .twoCol .colL{
	width: 48%;	
}
#course .twoCol .colR{
	width: 48%;
}

.priceTable.campaign{
	width: 90%;
	max-width: 600px;
	margin: 20px auto 0;
}
.priceTable.campaign .handTitle {
    color: #490000;
    display: block;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
}
.priceTable.campaign li:nth-child(2) .price{
	width: 40%;
}

#course h2,#combi h2{
	font-size: 26px;
	color: #f8c14d;
	text-align: center;
	margin: 0 auto 50px;
	line-height: 1.4;
    background-image: url(/public/img/icon/jaithai-line.png);
    background-repeat: no-repeat;
    background-size: 200px auto;
    background-position: bottom center;
    padding-bottom: 50px;
}
#course h2 span,#combi h2 span{
	display: block;
	font-size: 14px;
}

#intro{
	padding: 30px 0;
	background-color: #490000;
}
#intro p{
    color: #f8c14d;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
#intro p span{
	display: block;
}


.linkWrapper {
    width: 90%;
    max-width: 800px;
    margin: 30px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.linkBtn {
    box-sizing: border-box;
    padding: 0 5px;
	width: 200px;
}
.linkBtn a div {
    border: 1px solid #f8c14d;
    border-radius: 5px;
    color: #f8c14d;
    text-align: center;
    padding: 5px 0;
}
.linkBtn a:hover div p{color: #490000 !important;}
.linkBtn a:hover div{
	background-color: #f8c14d;
	
}
.linkBtn a p {
    font-size: 15px;
}

#menu .menuGrid{
	display: flex;
	flex-wrap: wrap;
	gap: 100px 4%;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
#menu .menuGrid .menuWrapper{
	width: 48%;
	box-sizing: border-box;
}

#menu .menuWrapper h2{
    font-size: 26px;
    font-weight: bold;
	line-height: 1.2;
    color: #f8c14d;
    padding: 2px 0 15px 0px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #f8c14d;
	text-align: center;
}

#menu .menuWrapper h2 span{
	display: block;
	font-size: 13px;
	font-weight: normal;
}

#menu .menuWrapper p{
	color:#ffffff;
}
#menu .menuWrapper p.branchOnly{
	color: #f8c14d;
	text-align: center;
	margin-bottom: 10px;
}
#menu .menuWrapper p.tableNote{
	font-size: 13px;
	color: rgba(255,255,255,0.7);
	margin-top: 6px;
	line-height: 1.6;
}
.priceTable{
	margin: 50px auto 10px;
}
.priceTable li{
	display: flex;
	justify-content: space-between;
	background-color: rgba(255,255,255,0.9);
	padding: 10px 20px;
	font-size: 18px;
	border-bottom: dotted 1px #5a0000;
}
.priceTable li:first-child{
	background-color: rgba(255,255,255,0.6);
	border-bottom: none;
}
.priceTable .priceTime{
	width: 50%;
	text-align: center;
    color: #490000;
}
.priceTable .priceTime .courseName{
	font-size: 16px;
	display: block;
}
.priceTable .price{
	text-align: center;
    color:#490000;
}

.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;
	color:#490000;
    background: #f8c14d;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    border: 1px solid #f8c14d;
    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-br.svg);
    background-repeat: no-repeat;
    background-size: 15px auto;
    background-position: left center;
	padding: 5px 0 5px 20px;
    transition: all 0.3s ease-in-out 0s;
}
.priceTable .gotoBook a:hover div{
    background: #490000;
    color: #f8c14d !important;
}
.priceTable .gotoBook a:hover div span{
	background-image: url(/public/img/icon/reservation-on.svg);
    color: #f8c14d !important;
	transition: all 0.3s ease-in-out 0s;
}
.priceTable .price .gotoBook{
	margin-top: 10px;
}
.priceTable .price .gotoBook div{
	font-size: 14px;
}


#menu .menuWrapper.flip{
	padding: 100px 0;
	margin: 100px 0;
	background-color: #490000;
}
#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: #f8c14d;
}
.menuWrapper.flip .priceTable li:first-child{
	background-color: rgba(255,255,255,0.6);
	border-bottom: none;
}
.menuWrapper.flip .priceTable li{
	background-color: rgba(255,255,255,0.9);
}
#menu .menuWrapper .priceTable .handTitle{
    color: #490000;
	display: block;
	text-align: center;
	background-color: rgba(255,255,255,0.7);
}
.priceDel{
	text-decoration: line-through;
	font-size: 14px;
	margin-right: 10px;
}
.priceSpecial{
	display: block;
	font-size: 16px;
	padding: 5px 10px;
	color:#FFF;
	background-color: #490000;	
}
.menuWrapper .comment{
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 50px;
}


#course .courseWrapper h3{
	text-align: center;
    font-size: 26px;
    font-weight: bold;
	line-height: 1.2;
    color: #f8c14d;
    padding: 15px 0;
    margin-bottom: 20px;
    border-bottom: 1px dotted #f8c14d;
}
#course .courseWrapper h3 span{
	display: block;
	font-size: 13px;
	font-weight: normal;
}
#course{	
	padding: 100px 0;
	margin: 100px 0;
	background-color: #490000;
	background-image: url(/public/img/icon/thai-bg.svg);
	background-size: 70px auto;
}
#course .courseTxt{
	margin: 0 auto;
	width: 90%;
	max-width: 800px;
	color:#f8c14d;
	margin-bottom: 50px;
}
#course .priceTable{
	margin: 0px auto 100px;
}
#course .courseWrapper .priceTable li:first-child{
	background-color: rgba(255,255,255,0.6);
	border-bottom: none;
}
#course .courseWrapper .priceTable li{
	background-color: rgba(255,255,255,0.8);
}
#course .courseWrapper .priceTable .handTitle{
    color: #f8c14d;
	text-align: center;
	background-color: rgba(255,255,255,0.9);
}

.threeCol{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;	
}
.combiContent{
	width: 32%;
}
.combiContent h3{
	background-color: #490000;
	color: #FFF;
	text-align: center;
}
.threeCol .priceTable{
	margin-top: 0;
}
.threeCol .priceTable .price{
	width: 60%;
}

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

@media only screen and (max-width:450px){
	#menu .menuGrid{
		flex-direction: column;
	}
	#menu .menuGrid .menuWrapper{
		width: 100%;
	}
	#intro p{
		text-align: left;
	}
	h2{
		background-size:30px auto;
		margin-bottom: 20px;
	}
	.linkBtn{
		width: auto;
	}
	.linkWrapper{
		margin-top: 10px;
	}
	#intro .linkBtn p{
		width: auto;
		padding: 0 10px;
	}
	#mainvisual{
		margin-top: 60px;
		height: 200px;
	}
	#mainvisual .titleBg{
		height: 200px;
	}
	#slide_wrapper .mainTitle{
		margin-top: 60px;
		height: 200px;
	}
	#slide_wrapper .slide1{
		background-image: url(/public/img/menu/mv-menu-sp.webp);
	}
	#mainvisual .logoTop{
		top: 50%;
		transform: translateY(-50%);
		margin-top: 0;
	}
	section{
		padding: 0 0 50px 0;
	}
	#intro{
		margin-bottom: 30px;
	}
	.twoCol,#menu .menuWrapper.flip .twoCol{
		display: block;
	}
	.twoCol .colL,.twoCol .colR,#menu .menuWrapper.flip .twoCol .colR,#menu .menuWrapper.flip .twoCol .colL,#course .twoCol .colL,#course .twoCol .colR{
		width: 100%;
	}
	.twoCol .colR,#menu .menuWrapper.flip .twoCol .colR{
		margin-top: 10px;
	}
	
	#mainvisual h1{
		font-size: 24px;
		background-size: 50% auto;
		padding-bottom: 50px;
	}
	#mainvisual h1 span{
		font-size: 13px;
	}
	
    .priceTable.campaign li:nth-child(2) .price{
        width: 60%;
    }
	
	#menu .menuWrapper.flip{
		padding: 50px 0;
		margin: 50px 0;
	}
    .priceTable{
        margin: 30px auto;
    }
	#menu .menuWrapper h2{
		text-align: center;
		font-size: 20px;
		background-size:35px auto;
	}
	.priceTable .priceTime{
		font-size: 16px;
		width: 30%;
	}
	.priceTable .price{
		font-size: 16px;
	}
	.priceTable .min,.priceTable .tax{font-size: 12px;}
	
    #course{	
        padding: 50px 0;
        margin: 30px 0;
	}
	#course .courseWrapper h3{
		font-size: 20px;
	}
	#course .priceTable{
		margin-bottom: 50px;
	}
	
    .combiContent{
        width: 100%;
    }
    .threeCol{
        display: block;	
    }
	.threeCol .priceTable .price{
		width: 70%;
	}
}
