@font-face {
	font-family: 'Andale Mono';
	src: url('../font/Andale Mono.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Graphik Light';
	src: url('../font/Graphik-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Graphik Regular';
	src: url('../font/graphik-regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'HiraKakuPro W3';
	src: url('../font/HiraKakuPro-W3.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'KozGoPr6N Regular';
	src: url('../font/KozGoPr6N-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

.sp_lon {
	display: none;
}

@media (max-width: 480px) {
	.sp_lon {
		display: inline;
	}
}

* {
	box-sizing: border-box;
}

body {
	color: #231815;
	font-family: 'Zen Kaku Gothic New', 'HiraKakuPro W3', "Noto Sans JP", sans-serif;
	font-weight: 700;
}
/*
body.is-fixed {
	overflow: hidden;
	position: fixed;
	width: 100%;
}
 */
.sm {
	display: block;
}

.tab {
	display: block;
}

.pc {
	display: none;
}

.over-wrap {
	overflow: hidden;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core body defaults */

body {
	-webkit-tap-highlight-color: transparent;
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article>*+* {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* altなしの画像をぼやけさせる 

img:not([alt]) {
	filter: blur(10px);
}*/

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	outline-offset: 8px;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

summary::marker {
	content: "";
}

summary::-webkit-details-marker {
	display: none;
}

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
}

.top-guide {
	margin-top: 3.0625rem;
}

.top-today {
	margin-top: 3rem;
}

/* 初期状態（共通） */

.fadein,
.fadein-left,
.fadein-right {
	opacity: 0;
}

/* 通常フェードイン */

.fadein.is-visible {
	animation: fadeIn 1s ease forwards;
}

/* 左からフェードイン */

.fadein-left.is-visible {
	animation: fadeInLeft 1s ease forwards;
}

/* 右からフェードイン */

.fadein-right.is-visible {
	animation: fadeInRight 1s ease forwards;
}

/* 上からフェードイン */

.fadein-up.is-visible {
	animation: fadeInUp 1s ease forwards;
}

/* ===== アニメーション定義 ===== */

/* テラスコレクション */

.collection {
	display: none;
}

.collection__text {
	font-family: "Noto Serif JP", serif;
	font-weight: bold;
}

/* PC用無限スクロールアニメーション */

/* PC */

/* SP - 非表示 */

.drawer-global__items {
	align-items: center;
	display: flex;
	gap: clamp(20px,
			calc(20px + 41 * ((100vw - 480px) / 480)),
			61px);
	justify-content: center;
	margin: 0 auto;
	width: 100%;
}

.drawer-menu__section+.drawer-menu__section {
	margin-top: 2.8125rem;
}

.drawer-menu__title {
	align-items: center;
	display: flex;
	font-family: "Graphik Light", "Roboto", sans-serif;
	font-size: 2.3125rem;
	font-weight: 300;
	letter-spacing: 0.03em;
	position: relative;
	text-transform: uppercase;
}

.drawer-menu__title::after {
	background-color: #fff;
	content: "";
	display: inline-block;
	height: 1px;
	margin-left: clamp(15px,
			calc(15px + 6 * ((100vw - 480px) / 480)),
			21px);
	width: 100%;
}

.drawer-menu__content {
	display: flex;
	flex-wrap: wrap;
	gap: 2.75rem clamp(30px,
			calc(30px + 12 * ((100vw - 480px) / 480)),
			42px);
	margin-top: 0.875rem;
	padding: 0 clamp(10px,
			calc(10px + 37 * ((100vw - 480px) / 480)),
			47px);
}

.drawer-menu__content>* {
	width: calc((100% - clamp(30px,
					calc(30px + 12 * ((100vw - 480px) / 480)),
					42px)) / 2);
}

.drawer-menu__content.sp {
	display: flex;
}

.drawer-menu__content.tab {
	display: none;
}

.drawer-menu__content.drawer-menu__content--mt {
	margin-top: 2.5625rem;
}

.drawer-menu__content>*:only-child {
	display: block;
	width: 100%;
}

.drawer-menu__content a {
	display: block;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: 100%;
}

.drawer-menu__items.tab {
	display: none;
}

.drawer-menu__items.drawer-menu__items--flex {
	display: flex;
	flex-direction: column;
}

.drawer-menu__head {
	font-size: 1rem;
	letter-spacing: 0.05em;
	margin-bottom: 15px;
}

.drawer-menu__wrap {
	margin-top: auto;
}

.drawer-menu__lists {
	margin-top: 0.3125rem;
}

.drawer-menu__list {
	font-size: 0.7rem;
	font-weight: 300;
	padding-left: clamp(15px,
			calc(15px + 6 * ((100vw - 480px) / 480)),
			21px);
	position: relative;
}

.drawer-menu__list::before {
	background-color: #fff;
	content: "";
	display: block;
	height: 1px;
	left: 0.4375rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.375rem;
}

.drawer-menu__list+.drawer-menu__list {
	margin-top: 0.8125rem;
}

.drawer {
	background-color: #004c75;
	bottom: 0;
	color: #fff;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
	transform: translateX(100%);
	transition: transform 0.4s cubic-bezier(0.48, -0.02, 0, 0.85) 0.2s;
	width: 100%;
	z-index: 1000;
}

.drawer.is-active {
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	transform: translateX(0);
}

.drawer__content {
	padding: 2.125rem 0 3.4375rem;
	position: relative;
}

.drawer__content * {
	color: #fff !important;
}


.drawer__content-inner {
	padding: 0 clamp(10px,
			calc(10px + 46 * ((100vw - 480px) / 480)),
			56px);
}

.drawer__menu {
	margin-top: clamp(40px,
			calc(40px + 18 * ((100vw - 480px) / 480)),
			58px);
}

.drawer__bottom {
	background-color: #eee6d8;
	padding-bottom: 2.8125rem;
	padding-top: 1.875rem;
}

.drawer__bottom-inner {
	padding: 0 1.25rem;
}

.drawer__bottom-content {
	display: flex;
	flex-direction: column;
	gap: 1.9375rem;
	width: 100%;
}

.floating {
	bottom: 0.5rem;
	left: 50%;
	max-width: 44.375rem;
	opacity: 0;
	padding: 0 clamp(10px,
			calc(10px + 10 * ((100vw - 480px) / 480)),
			20px);
	position: fixed;
	transform: translateX(-50%);
	transition: opacity 0.4s ease, visibility 0.4s ease;
	visibility: hidden;
	width: 100%;
	z-index: 800;
}

.floating.is-visible {
	opacity: 1;
	visibility: visible;
}

.floating__items {
	background-color: #d6640b;
	border-radius: clamp(26px,
			calc(26px + 18 * ((100vw - 480px) / 480)),
			44px);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: clamp(6px,
			calc(6px + 22 * ((100vw - 480px) / 480)),
			28px) clamp(5px,
			calc(5px + 22 * ((100vw - 480px) / 480)),
			27px);
	width: 100%;
}

.floating__item {
	position: relative;
}

.floating__item::after {
	background: rgba(255, 255, 255, 0.5);
	bottom: 0;
	content: "";
	height: 98%;
	position: absolute;
	right: 0;
	top: auto;
	width: 0.125rem;
}

.floating__item:nth-child(4)::after {
	display: none;
}

.floating__item a {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: clamp(5px,
			calc(5px + 1 * ((100vw - 480px) / 480)),
			6px);
	height: 100%;
	line-height: 1.4;
	position: relative;
}

.floating__img {
	transition: transform 0.3s ease;
}

.floating__img--info {
	width: clamp(25px,
			calc(25px + 29 * ((100vw - 480px) / 480)),
			54px);
}

.floating__img--ticket {
	width: clamp(25px,
			calc(25px + 29 * ((100vw - 480px) / 480)),
			52px);
}

.floating__img--faq {
	width: clamp(25px,
			calc(25px + 29 * ((100vw - 480px) / 480)),
			54px);
}

.floating__img--access {
	margin-top: clamp(4px,
			calc(4px + 4 * ((100vw - 480px) / 480)),
			8px);
	width: clamp(25px,
			calc(25px + 29 * ((100vw - 480px) / 480)),
			54px);
}

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

.floating__text {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
}

.floating__text-en {
	color: #fff;
	display: none;
	font-size: clamp(11px,
			calc(11px + 3 * ((100vw - 480px) / 480)),
			14px);
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.floating__text-jp {
	align-content: center;
	color: #fff;
	display: grid;
	font-size: clamp(10px,
			calc(10px + 4 * ((100vw - 480px) / 480)),
			14px);
	height: 100%;
	justify-content: center;
	letter-spacing: 0.05em;
	margin-top: 0;
	place-content: center;
	text-align: center;
	font-weight: 300;
}

.floating__text-en--block {
	display: block;
}

.floating__text-jp--none {
	display: none;
}

.footer__overview {
	background-color: #a1cdd0;
	padding-bottom: 2.5rem;
	padding-top: 2.75rem;
}

.footer__info {
	margin-top: clamp(19px,
			calc(19px + 23 * ((100vw - 480px) / 480)),
			42px);
	text-align: center;
}

.footer__info-heading {
	font-size: clamp(14px,
			calc(14px + 7 * ((100vw - 480px) / 480)),
			21px);
	letter-spacing: 0.05em;
}

.footer__info-text {
	font-size: clamp(12px,
			calc(12px + 4 * ((100vw - 480px) / 480)),
			16px);
	font-weight: 400;
	letter-spacing: 0.05em;
	margin-top: 0.375rem;
}

.footer__info-text a {
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.group-info {
	background-color: #004c75;
	padding: 5.6875rem 0 clamp(120px,
			calc(120px + 100 * ((100vw - 480px) / 480)),
			220px);
}

.group-info__inner.inner {
	padding-left: clamp(60px,
			calc(60px + 60 * ((100vw - 480px) / 480)),
			120px);
	padding-right: clamp(60px,
			calc(60px + 60 * ((100vw - 480px) / 480)),
			120px);
}

.group-info__logo {
	text-align: center;
	width: 100%;
}

.group-info__logo svg {
	fill: #fff;
	width: 100%;
}

.group-info__list {
	margin-top: clamp(20px,
			calc(20px + 20 * ((100vw - 480px) / 480)),
			40px);
}

.group-info__items {
	grid-gap: 0.9375rem clamp(25px,
			calc(25px + 75 * ((100vw - 480px) / 480)),
			100px);
	display: grid;
	gap: 0.9375rem clamp(25px,
			calc(25px + 75 * ((100vw - 480px) / 480)),
			100px);
	grid-template-columns: repeat(2, 1fr);
}

.group-info__item a {
	display: block;
	padding: 0;
	transition: opacity 0.3s ease;
}

.group-info__item a:hover {
	opacity: 0.5;
}

.group-info__item a img {
	display: block;
	height: auto;
	width: 100%;
}

.group-info__img {
	height: auto;
	width: 100%;
}

.group-info__img svg {
	fill: #fff;
	color: #fff;
	display: block;
	height: auto;
	width: 100%;
}

.group-info__copyright {
	color: #fff;
	font-size: 0.625rem;
	line-height: 1.6;
	margin-top: 1.875rem;
	text-align: center;
}

.group-info__copyright small {
	margin: 0;
}

.guide {
	background-color: #abcce5;
	padding-bottom: 6rem;
	padding-top: 4.0625rem;
}

.guide__img {
	aspect-ratio: 1201/816;
	margin-top: 3.125rem;
}

.guide__img img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.guide__info {
	background-color: #4f87b0;
	cursor: pointer;
	padding-bottom: 3.6875rem;
	padding-top: 2.625rem;
}

.guide__info-inner {
	padding: 0 clamp(26.5px,
			calc(26.5px + 26.5 * ((100vw - 480px) / 480)),
			53px);
}


.guide__info-item {
	border-bottom: 1px solid #fff;
	overflow: hidden;
	padding: 0.84375rem 0;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.guide__info-items summary {
	color: #fff;
	cursor: pointer;
	font-size: clamp(16px,
			calc(16px + 6 * ((100vw - 480px) / 480)),
			22px);
	list-style: none;
	padding-left: clamp(32px,
			calc(32px + 7 * ((100vw - 480px) / 480)),
			39px);
	padding-right: clamp(15px,
			calc(15px + 13 * ((100vw - 480px) / 480)),
			28px);
	position: relative;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.guide__info-items summary::-webkit-details-marker {
	display: none;
}

.guide__info-items summary::marker {
	display: none;
}

.guide__info-icon {
	display: inline-block;
	height: 0.75rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.75rem;
}

.guide__info-icon::before,
.guide__info-icon::after {
	background-color: #d6640b;
	content: "";
	position: absolute;
	transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.guide__info-icon::before {
	height: 0.75rem;
	left: 0.3125rem;
	top: 0;
	transform-origin: center;
	width: 0.1875rem;
}

.guide__info-icon::after {
	height: 0.125rem;
	left: 0;
	top: 0.3125rem;
	transform-origin: center;
	width: 0.75rem;
}

.guide__info-item.is-open .guide__info-icon::before {
	transform: rotate(90deg);
}

.guide__info-content {
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: height 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.guide__info-wrap {
	padding-left: clamp(10px,
			calc(10px + 10 * ((100vw - 480px) / 480)),
			20px);
	padding-right: clamp(10px,
			calc(10px + 10 * ((100vw - 480px) / 480)),
			20px);
	padding-top: clamp(10px,
			calc(10px + 10 * ((100vw - 480px) / 480)),
			20px);
}

.guide__info-item[open] .guide__info-content {
	opacity: 1;
}

.hamburger {
	background-color: #004c75;
	height: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
	position: relative;
	transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
	z-index: 1000;
}

.hamburger.is-active {
	background-color: #d6640b;
}

.hamburger__line {
	background-color: #fff;
	content: "";
	height: 2.5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) scaleY(0.5);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: clamp(32px, calc(32px + 27 * ((100vw - 480px) / 480)), 59px);
}

.hamburger__line:nth-child(1) {
	top: 25%;
}

.hamburger__line:nth-child(2) {
	top: 37%;
}

.hamburger__line:nth-child(3) {
	top: 49%;
}

.hamburger.is-active .hamburger__line:nth-child(1) {
	left: 30%;
	top: 31%;
	transform: rotate(45deg) scaleY(0.5);
	width: clamp(26px, calc(26px + 33 * ((100vw - 480px) / 480)), 59px);
}

.hamburger.is-active .hamburger__line:nth-child(2) {
	opacity: 0;
}

.hamburger.is-active .hamburger__line:nth-child(3) {
	left: 30%;
	top: 31%;
	transform: rotate(-45deg) scaleY(0.5);
	width: clamp(26px, calc(26px + 33 * ((100vw - 480px) / 480)), 59px);
}

.hamburger__text {
	color: #fff;
	content: "";
	font-size: clamp(11px, calc(11px + 10 * ((100vw - 480px) / 480)), 21px);
	font-weight: 300;
	left: 50%;
	letter-spacing: 0.1em;
	position: absolute;
	text-transform: uppercase;
	top: 59%;
	transform: translateX(-50%);
	transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.header {
	background-color: #ffffff91;
	height: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1000;
	font-size: 15px !important;
}

.header__inner {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding-left: clamp(15px,
			calc(15px + 45 * ((100vw - 480px) / 480)),
			60px);
	width: 100%;
}

.header__wrap {
	align-items: center;
	display: flex;
	height: inherit;
}

.header__global-wrap {
	height: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
}

.header__logo a {
	display: block;
	height: inherit;
	width: clamp(160px, calc(160px + 52 * ((100vw - 480px) / 480)), 212px);
}

.header__logo img {
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	width: 100%;
}

/* PCメニュー
--------------------------------------------------*/

.header__items {
	display: none;
}

.header__lists {
	display: flex;
	height: 100%;
	gap: 5px;
}

.header__list {
	height: 100%;
}

.header__list a span {
	display: block;
	overflow: hidden;
	/* 	text-shadow: 0 -1.5em 0 #231815, 0 0 0 #231815;
	transition: text-shadow 0.3s; */
}


.header__list a {
	position: relative;
	display: inline-block;
	/* テキスト幅に依存しないようにする */
	padding-bottom: 12px;
	/* 下線との距離をここで調整 */
	text-decoration: none;
}

.header__list a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 20px;
	width: 65px;
	height: 2px;
	background: #d6640b;
	transform: translateX(-50%) scaleX(0);
	transition: transform .18s ease;
}

.header__list a:hover::after {
	transform: translateX(-50%) scaleX(1);
	/* ホバー時に表示 */
}

.header__list .header__submenu a::after {
	bottom: 3px;
}


/* アクセシビリティ配慮 */
@media (prefers-reduced-motion: reduce) {
	.header__list a::after {
		transition: none;
	}
}




.header__global {
	display: none;
}

.icon-area {
	grid-gap: clamp(0px,
			calc(0px + 10 * ((100vw - 480px) / 480)),
			10px);
	background-color: #4f87b0;
	border-radius: clamp(20px,
			calc(20px + 25 * ((100vw - 480px) / 480)),
			45px);
	display: grid;
	gap: clamp(0px,
			calc(0px + 10 * ((100vw - 480px) / 480)),
			10px);
	grid-template-columns: repeat(4, 1fr);
	padding: 0.25rem clamp(0px,
			calc(0px + 27 * ((100vw - 480px) / 480)),
			27px);
}

.icon-area__item {
	position: relative;
}

.icon-area__item::after {
	background: rgba(255, 255, 255, 0.5);
	content: "";
	height: 90%;
	position: absolute;
	right: -0.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.125rem;
}

.icon-area__item:last-child::after {
	display: none;
}

.icon-area__item a {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.icon-area__img {
	flex-shrink: 0;
	height: clamp(35px, calc(35px + 43 * ((100vw - 480px) / 480)), 78px);
	transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.icon-area__img img {
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	width: 100%;
}

.icon-area__img--info {
	width: clamp(22px,
			calc(22px + 32 * ((100vw - 480px) / 480)),
			54px);
}

.icon-area__img--ticket {
	width: clamp(24px,
			calc(24px + 32 * ((100vw - 480px) / 480)),
			56px);
}

.icon-area__img--faq {
	width: clamp(22px,
			calc(22px + 32 * ((100vw - 480px) / 480)),
			54px);
}

.icon-area__img--access {
	width: clamp(22px,
			calc(22px + 32 * ((100vw - 480px) / 480)),
			54px);
}

.icon-area__text-wrap {
	align-content: center;
	display: grid;
	height: 100%;
	justify-content: center;
	place-content: center;
	width: 100%;
}

.icon-area__text-en {
	display: none;
}

.icon-area__text-jp {
	display: none;
}

.icon-area__text {
	color: #fff;
	font-size: 0.6875rem;
	margin-top: auto;
	text-align: center;
	font-weight: 300;
}

.icon-area__text.icon-area__text--none {
	display: block;
}

.info {
	background-color: #eee6d8;
	padding-bottom: 4.375rem;
	padding-top: 5.4375rem;
}

.info__container {
	position: relative;
}

.info__content {
	margin-top: clamp(21.5px,
			calc(21.5px + 21.5 * ((100vw - 480px) / 480)),
			43px);
}

.info__cards {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(15px,
			calc(15px + 22 * ((100vw - 480px) / 480)),
			37px);
}

.info__cards>* {
	flex: 1 1 calc(50% - clamp(15px,
				calc(15px + 22 * ((100vw - 480px) / 480)),
				37px) / 2);
}

.info__more {
	display: flex;
	justify-content: flex-start;
	margin-top: clamp(19px,
			calc(19px + 19 * ((100vw - 480px) / 480)),
			38px);
}

.info__more a {
	color: transparent;
	display: block;
	display: block;
	font-family: "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(16px,
			calc(16px + 4 * ((100vw - 480px) / 480)),
			20px);
	font-weight: 300;
	letter-spacing: 0.1em;
	overflow: hidden;
	text-shadow: 0 -1.5em 0 #004c75, 0 0 0 #004c75;
	text-transform: uppercase;
	transition: text-shadow 0.3s;
}

.info__more span {
	display: inline-block;
	height: 1rem;
	padding-left: 1.125rem;
	position: relative;
	width: 1.1875rem;
}

.info__more span::before,
.info__more span::after {
	background-color: #004c75;
	content: "";
	height: 0.0625rem;
	left: 4px;
	position: absolute;
	top: 60%;
	transform-origin: calc(100% - 1px) 50%;
	width: 0.6875rem;
}

.info__more span::before {
	transform: rotate(32deg);
}

.info__more span::after {
	transform: rotate(-32deg);
}

/* 前への矢印 */

.swiper-button-prev {
	left: -30px;
}

/* 次への矢印 */

.swiper-button-next {
	right: -30px;
}

/* ページネーション */

.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -25px;
}

.inner,
.pan {
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(15px, 15px + 61 * (100vw - 375px) / 375, 76px);
	padding-right: clamp(15px, 15px + 61 * (100vw - 375px) / 375, 76px);
	width: 100%;
}

.pan {
	color: rgb(138, 138, 138);
	font-size: 0.8rem;
}

.language-button .language-button-box {
	align-items: center;
	background-color: #fff;
	display: flex;
	gap: 0.9375rem;
	padding: 0.4375rem 2rem;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.language-button__icon {
	flex: 0 0 clamp(24px,
			calc(24px + 10 * ((100vw - 480px) / 480)),
			34px);
	height: 2.125rem;
	width: clamp(24px,
			calc(24px + 10 * ((100vw - 480px) / 480)),
			34px);
}

.language-button__icon img {
	display: block;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	width: 100%;
}

.language-button__text {
	color: #004c75;
	font-family: "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(20px,
			calc(20px + 4 * ((100vw - 480px) / 480)),
			24px);
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: capitalize;
}

.language-button__text select {
	color: #004c75;
}

.mv {
	margin-top: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
}

.mv__slider {
	/*height: clamp(522px,
			calc(522px + 373 * ((100vw - 480px) / 480)),
			895px);*/
	height: calc(100vh - clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px));
	overflow: hidden;
	position: relative;
	width: 100%;
}

.mv__slide {
	aspect-ratio: 1440/768;
}

.mv__slide--label {
	position: relative;
}

.mv__slide img {
	/*height: clamp(522px,
			calc(522px + 373 * ((100vw - 480px) / 480)),
			895px);*/
	height: calc(100vh - clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px));
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center center;
	object-position: center center;
	width: 100%;
}

.mv__container {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
}

.mv__container .swiper-pagination.mv-pagination {
	width: 100% !important;
	text-align: center;
	bottom: 2vh;
	padding: 0;
}


.mv__container .swiper-pagination.mv-pagination .swiper-pagination-bullet {
	background-color: #fff;
	border: 1px solid #004c75;
	border-radius: 50%;
	height: clamp(8.5px,
			calc(8.5px + 8.5 * ((100vw - 480px) / 480)),
			17px);
	margin: 0 clamp(6.75px,
			calc(6.75px + 6.75 * ((100vw - 480px) / 480)),
			13.5px);
	opacity: 1;
	transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: clamp(8.5px,
			calc(8.5px + 8.5 * ((100vw - 480px) / 480)),
			17px);
}

.mv__container .swiper-pagination.mv-pagination .swiper-pagination-bullet-active {
	background-color: #4f87b0;
}


.mv__label {
	aspect-ratio: 198/84;
	content: "";
	position: absolute;
	right: clamp(24px,
			calc(24px + 34 * ((100vw - 480px) / 480)),
			58px);
	top: clamp(31px,
			calc(31px + 32 * ((100vw - 480px) / 480)),
			63px);
	width: clamp(140px,
			calc(140px + 58 * ((100vw - 480px) / 480)),
			198px);
	z-index: 100;
}

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

/*=========================================================
//# info ナビゲーション
//=========================================================*/

.info-navigation {
	display: none;
}

/*=========================================================
//# topics ナビゲーション
//=========================================================*/

.topics-navigation {
	display: none;
}

.swiper-pagination.mv-pagination {
	bottom: clamp(18px,
			calc(18px + 17 * ((100vw - 480px) / 480)),
			35px);
	padding-right: clamp(32px,
			calc(32px + 32 * ((100vw - 480px) / 480)),
			64px);
	text-align: right;
	/* アクティブドット */
}

.swiper-pagination.mv-pagination .swiper-pagination-bullet {
	background-color: #fff;
	border: 1px solid #004c75;
	border-radius: 50%;
	height: clamp(13.5px,
			calc(13.5px + 3.5 * ((100vw - 480px) / 480)),
			17px);
	margin: 0 clamp(6.75px,
			calc(6.75px + 6.75 * ((100vw - 480px) / 480)),
			13.5px);
	opacity: 1;
	transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: clamp(13.5px,
			calc(13.5px + 3.5 * ((100vw - 480px) / 480)),
			17px);
}

.swiper-pagination.mv-pagination .swiper-pagination-bullet-active {
	background-color: #4f87b0;
}

.swiper-pagination.info-pagination {
	display: none;
}

.swiper-pagination.topics-pagination {
	display: none;
}

.pc-close__text {
	display: none;
}

.season-button a {
	background-color: #fff;
	display: block;
	padding: 0.4375rem 3.125rem 0.4375rem 1.25rem;
	position: relative;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.season-button a::after {
	border-bottom: 8px solid transparent;
	border-left: 10px solid #004c75;
	border-right: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	content: "";
	height: 0.625rem;
	position: absolute;
	right: 1.8125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5rem;
}

.season-button__text {
	text-wrap: nowrap;
	color: #004c75;
	font-family: "Poppins Light", "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(20px,
			calc(20px + 4 * ((100vw - 480px) / 480)),
			24px);
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: capitalize;
}

.section-title-en {
	font-feature-settings: "palt" 1;
	color: #004c75;
	font-family: "Poppins Light", "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(45px,
			calc(45px + 15 * ((100vw - 480px) / 480)),
			60px);
	font-weight: 300;
	letter-spacing: 0.02em;
	line-height: 1;
	text-transform: uppercase;
}

.section-title-jp {
	color: #004c75;
	font-size: clamp(18px,
			calc(18px + 2 * ((100vw - 480px) / 480)),
			20px);
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.today__sub .section-title-jp.section-title-jp--today {
	font-size: clamp(14px,
			calc(14px + 6 * ((100vw - 480px) / 480)),
			20px);
	vertical-align: text-bottom;
}

.sns-area__items {
	align-items: center;
	display: flex;
	gap: clamp(20px, calc(20px + 39 * ((100vw - 480px) / 480)), 59px);
	justify-content: center;
	margin: 0 auto;
	max-width: 30rem;
	width: 100%;
}

.sns-area__items.sns-area__items--footer {
	gap: clamp(20px, calc(20px + 39 * ((100vw - 480px) / 480)), 59px);
}

.sns-area__item a {
	align-items: center;
	display: flex;
	height: clamp(42px, calc(42px + 6 * ((100vw - 480px) / 480)), 48px);
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: clamp(42px, calc(42px + 6 * ((100vw - 480px) / 480)), 48px);
}

.sns-area__item a:hover {
	opacity: 0.7;
}

.sns-area__icon {
	display: block;
	height: 100%;
	width: 100%;
}

.sns-area__icon.sns-area__icon--drawer path,
.sns-area__icon.sns-area__icon--drawer .cl {
	fill: #004c75;
}

.sns-area__icon.sns-area__icon--drawer .none {
	fill: transparent;
}

.sns-area__icon.sns-area__icon--footer path,
.sns-area__icon.sns-area__icon--footer .cl {
	fill: #fff;
}

.sns-area__icon.sns-area__icon--footer .none {
	fill: transparent;
}

.temperature {
	align-content: center;
	background-color: #004c75;
	border-radius: clamp(10px,
			calc(10px + 11 * ((100vw - 480px) / 480)),
			21px);
	display: grid;
	height: clamp(46px,
			calc(46px + 30 * ((100vw - 480px) / 480)),
			76px);
	justify-content: center;
	place-content: center;
	width: clamp(46px,
			calc(46px + 30 * ((100vw - 480px) / 480)),
			76px);
}

.temperature__text {
	color: #fff;
	font-size: clamp(27px,
			calc(27px + 13 * ((100vw - 480px) / 480)),
			40px);
	font-weight: 400;
}

.temperature__text span {
	font-size: clamp(17px,
			calc(17px + 10 * ((100vw - 480px) / 480)),
			27px);
	font-weight: 400;
}

.title-area {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	width: 100%;
}

.to-top {
	display: none;
}

.today__heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.today__wrap {
	display: grid;
	grid-template-areas: "title" "sub";
}

.today__title-en {
	grid-area: title;
}

.today__sub {
	align-items: baseline;
	display: flex;
	gap: clamp(14px,
			calc(14px + 14 * ((100vw - 480px) / 480)),
			28px);
	grid-area: sub;
	width: 100%;
}

.today__sub:has(.section-title-jp--today) {
	align-items: center;
}

.today__date {
	color: #004c75;
	font-family: "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(22.5px,
			calc(22.5px + 22.5 * ((100vw - 480px) / 480)),
			45px);
	font-weight: 300;
}

.today__items {
	display: flex;
	gap: clamp(2px,
			calc(2px + 16 * ((100vw - 480px) / 480)),
			18px);
}

.today__content {
	background: #efefef;
	border-radius: clamp(15px, calc(15px + 15 * ((100vw - 480px) / 480)), 30px);
	margin-top: 0.3125rem;
	padding-bottom: clamp(14px, calc(14px + 8 * ((100vw - 480px) / 480)), 22px);
	padding-left: clamp(24px, calc(24px + 10 * ((100vw - 480px) / 480)), 34px);
	padding-right: clamp(14px, calc(14px + 10 * ((100vw - 480px) / 480)), 24px);
	padding-top: clamp(14px, calc(14px + 8 * ((100vw - 480px) / 480)), 22px);
}

.today__scroll-area {
	-ms-overflow-style: none;
	height: 10.3125rem;
	overflow-y: scroll;
	padding-right: clamp(25px,
			calc(25px + 25 * ((100vw - 480px) / 480)),
			50px);
	scrollbar-width: none;
}

.today__scroll-area::-webkit-scrollbar {
	display: none;
}

.simplebar-scrollbar::before {
	background-color: #abcce5;
	border-radius: 0;
}

.simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}

.simplebar-track.simplebar-vertical {
	width: clamp(20px,
			calc(20px + 10 * ((100vw - 480px) / 480)),
			30px);
}

.today__live {
	margin-top: 1.875rem;
}

.today__live a {
	border: clamp(2px,
			calc(2px + 0.5 * ((100vw - 480px) / 480)),
			2.5px) solid #231815;
	border-radius: 1.5625rem;
	color: #231815;
	display: block;
	font-size: 0.9375rem;
	letter-spacing: 0.05em;
	margin: 0 auto;
	max-width: 17.5rem;
	padding-bottom: clamp(6.5px,
			calc(6.5px + 6.5 * ((100vw - 480px) / 480)),
			13px);
	padding-left: 5.1875rem;
	padding-right: 2.5rem;
	padding-top: clamp(6.5px,
			calc(6.5px + 6.5 * ((100vw - 480px) / 480)),
			13px);
	position: relative;
	transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: 100%;
}

.today__live a:after {
	border-bottom: clamp(8px,
			calc(8px + 2 * ((100vw - 480px) / 480)),
			10px) solid transparent;
	border-left: clamp(12px,
			calc(12px + 2 * ((100vw - 480px) / 480)),
			14px) solid #d6640b;
	border-right: 0;
	border-style: solid;
	border-top: clamp(8px,
			calc(8px + 2 * ((100vw - 480px) / 480)),
			10px) solid transparent;
	content: "";
	height: 0;
	position: absolute;
	right: clamp(15px,
			calc(15px + 15 * ((100vw - 480px) / 480)),
			30px);
	top: 50%;
	transform: translateY(-50%);
	width: 0;
}

.top-card a {
	display: block;
	width: inherit;
}

.top-card__body {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: clamp(140px,
			calc(140px + 105 * ((100vw - 480px) / 480)),
			245px);
}

.top-card__body.top-card__body--topics {
	min-height: clamp(200px,
			calc(200px + 137 * ((100vw - 480px) / 480)),
			337px);
}

.top-card__img {
	aspect-ratio: 280/174;
	flex: 0 0 72%;
	overflow: hidden;
}

.top-card__img--topics {
	flex: 0 0 60%;
}

.top-card__img img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center center;
	object-position: center center;
	transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: 100%;
}

.top-card__container {
	display: flex;
	flex: 1 1 28%;
	flex-direction: column;
	height: 100%;
	padding: clamp(6px,
			calc(6px + 4 * ((100vw - 480px) / 480)),
			10px) 0.8rem;
}

.top-card__container--topics {
	gap: clamp(11px,
			calc(11px + 11 * ((100vw - 480px) / 480)),
			22px);
	padding: clamp(6px,
			calc(6px + 4 * ((100vw - 480px) / 480)),
			10px) clamp(6px,
			calc(6px + 9 * ((100vw - 480px) / 480)),
			15px);
}

.top-card__date {
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	color: #a1a1a1;
}

.top-card__meta {
	display: inline-flex;
	flex-direction: column;
	gap: 0;
}

.top-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
	line-height: 1.4;
	min-height: 2.8em;
	overflow: hidden;
	word-break: break-word;
}

.top-card__text p {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	/* 概要テキストが長くてもはみ出さないように行数制限 */
	display: -webkit-box;
	font-size: 0.7rem;
	/* 最大3行 */
	overflow: hidden;
	font-family: 'Zen Kaku Gothic New', 'Noto Sans JP';
	font-weight: 500;
}

.topics {
	background-color: #a1cdd0;
	padding-bottom: clamp(31px,
			calc(31px + 31 * ((100vw - 480px) / 480)),
			62px);
	padding-top: 5.375rem;
}

.topics__container {
	position: relative;
}

.topics__content {
	margin-top: clamp(21.5px,
			calc(21.5px + 16.5 * ((100vw - 480px) / 480)),
			38px);
}

.topics__cards {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(15px,
			calc(15px + 22 * ((100vw - 480px) / 480)),
			37px);
}

.topics__cards>* {
	flex: 1 1 calc(50% - clamp(15px,
				calc(15px + 22 * ((100vw - 480px) / 480)),
				37px) / 2);
}

.topics__more {
	display: flex;
	justify-content: flex-start;
	margin-top: clamp(19px,
			calc(19px + 19 * ((100vw - 480px) / 480)),
			38px);
	margin-left: 0;
}

.topics__more a {
	color: transparent;
	display: block;
	font-family: "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(16px,
			calc(16px + 4 * ((100vw - 480px) / 480)),
			20px);
	font-weight: 300;
	letter-spacing: 0.1em;
	overflow: hidden;
	text-shadow: 0 -1.5em 0 #004c75, 0 0 0 #004c75;
	text-transform: uppercase;
	transition: text-shadow 0.3s;
}

.topics__more span {
	display: inline-block;
	height: 1rem;
	padding-left: 1.125rem;
	position: relative;
	width: 1.1875rem;
}

.topics__more span::before,
.topics__more span::after {
	background-color: #004c75;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	top: 60%;
	transform-origin: calc(100% - 1px) 50%;
	width: 0.6875rem;
}

.topics__more span::before {
	transform: rotate(32deg);
}

.topics__more span::after {
	transform: rotate(-32deg);
}

.weather {
	align-content: center;
	background-color: #004c75;
	border-radius: clamp(10px,
			calc(10px + 11 * ((100vw - 480px) / 480)),
			21px);
	display: grid;
	height: clamp(46px,
			calc(46px + 30 * ((100vw - 480px) / 480)),
			76px);
	justify-content: center;
	place-content: center;
	width: clamp(46px,
			calc(46px + 30 * ((100vw - 480px) / 480)),
			76px);
}

/*2025fc
.weather__icon {
	width: clamp(30px,
			calc(30px + 18 * ((100vw - 480px) / 480)),
			48px);
}
*/

.weather__icon img {
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	width: 100%;
}

.wind {
	align-content: center;
	background-color: #004c75;
	border-radius: clamp(10px,
			calc(10px + 11 * ((100vw - 480px) / 480)),
			21px);
	display: grid;
	height: clamp(46px,
			calc(46px + 30 * ((100vw - 480px) / 480)),
			76px);
	justify-content: center;
	place-content: center;
	width: clamp(46px,
			calc(46px + 30 * ((100vw - 480px) / 480)),
			76px);
}

.wind__wrap {
	align-items: flex-start;
	display: flex;
	gap: 0.125rem;
	height: -moz-fit-content;
	height: fit-content;
	justify-content: center;
	width: 100%;
}

.wind__icon {
	width: clamp(10px,
			calc(10px + 3 * ((100vw - 480px) / 480)),
			13px);
}

.wind__icon img {
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	width: 100%;
}

.wind__text {
	color: #fff;
	font-family: "Graphik Light", "Roboto", sans-serif;
	font-size: clamp(8px,
			calc(8px + 4 * ((100vw - 480px) / 480)),
			12px);
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1;
	text-transform: uppercase;
}

.wind__content {
	color: #fff;
	font-size: clamp(20px,
			calc(20px + 12 * ((100vw - 480px) / 480)),
			32px);
	font-weight: 400;
	line-height: 1;
	text-align: center;
}

.wind__content span.text_02 {
	font-size: clamp(18px,
			calc(18px + 10 * ((100vw - 480px) / 480)),
			28px);
}

.wind__content span.text_04 {
	font-size: clamp(10px,
			calc(10px + 6 * ((100vw - 480px) / 480)),
			16px);
}

@media (hover: hover) and (pointer: fine) {

	.drawer-menu__content a:hover {
		opacity: 0.5;
	}

	.floating__item a:hover .floating__img {
		transform: scale(1.2);
	}

	.footer__info-text a:hover {
		opacity: 0.5;
	}

	.guide__info-item:hover summary {
		opacity: 0.5;
	}

	/* 	.header__list a:hover span {
		text-shadow: 0 0 0 #231815, 0 1.5em 0 transparent;
	} */

	.icon-area__item a:hover .icon-area__img {
		transform: scale(1.2);
	}

	.info__more a:hover {
		text-shadow: 0 0 0 #004c75, 0 1.5em 0 transparent;
	}

	.language-button .language-button-box:hover {
		opacity: 0.5;
	}

	.pc-close:hover {
		background-color: #004c75;
	}

	.season-button a:hover {
		opacity: 0.5;
	}

	.to-top a:hover img {
		transform: translateY(-0.625rem);
	}

	.today__live a:hover {
		background-color: #231815;
		color: #fff;
	}

	.top-card a:hover .top-card__img img {
		opacity: 0.5;
		transform: scale(1.1);
	}

	.topics__more a:hover {
		text-shadow: 0 0 0 #004c75, 0 1.5em 0 transparent;
	}

}

@media screen and (min-width: 375px) {

	.sm {
		display: none;
	}

}

@media screen and (min-width: 500px) {

	.hamburger.is-active .hamburger__line:nth-child(1) {
		left: 28%;
	}

	.hamburger.is-active .hamburger__line:nth-child(3) {
		left: 28%;
	}

}

@media screen and (min-width: 681px) {

	.collection {
		background: #F2F2F2;
		border-bottom: 3px solid #C49D63;
		border-top: 3px solid #C49D63;
		margin: 0 calc((100% - 100vw) / 2);
		overflow: hidden;
		padding: 90px 0;
		position: relative;
		width: 100vw;
	}

	.collection img {
		display: inline-block;
		height: auto;
		width: auto;
	}

	.collection__logo {
		display: block;
		margin: 0 auto 50px;
		width: 150px;
	}

	.collection__title {
		margin: 0 auto 65px;
		text-align: center;
	}

	.collection__slider {
		margin: auto;
		max-width: 1680px;
		overflow: hidden;
		position: relative;
	}

	.collection__slider::before,
	.collection__slider::after {
		background: #F2F2F2;
		bottom: 0;
		content: "";
		display: block;
		opacity: 0.6;
		position: absolute;
		top: 0;
		width: 15%;
		z-index: 200;
	}

	.collection__slider::after {
		right: 0;
	}

	.collection__track {
		animation: scroll-pc 35s linear infinite;
		display: flex;
		width: -moz-max-content;
		width: max-content;
	}

	.collection__track:hover {
		animation-play-state: paused;
	}

	.collection__list {
		display: flex;
		gap: 0;
	}

	.collection__item {
		flex-shrink: 0;
		padding: 0 15px;
		width: 423px;
	}

	a.collection__link {
		color: #fff !important;
	}

	a.collection__link {
		display: block;
		position: relative;
	}

	.collection__img {
		width: 100%;
	}

	.collection__text {
		align-items: center;
		bottom: 0;
		display: flex;
		flex-direction: column;
		font-size: 18px;
		justify-content: center;
		left: 0;
		position: absolute;
		right: 0;
		text-shadow: 0 4px 6px rgba(0, 0, 0, 0.6);
		top: 0;
	}

	.collection__textSub {
		display: block;
		font-size: 66%;
		margin-bottom: 0.75em;
	}

	.collection__btn {
		display: none !important;
	}

	.collection__linkAll {
		background: none;
		bottom: 90px;
		display: block;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		top: 322px;
		z-index: 200;
	}

	.collection__linkAll:hover {
		background: rgba(242, 242, 242, 0.6);
	}

}

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

	.sp {
		display: none;
	}

	.pc {
		display: block;
	}

	html {
		font-size: 1.3333333333vw;
	}

	.top-guide {
		margin-top: 6.25rem;
	}

	.top-today {
		margin-top: 4.75rem;
	}

	.collection {
		display: block;
	}

	.floating {
		border-radius: 1.875rem;
		bottom: 1.875rem;
		left: auto;
		max-width: clamp(150px,
				calc(150px + 150 * ((100vw - 750px) / 1170)),
				300px);
		padding: 0;
		right: clamp(10px, calc(10px + 10 * ((100vw - 750px) / 1170)), 15px);
		transform: scale(0.8);
	}

	.floating__items {
		border-radius: 1.6875rem;
		grid-template-columns: 1fr;
		grid-template-rows: repeat(4, 1fr);
		padding: clamp(18px,
				calc(18px + 10 * ((100vw - 750px) / 1170)),
				28px) clamp(14px,
				calc(14px + 13 * ((100vw - 750px) / 1170)),
				27px) clamp(10px,
				calc(10px + 18 * ((100vw - 750px) / 1170)),
				28px);
	}

	.floating__item::after {
		bottom: 0;
		height: 0.125rem;
		right: 0;
		width: 100%;
	}

	.floating__item:nth-child(4)::after {
		display: block;
	}

	.floating__item a {
		flex-direction: row;
		gap: clamp(5px,
				calc(5px + 12 * ((100vw - 750px) / 1170)),
				17px);
		gap: clamp(6px,
				calc(6px + 6 * ((100vw - 750px) / 1170)),
				12px);
		padding: clamp(10px,
				calc(10px + 15 * ((100vw - 750px) / 1170)),
				25px) 0;
	}

	.floating__img--info {
		width: 3.375rem;
	}

	.floating__img--ticket {
		width: 3.25rem;
	}

	.floating__img--faq {
		width: 3.375rem;
	}

	.floating__img--access {
		margin-top: 0rem;
		width: 3.375rem;
	}

	.floating__text {
		align-items: start;
		display: flex;
		flex-direction: column;
	}

	.floating__text-en {
		display: block;
		font-family: "Graphik Light", "Roboto", sans-serif;
		font-size: clamp(11px,
				calc(11px + 8 * ((100vw - 750px) / 1170)),
				19px);
		font-weight: 400;
		white-space: nowrap;
	}

	.floating__text-jp {
		font-size: clamp(11px,
				calc(11px + 3.5 * ((100vw - 750px) / 1170)),
				14.5px);
		height: auto;
	}

	.floating__text-jp--none {
		display: block;
	}

	.footer__overview {
		padding-bottom: 5rem;
		padding-top: 6.875rem;
	}

	.footer__sns {
		margin-top: clamp(19px,
				calc(19px + 19 * ((100vw - 480px) / 480)),
				38px);
	}

	.footer__info {
		margin-top: 4.1875rem;
	}

	.group-info {
		padding-bottom: 4.375rem;
		padding-top: 3.5rem;
	}

	.group-info__inner.inner {
		padding-left: clamp(60px,
				calc(60px + 30 * ((100vw - 480px) / 480)),
				90px);
		padding-right: clamp(60px,
				calc(60px + 30 * ((100vw - 480px) / 480)),
				90px);
	}

	.group-info__items {
		gap: 0.9375rem 0.625rem;
		grid-template-columns: repeat(4, 1fr);
	}

	.group-info__copyright {
		font-size: 0.875rem;
		letter-spacing: 0.05em;
		margin-top: 4.5625rem;
	}

	.guide {
		padding-bottom: 7.625rem;
		padding-top: 6.25rem;
	}

	.guide__img {
		aspect-ratio: 2399/1521;
		margin-top: 2.5rem;
	}

	.guide__info {
		padding-bottom: 4.1875rem;
	}

	.guide__info-inner {
		padding: 0 clamp(47px,
				calc(47px + 105 * ((100vw - 750px) / 1170)),
				152px);
	}

	.guide__info-item {
		padding: 1.4375rem 0;
	}

	.guide__info-items summary {
		padding-left: clamp(49px,
				calc(49px + 30 * ((100vw - 750px) / 1170)),
				79px);
	}

	.guide__info-icon {
		height: 0.875rem;
		left: 1.6875rem;
		width: 0.875rem;
	}

	.guide__info-wrap {
		padding-left: clamp(49px,
				calc(49px + 30 * ((100vw - 750px) / 1170)),
				79px);
	}

	.icon-area {
		border-radius: 2.1875rem;
		padding: 0.9375rem 1.125rem;
	}

	.icon-area__img {
		height: 3.0625rem;
	}

	.icon-area__img--info {
		width: 2.375rem;
	}

	.icon-area__img--ticket {
		width: 2.25rem;
	}

	.icon-area__img--faq {
		width: 2.375rem;
	}

	.icon-area__img--access {
		margin-top: 0rem;
		width: 3.0625rem;
	}

	.icon-area__text-wrap {
		margin-top: auto;
		text-align: center;
	}

	.icon-area__text-en {
		display: block;
		font-family: "Graphik Light", "Roboto", sans-serif;
		font-size: 0.9375rem;
		font-weight: 300;
		text-transform: uppercase;
	}

	.icon-area__text-jp {
		color: #fff;
		display: block;
		font-size: 0.75rem;
		margin-top: 0;
		text-align: center;
	}

	.icon-area__text {
		font-size: 0.75rem;
		margin-top: 0;
	}

	.icon-area__text.icon-area__text--none {
		display: none;
	}

	.info__content {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		margin-top: 1.875rem;
		width: 100vw;
	}

	.info__cards {
		flex-wrap: nowrap;
		gap: 0;
	}

	.info__cards>* {
		flex: 0 0 auto;
	}

	.info__more span {
		display: none;
	}

	.inner,
	.pan {
		max-width: 1275px;
		padding-left: 37.5px;
		padding-right: 37.5px;
	}

	/*20251120.mv__slider {
		height: clamp(420px,
				calc(420px + 300 * ((100vw - 750px) / 1170)),
				720px);
	}*/

	.mv__slider {
		height: calc(100vh - clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px));
	}

	/*.mv__slide img {
		height: clamp(420px,
				calc(420px + 300 * ((100vw - 750px) / 1170)),
				720px);
	}*/

	.mv__slide img {
		height: calc(100vh - clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px));
	}

	.mv__label img {
		height: auto;
	}

	.info-navigation {
		bottom: clamp(-67px,
				calc(-67px + 0 * ((100vw - 750px) / 1170)),
				-67px);
		display: flex;
		gap: 1.6875rem;
		position: absolute;
		left: clamp(77px,
				calc(77px + 10 * ((100vw - 750px) / 1170)),
				87px);
		z-index: 10;
		/* 矢印アイコン（中の記号）の大きさを変更 */
		/* ホバー時 */
	}

	.info-navigation .swiper-button-prev,
	.info-navigation .swiper-button-next {
		align-items: center;
		color: #004c75;
		cursor: pointer;
		display: flex;
		height: 1.25rem;
		justify-content: center;
		position: static;
		transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
		width: 1.25rem;
	}

	.info-navigation .swiper-button-prev::after,
	.info-navigation .swiper-button-next::after {
		font-size: 1.875rem;
		font-weight: 700;
	}

	.info-navigation .swiper-button-prev:hover,
	.info-navigation .swiper-button-next:hover {
		opacity: 0.5;
	}

	.topics-navigation {
		bottom: clamp(-67px,
				calc(-67px + 0 * ((100vw - 750px) / 1170)),
				-67px);
		display: flex;
		gap: 1.6875rem;
		position: absolute;
		/*20251120left: clamp(77px,
				calc(77px + 10 * ((100vw - 750px) / 1170)),
				87px);*/
		z-index: 10;
		left: 0;
		/* 矢印アイコン（中の記号）の大きさを変更 */
		/* ホバー時 */
	}

	.topics-navigation .swiper-button-prev,
	.topics-navigation .swiper-button-next {
		align-items: center;
		color: #004c75;
		cursor: pointer;
		display: flex;
		height: 1.25rem;
		justify-content: center;
		position: static;
		transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
		width: 1.25rem;
	}

	.topics-navigation .swiper-button-prev::after,
	.topics-navigation .swiper-button-next::after {
		font-size: 1.875rem;
		font-weight: 700;
	}

	.topics-navigation .swiper-button-prev:hover,
	.topics-navigation .swiper-button-next:hover {
		opacity: 0.5;
	}

	.swiper-pagination.mv-pagination {
		bottom: -2.3125rem;
		padding-right: 0;
		right: calc(50% - min(50vw, clamp(218px,
						calc(218px + 337 * ((100vw - 750px) / 1170)),
						555px)));
		width: auto;
	}

	.swiper-pagination.mv-pagination .swiper-pagination-bullet {
		height: 0.875rem;
		margin: 0 clamp(6px,
				calc(6px + 6 * ((100vw - 750px) / 1170)),
				12px);
		width: 0.875rem;
	}

	.swiper-pagination.info-pagination {
		display: block;
		height: -moz-fit-content;
		height: fit-content;
		left: auto;
		right: calc(50% - min(50vw, clamp(350px,
						calc(350px + 250 * ((100vw - 750px) / 1170)),
						600px)));
		text-align: right;
		top: -40px;
		width: auto;
		/* アクティブドット */
	}

	.swiper-pagination.info-pagination .swiper-pagination-bullet {
		background-color: #fff;
		border: 1px solid #004c75;
		border-radius: 50%;
		height: 1rem;
		margin: 0 0.5rem;
		opacity: 1;
		transition: background-color 0.3s ease;
		width: 1rem;
	}

	.swiper-pagination.info-pagination .swiper-pagination-bullet-active {
		background-color: #4f87b0;
	}

	.swiper-pagination.topics-pagination {
		display: block;
		height: -moz-fit-content;
		height: fit-content;
		left: auto;
		right: calc(50% - min(50vw, clamp(350px,
						calc(350px + 250 * ((100vw - 750px) / 1170)),
						600px)));
		text-align: right;
		top: -40px;
		/* アクティブドット */
	}

	.swiper-pagination.topics-pagination .swiper-pagination-bullet {
		background-color: #fff;
		border: 1px solid #004c75;
		border-radius: 50%;
		height: 1rem;
		margin: 0 0.5rem;
		opacity: 1;
		transition: background-color 0.3s ease;
		width: 1rem;
	}

	.swiper-pagination.topics-pagination .swiper-pagination-bullet-active {
		background-color: #4f87b0;
	}

	.section-title-en {
		font-size: clamp(60px,
				calc(60px + 29 * ((100vw - 750px) / 1170)),
				89px);
	}

	.section-title-jp {
		font-size: clamp(20px,
				calc(20px + 7 * ((100vw - 750px) / 1170)),
				27px);
	}

	.today__sub .section-title-jp.section-title-jp--today {
		font-size: clamp(20px,
				calc(20px + 7 * ((100vw - 750px) / 1170)),
				27px);
	}

	.sns-area__items--footer>.sns-area__item a {
		height: 3rem;
		width: 3rem;
	}

	.title-area {
		gap: 0.375rem;
	}

	.to-top {
		display: block;
	}

	.to-top a {
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: 0.3125rem;
		justify-content: center;
		padding: clamp(10px,
				calc(10px + 30 * ((100vw - 750px) / 1170)),
				40px) 0 clamp(5px,
				calc(5px + 5 * ((100vw - 750px) / 1170)),
				10px);
	}

	.to-top img {
		height: clamp(14px,
				calc(14px + 11 * ((100vw - 750px) / 1170)),
				25px);
		-o-object-fit: contain;
		object-fit: contain;
		transition: transform 0.3s ease;
		width: clamp(28px,
				calc(28px + 17 * ((100vw - 750px) / 1170)),
				45px);
	}

	.to-top__text {
		color: #fff;
		font-family: "Graphik Light", "Roboto", sans-serif;
		font-size: 1.1875rem;
		font-weight: 400;
		letter-spacing: 0.05em;
		text-transform: uppercase;
	}



	.today__heading {
		align-items: self-end;
	}

	.today__wrap {
		align-items: end;
		-moz-column-gap: clamp(10px,
				calc(10px + 30 * ((100vw - 750px) / 1170)),
				40px);
		column-gap: clamp(10px,
				calc(10px + 30 * ((100vw - 750px) / 1170)),
				40px);
		grid-template-areas: "title date" "info info";
		grid-template-columns: auto auto;
	}

	.today__sub {
		display: contents;
	}

	.today__date {
		align-self: end;
		font-size: 2rem;
		font-size: clamp(35px,
				calc(35px + 14 * ((100vw - 750px) / 1170)),
				49px);
		grid-area: date;
	}

	.today__title-jp {
		grid-area: info;
	}

	.today__flex-wrap {
		align-items: end;
		display: flex;
		gap: clamp(20px,
				calc(20px + 20 * ((100vw - 750px) / 1170)),
				40px);
		justify-content: flex-end;
		width: 100%;
	}

	.today__items {
		gap: clamp(10px,
				calc(10px + 19 * ((100vw - 750px) / 1170)),
				29px);
	}

	.today__content {
		margin-top: 1.625rem;
		padding-right: clamp(22px,
				calc(22px + 20 * ((100vw - 480px) / 480)),
				42px);
	}

	.today__scroll-area {
		height: 12.875rem;
	}

	.today__live {
		margin-top: 0;
	}

	.today__live a {
		font-size: 0.875rem;
		max-width: 100%;
		padding-bottom: clamp(3px,
				calc(3px + 2 * ((100vw - 750px) / 1170)),
				5px);
		padding-left: clamp(37px,
				calc(37px + 20 * ((100vw - 750px) / 1170)),
				57px);
		padding-right: clamp(39px,
				calc(39px + 30 * ((100vw - 750px) / 1170)),
				69px);
		padding-top: clamp(3px,
				calc(3px + 2 * ((100vw - 750px) / 1170)),
				5px);
	}

	.today__live a:after {
		border-bottom: 0.375rem solid transparent;
		border-left: 0.625rem solid #d6640b;
		border-top: 0.375rem solid transparent;
		right: clamp(15px,
				calc(15px + 10 * ((100vw - 750px) / 1170)),
				25px);
	}

	.top-card {
		width: 22.375rem !important;
	}

	.top-card__body {
		min-height: 19.5rem;
	}

	.top-card__body.top-card__body--topics {
		min-height: 32.5rem;
	}

	.top-card__date {
		font-size: 0.9375rem;
	}

	.top-card__title {
		font-size: 1.25rem;
	}

	.top-card__text p {
		font-size: 1rem;
	}

	.top-card__text p {
		-webkit-line-clamp: 6;
	}

	.topics {
		padding-bottom: 0;
	}

	.topics__content {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: 100vw;
	}

	.topics__cards {
		flex-wrap: nowrap;
		gap: 0;
	}

	.topics__cards>* {
		flex: 0 0 auto;
	}

	.topics__more span {
		display: none;
	}

	.topics__more {
		margin-left: 80px;
	}
}

@media (min-width: 768px) {

	a[href^="tel:"] {
		pointer-events: none;
	}

}

@media screen and (min-width: 800px) {

	.drawer-global__items {
		gap: 1.125rem;
	}

	.drawer-menu__section+.drawer-menu__section {
		margin-top: 3.8125rem;
	}

	.drawer-menu__section {
		display: flex;
		gap: 2.375rem;
		width: 100%;
	}

	.drawer-menu__title {
		-ms-writing-mode: tb-rl;
		display: block;
		writing-mode: vertical-rl;
	}

	.drawer-menu__title::after {
		content: "";
		height: 105%;
		position: absolute;
		right: -0.375rem;
		top: 0;
		width: 1px;
	}

	.drawer-menu__content {
		gap: 2.375rem 0.9375rem;
		margin-top: 0;
		padding: 0;
		width: 100%;
	}

	.drawer-menu__content>* {
		width: calc((100% - 2rem) / 3);
	}

	.drawer-menu__content.sp {
		display: none;
	}

	.drawer-menu__content.tab {
		display: flex;
	}

	.drawer-menu__items.tab {
		display: block;
	}

	.drawer-menu__head {
		font-size: clamp(14px,
				calc(14px + 1.5 * ((100vw - 480px) / 480)),
				15.5px);
	}

	.drawer-menu__wrap {
		margin-top: 0;
	}

	.drawer-menu__list {
		font-size: 0.75rem;
		padding-left: 0.8125rem;
	}

	.drawer-menu__list.drawer-menu__list--long {
		white-space: nowrap;
	}

	.drawer-menu__list+.drawer-menu__list {
		margin-top: 0.625rem;
	}

	.drawer {
		max-width: 800px;
		top: 0;
		transition-delay: 0s;
		width: 100%;
	}

	.drawer__content {
		padding: 9.3125rem 0 0;
	}

	.drawer__content-inner {
		padding: 0 clamp(56px,
				calc(56px + 3 * ((100vw - 480px) / 480)),
				59px);
	}

	.drawer__bottom {
		background-color: #004c75;
		height: auto;
		padding-top: 4.125rem;
	}

	.drawer__bottom-inner {
		padding: 0 6rem;
	}

	.drawer__bottom-content {
		align-items: center;
		flex-direction: row;
		gap: 2.5625rem;
	}

	.drawer__bottom-global {
		padding: 0;
	}

	.hamburger__line {
		width: clamp(59px,
				calc(59px + 6 * ((100vw - 750px) / 1170)),
				65px);
	}

	.hamburger.is-active .hamburger__line:nth-child(1) {
		left: 50%;
		top: 30%;
		transform: translateX(-50%) scaleY(0.5);
		width: 4.0625rem;
	}

	.hamburger.is-active .hamburger__line:nth-child(2) {
		opacity: 1;
	}

	.hamburger.is-active .hamburger__line:nth-child(3) {
		left: 50%;
		top: 54%;
		transform: translateX(-50%) scaleY(0.5);
		width: 65px;
	}

	.hamburger__text {
		font-size: clamp(21px,
				calc(21px + 7 * ((100vw - 750px) / 1170)),
				28px);
	}

	.language-button .language-button-box {
		gap: 0.5rem;
		padding: 0.5rem 1.25rem;
		width: 7.8125rem;
	}

	.language-button__icon {
		flex: 0 0 1.125rem;
		height: 1.125rem;
		width: 1.125rem;
	}

	.language-button__text {
		font-size: 0.75rem;
	}

	.pc-close {
		background-color: #d6640b;
		cursor: pointer;
		height: 5rem;
		position: absolute;
		right: 2.125rem;
		top: 2.375rem;
		transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
		width: 5rem;
	}

	.pc-close__line {
		background-color: #fff;
		content: "";
		height: 0.28125rem;
		position: absolute;
		width: 2rem;
	}

	.pc-close__line:nth-child(1) {
		left: 30%;
		top: 33%;
		transform: rotate(45deg) scaleY(0.5);
	}

	.pc-close__line:nth-child(2) {
		left: 30%;
		top: 33%;
		transform: rotate(-45deg) scaleY(0.5);
	}

	.pc-close__text {
		color: #fff;
		content: "";
		display: block;
		font-size: 0.9375rem;
		font-weight: 300;
		left: 50%;
		letter-spacing: 0.1em;
		position: absolute;
		text-transform: uppercase;
		top: 53%;
		transform: translateX(-50%);
	}

	.season-button a {
		gap: 0.5rem;
		padding: 0.5rem 0.875rem 0.5rem 1.25rem;
		width: 7.8125rem;
	}

	.season-button a::after {
		border-bottom: 5px solid transparent;
		border-left: 8px solid #004c75;
		border-top: 5px solid transparent;
		right: 0.6rem;
	}

	.season-button__text {
		font-size: 0.75rem;
	}

	.sns-area__items {
		gap: 1.5625rem;
	}

	.sns-area__item a {
		height: 2.5rem;
		width: 2.5rem;
	}

	.sns-area__icon.sns-area__icon--drawer path,
	.sns-area__icon.sns-area__icon--drawer .cl {
		fill: #fff;
	}

}

@media screen and (hover: hover) and (pointer: fine) and (min-width: 800px) {

	.hamburger:hover {
		background-color: #fff;
		border: 1px solid #004c75;
		color: #004c75;
	}

	.hamburger:hover .hamburger__line {
		background-color: #004c75;
	}

	.hamburger:hover .hamburger__text {
		color: #004c75;
	}

}

@media (min-width: 1200px) {

	html {
		font-size: 15px;
	}

}

@media screen and (min-width: 1280px) {

	.hamburger {
		height: 5rem;
		width: 5rem;
	}

	.header__inner {
		margin: 0 auto;
		max-width: 120em;
		padding-left: clamp(33px,
				calc(33px + 111 * ((100vw - 1500px) / 420)),
				144px);
		padding-right: 2.0625em;
	}

	.header__global-wrap {
		align-items: center;
		display: flex;
		gap: clamp(10px,
				calc(10px + 19 * ((100vw - 1500px) / 420)),
				29px);
		height: 100%;
		height: clamp(110px,
				calc(110px + 40 * ((100vw - 750px) / 1170)),
				150px);
		justify-content: center;
	}

	.hamburger__line {
		width: 2.6875rem;
	}

	.hamburger__text {
		font-size: 0.9375rem;
	}

	.header__wrap {
		gap: clamp(10px, calc(10px + 84 * ((100vw - 1280px) / 640)), 94px);
	}

	.header__items {
		display: block;
		height: 100%;
	}

	.header__list a {
		align-items: center;
		/* 		color: transparent; */
		display: flex;
		font-size: 0.9375em;
		height: 100%;
		justify-content: center;
		letter-spacing: 0.05em;
		padding: 2.5em clamp(10px, calc(10px + 14 * ((100vw - 1280px) / 640)), 24px);
		/* 		text-shadow: 0 -1.5em 0 #231815, 0 0 0 #231815;
		transition: text-shadow 0.4s cubic-bezier(0.76, 0, 0.24, 1); */
	}
}

@media screen and (min-width: 1440px) {

	.tab {
		display: none;
	}





	.header {
		align-items: center;
		display: flex;
		/*20251023height: clamp(110px, calc(110px + 40 * ((100vw - 750px) / 1170)),150px);*/
	}



	.header__wrap {
		gap: clamp(10px,
				calc(10px + 84 * ((100vw - 1500px) / 420)),
				94px);
	}


	.header__global-items {
		display: flex;
		flex-direction: row;
		flex-direction: column;
		gap: 0.5em;
	}



	.header__list a {
		align-items: center;
		/* color: transparent; */
		display: flex;
		font-size: 0.9375em;
		height: 100%;
		justify-content: center;
		letter-spacing: 0.05em;
		padding: 2.5em clamp(10px,
				calc(10px + 14 * ((100vw - 1500px) / 420)),
				24px);
		/* 		text-shadow: 0 -1.5em 0 #231815, 0 0 0 #231815;
		transition: text-shadow 0.4s cubic-bezier(0.76, 0, 0.24, 1);
 */
	}

	.header__global {
		display: block;
	}

	/* 20251023.mv {
	margin-top: clamp(110px,
    calc(110px + 45 * ((100vw - 750px) / 1170)),
    155px);
}*/

	.mv__label {
		right: 3.875rem;
		top: 2.625rem;
	}

}

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

	.collection__text {
		font-size: 1.5vw;
	}

}

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

	.collection {
		display: none;
	}

}

@media (max-width: 450px) {

	.drawer-global__items {
		flex-direction: column;
		gap: 0.625rem;
	}

	.language-button .language-button-box {
		width: 13.125rem;
	}

	.season-button a {
		width: 13.125rem;
	}

}

@media (max-width: 375px) {

	html {
		font-size: 4.2666666667vw;
	}

}

@keyframes fadeIn {

	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}

}

