@charset "UTF-8";

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.mainNav {
	border-bottom: solid 1px rgb(var(--blk));
}

.mainNav__list {
	display: flex;
	justify-content: center;
}

.mainNav__list--item {
	background: rgb(var(--wht));
	margin: 0 30px;
	width: 420px;
	height: 135px;
	border: solid 1px rgb(var(--blk));
	border-bottom: none;
	border-radius: 10px 10px 0 0;
	display: flex;
	justify-content: center;
}

.mainNav__list--link {
	width: 100%;
	height: calc(100% + 1px);
	line-height: 1.5;
	color: rgb(var(--blk));
	font-size: 26px;
	text-decoration: none;
	letter-spacing: -0.005em;
	border: solid 4px rgb(var(--wht));
	border-radius: 12px 12px 0 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}

.mainNav__list--link::before,
.mainNav__list--link::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.5s ease 0s;
	content: "";
}

.mainNav__list--link::before {
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

.mainNav__list--link::after {
	border-radius: 8px 8px 0 0;
	z-index: -1;
}

.mainNav__list--link .set {
	font-size: 20px;
}

/* 品川 */
.navShinagawa .mainNav__list--link::before {
	background-image: url(../img/navShinagawa_wht.svg);
	background-size: 92% auto;
}

.navShinagawa .mainNav__list--link:hover::before {
	background-image: url(../img/navShinagawa.svg);
	background-size: 92% auto;
}

.navShinagawa .mainNav__list--link::after {
	opacity: 0;
}

.navShinagawa .mainNav__list--link:hover::after {
	background: rgb(255, 233, 240);
	background: linear-gradient(90deg, rgba(255, 233, 240, 1) 0%, rgba(250, 241, 220, 1) 100%);
	opacity: 1;
}

/* 新横浜 */
.navShinyokohama .mainNav__list--link::before {
	background-image: url(../img/navShinyokohama.svg);
	background-size: 92% auto;
}

.navShinyokohama .mainNav__list--link::after {
	background: rgb(255, 235, 224);
	background: linear-gradient(90deg, rgba(255, 235, 224, 1) 25%, rgba(225, 243, 255, 1) 100%);
}

@media screen and (max-width: 1000px) {
	.mainNav__list--item {
		margin: 0 3vw;
		width: 42vw;
		height: 13.5vw;
	}

	.mainNav__list--link {
		font-size: 2.6vw;
	}

	.mainNav__list--link .set {
		font-size: 2vw;
	}
}

@media screen and (max-width: 768px) {
	.mainNav {
		padding: 0 6.4vw;
		border-bottom: none;
		position: relative;
	}

	.mainNav::before,
	.mainNav::after {
		width: 6.4vw;
		height: 1px;
		border-bottom: solid 1px rgb(var(--blk));
		position: absolute;
		bottom: 0;
		content: "";
	}

	.mainNav::before {
		left: 0;
	}

	.mainNav::after {
		right: 0;
	}

	.mainNav__list {
		border: none;
		display: block;
	}

	.mainNav__list--item {
		margin: 0;
		width: 100%;
		height: 17.6vw;
	}

	.mainNav__list--item:not(:last-of-type) {
		margin-bottom: 4px;
	}

	.mainNav__list--item a:last-of-type {
		bottom: -1px;
	}

	.mainNav__list--link {
		font-size: 4.8vw;
		border-bottom: none;
	}

	.mainNav__list--link .set {
		font-size: 4vw;
	}

	.navShinagawa .mainNav__list--link::before,
	.navShinagawa .mainNav__list--link:hover::before,
	.navShinyokohama .mainNav__list--link::before,
	.navShinyokohama .mainNav__list--link:hover::before {
		background-size: 88% auto;
	}
}

/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead {
	padding: 108px 50px;
	font-weight: 600;
	text-align: center;
}

.lead__title {
	margin-bottom: 48px;
	font-size: 38px;
}

.lead__title span {
	padding: 0;
	line-height: 1.5;
}

.lead__title .block1 {
	padding: 0px 0.25em;
	background: rgb(251, 231, 166);
	background: linear-gradient(90deg, rgba(251, 231, 166, 1) 0%, rgba(244, 222, 201, 1) 81%);
}

.lead__title .block2 {
	background: rgb(252, 237, 186);
	background: linear-gradient(90deg, rgba(252, 237, 186, 1) 0%, rgba(212, 231, 246, 1) 81%);
}

.lead__time {
	background: linear-gradient(90deg, #ff9b63 0%, #ff91b2 32%, #6ac1ff 76%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	margin-bottom: 16px;
	font-size: 38px;
}

.lead__time small {
	font-size: 25px;
}

.lead__text .text {
	line-height: 2.25;
	font-size: 22px;
}

@media screen and (max-width: 1000px) {
	.lead {
		padding: 10.8vw 5vw;
	}

	.lead__title {
		margin-bottom: 4.8vw;
		font-size: 3.8vw;
	}

	.lead__time {
		margin-bottom: 1.6vw;
		font-size: 3.8vw;
	}

	.lead__time small {
		font-size: 2.5vw;
	}

	.lead__text .text {
		font-size: 2.2vw;
	}
}

@media screen and (max-width: 768px) {
	.lead {
		padding: 16.8vw 6.4vw;
	}

	.lead__title {
		margin-bottom: 5.33333vw;
		font-size: 6.93333vw;
	}
	.lead__title span {
		padding: 0 0.25em;
	}

	.lead__title .block1 {
		padding: 0;
	}

	.lead__title .block1 {
		background: none;
	}

	.lead__title .block1__1 {
		background: rgb(251, 231, 166);
		background: linear-gradient(90deg, rgba(251, 231, 166, 1) 0%, rgba(244, 222, 201, 1) 81%);
	}

	.lead__title .block1__2 {
		background: rgb(252, 237, 186);
		background: linear-gradient(90deg, rgba(252, 237, 186, 1) 0%, rgba(212, 231, 246, 1) 81%);
		padding-left: 0;
	}

	.lead__time {
		margin-bottom: 6.4vw;
		font-size: 5.86667vw;
	}

	.lead__time small {
		font-size: 4vw;
	}

	.lead__text .text {
		font-size: 4vw;
		text-align: left;
	}
}

/* ----------------------------------------------------
	contents
---------------------------------------------------- */
.contents {
	background: rgba(255, 195, 161, 0.3);
	background: linear-gradient(90deg, rgba(255, 195, 161, 0.3) 0%, rgba(195, 230, 255, 0.3) 100%);
	z-index: 0;
}

/* ----------------------------------------------------
	section
---------------------------------------------------- */
.section {
	padding: 120px 50px;
}

.section .container {
	margin: 0 auto;
	max-width: 900px;
}

.section__title {
	background: url(../img/titleBg.svg) center top no-repeat;
	background-size: 104px auto;
	margin-bottom: 52px;
	padding-top: 36px;
	line-height: 1;
	font-size: 32px;
	font-weight: 600;
	text-align: center;
}

.section__title--sub {
	margin-top: 16px;
	font-size: 26px;
	display: block;
}

@media screen and (max-width: 1000px) {
	.section {
		padding: 12vw 5vw;
	}

	.section .container {
		max-width: 90vw;
	}

	.section__title {
		background-size: 10.4vw auto;
		margin-bottom: 5.2vw;
		padding-top: 3.6vw;
		font-size: 3.2vw;
	}

	.section__title--sub {
		margin-top: 1.6vw;
		font-size: 2.6vw;
	}
}

@media screen and (max-width: 768px) {
	.section {
		padding: 16vw 6.4vw;
	}

	.section .container {
		max-width: 100%;
	}

	.section__title {
		background-size: 27.73333vw auto;
		margin-bottom: 14.13333vw;
		padding-top: 11.2vw;
		font-size: 6.4vw;
	}

	.section__title--sub {
		margin-top: 3.2vw;
		font-size: 5.33333vw;
	}
}

/* ----------------------------------------------------
	reservation
---------------------------------------------------- */
.reservation {
	background: url(../img/dotted.webp) left bottom repeat-x;
}

.reservation__title {
	margin-bottom: 32px;
	line-height: 1.5;
	font-size: 42px;
	text-align: center;
}

.reservation__title .message {
	color: rgb(var(--red));
	font-size: 20px;
	display: block;
}

.reservation__date {
	margin-bottom: 16px;
	font-size: 22px;
	font-weight: 600;
}

.reservation__date span {
	padding: 0.5em 1em;
	line-height: 1.5;
	display: inline-block;
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
}

.reservation__date span .hyphen {
	padding: 0;
	border: none;
}

.reservation__contents {
	background: rgb(var(--blk));
	margin: 0 auto 136px;
	padding: 58px 0;
	max-width: 900px;
	border: solid 1px rgb(var(--blk));
	position: relative;
}

.reservation__contents::before {
	background: rgb(var(--wht));
	width: 100%;
	height: 100%;
	border-radius: 30px;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}

.reservation__contents--inner {
	text-align: center;
	position: relative;
	z-index: 1;
}

.reservation__contents--title {
	margin-bottom: 16px;
	font-size: 28px;
	font-weight: 800;
}

.reservation__contents--text {
	margin-bottom: 16px;
}

.reservation__contents--text .text {
	font-size: 16px;
	font-weight: 600;
}

.reservation__contents--text .text .fonts {
	color: rgb(var(--red));
	font-weight: 800;
	display: block;
}

.reservation__contents--inner .linkBtn {
	margin-bottom: 24px;
}

.reservation__contents--inner .linkBtn a {
	margin: 0 auto;
	width: 293px;
	height: 60px;
	color: rgb(var(--blk));
	font-size: 18px;
	font-weight: 800;
	border: solid 1px rgb(var(--brn));
	border-radius: 60px;
}

.reservation__contents--inner .linkBtn a::before {
	background: rgb(255, 155, 99);
	background: linear-gradient(90deg, rgba(255, 155, 99, 1) 0%, rgba(255, 205, 159, 1) 32%, rgba(106, 193, 255, 1) 100%);
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: solid 4px rgb(var(--wht));
	border-radius: 60px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.5s ease 0s;
	content: "";
}

.reservation__contents--inner .linkBtn a:hover {
	color: rgb(var(--wht));
}

.reservation__contents--inner .linkBtn a:hover::before {
	background: rgba(255, 155, 99, 0.5);
	background: linear-gradient(90deg, rgba(255, 155, 99, 0.5) 0%, rgba(255, 205, 159, 0.5) 32%, rgba(106, 193, 255, 0.5) 100%);
}

.reservation__contents--inner .linkBtn a svg {
	width: 32px;
	fill: rgb(var(--blk));
	position: absolute;
	top: 50%;
	right: 1.25em;
	transform: translateY(-50%);
}

.reservation__contents--inner .linkBtn a:hover svg {
	fill: rgb(var(--wht));
}

.reservation__contents--inner+.note {
	margin: 0 auto;
	width: 83.33333%;
}

.reservation__contents--inner+.note li {
	line-height: 1.5;
}

@media screen and (max-width: 1000px) {
	.reservation__title {
		margin-bottom: 3.2vw;
		font-size: 4.2vw;
	}

	.reservation__title .message {
		font-size: 2vw;
	}

	.reservation__date {
		margin-bottom: 1.6vw;
		font-size: 2.2vw;
	}

	.reservation__contents {
		margin-bottom: 13.6vw;
		padding: 5.8vw 0;
		max-width: 90vw;
	}

	.reservation__contents--title {
		margin-bottom: 1.6vw;
		font-size: 2.8vw;
	}

	.reservation__contents--text {
		margin-bottom: 1.6vw;
	}

	.reservation__contents--text .text {
		font-size: 1.6vw;
	}

	.reservation__contents--inner .linkBtn {
		margin-bottom: 2.4vw;
	}

	.reservation__contents--inner .linkBtn a {
		width: 29.3vw;
		height: 6vw;
		font-size: 1.8vw;
		border-radius: 6vw;
	}

	.reservation__contents--inner .linkBtn a::before,
	.reservation__contents--inner .linkBtn a::after {
		border-radius: 6vw;
	}

	.reservation__contents--inner .linkBtn a svg {
		width: 3.2vw;
	}
}

@media screen and (max-width: 768px) {
	.reservation__title {
		margin-bottom: 6.4vw;
		font-size: 8vw;
	}

	.reservation__title .message {
		font-size: 4.26667vw;
	}

	.reservation__date {
		margin-bottom: 4.26667vw;
		font-size: 4.8vw;
	}

	.reservation__date span .hyphen {
		display: none;
	}

	.reservation__contents {
		margin-bottom: 19.2vw;
		padding: 8vw 0;
	}

	.reservation__contents::before {
		border-radius: 6.66667vw;
	}

	.reservation__contents--inner {
		padding: 0 3.2vw;
	}

	.reservation__contents--title {
		margin-bottom: 4.26667vw;
		line-height: 1.5;
		font-size: 5.33333vw;
	}

	.reservation__contents--text .text {
		margin-bottom: 4.26667vw;
		line-height: 1.5;
		font-size: 3.73333vw;
		text-align: left;
	}

	.reservation__contents--text .text .fonts {
		display: inline;
	}

	.reservation__contents--inner .linkBtn {
		margin-bottom: 4.8vw;
	}

	.reservation__contents--inner .linkBtn a {
		padding-left: 1.5em;
		width: 100%;
		height: 13.33333vw;
		font-size: 5.33333vw;
		border-radius: 13.33333vw;
		justify-content: flex-start;
	}

	.reservation__contents--inner .linkBtn a::before,
	.reservation__contents--inner .linkBtn a::after {
		border-radius: 13.33333vw;
	}

	.reservation__contents--inner .linkBtn a svg {
		width: 8vw;
	}

	.reservation__contents--inner+.note {
		padding: 0 3.2vw;
		width: 100%;
	}
}

/*
	reservation__list
------------------------------ */
.reservation__list--item {
	text-align: center;
}

.reservation__list--item:not(:last-of-type) {
	margin-bottom: 100px;
}

.reservation__list--title {
	margin-bottom: 1em;
	font-size: 30px;
	font-weight: 600;
	text-align: center;
}

.reservation__list--contents .title {
	margin-bottom: 1em;
	color: rgb(var(--red));
	font-size: 18px;
	font-weight: 800;
}

.reservation__list--contents .details {
	margin-bottom: 48px;
}

.reservation__list--contents .reservation__date {
	margin-bottom: 24px;
}

.reservation__list+.linkBtn a {
	background: rgb(var(--blk));
	margin: 0 auto;
	width: 420px;
	height: 70px;
	color: rgb(var(--blk));
	letter-spacing: -0.005em;
	border: solid 1px rgb(var(--blk));
	z-index: 0;
}

.reservation__list+.linkBtn a::before {
	background: rgb(var(--wht));
	width: 100%;
	height: 100%;
	border-radius: 14px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: "";
}

.reservation__list+.linkBtn a .inner {
	padding-left: 1em;
	width: 100%;
	height: 100%;
	font-size: 22px;
	font-weight: 600;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
}

.reservation__list+.linkBtn a svg {
	width: 32px;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}

.reservation__list+.linkBtn a:hover {
	background: rgb(var(--wht));
	color: rgb(var(--wht));
}

.reservation__list+.linkBtn a:hover::before {
	background: rgb(var(--blk));
}

.reservation__list+.linkBtn a:hover svg {
	fill: rgb(var(--wht))
}

.reservation .member {
	background: rgb(var(--wht));
	margin-top: 48px;
	margin-bottom: 0;
	padding-right: 0;
	padding-left: 0;
	position: relative;
	z-index: 0;
}

@media screen and (max-width: 1000px) {
	.reservation__list--item:not(:last-of-type) {
		margin-bottom: 10vw;
	}

	.reservation__list--title {
		font-size: 3vw;
	}

	.reservation__list--contents .title {
		font-size: 1.8vw;
	}

	.reservation__list--contents .details {
		margin-bottom: 4.8vw;
	}

	.reservation__list--contents .reservation__date {
		margin-bottom: 2.4vw;
	}

	.reservation__list+.linkBtn a {
		width: 42vw;
		height: 7vw;
	}

	.reservation__list+.linkBtn a::before {
		border-radius: 1.4vw;
	}

	.reservation__list+.linkBtn a .inner {
		font-size: 2.2vw;
	}

	.reservation__list+.linkBtn a svg {
		width: 3.2vw;
	}

	.reservation .member {
		margin-top: 4.8vw;
	}
}

@media screen and (max-width: 768px) {
	.reservation__list--item:not(:last-of-type) {
		margin-bottom: 13.33333vw;
	}

	.reservation__list--title {
		margin-bottom: 0.5em;
		font-size: 6.93333vw;
	}

	.reservation__list--contents .title {
		line-height: 1.5;
		font-size: 4.8vw;
		letter-spacing: -0.005em;
	}

	.reservation__list--contents .details {
		margin-bottom: 8vw;
	}

	.reservation__list--contents .reservation__date {
		margin-bottom: 4.8vw;
		padding: 0;
		font-size: 4.26667vw;
		letter-spacing: -0.005em;
	}

	.reservation__list+.linkBtn {
		margin-top: 12vw;
	}

	.reservation__list+.linkBtn a {
		width: 100%;
		height: 14.66667vw;
	}

	.reservation__list+.linkBtn a::before {
		border-radius: 2.93333vw;
	}

	.reservation__list+.linkBtn a .inner {
		padding: 0;
		font-size: 4.26667vw;
		justify-content: center;
		letter-spacing: -0.005em;
	}

	.reservation__list+.linkBtn a svg {
		width: 4.8vw;
	}

	.reservation .member {
		margin-top: 12vw;
	}
}

/* ----------------------------------------------------
	plan
---------------------------------------------------- */
.plan {
	background: url(../img/dotted.webp) left bottom repeat-x;
}

.plan__title,
.plan__lead {
	font-weight: 600;
	text-align: center;
}

.plan__title {
	margin-bottom: 0.75em;
	font-size: 42px;
}

.plan__lead {
	margin-bottom: 1.5em;
	line-height: 2.25;
	font-size: 20px;
}

@media screen and (max-width: 1000px) {
	.plan__title {
		font-size: 4.2vw;
	}

	.plan__lead {
		font-size: 2vw;
	}
}

@media screen and (max-width: 768px) {
	.plan__title {
		font-size: 8vw;
	}

	.plan__lead {
		font-size: 4.26667vw;
		text-align: left;
	}
}

/*
	accordion
------------------------------ */
.accordion {
	margin-bottom: 24px;
}

.accordion__title {
	padding-left: 86px;
	height: 70px;
	font-size: 25px;
	font-weight: 600;
	display: flex;
	align-items: center;
	position: relative;
	cursor: pointer;
}

.accordion__title::before {
	width: 20px;
	height: 20px;
	border-top: solid 3px rgb(var(--blk));
	border-right: solid 3px rgb(var(--blk));
	position: absolute;
	top: 50%;
	right: 2em;
	transform: translateY(-75%) rotate(135deg);
	transition: all 0.5s ease 0s;
	content: "";
}

.accordion__title.active::before {
	transform: translateY(-25%) rotate(-405deg);
}

.accordion__contents {
	background: rgb(var(--wht));
	padding: 48px 0;
	border-style: solid;
	border-width: 1px;
	display: none;
}

.accordion__contents .section__title {
	margin-bottom: 16px;
}

.accordion .limited {
	margin-bottom: 24px;
	text-align: center;
}

.accordion .limited__details {
	padding: 0 0.5em;
	line-height: 1.5;
	color: rgb(var(--wht));
	font-size: 22px;
	font-weight: 600;
	display: inline-block;
}

/* set1 */
.set1 .accordion__title {
	background: rgb(var(--btn1)) url(../img/icon_set1.svg) center left 22px no-repeat;
	background-size: 42px auto;
}

.set1 .accordion__contents {
	border-color: rgb(var(--btn1));
}

.set1 .limited__details {
	background: rgb(var(--btn1));
}

/* set2 */
.set2 .accordion__title {
	background: rgb(var(--btn2)) url(../img/icon_set2.svg) center left 22px no-repeat;
	background-size: 42px auto;
}

.set2 .accordion__contents {
	border-color: rgb(var(--btn2));
}

.set2 .limited__details {
	background: rgb(var(--btn2));
}

@media screen and (max-width: 1000px) {
	.accordion {
		margin-bottom: 2.4vw;
	}

	.accordion__title {
		padding-left: 8.6vw;
		height: 7vw;
		font-size: 2.5vw;
	}

	.accordion__title::before {
		width: 2vw;
		height: 2vw;
		border-top-width: 0.3vw;
		border-right-width: 0.3vw;
	}

	.accordion__contents {
		padding: 4.8vw 0;
		border-width: 0.1vw;
	}

	.accordion__contents .section__title {
		margin-bottom: 1.6vw;
	}

	.accordion .limited {
		margin-bottom: 2.4vw;
	}

	.accordion .limited__details {
		font-size: 2.2vw;
	}

	/* set1 */
	.set1 .accordion__title {
		background-position: center left 2.2vw;
		background-size: 4.2vw auto;
	}

	/* set2 */
	.set2 .accordion__title {
		background-position: center left 2.2vw;
		background-size: 4.2vw auto;
	}
}

@media screen and (max-width: 768px) {
	.accordion {
		margin-bottom: 6.4vw;
	}

	.accordion__title {
		padding-left: 18.13333vw;
		height: 24vw;
		line-height: 1.25;
		font-size: 4.53333vw;
	}

	.accordion__title::before {
		width: 4vw;
		height: 4vw;
		border-top-width: 0.53333vw;
		border-right-width: 0.53333vw;
	}

	.accordion__contents {
		padding: 8vw 0;
	}

	.accordion__contents .section__title {
		margin-bottom: 4.26667vw;
	}

	.accordion .limited {
		margin-bottom: 6.4vw;
	}

	.accordion .limited__details {
		font-size: 5.86667vw;
	}

	/* set1 */
	.set1 .accordion__title {
		background-position: center left 3.46667vw;
		background-size: 11.2vw auto;
	}

	/* set2 */
	.set2 .accordion__title {
		background-position: center left 3.46667vw;
		background-size: 11.2vw auto;
	}
}

/*
	slide
------------------------------ */
.accordion__contents--slide {
	margin: 0 auto;
	width: 66.66667%;
}

.accordion__contents--slide+.note {
	margin: 10px auto 68px;
	width: 66.66667%;
}

.accordion__contents--slide+.note li {
	justify-content: flex-end;
}

/* slick */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-dots {
	height: 36px;
	display: flex;
	justify-content: center;
	bottom: -36px;
	z-index: 1;
}

.slick-dots li {
	margin: 0 10px;
	width: auto;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.slick-dots li button {
	background: #868687;
	width: 10px;
	height: 10px;
	border-radius: 10px;
}

.set1 .slick-dots li.slick-active button {
	background: rgb(var(--btn1));
}

.set2 .slick-dots li.slick-active button {
	background: rgb(var(--btn2));
}

.slick-dots li button::before {
	display: none;
}

@media screen and (max-width: 1000px) {
	.accordion__contents--slide {
		margin: 0 auto;
		width: 66.66667%;
	}

	.accordion__contents--slide+.note {
		margin: 10px auto 68px;
		width: 66.66667%;
	}

	.accordion__contents--slide+.note li {
		justify-content: flex-end;
	}

	/* slick */
	.slick-dots {
		height: 3.6vw;
		bottom: -3.6vw;
	}

	.slick-dots li {
		margin: 0 1vw;
	}

	.slick-dots li button {
		width: 1vw;
		height: 1vw;
		border-radius: 1vw;
	}
}

@media screen and (max-width: 768px) {
	.accordion__contents--slide {
		width: 74.66667vw;
	}

	.accordion__contents--slide+.note {
		margin: 9.6vw auto 16vw;
		width: 100%;
	}

	.accordion__contents--slide+.note li {
		line-height: 1;
		justify-content: center;
	}

	/* slick */
	.slick-dots {
		height: 9.6vw;
		bottom: -9.6vw;
	}

	.slick-dots li {
		margin: 0 2.66667vw;
	}

	.slick-dots li button {
		width: 2.66667vw;
		height: 2.66667vw;
		border-radius: 2.66667vw;
	}
}

/*
	goods
------------------------------ */
.section__title.goodsTitle {
	margin-bottom: 40px;
	text-align: center;
}

.accordion__contents--goods {
	margin: 0 auto 40px;
	max-width: 555px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}
/*
.goods {
	margin-bottom: 40px;
}*/

.goods1 {
	/*width: 30.5%;*/
	width: 100%;
}

.goods2 {
	width: 17%;
	margin: 0 2% 0 0;
	/*margin: 0 10%;
	width: 18.25%;*/
}

.goods3 {
	width: 23%;
	margin: 0 2% 0 0;
	/*width: 30.5%;*/
}

.goods4 {
	width: 24%;
	margin: 0 2% 0 0;
	/*margin-right: 2.5%;
	width: 29%;*/
}

.goods5 {
	width: 30%;
	margin: 0;
	/*width: 39%;*/
}

.goods__images figcaption {
	margin-top: 1em;
	line-height: 1.5;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -0.005em;
}

.goods__images figcaption .fonts {
	color: rgb(var(--red));
	font-family: var(--gothic);
	font-size: 12px;
	font-weight: 600;
	display: block;
}

.goods__memo {
	margin-bottom: 40px;
	text-align: center;
}

.goods__memo span {
	padding: 0.25em 0.75em;
	line-height: 1;
	font-size: 18px;
	font-weight: 800;
}

.set1 .goods__memo span {
	background: rgb(var(--btn1));
	color: rgb(var(--wht));
}

.set2 .goods__memo span {
	background: rgb(var(--btn2));
}

.goods__notes {
	margin: 0 auto;
	max-width: 600px;
}

@media screen and (max-width: 1000px) {
	.section__title.goodsTitle {
		margin-bottom: 40px;
		text-align: center;
	}

	.accordion__contents--goods {
		margin: 0 auto 40px;
		max-width: 555px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	/*.goods {
		margin-bottom: 40px;
	}*/
/*
	.goods1 {
		width: 30.5%;
	}*/

	.goods2 {
	width: 34%;
	margin: 40px 6.5% 0;/*
		margin: 0 10%;
		width: 18.25%;*/
	}

	.goods3 {
	width: 48%;
	margin: 40px 0 0;/*
		width: 30.5%;*/
	}

	.goods4 {
	width: 40%;
	margin: 40px 5% 0;/*
		margin-right: 2.5%;
		width: 29%;*/
	}

	.goods5 {
	width: 48%;
	margin: 40px 0 0;/*
		width: 39%;*/
	}

	.goods__images figcaption {
		margin-top: 1em;
		line-height: 1.5;
		font-size: 15px;
		text-align: center;
		letter-spacing: -0.005em;
	}

	.goods__images figcaption .fonts {
		color: rgb(var(--red));
		font-family: var(--gothic);
		font-size: 12px;
		font-weight: 600;
		display: block;
	}

	.goods__memo {
		margin-bottom: 4vw;
	}

	.goods__memo span {
		font-size: 1.8vw;
	}
}

@media screen and (max-width: 768px) {
	.section__title.goodsTitle {
		margin-bottom: 8vw;
	}

	.accordion__contents--goods {
		max-width: 100%;
		flex-direction: column;
		align-items: center;
		margin-bottom: 6.4vw;
	}

	.goods {
		/*margin-bottom: 6.4vw;*/
		margin: 6.4vw 0 0;
	}

	.goods1 {
		width: 77.63203vw;
		/*width: 47.63203vw;*/
	}

	.goods2 {
		/*margin: 0 0 6.4vw;*/
		width: 25.76101vw;
	}

	.goods3 {
		width: 47.63203vw;
	}

	.goods4 {
		width: 47.63203vw;
	}

	.goods5 {
		width: 57.50493vw;
	}

	.goods__images figcaption {
		font-size: 4vw;
	}

	.goods__images figcaption .fonts {
		font-size: 3.2vw;
	}

	.goods__memo {
		margin-bottom: 6.4vw;
	}

	.goods__memo span {
		margin: 0 auto;
		padding: 0.5em 0;
		width: 74.66667vw;
		line-height: 1.5;
		font-size: 3.73333vw;
		letter-spacing: -0.005em;
		display: block;
	}

	.goods__notes {
		margin: 0 auto;
		width: 74.66667vw;
	}
}

/* ----------------------------------------------------
	calendar
---------------------------------------------------- */
.calendar {
	background: url(../img/dotted.webp) left bottom repeat-x;
}

.calendar .price {
	text-align: center;
}

.calendar .price__item {
	margin-bottom: 64px;
}

.calendar .price__title {
	margin-bottom: 0.75em;
	line-height: 1.5;
	color: rgb(var(--red));
	font-size: 18px;
	font-weight: 800;
}

.calendar .price__list--title {
	margin-bottom: 0.5em;
	font-size: 16px;
	font-weight: 800;
}

.calendar .price__list--details .list {
	margin: 0 auto 1.5em;
	max-width: 450px;
	text-align: left;
}

.calendar .price__list--details .list__item {
	margin-bottom: 0.5em;
	line-height: 1;
	font-size: 20px;
	font-weight: 800;
	display: flex;
	align-items: center;
}

.calendar .price__list--details .list__item small {
	font-size: 16px;
}

.calendar .price__list--details .list__item .number {
	background: rgb(var(--blk));
	margin-right: 0.5em;
	width: 16px;
	height: 16px;
	line-height: 1;
	color: rgb(var(--wht));
	font-size: 10px;
	border-radius: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.calendar .price__list--details .list__item .details {
	display: flex;
	align-items: center;
}

.calendar .price__list--details .list__item .details .sub {
	margin-right: 0.25em;
}

.calendar .price__list--details .list__item .details .slash {
	margin: 0 0.15em;
}

.calendar__contents {
	margin: 0 auto;
	max-width: 600px;
	border: solid 1px rgb(var(--blk));
}

.calendar__tab {
	display: flex;
}

.calendar__tab--item {
	background: #808080;
	width: calc((100% - 8px) / 3);
	height: 54px;
	color: rgb(var(--wht));
	font-size: 24px;
	font-weight: 800;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.calendar__tab--item:hover,
.calendar__tab--item.active {
	background: rgb(var(--darkRed));
}

.calendar__tab--item:not(:last-of-type) {
	margin-right: 4px;
}

.calendar__tab--item b {
	font-size: 1.3em;
	font-weight: 800;
}

.calendar__details--item {
	background: rgb(var(--wht));
	padding: 8px;
	border-top: solid 8px rgb(var(--darkRed));
	display: none;
}

.calendar__details--item.active {
	display: block;
}

.calendar__contents+.note {
	margin: 16px auto 0;
	max-width: 600px;
}

@media screen and (max-width: 1000px) {
	.calendar .price__item {
		margin-bottom: 6.4vw;
	}

	.calendar .price__title {
		font-size: 1.8vw;
	}

	.calendar .price__list--title {
		font-size: 1.6vw;
	}

	.calendar .price__list--details .list {
		max-width: 45vw;
	}

	.calendar .price__list--details .list__item {
		font-size: 2vw;
	}

	.calendar .price__list--details .list__item small {
		font-size: 1.6vw;
	}

	.calendar .price__list--details .list__item .number {
		width: 1.6vw;
		height: 1.6vw;
		font-size: 1vw;
		border-radius: 1.6vw;
	}

	.calendar__contents {
		max-width: 60vw;
	}

	.calendar__tab--item {
		width: calc((100% - .8vw) / 3);
		height: 5.4vw;
		font-size: 2.4vw;
	}

	.calendar__tab--item:not(:last-of-type) {
		margin-right: 0.4vw;
	}

	.calendar__details--item {
		padding: 0.8vw;
	}

	.calendar__contents+.note {
		margin: 1.6vw auto 0;
	}
}

@media screen and (max-width: 768px) {
	.calendar .price__item {
		margin-bottom: 64px;
	}

	.calendar .price__title {
		font-size: 4.8vw;
		letter-spacing: -0.005em;
	}

	.calendar .price__list--title {
		font-size: 4.26667vw;
	}

	.calendar .price__list--details .list {
		max-width: 100%;
		width: 62vw;
		justify-content: center;
	}

	.calendar .price__list--details .list__item {
		margin-bottom: 0.5em;
		line-height: 1.5;
		font-size: 5.33333vw;
	}

	.calendar .price__list--details .list__item small {
		font-size: 4.26667vw;
	}

	.calendar .price__list--details .list__item .number {
		width: 6.4vw;
		width: 12vw;
		height: 6.4vw;
		font-size: 4.26667vw;
		border-radius: 6.4vw;
	}

	.calendar .price__list--details .list__item .details {
		flex-wrap: wrap;
	}

	.calendar .price__list--details .list__item .details .slash {
		display: none;
	}

	.calendar__contents {
		margin: 0 auto;
		max-width: 100%;
	}

	.calendar__tab--item {
		height: 8vw;
		font-size: 3.73333vw;
	}

	.calendar__tab--item.active {
		background: rgb(var(--darkRed));
	}

	.calendar__tab--item:not(:last-of-type) {
		margin-right: 4px;
	}

	.calendar__contents+.note {
		margin-top: 4.26667vw;
		max-width: 100%;
	}
}

/* ----------------------------------------------------
	restaurant
---------------------------------------------------- */
.restaurant {
	background: url(../img/dotted.webp) left bottom repeat-x;
	font-weight: 600;
	text-align: center;
}

.restaurant .section__title {
	margin-bottom: 32px;
}

.restaurant__title {
	margin-bottom: 64px;
	line-height: 1;
	font-size: 42px;
	text-align: center;
}

.restaurant__lead {
	margin-bottom: 24px;
	font-size: 16px;
}

.restaurant__details {
	margin-bottom: 32px;
	font-size: 20px;
}

.restaurant__details--contents .note li {
	color: rgb(var(--red));
	justify-content: center;
}

.restaurant .gradient-title {
	font-size: 22px;
	font-weight: 800;
}

.restaurant .gradient-title span {
	background: rgb(255, 155, 99);
	background: linear-gradient(90deg, rgba(255, 155, 99, 1) 0%, rgba(255, 205, 159, 1) 32%, rgba(106, 193, 255, 1) 100%);
	margin-bottom: 32px;
	padding: 0 0.5em;
	font-size: 22px;
	display: inline-block;
}

.restaurant .linkBtn a {
	margin: 0 auto;
	width: 293px;
	height: 70px;
	line-height: 1;
	color: rgb(var(--blk));
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.005em;
	border: solid 1px rgb(var(--brn));
	border-radius: 70px;
	flex-direction: column;
}

.restaurant .linkBtn a::before {
	background: rgb(255, 155, 99);
	background: linear-gradient(90deg, rgba(255, 155, 99, 1) 0%, rgba(255, 205, 159, 1) 32%, rgba(106, 193, 255, 1) 100%);
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: solid 4px rgb(var(--wht));
	border-radius: 60px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.5s ease 0s;
	content: "";
}

.restaurant .linkBtn a:hover {
	color: rgb(var(--wht));
}

.restaurant .linkBtn a:hover::before {
	background: rgb(255, 155, 99);
	background: linear-gradient(90deg, rgba(255, 155, 99, 0.5) 0%, rgba(255, 205, 159, 0.5) 32%, rgba(106, 193, 255, 0.5) 100%);
}

.restaurant .linkBtn a small {
	margin-top: 4px;
	font-family: var(--gothic);
	font-size: 12px;
	font-weight: 600;
	display: block;
}

.restaurant .linkBtn a svg {
	width: 32px;
	fill: rgb(var(--blk));
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	transition: all 0.5s ease 0s;
}

.restaurant .linkBtn a:hover svg {
	fill: rgb(var(--wht));
}

.restaurant .note li {
	text-align: left;
}

@media screen and (max-width: 1000px) {
	.restaurant .section__title {
		margin-bottom: 3.2vw;
	}

	.restaurant__title {
		margin-bottom: 6.4vw;
		font-size: 4.2vw;
	}

	.restaurant__lead {
		margin-bottom: 2.4vw;
		font-size: 1.6vw;
	}

	.restaurant__details {
		margin-bottom: 3.2vw;
		font-size: 2vw;
	}

	.restaurant .gradient-title {
		font-size: 2.2vw;
	}

	.restaurant .gradient-title span {
		margin-bottom: 3.2vw;
		font-size: 2.2vw;
	}

	.restaurant .linkBtn a {
		width: 29.3vw;
		height: 7vw;
		font-size: 2vw;
		border-radius: 7vw;
	}

	.restaurant .linkBtn a::before {
		border-radius: 7vw;
	}

	.restaurant .linkBtn a small {
		margin-top: 0.4vw;
		font-size: 1.2vw;
	}

	.restaurant0linkBtn a svg {
		width: 3.2vw;
	}
}

@media screen and (max-width: 768px) {
	.restaurant .section__title {
		margin-bottom: 6.4vw;
	}

	.restaurant__title {
		margin-bottom: 12.26667vw;
		font-size: 8vw;
	}

	.restaurant__lead {
		margin-bottom: 8.8vw;
		font-size: 4vw;
		text-align: left;
	}

	.restaurant__details {
		margin-bottom: 8vw;
		font-size: 4.26667vw;
	}

	.restaurant__details--contents {
		letter-spacing: -0.005em;
	}

	.restaurant .gradient-title {
		line-height: 1.5;
	}

	.restaurant .gradient-title span {
		margin-bottom: 6.4vw;
		padding: 0.25em 0;
		width: 100%;
		font-size: 4.8vw;
	}

	.restaurant .linkBtn a {
		width: 100%;
		height: 16vw;
		font-size: 5.33333vw;
		border-radius: 16vw;
	}

	.restaurant .linkBtn a::before {
		border-radius: 16vw;
	}

	.restaurant .linkBtn a small {
		margin-top: 1.6vw;
		font-size: 3.2vw;
	}

	.restaurant .linkBtn a svg {
		width: 7.46667vw;
	}
}

/*
	tea
------------------------------ */
.tea__slide {
	margin: 80px auto;
	max-width: 600px;
}

.tea__images {
	/* margin: 80px auto;
	max-width: 600px; */
}

.tea__images figcaption {
	font-family: var(--gothic);
	font-size: 12px;
	font-weight: 400;
	text-align: right;
}

@media screen and (max-width: 1000px) {
	.tea__images {
		margin: 8vw auto;
		max-width: 60vw;
	}

	.tea__images figcaption {
		font-size: 1.2vw;
	}
}

@media screen and (max-width: 768px) {
	.tea__slide {
		margin: 6.4vw auto;
	}

	.tea__images {
		margin: 9.6vw auto;
		max-width: 100%;
	}

	.tea__images figcaption {
		font-size: 2.93333vw;
	}
}

/*
	bromide
------------------------------ */
.bromide__list--title {
	margin: 0 auto 32px;
	max-width: 600px;
	line-height: 1;
	font-size: 18px;
	font-weight: 800;
}

.bromide__list--title .date {
	margin-bottom: 16px;
	padding: 16px 0;
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
	display: block;
}

.bromide__list--images {
	margin-bottom: 48px;
}

.bromide+.linkBtn+.note {
	margin-top: 48px;
}

@media screen and (max-width: 1000px) {
	.bromide__list--title {
		margin-bottom: 3.2vw;
		max-width: 60vw;
		font-size: 1.8vw;
	}

	.bromide__list--title .date {
		margin-bottom: 1.6vw;
		padding: 1.6vw 0;
	}

	.bromide__list--images {
		margin-bottom: 4.8vw;
	}

	.bromide+.linkBtn+.note {
		margin-top: 4.8vw;
	}
}

@media screen and (max-width: 768px) {
	.bromide__list--title {
		margin-bottom: 5.86667vw;
		max-width: 100%;
		line-height: 1.5;
		font-size: 4.26667vw;
	}

	.bromide__list--title .date {
		margin-bottom: 0.5em;
		padding: 0.5em 0;
	}

	.bromide__list--images {
		margin-bottom: 12vw;
	}

	.bromide+.linkBtn+.note {
		margin-top: 12vw;
	}
}

/*
	drink
------------------------------ */
.drink {
	padding-top: 120px;
}

.drink__contents--title {
	margin: 0 auto 40px;
	padding: 16px 0;
	max-width: 360px;
	line-height: 1;
	font-size: 18px;
	font-weight: 800;
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
	position: relative;
}

.drink__contents--title .date {
	margin-top: 8px;
	font-size: 22px;
	display: block;
}

.drink__contents--title .logo {
	width: 66px;
	position: absolute;
	top: 0;
	left: -76px;
}

.drink__list {
	margin: 0 auto 80px;
	max-width: 740px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.drink__list--item {
	margin-bottom: 40px;
	width: 46%;
	position: relative;
}

.drink__list--item .images figcaption {
	margin-top: 1em;
	line-height: 1;
	font-size: 20px;
	font-weight: 600;
}

.drink__list--item .character {
	width: 34.11765%;
	position: absolute;
	right: -16px;
	bottom: -16px;
}

.drink__list+.note {
	margin: 0 auto;
	max-width: 740px;
}

@media screen and (max-width: 1000px) {
	.drink {
		padding-top: 12vw;
	}

	.drink__contents--title {
		margin-bottom: 4vw;
		padding: 1.6vw 0;
		max-width: 36vw;
		font-size: 1.8vw;
	}

	.drink__contents--title .date {
		margin-top: 0.8vw;
		font-size: 2.2vw;
	}

	.drink__contents--title .logo {
		width: 6.6vw;
		left: -7.6vw;
	}

	.drink__list {
		margin-bottom: 8vw;
		max-width: 74vw;
	}

	.drink__list--item {
		margin-bottom: 4vw;
	}

	.drink__list--item .images figcaption {
		font-size: 2vw;
	}

	.drink__list--item .character {
		right: -1.6vw;
		bottom: -1.6vw;
	}

	.drink__list+.note {
		max-width: 74vw;
	}
}

@media screen and (max-width: 768px) {
	.drink {
		padding-top: 16vw;
	}

	.drink .section__title {
		letter-spacing: -0.005em;
	}

	.drink__contents--title {
		margin: 0 auto 40px;
		padding: 4.26667vw 0;
		max-width: 100%;
		font-size: 3.73333vw;
	}

	.drink__contents--title .date {
		margin-top: 2.13333vw;
		font-size: 4.53333vw;
		letter-spacing: -0.005em;
	}

	.drink__contents--title .logo {
		width: 11.46667vw;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}

	.drink__list {
		margin: 0 auto 9.6vw;
		max-width: 100%;
	}

	.drink__list--item {
		margin-bottom: 6.4vw;
		width: 46.86523%;
	}

	.drink__list--item .images figcaption {
		margin-top: 2.4vw;
		font-size: 4vw;
		text-align: left;
		letter-spacing: -0.005em;
	}

	.drink__list--item .character {
		width: 40%;
		right: -2.66667vw;
		bottom: -2.66667vw;
	}

	.drink__list+.note {
		max-width: 100%;
	}
}


/*250509 追加*/
.text-end{
	position: relative;
}
.text-end::before{
	content: "≪受付終了≫";
	position: absolute;
	top: .5em;
	left: 0;
	right: 0;
	margin: auto;
	color: red;
}
.text-end span{
	padding: 2em 1em .5em; 
}

.end{
	opacity: .2;
	pointer-events:none
}


/*250509 追加*/
.text-end{
	position: relative;
}
.text-end::before{
	content: "≪受付終了≫";
	position: absolute;
	top: .5em;
	left: 0;
	right: 0;
	margin: auto;
	color: red;
}
.text-end span{
	padding: 2em 1em .5em; 
}

.end{
	opacity: .2;
	pointer-events:none
}

