@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/* Reset CSS Start */
:where(:not(html, iframe, img)) {
	all: unset;
	display: revert
}
*, :after, :before {
	box-sizing: border-box
}
a {
	cursor: revert
}
ul {
	list-style: none
}
img {
	max-width: 100%;
	vertical-align: bottom
}
html {
	height: -webkit-fill-available;
	height: stretch;
	font-size: 10px;
	overflow-y: scroll
}
/* Reset CSS End */
body {
	background-color: #000;
	line-height: 1.8;
	letter-spacing: 0.02em;
	color: #fff;
	font-family: "Noto Serif JP", serif;
}
.sp-hide {
	display: none
}
@media screen and (min-width:1024px) {
	.sp-hide {
		display: initial
	}
}
.pc-hide {
	display: initial;
}
@media screen and (min-width:1024px) {
	.pc-hide {
		display: none
	}
}
.header {
	width: 100%;
	top: 0;
	z-index: 10;
	background-image: url(../img/横シームレス背景用_最高画質_白黒x256.jpg);
}
@media screen and (min-width:1024px) {
	.header {
		display: block;
		position: sticky;
		height: 100px;
		border-bottom: 20px solid #000;
	}
}
.header_pc {
	display: none
}
@media screen and (min-width:1024px) {
	.header_pc {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: inherit;
		padding: 0 40px 0 20px;
		transition: 0.4s
	}
}
.header_pc_logo_img {
	width: 200px;
	height: 100px;
}
.header_pc_blk {
	display: flex;
	justify-content: space-between;
	gap: 40px
}
.header_pc_lang {
	text-align: right
}
.header_sp_lang {
	text-align: right;
    padding-right: 20px;
}
.header_list {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 100%
}
.header_item:after {
	content: "／";
	padding-left: 6px;
	color: #fff;
	font-size: 1.6rem
}
.header_item:last-child:after {
	display: none
}
.header_link {
	color: #fff;
	font-size: 1.6rem
}
.header_link span {
	position: relative
}
:where(.header_item:hover) .header_link span {
	color: #E6D8B3
}
:where(.-current) .header_link span {
	color: #E6D8B3
}
.header_sp {
	height: 60px;
	position: relative;
    display: flex;
    justify-content: space-between;
}
@media screen and (min-width:1024px) {
	.header_sp {
		display: none
	}
}
.header_sp_logo {
	display: flex;
	align-items: center;
	height: 60px;
	padding-left: 15px
}
.header_sp_logo a {
	display: inline-flex
}
.header_sp_logo img {
	width: 18vw
}
.header_pc_nav {
	height: 56px;
	transition-duration: 0.16s;
	transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035)
}
.header_pc_nav_list {
	display: flex;
	gap: 32px;
	height: inherit
}
.header_pc_nav_item {
	height: inherit
}
.header_pc_nav_link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 56px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	transition-duration: 0.4s;
	transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
	transition-property: background-color;
	position: relative
}
.header_pc_nav_link:hover {
	/* color: #AE7737 */
	color: #E6D8B3
}
:where(.-current) .header_pc_nav_link {
	/* color: #AE7737 */
	color: #E6D8B3
}
.header_pc_nav_link span {
	position: relative
}
.header_pc_nav_link span:before {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #000;
	position: absolute;
	bottom: -6px;
	left: 0;
	transition: 0.4s
}
.footer {
	color: #000;
	background-color: #fff
}
.footer_inner {
	padding: 80px 0
}
@media screen and (min-width:1024px) {
	.footer_inner {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		padding: 80px 5vw
	}
}
.footer_main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center
}
@media screen and (min-width:1024px) {
	.footer_main {
		justify-content: start;
		width: 50%;
	}
}
@media screen and (min-width:1024px) {
	.footer_menu {
		display: flex;
		flex-direction: column;
		width: 50%
	}
}
.footer_logo {
	width: 38vw;
	margin: 4vw;
}
@media screen and (min-width:1024px) {
	.footer_logo {
		width: 26vw;
		margin: 2vw;
	}
}
.footer_copyright {
	font-size: 1.2rem;
	text-align: center;
	margin-bottom: 32px;
}
@media screen and (min-width:1024px) {
	.footer_copyright {
		font-size: 1.4rem;
		text-align: left;
		white-space: nowrap
	}
}