@keyframes fadeInLeft {

	from {
		opacity: 0;
		transform: translateX(-30px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}

}

@keyframes fadeInRight {

	from {
		opacity: 0;
		transform: translateX(30px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}

}

@keyframes fadeInUp {

	0% {
		opacity: 0;
		transform: translateY(-30px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}

}

@keyframes scroll-pc {

	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-33.3333333333%);
	}

}

/* 親ナビを横並びにし、各項目の右にボーダー（最後の項目は除外） */
.footer-menu {
	margin-top: 20px;
	position: static;
	max-width: 100%;
}

.footer-menu .menu {
	display: flex;
	flex-wrap: wrap;
	/* 狭い画面で折り返す */
	align-items: center;
	gap: 0;
	/* ボーダーで区切るので項間は不要 */
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
}

.footer-menu ul {
	float: none !important;
}

.footer-menu .menu>li {
	display: inline-flex;
	align-items: center;
	padding: 0 6px;
	/* 左右の内側余白を調整 */
	height: 48px;
	/* 必要に応じて高さを調整 */
	box-sizing: border-box;
}

/* 各項目の右側にボーダーを付ける（最後のliは除く）
.footer-menu .menu>li:not(:last-child) {
	border-right: 1px solid #ddd;
	色・太さは好みで変更 
}*/

/* リンクの見た目調整（テキストと装飾アイコンの整列） */
.footer-menu .menu a {

	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
	line-height: 1;
	padding: 0 10px;
	/* 縦方向の余白を確保 */
	font-weight: 400;
	font-size: clamp(9px, calc(9px + 5 * ((100vw - 750px) / 1170)), 14px);
}

/* 小さい画面での見栄え調整（任意） */
@media (max-width: 520px) {
	.footer-menu .menu {
		display: flex;
		justify-content: center;
	}

	.footer-menu .menu a {
		padding: 0 3px;
	}

	.footer-menu .menu>li {
		padding: 0 4px;
	}
}


/* サブメニュー初期状態は非表示 */
.header__submenu {
	display: none;
	position: absolute;
	background: #fff;
	list-style: none;
	padding: 10px 0;
	margin: 0;
	border: 1px solid #ccc;
	min-width: 180px;
	z-index: 1000;
}

.header__submenu li {
	padding: 0;
}

.header__submenu li a {
	display: block;
	padding: 8px 15px;
	color: #333;
	text-decoration: none;
	white-space: nowrap;
	line-height: 1.5;
}

.header__submenu li a:hover {
	background: #f0f0f0;
}

/* 親リストを相対配置 */
.header__list {
	position: relative;
}

/* マウスオーバーでサブメニュー表示 */
.header__list:hover>.header__submenu {
	display: block;
}

/*# sourceMappingURL=style.css.map */


.simplebar-content {
	font-size: 0.9rem;
	line-height: 1.7;
	font-weight: 500;
}

@media (min-width: 768px) {
	.simplebar-content {
		font-size: 1rem;
	}
}

@media (max-width: 767px) {
	.floating {
		opacity: 1;
		visibility: visible;
	}
}

.big_pan {
	position: relative;
	z-index: 1;
}

.big_pan::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #ffffff7d;
	/* ← 背景色を指定 */
	z-index: -1;
}

