html {
	scroll-behavior: smooth;
}

/* ----------------------------------------------------
	header(under)
---------------------------------------------------- */
.dining .header {
	margin-bottom: min(14rem, 10.249vw);
}

.header__title {
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
}

.header__title--text {
	margin-top: 2.489vw;
	font-size: 1.464vw;
	display: block;
}

.bar .header__title img {
	width: 37.848vw;
}

.private .header__title img {
	width: 31.698vw;
}

.header__image {
	margin-left: auto;
	width: 100%;
	position: relative;
}

@media screen and (max-width: 768px) {
	.dining .header {
		margin-bottom: 21.333vw;
	}

	.header__title--text {
		margin-top: 4vw;
		font-size: 3.733vw;
	}

	.bar .header__title img {
		width: 59.2vw;
	}

	.private .header__title img {
		width: 50.133vw;
	}

	.header__image {
		width: 91.467vw;
		width: 100%;
	}
}

/* ----------------------------------------------------
	page-nav
---------------------------------------------------- */
.page-nav {
	background: rgb(var(--blk));
	text-align: center;
}

.page-nav__list {
	background: rgb(var(--blk));
	margin: 0 auto;
	padding: min(2rem, 1.464vw);
	border: solid 1px rgb(var(--gry));
	display: inline-flex;
	position: relative;
	top: max(-7.7rem, -5.637vw);
}

.page-nav__list--item {
	width: min(28.4rem, 20.791vw);
}

.page-nav__list--item:not(:last-of-type) {
	margin-right: min(1rem, 0.732vw);
}

.page-nav__link {
	font-family: var(--font-en);
	text-decoration: none;
	display: block;
	position: relative;
}

.page-nav__link:hover {
	opacity: 1;
}

.page-nav__link::before,
.page-nav__link::after {
	position: absolute;
	transition: all 0.5s ease 0s;
	content: "";
}

