@charset "utf-8";

/**
 * About MediaQueries
 * default style
 * @media (min-width: 768px) {}
 * @media (max-width: 767.98px) {}
 * @media (max-width: 479.98px) {}
 * @media (max-width: 359.98px) {}
 * -------------------------------------------------- */
.l-loading { z-index: 6; }
.l-modal { z-index: 5; }
.l-nav { z-index: 4; }
.l-header { z-index: 3; }
.l-main { z-index: 2; }
.l-footer { z-index: 1; }

.c-maincopy {
	display: flex;
	flex-wrap: wrap;
	gap: .125em;
	color: white;
	font: 300 var(--fontSize) / 1 var(--fontEn);
	letter-spacing: 0;
}
.c-copy {
	color: white;
	font-size: var(--fontSize);
	line-height: 1;
}
.c-title {
	display: flex;
	align-items: center;
	--fontMin: 18;
	--fontMax: 24;
	font: 400 var(--fontSize) / 1.5 var(--fontEn);
}
.c-title .dottoline {
	position: relative;
	top: -.1em;
	width: 1em;
}
.c-title .t {
	margin-left: .5em;
}
.c-title .dottoline .l {
	width: inherit;
}
.c-subject {
	display: grid;
	grid-template-columns: var(--emblemSize) auto;
	align-items: center;
	column-gap: .5em;
	font-weight: 700;
	--fontMin: 22;
	--fontMax: 29;
	font-size: var(--fontSize);
	line-height: 1.75;
	line-break: strict;
}
.c-subject .ico {
	grid-column: 1;
	width: var(--emblemSize);
	fill: currentcolor;
}
.c-subject > * {
	grid-column: 2;
	letter-spacing: .1em;
}
.c-subject .sub {
	font-size: 48%;
}
.c-subject .en {
	font-weight: 400;
	font-size: 72%;
	font-family: var(--fontEn);
	letter-spacing: 0;
}
.c-panel .c-subject {
	--fontMin: 18;
	--fontMax: 21;
}
.c-lead {
	--fontMin: 16;
	--fontMax: 21;
	font-size: var(--fontSize);
	line-height: 1.75;
}
.c-paragraph {
	--fontMin: 12;
	--fontMax: 15;
	font-size: var(--fontSize);
	line-break: strict;
}

