@charset "UTF-8";  

body {
	font-size	: 3.8vw;
	line-height	: 180%;
	font-weight	: 400;
	-webkit-text-size-adjust: 100%; /* for iOS */
}  
.pc ,.pc2 {
	display: none !important;
}

.sp {
	display: inline-block !important;
}

.sp2 {
	display: block !important;
}


#wrapper {
	width: 100%;
	margin: auto;
	padding: 0;
	position: relative;
}


/*====================================
ヘッダー
=====================================*/
header {
	position: fixed;
	width: 100%;
	margin: auto;
	padding: 4% 3% 3.5%;
	text-align: left;
	background: #fff;
	display: flex;
	z-index: 100;
	#top_logo {
		width: 80%;
		margin: 0;
		padding: 0;
		a {
			display: inline-block;
			margin: 0;
			padding: 0;
			color: #333;
			text-decoration: none;
			display: flex;
			align-items: center;
			&:hover {
				opacity: 0.7;
			}
			img {
				width: 21.2%;
				height: auto;
				img {
					width: 100%;
					height: auto;
				}
			}
			h1 {
				margin: 0 0 0 6%;
				padding: 0;
				font-size: 4.5vw;
				line-height: 120%;
				font-weight: var(--weight-bold2);
				white-space: nowrap;
				text-align: left;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				small {
					display: block;
					margin: 0 0 0.2em;
					padding: 0;
					font-size: 2.4vw;
					line-height: 120%;
					font-weight: var(--weight-nomal);
					white-space: nowrap;
				}
			}
		}
	}
	nav {
		display: none;
	}
}
#fadeLayer {
	position: fixed;
    width: 100%;
	height: 100%;
    margin: 4.0em auto 0;
	background: rgba(0, 0, 0, 0.5);
	top: 0;
	left: 0;
	display: none;
	z-index: 50;
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}
#fadeLayer.on {
	display: block;
}

div.sp_menu {
	position: fixed;
	width: 13%;
	margin: 0;
	padding: 0;
	top: 0.7em;
	right: 1.0%;
	z-index: 101;
}
div.sp_menu span.btn {
	display: block;
	width: 100%;
	height: 3.0em;
	background: transparent;
	margin: auto;
	position: relative;
	cursor: pointer;
}

	div.sp_menu span.btn:before,
	div.sp_menu span.btn:after,
	div.sp_menu span.btn span {
		display: block;
		width: 50%;
		height: 4px;
		background-color: #D1933D;
		border-radius: 2px;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	div.sp_menu span.btn span {
		top: calc(50% - 2px);
	}

	div.sp_menu span.btn:before {
		content: "";
		top: calc(30% - 2px);
	}
	div.sp_menu span.btn:after {
		content: "";
		bottom: calc(30% - 2px);
	}
	div.sp_menu span.btn.on span {
		width: 0;
	}

	div.sp_menu span.btn.on:before {
		top: calc(50% - 2px);
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	div.sp_menu span.btn.on:after {
		bottom: calc(50% - 2px);
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}

#accordion {margin: 0; padding: 0;}
#accordion .accordion_menu {
	display: none;
	position: fixed;
	width: 100%;
	max-height: calc(100% - 4.3em);
	margin: auto;
	padding: 0;
	top: 4.3em;
	left: 0;
	background: #F9F3EA;
	border-top: 1px solid #000;
	overflow-y: auto;
	z-index: 110;
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}
	#accordion .accordion_menu.on {
		display: block;
	}
	div.sp_nav {
		margin: 0;
		padding: 3% 3.5% 5%;
		ul {
			display: block;
			margin: 0;
			padding: 0;
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			li {
				display: block;
				width: 50%;
				margin: 0;
				padding: 0.5em 0;
				text-align: left;
				a,span {
					display: block;
					margin: 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					text-decoration: none !important;
				}
			}
			.sub {
				margin: 0!important;
				display: flex;
				align-items: flex-start;
				padding: 0 !important;
				ul {
					width: 50%;
					margin: 0;
					padding: 0 0 0 0.8em;
					border-left: 1px solid #D1933D;
					li {
						display: inline-block;
						width: 100% !important;
						margin: 0;
						padding: 0.1em 0;
						a {
							display: inline-block;
							margin: 0;
							padding: 0;
							font-size: 3.4vw !important;
							line-height: 160%;
							font-weight: var(--weight-nomal);
						}
					}
				}
			}
		}
		div.week_tbl {
			margin-top: 5% !important;
		}
		.name_address {
			margin: 5% auto 0;
			padding: 0 5%;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: flex-start;
			.logo {
				width: 23%;
				margin: 0;
				padding: 0;
				img {
					width: 100%;
					height: auto;
				}
			}
			.name_txt {
				width: 72%;
				margin: 0 0 0 5%;
				padding: 0;
				text-align: left;
				h5 {
					margin: 0;
					padding: 0;
					font-size: 2.5vw;
					line-height: 120%;
					font-weight: var(--weight-nomal);
				}
				h4 {
					margin: 0.3em 0 0;
					padding: 0;
					font-size: 4.7vw;
					line-height: 120%;
					font-weight: var(--weight-bold2);
				}
				p {
					margin: 0.5em 0 0;
					padding: 0;
					font-size: 3.1vw;
					line-height: 160%;
					text-align: left;
				}
			}
			.point {
				width: 80%;
				margin: 5% auto 0;
				padding: 0;
				display: flex;
				justify-content: space-between;
				list-style: none;
				li {
					width: 45%;
					height: 2.4em;
					margin: 0;
					padding: 0.2em;
					font-size: 3.8vw;
					line-height: 140%;
					color: #D1923D;
					font-weight: var(--weight-bold2);
					background: #fff;
					display: flex;
					justify-content: center;
					align-items: center;
				}
			}
		}
	}