#wrapper-all {

	padding-top: 1px;
	margin-top: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
}

div#content-area,
div#contents_w {
	background: #eee6d8 !important;
}

div#content-area {
	background: #eee6d8 !important;
	padding-bottom: clamp(30px, 3vw, 100px);
}

._ntm_desc_box,
tbody {
	background: #fff;
}

thead {
	background: #e3e3e3;
}

table,
table * {
	border-color: #eee6d8 !important;
}



div#contents_w div#main div ul li {
	margin: 0;
	padding: 0;
}

.flex-grid {
	display: flex;
	flex-wrap: wrap;
	/* 折り返しを許可 */
	gap: 16px;
	/* 要素間の余白（任意） */
	justify-content: flex-start;
	/* 左寄せ（中央揃えなら center） */
}

.flex-grid>* {
	flex: 0 0 calc(33.333% - 11px);
	/* 3列分割 - gap調整 */
	box-sizing: border-box;
}




/* 通常 */
.balloon-001 {
	display: flex;
	justify-content: center;
	position: relative;
	margin-bottom: 15px;
	padding: .8em 1.2em;
	border-bottom: 1px solid #004c75;
	color: #004c75 !important;
	transition: background-color .2s ease, color .2s ease;
	font-size: clamp(14px, calc(14px + 2 * ((100vw - 480px) / 480)), 16px);
	height: 52px;
}

