/* ---------------------------------------------------
  RESET
--------------------------------------------------- */
:where(*),
:where(*::before),
:where(*::after) {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	list-style: none;
}

:where(table) {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
}

:where(caption, th) {
	text-align: left;
	font-size: inherit;
}

:where(address, b, caption, cite, code, dfn, em, i, strong, th, var) {
	font-style: normal;
	font-weight: normal;
}

:where(h1, h2, h3, h4, h5, h6) {
	font-size: inherit;
	font-weight: inherit;
}

:where(img, fieldset, area) {
	border: 0;
}

:where(img) {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	pointer-events: none;
	-webkit-touch-callout: none;
}

:where(picture) {
	display: block;
}

:where(svg) {
	display: block;
}

/* ---------------------------------------------------
	基本設定
--------------------------------------------------- */
:root {
	--design-width: 1366;
	--sp-design-width: 375;
	--base-font-size: 10;

	/* ゴシック体 */
	--gothic: "游ゴシック体 Medium", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	/* リュウミン：R = 400、B = 700 */
	--mincho: "リュウミン R-KL JIS2004 AP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
	--aboreto: "Aboreto", serif;

	--blk: 48, 48, 48;
	--wht: 255, 255, 255;
	--blu: 0, 64, 131;
}

/*
  HTML / BODY 基本
------------------------------ */
html {
	font-size: min(calc(var(--base-font-size) * 1px), calc(var(--base-font-size) * 100vw / var(--design-width)));
	scroll-behavior: smooth;
	scroll-padding-top: 9rem;
}

@media screen and (max-width: 768px) {
	html {
		font-size: calc(var(--base-font-size) * 100vw / var(--sp-design-width));
		scroll-padding-top: 0;
	}
}

body {
	background: rgb(var(--wht));
	line-height: 1.8;
	color: rgb(var(--blk));
	font-family: var(--gothic);
	font-feature-settings: "palt"1;
	letter-spacing: 0.05em;
	font-weight: 300;
}

.gothic {
	font-family: var(--gothic);
}

.mincho {
	font-family: var(--mincho);
}

:where(input, select, textarea, button, label) {
	background: none;
	color: inherit;
	font: inherit;
	border: none;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

:where(button, [type="button"], [type="submit"], [type="reset"], label[for]) {
	cursor: pointer;
}

:where(textarea) {
	resize: vertical;
}

:where(svg, video, iframe) {
	max-width: 100%;
}

:where(iframe) {
	display: block;
}

:where(a) {
	color: inherit;
	text-decoration: underline;
	transition: all 0.5s ease 0s;
}

:where(a:hover) {
	text-decoration: none;
	opacity: 0.6;
}

/*
  表示切り替え（PC / SP）
------------------------------ */
.pc {
	display: block;
}

.sp {
	display: none;
}

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

	.sp {
		display: block;
	}
}

/*
  汎用リスト
------------------------------ */
ul.list li {
	margin-left: 1em;
	text-indent: -1em;
}

ul.list.en li {
	margin-left: 0.5em;
	text-indent: -0.5em;
}

/* 注記リスト */
ul.note li {
	font-size: 1.3rem;
}

ul.note li::before {
	content: "※";
}

ul.note.en li::before {
	content: "*";
}

@media screen and (max-width: 768px) {
	ul.note li {
		font-size: 1rem;
	}
}

/* circle */
ul.circle li::before {
	content: "●";
}

/* dots */
ul.dots li {
	position: relative;
	padding-left: 1em;
}

ul.dots li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

