@charset "UTF-8";

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header .header__official {
	background: rgb(var(--wht));
	padding: 0 1em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header .kv figcaption {
	padding: 1rem;
	line-height: 1;
	font-family: var(--gothic);
	font-size: 13px;
	text-align: right;
}

.header .logo {
	margin: 0 auto;
	padding: 56px 50px;
	max-width: 960px;
}

@media screen and (max-width: 768px) {
	.header .kv figcaption {
		font-size: 2.93333vw;
		text-align: center;
		letter-spacing: -0.005em;
	}

	.header .logo {
		padding: 0.5em 5.33333vw 1.5em;
		max-width: 960px;
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	width: 100%;
	padding-bottom: 6em;
	position: relative;
}

.main::before,
.main::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}

.main::before {
	background: rgb(144, 58, 45);
	background: linear-gradient(0deg, rgba(144, 58, 45, 1) 0%, rgba(133, 24, 24, 1) 20%, rgba(140, 50, 41, 1) 40%, rgba(161, 27, 26, 1) 60%, rgba(120, 32, 22, 1) 80%, rgba(164, 40, 39, 1) 100%);
	z-index: 0;
}

.main::after {
	background: url(../img/bg.webp) center repeat;
	background-size: 25% auto;
	mix-blend-mode: multiply;
	z-index: 1;
}

@media screen and (max-width: 768px) {
	.main {
		padding-bottom: 16vw;
	}

	.main::after {
		background-size: 33% auto;
	}
}

/* ----------------------------------------------------
	article
---------------------------------------------------- */
.article {
	padding: 116px 50px 0;
	color: rgb(var(--wht));
	position: relative;
	z-index: 2;
}

.article__header--title {
	background: url(../img/titleBg01.svg) center top no-repeat;
	background-size: 614px auto;
	margin-bottom: 0.5em;
	padding-top: 0.75em;
	color: rgb(var(--yel));
	font-family: var(--mincho);
	font-size: 50px;
	text-align: center;
}

@media screen and (max-width: 1000px) {
	.article {
		padding: 6em 5vw 0;
	}
}

@media screen and (max-width: 768px) {
	.article {
		padding: 16vw 5.33333vw 0;
	}

	.article__header--title {
		background: url(../img/titleBg01_sp.svg) center top no-repeat;
		background-size: 74.82549vw auto;
		padding-top: 1.2em;
		line-height: 1.5;
		font-size: 8vw;
	}
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
/*
	about__header
------------------------------ */
.about__header {
	margin-bottom: 4em;
	text-align: center;
}

.about__header--title {
	margin-bottom: 1em;
	color: rgb(var(--yel));
	font-family: var(--mincho);
	font-size: 44px;
}

.about__header--title small {
	font-size: 37px;
}

.about__header--contents .title {
	margin-bottom: 1em;
	line-height: 1.5;
	font-size: 26px;
}

.about__header--contents .details .text {
	line-height: 2.2;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
	.about__header--title {
		margin-bottom: 1em;
		font-size: 7.46667vw;
	}

	.about__header--title small {
		font-size: 5.6vw;
	}

	.about__header--contents .title {
		font-size: 5.33333vw;
	}

	.about__header--contents .details .text {
		font-size: 4vw;
		text-align: left;
	}
}

/*
	about__reception
------------------------------ */
.about__reception {
	margin: 0 auto;
	max-width: 900px;
	text-align: center;
}

.about__reception--title {
	margin-bottom: 1em;
	line-height: 1.5;
	color: rgb(var(--yel));
	font-family: var(--mincho);
	font-size: 26px;
}
.about__reception--title em {
	border: 1px solid rgb(var(--yel));
	padding: .6em;
	display: block;
	background: rgba(144,36,31,.8)
}

.about__reception--contents .title {
	margin-bottom: 0.5em;
	font-size: 17px;
}

.about__reception--contents .title span {
	margin-bottom: 1em;
	font-size: 14px;
	display: block;
}

.about__reception--contents .details {
	margin-bottom: 1.5em;
}

.about__reception--contents .details .text {
	font-size: 26px;
}

.about__reception--contents+.list.note {
	margin-bottom: 2em;
	text-align: left;
	letter-spacing: -0.005em;
}

.about__reception--contents+.list.note li {
	font-size: 13px;
}

.about__reception--link {
	margin-bottom: 6em;
	display: flex;
	justify-content: center;
}

.about__reception--link .linkBtn {
	margin: 0 1em;
}

.about__reception--link .linkBtn a {
	background: url(../img/bgBtn.webp);
	background-size: cover;
	width: 360px;
	height: 90px;
	line-height: 1.25;
	color: rgb(var(--blk));
	font-family: var(--mincho);
	font-size: 28px;
	flex-direction: column;
}

.about__reception--link .linkBtn a small {
	font-size: 23px;
}

.about__reception--link .linkBtn a:hover {
	opacity: 0.7;
}

.about__reception--info {
	margin: 0 auto;
	padding: 4em 0;
	max-width: 600px;
	border: solid 1px rgb(var(--wht));
}

.about__reception--info .title {
	margin-bottom: 1em;
	font-size: 18px;
}

.about__reception--info .details .text {
	margin-bottom: 1em;
	font-size: 16px;
}

.about__reception--info .details .linkBtn a {
	background: rgb(var(--wht));
	margin: 0 auto;
	width: 304px;
	height: 60px;
	line-height: 1;
	color: rgb(var(--blk));
	font-size: 18px;
	border: solid 2px rgb(var(--wht));
	border-radius: 5px;
}

.about__reception--info .details .linkBtn a::before {
	background: rgb(var(--blk));
	width: 0.5em;
	height: 1em;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	position: absolute;
	top: 50%;
	right: 1.5em;
	transform: translateY(-50%);
	content: "";
}

.about__reception--info .details .linkBtn a:hover {
	background: none;
	color: rgb(var(--wht));
}

.about__reception--info .details .linkBtn a:hover::before {
	background: rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.about__reception--title {
		font-size: 4.8vw;
	}

	.about__reception--contents .title {
		font-size: 4vw;
	}

	.about__reception--contents .title span {
		font-size: 3.46667vw;
	}

	.about__reception--contents .details .text {
		font-size: 5.86667vw;
	}

	.about__reception--contents+.list.note li {
		font-size: 2.93333vw;
	}

	.about__reception--link {
		display: block;
	}

	.about__reception--link .linkBtn {
		margin: 0;
	}

	.about__reception--link .linkBtn:not(:last-of-type) {
		margin-bottom: 1em;
	}

	.about__reception--link .linkBtn a {
		background: url(../img/bgBtn_sp.webp);
		background-size: cover;
		width: 100%;
		height: 18.45128vw;
		font-size: 5.6vw;
	}

	.about__reception--link .linkBtn a small {
		font-size: 4.53333vw;
	}

	.about__reception--info {
		padding: 4.8vw;
		max-width: 100%;
		border: solid 1px rgb(var(--wht));
	}

	.about__reception--info .title {
		font-size: 4.26667vw;
	}

	.about__reception--info .details .text {
		font-size: 4vw;
		text-align: left;
	}

	.about__reception--info .details .linkBtn a {
		width: 100%;
		height: 11.2vw;
		font-size: 4vw;
	}
}

/* ----------------------------------------------------
	plan
---------------------------------------------------- */
.plan {
	margin-bottom: 6em;
}

@media screen and (max-width: 768px) {
	.plan {
		margin-bottom: 0;
	}
}

/*
	plan__header
------------------------------ */
.plan__header,
.plan .list {
	margin: 0 auto;
	max-width: 900px;
}

.plan__header--images {
	margin-bottom: 6em;
	text-align: center;
}

.plan__header--images img {
	max-width: 600px;
}

@media screen and (max-width: 768px) {
	.plan__header--images {
		margin-bottom: 2.5em;
	}
}

/*
	plan__amenities
------------------------------ */
.plan__amenities {
	margin: 0 auto;
	max-width: 743px;
}

.plan__amenities--title {
	background: url(../img/titleBg02.svg) center top no-repeat;
	background-size: auto 100%;
	margin-bottom: 1.5em;
	padding-top: 1em;
	height: 90px;
	color: rgb(var(--yel));
	font-family: var(--mincho);
	font-size: 28px;
	text-align: center;
}

.plan__amenities--lead {
	margin-bottom: 3em;
}

.plan__amenities--lead .text {
	font-size: 18px;
	text-align: center;
}

.plan__amenities--list {
	display: flex;
	flex-wrap: wrap;
}

.plan__amenities--list .contents {
	margin-bottom: 4em;
	width: 44.97579%;
	text-align: center;
}

.plan__amenities--list .contents:not(:nth-child(even)) {
	margin-right: calc(100% - 44.97579% * 2);
}

.plan__amenities--list .contents .images figcaption {
	margin-top: 1em;
	font-size: 15px;
}

.plan__amenities--list .contents .images figcaption .name {
	font-size: 18px;
	display: block;
}

@media screen and (max-width: 768px) {
	.plan__amenities--title {
		background: url(../img/titleBg02_sp.svg) center top no-repeat;
		background-size: auto 100%;
		height: 17.06667vw;
		font-size: 5.33333vw;
	}

	.plan__amenities--lead {
		margin-bottom: 2em;
	}

	.plan__amenities--lead .text {
		font-size: 4vw;
		text-align: left;
	}

	.plan__amenities--list {
		display: block;
	}

	.plan__amenities--list .contents {
		margin-bottom: 2.5em;
		width: 100%;
	}

	.plan__amenities--list .contents:not(:nth-child(even)) {
		margin-right: 0;
	}

	.plan__amenities--list .contents .images figcaption {
		line-height: 1.5;
		font-size: 3.46667vw;
	}

	.plan__amenities--list .contents .images figcaption .name {
		font-size: 4.26667vw;
	}
}

/* ----------------------------------------------------
	menu
---------------------------------------------------- */
/*
	menu__header
------------------------------ */
.menu__header {
	margin: 0 auto 4em;
	max-width: 900px;
}

.menu__header--contents {
	margin-bottom: 4em;
	text-align: center;
}

.menu__header--contents .title {
	margin-bottom: 1em;
	font-size: 20px;
}

.menu__header--contents .title span {
	background: url(../img/titleBg03.svg) left center no-repeat;
	background-size: auto 100%;
	width: 170px;
	height: 36px;
	border: solid 1px rgb(var(--wht));
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.menu__header--contents .title span::before {
	background: url(../img/titleBg03.svg) right center no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}

.menu__header--contents .details {
	margin-bottom: 1em;
	font-size: 18px;
}

.menu__header--contents .details span {
	margin-right: 1em;
	display: inline-block;
}

.menu__header--text {
	background: rgb(var(--wht));
	margin: 0 auto 2em;
	padding: 1.5em 0;
	max-width: 600px;
	line-height: 2;
	color: rgb(var(--brn));
	text-align: center;
	border: double 8px rgb(var(--yel))
}

.menu__header .list {
	margin-bottom: 2em;
}

.menu__header .inquiry {
	line-height: 1.5;
	text-align: center;
}

.menu__header .inquiry__title {
	font-size: 18px;
}

.menu__header .inquiry__contents {
	font-size: 29px;
}

.menu__header .inquiry__contents a {
	color: rgb(var(--wht));
	text-decoration: none;
}

.menu__header .inquiry__contents small {
	font-size: 15px;
	display: block;
}

@media screen and (max-width: 768px) {
	.menu__header--contents {
		margin-bottom: 2em;
	}

	.menu__header--contents .title {
		font-size: 4.8vw;
	}

	.menu__header--contents .title span {
		width: 40vw;
		height: 8.53333vw;
	}

	.menu__header--contents .details {
		font-size: 4.26667vw;
		letter-spacing: -0.005em;
	}

	.menu__header--contents .details span {
		margin-right: 0.5em;
	}

	.menu__header--text {
		padding: 6.4vw;
		max-width: 100%;
		font-size: 4.26667vw;
		text-align: left;
	}

	.menu__header .list {
		margin-bottom: 2em;
	}

	.menu__header .inquiry__title {
		font-size: 4.8vw;
	}

	.menu__header .inquiry__contents {
		font-size: 7.73333vw;
	}

	.menu__header .inquiry__contents small {
		font-size: 3.46667vw;
	}
}

/*
	section
------------------------------ */
.menu .section,
.menu .section+.note {
	margin: 0 auto;
	max-width: 900px;
}

.menu .section {
	margin-bottom: 4em;
}

.menu .section__title {
	margin-bottom: 1em;
	color: rgb(var(--yel));
	font-family: var(--mincho);
	font-size: 40px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.menu .section__title {
		margin-bottom: calc(18.66667vw + 0.5em);
		font-size: 6.4vw;
	}
}

/*
	menu__list
------------------------------ */
.menu__list {
	display: flex;
}

.menu__list--item {
	background: url(../img/bgCollabo.webp) center repeat-y;
	background-size: 100% auto;
	margin: 90px 0;
	padding: 0 31px;
	width: 45.77778%;
	position: relative;
}

.menu__list--item:not(:nth-child(even)) {
	margin-right: calc(100% - 45.77778% * 2);
}

.menu__list--item::before,
.menu__list--item::after {
	width: 100%;
	position: absolute;
	left: 0;
	content: "";
}

.menu__list--item::before {
	background: url(../img/bgCollaboTop.webp) center top no-repeat;
	background-size: 100% auto;
	height: 90px;
	top: -90px;
}

.menu__list--item::after {
	background: url(../img/bgCollaboBottom.webp) center bottom no-repeat;
	background-size: 100% auto;
	height: 45px;
	bottom: -45px;
}

.menu__list--item .title {
	background: rgb(var(--yel));
	width: 73.30097%;
	height: 63px;
	line-height: 1;
	color: rgb(var(--red));
	font-family: var(--mincho);
	font-size: 32px;
	clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -90px;
	left: 50%;
	transform: translateX(-50%);
}

.menu__list--item .title small {
	font-size: 20px;
}

.menu__images {
	margin-bottom: 1em;
	position: relative;
}

.menu__images.food__chara01::before,
.menu__images.food__chara02::before,
.menu__images.drink__chara01::before,
.menu__images.drink__chara02::before {
	max-width: 140px;
	width: 40%;
	max-height: 199px;
	height: 19.9vw;
	position: absolute;
	content: "";
}

.menu__images.food__chara01::before {
	background: url(../img/foodChara01.webp) center no-repeat;
	background-size: cover;
	bottom: -35px;
	left: -16px;
}

.menu__images.food__chara02::before {
	background: url(../img/foodChara02.webp) center no-repeat;
	background-size: cover;
	bottom: -28px;
	left: -12px;
}

.menu__images.drink__chara01::before {
	background: url(../img/drinkChara01.webp) center no-repeat;
	background-size: cover;
	bottom: -28px;
	left: 6px;
}

.menu__images.drink__chara02::before {
	background: url(../img/drinkChara02.webp) center no-repeat;
	background-size: cover;
	bottom: -28px;
	left: 9px;
}

.menu__contents .name {
	font-size: 22px;
	font-weight: normal;
}

.menu__contents .set {
	margin-bottom: 0;
	font-size: 18px;
}

.menu__contents .price {
	font-size: 18px;
}

.menu__contents .material {
	margin-top: 0.5em;
}

.menu__contents .material__title {
	font-size: 16px;
}

.menu__contents .material__contents {
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.menu__list {
		display: block;
	}

	.menu__list--item {
		margin: 18.66667vw 0 34.66667vw;
		padding: 0 6.4vw;
		width: 100%;
	}

	.menu__list--item:last-of-type {
		margin-bottom: 18.66667vw;
	}

	.menu__list--item:not(:nth-child(even)) {
		margin-right: 0;
	}

	.menu__list--item::before {
		background: url(../img/bgCollaboTop.webp) center top no-repeat;
		background-size: 100% auto;
		height: 18.66667vw;
		top: -18.66667vw;
	}

	.menu__list--item::after {
		height: 9.33333vw;
		bottom: -9.33333vw;
	}

	.menu__list--item .title {
		width: 64.67957%;
		height: 13.6vw;
		font-size: 6.66667vw;
		top: -18.66667vw;
	}

	.menu__list--item .title small {
		font-size: 4.26667vw;
	}

	.menu__images.food__chara01::before,
	.menu__images.food__chara02::before,
	.menu__images.drink__chara01::before,
	.menu__images.drink__chara02::before {
		width: 30.93333vw;
		height: 43.73333vw;
	}

	.menu__images.food__chara01::before {
		bottom: -8vw;
		left: -3.46667vw;
	}

	.menu__images.food__chara02::before {
		bottom: -7.46667vw;
		left: -3.2vw;
	}

	.menu__images.drink__chara01::before {
		bottom: -7.46667vw;
		left: 1.6vw;
	}

	.menu__images.drink__chara02::before {
		bottom: -7.46667vw;
		left: 2.4vw;
	}

	.menu__contents {
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.menu__contents .name {
		width: 100%;
		font-size: 4.8vw;
		display: flex;
		justify-content: center;
	}

	.menu__contents .set {
		margin-right: 0.5em;
		font-size: 4.26667vw;
	}

	.menu__contents .price {
		font-size: 4.26667vw;
	}

	.menu__contents .material__title {
		font-size: 4.26667vw;
	}

	.menu__contents .material__contents {
		font-size: 3.73333vw;
	}
}

/*
	novelty
------------------------------ */
.novelty {
	background: rgb(var(--wht));
	padding: 38px 46px;
	color: rgb(var(--blk));
	border: solid 1px rgb(var(--yel));
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.novelty__images {
	width: 48.51852%;
}

.novelty__contents {
	width: 45.43210%;
}

.novelty__contents--title {
	background: url(../img/titleBg04.svg) center no-repeat;
	background-size: auto 100%;
	margin-bottom: 1em;
	padding-top: 0.75em;
	height: 77px;
	color: rgb(var(--yel));
	font-family: var(--mincho);
	font-size: 28px;
	text-align: center;
}

.novelty__contents--details .text {
	font-size: 17px;
}

.novelty__contents--details .size {
	font-size: 15px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.novelty {
		padding: 5.33333vw 6.4vw;
		display: block;
	}

	.novelty__images,
	.novelty__contents {
		width: 100%;
	}

	.novelty__contents {
		margin-bottom: 1em;
	}

	.novelty__contents--title {
		background: url(../img/titleBg04_sp.svg) center no-repeat;
		background-size: auto 100%;
		padding-top: 1em;
		height: 16.8vw;
		font-size: 5.33333vw;
	}

	.novelty__contents--details .text {
		font-size: 4vw;
	}

	.novelty__contents--details .size {
		font-size: 3.46667vw;
	}
}