@charset "utf-8";

#slide_wrapper .mainTitle{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	height: 300px;
}
#mainvisual .logoTop {
    position: absolute;
    width: 100%;
    text-align: center;
    margin-top: 100px;
    z-index: 1;
}
/*
#mainvisual{
	text-align: center;
	background-position: center;
	background-size: cover;
	display: flex;
	align-items: center;
}
/*
#mainvisual.roppongi{
	background-image: url(/public/img/shop/roppongi.webp);	
}
*/
#mainvisual.asakusa-foot #slide_wrapper .slide1{
	background-image: url(/public/img/shop/asakusa-foot/mv/asakusa-foot-mv01.webp);	
}
#mainvisual.asakusa-foot #slide_wrapper .slide2{
	background-image: url(/public/img/shop/asakusa-foot/mv/asakusa-foot-mv02.webp);	
}

#mainvisual.asakusa #slide_wrapper .slide1{
	background-image: url(/public/img/shop/asakusa/mv/asakusa-mv01.webp);	
}
#mainvisual.asakusa #slide_wrapper .slide2{
	background-image: url(/public/img/shop/asakusa/mv/asakusa-mv02.webp);	
}
#mainvisual.asakusa #slide_wrapper .slide3{
	background-image: url(/public/img/shop/asakusa/mv/asakusa-mv03.webp);	
}

#mainvisual.asakusa{
	background-image: url(/public/img/shop/asakusa.webp);	
}
#mainvisual.akasaka{
	background-image: url(/public/img/shop/akasaka.webp);	
}
#mainvisual .titleBg{
	position: absolute;
	width: 100%;
	height: 300px;
	background-color: rgba(0,0,0,0.5);
	z-index: 1;
}
#mainvisual h1{
	color: #FFF;
	margin: 0 auto;
	z-index: 1;
	line-height: 1.4;
	
    background-image: url(/public/img/icon/thai-line.svg);
    background-repeat: no-repeat;
    background-size: 400px auto;
    background-position: bottom center;
    padding-bottom: 40px;
}
#mainvisual h1 span{
	display: block;
	font-size: 14px;
	font-weight: normal;
}
section{
	padding: 30px 0 100px;
}
.twoCol{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;	
    display: flex;
	justify-content: space-between;
}
.twoCol .colL{
	width: 55%;	
}
.twoCol .colR{
	width: 45%;
	padding-left: 4%;
}

#aniver20{
    background-color: #434341;
	padding-top: 0;
	margin-top: 50px;
}
#aniver20 h2{
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
}
#aniver20 h3{
	text-align: center;
	color: #FFF;
	font-weight: normal;
	width: 90%;
	margin: 0 auto 30px;
}
#aniver20 .twoCol .colL{
	width: 49%;
	margin-bottom: 20px;
}
#aniver20 .twoCol .colR{
	width: 49%;
	padding: 0;
	margin-bottom: 20px;
}
#aniver20 a:hover{
	opacity: 0.8;
}
#coupon{
    background-color: #bd937f;
    background-image: url(/public/img/bg-flower.svg);
    background-size: 100% auto;	
}
#coupon h2{
	text-align: center;
	font-size: 22px;
    color: #FFF;
    margin: 0 auto;
    z-index: 1;
    line-height: 1.4;
    padding-top: 30px;
    background-image: url(/public/img/icon/gift-w.svg);
    background-repeat: no-repeat;
    background-size: 30px auto;
    background-position: center top;
}
#coupon h2 span {
    display: block;
    font-size: 14px;
    font-weight: normal;
}
#coupon h3{
	line-height: 1.5;
	text-align: center;
	margin: 10px auto 30px;
	font-size: 22px;
	max-width: 350px;
    color: #FFF;
	background:linear-gradient(90deg, rgba(74,71,65,0) 0%, rgba(74,71,65,1) 30%, rgba(74,71,65,1) 70%,rgba(74,71,65,0) 100%);
}

#coupon .twoCol .colL{
	width: 49%;	
}
#coupon .twoCol .colR{
	width: 49%;
	padding: 0;
}
#coupon a:hover{
	opacity: 0.8;
}


#shop{
	padding: 100px 0;
	background-color: #301215;
}

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

.shopSlideNav .slick-slide img{
	padding: 1px;
}

#information h2{
	color: #fbe7a3;
	/*text-align: center;*/
	font-size: 22px;
	line-height: 1.3;
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #fbe7a3;
}
#information h2 span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	color: #fbe7a3;
}
#information dl{
	display:flex;
	color:#fbe7a3;
	font-size:16px;
	margin-bottom:20px;
}
#information dl span{
	display: inline-block;
}
#information dt{
	width:90px;
}
#information dd{
	padding-left:30px;
	position:relative;
}
#information dd:before{
	content:":";
	position:absolute;
	left:0;
}
#information dd a{
	color:#fbe7a3;
	text-decoration:underline;
}
#information dd a:hover{
	color: #4a4741;
}
#information .pay dt {
    width: 200px;
}
.shopPay p{
	color:#fbe7a3;	
}
.shopPay ul{
	margin-top: 15px;
	display: flex;
}
.shopPay ul li{
	margin: 2px;
}
.pay{
	margin-top: 15px;
}