/*
  iframe動画ラッパー
------------------------------ */
.video {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.video iframe {
	width: 100%;
	height: 100%;
}

/*
  電話リンク
------------------------------ */
.telephone {
	text-decoration: none;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	.telephone {
		pointer-events: all;
	}
}

/*
  ボタンリンク
------------------------------ */
.link-button {
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.8rem;
	position: relative;
}

.link-button svg {
	flex-shrink: 0;
}

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

/* type1 */
.linkBtn.type1 a {
	height: 120px;
	color: #76427c;
	text-decoration: none;
	border: solid 1px #76427c;
}

.linkBtn.type1 a svg {
	stroke: #76427c;
	bottom: 1em;
}

.linkBtn.type1 a:hover {
	background: #76427c;
	color: rgb(var(--wht));
}

.linkBtn.type1 a:hover svg {
	stroke: rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.linkBtn.type1 a {
		height: 21.33333vw;
		font-size: 3.73333vw;
	}
}

/* type2 */
.linkBtn.type2 a {
	height: 80px;
	color: rgb(var(--wht));
	text-decoration: none;
	border: solid 1px rgb(var(--wht));
	justify-content: center;
}

.linkBtn.type2 a svg {
	stroke: rgb(var(--wht));
	top: 50%;
	transform: translateY(-50%);
}

.linkBtn.type2 a:hover {
	background: #005d8c;
	border: solid 1px #005d8c;
}

.linkBtn.type2 a:hover svg {
	stroke: rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.linkBtn.type2 a {
		height: 21.33333vw;
	}
}

/*
  ページトップ
------------------------------ */
.pageTop {
	width: 13.4rem;
	position: fixed;
	right: 2rem;
	bottom: 2rem;
	z-index: 1000;
}

.pageTop a {
	margin: 0 auto;
	width: 4.7rem;
	display: block;
}

.pageTop a.reservation {
	margin-bottom: 1.5rem;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.pageTop {
		width: 6.8rem;
		right: 1rem;
		bottom: 1rem;
		transition: bottom 0.2s ease-out;
	}

	.pageTop.is-footer {
		/* footerとの間隔はこの値で調整 */
		bottom: calc(var(--footer-overlap, 0px) + -6rem);
	}

	.pageTop a.reservation {
		margin-bottom: 1rem;
	}
}

/*
  slick
------------------------------ */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-list {
	line-height: 0;
}

.slick-slide {
	line-height: 1.8;
}

.slick-dots {
	display: flex;
	bottom: 0;
}

.slick-dots li {
	margin: 0;
	width: auto;
	height: auto;
}

.slick-dots li:not(:last-of-type) {
	margin-right: 0.8rem;
}

.slick-dots li button {
	background-color: rgb(var(--wht));
	padding: 0;
	width: 1rem;
	height: 1rem;
	border: solid 1px rgb(var(--wht));
	border-radius: 1rem;
}

.slick-dots li button::before {
	display: none;
}

.slick-dots li.slick-active button {
	background-color: rgb(var(--blk));
}

.slick-arrow {
	width: auto;
	height: auto;
	font-size: 0;
	line-height: 0;
	z-index: 1;
}

.slick-arrow::before {
	display: none;
}

/* ----------------------------------------------------
	fadeIn
---------------------------------------------------- */
.fadeBlock {
	opacity: 0;
	transition: all 1s;
}

.fadeBlock.fadeIn {
	opacity: 1;
}

/*
	下から
------------------------------ */
.fadeBottom {
	transform: translateY(10px);
}

.fadeBottom.fadeIn {
	transform: translateY(0);
}

/* ----------------------------------------------------
	bg-fixed
---------------------------------------------------- */
.bg-fixed {
	position: relative;
}

.bg-fixed__media {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.bg-fixed__clip {
	height: 100%;
	overflow: hidden;
	position: relative;
	clip-path: inset(0 0 0 0);
}

.bg-fixed__clip picture {
	display: block;
}

.bg-fixed__clip img {
	width: 100vw;
	height: 100vh;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	pointer-events: none;
}

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	position: relative;
	z-index: 1;
}

.header__title {
	width: 65.8858vw;
	position: absolute;
	top: 10.2489vw;
	left: 5.8565vw;
	z-index: 10;
}

.headerSlide {
	line-height: 0;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.headerSlide__item {
	position: relative;
}

.headerSlide__item--logo {
	width: 36.6032vw;
	position: absolute;
	right: 7.0278vw;
	bottom: 6.0029vw;
	z-index: 11;
}

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

@keyframes fadeOut {
	0% {
		transform: scale(1.15);
	}

	100% {
		transform: scale(1);
	}
}

.addAnime img {
	animation: fadeOut 5s linear 0s normal both;
}

@media screen and (max-width: 768px) {
	.header__title {
		width: 32rem;
		top: 15rem;
		left: 50%;
		transform: translateX(-50%);
	}

	.headerSlide__item--logo {
		width: 20rem;
		right: 3rem;
		bottom: 2.4rem;
	}
}

/* ----------------------------------------------------
	nav
---------------------------------------------------- */
.nav {
	width: 100%;
	height: 9rem;
	display: flex;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1003;
}

.nav a {
	height: 100%;
	color: rgb(var(--wht));
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.nav {
		background: rgb(var(--wht));
		height: 4.8rem;
		flex-wrap: wrap;
	}

	.nav a {
		color: rgb(var(--blk));
	}
}

/*
	logo
------------------------------ */
.nav__logo {
	margin-left: 3rem;
	width: 26.5rem;
	position: relative;
	z-index: 1000;
}

.nav__logo a .logo {
	fill: rgb(var(--wht));
	stroke-width: 0px;
}

@media screen and (max-width: 768px) {
	.nav__logo {
		background: rgb(var(--wht));
		margin-left: 1.5rem;
		width: 100%;
		height: 4.8rem;
	}

	.nav__logo a {
		width: 12.6rem;
	}

	.nav__logo a .logo {
		fill: rgb(var(--blk));
	}
}

/*
	main
------------------------------ */
.nav__main {
	width: calc((100% - 26.5rem - 3rem - 31rem));
	height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.nav__main--item a {
	padding: 0 3.5rem;
	height: 5.8rem;
	line-height: normal;
	text-align: left;
}

.nav__main--item:not(:last-of-type) a {
	border-right: solid 1px rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.nav__main {
		background: rgb(var(--wht));
		margin-right: 0;
		width: 100%;
		height: auto;
		display: block;
		position: fixed;
		top: 9.6rem;
		left: 0;
		z-index: 999;
		transform: translateY(-200%);
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.nav__main--item {
		margin: 0 auto;
		width: 29rem;
	}

	.nav__main--item a {
		padding: 3rem 0;
		line-height: 1;
	}

	.nav__main--item:not(:last-of-type) a {
		border-bottom: solid 1px rgb(var(--blk));
	}
}

/*
	sub
------------------------------ */
.nav__sub {
	width: 31rem;
	height: 100%;
	display: flex;
	position: relative;
	z-index: 1002;
}

.nav__sub--item {
	width: 50%;
}

.nav__sub--item a {
	color: rgb(var(--wht));
}

.nav__sub--item.sub1 a {
	background: linear-gradient(90deg, #EAB977 0%, #FFA24A 100%);
}

.nav__sub--item.sub2 a {
	background: linear-gradient(90deg, #FFBFBF 0%, #FF6B6B 100%);
}

@media screen and (max-width: 768px) {
	.nav__sub {
		width: 100%;
		height: 4.8rem;
	}
}

/*
	change-color
------------------------------ */
.nav.change-color {
	background-color: rgba(var(--wht), 0.8);
}

.change-color .nav__logo a .logo {
	fill: rgb(var(--blk));
}

.change-color .nav__main--item a {
	color: rgb(var(--blk));
	border-color: rgb(var(--blk));
}

@media screen and (max-width: 768px) {
	.nav.change-color {
		background-color: rgba(var(--wht), 1);
	}
}

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

@media screen and (max-width: 768px) {
	.toggle {
		width: 12.8vw;
		height: 12.8vw;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
	}

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

	.toggle__inner span {
		background: #202020;
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		left: 0;
		transition: transform 0.6s ease-in-out, top 0.5s ease, bottom 0.5s ease;
	}

	.toggle__inner span:nth-child(1) {
		top: 30%;
	}

	.toggle__inner span:nth-child(2) {
		top: 70%;
	}
}

/*
	is-open
------------------------------ */
@media screen and (max-width: 768px) {
	body.is-open {
		overflow: hidden;
	}

	.is-open .nav .nav__main {
		z-index: 999;
		transform: translateY(0);
	}

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

	.is-open .toggle__inner span:nth-child(2) {
		top: 50%;
		transform: rotate(-45deg) translatey(-50%);
	}

	.is-open .filter.overlay {
		background: rgba(0, 0, 0, 0.4);
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1001;
	}
}

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

.footer .note {
	margin-bottom: 4rem;
	text-align: center;
}

.footer .note li {
	margin: 0;
}

.footer__sns {
	margin-bottom: 4em;
	display: flex;
	justify-content: center;
}

.footer__sns--item {
	margin: 0 1em;
}

.footer__sns--item a {
	display: block;
}

.footer__nav {
	line-height: 1;
	font-size: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer__nav--item {
	padding: 0 1em;
	position: relative;
}

.footer__nav--item:not(:last-of-type)::before {
	background: rgb(var(--wht));
	width: 1px;
	height: 1em;
	position: absolute;
	top: 0;
	right: 0;
	content: "";
}

.footer__nav--item a {
	color: rgb(var(--wht));
	text-decoration: none;
	display: inline-block;
}

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

	.footer .note,
	.footer__sns {
		margin-bottom: 2.5rem;
	}

	.footer__nav {
		line-height: normal;
		font-size: 1.2rem;
		flex-wrap: wrap;
	}

	.footer__nav--item {
		padding: 0;
		position: relative;
	}

	.footer__nav--item:first-of-type {
		margin-bottom: 0.5em;
		width: 100%;
		text-align: center;
	}

	.footer__nav--item:not(:last-of-type)::before {
		display: none;
	}

	.footer__nav--item a {
		padding: 0 1em;
		display: inline-block;
		position: relative;
	}

	.footer__nav--item a::before,
	.footer__nav--item a::after {
		background-color: rgb(var(--wht));
		width: 1px;
		height: 100%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		content: "";
	}

	.footer__nav--item a::before {
		left: 0;
	}

	.footer__nav--item a::after {
		right: 0;
	}

	.footer__nav--item:last-of-type a::before {
		display: none;
	}
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	padding: 13rem 0;
	text-align: center;
}

.about__title {
	margin-bottom: 2.6rem;
	line-height: 1.5;
	color: rgb(var(--blu));
	font-family: var(--mincho);
	font-size: 4.8rem;
	font-weight: 700;
}

.about__lead {
	line-height: 2.2;
	font-family: var(--mincho);
	font-size: 1.8rem;
	font-weight: 400;
}

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

	.about__title {
		font-size: 2rem;
	}

	.about__lead {
		line-height: 2;
		font-size: 1.3rem;
	}
}

/* ----------------------------------------------------
	benefits
---------------------------------------------------- */
.benefits {
	background: linear-gradient(90deg, #F0DDB9 0%, #F5EAD5 32%, #F9F3E8 50%, #F6EDDB 67%, #F0DDBA 99%, #F0DDB9 100%);
	padding: 10rem 0;
	text-align: center;
	position: relative;
}

.gradient-title {
	background: linear-gradient(90deg, #9B8939 0%, #6D4D23 25%, #63240E 50%, #6D4D23 75%, #9B8939 100%);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.benefits .logo {
	width: 13.5rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.benefits__inner {
	background-color: rgb(var(--wht));
	margin: 0 auto;
	padding: 9.4rem 0;
	width: 103rem;
	border-radius: 1rem;
}

.benefits__title {
	margin-bottom: 3rem;
	font-family: var(--mincho);
	font-size: 4.8rem;
	font-weight: 700;
}

.benefits__head {
	margin-bottom: 6.5rem;
}

.benefits__head--title {
	margin-bottom: 2rem;
	font-family: var(--mincho);
	font-size: 3.8rem;
	font-weight: 700;
}

.benefits__head--lead {
	margin-bottom: 1rem;
	font-size: 1.8rem;
}

.benefits__head .note {
	margin-bottom: 3rem;
}

.benefits__head--list {
	margin: 0 auto;
	width: 88rem;
	display: flex;
	justify-content: space-between;
}

.benefits__head--item {
	width: 43rem;
}

.benefits__head--item .data {
	margin-top: 1.6rem;
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

.benefits__head--item .data__date {
	background-color: rgb(var(--blu));
	margin-right: 1.6rem;
	width: 6rem;
	height: 3rem;
	color: rgb(var(--wht));
	border-radius: 0.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.benefits__head--item .content__title {
	margin-top: 1.6rem;
	line-height: 1.25;
	font-family: var(--mincho);
	font-size: 2.8rem;
	font-weight: 700;
}

.benefits__head--item .content__text {
	margin-top: 1.6rem;
	font-size: 1.8rem;
	text-align: left;
}

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

	.benefits .logo {
		width: 10rem;
	}

	.benefits__inner {
		padding: 9.2rem 0 4rem;
		width: 34rem;
	}

	.benefits__title {
		margin-bottom: 2rem;
		font-size: 2.2rem;
	}

	.benefits__head {
		margin-bottom: 3.5rem;
	}

	.benefits__head--title {
		margin-bottom: 1rem;
		font-size: 2rem;
	}

	.benefits__head--lead {
		font-size: 1rem;
	}

	.benefits__head--list {
		width: 30rem;
		display: block;
	}

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

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

	.benefits__head--item .data {
		margin-top: 2rem;
		font-family: var(--mincho);
		font-size: 1.3rem;
	}

	.benefits__head--item .data__date {
		margin-right: 0.6rem;
		width: 4rem;
		height: 2rem;
	}

	.benefits__head--item .content__title {
		margin-top: 0.6rem;
		font-size: 1.8rem;
	}

	.benefits__head--item .content__text {
		margin-top: 1rem;
		font-size: 1.2rem;
	}
}

/* 
	benefits__list
------------------------------ */
.benefits__list--item {
	background-image: url(../img/benefits-bg.svg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 70rem auto;
	padding-top: 9rem;
}

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

.benefits__list--title {
	margin-bottom: 2rem;
	line-height: normal;
	font-family: var(--mincho);
	font-size: 3.8rem;
	font-weight: 700;
}

.benefits__list--title .small {
	font-size: 3rem;
	display: block;
}

.benefits__list--image {
	margin: 0 auto 1.6rem;
	width: 43rem;
}

.benefits__list--text,
.benefits__list--content {
	font-size: 1.8rem;
}

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

.benefits__list--item .note {
	margin-top: 2rem;
}

.benefits__list--item .inline-block {
	text-align: left;
	display: inline-block;
}

.benefits__notes {
	font-size: 1.5rem;
	display: flex;
}

.benefits__notes--title {
	font-weight: 700;
}

.benefits__notes--content {
	text-align: left;
}

.benefits__table {
	margin: 2rem auto 0;
	width: 60rem;
}

@media screen and (max-width: 768px) {
	.benefits__list--item {
		background-size: 30rem auto;
		padding-top: 4.6rem;
	}

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

	.benefits__list--title {
		margin-bottom: 1.2rem;
		font-size: 2rem;
	}

	.benefits__list--title .small {
		font-size: 1.5rem;
	}

	.benefits__list--image {
		margin-bottom: 1rem;
		width: 30rem;
	}

	.benefits__list--text,
	.benefits__list--content {
		font-size: 1.2rem;
	}

	.benefits__notes {
		margin: 0 auto;
		width: 30rem;
		font-size: 1.2rem;
		display: block;
	}

	.benefits__notes--content {
		text-align: left;
	}

	.benefits__table {
		width: 32rem;
	}
}

/* ----------------------------------------------------
	guest
---------------------------------------------------- */
.guest {
	background-color: rgba(153, 142, 97, 1);
	padding: 13rem 0;
	color: rgb(var(--wht));
}

.guest__title {
	margin-bottom: 3rem;
	line-height: 1.2;
	font-family: var(--mincho);
	font-size: 4.8rem;
	text-align: center;
}

.guest__list {
	margin: 0 auto 3rem;
	width: 89rem;
	display: flex;
	justify-content: space-between;
}

.guest__list--item {
	width: 27rem;
	font-family: var(--mincho);
	text-align: center;
}

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

.guest__list--title {
	font-size: 2.4rem;
}

.guest__image {
	margin-bottom: 2rem;
}

.guest__image figcaption,
.guest__profile {
	margin-top: 2rem;
	line-height: 1.4;
	font-size: 1.8rem;
}

.guest__name {
	margin-bottom: 1rem;
	line-height: normal;
	font-size: 2.8rem;
}

.guest__role {
	font-family: var(--gothic);
	font-size: 1.6rem;
	display: block;
}

.guest__route {
	font-family: var(--gothic);
	font-size: 1.3rem;
}

.guest .note {
	text-align: center;
}

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

	.guest__title {
		font-size: 2.2rem;
	}

	.guest__list {
		width: 27rem;
		display: block;
	}

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

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

	.guest__list--title {
		font-size: 1.8rem;
	}

	.guest__image {
		margin-bottom: 1rem;
	}

	.guest__image figcaption,
	.guest__profile {
		margin-top: 1.2rem;
		font-size: 1.4rem;
	}

	.guest__name {
		font-size: 2.2rem;
	}

	.guest__role {
		font-size: 1.2rem;
	}

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

/* ----------------------------------------------------
	schedule
---------------------------------------------------- */
.schedule {
	background-image: url(../img/schedule-map.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 41.9473vw 0 13rem;
	position: relative;
}

.schedule__table {
	margin: 0 auto 3rem;
	width: 116.6rem;
}

.schedule__movie {
	margin: 0 auto;
	width: 80rem;
}

@media screen and (max-width: 768px) {
	.schedule {
		background-image: url(../img/schedule-map_sp.webp);
		padding: 22.3rem 0 6rem;
	}

	.schedule__table {
		width: 34rem;
	}

	.schedule__movie {
		width: 30rem;
	}
}

/* ----------------------------------------------------
	view
---------------------------------------------------- */
.view {
	text-align: center;
	overflow: hidden;
}

.view__inner {
	background: linear-gradient(180deg, rgba(107, 164, 228, 0.70) 0%, rgba(149, 217, 243, 0.70) 31.73%, rgba(233, 224, 158, 0.70) 47.6%, rgba(234, 185, 119, 0.70) 62.02%, rgba(255, 191, 191, 0.90) 90.65%);
	margin: 0 auto;
	padding: 13rem 0;
	width: 118rem;
	height: 102%;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	position: relative;
}

.view__title {
	margin-bottom: 2rem;
	color: rgb(var(--wht));
	font-family: var(--aboreto);
	font-size: 4.8rem;
}

.view__lead {
	margin-bottom: 10rem;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 2rem;
}

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

.view__list--title {
	line-height: 1;
	font-family: var(--aboreto);
	font-size: 11rem;
	position: relative;
	bottom: -1.6rem;
	z-index: 1;
}

.view__list--image {
	margin: 0 auto;
	width: 72rem;
	position: relative;
	z-index: 2;
}

.view__slide--item {
	padding: 0 1.5rem;
	width: 75rem;
}

.view__content {
	margin-top: 3rem;
	font-size: 1.8rem;
}

.view__content--title {
	font-family: var(--mincho);
	font-size: 3rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

.view__content--title .date {
	margin-right: 1.6rem;
	width: 6rem;
	height: 3rem;
	color: rgb(var(--wht));
	font-size: 2rem;
	border-radius: 0.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.view__content .note {
	margin-top: 3rem;
}

/* alaska */
.alaska .view__list--title {
	color: rgba(28, 117, 218, 1);
}

.alaska .view__content--title .date {
	background-color: rgba(28, 117, 218, 1);
}

/* west */
.west .view__list--title {
	color: rgba(255, 162, 74, 1);
}

.west .view__content--title .date {
	background-color: rgba(255, 162, 74, 1);
}

/* hawaii */
.hawaii .view__list--title {
	color: rgba(255, 107, 107, 1);
}

.hawaii .view__content--title .date {
	background-color: rgba(255, 107, 107, 1);
}


@media screen and (max-width: 768px) {
	.view__inner {
		padding: 6rem 0;
		width: 32rem;
	}

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

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

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

	.view__list--title {
		font-size: 4rem;
		bottom: -0.6rem;
	}

	.view__list--image {
		width: 22rem;
	}

	.view__slide--item {
		padding: 0 1.8rem;
		width: 25.6rem;
	}

	.view__content {
		margin-top: 1.5rem;
		font-size: 1.2rem;
	}

	.view__content--title {
		font-size: 1.3rem;
	}

	.view__content--title .date {
		margin-right: 0.6rem;
		width: 4rem;
		height: 2rem;
		font-size: 1.2rem;
	}

	.view__content .note {
		margin-top: 3rem;
	}

	.view-point {
		width: 100%;
	}
}

/* ----------------------------------------------------
	port
---------------------------------------------------- */
.port {
	background-image: url(../img/port-bg01.webp), url(../img/port-bg02.webp);
	background-position: right -17.5695vw top 5.8565vw, left -8.7848vw bottom;
	background-repeat: no-repeat;
	background-size: 60% auto, 60% auto;
	padding: 13rem 0;
	font-family: var(--mincho);
	position: relative;
}

.port__title {
	color: rgba(153, 142, 97, 1);
	font-size: 4.8rem;
	text-align: center;
}

.port__lead {
	margin: 1.6rem 0;
	font-size: 2rem;
	text-align: center;
}

.port__memo {
	background: rgba(181, 181, 181, 1);
	margin: 0 auto 5rem;
	width: 48rem;
	color: rgb(var(--wht));
	font-family: var(--gothic);
	font-size: 1.8rem;
	text-align: center;
	border-radius: 0.3rem;
}

@media screen and (max-width: 768px) {
	.port {
		background-position: right -16rem top -8.8rem, center bottom;
		background-size: 100% auto, 110% auto;
		padding: 6rem 0;
	}

	.port__title {
		font-size: 2.2rem;
	}

	.port__lead {
		margin: 0.6rem 0 1.6rem;
		font-size: 1.2rem;
	}

	.port__memo {
		margin-bottom: 3rem;
		width: 32rem;
		font-size: 1.2rem;
	}
}

/*
	port__list
------------------------------ */
.port__list {
	margin: 0 auto;
	width: 103rem;
	display: flex;
	flex-wrap: wrap;
}

.port__list--item {
	margin-bottom: 1rem;
	width: calc((100% - 2rem) / 3);
	position: relative;
	cursor: pointer;
}

.port__list--item:not(:nth-child(3n)) {
	margin-right: 1rem;
}

.port__list figure {
	position: relative;
	overflow: hidden;
}

.port__list figure img {
	transition: 0.5s;
}

.port__list figure:hover img {
	transform: scale(1.1);
}

.port__list figure .port-name {
	background-image: url(../img/arrow-triangle.svg);
	background-position: right 2.2rem center;
	background-repeat: no-repeat;
	background-size: 0.8rem auto;
	padding: 1rem 2rem;
	width: 100%;
	line-height: 1;
	color: rgb(var(--wht));
	font-size: 2rem;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: 0.5s;
}

.port__list figure:hover .port-name {
	background-position: right 1.6rem center;
}

#port01 figure .port-name,
#port02 figure .port-name,
#port03 figure .port-name,
#port04 figure .port-name,
#port05 figure .port-name {
	background-color: rgba(107, 164, 228, 0.95);
}

#port06 figure .port-name,
#port07 figure .port-name,
#port08 figure .port-name {
	background-color: rgba(255, 162, 74, 0.95);
}

#port09 figure .port-name,
#port10 figure .port-name,
#port11 figure .port-name {
	background-color: rgba(255, 107, 107, 0.95);
}

.port__list figure .port-name__small {
	font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
	.port__list {
		width: 33.7rem;
		display: block;
	}

	.port__list--item {
		margin-bottom: 0;
		width: 100%;
	}

	.port__list--item:not(:nth-child(3n)) {
		margin-right: 0;
	}

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

/*
	popup
------------------------------ */
#popup-container {
	width: 90rem;
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1100;
	transform: translate(-50%, -50%);
	animation: slideEfect 0.5s;
}

#popup-container .inner {
	position: relative;
}

#popup-container button {
	background: none;
	outline: none;
	border: none;
}

@media screen and (max-width: 768px) {
	#popup-container {
		width: 33rem;
	}
}

/* portSlide */
.portSlide__item {
	background: rgb(var(--wht));
	width: 100%;
	border-style: solid;
	border-width: 6px;
	position: relative;
}

/* detail */
.portSlide__detail {
	margin: 0 auto;
	padding: 4em 0;
	width: 95%;
}

.portSlide__detail--title {
	margin-bottom: 1rem;
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
}

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

.portSlide__detail--content figure {
	width: 46rem;
}

.portSlide__detail--content .content {
	width: 36rem;
	font-family: var(--gothic);
}

.portSlide__detail--content figure {
	position: relative;
}

.portSlide__detail--content figure figcaption {
	margin-top: 0.5rem;
	font-family: var(--gothic);
	font-size: 1.3rem;
}

.portSlide__detail--content .content .text {
	margin-bottom: 1em;
	font-size: 1.8rem;
}

.portSlide__detail--content .content dl {
	font-size: 1.3rem;
}

.portSlide__detail--content .content dt {
	width: 3.6rem;
	height: 2rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.portSlide__detail--content .content dt.badge01 {
	background-color: rgba(181, 181, 181, 1);
	color: rgb(var(--wht));
}

.portSlide__detail--content .content dt.badge02 {
	background: linear-gradient(90deg, #D2AC6F 0%, #FFFACA 32%, #D2AC6F 100%);
}

#slide01.portSlide__item,
#slide02.portSlide__item,
#slide03.portSlide__item,
#slide04.portSlide__item,
#slide05.portSlide__item {
	border-color: rgba(28, 117, 218, 1);
}

#slide01 .portSlide__detail--title,
#slide02 .portSlide__detail--title,
#slide03 .portSlide__detail--title,
#slide04 .portSlide__detail--title,
#slide05 .portSlide__detail--title {
	color: rgba(28, 117, 218, 1);
}

#slide06.portSlide__item,
#slide07.portSlide__item,
#slide08.portSlide__item {
	border-color: rgba(255, 162, 74, 1);
}

#slide06 .portSlide__detail--title,
#slide07 .portSlide__detail--title,
#slide08 .portSlide__detail--title {
	color: rgba(255, 162, 74, 1);
}

#slide09.portSlide__item,
#slide10.portSlide__item,
#slide11.portSlide__item {
	border-color: rgba(255, 107, 107, 1);
}

#slide09 .portSlide__detail--title,
#slide10 .portSlide__detail--title,
#slide11 .portSlide__detail--title {
	color: rgba(255, 107, 107, 1);
}

@media screen and (max-width: 768px) {
	.portSlide__detail {
		padding: 4em 2.5em;
		width: 100%;
	}

	.portSlide__detail--title {
		line-height: normal;
		font-size: 2.5rem;
	}

	.portSlide__detail--content {
		display: block;
	}

	.portSlide__detail--content figure,
	.portSlide__detail--content .content {
		width: 100%;
	}

	.portSlide__detail--content figure {
		margin-bottom: 1rem;
	}

	.portSlide__detail--content figure figcaption {
		font-size: 1rem;
	}

	.portSlide__detail--content .content .text {
		font-size: 1.2rem;
	}

	.portSlide__detail--content .content dl {
		font-size: 1rem;
	}
}

/* close */
.portSlide__item .close {
	position: absolute;
	top: 1em;
	right: 1em;
}

.portSlide__item .close span {
	width: 25px;
	height: 25px;
	display: block;
	position: relative;
	transform: rotate(45deg);
	cursor: pointer;
}

.portSlide__item .close span::before,
.portSlide__item .close span::after {
	background: rgba(181, 181, 181, 1);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: "";
}

.portSlide__item .close span::before {
	width: 100%;
	height: 2px;
}

.portSlide__item .close span::after {
	width: 2px;
	height: 100%;
}

@media screen and (max-width: 768px) {
	.portSlide__item .close span {
		width: 2.5rem;
		height: 2.5rem;
	}
}

/* prev-btn, next-btn  */
#popup-container #prev-btn,
#popup-container #next-btn {
	width: 5rem;
	height: 5rem;
	border-top: solid 2px rgb(var(--wht));
	border-right: solid 2px rgb(var(--wht));
	position: absolute;
	top: 50%;
	cursor: pointer;
}

#popup-container #prev-btn {
	left: -6rem;
	transform: translateY(-50%) rotate(-135deg);
}

#popup-container #next-btn {
	right: -6rem;
	transform: translateY(-50%) rotate(45deg);
}

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

	#popup-container #prev-btn,
	#popup-container #next-btn {
		width: 1.8rem;
		height: 1.8rem;
	}

	#popup-container #prev-btn {
		left: -1.5rem;
	}

	#popup-container #next-btn {
		right: -1.5rem;
	}
}