/* 三角（影側）と前面の白いカバー）*/
.balloon-001::before,
.balloon-001::after {
	position: absolute;
	bottom: -12px;
	width: 30px;
	height: 12px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	transition: background-color .2s ease, bottom .2s ease;
}

.balloon-001::before {
	background-color: #004c75;
	/* 三角の色（下側） */
}

.balloon-001::after {
	bottom: -11px;
	background-color: #eee6d8;
	;
	/* 上にかぶせる色（枠の見せ方） */
}

/* ホバー／キーボードフォーカス／アクティブ（例：タップ）時の見た目 */
.balloon-001:hover,
.balloon-001:focus-within,
.balloon-001:active,
.balloon-001.is-active {
	background-color: #004c75;
	color: #fff !important;
	border-bottom-color: transparent;
	/* 必要なら消す */
}

/* 三角の色を切り替える（背景が濃色になるので前面は白に、底色は同色に） */
.balloon-001:hover::before,
.balloon-001:focus-within::before,
.balloon-001:active::before,
.balloon-001.is-active::before {
	background-color: #004c75;
}

.balloon-001:hover::after,
.balloon-001:focus-within::after,
.balloon-001:active::after,
.balloon-001.is-active::after {
	background-color: #004c75;
	/* 前面も同色にすれば塗りつぶし三角になる */
}

