/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background-image: url(../img/header-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 56.223vw;
	position: relative;
}

.header__title {
	width: 12.665vw;
	position: absolute;
	top: 50%;
	left: 41.728vw;
	transform: translateY(-50%);
}

.header__credit {
	line-height: normal;
	font-family: var(--mincho);
	font-size: 1.6rem;
	font-weight: 500;
	position: absolute;
	bottom: 1.6rem;
	left: 1.6rem;
}

.header .lang {
	color: rgba(165, 165, 165, 1);
	font-size: 2rem;
	display: flex;
	position: absolute;
	top: 1.1rem;
	right: 2.3rem;
}

.header .lang span.lang__label,
.header .lang a.lang__label:hover {
	color: rgb(var(--blk));
	opacity: 1;
}

.header .lang__item+.lang__item::before {
	content: "/";
	margin-inline: 0.25em 0.1em;
}

.header .lang a.lang__label {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.header {
		background-image: url(../img/header-bg_sp.webp);
		height: 174.667vw;
	}

	.header__title {
		width: 15.7rem;
		left: 8.7rem;
	}

	.header__credit {
		font-size: 1.4rem;
		bottom: 1rem;
		left: 1rem;
	}

	.header .lang {
		top: 0.5rem;
		right: auto;
		left: 1rem;
	}
}

/* ---------------------------------------------------
	gnav
---------------------------------------------------- */
.gnav {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), linear-gradient(270deg, #CA9326 16.54%, #FFD650 57.87%, #CA9326 100%);
	width: 100%;
	line-height: normal;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 999;
}

.gnav__list {
	margin: 0 auto;
	width: 136.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.gnav__item {
	margin: 0 1.1rem;
	height: 9.5rem;
}

.gnav__item a {
	width: 15rem;
	height: 100%;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.gnav__item--reserve {
	margin: 0 0 0 1.7rem;
}

.gnav__item--reserve a {
	background-color: rgba(215, 62, 62, 1);
	width: 23rem;
}

@media screen and (max-width: 768px) {
	.gnav--sp-toggle {
		background: rgb(var(--red));
		width: 100%;
		height: 100%;
		overflow: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		transform: translateX(100%);
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.gnav__list {
		margin: 0 auto;
		width: 34.4rem;
		display: block;
	}

	.gnav__item {
		margin: 0;
		height: 8rem;
	}

	.gnav__item a {
		width: 100%;
		border-bottom: solid 1px rgb(var(--wht));
	}

	.gnav__item--pamphlet a {
		border: none;
	}

	.gnav__item--reserve {
		margin: 0;
	}

	.gnav__item--reserve a {
		background-color: rgb(var(--gld));
		width: 100%;
		border: none;
	}

	.overlay.is-gnav-overlay {
		background: rgba(var(--blk), 0.75);
		width: 100vw;
		height: 100vh;
		opacity: 0;
		visibility: hidden;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 998;
	}

	body.is-open {
		overflow: hidden;
	}

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

	.is-open .overlay.is-gnav-overlay {
		opacity: 1;
		visibility: visible;
		cursor: pointer;
	}
}

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

@media screen and (max-width: 768px) {
	.toggle {
		background: rgba(var(--red), 1);
		width: 5.7rem;
		height: 5.7rem;
		display: block;
		position: fixed;
		top: 1.6rem;
		right: 1.3rem;
		z-index: 1000;
	}

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

	.toggle__line {
		background: rgb(var(--wht));
		width: 3.6rem;
		height: 3px;
		display: block;
		position: absolute;
		left: 50%;
		transition: all 0.6s;
		transform: translateX(-50%);
		transform-origin: center;
	}

	.toggle__line:nth-child(1) {
		top: 1.4rem;
	}

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

	.toggle__line:nth-child(3) {
		bottom: 1.4rem;
	}

	.is-open .toggle__line {
		transform-origin: 0 0;
	}

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

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

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

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	padding-top: 7.2rem;
	text-align: center;
}

.about__lead {
	margin: 0 auto;
	padding-left: 12.2rem;
	width: 136.6rem;
	text-align: left;
}

.about__lead img {
	width: 101.2rem;
}

.about__text {
	margin-bottom: 5.6rem;
	line-height: 2;
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 500;
}

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

.about .link-button {
	margin: 0 auto 9rem;
}

.img-marquee {
	overflow: hidden;
	--marquee-item-width: 39rem;
	--marquee-gap: 1.6rem;
	--marquee-set-size: 7;
	--marquee-speed: 56s;
}

.img-marquee__track {
	width: max-content;
	display: flex;
	gap: var(--marquee-gap);
	animation: imageMarquee var(--marquee-speed) linear infinite;
}

.img-marquee__item {
	width: var(--marquee-item-width);
	flex: 0 0 auto;
}

.img-marquee__item img {
	display: block;
	width: 100%;
}

@keyframes imageMarquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc((var(--marquee-item-width) + var(--marquee-gap)) * var(--marquee-set-size) * -1));
	}
}

