/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background-color: rgba(var(--blk), 0.9);
	width: 100%;
	height: 14.2rem;
	height: 8rem;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}

.header__logo,
.header__link {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.header__logo {
	width: 25.5rem;
	left: 9.9rem;
}

.header__logo img {
	display: block;
}

.header__link {
	right: 5.8rem;
}

.header .link-button {
	background: linear-gradient(90deg, rgba(218, 133, 51, 1) 0%, rgba(218, 179, 2, 1) 100%);
	width: 15.2rem;
	height: 4.1rem;
	font-family: var(--mincho);
	font-size: 1.3rem;
	font-weight: 800;
}

.header .link-button:hover {
	color: rgb(var(--wht));
}

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

	.header__logo {
		width: 21.5rem;
		left: 1.5rem;
	}

	.header__link {
		right: 1rem;
	}

	.header .link-button {
		width: 11.5rem;
		height: 4rem;
		font-size: 1.2rem;
	}
}

/* ----------------------------------------------------
	kv
---------------------------------------------------- */
.kv {
	position: relative;
}

.kv picture {
	overflow: hidden;
}

.kv img {
	display: block;
	animation: kv-zoom-out 2.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes kv-zoom-out {
	from {
		transform: scale(1.25);
	}

	to {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.kv img {
		animation: none;
	}
}

.kv__caption {
	font-size: 1.2rem;
	position: absolute;
	right: 10.2rem;
	bottom: -3rem;
}

@media screen and (max-width: 768px) {
	.kv {
		padding-top: 6.2rem;
	}

	.kv__caption {
		font-size: 1rem;
		right: 1rem;
		bottom: 1rem;
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	background-image: linear-gradient(-150deg, #da8533 0%, #da8a2c 6%, #da9b1b 13%, #dab302 21%, #da8533 52%, #dab400 79%, #daa80c 86%, #da892d 98%, #da8533 100%);
	background-position: center calc(-123 * 100vw / 1400);
	background-repeat: no-repeat;
	background-size: 100% max(calc(3962.19 * 100vw / 1400), calc(100% + 123 * 100vw / 1400));
}

@media screen and (max-width: 768px) {
	.main {
		background: linear-gradient(-120deg, rgba(218, 133, 51, 1) 0%, rgba(218, 179, 2, 1) 21%, rgba(218, 133, 51, 1) 52%, rgba(218, 180, 0, 1) 79%, rgba(218, 133, 51, 1) 100%);
	}
}

/* ----------------------------------------------------
	logo
---------------------------------------------------- */
.logo {
	background-color: rgb(var(--wht));
	padding: 4.4rem 0;
}

.logo__image {
	margin: 0 auto;
	width: 84.8rem;
}

@media screen and (max-width: 768px) {
	.logo {
		padding: 4.5rem 0;
	}

	.logo__image {
		width: 34.2rem;
	}
}

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

.about__head {
	padding: 4rem 0 7rem;
}

.about__title {
	margin: 0 auto 2.4rem;
	font-size: 3.4rem;
	font-weight: bold;
}

.about__title img {
	margin: 0 auto 2rem;
	width: 47.3rem;
	display: block;
}

.about__head .about__title--main {
	display: block;
}

.about__title--small {
	font-size: 2.4rem;
	display: block;
}

.about__title--small .wht {
	color: rgb(var(--wht));
	font-size: 2.6rem;
}

.about__title--small small {
	font-size: 2.1rem;
}

.about__text {
	margin-bottom: 3rem;
	line-height: 2.5;
	font-size: 1.3rem;
}

.benefit {
	margin-bottom: 5rem;
	text-align: center;
}

.benefit__title {
	margin-bottom: 1rem;
	color: rgb(var(--blu));
	font-size: 1.5rem;
}

.benefit__list {
	color: rgb(var(--wht));
	font-size: 1.6rem;
	display: flex;
	justify-content: center;
}

.benefit__list--item {
	display: flex;
	align-items: center;
}

.benefit__list--item:not(:last-of-type)::after {
	margin: 0 1em;
	content: "|";
}

.about__head .link-button {
	background-color: rgb(var(--blu));
	margin: 0 auto;
	width: 22.5rem;
	height: 4rem;
	color: rgb(var(--wht));
	font-size: 1.2rem;
}

.about__head .link-button:hover {
	background-color: #94becc;
}

/* fadeblock */
.about__head .fadeBlock {
	opacity: 0;
	transition: opacity 1s, transform 1s;
	transition-delay: var(--fade-delay, 0s);
}

.about__head .fadeBottom {
	transform: translateY(2.5rem);
}

.about__head .fadeBlock.is-visible {
	opacity: 1;
}

.about__head .fadeBottom.is-visible {
	transform: translateY(0);
}

.about__title img {
	--fade-delay: 0s;
}

.about__title--small {
	--fade-delay: 0.15s;
}

.about__title--main {
	--fade-delay: 0.30s;
}

.about__text {
	--fade-delay: 0.45s;
}

.about__head .benefit__title {
	font-weight: bold;
	--fade-delay: 0.60s;
}

.about__head .benefit__list--item:nth-child(1) {
	--fade-delay: 0.75s;
}

.about__head .benefit__list--item:nth-child(2) {
	--fade-delay: 0.90s;
}

.about__head .benefit__list--item:nth-child(3) {
	--fade-delay: 1.05s;
}

.about__head>.link-button {
	--fade-delay: 1.20s;
}

@media (prefers-reduced-motion: reduce) {
	.about__head .fadeBlock {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media screen and (max-width: 768px) {
	.about__title img {
		width: 32rem;
	}

	.about__head .about__title--main {
		margin-top: 1rem;
		line-height: normal;
		font-size: 2.5rem;
	}

	.about__title--small {
		font-size: 1.6rem;
	}

	.about__title--small .wht {
		font-size: 2rem;
		display: block;
	}

	.about__title--small small {
		font-size: 1.3rem;
	}

	.about__text {
		padding: 0 3rem;
		text-align: left;
	}

	.benefit {
		margin-bottom: 3rem;
	}

	.benefit__list {
		flex-direction: column;
	}

	.benefit__list--item {
		justify-content: center;
		position: relative;
	}

	.benefit__list--item:not(:last-of-type) {
		margin-bottom: 3rem;
	}

	.benefit__list--item:not(:last-of-type)::after {
		background-color: rgb(var(--wht));
		margin: 0;
		width: 2.5rem;
		height: 1px;
		position: absolute;
		bottom: -1.5rem;
		left: 50%;
		transform: translateX(-50%);
		content: "";
	}
}

/*
	point
------------------------------ */
.point {
	background-color: rgb(var(--wht));
}

.point__list--item {
	display: flex;
}

.point__slide .slick-slide {
	line-height: 0;
}

.point__content--inner {
	height: 100%;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.point__title {
	margin-bottom: 2rem;
	line-height: 1;
	color: #de8304;
	font-family: var(--mincho);
	display: flex;
	align-items: flex-end;
	gap: 1.6rem;
}

.point__title--label {
	padding-top: 1rem;
	padding-bottom: 0.4rem;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	font-weight: normal;
	border-top: 0.4rem solid currentColor;
}

.point__title--number {
	font-size: 4.4rem;
	letter-spacing: 0;
	font-weight: bold;
}

.point__detail {
	width: 33.6rem;
}

.point__detail--title {
	margin-bottom: 2rem;
	line-height: normal;
	font-size: 1.7rem;
	font-weight: bold;
}

.point__detail--text {
	font-size: 1.2rem;
}

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

.point__detail--text a {
	margin-top: 2rem;
	color: rgb(var(--blu));
	display: inline-block;
}

/* point01・point02 共通 */
.point01 .point__content,
.point02 .point__content {
	background-color: #f4f2ef;
	width: 44%;
}

.point01 .point__content--inner,
.point02 .point__content--inner {
	width: fit-content;
	max-width: calc(100% - 5rem);
}

.point01 .point__image,
.point02 .point__image {
	width: 56%;
}

/* point01 */
.point01 .point__content--inner {
	margin: 0 5rem 0 auto;
}

/* point02・point03 共通 */
.point02.point__list--item,
.point03.point__list--item {
	margin-top: -2px;
}

/* point02 */
.point02.point__list--item {
	flex-direction: row-reverse;
}

.point02 .point__content--inner {
	margin: 0 auto 0 5rem;
}

/* point03 */
.point03.point__list--item {
	background-color: rgb(var(--wht));
}

.point03 .point__content {
	width: calc(100% - 501 / 1400 * 100%);
	display: flex;
	align-items: center;
}

.point03 .point__content--inner {
	margin: 0 0 0 auto;
	width: fit-content;
	max-width: 100%;
}

.point03 .point__detail .goods {
	white-space: nowrap;
}

.point03 .point__detail--goods {
	width: 34.2rem;
	position: relative;
	left: -1rem;
}

.point03 .point__image {
	width: calc(501 / 1400 * 100%);
}

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

	.point__content {
		padding: 5rem 0;
	}

	.point__content--inner {
		height: auto;
	}

	.point01 .point__content,
	.point02 .point__content,
	.point03 .point__content {
		width: 100%;
	}

	.point01 .point__content--inner,
	.point02 .point__content--inner,
	.point03 .point__content--inner {
		margin: 0 auto;
		width: 33rem;
		max-width: none;
	}

	.point01 .point__image,
	.point02 .point__image,
	.point03 .point__image {
		width: 100%;
	}

	/* point03 */
	.point03 .point__content {
		display: block;
	}

	.point03 .point__detail .goods {
		display: none;
	}

	.point03 .point__detail--goods {
		margin: 0 auto;
		width: 32.5rem;
		position: static;
	}
}

/* ----------------------------------------------------
	follow
---------------------------------------------------- */
.follow {
	padding: 6rem 0 8rem;
}

.follow__inner {
	margin: 0 auto;
	width: 140rem;
}

.follow__title {
	margin: 0 auto;
	width: 97.5rem;
	line-height: 1;
	font-size: 1.2rem;
	display: flex;
	flex-direction: column;
}

.follow__title--en {
	padding-left: 0.8rem;
	color: rgb(var(--wht));
}

.follow__title--main {
	margin: 2rem 0;
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: 800;
}

.follow__title--jp {
	padding-left: 0.5rem;
}

.follow__content {
	display: flex;
}

.follow__map {
	margin: 7.2rem 8rem 0 0;
	width: 81.5rem;
}

.follow__detail--title {
	margin-bottom: 2rem;
	font-size: 1.7rem;
	font-weight: bold;
	font-weight: 700;
}

.follow__list {
	font-size: 1.3rem;
}

.follow__list--item {
	margin-bottom: 3rem;
	position: relative;
}

.follow__list--item:not(:last-of-type)::after {
	background-color: rgb(var(--blu));
	width: 0.8rem;
	height: 0.6rem;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	bottom: -1.5rem;
	left: 1rem;
	content: "";
}

.follow__list--item .blu {
	color: rgb(var(--blu));
}

@media screen and (max-width: 768px) {
	.follow {
		padding-top: 4.5rem;
	}

	.follow__inner {
		width: 100%;
	}

	.follow__title {
		width: calc(100% - 4.4rem);
	}

	.follow__title--en,
	.follow__title--jp {
		padding-left: 0;
	}

	.follow__title--main {
		margin: 1rem 0;
		font-size: 2.8rem;
	}

	.follow__content {
		display: block;
	}

	.follow__map {
		margin: 2rem 0 3.5rem;
		width: 100%;
	}

	.follow__detail {
		padding: 0 2rem;
	}

	.follow__detail--title {
		margin-bottom: 2rem;
		font-size: 1.6rem;
		font-weight: bold;
		font-weight: 700;
	}

	.follow__list {
		font-size: 1.4rem;
	}

	.follow__list--item {
		margin-bottom: 3rem;
		position: relative;
	}

	.follow__list--item:not(:last-of-type)::after {
		background-color: rgb(var(--blu));
		width: 0.8rem;
		height: 0.6rem;
		clip-path: polygon(100% 0, 0 0, 50% 100%);
		position: absolute;
		bottom: -1.5rem;
		left: 1rem;
		content: "";
	}

	.follow__list--item .small {
		font-size: 1.3rem;
	}
}

/* ----------------------------------------------------
	reservation
---------------------------------------------------- */
.reservation {
	background-color: rgb(var(--wht));
	padding-top: 7rem;
}

.reservation__head {
	margin: 0 auto;
	padding-bottom: 7rem;
	width: 97.5rem;
}

.reservation__title {
	margin-bottom: 2rem;
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: bold;
}

.reservation__lead {
	font-size: 1.2rem;
}

.reservation__body {
	background-color: rgb(var(--wht));
	padding: 7rem 0;
	position: relative;
}

.reservation__body::before {
	background-color: rgba(218, 133, 51, 1);
	width: 100vw;
	height: 0.5rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: "";
}

.reservation__list {
	margin: 0 auto;
	width: 120rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.reservation__list--item {
	width: 27.8rem;
}

.reservation__list--item:not(:last-of-type) {
	margin-right: 7rem;
}

.reservation__image {
	margin-bottom: 3rem;
	aspect-ratio: 768 / 474;
	display: flex;
	align-items: center;
	justify-content: center;
}

.reservation__image img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.reservation__logo {
	margin-bottom: 3rem;
	/* 最も高いサンタモニカの表示幅とSVGの縦横比に合わせる */
	height: calc(14.2em * 26.26 / 141.06);
	display: flex;
	align-items: center;
	justify-content: center;
}

.reservation__logo img {
	display: block;
	max-width: 100%;
	flex-shrink: 0;
}

.reservation__detail {
	margin: 0 auto 2.5rem;
	width: fit-content;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.reservation__detail--title {
	font-size: 1rem;
}

.reservation__detail--price {
	font-size: 1.2rem;
	display: flex;
	align-items: baseline;
}

.reservation__detail--price .price {
	margin-left: 1rem;
	font-size: 1.8rem;
}

.reservation__link-text {
	margin-bottom: 3rem;
	font-size: 1.2rem;
	text-align: center;
}

.reservation__link-text a {
	color: rgb(var(--blu));
	text-decoration: none;
}

.reservation__link-text a:hover {
	text-decoration: underline;
	opacity: 1;
}

.reservation__link {
	margin: 0 auto;
	width: 22.5rem;
}

.reservation__link--item:not(:last-of-type) {
	margin-bottom: 1rem;
}

.reservation__link--item .link-button {
	background-color: rgb(var(--blu));
	color: rgb(var(--wht));
	height: 4rem;
	font-size: 1.2rem;
	border: solid 1px rgb(var(--blu));
}

.reservation__link--item.plan .link-button {
	background-color: rgb(var(--wht));
	color: rgb(var(--blu));
}

.reservation__link--item .link-button:hover,
.reservation__link--item.plan .link-button:hover {
	background-color: #94becc;
	color: rgb(var(--wht));
	border-color: #94becc;
}

.reservation__link--item.plan .link-button svg {
	width: 2.07rem;
	height: 1.9rem;
	flex-shrink: 0;
	fill: rgb(var(--blu));
	transition: fill 0.5s ease;
}

.reservation__link--item.plan .link-button:hover svg {
	fill: rgb(var(--wht));
}

/* marina */
.marina .reservation__logo img {
	width: 22.2em;
}

/* santamonica */
.santamonica .reservation__logo img {
	width: 14.2em;
}

/* seabreze */
.seabreze .reservation__logo img {
	width: 21.1em;
}

@media screen and (max-width: 768px) {
	.reservation__head {
		padding-bottom: 3.5rem;
		width: 33rem;
	}

	.reservation__title {
		line-height: normal;
		font-size: 2.6rem;
	}

	.reservation__body {
		padding-top: 4rem;
	}

	.reservation__list {
		width: 33rem;
		display: block;
	}

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

	.reservation__list--item:not(:last-of-type) {
		margin-right: 0;
		margin-bottom: 5rem;
	}
}

/*
	allamanda
------------------------------ */
.reservation__list--item.allamanda {
	margin: 0 0 11rem;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.allamanda__image {
	width: 56.9rem;
}

.allamanda__image--main {
	margin-bottom: 4rem;
}

.allamanda__image--logo {
	margin: 0 10rem 0 auto;
	width: 18.2rem;
}

.allamanda__content {
	width: 60rem;
}

.allamanda__content--image {
	margin-bottom: 3rem;
}

.allamanda__content--detail {
	padding-left: 2.5rem;
}

.allamanda__content--text {
	margin-bottom: 4rem;
	font-size: 1.2rem;
}

.allamanda__price {
	display: flex;
	align-items: flex-end;
}

.allamanda__price .reservation__detail {
	margin: 0;
}

.allamanda__price .reservation__detail--price .price {
	margin-left: 1rem;
}

.allamanda__price .reservation__link-text {
	margin-bottom: 0;
	margin-left: 9.5rem;
	position: relative;
	bottom: 0.5rem;
}

.allamanda__content .reservation__link {
	margin-top: 4rem;
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.allamanda__content .reservation__link--item {
	margin-bottom: 0;
	width: 22.5rem;
}

.allamanda__content .reservation__link--item:not(:last-of-type) {
	margin-right: 1.2rem;
}

@media screen and (max-width: 768px) {
	.reservation__list--item.allamanda {
		margin: 0 auto 5rem;
		width: 33rem;
		display: block;
	}

	.allamanda__image {
		width: 100%;
	}

	.allamanda__image--main {
		margin-bottom: 3rem;
	}

	.allamanda__image--logo {
		margin: 0 auto 3rem;
		width: 18.2rem;
	}

	.allamanda__content {
		width: 100%;
	}

	.allamanda__content--image {
		margin-bottom: 2rem;
	}

	.allamanda__content--detail {
		padding-left: 0;
	}

	.allamanda__content--text {
		margin-bottom: 2rem;
	}

	.allamanda__price {
		display: block;
	}

	.allamanda__price .reservation__detail {
		margin-bottom: 2rem;
	}

	.allamanda__price .reservation__detail--price .price {
		margin-left: 1rem;
	}

	.allamanda__price .reservation__link-text {
		margin: 0;
		text-align: center;
		position: static;
	}

	.allamanda__content .reservation__link {
		margin-top: 3rem;
		display: block;
	}

	.allamanda__content .reservation__link--item {
		margin: 0 auto;
		width: 22.5rem;
	}

	.allamanda__content .reservation__link--item:not(:last-of-type) {
		margin-right: auto;
		margin-bottom: 1rem;
	}
}

/* ----------------------------------------------------
	documents
---------------------------------------------------- */
.documents {
	margin: 0 auto 7rem;
	padding: 4rem 0;
	width: 80rem;
	border: solid 1px rgb(var(--blk));
	display: flex;
	justify-content: center;
	gap: 8rem;
}

.documents__item {
	width: 30rem;
	position: relative;
}

.documents__itinerary::after {
	background-color: rgb(var(--blk));
	width: 1px;
	height: 100%;
	position: absolute;
	top: 50%;
	right: -4rem;
	transform: translateY(-50%);
	content: "";
}

.documents__title {
	margin-bottom: 2rem;
	line-height: normal;
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
}

.documents__title--jp {
	font-family: var(--gothic);
	font-size: 1.2rem;
	font-weight: normal;
	display: block;
}

.documents .link-button {
	background-color: rgba(218, 133, 51, 1);
	margin: 0 auto;
	width: 22.5rem;
	height: 4rem;
	color: rgb(var(--wht));
	font-size: 1.2rem;
}

.documents .link-button:hover {
	background-color: rgba(218, 133, 51, 0.7);
}

@media screen and (max-width: 768px) {
	.documents {
		margin-bottom: 7rem;
		padding: 3rem 2rem;
		width: 33rem;
		display: block;
	}

	.documents__item {
		width: 100%;
	}

	.documents__itinerary {
		margin-bottom: 3rem;
	}

	.documents__title {
		font-size: 2.6rem;
	}
}

/* ----------------------------------------------------
	contact
---------------------------------------------------- */
.contact {
	background-color: #f5f3f1;
	margin: 0 auto 8rem;
	padding: 4rem 0;
	width: 100rem;
	position: relative;
}

.contact::after {
	width: 100vw;
	border-top: solid 0.5rem rgba(218, 133, 51, 1);
	position: absolute;
	bottom: -8rem;
	left: 50%;
	transform: translateX(-50%);
	content: "";
}

.contact__inner {
	margin: 0 auto;
	width: 67.4rem;
	line-height: 1.8;
	font-size: 1.3rem;
}

.contact__title {
	margin-bottom: 2rem;
	font-size: 2.2rem;
	font-weight: bold;
}

.contact__list {
	margin-bottom: 2.6rem;
	display: flex;
	align-items: center;
	gap: 7rem;
}

.contact__link {
	font-size: 2rem;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.contact__link.sp {
	display: none;
}

.contact__icon {
	width: 2.8rem;
	height: 2.8rem;
	color: #555;
	flex-shrink: 0;
	fill: none;
	stroke: currentColor;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.contact__notes {
	margin-bottom: 2.6rem;
}

@media screen and (max-width: 768px) {
	.contact {
		margin-bottom: 4rem;
		padding: 3rem 2rem;
		width: 33rem;
	}

	.contact::after {
		bottom: -4rem;
	}

	.contact__inner {
		width: 100%;
		font-size: 1.2rem;
	}

	.contact__title {
		font-size: 1.8rem;
	}

	.contact__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.2rem;
	}

	.contact__link {
		font-size: 1.7rem;
		gap: 1rem;
	}

	.contact__link.pc {
		display: none;
	}

	.contact__link.sp {
		display: flex;
	}

	.contact__icon {
		width: 2.4rem;
		height: 2.4rem;
	}
}

/* ----------------------------------------------------
	waido-zumi
---------------------------------------------------- */
.waido-zumi {
	padding: 8rem 0;
	position: relative;
}

.waido-zumi__content {
	margin: 0 auto;
	padding: 7rem 16rem;
	width: 120rem;
	border: solid 1px rgb(var(--blk));
}

.waido-zumi__title {
	font-size: 2.6rem;
	font-weight: bold;
}

.waido-zumi__lead {
	margin-bottom: 3rem;
	color: rgb(var(--blu));
	font-size: 1.4rem;
}

.waido-zumi__table {
	margin-bottom: 4rem;
	font-size: 1.4rem;
}

.waido-zumi__table--label,
.waido-zumi__table--value {
	vertical-align: top;
}

.waido-zumi__table--label {
	padding-right: 1em;
	white-space: nowrap;
}

.waido-zumi__table--value .course {
	margin-top: 2rem;
	position: relative;
	left: -3rem;
}

.waido-zumi__table--value .course__list--item:not(:last-of-type) {
	margin-bottom: 0.5rem;
}

.waido-zumi__banner {
	width: 46.7rem;
}

@media screen and (max-width: 768px) {
	.waido-zumi {
		padding: 4rem 0 7rem;
	}

	.waido-zumi__content {
		padding: 0 2.4rem;
		width: 100%;
		border: none;
	}

	.waido-zumi__title {
		line-height: 1.5;
		font-size: 2.4rem;
	}

	.waido-zumi__lead {
		margin: 1rem 0 3rem;
		font-size: 1.3rem;
	}

	.waido-zumi__table {
		font-size: 1.4rem;
	}

	.waido-zumi__table--value .course {
		margin-top: 1em;
		position: static;
	}

	.waido-zumi__table--value .course__list {
		font-size: 1.1rem;
	}

	.waido-zumi__table--value .course__list--item:not(:last-of-type) {
		margin-bottom: 1rem;
	}

	.official,
	.official .waido-zumi__table--row,
	.official .waido-zumi__table--label,
	.official .waido-zumi__table--value {
		display: block;
	}

	.official .waido-zumi__table--value {
		padding-left: 0.5em;
	}

	.waido-zumi__banner {
		margin: 0 auto;
		width: 33rem;
	}
}

/* ----------------------------------------------------
	movie
---------------------------------------------------- */
.movie {
	padding-bottom: 8rem;
}

.movie__title {
	margin-bottom: 2rem;
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
}

.movie__title--jp {
	font-family: var(--gothic);
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
}

.movie .video {
	margin: 0 auto;
	width: 80rem;
}

@media screen and (max-width: 768px) {
	.movie {
		padding-bottom: 7rem;
	}

	.movie__title {
		margin-bottom: 2rem;
		font-size: 2.4rem;
	}

	.movie__title--jp {
		font-family: var(--gothic);
		font-size: 1.4rem;
		display: block;
	}

	.movie .video {
		margin: 0 auto;
		width: 33rem;
	}
}

/* ----------------------------------------------------
	reservation-links
---------------------------------------------------- */
.reservation-links {
	background-image: url(../img/links-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 20rem 0;
}

.reservation-links__list {
	display: flex;
	justify-content: center;
}

.reservation-links__list--item {
	margin: 0 1rem;
}

.reservation-links__list--item .link-button {
	width: 31.7rem;
	height: 6.4rem;
	color: rgb(var(--wht));
	font-size: 1.4rem;
}

.reservation-links__list--item .link-button:hover {
	color: rgb(var(--blu));
}

.reservation-links__list--item .link-button.btn01 {
	background-color: rgb(var(--blu));
}

.reservation-links__list--item .link-button.btn01:hover {
	background-color: rgb(var(--wht));
}

.reservation-links__list--item .link-button.btn02 {
	border: solid 1px rgb(var(--wht));
}

.reservation-links__list--item .link-button.btn02:hover {
	background-color: #f6f4ed;
}

.reservation-links__list--item .link-button .link-button__arrow {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media screen and (max-width: 768px) {
	.reservation-links {
		background-image: url(../img/links-bg_sp.webp);
		padding: 11rem 0;
	}

	.reservation-links__list {
		display: block;
	}

	.reservation-links__list--item {
		margin: 0;
	}

	.reservation-links__list--item:not(:last-of-type) {
		margin-bottom: 4rem;
	}

	.reservation-links__list--item .link-button {
		margin: 0 auto;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: #0d181c;
	padding: 6rem 0;
	color: rgb(var(--wht));
}

.footer__logo {
	margin: 0 auto 3rem;
	width: 26rem;
}

.footer__copy {
	font-size: 1.2rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer {
		background-color: #0d181c;
		padding: 3rem 0;
	}

	.footer__logo {
		margin-bottom: 2rem;
		width: 20.5rem;
	}

	.footer__copy {
		font-size: 1rem;
	}
}