/* :::::: Emblem Number :::::: */
.c-emnum {
	display: grid;
	grid-template-rows: repeat(3, 1fr);
	place-items: center;
	color: white;
	fill: white;
	--fontMin: 18;
	--fontMax: 20;
	font: 400 var(--fontSize) / 1 var(--fontEn);
}
.c-emnum .e {
	grid-area: 1 / 1 / 4 / 2;
	fill: url(#svg-grad);
}
.c-emnum .t {
	grid-area: 1 / 1;
	align-self: end;
	width: 2em;
}
.c-emnum .n {
	grid-area: 2 / 1;
	position: relative;
	top: .2em;
}

/* :::::: Section :::::: */
.c-section {
	--sectionWidth: min(100%, 480px);
	--emblemSize: min(var(--cw) * 22 / var(--aspect), 22 * .0625rem);
	width: var(--sectionWidth);
	margin-top: var(--sectionSpace);
	margin-inline: auto;
}
@media print, (min-width: 768px) {
	.c-section {
		--sectionWidth: min(var(--cw) * 820 / var(--aspect), 820px);
		--emblemSize: min(var(--cw) * 29 / var(--aspect), 29 * .0625rem);
	}
}

/* :::::: Panel :::::: */
.c-panel {
	position: relative;
	padding: calc(var(--defgap) * 1.5) var(--defgap);
	background: linear-gradient(to top, #fffa, #fff calc(var(--defgap) * 2.5));
}
.c-panel::before {
	content: "";
	position: absolute;
	inset: calc(var(--defgap) * .5);
	bottom: auto;
	height: 6px;
	background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="7" viewBox="0 0 6 7" style="fill:none;stroke:%23ff8064"><path d="M6.75-1L-.75,8M12.75-1l-7.5,9M.75-1l-7.5,9"/></svg>') center / contain repeat-x;
	mask: linear-gradient(to top, #0000, #000);
}
@media print, (min-width: 768px) {
	.c-panel {
		padding-inline: calc(var(--defgap) * 1.5);
	}
}

/* :::::: Link :::::: */
.c-check {
	display: grid;
	grid-template-columns: auto auto;
	align-items: end;
	column-gap: .75em;
	width: fit-content;
	color: inherit;
	--fontMin: 12;
	--fontMax: 15;
	font: 400 var(--fontSize) / 1.25 var(--font);
}
.c-check .t {
	grid-area: 1 / 1;
}
.c-check .t .s {
	font-size: 86%;
}
.dottoline {
	position: relative;
	grid-area: 2 / 1;
}
.dottoline .l {
	grid-area: 2 / 1;
	position: absolute;
	width: 100%;
}
.c-check .circarr {
	grid-area: 1 / 2 / 3 / 3;
	width: 2.7em;
}
.c-check .circarr svg {
	grid-area: 1 / 1;
	width: 100%;
}
.c-check .circarr .c {
	--length: calc(40px * 3.141592653589);
	stroke-width: 1;
	stroke-dasharray: calc(var(--length) * .9) calc(var(--length) * .1);
	pointer-events: none;
}
.c-check .circarr .a {
	width: 1em;
}
.c-check .dottoline {
	--dotsize: .75em;
}
/* Read More */
.c-check.-more {
	place-items: center;
	grid-template-columns: auto;
	--fontMin: 14;
	--fontMax: 18;
}
.c-check.-more > * {
	grid-area: 1 / 1;
}
.c-check.-more .t {
	position: relative;
	inset: .1em .1em auto auto;
}
.c-check.-more .circarr {
	width: 8em;
}
.c-check.-more .circarr .c {
	--length: calc(120px * 3.141592653589);
	stroke-dasharray: calc(var(--length) * .94) calc(var(--length) * .06)
}
.c-check.-more .circarr .a {
	justify-self: end;
	left: -1em;
}
@media (hover) {
	.c-check .circarr .c {
		transition: stroke-dasharray .6s var(--easeOut), stroke-dashoffset .6s var(--easeOut);
	}
	.c-check .circarr .a {
		transition: translate .6s var(--easeOut);
	}
	.c-check:hover .circarr .c,
	a:hover .c-check .circarr .c {
		stroke-dasharray: calc(var(--length) * .8) calc(var(--length) * .2);
		stroke-dashoffset: calc(var(--length) * -.1);
	}
	.c-check.-more:hover .circarr .c,
	a:hover .c-check.-more .circarr .c {
		stroke-dasharray: calc(var(--length) * .88) calc(var(--length) * .12);
		stroke-dashoffset: calc(var(--length) * -.06);
	}
	.c-check:hover .circarr .a,
	a:hover .c-check .circarr .a {
		translate: .5em;
	}
	.c-check:hover .circarr .c,
	a:hover .c-check .circarr .c,
	.c-check:hover .circarr .a,
	a:hover .c-check .circarr .a {
		transition-duration: .4s;
	}
}

/* :::::: Button :::::: */
.c-button {
	display: grid;
	grid-auto-flow: column;
	align-items: center;
	justify-content: center;
	column-gap: .75em;
	position: relative;
	padding: 1em;
	--fontMin: 14;
	--fontMax: 16;
	font: 400 var(--fontSize) / 1.5 var(--fontJa);
}
.c-button .f {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	stroke: currentcolor;
	stroke-width: 1;
}
.c-button .a {
	overflow: visible;
	width: 1em;
	height: .5em;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* :::::: Parts :::::: */
.circarr {
	display: grid;
	place-items: center;
}
.circarr :is(.c,.a) {
	overflow: visible;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.circarr .c {
	stroke-dasharray: 114 9;
}
.circarr .a {
	position: relative;
	left: -.15em;
}

/* ドットとライン */
.dottoline {
	--dotsize: .5em;
	grid-area: 2 / 1;
	display: flex;
	align-items: center;
	column-gap: .5em;
}
.dottoline .d {
	width: var(--dotsize);
	height: alc(var(--dotsize) * .16);
	margin-left: calc(var(--dotsize) * -1.5);
	fill: currentcolor;
}
.dottoline .l {
	fill: none;
	stroke: currentcolor;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* 吸盤ライン */
.suckerline {
	--suckerShift: calc(var(--defgap) * -1);
	--lineStart: 0em;
	--lineEnd: 4em;
	position: relative;
	width: 100%;
	height: 1px;
	border-image: linear-gradient(to left, #ffaba900 var(--lineStart), #ff8461 var(--lineEnd)) 1 / 0 0 1px;
	border-image-outset: 0 0 0 50vw;
	opacity: .6;
}
.suckerline::before,
.suckerline::after {
	content: "";
	position: absolute;
	left: var(--suckerShift);
	width: calc(var(--cw) * 16 / var(--aspect));
	height: calc(var(--cw) * 16 / var(--aspect));
	background: #ff8461;
}
.suckerline::before {
	bottom: .5px;
	mask: radial-gradient(circle at 100% 0%, #0000 70%, #000 70%);
}
.suckerline::after {
	top: calc(100% - .5px);
	mask: radial-gradient(circle at 100% 100%, #0000 70%, #000 70%);
}
@media print, (min-width: 768px) {
	.suckerline {
		--suckerShift: calc(var(--cw) * -.5);
	}
}

/* ハンバーガー */
.drawer {
	display: grid;
	grid-template-rows: 1fr auto;
	place-items: center;
	z-index: 2;
	position: fixed;
	top: calc(var(--headerHeight) * .5 - 24px);
	right: var(--defgap);
	width: 48px;
	height: 48px;
	color: var(--themecolor);
	font: 400 .9375rem / 1.25 var(--fontEn);
}
.drawer .bar {
	grid-area: 1 / 1;
	width: 44px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
}
.drawer .bar {
	transform: translateY(4.5px);
}
.drawer .bar + .bar {
	transform: translateY(-4.5px);
}
.drawer .label {
	display: grid;
}
.drawer .label > * {
	grid-area: 1 / 1;
}
.drawer.is-open .bar {
	transform: scaleX(.8) rotate(28deg);
}
.drawer.is-open .bar + .bar {
	transform: scaleX(.8) rotate(-28deg);
}
@media (hover) {
	.drawer {
		cursor: pointer;
	}
}
/* Motion */
.drawer {
	transition: opacity .4s var(--easeOut), filter .4s var(--easeOut);
}
.drawer:not(.is-active):focus-visible {
	pointer-events: auto;
	opacity: 1;
	filter: none;
}
.drawer:not(.is-active) {
	pointer-events: none;
	opacity: 0;
	filter: blur(8px);
}
/* Animation */
.drawer.is-anim .bar {
	animation: closeBar1 .3s var(--easeIn) both;
}
.drawer.is-anim .bar + .bar {
	animation-name: closeBar2;
}
.drawer.is-anim.is-open .bar {
	animation: openBar1 .6s var(--easeOut) both;
}
.drawer.is-anim.is-open .bar + .bar {
	animation-name: openBar2;
}
.drawer.is-anim .label > * {
	transition: clip-path .3s var(--easeOut);
}
.drawer .label .c,
.drawer.is-open .label .o {
	clip-path: inset(0 0 100%);
}
.drawer .label .o,
.drawer.is-open .label .c {
	clip-path: inset(0);
}
.drawer.is-open.is-anim .label .o,
.drawer:not(.is-open).is-anim .label .c {
	clip-path: inset(100% 0 0);
}
@keyframes closeBar1 {
	from { transform: scaleX(.8) rotate(28deg); }
	60% { transform: none; animation-timing-function: cubic-bezier(.3,1.7,.7,1); }
	to { transform: translateY(4.5px); }
}
@keyframes closeBar2 {
	from { transform: scaleX(.8) rotate(-28deg); }
	60% { transform: none; animation-timing-function: cubic-bezier(.3,1.7,.7,1); }
	to { transform: translateY(-4.5px); }
}
@keyframes openBar1 {
	from { transform: translateY(4.5px); }
	40% { transform: none; animation-timing-function: cubic-bezier(.3,1.7,.7,1); }
	to { transform: scaleX(.8) rotate(28deg); }
}
@keyframes openBar2 {
	from { transform: translateY(-4.5px); }
	40% { transform: none; animation-timing-function: cubic-bezier(.3,1.7,.7,1); }
	to { transform: scaleX(.8) rotate(-28deg); }
}

.site-logo {
	--basisMin: 44;
	--basisMax: 64;
	display: flex;
	column-gap: clamp(var(--basisMax) * .109375px, var(--cw) * var(--basisMax) * .109375 / var(--aspect), var(--basisMax) * .171875px);
}
.site-logo svg {
	position: relative;
	height: auto;
	fill: currentcolor;
}
.site-logo .symbol {
	width: clamp(var(--basisMin) * 1px, var(--cw) * var(--basisMin) / var(--aspect), var(--basisMax) * 1px);
	top: clamp(var(--basisMax) * -.09375px, var(--cw) * var(--basisMax) * -.09375 / var(--aspect), var(--basisMax) * -.0625px);
}
.site-logo .anniv {
	width: clamp(var(--basisMin) * 2px, var(--cw) * var(--basisMin) * 2 / var(--aspect), var(--basisMax) * 2px);
	top: clamp(var(--basisMax) * .0625px, var(--cw) * var(--basisMax) * .0625 / var(--aspect), var(--basisMax) * .09375px);
}

.site-menu {
	display: flex;
	--fontMin: 14;
	--fontMax: 18;
	font-size: var(--fontSize);
	font-family: var(--fontEn);
}
.site-menu .link {
	display: block;
	width: fit-content;
	padding: .4em .8em;
}

.kg-logo {
	display: flex;
	align-items: end;
	column-gap: .5em;
	width: fit-content;
	color: inherit;
	--fontMin: 16;
	--fontMax: 20;
	font-size: var(--fontSize);
}
.kg-logo svg {
	fill: currentcolor;
}
.kg-logo .emblem {
	position: relative;
	top: .05em;
	width: 3em;
}
.kg-logo .kg {
	width: 11em;
}

/**
 * Common
 * -------------------------------------------------- */
.l-header {
	--aspect: 375;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	inset: 0 0 auto;
	height: var(--headerHeight);
	padding: 0 calc(var(--defgap) / 2);
}
.l-header > * {
	pointer-events: auto;
	color: var(--themecolor);
}
/* Motion */
.l-header .site-logo {
	transition: opacity .4s var(--easeOut), filter .4s var(--easeOut);
}
.l-header .site-logo:not(.is-active) {
	pointer-events: none;
	opacity: 0;
	filter: blur(8px);
}
.l-header .site-logo:not(.is-active):focus-visible {
	pointer-events: auto;
	opacity: 1;
	filter: none;
}

/* :::::: Navigation :::::: */
.l-nav {
	overflow: auto;
	overscroll-behavior: auto none;
	display: grid;
	place-items: center;
	position: fixed;
	inset: 0;
	color: var(--themecolor);
}
.l-nav > * {
	grid-area: 1 / 1;
}
.nav_overlay {
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, #fff3, #fffc 50%, #fff 80%);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.nav_container {
	z-index: 1;
	display: grid;
}
.l-nav .site-logo {
	grid-row: span 2;
}
.l-nav .site-menu {
	flex-direction: column;
	font-weight: 350;
}
.l-nav .site-menu li:has([href*="donation"]) {
	display: none;
}
.l-nav .c-button {
	margin-top: 1.5em;
	padding: 1.2em 1.6em;
	padding-bottom: 1.3em;
	border: 1px solid currentcolor;
	border-radius: 3em;
	--fontMin: 12;
	background: #fff1;
}
.l-nav .c-button br {
	display: none;
}
@media screen and (max-width: 767.98px) {
	.nav_container {
		align-content: center;
	}
	.l-nav .site-menu {
		margin-top: 1.5em;
	}
	.l-nav .site-logo {
		--basisMin: 77;
		--basisMax: 112;
		justify-self: center;
	}
}
@media print, (min-width: 768px) {
	.nav_container {
		grid-template-columns: auto auto;
		justify-content: space-evenly;
		width: 100%;
		max-width: 1200px;
	}
	.l-nav .site-logo {
		--basisMin: 88;
		--basisMax: 128;
		align-self: center;
		padding-bottom: 1em;
	}
}
/* Motion */
.l-nav:not(.is-active) {
	pointer-events: none;
}
.l-nav .drawer.is-active {
	pointer-events: auto;
}
.l-nav.is-active .drawer {
	color: var(--themecolor) !important;
}
.nav_overlay:not(.is-open) {
	opacity: 0;
}
.nav_overlay.is-motion {
	transition: opacity .4s .2s var(--easeOut);
}
.nav_overlay.is-motion.is-open {
	transition-duration: .6s;
	transition-delay: 0s;
}
.l-nav .site-logo:not(.is-open),
.l-nav .site-menu:not(.is-open),
.l-nav .c-button:not(.is-open) {
	opacity: 0;
	filter: blur(8px);
}
.l-nav .site-logo.is-motion,
.l-nav .site-menu.is-motion,
.l-nav .c-button.is-motion {
	--interval: .02s;
	transition: opacity .4s var(--easeOut), filter .4s var(--easeOut);
}
.l-nav .site-logo.is-motion.is-open,
.l-nav .site-menu.is-motion.is-open,
.l-nav .c-button.is-motion.is-open {
	transition-duration: .8s;
	transition-delay: .2s;
}

/* :::::: Footer :::::: */
.l-footer {
	display: grid;
	align-content: center;
	justify-items: center;
	min-height: 100lvh;
	padding: var(--defgap);
	padding-top: calc(var(--defgap) * 2);
	color: white;
	/* background: var(--themecolor); <- jsでbodyの色を変える */
}
.l-footer .c-button {
	width: 100%;
	border-radius: 5em;
	color: var(--themecolor);
	font-weight: 600;
	--fontMin: 19;
	--fontMax: 23;
	font-size: var(--fontSize);
	font-feature-settings: "palt";
	letter-spacing: .1em;
	background: white;
}
@media print, (min-width: 768px) {
	.l-footer .c-button {
		max-width: 24em;
		padding-block: 2.5em;
	}
	.l-footer .c-button br {
		display: none;
	}
}
.l-footer .contentsinfo {
	display: grid;
	justify-items: center;
	width: 100%;
	max-width: 1000px;
	margin-top: 4em;
	padding: calc(var(--defgap) * .75);
	padding-top: var(--defgap);
	border: 1px solid #ffffff80;
}
.l-footer .site-menu {
	flex-wrap: wrap;
	max-width: 36em;
	margin-top: 1.5em;
}
@media screen and (max-width: 767.98px) {
	.l-footer .contentsinfo dd {
		width: 90%;
	}
	.l-footer .site-menu {
		flex-direction: column;
		column-gap: 1em;
		max-height: 14em;
	}
}
@media print, (min-width: 768px) {
	.l-footer .site-menu {
		justify-content: center;
	}
}
.l-footer .copyright {
	margin-top: 4em;
	text-align: center;
	font: 400 .625rem / 1.25 var(--fontEn);
	letter-spacing: .1em;
}

/* :::::: Loading :::::: */
.l-loading {
	position: fixed;
	inset: 0;
	background: white;
}
.l-loading.is-loaded {
	opacity: 0;
	transition: opacity .6s;
}

/* :::::: Modal contents :::::: */
.l-modal {
	position: fixed;
	inset: 0;
}
.modal_closer {
	display: grid;
	z-index: 1;
	position: absolute;
	width: 44px;
	height: 44px;
}
.modal_closer > * {
	grid-area: 1 / 1;
	place-self: center;
	stroke: var(--themecolor);
}
.modal_closer > :first-child {
	transform: scaleX(.8) rotate(28deg);
}
.modal_closer > :last-child {
	transform: scaleX(.8) rotate(-28deg);
}
.modal_overlay,
.modal_container {
	position: absolute;
	inset: 0;
	width: var(--cw);
}
.modal_overlay {
	height: 100lvh;
	background: linear-gradient(to top, #fff3, #fffc 50%, #fff 80%);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.modal_container {
	display: grid;
	justify-content: center;
	overflow: auto;
	height: 100svh;
}
.modal_video {
	place-self: center;
	width: fit-content;
	height: fit-content;
	max-width: calc(var(--cw) - var(--defgap) * 2);
	max-height: calc(100svh - var(--defgap) * 2);
}
.modal_contents {
	align-self: center;
	width: min(100% - var(--defgap) * 2, 1280px);
}
@media (hover) {
	.modal_closer {
		cursor: pointer;
	}
}
/* Motion */
.l-modal:not(.is-active) {
	pointer-events: none;
}
.l-modal.is-close > *,
.l-modal:not(.is-active) > * {
	opacity: 0;
}
.l-modal.is-close .modal_closer,
.l-modal:not(.is-active) .modal_closer {
	scale: .6;
}
.l-modal.is-close .modal_closer > *,
.l-modal:not(.is-active) .modal_closer > * {
	transform: none;
}
.l-modal:not(.is-active) .modal_container {
	translate: 0 5vh;
}
.modal_overlay {
	transition: opacity .4s;
}
.modal_container {
	transition: opacity .4s, translate .4s var(--easeOut);
}
.modal_closer {
	transition: opacity .4s, scale .4s var(--easeBack);
}
.modal_closer > * {
	transition: transform .4s var(--easeBack);
}
.l-modal.is-open .modal_container {
	transition-delay: .2s;
}
.l-modal.is-open .modal_closer,
.l-modal.is-open .modal_closer > * {
	transition-delay: .4s;
}
.l-modal.is-close :is(.modal_container, .modal_closer),
.l-modal.is-close .modal_closer > * {
	transition-duration: .2s;
}
.l-modal.is-close .modal_closer,
.l-modal.is-close .modal_closer > * {
	transition-timing-function: var(--easeOut);
}
.l-modal.is-close .modal_overlay,
.l-modal.is-close .modal_closer > * {
	transition-delay: .2s;
}
@media screen and (max-width: 767.98px) {
	.modal_closer {
		bottom: calc(var(--defgap) * .25);
		left: calc(50% - 22px);
	}
}
@media print, (min-width: 768px) {
	.modal_closer {
		top: calc(var(--defgap) * .25);
		right: calc(var(--defgap) * .25);
	}
}

/**
 * Utility / JavaScript
 * -------------------------------------------------- */
.u-visuallyhidden {
	position: absolute;
	top: 0;
	left: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
	margin: -1px;
	white-space: nowrap;
}
.is-comingsoon {
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	opacity: .3;
}

:root {
	--themecolor: #802334;
	--pale: #ff7b8c;
	--font: "Josefin Sans", "Noto Sans JP", sans-serif;
	--fontJa: "Noto Sans JP", sans-serif;
	--fontEn: "Josefin Sans", sans-serif;
	
	--easeIn: cubic-bezier(.3,0,.7,0);
	--easeOut: cubic-bezier(.3,1,.7,1);
	--easeInOut: cubic-bezier(.7,0,.3,1);
	--easeBack: cubic-bezier(.3,1.7,.7,1);
}
body {
	--cw: 100vw; /* MEMO: js で画面幅を取得 (単位は px) */
	--breakout: calc(50% - var(--cw) / 2);
	
	/** MEMO: 画面幅 375〜768 にかけて、ヘッダー高さが 80〜120 に変移する (containerWidth には現在の画面幅 (単位なし) が入る) */
	--headerSlope: calc( (120 - 80) / (768 - 375) );
	--headerLerp: calc( 120px + var(--headerSlope) * (var(--cw) - 768px) );
	--headerHeight: clamp( 80px, var(--headerLerp), 120px );
}
:where(img,svg) {
	height: auto;
}
@media screen and (max-width: 767.98px) {
	:root { --aspect: 375; }
	.u-dt { display: none; }
	body {
		--defgap: min(var(--cw) * 24 / var(--aspect), 24px * 1.28);
		--sectionSpace: calc(var(--cw) * 80 / var(--aspect));
	}
	:where(img,svg,.swiper) {
		--imgSize: min(var(--cw) * var(--imgMin) / var(--aspect), var(--imgMin) * 1.28px);
	}
	:where(h1,h2,h3,h4,p,ul,ol,dl,a) {
		--fontSize: clamp(.625rem, var(--cw) * var(--fontMin, 12) / var(--aspect), var(--fontMin, 12) * .0625rem * 1.28);
	}
}
@media print, (min-width: 768px) {
	:root { --aspect: 1080; }
	.u-md { display: none; }
	body {
		--defgap: min(var(--cw) * 40 / var(--aspect), 40px);
		--sectionSpace: min(var(--cw) * 200 / var(--aspect), 200px);
	}
	:where(img,svg,.swiper) {
		--imgSize: min(var(--cw) * var(--imgMax) / var(--aspect), var(--imgMax) * 1px);
	}
	:where(h1,h2,h3,h4,p,ul,ol,dl,a) {
		--fontSize: clamp(.625rem, var(--cw) * var(--fontMax, 12) / var(--aspect), var(--fontMax, 12) * .0625rem);
	}
}
html {
	/* scroll-behavior: smooth; */
	-webkit-text-size-adjust: 100%;
}
body {
	overflow-x: hidden;
	overscroll-behavior: auto;
	color: var(--themecolor);
	font: 500 1em / 1.75 var(--fontJa);
	letter-spacing: .06em;
	/* -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility; */
	background: #fff;
}
body.is-fixed {
	position: fixed;
	width: 100%;
}
body.scrollbar {
	overflow-y: scroll;
}
:where(a[href],button):focus{outline:none}
:where(a[href],button):focus-visible{outline:2px blue solid;border-radius:2px;}
canvas{pointer-events:none}
*,*::before,*::after{box-sizing:border-box;}
:where(ul,ol){list-style:none;padding:0;}
:where(img,svg,video,iframe){vertical-align:middle;}
:where(img[height],picture>img,video[height]){height:auto;}
:where(input,button,textarea,select,small){font:inherit;}
:where(body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd){margin:0;}
:where(img,picture,video,iframe){display:inline-block;max-width:100%;}
:where(a){color:inherit;text-decoration:inherit;text-decoration-skip-ink:auto;}
:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;color:inherit;background:none;}
:where(sub){vertical-align:baseline;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}

/** splide-core.min.css */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}