@media screen and (max-width: 768px) {
	.about {
		background-color: rgba(232, 225, 157, 1);
		padding: 2.4rem 0;
		text-align: center;
	}

	.about__lead {
		padding-left: 0;
		width: 100%;
	}

	.about__lead img {
		width: 100%;
	}

	.about__text {
		margin: 0 auto 3rem;
		width: 33.5rem;
		font-size: 1.6rem;
	}

	.about .link-button {
		margin: 0 auto;
	}

	.img-marquee {
		display: none;
	}
}

/* ----------------------------------------------------
	sec
---------------------------------------------------- */
.sec {
	padding-top: 10rem;
}

.sec__head {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 29.6rem auto;
	margin-bottom: 6.4rem;
	min-height: 13.6rem;
}

.sec__title {
	padding-top: 3rem;
	line-height: normal;
	font-family: var(--mincho);
	font-size: 3.6rem;
	font-weight: 700;
	text-align: center;
}

.sec__lead {
	margin-top: 1rem;
	line-height: 2;
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	display: block;
}

.sec__body {
	margin: 0 auto;
	width: 90.6rem;
}

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

	.sec__head {
		background-size: 19.8rem auto;
		margin-bottom: 2rem;
		min-height: 9.1rem;
	}

	.sec__title {
		padding-top: 2.6rem;
		font-size: 2.2rem;
	}

	.sec__lead {
		padding: 0 2rem;
		line-height: 1.5;
		font-size: 1.8rem;
	}

	.sec__body {
		width: 100%;
	}
}

/* ----------------------------------------------------
	events
---------------------------------------------------- */
.events {
	margin: 0 auto;
	width: 114rem;
}

.events .sec__head {
	background-image: url(../img/title-bg-fan01.webp);
}

.events .sec__lead {
	margin-bottom: 6rem;
}

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

.events__nav--item {
	margin-bottom: 1.5rem;
	width: 36.9rem;
}

.events__nav--item a {
	background-color: rgb(var(--gld));
	background-image: url(../img/arrow-events-nav.svg), url(../img/events-nav-bg.webp);
	background-position: right 1.6rem center, right center;
	background-repeat: no-repeat;
	background-size: 1.1rem auto, cover;
	height: 11rem;
	line-height: 1.5;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.events .legend {
	background-color: rgba(var(--wht), 0.5);
	padding: 3.5rem 0;
	width: 100%;
	display: flex;
	justify-content: center;
}

.events .legend__list {
	width: fit-content;
	display: flex;
	flex-direction: column;
}

.events .legend__list--item {
	font-size: 1.6rem;
	text-align: left;
	display: flex;
	align-items: center;
}

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

.events .legend__image {
	margin-right: 1rem;
	width: 9rem;
	flex-shrink: 0;
}

.events .sec__body {
	width: 100%;
}

.events__notes {
	margin: 6rem auto 0;
	width: 90.7rem;
}

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

	.events .sec__head {
		margin-bottom: 3rem;
	}

	.events .sec__lead {
		margin-bottom: 2rem;
	}

	.events__nav--item {
		margin-bottom: 0.5rem;
		width: 18.5rem;
	}

	.events__nav--item:nth-child(5),
	.events__nav--item:nth-child(6) {
		margin-bottom: 0;
	}

	.events__nav--item a {
		background-position: right 0.8rem center, right center;
		height: 7.5rem;
		line-height: 1.2;
		font-size: 1.6rem;
	}

	.events .legend {
		padding: 1.5rem 2rem;
	}

	.events .legend__list--item {
		font-size: 1.4rem;
	}

	.events .sec__body {
		width: 100%;
	}

	.events__notes {
		width: 33.5rem;
	}
}

