/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background-image: url(../img/hotels-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: min(8.2rem, 6.003vw);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}

.header__container {
	margin: 0 auto;
	padding: 0 min(5.5rem, 4.026vw);
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header__logo {
	width: min(19.2rem, 14.056vw);
}

.header .gnav__list {
	line-height: normal;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header .gnav__list--item:not(:last-of-type) {
	margin-right: min(2rem, 1.464vw);
	padding-right: min(2rem, 1.464vw);
	border-right: solid 1px rgb(var(--wht));
}

.header .gnav__link {
	color: rgb(var(--wht));
	font-family: var(--stix);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	position: relative;
}

@media screen and (max-width: 768px) {
	.header {
		background-image: url(../img/hotels-bg_sp.webp);
		height: 17.333vw;
	}

	.header__container {
		padding: 0;
		width: 100%;
	}

	.header__logo img {
		margin-left: 4vw;
		width: auto;
		height: 12vw;
	}

	.header .gnav {
		background-color: rgb(var(--gld));
		padding-top: 21.333vw;
		width: 100%;
		height: 100vh;
		overflow: auto;
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		transform: translateX(100%);
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.header .gnav__list {
		line-height: normal;
		display: block;
	}

	.header .gnav__list--item {
		padding: 0 8vw;
	}

	.header .gnav__list--item:not(:last-of-type) {
		margin-bottom: 5.333vw;
	}

	.header .gnav__list--item:not(:last-of-type) {
		margin-right: 0;
		padding-right: 0;
		border-right: none;
	}

	.header .gnav__link {
		font-size: 4.8vw;
	}

	/* is-open */
	body.is-open {
		overflow: hidden;
	}

	.is-open .gnav {
		z-index: 999;
		transform: translateX(0);
	}
}

/*
	toggle
---------------------------------------------------- */
.header .toggle {
	display: none;
}

@media screen and (max-width: 768px) {
	.header .toggle {
		width: 14.133vw;
		height: 6.667vw;
		display: block;
		position: fixed;
		top: 5.333vw;
		right: 5.333vw;
		z-index: 1000;
	}

	.header .toggle__item {
		background: rgb(var(--wht));
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		left: 50%;
		transition: all 0.6s;
	}

	.header .toggle__item:nth-child(1) {
		top: 0;
		transform: translateX(-50%);
	}

	.header .toggle__item:nth-child(2) {
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.header .toggle__item:nth-child(3) {
		bottom: 0;
		transform: translateX(-50%);
	}

	/* is-open */
	.is-open .header .toggle__item {
		background: rgb(var(--wht));
		transform-origin: 0 0;
	}

	.is-open .header .toggle__item:nth-child(1) {
		top: 50%;
		transform: rotate(30deg) translate(-50%, -50%);
	}

	.is-open .header .toggle__item:nth-child(2) {
		opacity: 0;
	}

	.is-open .header .toggle__item:nth-child(3) {
		top: 50%;
		bottom: auto;
		transform: rotate(-30deg) translate(-50%, -50%);
	}
}

/*
	gnav__hotel-list
---------------------------------------------------- */
.hotel-switch {
	display: flex;
	align-items: center;
}

.hotel-switch svg {
	margin-left: min(0.5rem, 0.366vw);
	width: min(1.3rem, 0.952vw);
	height: auto;
}

.hotel-switch svg path {
	fill: rgb(var(--wht));
}

.gnav__hotel-list {
	background-color: #D9D9D9;
	width: min(28rem, 20.498vw);
	font-size: min(1.5rem, 1.098vw);
	text-align: center;
	display: none;
}

.hotel-switch:hover+.gnav__hotel-list,
.gnav__hotel-list:hover {
	opacity: 1.25;
	visibility: visible;
	display: block;
	position: absolute;
	top: min(1.8rem, 1.318vw);
	left: 0;
	z-index: 1;
}

.gnav__hotel-list--item:not(:last-of-type) {
	border-bottom: solid 1px #AFAFAF;
}

.gnav__hotel-list--item a {
	width: 100%;
	height: min(3rem, 2.196vw);
	color: rgb(var(--blk));
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.gnav__hotel-list--item a:hover {
	background-color: #676464;
	color: rgb(var(--wht));
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.hotel-switch {
		margin-bottom: 1em;
		display: flex;
		align-items: center;
	}

	.hotel-switch svg {
		margin-left: 1.333vw;
		width: 2.933vw;
	}

	.gnav__hotel-list {
		background: none;
		width: 100%;
		line-height: 2;
		font-size: 3.733vw;
		text-align: left;
		display: block;
		position: static;
	}

	.hotel-switch:hover+.gnav__hotel-list,
	.gnav__hotel-list:hover {
		position: static;
	}

	.gnav__hotel-list--item {
		padding-left: 8vw;
	}

	.gnav__hotel-list--item:not(:last-of-type) {
		border-bottom: none;
	}

	.gnav__hotel-list--item a {
		width: 100%;
		height: auto;
		color: rgb(var(--wht));
		text-decoration: none;
		display: inline-block;
	}

	.gnav__hotel-list--item a:hover {
		background: none;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: rgb(var(--wht));
	padding: min(4rem, 2.928vw) 0;
	font-family: var(--gothic);
}

@media screen and (max-width: 768px) {
	.footer {
		padding: 13.333vw 0;
	}
}

/* 
	hotel-list
------------------------------ */
.hotel-list {
	margin: 0 auto min(5.5rem, 4.026vw);
	width: min(108rem, 79.063vw);
	display: flex;
	flex-wrap: wrap;
}

.hotel-list__item {
	margin-bottom: min(2.5rem, 1.83vw);
}

/* 1列目 */
.hotel-list__item:nth-child(4n+1) {
	width: min(27.5rem, 20.132vw);
}

/* 2列目 */
.hotel-list__item:nth-child(4n+2) {
	width: min(24rem, 17.57vw);
}

/* 3列目 */
.hotel-list__item:nth-child(4n+3) {
	width: min(22.5rem, 16.471vw);
}

/* 4列目 */
.hotel-list__item:nth-child(4n+4) {
	width: min(21rem, 15.373vw);
}

.hotel-list__item:not(:nth-child(4n)) {
	margin-right: min(4rem, 2.928vw);
}

.hotel-list__item a {
	font-size: min(1.5rem, 1.098vw);
	white-space: nowrap;
	display: inline-flex;
}

.hotel-list__item a::before {
	content: "＞";
}

@media screen and (max-width: 768px) {
	.hotel-list {
		margin-bottom: 10.667vw;
		width: 100%;
		display: block;
	}

	.hotel-list__item {
		margin-bottom: 1.6vw;
		padding: 0 12vw;
	}

	.hotel-list__item:nth-child(4n+1),
	.hotel-list__item:nth-child(4n+2),
	.hotel-list__item:nth-child(4n+3),
	.hotel-list__item:nth-child(4n+4) {
		width: 100%;
	}

	.hotel-list__item:not(:nth-child(4n)) {
		margin-right: 0;
	}

	.hotel-list__item a {
		font-size: 3.733vw;
	}
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	margin-bottom: min(2rem, 1.464vw);
	line-height: 1;
	font-size: min(1.8rem, 1.318vw);
	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 {
		margin-bottom: 3.2vw;
		font-size: 4vw;
	}

	.footer .hotel-nav__item a {
		padding: 0 1em;
	}
}

/* 
	copy
------------------------------ */
.footer .copy {
	font-size: min(1rem, 0.732vw);
	font-weight: 400;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer .copy {
		font-size: 2.4vw;
		font-size: 2.933vw;
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	padding-top: min(8.2rem, 6.003vw);
}

@media screen and (max-width: 768px) {
	.main {
		padding-top: 17.333vw;
	}
}

/* ----------------------------------------------------
	kv
---------------------------------------------------- */
.kv {
	background: #B27C1B;
	background: linear-gradient(90deg, rgba(var(--gld), 1) 0%, rgba(207, 169, 100, 1) 25%, rgba(var(--gld), 1) 50%, rgba(207, 169, 100, 1) 75%, rgba(var(--gld), 1) 100%);
	padding-bottom: min(0.5rem, 0.366vw);
	width: 100%;
}

@media screen and (max-width: 768px) {
	.kv {
		padding-bottom: 1.333vw;
	}
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	background-image: url(../img/about-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: min(10rem, 7.321vw) 0 min(20rem, 14.641vw);
	color: rgb(var(--wht));
	text-align: center;
}

.about__logo {
	margin: 0 auto min(8rem, 5.857vw);
	width: min(69rem, 50.512vw);
}

.about__title {
	margin-bottom: min(2rem, 1.464vw);
	line-height: 1.5;
	font-family: var(--stix);
	font-size: min(6.8rem, 4.978vw);
	font-weight: 600;
	text-shadow: 0 0 min(2.4rem, 1.757vw) rgba(var(--blk), 0.75);
}

.about__title--small {
	line-height: 1.8;
	font-size: min(2.3rem, 1.684vw);
	font-weight: 700;
	display: block;
}

.about__title--small span {
	font-size: min(2.7rem, 1.977vw);
	display: block;
}

.about__lead {
	margin-bottom: min(6rem, 4.392vw);
	line-height: 1.9;
	font-size: min(2.2rem, 1.611vw);
	font-weight: 700;
	text-shadow: 0 0 min(2.4rem, 1.757vw) rgba(var(--blk), 0.75);
}

.about__date {
	margin-bottom: min(12rem, 8.785vw);
}

.about__date--title {
	margin-bottom: min(1rem, 0.732vw);
}

.about__date--title span {
	background-color: rgb(var(--gld));
	width: min(28rem, 20.498vw);
	height: min(4.6rem, 3.367vw);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 700;
	border-radius: min(4.6rem, 3.367vw);
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.about__date--content {
	font-size: min(4.9rem, 3.587vw);
	font-weight: 600;
}

.about__date--content small {
	font-size: min(3.5rem, 2.562vw);
}

@media screen and (max-width: 768px) {
	.about {
		background-image: url(../img/about-bg_sp.webp);
		padding: 13.333vw 0 26.667vw;
	}

	.about__logo {
		margin-bottom: 5.333vw;
		width: 85.333vw;
	}

	.about__title {
		margin-bottom: 8vw;
		line-height: 1;
		font-size: 9.6vw;
		text-shadow: 0 0 5.6vw rgba(var(--blk), 0.75);
	}

	.about__title--small {
		margin-bottom: 5.333vw;
		line-height: 1.5;
		font-size: 4.8vw;
	}

	.about__title--small span {
		margin-top: 0.5em;
		font-size: 5.867vw;
	}

	.about__lead {
		margin: 0 auto 16vw;
		width: 85.333vw;
		line-height: 2.6;
		font-size: 4.267vw;
		text-align: left;
		text-shadow: 0 0 5.6vw rgba(var(--blk), 0.75);
	}

	.about__date {
		margin-bottom: 16vw;
	}

	.about__date--title {
		margin-bottom: 3.2vw;
	}

	.about__date--title span {
		width: 64vw;
		height: 10.667vw;
		font-size: 5.333vw;
		border-radius: 10.667vw;
	}

	.about__date--content {
		font-size: 7.733vw;
	}

	.about__date--content small {
		font-size: 4vw;
	}
}

/*
	whats
------------------------------ */
.whats {
	background-image: url(../img/whats-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
	width: min(100rem, 73.206vw);
	height: min(100.6rem, 73.646vw);
	color: rgb(var(--blk));
	display: flex;
	justify-content: center;
	align-items: center;
}

.whats__content {
	width: min(80rem, 58.565vw);
}

.whats__title {
	font-family: var(--stix);
	font-size: min(4.9rem, 3.587vw);
	font-weight: 500;
	letter-spacing: normal;
}

.whats__title span {
	background: linear-gradient(0deg, #875802 13%, #F2B74E 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.whats__detail {
	margin-bottom: min(4rem, 2.928vw);
}

.whats__detail--title {
	margin-bottom: min(2rem, 1.464vw);
	font-size: min(3.2rem, 2.343vw);
}

.whats__detail--text {
	font-size: min(1.6rem, 1.171vw);
}

.whats__detail--text .text:not(:last-of-type) {
	margin-bottom: 1em;
}

.whats__image {
	margin-bottom: min(4rem, 2.928vw);
}

.whats__content .link-button {
	margin: 0 auto;
	width: min(32rem, 23.426vw);
	height: min(5rem, 3.66vw);
	font-size: min(1.8rem, 1.318vw);
	border: solid 1px rgb(var(--blk));
}

.whats__content .link-button svg {
	margin-left: min(1rem, 0.732vw);
	width: min(1.5rem, 1.098vw);
	height: auto;
}

@media screen and (max-width: 768px) {
	.whats {
		background-image: url(../img/whats-bg_sp.webp);
		width: 85.333vw;
		height: 193.067vw;
	}

	.whats__content {
		width: 100%;
	}

	.whats__title {
		font-size: 6.667vw;
	}

	.whats__detail {
		margin-bottom: 5.333vw;
	}

	.whats__detail--title {
		margin-bottom: 3.733vw;
		font-size: 4.267vw;
		letter-spacing: -0.005em;
	}

	.whats__detail--text {
		line-height: 1.8;
		font-size: 3.467vw;
	}

	.whats__image {
		margin: 0 auto 4.8vw;
		width: 69.333vw;
	}

	.whats__content .link-button {
		width: 69.333vw;
		height: 10.667vw;
		font-size: 3.733vw;
	}

	.whats__content .link-button svg {
		margin-left: 2.667vw;
		width: 4vw;
	}
}

/* ----------------------------------------------------
	collaboration
---------------------------------------------------- */
.collaboration {
	padding-top: min(10rem, 7.321vw);
	color: rgb(var(--wht));
}

.collaboration__title {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: normal;
	font-family: var(--stix);
	font-size: min(5.5rem, 4.026vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: normal;
}

.collaboration__date {
	margin-bottom: min(1rem, 0.732vw);
	line-height: normal;
	font-size: min(3.5rem, 2.562vw);
	font-weight: 700;
	text-align: center;
	letter-spacing: normal;
}

.collaboration__date span {
	font-size: min(3rem, 2.196vw);
	font-weight: 600;
}

.collaboration__date small {
	font-size: min(2.1rem, 1.537vw);
	font-weight: 600;
}

.collaboration__lead {
	margin-bottom: min(4rem, 2.928vw);
}

.collaboration__lead .text {
	font-size: min(2rem, 1.464vw);
	font-weight: 700;
	text-align: center;
}

.collaboration__nav {
	margin-bottom: min(10rem, 7.321vw);
}

.collaboration__nav--list {
	margin: 0 auto;
	width: min(100rem, 73.206vw);
	display: flex;
	justify-content: space-between;
}

.collaboration__nav--item {
	width: min(30.4rem, 22.255vw);
	height: min(12.2rem, 8.931vw);
}

.collaboration__nav--item a {
	background-image: url(../img/collaboration-nav-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	font-size: min(2.3rem, 1.684vw);
	font-weight: 600;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.collaboration .link-button {
	background: var(--GOLD_GARD, linear-gradient(0deg, #875802 12.98%, #F2B74E 100%));
	margin: min(4rem, 2.928vw) auto 0;
	width: min(32rem, 23.426vw);
	height: min(7.5rem, 5.49vw);
	font-size: min(2rem, 1.464vw);
	font-weight: 900;
	border-radius: min(7.5rem, 5.49vw);
}

.collaboration .link-button svg {
	margin-left: min(1.5rem, 1.098vw);
	width: min(1.5rem, 1.098vw);
	height: auto;
	transform: rotate(-90deg);
}

.collaboration span.link-button {
	background: var(--button, linear-gradient(180deg, #A8CB61 0%, #BB1688 100%));
	font-family: var(--stix);
	font-size: min(2.7rem, 1.977vw);
	font-weight: 600;
}

.collaboration span.link-button svg {
	position: relative;
	bottom: min(0.3rem, 0.22vw);
}

.collaboration span.link-button:hover {
	opacity: 0.6;
}

.collaboration .link-button svg path {
	fill: rgb(var(--wht));
}

.collaboration__bg {
	background-image: url(../img/hotels-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

@media screen and (max-width: 768px) {
	.collaboration {
		padding-top: 16vw;
	}

	.collaboration__title {
		margin-bottom: 1.6vw;
		font-size: 9.6vw;
	}

	.collaboration__date {
		margin-bottom: 3.2vw;
		font-size: 5.867vw;
	}

	.collaboration__date span {
		font-size: 4.267vw;
	}

	.collaboration__date small {
		font-size: 3.733vw;
	}

	.collaboration__lead {
		margin-bottom: 8vw;
	}

	.collaboration__lead .text {
		line-height: normal;
		font-size: 4.267vw;
	}

	.collaboration__nav {
		margin-bottom: 21.333vw;
	}

	.collaboration__nav--list {
		width: 65.067vw;
		display: block;
	}

	.collaboration__nav--item {
		width: 100%;
		height: 19.733vw;
	}

	.collaboration__nav--item:not(:last-of-type) {
		margin-bottom: 8vw;
	}

	.collaboration__nav--item a {
		background-image: url(../img/collaboration-nav-bg_sp.webp);
		font-size: 4.267vw;
	}

	.collaboration .link-button {
		margin-top: 8vw;
		width: 53.333vw;
		height: 13.333vw;
		font-size: 3.733vw;
		border-radius: 13.333vw;
	}

	.collaboration .link-button svg {
		margin-left: 2.4vw;
		width: 3.2vw;
	}

	.collaboration span.link-button {
		font-size: 4.8vw;
	}

	.collaboration__bg {
		background-image: url(../img/hotels-bg_sp.webp);
	}
}

/* ----------------------------------------------------
	hotels
---------------------------------------------------- */
.hotels {
	margin: 0 auto min(15rem, 10.981vw);
}

.hotels__title {
	background-image: url(../img/hotels-title-top.webp), url(../img/hotels-title-bottom.webp);
	background-position: center top, center bottom;
	background-repeat: repeat-x, no-repeat;
	background-size: auto min(0.4rem, 0.293vw), 100% auto;
	margin: 0 auto 2.928vw;
	padding: min(3.6rem, 2.635vw) 0 min(6.2rem, 4.539vw);
	width: min(100rem, 73.206vw);
	font-size: min(3.8rem, 2.782vw);
	font-weight: 700;
	text-align: center;
}

.hotels__content {
	margin: 0 auto;
	width: 58.565vw;
	text-align: center;
}

.hotels__content--date {
	margin-top: min(2rem, 1.538vw);
	line-height: 1;
	font-size: min(2.3rem, 1.769vw);
	font-weight: 700;
	text-align: center;
}

.hotels__content--title {
	margin-top: min(1.5rem, 1.098vw);
	line-height: normal;
	font-size: min(3.3rem, 2.416vw);
	font-weight: 700;
	letter-spacing: normal;
}

.hotels__content .note {
	margin-top: min(3rem, 2.308vw);
}

.hotels__content .note li {
	font-size: min(1.4rem, 1.077vw);
}

@media screen and (max-width: 768px) {
	.hotels {
		margin-bottom: 20vw;
	}

	.hotels__title {
		background-image: url(../img/hotels-title-top.webp), url(../img/hotels-title-bottom_sp.webp);
		background-size: auto 1.333vw, auto 4.267vw;
		margin-bottom: 9.6vw;
		padding: 6.933vw 0 9.6vw;
		width: 85.333vw;
		line-height: normal;
		font-size: 4.8vw;
		letter-spacing: -0.005em;
	}

	.hotels__content {
		width: 100%;
	}

	.hotels__image {
		margin: 0 auto;
		width: 80%;
	}

	.hotels__content--date {
		margin-top: 6.4vw;
		font-size: 4.267vw;
	}

	.hotels__content--title {
		margin-top: 2.667vw;
		font-size: 5.333vw;
	}

	.hotels__content .note {
		margin-top: 4vw;
	}

	.hotels__content .note li {
		font-size: 3.2vw;
	}
}

/*
	hotels__slide
------------------------------ */
.category {
	margin-top: 4.539vw;
	font-size: min(2rem, 1.464vw);
	display: flex;
	justify-content: center;
}

.category li {
	background-color: rgb(var(--blk));
	margin: 0 min(0.5rem, 0.366vw);
	padding: 0 1em;
	height: min(3rem, 2.308vw);
	line-height: 1;
	border-radius: min(2rem, 1.464vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.category li span {
	position: relative;
}

.category li span.jp {
	font-family: var(--mincho);
}

.category li span.en {
	font-family: var(--stix);
	top: min(0.2rem, 0.154vw);
}

.category .type01 {
	background: #40BFC4;
}

.category .type02 {
	background: var(--GOLD_GARD, linear-gradient(0deg, #875802 12.98%, #F2B74E 100%));
}

.category .type03 {
	background: #CB608C;
}

.category .type04 {
	background: #0E822D;
}

.category .type05 {
	background: #6F5B8E;
}

.category .type06 {
	background: #970000;
}

.category .type07 {
	background: #314C90;
}

.category .type08 {
	background: #DF9400;
}

@media screen and (max-width: 768px) {
	.category {
		margin-top: 9.6vw;
		font-size: 3.733vw;
	}

	.category li {
		margin: 0 1.333vw;
		height: 5.333vw;
		border-radius: 5.333vw;
	}

	.category li span {
		position: relative;
		top: 0.267vw;
	}
}

/*
	hotels__slide
------------------------------ */
.hotels__slide {
	overflow: hidden;
	position: relative;
}

.hotels .hotels-pagination {
	width: 58.565vw;
	height: 1.154vw;
	display: flex;
	justify-content: center;
	position: absolute;
	top: 37.692vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.hotels .swiper-pagination-bullet {
	background-color: rgba(var(--wht), 0.75);
	margin: 0 0.385vw !important;
	width: 1.154vw;
	height: 1.154vw;
}

.hotels .swiper-pagination-bullet-active {
	background-color: rgb(var(--wht));
}

.hotels .hotels-button-prev,
.hotels .hotels-button-next {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 3.846vw;
	height: 3.846vw;
	opacity: 1;
	position: absolute;
	top: 16.923vw;
	top: 15.385vw;
	z-index: 1;
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.hotels .swiper-button-disabled {
	opacity: 0;
}

.hotels .hotels-button-prev {
	background-image: url(../img/hotels-slide-prev.webp);
	left: 18.462vw;
}

.hotels .hotels-button-next {
	background-image: url(../img/hotels-slide-next.webp);
	right: 18.462vw;
}

@media screen and (max-width: 768px) {
	.hotels .hotels-pagination {
		width: 100%;
		height: 2.4vw;
		top: 53.333vw;
	}

	.hotels .swiper-pagination-bullet {
		margin: 0 1.333vw !important;
		width: 2.4vw;
		height: 2.4vw;
	}

	.hotels .hotels-button-prev,
	.hotels .hotels-button-next {
		width: 8vw;
		height: 8vw;
		top: 22.4vw;
	}

	.hotels .swiper-button-disabled {
		opacity: 1;
	}

	.hotels .hotels-button-prev {
		left: 0.8vw;
	}

	.hotels .hotels-button-next {
		right: 0.8vw;
	}
}

/*
	modal
------------------------------ */
.modal,
.modal-overlay {
	display: none;
	position: fixed;
}

.modal {
	background-color: rgb(var(--wht));
	box-shadow: 0 min(0.4rem, 0.293vw) min(3rem, 2.196vw) min(0.3rem, 0.22vw) rgba(var(--blk), 0.25);
	width: min(100rem, 73.206vw);
	top: 50%;
	left: 50%;
	z-index: 2001;
	transform: translate(-50%, -50%);
}

.modal-close {
	background-image: url(../img/modal-ciose.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(4.6rem, 3.538vw);
	height: min(4.6rem, 3.538vw);
	display: block;
	position: absolute;
	top: max(-2.3rem, -1.769vw);
	right: max(-2.3rem, -1.769vw);
	z-index: 10;
	cursor: pointer;
}

.modal-overlay {
	background: rgba(var(--blk), 0.5);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2000;
	cursor: pointer;
}

body.modal-open {
	overflow: hidden;
}

.modal__wrapper {
	padding: min(2.5rem, 1.83vw) min(2.5rem, 1.83vw) min(6rem, 4.392vw);
	max-height: 85vh;
	overflow-y: auto;
}

.modal__content {
	padding: 0 min(5rem, 3.846vw);
	color: rgb(var(--blk));
}

.modal__image {
	margin-bottom: min(4.2rem, 3.231vw);
}

.modal__image .sp-link {
	pointer-events: none;
}

.modal .category {
	margin: 0 0 min(1.6rem, 1.231vw);
	color: rgb(var(--wht));
	justify-content: flex-start;
}

.modal__date {
	color: rgb(var(--gld));
	line-height: normal;
	font-family: var(--gothic);
	font-size: min(2rem, 1.538vw);
	font-weight: 700;
}

.modal__title {
	margin: 0 0 min(1.6rem, 1.231vw);
	font-size: min(2.5rem, 1.923vw);
	font-weight: 700;
}

.modal__price {
	margin: 0 0 min(1.6rem, 1.231vw);
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.231vw);
}

.modal__price+.note {
	margin-bottom: min(1.6rem, 1.231vw);
}

.modal__text {
	margin-bottom: min(3rem, 2.308vw);
	font-family: var(--gothic);
}

.modal__text .link {
	margin-bottom: 1em;
	color: #3CA8CF;
	font-size: min(1.6rem, 1.231vw);
	font-weight: 400;
}

.modal__text .text {
	font-size: min(1.6rem, 1.231vw);
	font-weight: 400;
}

.modal__text .note,
.modal__text .type1 {
	margin-top: 1em;
}

.modal__text .type1,
.modal__text .cnt {
	font-size: min(1.6rem, 1.231vw);
}

.modal__text .type1 li::before {
	color: #E0CBA4;
}

.modal__topic {
	background-color: #F9F1E3;
	border: solid 1px rgb(var(--gld));
}

.modal__topic--content {
	padding: min(2rem, 1.538vw) min(3.2rem, 2.462vw);
}

.modal__topic--title {
	line-height: normal;
	color: rgb(var(--gld));
	font-size: min(2.2rem, 1.692vw);
}

.modal__topic--detail {
	font-size: min(1.5rem, 1.154vw);
}

.modal__topic--detail .list.benefits li {
	margin-left: 3.35em;
	text-indent: -3.35em;
	letter-spacing: -0.005em;
}

.modal__topic--detail .color-type1 {
	color: rgb(var(--gld));
}

/* flex */
.flex.modal__topic {
	font-weight: 600;
	display: flex;
	align-items: center;
}

.flex.modal__topic .modal__topic--content {
	padding: 0 0 0 min(2.5rem, 1.83vw);
	width: calc(100% - min(14.5rem, 11.154vw));
}

.flex.modal__topic .modal__topic--image {
	width: min(14.5rem, 11.154vw);
}

@media screen and (max-width: 768px) {
	.modal {
		box-shadow: 0 min(0.4rem, 0.293vw) min(3rem, 2.196vw) min(0.3rem, 0.22vw) rgba(var(--blk), 0.25);
		box-shadow: 0 1.067vw 8vw 0.8vw rgba(var(--blk), 0.25);
		width: 85.333vw;
	}

	.modal-close {
		width: 10.667vw;
		height: 10.667vw;
		top: -5.333vw;
		right: -5.333vw;
	}

	.modal__wrapper {
		padding: 2.133vw 2.133vw 12vw;
		max-height: 85vh;
		overflow-y: auto;
	}

	.modal__content {
		padding: 0 3.2vw;
	}

	.modal__image {
		margin-bottom: 4vw;
	}

	.modal__image .sp-link {
		pointer-events: all;
	}

	.modal .category {
		margin-bottom: 1.067vw;
	}

	.modal__date {
		font-size: 4.267vw;
	}

	.modal__title {
		margin: 2.667vw 0 4vw;
		line-height: normal;
		/* font-size: 5.333vw; */
		font-size: 4.8vw;
	}

	.modal__price {
		margin-bottom: 4vw;
		font-size: 3.733vw;
	}

	.modal__price+.note {
		margin-bottom: 4vw;
	}

	.modal__text {
		margin-bottom: 5.333vw;
	}

	.modal__text .link,
	.modal__text .text,
	.modal__text .type1,
	.modal__text .cnt {
		font-size: 3.733vw;
	}

	.modal__topic--content {
		padding: 4vw;
	}

	.modal__topic--title {
		font-size: 4.8vw;
	}

	.modal__topic--detail {
		font-size: 3.733vw;
	}

	/* flex */
	.flex.modal__topic {
		padding: 4vw;
		display: block;
	}

	.flex.modal__topic .modal__topic--content {
		margin-bottom: 4.267vw;
		padding: 0;
		width: 100%;
	}

	.flex.modal__topic .modal__topic--image {
		margin: 0 auto;
		width: 45.333vw;
	}

	#modal-kioicho01 .modal__topic--detail .list li {
		margin-left: 0;
		text-indent: 0;
	}

	.modal__topic--detail .color-type1 {
		display: block;
	}
}

/* ----------------------------------------------------
	offer
---------------------------------------------------- */
.offer {
	padding-bottom: min(10rem, 7.321vw);
}

.offer__container {
	background-image: url(../img/offer-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
	width: min(100rem, 73.206vw);
	height: min(114.6rem, 83.895vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.offer__title {
	background-image: url(../img/title-bg.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: min(23.2rem, 16.984vw) auto;
	margin-bottom: min(2rem, 1.464vw);
	padding-bottom: min(3rem, 2.196vw);
	font-family: var(--stix);
	font-size: min(5.5rem, 4.026vw);
	font-weight: 500;
	text-align: center;
	letter-spacing: normal;
}

.offer__title span {
	background: linear-gradient(0deg, #875802 13%, #F2B74E 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.offer__lead {
	margin-bottom: min(3rem, 2.196vw);
}

.offer__lead .text {
	line-height: normal;
	font-size: min(2.2rem, 1.611vw);
	font-weight: 700;
	text-align: center;
}

.offer__image {
	margin: 0 auto min(3rem, 2.196vw);
	width: min(23.3rem, 17.057vw);
}

.offer__date {
	margin-bottom: min(1rem, 0.732vw);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 600;
	display: flex;
	justify-content: center;
}

.offer__date--title {
	margin-right: 0.25em;
	display: flex;
	align-items: center;
}

.offer__date--title svg {
	margin-left: 0.25em;
	width: min(1.4rem, 1.025vw);
	height: auto;
	transform: rotate(-90deg);
}

.offer__date--title svg path {
	fill: rgb(var(--gld));
}

.offer__text {
	margin-bottom: min(2rem, 1.464vw);
	line-height: normal;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 700;
	text-align: center;
}

.offer__topic {
	background-color: #F9F1E3;
	margin: 0 auto min(2rem, 1.464vw);
	padding: min(2rem, 1.464vw) 0;
	width: min(58.5rem, 42.826vw);
	line-height: normal;
	text-align: center;
	border: solid 1px rgb(var(--gld));
}

.offer__topic--text {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 600;
}

.offer__topic--text .color {
	color: rgb(var(--gld));
}

.offer__topic--link {
	margin-top: min(1.5rem, 1.098vw);
	font-size: min(1.4rem, 1.025vw);
	font-weight: 900;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.offer__topic--link svg {
	width: min(1rem, 0.732vw);
	height: auto;
	transform: rotate(-90deg);
}

.offer__topic+.note {
	margin: 0 auto;
	width: min(58.5rem, 42.826vw);
	line-height: normal;
}

@media screen and (max-width: 768px) {
	.offer {
		padding-bottom: 21.333vw;
	}

	.offer__container {
		background-image: url(../img/offer-bg_sp.webp);
		width: 85.333vw;
		height: 264vw;
	}

	.offer__title {
		background: none;
		margin-bottom: 4vw;
		padding-bottom: 0;
		line-height: normal;
		font-size: 6.667vw;
	}

	.offer__lead {
		margin-bottom: 5.867vw;
	}

	.offer__lead .text {
		font-size: 3.733vw;
	}

	.offer__image {
		margin-bottom: 5.333vw;
		width: 41.6vw;
	}

	.offer__date {
		margin-bottom: 2.667vw;
		line-height: normal;
		font-size: 4.267vw;
		text-align: center;
		display: block;
	}

	.offer__date--title {
		margin-right: 0;
		font-size: 4.8vw;
		display: block;
	}

	.offer__date--title svg {
		display: none;
	}

	.offer__text {
		margin: 0 auto 5.333vw;
		width: 69.333vw;
		font-size: 3.733vw;
		text-align: left;
	}

	.offer__topic {
		margin-bottom: 5.333vw;
		padding: 3.733vw;
		width: 69.333vw;
	}

	.offer__topic--text {
		font-size: 3.733vw;
		text-align: left;
	}

	.offer__topic--text+.note {
		text-align: left;
	}

	.offer__topic--link {
		margin-top: 0.5em;
		font-size: 3.733vw;
	}

	.offer__topic--link svg {
		width: 2.667vw;
	}

	.offer__topic+.note {
		width: 69.333vw;
	}
}

/* ----------------------------------------------------
	banner
---------------------------------------------------- */
.banner {
	background-image: url(../img/banner-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: min(10rem, 7.321vw) 0;
}

.banner__title,
.banner__title02{
	margin-bottom: min(3.5rem, 2.562vw);
	line-height: normal;
	color: rgb(var(--wht));
	font-size: min(3.3rem, 2.416vw);
	font-weight: 500;
	text-align: center;
}

.banner__image {
	background-color: rgb(var(--blk));
	margin: 0 auto;
	width: min(73rem, 53.441vw);
}

.banner .copy {
	margin-top: min(5rem, 3.66vw);
	color: rgb(var(--wht));
	font-family: var(--gothic);
	font-size: min(1.2rem, 0.878vw);
	font-weight: 400;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.banner {
		background-image: url(../img/banner-bg_sp.webp);
		padding: 12vw 0;
	}

	.banner__title {
		margin-bottom: 8vw;
		font-size: 5.6vw;
	}
	
	.banner__title02 {
		margin-bottom: 8vw;
		font-size: 4.267vw;
	}

	.banner__image {
		width: 85.333vw;
	}

	.banner .copy {
		margin-top: 5.333vw;
		font-size: 2.667vw;
	}
}

/* ----------------------------------------------------
	gallery
---------------------------------------------------- */
.gallery {
	background-color: rgb(var(--wht));
	padding: 7.321vw 0 14.641vw;
	width: 100%;
	overflow: hidden;
}

.gallery__title {
	background-image: url(../img/title-bg.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: min(23.2rem, 16.984vw) auto;
	margin-bottom: min(2rem, 1.464vw);
	padding-bottom: min(3rem, 2.196vw);
	font-family: var(--stix);
	font-size: min(5.5rem, 4.026vw);
	font-weight: 500;
	text-align: center;
	letter-spacing: normal;
}

.gallery__title span {
	background: linear-gradient(0deg, #875802 13%, #F2B74E 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.gallery__text {
	margin-bottom: 8.785vw;
	font-size: min(2rem, 1.464vw);
	font-weight: 700;
	text-align: center;
}

.gallery .gallery__slide {
	position: relative;
}

.gallery .swiper-slide {
	z-index: -1;
	transition: all 0.5s ease 0s;
}

.gallery .swiper-slide-active {
	transform: scale(1.2);
	z-index: 2;
}

.gallery .swiper-slide::before {
	background-color: rgb(var(--blk), 0.6);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: all 0.5s ease 0s;
	content: "";
}

.gallery .swiper-slide-active::before {
	background-color: rgb(var(--wht), 0);
}

.gallery .gallery-button-prev,
.gallery .gallery-button-next {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 3.66vw;
	height: 3.66vw;
	position: absolute;
	top: 50%;
	z-index: 10;
	transform: translateY(-50%);
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.gallery .gallery-button-prev {
	background-image: url(../img/arrow-slide-prev.webp);
	left: 18.302vw;
}

.gallery .gallery-button-next {
	background-image: url(../img/arrow-slide-next.webp);
	right: 18.302vw;
}

.gallery .gallery-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: auto;
	bottom: -7.321vw;
}

.gallery .gallery-pagination .swiper-pagination-bullet {
	background-color: #D9D9D9;
	margin: 0 0.586vw;
	width: 1.098vw;
	height: 1.098vw;
	opacity: 1;
	border-radius: 1.098vw;
	transition: all 0.5s ease 0s;
}

.gallery .gallery-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: rgb(var(--gld));
	width: 1.318vw;
	height: 1.318vw;
}

@media screen and (max-width: 768px) {
	.gallery {
		padding: 16vw 0 32vw;
	}

	.gallery__title {
		background-size: 61.333vw auto;
		margin-bottom: 5.333vw;
		padding-bottom: 8vw;
		font-size: 9.6vw;
	}

	.gallery__text {
		margin-bottom: 17.067vw;
		font-size: 4.8vw;
	}

	.gallery .gallery-button-prev,
	.gallery .gallery-button-next {
		width: 6.933vw;
		height: 6.933vw;
		top: 50%;
		transform: translateY(-50%);
	}

	.gallery .gallery-button-prev {
		left: 6.933vw;
	}

	.gallery .gallery-button-next {
		right: 6.933vw;
	}

	.gallery .gallery-pagination {
		bottom: -16vw;
	}

	.gallery .gallery-pagination .swiper-pagination-bullet {
		margin: 0 1.6vw;
		width: 3.2vw;
		height: 3.2vw;
		opacity: 1;
		border-radius: 3.2vw;
		transition: all 0.5s ease 0s;
	}

	.gallery .gallery-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
		width: 4.8vw;
		height: 4.8vw;
	}
}

/* ----------------------------------------------------
	site-note
---------------------------------------------------- */
.site-note {
	background-color: rgb(var(--wht));
	padding-bottom: min(10rem, 7.321vw);
}

.site-note .note {
	margin: 0 auto;
	width: min(104rem, 76.135vw);
}

@media screen and (max-width: 768px) {
	.site-note {
		padding-bottom: 16vw;
	}

	.site-note .note {
		width: 85.333vw;
	}
}

/* ----------------------------------------------------
	sns
---------------------------------------------------- */
.sns {
	background-image: url(../img/sns-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: min(6.5rem, 4.758vw) 0;
}

.sns__title {
	margin-bottom: min(1rem, 0.732vw);
	line-height: normal;
	font-family: var(--stix);
	font-size: min(4rem, 2.928vw);
	text-align: center;
	letter-spacing: normal;
}

.sns__title--small {
	font-size: min(2.5rem, 1.83vw);
	display: block;
}

.sns__text {
	margin-bottom: min(4rem, 2.928vw);
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 600;
	text-align: center;
}

.sns__list {
	display: flex;
	justify-content: center;
	align-items: center;
}

.sns__list--item {
	margin: 0 min(3rem, 2.196vw);
}

.sns__list--item img {
	width: min(6.4rem, 4.685vw);
}

@media screen and (max-width: 768px) {
	.sns {
		background-image: url(../img/sns-bg_sp.webp);
		padding: 16vw 0;
	}

	.sns__title {
		margin-bottom: 2.667vw;
		font-size: 8vw;
	}

	.sns__title--small {
		font-size: 4.8vw;
	}

	.sns__text {
		margin-bottom: 6.4vw;
		font-size: 3.733vw;
	}

	.sns__list--item {
		margin: 0 4vw;
	}

	.sns__list--item img {
		width: 11.467vw;
	}
}