header nav {
	display: none;
}


/*====================================
共通
=====================================*/
main {
	margin: 4.5em auto 0;
	padding: 0;
}

#sp_top {
	margin: 0 auto;
	padding: 0;
	.time {
		margin: 0;
		padding: 0.6em 3.3%;
		font-size: 2.8vw;
		line-height: 120%;
		text-align: right;
		background: #F9F3EA;
		strong {
			margin: 0 0 0 1em;
			padding: 0;
			font-size: 2.9vw;
			line-height: 120%;
			font-family: var(--font-cairo);
			font-optical-sizing: auto;
			font-variation-settings: "slnt" 0;
			font-weight: var(--weight-bold1);
		}
	}
	.tel_reservation {
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		li {
			width: 50%;
			height: 3em;
			margin: 0;
			padding: 0;
			a {
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				text-decoration: none;
				display: flex;
				justify-content: center;
				align-items: center;
				img {
					width: 9%;
					height: auto;
					margin-right: 0.5em;
				}
				&.tel {
					font-size: 4.9vw;
					line-height: 120%;
					font-family: var(--font-cairo);
					font-optical-sizing: auto;
					font-variation-settings: "slnt" 0;
					font-weight: var(--weight-bold1);
					color: #D1933D;
					background: #fff;
				}
				&.reservation {
					font-size: 4.0vw;
					line-height: 130%;
					font-weight: var(--weight-bold2);
					color: #fff;
					background: #D1933D;
				}
			}
		}
	}
}
#sp_fix_btn {
	position: fixed;
	display: none;
	width: 100%;
	margin: 0 auto;
	bottom: 0;
	left: 0;
	z-index: 90;
	ul {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		display: flex;
		li {
			width: 50%;
			height: 3em;
			margin: 0;
			padding: 0;
			a {
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				text-decoration: none;
				display: flex;
				justify-content: center;
				align-items: center;
				img {
					width: 9%;
					height: auto;
					margin-right: 0.5em;
				}
				&.tel {
					font-size: 4.9vw;
					line-height: 120%;
					font-family: var(--font-cairo);
					font-optical-sizing: auto;
					font-variation-settings: "slnt" 0;
					font-weight: var(--weight-bold1);
					color: #D1933D;
					background: #fff;
				}
				&.reservation {
					font-size: 4.0vw;
					line-height: 130%;
					font-weight: var(--weight-bold2);
					color: #fff;
					background: #D1933D;
				}
			}
		}
	}
}