/* もし「前面は白で、底辺だけ違う色」等の微調整をしたければここで上書き */





@media (max-width: 767px) {
	.balloon-001 {
		padding: .2em .4em;
		height: 52px;
		display: flex;
		align-items: center;
	}

	.flex-grid>* {
		flex: 0 0 calc(50% - 11px);
	}

}

/* 冬コンテンツ用 */

#contents_w.inner {
	margin-top: clamp(30px, 4vw, 100px);
	margin-bottom: clamp(50px, 6vw, 120px);
	color: #333333;
	font-weight: 500;
	max-width: 1080px;
}

#winter .pan {
	max-width: 1080px;
}

#contents_w.inner .title-area {
	padding-bottom: 0.5rem;
	margin-bottom: 3rem;
	border-bottom: 1.5px solid #004c75;
}

#contents_w.inner h2,
#contents_w.inner h3,
#contents_w.inner h4,
#contents_w.inner h5,
#contents_w.inner .p_layout_h_ex {
	color: #004c75;
}

#contents_w.inner .section-title-jp {
	font-size: clamp(14px, calc(18px + 2 * ((100vw - 480px) / 480)), 20px);
}


#contents_w.inner .big_heading {
	margin: 4rem 0 0.5rem;
}

#contents_w.inner .middle_heading,
#contents_w.inner .mini_heading {
	margin: 3rem 0 0.5rem;
}

