/* ---------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background: linear-gradient(180deg, #E8D4C6 0%, #FEF2DE 100%);
	width: 100%;
	height: 56.223vw;
	position: relative;
}

.header__title {
	width: 39.019vw;
	position: absolute;
	top: 1.171vw;
	left: 8.272vw;
}

.header__image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
}

.header__image.image01 {
	background-image: url(../img/header01.webp);
	width: 25.037vw;
	height: 15.813vw;
	bottom: 9.224vw;
	left: 8.272vw;
	z-index: 1;
}

.header__image.image02 {
	background-image: url(../img/header02.webp);
	width: 19.693vw;
	height: 12.445vw;
	bottom: 3.001vw;
	left: 26.354vw;
	z-index: 2;
}

.header__image.image03 {
	background-image: url(../img/header03.webp);
	width: 22.108vw;
	height: 13.982vw;
	top: 0.659vw;
	right: 8.053vw;
	z-index: 3;
}

.header__image.image04 {
	background-image: url(../img/header04.webp);
	width: 32.943vw;
	height: 20.864vw;
	top: 8.126vw;
	right: 16.179vw;
	z-index: 2;
}

.header__image.image05 {
	background-image: url(../img/header05.webp);
	width: 44.217vw;
	height: 28.697vw;
	right: 8.053vw;
	bottom: 1.098vw;
	z-index: 1;
}

@media screen and (max-width: 768px) {
	.header {
		height: 177.333vw;
	}

	.header__title {
		width: 89.333vw;
		top: 47.2vw;
		left: 5.333vw;
		z-index: 4;
	}

	.header__image.image01 {
		background-image: url(../img/header01_sp.webp);
		width: 60.8vw;
		height: 38.4vw;
		right: 1.333vw;
		bottom: 18.933vw;
		left: auto;
		z-index: 2;
	}

	.header__image.image02 {
		background-image: url(../img/header02_sp.webp);
		width: 41.333vw;
		height: 26.133vw;
		bottom: 2.133vw;
		left: 5.333vw;
		z-index: 3;
	}

	.header__image.image03 {
		display: none;
	}

	.header__image.image04 {
		background-image: url(../img/header04_sp.webp);
		width: 54.667vw;
		height: 34.667vw;
		top: auto;
		right: auto;
		bottom: 33.867vw;
		left: 0;
		z-index: 1;
	}

	.header__image.image05 {
		background-image: url(../img/header05_sp.webp);
		width: 80.533vw;
		height: 52.267vw;
		top: 1.6vw;
		right: auto;
		bottom: auto;
		left: 2.667vw;
		z-index: 1;
	}
}

/* ---------------------------------------------------
	gnav
---------------------------------------------------- */
.gnav {
	display: none;
}

