@charset 'UTF-8';
/* =====================================================
* Base
* ================================================== */

/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-family: sans-serif;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	margin: 0.67em 0;
	font-size: 2em;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	margin: 0;
	color: inherit;
	font: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
	cursor: pointer;
	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

input {
	line-height: normal;
}

input[type=checkbox],
input[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	height: auto;
}

input[type=search] {
	-webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
	border: 1px solid #c0c0c0;
}

legend {
	padding: 0;
	border: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/* -----------------------------------------------------
 * font
 * -------------------------------------------------- */

/* -----------------------------------------------------
 * Init
 * -------------------------------------------------- */

*,
*:before,
*:after {
	box-sizing: border-box;
}

:root {
	--is-mobile: false;
}

/* normalize overwrite */

html {
	position: relative;
	min-height: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 62.5%;
}

body {
	overflow: hidden;
	overflow-y: auto;
	height: 100%;
	margin: 0;
	padding: 0;
	color: #222;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.025em;
	word-break: break-all;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

body.bg-base {
	background: #fff url(/assets/images/bg_base.png) repeat 0 0/128px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

p {
	word-break: break-all;
}

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

figure {
	margin: 0;
}

img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.sz-rl {
	display: flex;
	justify-content: center;
}

.sz-rl img {
	width: revert-layer;
	height: auto;
}

a {
	color: #222;
	text-decoration: none;
}

input,
select,
textarea,
button {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none transparent;
	background-clip: padding-box;
	color: inherit;
	font-size: inherit;
	vertical-align: middle;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

input::-ms-clear,
select::-ms-clear,
textarea::-ms-clear,
button::-ms-clear {
	display: none;
}

input::-ms-reveal,
select::-ms-reveal,
textarea::-ms-reveal,
button::-ms-reveal {
	display: none;
}

input::-ms-expand,
select::-ms-expand,
textarea::-ms-expand,
button::-ms-expand {
	display: none;
}

em {
	font-weight: 700;
	font-style: normal;
}

.skip-link {
	position: absolute;
	z-index: 100;
	top: -40px;
	left: 0;
	padding: 8px;
	background: #000;
	color: #fff;
	text-decoration: none;
}

.skip-link:focus {
	top: 0;
}

.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	white-space: nowrap;
}

/* =====================================================
 * Libraries
 * ================================================== */

.splide__container {
	position: relative;
	box-sizing: border-box;
}

.splide__list {
	display: flex;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.splide.is-initialized:not(.is-active) .splide__list {
	display: block;
}

.splide__pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	pointer-events: none;
}

.splide__pagination li {
	display: inline-block;
	list-style-type: none;
	margin: 0;
	line-height: 1;
	pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
	display: none;
}

.splide__progress__bar {
	width: 0;
}

.splide {
	visibility: hidden;
	position: relative;
}

.splide.is-initialized,
.splide.is-rendered {
	visibility: visible;
}

.splide__slide {
	position: relative;
	list-style-type: none !important;
	flex-shrink: 0;
	box-sizing: border-box;
	margin: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.splide__slide img {
	vertical-align: bottom;
}

.splide__spinner {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 20px;
	height: 20px;
	margin: auto;
	border: 2px solid #999;
	border-left-color: transparent;
	border-radius: 50%;
	-webkit-animation: splide-loading 1s linear infinite;
	animation: splide-loading 1s linear infinite;
	contain: strict;
}

.splide__sr {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
	display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
	display: inline;
}

.splide__track {
	position: relative;
	z-index: 0;
	overflow: hidden;
}

@-webkit-keyframes splide-loading {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes splide-loading {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

.splide__track--draggable {
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

.splide__track--fade > .splide__list > .splide__slide {
	z-index: 0;
	margin: 0 !important;
	opacity: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
	z-index: 1;
	opacity: 1;
}

.splide--rtl {
	direction: rtl;
}

.splide__track--ttb > .splide__list {
	display: block;
}

.splide__arrow {
	cursor: pointer;
	display: flex;
	position: absolute;
	z-index: 1;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: 2em;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ccc;
}

.splide__arrow svg {
	width: 1.2em;
	height: 1.2em;
	fill: #000;
}

.splide__arrow:disabled {
	opacity: 0.3;
}

.splide__arrow:focus-visible {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}

.splide__arrow--prev svg {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.splide.is-focus-in .splide__arrow:focus {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}

.splide__pagination {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0.5em;
	left: 0;
	padding: 0 1em;
}

.splide__pagination__page {
	display: inline-block;
	position: relative;
	width: 8px;
	height: 8px;
	margin: 3px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ccc;
	opacity: 0.7;
	transition: -webkit-transform 0.2s linear;
	transition: transform 0.2s linear;
	transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.splide__pagination__page.is-active {
	z-index: 1;
	background: #fff;
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

.splide__pagination__page:hover {
	cursor: pointer;
	opacity: 0.9;
}

.splide__pagination__page:focus-visible {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}

.splide__progress__bar {
	height: 3px;
	background: #ccc;
}

.splide__slide {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
	outline: 0;
}

@supports (outline-offset: -3px) {
	.splide__slide:focus-visible {
		outline: 3px solid #0bf;
		outline-offset: -3px;
	}
}

@supports (outline-offset: -3px) {
	.splide.is-focus-in .splide__slide:focus {
		outline: 3px solid #0bf;
		outline-offset: -3px;
	}
}

.splide__toggle {
	cursor: pointer;
}

.splide__toggle:focus-visible {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
	cursor: pointer;
	border: 3px solid transparent;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
	border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
	right: 1em;
	left: auto;
}

.splide__arrows--rtl .splide__arrow--prev svg {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
	right: auto;
	left: 1em;
}

.splide__arrows--rtl .splide__arrow--next svg {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
	left: 50%;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
	top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
	top: auto;
	bottom: 1em;
}

.splide__arrows--ttb .splide__arrow--next svg {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.splide__pagination--ttb {
	display: flex;
	top: 0;
	right: 0.5em;
	bottom: 0;
	left: auto;
	flex-direction: column;
	padding: 1em 0;
}

/**
 * Swiper 12.0.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 18, 2025
 */

:root {
	--swiper-theme-color: #007aff;
}

:host {
	display: block;
	position: relative;
	z-index: 1;
	margin-right: auto;
	margin-left: auto;
}

.swiper {
	display: block;
	position: relative;
	z-index: 1;
	overflow: hidden;
	list-style: none;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
}

.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
}

.swiper-wrapper {
	display: flex;
	position: relative;
	z-index: 1;
	box-sizing: initial;
	width: 100%;
	height: 100%;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.swiper-horizontal {
	touch-action: pan-y;
}

.swiper-vertical {
	touch-action: pan-x;
}

.swiper-slide {
	display: block;
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: height, -webkit-transform;
	transition-property: transform, height;
	transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.swiper-3d {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
	-webkit-scroll-snap-type: x mandatory;
	-ms-scroll-snap-type: x mandatory;
	scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
	-webkit-scroll-snap-type: y mandatory;
	-ms-scroll-snap-type: y mandatory;
	scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
	-webkit-scroll-snap-type: none;
	-ms-scroll-snap-type: none;
	scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
	content: '';
	flex-shrink: 0;
	order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
	width: var(--swiper-centered-offset-after);
	height: 100%;
	min-height: 1px;
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.1490196078);
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	margin-left: -21px;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-top: 4px solid rgba(0, 0, 0, 0);
	border-radius: 50%;
	-webkit-transform-origin: 50%;
	transform-origin: 50%;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
	-webkit-animation: swiper-preloader-spin 1s linear infinite;
	animation: swiper-preloader-spin 1s linear infinite;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

@-webkit-keyframes swiper-preloader-spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes swiper-preloader-spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

.swiper-fade.swiper-free-mode .swiper-slide {
	transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
	transition-property: opacity;
	pointer-events: none;
}

.swiper-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-fade .swiper-slide-active {
	pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

/* =====================================================
 * Module
 * ================================================== */

/* -----------------------------------------------------
 * component: access
 * -------------------------------------------------- */

.c-access {
	width: 100%;
}

/* -----------------------------------------------------
 * component: banner
 * -------------------------------------------------- */

.c-banner {
	display: block;
	overflow: hidden;
}

.c-banner img {
	display: block;
	height: auto;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* -----------------------------------------------------
 * component: button arrow
 * -------------------------------------------------- */

.c-btn-arrow {
	display: flex;
	position: relative;
	z-index: 0;
	overflow: hidden;
	justify-content: center;
	align-items: center;
	width: 58px;
	border: 1px solid #222;
	border-radius: 16px;
	background-color: #222;
	aspect-ratio: 58/32;
}

.c-btn-arrow::before {
	content: '';
	display: block;
	position: relative;
	z-index: 3;
	width: 7px;
	height: 12px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 7 11.813\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23222\' d=\'m13.807 19.629 4.125-4.1-4.125-4.1a1.05 1.05 0 0 1 0-1.491 1.064 1.064 0 0 1 1.5 0l4.88 4.852a1.049 1.049 0 0 1 0 1.491l-4.88 4.852a1.061 1.061 0 0 1-1.5-1.5Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'translate(-13.497 -9.627)\'/%3E%3C/svg%3E');
	transition: -webkit-filter 0.2s ease;
	transition: filter 0.2s ease;
	transition: filter 0.2s ease, -webkit-filter 0.2s ease;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.c-btn-arrow::after {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
}

.c-btn-arrow.cl-white {
	border-color: #fff;
	background-color: transparent;
}

.c-btn-arrow.cl-white::before {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.c-btn-arrow.cl-white::after {
	background-color: #fff;
}

.c-btn-arrow.cl-ol {
	background-color: #fff;
}

.c-btn-arrow.cl-ol::before {
	-webkit-filter: none;
	filter: none;
}

.c-btn-arrow.cl-ol::after {
	background-color: #222;
}

.c-btn-arrow.cl-ol-white {
	border-color: #fff;
	background-color: transparent;
}

.c-btn-arrow.cl-ol-white::before {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.c-btn-arrow.cl-ol-white::after {
	background-color: #fff;
}

.c-btn-arrow.reverse::before {
	-webkit-transform: rotateZ(180deg);
	transform: rotateZ(180deg);
}

/* -----------------------------------------------------
 * component: btn large
 * -------------------------------------------------- */

.c-btn-large {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	font-size: 1.6rem;
	font-weight: 700;
	gap: 4px;
}

.c-btn-large .c-icon {
	width: 22px;
}

.c-btn-large .c-icon.sz-wide {
	width: 24px;
}

.c-btn-large .title {
	letter-spacing: 0.05em;
}

.c-btn-large .c-btn-arrow {
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}

.c-btn-large.bg-black {
	padding: 0 16px;
	border-radius: 4px;
	background: #222 url(/assets/images/bg_base.png) 50% 0/128px;
	color: #fff;
}

.c-btn-large.bg-red {
	padding: 0 16px;
	border-radius: 4px;
	background-color: #f00;
	color: #fff;
}

/* -----------------------------------------------------
 * component: button
 * -------------------------------------------------- */

.c-btn {
	display: flex;
	position: relative;
	overflow: hidden;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 48px;
	border: 1px solid #222;
	border-radius: 24px;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 1.6rem;
	font-weight: 700;
	text-decoration: none !important;
	letter-spacing: 0.05em;
	transition: color 0.2s ease;
}

.c-btn::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #222;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
}

.c-btn .c-icon,
.c-btn span {
	position: relative;
	z-index: 2;
}

.c-btn .c-icon:first-child {
	margin-right: 8px;
}

.c-btn .c-icon:last-child {
	margin-left: 8px;
}

.c-btn.sz-wide {
	width: 100%;
	max-width: 373px;
}

.c-btn.sz-full {
	width: 100%;
}

.c-btn.cl-white {
	border-color: #fff;
	color: #fff;
}

.c-btn.cl-white::before {
	background-color: #fff;
}

.c-btn.cl-ol::before {
	-webkit-filter: none;
	filter: none;
}

.c-btn.cl-ol::after {
	background-color: #222;
}

.c-btn.cl-gold {
	border-color: #8b610e;
	background-color: #8b610e;
	color: #fff;
	transition: opacity 0.2s ease;
}

.c-btn.cl-gold .c-icon {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.c-btn.cl-gold::before {
	display: none;
}

.c-btn.disabled {
	border-color: #ccc;
	background-color: #ccc;
	color: #aaa;
	pointer-events: none;
}

/* -----------------------------------------------------
 * component: caption
 * -------------------------------------------------- */

.c-caption,
.p-box-bg .c-caption {
	margin: 8px 0 0;
	font-size: 1.3rem;
	line-height: 1.6153846154;
}

/* -----------------------------------------------------
 * component: category
 * -------------------------------------------------- */

.c-category {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 32px;
	padding: 0 18px;
	border: 1px solid #8b610e;
	border-radius: 16px;
	background-color: #8b610e;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* -----------------------------------------------------
 * component: circle
 * -------------------------------------------------- */

.c-circle {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12px;
	min-width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: rgba(34, 34, 34, 0.4);
	transition: background-color 0.3s ease;
}

.c-circle::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: rgba(34, 34, 34, 0.6);
	transition: background-color 0.3s ease;
}

/* -----------------------------------------------------
 * component: clip
 * -------------------------------------------------- */

.c-clip {
	position: absolute;
	width: 0;
	height: 0;
}

/* -----------------------------------------------------
 * component: 雲アニメーション
 * -------------------------------------------------- */

.c-cloud {
	width: 100%;
	height: 100%;
	-webkit-animation: cloudFloat2 30s ease-in-out infinite;
	animation: cloudFloat2 30s ease-in-out infinite;
}

.c-cloud img {
	width: 100%;
	height: 100%;
	-webkit-animation: cloudVertical 15s ease-in-out infinite;
	animation: cloudVertical 15s ease-in-out infinite;
	-o-object-fit: contain;
	object-fit: contain;
}

.c-cloud.cloud-gold-01 {
	width: 206px;
	height: 38px;
}

.c-cloud.cloud-gold-03 {
	width: 224px;
	height: 83px;
}

.c-cloud.cloud-gold-06 {
	width: 246px;
	height: 82px;
}

.c-cloud.cloud-02,
.c-cloud.cloud-fill-02 {
	width: 155px;
	height: 45px;
}

.c-cloud.cloud-03,
.c-cloud.cloud-fill-03 {
	width: 120px;
	height: 40px;
}

.c-cloud.cloud-04,
.c-cloud.cloud-fill-04 {
	width: 141px;
	height: 26px;
}

.c-cloud[data-depth='-5'] {
	-webkit-animation: cloudFloat1 45s ease-in-out infinite;
	animation: cloudFloat1 45s ease-in-out infinite;
}

.c-cloud[data-depth='-5'] > * {
	-webkit-animation: cloudVertical 25s ease-in-out infinite;
	animation: cloudVertical 25s ease-in-out infinite;
}

.c-cloud[data-depth='-4'] {
	-webkit-animation: cloudFloat1 40s ease-in-out infinite;
	animation: cloudFloat1 40s ease-in-out infinite;
}

.c-cloud[data-depth='-4'] > * {
	-webkit-animation: cloudVertical 22s ease-in-out infinite;
	animation: cloudVertical 22s ease-in-out infinite;
}

.c-cloud[data-depth='-3'] {
	-webkit-animation: cloudFloat1 38s ease-in-out infinite;
	animation: cloudFloat1 38s ease-in-out infinite;
}

.c-cloud[data-depth='-3'] > * {
	-webkit-animation: cloudVertical 20s ease-in-out infinite;
	animation: cloudVertical 20s ease-in-out infinite;
}

.c-cloud[data-depth='-2'] {
	-webkit-animation: cloudFloat2 35s ease-in-out infinite;
	animation: cloudFloat2 35s ease-in-out infinite;
}

.c-cloud[data-depth='-2'] > * {
	-webkit-animation: cloudVertical 18s ease-in-out infinite;
	animation: cloudVertical 18s ease-in-out infinite;
}

.c-cloud[data-depth='-1'] {
	-webkit-animation: cloudFloat2 33s ease-in-out infinite;
	animation: cloudFloat2 33s ease-in-out infinite;
}

.c-cloud[data-depth='-1'] > * {
	-webkit-animation: cloudVertical 16s ease-in-out infinite;
	animation: cloudVertical 16s ease-in-out infinite;
}

.c-cloud[data-depth='0'] {
	-webkit-animation: cloudFloat2 30s ease-in-out infinite;
	animation: cloudFloat2 30s ease-in-out infinite;
}

.c-cloud[data-depth='0'] > * {
	-webkit-animation: cloudVertical 15s ease-in-out infinite;
	animation: cloudVertical 15s ease-in-out infinite;
}

.c-cloud[data-depth='1'] {
	-webkit-animation: cloudFloat2 28s ease-in-out infinite;
	animation: cloudFloat2 28s ease-in-out infinite;
}

.c-cloud[data-depth='1'] > * {
	-webkit-animation: cloudVertical 14s ease-in-out infinite;
	animation: cloudVertical 14s ease-in-out infinite;
}

.c-cloud[data-depth='2'] {
	-webkit-animation: cloudFloat3 26s ease-in-out infinite;
	animation: cloudFloat3 26s ease-in-out infinite;
}

.c-cloud[data-depth='2'] > * {
	-webkit-animation: cloudVertical 13s ease-in-out infinite;
	animation: cloudVertical 13s ease-in-out infinite;
}

.c-cloud[data-depth='3'] {
	-webkit-animation: cloudFloat3 24s ease-in-out infinite;
	animation: cloudFloat3 24s ease-in-out infinite;
}

.c-cloud[data-depth='3'] > * {
	-webkit-animation: cloudVertical 12s ease-in-out infinite;
	animation: cloudVertical 12s ease-in-out infinite;
}

.c-cloud[data-depth='4'] {
	-webkit-animation: cloudFloat3 22s ease-in-out infinite;
	animation: cloudFloat3 22s ease-in-out infinite;
}

.c-cloud[data-depth='4'] > * {
	-webkit-animation: cloudVertical 11s ease-in-out infinite;
	animation: cloudVertical 11s ease-in-out infinite;
}

.c-cloud[data-depth='5'] {
	-webkit-animation: cloudFloat3 20s ease-in-out infinite;
	animation: cloudFloat3 20s ease-in-out infinite;
}

.c-cloud[data-depth='5'] > * {
	-webkit-animation: cloudVertical 10s ease-in-out infinite;
	animation: cloudVertical 10s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='-5'] {
	-webkit-animation: cloudFloat1Reverse 45s ease-in-out infinite;
	animation: cloudFloat1Reverse 45s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='-4'] {
	-webkit-animation: cloudFloat1Reverse 40s ease-in-out infinite;
	animation: cloudFloat1Reverse 40s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='-3'] {
	-webkit-animation: cloudFloat1Reverse 38s ease-in-out infinite;
	animation: cloudFloat1Reverse 38s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='-2'] {
	-webkit-animation: cloudFloat2Reverse 35s ease-in-out infinite;
	animation: cloudFloat2Reverse 35s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='-1'] {
	-webkit-animation: cloudFloat2Reverse 33s ease-in-out infinite;
	animation: cloudFloat2Reverse 33s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='0'] {
	-webkit-animation: cloudFloat2Reverse 30s ease-in-out infinite;
	animation: cloudFloat2Reverse 30s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='1'] {
	-webkit-animation: cloudFloat2Reverse 28s ease-in-out infinite;
	animation: cloudFloat2Reverse 28s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='2'] {
	-webkit-animation: cloudFloat3Reverse 26s ease-in-out infinite;
	animation: cloudFloat3Reverse 26s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='3'] {
	-webkit-animation: cloudFloat3Reverse 24s ease-in-out infinite;
	animation: cloudFloat3Reverse 24s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='4'] {
	-webkit-animation: cloudFloat3Reverse 22s ease-in-out infinite;
	animation: cloudFloat3Reverse 22s ease-in-out infinite;
}

.c-cloud.reverse[data-depth='5'] {
	-webkit-animation: cloudFloat3Reverse 20s ease-in-out infinite;
	animation: cloudFloat3Reverse 20s ease-in-out infinite;
}

.c-cloud.reverse:not([data-depth]) {
	-webkit-animation: cloudFloat2Reverse 30s ease-in-out infinite;
	animation: cloudFloat2Reverse 30s ease-in-out infinite;
}

.c-cloud:nth-child(2n) {
	-webkit-animation-delay: -5s;
	animation-delay: -5s;
}

.c-cloud:nth-child(3n) {
	-webkit-animation-delay: -10s;
	animation-delay: -10s;
}

.c-cloud:nth-child(5n) {
	-webkit-animation-delay: -15s;
	animation-delay: -15s;
}

@-webkit-keyframes cloudFloat1 {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	33% {
		-webkit-transform: translateX(8px);
		transform: translateX(8px);
	}

	66% {
		-webkit-transform: translateX(-12px);
		transform: translateX(-12px);
	}
}

@keyframes cloudFloat1 {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	33% {
		-webkit-transform: translateX(8px);
		transform: translateX(8px);
	}

	66% {
		-webkit-transform: translateX(-12px);
		transform: translateX(-12px);
	}
}

@-webkit-keyframes cloudFloat2 {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	25% {
		-webkit-transform: translateX(15px);
		transform: translateX(15px);
	}

	50% {
		-webkit-transform: translateX(-18px);
		transform: translateX(-18px);
	}

	75% {
		-webkit-transform: translateX(10px);
		transform: translateX(10px);
	}
}

@keyframes cloudFloat2 {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	25% {
		-webkit-transform: translateX(15px);
		transform: translateX(15px);
	}

	50% {
		-webkit-transform: translateX(-18px);
		transform: translateX(-18px);
	}

	75% {
		-webkit-transform: translateX(10px);
		transform: translateX(10px);
	}
}

@-webkit-keyframes cloudFloat3 {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	20% {
		-webkit-transform: translateX(20px);
		transform: translateX(20px);
	}

	40% {
		-webkit-transform: translateX(-25px);
		transform: translateX(-25px);
	}

	60% {
		-webkit-transform: translateX(15px);
		transform: translateX(15px);
	}

	80% {
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}
}

@keyframes cloudFloat3 {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	20% {
		-webkit-transform: translateX(20px);
		transform: translateX(20px);
	}

	40% {
		-webkit-transform: translateX(-25px);
		transform: translateX(-25px);
	}

	60% {
		-webkit-transform: translateX(15px);
		transform: translateX(15px);
	}

	80% {
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}
}

@-webkit-keyframes cloudVertical {
	0%, 100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	50% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}
}

@keyframes cloudVertical {
	0%, 100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	50% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}
}

@-webkit-keyframes cloudFloat1Reverse {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	33% {
		-webkit-transform: translateX(-8px);
		transform: translateX(-8px);
	}

	66% {
		-webkit-transform: translateX(12px);
		transform: translateX(12px);
	}
}

@keyframes cloudFloat1Reverse {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	33% {
		-webkit-transform: translateX(-8px);
		transform: translateX(-8px);
	}

	66% {
		-webkit-transform: translateX(12px);
		transform: translateX(12px);
	}
}

@-webkit-keyframes cloudFloat2Reverse {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	25% {
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}

	50% {
		-webkit-transform: translateX(18px);
		transform: translateX(18px);
	}

	75% {
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}
}

@keyframes cloudFloat2Reverse {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	25% {
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}

	50% {
		-webkit-transform: translateX(18px);
		transform: translateX(18px);
	}

	75% {
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}
}

@-webkit-keyframes cloudFloat3Reverse {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	20% {
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}

	40% {
		-webkit-transform: translateX(25px);
		transform: translateX(25px);
	}

	60% {
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}

	80% {
		-webkit-transform: translateX(10px);
		transform: translateX(10px);
	}
}

@keyframes cloudFloat3Reverse {
	0%, 100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	20% {
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}

	40% {
		-webkit-transform: translateX(25px);
		transform: translateX(25px);
	}

	60% {
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}

	80% {
		-webkit-transform: translateX(10px);
		transform: translateX(10px);
	}
}

/* -----------------------------------------------------
 * component: date
 * -------------------------------------------------- */

.c-date {
	color: #666;
	font-size: 1.3rem;
	font-weight: 500;
}

.c-date span {
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.4rem;
}

/* -----------------------------------------------------
 * component: figure type column
 * -------------------------------------------------- */

.c-figure-col img {
	display: block;
	width: 100%;
	border-radius: 4px;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	aspect-ratio: 220/156;
	-o-object-fit: cover;
	object-fit: cover;
	will-change: transform;
}

.c-figure-col figcaption {
	margin: 16px 0 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

/* -----------------------------------------------------
 * component: figure
 * -------------------------------------------------- */

.c-figure {
	display: block;
	overflow: hidden;
	border-radius: 4px;
}

.c-figure img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-o-object-fit: cover;
	object-fit: cover;
	will-change: transform;
}

.c-figure.fill {
	border-radius: 4px 0 0 4px;
}

.c-figure.sz-rl {
	display: flex;
	justify-content: center;
}

.c-figure.sz-rl img {
	width: revert-layer;
	height: auto;
}

.reverse .c-figure.fill {
	border-radius: 0 4px 4px 0;
}

/* -----------------------------------------------------
 * component: heading call
 * -------------------------------------------------- */

.c-heading-call {
	display: flex;
	position: relative;
	justify-content: center;
	margin: 24px 0 0;
	text-align: center;
}

.c-heading-call span {
	display: inline-block;
	position: relative;
	padding: 0 24px;
	font-size: 1.6rem;
}

.c-heading-call span::before,
.c-heading-call span::after {
	content: '';
	display: block;
	position: absolute;
	top: 0.25em;
	width: 18px;
	height: auto;
	background: url(/assets/images/ico_slash.png) no-repeat 50% 50%/contain;
	aspect-ratio: 1/1;
}

.c-heading-call span::before {
	left: 0;
}

.c-heading-call span::after {
	right: 0;
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

/* -----------------------------------------------------
 * component: heading level
 * wysiwyg用見出しレベルのデザイン
 * -------------------------------------------------- */

.c-heading-level-1 {
	margin: 40px 0 0;
	padding: 0 15px;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.05em;
}

.c-heading-level-1 .sup {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
}

.c-heading-level-1 .num {
	display: block;
	color: #eab44b;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.075em;
}

.c-heading-level-2 {
	margin: 40px 0 0;
	padding: 10px 15px;
	border-radius: 4px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.c-heading-level-2 .c-icon {
	position: relative;
	top: 0.25em;
	width: auto;
	height: 1.25em;
	aspect-ratio: 1/1;
}

.c-heading-level-2 .c-icon:first-child {
	margin-right: 8px;
}

.c-heading-level-2 + h4,
.c-heading-level-2 + .c-heading-level-4 {
	margin-top: 24px;
}

.c-heading-level-3 {
	position: relative;
	margin: 24px 0 0;
	padding: 0 0 10px 16px;
	border-bottom: 2px solid #ebe9e5;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5555555556;
}

.c-heading-level-3::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: calc(100% - 10px);
	border-right: 2px solid #8b610e;
	border-left: 2px solid #8b610e;
}

.c-heading-level-3 .c-icon {
	position: relative;
	top: 0.25em;
}

.c-heading-level-3 .c-icon:first-child {
	margin-right: 4px;
}

.c-heading-level-4 {
	margin: 24px 0 0;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.75;
}

/* -----------------------------------------------------
 * component: heading mincho
 * -------------------------------------------------- */

.c-heading-mincho {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4615384615;
	letter-spacing: 0.05em;
}

.c-heading-mincho.cl-gold {
	color: #8b610e;
}

.c-heading-mincho.al-center {
	text-align: center;
}

/* -----------------------------------------------------
 * component: heading
 * -------------------------------------------------- */

.c-heading {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.c-heading::before {
	content: '';
	display: block;
	width: 47px;
	height: 26px;
	background: url(/assets/images/ico_matsu.png) no-repeat 50% 50%/contain;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.c-heading .ja {
	display: block;
	margin: 21px 0 0;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.c-heading .en {
	display: block;
	margin: 14px 0 0;
	color: #8b610e;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.c-heading.cl-white::before {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.c-heading.cl-white .ja {
	color: #fff;
}

.c-heading.cl-white .en {
	color: #eab44b;
}

.c-heading.cl-white .en.cl-white {
	color: #fff;
}

/* -----------------------------------------------------
 * component: icon
 * -------------------------------------------------- */

.c-icon {
	display: inline-block;
	background: no-repeat 50% 50%/contain;
}

.c-icon img {
	display: block;
	width: revert-layer;
}

.c-icon.h-auto img {
	height: auto;
}

/* -----------------------------------------------------
 * component: label
 * -------------------------------------------------- */

.c-label {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 80px;
	height: 21px;
	padding: 0 8px 1px;
	background-color: #222;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}

.c-label.cl-red {
	background-color: #f24141;
}

a.c-label {
	transition: opacity 0.2s ease;
}

/* -----------------------------------------------------
 * component: lead
 * -------------------------------------------------- */

.c-lead {
	margin: 32px 0 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.625;
	letter-spacing: 0;
}

.c-lead.margin-narrow {
	margin: 24px 0 0;
}

.c-lead a {
	color: #8b610e;
	text-decoration: underline;
}

.c-lead + .c-lead {
	margin-top: 1em;
}

/* -----------------------------------------------------
 * component: link
 * -------------------------------------------------- */

.c-link {
	position: relative;
	padding-bottom: 0.3rem;
}

.c-link::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #222;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
}

.c-link {
	padding-left: 0.8em;
	background: no-repeat 0 47.5%/auto 0.65em;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 5.252 8.754\'%3E%3Cpath id=\'パス_350\' fill=\'%23242424\' d=\'M6.743-4.632a.876.876 0 0 0 0-1.239l-3.5-3.5a.871.871 0 0 0-.954-.189.875.875 0 0 0-.541.809v7a.878.878 0 0 0 .541.809.876.876 0 0 0 .954-.189l3.5-3.5Z\' data-name=\'パス 350\' transform=\'translate(-1.747 9.627)\'/%3E%3C/svg%3E');
	font-weight: 500;
}

.c-link[target=_blank]::after {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.1em;
	width: 0.9em;
	height: 0.9em;
	margin-left: 8px;
	background: no-repeat 50% 50%/contain;
	background-image: url(/assets/images/ico_window.png);
	-webkit-filter: invert(75%) sepia(22%) saturate(0%) hue-rotate(197deg) brightness(88%) contrast(91%);
	filter: invert(75%) sepia(22%) saturate(0%) hue-rotate(197deg) brightness(88%) contrast(91%);
}

/* -----------------------------------------------------
 * component: note
 * -------------------------------------------------- */

.p-wysiwyg .c-note,
.c-note {
	margin: 12px 0 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-wysiwyg .c-note a,
.c-note a {
	text-decoration: underline;
}

.p-wysiwyg .c-note.m-narrow,
.c-note.m-narrow {
	margin: 0.75em 0 0;
}

p + .p-wysiwyg .c-note,
p + .c-note {
	margin-top: 1em;
}

/* -----------------------------------------------------
 * component: paragraph
 * -------------------------------------------------- */

.c-paragraph {
	margin: 1em 0 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.c-paragraph.u-font-en {
	font-size: 1.6rem;
}

.c-paragraph.m-narrow {
	margin: 0.5em 0 0;
}

/* -----------------------------------------------------
 * component: select tag
 * -------------------------------------------------- */

.c-select-tag {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 32px;
	padding: 0 18px;
	border: 1px solid #8b610e;
	border-radius: 16px;
	color: #8b610e;
	font-size: 1.3rem;
	font-weight: 700;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.c-select-tag:has(:checked) {
	background-color: #8b610e;
	color: #fff;
}

/* -----------------------------------------------------
 * component: select
 * -------------------------------------------------- */

.c-select {
	cursor: pointer;
	width: 100%;
	height: 40px;
	padding: 0 36px 0 16px;
	border: 1px solid #8b610e;
	border-radius: 4px;
	background-color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
}

.c-select-wrap {
	position: relative;
}

.c-select-wrap::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 16px;
	width: 10px;
	height: 6px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 12 7\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23222\' d=\'m.31 10.161 4.125-4.167L.31 1.828a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'rotate(90 6 6)\'/%3E%3C/svg%3E');
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}

.c-select-wrap.is-open .c-select-custom-options {
	display: flex;
}

.c-select-wrap.is-open::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.c-select-wrap.is-open .c-select-custom-toggle {
	background-color: #f0eadf;
}

.c-select-custom {
	position: relative;
}

.c-select-custom-toggle {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 0 36px 0 16px;
	border: 1px solid #8b610e;
	border-radius: 4px;
	background-color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	transition: all 0.2s;
}

.c-select-custom-toggle:hover {
	background-color: #fafafa;
}

.c-select-custom-toggle:focus {
	outline: none;
}

.c-select-custom-selected {
	display: block;
	overflow: hidden;
	flex: 1;
	text-align: left;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.c-select-custom-options {
	display: none;
	position: absolute;
	z-index: 100;
	top: calc(100% + 4px);
	right: 0;
	left: 0;
	flex-direction: column;
	padding: 14px;
	border-radius: 4px;
	background: #8b610e;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	gap: 4px;
}

.c-select-custom-options::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 100%;
	left: calc(50% - 11px);
	width: 22px;
	height: 15px;
	background-color: #8b610e;
	-webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.c-select-custom-option {
	cursor: pointer;
	overflow: hidden;
	padding: 5px 10px;
	border-radius: 4px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
	transition: background-color 0.2s;
}

.c-select-custom-option:hover:not(.is-disabled) {
	background-color: rgba(255, 255, 255, 0.15);
}

.c-select-custom-option:focus {
	outline: none;
	background-color: #f0eadf;
}

.c-select-custom-option.is-selected {
	position: relative;
	background-color: rgba(255, 255, 255, 0.15);
}

.c-select-custom-option.is-disabled {
	cursor: not-allowed;
	opacity: 0.5;
	color: #999;
}

/* -----------------------------------------------------
 * component: tel
 * -------------------------------------------------- */

.c-tel {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
}

.c-tel .c-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	min-width: 40px;
	height: auto;
	border-radius: 50%;
	background-color: rgba(139, 97, 14, 0.25);
	aspect-ratio: 1/1;
}

.c-tel .c-icon img {
	display: block;
	width: 20px;
	height: auto;
	aspect-ratio: 1/1;
	-o-object-fit: contain;
	object-fit: contain;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.c-tel span {
	color: #8b610e;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 3.6rem;
	font-weight: 500;
	white-space: nowrap;
	letter-spacing: 0;
}

/* -----------------------------------------------------
 * parts: ac
 * -------------------------------------------------- */

.p-ac-target {
	display: grid;
	transition: grid-template-rows 0.5s ease;
	transition: grid-template-rows 0.5s ease, -ms-grid-rows 0.5s ease;
	grid-template-rows: 0fr;
}

.p-ac-wrap {
	overflow: hidden;
}

.p-ac.is-active .p-ac-target {
	grid-template-rows: 1fr;
}

/* -----------------------------------------------------
 * parts: accessinfo
 * -------------------------------------------------- */

.p-accessinfo .c-figure {
	padding: 12px;
	border: 2px solid #eab44b;
	border-radius: 4px;
	background-color: #fff;
}

.p-accessinfo .contents {
	margin: 30px 0 0;
}

.p-accessinfo .contents dl {
	display: grid;
	align-items: start;
	grid-template-columns: 56px 1fr;
	gap: 8px 10px;
}

.p-accessinfo .contents dl dt {
	padding: 2px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.3rem;
	font-weight: 700;
	text-align: center;
}

.p-accessinfo .contents dl dd {
	position: relative;
	top: -0.2em;
	align-self: self-start;
	margin: 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.75;
}

.p-accessinfo .contents dl dd .number {
	position: relative;
	top: -0.2em;
	color: #8b610e;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2.4rem;
	letter-spacing: 0.025em;
}

.p-accessinfo .contents dl dd .mail {
	font-size: 1.8rem;
}

.p-accessinfo .contents .l-links .c-btn {
	max-width: 305px;
}

/* -----------------------------------------------------
 * parts: agree cookie
 * -------------------------------------------------- */

.p-agree-cookie {
	position: fixed;
	z-index: 10;
	bottom: 0;
	width: 100%;
	padding: 18px 0;
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-transform: translate3d(0, 110%, 0);
	transform: translate3d(0, 110%, 0);
}

.p-agree-cookie.is-open {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.p-agree-cookie-inner {
	display: flex;
	flex-direction: column;
	padding: 0 20px;
	gap: 16px;
}

.p-agree-cookie-inner .text > *:first-child {
	margin-top: 0;
}

.p-agree-cookie-inner .text > *:last-child {
	margin-bottom: 0;
}

.p-agree-cookie-inner p {
	margin: 1em 0;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.75;
}

.p-agree-cookie-inner p a {
	color: #fff;
	text-decoration: underline;
}

.p-agree-cookie-inner p a:hover {
	text-decoration: none;
}

.p-agree-cookie-inner .close {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 12px;
	border-radius: 4px;
	background-color: #8b610e;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	-webkit-appearance: none;
	appearance: none;
}

/* -----------------------------------------------------
 * parts: archive
 * -------------------------------------------------- */

.p-archive {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.p-archive h2,
.p-archive h3,
.p-archive h4 {
	margin: 40px 0 0 !important;
	padding: 10px 15px !important;
	border-radius: 4px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.6rem !important;
	font-weight: 700;
	line-height: 1.5;
}

.p-archive h2::before,
.p-archive h3::before,
.p-archive h4::before {
	display: none !important;
}

.p-archive h2:first-child,
.p-archive h3:first-child,
.p-archive h4:first-child {
	margin-top: 0 !important;
}

.p-archive .text > *:first-child {
	margin-top: 0 !important;
}

.p-archive .text > *:last-child {
	margin-bottom: 0 !important;
}

/* -----------------------------------------------------
 * parts: banner econtents（エンドコンテンツ用バナー）
 * -------------------------------------------------- */

.p-banner-econtents {
	display: block;
	position: relative;
	overflow: hidden;
	height: 120px;
	border-radius: 4px;
}

.p-banner-econtents .c-figure {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.p-banner-econtents .c-figure img {
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.p-banner-econtents .text {
	display: flex;
	position: relative;
	z-index: 3;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 0 0 24px;
	color: #fff;
}

.p-banner-econtents .text > *:first-child {
	margin-top: 0;
}

.p-banner-econtents .text > *:last-child {
	margin-bottom: 0;
}

.p-banner-econtents .text .title {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.p-banner-econtents .text p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.75;
}

.p-banner-econtents .c-btn-arrow {
	position: absolute;
	z-index: 3;
	top: calc(50% - 13px);
	right: 16px;
	pointer-events: none;
}

.p-banner-econtents:not(:has(.c-figure)) {
	background: #222 url(/assets/images/bg_base.png) 50% 0/128px;
}

/* -----------------------------------------------------
 * component: banner
 * -------------------------------------------------- */

.p-banner-grad {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 92px;
	border-radius: 4px;
	background: #2b2b2b url(/assets/images/bg_base.png) repeat 50% 50%/128px;
}

.p-banner-grad .bg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	pointer-events: none;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-banner-grad .bg::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 85%;
	height: 100%;
	background: linear-gradient(to right, rgba(43, 43, 43, 0) 0%, #2b2b2b 100%);
}

.p-banner-grad .title {
	display: flex;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	pointer-events: none;
}

.p-banner-grad .c-btn-arrow {
	position: absolute;
	top: calc(50% - 16px);
	right: 32px;
	pointer-events: none;
}

/* -----------------------------------------------------
 * parts: banner（画像＋テキスト＋アイコンの複数構成）
 * -------------------------------------------------- */

.p-banner {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
}

.p-banner .c-figure {
	aspect-ratio: 472/96;
}

.p-banner .c-icon {
	display: block;
	position: absolute;
	top: 50%;
	left: 16px;
	width: 40px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	aspect-ratio: 1/1;
}

.p-banner .title {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
}

.p-banner .c-btn-arrow {
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}

.p-banner.line {
	flex-direction: column;
	padding: 20px;
	border-radius: 4px;
	background: linear-gradient(to right, rgba(34, 34, 34, 0) 0%, rgb(34, 34, 34) 100%), #06c755;
	color: #fff;
	transition: opacity 0.2s ease;
	gap: 10px;
}

.p-banner.line .c-icon {
	position: static;
	-webkit-transform: none;
	transform: none;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.p-banner.line .text {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.075em;
	gap: 8px;
}

.p-banner.line .text .sup {
	position: relative;
	font-size: 1.6rem;
	font-weight: 700;
}

.p-banner.line .lead {
	display: flex;
	align-items: center;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 1.4rem;
	gap: 16px;
}

.p-banner.line .lead .c-btn-arrow {
	position: relative;
	top: auto;
	right: auto;
	-webkit-transform: none;
	transform: none;
}

.p-banner.yt {
	width: 100%;
}

.p-box-bg .p-banner.yt .c-figure {
	width: 100%;
	height: 92px;
}

.p-box-bg .p-banner.yt .c-figure {
	aspect-ratio: unset;
}

/* -----------------------------------------------------
 * parts: box bg
 * -------------------------------------------------- */

.p-box-bg {
	padding: 15px 20px;
	border-radius: 4px;
	background-color: #f0eadf;
	word-break: break-all;
}

.p-box-bg *:first-child {
	margin-top: 0 !important;
}

.p-box-bg *:last-child {
	margin-bottom: 0 !important;
}

.p-box-bg:has(.p-box-bg-heading) {
	padding-top: 0;
}

.p-box-bg:has(.p-box-bg-heading) .p-box-bg-heading {
	top: 0;
}

.p-box-bg:has(.p-box-bg-heading) .p-box-bg-contents {
	margin-top: 24px;
}

.p-box-bg.flex {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.p-box-bg.padding-narrow {
	padding: 15px;
}

.p-box-bg.cl-white {
	background-color: #fff;
}

.p-box-bg.cl-line {
	padding: 0 14px 14px;
	background-color: rgba(6, 199, 85, 0.15);
}

.p-box-bg.cl-line .p-box-bg-heading {
	display: flex;
	justify-content: center;
	margin: 0 -14px;
	background-color: #06c755;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
}

.p-box-bg.cl-line .p-box-bg-heading span {
	position: relative;
	padding: 0 32px;
}

.p-box-bg.cl-line .p-box-bg-heading span::before,
.p-box-bg.cl-line .p-box-bg-heading span::after {
	content: '';
	display: block;
	position: absolute;
	top: 0.25em;
	width: 23px;
	background: url(/assets/images/ico_slash.png) no-repeat 50% 50%/contain;
	aspect-ratio: 1/1;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.p-box-bg.cl-line .p-box-bg-heading span::before {
	left: 0;
}

.p-box-bg.cl-line .p-box-bg-heading span::after {
	right: 0;
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

.p-box-bg.cl-line .p-box-bg-contents {
	margin: 14px 0 0;
}

.p-box-bg.cl-line .p-box-bg-contents .text {
	margin: 24px 0 0;
}

.p-box-bg.cl-line .p-box-bg-contents .text .heading {
	padding: 0;
	font-size: 2rem;
}

.p-box-bg.cl-line .p-box-bg-contents .text .heading::before {
	display: none;
}

.p-box-bg .heading {
	position: relative;
	padding: 0 0 0 26px;
	border: 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5555555556;
}

.p-box-bg .heading::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 20px;
	height: 20px;
	border: 0;
	background: url(/assets/images/ico_ume.png) no-repeat 50% 50%/contain;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.p-box-bg-heading {
	position: relative;
	top: -15px;
	margin: 0 -20px;
	padding: 9px 10px;
	border-radius: 4px 4px 0 0;
	background-color: #8b610e;
	color: #fff;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	text-align: center;
}

.p-box-bg p {
	margin: 1em 0;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.75;
}

.p-box-bg-contents .p-col {
	margin-top: 24px;
}

.p-box-bg-contents .p-col:first-child {
	margin-top: 0;
}

/* -----------------------------------------------------
 * parts: box information
 * -------------------------------------------------- */

.p-box-info {
	margin: 30px 0 0;
	padding: 20px;
	border: 1px solid #8b610e;
	border-radius: 4px;
}

.p-box-info *:first-child {
	margin-top: 0;
}

.p-box-info *:last-child {
	margin-bottom: 0;
}

.p-box-info dl {
	color: #8b610e;
	font-size: 1.6rem;
	font-weight: 700;
}

.p-box-info dl dd {
	margin: 0;
}

.p-box-info dl dd small {
	font-size: 1.3rem;
}

/* -----------------------------------------------------
 * parts: box line
 * -------------------------------------------------- */

.p-box-line {
	margin: 32px 0 0;
	padding: 24px 0;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
	word-break: break-all;
}

.p-box-line *:first-child {
	margin-top: 0;
}

.p-box-line .c-heading-level-1 {
	padding: 0 24px;
	font-size: 1.8rem;
}

.p-box-line.bg-gold-light {
	border: 0;
	background-color: #f0eadf;
}

.p-box-line.bg-gold-light .c-heading-level-1 {
	color: #8b610e;
}

.p-box-line.bg-gold-light .mt-be-columns .p-box-line-inner {
	position: relative;
	padding: 12px 24px;
}

.p-box-line.bg-gold-light .mt-be-columns .p-box-line-inner::before {
	content: '';
	display: block;
	position: absolute;
	top: -14px;
	left: 24px;
	width: calc(100% - 64px);
	height: 2px;
	background-color: #aaa;
}

.p-box-line.bg-gold-light .mt-be-columns .p-box-line-inner:first-child::before {
	display: none;
}

.p-box-line-contents {
	margin: 6px 0 0;
}

.p-box-line-inner {
	padding: 0 24px;
}

.p-box-line .heading {
	padding: 2px 10px;
	background-color: #222;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
}

.p-box-line p {
	margin: 12px 0 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5555555556;
	text-align: center;
}

.p-box-line .mt-be-columns {
	gap: 32px 0;
}

/* -----------------------------------------------------
 * parts: box writer
 * -------------------------------------------------- */

.p-box-writer {
	margin: 24px 0 0 !important;
	padding: 20px 15px;
	border-radius: 4px;
	background-color: #f0eadf;
}

.p-box-writer:has(.c-figure:first-child + .p-box-writer-inner) {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.p-box-writer:has(.c-figure:first-child + .p-box-writer-inner) .c-figure {
	overflow: hidden;
	width: 72px;
	min-width: 72px;
	border-radius: 50%;
	background-color: #fff;
	aspect-ratio: 1/1;
}

.p-box-writer-inner {
	position: relative;
	margin: 0 !important;
}

.p-box-writer-inner .p-wysiwyg {
	margin: 42px 0 0 !important;
}

.p-box-writer-inner .p-wysiwyg:first-child {
	margin: 0 !important;
}

.p-box-writer-inner .p-wysiwyg:first-child::before {
	display: none;
}

.p-box-writer-inner .p-wysiwyg::before {
	content: '';
	display: block;
	position: absolute;
	top: -21px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}

.p-box-writer .p-wysiwyg {
	position: relative;
}

.p-box-writer .p-wysiwyg *:first-child {
	margin-top: 0;
}

.p-box-writer .p-wysiwyg *:last-child {
	margin-bottom: 0;
}

/* -----------------------------------------------------
 * parts: breadcrumbs
 * -------------------------------------------------- */

.p-breadcrumbs {
	position: relative;
	z-index: 5;
}

.p-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	padding: 16px 20px;
	gap: 4px 8px;
}

.p-breadcrumbs ol li {
	display: block;
	position: relative;
	overflow: hidden;
	line-height: 1.2;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.p-breadcrumbs ol li::after {
	content: '／';
	display: inline-block;
	margin-left: 4px;
	color: #222;
	font-size: 1.2rem;
}

.p-breadcrumbs ol li:last-child::after {
	display: none;
}

.p-breadcrumbs ol li a,
.p-breadcrumbs ol li span {
	color: #222;
	font-size: 1.2rem;
}

.p-breadcrumbs ol li a {
	color: #8b610e;
}

/* -----------------------------------------------------
 * parts: card column
 * -------------------------------------------------- */

.p-card-column {
	display: block;
}

.p-card-column .c-figure {
	width: 100%;
	aspect-ratio: 340/240;
}

.p-card-column .info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 14px 0 0;
}

.p-card-column .info .c-date {
	color: #222;
}

.p-card-column .title {
	display: -webkit-box;
	overflow: hidden;
	margin: 12px 0 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	word-wrap: break-word;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow-wrap: break-word;
}

.p-card-column .text {
	display: -webkit-box;
	overflow: hidden;
	margin: 8px 0 0;
	color: #666;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7142857143;
	word-wrap: break-word;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow-wrap: break-word;
}

/* -----------------------------------------------------
 * parts: card facility
 * -------------------------------------------------- */

.p-card-facility .title {
	display: flex;
	align-items: center;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: bold;
	gap: 8px;
}

.p-card-facility .title .num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	min-width: 24px;
	border-radius: 50%;
	background-color: #8b610e;
	color: #fff;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.025em;
	aspect-ratio: 1/1;
}

.p-card-facility .title .num.cl-blue {
	background-color: #201e9d;
}

.p-card-facility .image {
	margin: 20px 0 0;
}

.p-card-facility .image img {
	border-radius: 4px;
}

.p-card-facility .text {
	margin: 15px 0 0;
}

.p-card-facility .text > *:first-child {
	margin-top: 0;
}

.p-card-facility .text > *:last-child {
	margin-bottom: 0;
}

.p-card-facility + .p-card-facility {
	margin-top: 30px;
}

/* -----------------------------------------------------
 * parts: card guide
 * -------------------------------------------------- */

.p-card-guide {
	display: grid;
	grid-template-columns: 138px 1fr;
	gap: 0 15px;
}

.p-card-guide .c-figure {
	aspect-ratio: 168/238;
}

.p-card-guide .c-heading-mincho {
	padding: 0;
	font-size: 1.8rem;
}

.p-card-guide .c-btn-arrow {
	pointer-events: none;
}

/* -----------------------------------------------------
 * parts: card link
 * -------------------------------------------------- */

.p-card-link {
	display: block;
	color: #fff;
}

.p-card-link .title {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 12px 0 0;
	color: #fff;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.05em;
	gap: 0 16px;
}

.p-card-link .title .c-btn-arrow {
	pointer-events: none;
}

.p-card-link p {
	margin: 12px 0 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
}

/* -----------------------------------------------------
 * parts: card product
 * -------------------------------------------------- */

.p-card-product .title {
	margin: 20px 0 0;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6666666667;
	letter-spacing: 0.05em;
}

.p-card-product .description {
	margin: 12px 0 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-card-product .price {
	margin: 12px 0 0;
	color: #8b610e;
	font-size: 1.4rem;
	font-weight: 700;
}

.p-card-product .price .number {
	display: inline-block;
	margin: 0 2px;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
}

.p-card-product .price .number:first-child,
br + .p-card-product .price .number {
	margin-left: 0;
}

/* -----------------------------------------------------
 * parts: card schedule
 * -------------------------------------------------- */

.p-card-schedule {
	display: grid;
	overflow: hidden;
	padding: 18px 10px 24px;
	border-top: 8px solid #8b610e;
	border-bottom: 8px solid #8b610e;
	border-radius: 2px;
	background-color: #fff;
	transition: -webkit-transform 0.25s ease;
	transition: transform 0.25s ease;
	transition: transform 0.25s ease, -webkit-transform 0.25s ease;
	gap: 8px;
}

.p-card-schedule .c-figure img {
	border-radius: 0;
}

.p-card-schedule .info {
	display: flex;
	align-items: center;
	gap: 14px;
}

.p-card-schedule .title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-card-schedule .title .sup {
	display: block;
	font-size: 1.3rem;
}

/* -----------------------------------------------------
 * parts: card use
 * -------------------------------------------------- */

.p-card-use {
	display: block;
	overflow: hidden;
}

.p-card-use .title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 12px 0 0;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.p-card-use .title .c-btn-arrow {
	pointer-events: none;
}

.p-card-use .text {
	margin: 12px 0 0;
	font-weight: 500;
}

.p-card-use .text a {
	color: #8b610e;
	text-decoration: none;
}

.p-card-use .text a .c-icon {
	position: relative;
	top: 0.1em;
	height: 1.25em;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.p-card-use .text a .c-icon:first-child {
	margin-right: 4px;
}

.p-card-use .text a[target=_blank]::after {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.1em;
	width: 12px;
	margin-left: 4px;
	background: no-repeat 50% 50%/contain;
	background-image: url(/assets/images/ico_window.png);
	aspect-ratio: 1/1;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.p-card-use .c-note {
	margin-top: 1em !important;
}

.p-card-use .p-dl {
	margin: 12px 0 0;
}

.p-card-use.grid {
	display: grid;
	align-items: center;
	grid-template-columns: 13rem 1fr;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: 'image title' 'image text';
	gap: 0 10px;
}

.p-card-use.grid .c-figure {
	grid-area: image;
}

.p-card-use.grid .title {
	align-items: flex-start;
	align-self: self-end;
	margin: 0;
	text-align: left;
	grid-area: title;
}

.p-card-use.grid .text {
	align-self: self-start;
	margin: 0;
	grid-area: text;
}

.p-card-use.grid .text *:first-child {
	margin-top: 0;
}

.p-card-use.grid .text *:last-child {
	margin-bottom: 0;
}

/* -----------------------------------------------------
 * parts: cloud
 * -------------------------------------------------- */

.p-clouds {
	position: relative;
}

.p-clouds > div {
	display: block;
	position: absolute;
	height: auto;
}

.p-clouds > div.pos-l {
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

.p-clouds > div.pos-l.reverse {
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
}

.p-clouds > div.pos-l.reverse {
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
}

.p-clouds > div.pos-l:has(.cloud-gold-01) {
	left: -76px;
}

.p-clouds > div.pos-l:has(.cloud-gold-03) {
	left: -36px;
}

.p-clouds > div.pos-l:has(.cloud-gold-06) {
	left: -36px;
}

.p-clouds > div.pos-l:has(.cloud-02),
.p-clouds > div.pos-l:has(.cloud-fill-02) {
	left: -31px;
}

.p-clouds > div.pos-l:has(.cloud-03),
.p-clouds > div.pos-l:has(.cloud-fill-03) {
	left: -22px;
}

.p-clouds > div.pos-l:has(.cloud-04),
.p-clouds > div.pos-l:has(.cloud-fill-04) {
	left: -54px;
}

.p-clouds > div.pos-r.reverse {
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

.p-clouds > div.pos-r:has(.cloud-gold-01) {
	right: -76px;
}

.p-clouds > div.pos-r:has(.cloud-gold-03) {
	right: 36px;
}

.p-clouds > div.pos-r:has(.cloud-gold-06) {
	right: -52px;
}

.p-clouds > div.pos-r:has(.cloud-02),
.p-clouds > div.pos-r:has(.cloud-fill-02) {
	right: 31px;
}

.p-clouds > div.pos-r:has(.cloud-03),
.p-clouds > div.pos-r:has(.cloud-fill-03) {
	right: -22px;
}

.p-clouds > div.pos-r:has(.cloud-04),
.p-clouds > div.pos-r:has(.cloud-fill-04) {
	right: -54px;
}

.p-clouds > div#cloud-404-1 {
	top: 0;
	right: -8px;
}

.p-clouds > div#cloud-404-2 {
	top: -60px;
	right: -55px;
}

/* -----------------------------------------------------
 * parts: column tools
 * -------------------------------------------------- */

.p-col-tools {
	display: grid;
	position: relative;
	z-index: 5;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr auto auto;
	grid-template-areas: 'image-1 image-2' 'image-1 image-3' 'text text';
	gap: 10px;
}

.p-col-tools img {
	border-radius: 4px;
}

.p-col-tools .image-1 {
	grid-area: image-1;
}

.p-col-tools .image-2 {
	align-self: self-end;
	grid-area: image-2;
}

.p-col-tools .image-3 {
	grid-area: image-3;
}

.p-col-tools .text {
	align-self: self-start;
	grid-area: text;
}

.p-col-tools .text *:first-child {
	margin-top: 0;
}

.p-col-tools .text *:last-child {
	margin-bottom: 0;
}

.p-col-tools.reverse {
	grid-template-areas: 'image-2 image-1' 'image-3 image-1' 'text text';
}

/* -----------------------------------------------------
 * parts: column
 * -------------------------------------------------- */

.p-col {
	display: flex;
	flex-direction: column;
	margin: 16px 0 0;
	gap: 30px 16px;
}

.p-col.gap-narrow {
	gap: 15px;
}

.p-col.col-image-2-3 {
	gap: 16px;
}

.p-col.col-image-2-3 .text h3 {
	padding: 0;
	color: #8b610e;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: bold;
}

.p-col.col-image-2-3 .text h3::before,
.p-col.col-image-2-3 .text h3::after {
	display: none;
}

.p-col > *.span-2 {
	grid-column: span 2;
}

/* -----------------------------------------------------
 * parts: dl explanation
 * -------------------------------------------------- */

.p-dl-exp {
	display: grid;
	align-items: center;
	margin: 12px 0 0;
	grid-template-columns: auto 1fr;
	gap: 4px 0;
}

.p-dl-exp dt {
	font-size: 1.4rem;
	font-weight: 500;
}

.p-dl-exp dt::after {
	content: '：';
}

.p-dl-exp dd {
	margin: 0;
	font-size: 1.8rem;
	font-weight: bold;
}

/* -----------------------------------------------------
 * parts: dl information
 * -------------------------------------------------- */

.p-dl-info {
	display: grid;
	margin: 12px 0 0;
	font-size: 1.4rem;
	font-weight: bold;
	grid-template-columns: auto 1fr;
	gap: 4px 0;
}

.p-dl-info dt {
	text-align: right;
}

.p-dl-info dd {
	margin: 0;
}

.p-dl-info dd::before {
	content: '｜';
}

.p-dl-info .u-font-en {
	font-size: 1.6rem;
}

.p-dl-info small {
	font-size: 1.4ren;
}

/* -----------------------------------------------------
 * parts: dl
 * -------------------------------------------------- */

.p-dl {
	display: grid;
	margin: 8px 0 0;
	grid-template-columns: 64px 1fr;
	gap: 8px 10px;
}

.p-dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 22px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.2rem;
	font-weight: 700;
}

.p-dl dd {
	display: flex;
	align-items: center;
	margin: 0;
	font-family: 'Reddit Sans', 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2857142857;
}

.p-dl dd.number {
	color: #8b610e;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2.4rem !important;
	letter-spacing: 0.025em;
}

/* -----------------------------------------------------
 * parts: error
 * -------------------------------------------------- */

.p-error h1 {
	color: #eab44b;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 10.6rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.025em;
}

.p-error h1 .sup {
	display: block;
	font-size: 3.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.p-error h2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 24px 0 0;
	color: #8b610e;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5833333333;
	letter-spacing: 0.025em;
	gap: 20px;
}

.p-error h2 .c-icon {
	display: block;
	width: 47px;
	height: 26px;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

/* -----------------------------------------------------
 * parts: explanation
 * -------------------------------------------------- */

.p-exp {
	margin: 30px 0 0;
}

.p-exp-inner {
	padding: 20px 15px;
	border-radius: 4px;
	background-color: #f0eadf;
}

/* -----------------------------------------------------
 * parts: faq
 * -------------------------------------------------- */

.p-faq {
	margin: 40px 0 0;
}

.p-faq h2 {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.5384615385;
	text-align: center;
	letter-spacing: 0.05em;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}

/* -----------------------------------------------------
 * parts: feature
 * -------------------------------------------------- */

.p-feature {
	display: grid;
	align-items: center;
	margin: 24px 0 0;
	padding: 8px;
	border-radius: 4px;
	background-color: #f0eadf;
	grid-template-columns: 60px 1fr;
	gap: 8px;
}

.p-feature .num {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	border-radius: 4px;
	background-color: rgba(139, 97, 14, 0.1);
	color: #8b610e;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 3rem;
	font-weight: 500;
}

.p-feature .text {
	padding: 8px 0;
	color: #8b610e;
	text-align: center;
	justify-self: self-start;
}

.p-feature .text *:first-child {
	margin-top: 0;
}

.p-feature .text *:last-child {
	margin-bottom: 0;
}

.p-feature .text p {
	font-size: 1.6rem !important;
	font-weight: bold !important;
	line-height: 1.5 !important;
}

.p-feature .text p .large {
	font-size: 1.8rem !important;
}

.p-col .p-feature {
	margin-top: 0;
}

/* -----------------------------------------------------
 * parts: flexibible search
 * -------------------------------------------------- */

.p-fs {
	min-height: 500px;
}

/* -----------------------------------------------------
 * parts: header
 * -------------------------------------------------- */

.p-header {
	display: flex;
	position: relative;
	z-index: 3;
	justify-content: center;
	align-items: center;
	min-height: 136px;
	padding: 16px 0;
	background: #082064 url(/assets/images/bg_navy.jpg) 50% 50%/1366px auto;
}

.p-header.border-none {
	border: none;
}

.p-header h1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 0.05em;
	gap: 8px;
}

.p-header h1::before {
	content: '';
	display: block;
	width: 47px;
	height: 26px;
	background: url(/assets/images/ico_matsu.png) no-repeat 50% 50%/contain;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.p-header + .p-clouds #header-cloud-1 {
	top: 10px;
	right: -35px;
	width: 188px;
	aspect-ratio: 390/112;
}

.p-header + .p-clouds #header-cloud-2 {
	top: -140px;
	right: -80px;
	width: 221px;
	aspect-ratio: 480/160;
}

/* -----------------------------------------------------
 * parts: header article
 * -------------------------------------------------- */

.p-header-article {
	padding: 0 20px;
}

.p-header-article-inner {
	display: flex;
	flex-direction: column;
	padding: 0 0 16px;
	border-bottom: 2px solid #ebe9e5;
	gap: 8px;
}

.p-header-article .c-date {
	grid-area: date;
}

.p-header-article .p-labels {
	grid-area: labels;
}

.p-header-article h1 {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	grid-area: title;
}

.p-header-article h1 sup {
	display: block;
	font-size: 1.4rem;
}

/* -----------------------------------------------------
 * parts: html
 * -------------------------------------------------- */

.p-html *:first-child {
	margin-top: 0;
}

.p-html p {
	margin: 1em 0 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-html ul {
	margin: 1em 0 0;
	padding: 0 0 2px;
}

.p-html ul ul {
	margin-top: 4px;
}

.p-html ul li {
	position: relative;
	padding-left: 1em;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-html ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.6em;
	left: 0;
	overflow: hidden;
	width: 6px;
	height: 6px;
	border: 0;
	border-radius: 50%;
	background: transparent no-repeat 50% 50%/6px;
	background-image: url(/assets/images/ico_dot.png);
	aspect-ratio: 1/1;
}

.p-html ul a {
	position: relative;
	padding-bottom: 0.3rem;
}

.p-html ul a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #222;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
}

/* -----------------------------------------------------
 * parts: Illustrated
 * -------------------------------------------------- */

.p-illustrated {
	margin: 48px 0 0;
}

.p-illustrated-lead {
	position: relative;
	z-index: 3;
	max-width: 810px;
	margin: 0 auto;
}

.p-illustrated-lead .title {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: bold;
}

.p-illustrated-image {
	position: relative;
	z-index: 1;
}

.p-illustrated-image img {
	height: auto;
}

.p-illustrated-list {
	counter-reset: illustnum;
	display: flex;
	flex-direction: column;
	margin: 40px 0 0;
	gap: 16px;
}

.p-illustrated-list li {
	counter-increment: illustnum;
}

.p-illustrated-list li .title {
	display: flex;
	align-items: center;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 1.8rem;
	font-weight: bold;
	gap: 8px;
}

.p-illustrated-list li .title::before {
	content: counter(illustnum);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	min-width: 24px;
	height: auto;
	border-radius: 50%;
	background-color: #31859c;
	color: #fff;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.025em;
	aspect-ratio: 1/1;
}

/* -----------------------------------------------------
 * parts: image float
 * -------------------------------------------------- */

.p-image-float h3 {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: 'BIZ UDPMincho', serif !important;
	font-size: 2rem !important;
	font-weight: bold !important;
}

.p-image-float h3::before {
	display: none !important;
}

/* -----------------------------------------------------
 * parts: image header
 * -------------------------------------------------- */

.p-image-header {
	display: flex;
	position: relative;
	z-index: 3;
	justify-content: center;
	align-items: center;
	height: 220px;
}

.p-image-header-wrapper {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-clip-path: url(#image-header-clip-sp);
	clip-path: url(#image-header-clip-sp);
}

.p-image-header-wrapper figure {
	width: 100%;
	height: 100%;
}

.p-image-header-wrapper figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 0;
	object-position: 50% 0;
}

.p-image-header-overlay {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.8;
	pointer-events: none;
	-webkit-clip-path: url(#image-header-clip-sp);
	clip-path: url(#image-header-clip-sp);
}

.p-image-header-overlay rect {
	width: 100%;
	height: 100%;
	fill: url(#image-header-gradient-sp);
}

.p-image-header-inner {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

.p-image-header h1 {
	display: flex;
	position: relative;
	z-index: 3;
	flex-direction: column;
	color: #fff;
	gap: 8px;
}

.p-image-header h1 .ja {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.p-image-header h1 .en {
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.p-image-header + .p-clouds #header-cloud-1 {
	top: -20px;
	right: -35px;
	width: 180px;
	aspect-ratio: 390/112;
	-webkit-filter: brightness(100%);
	filter: brightness(100%);
}

.p-image-header + .p-clouds #header-cloud-2 {
	top: -90px;
	right: -80px;
	width: 221px;
	aspect-ratio: 480/160;
}

/* -----------------------------------------------------
 * parts: image tools
 * -------------------------------------------------- */

.p-image-tools {
	display: grid;
	margin: 30px 0 0;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.p-image-tools .c-figure:nth-child(1) {
	grid-column: 1/3;
	grid-row: 1/2;
}

/* -----------------------------------------------------
 * parts: information
 * -------------------------------------------------- */

.p-information {
	background-color: #fff;
}

.p-information:has(.p-information-innerlinks) {
	border-radius: 4px 4px 0 0;
}

.p-information-innerlinks {
	padding: 15px;
	border-radius: 4px 4px 0 0;
	background-color: #8b610e;
}

.p-information-innerlinks ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.p-information-innerlinks ul a {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	gap: 8px;
}

.p-information-innerlinks ul a::before {
	content: '';
	display: block;
	position: relative;
	width: 12px;
	height: 7px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 12 7\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23fff\' d=\'m13.807 19.788 4.125-4.167-4.125-4.167a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'rotate(90 17.562 4.065)\'/%3E%3C/svg%3E');
}

.p-information-header + .p-wysiwyg {
	margin-top: 40px;
}

.p-information-section {
	margin: 10px 0 0;
	padding: 30px 15px;
}

.p-information-innerlinks + .p-information-section {
	margin-top: 0;
}

.p-information-section + .p-information-section {
	padding-top: 0;
}

/* -----------------------------------------------------
 * parts: innerlinks
 * -------------------------------------------------- */

.p-innerlinks ul {
	display: flex;
	flex-direction: column;
}

.p-innerlinks ul li a {
	display: block;
	position: relative;
	padding: 5px 12px 6px 30px;
	border-radius: 3px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.8571428571;
	transition: background-color 0.2s ease;
}

.p-innerlinks ul li a::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 16px;
	left: 12px;
	width: 12px;
	height: 7px;
	border-radius: 4px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 12 7\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%238b610e\' d=\'m.31 10.161 4.125-4.167L.31 1.828a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'rotate(90 6 6)\'/%3E%3C/svg%3E');
	vertical-align: middle;
}

.p-innerlinks ul li a:active,
.p-innerlinks ul li a:focus {
	background-color: #f0eadf;
}

.p-innerlinks.border {
	padding: 8px 4px;
	border-top: 2px solid #222;
	border-bottom: 2px solid #222;
}

/* -----------------------------------------------------
 * parts: labels
 * -------------------------------------------------- */

.p-labels {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 4px;
}

/* -----------------------------------------------------
 * parts: list columns
 * -------------------------------------------------- */

.p-list-columns {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* -----------------------------------------------------
 * parts: list faq
 * -------------------------------------------------- */

.p-list-faq {
	margin: 16px 0 0;
	border-top: 2px solid #ebe9e5;
}

.p-list-faq li {
	position: relative;
	border-bottom: 2px solid #ebe9e5;
}

.p-list-faq li::before,
.p-list-faq li::after {
	content: '';
	display: block;
	position: absolute;
	top: 28px;
	right: 0;
	width: 14px;
	height: 2px;
	border-radius: 1px;
	background-color: #8b610e;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.p-list-faq li::after {
	-webkit-transform: rotateZ(90deg);
	transform: rotateZ(90deg);
}

.p-list-faq li.is-active::after {
	-webkit-transform: rotateZ(0);
	transform: rotateZ(0);
}

.p-list-faq li.is-active .q {
	color: #8b610e;
}

.p-list-faq li .q {
	display: block;
	position: relative;
	padding: 15px 20px 15px 30px;
	color: #666;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.75;
	transition: color 0.2s ease;
}

.p-list-faq li .q::before {
	content: 'Q.';
	display: block;
	position: absolute;
	top: 14px;
	left: 0;
	color: #8b610e;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2rem;
}

.p-list-faq li .a {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-list-faq li .a .p-wysiwyg {
	padding: 0 0 15px 30px;
}

/* -----------------------------------------------------
 * parts: list flow
 * -------------------------------------------------- */

.p-list-flow {
	counter-reset: flow;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 32px 0 0;
	gap: 0 10px;
}

.p-list-flow li {
	counter-increment: flow;
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 104px;
	padding: 6px 0 10px;
	border: 2px solid #8b610e;
	border-radius: 50%;
	color: #8b610e;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	aspect-ratio: 1/1;
}

.p-list-flow li .title {
	white-space: nowrap;
}

.p-list-flow li .c-icon {
	width: 40px;
	height: -webkit-min-content;
	height: min-content;
	aspect-ratio: 66/52;
}

.p-list-flow li .c-icon img {
	-o-object-fit: contain;
	object-fit: contain;
}

.p-list-flow li::before {
	content: counter(flow, decimal-leading-zero);
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
}

.p-list-flow li::after {
	content: '';
	display: block;
	position: absolute;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 7 12\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%238b610e\' d=\'m13.807 19.788 4.125-4.167-4.125-4.167a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.524Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'translate(-13.497 -9.627)\'/%3E%3C/svg%3E');
}

.p-list-flow li:last-child::after {
	display: none;
}

.p-list-flow.innerlinks li {
	display: block;
	padding: 0;
	border: 0;
}

.p-list-flow.innerlinks li::before,
.p-list-flow.innerlinks li::after {
	display: none;
}

.p-list-flow.innerlinks li a {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	width: 104px;
	padding: 4px 0 10px;
	border: 2px solid #8b610e;
	border-radius: 50%;
	color: #8b610e;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	aspect-ratio: 1/1;
}

.p-list-flow.innerlinks li a .title {
	margin: -4px 0 0;
}

.p-list-flow.innerlinks li a::before {
	content: counter(flow, decimal-leading-zero);
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
}

.p-list-flow.innerlinks li a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 3px;
	left: 50%;
	width: 7px;
	height: 12px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 7 12\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%238b610e\' d=\'m13.807 19.788 4.125-4.167-4.125-4.167a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.524Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'translate(-13.497 -9.627)\'/%3E%3C/svg%3E');
	-webkit-transform: translateX(-50%) rotateZ(90deg);
	transform: translateX(-50%) rotateZ(90deg);
}

/* -----------------------------------------------------
 * parts: list history
 * -------------------------------------------------- */

.p-list-history li {
	position: relative;
	margin: 32px 0 0;
	padding: 8px 0 0 24px;
}

.p-list-history li::before {
	content: '';
	display: block;
	position: absolute;
	left: 9px;
	width: 2px;
	height: calc(100% + 32px);
	background-color: #eab44b;
}

.p-list-history li .year {
	display: flex;
	position: absolute;
	top: -0.65em;
	left: 0;
	align-items: baseline;
	padding: 0 0 0 28px;
	color: #eab44b;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
}

.p-list-history li .year::before,
.p-list-history li .year::after {
	content: '';
	display: block;
	position: absolute;
	border-radius: 50%;
	aspect-ratio: 1/1;
}

.p-list-history li .year::before {
	top: 0.275em;
	left: 0;
	width: 20px;
	background-color: #f8e8c7;
}

.p-list-history li .year::after {
	top: calc(0.275em + 5px);
	left: 5px;
	width: 10px;
	background-color: #f1ce8a;
}

.p-list-history li .year span {
	font-family: 'Zen Old Mincho', serif;
	font-size: 2.6rem;
	font-weight: 900;
	letter-spacing: 0.05em;
}

.p-list-history li .contents {
	margin: 24px 0 0;
	padding: 0 0 24px;
	border-bottom: 1px solid #ebe9e5;
}

.p-list-history li .contents .title {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-list-history li .contents .text {
	margin: 12px 0 0;
}

.p-list-history li:last-child::before {
	height: 100%;
}

.p-list-history li:last-child .contents {
	padding: 0;
	border-bottom: 0;
}

/* -----------------------------------------------------
 * parts: list home menu
 * -------------------------------------------------- */

.p-list-homemenu {
	display: flex;
}

.p-list-homemenu li a {
	display: flex;
	position: relative;
	z-index: 0;
	overflow: hidden;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.p-list-homemenu li a::before {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.p-list-homemenu li a .c-heading {
	position: relative;
	z-index: 3;
}

.p-list-homemenu li a .c-heading::before {
	background-image: url(/assets/images/ico_matsu_ol.png);
}

.p-list-homemenu li a .c-heading .en {
	color: #fff;
}

.p-list-homemenu li a .c-btn-arrow {
	position: relative;
	z-index: 3;
}

.p-list-homemenu li a .c-figure {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* -----------------------------------------------------
 * parts: list news
 * -------------------------------------------------- */

.p-list-news {
	display: block;
}

.p-list-news li {
	display: grid;
	align-items: center;
	padding: 16px 0;
	border-bottom: 2px solid #ebe9e5;
	grid-template-columns: 120px 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas: 'date label' 'title title';
	gap: 8px 24px;
}

.p-list-news li:first-child {
	padding-top: 10px;
}

.p-list-news li .c-date {
	color: #222;
	font-size: 1.4rem;
	grid-area: date;
}

.p-list-news li .c-date span {
	font-size: 1.5rem;
}

.p-list-news li .c-label {
	font-size: 1.2rem;
	grid-area: label;
	justify-self: start;
}

.p-list-news li .title {
	font-size: 1.4rem;
	font-weight: 500;
	grid-area: title;
	justify-self: start;
}

.p-list-news li .title[target=_blank]::after {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.075em;
	width: 12px;
	min-width: 12px;
	margin-left: 4px;
	background: no-repeat 50% 50%/contain;
	background-image: url(/assets/images/ico_window.png);
	aspect-ratio: 1/1;
}

/* -----------------------------------------------------
 * parts: list other
 * -------------------------------------------------- */

.p-list-other .facilities {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 32px;
}

.p-list-other .facilities a {
	position: relative;
	padding-bottom: 0.3rem;
}

.p-list-other .facilities a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #8b610e;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
}

.p-list-other .facilities a {
	display: flex;
	align-items: center;
	color: #8b610e;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4285714286;
	gap: 0 8px;
}

.p-list-other .facilities a .c-icon {
	display: block;
	width: 22px;
	min-width: 22px;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.p-list-other .language {
	display: flex;
	align-items: center;
	margin: 24px 0 0;
	gap: 0 11px;
}

.p-list-other .language li {
	position: relative;
}

.p-list-other .language li::before {
	content: '/';
	position: absolute;
	left: -8px;
	line-height: 1;
}

.p-list-other .language li:first-child::before {
	display: none;
}

.p-list-other .language li a {
	transition: opacity 0.2s ease;
}

.p-list-other .language li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 20px;
	border-radius: 10px;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.4rem;
	font-weight: bold;
}

.p-list-other .language li a.is-active {
	background-color: #8b610e;
	color: #fff;
	pointer-events: none;
}

/* -----------------------------------------------------
 * parts: list program
 * -------------------------------------------------- */

.p-list-program {
	display: flex;
	flex-direction: column;
	margin: 30px 0 0;
	gap: 5px;
}

.p-list-program li {
	display: block;
}

.p-list-program li a {
	display: flex;
	position: relative;
	overflow: hidden;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100px;
	padding: 0 15px 0 30px;
	border-radius: 4px;
	background-color: #222;
	color: #fff;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.2rem;
	letter-spacing: 0.075em;
}

.p-list-program li a .c-figure {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.35;
	transition: opacity 0.2s ease;
}

.p-list-program li a .title,
.p-list-program li a .c-btn-arrow {
	position: relative;
	z-index: 1;
	pointer-events: none;
}

.p-list-program li a .title {
	font-weight: bold;
}

/* -----------------------------------------------------
 * parts: list schedule
 * -------------------------------------------------- */

.p-list-schedule-inner {
	display: grid;
	padding: 16px 0;
	border-bottom: 2px solid #ebe9e5;
	grid-template-columns: 88px 1fr;
	grid-template-areas: 'image contents' 'links links';
	gap: 12px 15px;
}

.p-list-schedule-inner:not(:has(.p-list-schedule-image)) {
	grid-template-columns: 1fr;
	grid-template-areas: 'contents' 'links';
}

.p-list-schedule-image {
	border-radius: 4px;
	grid-area: image;
}

.p-list-schedule-contents {
	grid-area: contents;
}

.p-list-schedule-contents .labels {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.p-list-schedule-contents .title {
	display: flex;
	flex-direction: column;
	margin: 8px 0 0;
	gap: 6px;
}

.p-list-schedule-contents .title .sup {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-list-schedule-contents .title .main {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4285714286;
}

.p-list-schedule-contents dl {
	display: grid;
	margin: 8px 0 0;
	grid-template-columns: 64px 1fr;
	gap: 8px 10px;
}

.p-list-schedule-contents dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 22px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.2rem;
	font-weight: 700;
}

.p-list-schedule-contents dl dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	font-family: 'Reddit Sans', 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2857142857;
}

.p-list-schedule-contents .text {
	display: -webkit-box;
	overflow: hidden;
	margin: 12px 0 0;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.6923076923;
	word-wrap: break-word;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow-wrap: break-word;
}

.p-list-schedule-links {
	display: flex;
	flex-direction: column;
	grid-area: links;
	justify-self: center;
	gap: 10px;
}

/* -----------------------------------------------------
 * parts: list sns
 * -------------------------------------------------- */

.p-list-sns {
	display: flex;
	justify-content: center;
	margin: 32px 0 0;
	gap: 0 14px;
}

.p-list-sns a {
	transition: opacity 0.2s ease;
}

.p-list-sns a {
	display: block;
	width: 28px;
	height: 28px;
}

.p-list-sns a img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-list-sns a.line {
	width: 85px;
	height: 28px;
}

/* -----------------------------------------------------
 * parts: list
 * -------------------------------------------------- */

.p-list {
	margin: 12px 0 0;
	font-size: 1.4rem;
	font-weight: 500;
}

.p-list li {
	position: relative;
	margin: 8px 0 0;
	padding: 0 0 0 16px;
}

.p-list li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-image: url(/assets/images/ico_listmark_01.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.p-list.sz-large {
	color: #8b610e;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.025em;
}

/* -----------------------------------------------------
 * parts: modal
 * -------------------------------------------------- */

.p-modal {
	display: none;
}

.p-modal.is-open {
	display: block !important;
}

.p-modal__overlay {
	display: flex;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	padding-top: var(--header-height);
	background: rgba(0, 0, 0, 0.8);
}

.p-modal__header {
	position: absolute;
	z-index: 10;
	top: 10px;
	right: 10px;
}

.p-modal__content {
	position: relative;
	z-index: 1;
	height: 100%;
}

.p-modal__close {
	cursor: pointer;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	color: white;
	font-size: 24px;
}

.p-modal__close:hover {
	background: rgba(255, 255, 255, 0.3);
}

.youtube-modal__container,
.image-modal__container {
	position: relative;
	width: 1200px;
	max-width: 80vw;
	height: calc((100vh - var(--header-height)) * 0.8);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.5);
}

.youtube-modal__video-wrapper,
.image-modal__data-wrapper {
	position: relative;
	height: 100%;
}

.youtube-modal__video,
.image-modal__data {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.youtube-modal__video iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.image-modal__data img {
	width: 100%;
	height: auto;
	max-height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

/* -----------------------------------------------------
 * parts: pagination
 * -------------------------------------------------- */

.p-pagination {
	display: flex;
	justify-content: center;
	margin: 24px 0 0;
	gap: 0 16px;
}

.p-pagination-list {
	display: flex;
	align-items: center;
	gap: 0 12px;
}

.p-pagination-list a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.4rem;
	line-height: 1;
	transition: background-color 0.2s ease;
}

.p-pagination-list li.is-current a {
	background-color: #222;
	color: #fff;
	pointer-events: none;
}

.p-pagination.arrows {
	display: grid;
	margin: 32px auto 0;
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas: 'prev next';
}

.p-pagination.arrows .p-pagination-prev {
	grid-area: prev;
}

.p-pagination.arrows .p-pagination-next {
	grid-area: next;
	justify-self: self-end;
}

.l-article .p-pagination.arrows {
	padding: 0 20px;
}

/* -----------------------------------------------------
 * parts: particle light
 * -------------------------------------------------- */

.p-particle-light {
	position: absolute;
	left: 0;
	width: 300px;
	height: 210px;
	-webkit-transform: translate3d(-80px, -130px, 0) rotateZ(-35deg);
	transform: translate3d(-80px, -130px, 0) rotateZ(-35deg);
}

.p-particle-light canvas {
	width: 100%;
	height: 100%;
}

.p-particle-light.pos-r {
	right: 0;
	left: auto;
	-webkit-transform: translate3d(80px, -130px, 0) rotateZ(35deg);
	transform: translate3d(80px, -130px, 0) rotateZ(35deg);
}

.p-particle-light.pos-l-b {
	bottom: 0;
	-webkit-transform: translate3d(-80px, 130px, 0) rotateZ(35deg);
	transform: translate3d(-80px, 130px, 0) rotateZ(35deg);
}

.p-particle-light.pos-r-b {
	right: 0;
	bottom: 0;
	left: auto;
	-webkit-transform: translate3d(80px, 130px, 0) rotateZ(-35deg);
	transform: translate3d(80px, 130px, 0) rotateZ(-35deg);
}

/* -----------------------------------------------------
 * parts: refine header
 * -------------------------------------------------- */

.p-refine-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 0 0 16px;
	border-bottom: 2px solid #ebe9e5;
}

.p-refine-header .total {
	font-size: 1.6rem;
	font-weight: 700;
}

.p-refine-header .total .number {
	color: #8b610e;
}

.p-refine-header .count {
	font-size: 1.4rem;
}

/* -----------------------------------------------------
 * parts: refine news
 * -------------------------------------------------- */

.p-refine-news {
	display: flex;
	position: relative;
	z-index: 5;
	flex-direction: column;
	gap: 16px;
}

.p-refine-news-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* -----------------------------------------------------
 * parts: refine schedule
 * -------------------------------------------------- */

.p-refine-schedule {
	display: flex;
	flex-direction: column;
	padding: 15px;
	border-radius: 4px;
	background-color: #f0eadf;
	gap: 10px;
}

.p-refine-schedule h2 {
	color: #8b610e;
	font-size: 1.4rem;
	font-weight: 700;
	white-space: nowrap;
}

.p-refine-schedule-inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.p-refine-schedule-contents {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.p-refine-schedule-contents .c-select-wrap {
	min-width: 0;
}

.p-refine-schedule-contents .c-select-wrap select {
	font-size: 1.4rem;
	font-weight: 700;
}

.p-refine-schedule-submit {
	display: flex;
	flex-direction: column-reverse;
	gap: 10px;
}

.p-refine-schedule-submit button {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 38px;
	border-radius: 4px;
	background-color: #222;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	gap: 0 9px;
}

.p-refine-schedule-submit button::before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background: url(/assets/images/ico_search.png) no-repeat 50% 50%/contain;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.p-refine-schedule-submit input[type=reset] {
	color: #222;
	font-size: 1.3rem;
	font-weight: 500;
	text-decoration: underline;
}

/* -----------------------------------------------------
 * parts: seat
 * -------------------------------------------------- */

.p-seat {
	position: relative;
}

.p-seat .l-section-contents:nth-of-type(2) {
	padding-top: 40px;
	border-top: 2px solid #ebe9e5;
}

.p-seat h2 {
	margin: 20px 0 0;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
}

/* -----------------------------------------------------
 * parts: select calendar
 * -------------------------------------------------- */

.p-select-calendar {
	position: relative;
}

.p-select-calendar::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 16px;
	width: 10px;
	height: 6px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 12 7\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23222\' d=\'m.31 10.161 4.125-4.167L.31 1.828a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'rotate(90 6 6)\'/%3E%3C/svg%3E');
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}

.p-select-calendar.is-open::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.p-select-calendar.is-open .p-select-calendar-toggle {
	background-color: #f0eadf;
}

.p-select-calendar-toggle {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 10px 15px;
	border: 1px solid #8b610e;
	border-radius: 4px;
	background: white;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: left;
	transition: all 0.2s;
}

.p-select-calendar-toggle:hover {
	background: #f8f8f8;
}

.p-select-calendar-toggle.is-selected .p-select-calendar-label {
	display: none;
}

.p-select-calendar-label {
	color: #222;
	font-size: 1.6rem;
}

.p-select-calendar-selected {
	color: #222;
	font-family: 'Reddit Sans', 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
}

.p-select-calendar.is-selected .p-select-calendar-label {
	display: none;
}

.p-select-calendar-picker {
	position: absolute;
	z-index: 100;
	top: calc(100% + 4px);
	right: 0;
	left: 0;
	padding: 14px;
	border-radius: 4px;
	background-color: #8b610e;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}

.p-select-calendar-picker::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 100%;
	left: calc(50% - 11px);
	width: 22px;
	height: 15px;
	background-color: #8b610e;
	-webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.p-select-calendar-section {
	margin: 12px 0 0;
}

.p-select-calendar-section:first-child {
	margin: 0;
}

.p-select-calendar-section-title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	gap: 8px;
}

.p-select-calendar-section-title .c-circle {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.p-select-calendar-month-select {
	display: flex;
	position: relative;
	align-items: center;
	margin: 8px 0 0;
}

.p-select-calendar-month-select::after {
	content: '';
	display: block;
	position: absolute;
	top: calc(50% - 11px);
	right: 16px;
	width: 12px;
	height: 22px;
	background: no-repeat 50% 50%;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 12 22\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23222\' d=\'m13.807 19.788 4.125-4.167-4.125-4.167a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'rotate(-90 5.435 15.062)\'/%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right-2\' fill=\'%23222\' d=\'m.31 1.839 4.125 4.167L.31 10.172a1.078 1.078 0 0 0 0 1.514 1.052 1.052 0 0 0 1.5 0l4.88-4.929a1.077 1.077 0 0 0 0-1.514L1.809.314a1.051 1.051 0 0 0-1.5 0 1.1 1.1 0 0 0 0 1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'rotate(90 -1.5 13.5)\'/%3E%3C/svg%3E');
	pointer-events: none;
}

.p-select-calendar-select {
	cursor: pointer;
	width: 100%;
	height: 56px;
	border: 1px solid #d0d0d0;
	border-radius: 4px;
	background: white;
	font-family: 'Reddit Sans', 'Noto Sans JP', sans-serif;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	-webkit-appearance: none;
	appearance: none;
}

.p-select-calendar-select:focus {
	outline: none;
	border-color: #8b610e;
	box-shadow: 0 0 0 1px #8b610e;
}

.p-select-calendar-year-selector,
.p-select-calendar-month-selector {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
	border-radius: 4px;
	background: #f8f8f8;
}

.p-select-calendar-current-year {
	color: #222;
	font-size: 1.6rem;
	font-weight: bold;
}

.p-select-calendar-month-selector {
	height: 42px;
	padding: 0;
	border-radius: 4px;
	background-color: #666;
}

.p-select-calendar-current-month {
	color: #fff;
	font-family: 'Reddit Sans', 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
}

.p-select-calendar-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	aspect-ratio: 1/1;
}

.p-select-calendar-arrow::before {
	content: '';
	display: block;
	width: 7px;
	height: 12px;
	background: no-repeat 50% 50%/contain;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 7 12\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23fff\' d=\'m13.807 19.788 4.125-4.167-4.125-4.167a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'translate(-13.497 -9.627)\'/%3E%3C/svg%3E');
}

.p-select-calendar-arrow.prev::before {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.p-select-calendar-day {
	margin: 10px 0 0;
	padding: 8px;
	border-radius: 4px;
	background-color: #fff;
}

.p-select-calendar-weekdays {
	display: grid;
	margin: 10px 0 0;
	text-align: center;
	grid-template-columns: repeat(7, 1fr);
	gap: 5px;
}

.p-select-calendar-weekdays span {
	display: block;
	color: #666;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
}

.p-select-calendar-weekdays span.sun {
	color: #bf406c;
}

.p-select-calendar-weekdays span.sat {
	color: #3760bc;
}

.p-select-calendar-days {
	display: grid;
	padding: 4px 0 6px;
	grid-template-columns: repeat(7, 1fr);
	justify-items: center;
	gap: 6px 8px;
}

.p-select-calendar-day-btn {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	border: 2px solid transparent;
	border-radius: 50%;
	background: #f0eadf;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	transition: all 0.2s;
	aspect-ratio: 1;
}

.p-select-calendar-day-btn:hover:not(.is-disabled) {
	background-color: #8b610e;
	color: #fff !important;
}

.p-select-calendar-day-btn.is-sunday {
	color: #bf406c;
}

.p-select-calendar-day-btn.is-saturday {
	color: #3760bc;
}

.p-select-calendar-day-btn.is-holiday:not(.is-saturday) {
	color: #bf406c;
}

.p-select-calendar-day-btn.is-due {
	border-color: #eab44b;
}

.p-select-calendar-day-btn.is-selected {
	background-color: #8b610e;
	color: #fff !important;
}

.p-select-calendar-day-btn.is-disabled {
	background-color: transparent;
	color: transparent;
	pointer-events: none;
}

/* -----------------------------------------------------
 * parts: slider
 * -------------------------------------------------- */

.p-slider-main {
	position: relative;
}

.p-slider-main .splide__track {
	width: 100%;
	border-radius: 4px;
	aspect-ratio: 520/368;
}

.p-slider-main .splide__arrows {
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.p-slider-main .splide__arrows .splide__arrow {
	position: relative;
	width: 56px;
	height: 32px;
	border-radius: 16px;
	background-color: #222;
	pointer-events: visible;
}

.p-slider-thumb {
	margin: 6px 0 0;
}

.p-slider-thumb-list {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 4px;
}

.p-slider-thumb-item {
	width: 100%;
	transition: -webkit-filter 0.2s ease;
	transition: filter 0.2s ease;
	transition: filter 0.2s ease, -webkit-filter 0.2s ease;
	aspect-ratio: 52/38;
}

.p-slider-thumb-item.is-active {
	pointer-events: none;
	-webkit-filter: brightness(50%);
	filter: brightness(50%);
}

/* -----------------------------------------------------
 * parts: table scrollable
 * -------------------------------------------------- */

.p-table-scrollable table {
	border-collapse: separate;
	width: 100%;
	border-radius: 4px;
	text-align: center;
	white-space: nowrap;
}

.p-table-scrollable table th,
.p-table-scrollable table td {
	padding: 5px 10px;
}

.p-table-scrollable table th:first-child,
.p-table-scrollable table td:first-child {
	width: 150px;
	min-width: 150px;
}

.p-table-scrollable table th {
	border-top: 1px solid #fff;
	background-color: #8b610e;
	color: #fff;
}

.p-table-scrollable table th:first-child {
	border-left: 1px solid #8b610e;
}

.p-table-scrollable table thead th {
	border-top: 1px solid #8b610e;
	border-right: 1px solid #fff;
}

.p-table-scrollable table thead th:first-child {
	border-top-left-radius: 4px;
}

.p-table-scrollable table thead th:last-child {
	border-right: 0;
	border-top-right-radius: 4px;
}

.p-table-scrollable table tbody th {
	border-right: 1px solid #8b610e;
}

.p-table-scrollable table tbody td {
	border-top: 1px solid #8b610e;
	border-right: 1px solid #8b610e;
}

.p-table-scrollable table tbody tr:last-child th,
.p-table-scrollable table tbody tr:last-child td {
	border-bottom: 1px solid #8b610e;
}

.p-table-scrollable table tbody tr:last-child > *:first-child {
	border-bottom-left-radius: 4px;
}

.p-table-scrollable table tbody tr:last-child > *:last-child {
	border-bottom-right-radius: 4px;
}

/* -----------------------------------------------------
 * parts: text image
 * -------------------------------------------------- */

.p-text-image {
	position: relative;
	margin: 24px 0 0;
}

.p-text-image > *:first-child {
	margin-top: 0 !important;
}

.p-text-image.margin-wide {
	margin: 30px 0 0;
}

.p-text-image.bg-base,
.p-text-image.bg-gold-light {
	padding: 30px 0;
}

.p-text-image.bg-base::before,
.p-text-image.bg-gold-light::before {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 -20px;
}

.p-text-image.bg-base::before {
	background: url(/assets/images/bg_base.png) 50% 0/128px;
}

.p-text-image.bg-gold-light::before {
	background: #fbf9f6 url(/assets/images/bg_base_02.png) 50% 0/128px;
}

.p-text-image .text {
	width: 100%;
	margin: 30px 0 0;
}

.p-text-image .text *:first-child {
	margin-top: 0 !important;
}

.p-text-image .text *:last-child {
	margin-bottom: 0 !important;
}

.p-text-image .text p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.7777777778;
}

.p-wysiwyg .p-text-image .text p {
	font-size: 1.4rem;
	font-weight: 500;
}

.p-text-image .c-figure {
	margin: 30px 0 0;
}

.p-text-image .c-figure img {
	border-radius: 4px 0 0 4px;
}

.p-text-image .c-figure.fill {
	margin-right: -20px;
}

.p-text-image.reverse {
	direction: rtl;
}

.p-text-image.reverse * {
	direction: ltr;
}

.p-text-image.flex .text h2,
.p-text-image.flex .text h3,
.p-text-image.flex .text h4 {
	position: relative;
	margin: 24px 0 0;
	padding: 0 0 10px 16px;
	border-bottom: 2px solid #ebe9e5;
	background-color: transparent;
	color: #222;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5555555556;
}

.p-text-image.flex .text h2::before,
.p-text-image.flex .text h3::before,
.p-text-image.flex .text h4::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: calc(100% - 10px);
	border-right: 2px solid #8b610e;
	border-left: 2px solid #8b610e;
}

/* -----------------------------------------------------
 * parts: top caution
 * -------------------------------------------------- */

.p-top-caution {
	position: fixed;
	z-index: 10;
	top: calc(100svh - 25px - var(--top-caution-height));
	margin: 0 20px;
	padding: 15px 20px;
	border: 1px solid #f24141;
	border-radius: 4px;
	background-color: #ffe8e8;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.is-page-loaded .p-top-caution {
	opacity: 1;
}

.p-top-caution h2 {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 18px;
	background-color: #f24141;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	white-space: nowrap;
}

.p-top-caution p {
	margin: 8px 0 0;
	color: #f24141;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-top-caution p a {
	color: #f24141;
	text-decoration: underline;
}

.p-top-caution button {
	position: absolute;
	top: -12px;
	right: -12px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #222 no-repeat 50% 50%/10px;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 9.521 9.521\'%3E%3Cpath id=\'パス_3089\' fill=\'%23fff\' d=\'m14001.485 19127.619-3.395-3.395-3.394 3.395a.8.8 0 0 1-1.133-1.133l3.394-3.395-3.394-3.395a.8.8 0 0 1 1.133-1.133l3.394 3.395 3.395-3.395a.8.8 0 0 1 1.133 1.133l-3.395 3.395 3.395 3.395a.8.8 0 0 1-1.133 1.133Z\' data-name=\'パス 3089\' transform=\'translate(-13993.33 -19118.332)\'/%3E%3C/svg%3E');
}

/* -----------------------------------------------------
 * parts: use
 * -------------------------------------------------- */

.p-use-info-text .l-links {
	margin: 16px 0 0;
}

.p-use-info-text .p-dl {
	margin: 30px 0 0;
}

/* -----------------------------------------------------
 * parts: wysiwyg
 * -------------------------------------------------- */

.p-wysiwyg > *:first-child {
	margin-top: 0 !important;
}

.p-wysiwyg > *:last-child {
	margin-bottom: 0 !important;
}

.p-wysiwyg p:empty {
	display: none;
}

.p-wysiwyg:not(.demote) h1:not([class]),
.p-wysiwyg:not(.demote) h1[class^=u-],
.p-wysiwyg:not(.demote) h1[class*=' u-'] {
	margin: 40px 0 0;
	padding: 0 15px;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.05em;
}

.p-wysiwyg:not(.demote) h1:not([class]) .sup,
.p-wysiwyg:not(.demote) h1[class^=u-] .sup,
.p-wysiwyg:not(.demote) h1[class*=' u-'] .sup {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
}

.p-wysiwyg:not(.demote) h1:not([class]) .num,
.p-wysiwyg:not(.demote) h1[class^=u-] .num,
.p-wysiwyg:not(.demote) h1[class*=' u-'] .num {
	display: block;
	color: #eab44b;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.075em;
}

.p-wysiwyg:not(.demote) h2:not([class]),
.p-wysiwyg:not(.demote) h2[class^=u-],
.p-wysiwyg:not(.demote) h2[class*=' u-'] {
	margin: 40px 0 0;
	padding: 10px 15px;
	border-radius: 4px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-wysiwyg:not(.demote) h2:not([class]) .c-icon,
.p-wysiwyg:not(.demote) h2[class^=u-] .c-icon,
.p-wysiwyg:not(.demote) h2[class*=' u-'] .c-icon {
	position: relative;
	top: 0.25em;
	width: auto;
	height: 1.25em;
	aspect-ratio: 1/1;
}

.p-wysiwyg:not(.demote) h2:not([class]) .c-icon:first-child,
.p-wysiwyg:not(.demote) h2[class^=u-] .c-icon:first-child,
.p-wysiwyg:not(.demote) h2[class*=' u-'] .c-icon:first-child {
	margin-right: 8px;
}

.p-wysiwyg:not(.demote) h2:not([class]) + h4,
.p-wysiwyg:not(.demote) h2:not([class]) + .c-heading-level-4,
.p-wysiwyg:not(.demote) h2[class^=u-] + h4,
.p-wysiwyg:not(.demote) h2[class^=u-] + .c-heading-level-4,
.p-wysiwyg:not(.demote) h2[class*=' u-'] + h4,
.p-wysiwyg:not(.demote) h2[class*=' u-'] + .c-heading-level-4 {
	margin-top: 24px;
}

.p-wysiwyg:not(.demote) h3:not([class]),
.p-wysiwyg:not(.demote) h3[class^=u-],
.p-wysiwyg:not(.demote) h3[class*=' u-'] {
	position: relative;
	margin: 24px 0 0;
	padding: 0 0 10px 16px;
	border-bottom: 2px solid #ebe9e5;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5555555556;
}

.p-wysiwyg:not(.demote) h3:not([class])::before,
.p-wysiwyg:not(.demote) h3[class^=u-]::before,
.p-wysiwyg:not(.demote) h3[class*=' u-']::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: calc(100% - 10px);
	border-right: 2px solid #8b610e;
	border-left: 2px solid #8b610e;
}

.p-wysiwyg:not(.demote) h3:not([class]) .c-icon,
.p-wysiwyg:not(.demote) h3[class^=u-] .c-icon,
.p-wysiwyg:not(.demote) h3[class*=' u-'] .c-icon {
	position: relative;
	top: 0.25em;
}

.p-wysiwyg:not(.demote) h3:not([class]) .c-icon:first-child,
.p-wysiwyg:not(.demote) h3[class^=u-] .c-icon:first-child,
.p-wysiwyg:not(.demote) h3[class*=' u-'] .c-icon:first-child {
	margin-right: 4px;
}

.p-wysiwyg:not(.demote) h4:not([class]),
.p-wysiwyg:not(.demote) h4[class^=u-],
.p-wysiwyg:not(.demote) h4[class*=' u-'] {
	margin: 24px 0 0;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.75;
}

.p-wysiwyg:not(.demote) h5:not([class]),
.p-wysiwyg:not(.demote) h5[class^=u-],
.p-wysiwyg:not(.demote) h5[class*=' u-'] {
	margin: 24px 0 0;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.75;
}

.p-wysiwyg.demote h2:not([class]),
.p-wysiwyg.demote h2[class^=u-],
.p-wysiwyg.demote h2[class*=' u-'] {
	margin: 40px 0 0;
	padding: 0 15px;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.05em;
}

.p-wysiwyg.demote h2:not([class]) .sup,
.p-wysiwyg.demote h2[class^=u-] .sup,
.p-wysiwyg.demote h2[class*=' u-'] .sup {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
}

.p-wysiwyg.demote h2:not([class]) .num,
.p-wysiwyg.demote h2[class^=u-] .num,
.p-wysiwyg.demote h2[class*=' u-'] .num {
	display: block;
	color: #eab44b;
	font-family: 'Reddit Sans', sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.075em;
}

.bg-gold-light2 .p-wysiwyg.demote h2:not([class]),
.bg-gold-light2 .p-wysiwyg.demote h2[class^=u-],
.bg-gold-light2 .p-wysiwyg.demote h2[class*=' u-'] {
	color: #fff;
}

.bg-gold-light2 .p-wysiwyg.demote h2:not([class]) .num,
.bg-gold-light2 .p-wysiwyg.demote h2[class^=u-] .num,
.bg-gold-light2 .p-wysiwyg.demote h2[class*=' u-'] .num {
	color: #fff;
}

.p-wysiwyg.demote h3:not([class]),
.p-wysiwyg.demote h3[class^=u-],
.p-wysiwyg.demote h3[class*=' u-'] {
	margin: 40px 0 0;
	padding: 10px 15px;
	border-radius: 4px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-wysiwyg.demote h3:not([class]) .c-icon,
.p-wysiwyg.demote h3[class^=u-] .c-icon,
.p-wysiwyg.demote h3[class*=' u-'] .c-icon {
	position: relative;
	top: 0.25em;
	width: auto;
	height: 1.25em;
	aspect-ratio: 1/1;
}

.p-wysiwyg.demote h3:not([class]) .c-icon:first-child,
.p-wysiwyg.demote h3[class^=u-] .c-icon:first-child,
.p-wysiwyg.demote h3[class*=' u-'] .c-icon:first-child {
	margin-right: 8px;
}

.p-wysiwyg.demote h3:not([class]) + h4,
.p-wysiwyg.demote h3:not([class]) + .c-heading-level-4,
.p-wysiwyg.demote h3[class^=u-] + h4,
.p-wysiwyg.demote h3[class^=u-] + .c-heading-level-4,
.p-wysiwyg.demote h3[class*=' u-'] + h4,
.p-wysiwyg.demote h3[class*=' u-'] + .c-heading-level-4 {
	margin-top: 24px;
}

.p-wysiwyg.demote h4:not([class]),
.p-wysiwyg.demote h4[class^=u-],
.p-wysiwyg.demote h4[class*=' u-'] {
	position: relative;
	margin: 24px 0 0;
	padding: 0 0 10px 16px;
	border-bottom: 2px solid #ebe9e5;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5555555556;
}

.p-wysiwyg.demote h4:not([class])::before,
.p-wysiwyg.demote h4[class^=u-]::before,
.p-wysiwyg.demote h4[class*=' u-']::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: calc(100% - 10px);
	border-right: 2px solid #8b610e;
	border-left: 2px solid #8b610e;
}

.p-wysiwyg.demote h4:not([class]) .c-icon,
.p-wysiwyg.demote h4[class^=u-] .c-icon,
.p-wysiwyg.demote h4[class*=' u-'] .c-icon {
	position: relative;
	top: 0.25em;
}

.p-wysiwyg.demote h4:not([class]) .c-icon:first-child,
.p-wysiwyg.demote h4[class^=u-] .c-icon:first-child,
.p-wysiwyg.demote h4[class*=' u-'] .c-icon:first-child {
	margin-right: 4px;
}

.p-wysiwyg.demote h5:not([class]),
.p-wysiwyg.demote h5[class^=u-],
.p-wysiwyg.demote h5[class*=' u-'] {
	margin: 24px 0 0;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.75;
}

.p-wysiwyg [class^=p-box] h3:not([class]),
.p-wysiwyg [class^=p-box] h3[class^=u-],
.p-wysiwyg [class^=p-box] h3[class*=' u-'] {
	padding: 0 0 0 26px;
	border: 0;
}

.p-wysiwyg [class^=p-box] h3:not([class])::before,
.p-wysiwyg [class^=p-box] h3[class^=u-]::before,
.p-wysiwyg [class^=p-box] h3[class*=' u-']::before {
	top: 0.2em;
	width: 20px;
	height: 20px;
	border: 0;
	background: url(/assets/images/ico_ume.png) no-repeat 50% 50%/contain;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.p-wysiwyg .c-heading {
	padding-bottom: 12px;
	font-size: 2.2rem;
}

.p-wysiwyg p:not([class]),
.p-wysiwyg p[class^=u-],
.p-wysiwyg p[class*=' u-'] {
	margin: 1em 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.75;
}

.p-wysiwyg small {
	font-size: 80%;
}

.p-wysiwyg a:not([class]),
.p-wysiwyg a[class^=u-],
.p-wysiwyg a[class*=' u-'] {
	color: #8b610e;
}

.p-wysiwyg a:not([class])[target=_blank]::after,
.p-wysiwyg a[class^=u-][target=_blank]::after,
.p-wysiwyg a[class*=' u-'][target=_blank]::after {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.1em;
	width: 12px;
	min-width: 12px;
	margin-left: 4px;
	background: no-repeat 50% 50%/contain;
	background-image: url(/assets/images/ico_window.png);
	aspect-ratio: 1/1;
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.p-wysiwyg a:not([class]) {
	text-decoration: underline;
}

.p-wysiwyg ul:not([class]),
.p-wysiwyg ul[class^=u-],
.p-wysiwyg ul[class*=' u-'] {
	list-style-type: none;
	margin: 1em 0;
}

.p-wysiwyg ul:not([class]) > li,
.p-wysiwyg ul[class^=u-] > li,
.p-wysiwyg ul[class*=' u-'] > li {
	position: relative;
	margin: 8px 0 0;
	padding-left: 1.25em;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-wysiwyg ul:not([class]) > li::before,
.p-wysiwyg ul[class^=u-] > li::before,
.p-wysiwyg ul[class*=' u-'] > li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 12px;
	min-width: 12px;
	height: auto;
	border-radius: 50%;
	background: transparent no-repeat 50% 50%/12px;
	background-image: url(/assets/images/ico_listmark_01.png);
	aspect-ratio: 1/1;
}

.p-wysiwyg ul:not([class]) ul:not([class]):first-child,
.p-wysiwyg ul:not([class]) ul[class^=u-]:first-child,
.p-wysiwyg ul:not([class]) ul[class*=' u-']:first-child,
.p-wysiwyg ul:not([class]) ol:not([class]):first-child,
.p-wysiwyg ul:not([class]) ol[class^=u-]:first-child,
.p-wysiwyg ul:not([class]) ol[class*=' u-']:first-child,
.p-wysiwyg ul[class^=u-] ul:not([class]):first-child,
.p-wysiwyg ul[class^=u-] ul[class^=u-]:first-child,
.p-wysiwyg ul[class^=u-] ul[class*=' u-']:first-child,
.p-wysiwyg ul[class^=u-] ol:not([class]):first-child,
.p-wysiwyg ul[class^=u-] ol[class^=u-]:first-child,
.p-wysiwyg ul[class^=u-] ol[class*=' u-']:first-child,
.p-wysiwyg ul[class*=' u-'] ul:not([class]):first-child,
.p-wysiwyg ul[class*=' u-'] ul[class^=u-]:first-child,
.p-wysiwyg ul[class*=' u-'] ul[class*=' u-']:first-child,
.p-wysiwyg ul[class*=' u-'] ol:not([class]):first-child,
.p-wysiwyg ul[class*=' u-'] ol[class^=u-]:first-child,
.p-wysiwyg ul[class*=' u-'] ol[class*=' u-']:first-child {
	margin-top: 0;
}

.p-wysiwyg ol:not([class]),
.p-wysiwyg ol[class^=u-],
.p-wysiwyg ol[class*=' u-'] {
	counter-reset: ctr;
	margin: 1em 0;
}

.p-wysiwyg ol:not([class]) > li,
.p-wysiwyg ol[class^=u-] > li,
.p-wysiwyg ol[class*=' u-'] > li {
	counter-increment: ctr;
	position: relative;
	margin: 8px 0 0;
	padding-left: 22px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-wysiwyg ol:not([class]) > li::before,
.p-wysiwyg ol[class^=u-] > li::before,
.p-wysiwyg ol[class*=' u-'] > li::before {
	content: counter(ctr);
	display: flex;
	position: absolute;
	top: 3px;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 18px;
	min-width: 18px;
	height: 18px;
	border: 1px solid #222;
	border-radius: 50%;
	font-size: 1.1rem;
	font-weight: 900;
	white-space: nowrap;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}

.p-wysiwyg ol:not([class]) ul:not([class]):first-child,
.p-wysiwyg ol:not([class]) ul[class^=u-]:first-child,
.p-wysiwyg ol:not([class]) ul[class*=' u-']:first-child,
.p-wysiwyg ol:not([class]) ol:not([class]):first-child,
.p-wysiwyg ol:not([class]) ol[class^=u-]:first-child,
.p-wysiwyg ol:not([class]) ol[class*=' u-']:first-child,
.p-wysiwyg ol[class^=u-] ul:not([class]):first-child,
.p-wysiwyg ol[class^=u-] ul[class^=u-]:first-child,
.p-wysiwyg ol[class^=u-] ul[class*=' u-']:first-child,
.p-wysiwyg ol[class^=u-] ol:not([class]):first-child,
.p-wysiwyg ol[class^=u-] ol[class^=u-]:first-child,
.p-wysiwyg ol[class^=u-] ol[class*=' u-']:first-child,
.p-wysiwyg ol[class*=' u-'] ul:not([class]):first-child,
.p-wysiwyg ol[class*=' u-'] ul[class^=u-]:first-child,
.p-wysiwyg ol[class*=' u-'] ul[class*=' u-']:first-child,
.p-wysiwyg ol[class*=' u-'] ol:not([class]):first-child,
.p-wysiwyg ol[class*=' u-'] ol[class^=u-]:first-child,
.p-wysiwyg ol[class*=' u-'] ol[class*=' u-']:first-child {
	margin-top: 0;
}

.p-wysiwyg table,
.p-wysiwyg [class^=p-box],
.p-wysiwyg > .p-col {
	margin: 16px 0 0;
}

.p-wysiwyg table {
	position: relative;
	overflow: hidden;
	border: 1px solid #8b610e;
	border-radius: 4px;
	font-size: 1.4rem;
	line-height: 1.5;
}

.p-wysiwyg table::before {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid #8b610e;
	border-radius: 4px;
	pointer-events: none;
}

.p-wysiwyg table th,
.p-wysiwyg table td {
	padding: 12px 8px;
}

.p-wysiwyg table th *:first-child,
.p-wysiwyg table td *:first-child {
	margin-top: 0 !important;
}

.p-wysiwyg table th *:last-child,
.p-wysiwyg table td *:last-child {
	margin-bottom: 0 !important;
}

.p-wysiwyg table th {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	background-color: #8b610e;
	color: #fff;
}

.p-wysiwyg .p-table-scrollable table th {
	border-bottom: 0;
}

.p-wysiwyg blockquote {
	margin: 30px 0;
	padding: 20px 30px;
	border-left: 4px solid #ddd;
	background: #f9f9f9;
	font-style: italic;
}

.p-wysiwyg blockquote p {
	margin: 0;
}

.p-wysiwyg blockquote cite {
	display: block;
	margin-top: 10px;
	color: #666;
	font-size: 0.875rem;
	font-style: normal;
	text-align: right;
}

.p-wysiwyg blockquote cite:before {
	content: '— ';
}

.p-wysiwyg address {
	margin: 1em 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.p-wysiwyg::after {
	content: '';
	display: table;
	clear: both;
}

/* -----------------------------------------------------
 * parts: YouTube
 * -------------------------------------------------- */

.p-yt {
	background-color: #f0eadf;
}

.p-yt-inner {
	padding: 0 20px;
}

.p-yt-videos {
	margin: 30px 0 0;
	padding: 0 20px;
}

.p-yt-video-thumbnail {
	position: relative;
	aspect-ratio: 128/72;
}

.p-yt-video-thumbnail::before {
	content: '';
	display: block;
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	width: 50px;
	background: url(/assets/images/ico_yt_red.png) no-repeat 50% 50%/contain;
	-webkit-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
	pointer-events: none;
	aspect-ratio: 47/33;
}

.p-yt-video > p {
	margin: 8px 0 0;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.6153846154;
}

/* -----------------------------------------------------
 * mt: columns
 * -------------------------------------------------- */

.mt-be-columns {
	display: flex !important;
	flex-direction: column;
	margin: 16px 0 0;
	gap: 16px;
}

.mt-be-columns *:first-child {
	margin-top: 0;
}

.mt-be-columns .mt-figure:first-child {
	margin: 0;
}

.mt-be-column > *:first-child {
	margin-top: 0 !important;
}

/* -----------------------------------------------------
 * mt: file
 * -------------------------------------------------- */

.mt-be-file {
	margin: 16px 0 0;
	font-size: 1.4rem;
}

/* -----------------------------------------------------
 * mt: image
 * -------------------------------------------------- */

.mt-be-image {
	overflow: hidden;
	border-radius: 4px;
}

.mt-be-image img {
	border-radius: 4px;
}

.mt-be-image.h-auto img {
	height: auto;
}

.mt-be-image a[target=_blank]:has(img)::after {
	display: none !important;
}

.mt-be-image a img {
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* -----------------------------------------------------
 * mt: figure
 * -------------------------------------------------- */

.mt-figure {
	display: block;
	overflow: hidden;
	margin: 16px 0 0;
}

.mt-figure > .mt-figure {
	margin-top: 0 !important;
}

.mt-figure img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-o-object-fit: cover;
	object-fit: cover;
	will-change: transform;
}

.mt-figure figcaption {
	margin: 6px 0 0;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.7142857143;
	text-align: center;
}

.mt-figure.sz-rl {
	display: flex;
	justify-content: center;
}

.mt-figure.sz-rl img {
	width: revert-layer;
	height: auto;
}

/* -----------------------------------------------------
 * mt-site-search-result
 * -------------------------------------------------- */

.lc-section-search-result {
	margin: 40px auto 0;
}

.mt-site-search-result-container {
	max-width: 980px;
	margin: 0 auto;
}

.mt-site-search-result__message {
	color: #666;
}

.mt-site-search-result__list .mt-site-search-result-item {
	margin: 20px 0 0;
}

.mt-site-search-result__list .mt-site-search-result-item__link:hover .mt-site-search-result-item__label {
	text-decoration: underline;
}

.mt-site-search-result__list .mt-site-search-result-item__label {
	color: #1a0dab;
	font-size: 2rem;
}

.mt-site-search-result__list .mt-site-search-result-item__url {
	overflow: hidden;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.mt-site-search-result__list .mt-site-search-result-item__url cite {
	color: #006621;
	font-size: 1.4rem;
	font-style: normal;
}

.mt-site-search-result__list .mt-site-search-result-item__excerpt {
	margin: 5px 0 0;
	font-size: 1.6rem;
	line-height: 1.875;
}

.mt-site-search__pagination {
	margin: 80px auto 0;
}

.mt-site-search__pagination ul {
	display: flex;
	justify-content: center;
}

.mt-site-search__pagination ul .mt-site-search-pagination-item {
	margin: 0 20px;
	font-size: 1.8rem;
}

.mt-site-search__pagination ul .mt-site-search-pagination-item__link:hover {
	text-decoration: underline;
}

/* -----------------------------------------------------
 * js: アコーディオン
 * -------------------------------------------------- */

.js-ac .js-ac-target,
.js-ac .js-ac-content {
	overflow: hidden;
	transition: all 0.3s ease;
}

/* -----------------------------------------------------
 * js: HOME KV スライダー（クロスフェード）
 * -------------------------------------------------- */

@-webkit-keyframes homeKvZoomOut {
	0% {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes homeKvZoomOut {
	0% {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

.js-home-kv {
	height: 100%;
	--slide-delay: 4000ms;
	--slide-speed: 2000ms;
	--zoom-duration: calc(var(--slide-delay) + var(--slide-speed) + 1000ms);
}

.js-home-kv .swiper-slide-active .swiper-img,
.js-home-kv .swiper-slide-duplicate-active .swiper-img,
.js-home-kv .swiper-slide-prev .swiper-img {
	-webkit-animation: homeKvZoomOut var(--zoom-duration) linear 0s normal both;
	animation: homeKvZoomOut var(--zoom-duration) linear 0s normal both;
}

.js-home-kv .swiper-img {
	display: block;
	height: 100%;
}

.js-home-kv .swiper-img img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 100%;
	object-position: 50% 100%;
}

/* -----------------------------------------------------
 * js: パーティクル（光）
 * -------------------------------------------------- */

/* -----------------------------------------------------
 * js: 絞り込み機能
 * -------------------------------------------------- */

.js-refine.is-no-results::after {
	content: '該当する結果がありません';
	display: block;
	padding: 40px 20px;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
}

.js-refine-target > .is-hidden {
	display: none !important;
}

/* -----------------------------------------------------
 * js: スクロール登場アニメーション
 * -------------------------------------------------- */

/* -----------------------------------------------------
 * js: タブ切り替えコンテンツ
 * -------------------------------------------------- */

/* -----------------------------------------------------
 * js: syntax-highlight (Prism.js)
 * -------------------------------------------------- */

.js-highlight:not(.syntax-highlight) {
	display: none;
}

.js-highlight.syntax-highlight {
	position: relative;
	overflow: hidden;
	margin: 20px 0;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.js-highlight.syntax-highlight pre[class*=language-] {
	margin: 0;
	padding: 16px;
	font-size: 1.4rem;
	line-height: 1.6;
}

.js-highlight.syntax-highlight pre[class*=language-] code[class*=language-] {
	font-size: inherit;
	line-height: inherit;
}

.js-highlight.syntax-highlight.line-numbers pre[class*=language-] {
	padding-left: 3.8em;
}

.js-highlight.syntax-highlight .code-toolbar {
	position: relative;
}

.js-highlight.syntax-highlight .code-toolbar .toolbar {
	position: absolute;
	top: 8px;
	right: 8px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.js-highlight.syntax-highlight .code-toolbar .toolbar .toolbar-item button {
	cursor: pointer;
	padding: 4px 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.9);
	color: #333;
	font-size: 1.2rem;
	transition: all 0.2s ease;
}

.js-highlight.syntax-highlight .code-toolbar .toolbar .toolbar-item button:hover {
	border-color: #007acc;
	background: #fff;
	color: #007acc;
}

.js-highlight.syntax-highlight .code-toolbar .toolbar .toolbar-item button:active {
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
}

.js-highlight.syntax-highlight .code-toolbar:hover .toolbar {
	opacity: 1;
}

.p-wysiwyg .js-highlight.syntax-highlight {
	margin: 24px 0;
}

/* =====================================================
* Layout
* ================================================== */

/* -----------------------------------------------------
 * layout: article
 * -------------------------------------------------- */

.l-article {
	margin: 16px 0 0;
}

.l-article .p-header-article {
	position: relative;
	z-index: 3;
}

.l-article img {
	max-width: 100%;
}

.l-article-catch,
.l-article-inner {
	padding: 0 20px;
}

.l-article-catch {
	display: flex;
	position: relative;
	z-index: 3;
	flex-direction: column;
	margin-top: 24px;
	gap: 24px 0;
}

.l-article-catch .text h2 {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
}

.l-article-catch .text p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.75;
}

.l-article-catch .text ul {
	list-style-type: none;
	margin: 1em 0;
}

.l-article-catch .text ul > li {
	position: relative;
	margin: 8px 0 0;
	padding-left: 1.25em;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.l-article-catch .text ul > li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 12px;
	min-width: 12px;
	height: auto;
	border-radius: 50%;
	background: transparent no-repeat 50% 50%/12px;
	background-image: url(/assets/images/ico_listmark_01.png);
	aspect-ratio: 1/1;
}

.l-article-catch .text ul ul:first-child,
.l-article-catch .text ul ol:first-child {
	margin-top: 0;
}

.l-article-catch .text ol {
	counter-reset: ctr;
	margin: 1em 0;
}

.l-article-catch .text ol > li {
	counter-increment: ctr;
	position: relative;
	margin: 8px 0 0;
	padding-left: 22px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5714285714;
}

.l-article-catch .text ol > li::before {
	content: counter(ctr);
	display: flex;
	position: absolute;
	top: 3px;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 18px;
	min-width: 18px;
	height: 18px;
	border: 1px solid #222;
	border-radius: 50%;
	font-size: 1.1rem;
	font-weight: 900;
	white-space: nowrap;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}

.l-article-catch .text ol ul:first-child,
.l-article-catch .text ol ol:first-child {
	margin-top: 0;
}

.l-article-catch.schedule .image {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.l-article-catch.schedule .image .pdf {
	display: flex;
	justify-content: flex-end;
}

.l-article-catch.schedule .image .pdf a {
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	gap: 6px;
}

.l-article-catch.schedule .image .pdf a .c-icon {
	width: 16px;
	height: 16px;
}

.l-article-catch.schedule .contents .labels {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.l-article-catch.schedule .contents .title {
	display: flex;
	flex-direction: column;
	margin: 16px 0 0;
	gap: 8px;
}

.l-article-catch.schedule .contents .title .sup {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5714285714;
}

.l-article-catch.schedule .contents .title .main {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5555555556;
}

.l-article-catch.schedule .contents dl {
	display: grid;
	margin: 30px 0 0;
	grid-template-columns: 64px 1fr;
	gap: 12px 10px;
}

.l-article-catch.schedule .contents dt {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 24px;
	background-color: #f0eadf;
	color: #8b610e;
	font-size: 1.3rem;
	font-weight: 700;
}

.l-article-catch.schedule .contents dd {
	display: flex;
	align-items: center;
	margin: 0;
	font-family: 'Reddit Sans', 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.2777777778;
}

.l-article-catch.schedule .contents dd .c-date {
	color: #222;
	font-size: 1.8rem;
}

.l-article-catch.schedule .contents dd .c-date span {
	font-size: 1.8rem;
}

.l-article-catch.schedule .contents dd a {
	color: #8b610e;
	text-decoration: underline;
}

.l-article-catch.schedule .contents dd a::after {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 4px;
	background: no-repeat 50% 50%/contain;
	background-image: url(/assets/images/ico_window.png);
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.l-article-catch.schedule .contents .links {
	margin: 30px 0 0;
}

.l-article-catch.schedule .contents .text {
	margin: 30px 0 0;
	font-size: 1.4rem;
	line-height: 1.7142857143;
}

.l-article-inner {
	position: relative;
	padding-bottom: 32px;
}

.l-article-inner::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: calc(100% - 40px);
	height: 2px;
	background-color: #ebe9e5;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* -----------------------------------------------------
 * layout: contents
 * -------------------------------------------------- */

.l-contents {
	position: relative;
	padding: 0;
}

/* -----------------------------------------------------
 * layout: effects
 * -------------------------------------------------- */

.l-effects {
	position: relative;
	pointer-events: none;
}

.l-effects[data-z-index='0'] {
	z-index: 0;
}

.l-effects[data-z-index='1'] {
	z-index: 1;
}

.l-effects[data-z-index='2'] {
	z-index: 2;
}

.l-effects[data-z-index='3'] {
	z-index: 3;
}

.l-effects[data-z-index='4'] {
	z-index: 4;
}

.l-effects[data-z-index='5'] {
	z-index: 5;
}

.l-effects[data-z-index='6'] {
	z-index: 6;
}

.l-effects[data-z-index='7'] {
	z-index: 7;
}

.l-effects[data-z-index='8'] {
	z-index: 8;
}

.l-effects[data-z-index='9'] {
	z-index: 9;
}

.l-effects[data-z-index='10'] {
	z-index: 10;
}

.l-effects[data-z-index='11'] {
	z-index: 11;
}

.l-effects[data-z-index='12'] {
	z-index: 12;
}

.l-effects[data-z-index='13'] {
	z-index: 13;
}

.l-effects[data-z-index='14'] {
	z-index: 14;
}

.l-effects[data-z-index='15'] {
	z-index: 15;
}

/* -----------------------------------------------------
 * layout: ending visual
 * -------------------------------------------------- */

.l-ev {
	height: 180px;
	margin: 0 0 -150px;
}

.l-ev figure {
	display: block;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.l-ev figure img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/* -----------------------------------------------------
 * layout: fill
 * -------------------------------------------------- */

.l-fill {
	position: relative;
	margin: 32px -20px 0;
	padding: 32px 0;
}

.l-fill.bg-white {
	background-color: #fff;
}

.l-fill.no-padding {
	padding: 0;
}

.l-fill.no-margin {
	margin: 0 -20px;
}

.l-fill.p-wide {
	padding-top: 48px;
	padding-bottom: 48px;
}

.l-fill.p-wide hr {
	margin-top: 48px;
	margin-bottom: 48px;
}

.l-fill-inner {
	padding: 0 20px;
}

.l-fill-inner .title {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	gap: 8px;
}

.l-fill-inner .title .c-icon {
	width: 32px;
	height: 32px;
}

.l-fill hr {
	margin: 24px -16px;
	border: 0;
	border-bottom: 1px solid #acacac;
}

.l-fill-contents {
	margin: 24px 0 0;
}

.l-fill-contents .c-note {
	font-size: 1.2rem;
}

.l-fill[data-z-index='0'] {
	z-index: 0;
}

.l-fill[data-z-index='1'] {
	z-index: 1;
}

.l-fill[data-z-index='2'] {
	z-index: 2;
}

.l-fill[data-z-index='3'] {
	z-index: 3;
}

.l-fill[data-z-index='4'] {
	z-index: 4;
}

.l-fill[data-z-index='5'] {
	z-index: 5;
}

.l-fill[data-z-index='6'] {
	z-index: 6;
}

.l-fill[data-z-index='7'] {
	z-index: 7;
}

.l-fill[data-z-index='8'] {
	z-index: 8;
}

.l-fill[data-z-index='9'] {
	z-index: 9;
}

.l-fill[data-z-index='10'] {
	z-index: 10;
}

.l-fill[data-z-index='11'] {
	z-index: 11;
}

.l-fill[data-z-index='12'] {
	z-index: 12;
}

.l-fill[data-z-index='13'] {
	z-index: 13;
}

.l-fill[data-z-index='14'] {
	z-index: 14;
}

.l-fill[data-z-index='15'] {
	z-index: 15;
}

/* -----------------------------------------------------
 * layout: flex column
 * -------------------------------------------------- */

.l-flex-column {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* -----------------------------------------------------
 * layout: footcontents
 * -------------------------------------------------- */

.l-footcontens {
	margin-top: 64px;
	margin-bottom: -64px;
}

/* -----------------------------------------------------
 * layout: footer
 * -------------------------------------------------- */

.l-footer {
	position: relative;
	overflow: hidden;
	padding: 110px 0 0;
	color: #fff;
}

.l-footer-arc {
	display: block;
	position: relative;
	z-index: 3;
	width: 100%;
	height: 35px;
	margin-bottom: -1px;
}

.l-footer-arc path {
	fill: #222;
}

.l-footer-wrapper {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 40px 0;
	background-color: #222;
}

.l-footer-matsu {
	position: absolute;
	top: 115px;
	left: 0;
}

.l-footer-matsu figure img {
	width: 325px;
	height: 160px;
}

.l-footer-inner {
	padding: 0 20px 40px;
	background-color: #222;
}

.l-footer-logo a {
	display: block;
	width: 125px;
	height: 35px;
	margin: 0 auto;
}

.l-footer-logo a img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.l-footer-sns {
	margin: 20px 0 0;
}

.l-footer-sns .p-list-sns {
	margin: 0;
}

.l-footer-sns .p-list-sns a img {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.l-footer-nav {
	margin: 30px 0 0;
}

.l-footer-nav a {
	color: #fff;
}

.l-footer-nav > ul > li > a {
	display: inline-flex;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition: color 0.3s ease;
	gap: 0 8px;
}

.l-footer hr {
	width: 1px;
	height: calc(100% - 7px);
	background-color: rgba(255, 255, 255, 0.5);
}

.l-footer-other ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.l-footer-other ul li a {
	position: relative;
	padding-bottom: 0.3rem;
}

.l-footer-other ul li a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
}

.l-footer-other ul li a {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4285714286;
}

.l-footer-other ul li a[target=_blank]::after {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.075em;
	width: 14px;
	height: 14px;
	margin: 0 0 0 4px;
	background: url(/assets/images/ico_window.png) no-repeat 50% 50%/contain;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.l-footer-other-title {
	display: block;
	position: relative;
	padding: 16px 16px 16px 0;
	font-family: 'BIZ UDPMincho', serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition: color 0.3s ease;
}

.l-footer-other-title::before,
.l-footer-other-title::after {
	content: '';
	display: block;
	position: absolute;
	top: 26px;
	right: 0;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background-color: #fff;
}

.l-footer-other-title::after {
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-transform: rotateZ(-90deg);
	transform: rotateZ(-90deg);
}

.l-footer-info {
	margin: 30px 0 0;
	border: 1px solid #fff;
	border-radius: 4px;
	font-style: normal;
}

.l-footer-info .company {
	padding: 15px;
}

.l-footer-info .company .name {
	font-size: 1.6rem;
	font-weight: 700;
}

.l-footer-info .company .address {
	margin: 6px 0 0;
	font-size: 1.4rem;
	font-weight: 400;
}

.l-footer-info .contact dl {
	margin: 0;
}

.l-footer-info .contact dl dt,
.l-footer-info .contact dl dd {
	font-size: 1.3rem;
	font-weight: 700;
	white-space: nowrap;
}

.l-footer-info .contact dl dt.u-font-en,
.l-footer-info .contact dl dd.u-font-en {
	font-size: 1.6rem;
}

.l-footer-info .contact dl dt {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0 2px;
}

.l-footer-info .contact dl dt .c-icon {
	position: relative;
	top: 0.1em;
	width: 18px;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.l-footer-info .contact dl dd {
	margin: 0;
}

.l-footer-info .contact dl dd::before {
	content: '|';
	display: inline-block;
	margin-right: 10px;
	font-size: 1.4rem;
	font-weight: 400;
}

.l-footer-info .contact dl.phone dt {
	font-size: 1.6rem;
}

.l-footer-info .contact dl.phone dd {
	font-size: 2.8rem;
	font-weight: 500;
}

.l-footer-info .contact dl.phone dd::before {
	font-size: 2.8rem;
}

.l-footer-info .contact dl.phone dd.u-font-en {
	font-size: 2.8rem;
}

.l-footer-links {
	margin: 15px 0 0;
}

.l-footer-links ul {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 3px;
	gap: 8px 14px;
}

.l-footer-links ul li {
	position: relative;
	padding: 0 14px 0 0;
}

.l-footer-links ul li::after {
	content: '|';
	display: block;
	position: absolute;
	top: 0.5em;
	left: 100%;
	color: #888;
	font-size: 1rem;
	font-weight: 500;
}

.l-footer-links ul li a {
	position: relative;
	padding-bottom: 0.3rem;
}

.l-footer-links ul li a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
}

.l-footer-links ul li a {
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.025em;
}

.l-footer-links ul li:last-child::after {
	display: none;
}

.l-footer-copy {
	margin: 15px 0 0;
}

.l-footer-copy p {
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.6153846154;
}

.l-footer-copy p a {
	color: #fff;
	text-decoration: underline;
}

.l-footer-copy small {
	display: block;
	margin: 20px 0 0;
	font-size: 1.2rem;
	text-align: center;
}

#footer-cloud-1-1 {
	top: -60px;
	left: -75px;
	width: 215px;
	aspect-ratio: 402/73;
}

#footer-cloud-2-1 {
	top: -75px;
	right: 5px;
	width: 145px;
	aspect-ratio: 272/90;
}

#footer-cloud-2-2 {
	top: -45px;
	right: -50px;
	width: 218px;
	aspect-ratio: 408/136;
}

/* -----------------------------------------------------
 * layout: header
 * -------------------------------------------------- */

.l-header {
	position: fixed;
	z-index: 12;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
}

.l-header::before {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	background-color: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.06);
	transition: background-color 0.2s ease 0.1s;
}

.l-header-inner {
	display: grid;
}

.l-header-logo {
	position: absolute;
	z-index: 100;
	top: 23px;
	left: 15px;
	width: 157px;
	height: 44px;
}

.l-header-logo a {
	transition: opacity 0.2s ease;
}

.l-header-logo a {
	display: block;
	width: 100%;
	height: 100%;
}

.l-header-logo a img {
	display: block;
	width: 100%;
	height: 100%;
	transition: -webkit-filter 0.2s ease;
	transition: filter 0.2s ease;
	transition: filter 0.2s ease, -webkit-filter 0.2s ease;
	-o-object-fit: contain;
	object-fit: contain;
}

.l-header-controls {
	display: flex;
	position: absolute;
	z-index: 2;
	top: 15px;
	right: 15px;
	align-items: center;
	gap: 0 8px;
}

.l-header-controls .control-hamburger {
	display: block;
	position: relative;
	width: 60px;
	height: 60px;
	border: 1px solid #222;
	border-radius: 50%;
	background-color: transparent;
	transition: border-color 0.2s ease;
}

.l-header-controls .control-hamburger span,
.l-header-controls .control-hamburger::before,
.l-header-controls .control-hamburger::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 3px;
	border-radius: 2px;
	background-color: #222;
}

.l-header-controls .control-hamburger::before,
.l-header-controls .control-hamburger::after {
	content: '';
	transition: background-color 0.2s ease, -webkit-transform 0.2s ease;
	transition: transform 0.2s ease, background-color 0.2s ease;
	transition: transform 0.2s ease, background-color 0.2s ease, -webkit-transform 0.2s ease;
}

.l-header-controls .control-hamburger::before {
	width: 24px;
	-webkit-transform: translate3d(-50%, calc(-7px - 50%), 0);
	transform: translate3d(-50%, calc(-7px - 50%), 0);
}

.l-header-controls .control-hamburger span {
	width: 16px;
	transition: 0.7 0.2s ease;
	-webkit-transform: translate3d(calc(-50% - 4px), -50%, 0);
	transform: translate3d(calc(-50% - 4px), -50%, 0);
}

.l-header-controls .control-hamburger::after {
	width: 8px;
	-webkit-transform: translate3d(calc(-50% - 8px), calc(7px - 50%), 0);
	transform: translate3d(calc(-50% - 8px), calc(7px - 50%), 0);
}

.is-menu-open .l-header-controls .control-hamburger {
	border-color: #8b610e;
}

.is-menu-open .l-header-controls .control-hamburger::before {
	background-color: #8b610e;
	-webkit-transform: translate3d(-50%, -50%, 0) rotateZ(-45deg);
	transform: translate3d(-50%, -50%, 0) rotateZ(-45deg);
}

.is-menu-open .l-header-controls .control-hamburger::after {
	width: 24px;
	background-color: #8b610e;
	-webkit-transform: translate3d(-50%, -50%, 0) rotateZ(45deg);
	transform: translate3d(-50%, -50%, 0) rotateZ(45deg);
}

.is-menu-open .l-header-controls .control-hamburger span {
	opacity: 0;
}

.l-header-upper {
	margin: 32px 0 0;
	grid-area: other;
}

.l-header-search {
	grid-area: search;
}

.l-header-search .mt-site-search-form {
	display: grid;
	align-items: center;
	width: 100%;
	height: 38px;
	border: 1px solid #222;
	border-radius: 4px;
	background-color: #fff;
	grid-template-columns: 1fr auto;
}

.l-header-search .mt-site-search-form input:-ms-input-placeholder {
	color: #ccc;
	font-weight: normal;
}

.l-header-search .mt-site-search-form input:placeholder-shown {
	color: #ccc;
	font-weight: normal;
}

.l-header-search .mt-site-search-form input::-webkit-input-placeholder {
	color: #ccc;
	font-weight: normal;
}

.l-header-search .mt-site-search-form input:-moz-placeholder {
	opacity: 1;
	color: #ccc;
	font-weight: normal;
}

.l-header-search .mt-site-search-form input::-moz-placeholder {
	opacity: 1;
	color: #ccc;
	font-weight: normal;
}

.l-header-search .mt-site-search-form input:-ms-input-placeholder {
	color: #ccc;
	font-weight: normal;
}

.l-header-search .mt-site-search-form input {
	width: 100%;
	height: 100%;
	padding: 0 10px 0 36px;
	background: no-repeat top 50% left 10px/18px;
	background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\'%3E%3Cg id=\'Icon_feather-search\' fill=\'%23ccc\' data-name=\'Icon feather-search\' transform=\'translate(1 1)\'%3E%3Cpath id=\'パス_2109\' d=\'M10.278 3.5A6.778 6.778 0 1 1 3.5 10.278 6.785 6.785 0 0 1 10.278 3.5Zm0 11.556A4.778 4.778 0 1 0 5.5 10.278a4.783 4.783 0 0 0 4.778 4.778Z\' data-name=\'パス 2109\' transform=\'translate(-4.5 -4.5)\'/%3E%3Cpath id=\'パス_2110\' d=\'M29.374 30.374a1 1 0 0 1-.707-.293l-4.4-4.4a1 1 0 0 1 1.414-1.414l4.4 4.4a1 1 0 0 1-.707 1.707Z\' data-name=\'パス 2110\' transform=\'translate(-15.374 -15.374)\'/%3E%3C/g%3E%3C/svg%3E');
	font-size: 1.6rem;
}

.l-header-search .mt-site-search-form .mt-site-search-form__button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 64px;
	height: 100%;
	margin: 0;
	background-color: #222;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
}

.l-header-search.is-filled .mt-site-search-form input {
	padding: 0 10px;
	background-image: none;
}

.l-header-nav {
	grid-area: nav;
}

.l-header-nav > ul > li {
	position: relative;
}

.l-header-nav > ul > li > a {
	font-family: 'BIZ UDPMincho', serif;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.l-header-nav > ul > li::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 3px;
	background-color: transparent;
	transition: background-color 0.2s ease;
}

.l-header-nav-child li a .title {
	display: block !important;
}

.l-header-megamenu {
	display: none;
}

.l-header-megamenu .l-header-nav-contents.is-active {
	top: var(--header-height);
}

.l-header-megamenu .l-header-nav-contents a {
	color: #fff;
}

.page-home:not(.is-scrolled) .l-header::before {
	background-color: rgba(0, 0, 0, 0.5);
}

.page-home:not(.is-scrolled) .l-header-logo a img {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.page-home:not(.is-scrolled) .l-header-controls .control-hamburger {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.page-home:not(.is-scrolled) .l-header-nav > ul > li > a {
	color: #fff;
	transition: color 0.2s ease 0.1s;
}

.page-home:not(.is-scrolled) .l-header-nav > ul > li > a::after {
	transition: -webkit-filter 0.2s ease 0.1s;
	transition: filter 0.2s ease 0.1s;
	transition: filter 0.2s ease 0.1s, -webkit-filter 0.2s ease 0.1s;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.page-home.is-megamenu-active:not(.is-scrolled) .l-header::before,
.page-home.is-menu-open:not(.is-scrolled) .l-header::before {
	background-color: #fff;
	transition: background-color 0.2s ease;
}

.page-home.is-megamenu-active:not(.is-scrolled) .l-header-logo a img,
.page-home.is-menu-open:not(.is-scrolled) .l-header-logo a img {
	-webkit-filter: none;
	filter: none;
}

.page-home.is-megamenu-active:not(.is-scrolled) .l-header-controls .control-hamburger,
.page-home.is-menu-open:not(.is-scrolled) .l-header-controls .control-hamburger {
	-webkit-filter: none;
	filter: none;
}

.page-home.is-megamenu-active:not(.is-scrolled) .l-header-nav > ul > li > a,
.page-home.is-menu-open:not(.is-scrolled) .l-header-nav > ul > li > a {
	color: #222;
	transition: color 0.2s ease;
}

.page-home.is-megamenu-active:not(.is-scrolled) .l-header-nav > ul > li > a::after,
.page-home.is-menu-open:not(.is-scrolled) .l-header-nav > ul > li > a::after {
	transition: -webkit-filter 0.2s ease;
	transition: filter 0.2s ease;
	transition: filter 0.2s ease, -webkit-filter 0.2s ease;
	-webkit-filter: none;
	filter: none;
}

/* -----------------------------------------------------
 * layout: links
 * -------------------------------------------------- */

.l-links {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 30px 0 0;
	gap: 8px;
}

.c-heading-level-1 + .l-links {
	margin-top: 16px;
}

/* -----------------------------------------------------
 * layout: main
 * -------------------------------------------------- */

.l-main {
	position: relative;
	z-index: 1;
	flex-grow: 1;
	min-width: 320px;
}

.l-main::after {
	content: '';
	display: block;
	position: fixed;
	z-index: 5;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0);
	transition: background-color 0.3s ease;
	pointer-events: none;
}

.is-menu-open .l-main::after,
.is-searchform-open .l-main::after {
	background-color: rgba(0, 0, 0, 0.1);
	pointer-events: visible;
}

/* -----------------------------------------------------
 * layout: section
 * - 入れ子の場合は.l-section-innerは不要
 * -------------------------------------------------- */

.l-section {
	position: relative;
	z-index: 0;
	margin: 64px 0 0;
}

.p-breadcrumbs + .l-section {
	margin-top: 4px;
}

.l-section.margin-narrow {
	margin: 32px 0 0;
}

.l-section.margin-wide {
	margin: 80px 0 0;
}

.l-section.padding {
	padding: 40px 0;
}

.l-section.ending {
	margin: 0 0 -150px;
	padding: 40px 0 150px;
}

.l-section.bg-base,
.l-section.bg-black {
	background: url(/assets/images/bg_base.png) 50% 0/128px;
}

.l-section.bg-black {
	background-color: #222;
}

.l-section.bg-gold-light {
	background: #fbf9f6 url(/assets/images/bg_base_02.png) 50% 0/128px;
}

.l-section.bg-gold-light2 {
	background: #eab44b url(/assets/images/bg_base_02.png) 50% 0/128px;
}

.l-section.ov-hidden {
	overflow: hidden;
}

.l-section[data-z-index='0'] {
	z-index: 0;
}

.l-section[data-z-index='1'] {
	z-index: 1;
}

.l-section[data-z-index='2'] {
	z-index: 2;
}

.l-section[data-z-index='3'] {
	z-index: 3;
}

.l-section[data-z-index='4'] {
	z-index: 4;
}

.l-section[data-z-index='5'] {
	z-index: 5;
}

.l-section[data-z-index='6'] {
	z-index: 6;
}

.l-section[data-z-index='7'] {
	z-index: 7;
}

.l-section[data-z-index='8'] {
	z-index: 8;
}

.l-section[data-z-index='9'] {
	z-index: 9;
}

.l-section[data-z-index='10'] {
	z-index: 10;
}

.l-section[data-z-index='11'] {
	z-index: 11;
}

.l-section[data-z-index='12'] {
	z-index: 12;
}

.l-section[data-z-index='13'] {
	z-index: 13;
}

.l-section[data-z-index='14'] {
	z-index: 14;
}

.l-section[data-z-index='15'] {
	z-index: 15;
}

.l-section-inner {
	position: relative;
	z-index: 3;
	padding: 0 20px;
}

.l-section-inner > *:first-child {
	margin-top: 0;
}

.l-section-contents {
	position: relative;
	margin: 32px 0 0;
}

.l-section-contents.margin-wide {
	margin: 60px 0 0;
}

.l-section-contents.padding {
	padding: 40px 0;
}

.l-section-contents.bg-base,
.l-section-contents.bg-black {
	background: url(/assets/images/bg_base.png) 50% 0/128px;
}

.l-section-contents.bg-black {
	background-color: #222;
}

.l-section-contents.bg-gold-light {
	background: #fbf9f6 url(/assets/images/bg_base_02.png) 50% 0/128px;
}

.l-section-contents.bg-white {
	background-color: #fff;
}

.l-section-contents[data-z-index='0'] {
	z-index: 0;
}

.l-section-contents[data-z-index='1'] {
	z-index: 1;
}

.l-section-contents[data-z-index='2'] {
	z-index: 2;
}

.l-section-contents[data-z-index='3'] {
	z-index: 3;
}

.l-section-contents[data-z-index='4'] {
	z-index: 4;
}

.l-section-contents[data-z-index='5'] {
	z-index: 5;
}

.l-section-contents[data-z-index='6'] {
	z-index: 6;
}

.l-section-contents[data-z-index='7'] {
	z-index: 7;
}

.l-section-contents[data-z-index='8'] {
	z-index: 8;
}

.l-section-contents[data-z-index='9'] {
	z-index: 9;
}

.l-section-contents[data-z-index='10'] {
	z-index: 10;
}

.l-section-contents[data-z-index='11'] {
	z-index: 11;
}

.l-section-contents[data-z-index='12'] {
	z-index: 12;
}

.l-section-contents[data-z-index='13'] {
	z-index: 13;
}

.l-section-contents[data-z-index='14'] {
	z-index: 14;
}

.l-section-contents[data-z-index='15'] {
	z-index: 15;
}

.l-section-contents-inner {
	position: relative;
	margin: 32px 0 0;
}

.l-section-illust {
	position: absolute;
	z-index: 5;
	overflow: hidden;
}

.l-section-illust img {
	width: revert-layer;
	height: auto;
	-o-object-position: 0 100%;
	object-position: 0 100%;
}

#guidestep2 .l-section-illust {
	bottom: 0;
	left: calc(50% - 100px);
}

#guidestep2 .l-section-illust img {
	height: 161px;
}

#guidestep3 .l-section-illust {
	right: 0;
	bottom: 0;
}

.l-section#guidestep3 .p-box-bg {
	padding: 15px 90px 15px 15px;
}

/* -----------------------------------------------------
 * layout: tools
 * -------------------------------------------------- */

/* -----------------------------------------------------
 * layout: wrapper
 * -------------------------------------------------- */

.l-wrapper {
	display: flex;
	overflow: hidden;
	flex-direction: column;
	min-height: 100vh;
	padding-top: var(--header-height);
}

.page-home .l-wrapper {
	padding-top: 0;
}

/* =====================================================
 * Page
 * ================================================== */

/* -----------------------------------------------------
 * home
 * -------------------------------------------------- */

@-webkit-keyframes home-kv-scroll-line {
	0% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}

	50% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}

	51% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%;
	}

	100% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%;
	}
}

@keyframes home-kv-scroll-line {
	0% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}

	50% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}

	51% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%;
	}

	100% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%;
	}
}

.p-home-kv {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 110svh;
	background: #082064 url(/assets/images/bg_navy.jpg) 50% 100%/1366px 942px;
	opacity: 0;
	transition: opacity 1s ease;
}

.is-page-loaded .p-home-kv {
	opacity: 1;
}

.p-home-kv-wrapper {
	position: relative;
	z-index: 3;
	height: 100%;
}

.p-home-kv-wrapper.is-hide-logo .p-home-kv-logo {
	opacity: 0;
	pointer-events: none;
}

.p-home-kv-logo {
	position: absolute;
	z-index: 2;
	top: calc(50% - 10svh);
	left: 50%;
	width: 316px;
	height: 86px;
	margin: -10px 0 0 -158px;
	transition: opacity 0.3s ease;
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.p-home-kv-logo img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-home-kv .swiper {
	-webkit-clip-path: url(#home-kv-clip-sp);
	clip-path: url(#home-kv-clip-sp);
}

.p-home-kv-overlay {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: opacity 2s ease;
	pointer-events: none;
	-webkit-clip-path: url(#home-kv-clip-sp);
	clip-path: url(#home-kv-clip-sp);
}

.p-home-kv-overlay rect {
	width: 100%;
	height: 100%;
	fill: url(#home-kv-gradient-sp);
}

.p-home-kv-scroll {
	display: flex;
	position: absolute;
	z-index: 10;
	top: calc(100svh - 3em - 50px);
	left: 20px;
	flex-direction: row-reverse;
	color: #fff;
	font-family: 'BIZ UDPMincho', serif;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.025em;
	gap: 4px;
}

.p-home-kv-scroll .text {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.p-home-kv-scroll .arrow {
	display: block;
	position: relative;
	width: 10px;
	height: 100%;
}

.p-home-kv-scroll .arrow::before,
.p-home-kv-scroll .arrow::after {
	content: '';
	display: block;
	position: absolute;
}

.p-home-kv-scroll .arrow::before {
	top: -1px;
	left: 5px;
	width: 1px;
	height: 60px;
	background-color: #fff;
	-webkit-animation: home-kv-scroll-line 2s infinite;
	animation: home-kv-scroll-line 2s infinite;
}

.p-home-kv-scroll .arrow::after {
	top: 50px;
	left: 1px;
	width: 9px;
	height: 9px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

.p-home-schedule {
	position: relative;
	z-index: 0;
	overflow: hidden;
	margin: -10svh 0 0;
	padding: calc(10svh + 70px) 0 75px;
	background: #082064 url(/assets/images/bg_navy.jpg) 50% 0/1366px 942px;
}

.p-home-news {
	position: relative;
	padding: 72px 0 82px;
}

.p-home-menu .p-list-homemenu {
	position: relative;
	z-index: 3;
}

.l-fill.p-home-banner-vr {
	position: relative;
	z-index: 3;
	margin-top: 20px;
	padding: 0;
}

.p-home-banner-column {
	position: relative;
	z-index: 3;
	margin: 20px 0 0;
}

.p-home-banner-tabisho {
	position: relative;
	z-index: 3;
	margin: 20px 0 0;
}

.p-home-banner-others {
	position: relative;
	z-index: 3;
}

.p-home-banner-others .splide__track {
	overflow: visible;
}

.p-home-banner-others .splide__slide {
	opacity: 0.35;
	transition: opacity 0.2s ease;
}

.p-home-banner-others .splide__slide.is-visible {
	opacity: 1;
}

.p-home-banner-others .splide__slide a {
	display: block;
	overflow: hidden;
	border-radius: 4px;
}

.p-home-banner-others .splide__slide a img {
	display: block;
	width: 295px;
	height: auto;
	aspect-ratio: 344/97;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-home-banner-others .splide__arrows {
	display: flex;
	justify-content: space-between;
	margin: 20px 0 0;
}

.p-home-banner-others .splide__arrow--prev::before {
	-webkit-transform: rotateZ(180deg);
	transform: rotateZ(180deg);
}

#home-cloud-1-1 {
	top: 10px;
	left: -15px;
	width: 120px;
	aspect-ratio: 259/87;
}

#home-cloud-1-2 {
	top: -20px;
	left: -80px;
	width: 206px;
	aspect-ratio: 447/82;
}

#home-cloud-2-1 {
	top: -25px;
	right: -50px;
	width: 180px;
	aspect-ratio: 390/112;
}

#home-cloud-2-2 {
	top: -115px;
	right: -40px;
	width: 221px;
	aspect-ratio: 480/160;
}

#home-cloud-3-1 {
	top: -32px;
	left: -30px;
	width: 155px;
	aspect-ratio: 311/95;
}

#home-cloud-3-2 {
	top: -125px;
	left: -35px;
	width: 224px;
	aspect-ratio: 480/178;
}

#home-cloud-4-1 {
	top: -25px;
	right: -120px;
	width: 184px;
	aspect-ratio: 338/113;
}

#home-cloud-4-2 {
	top: 10px;
	right: -120px;
	width: 214px;
	aspect-ratio: 392/113;
}

#home-cloud-5-1 {
	top: -50px;
	left: -40px;
	width: 182px;
	aspect-ratio: 346/115;
}

#home-cloud-6-1 {
	top: -60px;
	right: -55px;
	width: 141px;
	aspect-ratio: 290/53;
}

#home-light-1 .l-effects-wrap {
	-webkit-transform: rotateZ(20deg);
	transform: rotateZ(20deg);
}

#home-light-1 canvas {
	position: absolute;
	top: calc(-10svh + 40px);
	left: -20px;
	width: 200px;
	height: 280px;
}

#home-light-2 .l-effects-wrap {
	-webkit-transform: rotateZ(40deg);
	transform: rotateZ(40deg);
}

#home-light-2 canvas {
	position: absolute;
	right: -30px;
	bottom: -100px;
	width: 200px;
	height: 350px;
}

#home-light-3 .l-effects-wrap {
	-webkit-transform: rotateZ(-40deg);
	transform: rotateZ(-40deg);
}

#home-light-3 canvas {
	position: absolute;
	bottom: 0;
	left: -30px;
	width: 200px;
	height: 350px;
}

/* =====================================================
 * utilities
 * ================================================== */

/* -----------------------------------------------------
 * utilities: display
 * -------------------------------------------------- */

.u-visually-hidden {
	position: absolute !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.u-jc-start {
	justify-content: flex-start !important;
}

.u-jc-center {
	justify-content: center !important;
}

.u-jc-end {
	justify-content: flex-end !important;
}

.u-ai-start {
	justify-content: flex-start !important;
}

.u-ai-center {
	justify-content: center !important;
}

.u-ai-end {
	justify-content: flex-end !important;
}

/* -----------------------------------------------------
 * utilities: filter
 * -------------------------------------------------- */

.u-fl-white {
	-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
}

.u-fl-yellow {
	-webkit-filter: invert(78%) sepia(91%) saturate(3504%) hue-rotate(354deg) brightness(95%) contrast(109%);
	filter: invert(78%) sepia(91%) saturate(3504%) hue-rotate(354deg) brightness(95%) contrast(109%);
}

.u-fl-red {
	-webkit-filter: invert(31%) sepia(97%) saturate(770%) hue-rotate(323deg) brightness(106%) contrast(109%);
	filter: invert(31%) sepia(97%) saturate(770%) hue-rotate(323deg) brightness(106%) contrast(109%);
}

.u-fl-blue {
	-webkit-filter: invert(21%) sepia(97%) saturate(2280%) hue-rotate(193deg) brightness(88%) contrast(107%);
	filter: invert(21%) sepia(97%) saturate(2280%) hue-rotate(193deg) brightness(88%) contrast(107%);
}

.u-fl-gold {
	-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
}

.u-fl-gold-light {
	-webkit-filter: invert(93%) sepia(10%) saturate(354%) hue-rotate(336deg) brightness(104%) contrast(88%);
	filter: invert(93%) sepia(10%) saturate(354%) hue-rotate(336deg) brightness(104%) contrast(88%);
}

.u-fl-gold-light2 {
	-webkit-filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
	filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
}

/* -----------------------------------------------------
 * utilities: float
 * -------------------------------------------------- */

.u-float-left {
	float: left !important;
	margin: 0 24px 24px 0;
}

.u-float-right {
	float: right !important;
	margin: 0 0 24px 24px;
}

/* -----------------------------------------------------
 * utilities: margin
 * -------------------------------------------------- */

.u-mt-0 {
	margin-top: 0 !important;
}

.u-mt-4 {
	margin-top: 4px !important;
}

.u-mt-8 {
	margin-top: 8px !important;
}

.u-mt-16 {
	margin-top: 16px !important;
}

.u-mt-24 {
	margin-top: 24px !important;
}

.u-mt-32 {
	margin-top: 32px !important;
}

.u-mt-40 {
	margin-top: 40px !important;
}

.u-mt-48 {
	margin-top: 48px !important;
}

.u-mt-64 {
	margin-top: 64px !important;
}

.u-mt-80 {
	margin-top: 80px !important;
}

.u-mt-120 {
	margin-top: 120px !important;
}

/* -----------------------------------------------------
 * utilities: padding
 * -------------------------------------------------- */

.u-pt-0 {
	padding-top: 0 !important;
}

.u-pt-4 {
	padding-top: 4px !important;
}

.u-pt-8 {
	padding-top: 8px !important;
}

.u-pt-16 {
	padding-top: 16px !important;
}

.u-pt-24 {
	padding-top: 24px !important;
}

.u-pt-32 {
	padding-top: 32px !important;
}

.u-pt-40 {
	padding-top: 40px !important;
}

.u-pt-48 {
	padding-top: 48px !important;
}

/* -----------------------------------------------------
 * utilities: position
 * -------------------------------------------------- */

.u-top-10 {
	top: 10px;
}

.u-top-15 {
	top: 15px;
}

.u-top-20 {
	top: 20px;
}

.u-top-25 {
	top: 25px;
}

.u-top-30 {
	top: 30px;
}

.u-top-35 {
	top: 35px;
}

.u-top-40 {
	top: 40px;
}

.u-top-45 {
	top: 45px;
}

.u-top-50 {
	top: 50px;
}

.u-top-55 {
	top: 55px;
}

.u-top-60 {
	top: 60px;
}

.u-top-70 {
	top: 70px;
}

.u-top-80 {
	top: 80px;
}

.u-top-90 {
	top: 90px;
}

.u-top-100 {
	top: 100px;
}

.u-top-110 {
	top: 110px;
}

.u-top-120 {
	top: 120px;
}

.u-top-130 {
	top: 130px;
}

.u-top-140 {
	top: 140px;
}

.u-top-150 {
	top: 150px;
}

.u-top-160 {
	top: 160px;
}

.u-top-170 {
	top: 170px;
}

.u-top-180 {
	top: 180px;
}

.u-top-190 {
	top: 190px;
}

.u-top-200 {
	top: 200px;
}

.u-top-210 {
	top: 210px;
}

.u-top-220 {
	top: 220px;
}

.u-top-230 {
	top: 230px;
}

.u-top-240 {
	top: 240px;
}

.u-top-250 {
	top: 250px;
}

.u-top-10-minus {
	top: -10px;
}

.u-top-15-minus {
	top: -15px;
}

.u-top-20-minus {
	top: -20px;
}

.u-top-25-minus {
	top: -25px;
}

.u-top-30-minus {
	top: -30px;
}

.u-top-35-minus {
	top: -35px;
}

.u-top-40-minus {
	top: -40px;
}

.u-top-45-minus {
	top: -45px;
}

.u-top-50-minus {
	top: -50px;
}

.u-top-55-minus {
	top: -55px;
}

.u-top-60-minus {
	top: -60px;
}

.u-top-70-minus {
	top: -70px;
}

.u-top-80-minus {
	top: -80px;
}

.u-top-90-minus {
	top: -90px;
}

.u-top-100-minus {
	top: -100px;
}

.u-top-110-minus {
	top: -110px;
}

.u-top-120-minus {
	top: -120px;
}

.u-top-130-minus {
	top: -130px;
}

.u-top-140-minus {
	top: -140px;
}

.u-top-150-minus {
	top: -150px;
}

.u-top-160-minus {
	top: -160px;
}

.u-top-170-minus {
	top: -170px;
}

.u-top-180-minus {
	top: -180px;
}

.u-top-190-minus {
	top: -190px;
}

.u-top-200-minus {
	top: -200px;
}

.u-top-210-minus {
	top: -210px;
}

.u-top-220-minus {
	top: -220px;
}

.u-top-230-minus {
	top: -230px;
}

.u-top-240-minus {
	top: -240px;
}

.u-top-250-minus {
	top: -250px;
}

.u-top-260-minus {
	top: -260px;
}

.u-top-270-minus {
	top: -270px;
}

.u-top-280-minus {
	top: -280px;
}

.u-top-290-minus {
	top: -290px;
}

.u-top-300-minus {
	top: -300px;
}

.u-top-400-minus {
	top: -400px;
}

.u-top-500-minus {
	top: -500px;
}

.u-top-600-minus {
	top: -600px;
}

/* -----------------------------------------------------
 * utilities: text
 * -------------------------------------------------- */

/* font-family
---------------------------------------- */

.u-font-en {
	font-family: 'Reddit Sans', sans-serif !important;
}

.u-font-ja {
	font-family: 'Noto Sans JP', sans-serif !important;
}

.u-font-mincho {
	font-family: 'BIZ UDPMincho', serif !important;
	letter-spacing: 0.05em;
}

/* color
---------------------------------------- */

.u-cl-gold {
	color: #8b610e !important;
}

/* text-align
---------------------------------------- */

.u-al-left {
	text-align: left !important;
}

.u-al-center {
	text-align: center !important;
}

.u-al-right {
	text-align: right !important;
}

.u-al-justify {
	text-align: justify !important;
}

/* writing-mode
---------------------------------------- */

.u-wm-rl {
	-ms-writing-mode: tb-rl !important;
	-webkit-writing-mode: vertical-rl !important;
	writing-mode: vertical-rl !important;
}

@media screen and (min-width: 768px) {
	.sz-rl-pc {
		display: flex;
		justify-content: center;
	}

	.sz-rl-pc img {
		width: revert-layer;
		height: auto;
	}

	.c-banner img {
		width: revert-layer;
	}

	.c-btn-large {
		height: 110px;
		font-size: 2.4rem;
		gap: 10px;
	}

	.c-btn-large .c-icon {
		width: 26px;
	}

	.c-btn-large .c-icon.sz-wide {
		width: 48px;
	}

	.c-btn-large .title {
		letter-spacing: 0.075em;
	}

	.c-btn-large .c-btn-arrow {
		right: 40px;
	}

	.c-btn.sz-auto {
		width: auto;
		padding: 0 40px;
	}

	.c-caption,
  .p-box-bg .c-caption {
		margin: 24px 0 0;
		text-align: right;
	}

	.c-category {
		height: 36px;
		padding: 0 20px;
		border-radius: 18px;
		font-size: 1.4rem;
	}

	.c-cloud.cloud-gold-01 {
		width: 447px;
		height: 82px;
	}

	.c-cloud.cloud-gold-03 {
		width: 511px;
		height: 177px;
	}

	.c-cloud.cloud-gold-06 {
		width: 408px;
		height: 136px;
	}

	.c-cloud.cloud-02,
  .c-cloud.cloud-fill-02 {
		width: 331px;
		height: 95px;
	}

	.c-cloud.cloud-03,
  .c-cloud.cloud-fill-03 {
		width: 259px;
		height: 87px;
	}

	.c-cloud.cloud-04,
  .c-cloud.cloud-fill-04 {
		width: 289px;
		height: 53px;
	}

	.c-date {
		font-size: 1.5rem;
	}

	.c-date span {
		font-size: 1.6rem;
	}

	.c-figure-col {
		display: flex;
		align-items: center;
		gap: 24px;
	}

	.c-figure-col img {
		width: 220px;
	}

	.c-figure-col figcaption {
		margin: 0;
		font-size: 1.8rem;
		line-height: 1.6666666667;
	}

	.c-heading-call {
		margin: 40px 0 0;
	}

	.c-heading-call span {
		font-size: 1.8rem;
	}

	.c-heading-level-1 {
		margin: 72px 0 0;
		font-size: 3.2rem;
	}

	.c-heading-level-1 .sup {
		font-size: 1.8rem;
	}

	.c-heading-level-1 .num {
		font-size: 3.2rem;
	}

	.c-heading-level-2 {
		padding: 10px 24px;
		font-size: 2rem;
	}

	.c-heading-level-3 {
		font-size: 1.8rem;
	}

	.c-heading-level-4 {
		font-size: 1.6rem;
	}

	.c-heading-mincho {
		font-size: 2.6rem;
	}

	.c-heading-mincho.sz-middle {
		font-size: 2.4rem;
	}

	.c-heading::before {
		width: 64px;
		height: 36px;
	}

	.c-heading .ja {
		font-size: 3.2rem;
	}

	.c-heading .en {
		font-size: 2.4rem;
	}

	.c-label {
		min-width: 96px;
		font-size: 1.2rem;
	}

	.c-lead {
		margin: 48px 0 0;
		font-size: 1.8rem;
		line-height: 1.6111111111;
	}

	.c-lead.margin-narrow {
		margin: 32px 0 0;
	}

	.p-wysiwyg .c-note,
  .c-note {
		margin: 24px 0 0;
	}

	.c-paragraph {
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.c-paragraph.u-font-en {
		font-size: 2rem;
	}

	.c-select-tag {
		height: 36px;
		padding: 0 20px;
		border-radius: 18px;
		font-size: 1.4rem;
	}

	.c-select-custom-options::before {
		left: 80px;
	}

	.c-tel {
		width: 100%;
		gap: 10px;
	}

	.c-tel .c-icon {
		width: 48px;
	}

	.c-tel .c-icon img {
		width: 28px;
	}

	.c-tel span {
		font-size: 5.6rem;
	}

	.p-accessinfo .c-figure {
		padding: 16px;
	}

	.p-accessinfo .contents {
		margin: 0;
	}

	.p-accessinfo .contents dl {
		grid-template-columns: 72px 1fr;
		gap: 0 14px;
	}

	.p-accessinfo .contents dl dt {
		font-size: 1.4rem;
	}

	.p-accessinfo .contents dl dd {
		top: -0.3em;
	}

	.p-accessinfo .contents .p-box-bg {
		padding: 32px;
	}

	.p-agree-cookie {
		padding: 24px 0;
	}

	.p-agree-cookie-inner {
		display: grid;
		align-items: center;
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 50px;
		grid-template-columns: 1fr auto;
		gap: 32px;
	}

	.p-agree-cookie-inner p {
		font-size: 1.4rem;
	}

	.p-agree-cookie-inner .close {
		font-size: 1.4rem;
	}

	.p-archive {
		gap: 24px;
	}

	.p-archive h2,
  .p-archive h3,
  .p-archive h4 {
		padding: 10px 24px !important;
		font-size: 2rem !important;
	}

	.p-banner-econtents {
		height: 200px;
	}

	.p-banner-econtents .text {
		padding: 0 0 0 56px;
	}

	.p-banner-econtents .text .title {
		font-size: 2.4rem;
	}

	.p-banner-econtents .text p {
		font-size: 1.6rem;
	}

	.p-banner-econtents .c-btn-arrow {
		top: calc(50% - 16px);
		right: 32px;
	}

	.p-banner-grad .title {
		font-size: 2rem;
	}

	.p-banner-grad.sz-full .title {
		font-size: 2.4rem;
	}

	.p-banner .c-icon {
		left: 40px;
		width: 50px;
	}

	.p-banner .title {
		font-size: 2rem;
	}

	.p-banner .c-btn-arrow {
		right: 40px;
	}

	.p-banner.line .text {
		font-size: 2.8rem;
		gap: 4px;
	}

	.p-banner.line .text .sup {
		font-size: 1.8rem;
	}

	.p-box-bg .p-banner.yt .c-figure {
		height: 104px;
	}

	.p-box-bg {
		padding: 32px 56px;
	}

	.p-box-bg:has(.p-box-bg-heading) .p-box-bg-contents {
		margin-top: 40px;
	}

	.p-box-bg.padding-narrow {
		padding: 20px 24px;
	}

	.p-box-bg.cl-line {
		padding: 0 14px 14px;
	}

	.p-box-bg.cl-line .p-box-bg-contents {
		display: grid;
		margin: 14px 0 0;
		grid-template-columns: auto 1fr;
		gap: 24px;
	}

	.p-box-bg.cl-line .p-box-bg-contents .c-figure img,
  .p-box-bg.cl-line .p-box-bg-contents .mt-be-image img,
  .p-box-bg.cl-line .p-box-bg-contents .mt-figure img {
		width: revert-layer;
		height: auto;
	}

	.p-box-bg.cl-line .p-box-bg-contents .text {
		margin: 0;
	}

	.p-box-bg.cl-line .p-box-bg-contents .text .heading {
		font-size: 2.4rem;
	}

	.p-box-bg .heading {
		padding: 0 0 0 30px;
		font-size: 1.8rem;
	}

	.p-box-bg .heading::before {
		top: 0.3em;
		width: 22px;
		height: 22px;
	}

	.p-box-bg-heading {
		top: -32px;
		margin: 0 -56px;
		padding: 10px;
		font-size: 2.4rem;
	}

	.p-box-bg p {
		font-size: 1.6rem;
	}

	.p-box-bg-contents .p-col {
		margin-top: 40px;
	}

	.p-box-info {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 40px 0 0;
		gap: 12px 40px;
	}

	.p-box-info dl {
		display: flex;
		margin: 0;
		font-size: 1.8rem;
	}

	.p-box-info dl dt::after {
		content: '｜';
	}

	.p-box-info dl dd small {
		font-size: 1.4rem;
	}

	.p-box-line {
		margin: 40px 0 0;
		padding: 32px 0;
	}

	.p-box-line .c-heading-level-1 {
		padding: 0 60px;
		font-size: 2rem;
	}

	.p-box-line.bg-gold-light .p-box-line-inner:nth-child(2n) {
		border-left: 2px solid #aaa;
	}

	.p-box-line.bg-gold-light .mt-be-columns .p-box-line-inner {
		padding: 0 60px;
	}

	.p-box-line.bg-gold-light .mt-be-columns .p-box-line-inner::before {
		display: none;
	}

	.p-box-line-contents {
		margin: 20px 0 0;
	}

	.p-box-line-inner {
		padding: 0 60px;
	}

	.p-box-line-inner:nth-child(2n) {
		border-left: 1px solid #ccc;
	}

	.p-box-line .heading {
		font-size: 1.6rem;
	}

	.p-box-line p {
		font-size: 1.8rem;
	}

	.p-box-line .mt-be-columns {
		gap: 0;
	}

	.p-box-writer {
		display: flex;
		margin: 40px 0 0 !important;
		padding: 30px 56px;
		gap: 32px 0;
	}

	.p-box-writer:has(.c-figure:first-child + .p-box-writer-inner) {
		flex-direction: row;
		align-items: flex-start;
		gap: 20px;
	}

	.p-box-writer-inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.p-box-writer-inner .p-wysiwyg {
		margin: 0 !important;
	}

	.p-box-writer-inner .p-wysiwyg:nth-child(2n+1) {
		padding-right: 33px;
	}

	.p-box-writer-inner .p-wysiwyg:nth-child(2n) {
		padding-left: 33px;
	}

	.p-box-writer-inner .p-wysiwyg::before {
		top: 0;
		width: 1px;
		height: 100%;
	}

	.p-breadcrumbs ol {
		max-width: 1180px;
		margin: 0 auto;
		padding: 24px 50px;
	}

	.p-breadcrumbs ol li::after {
		font-size: 1.3rem;
	}

	.p-breadcrumbs ol li a,
  .p-breadcrumbs ol li span {
		font-size: 1.3rem;
	}

	.p-card-column .info {
		margin: 20px 0 0;
	}

	.p-card-column .title {
		margin: 12px 0 0;
	}

	.p-card-column .text {
		margin: 12px 0 0;
	}

	.p-card-facility.horizontal {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto 1fr;
		grid-template-areas: 'image title' 'image text';
		gap: 20px 32px;
	}

	.p-card-facility.horizontal .title {
		grid-area: title;
	}

	.p-card-facility.horizontal .image {
		margin: 0;
		grid-area: image;
	}

	.p-card-facility.horizontal .image img {
		width: revert-layer;
	}

	.p-card-facility.horizontal .text {
		margin: 0;
		grid-area: text;
	}

	.p-card-facility .title {
		font-size: 2.4rem;
	}

	.p-card-facility .title .num {
		width: 28px;
		min-width: 28px;
		font-size: 2rem;
	}

	.p-card-facility + .p-card-facility {
		margin-top: 48px 0 0;
	}

	.p-card-guide {
		grid-template-columns: 168px 1fr;
		gap: 0 24px;
	}

	.p-card-guide .c-heading-mincho {
		font-size: 2.4rem;
	}

	.p-card-link .title {
		margin: 20px 0 0;
		font-size: 2.4rem;
	}

	.p-card-link p {
		margin: 16px 0 0;
		font-size: 1.6rem;
	}

	.p-card-link.sz-full .title {
		margin: 24px 0 0;
		font-size: 3.2rem;
	}

	.p-card-link.sz-full p {
		margin: 20px 0 0;
		font-size: 1.8rem;
	}

	.p-card-product .title {
		font-size: 2.4rem;
	}

	.p-card-product .description {
		margin: 16px 0 0;
		font-size: 1.6rem;
	}

	.p-card-product .price {
		margin: 16px 0 0;
		font-size: 1.6rem;
	}

	.p-card-schedule {
		border-radius: 4px;
	}

	.p-card-schedule .title {
		font-size: 1.6rem;
	}

	.p-card-use .title {
		margin: 16px 0 0;
		font-size: 2.4rem;
	}

	.p-card-use .text {
		margin: 16px 0 0;
	}

	.p-card-use .text a[target=_blank]::after {
		width: 14px;
	}

	.p-card-use .p-dl {
		margin: 16px 0 0;
	}

	.p-card-use.grid {
		justify-items: center;
	}

	.p-card-use.grid .c-figure {
		max-width: 345px;
		justify-self: self-end;
	}

	.p-card-use.grid .title {
		justify-content: flex-start;
		justify-self: self-start;
	}

	.p-card-use.grid .text {
		justify-self: self-start;
	}

	.p-clouds > div.pos-l:has(.cloud-gold-01) {
		left: -164px;
	}

	.p-clouds > div.pos-l:has(.cloud-gold-03) {
		left: -79px;
	}

	.p-clouds > div.pos-l:has(.cloud-gold-06) {
		left: -79px;
	}

	.p-clouds > div.pos-l:has(.cloud-02),
  .p-clouds > div.pos-l:has(.cloud-fill-02) {
		left: -73px;
	}

	.p-clouds > div.pos-l:has(.cloud-03),
  .p-clouds > div.pos-l:has(.cloud-fill-03) {
		left: -45px;
	}

	.p-clouds > div.pos-l:has(.cloud-04),
  .p-clouds > div.pos-l:has(.cloud-fill-04) {
		left: -90px;
	}

	.p-clouds > div.pos-r:has(.cloud-gold-01) {
		right: -164px;
	}

	.p-clouds > div.pos-r:has(.cloud-gold-03) {
		right: 79px;
	}

	.p-clouds > div.pos-r:has(.cloud-gold-06) {
		right: -103px;
	}

	.p-clouds > div.pos-r:has(.cloud-02),
  .p-clouds > div.pos-r:has(.cloud-fill-02) {
		right: 73px;
	}

	.p-clouds > div.pos-r:has(.cloud-03),
  .p-clouds > div.pos-r:has(.cloud-fill-03) {
		right: -45px;
	}

	.p-clouds > div.pos-r:has(.cloud-04),
  .p-clouds > div.pos-r:has(.cloud-fill-04) {
		right: -90px;
	}

	.p-clouds > div#cloud-404-1 {
		top: 130px;
		right: -15px;
	}

	.p-clouds > div#cloud-404-2 {
		top: -20px;
		right: -154px;
	}

	.p-col {
		display: grid;
		margin: 24px 0 0;
		grid-template-columns: repeat(2, 1fr);
		gap: 48px 40px;
	}

	.p-col.gap-narrow {
		gap: 24px;
	}

	.p-col.col-3 {
		grid-template-columns: repeat(3, 1fr);
		gap: 48px 32px;
	}

	.p-col.col-4 {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px 28px;
	}

	.p-col.col-5 {
		grid-template-columns: repeat(5, 1fr);
		gap: 40px 24px;
	}

	.p-col.col-image-2-1 {
		grid-template-columns: 0.69fr 0.31fr;
		gap: 48px 16px;
	}

	.p-col.col-image-2-1.reverse {
		direction: rtl;
	}

	.p-col.col-image-2-1.reverse > * {
		direction: ltr;
	}

	.p-col.col-image-2-1 .gap-wide {
		gap: 48px 32px;
	}

	.p-col.col-image-2-3 {
		grid-template-columns: 0.4fr 0.6fr;
		gap: 48px 16px;
	}

	.p-col.col-image-2-3.reverse {
		direction: rtl;
	}

	.p-col.col-image-2-3.reverse > * {
		direction: ltr;
	}

	.p-col.col-image-2-3 .text h3 {
		font-size: 2.4rem;
	}

	.p-col.col-image-2-3.gap-wide {
		gap: 48px 32px;
	}

	.p-dl-exp dt {
		font-size: 1.6rem;
	}

	.p-dl-info {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 0;
		font-size: 1.6rem;
		gap: 0;
	}

	.p-dl-info dt {
		margin: 0 0 0 32px;
	}

	.p-dl-info dt:first-child {
		margin: 0;
	}

	.p-dl-info .u-font-en {
		font-size: 1.8rem;
	}

	.p-dl-info small {
		font-size: 1.3rem;
	}

	.p-dl {
		grid-template-columns: 72px 1fr;
		gap: 12px 14px;
	}

	.p-dl dt {
		height: 25px;
		font-size: 1.4rem;
	}

	.p-dl dd .c-date {
		color: #222;
	}

	.p-dl dd:not(.date) {
		font-size: 1.6rem;
	}

	.p-error h2 {
		margin: 40px 0 0;
		font-size: 2.4rem;
		gap: 24px;
	}

	.p-error h2 .c-icon {
		width: 64px;
		height: 36px;
	}

	.p-exp .c-heading-mincho {
		font-size: 2.4rem;
	}

	.p-faq {
		margin: 48px 0 0;
	}

	.p-faq h2 {
		font-size: 3.2rem;
		letter-spacing: 0.05em;
	}

	.p-feature {
		margin: 32px 0 0;
		padding: 8px 24px 8px 8px;
		grid-template-columns: 90px 1fr;
		gap: 20px;
	}

	.p-feature .num {
		font-size: 4.8rem;
	}

	.p-feature .text {
		padding: 15px 0;
	}

	.p-feature .text p {
		font-size: 2rem !important;
	}

	.p-feature .text p .large {
		font-size: 2.4rem !important;
	}

	.p-header {
		min-height: 180px;
		padding: 40px 0;
	}

	.p-header h1 {
		font-size: 3.2rem;
		gap: 24px;
	}

	.p-header h1::before {
		width: 64px;
		height: 36px;
	}

	.p-header + .p-clouds #header-cloud-1 {
		top: 27px;
		right: -20px;
		width: 330px;
	}

	.p-header + .p-clouds #header-cloud-2 {
		top: -122px;
		right: -160px;
		width: 511px;
	}

	.p-header-article {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0 50px;
	}

	.p-header-article-inner {
		display: grid;
		padding: 0 0 24px;
		grid-template-columns: auto 1fr;
		grid-template-areas: 'date labels' 'title title';
		gap: 20px;
	}

	.p-header-article h1 {
		font-size: 2.4rem;
	}

	.p-header-article h1 sup {
		font-size: 1.8rem;
	}

	.p-html p {
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.p-html ul li {
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.p-illustrated {
		margin: 64px 0 0;
	}

	.p-illustrated-lead .title {
		font-size: 2.4rem;
	}

	.p-illustrated-list {
		display: grid;
		margin: 56px 0 0;
		grid-template-columns: repeat(3, 1fr);
		gap: 40px 32px;
	}

	.u-top-40-minus + .p-illustrated-list {
		margin-top: 16px;
	}

	.p-illustrated-list li .title {
		font-size: 2.4rem;
	}

	.p-illustrated-list li .title::before {
		width: 28px;
		min-width: 28px;
		font-size: 2rem;
	}

	.p-image-float h3 {
		margin: 24px 0 0 !important;
		font-size: 2.4rem !important;
	}

	.p-image-float .mt-figure.sz-rl-pc + h3 {
		margin-top: 32px !important;
	}

	.p-image-float p + .mt-figure.sz-rl-pc {
		margin-top: 24px !important;
	}

	.p-image-header {
		height: 442px;
	}

	.p-image-header-wrapper {
		-webkit-clip-path: url(#image-header-clip);
		clip-path: url(#image-header-clip);
	}

	.p-image-header-overlay {
		-webkit-clip-path: url(#image-header-clip);
		clip-path: url(#image-header-clip);
	}

	.p-image-header-overlay rect {
		fill: url(#image-header-gradient);
	}

	.p-image-header-inner {
		max-width: 1280px;
		padding: 0 50px;
	}

	.p-image-header h1 {
		gap: 14px;
	}

	.p-image-header h1 .ja {
		font-size: 4.8rem;
	}

	.p-image-header h1 .en {
		font-size: 2.4rem;
	}

	.p-image-header + .p-clouds #header-cloud-1 {
		top: -12px;
		right: -20px;
		width: 330px;
	}

	.p-image-header + .p-clouds #header-cloud-2 {
		top: -160px;
		right: -160px;
		width: 511px;
	}

	.p-image-tools {
		margin: 40px 0 0;
		grid-template-columns: 2fr 1fr 1fr;
		gap: 16px;
	}

	.p-image-tools .c-figure:nth-child(1) {
		grid-column: 1/2;
		grid-row: 1/3;
	}

	.p-information-innerlinks {
		padding: 15px 56px;
	}

	.p-information-innerlinks ul a {
		font-size: 1.6rem;
	}

	.p-information-innerlinks ul a::before {
		top: 0.1em;
	}

	.p-information-section {
		padding: 56px;
	}

	.p-innerlinks ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 10px 24px;
	}

	.p-innerlinks ul li a {
		padding: 4px 16px 6px 34px;
		font-size: 1.6rem;
	}

	.p-innerlinks.border {
		padding: 16px 45px;
	}

	.p-labels {
		gap: 6px 8px;
	}

	.p-list-columns {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 40px 32px;
	}

	.p-list-faq {
		margin: 24px 0 0;
	}

	.p-list-faq li::before,
  .p-list-faq li::after {
		top: 37px;
	}

	.p-list-faq li .q {
		padding: 24px 20px 24px 36px;
		font-size: 2rem;
		line-height: 1.45;
	}

	.p-list-faq li .q::before {
		top: 23px;
		font-size: 2.4rem;
	}

	.p-list-faq li .a {
		font-size: 1.6rem;
		line-height: 1.75;
	}

	.p-list-faq li .a .p-wysiwyg {
		padding: 0 0 24px 36px;
	}

	.p-list-flow {
		margin: 40px 0 0;
		gap: 40px;
	}

	.p-list-flow li::after {
		top: 50%;
		left: calc(100% + 18px);
		width: 7px;
		height: 12px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.p-list-flow.innerlinks li a::after {
		bottom: 10px;
	}

	.p-list-history li {
		margin: 48px 0 0;
		padding: 0 0 0 290px;
	}

	.p-list-history li::before {
		left: 13px;
		height: calc(100% + 48px);
	}

	.p-list-history li .year {
		padding: 0 0 0 50px;
		font-size: 3.4rem;
	}

	.p-list-history li .year::before {
		top: 0.65em;
		width: 28px;
	}

	.p-list-history li .year::after {
		top: calc(0.65em + 7px);
		left: 7px;
		width: 14px;
	}

	.p-list-history li .year span {
		font-size: 6.4rem;
	}

	.p-list-history li .contents {
		margin: 24px 0 0;
		padding: 0 0 48px;
	}

	.p-list-history li .contents .title {
		font-size: 2.4rem;
	}

	.p-list-history li .contents .text {
		margin: 24px 0 0;
	}

	.p-list-homemenu {
		overflow: hidden;
		justify-content: space-between;
		height: 600px;
		margin: 0 calc((100vw - 100% - var(--scrollbar-width)) / 2 * -1) 0 0;
		transition: gap 0.3s ease;
		gap: 0 1px;
	}

	.p-list-homemenu li {
		cursor: pointer;
		display: flex;
		flex: 1;
		justify-content: center;
		align-items: center;
		transition: flex 0.3s ease;
	}

	.p-list-homemenu li a {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 100%;
		height: 100%;
		padding: 90px 0;
		border-radius: 4px;
		transition: padding 0.3s ease;
	}

	.p-list-homemenu li a::before {
		background: rgba(34, 34, 34, 0.65);
		background-image: none;
		transition: all 0.3s ease;
	}

	.p-list-homemenu li a .c-heading::before {
		width: 64px;
		height: 36px;
		transition: all 0.3s ease;
	}

	.p-list-homemenu li a .c-heading .ja {
		margin: 18px 0 0;
		font-size: 3.2rem;
		-ms-writing-mode: tb-lr;
		-webkit-writing-mode: vertical-lr;
		writing-mode: vertical-lr;
	}

	.p-list-homemenu li a .c-heading .en {
		display: none;
	}

	.p-list-homemenu li a .c-btn-arrow {
		transition: opacity 0.3s ease;
	}

	.p-list-homemenu li a .c-figure img {
		-o-object-position: 65% 50%;
		object-position: 65% 50%;
	}

	.p-list-homemenu li:nth-child(2) a .c-figure img {
		-o-object-position: 61% 50%;
		object-position: 61% 50%;
	}

	.p-list-homemenu li:nth-child(3) a .c-figure img {
		-o-object-position: 50% 50%;
		object-position: 50% 50%;
	}

	.p-list-homemenu li:last-child {
		-webkit-transform-origin: right center;
		transform-origin: right center;
	}

	.p-list-homemenu li:last-child a .c-figure img {
		-o-object-position: 10% 50%;
		object-position: 10% 50%;
	}

	.p-list-homemenu:hover {
		gap: 0;
	}

	.p-list-homemenu:hover li {
		padding: 0 8px;
	}

	.p-list-homemenu:hover li:first-child {
		padding-left: 0;
	}

	.p-list-homemenu:hover li:last-child {
		padding-right: 0;
	}

	.p-list-homemenu:hover li:not(:hover) {
		flex: 0 0 120px;
	}

	.p-list-homemenu:hover li:not(:hover) a {
		padding: 0 0 90px;
	}

	.p-list-homemenu:hover li:not(:hover) a .c-heading::before {
		width: 2px;
		height: 167px;
		background: #fff;
		-webkit-filter: none;
		filter: none;
	}

	.p-list-homemenu:hover li:not(:hover) a .c-btn-arrow {
		opacity: 0;
	}

	.p-list-homemenu:hover li:not(:hover) a .c-figure img {
		-o-object-position: 82% 50%;
		object-position: 82% 50%;
	}

	.p-list-homemenu:hover li:not(:hover):nth-child(2) a .c-figure img {
		-o-object-position: 22% 50%;
		object-position: 22% 50%;
	}

	.p-list-homemenu:hover li:not(:hover):nth-child(3) a .c-figure img {
		-o-object-position: 73% 50%;
		object-position: 73% 50%;
	}

	.p-list-homemenu:hover li:not(:hover):last-child a .c-figure img {
		-o-object-position: 20% 50%;
		object-position: 20% 50%;
	}

	.p-list-homemenu:hover li:hover {
		flex: 1;
		transition: flex 0.2s ease;
	}

	.p-list-homemenu:hover li:hover a {
		justify-content: center;
	}

	.p-list-homemenu:hover li:hover a::before {
		background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
	}

	.p-list-homemenu:hover li:hover a .c-heading::before {
		width: 68px;
		height: 40px;
	}

	.p-list-homemenu:hover li:hover a .c-heading .ja {
		-ms-writing-mode: unset;
		-webkit-writing-mode: unset;
		writing-mode: unset;
	}

	.p-list-homemenu:hover li:hover a .c-heading .en {
		display: block;
	}

	.p-list-homemenu:hover li:hover a .c-btn-arrow {
		margin: 24px 0 0;
	}

	.p-list-homemenu:hover li:hover:nth-child(2n) a::before {
		background: linear-gradient(to left, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
	}

	.p-list-homemenu:not(:has(li: hover)) li {
		flex: 1 !important;
	}

	.p-list-news li .c-date {
		font-size: 1.5rem;
	}

	.p-list-news li .c-date span {
		font-size: 1.8rem;
	}

	.p-list-news li .c-label {
		width: 110px;
	}

	.p-list-news li .title {
		font-size: 1.6rem;
	}

	.p-list-news li .title {
		position: relative;
		padding-bottom: 0.3rem;
	}

	.p-list-news li .title::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #222;
		transition: -webkit-transform 0.3s;
		transition: transform 0.3s;
		transition: transform 0.3s, -webkit-transform 0.3s;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
		-webkit-transform-origin: right top;
		transform-origin: right top;
	}

	.p-list-news li .title[target=_blank]::after {
		top: 0.05em;
		width: 14px;
		min-width: 14px;
	}

	.p-list-other {
		display: flex;
		gap: 0 24px;
	}

	.p-list-other .facilities {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 24px;
	}

	.p-list-other .language {
		margin: 0;
	}

	.p-list-program {
		display: grid;
		margin: 40px 0 0;
		grid-template-columns: repeat(5, 1fr);
	}

	.p-list-program li a {
		flex-direction: column;
		height: auto;
		min-height: 300px;
		padding: 48px 0 32px;
		font-size: 2.8rem;
	}

	.p-list-program li a .title {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}

	.p-list-schedule.l-section-contents-inner {
		margin: 10px 0 0;
	}

	.p-list-schedule-inner {
		grid-template-columns: 168px 1fr 200px;
		grid-template-areas: 'image contents links';
		gap: 40px;
	}

	.p-list-schedule-inner:not(:has(.p-list-schedule-image)) {
		grid-template-areas: 'contents links';
	}

	.p-list-schedule-contents .labels {
		gap: 8px;
	}

	.p-list-schedule-contents .title {
		margin: 14px 0 0;
	}

	.p-list-schedule-contents .title .sup {
		font-size: 1.6rem;
	}

	.p-list-schedule-contents .title .main {
		font-size: 2rem;
	}

	.p-list-schedule-contents dl {
		grid-template-columns: 72px 1fr;
		gap: 12px 14px;
	}

	.p-list-schedule-contents dl dt {
		height: 25px;
		font-size: 1.4rem;
	}

	.p-list-schedule-contents dl dd .c-date {
		color: #222;
	}

	.p-list-schedule-contents dl dd:not(.date) {
		font-size: 1.6rem;
	}

	.p-list-schedule-contents .text {
		margin: 20px 0 0;
		font-size: 1.4rem;
		line-height: 1.5714285714;
		-webkit-line-clamp: 2;
	}

	.p-list-schedule-links {
		align-self: center;
		gap: 14px;
	}

	.p-list-sns {
		margin: 0;
	}

	.p-list {
		margin: 16px 0 0;
		font-size: 1.6rem;
	}

	.p-list li {
		padding: 0 0 0 22px;
	}

	.p-list li::before {
		top: 0.4em;
	}

	.p-list.sz-large {
		font-size: 2.4rem;
	}

	.p-pagination {
		margin: 32px 0 0;
		gap: 0 32px;
	}

	.p-pagination-list a {
		width: 32px;
		height: 32px;
		font-size: 1.8rem;
	}

	.p-pagination.arrows {
		margin: 40px auto 0;
	}

	.l-article .p-pagination.arrows {
		max-width: 1280px;
		padding: 0 50px;
	}

	.p-particle-light {
		width: 500px;
		height: 350px;
		-webkit-transform: translate3d(-150px, -150px, 0) rotateZ(-35deg);
		transform: translate3d(-150px, -150px, 0) rotateZ(-35deg);
	}

	.p-particle-light.pos-r {
		-webkit-transform: translate3d(150px, -150px, 0) rotateZ(35deg);
		transform: translate3d(150px, -150px, 0) rotateZ(35deg);
	}

	.p-particle-light.pos-l-b {
		-webkit-transform: translate3d(-150px, 150px, 0) rotateZ(35deg);
		transform: translate3d(-150px, 150px, 0) rotateZ(35deg);
	}

	.p-particle-light.pos-r-b {
		-webkit-transform: translate3d(150px, 150px, 0) rotateZ(-35deg);
		transform: translate3d(150px, 150px, 0) rotateZ(-35deg);
	}

	.p-refine-header .total {
		font-size: 2rem;
	}

	.p-refine-header .count {
		font-size: 1.6rem;
	}

	.p-refine-news {
		flex-direction: row;
		justify-content: space-between;
		gap: 20px;
	}

	.p-refine-schedule {
		flex-direction: row;
		flex-wrap: wrap;
		padding: 12px;
	}

	.p-refine-schedule h2 {
		width: 100%;
		font-size: 1.6rem;
	}

	.p-refine-schedule-inner {
		gap: 12px;
	}

	.p-refine-schedule-contents {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}

	.p-refine-schedule-contents .c-select-wrap select {
		font-size: 1.6rem;
	}

	.p-refine-schedule-submit {
		flex-direction: row;
		justify-content: center;
		gap: 0 16px;
	}

	.p-refine-schedule-submit button {
		width: 102px;
		height: 42px;
		font-size: 1.6rem;
	}

	.p-refine-schedule-submit button::before {
		width: 24px;
		height: 24px;
	}

	.p-seat {
		max-width: 1068px !important;
	}

	.p-seat .mt-figure {
		margin: 0;
	}

	.p-seat .l-section-contents:nth-of-type(2) {
		padding-top: 64px;
	}

	.p-seat .mt-figure#seat-1f {
		position: absolute;
		z-index: -1;
		top: -160px;
		right: 0;
		overflow: visible;
	}

	.p-seat .mt-figure#seat-1f .map {
		width: 572px;
		height: 589px;
	}

	.p-seat .mt-figure#seat-1f .sup {
		position: absolute;
		top: 190px;
		left: -52px;
		width: 451px;
		height: 445px;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.p-seat .mt-figure#seat-2f {
		position: absolute;
		z-index: -1;
		top: 64px;
		right: 0;
		overflow: visible;
	}

	.p-seat .mt-figure#seat-2f .map {
		width: 539px;
		height: 294px;
	}

	.p-seat .mt-figure#seat-2f .sup {
		position: absolute;
		top: 253px;
		left: -69px;
		width: 217px;
		height: 3px;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.p-seat .l-section-contents-inner {
		width: 339px;
	}

	.p-seat .l-section-contents-inner#seat-1-3 {
		display: grid;
		position: absolute;
		bottom: 64px;
		left: 402px;
		width: 571px;
		grid-template-columns: 339px;
		grid-template-rows: auto 1fr;
		gap: 0 20px;
	}

	.p-seat .l-section-contents-inner#seat-1-3 .mt-figure {
		grid-column: 1/2;
		grid-row: 1/3;
	}

	.p-seat .l-section-contents-inner#seat-1-3 h2 {
		grid-column: 2/3;
		grid-row: 1/2;
	}

	.p-seat .l-section-contents-inner#seat-1-3 p {
		grid-column: 2/3;
		grid-row: 2/3;
	}

	.p-seat .l-section-contents-inner#seat-2-1 {
		margin: 0;
	}

	.p-seat h2 {
		font-size: 2.4rem;
	}

	.p-seat p.lead {
		width: 431px;
	}

	.p-select-calendar-picker {
		right: auto;
		min-width: 400px;
	}

	.p-select-calendar-picker::before {
		left: 80px;
	}

	.p-select-calendar-section {
		margin: 20px 0 0;
	}

	.p-select-calendar-select {
		font-size: 2.2rem;
	}

	.p-select-calendar-weekdays span {
		font-size: 1.6rem;
	}

	.p-select-calendar-days {
		padding: 6px 0 10px;
		gap: 7px 11px;
	}

	.p-select-calendar-day-btn {
		font-size: 1.8rem;
	}

	.p-slider-main .splide__arrows {
		position: absolute;
		top: 168px;
		width: 100%;
	}

	.p-slider-main .splide__arrows .splide__arrow--prev {
		left: -29px;
	}

	.p-slider-main .splide__arrows .splide__arrow--next {
		right: -29px;
	}

	.p-slider-thumb-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 8px;
	}

	.p-text-image.bg-base,
  .p-text-image.bg-gold-light {
		padding: 40px 0;
	}

	.p-text-image.bg-base::before,
  .p-text-image.bg-gold-light::before {
		margin: 0 -50px;
	}

	.p-text-image .text p {
		font-size: 1.8rem;
	}

	.p-wysiwyg .p-text-image .text p {
		font-size: 1.6rem;
	}

	.p-text-image.flex .text h2,
  .p-text-image.flex .text h3,
  .p-text-image.flex .text h4 {
		font-size: 1.8rem;
	}

	.p-text-image.flex {
		grid-template-columns: 1fr auto;
		gap: 40px;
	}

	.p-text-image.flex .mt-be-image {
		display: contents;
	}

	.p-text-image.flex .mt-be-image img {
		max-width: 339px !important;
	}

	.p-top-caution {
		display: flex;
		top: var(--header-height);
		left: 0;
		width: 100%;
		margin: 0;
		padding: 16px 40px;
		gap: 10px;
	}

	.p-top-caution h2 {
		height: 26px;
		padding: 0 20px;
		font-size: 1.3rem;
	}

	.p-top-caution p {
		margin: 0;
		font-size: 1.6rem;
		line-height: 1.5;
	}

	.p-top-caution button {
		top: 17px;
		right: 14px;
	}

	.p-use-info {
		display: grid;
	}

	.p-use-info-text .l-links {
		align-items: flex-start;
	}

	.p-wysiwyg:not(.demote) h1:not([class]),
  .p-wysiwyg:not(.demote) h1[class^=u-],
  .p-wysiwyg:not(.demote) h1[class*=' u-'] {
		margin: 72px 0 0;
		font-size: 3.2rem;
	}

	.p-wysiwyg:not(.demote) h1:not([class]) .sup,
  .p-wysiwyg:not(.demote) h1[class^=u-] .sup,
  .p-wysiwyg:not(.demote) h1[class*=' u-'] .sup {
		font-size: 1.8rem;
	}

	.p-wysiwyg:not(.demote) h1:not([class]) .num,
  .p-wysiwyg:not(.demote) h1[class^=u-] .num,
  .p-wysiwyg:not(.demote) h1[class*=' u-'] .num {
		font-size: 3.2rem;
	}

	.p-wysiwyg:not(.demote) h2:not([class]),
  .p-wysiwyg:not(.demote) h2[class^=u-],
  .p-wysiwyg:not(.demote) h2[class*=' u-'] {
		padding: 10px 24px;
		font-size: 2rem;
	}

	.p-wysiwyg:not(.demote) h3:not([class]),
  .p-wysiwyg:not(.demote) h3[class^=u-],
  .p-wysiwyg:not(.demote) h3[class*=' u-'] {
		font-size: 1.8rem;
	}

	.p-wysiwyg:not(.demote) h4:not([class]),
  .p-wysiwyg:not(.demote) h4[class^=u-],
  .p-wysiwyg:not(.demote) h4[class*=' u-'] {
		font-size: 1.6rem;
	}

	.p-wysiwyg:not(.demote) h5:not([class]),
  .p-wysiwyg:not(.demote) h5[class^=u-],
  .p-wysiwyg:not(.demote) h5[class*=' u-'] {
		font-size: 1.4rem;
	}

	.p-wysiwyg.demote h2:not([class]),
  .p-wysiwyg.demote h2[class^=u-],
  .p-wysiwyg.demote h2[class*=' u-'] {
		margin: 72px 0 0;
		font-size: 3.2rem;
	}

	.p-wysiwyg.demote h2:not([class]) .sup,
  .p-wysiwyg.demote h2[class^=u-] .sup,
  .p-wysiwyg.demote h2[class*=' u-'] .sup {
		font-size: 1.8rem;
	}

	.p-wysiwyg.demote h2:not([class]) .num,
  .p-wysiwyg.demote h2[class^=u-] .num,
  .p-wysiwyg.demote h2[class*=' u-'] .num {
		font-size: 3.2rem;
	}

	.p-wysiwyg.demote h3:not([class]),
  .p-wysiwyg.demote h3[class^=u-],
  .p-wysiwyg.demote h3[class*=' u-'] {
		padding: 10px 24px;
		font-size: 2rem;
	}

	.p-wysiwyg.demote h4:not([class]),
  .p-wysiwyg.demote h4[class^=u-],
  .p-wysiwyg.demote h4[class*=' u-'] {
		font-size: 1.8rem;
	}

	.p-wysiwyg.demote h5:not([class]),
  .p-wysiwyg.demote h5[class^=u-],
  .p-wysiwyg.demote h5[class*=' u-'] {
		font-size: 1.6rem;
	}

	.p-wysiwyg [class^=p-box] h3:not([class]),
  .p-wysiwyg [class^=p-box] h3[class^=u-],
  .p-wysiwyg [class^=p-box] h3[class*=' u-'] {
		padding: 0 0 0 30px;
	}

	.p-wysiwyg [class^=p-box] h3:not([class])::before,
  .p-wysiwyg [class^=p-box] h3[class^=u-]::before,
  .p-wysiwyg [class^=p-box] h3[class*=' u-']::before {
		top: 0.3em;
		width: 22px;
		height: 22px;
	}

	.p-wysiwyg .c-heading {
		font-size: 2.8rem;
	}

	.p-wysiwyg p:not([class]),
  .p-wysiwyg p[class^=u-],
  .p-wysiwyg p[class*=' u-'] {
		font-size: 1.6rem;
	}

	.p-wysiwyg a:not([class])[target=_blank]::after,
  .p-wysiwyg a[class^=u-][target=_blank]::after,
  .p-wysiwyg a[class*=' u-'][target=_blank]::after {
		width: 14px;
		min-width: 14px;
	}

	.p-wysiwyg ul:not([class]) > li,
  .p-wysiwyg ul[class^=u-] > li,
  .p-wysiwyg ul[class*=' u-'] > li {
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.p-wysiwyg ol:not([class]) > li,
  .p-wysiwyg ol[class^=u-] > li,
  .p-wysiwyg ol[class*=' u-'] > li {
		padding-left: 24px;
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.p-wysiwyg ol:not([class]) > li::before,
  .p-wysiwyg ol[class^=u-] > li::before,
  .p-wysiwyg ol[class*=' u-'] > li::before {
		top: 4px;
		width: 20px;
		min-width: 20px;
		height: 20px;
		font-size: 1.2rem;
	}

	.p-wysiwyg table,
  .p-wysiwyg [class^=p-box],
  .p-wysiwyg > .p-col {
		margin: 24px 0 0;
	}

	.p-wysiwyg table {
		font-size: 1.6rem;
	}

	.p-wysiwyg table th,
  .p-wysiwyg table td {
		padding: 12px 16px;
	}

	.p-wysiwyg address {
		font-size: 1.6rem;
		font-style: normal;
		line-height: 1.625;
	}

	.p-yt-video-thumbnail::before {
		width: 60px;
	}

	.p-yt-video > p {
		font-size: 1.4rem;
		line-height: 1.7142857143;
	}

	.p-yt .splide {
		visibility: visible;
	}

	.p-yt .splide__list {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		gap: 2.5vw;
	}

	.p-yt .splide__arrows {
		display: none;
	}

	.mt-be-columns {
		display: grid !important;
		margin: 24px 0 0;
		grid-template-columns: repeat(2, 1fr);
		gap: 40px;
	}

	.mt-be-file {
		margin: 24px 0 0;
		font-size: 1.6rem;
	}

	.mt-figure {
		margin: 24px 0 0;
	}

	.mt-figure figcaption {
		margin: 8px 0 0;
	}

	.mt-figure.sz-rl-pc {
		display: flex;
		justify-content: center;
	}

	.mt-figure.sz-rl-pc img {
		width: revert-layer;
		height: auto;
	}

	.js-refine.is-no-results::after {
		font-size: 1.8rem;
	}

	.p-wysiwyg .js-highlight.syntax-highlight {
		margin: 32px 0;
	}

	.l-article {
		margin: 24px 0 0;
	}

	.l-article > .p-clouds:first-of-type #header-cloud-1 {
		top: -3px;
		right: -20px;
		width: 330px;
		aspect-ratio: 390/112;
	}

	.l-article > .p-clouds:first-of-type #header-cloud-2 {
		top: -150px;
		right: -160px;
		width: 511px;
		aspect-ratio: 480/160;
	}

	.l-article-catch,
  .l-article-inner {
		max-width: 1280px;
		margin-right: auto;
		margin-left: auto;
		padding: 0 50px;
	}

	.l-article-catch {
		display: grid;
		margin-top: 40px;
		grid-template-columns: 1fr 1fr;
		gap: 0 42px;
	}

	.l-article-catch .text h2 {
		font-size: 2rem;
	}

	.l-article-catch .text p {
		font-size: 1.6rem;
	}

	.l-article-catch .text ul > li {
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.l-article-catch .text ol > li {
		padding-left: 24px;
		font-size: 1.6rem;
		line-height: 1.625;
	}

	.l-article-catch .text ol > li::before {
		top: 4px;
		width: 20px;
		min-width: 20px;
		height: 20px;
		font-size: 1.2rem;
	}

	.l-article-catch.schedule {
		display: grid;
		grid-template-columns: 368px 1fr;
	}

	.l-article-catch.schedule .image {
		gap: 10px;
	}

	.l-article-catch.schedule .contents .labels {
		gap: 8px;
	}

	.l-article-catch.schedule .contents .title .sup {
		font-size: 1.6rem;
	}

	.l-article-catch.schedule .contents .title .main {
		font-size: 2.4rem;
	}

	.l-article-catch.schedule .contents dl {
		margin: 40px 0 0;
		grid-template-columns: 72px 1fr;
		gap: 16px 14px;
	}

	.l-article-catch.schedule .contents dt {
		height: 25px;
		font-size: 1.4rem;
	}

	.l-article-catch.schedule .contents .links {
		margin: 40px 0 0;
	}

	.l-article-catch.schedule .contents .text {
		margin: 40px 0 0;
		font-size: 1.6rem;
		line-height: 1.75;
	}

	.l-article-inner {
		padding-bottom: 40px;
	}

	.l-article-inner::after {
		width: calc(100% - 100px);
	}

	.l-ev {
		height: 420px;
		margin: 0 0 -260px;
	}

	.l-fill.no-padding {
		padding: 0;
	}

	.l-fill.no-margin {
		margin: 0 -50px;
	}

	.l-fill.p-wide {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.l-fill.p-wide hr {
		margin-top: 64px;
		margin-bottom: 64px;
	}

	.l-fill-inner {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 40px;
	}

	.l-fill-inner .title {
		flex-direction: row;
		justify-content: center;
		font-size: 2.4rem;
		gap: 16px;
	}

	.l-fill-inner .title .c-icon {
		width: 38px;
		height: 38px;
	}

	.l-fill hr {
		margin: 32px 0;
	}

	.l-fill-contents .c-note {
		margin: 12px 0 0;
		font-size: 1.4rem;
	}

	.l-footcontens {
		margin-top: 120px;
		margin-bottom: -120px;
	}

	.l-footer {
		padding: 160px 0 0;
	}

	.l-footer-arc {
		height: 100px;
	}

	.l-footer-wrapper {
		padding: 48px 0;
	}

	#footer-cloud-1-1 {
		top: -25px;
		left: -150px;
		width: 402px;
	}

	#footer-cloud-2-1 {
		top: -105px;
		right: 10px;
		width: 272px;
	}

	#footer-cloud-2-2 {
		top: -50px;
		right: -85px;
		width: 408px;
	}

	.l-header {
		height: 122px;
	}

	.l-header::before {
		height: 122px;
	}

	.l-header-logo {
		top: 50px;
		left: 40px;
	}

	.l-header-nav > ul > li.is-current::after {
		background-color: #eab44b;
	}

	.l-header-nav-child li a {
		display: flex;
		flex-direction: column;
		font-family: 'BIZ UDPMincho', serif;
		font-size: 1.7rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		transition: color 0.2s ease;
		gap: 13px;
	}

	.l-header-nav-child li a figure {
		overflow: hidden;
		width: 250px;
		height: 91px;
		border-radius: 4px;
	}

	.l-header-nav-child li a figure img {
		display: block;
		width: 100%;
		height: 100%;
		transition: -webkit-transform 0.3s ease;
		transition: transform 0.3s ease;
		transition: transform 0.3s ease, -webkit-transform 0.3s ease;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.l-header-nav-child li a .title {
		position: relative;
		padding: 0 12px 0 0;
	}

	.l-header-nav-child li a .title::after {
		content: '';
		display: block;
		position: absolute;
		top: 0.425em;
		right: 0;
		width: 7px;
		height: 12px;
		background: no-repeat 50% 50%/contain;
		background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 7 12\'%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' fill=\'%23222\' d=\'m13.807 19.788 4.125-4.167-4.125-4.167a1.078 1.078 0 0 1 0-1.514 1.052 1.052 0 0 1 1.5 0l4.88 4.929a1.077 1.077 0 0 1 0 1.514l-4.88 4.929a1.051 1.051 0 0 1-1.5 0 1.1 1.1 0 0 1 0-1.525Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'translate(-13.497 -9.627)\'/%3E%3C/svg%3E');
		transition: -webkit-filter 0.2s ease;
		transition: filter 0.2s ease;
		transition: filter 0.2s ease, -webkit-filter 0.2s ease;
		-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	}

	.l-links {
		margin: 40px 0 0;
	}

	.c-heading-level-1 + .l-links {
		margin-top: 24px;
	}

	.l-section {
		margin: 80px 0 0;
	}

	.p-breadcrumbs + .l-section {
		margin-top: 44px;
	}

	.l-section.margin-narrow {
		margin: 40px 0 0;
	}

	.l-section.margin-wide {
		margin: 120px 0 0;
	}

	.l-section.padding {
		padding: 80px 0;
	}

	.l-section.ending {
		margin: 0 0 -260px;
		padding: 80px 0 260px;
	}

	.l-section-inner {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 50px;
	}

	.l-section-contents {
		margin: 48px 0 0;
	}

	.l-section-contents.margin-wide {
		margin: 80px 0 0;
	}

	.l-section-contents.padding {
		padding: 80px 0;
	}

	.l-section-contents-inner {
		margin: 48px 0 0;
	}

	.l-section-contents-inner.padding {
		padding: 0 50px;
	}

	#guidestep2 .l-section-illust img {
		height: auto;
	}

	.l-section#guidestep3 .p-box-bg {
		padding: 20px 150px 20px 24px;
	}

	.l-section#guidestep4 .p-box-bg {
		padding: 60px 56px;
	}

	.l-tools {
		display: flex;
		flex-direction: column;
	}

	.l-tools .p-image-tools {
		order: 2;
	}

	.l-tools-inner {
		order: 1;
		margin-top: 0;
	}

	.p-home-kv-logo {
		left: 100px;
		width: 414px;
		height: 113px;
		margin: -40px 0 0;
	}

	.p-home-kv-scroll {
		top: calc(100svh - 3em - 150px);
		left: 40px;
	}

	.p-home-schedule {
		padding: calc(10svh + 76px) 0 96px;
	}

	.p-home-schedule-list .splide {
		visibility: visible;
	}

	.p-home-schedule-list .splide__arrows {
		display: none;
	}

	.p-home-schedule-wrapper {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		gap: 32px;
	}

	.p-home-schedule-wrapper .splide__slide {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
	}

	.p-home-schedule-wrapper .p-card-schedule {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
	}

	.p-home-news {
		padding: 82px 0 92px;
	}

	.l-fill.p-home-banner-vr {
		margin-top: 56px;
	}

	.p-home-banner-column {
		margin: 56px 50px 0;
	}

	.p-home-banner-tabisho {
		margin: 32px 50px 0;
	}

	.p-home-banner-others .splide__slide a img {
		width: 344px;
	}

	.p-home-banner-others .splide__arrow {
		pointer-events: visible;
	}

	.p-home-banner-others .splide__arrow--prev {
		-webkit-transform: translateX(-50px);
		transform: translateX(-50px);
	}

	.p-home-banner-others .splide__arrow--next {
		-webkit-transform: translateX(50px);
		transform: translateX(50px);
	}

	#home-cloud-1-1 {
		top: 108px;
		width: 259px;
	}

	#home-cloud-1-2 {
		top: 38px;
		width: 447px;
	}

	#home-cloud-2-1 {
		top: 65px;
		right: -130px;
		width: 390px;
	}

	#home-cloud-2-2 {
		top: -120px;
		right: -70px;
		width: 480px;
	}

	#home-cloud-3-1 {
		top: 14px;
		left: -70px;
		width: 311px;
	}

	#home-cloud-3-2 {
		top: -140px;
		left: -80px;
		width: 480px;
	}

	#home-cloud-4-1 {
		top: 15px;
		right: -130px;
		width: 338px;
	}

	#home-cloud-4-2 {
		top: 50px;
		right: -130px;
		width: 392px;
	}

	#home-cloud-5-1 {
		top: -100px;
		left: -40px;
		width: 346px;
	}

	#home-cloud-6-1 {
		top: -130px;
		right: -110px;
		width: 290px;
	}

	#home-light-1 .l-effects-wrap {
		-webkit-transform: rotateZ(30deg);
		transform: rotateZ(30deg);
	}

	#home-light-1 canvas {
		top: calc(-10svh + 225px);
		left: 45px;
		width: 280px;
		height: 480px;
	}

	#home-light-2 .l-effects-wrap {
		-webkit-transform: rotateZ(25deg);
		transform: rotateZ(25deg);
	}

	#home-light-2 canvas {
		right: 30px;
		bottom: 35px;
		width: 400px;
		height: 600px;
	}

	#home-light-3 .l-effects-wrap {
		-webkit-transform: rotateZ(-25deg);
		transform: rotateZ(-25deg);
	}

	#home-light-3 canvas {
		bottom: -300px;
		left: -300px;
		width: 600px;
		height: 1000px;
	}

	.u-hide-pc {
		display: none !important;
	}

	.u-jc-start-pc {
		justify-content: flex-start !important;
	}

	.u-jc-center-pc {
		justify-content: center !important;
	}

	.u-jc-end-pc {
		justify-content: flex-end !important;
	}

	.u-ai-start-pc {
		justify-content: flex-start !important;
	}

	.u-ai-center-pc {
		justify-content: center !important;
	}

	.u-ai-end-pc {
		justify-content: flex-end !important;
	}

	.u-float-left {
		margin: 0 40px 40px 0;
	}

	.u-float-left-pc {
		float: left !important;
		margin: 0 40px 40px 0;
	}

	.u-float-right {
		margin: 0 0 40px 40px;
	}

	.u-float-right-pc {
		float: right !important;
		margin: 0 0 40px 40px;
	}

	.u-mt-0-pc {
		margin-top: 0 !important;
	}

	.u-mt-4-pc {
		margin-top: 4px !important;
	}

	.u-mt-8-pc {
		margin-top: 8px !important;
	}

	.u-mt-16-pc {
		margin-top: 16px !important;
	}

	.u-mt-24-pc {
		margin-top: 24px !important;
	}

	.u-mt-32-pc {
		margin-top: 32px !important;
	}

	.u-mt-40-pc {
		margin-top: 40px !important;
	}

	.u-mt-48-pc {
		margin-top: 48px !important;
	}

	.u-mt-64-pc {
		margin-top: 64px !important;
	}

	.u-mt-80-pc {
		margin-top: 80px !important;
	}

	.u-mt-120-pc {
		margin-top: 120px !important;
	}

	.u-pt-0-pc {
		padding-top: 0 !important;
	}

	.u-pt-4-pc {
		padding-top: 4px !important;
	}

	.u-pt-8-pc {
		padding-top: 8px !important;
	}

	.u-pt-16-pc {
		padding-top: 16px !important;
	}

	.u-pt-24-pc {
		padding-top: 24px !important;
	}

	.u-pt-32-pc {
		padding-top: 32px !important;
	}

	.u-pt-40-pc {
		padding-top: 40px !important;
	}

	.u-pt-48-pc {
		padding-top: 48px !important;
	}

	.u-al-center-pc {
		text-align: center !important;
	}

	.u-al-right-pc {
		text-align: right !important;
	}

	.u-al-justify-pc {
		text-align: justify !important;
	}
}