div.week_tbl {
	width: 100%;
	margin: 0;
	padding: 0;
	table {
		width: 100%;
		margin: 0;
		padding: 0;
		th {
			width: 10%;
			margin: 0;
			padding: 0 0 0.3em;
			font-size: 3.4vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			text-align: center;
			border-bottom: 1px solid #DDDDDD;
			&:first-of-type {
				width: 30%;
			}
		}
		td {
			margin: 0;
			padding: 0.5em 0;
			font-size: 3.4vw;
			line-height: 160%;
			text-align: center;
			border-bottom: 1px solid #DDDDDD;
			&:first-of-type {
				font-size: 3.4vw;
				line-height: 160%;
				font-family: var(--font-cairo);
				font-optical-sizing: auto;
				font-variation-settings: "slnt" 0;
				font-weight: var(--weight-bold1);
			}
		}
	}
	&.foot ,&.sp_nav {
		table {
			th {
				color: #C78132;
				border-bottom: 1px solid #D1933D;
			}
			td {
				color: #C78132;
				border-bottom: 1px solid #D1933D;
			}
		}
	}
	p {
		margin: 0.8em 0 0;
		padding: 0;
		font-size: 3.0vw;
		line-height: 150%;
		text-align: right;
		span {
			display: inline-block;
			margin: 0 1.5em 0 0;
			font-size: 3.1vw;
			line-height: 160%;
			font-family: var(--font-cairo);
			font-optical-sizing: auto;
			font-variation-settings: "slnt" 0;
			font-weight: var(--weight-bold1);
		}
	}
	&.foot p ,&.sp_nav p {
		color: #C68032;
	}
}

#btm_reservation {
	width: 100%;
	margin: 0 auto;
	padding: 10% 4.6%;
	background: url(../images/common/btm_reservation_sp.jpg) center / cover no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	h2 {
		margin: 0;
		padding: 0;
		font-size: 5.8vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
	}
	h3 {
		margin: 1em 0 0;
		padding: 0;
		font-size: 3.8vw;
		line-height: 180%;
		font-weight: var(--weight-nomal);
	}
	.btn {
		margin: 5% 0 0;
		padding: 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		li {
			margin: 0;
			padding: 0;
			height: 3.6em;
			a {
				display: block;
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				text-decoration: none;
			}
			&:first-of-type {
				width: 100%;
				a {
					display: block;
					width: 100%;
					margin: 0;
					padding: 0;
					background: #fff;
					border-radius: 0.5em;
					display: flex;
					justify-content: center;
					align-items: center;
					img {
						width: 6%;
						height: auto;
					}
					P {
						margin: -0.1em 0 0 0.2em;
						font-size: 6.8vw;
						line-height: 100%;
						color: #D1933D;
						font-family: var(--font-cairo);
						font-optical-sizing: auto;
						font-variation-settings: "slnt" 0;
						font-weight: var(--weight-bold1);
					}
					div {
						margin: 0 0 0 5%;
						padding: 0;
						font-size: 3.0vw;
						line-height: 140%;
						color: #927246;
						font-family: var(--font-cairo);
						font-optical-sizing: auto;
						font-variation-settings: "slnt" 0;
						font-weight: var(--weight-nomal);
					}
				}
			}
			&:nth-of-type(n + 2) {
				width: 48%;
				a {
					display: block;
					width: 100%;
					margin: 5% 0 0;
					padding: 0;
					background: #D1933D;
					border-radius: 0.5em;
					display: flex;
					justify-content: center;
					align-items: center;
					img {
						width: 10%;
						height: auto;
					}
					P {
						margin: -0.1em 0 0 0.5em;
						font-size: 4.0vw;
						line-height: 140%;
						color: #fff;
						font-weight: var(--weight-bold1);
					}
				}
			}
		}
	}
}