.footer_trademark {
	font-size: 0.8rem;
	text-align: center;
	margin-top: 32px;
}
@media screen and (min-width:1024px) {
	.footer_trademark {
		font-size: 1.0rem;
		text-align: center;
	}
}

.footer_instagram-block {
	margin-top: 2.8vw;
	display: flex;
	flex-direction: row;
    justify-content: center;
    gap: 2.4vw;
    padding: 0px;
	width: 100%;
	align-items: center;
}
.footer_instagram {
    width: 6vw;
    height: 6vw;
    overflow: hidden;
    text-indent: -9999px;
    background: url("../img/Instagram_Glyph_Gradient.png") no-repeat 0 0;
    background-size: 6vw 6vw;
}
@media screen and (min-width:1024px) {
	.footer_instagram {
		width: 5vw;
		height: 5vw;
		background-size: 5vw 5vw;
	}
}
.footer_tabeloglogo {
    width: 25.032vw;
    height: 3.36vw;
    overflow: hidden;
    text-indent: -9999px;
    background: url("https://tblg.k-img.com/images/restaurant/logo/logo_tabelog.svg") no-repeat 0 0;
    background-size: 25.032vw 3.36vw
}
@media screen and (min-width:1024px) {
	.footer_tabeloglogo {
		width: 17.88vw;
		height: 2.4vw;
		overflow: hidden;
		text-indent: -9999px;
		background: url("https://tblg.k-img.com/images/restaurant/logo/logo_tabelog.svg") no-repeat 0 0;
		background-size: 17.88vw 2.4vw
	}
}
.section {
	margin: 0;
	padding: 0
}
.bg_black {
	background-color: #000;
	position: relative
}
.bg_black:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../img/横シームレス背景用_最高画質_白黒x256.jpg);
	background-size: 256px 288px;
	background-position: center bottom;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1
}
.top {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	/* height: calc(100vh - 64px); */
	position: relative
}
.top_image {
	width: 100vw;
	height: 100vh;
	background-size: cover;
	background-position: left 60% top 0%;
	background-repeat: no-repeat;
	opacity: 0.7;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1
}
@media screen and (min-width:1024px) {
	.top_image {
		width: 100%;
		height: 100%;
		top: 96px
	}
}
.reserve {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 15px;
	border: 1px solid #AE7737;
	border-top: none;
	position: relative
}
@media screen and (min-width:1024px) {
	.reserve {
		width: 90vw;
		max-width: 1300px;
		margin: 0 auto
	}
}
.reserve:before {
	content: "";
	display: block;
	width: 20%;
	height: 1px;
	background-color: #AE7737;
	position: absolute;
	top: 0;
	left: 0
}
@media screen and (min-width:1024px) {
	.reserve:before {
		width: 35%
	}
}
.reserve:after {
	content: "";
	display: block;
	width: 20%;
	height: 1px;
	background-color: #AE7737;
	position: absolute;
	top: 0;
	right: 0
}
@media screen and (min-width:1024px) {
	.reserve:after {
		width: 35%
	}
}
.reserve_en {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 15px;
	border: 1px solid #AE7737;
	border-top: none;
	position: relative
}
@media screen and (min-width:1024px) {
	.reserve_en {
		width: 70vw;
		margin: 0 auto
	}
}
.reserve_en:before {
	content: "";
	display: block;
	width: 20%;
	height: 1px;
	background-color: #AE7737;
	position: absolute;
	top: 0;
	left: 0
}
@media screen and (min-width:1024px) {
	.reserve_en:before {
		width: 30%
	}
}
.reserve_en:after {
	content: "";
	display: block;
	width: 20%;
	height: 1px;
	background-color: #AE7737;
	position: absolute;
	top: 0;
	right: 0
}
@media screen and (min-width:1024px) {
	.reserve_en:after {
		width: 30%
	}
}
.reserve_title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: -16px auto 0;
	padding: 0 10px;
	background-color: #000;
	color: #fff;
	font-size: 1.8rem
}
@media screen and (min-width:1024px) {
	.reserve_title {
		margin: -20px auto 0;
		font-size: 2.4rem
	}
}
.reserve_body {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0 15px
}
@media screen and (min-width:1024px) {
	.reserve_body {
		flex-direction: row;
		min-height: 270px;
		padding: 0
	}
}
.reserve_url {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px 0;
	color: #fff;
}
@media screen and (min-width:1024px) {
	.reserve_url {
		padding: 0;
		border: none;
		position: relative;
		width: 50%;
	}
}
.reserve_tabelog_url {
	font-size: 3.6rem
}
@media screen and (min-width:1024px) {
	.reserve_tabelog_url {
		font-size: 4.8rem
	}
}
.reserve_tabelog_url:hover {
	color: #E6D8B3
}
.reserve_tel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px 0;
	border-top: 1px solid #AE7737;
	color: #fff
}
@media screen and (min-width:1024px) {
	.reserve_tel {
		padding: 0;
		border: none;
		position: relative;
		width: 50%;
	}
}
@media screen and (min-width:1024px) {
	.reserve_tel:after {
		content: "";
		display: block;
		width: 1px;
		height: 144px;
		background-color: #AE7737;
		position: absolute;
		top: calc(50% - 77px);
		left: 0
	}
}
.reserve_tel:first-child {
	border-top: none
}
.reserve_tel:first-child:after {
	display: none
}
:where(.-textBlack) .reserve_tel {
	color: #000
}
.reserve_telnumber {
	font-size: 3.6rem
}
@media screen and (min-width:1024px) {
	.reserve_telnumber {
		font-size: 4.8rem;
	}
}
.reserve_telnumber:before {
	content: "";
	display: inline-block;
	width: 19px;
	height: 22px;
	margin-right: 10px;
	-webkit-mask-image: url(/assets/img/icon_tel_white.svg);
	mask-image: url(/assets/img/icon_tel_white.svg);
	-webkit-mask-size: cover;
	mask-size: cover;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: #fff
}
@media screen and (min-width:1024px) {
	.reserve_telnumber:before {
		width: 28px;
		height: 32px;
		margin-right: 12px
	}
}
:where(.-textBlack) .reserve_telnumber:before {
	background-color: #000
}
@media screen and (min-width:1024px) {
	.reserve_telnumber a {
		pointer-events: none
	}
}
.reserve_note {
	font-size: 1.4rem
}
@media screen and (min-width:1024px) {
	.reserve_note {
		font-size: 1.6rem;
	}
}
.infolist {
	border-top: 1px solid #E2D588
}
.infolist_item {
	border-bottom: 1px solid #E2D588;
	font-size: 1.4rem;
	line-height: 1.4
}
@media screen and (min-width:1024px) {
	.infolist_item {
		font-size: 1.6rem;
		line-height: 1.3
	}
}
.infolist_link {
	display: flex;
	flex-direction: column;
	padding: 20px 0
}
@media screen and (min-width:1024px) {
	.infolist_link {
		flex-direction: row;
		gap: 24px;
		padding-right: 40px
	}
}
.infolist_head {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 6px
}
@media screen and (min-width:1024px) {
	.infolist_head {
		gap: 32px;
		margin-bottom: 0
	}
}
.infolist_title {
	width: fit-content;
	position: relative
}
.infolist_titletext {
	position: relative
}
@media screen and (min-width:1024px) {
	.infolist_titletext {
		display: inline-block
	}
}
.dm_modal {
	cursor: pointer
}
.modal_overlay {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	left: 0;
	top: 0;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.9);
	visibility: hidden;
	opacity: 0;
	z-index: 13;
	transition: 0.4s;
	overscroll-behavior-y: contain;
	overflow-y: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
	touch-action: none
}
.modal_overlay:before {
	content: "";
	display: flex;
	width: 1px;
	height: calc(100vh + 1px)
}
.modal_overlay:after {
	content: "";
	display: flex;
	width: 1px;
	height: calc(100vh + 1px)
}
.modal_overlay.-active {
	visibility: visible;
	opacity: 1;
	transition: 0.4s
}
.modal_content {
	max-height: 80%;
	margin: 0 15px
}
.modal_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.modal_label {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700
}
.modal_close {
	font-size: 2.8rem;
	font-weight: 700;
	vertical-align: bottom;
	cursor: pointer
}
.modal_image {
	height: auto;
	border: 1px solid #fff
}
.modal_image img {
	height: auto;
	max-height: 70vh;
	vertical-align: bottom
}
.syunri_about {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: calc(100vh - 60px);
	padding: 0 15px;
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
	color: #fff
}
.syunri_about_en {
	display: flex;
	flex-direction: column;
	padding: 0 15px;
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
	color: #fff
}
@media screen and (min-width:1024px) {
	.syunri_about {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: calc(100% - 48px);
		padding: 0;
		writing-mode: tb-rl
	}
	.syunri_about_en {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: calc(100% - 48px);
		padding: 0;
	}
}
.syunri_about_title {
	margin-bottom: 40px;
	font-size: 2rem
}
.syunri_about_title_en {
	margin-top: 40px;
	font-size: 2rem
}
@media screen and (min-width:1024px) {
	.syunri_about_title {
		margin-bottom: 50px;
		margin-left: 50px;
		font-size: 2.4rem
	}
	.syunri_about_title_en {
		margin-bottom: 10px;
		margin-left: 25%;
		margin-top: 150px;
		font-size: 2.4rem;
	}
}
.syunri_about_text {
	font-size: 1.4rem;
	line-height: 2
}
.syunri_about_text_en {
	font-size: 1.4rem;
	line-height: 2
}
@media screen and (min-width:1024px) {
	.syunri_about_text {
		padding-top: 10%;
		font-size: 1.8rem;
		line-height: 2.6;
	}
	.syunri_about_text_en {
		padding: 0 5% 5% 25%;
		font-size: 1.8rem;
		line-height: 2
	}
}
.syunri_menu {
	padding: 120px 0;
	background-color: #000;
	overflow: hidden
}
@media screen and (min-width:1024px) {
	.syunri_menu {
		padding: 240px 0
	}
}
.syunri_menu_title {
	margin-bottom: 48px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center
}
@media screen and (min-width:1024px) {
	.syunri_menu_title {
		margin-bottom: 80px;
		font-size: 3.6rem
	}
}
.syunri_menu_lineup {
	display: flex;
	flex-direction: column;
	gap: 56px;
	margin-bottom: 90px;
	padding: 0 15px
}
@media screen and (min-width:1024px) {
	.syunri_menu_lineup {
		flex-direction: row;
		justify-content: center;
		gap: 2.5vw;
		padding: 0
	}
}
@media screen and (min-width:1024px) {
	.syunri_menu_item {
		width: 28.75vw
	}
}
.syunri_menu_label {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 38px;
	margin: 14px auto 16px;
	background-color: #AE773720;
	border: 1px solid #AE7737;
	font-size: 1.8rem;
	position: relative;
	z-index: 1
}
@media screen and (min-width:1024px) {
	.syunri_menu_label {
		font-size: 2.4rem
	}
}
.syunri_menu_items {
	color: #fff;
	font-size: 1.8rem;
	text-align: center
}
@media screen and (min-width:1024px) {
	.syunri_menu_items {
		font-size: 2.2rem;
		text-align: center
	}
}
.syunri_menu_note {
	margin: 22px 0px;
	color: #fff;
	font-size: 1.4rem;
	text-align: center
}
@media screen and (min-width:1024px) {
	.syunri_menu_note {
		margin: 28px 0px;
		font-size: 1.6rem;
		text-align: center
	}
}
.syunri_menu_time {
	color: #F6E28E;
	font-size: 1.6rem
}
@media screen and (min-width:1024px) {
	.syunri_menu_time {
		font-size: 1.8rem;
		text-align: center
	}
}
.syunri_info {
	display: flex;
	flex-direction: column;
	padding: 120px 0 0;
	position: relative;
	z-index: 2
}
@media screen and (min-width:1024px) {
	.syunri_info {
		flex-direction: row;
		justify-content: center;
		gap: 2.5vw;
		padding: 240px 0 120px
	}
}
@media screen and (min-width:1024px) {
	.syunri_info_shop {
		width: 43.75vw
	}
}
@media screen and (min-width:1024px) {
	.syunri_info_news {
		width: 43.75vw
	}
}
.syunri_info_shop {
	margin-bottom: 80px;
	padding: 0 15px
}
@media screen and (min-width:1024px) {
	.syunri_info_shop {
		margin-bottom: 0;
		padding: 0
	}
}
.syunri_info_shoptitle {
	margin-bottom: 24px;
	font-size: 2rem;
	text-align: center
}
@media screen and (min-width:1024px) {
	.syunri_info_shoptitle {
		margin-bottom: 40px;
		font-size: 2.4rem
	}
}
.syunri_info_shopdata {
	padding: 16px 0;
	border-top: 1px solid #E2D588
}
@media screen and (min-width:1024px) {
	.syunri_info_shopdata {
		display: flex;
		padding: 0
	}
}
.syunri_info_shopdata:last-child {
	border-bottom: 1px solid #E2D588
}
.syunri_info_label {
	font-size: 1.4rem;
	font-weight: 700
}
@media screen and (min-width:1024px) {
	.syunri_info_label {
		display: flex;
		align-items: center;
		width: 116px;
		font-size: 1.6rem
	}
}
.syunri_info_text {
	width: 100%;
	font-size: 1.4rem
}
@media screen and (min-width:1024px) {
	.syunri_info_text {
		padding: 18px 0;
		font-size: 1.6rem
	}
}
@media screen and (min-width:1024px) {
	.syunri_info_text a[href^=tel] {
		pointer-events: none
	}
}
.syunri_info_news {
	margin-top: 80px;
	padding: 0 15px
}
@media screen and (min-width:1024px) {
	.syunri_info_news {
		margin-top: 0;
		padding: 0
	}
}
.syunri_info_newstitle {
	margin-bottom: 24px;
	font-size: 2rem;
	text-align: center
}
@media screen and (min-width:1024px) {
	.syunri_info_newstitle {
		margin-bottom: 40px;
		font-size: 2.4rem
	}
}
.syunri_map {
	position: relative;
	z-index: 2
}
.syunri_googlemap {
	padding: 0 15px
}
@media screen and (min-width:1024px) {
	.syunri_googlemap {
		padding: 0 6vw
	}
}
.syunri_googlemap iframe {
	width: 100%
}
.syunri_googlemaptext {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	font-size: 1.4rem;
	text-align: right
}
@media screen and (min-width:1024px) {
	.syunri_googlemaptext {
		font-size: 1.6rem
	}
}
.syunri_googlemaptext:after {
	content: "＞";
	display: inline-block;
	color: #D5BA87;
}
.syunri_googlemaptext span {
	position: relative
}
.syunri_googlemaptext span:before {
	content: "";
	width: 0;
	height: 1px;
	background-color: #000;
	transition: 0.4s;
	transform-origin: 0 0;
	position: absolute;
	bottom: 0;
	left: 0
}
.syunri_googlemaptext span:hover:before {
	width: 100%
}
.syunri_gallery {
	padding: 100px 0 120px;
	position: relative;
	z-index: 2
}
@media screen and (min-width:1024px) {
	.syunri_gallery {
		padding: 200px 0 240px
	}
}
.syunri_gallery_title {
	margin-bottom: 24px;
	font-size: 2rem;
	text-align: center
}
@media screen and (min-width:1024px) {
	.syunri_gallery_title {
		margin-bottom: 64px;
		font-size: 2.4rem
	}
}
.syunri_gallery {
	padding: 120px 24.533vw;
	overflow: hidden
}
@media screen and (min-width:1024px) {
	.syunri_gallery {
		padding: 200px 0 240px
	}
}
.syunri_gallerylist {
	margin-bottom: 24px
}
@media screen and (min-width:1024px) {
	.syunri_gallerylist {
		margin-bottom: 64px
	}
}
.syunri_gallerylist .splide__track {
	overflow: visible
}
.syunri_gallerylist .splide__slide {
	max-width: 50vw;
	overflow: hidden
}
@media screen and (min-width:1024px) {
	.syunri_gallerylist .splide__slide {
		width: 320px!important;
		max-width: 320px;
		transition: 0.4s
	}
}
@media screen and (min-width:1024px) {
	.syunri_gallerylist .splide__slide:hover {
		transform: scale(1.1)
	}
}
#contact {
    padding-top: 10vw;
    margin-top: -10vw;
}

#about.en {
    padding-top: 10vw;
    margin-top: -10vw;
}