@media screen and (min-width: 768px) and (hover: hover) {
	.p-list-news li .title:hover::before {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.l-header-nav-child li a:hover {
		color: #eab44b;
	}

	.l-header-nav-child li a:hover figure img {
		-webkit-transform: scale3d(1.1, 1.1, 1) rotateZ(0.000001deg);
		transform: scale3d(1.1, 1.1, 1) rotateZ(0.000001deg);
	}

	.l-header-nav-child li a:hover .title::after {
		-webkit-filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
		filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
	}
}

@media screen and (min-width: 1080px) {
	.p-accessinfo {
		display: grid;
		grid-template-columns: 0.64fr 0.36fr;
		gap: 40px;
	}

	.p-accessinfo .c-figure {
		margin: -156px 0;
	}

	.p-banner.line {
		flex-direction: row;
		height: 104px;
		padding: 0;
	}

	.p-banner.line .c-icon {
		position: absolute;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.p-banner.line .lead {
		position: absolute;
		top: 50%;
		right: 32px;
		font-size: 1.6rem;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.p-col-tools {
		grid-template-areas: 'image-1 text' 'image-1 image-2' 'image-1 image-3';
		gap: 40px;
	}

	.p-col-tools .image-2 {
		position: relative;
		right: clamp(-100px, -1px - 99 * (100vw - 1080px) / 256, -1px);
		width: 77%;
		max-width: 400px;
		justify-self: self-end;
	}

	.p-col-tools.reverse {
		grid-template-areas: 'text image-1' 'image-2 image-1' 'image-3 image-1';
	}

	.p-col-tools.reverse .image-2 {
		left: clamp(-100px, -1px - 99 * (100vw - 1080px) / 256, -1px);
		justify-self: self-start;
	}

	#nohmen .p-col-tools + .l-effects {
		left: -350px;
	}

	#shozoku .p-col-tools + .l-effects {
		left: 450px;
	}

	#ogi .p-col-tools + .l-effects {
		left: -150px;
	}

	.p-exp {
		position: relative;
		margin: 40px 0 0;
		padding: 70px 0;
	}

	.p-exp-inner {
		padding: 50px 340px 50px 40px;
	}

	.p-exp .c-figure {
		position: absolute;
		top: 0;
		right: 0;
		width: 300px;
		height: 100%;
	}

	.p-list-flow li {
		width: 160px;
		font-size: 2rem;
	}

	.p-list-flow li .c-icon {
		width: 66px;
	}

	.p-list-flow li::before {
		font-size: 2.4rem;
	}

	.p-list-flow.innerlinks li a {
		width: 160px;
		padding: 10px 0 20px;
		font-size: 2rem;
	}

	.p-list-flow.innerlinks li a::before {
		font-size: 2.4rem;
	}

	.p-list-news li {
		padding: 20px 0;
		grid-template-columns: 140px 110px 1fr;
		grid-template-rows: auto;
		grid-template-areas: 'date label title';
	}

	.p-list-news li:first-child {
		padding-top: 0;
	}

	.page-home:not(.is-scrolled) .p-list-other .facilities a {
		color: #eab44b;
		transition: color 0.2s ease 0.1s;
	}

	.page-home:not(.is-scrolled) .p-list-other .facilities a .c-icon {
		transition: -webkit-filter 0.2s ease 0.1s;
		transition: filter 0.2s ease 0.1s;
		transition: filter 0.2s ease 0.1s, -webkit-filter 0.2s ease 0.1s;
		-webkit-filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
		filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
	}

	.page-home:not(.is-scrolled) .p-list-other .language li::before {
		color: #fff;
		transition: color 0.2s ease 0.1s;
	}

	.page-home:not(.is-scrolled) .p-list-other .language li a {
		color: #fff;
		transition: color 0.2s ease 0.1s;
	}

	.page-home.is-megamenu-active:not(.is-scrolled) .p-list-other .facilities a {
		color: #8b610e;
		transition: color 0.2s ease;
	}

	.page-home.is-megamenu-active:not(.is-scrolled) .p-list-other .facilities a .c-icon {
		transition: -webkit-filter 0.2s ease;
		transition: filter 0.2s ease;
		transition: filter 0.2s ease, -webkit-filter 0.2s ease;
		-webkit-filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
		filter: invert(41%) sepia(36%) saturate(979%) hue-rotate(2deg) brightness(87%) contrast(94%);
	}

	.page-home.is-megamenu-active:not(.is-scrolled) .p-list-other .language li::before {
		color: #222;
		transition: color 0.2s ease;
	}

	.page-home.is-megamenu-active:not(.is-scrolled) .p-list-other .language li a {
		color: #222;
		transition: color 0.2s ease;
	}

	.page-home.is-megamenu-active:not(.is-scrolled) .p-list-other .language li a.is-active {
		color: #fff;
	}

	.p-refine-schedule {
		display: grid;
		align-items: center;
		grid-template-columns: 4em 1fr;
		gap: 16px;
	}

	.p-refine-schedule h2 {
		width: auto;
	}

	.p-refine-schedule-inner {
		display: grid;
		align-items: center;
		grid-template-columns: 1fr auto;
	}

	.p-text-image {
		display: grid;
		margin: 32px 0 0;
		grid-template-columns: 470px 1fr;
		gap: 0 72px;
	}

	.p-text-image.margin-wide {
		margin: 40px 0 0;
	}

	.p-text-image.bg-shift {
		padding: 0;
	}

	.p-text-image.bg-shift::before {
		bottom: 40px;
		margin: -80px calc((100vw - 100% - var(--scrollbar-width)) / 2 * -1) 0;
	}

	.p-text-image .text {
		margin: 0;
	}

	.p-text-image .c-figure {
		margin: 0;
	}

	.p-text-image .c-figure.fill {
		margin-right: calc((100vw - 1080px - var(--scrollbar-width)) / 2 * -1 - 50px);
	}

	.p-text-image.wide {
		grid-template-columns: 520px 1fr;
		gap: 40px;
	}

	.p-use-info {
		grid-template-columns: 520px 1fr;
		gap: 0 80px;
	}

	.l-fill {
		margin: 48px calc((100vw - 100% - var(--scrollbar-width)) / 2 * -1) 0;
	}

	.l-footer-nav {
		display: grid;
		margin: 45px 0 0;
		grid-template-columns: 1fr 1px auto;
		gap: 0 80px;
	}

	.l-footer-nav ul {
		padding-bottom: 3px;
	}

	.l-footer-nav > ul {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 40px 20px;
	}

	.l-footer-nav > ul > li > a .c-circle {
		display: flex;
		position: relative;
		top: 0.4em;
		-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	}

	.l-footer-nav .l-footer-nav-wrap > ul > li > a {
		display: none;
	}

	.l-footer-nav .l-footer-nav-child {
		display: flex;
		flex-direction: column;
		margin: 18px 0 0;
		gap: 12px;
	}

	.l-footer-nav .l-footer-nav-child > li {
		padding: 0 0 0 20px;
	}

	.l-footer-nav .l-footer-nav-child > li a {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.4285714286;
		white-space: nowrap;
	}

	.l-footer-nav .l-footer-nav-child > li > ul {
		display: flex;
		position: relative;
		flex-direction: column;
		margin: 12px 0 0;
		gap: 12px;
	}

	.l-footer-nav .l-footer-nav-child > li > ul::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 7px;
		width: 1px;
		height: 100%;
		background-color: #fff;
	}

	.l-footer-nav .l-footer-nav-child > li > ul > li {
		padding: 0 0 0 20px;
	}

	.l-footer-other-contents {
		height: 100%;
	}

	.l-footer-other-wrap {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 100%;
	}

	.l-footer-other-title {
		display: none;
	}

	.l-footer-info {
		display: grid;
		margin: 40px 0 0;
		grid-template-columns: auto 1fr;
	}

	.l-footer-info .company {
		padding: 15px 32px;
	}

	.l-footer-info .contact {
		display: grid;
		padding: 15px 32px;
		border-left: 1px solid #fff;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 40px;
	}

	.l-footer-info .contact dl {
		display: grid;
		align-items: center;
		grid-template-columns: 4em 1fr;
		gap: 0 8px;
	}

	.l-footer-info .contact dl dt,
  .l-footer-info .contact dl dd {
		font-size: 1.6rem;
	}

	.l-footer-info .contact dl dt span,
  .l-footer-info .contact dl dd span {
		font-size: 1.4rem;
	}

	.l-footer-info .contact dl dd::before {
		content: '|';
		display: inline-block;
		margin-right: 8px;
		font-size: 1.6rem;
		font-weight: 400;
	}

	.l-footer-info .contact dl.phone {
		display: flex;
		grid-area: 1/1/3/2;
		gap: 16px;
	}

	.l-footer-info .contact dl.phone dt {
		font-size: 1.8rem;
	}

	.l-footer-info .contact dl.phone dt::after {
		content: '';
		display: block;
		width: 1px;
		height: 26px;
		margin-left: 16px;
		background-color: #fff;
	}

	.l-footer-info .contact dl.phone dd::before {
		display: none;
	}

	.l-footer-info .contact dl.phone dd.u-font-en {
		font-size: 4rem;
		font-weight: 500;
	}

	.l-footer-links {
		margin: 20px 0 0;
	}

	.l-footer-links ul {
		justify-content: center;
		gap: 12px 32px;
	}

	.l-footer-links ul li {
		padding: 0 32px 0 0;
	}

	.l-footer-copy {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 20px 0 0;
		gap: 20px;
	}

	.l-footer-copy small {
		margin: 0;
	}

	.l-header-inner {
		position: relative;
		z-index: 1;
		padding: 20px 40px 0 0;
		grid-template-columns: 1fr auto;
		grid-template-rows: 38px 1fr;
		grid-template-areas: 'other search' 'nav nav';
		justify-items: end;
		gap: 14px 32px;
	}

	.l-header-controls {
		display: none;
	}

	.l-header-upper {
		margin: 0;
	}

	.l-header-search .mt-site-search-form {
		width: 240px;
	}

	.l-header-nav > ul {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 40px;
	}

	.l-header-nav > ul > li {
		padding-bottom: 20px;
	}

	.l-header-nav > ul > li > a .c-circle {
		display: none;
	}

	.l-header-nav > ul > li > a::after {
		content: '';
		display: inline-block;
		width: 22px;
		height: 22px;
		margin: 0 0 0 8px;
		background: url(/assets/images/ico_arrow_down.png) no-repeat 50% 50%/contain;
		vertical-align: sub;
		-webkit-filter: invert(38%) sepia(23%) saturate(0%) hue-rotate(157deg) brightness(99%) contrast(96%);
		filter: invert(38%) sepia(23%) saturate(0%) hue-rotate(157deg) brightness(99%) contrast(96%);
	}

	.l-header-nav-contents {
		display: none;
	}

	.l-header-nav-wrap > ul > li {
		display: grid;
		grid-template-columns: 350px 1fr;
	}

	.l-header-nav-wrap > ul > li > a {
		align-self: center;
		justify-self: center;
	}

	.l-header-nav-wrap > ul > li > a .title {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-family: 'BIZ UDPMincho', serif;
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		transition: color 0.2s ease;
		gap: 28px 0;
	}

	.l-header-nav-wrap > ul > li > a .title::before,
  .l-header-nav-wrap > ul > li > a .title::after {
		content: '';
		display: block;
		background: no-repeat 50% 50%/contain;
		transition: -webkit-filter 0.2s ease;
		transition: filter 0.2s ease;
		transition: filter 0.2s ease, -webkit-filter 0.2s ease;
		-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	}

	.l-header-nav-wrap > ul > li > a .title::before {
		width: 68px;
		height: 40px;
		background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 68 40\'%3E%3Cg id=\'グループ_550\' fill=\'%23222\' data-name=\'グループ 550\' transform=\'translate(-1288.522 -175.742)\'%3E%3Cpath id=\'パス_543\' d=\'M1322.521 177.742c-6.582 0-14.71 4.776-12.906 14.694-9.221-4.654-19.094 2.346-19.094 9.091a12.159 12.159 0 0 0 12.1 12.215c6.684 0 12.041-3.8 19.9-3.8s13.214 3.8 19.9 3.8a12.159 12.159 0 0 0 12.1-12.215c0-6.745-9.873-13.745-19.094-9.091 3.078-10.531-6.324-14.694-12.907-14.694m0-2a19.682 19.682 0 0 1 7.067 1.347 14.161 14.161 0 0 1 6.2 4.525 11.085 11.085 0 0 1 2.1 5.014 12.817 12.817 0 0 1 .116 2.736 15.441 15.441 0 0 1 3.646-.435 15.8 15.8 0 0 1 5.658 1.053 16.043 16.043 0 0 1 4.68 2.764 11.839 11.839 0 0 1 4.534 8.782 14.18 14.18 0 0 1-4.124 10.045 13.954 13.954 0 0 1-9.979 4.17 33.138 33.138 0 0 1-9.7-1.868 27.9 27.9 0 0 0-20.386 0 33.137 33.137 0 0 1-9.7 1.868 13.954 13.954 0 0 1-9.978-4.17 14.179 14.179 0 0 1-4.124-10.045 11.839 11.839 0 0 1 4.533-8.782 16.043 16.043 0 0 1 4.68-2.764 15.8 15.8 0 0 1 5.658-1.053 15.443 15.443 0 0 1 3.968.516 13.037 13.037 0 0 1 3.008-8.287 14.833 14.833 0 0 1 5.653-4.094 16.932 16.932 0 0 1 6.491-1.322Z\' data-name=\'パス 543\'/%3E%3Cpath id=\'パス_544\' d=\'M1324.442 194.159c0 3.427-1.489 8.3-1.921 7.93s-1.919-4.5-1.919-7.93.859-4.482 1.919-4.482 1.921 1.055 1.921 4.482Zm-14.872 1.5c-.823.537-.939 1.727.85 4.176s5.1 4.644 5.628 4.692-.86-4.19-2.649-6.64-3.006-2.769-3.829-2.231Zm-7.87 6.241c-.516.719-.174 1.772 2.3 3.3a16.617 16.617 0 0 0 6.651 2.246c.479-.124-2.313-3.313-4.784-4.845s-3.653-1.415-4.167-.701Zm29.946-4.019c-1.789 2.449-3.179 6.688-2.65 6.64s3.839-2.244 5.628-4.692 1.672-3.639.85-4.176-2.039-.218-3.829 2.231Zm7.535 4.723c-2.471 1.532-5.263 4.721-4.784 4.845a16.617 16.617 0 0 0 6.651-2.246c2.472-1.532 2.814-2.586 2.3-3.3s-1.696-.828-4.168.705Z\' data-name=\'パス 544\' transform=\'translate(0 .263)\'/%3E%3C/g%3E%3C/svg%3E');
	}

	.l-header-nav-wrap > ul > li > a .title::after {
		width: 58px;
		height: 32px;
		background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 58 32\'%3E%3Cg id=\'グループ_610\' fill=\'%23222\' data-name=\'グループ 610\' transform=\'translate(-827 -3986)\'%3E%3Cpath id=\'パス_2855\' d=\'M16 1A15 15 0 0 0 5.393 26.607 14.9 14.9 0 0 0 16 31h26A15 15 0 0 0 52.607 5.393 14.9 14.9 0 0 0 42 1H16m0-1h26a16 16 0 0 1 0 32H16a16 16 0 0 1 0-32Z\' data-name=\'パス 2855\' transform=\'translate(827 3986)\'/%3E%3Cpath id=\'Icon_material-round-keyboard-arrow-right\' d=\'m13.807 19.629 4.125-4.1-4.125-4.1a1.05 1.05 0 0 1 0-1.491 1.064 1.064 0 0 1 1.5 0l4.88 4.852a1.049 1.049 0 0 1 0 1.491l-4.88 4.852a1.061 1.061 0 0 1-1.5-1.5Z\' data-name=\'Icon material-round-keyboard-arrow-right\' transform=\'translate(839.503 3986.467)\'/%3E%3C/g%3E%3C/svg%3E');
	}

	.l-header-nav-wrap > ul > li > a .title_sp {
		display: none;
	}

	.l-header-nav-child {
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
	}

	.l-header-sns {
		display: none;
	}

	.l-header-sns .p-list-sns {
		margin: 0;
	}

	.l-header-megamenu {
		display: block;
		position: relative;
		z-index: 0;
	}

	.l-header-megamenu .l-header-nav-contents {
		display: block;
		position: fixed;
		top: calc(-100% - var(--header-height));
		left: 0;
		width: 100%;
		padding: 40px 40px 40px 0;
		background: url(/assets/images/bg_gnav.png) 50% 50%/1366px 348px;
		transition: top 0.3s ease;
	}

	.page-home:not(.is-scrolled) .l-header-search .p-searchform {
		border-color: #eab44b;
	}

	.page-home:not(.is-scrolled) .l-header-search .p-searchform .btn {
		background-color: #eab44b;
		color: #222;
	}

	#guidestep2 .l-section-illust {
		left: calc(50% + 120px);
	}

	#guidestep3 .l-section-illust {
		right: 0;
		left: auto;
	}

	.p-home-kv .swiper {
		-webkit-clip-path: url(#home-kv-clip);
		clip-path: url(#home-kv-clip);
	}

	.p-home-kv-overlay {
		-webkit-clip-path: url(#home-kv-clip);
		clip-path: url(#home-kv-clip);
	}

	.p-home-kv-overlay rect {
		fill: url(#home-kv-gradient);
	}

	.p-home-banner-others .splide__arrows {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		margin: -16px 0 0;
		pointer-events: none;
	}

	.u-float-left-ovsmd {
		float: left !important;
		margin: 0 40px 40px 0;
	}

	.u-float-right-ovsmd {
		float: right !important;
		margin: 0 0 40px 40px;
	}
}

@media screen and (min-width: 1080px) and (min-width: 1080px) {
	.l-footer-nav > ul > li > a {
		position: relative;
		padding-bottom: 0.3rem;
	}

	.l-footer-nav > ul > li > a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transition: -webkit-transform 0.3s;
		transition: transform 0.3s;
		transition: transform 0.3s, -webkit-transform 0.3s;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
		-webkit-transform-origin: right top;
		transform-origin: right top;
	}

	.l-footer-nav .l-footer-nav-child > li a {
		position: relative;
		padding-bottom: 0.3rem;
	}

	.l-footer-nav .l-footer-nav-child > li a::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transition: -webkit-transform 0.3s;
		transition: transform 0.3s;
		transition: transform 0.3s, -webkit-transform 0.3s;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
		-webkit-transform-origin: right top;
		transform-origin: right top;
	}
}

@media screen and (min-width: 1080px) and (min-width: 1080px) and (hover: hover) {
	.l-footer-nav > ul > li > a:hover::after {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.l-footer-nav .l-footer-nav-child > li a:hover::before {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}
}

@media screen and (min-width: 1080px) and (hover: hover) {
	.l-header-nav-wrap > ul > li > a:hover .title {
		color: #eab44b;
	}

	.l-header-nav-wrap > ul > li > a:hover .title::before,
  .l-header-nav-wrap > ul > li > a:hover .title::after {
		-webkit-filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
		filter: invert(66%) sepia(83%) saturate(350%) hue-rotate(357deg) brightness(99%) contrast(85%);
	}
}

@media screen and (min-width: 1280px) {
	.p-text-image.bg-base::before,
  .p-text-image.bg-gold-light::before {
		margin: 0 calc((100vw - 100% - var(--scrollbar-width)) / 2 * -1);
	}

	.p-text-image.bg-shift::before {
		bottom: 40px;
		margin: -80px calc((100vw - 100% - var(--scrollbar-width)) / 2 * -1) 0;
	}

	.p-yt .splide__list {
		gap: 32px;
	}

	.l-fill.no-margin {
		margin: 0 calc((100vw - 100% - var(--scrollbar-width)) / 2 * -1);
	}

	.l-footer-inner {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0 40px;
	}

	.l-section#guidestep3 .p-box-bg {
		padding: 20px 100px 20px 24px;
	}
}

@media screen and (min-width: 1366px) {
	.p-col-tools .image-2 {
		right: -100px;
	}

	.p-col-tools.reverse .image-2 {
		left: -100px;
	}

	.u-hide-pcl {
		display: none !important;
	}
}

@media screen and (max-width: 1079px) {
	.p-illustrated-image {
		top: 0 !important;
	}

	.l-footer-nav .l-footer-nav-wrap > ul {
		padding-bottom: 8px;
	}

	.l-footer-nav .l-footer-nav-wrap > ul > li a {
		display: inline-block;
		padding: 8px 0;
		font-size: 1.4rem;
		font-weight: 500;
	}

	.l-footer-nav .l-footer-nav-wrap > ul > li:first-child a {
		padding-top: 0;
	}

	.l-footer-nav .l-footer-nav-wrap > ul li {
		padding: 0 0 0 18px;
	}

	.l-footer-nav > ul {
		border-top: 1px solid rgba(255, 255, 255, 0.5);
	}

	.l-footer-nav > ul > li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}

	.l-footer-nav > ul > li > a {
		display: block;
		position: relative;
		padding: 16px 16px 16px 0;
	}

	.l-footer-nav > ul > li > a .c-circle {
		display: none;
	}

	.l-footer-nav > ul > li > a::before,
  .l-footer-nav > ul > li > a::after {
		content: '';
		display: block;
		position: absolute;
		top: 26px;
		right: 0;
		width: 14px;
		height: 2px;
		border-radius: 2px;
		background-color: #fff;
	}

	.l-footer-nav > ul > li > a::after {
		transition: -webkit-transform 0.2s ease;
		transition: transform 0.2s ease;
		transition: transform 0.2s ease, -webkit-transform 0.2s ease;
		-webkit-transform: rotateZ(-90deg);
		transform: rotateZ(-90deg);
	}

	.l-footer-nav > ul > li.is-active > a {
		color: #eab44b;
	}

	.l-footer-nav > ul > li.is-active > a::after {
		-webkit-transform: rotateZ(0);
		transform: rotateZ(0);
	}

	.l-footer-nav > ul > li.is-active .l-footer-nav-contents {
		grid-template-rows: 1fr;
	}

	.l-footer-nav .l-footer-nav-contents {
		display: grid;
		transition: grid-template-rows 0.3s ease;
		transition: grid-template-rows 0.3s ease, -ms-grid-rows 0.3s ease;
		grid-template-rows: 0fr;
	}

	.l-footer-nav .l-footer-nav-wrap {
		overflow: hidden;
	}

	.l-footer-nav .l-footer-nav-wrap > ul > li > a .title {
		display: none;
	}

	.l-footer-nav .l-footer-nav-child > li > ul {
		position: relative;
	}

	.l-footer-nav .l-footer-nav-child > li > ul::before {
		content: '';
		display: block;
		position: absolute;
		top: 3px;
		left: 7px;
		width: 1px;
		height: calc(100% - 10px);
		background-color: #fff;
	}

	.l-footer hr {
		display: none;
	}

	.l-footer-other {
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}

	.l-footer-other-contents {
		display: grid;
		transition: grid-template-rows 0.3s ease;
		transition: grid-template-rows 0.3s ease, -ms-grid-rows 0.3s ease;
		grid-template-rows: 0fr;
	}

	.l-footer-other-wrap {
		overflow: hidden;
	}

	.l-footer-other ul {
		display: block;
		padding-bottom: 8px;
	}

	.l-footer-other ul li {
		padding-left: 20px;
	}

	.l-footer-other ul li:first-child a {
		padding-top: 0;
	}

	.l-footer-other ul li a {
		display: inline-block;
		padding: 8px 0;
	}

	.l-footer-other.is-active .l-footer-other-title {
		color: #eab44b;
	}

	.l-footer-other.is-active .l-footer-other-title::after {
		-webkit-transform: rotateZ(0);
		transform: rotateZ(0);
	}

	.l-footer-other.is-active .l-footer-other-contents {
		grid-template-rows: 1fr;
	}

	.l-footer-info .contact {
		display: grid;
		align-items: center;
		padding: 15px;
		border-top: 1px solid #fff;
		grid-template-columns: auto 1fr;
		gap: 8px 10px;
	}

	.l-footer-info .contact dl {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: span 2;
	}

	.l-header-inner {
		position: fixed;
		z-index: 1;
		top: 0;
		left: 0;
		overflow-x: hidden;
		overflow-y: auto;
		width: 100%;
		height: 100svh;
		padding: var(--header-height) 20px 30px;
		background-color: #fff;
		transition: -webkit-transform 0.2s ease;
		transition: transform 0.2s ease;
		transition: transform 0.2s ease, -webkit-transform 0.2s ease;
		-webkit-transform: translate3d(-110vw, 0, 0);
		transform: translate3d(-110vw, 0, 0);
		grid-template-rows: auto auto 1fr auto;
		grid-template-areas: 'search' 'nav' 'other';
	}

	.is-menu-open .l-header-inner {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	.l-header-upper {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}

	.l-header-nav {
		margin: 20px 0 0;
	}

	.l-header-nav > ul {
		border-top: 1px solid rgba(34, 34, 34, 0.5);
	}

	.l-header-nav > ul > li {
		position: relative;
		border-bottom: 1px solid rgba(34, 34, 34, 0.5);
	}

	.l-header-nav > ul > li::before,
  .l-header-nav > ul > li::after {
		content: '';
		display: block;
		position: absolute;
		top: 27px;
		right: 0;
		width: 14px;
		height: 2px;
		border-radius: 2px;
		background-color: #222;
		transition: -webkit-transform 0.2s ease;
		transition: transform 0.2s ease;
		transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	}

	.l-header-nav > ul > li::after {
		-webkit-transform: rotateZ(-90deg);
		transform: rotateZ(-90deg);
	}

	.l-header-nav > ul > li > a {
		display: flex;
		align-items: center;
		padding: 10px 0;
		line-height: 1.7142857143;
		transition: color 0.3s ease;
		gap: 0 6px;
	}

	.l-header-nav > ul > li .l-header-nav-contents {
		display: grid;
		transition: grid-template-rows 0.3s ease;
		transition: grid-template-rows 0.3s ease, -ms-grid-rows 0.3s ease;
		grid-template-rows: 0fr;
	}

	.l-header-nav > ul > li .l-header-nav-contents .l-header-nav-wrap {
		overflow: hidden;
	}

	.l-header-nav > ul > li.is-active::after {
		-webkit-transform: rotateZ(0);
		transform: rotateZ(0);
	}

	.l-header-nav > ul > li.is-active > a {
		color: #8b610e;
	}

	.l-header-nav > ul > li.is-active > a .c-circle {
		background-color: rgba(139, 97, 14, 0.3);
	}

	.l-header-nav > ul > li.is-active > a .c-circle::before {
		background-color: rgba(139, 97, 14, 0.5);
	}

	.l-header-nav > ul > li.is-active .l-header-nav-contents {
		grid-template-rows: 1fr;
	}

	.l-header-nav-wrap > ul {
		padding: 0 0 16px;
	}

	.l-header-nav-wrap > ul li {
		padding: 0 0 0 18px;
	}

	.l-header-nav-wrap > ul li a {
		font-size: 1.6rem;
		font-weight: 500;
	}

	.l-header-nav-wrap > ul li ul {
		display: flex;
		flex-direction: column;
		margin: 12px 0 0;
		gap: 12px 0;
	}

	.l-header-nav-wrap > ul li ul li figure {
		display: none;
	}

	.l-header-sns .p-list-sns {
		display: flex;
		justify-content: center;
		margin: 32px 0 0;
		gap: 0 14px;
	}

	.page-home:not(.is-scrolled) .l-header::before {
		z-index: 2;
		transition: background-color 0.2s ease 0.1s;
	}

	.page-home.is-megamenu-active:not(.is-scrolled) .l-header::before,
  .page-home.is-menu-open:not(.is-scrolled) .l-header::before {
		box-shadow: none;
		transition: background-color 0.2s ease;
	}
}

@media screen and (max-width: 1079px) and (max-width: 767px) {
	.l-header-nav-wrap > ul li a .title {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	:root {
		--is-mobile: true;
	}

	.c-banner.fill-sp {
		margin-right: -20px;
		margin-left: -20px;
	}

	.c-banner.fill-sp .c-figure {
		border-radius: 0;
	}

	.c-banner.fill-sp .c-figure img {
		border-radius: 0;
	}

	.c-btn-large .c-btn-arrow {
		display: none;
	}

	.p-accessinfo .c-figure {
		margin: -94px 0 0;
	}

	.p-banner-econtents .c-btn-arrow {
		width: 48px;
	}

	.p-banner .c-btn-arrow {
		width: 48px;
	}

	.p-box-bg.padding-sp {
		padding: 30px 15px;
	}

	.p-card-link .c-figure {
		width: 100%;
		height: auto;
		aspect-ratio: 335/128;
	}

	.p-clouds > div#cloud-404-1 .c-cloud {
		width: 128px;
		height: 37px;
	}

	.p-clouds > div#cloud-404-2 .c-cloud {
		width: 188px;
		height: 65px;
	}

	.p-col.sp-gap-narrow {
		gap: 15px;
	}

	.p-col.sp-gap-wide {
		gap: 24px;
	}

	.p-col.sp-col-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 24px 16px;
	}

	.p-dl-info dt.span-2 {
		grid-column: span 2;
		justify-self: self-start;
	}

	.p-dl dt.date {
		display: none;
	}

	.p-dl dd.date {
		grid-column: span 2;
	}

	.p-dl dd.date .c-date {
		color: #666;
	}

	.p-header + .p-clouds #header-cloud-1 {
		display: none;
	}

	.p-list-flow li .title.small {
		font-size: 1.4rem;
		letter-spacing: -0.05em;
	}

	.p-list-flow li::after {
		top: calc(50% - 6px);
		left: calc(100% + 5px);
		width: 5px;
		height: 10px;
	}

	.p-list-homemenu {
		flex-direction: column;
		gap: 12px 0;
	}

	.p-list-homemenu li a {
		border-radius: 4px;
		gap: 10px 0;
		aspect-ratio: 335/193;
	}

	.p-list-homemenu li a::before {
		background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
	}

	.p-list-homemenu li a .c-heading .ja {
		margin: 12px 0 0;
		font-size: 2.2rem;
	}

	.p-list-homemenu li a .c-heading .en {
		margin: 4px 0 0;
		font-size: 1.6rem;
	}

	.p-list-homemenu li:nth-child(2n) a::before {
		background: linear-gradient(to left, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
	}

	.p-list-schedule-contents dl dt.date {
		display: none;
	}

	.p-list-schedule-contents dl dd.date {
		grid-column: span 2;
	}

	.p-list-schedule-contents dl dd.date .c-date {
		color: #666;
	}

	.p-list-schedule-links .js-bigger-link-target {
		display: none;
	}

	.p-seat .mt-figure {
		margin: 30px 0 0;
	}

	.p-seat .mt-figure#seat-1f .sup {
		display: none !important;
	}

	.p-seat .mt-figure#seat-2f .sup {
		display: none !important;
	}

	.p-slider-main .splide__arrows {
		margin: 20px 0 0;
	}

	.p-text-image.flex {
		margin-top: 30px;
	}

	.c-heading-level-2 + .p-text-image.flex {
		margin-top: 16px;
	}

	.p-text-image.flex .mt-be-image img {
		width: 100%;
		height: auto;
		border-radius: 4px;
	}

	.p-yt .splide__track {
		overflow: visible;
	}

	.p-yt .splide__arrows {
		display: flex;
		justify-content: space-between;
		margin: 20px -20px 0;
	}

	.p-yt .splide__arrow--prev {
		-webkit-transform: rotateZ(180deg);
		transform: rotateZ(180deg);
	}

	.p-yt .splide__slide {
		opacity: 0.35;
		transition: opacity 0.2s ease;
	}

	.p-yt .splide__slide.is-active {
		opacity: 1;
	}

	.lc-section-search-result {
		margin: 40px auto 0;
	}

	.mt-site-search-result__list .mt-site-search-result-item__label {
		font-size: 1.8rem;
	}

	.mt-site-search-result__list .mt-site-search-result-item__url cite {
		font-size: 1.2rem;
	}

	.mt-site-search-result__list .mt-site-search-result-item__excerpt {
		font-size: 1.4rem;
		line-height: 1.785;
	}

	.js-ac.open-upward .js-ac-target,
  .js-ac.open-upward .js-ac-content {
		position: relative;
		z-index: 10;
	}

	.js-ac.open-upward .js-ac-target:has([style*=grid-template-rows]),
  .js-ac.open-upward .js-ac-content:has([style*=grid-template-rows]) {
		margin-bottom: 0;
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	.js-ac.open-upward .js-ac-target:not(:has([style*=grid-template-rows])),
  .js-ac.open-upward .js-ac-content:not(:has([style*=grid-template-rows])) {
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		-webkit-transform: none;
		transform: none;
	}

	.js-highlight.syntax-highlight pre[class*=language-] {
		padding: 12px;
		font-size: 1.2rem;
	}

	.js-highlight.syntax-highlight .code-toolbar .toolbar {
		top: 4px;
		right: 4px;
		opacity: 1;
	}

	.js-highlight.syntax-highlight .code-toolbar .toolbar .toolbar-item button {
		padding: 3px 6px;
		font-size: 1.1rem;
	}

	.l-article > .p-clouds:first-of-type {
		display: none;
	}

	.l-footer-matsu {
		display: none;
	}

	.l-header-search .mt-site-search-form .mt-site-search-form__button {
		letter-spacing: 0.2em;
	}

	#guidestep3 .l-section-illust img {
		width: 125px;
		aspect-ratio: 136/230;
	}

	.l-section#guidestep2 .l-fill-inner {
		padding-bottom: 40px;
	}

	.p-home-schedule-list .splide__track {
		margin: 0 -20px;
	}

	.p-home-schedule-list .splide__slide {
		opacity: 0.35;
		transition: opacity 0.2s ease;
	}

	.p-home-schedule-list .splide__slide.is-active {
		opacity: 1;
	}

	.p-home-schedule-list .splide__arrows {
		display: flex;
		justify-content: space-between;
		margin: 20px 0 0;
	}

	.p-home-schedule-list .splide__arrow {
		-webkit-transform: none;
		transform: none;
	}

	.p-home-schedule-list .splide__arrow--prev::before {
		-webkit-transform: rotateZ(180deg);
		transform: rotateZ(180deg);
	}

	.p-home-schedule .js-home-schedule .splide__slide {
		display: flex;
		justify-content: center;
	}

	.p-home-schedule .js-home-schedule .p-card-schedule {
		width: 100%;
		max-width: 280px;
	}

	.u-hide-sp {
		display: none !important;
	}

	.u-jc-start-sp {
		justify-content: flex-start !important;
	}

	.u-jc-center-sp {
		justify-content: center !important;
	}

	.u-jc-end-sp {
		justify-content: flex-end !important;
	}

	.u-ai-start-sp {
		justify-content: flex-start !important;
	}

	.u-ai-center-sp {
		justify-content: center !important;
	}

	.u-ai-end-sp {
		justify-content: flex-end !important;
	}

	.u-float-left-sp {
		float: left !important;
		margin: 0 24px 24px 0;
	}

	.u-float-right-sp {
		float: right !important;
		margin: 0 0 24px 24px;
	}

	.u-mt-0-sp {
		margin-top: 0 !important;
	}

	.u-mt-4-sp {
		margin-top: 4px !important;
	}

	.u-mt-8-sp {
		margin-top: 8px !important;
	}

	.u-mt-16-sp {
		margin-top: 16px !important;
	}

	.u-mt-24-sp {
		margin-top: 24px !important;
	}

	.u-mt-32-sp {
		margin-top: 32px !important;
	}

	.u-mt-40-sp {
		margin-top: 40px !important;
	}

	.u-mt-48-sp {
		margin-top: 48px !important;
	}

	.u-mt-64-sp {
		margin-top: 64px !important;
	}

	.u-mt-80-sp {
		margin-top: 80px !important;
	}

	.u-mt-120-sp {
		margin-top: 120px !important;
	}

	.u-pt-0-sp {
		padding-top: 0 !important;
	}

	.u-pt-4-sp {
		padding-top: 4px !important;
	}

	.u-pt-8-sp {
		padding-top: 8px !important;
	}

	.u-pt-16-sp {
		padding-top: 16px !important;
	}

	.u-pt-24-sp {
		padding-top: 24px !important;
	}

	.u-pt-32-sp {
		padding-top: 32px !important;
	}

	.u-pt-40-sp {
		padding-top: 40px !important;
	}

	.u-pt-48-sp {
		padding-top: 48px !important;
	}

	.u-top-sp-10 {
		top: 10px !important;
	}

	.u-top-sp-15 {
		top: 15px !important;
	}

	.u-top-sp-20 {
		top: 20px !important;
	}

	.u-top-sp-25 {
		top: 25px !important;
	}

	.u-top-sp-30 {
		top: 30px !important;
	}

	.u-top-sp-35 {
		top: 35px !important;
	}

	.u-top-sp-40 {
		top: 40px !important;
	}

	.u-top-sp-45 {
		top: 45px !important;
	}

	.u-top-sp-50 {
		top: 50px !important;
	}

	.u-top-sp-60 {
		top: 60px !important;
	}

	.u-top-sp-70 {
		top: 70px !important;
	}

	.u-top-sp-80 {
		top: 80px !important;
	}

	.u-top-sp-90 {
		top: 90px !important;
	}

	.u-top-sp-100 {
		top: 100px !important;
	}

	.u-top-sp-110 {
		top: 110px !important;
	}

	.u-top-sp-120 {
		top: 120px !important;
	}

	.u-top-sp-130 {
		top: 130px !important;
	}

	.u-top-sp-140 {
		top: 140px !important;
	}

	.u-top-sp-150 {
		top: 140px !important;
	}

	.u-top-sp-10-minus {
		top: -10px !important;
	}

	.u-top-sp-15-minus {
		top: -15px !important;
	}

	.u-top-sp-20-minus {
		top: -20px !important;
	}

	.u-top-sp-25-minus {
		top: -25px !important;
	}

	.u-top-sp-30-minus {
		top: -30px !important;
	}

	.u-top-sp-35-minus {
		top: -35px !important;
	}

	.u-top-sp-40-minus {
		top: -40px !important;
	}

	.u-top-sp-45-minus {
		top: -45px !important;
	}

	.u-top-sp-50-minus {
		top: -50px !important;
	}

	.u-top-sp-60-minus {
		top: -60px !important;
	}

	.u-top-sp-70-minus {
		top: -70px !important;
	}

	.u-top-sp-80-minus {
		top: -80px !important;
	}

	.u-top-sp-90-minus {
		top: -90px !important;
	}

	.u-top-sp-100-minus {
		top: -100px !important;
	}

	.u-top-sp-110-minus {
		top: -110px !important;
	}

	.u-top-sp-120-minus {
		top: -120px !important;
	}

	.u-top-sp-130-minus {
		top: -130px !important;
	}

	.u-top-sp-140-minus {
		top: -140px !important;
	}

	.u-top-sp-150-minus {
		top: -150px !important;
	}

	.u-al-center-sp {
		text-align: center !important;
	}

	.u-al-right-sp {
		text-align: right !important;
	}

	.u-al-justify-sp {
		text-align: justify !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1079px) {
	.p-card-schedule .info .c-label {
		font-size: 1.1rem;
		white-space: nowrap;
	}

	.p-card-schedule .info .c-date {
		font-size: 1.3rem;
	}

	.p-card-schedule .info .c-date span {
		font-size: 1.4rem;
	}

	.p-col-tools {
		gap: 24px;
	}

	.p-illustrated-list {
		gap: 32px 20px;
	}

	.p-list-columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.p-list-flow {
		gap: 2.5925925926vw;
	}

	.p-list-flow li {
		width: 14.8148148148vw;
		min-width: 14.8148148148vw;
		padding: 10px 0;
		font-size: 1.8518518519vw;
	}

	.p-list-flow li .c-icon {
		width: 6.1111111111vw;
	}

	.p-list-flow li::before {
		font-size: 2.2222222222vw;
	}

	.p-list-flow li::after {
		left: calc(100% + 1.2962962963vw);
		width: 0.6481481481vw;
		height: 1.1111111111vw;
	}

	.p-list-flow.innerlinks li a {
		width: 14.8148148148vw;
		min-width: 14.8148148148vw;
		padding: 0.9259259259vw 0 1.8518518519vw;
		font-size: 1.8518518519vw;
	}

	.p-list-flow.innerlinks li a::before {
		font-size: 2.2222222222vw;
	}

	.p-list-homemenu {
		margin: 0 -50px 0 0;
	}

	.p-list-news li {
		grid-template-columns: 140px 1fr;
	}

	.p-list-program li a {
		padding: 4.4444444444vw 0 2.962962963vw;
	}

	.p-seat .l-section-contents:nth-of-type(2) {
		padding-top: 5.9259259259vw;
	}

	.p-seat .mt-figure#seat-1f {
		top: -14.8148148148vw;
	}

	.p-seat .mt-figure#seat-1f .map {
		width: 52.962962963vw;
		height: 54.537037037vw;
	}

	.p-seat .mt-figure#seat-1f .sup {
		top: 17.5925925926vw;
		left: -4.8148148148vw;
		width: 41.7592592593vw;
		height: 41.2037037037vw;
	}

	.p-seat .mt-figure#seat-2f {
		top: 5.9259259259vw;
	}

	.p-seat .mt-figure#seat-2f .map {
		width: 49.9074074074vw;
		height: 27.2222222222vw;
	}

	.p-seat .mt-figure#seat-2f .sup {
		top: 23.4259259259vw;
		left: -6.3888888889vw;
		width: 20.0925925926vw;
		height: 0.2777777778vw;
	}

	.p-seat .l-section-contents-inner {
		width: 31.3888888889vw;
	}

	.p-seat .l-section-contents-inner#seat-1-3 {
		display: grid;
		position: absolute;
		left: 37.2222222222vw;
		width: 52.8703703704vw;
		grid-template-columns: 31.3888888889vw;
		grid-template-rows: auto 1fr;
		gap: 0 1.8518518519vw;
	}

	.p-seat p.lead {
		width: 39.9074074074vw;
	}

	.p-text-image .c-figure.fill {
		margin-right: -50px;
	}

	.p-use-info {
		grid-template-columns: 1fr 1fr;
		gap: 0 40px;
	}

	.mt-be-columns.col-smd-1 {
		display: flex !important;
	}

	.l-fill {
		margin: 48px -50px 0;
		padding: 40px 0;
	}

	.l-header-controls {
		top: 35px;
		right: 20px;
	}

	.l-header-nav > ul > li > a {
		font-size: 1.8518518519vw;
	}

	.l-header-nav > ul > li::before,
  .l-header-nav > ul > li::after {
		top: 25px;
	}

	#guidestep2 .l-section-illust {
		left: calc(100% - 375px);
	}

	#guidestep3 .l-section-illust {
		right: auto;
		left: calc(100% - 200px);
	}

	.p-home-banner-others .splide__arrow--prev {
		-webkit-transform: translateX(-30px);
		transform: translateX(-30px);
	}

	.p-home-banner-others .splide__arrow--next {
		-webkit-transform: translateX(30px);
		transform: translateX(30px);
	}

	.u-hide-smd {
		display: none !important;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

@media screen and (-ms-high-contrast: none) {
	.splide__slide:focus-visible {
		border: 3px solid #0bf;
	}

	.splide.is-focus-in .splide__slide:focus {
		border: 3px solid #0bf;
	}

	.splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
		border-color: #0bf;
	}
}