/*====================================
フッター
=====================================*/
footer {
	width: 100%;
	margin: 0 auto;
	padding: 10% 4.6% 20%;
	background: #F9F3EA;
	&.fix_none {
		padding-bottom: 9%;
	}
	#footer_in {
		margin: 0 auto;
		padding: 0;
		div.footer_info {
			width: 100%;
			margin: 0;
			padding: 0;
			.name_address {
				margin: 5% auto 0;
				padding: 0 5%;
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: flex-start;
				.logo {
					width: 23%;
					margin: 0;
					padding: 0;
					img {
						width: 100%;
						height: auto;
					}
				}
				.name_txt {
					width: 72%;
					margin: 0 0 0 5%;
					padding: 0;
					text-align: left;
					h5 {
						margin: 0;
						padding: 0;
						font-size: 2.5vw;
						line-height: 120%;
						font-weight: var(--weight-nomal);
					}
					h4 {
						margin: 0.3em 0 0;
						padding: 0;
						font-size: 4.7vw;
						line-height: 120%;
						font-weight: var(--weight-bold2);
					}
					p {
						margin: 0.5em 0 0;
						padding: 0;
						font-size: 3.1vw;
						line-height: 160%;
						text-align: left;
					}
				}
				.point {
					width: 80%;
					margin: 5% auto 0;
					padding: 0;
					display: flex;
					justify-content: space-between;
					list-style: none;
					li {
						width: 45%;
						height: 2.4em;
						margin: 0;
						padding: 0.2em;
						font-size: 3.8vw;
						line-height: 140%;
						color: #D1923D;
						font-weight: var(--weight-bold2);
						background: #fff;
						display: flex;
						justify-content: center;
						align-items: center;
					}
				}
			}
			.week_tbl {
				margin-top: 10% !important;
			}
			div.info_gmap {
				width: 110%;
				height: 20em;
				margin: 10% 0 0 -5%;
				padding: 0;
				position: relative;
				iframe {
					position: absolute;
					width: 100%;
					height: 100%;
					top: 0;
					left: 0;
				}
			}
			div.foot_nav {
				margin: 5% 0 0;
				padding: 3% 0 5%;
				ul {
					display: block;
					margin: 0;
					padding: 0;
					list-style: none;
					display: flex;
					flex-wrap: wrap;
					li {
						display: block;
						width: 50%;
						margin: 0;
						padding: 0.8em 0;
						text-align: left;
						a,span {
							display: block;
							margin: 0;
							padding: 0;
							font-size: 3.6vw;
							line-height: 160%;
							font-weight: var(--weight-bold2);
							text-decoration: none !important;
						}
					}
					.sub {
						margin: 0!important;
						display: flex;
						align-items: flex-start;
						padding: 0 !important;
						ul {
							width: 50%;
							margin: 0;
							padding: 0 0 0 0.8em;
							border-left: 1px solid #D1933D;
							li {
								display: inline-block;
								width: 100% !important;
								margin: 0;
								padding: 0.25em 0;
								a {
									display: inline-block;
									margin: 0;
									padding: 0;
									font-size: 3.4vw !important;
									line-height: 160%;
									font-weight: var(--weight-nomal);
								}
							}
						}
					}
				}
			}
			ul.foot_bnr {
				margin: 10% 0 0;
				padding: 0;
				list-style: none;
				display: flex;
				justify-content: space-between;
				li {
					width: 31.5%;
					margin: 0;
					padding: 0;
					a {
						display: block;
						width: 100%;
						margin: 0;
						padding: 0;
						img {
							width: 100%;
							height: auto;
						}
					}
				}
			}
		}
		.footer_gmap {
			display: none;
		}
		#footer_copy {
			margin: 8% auto;
			padding: 0;
			padding: 0;
			font-size: 2.9vw;
			line-height: 130%;
			font-weight: var(--weight-bold1);
			font-family: var(--font-cairo);
			font-optical-sizing: auto;
			font-variation-settings: "slnt" 0;
			color: #D1923D;
		}
	}
}

#page_top {
    position: fixed;
	display: none;
	width: 12%;
    bottom: 8%;
    right: 3%;
	z-index: 90;
	&.fix_none {
		bottom: 2%;
	}
}
	#page_top img {
		width: 100%;
		height: auto;
	}