/* fixed */
body.fixed {
	overflow: hidden;
}

body.fixed .popup-filter {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100vh;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1099;
	content: "";
}

/* ----------------------------------------------------
	tour
---------------------------------------------------- */
.tour {
	background-image: url(../img/tour-bg.webp);
	background-position: right -7.3206vw bottom -3.6603vw;
	background-repeat: no-repeat;
	background-size: 60% auto;
	position: relative;
}

.tour__inner {
	margin: 0 auto;
	padding: 13rem 0;
	width: 103rem;
	border-top: solid 2px rgba(153, 142, 97, 1);
}

.tour__title {
	margin-bottom: 1.6rem;
	color: rgba(153, 142, 97, 1);
	font-family: var(--aboreto);
	font-size: 4.8rem;
	text-align: center;
}

.tour__lead {
	margin-bottom: 5rem;
	font-family: var(--mincho);
	font-size: 2rem;
	text-align: center;
}

.tour__list {
	margin-bottom: 5rem;
	display: flex;
	flex-wrap: wrap;
}

.tour__list--item {
	margin-bottom: 1rem;
	width: calc((100% - 2rem) / 3);
	position: relative;
}

.tour__list--item:not(:nth-child(3n)) {
	margin-right: 1rem;
}

.tour__list figure {
	position: relative;
	overflow: hidden;
}