@media (hover: hover) {
	.c-banner:hover img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.c-btn-arrow:hover::before {
		-webkit-filter: none;
		filter: none;
	}

	.c-btn-arrow:hover::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.c-btn-arrow.cl-white:hover::before {
		-webkit-filter: none;
		filter: none;
	}

	.c-btn-arrow.cl-ol:hover::before {
		-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	}

	.c-btn-arrow.cl-ol-white:hover::before {
		-webkit-filter: none;
		filter: none;
	}

	.c-btn-large:hover .title {
		text-decoration: underline;
	}

	.c-btn-large:hover .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.c-btn-large.bg-black:hover .c-btn-arrow::before,
  .c-btn-large.bg-red:hover .c-btn-arrow::before {
		-webkit-filter: none;
		filter: none;
	}

	.c-btn:hover {
		color: #fff;
	}

	.c-btn:hover::before {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.c-btn.cl-white:hover {
		color: #222;
	}

	.c-btn.cl-ol:hover {
		color: #fff;
	}

	.c-btn.cl-ol:hover::before {
		background-color: #222;
	}

	.c-btn.cl-gold:hover {
		opacity: 0.7;
	}

	a.c-label:hover {
		opacity: 0.7;
	}

	.c-lead a:hover {
		text-decoration: none;
	}

	.c-link:hover::before {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.p-wysiwyg .c-note a:hover,
  .c-note a:hover {
		text-decoration: none;
	}

	.p-banner-econtents:hover .c-figure img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-banner-econtents:hover .c-btn-arrow::before {
		-webkit-filter: none;
		filter: none;
	}

	.p-banner-econtents:hover .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.p-banner-grad:hover .bg {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.00001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.00001deg);
	}

	.p-banner-grad:hover .title {
		text-decoration: underline;
	}

	.p-banner-grad:hover .c-btn-arrow::before {
		-webkit-filter: none;
		filter: none;
	}

	.p-banner-grad:hover .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.p-banner:hover .c-figure img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-banner:hover .title {
		text-decoration: underline;
	}

	.p-banner:hover .c-btn-arrow::before {
		-webkit-filter: none;
		filter: none;
	}

	.p-banner:hover .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.p-banner.line:hover {
		opacity: 0.8;
	}

	.p-card-column:hover .c-figure img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-card-column:hover .title,
  .p-card-column:hover .text {
		text-decoration: underline;
	}

	.p-card-guide:hover .c-figure img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-card-guide:hover .text p {
		text-decoration: underline;
	}

	.p-card-guide:hover .text .c-btn-arrow::before {
		-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	}

	.p-card-guide:hover .text .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.p-card-link:hover .c-figure img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-card-link:hover .title {
		text-decoration: underline;
	}

	.p-card-link:hover .title .c-btn-arrow::before {
		-webkit-filter: none;
		filter: none;
	}

	.p-card-link:hover .title .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.p-card-link:hover p {
		text-decoration: underline;
	}

	.p-card-schedule:hover {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-card-use .text a:hover {
		text-decoration: underline;
	}

	a.p-card-use:hover .c-figure img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	a.p-card-use:hover .title .c-btn-arrow::before {
		-webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(73deg) brightness(150%) contrast(100%);
	}

	a.p-card-use:hover .title .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	a.p-card-use:hover .text {
		text-decoration: underline;
	}

	.p-html ul a:hover::after {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.p-innerlinks ul li a:hover {
		background-color: #f0eadf;
	}

	.p-list-other .facilities a:hover::after {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.p-list-other .language li a:hover {
		opacity: 0.7;
	}

	.p-list-program li a:hover .c-figure {
		opacity: 1;
	}

	.p-list-program li a:hover .c-btn-arrow::before {
		-webkit-filter: none;
		filter: none;
	}

	.p-list-program li a:hover .c-btn-arrow::after {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
	}

	.p-list-sns a:hover {
		opacity: 0.7;
	}

	.p-pagination-list a:hover {
		background-color: rgba(0, 0, 0, 0.05);
	}

	.p-top-caution p a:hover {
		text-decoration: none;
	}

	.p-wysiwyg a:not([class]):hover {
		text-decoration: none;
	}

	.p-yt-video:hover .p-yt-video-thumbnail img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.p-yt-video:hover p {
		text-decoration: underline;
	}

	.mt-be-image a:hover img {
		-webkit-transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
		transform: scale3d(1.05, 1.05, 1) rotateZ(0.000001deg);
	}

	.l-article-catch.schedule .image .pdf a:hover {
		text-decoration: underline;
	}

	.l-article-catch.schedule .contents dd a:hover {
		text-decoration: none;
	}

	.l-footer-other ul li a:hover::before {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.l-footer-links ul li a:hover::before {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}

	.l-header-logo a:hover {
		opacity: 0.7;
	}

	.page-home:not(.is-scrolled) .l-header-upper.p-list-other .facilities a:hover::after {
		background-color: #eab44b;
	}

	.p-home-schedule-list .splide__track {
		overflow: visible;
	}
}