.shopContact .contactWrapper .telBtn div {
	text-align:center;
    color: #fbe7a3;
    background-color: #47281E;
    border: 1px solid #fbe7a3;
    padding: 10px 20px;
    width: 80%;
    max-width: 450px;
    margin: 0 auto 20px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
    transition: all 0.3s ease-in-out 0s;
}
.shopContact .contactWrapper .telBtn a:hover div{
    color: #301215;
    background-color: #fbe7a3;
	transition: all 0.3s ease-in-out 0s;
}
.shopContact .contactWrapper .reserveBtn{
	flex-grow: 1;
}
.shopContact .contactWrapper .reserveBtn div {
	text-align:center;
	color:#301215;
    background:linear-gradient(110deg,#b3894f,#d8b97a,#fbe7a3,#fbe7a3,#d8b97a,#b3894f);
    border: 1px solid #fbe7a3;	
    padding: 10px 20px;
    width: 80%;
    max-width: 450px;
    margin: 0 auto;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
    transition: all 0.3s ease-in-out 0s;
}
.shopContact .contactWrapper .reserveBtn a:hover div{
    color:#fbe7a3;
    background: #301215;
	transition: all 0.3s ease-in-out 0s;
}

#accessMap{
	margin: 0 auto;
	width: 90%;
	max-width: 1200px;
}
.gotoMap{
	margin: 30px auto 0;
	width: 90%;
}
.gotoMap .mapBtn{
	max-width: 450px;
	margin: 0 auto;
}
.gotoMap .mapBtn a div{	
    width: 100%;
    padding: 10px;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
    color: #fbe7a3;
    background-color: #301215;
    border: 1px solid #fbe7a3;
    transition: all 0.3s ease-in-out 0s;
}

.gotoMap .mapBtn a:hover div{	
    color: #47281E;
    background-color: #fbe7a3;
	transition: all 0.3s ease-in-out 0s;
}
#map{
	padding-top: 100px;
}
#map h2{
	color: #fbe7a3;	
	text-align: center;
	margin: 0 auto 50px;
	

    line-height: 1.4;
    padding-top: 50px;
    background-image: url(/public/img/icon/map.svg);
    background-repeat: no-repeat;
    background-size: 50px auto;
    background-position: center top;
}

#map h3{
	color: #fbe7a3;
	text-align: center;
	font-size: 22px;
	line-height: 1.3;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
#map h3 span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	color: #bd937f;
}
#map .mapWrapper{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
	padding-bottom: 80px;
	border-bottom: dotted 1px #fbe7a3;
	margin-bottom: 50px;
}
#map .mapWrapper .mapTable{	
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10px;
    row-gap: 1em;
}
#map .mapWrapper .mapPic{
	background-color: #FFF;
}
#map .mapWrapper .mapPic p{
	color: #301215;
	text-align: center;
	font-size: 14px;
	line-height: 1.2;
	padding: 5px 5px;
}
#map .mapWrapper .mapPic p span{
	display: inline-block;
}

@media only screen and (max-width:450px){
	#mainvisual .titleBg,
	#slide_wrapper .mainTitle {
        height: 250px;
    }
	
	/*#mainvisual{
		margin-top: 60px;
		height: 100px;
	}
	#mainvisual .titleBg{
		height: 100px;
	}*/
	section{
		padding: 0px 0 50px;
	}
	#mainvisual h1{
		font-size: 24px;
		padding-top: 30px;
		background-size:30px auto;
	}
	#mainvisual h1 span{
		font-size: 13px;
	}
	
	.twoCol{
		display: block;
	}
	.twoCol .colL,.twoCol .colR{
		width: 100%;
	}
	.twoCol .colR{
		margin-top: 30px;
		padding-left:0;
	}
	
	#coupon{
        padding: 50px 0;		
	}
	#coupon .twoCol .colL{
        width: 100%;	
    }
    #coupon .twoCol .colR{
        width: 100%;
		margin-top: 10px;
    }
	
	#aniver20 h3{
		font-size: 15px;
	}


	#aniver20 .twoCol .colL{
        width: 100%;	
		margin-bottom: 10px;
	}
	#aniver20 .twoCol .colR{ 
        width: 100%;
		margin-bottom: 10px;
		margin-top: 0;
	}
	
    #information h2{
        text-align: center;
	}
	#shop{
        padding: 50px 0;
		margin-bottom: 50px;
    }
	.shopContact .contactWrapper .telBtn div,.shopContact .contactWrapper .reserveBtn div{
		width: 100%;
		max-width: none;
	}
	.slick-prev{left: 0;z-index: 1;}
	.slick-next{right: 0;}
	
	#map h2{
		margin-bottom: 30px;
	}
	#map h3{
		font-size: 18px;
		margin-bottom: 10px;
	}
    #map .mapWrapper{
        padding-bottom: 50px;
        margin-bottom: 30px;
    }
    #map .mapWrapper .mapPic{
        margin-bottom: 20px;
    }
    #map .mapWrapper .mapTable{	
        display: block;
	}
}