@media screen and (max-width: 768px) {
	.gnav {
		background-color: rgba(219, 134, 124, 1);
		padding-top: 16vw;
		width: 100%;
		height: 100%;
		font-size: 5.333vw;
		text-align: center;
		overflow: auto;
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		z-index: 999;
		transform: translateX(100%);
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.gnav__list--item:not(:last-of-type) {
		margin-bottom: 0.75em;
	}

	.gnav__list--item a {
		color: rgb(var(--wht));
		text-decoration: none;
	}

	/* is-open */
	body.is-open {
		width: 100vw;
		height: 100vh;
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
	}

	.is-open .gnav {
		transform: translateX(0);
	}
}

/*
	toggle
------------------------------ */
.toggle {
	display: none;
}

@media screen and (max-width: 768px) {
	.toggle {
		background: rgba(var(--mob), 0.9);
		width: 18.667vw;
		height: 18.667vw;
		border-radius: 18.667vw;
		display: block;
		position: fixed;
		top: 3.2vw;
		right: 4vw;
		z-index: 1000;
	}

	.toggle__inner {
		width: 100%;
		height: 100%;
		position: relative;
		cursor: pointer;
	}

	.toggle__inner--item {
		background: rgb(var(--wht));
		width: 9.6vw;
		height: 0.533vw;
		display: block;
		position: absolute;
		left: 50%;
		transition: all 0.6s;
	}

	.toggle__inner--item:nth-child(1) {
		top: 6.4vw;
		transform: translateX(-50%);
	}

	.toggle__inner--item:nth-child(2) {
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.toggle__inner--item:nth-child(3) {
		bottom: 6.4vw;
		transform: translateX(-50%);
	}

	/* is-open */
	.is-open .toggle {
		background: rgba(var(--mob), 0);
	}

	.is-open .toggle__inner--item {
		background: rgb(var(--wht));
		transform-origin: 0 0;
	}

	.is-open .toggle__inner--item:nth-child(1) {
		top: 50%;
		transform: rotate(45deg) translate(-50%, -50%);
	}

	.is-open .toggle__inner--item:nth-child(2) {
		opacity: 0;
	}

	.is-open .toggle__inner--item:nth-child(3) {
		top: 50%;
		bottom: auto;
		transform: rotate(-45deg) translate(-50%, -50%);
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	background: linear-gradient(0deg, rgba(254, 242, 222, 1) 0%, rgba(232, 212, 198, 1) 100%);
	padding-top: min(6.4rem, 4.685vw);
}

@media screen and (max-width: 768px) {
	.main {
		padding-top: 18.4vw;
	}
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	background-image: url(../img/about-bg.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto min(5rem, 3.66vw);
	width: min(114rem, 83.455vw);
	height: min(47.4rem, 34.7vw);
	color: rgb(var(--wht));
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.about__content {
	line-height: 1.5;
	font-weight: 400;
}

.about__content--title {
	margin-bottom: min(2.8rem, 2.05vw);
	font-family: var(--mincho);
	font-size: min(3.5rem, 2.562vw);
}

.about__content--text {
	font-size: min(2.4rem, 1.757vw);
}

.about .obj01 {
	background-image: url(../img/about-obj01.webp);
	width: min(11.9rem, 8.712vw);
	height: min(10.2rem, 7.467vw);
	top: max(-1.2rem, -0.878vw);
	left: min(11.4rem, 8.346vw);
}

.about .obj02 {
	background-image: url(../img/about-obj02.webp);
	width: min(20rem, 14.641vw);
	height: min(9.4rem, 6.881vw);
	top: max(-1.2rem, -0.878vw);
	right: min(17.1rem, 12.518vw);
}

.about .obj03 {
	background-image: url(../img/about-obj03.webp);
	width: min(15.8rem, 11.567vw);
	height: min(13rem, 9.517vw);
	right: min(8.8rem, 6.442vw);
	bottom: max(-2rem, -1.464vw);
}

@media screen and (max-width: 768px) {
	.about {
		background-color: rgb(var(--cor));
		background-image: none;
		margin-bottom: 27.733vw;
		padding: 22.667vw 4vw;
		width: 100%;
		height: auto;
	}

	.about__content--title {
		margin-bottom: 7.467vw;
		font-size: 8vw;
	}

	.about__content--text {
		line-height: 1.8;
		font-size: 5.333vw;
		text-align: left;
	}

	.about .obj01 {
		width: 30.4vw;
		height: 26.667vw;
		top: -14.933vw;
		left: 4vw;
	}

	.about .obj02 {
		width: 54.4vw;
		height: 25.067vw;
		top: -8.8vw;
		right: 5.867vw;
	}

	.about .obj03 {
		width: 41.333vw;
		height: 34.667vw;
		right: 6.4vw;
		bottom: -18.4vw;
	}
}

/* ----------------------------------------------------
	message
---------------------------------------------------- */
.message {
	background-color: rgba(var(--wht), 0.5);
	margin: 0 auto;
	padding: min(4rem, 2.928vw) min(11rem, 8.053vw) min(8rem, 5.857vw);
	width: min(114rem, 83.455vw);
	border-radius: min(1.5rem, 1.098vw);
}

.message__title {
	margin-bottom: min(5.8rem, 4.246vw);
	color: rgb(var(--mob));
	font-family: var(--outfit);
	font-size: min(3.6rem, 2.635vw);
	font-weight: 400;
	text-align: center;
}

.message-image,
.message-section:not(:last-of-type) {
	margin-bottom: min(5.8rem, 4.246vw);
}

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

.message-image__item {
	position: relative;
}

.message-image__item.hakodate {
	width: min(50.4rem, 36.896vw);
}

.message-image__item.aomori {
	width: min(38.2rem, 27.965vw);
}

.message-image__item img {
	border-radius: min(1.5rem, 1.098vw);
}

.message-image__item figcaption {
	line-height: 1;
	color: rgb(var(--wht));
	font-size: min(1.2rem, 0.878vw);
	position: absolute;
	right: min(2.2rem, 1.611vw);
	bottom: min(1.5rem, 1.098vw);
}

.message-section {}

.message-section__title {
	margin-bottom: min(3.3rem, 2.416vw);
	color: rgb(var(--mob));
	font-size: min(2.3rem, 1.684vw);
	font-weight: 500;
	text-align: center;
}

.message-section-prince {
	background-image: url(../img/line-dots.svg);
	background-position: top left;
	background-repeat: repeat-x;
	background-size: auto 2px;
	margin-top: min(3.4rem, 2.489vw);
	padding-top: min(3.4rem, 2.489vw);
}

.message-block {
	display: grid;
	grid-template-columns: min(23.4rem, 17.13vw) auto;
}

.message-block:not(:last-of-type) {
	margin-bottom: min(5.8rem, 4.246vw);
}

.message-block .title,
.message-block .name,
.message-block .text {
	padding-left: min(5.4rem, 3.953vw);
	grid-column: 2/3;
}

.message-block .title {
	margin-bottom: min(1.8rem, 1.318vw);
	line-height: 1;
	color: rgb(var(--mob));
	font-size: min(2.3rem, 1.684vw);
	font-weight: 500;
}

.message-block .name {
	margin-bottom: min(1.4rem, 1.025vw);
	line-height: normal;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 400;
}

.message-block .name small {
	font-size: min(2rem, 1.464vw);
	display: block;
}

.message-block .text {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
}

.message-block .image {
	width: min(23.4rem, 17.13vw);
	grid-column: 1/2;
	grid-row: 1/4;
}

@media screen and (max-width: 768px) {
	.message {
		padding: 8.533vw 4.533vw;
		width: 92vw;
		border-radius: 4vw;
		transition: all 0.5s ease 0s;
	}

	.message.is-active {
		padding-bottom: 10.667vw;
	}

	.message__title {
		margin-bottom: 0;
		font-size: 9.6vw;
		transition: all 0.5s ease 0s;
	}

	.message.is-active .message__title {
		margin-bottom: 8.8vw;
	}

	.message__title--inner {
		padding-right: 6.4vw;
		position: relative;
		cursor: pointer;
	}

	.message__title--inner::after {
		background-color: rgb(var(--mob));
		width: 5.333vw;
		height: 4.267vw;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		transition: all 0.5s ease 0s;
		content: "";
	}

	.is-active .message__title--inner::after {
		transform: translateY(-50%) rotate(-90deg);
	}

	.message-image,
	.message-section:not(:last-of-type) {
		margin-bottom: 9.6vw;
	}

	.message-image {
		display: block;
	}

	.message-image__item:not(:last-of-type) {
		margin-bottom: 2.667vw;
	}

	.message-image__item.hakodate,
	.message-image__item.aomori {
		width: 100%;
	}

	.message-image__item img {
		border-radius: 4vw;
	}

	.message-image__item figcaption {
		font-size: 3.2vw;
		right: 5.867vw;
		bottom: 4vw;
	}

	.message-section__title {
		margin-bottom: 6.933vw;
		font-size: 5.333vw;
	}

	.message-section-prince {
		margin-top: 19.2vw;
		padding-top: 7.467vw;
	}

	.message-block {
		grid-template-columns: 38.4vw auto;
	}

	.message-block:not(:last-of-type) {
		margin-bottom: 8vw;
	}

	.message-block .title,
	.message-block .name,
	.message-block .text {
		padding-left: 0;
	}

	.message-block .title {
		margin-bottom: 6.4vw;
		font-size: 5.333vw;
		text-align: center;
		grid-column: 1/3;
		grid-row: 1/2;
	}

	.message-block .name {
		margin-bottom: 0;
		padding-left: 8vw;
		font-size: 5.333vw;
		grid-column: 2/3;
		grid-row: 2/3;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}

	.message-block .name small {
		font-size: 4.267vw;
		display: block;
	}

	.message-block .text {
		padding-top: 4vw;
		font-size: 4vw;
		grid-column: 1/3;
		grid-row: 3/4;
	}

	.message-block .image {
		width: 38.4vw;
		grid-column: 1/2;
		grid-row: 2/3;
	}
}

/* ----------------------------------------------------
	shop
---------------------------------------------------- */
/*
	shop-header
------------------------------ */
.shop-header {
	padding: min(5rem, 3.66vw) 0;
	position: relative;
}

.shop-header__content {
	margin: 0 auto;
	width: min(114rem, 83.455vw);
	position: relative;
}

.shop-header__content::before {
	background-image: url(../img/shop-bg.webp);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: auto 100%;
	width: min(62.9rem, 46.047vw);
	height: min(64.3rem, 47.072vw);
	position: absolute;
	top: 50%;
	right: max(-11.3rem, -8.272vw);
	transform: translateY(-50%);
	content: "";
}

.shop-header__detail {
	width: min(62.4rem, 45.681vw);
	position: relative;
}

.shop-header__detail::before {
	background-image: url(../img/shop-obj.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(19rem, 13.909vw);
	height: min(17.3rem, 12.665vw);
	position: absolute;
	top: max(-5.5rem, -4.026vw);
	right: 0;
	content: "";
}

.shop-header__detail--title {}

.shop-header__detail--title span {
	margin: min(1.1rem, 0.805vw) 0 min(1.8rem, 1.318vw);
	line-height: 1;
	color: rgb(var(--mob));
	font-size: min(2.4rem, 1.757vw);
	display: block;
}

.shop-header__detail--text {
	font-size: min(1.8rem, 1.318vw);
	font-weight: 400;
}

.shop-header__detail--text:not(:last-of-type) {
	background-image: url(../img/line-dots.svg);
	background-position: bottom left;
	background-repeat: repeat-x;
	background-size: auto 2px;
	margin-bottom: min(3rem, 2.196vw);
	padding-bottom: min(3rem, 2.196vw);
}

@media screen and (max-width: 768px) {
	.shop-header {
		padding: 67.2vw 0 13.333vw;
	}

	.shop-header__content {
		padding: 0 8.533vw;
		width: 100%;
	}

	.shop-header__content::before {
		background-image: url(../img/shop-bg_sp.webp);
		background-position: center left 4.8vw;
		width: 100%;
		height: 67.2vw;
		top: -67.2vw;
		right: auto;
		left: 0;
		transform: translateY(0);
	}

	.shop-header__detail {
		width: 100%;
	}

	.shop-header__detail::before {
		display: none;
	}

	.shop-header__detail--title {
		text-align: center;
	}

	.shop-header__detail--title span {
		margin: 3.2vw 0 4.8vw;
		font-size: 6.4vw;
	}

	.shop-header__detail--text {
		font-size: 4.8vw;
		text-align: center;
	}

	.shop-header__detail--text:not(:last-of-type) {
		margin-bottom: 8vw;
		padding-bottom: 8vw;
	}
}

/*
	icon
------------------------------ */
.icon {
	width: min(62.4rem, 45.681vw);
}

.icon__title {
	background-image: url(../img/line-arrow.svg);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	margin-bottom: min(1.4rem, 1.025vw);
	padding-bottom: min(4.3rem, 3.148vw);
	width: min(43.2rem, 31.625vw);
	line-height: 1.4;
	color: rgb(var(--mob));
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	text-align: center;
}

.icon__list {
	margin-bottom: min(3.4rem, 2.489vw);
	width: min(43.2rem, 31.625vw);
	display: flex;
	justify-content: center;
}

.icon__list--item {
	display: flex;
}

.icon__list--item:not(:last-of-type) {
	margin-right: min(3.8rem, 2.782vw);
}

.icon01,
.icon02,
.icon03,
.icon04 {
	width: min(3.4rem, 2.489vw);
	height: min(3.4rem, 2.489vw);
	color: rgb(var(--wht));
	font-size: min(2.4rem, 1.757vw);
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.icon01,
.icon03 {
	background-color: rgb(var(--grn));
}

.icon02,
.icon04 {
	background-color: #00A9B3;
}

.icon01,
.icon02 {
	width: min(7.5rem, 5.49vw);
}

.icon03 {
	margin-right: min(0.4rem, 0.293vw);
}

.icon-yel {
	background-color: rgb(var(--yel));
	width: min(11.7rem, 8.565vw);
	height: min(3.1rem, 2.269vw);
	color: rgb(var(--mob));
	font-family: var(--yusei);
	font-size: min(2rem, 1.464vw);
	border-radius: min(3.1rem, 2.269vw);
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.icon {
		width: 100%;
	}

	.icon__title {
		margin-bottom: 5.6vw;
		padding-bottom: 10.667vw;
		width: 100%;
		font-size: 5.333vw;
	}

	.icon__list {
		margin-bottom: 19.2vw;
		width: 100%;
		justify-content: space-around;
	}

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

	.icon01,
	.icon02,
	.icon03,
	.icon04 {
		width: 8vw;
		height: 8vw;
		font-size: 5.333vw;
	}

	.icon01,
	.icon02 {
		width: 20vw;
	}

	.icon03 {
		margin-right: 1.067vw;
	}

	.icon-yel {
		width: 31.2vw;
		height: 8.267vw;
		font-size: 5.333vw;
		border-radius: 8.267vw;
	}
}

/*
	icon__block
------------------------------ */
.icon__block {
	margin-bottom: min(1.6rem, 1.171vw);
	display: flex;
	align-items: center;
	position: relative;
}

.icon__block--title {
	margin-right: min(1rem, 0.732vw);
	width: min(7.9rem, 5.783vw);
}

.icon__block--content {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
}

.icon__block--content .note {
	font-size: min(1.2rem, 0.878vw);
	font-weight: 300;
	display: block;
}

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

	.icon__block--title {
		margin-right: 1.333vw;
		width: 16.267vw;
	}

	.icon__block--content {
		font-size: 3.733vw;
	}

	.icon__block--content .note {
		font-size: 3.2vw;
	}
}

/*
	shop-nav
------------------------------ */
.shop-nav {
	background-image: url(../img/shop-nav-bg.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: min(5.2rem, 3.807vw);
	height: 43.924vw;
	display: flex;
	justify-content: center;
	align-items: center;
}

.shop-nav__list {
	margin: 0 auto;
	color: rgb(var(--wht));
	width: min(104rem, 76.135vw);
	height: min(33.5rem, 24.524vw);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
}

.shop-nav__list--item {
	width: min(29.4rem, 21.523vw);
}

.shop-nav__list--item.eng {
	font-family: var(--outfit);
}

.shop-nav__list--item a {
	background-image: url(../img/arrow-link.svg);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: min(2.4rem, 1.757vw) auto;
	padding-bottom: min(2.2rem, 1.611vw);
	text-decoration: none;
	display: block;
}

.shop-nav--image {
	padding-bottom: min(1rem, 0.732vw);
	border-bottom: solid 1px rgb(var(--wht));
	display: flex;
	align-items: center;
}

.shop-nav--image img {
	width: min(8.4rem, 6.149vw);
}

.shop-nav--image figcaption {
	margin-left: min(1.5rem, 1.098vw);
	line-height: normal;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 600;
}

@media screen and (max-width: 768px) {
	.shop-nav {
		background-image: url(../img/shop-nav-bg_sp.svg);
		margin-bottom: 16vw;
		height: 279.733vw;
	}


	.shop-nav__list {
		width: 82.933vw;
		height: auto;
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}

	.shop-nav__list--item {
		width: 100%;
	}

	.shop-nav__list--item:not(:last-of-type) {
		margin-bottom: 10.667vw;
	}

	.shop-nav__list--item a {
		background-size: 6.4vw auto;
		padding-bottom: 5.867vw;
	}

	.shop-nav--image {
		padding-bottom: 2.933vw;
	}

	.shop-nav--image img {
		width: 22.4vw;
	}

	.shop-nav--image figcaption {
		margin-left: 2.933vw;
		font-size: 6.4vw;
	}
}

/*
	shop
------------------------------ */
.shop {
	background-color: #fff6ed;
	margin: 0 auto min(10.8rem, 7.906vw);
	padding: min(7rem, 5.124vw) min(11rem, 8.053vw);
	width: min(114rem, 83.455vw);
	border-radius: min(1.5rem, 1.098vw);
}

.shop__title {
	margin-bottom: 1em;
	color: rgb(var(--mob));
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
	text-align: center;
}

.shop__title.eng {
	font-family: var(--outfit);
}

.shop__title .place {
	margin-top: 1em;
	font-family: var(--gothic);
	font-size: 0.5em;
	display: block;
}

.shop__lead {
	margin-bottom: 2em;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 400;
	text-align: center;
}

.shop__image {
	margin-bottom: min(2.7rem, 1.977vw);
}

.shop__image img {
	border-radius: min(1.5rem, 1.098vw);
}

.shop .link-button {
	margin: min(5.5rem, 4.026vw) auto 0;
	width: min(52.2rem, 38.214vw);
}

@media screen and (max-width: 768px) {
	.shop {
		margin-bottom: 22.667vw;
		padding: 8.8vw 4.267vw;
		width: 92vw;
		border-radius: 4vw;
	}

	.shop__title {
		line-height: normal;
		font-size: 8.533vw;
	}

	.shop__lead {
		font-size: 4.267vw;
		text-align: left;
	}

	.shop__image {
		margin-bottom: 4.8vw;
	}

	.shop__image img {
		border-radius: 4vw;
	}

	.shop .link-button {
		margin-top: 12vw;
		width: 100%;
	}
}

/*
	shop__menu
------------------------------ */
.shop__menu {
	background-image: url(../img/line-dots.svg);
	background-position: bottom left;
	background-repeat: repeat-x;
	background-size: auto 2px;
	padding-bottom: min(3rem, 2.196vw);
	position: relative;
}

.shop__menu--title {
	margin-bottom: min(1.5rem, 1.098vw);
	line-height: 1;
	color: rgb(var(--mob));
	font-family: var(--outfit);
	font-size: min(2.4rem, 1.757vw);
	font-weight: 400;
	position: relative;
}

.shop__menu--title-inner {
	background-color: #fff6ed;
	padding-right: 0.25em;
	position: relative;
	z-index: 2;
}

.shop__menu--title::before {
	background-image: url(../img/line-dots.svg);
	background-position: center;
	background-repeat: repeat-x;
	background-size: auto 2px;
	width: 100%;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%);
	content: "";
}

.shop__menu--title span {}

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

@media screen and (max-width: 768px) {
	.shop__menu {
		background: none;
		/* padding-bottom: 8vw; */
		padding-bottom: 0;
	}

	.shop__menu--title {
		margin-bottom: 4vw;
		font-size: 6.4vw;
	}

	.is-active .shop__menu--title-inner::after {
		transform: translateY(-50%) rotate(-90deg);
	}

	.shop__menu .wrap {
		max-height: 40vw;
		display: block;
		overflow: hidden;
		position: relative;
		transition: max-height 0.3s ease;
	}

	.js-accordion-section-smart {
		position: relative;
	}

	.accordion-toggle-btn {
		background: rgba(var(--mob), 0.9);
		width: 100%;
		height: 14.4vw;
		color: rgb(var(--wht));
		font-size: 4vw;
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 5;
		cursor: pointer;
	}

	.is-active-accordion .accordion-toggle-btn {
		background: rgba(var(--mob), 0);
		background-image: url(../img/line-dots.svg);
		background-position: center top;
		background-repeat: repeat-x;
		background-size: auto 2px;
		margin-top: 2em;
		color: rgb(var(--mob));
		position: relative;
		bottom: auto;
		left: auto;
	}

	.accordion-toggle-btn span {
		display: inline-block;
		position: relative;
	}

	.accordion-toggle-btn span::after {
		width: 2.4vw;
		height: 2.4vw;
		border-top: solid 1px rgb(var(--wht));
		border-right: solid 1px rgb(var(--wht));
		position: absolute;
		top: 1.6vw;
		right: -6.4vw;
		transform: rotate(135deg);
		transition: all 0.5s ease 0s;
		content: "";
	}

	.is-active-accordion .accordion-toggle-btn span::after {
		border-color: rgb(var(--mob));
		top: 3.2vw;
		transform: rotate(-45deg);
	}

	.js-accordion-section-smart:not(.is-active-accordion) .wrap::after {
		display: block;
	}
}

/*
	shop__content
------------------------------ */
.shop__content {}

.shop__content:not(:last-of-type) {
	margin-bottom: 1.25em;
}

.shop__content--title {
	margin-bottom: 0.5em;
}

.shop__content--text .text {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
}

.shop__content--text .menu-detail__title {
	color: rgb(var(--mob));
	font-family: var(--yusei);
	font-size: min(2rem, 1.464vw);
}

.shop__content--text .menu__detail--list {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
}

.shop__content--text .menu__detail--list:not(:last-of-type) {
	margin-bottom: min(2.5rem, 1.83vw);
}

.shop__content--text .menu__detail--list {
	/* background-color: red; */
}

.shop__content--text .menu__detail--list li {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.shop__content--text .menu__detail--list li:not(:last-of-type) {
	margin-bottom: 1em;
}

.shop__content--text .menu__detail--list li::before {
	width: 1em;
	color: rgb(var(--mob));
	content: "◆";
}

.shop__content--text .menu__detail--list .inner.line {
	/* background-color: aqua; */
	width: calc(100% - 1em);
	position: relative;
}

.shop__content--text .menu__detail--list .inner.line:not(:first-of-type) {
	padding-left: 1em;
	width: 100%;
}

.shop__content--text .menu__detail--list .inner.line::before {
	background-image: url(../img/dots-blk.webp);
	background-position: center;
	background-repeat: repeat-x;
	background-size: auto 100%;
	width: calc(100% - 1em);
	height: 1px;
	position: absolute;
	top: 50%;
	left: 1em;
	transform: translateY(-50%);
	z-index: 1;
	content: "";
}

.shop__content--text .menu__detail--list .with-icon,
.shop__content--text .menu__detail--list .date,
.shop__content--text .menu__detail--list .price {
	position: relative;
	z-index: 2;
}

.shop__content--text .menu__detail--list .with-icon {
	background-color: #fff6ed;
	padding-right: 0.5em;
	display: inline-flex;
	align-items: center;
}

.shop__content--text .menu__detail--list .with-icon.no-flex {
	display: inline-block;
}

.shop__content--text .menu__detail--list .date {
	display: block;
}

.shop__content--text .menu__detail--list .price {
	background-color: #fff6ed;
	padding-left: 0.5em;
	float: right;
}

.shop__content--text .menu__detail--list .bottom.inner::before {
	top: auto;
	/* bottom: 0.75em; */
	bottom: 1em;
	transform: translateY(0);
}

.shop__content--text .menu__detail--list .price.bottom {
	/* background-color: green; */
	padding-top: 1.75em;
}

.shop__content--text .menu__detail--list .price.center {
	/* background-color: green; */
	padding-top: 0.75em;
}

.shop__content--text .icon01,
.shop__content--text .icon02,
.shop__content--text .icon03,
.shop__content--text .icon04 {
	margin-left: 2px;
	height: min(1.8rem, 1.318vw);
	font-size: min(1.4rem, 1.025vw);
}

.shop__content--text .icon01,
.shop__content--text .icon02 {
	width: min(4rem, 2.928vw);
}

.shop__content--text .icon03,
.shop__content--text .icon04 {
	width: min(1.8rem, 1.318vw);
}

.shop__content--text .icon03 {
	margin-right: 0;
}

.shop__content--text .icon01::after {
	content: "青森";
}

.shop__content--text .icon02::after {
	content: "函館";
}

.shop__content--text .icon03::after {
	content: "青";
}

.shop__content--text .icon04::after {
	content: "函";
}

@media screen and (max-width: 768px) {
	.shop__content:not(:last-of-type) {
		margin-bottom: 2em;
	}

	.shop__content--text .text {
		font-size: 3.733vw;
		letter-spacing: -0.005em;
	}

	.shop__content--text .menu-detail__title {
		font-size: 5.333vw;
	}

	.shop__content--text .menu__detail--list {
		font-size: 3.733vw;
	}

	.shop__content--text .menu__detail--list .with-icon {
		display: inline-block;
	}

	.shop__content--text .icon01,
	.shop__content--text .icon02,
	.shop__content--text .icon03,
	.shop__content--text .icon04 {
		height: 4.8vw;
		font-size: 3.2vw;
	}

	.shop__content--text .icon01,
	.shop__content--text .icon02 {
		width: 10.667vw;
	}

	.shop__content--text .icon03,
	.shop__content--text .icon04 {
		width: 4.8vw;
	}

	.shop__content--text .menu__detail--list .sp-bottom.inner::before {
		top: auto;
		bottom: 1em;
		transform: translateY(0);
	}

	.shop__content--text .menu__detail--list .price.sp-bottom {
		padding-top: 1.75em;
	}

	.shop__content--text .menu__detail--list .price.bottom.row3,
	.shop__content--text .menu__detail--list .price.sp-bottom.row3 {
		padding-top: 3.5em;
	}
}

/* flex */
.shop__content.flex {
	display: flex;
}

.flex .shop__content--title {
	margin-right: min(4rem, 2.928vw);
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.shop__content.flex {
		display: block;
	}

	.flex .shop__content--title {
		margin-right: 0;
		margin-bottom: 1em;
	}
}

/*
	shop01
------------------------------ */
.shop01 .icon__block+.note {
	margin-bottom: min(3rem, 2.196vw);
}

.shop01 .shop__menu::before {
	background-image: url(../img/obj01.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(15.6rem, 11.42vw);
	height: min(13.5rem, 9.883vw);
	position: absolute;
	top: min(19rem, 13.909vw);
	right: 0;
	content: "";
}

.shop01 .shop__menu--title {
	width: min(74.3rem, 54.392vw);
}

.shop01 .shop__content.local {
	width: min(35rem, 25.622vw);
}

.shop01 .shop__content.arrange {
	width: min(53rem, 38.799vw);
}

.shop01 .shop__content--text .menu__detail--list li:not(:last-of-type) {
	margin-bottom: 0;
}

.shop01 .apple {
	margin-top: min(6rem, 4.392vw);
	display: flex;
	align-items: center;
}

.shop01 .apple__image {
	margin-right: min(3rem, 2.196vw);
	width: min(44.5rem, 32.577vw);
	position: relative;
}

.shop01 .apple__image img {
	border-radius: min(1.5rem, 1.098vw);
}

.shop01 .apple__image figcaption {
	color: rgb(var(--wht));
	font-size: min(1.2rem, 0.878vw);
	position: absolute;
	right: min(1.5rem, 1.098vw);
	bottom: min(1rem, 0.732vw);
}

.shop01 .apple__text {
	color: rgb(var(--mob));
	font-size: min(2rem, 1.464vw);
}

@media screen and (max-width: 768px) {
	.shop01 .icon__block+.note {
		margin-bottom: 8vw;
	}

	.shop01 .shop__menu::before {
		display: none;
	}

	.shop01 .shop__menu--title,
	.shop01 .shop__content.local,
	.shop01 .shop__content.arrange {
		width: 100%;
	}

	.shop01 .shop__content--text .menu__detail--list li:not(:last-of-type) {
		margin-bottom: 0;
	}

	.shop01 .apple {
		margin-top: 16vw;
		display: block;
	}

	.shop01 .apple__image {
		margin-right: 0;
		margin-bottom: 1em;
		width: 100%;
	}

	.shop01 .apple__image img {
		border-radius: 4vw;
	}

	.shop01 .apple__image figcaption {
		font-size: 3.2vw;
		right: 4vw;
		bottom: 2.667vw;
	}

	.shop01 .apple__text {
		font-size: 4.267vw;
	}
}

/*
	shop02
------------------------------ */
.shop02 .wrap {
	flex-direction: column;
}

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

.shop02__wrap--item .shop__image {
	margin-bottom: 0;
}

.shop02__wrap--item .shop__menu {
	padding-bottom: 0;
}

/* type01 */
.shop02__wrap--item.type01 {
	margin-bottom: min(3rem, 2.196vw);
	flex-direction: row-reverse;
}

.shop02__wrap--item.type01 .shop__image {
	width: min(50rem, 36.603vw);
}

.shop02__wrap--item.type01 .shop__menu {
	width: calc(100% - min(50rem, 36.603vw) - min(2.5rem, 1.83vw));
}

/* type02 */
.shop02__wrap--item.type02 {}

.shop02__wrap--item.type02 .shop__image {
	width: min(34rem, 24.89vw);
}

.shop02__wrap--item.type02 .icon__block::before {
	background-image: url(../img/obj02.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(14.4rem, 10.542vw);
	height: min(10.4rem, 7.613vw);
	position: absolute;
	top: max(-1.4rem, -1.025vw);
	right: 0;
	content: "";
}

.shop02__wrap--item.type02 .shop__menu {
	width: calc(100% - min(34rem, 24.89vw) - min(2.5rem, 1.83vw));
}

.shop02__wrap--item.type02 .shop__image figcaption .name {
	margin: min(0.5rem, 0.366vw) 0;
	color: rgb(var(--mob));
	font-size: min(1.6rem, 1.171vw);
	font-weight: 600;
}

.shop02__wrap--item.type02 .shop__image figcaption .text {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
}

/* type03 */
.shop02__wrap--item.type03 {
	background-color: rgb(var(--mob));
	margin-top: min(5rem, 3.66vw);
	padding: min(1.6rem, 1.171vw) min(2rem, 1.464vw);
	color: rgb(var(--wht));
	border-radius: min(1.2rem, 0.878vw);
}

.shop02__wrap--item.type03 .shop__image {
	width: min(40.2rem, 29.429vw);
}

.shop02__wrap--item.type03 .shop__menu {
	width: min(46rem, 33.675vw);
}

.shop02__wrap--item.type03 .shop__content--title {
	font-family: var(--yusei);
	font-size: min(2rem, 1.464vw);
}

.shop02__wrap--item.type03 .shop__content--date {
	margin-bottom: 0.5em;
	padding: 0 0.5em;
	height: min(2.5rem, 1.83vw);
	font-size: min(1.5rem, 1.098vw);
	border: solid 1px rgb(var(--wht));
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.shop02__wrap--item.type03 .menu__detail--list li::before {
	color: #DB867C;
}

.shop02__wrap--item.type03 .shop__content--text .menu__detail--list .inner.line::before {
	background-image: url(../img/dots-wht.webp);
}

.shop02__wrap--item.type03 .menu__detail--list .with-icon,
.shop02__wrap--item.type03 .menu__detail--list .price {
	background-color: rgb(var(--mob));
}

@media screen and (max-width: 768px) {
	.shop02__wrap--item .icon__block {
		text-align: center;
		display: block;
	}

	.shop02__wrap--item .icon__block--title {
		margin: 0 auto 1em;
	}

	.shop02__wrap--item .shop__image {
		margin-bottom: 2em;
	}

	.shop02__wrap--item .shop__menu {
		padding-bottom: 0;
	}

	/* type01 */
	.shop02__wrap--item .shop__menu {
		margin-bottom: 5.333vw;
		padding-bottom: 5.333vw;
	}

	.shop02__wrap--item.type01 {
		flex-direction: column-reverse;
	}

	.shop02__wrap--item.type01 .shop__image,
	.shop02__wrap--item.type01 .shop__menu {
		width: 100%;
	}

	/* type02 */
	.shop02__wrap--item.type02 {
		flex-direction: column;
	}

	.shop02__wrap--item.type02 .shop__image {
		width: 100%;
		text-align: center;
	}

	.shop02__wrap--item.type02 .shop__image img {
		margin: 0 auto;
		width: 70%;
	}

	.shop02__wrap--item.type02 .shop__image figcaption {
		text-align: left;
	}

	.shop02__wrap--item.type02 .icon__block::before {
		display: none;
	}

	.shop02__wrap--item.type02 .shop__menu {
		width: 100%;
	}

	.shop02__wrap--item.type02 .shop__image figcaption .name {
		margin-top: 1em;
		font-size: 4.267vw;
	}

	.shop02__wrap--item.type02 .shop__image figcaption .text {
		font-size: 3.733vw;
	}

	/* type03 */
	.shop02__wrap--item.type03 {
		margin-top: 13.333vw;
		padding: 4vw;
		border-radius: 3.2vw;
		flex-direction: column-reverse;
	}

	.shop02__wrap--item.type03 .shop__image,
	.shop02__wrap--item.type03 .shop__menu {
		width: 100%;
	}

	.shop02__wrap--item.type03 .shop__image {
		margin-bottom: 1em;
	}

	.shop02__wrap--item.type03 .shop__content--title {
		font-size: 5.333vw;
	}

	.shop02__wrap--item.type03 .shop__content--date {
		height: 6.4vw;
		font-size: 4vw;
	}

	.shop02__wrap--item.type03 .shop__content--text .menu__detail--list .inner.line::before {
		display: none;
	}

	.shop02__wrap--item.type03 .price.bottom {
		padding: 0;
		width: 100%;
		position: relative;
		left: -1em;
	}
}

/*
	shop03
------------------------------ */
.shop03 .shop__content.local {
	width: min(40rem, 29.283vw);
}

.shop03 .shop__content.arrange {
	width: min(45rem, 32.943vw);
}

.shop03 .shop__menu::before {
	background-image: url(../img/obj04.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(10.5rem, 7.687vw);
	height: min(11.8rem, 8.638vw);
	position: absolute;
	right: 0;
	bottom: max(-8rem, -5.857vw);
	content: "";
}

.shop03 .shop__content--text .text {
	margin-top: 0.5em;
}

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

	.shop03 .shop__content.local,
	.shop03 .shop__content.arrange {
		width: 100%;
	}

	.shop03 .shop__menu::before {
		display: none;
	}
}

/*
	shop04
------------------------------ */
.shop04 .shop__menu::before {
	background-image: url(../img/obj02.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(14.4rem, 10.542vw);
	height: min(10.4rem, 7.613vw);
	position: absolute;
	right: 0;
	bottom: min(2rem, 1.464vw);
	content: "";
}

.shop04 .shop__content--text {
	width: min(73rem, 53.441vw);
}

.shop04 .shop__content--text .text {
	margin-top: 0.5em;
}

@media screen and (max-width: 768px) {
	.shop04 .shop__menu::before {
		display: none;
	}

	.shop04 .shop__content--text {
		width: 100%;
	}
}

/*
	shop05
------------------------------ */
.shop05 .shop__menu::before {
	background-image: url(../img/obj02.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(14.4rem, 10.542vw);
	height: min(10.4rem, 7.613vw);
	position: absolute;
	right: 0;
	bottom: min(6rem, 4.392vw);
	content: "";
}

.shop05 .shop__content--text {
	width: min(59rem, 43.192vw);
}

@media screen and (max-width: 768px) {
	.shop05 .shop__menu::before {
		display: none;
	}

	.shop05 .shop__content--text {
		width: 100%;
	}
}

/*
	shop06
------------------------------ */
.shop06 .shop__menu::before {
	background-image: url(../img/obj03.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(9.2rem, 6.735vw);
	height: min(12.6rem, 9.224vw);
	position: absolute;
	right: 0;
	bottom: min(1rem, 0.732vw);
	content: "";
}

.shop06 .shop__content--text {
	width: min(57rem, 41.728vw);
}

@media screen and (max-width: 768px) {
	.shop06 .shop__menu {
		background-image: url(../img/line-dots.svg);
		background-position: center bottom;
		background-repeat: repeat-x;
		background-size: auto 2px;
		padding-bottom: 8vw;
	}

	.shop06 .shop__menu::before {
		display: none;
	}

	.shop06 .shop__content--text {
		width: 100%;
	}
}

/* ----------------------------------------------------
	menu
---------------------------------------------------- */
.menu {
	background-color: #4478bd;
	position: relative;
	z-index: 2;
}

.menu__content {
	position: relative;
	z-index: 1;
}

.menu__content::before,
.menu__content::after {
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 4.026vw;
	position: absolute;
	left: 0;
	z-index: 3;
	content: "";
}

.menu__content--inner {
	margin: 0 auto;
	width: min(114rem, 83.455vw);
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.menu__title {
	margin-bottom: min(4.3rem, 3.148vw);
	width: 100%;
	color: rgb(var(--wht));
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
	text-align: center;
}

.menu__detail {
	width: min(114rem, 83.455vw);
	display: flex;
	justify-content: space-between;
}

.menu__detail--image {
	width: min(55.5rem, 40.63vw);
}

.menu__detail--image img {
	border-radius: min(1.5rem, 1.098vw);
}

.menu__detail--text {
	width: min(52.2rem, 38.214vw);
}

.menu__detail--text .text {
	line-height: 1.6;
	color: rgb(var(--wht));
	font-size: min(1.8rem, 1.318vw);
	font-weight: 400;
}

.menu__detail--text .link-button {
	margin-top: min(5rem, 3.66vw);
}

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

	.menu__content::before,
	.menu__content::after {
		background-repeat: no-repeat;
		background-size: 100% auto;
		width: 100%;
		height: 14.667vw;
		position: absolute;
		left: 0;
		z-index: 2;
		content: "";
	}

	.menu__content--inner {
		width: 100%;
		position: relative;
		z-index: 2;
	}

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

	.menu__detail {
		padding: 0 8.533vw;
		width: 100%;
		display: block;
	}

	.menu__detail--image {
		margin-bottom: 8vw;
		width: 100%;
	}

	.menu__detail--image img {
		border-radius: 4vw;
	}

	.menu__detail--text {
		width: 100%;
	}

	.menu__detail--text .text {
		font-size: 4.8vw;
	}

	.menu__detail--text .link-button {
		margin-top: 8vw;
	}
}

/*
	development
------------------------------ */
.development {
	background-color: #009ea4;
	padding-bottom: 4.026vw;
}

.development::before {
	background-image: url(../img/menu-bg01.webp);
	background-position: center top;
	top: -4.026vw;
}

.development::after {
	background-image: url(../img/menu-bg02.webp);
	background-position: center bottom;
	bottom: -4.026vw;
}

@media screen and (max-width: 768px) {
	.development {
		padding-bottom: 14.667vw;
		padding: 8vw 0;
	}

	.development::before {
		background-image: url(../img/menu-bg01_sp.webp);
		top: -14.667vw;
	}

	.development::after {
		background-image: url(../img/menu-bg02_sp.webp);
		bottom: -14.667vw;
	}
}

/*
	event
------------------------------ */
.event {
	padding: 8.053vw 0 4.026vw;
}

.event::before {
	display: none;
}

.event::after {
	background-image: url(../img/event-bg01.webp);
	background-position: center bottom;
	bottom: -4.026vw;
}

.event .menu__detail {
	flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
	.event {
		padding: 29.333vw 0 8vw;
	}

	.event::after {
		background-image: url(../img/event-bg01_sp.webp);
		background-position: center bottom;
		bottom: -14.667vw;
	}
}

/* ----------------------------------------------------
	plan
---------------------------------------------------- */
.plan {
	background-image: url(../img/plan-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: -3.294vw;
	padding: 13.47vw 0 min(10.4rem, 7.613vw);
	position: relative;
	top: -3.294vw;
	z-index: 1;
}

.plan__title {
	margin-bottom: 1em;
	color: rgb(var(--lbl));
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
	text-align: center;
}

.plan__list {
	margin: 0 auto;
	width: min(95.6rem, 69.985vw);
}

.plan__list--item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.plan__list--item:not(:last-of-type) {
	margin-bottom: min(7.8rem, 5.71vw);
}

.plan__image {
	width: min(48.3rem, 35.359vw);
}

.plan__image img {
	border-radius: min(9rem, 6.589vw);
}

.plan__content {
	width: min(45rem, 32.943vw);
}

.plan__content--title {
	margin-bottom: 1em;
	line-height: 1.25;
	color: rgb(var(--lbl));
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
}

.plan__content--text .text {
	margin-bottom: 2em;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
}

@media screen and (max-width: 768px) {
	.plan {
		background-image: url(../img/plan-bg_sp.webp);
		margin-bottom: -13.867vw;
		/* padding: 25.067vw 0 17.6vw; */
		padding: 50.133vw 0 17.6vw;
		top: -13.867vw;
	}

	.plan__title {
		font-size: 8.533vw;
	}

	.plan__list {
		padding: 0 8.533vw;
		width: 100%;
	}

	.plan__list--item {
		display: block;
	}

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

	.plan__image {
		margin-bottom: 4.8vw;
		width: 100%;
	}

	.plan__image img {
		border-radius: 16vw;
	}

	.plan__content {
		width: 100%;
	}

	.plan__content--title {
		font-size: 6.4vw;
		text-align: center;
	}

	.plan__content--text .text {
		margin-bottom: 1.5em;
		font-size: 4.267vw;
	}
}

/* ----------------------------------------------------
	xxx
---------------------------------------------------- */
.xxx {}

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

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background: linear-gradient(0deg, rgba(220, 249, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
	padding-bottom: min(5rem, 3.66vw);
}

.footer__note {
	margin: 0 auto min(6rem, 4.392vw);
	width: min(99rem, 72.474vw);
}

@media screen and (max-width: 768px) {
	.footer {
		padding-bottom: 8.8vw;
	}

	.footer__note {
		margin-bottom: 13.333vw;
		padding: 0 8.533vw;
		width: 100%;
	}
}

/* 
	fun
------------------------------ */
.fun {
	padding: min(10rem, 7.321vw) 0;
	text-align: center;
}

.fun__header {
	margin: 0 auto min(6rem, 4.392vw);
	width: min(49.8rem, 36.457vw);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	position: relative;
}

.fun__header::before {
	background-image: url(../img/logo-fun.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(17.4rem, 12.738vw);
	height: min(18.4rem, 13.47vw);
	position: absolute;
	top: 50%;
	left: max(-22.5rem, -16.471vw);
	transform: translateY(-50%);
	content: "";
}

.fun__header--title {
	margin: 0 auto min(4.8rem, 3.514vw);
}

.fun__header--lead {
	line-height: 1.25;
	color: rgb(var(--aqa));
	font-size: min(3.6rem, 2.635vw);
	font-weight: 600;
	text-align: left;
}

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

.fun .link-button {
	margin: min(5rem, 3.66vw) auto 0;
	width: min(52.2rem, 38.214vw);
}

@media screen and (max-width: 768px) {
	.fun {
		padding: 57.867vw 8.533vw 16vw;
	}

	.fun__header {
		margin-bottom: 6.133vw;
		width: 100%;
		display: block;
	}

	.fun__header::before {
		width: 34.667vw;
		height: 36.267vw;
		position: absolute;
		top: -48vw;
		left: 50%;
		transform: translate(-50%, 0);
	}

	.fun__header--title {
		margin-bottom: 12vw;
	}

	.fun__header--lead {
		line-height: 1.25;
		font-size: 6.4vw;
		text-align: center;
		letter-spacing: -0.005em;
	}

	.fun__text {
		font-size: 4vw;
	}

	.fun .link-button {
		margin-top: 10.133vw;
		width: 100%;
		height: 20vw;
		border-radius: 20vw;
	}
}

/* 
	inquiry
------------------------------ */
.inquiry {
	text-align: center;
}

.inquiry__title {
	background-color: rgb(var(--blu));
	height: min(5rem, 3.66vw);
	color: rgb(var(--wht));
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
}

.inquiry__tel {
	margin: 0 auto min(4.5rem, 3.294vw);
	padding: min(4.5rem, 3.294vw) 0;
	width: min(114rem, 83.455vw);
	line-height: 1.5;
	font-family: var(--outfit);
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	border-bottom: solid 1px rgb(var(--blk));
}

.inquiry__tel--time {
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	display: block;
}

@media screen and (max-width: 768px) {
	.inquiry__title {
		height: 11.2vw;
		font-size: 4.8vw;
	}

	.inquiry__tel {
		margin-bottom: 6.4vw;
		padding: 6.4vw 0;
		width: calc(100% - 8.533vw * 2);
		font-size: 8.533vw;
	}

	.inquiry__tel--time {
		font-size: 3.733vw;
	}
}

/* 
	hotel
------------------------------ */
.hotel {
	margin-bottom: min(3rem, 2.196vw);
	text-align: center;
}

.hotel__name {
	margin-bottom: min(0.6rem, 0.439vw);
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
}

.hotel__address {
	margin-bottom: min(3.4rem, 2.489vw);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
}

.hotel__sns {
	margin-bottom: min(4.4rem, 3.221vw);
	display: flex;
	justify-content: center;
}

.hotel__sns--item {
	margin: 0 min(1.4rem, 1.025vw);
	width: min(4rem, 2.928vw);
}

.hotel__map iframe {
	width: 100%;
	/* height: min(36.3rem, 26.574vw); */
	height: 26.574vw;
}

@media screen and (max-width: 768px) {
	.hotel {
		margin-bottom: 10.133vw;
		padding: 0 8.533vw;
	}

	.hotel__name {
		margin-bottom: 1.6vw;
		font-size: 7.467vw;
	}

	.hotel__address {
		margin-bottom: 9.867vw;
		font-size: 4.267vw;
	}

	.hotel__sns {
		margin-bottom: 9.867vw;
		justify-content: space-between;
	}

	.hotel__sns--item {
		margin: 0;
		width: 10.667vw;
	}

	.hotel__map iframe {
		height: 48vw;
	}
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	margin-bottom: min(2rem, 1.464vw);
	line-height: 1;
	font-size: min(1.7rem, 1.245vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer .hotel-nav::before,
.footer .hotel-nav__item::after {
	content: "|";
}

.footer .hotel-nav__item a {
	padding: 0 1em;
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.footer .hotel-nav {
		padding: 6.4vw 0;
		font-size: 4.267vw;
		flex-direction: column;
	}

	.footer .hotel-nav::before {
		content: "";
	}

	.footer .hotel-nav__item:not(:last-of-type) {
		margin-bottom: 1em;
	}

	.footer .hotel-nav__item::before,
	.footer .hotel-nav__item::after {
		content: "|";
	}

}

/* 
	copy
------------------------------ */
.footer .copy {
	font-size: min(1.1rem, 0.805vw);
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer .copy {
		font-size: 2.933vw;
	}
}