.page-nav__link::before {
	background: rgba(var(--blk), 0.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.page-nav__link:hover::before {
	background: rgba(var(--blk), 0);
}

.page-nav__link::after {
	background: url(../img/arrow01.svg) center no-repeat;
	background-size: cover;
	width: min(3.2rem, 2.343vw);
	height: min(3.2rem, 2.343vw);
	display: block;
	bottom: min(1.6rem, 1.171vw);
	left: 50%;
	z-index: 10;
	transform: translateX(-50%);
	content: "";
}

.page-nav__link--image {
	position: relative;
}

.page-nav__link--text {
	line-height: 1;
	font-size: min(3.2rem, 2.343vw);
	text-align: center;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%, -50%);
}

.page-nav__link--text-small {
	font-size: min(2.4rem, 1.757vw);
	display: block;
}

@media screen and (max-width: 768px) {
	.page-nav {
		padding-bottom: 16vw;
		top: -8.533vw;
	}

	.page-nav__list {
		margin: 0 auto;
		padding: 3.2vw 3.2vw 1.333vw;
		width: 91.467vw;
		flex-wrap: wrap;
		justify-content: center;
	}

	.page-nav__list--item {
		margin-bottom: 1.867vw;
		width: calc((100% - 1.867vw) / 2);
	}

	.page-nav__list--item:not(:last-of-type) {
		margin-right: 0;
	}

	.page-nav__list--item:not(:nth-child(even)) {
		margin-right: 1.867vw;
	}

	.page-nav__list--item:last-of-type {
		margin-right: 0;
	}

	.page-nav__link::after {
		width: 4.8vw;
		height: 4.8vw;
		bottom: 2.667vw;
	}

	.page-nav__link--text {
		font-size: 4.267vw;
	}

	.page-nav__link--text-small {
		font-size: 3.733vw;
	}
}

/* ----------------------------------------------------
	article
---------------------------------------------------- */
.article {}

.article__title {
	margin-bottom: min(7rem, 5.124vw);
	line-height: 1;
	font-size: min(12.2rem, 8.931vw);
	font-weight: 400;
	text-align: center;
}

@media screen and (max-width: 768px) {}

/* ----------------------------------------------------
	shop
---------------------------------------------------- */
.shop {
	margin-bottom: min(18rem, 13.177vw);
}

.shop__logo {
	margin: 0 auto min(3.2rem, 2.343vw);
	width: min(21.1rem, 15.447vw);
}

.shop__title {
	margin-bottom: min(3.1rem, 2.269vw);
	font-family: var(--font-en);
	font-size: min(6.4rem, 4.685vw);
	font-weight: 400;
	text-align: center;
}

.shop__title .small {
	font-size: min(4.8rem, 3.514vw);
}

.shop__content {
	margin: 0 auto;
	width: min(116.6rem, 85.359vw);
}

.shop__map {
	display: flex;
	justify-content: space-between;
}

.shop__map--image {
	width: min(62rem, 45.388vw);
}

.shop__map--detail {
	padding-top: min(9.6rem, 7.028vw);
	width: min(52.4rem, 38.36vw);
}

.shop__map--title {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: 1.6;
	color: rgb(var(--orn));
	font-size: min(2.4rem, 1.757vw);
}

.private .shop__map--title {
	color: rgb(var(--grn));
}

.shop__map--text {
	margin-bottom: min(3.2rem, 2.343vw);
	line-height: 2;
	font-size: min(2rem, 1.464vw);
}

.shop__time {
	font-size: min(1.8rem, 1.318vw);
}

.shop__time--title {
	margin-bottom: min(1rem, 0.732vw);
	line-height: 1.5;
	color: rgb(var(--orn));
	display: flex;
}

.private .shop__time--title {
	color: rgb(var(--grn));
}

.shop__time--title .reserve {
	margin-left: 0.5em;
	padding: 0 0.5em;
	font-size: min(1rem, 0.732vw);
	border: solid 1px rgb(var(--orn));
	display: flex;
	justify-content: center;
	align-items: center;
}

.private .shop__time--title {
	color: rgb(var(--grn));
}

.private .shop__time--title .reserve {
	border-color: rgb(var(--grn));
}

.shop__time--item {
	display: flex;
}

.private .shop__time--item::before {
	color: rgb(var(--grn));
}

.shop__time--item::before {
	color: rgb(var(--orn));
	content: "・";
}

.shop__time--item .table__th {
	padding-right: 1em;
}

.shop__map--detail .link-button {
	margin: min(3.2rem, 2.343vw) 0 0 0;
}

@media screen and (max-width: 768px) {
	.shop {
		margin-bottom: 32vw;
	}

	.shop__logo {
		margin-bottom: 4.8vw;
		width: 31.2vw;
	}

	.shop__title {
		margin-bottom: 8.533vw;
		line-height: 1;
		font-size: 9.6vw;
	}

	.shop__title .small {
		font-size: 6.4vw;
		display: block;
	}

	.shop__content {
		width: 100%;
	}

	.shop__map {
		display: block;
	}

	.shop__map--image {
		width: 100%;
	}

	.shop__map--detail {
		margin: 0 auto;
		padding-top: 8.533vw;
		width: 91.467%;
	}

	.shop__map--title {
		margin-bottom: 4.267vw;
		line-height: 1.4;
		font-size: 5.333vw;
	}

	.shop__map--text {
		margin-bottom: 8.533vw;
		line-height: 2;
		font-size: 4.267vw;
	}

	.shop__time {
		font-size: 3.733vw;
	}

	.shop__time--title {
		margin-bottom: 2.667vw;
	}

	.shop__time--title .reserve {
		font-size: 2.933vw;
	}

	.shop__time--item .table__th {
		vertical-align: top;
	}

	.shop__map--detail .link-button {
		margin: 8.533vw auto 0;
	}
}

/*
	slick
------------------------------ */
.shop__slide.slick-slider {
	margin-bottom: 0;
	line-height: 0;
}

.shop__slide .slick-dots {
	display: flex;
	justify-content: center;
	bottom: min(1.3rem, 0.952vw);
}

.shop__slide .slick-dots li {
	margin: 0 min(0.8rem, 0.586vw);
	width: auto;
	height: auto;
}

.shop__slide .slick-dots li button {
	background: rgb(var(--wht));
	padding: 0;
	width: min(0.8rem, 0.586vw);
	height: min(0.8rem, 0.586vw);
	border-radius: min(0.8rem, 0.586vw);
}

.shop__slide .slick-dots li.slick-active button {
	background: rgb(var(--orn));
}

@media screen and (max-width: 768px) {
	.shop__slide .slick-dots {
		bottom: 3.467vw;
	}

	.shop__slide .slick-dots li {
		margin: 0 2.133vw;
	}

	.shop__slide .slick-dots li button {
		width: 2.133vw;
		height: 2.133vw;
		border-radius: 2.133vw;
	}
}

/* ----------------------------------------------------
	menu
---------------------------------------------------- */
.menu {
	margin: min(11.6rem, 8.492vw) auto 0;
	width: min(116.6rem, 85.359vw);
}

.menu__title {
	margin-bottom: min(5rem, 3.66vw);
	line-height: 1;
	font-family: var(--font-en);
	font-size: min(4rem, 2.928vw);
	font-weight: 400;
	text-align: center;
}

.menu__title--sub {
	line-height: 2;
	font-size: min(3.2rem, 2.343vw);
	display: block;
}

.menu__title .line {
	border-bottom: solid 1px rgb(var(--wht));
	display: inline-block;
}

.menu__list {}

.menu__list--item {
	margin-bottom: min(4rem, 2.928vw);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.menu__image {
	width: min(82.6rem, 60.469vw);
}

.menu__content {
	width: min(28rem, 20.498vw);
}

.menu__content--title {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: 1;
	color: rgb(var(--orn));
	font-size: min(4rem, 2.928vw);
	font-weight: 400;
}

.private .menu__content--title {
	color: rgb(var(--grn));
}

.menu__content--title .jp {
	margin-top: min(1rem, 0.732vw);
	color: rgb(var(--wht));
	font-family: var(--font-jp);
	font-size: min(1.8rem, 1.318vw);
	display: block;
}

.menu__content--text {
	font-size: min(1.8rem, 1.318vw);
}

.menu__content--text:not(:last-of-type) {
	margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
	.menu {
		margin-top: 17.067vw;
		width: 91.467vw;
	}

	.menu__title {
		margin-bottom: 8.533vw;
		font-size: 6.4vw;
	}

	.menu__title--sub {
		font-size: 4.8vw;
	}

	.menu__list--item {
		margin-bottom: 11.2vw;
		display: block;
	}

	.menu__image {
		margin-bottom: 3.733vw;
		width: 100%;
	}

	.menu__content {
		margin: 0 auto;
		width: 74.667vw;
	}

	.menu__content--title {
		margin-bottom: 2.133vw;
		font-size: 6.4vw;
	}

	.menu__content--title .jp {
		margin-top: 2.667vw;
		font-size: 3.733vw;
	}

	.menu__content--text {
		font-size: 3.733vw;
	}
}

/* ----------------------------------------------------
	gallery
---------------------------------------------------- */
.gallery__title {
	margin-bottom: min(3rem, 2.196vw);
	font-family: var(--font-en);
	font-size: min(6.4rem, 4.685vw);
	font-weight: 400;
	text-align: center;
}

.gallery__list {
	margin: 0 auto;
	width: min(116.6rem, 85.359vw);
	height: min(116.6rem, 85.359vw);
	position: relative;
}

.gallery__list--item {
	position: absolute;
}

@media screen and (max-width: 768px) {
	.gallery__title {
		margin-bottom: 8.533vw;
		font-size: 9.6vw;
	}

	.gallery__list {
		width: 91.467vw;
		height: 370.667vw;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.reservation__list {
	margin: 0 auto min(4.8rem, 3.514vw);
	width: min(105rem, 76.867vw);
	display: flex;
	justify-content: center;
	position: relative;
}

.reservation__list::before {
	display: none;
}

.reservation__list--item {
	width: 50%;
}

.reservation__list--title {
	margin-bottom: min(2.4rem, 1.757vw);
	line-height: 1;
	font-family: var(--font-en);
	font-size: min(4rem, 2.928vw);
	font-weight: 400;
}

.reservation__list--item .link-button {
	background: rgb(var(--blk));
	border-color: rgb(var(--blk));
}

.reservation__list--item .link-button:hover {
	background: rgb(var(--orn));
}

.reservation__list--item .note {
	margin-top: min(1rem, 0.732vw);
}

.reservation__list--item .note li {
	font-size: min(1.8rem, 1.318vw);
}

@media screen and (max-width: 768px) {
	.reservation__list {
		margin-bottom: 9.6vw;
		width: 80vw;
		display: block;
	}

	.reservation__list::before {
		display: none;
	}

	.reservation__list--item {
		width: 100%;
	}

	.reservation__list--item:not(:last-of-type) {
		margin-bottom: 8.533vw;
	}

	.reservation__list--title {
		margin-bottom: 4.8vw;
		font-size: 6.4vw;
	}

	.reservation__list--item .note {
		margin-top: 3.733vw;
	}

	.reservation__list--item .note li {
		font-size: 3.733vw;
	}
}

/* ----------------------------------------------------
	topics
---------------------------------------------------- */
.topics {
	margin: min(12rem, 8.785vw) auto 0;
	width: min(116.6rem, 85.359vw);
	border-top: solid 1px rgb(var(--gry));
	border-bottom: solid 1px rgb(var(--gry));
	display: flex;
	align-items: center;
}

.topics__image {
	width: min(82.6rem, 60.469vw);
	line-height: 0;
}

.topics__image.slick-slider {
	margin-bottom: 0;
}

.topics__content {
	padding-right: min(4.6rem, 3.367vw);
	width: calc(100% - min(82.6rem, 60.469vw));
	font-size: min(1.8rem, 1.318vw);
}

.topics__content--title {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: 1.25;
	font-family: var(--font-en);
	font-size: min(4rem, 2.928vw);
	font-weight: 400;
}

.topics__content--title .small {
	font-size: min(2.8rem, 2.05vw);
	display: block;
}

.topics__content--item::before {
	color: rgb(var(--orn));
	content: "・";
}

.private .topics__content--item::before {
	color: rgb(var(--grn));
}

.topics__content .link-button {
	margin: min(1.6rem, 1.171vw) 0 0;
}

@media screen and (max-width: 768px) {
	.topics {
		margin: min(12rem, 8.785vw) auto 0;
		width: 91.467vw;
		flex-direction: column;
	}

	.topics__image {
		width: 100%;
	}

	.topics__content {
		padding: 6.4vw;
		width: 100%;
		font-size: 3.733vw;
	}

	.topics__content--title {
		margin-bottom: 3.2vw;
		font-size: 6.4vw;
	}

	.topics__content--title .small {
		font-size: 5.333vw;
	}

	.topics__content .link-button {
		margin-top: 3.2vw;
	}
}