#contents_w.inner .extrabig_heading {
	font-size: clamp(22px, calc(22px + 8 * ((100vw - 480px) / 480)), 30px);
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	margin: 4rem 0 1.5rem;
}

#contents_w.inner .extrabig_heading:before {
	content: '';
	display: inline-block;
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 4px;
	background-color: #004c75;
}



#contents_w.inner .big_heading {
	font-size: clamp(14px, calc(18px + 2 * ((100vw - 480px) / 480)), 20px);
	text-align: center;
	background: #004c75;
	color: #fff;
	font-weight: 700;
	padding: 5px 0;
}

#contents_w.inner .middle_heading {
	font-size: clamp(14px, calc(18px + 2 * ((100vw - 480px) / 480)), 20px);
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #004c75;
	font-weight: 700;
}

#contents_w.inner .mini_heading {
	font-size: clamp(14px, calc(18px + 2 * ((100vw - 480px) / 480)), 20px);
	font-weight: 700;
	padding: 0 .4em .2em;
	border-bottom: 3px dashed #004c75;
}

#contents_w.inner .p_layout_h_ex {
	margin-top: 3rem;
	margin-bottom: -2.7rem;
	font-size: 1rem;
}

#contents_w.inner .big_heading .p_layout_h_ex {
	text-align: center;
	display: block;
	font-size: 1rem;
	margin: 0;
	color: #fff;
}