.port__heritage::before {
	background: linear-gradient(90deg, #D2AC6F 0%, #FFFACA 32%, #D2AC6F 100%);
	width: 7rem;
	height: 2rem;
	font-size: 1.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	content: "世界遺産";
}

.tour__list figure .port-name {
	background-color: rgba(153, 142, 97, 0.9);
	padding: 1rem 2rem;
	width: 100%;
	line-height: 1;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 2rem;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: 0.5s;
}

.tour__list figure:hover .port-name {
	background-position: right 1.6rem center;
}

.tour__text {
	margin-top: 1rem;
	font-size: 1.8rem;
}

.tour__notes {
	padding: 4rem;
	font-size: 1.5rem;
	border: solid 1px rgba(153, 142, 97, 1);
	border-radius: 1rem;
}

.tour__notes--title {
	margin-bottom: 1rem;
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.tour {
		background-position: right bottom -1rem;
		background-size: 80% auto;
	}

	.tour__inner {
		padding: 6rem 0;
		width: 33.7rem;
	}

	.tour__title {
		font-size: 2.5rem;
	}

	.tour__lead {
		margin-bottom: 3rem;
		font-size: 1.2rem;
	}

	.tour__list {
		display: block;
	}

	.tour__list--item {
		margin-bottom: 0;
		width: 100%;
	}

	.tour__list--item:not(:nth-child(3n)) {
		margin-right: 0;
	}

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

	.tour__text {
		font-size: 1.2rem;
	}

	.tour__notes {
		margin: 0 auto;
		padding: 1.3rem;
		width: 32rem;
		font-size: 1.2rem;
	}

	.tour__notes--title {
		margin: 0 0 1rem 1em;
		font-size: 1.3rem;
		text-indent: -1em;
	}
}

/* ----------------------------------------------------
	life
---------------------------------------------------- */
.life {
	--life-bg-height: 66.75vw;
	--life-gradient-extension: 15vw;
	background-color: rgba(153, 142, 97, 1);
	padding: 13rem 0;
	min-height: calc(var(--life-bg-height) + var(--life-gradient-extension));
	color: rgb(var(--wht));
	position: relative;
}

.life::before {
	background-image: url(../img/life-bg.webp);
	background-position: center top -10.981vw;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: var(--life-bg-height);
	opacity: 0.2;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	content: "";
}

.life::after {
	background: linear-gradient(180deg, rgba(153, 142, 97, 0) 0%, #998E61 calc(100% - var(--life-gradient-extension) - 10.981vw));
	width: 100%;
	height: calc(var(--life-bg-height) + var(--life-gradient-extension));
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	content: "";
}

.life>* {
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.life {
		--life-bg-height: 100.125vw;
		padding: 6rem 0;
	}

	.life::before {
		background-size: 150% auto;
	}

	.life::after {
		background: linear-gradient(180deg, rgba(153, 142, 97, 0) 0%, #998E61 50%);
	}
}

/* 
	life__inner
------------------------------ */
.life__inner {
	margin: 0 auto;
	width: 103rem;
}

.life__title {
	margin-bottom: 1.6rem;
	font-family: var(--aboreto);
	font-size: 4.8rem;
	text-align: center;
}

.life__lead {
	margin-bottom: 8rem;
	font-family: var(--mincho);
	font-size: 2rem;
	text-align: center;
}

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

.life__list--item:nth-child(even) {
	flex-direction: row-reverse;
}

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

.life__list--image {
	width: 41rem;
}

.life__list--content {
	width: 58.3rem;
}

.life__list--title {
	margin-bottom: 1.6rem;
	line-height: normal;
	font-family: var(--mincho);
	font-size: 3rem;
}

.life__list--lead {
	font-size: 1.8rem;
}

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

	.life__title {
		font-size: 2.5rem;
	}

	.life__lead {
		margin-bottom: 3rem;
		font-size: 1.2rem;
	}

	.life__list {
		margin: 0 auto;
		width: 30rem;
	}

	.life__list--item {
		width: 100%;
		display: block;
	}

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

	.life__list--image,
	.life__list--content {
		width: 100%;
	}

	.life__list--image {
		margin-bottom: 1.6rem;
	}

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

	.life__list--lead {
		font-size: 1.2rem;
	}
}

/* 
	event
------------------------------ */
.event {
	margin-bottom: 7rem;
}

.event__title {
	margin-bottom: 1.2rem;
	font-family: var(--mincho);
	font-size: 3rem;
	text-align: center;
}

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

.event__list--item {
	width: 50.6rem;
	text-align: center;
}

.event__image {
	margin-bottom: 1.6rem;
}

.event__content--title {
	margin-bottom: 1rem;
	font-family: var(--mincho);
	font-size: 1.8rem;
}

.event__content--detail {
	font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
	.event {
		margin-bottom: 4rem;
	}

	.event__title {
		font-size: 1.8rem;
	}

	.event__list {
		display: block;
	}

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

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

	.event__content--title {
		font-size: 1.5rem;
	}

	.event__content--detail {
		font-size: 1.2rem;
	}
}

/* 
	lineup
------------------------------ */
.lineup {
	background-color: rgb(var(--wht));
	margin-bottom: 8rem;
	padding: 8rem 0;
	color: rgb(var(--blk));
	border-radius: 1rem;
}

.lineup__inner {
	margin: 0 auto;
	width: 88rem;
}

.lineup__title {
	margin-bottom: 1.6rem;
	color: rgba(153, 142, 97, 1);
	font-family: var(--mincho);
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
}

.lineup__lead {
	margin-bottom: 3rem;
	font-size: 1.8rem;
	text-align: center;
}

.lineup .circle {
	margin-bottom: 3rem;
	padding: 2rem 4rem;
	font-size: 1.8rem;
	border: solid 1px rgba(153, 142, 97, 1);
	border-radius: 1rem;
}

.lineup__image {
	margin-bottom: 3rem;
	display: flex;
	justify-content: space-between;
}

.lineup__image--item {
	width: 43rem;
}

.lineup .note {
	text-align: center;
}

@media screen and (max-width: 768px) {
	.lineup {
		margin-bottom: 4rem;
		padding: 4rem 0;
	}

	.lineup__inner {
		width: 32rem;
	}

	.lineup__title {
		margin-bottom: 1.3rem;
		font-size: 1.8rem;
	}

	.lineup__lead {
		margin-bottom: 2rem;
		font-size: 1.2rem;
	}

	.lineup .circle {
		margin: 0 auto 2rem;
		padding: 2rem;
		width: 28rem;
		font-size: 1.2rem;
	}

	.lineup .circle li {
		text-indent: -1.5em;
	}

	.lineup__image {
		margin: 0 auto 2rem;
		width: 30rem;
		display: block;
	}

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

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

/* ----------------------------------------------------
	information
---------------------------------------------------- */
.information {
	padding: 13rem 0;
}

.information .discount {
	background-color: rgba(239, 238, 234, 1);
	margin: 0 auto 3rem;
	padding: 5rem 0;
	width: 103rem;
}

.information .discount--title {
	color: rgba(153, 142, 97, 1);
	margin-bottom: 1.6rem;
	font-family: var(--mincho);
	font-size: 4.8rem;
	text-align: center;
}

.information .discount--lead {
	margin-bottom: 2rem;
	font-family: var(--mincho);
	font-size: 1.8rem;
	text-align: center;
}

.information .discount--list {
	margin: 0 auto 2rem;
	width: 89rem;
	display: flex;
	justify-content: space-between
}

.information .discount--list .banner {
	width: 43.5rem;
}

.information .discount .circle {
	margin: 0 auto;
	width: 75rem;
	line-height: 1.6;
}

.information .discount .circle li {
	font-size: 1.8rem;
	font-weight: 700;
	text-indent: -1.5em;
}

.information .discount .circle li.star {
	font-weight: 400;
}

.information .discount .circle li.star::before {
	content: "★";
}

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

	.information .discount {
		margin-bottom: 2rem;
		padding: 3rem 0;
		width: 32rem;
	}

	.information .discount--title {
		margin-bottom: 1rem;
		font-size: 2.2rem;
	}

	.information .discount--lead {
		margin-bottom: 1rem;
		font-size: 1.2rem;
	}

	.information .discount--list {
		margin: 0 auto 2rem;
		width: 28rem;
		display: block;
	}

	.information .discount--list .banner {
		width: 100%;
	}

	.information .discount--list .banner:not(:last-of-type) {
		margin-bottom: 1rem;
	}

	.information .discount .circle {
		width: 26.5rem;
	}

	.information .discount .circle li {
		font-size: 1.2rem;
	}
}

/* membership */
.information .membership {
	background-image: url(../img/membership-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto 13rem;
	padding: 4rem 0;
	width: 103rem;
	color: rgb(var(--wht));
	border-radius: 1rem;
	display: flex;
	justify-content: center;
}

.information .membership__head {
	margin-right: 3rem;
	width: 32.4rem;
}

.information .membership__head--title {
	margin-bottom: 1rem;
}

.information .membership__head--title .free {
	background-color: rgb(var(--wht));
	margin-top: 0.5rem;
	width: 18rem;
	height: 3rem;
	color: rgb(var(--blu));
	font-size: 1.6rem;
	font-weight: 700;
	border-radius: 0.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.information .membership__head .link-button {
	background-image: url(../img/arrow-triangle.svg);
	background-position: right 2rem center;
	background-repeat: no-repeat;
	background-size: 0.8rem auto;
	padding: 0 2rem;
	width: 24rem;
	height: 4.2rem;
	font-family: var(--mincho);
	font-size: 2rem;
	font-weight: 700;
	border: solid 1px rgb(var(--wht));
	border-radius: 0.5rem;
	justify-content: flex-start;
}

.information .membership__body {
	width: 61rem;
}

.membership__body--title {
	margin-bottom: 2rem;
	line-height: 1;
	font-family: var(--mincho);
	font-size: 3.4rem;
	font-weight: 700;
}

.membership__body--title .notes {
	margin-top: 1.6rem;
	font-family: var(--gothic);
	font-size: 1.8rem;
	display: block;
}

.membership__body--text {
	font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
	.information .membership {
		background-image: url(../img/membership-bg_sp.webp);
		margin-bottom: 5rem;
		padding: 3rem 0;
		width: 32rem;
		display: block;
	}

	.information .membership__head {
		margin: 0 auto 2rem;
		width: 25rem;
	}

	.information .membership__head--title .free {
		margin: 0.5rem auto 0;
	}

	.information .membership__head .link-button {
		margin: 0 auto;
		padding: 0 2rem;
		width: 21rem;
		font-size: 2rem;
	}

	.information .membership__body {
		margin: 0 auto;
		width: 30rem;
		text-align: center;
	}

	.membership__body--title {
		margin-bottom: 1rem;
		font-size: 1.4rem;
	}

	.membership__body--title .notes {
		margin-top: 1.3rem;
		line-height: 1.6;
		font-size: 1.3rem;
	}

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

/* guide */
.information .guide {
	margin: 0 auto 10rem;
	width: 96rem;
}

.information .guide__banner {
	margin-bottom: 3.5rem;
	display: flex;
	justify-content: space-between;
}

.information .guide__banner--item {
	width: 47rem;
}

.information .guide__banner--item a {
	display: block;
}

.information .guide__banner--item a {
	display: block;
}

.information .guide__banner--item a:hover {
	opacity: 1;
}

.guide__banner--image {
	overflow: hidden;
	position: relative;
}

.guide__banner--image img {
	transition: 0.5s;
}

.information .guide__banner--item a:hover img {
	transform: scale(1.1);
}

.guide__banner--image figcaption {
	width: 100%;
	line-height: normal;
	color: rgb(var(--wht));
	font-family: var(--aboreto);
	font-size: 3.6rem;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.guide__banner--image figcaption .jp {
	font-family: var(--mincho);
	font-size: 2rem;
	display: block;
}

.information .guide .link-list {
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
}

.information .guide .link-list--item {
	margin-bottom: 2rem;
	width: 47rem;
}

.information .guide .link-list--item a {
	padding-left: 2.8rem;
	height: 8.6rem;
	line-height: 1.25;
	color: rgb(var(--blu));
	font-family: var(--mincho);
	font-size: 2.5rem;
	text-decoration: none;
	border: solid 1px rgb(var(--blu));
	display: flex;
	align-items: center;
	position: relative;
}

.information .guide .link-list--item a::after {
	background-color: rgb(var(--blu));
	background-image: url(../img/arrow-triangle.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.8rem auto;
	width: 3rem;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	content: "";
}

@media screen and (max-width: 768px) {
	.information .guide {
		margin-bottom: 5rem;
		width: 32rem;
	}

	.information .guide__banner {
		margin-bottom: 2rem;
		display: block;
	}

	.information .guide__banner--item {
		width: 100%;
	}

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

	.guide__banner--image figcaption {
		font-size: 2.6rem;
	}

	.guide__banner--image figcaption .jp {
		font-size: 1.3rem;
	}

	.information .guide .link-list {
		display: block;
	}

	.information .guide .link-list--item {
		margin-bottom: 2rem;
		width: 100%;
	}

	.information .guide .link-list--item:not(:last-of-type) {
		margin-bottom: 1rem;
	}

	.information .guide .link-list--item a {
		height: 5.6rem;
		font-size: 1.5rem;
	}
}

/* contact */
.information .contact {
	margin: 0 auto;
	width: 42rem;
	font-family: var(--mincho);
	text-align: center;
}

.information .contact--title {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	font-size: 2rem;
	text-align: center;
	border-bottom: solid 1px rgb(var(--blk));
}

.information__tel--title {
	font-size: 2rem;
	text-align: center;
}

.information__tel--number {
	margin-bottom: 3rem;
}

.information__tel--number .tel {
	display: flex;
	justify-content: center;
	align-items: center;
}

.information__tel--number .tel__title {
	background-color: rgb(var(--blu));
	margin-right: 1rem;
	width: 12rem;
	height: 3rem;
	color: rgb(var(--wht));
	font-family: var(--gothic);
	font-size: 1.8rem;
	border-radius: 3rem;
}

.information__tel--number .tel__main {
	font-size: 3.8rem;
	font-weight: 700;
}

.information__tel--number .time {
	font-size: 1.8rem;
}

.information .note {
	font-family: var(--gothic);
}

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

	.information .contact--title {
		margin-bottom: 2rem;
		padding-bottom: 1rem;
		font-size: 1.3rem;
	}

	.information__tel--title {
		margin-bottom: 0;
		font-size: 1.3rem;
	}

	.information__tel--number {
		margin-bottom: 1rem;
	}

	.information__tel--number .tel__title {
		width: 9rem;
		height: 2rem;
		font-size: 1.2rem;
	}

	.information__tel--number .tel__main {
		font-size: 2.5rem;
	}

	.information__tel--number .time {
		font-size: 1.2rem;
	}

	.information .note {
		font-family: var(--gothic);
	}
}