/* 
	events-sec
------------------------------ */
.events-sec:not(:last-of-type) {
	margin-bottom: 10rem;
}

.events-sec__title {
	background-image: url(../img/events-title-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	margin-bottom: 6rem;
	height: 7.2rem;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.events__list {
	margin: 0 auto;
	width: 90.7rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.events__list--item {
	margin-bottom: 6rem;
	width: 42.6rem;
	display: flex;
	flex-direction: column;
}

.events__image {
	margin-top: auto;
	position: relative;
}

.events__image--caption {
	font-size: 1.4rem;
	text-align: right;
	position: absolute;
	bottom: -2.4rem;
	right: 0;
}

.events__image--performer {
	position: absolute;
}

.events__data {
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
}

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

.events__data--item.date {
	width: 10.5rem;
}

.events__data--item.category {
	width: 9rem;
}

.events__title {
	margin-bottom: 1rem;
	line-height: 1.25;
	color: rgb(var(--red));
	font-family: var(--mincho);
	font-size: 2.8rem;
	font-weight: 600;
}

.events__title--show {
	margin-bottom: 0.5rem;
	font-size: 2.4rem;
	display: block;
}

.events__title--small {
	margin-top: 0.5rem;
	font-size: 2rem;
	display: block;
}

.events__table {
	margin-bottom: 1rem;
	font-size: 1.6rem;
}

.events th,
.events td {
	vertical-align: top;
}

.events__table--th {
	padding-right: 1rem;
	color: rgb(var(--red));
	white-space: nowrap;
	display: flex;
	justify-content: space-between;
}

.events__table--td .flex {
	display: flex;
	flex-wrap: wrap;
}

.events__table--td .flex__item {
	margin-right: 1em;
	width: 9.4rem;
	white-space: nowrap;
}

.events__table--td .note {
	margin: 0.2rem 0 0 1em;
}

.event__lead {
	margin-bottom: 1.6rem;
	font-size: 1.6rem;
}

.event__lead .note {
	margin-top: 2rem;
}

.events__table--td .list li,
.event__lead .list li {
	margin-left: 1em;
	text-indent: -1em;
}

/* full */
.events__list--item.full {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.full .events__image {
	margin: 0;
	width: 42.6rem;
}

.full .event__content {
	width: calc((100% - 2rem - 42.6rem));
}

@media screen and (max-width: 768px) {
	.events-sec:not(:last-of-type) {
		margin-bottom: 4rem;
	}

	.events-sec__title {
		background-size: auto 100%;
		margin: 0 auto 2.2rem;
		width: 33.5rem;
		height: 5.8rem;
		font-size: 2.2rem;
		letter-spacing: -0.005em;
	}

	.events__list {
		width: 100%;
		display: block;
	}

	.events__list--item {
		margin-bottom: 3rem;
		width: 100%;
		display: block;
	}

	.events__image--caption {
		text-align: left;
		position: static;
	}

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

	.events__data--item.date {
		width: 8rem;
	}

	.events__data--item.category {
		width: 7rem;
	}

	.events__title {
		font-size: 2.4rem;
	}

	.events__title--show {
		font-size: 2rem;
	}

	.events__title--small {
		display: inline-block;
	}

	.events__table {
		font-size: 1.4rem;
	}

	.events__table--td .flex__item {
		margin-right: 0.75em;
	}

	.event__lead {
		font-size: 1.4rem;
	}

	/* full */
	.events__list--item.full {
		display: block;
	}

	.events__image,
	.full .events__image {
		margin: 1.5rem auto 0;
		width: 33.5rem;
	}

	.event__content,
	.full .event__content {
		margin: 0 auto;
		width: 33.5rem;
	}
}

/*
	countdown
------------------------------ */
.countdown__list {
	margin: 0 auto;
	width: 90.7rem;
}

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

.countdown__list--item.blk {
	background-color: rgb(var(--blk));
	margin-top: 6rem;
	color: rgb(var(--wht));
	flex-direction: row-reverse;
}

.countdown__content {
	width: calc(100% - 2rem - 44.4rem);
	position: relative;
}

.blk .countdown__content::before {
	background-image: url(../img/countdown-obj.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 12rem;
	height: 10.5rem;
	position: absolute;
	top: 5.5rem;
	right: 4rem;
	content: "";
}

.countdown__image {
	width: 44.4rem;
	position: relative;
}

.countdown__image--name {
	width: 12.6rem;
	position: absolute;
	left: -14.6rem;
	bottom: 0;
}

.countdown .blk .events__title,
.countdown .blk .events__table--th {
	color: rgb(var(--gld));
}

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

	.countdown__list--item {
		padding: 0 2rem;
		display: block;
	}

	.countdown__list--item.blk {
		margin-top: 3rem;
		padding: 0;
		display: flex;
		flex-direction: column;
	}

	.countdown__content,
	.countdown__image {
		width: 100%;
	}

	.countdown__content {
		margin-bottom: 1rem;
	}

	.blk .countdown__content::before {
		width: 7.2rem;
		height: 6.3rem;
		top: 12.1rem;
		right: 2.3rem;
	}

	.countdown__image--name {
		width: 9.6rem;
		top: 1rem;
		right: 1rem;
		bottom: auto;
		left: auto;
	}

	.countdown .blk .countdown__content {
		margin-bottom: 0;
		padding: 2rem;
	}

	.countdown .blk .event__lead {
		margin-bottom: 0;
	}
}

/* 
	premium
------------------------------ */
.premium__detail {
	margin: 0 auto;
	width: 90.7rem;
}

.premium__detail:not(:last-of-type) {
	margin-bottom: 6rem;
}

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

.premium__content {
	width: calc(100% - 2rem - 44.4rem);
	position: relative;
}

.premium__image {
	width: 44.4rem;
	position: relative;
}

.premium__image--name {
	width: 12.6rem;
	position: absolute;
	left: -14.6rem;
	bottom: 0;
}

.premium__detail.max {
	width: 100%;
}

.max .premium__detail--item {
	flex-direction: row-reverse;
}

.max .premium__image {
	width: 67.6rem;
}

.max .premium__content {
	width: calc(100% - 2rem - 67.6rem);
	position: relative;
}

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

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

	.premium__detail--item {
		padding: 0 2rem;
		display: block;
	}

	.premium__content,
	.premium__image,
	.max .premium__image,
	.max .premium__content {
		width: 100%;
	}

	.premium__content {
		margin-bottom: 1rem;
	}

	.premium .sp-block,
	.premium .sp-block tbody,
	.premium .sp-block tr,
	.premium .sp-block th,
	.premium .sp-block td {
		display: block;
	}

	.premium .sp-block tr:not(:last-of-type) {
		margin-bottom: 1em;
	}
}

/* 
	culture
------------------------------ */
.culture.events-sec {
	margin-bottom: 4rem;
}

.culture .events__image {
	position: relative;
}

.culture .events__image--performer {
	width: 19.5rem;
	height: 19.5rem;
	top: -4rem;
	left: -12.8rem;
}

@media screen and (max-width: 768px) {
	.culture .events__image {
		position: relative;
	}

	.culture .events__image--performer {
		width: 13.4rem;
		height: 13.4rem;
		top: -11.3rem;
		right: 0;
		left: auto;
	}

	.culture .performer .event__lead {
		padding-right: 14rem;
	}
}

/* 
	activity
------------------------------ */
.activity .events__image--performer {
	width: 21.3rem;
	top: -1.2rem;
	left: -10.6rem;
}

@media screen and (max-width: 768px) {
	.activity .performer .event__lead {
		padding-right: 15rem;
	}

	.activity .performer .events__image--performer {
		width: 13.3rem;
		top: -12rem;
		right: 0;
		left: auto;
	}
}

/* ----------------------------------------------------
	tradition
---------------------------------------------------- */
.tradition.events-sec,
.activity.events-sec {
	margin-bottom: 4rem;
}

/* ----------------------------------------------------
	dining
---------------------------------------------------- */
.dining .sec__head {
	background-image: url(../img/title-bg-fan02.webp);
}

.dining__image {
	margin-bottom: 8rem;
}

.dining .link-button {
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.dining .sec__body {
		padding: 0 2rem;
	}

	.dining__image {
		margin-bottom: 3rem;
	}

	.dining .link-button {
		margin: 0 auto;
	}
}

/* ----------------------------------------------------
	accommodation
---------------------------------------------------- */
.accommodation .sec__head {
	background-image: url(../img/title-bg-fan03.webp);
}

.accommodation .sec__body {
	width: 100%;
}

.accommodation .sec__body--title {
	margin-bottom: 5rem;
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
}

.accommodation .sec__body--content {
	background-image: url(../img/fan-bg.webp);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-top: 7.5rem;
}

@media screen and (max-width: 768px) {
	.accommodation .sec__body {
		width: 33.5rem;
	}

	.accommodation .sec__body--title {
		margin-bottom: 2.4rem;
		font-size: 2rem;
	}

	.accommodation .sec__body--content {
		background: none;
		padding-top: 0;
	}
}

/* 
	hotels
------------------------------ */
.hotels.sec__body--content {
	margin-bottom: 10rem;
}

.hotels__room {
	margin: 0 auto;
	width: 90.7rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.hotels__room--item {
	margin-bottom: 2.5rem;
	width: 44.2rem;
}

.hotels__image figcaption {
	margin-top: 1.5rem;
	line-height: 1.65;
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.hotels.sec__body--content {
		margin-bottom: 6rem;
	}

	.hotels__room {
		width: 33.5rem;
		display: block;
	}

	.hotels__room--item {
		margin-bottom: 2.5rem;
		width: 100%;
	}

	.hotels__image figcaption {
		margin-top: 0.5rem;
		font-size: 1.4rem;
		letter-spacing: -0.005em;
	}
}

/* 
	plan
------------------------------ */
.plan__content {
	margin: 0 auto;
	width: 90.7rem;
}

.plan.sec__body--content .note {
	margin-top: 0.5rem;
}

@media screen and (max-width: 768px) {
	.plan__content {
		width: 33.5rem;
	}

	.plan__table {
		overflow-x: auto;
	}

	.plan__table img {
		width: 70rem;
	}
}

/* ----------------------------------------------------
	rates
---------------------------------------------------- */
.rates .sec__head {
	background-image: url(../img/title-bg-fan04.webp);
}

.ratest__table {
	margin-bottom: 6rem;
	width: 100%;
}

.ratest__table thead th {
	background-color: rgb(var(--gld));
	padding: 0.5em 0;
	line-height: normal;
	color: rgb(var(--wht));
	font-size: 2.4rem;
	font-weight: 600;
	text-align: center;
}

.ratest__table thead th .notes {
	font-size: 1.6rem;
	font-weight: 400;
	display: block;
}

.ratest__table tbody {
	background-color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 2.4rem;
}

.ratest__table tbody tr:not(:last-of-type) {
	border-bottom: solid 1px rgb(var(--gld));
}

.ratest__table--th,
.ratest__table--td {
	padding: 1em 0;
}

.ratest__table--th {
	padding-left: 8rem;
	width: 50rem;
}

.ratest__table--td {
	font-weight: 700;
}

.ratest__table--td .price {
	font-size: 3.2rem;
}

.rates .link-button {
	margin: 0 auto 2rem;
}

.rates .note {
	margin-bottom: 10rem;
	text-align: center;
}

.rates .spgr {
	background-color: rgb(var(--wht));
	margin-bottom: 2rem;
	padding: 5rem 9.5rem;
	font-size: 1.6rem;
	border: solid 2px rgb(var(--gld));
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.rates .spgr__logo {
	width: 23.4rem;
	text-align: center;
}

.rates .spgr__logo--image {
	margin-top: 2rem;
}

.rates .spgr__content {
	width: 40rem;
}

.rates .spgr__content .link-button {
	background-color: rgb(var(--gld));
	margin: 2rem 0 0;
	width: 100%;
	height: 9rem;
}

.rates .cancel {
	font-size: 1.6rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.rates .sec__body {
		padding: 0 2rem;
	}

	.ratest__table {
		margin-bottom: 3rem;
	}

	.ratest__table thead th {
		font-size: 1.8rem;
	}

	.ratest__table thead th .notes {
		font-size: 1.4rem;
	}

	.ratest__table tbody,
	.ratest__table tbody tr,
	.ratest__table tbody th,
	.ratest__table tbody td {
		width: 100%;
		text-align: center;
		display: block;
	}

	.ratest__table tbody {
		font-size: 1.8rem;
	}

	.ratest__table--th {
		padding: 1em 0 0;
	}

	.ratest__table--td {
		padding: 0 0 1em;
		font-weight: 700;
	}

	.ratest__table--td .price {
		font-size: 2.4rem;
	}

	.rates .link-button {
		margin: 0 auto 1rem;
	}

	.rates .note {
		margin-bottom: 4rem;
		text-align: left;
	}

	.rates .spgr {
		margin-bottom: 2rem;
		padding: 2rem;
		font-size: 1.4rem;
		display: block;
	}

	.rates .spgr__logo {
		margin-bottom: 2rem;
		width: 100%;
	}

	.rates .spgr__logo--image {
		margin: 1.5rem auto 0;
		width: 16.4rem;
	}

	.rates .spgr__content {
		width: 100%;
	}

	.rates .spgr__content .link-button {
		margin-top: 1.5rem;
		height: 8rem;
	}

	.rates .cancel {
		font-size: 1.4rem;
		text-align: left;
	}
}

/* ----------------------------------------------------
	reservation
---------------------------------------------------- */
.reservation {
	padding-bottom: 10rem;
}

.reservation .sec__head {
	background-image: url(../img/title-bg-fan05.webp);
}

.reservation__title {
	background-color: rgb(var(--gld));
	margin-bottom: 1.6rem;
	height: 5.4rem;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 2.8rem;
	font-weight: 700;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.reservation__content--title {
	margin-bottom: 2rem;
	font-size: 2rem;
	text-align: center;
}

.reservation__content--detail {
	background-color: rgb(var(--wht));
}

.reservation__content--detail:not(:last-of-type) {
	margin-bottom: 3.5rem;
}

.reservation__table {
	width: 100%;
	font-family: var(--mincho);
	font-size: 2.4rem;
}

.reservation__table--row:not(:last-of-type) {
	border-bottom: solid 1px rgb(var(--gld));
}

.reservation__table--th,
.reservation__table--td {
	padding: 1em 0;
}

.reservation__table--th {
	padding-left: 5rem;
}

.reservation__table--td {
	padding-left: 4rem;
	width: 50rem;
	font-weight: 700;
}

.reservation__table--td.full {
	padding-left: 0;
	width: 100%;
	text-align: center;
}

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

	.reservation .sec__body {
		padding: 0 2rem;
	}

	.reservation__title {
		margin-bottom: 1rem;
		height: 4rem;
		font-size: 2.4rem;
	}

	.reservation .sec__inner {
		margin: 0 auto;
		width: 33.5rem;
	}

	.reservation__content--title {
		margin-bottom: 1rem;
		font-size: 1.6rem;
		text-align: center;
	}

	.reservation__content--detail:not(:last-of-type) {
		margin-bottom: 2.5rem;
	}

	.reservation__table,
	.reservation__table tbody,
	.reservation__table--row,
	.reservation__table--th,
	.reservation__table--td {
		width: 100%;
		display: block;
	}

	.reservation__table {
		font-size: 1.8rem;
	}

	.reservation__table--row:not(:last-of-type) {
		border-bottom: solid 1px rgb(var(--gld));
	}

	.reservation__table--th,
	.reservation__table--td {
		text-align: center;
	}

	.reservation__table--th {
		padding: 1em 0 0;
	}

	.reservation__table--td {
		padding: 0 0 1em;
		width: 100%;
		font-weight: 600;
	}

	.reservation__table--td.full {
		padding: 1em 0;
		text-align: center;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: rgb(var(--wht));
	padding: 7rem 0 5rem;
}

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

/* 
	footer__contact
------------------------------ */
.footer__contact {
	background-image: url(../img/fan-bg.webp);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	margin-bottom: 6rem;
	padding-bottom: 2rem;
}

.footer__contact--title {
	background-color: rgb(var(--gra));
	margin: 0 auto 2rem;
	width: 40rem;
	height: 4rem;
	color: rgb(var(--wht));
	font-size: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer__contact--content {
	text-align: center;
}

.footer__contact--content:not(:last-of-type) {
	margin-bottom: 5rem;
}

.footer__contact--content .text {
	font-size: 1.6rem;
}

.footer__contact--content .tel {
	line-height: normal;
}

.footer__contact--content .tel__time {
	font-size: 1.6rem;
}

.footer__contact--content .tel .telephone {
	font-family: var(--mincho);
	font-size: 4rem;
	font-weight: 600;
	display: inline-flex;
	justify-content: center;
}

.footer__contact--content .tel .telephone.free {
	background-image: url(../img/icon-free.svg);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: 5.9rem auto;
	padding-left: 6.5rem;
}

.footer__contact--content .note {
	margin-top: 2rem;
}

@media screen and (max-width: 768px) {
	.footer__contact {
		background-size: auto 18rem;
		margin: 0 auto 3rem;
		padding-bottom: 4rem;
	}

	.footer__contact--title {
		margin: 0 auto 1rem;
		width: 33.5rem;
		height: 2.6rem;
		font-size: 1.4rem;
	}

	.footer__contact--content {
		margin: 0 auto;
		width: 33.5rem;
	}

	.footer__contact--content .text {
		font-size: 1.4rem;
	}

	.footer__contact--content .tel__time {
		font-size: 1.4rem;
	}

	.footer__contact--content .note {
		margin-top: 0.5rem;
	}
}

/* 
	hotel-sns
------------------------------ */
.hotel-sns {
	margin: 0 auto 6rem;
	width: 90.6rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.hotel-sns__item {
	margin-bottom: 2rem;
	width: 44.3rem;
}

.hotel-sns__item a {
	background-color: rgb(var(--gld));
	background-image: url(../img/icon-instafram.svg);
	background-position: center left 5rem;
	background-repeat: no-repeat;
	background-size: 6.2rem auto;
	padding-left: 13rem;
	height: 11.6rem;
	color: rgb(var(--wht));
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	text-decoration: none;
}

.hotel-sns__item.line a {
	background-image: url(../img/icon-line.svg);
}

@media screen and (max-width: 768px) {
	.hotel-sns {
		width: 33.5rem;
		display: block;
	}

	.hotel-sns__item {
		margin-bottom: 0.8rem;
		width: 100%;
	}

	.hotel-sns__item a {
		background-position: center left 1.9rem;
		background-repeat: no-repeat;
		background-size: 5rem auto;
		padding-left: 8rem;
		height: 9rem;
		font-size: 1.4rem;
	}
}

/* 
	hotel-logo
------------------------------ */
.footer .hotel-logo {
	margin: 0 auto 8rem;
	width: 90.6rem;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer .hotel-logo__item {
	margin: 0 3rem;
}

.footer .hotel-logo__item.sakura {
	width: 15.44rem;
}

.footer .hotel-logo__item.takanawa {
	width: 16.96rem;
}

.footer .hotel-logo__item.hanakohro {
	width: 12.64rem;
}

.footer .hotel-logo__item.shintakanawa {
	width: 16.96rem;
}

@media screen and (max-width: 768px) {
	.footer .hotel-logo {
		margin-bottom: 0;
		width: 33.5rem;
		display: block;
	}

	.footer .hotel-logo__item {
		margin: 0 auto 5rem;
	}

	.footer .hotel-logo__item.sakura {
		width: 15.44rem;
	}

	.footer .hotel-logo__item.takanawa {
		width: 16.96rem;
	}

	.footer .hotel-logo__item.hanakohro {
		width: 12.64rem;
	}

	.footer .hotel-logo__item.shintakanawa {
		width: 16.96rem;
	}
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	line-height: 1;
	font-size: 1.4rem;
	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 {
		font-size: 4.267vw;
		text-align: center;
		display: block;
	}

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

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

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

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

/* 
	copy
------------------------------ */
.footer .copy {
	margin-top: 2em;
	line-height: normal;
	font-size: 1.1rem;
	text-align: center;
}

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