#contents_w.inner .p_layout_h_ex:has(+ .extrabig_heading) {
	text-align: center;
	font-size: 1.1rem;
	margin-top: 6rem;
	margin-bottom: -3.7rem;
}

#contents_w.inner .p-layout__img img {
	width: auto;
}

#contents_w.inner .heading_margin {
	scroll-margin-top: clamp(60px, calc(60px + 50 * ((100vw - 480px) / 480)), 110px);
}


#contents_w.inner .p-layout__free,
#contents_w.inner .p-layout__free--waku,
#contents_w.inner .p-layout__fullimg,
#contents_w.inner .p-layout__img,
#contents_w.inner .p-layout__slide,
#contents_w.inner .p-layout__column {
	margin: 1.5rem 0 5rem;
}

#contents_w.inner .space_mini {
	margin: 1rem 0 0rem;
}

#contents_w.inner .flex-grid {
	margin: 7rem 0 9rem;
}

#contents_w.inner .flex-grid {
	margin: 7rem 0 9rem;
}

/* レスポンシブ：btn_middle の振る舞い微調整 */



/* 基本 */
#contents_w.inner .p-layout__btn {
	display: inline-block;
	padding: 12px 20px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	margin: 1.5rem 0 3rem;
}

/* サイズ */
#contents_w.inner .p-layout__btn.btn_full {
	display: block;
	width: 100%;
}

#contents_w.inner .p-layout__btn.btn_middle {
	display: block;
	width: 40%;
	min-width: 300px;
	margin: 1.5rem auto 3rem;
}

/* 形状 */
#contents_w.inner .p-layout__btn.btn_kaku {
	border-radius: 0;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

#contents_w.inner .p-layout__btn.btn_maru {
	border-radius: 5px;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

/* プリセット色 */
#contents_w.inner .p-layout__btn--red {
	background-color: #e74c3c;
}

#contents_w.inner .p-layout__btn--blue {
	background-color: #4f87b0;
}

#contents_w.inner .p-layout__btn--gray {
	background-color: #7f8c8d;
}

/* インライン style（カスタムカラーがある場合の文字色フォールバック） */
#contents_w.inner .p-layout__btn[style] {
	color: #fff;
}

#contents_w.inner .p-layout__fullimg.p-layout__fullimg--movie {
	position: relative;
	width: 100%;
	/* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
	height: 0;
	/* 高さは0にしておく(padding-topで高さを指定するため) */
	padding-top: 56.25%;
	/* 高さを指定(16:9) */
}

#contents_w.inner .p-layout__fullimg.p-layout__fullimg--movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* レスポンシブ：btn_middle の振る舞い微調整 */
@media screen and (max-width: 600px) {
	#contents_w.inner .p-layout__btn.btn_middle {
		width: 100%;
		min-width: 0;
	}
}



/* トランジション（全ボタン共通） */
#contents_w.inner .p-layout__btn {
	transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

/* ホバーでやや明るく（色が薄く見える） */
#contents_w.inner .p-layout__btn:hover,
#contents_w.inner .p-layout__btn:focus {
	filter: brightness(1.12);
	text-decoration: none;
}

/* 少しインタラクション感を出す（任意） */
#contents_w.inner .p-layout__btn:hover {
	transform: translateY(-2px);
}

/* カスタムカラー（インライン style）がある場合のフォールバック（色によっては文字色を調整） */
#contents_w.inner .p-layout__btn[style]:hover {
	filter: brightness(1.12);
	color: #fff;
}

/* アクセシビリティ: :focus-visible を優先してアウトラインを出す */
#contents_w.inner .p-layout__btn:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.18);
	outline-offset: 3px;
}

/* タッチデバイスでは hover 相当の効果が不要な場合があるので、必要ならメディアクエリで無効化 */
@media (hover: none) {

	#contents_w.inner .p-layout__btn:hover,
	#contents_w.inner .p-layout__btn:focus {
		filter: none;
		transform: none;
	}
}


/* 画像センター用クラス（もしクラスで制御する場合の例） */
#contents_w.inner .p-layout__img img.p-layout__img--center {
	display: block;
	margin: 0 auto;
}


#contents_w.inner .p-layout__free--waku {
	border: solid 2px;
	border-radius: 5px;
	padding: 1rem;
	background: #fff;
}


/*tablepressの設定 */
#contents_w.inner .tablepress td,
#contents_w.inner .tablepress th {
	vertical-align: middle;
	border: solid 2px;
	text-align: center;
}

#contents_w.inner .p-layout__free table {
	width: 100% !important;
}

#contents_w.inner .p-layout__free table th {
	width: 25% !important;
}

#contents_w.inner .p-layout__free table>*>*>* {
	padding: 0.5rem;
}

#contents_w.inner .p-layout__free img {
	width: auto;
}

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

	#contents_w.inner .tablepress-wrapper,
	#contents_w.inner .p-layout__free:has(table),
	#contents_w.inner .p-layout__column-item:has(table) {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		width: 100%;
	}

	/* テーブルが親幅を超えると横スクロールが現れる */
	#contents_w.inner .tablepress,
	#contents_w.inner .p-layout__free table,
	#contents_w.inner .p-layout__column-item table {
		width: 100%;
		min-width: 600px;
		/* 必要に応じてテーブルの最小幅を調整 */
	}

	#contents_w.inner .tablepress {
		border-collapse: collapse;
	}

	.pan {
		font-size: 0.6rem;
	}

	#contents_w.inner .p-layout__free :not(table) {
		/* table 以外の直下要素に適用される */
		text-align: left !important;
	}

}

#contents_w.inner .p-layout__free img.aligncenter,
#contents_w.inner .p-layout__column-item img.aligncenter {
	margin: auto;
}

/* 親コンテナ */
/* ベース：スマホファースト */
#contents_w.inner .p-layout__column {
	display: grid;
	gap: 1rem;
	align-items: baseline;
}

/* cols-1: 常に1カラム */
#contents_w.inner .p-layout__column.cols-1 {
	grid-template-columns: 1fr;
}

#contents_w.inner .p-layout__column.cols-2 {
	grid-template-columns: 1fr;
	/* default: 1列（スマホ） */
}

/* cols-2: */
@media (min-width: 1024px) {
	#contents_w.inner .p-layout__column.cols-2 {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* cols-3: スマホは1、タブレットは2、PCは3 */
#contents_w.inner .p-layout__column.cols-3 {
	grid-template-columns: 1fr;
	/* default: 1列（スマホ） */
}

#contents_w.inner .p-layout__column img {
	width: auto;
}

@media (min-width: 768px) {
	#contents_w.inner .p-layout__column.cols-3 {
		grid-template-columns: repeat(2, 1fr);
		/* タブレット：2列 */
	}
}

@media (min-width: 1024px) {
	#contents_w.inner .p-layout__column.cols-3 {
		grid-template-columns: repeat(3, 1fr);
		/* PC：3列 */
	}
}

/* cols-4: スマホ1、タブ2、ラップトップ3、大型で4（既定のブレークポイント） */
#contents_w.inner .p-layout__column.cols-4 {
	grid-template-columns: 1fr;
	/* default: 1列（スマホ） */
}

@media (min-width: 768px) {
	#contents_w.inner .p-layout__column.cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	#contents_w.inner .p-layout__column.cols-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1366px) {
	#contents_w.inner .p-layout__column.cols-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* アイテム見た目 */
#contents_w.inner .p-layout__column-item {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

/* フラグが真のときのスタイル */
#contents_w.inner .p-layout__column.p-layout__column-item-color .p-layout__column-item {
	padding: 1rem;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* 必要に応じてコンテナ幅を制限 */
#contents_w.inner .p-layout__column.wrap {
	max-width: 1200px;
	margin: 0 auto;
}

/* 画像を含む最初の p を伸ばして内部で中央寄せにする */
#contents_w.inner .p-layout__column-item>p:first-child {
	flex: 1 1 auto;
	/* 高さを伸ばす */
	display: flex;
	/* 中央揃えにするためフレックス化 */
	align-items: center;
	/* 縦方向中央 
	justify-content: center;*/
	/* 横方向中央（必要なら） */
	margin: 0;
	/* 不要な余白を取り除く */
	padding: 0;
	/* 必要に応じて調整 */
}




/* img のサイズ制御（必要に応じて上書き） */
#contents_w.inner .p-layout__column-item img {
	max-width: 100%;
	height: auto;
	display: block;
}




.p-layout__column .p-layout__column-item iframe {
	width: 100%;
	height: 100%;
}


/* 親に対して幅80%で右寄せする内側ラッパー（必要なら .p-layout__menu を親に合わせる） */
.p-layout__menu {
	width: 80%;
	margin-left: auto;
	margin-top: 25px;
	box-sizing: border-box;
	padding: 15px 15px 5px 15px;
	background: #fff;
	border-radius: 10px;
}

/* 各メニュー行：横並びで左右に振り分け */
.p-layout__menu-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	/* デスクトップでの名前と価格の間隔 */
	margin-bottom: 10px;
	/* 行間 */
}

/* 名前は左寄せ（伸びる） */
.p-layout__menu-name {
	flex: 1 1 auto;
	text-align: left;
}

/* 価格は右寄せ（折り返しを防ぐ） */
.p-layout__menu-price {
	flex: 0 0 auto;
	text-align: right;
	white-space: nowrap;
}

.p-layout__menu-title {
	font-weight: bold;
	margin-bottom: 15px;
}

/* モバイル（767px 以下）：縦並びにしてペア間に約10px */
@media (max-width: 767px) {
	.p-layout__menu {
		width: 100%;
		/* 必要に応じて 80% のままにするか 100% にするか調整 */
		margin-left: 0;
	}

	.p-layout__menu-item {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		/* 名前と価格の間隔 */
		margin-bottom: 12px;
	}

	.p-layout__menu-price {
		text-align: left;
		/* 縦並びでは左寄せにするのが自然（必要なら right のままでも可） */
	}
}



/* 新しいスライドショー専用 */
#contents_w.inner .swiper-container-slide {
	width: 100%;
	max-width: 1200px;
	/* 必要なら制限 */
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

#contents_w.inner .swiper-wrapper {
	display: flex;
}

#contents_w.inner .swiper-slide {
	width: 100%;
	/* ← これで親要素幅に合わせる */
	flex-shrink: 0;
}

#contents_w.inner .swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
}


/* ナビゲーション */
#contents_w.inner .swiper-button-prev-slide,
#contents_w.inner .swiper-button-next-slide {
	color: #004c75;
	width: 30px;
	height: 30px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transition: background 0.3s;
}

#contents_w.inner .swiper-button-prev-slide:hover,
#contents_w.inner .swiper-button-next-slide:hover {
	background: rgba(255, 255, 255, 1);
}

#contents_w.inner .swiper-button-prev-slide,
#contents_w.inner .swiper-button-next-slide {
	top: 45%;
	position: absolute;
	z-index: 100;
}

#contents_w.inner .swiper-button-prev-slide {
	left: 10px;
}

#contents_w.inner .swiper-button-next-slide {
	right: 10px;

}

#contents_w.inner .swiper-pagination-bullet-active {
	background-color: #004c75 !important;
}

/* 矢印表示 */
#contents_w.inner .swiper-button-prev-slide::after {
	content: '＜';
	font-size: 15px;
	color: #004c75;
}

#contents_w.inner .swiper-button-next-slide::after {
	content: '＞';
	font-size: 15px;
	color: #004c75;
}

.top_btn_area {
	max-width: 1080px;
	margin: auto;
	text-align: right;
	padding-right: 10px;
}

.icon-circle-chevron-up {
	--size: 32px;
	/* 丸の直径 */
	--bg: #bdbdbd;
	/* 丸の背景色（グレー） */
	--stroke: 3px;
	/* 線の太さ */
	--stroke-color: #fff;
	/* 線の色（白） */

	display: inline-flex;
	width: var(--size);
	height: var(--size);
	border-radius: 50%;
	background: var(--bg);
	align-items: center;
	justify-content: center;
	position: relative;
}

.icon-circle-chevron-up::before {
	content: "";
	width: calc(var(--size) * 0.32);
	height: calc(var(--size) * 0.32);
	border-left: var(--stroke) solid var(--stroke-color);
	border-bottom: var(--stroke) solid var(--stroke-color);
	transform: rotate(135deg);
	/* 上下反対に修正 */
	box-sizing: border-box;
	display: block;
}

/* 翻訳 */
.gtranslate_wrapper {
	background: #fff;
	padding: 5px 10px;
}

.gtranslate_wrapper img {
	display: inline;
	width: auto;
	height: 12px !important;
}

.gt_white_content {
	width: 180px;
}

.gtranslate_wrapper a.glink span {
	color: #004c75 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.05em;
	font-family: 'Poppins Light', 'Graphik Light', 'Roboto', sans-serif;
	font-weight: lighter;
}