@charset "UTF-8";
/*
.* GLOBAL STYLES.
.*
################################################################################
.*/
/* ========================================================================== *
.* variables.
.* ========================================================================== */
/* layout */
:root {
	--h-gnav-l:48px;
	--h-head-l:128px;
	--h-head-m:72px;
	--h-head-s:48px;
}

/* color */
:root {
	--c-base:#f5f5f5;
	--c-bd:rgba(80, 80, 80, .15);
	--c-bd-dk:rgba(80, 80, 80, .3);
	--c-hover:#4285f4;
	--c-link:#1a0dab;
	--c-primary:#3f51b5;
	--c-primary-dk:#303f9f;
	--c-primary-lt:#c5cae9;
	--c-secondary:#ff4081;
	--c-secondary-dk:#f50057;
	--c-secondary-lt:#ff80ab;
	--c-txt:#505050;
	--c-txt-dk:#3c3c3c;
	--c-txt-lt:#727272;
	--c-visited:#681da8;
	--c-vividlink:#1a73e8;
}

/* typography */
:root {
	--ff-base:"Noto Sans JP", sans-serif;
}

/* z-index */
:root {
	--z-bottom-fixed:111;
	--z-head:120;
	--z-menu-contents:119;
	--z-menu-toggle:121;
	--z-pagetopanchor:99;
	--z-side-fixed:110;
	--z-wrap:0;
}

/* ========================================================================== *
.* normalize or reset.
.* ========================================================================== */
/*! sanitize.css v13.0.0 | CC0 License | github.com/csstools/sanitize.css */
/* sanitize: Document.
 * -------------------------------------------------------------------------- */
*,
::before,
::after {
	box-sizing:border-box;
	background-repeat:no-repeat;
}

::before,
::after {
	vertical-align:inherit;
	text-decoration:inherit;
}

:where(:root) {
	-moz-tab-size:4;
	-o-tab-size:4;
	tab-size:4;
	line-height:1.5;
	cursor:default;

	overflow-wrap:break-word;
	-webkit-tap-highlight-color:transparent;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	text-size-adjust:100%;
}

/* sanitize: Sections.
 * -------------------------------------------------------------------------- */
:where(body) {
	margin:0;
}

:where(h1) {
	margin:.67em 0;
	font-size:2em;
}

/* sanitize: Grouping content.
 * -------------------------------------------------------------------------- */
:where(dl, ol, ul) :where(dl, ol, ul) {
	margin:0;
}

:where(hr) {
	height:0;
	color:inherit;
}

:where(nav) :where(ol, ul) {
	padding:0;
	list-style-type:none;
}

:where(nav li)::before {
	float:left;
	content:"​";
}

:where(pre) {
	overflow:auto;
	font-size:1em;
	font-family:monospace, monospace;
}

/* sanitize: Text-level semantics.
 * -------------------------------------------------------------------------- */
:where(abbr[title]) {
	text-decoration:underline;
	-webkit-text-decoration:underline dotted;
	text-decoration:underline dotted;
}

:where(b, strong) {
	font-weight:bolder;
}

:where(code, kbd, samp) {
	font-size:1em;
	font-family:monospace, monospace;
}

:where(small) {
	font-size:80%;
}

/* sanitize: Embedded content.
 * -------------------------------------------------------------------------- */
:where(audio, canvas, iframe, img, svg, video) {
	vertical-align:middle;
}

:where(iframe) {
	border-style:none;
}

:where(svg:not([fill])) {
	fill:currentColor;
}

/* sanitize: Tabular data.
 * -------------------------------------------------------------------------- */
:where(table) {
	border-collapse:collapse;
	border-color:currentColor;
	text-indent:0;
}

/* sanitize: Forms.
 * -------------------------------------------------------------------------- */
:where(button, input, select) {
	margin:0;
}

:where(button, [type=button i], [type=reset i], [type=submit i]) {
	-webkit-appearance:button;
	-moz-appearance:button;
	appearance:button;
}

:where(fieldset) {
	border:1px solid #a0a0a0;
}

:where(progress) {
	vertical-align:baseline;
}

:where(textarea) {
	margin:0;
	resize:vertical;
}

:where([type=search i]) {
	outline-offset:-2px;

	-webkit-appearance:textfield;

	-moz-appearance:textfield;

	appearance:textfield;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height:auto;
}

::-webkit-input-placeholder {
	color:inherit;
	opacity:.54;
}

::-webkit-search-decoration {
	-webkit-appearance:none;
}

::-webkit-file-upload-button {
	font:inherit;

	-webkit-appearance:button;
}

/* sanitize: Interactive.
 * -------------------------------------------------------------------------- */
:where(dialog) {
	position:absolute;
	right:0;
	left:0;
	margin:auto;
	padding:1em;
	width:-moz-fit-content;
	width:fit-content;
	height:-moz-fit-content;
	height:fit-content;
	border:solid;
	background-color:white;
	color:black;
}

:where(dialog:not([open])) {
	display:none;
}

:where(details) > :where(summary:first-of-type) {
	display:list-item;
}

/* sanitize: Accessibility.
 * -------------------------------------------------------------------------- */
:where([aria-busy=true i]) {
	cursor:progress;
}

:where([aria-disabled=true i], [disabled]) {
	cursor:not-allowed;
}

:where([aria-hidden=false i][hidden]) {
	display:initial;
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
	position:absolute;
	clip:rect(0, 0, 0, 0);
}

/* ========================================================================== *
.* base.
.* ========================================================================== */
:root {
	font-size:62.5%;
	font-family:var(--ff-base);
	line-height:2;
}

html {
	scroll-behavior:smooth;
}

@media (max-width: 743.98px) {
	html.has-fixed-head {
		scroll-padding-top:var(--h-head-s);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	html.has-fixed-head {
		scroll-padding-top:var(--h-head-m);
	}
}
@media (min-width: 992px) {
	html.has-fixed-head {
		scroll-padding-top:var(--h-head-l);
	}
}
body {
	overflow-y:scroll;
	background-color:var(--c-base);
	color:var(--c-txt);
	font-size:1.6rem;
}

:where(a:not([class])) {
	text-decoration:underline;
	transition:color .2s linear, opacity .2s linear;
}

:where(a:not([class]):link) {
	color:var(--c-link);
}

:where(a:not([class]):visited) {
	color:var(--c-visited);
}

@media (any-hover: hover) {
	:where(a:not([class]):hover) {
		color:var(--c-hover);
		text-decoration:none;
		opacity:.75;
	}
}
:where(a[class]) {
	color:currentColor;
	text-decoration:none;
}

:where(ol) {
	list-style-type:decimal-leading-zero;
}

:where(hr) {
	display:block;
	margin:1em 0;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid rgba(0, 0, 0, .2);
	background:rgba(255, 255, 255, .4);
}

:where(audio, canvas, iframe, img, svg, video) {
	vertical-align:middle;
}

:where(button, input, optgroup, select, textarea) {
	font-family:var(--ff-base);
}

:where(textarea) {
	resize:vertical;
}

/* ========================================================================== *
.* module.
.* ========================================================================== */
/* module: m-aspect: アスペクト比固定.
.* -------------------------------------------------------------------------- */
.m-aspect-wide,
.m-aspect-ogp,
.m-aspect-vista,
.m-aspect-gold,
.m-aspect-film,
.m-aspect-std,
.m-aspect {
	display:block;
	width:100%;
}

/* アスペクト比 正方形 */
.m-aspect {
	aspect-ratio:1/1;
}

/* アスペクト比 4：3 (スタンダードサイズ) */
.m-aspect-std {
	aspect-ratio:4/3;
}

.m-aspect-std.is-rotated {
	aspect-ratio:3/4;
}

/* アスペクト比 3：2 (フィルムサイズ) */
.m-aspect-film {
	aspect-ratio:3/2;
}

.m-aspect-film.is-rotated {
	aspect-ratio:2/3;
}

/* アスペクト比 16：10 (黄金比) */
.m-aspect-gold {
	aspect-ratio:16/10;
}

.m-aspect-gold.is-rotated {
	aspect-ratio:10/16;
}

/* アスペクト比 16：9 (ビスタサイズ) */
.m-aspect-vista {
	aspect-ratio:16/9;
}

.m-aspect-vista.is-rotated {
	aspect-ratio:9/16;
}

/* アスペクト比 1200：630 (OGPサイズ) */
.m-aspect-ogp {
	aspect-ratio:1200/630;
}

.m-aspect-ogp.is-rotated {
	aspect-ratio:630/1200;
}

/* アスペクト比 2：1 (スコープサイズ) */
.m-aspect-wide {
	aspect-ratio:2/1;
}

.m-aspect-wide.is-rotated {
	aspect-ratio:1/2;
}

/* module: m-breadcrumb: パンくずリスト.
.* -------------------------------------------------------------------------- */
.m-breadcrumb {
	font-size:1.2rem;
}

.m-breadcrumb_list {
	position:relative;
	overflow:hidden;
	margin:0;
	padding:0;
	width:100%;
	list-style-type:none;
	text-overflow:ellipsis;
	white-space:nowrap;
	letter-spacing:-.4em;
}

.m-breadcrumb_list > li {
	display:inline;
	letter-spacing:normal;
}

.m-breadcrumb_list > li:not(:first-child)::before {
	display:inline-block;
	box-sizing:border-box;
	margin:.25em .25em .25em 1em;
	width:1em;
	height:1em;
	border-top:.2em solid currentColor;
	border-right:.2em solid currentColor;
	content:"";
	vertical-align:middle;
	line-height:1;
	opacity:.5;
	transform:translate(-40%, -10%) rotateZ(45deg) scale(.5);
}

.m-breadcrumb_link {
	color:currentColor;
	text-decoration:underline;
}

@media (hover: hover) {
	.m-breadcrumb_link:hover {
		color:#1a0dab;
		text-decoration:none;
	}
}
/* module: m-ell: テキスト省略.
.* -------------------------------------------------------------------------- */
.m-ell {
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.m-ell2 {
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;

	-webkit-line-clamp:2;
}

.m-ell3 {
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;

	-webkit-line-clamp:3;
}

/* module: m-flex: 簡易フレックスボックス.
.* -------------------------------------------------------------------------- */
.m-flex {
	display:flex;
	flex-wrap:wrap;
	margin-top:0;
	margin-right:-.25em;
	margin-bottom:0;
	margin-left:-.25em;
	padding:0;
}

.m-flex > .m-flex_item {
	margin-top:0;
	margin-right:.25em;
	margin-bottom:0;
	margin-left:.25em;
}

:where(ul, ol).m-flex {
	display:flex;
	flex-wrap:wrap;
	margin-top:0;
	margin-right:-.25em;
	margin-bottom:0;
	margin-left:-.25em;
	padding:0;
}

:where(ul, ol).m-flex > li {
	margin-top:0;
	margin-right:.25em;
	margin-bottom:0;
	margin-left:.25em;
	list-style-type:none;
}

/* module: m-rwd-hidden: 表示・非表示の切り替え.
.* -------------------------------------------------------------------------- */
.m-hidden {
	display:none;
}

@media (max-width: 543.98px) {
	.m-rwd-hidden-xs {
		display:none;
	}
}
@media (min-width: 544px) and (max-width: 743.98px) {
	.m-rwd-hidden-sm {
		display:none;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-rwd-hidden-md {
		display:none;
	}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
	.m-rwd-hidden-lg {
		display:none;
	}
}
@media (min-width: 1200px) {
	.m-rwd-hidden-xl {
		display:none;
	}
}
@media (max-width: 743.98px) {
	.m-rwd-hidden-s {
		display:none;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-rwd-hidden-m {
		display:none;
	}
}
@media (min-width: 992px) {
	.m-rwd-hidden-l {
		display:none;
	}
}
@media (max-width: 743.98px) {
	.m-rwd-hidden-sp {
		display:none;
	}
}
@media (min-width: 744px) {
	.m-rwd-hidden-pc {
		display:none;
	}
}
/* module: m-i: 画像サイズ調整.
.* -------------------------------------------------------------------------- */
.m-ifit,
.m-ifitX {
	width:100%;
	height:auto;
}

.m-ifitY {
	width:auto;
	height:100%;
}

.m-icover {
	width:100%;
	height:100%;

	-o-object-fit:cover;

	object-fit:cover;
}

.m-icontain {
	width:100%;
	height:100%;

	-o-object-fit:contain;

	object-fit:contain;
}

/* module: インデント調整.
.* -------------------------------------------------------------------------- */
.m-indent {
	text-indent:1em;
}

[lang=en].m-indent,
[lang=en] .m-indent {
	text-indent:2.5em;
}

/* module: m-k: カーニング.
.* -------------------------------------------------------------------------- */
.m-kl-50,
.m-kr-50,
.m-k-50,
.m-kl-25,
.m-kr-25,
.m-k-25,
.m-kl-175,
.m-kr-175,
.m-k-175 {
	position:relative;
	display:inline-block;
}

.m-k-175 {
	margin-right:-.175em;
	margin-left:-.175em;
}

.m-kr-175 {
	margin-right:-.175em;
}

.m-kl-175 {
	margin-left:-.175em;
}

.m-k-25 {
	margin-right:-.25em;
	margin-left:-.25em;
}

.m-kr-25 {
	margin-right:-.25em;
}

.m-kl-25 {
	margin-left:-.25em;
}

.m-k-50 {
	margin-right:-.5em;
	margin-left:-.5em;
}

.m-kr-50 {
	margin-right:-.5em;
}

.m-kl-50 {
	margin-left:-.5em;
}

.m-palt {
	font-feature-settings:"palt";
}

/* module: m-nowrap: 折り返し禁止.
.* -------------------------------------------------------------------------- */
.m-nowrap {
	white-space:nowrap;
}

/* module: m-num: 数値強調.
.* -------------------------------------------------------------------------- */
.m-num {
	position:relative;
	display:inline-block;
	margin-top:-1em;
	margin-bottom:-1em;
	font-size:133.33333%;
	transform:translateY(.05em);
}

/* module: m-trk: トラッキング.
.* -------------------------------------------------------------------------- */
/* ※ブロックに使用。該当ブロックには他のスタイル非適用推奨 */
.m-trk {
	margin-right:-.2em;
	letter-spacing:.2em;
}

.m-trk-50 {
	margin-right:-.05em;
	letter-spacing:.05em;
}

.m-trk-75 {
	margin-right:-.075em;
	letter-spacing:.075em;
}

.m-trk-100 {
	margin-right:-.1em;
	letter-spacing:.1em;
}

.m-trk-150 {
	margin-right:-.15em;
	letter-spacing:.15em;
}

.m-trk-200 {
	margin-right:-.2em;
	letter-spacing:.2em;
}

.m-trk-250 {
	margin-right:-.25em;
	letter-spacing:.25em;
}

.m-trk-500 {
	margin-right:-.5em;
	letter-spacing:.5em;
}

.m-trk-750 {
	margin-right:-.75em;
	letter-spacing:.75em;
}

.m-trk-1000 {
	margin-right:-1em;
	letter-spacing:1em;
}

/* module: m-underconstruction: 準備中表記.
.* -------------------------------------------------------------------------- */
.m-underconstruction {
	padding-top:8em;
	padding-bottom:8em;
	background-color:rgba(0, 0, 0, .025);
	text-align:center;
	font-size:15px;
}

.m-underconstruction::before {
	display:block;
	margin-bottom:2em;
	content:"ただいま準備中のため、\aもうしばらくお待ちください。\a\aThis page is under construction now.\aPlease check back at a later time.";
	white-space:pre;
}

/* module: m-btn: 基本ボタン.
.* -------------------------------------------------------------------------- */
.m-btn-if,
.m-btn-f,
.m-btn-i,
.m-btn {
	position:relative;
	box-sizing:border-box;
	margin:0;
	border:none;
	background-color:#3f51b5;
	color:#fff;
	text-align:center;
	text-decoration:none;
	font-size:100%;
	line-height:1.25;
	cursor:pointer;
	transition:background-color .2s linear;
}

.m-btn-if::-moz-focus-inner,
.m-btn-f::-moz-focus-inner,
.m-btn-i::-moz-focus-inner,
.m-btn::-moz-focus-inner {
	padding:0;
	border:0;
}

@media (hover: hover) {
	.m-btn-if:hover,
	.m-btn-f:hover,
	.m-btn-i:hover,
	.m-btn:hover {
		background-color:#6f7dc8;
	}
}
.is-disabled.m-btn-if,
.is-disabled.m-btn-f,
.is-disabled.m-btn-i,
.is-disabled.m-btn,
[disabled].m-btn-if,
[disabled].m-btn-f,
[disabled].m-btn-i,
[disabled].m-btn {
	background-color:#ccc;
	opacity:.75;
	cursor:not-allowed;
}

.m-btn {
	display:block;
	padding:.875em 2em;
	width:100%;
}

.m-btn-i {
	display:inline-block;
	padding:.875em 2em;
	vertical-align:middle;
}

.m-btn-f {
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	padding:.25em 2em;
	min-height:3em;
	width:100%;
}

.m-btn-if {
	display:inline-flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	padding:.25em 2em;
	min-height:3em;
}

/* module: m-bdBrackets: 「」風ボーダー.
.* -------------------------------------------------------------------------- */
.m-bdBrackets-thin,
.m-bdBrackets-bold,
.m-bdBrackets {
	position:relative;
	padding:.5em 1.5em;
}

.m-bdBrackets-thin::before,
.m-bdBrackets-bold::before,
.m-bdBrackets::before,
.m-bdBrackets-thin::after,
.m-bdBrackets-bold::after,
.m-bdBrackets::after {
	position:absolute;
	width:1em;
	height:calc(100% - .5em);
	content:"";
}

.m-bdBrackets-thin::before,
.m-bdBrackets-bold::before,
.m-bdBrackets::before {
	top:0;
	left:0;
}

.m-bdBrackets-thin::after,
.m-bdBrackets-bold::after,
.m-bdBrackets::after {
	right:0;
	bottom:0;
}

.m-bdBrackets::before {
	border-top:2px solid var(--c-txt);
	border-left:2px solid var(--c-txt);
}

.m-bdBrackets::after {
	border-right:2px solid var(--c-txt);
	border-bottom:2px solid var(--c-txt);
}

.m-bdBrackets-bold::before {
	border-top:4px solid var(--c-txt);
	border-left:4px solid var(--c-txt);
}

.m-bdBrackets-bold::after {
	border-right:4px solid var(--c-txt);
	border-bottom:4px solid var(--c-txt);
}

.m-bdBrackets-thin::before {
	border-top:1px solid var(--c-txt);
	border-left:1px solid var(--c-txt);
}

.m-bdBrackets-thin::after {
	border-right:1px solid var(--c-txt);
	border-bottom:1px solid var(--c-txt);
}

/* module: m-bullet: ドット型リスト.
.* -------------------------------------------------------------------------- */
.m-bullet {
	position:relative;
	padding-left:1em;
}

.m-bullet::before {
	position:absolute;
	right:100%;
	display:inline-block;
	margin-top:-.5em;
	margin-right:-1em;
	padding-top:.5em;
	padding-bottom:.5em;
	width:1em;
	background:currentColor;
	content:"　";
	text-align:center;
	transform:translateY(.05em) scale(.4);

	-webkit-mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path d='M24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 24q0-4.15 1.575-7.8 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24 4q4.15 0 7.8 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Z' /></svg>") no-repeat center center/contain;

	mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path d='M24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 24q0-4.15 1.575-7.8 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24 4q4.15 0 7.8 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Z' /></svg>") no-repeat center center/contain;
}

.m-bullets {
	padding-left:0;
	list-style-type:none;
}

.m-bullets > li:not([class]) {
	position:relative;
	padding-left:1em;
}

.m-bullets > li:not([class])::before {
	position:absolute;
	right:100%;
	display:inline-block;
	margin-top:-.5em;
	margin-right:-1em;
	padding-top:.5em;
	padding-bottom:.5em;
	width:1em;
	background:currentColor;
	content:"　";
	text-align:center;
	transform:translateY(.05em) scale(.4);

	-webkit-mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path d='M24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 24q0-4.15 1.575-7.8 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24 4q4.15 0 7.8 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Z' /></svg>") no-repeat center center/contain;

	mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path d='M24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 24q0-4.15 1.575-7.8 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24 4q4.15 0 7.8 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Z' /></svg>") no-repeat center center/contain;
}

/* module: m-note: 注釈型リスト.
.* -------------------------------------------------------------------------- */
.m-note {
	position:relative;
	padding-left:1em;
}

.m-note::before {
	position:absolute;
	right:100%;
	display:inline-block;
	margin-top:-.5em;
	margin-right:-1em;
	padding-top:.5em;
	padding-bottom:.5em;
	width:1em;
	content:"※";
	text-align:center;
}

.m-notes {
	padding-left:0;
	list-style-type:none;
}

.m-notes > li:not([class]) {
	position:relative;
	padding-left:1em;
}

.m-notes > li:not([class])::before {
	position:absolute;
	right:100%;
	display:inline-block;
	margin-top:-.5em;
	margin-right:-1em;
	padding-top:.5em;
	padding-bottom:.5em;
	width:1em;
	content:"※";
	text-align:center;
}

/* module: plugin/slick v1.8.0.
.* -------------------------------------------------------------------------- */
.slick-slider {
	position:relative;
	display:block;
	box-sizing:border-box;

	-webkit-tap-highlight-color:transparent;
	touch-action:pan-y;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	user-select:none;
}

.slick-list {
	position:relative;
	display:block;
	overflow:hidden;
	margin:0;
	padding:0;
}

.slick-list:focus {
	outline:none;
}

.slick-list.dragging {
	cursor:pointer;
	cursor:hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform:translate3d(0, 0, 0);
}

.slick-track {
	position:relative;
	top:0;
	left:0;
	display:block;
	margin-right:0;
	margin-left:0;
}

.slick-track::before,
.slick-track::after {
	display:table;
	content:"";
}

.slick-track::after {
	clear:both;
}

.slick-loading .slick-track {
	visibility:hidden;
}

.slick-slide {
	display:none;
	float:left;
	min-height:1px;
	height:100%;
}

[dir=rtl] .slick-slide {
	float:right;
}

.slick-slide img {
	display:block;
}

.slick-slide.slick-loading img {
	display:none;
}

.slick-slide.dragging img {
	pointer-events:none;
}

.slick-initialized .slick-slide {
	display:block;
}

.slick-loading .slick-slide {
	visibility:hidden;
}

.slick-vertical .slick-slide {
	display:block;
	height:auto;
	border:1px solid transparent;
}

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

/* Arrows */
.slick-prev,
.slick-next {
	position:absolute;
	top:50%;
	z-index:1;
	display:block;
	padding:0;
	width:20px;
	height:20px;
	outline:none;
	border:none;
	background:transparent;
	color:transparent;
	font-size:0;
	line-height:0;
	cursor:pointer;
	transform:translate(0, -50%);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	outline:none;
	background:transparent;
	color:transparent;
}

.slick-prev:hover::before,
.slick-prev:focus::before,
.slick-next:hover::before,
.slick-next:focus::before {
	opacity:1;
}

.slick-prev.slick-disabled::before,
.slick-next.slick-disabled::before {
	opacity:.25;
}

.slick-prev::before,
.slick-next::before {
	color:#000;
	font-size:20px;
	line-height:1;
	opacity:.75;

	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.slick-prev {
	left:0;
}

[dir=rtl] .slick-prev {
	right:0;
	left:auto;
}

.slick-prev::before {
	content:"←";
}

[dir=rtl] .slick-prev::before {
	content:"→";
}

.slick-next {
	right:0;
}

[dir=rtl] .slick-next {
	right:auto;
	left:0;
}

.slick-next::before {
	content:"→";
}

[dir=rtl] .slick-next::before {
	content:"←";
}

/* Dots */
.slick-dotted.slick-slider {
	margin-bottom:30px;
}

.slick-dots {
	position:absolute;
	bottom:-25px;
	display:block;
	margin:0;
	padding:0;
	width:100%;
	list-style:none;
	text-align:center;
}

.slick-dots > li {
	position:relative;
	display:inline-block;
	margin:0 5px;
	padding:0;
	width:20px;
	height:20px;
	cursor:pointer;
}

.slick-dots > li > button {
	display:block;
	padding:5px;
	width:20px;
	height:20px;
	outline:none;
	border:0;
	background:transparent;
	color:transparent;
	font-size:0;
	line-height:0;
	cursor:pointer;
}

.slick-dots > li > button:hover,
.slick-dots > li > button:focus {
	outline:none;
}

.slick-dots > li > button:hover::before,
.slick-dots > li > button:focus::before {
	opacity:1;
}

.slick-dots > li > button::before {
	position:absolute;
	top:0;
	left:0;
	width:20px;
	height:20px;
	border-radius:50%;
	background:#000;
	content:"";
	text-align:center;
	font-size:6px;
	line-height:20px;
	opacity:.25;
	transform:scale(.5);

	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.slick-dots > li.slick-active > button::before {
	opacity:.75;
}

/* module: m-sns: SNS.
.* -------------------------------------------------------------------------- */
.m-sns-yt::before,
.m-sns-ig::before {
	display:inline-block;
	width:1em;
	height:1em;
	background:currentColor;
	content:"";
	vertical-align:-5%;
}

.m-sns-ig::before {
	-webkit-mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M28.17,21.05c-.1,1.96-.55,3.7-1.98,5.13-1.43,1.44-3.17,1.89-5.14,1.98-2.02,.12-8.09,.12-10.11,0-1.96-.1-3.7-.55-5.14-1.98-1.44-1.43-1.89-3.17-1.98-5.13-.11-2.02-.11-8.09,0-10.11,.1-1.96,.54-3.7,1.98-5.13,1.44-1.43,3.18-1.88,5.14-1.97,2.02-.11,8.09-.11,10.11,0,1.96,.1,3.7,.55,5.14,1.98,1.44,1.43,1.89,3.17,1.98,5.14,.12,2.02,.12,8.08,0,10.11Zm-2.12-5.05c0-1.78,.15-5.61-.49-7.22-.43-1.08-1.26-1.9-2.33-2.33-1.61-.63-5.44-.49-7.22-.49s-5.61-.15-7.22,.49c-1.08,.43-1.9,1.26-2.33,2.33-.63,1.61-.49,5.44-.49,7.22s-.15,5.61,.49,7.22c.43,1.08,1.26,1.9,2.33,2.33,1.61,.63,5.44,.49,7.22,.49s5.61,.15,7.22-.49c1.08-.43,1.9-1.26,2.33-2.33,.64-1.61,.49-5.44,.49-7.22Zm-3.76,0c0,3.48-2.81,6.28-6.28,6.28s-6.28-2.81-6.28-6.28,2.81-6.28,6.28-6.28,6.28,2.81,6.28,6.28Zm-2.2,0c0-2.25-1.83-4.08-4.08-4.08s-4.08,1.83-4.08,4.08,1.84,4.08,4.08,4.08,4.08-1.83,4.08-4.08Zm2.46-5.08c-.81,0-1.46-.66-1.46-1.46s.66-1.47,1.46-1.47,1.47,.66,1.47,1.47-.66,1.46-1.47,1.46Z'/></svg>") no-repeat center center/contain;
	mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M28.17,21.05c-.1,1.96-.55,3.7-1.98,5.13-1.43,1.44-3.17,1.89-5.14,1.98-2.02,.12-8.09,.12-10.11,0-1.96-.1-3.7-.55-5.14-1.98-1.44-1.43-1.89-3.17-1.98-5.13-.11-2.02-.11-8.09,0-10.11,.1-1.96,.54-3.7,1.98-5.13,1.44-1.43,3.18-1.88,5.14-1.97,2.02-.11,8.09-.11,10.11,0,1.96,.1,3.7,.55,5.14,1.98,1.44,1.43,1.89,3.17,1.98,5.14,.12,2.02,.12,8.08,0,10.11Zm-2.12-5.05c0-1.78,.15-5.61-.49-7.22-.43-1.08-1.26-1.9-2.33-2.33-1.61-.63-5.44-.49-7.22-.49s-5.61-.15-7.22,.49c-1.08,.43-1.9,1.26-2.33,2.33-.63,1.61-.49,5.44-.49,7.22s-.15,5.61,.49,7.22c.43,1.08,1.26,1.9,2.33,2.33,1.61,.63,5.44,.49,7.22,.49s5.61,.15,7.22-.49c1.08-.43,1.9-1.26,2.33-2.33,.64-1.61,.49-5.44,.49-7.22Zm-3.76,0c0,3.48-2.81,6.28-6.28,6.28s-6.28-2.81-6.28-6.28,2.81-6.28,6.28-6.28,6.28,2.81,6.28,6.28Zm-2.2,0c0-2.25-1.83-4.08-4.08-4.08s-4.08,1.83-4.08,4.08,1.84,4.08,4.08,4.08,4.08-1.83,4.08-4.08Zm2.46-5.08c-.81,0-1.46-.66-1.46-1.46s.66-1.47,1.46-1.47,1.47,.66,1.47,1.47-.66,1.46-1.47,1.46Z'/></svg>") no-repeat center center/contain;
}

.m-sns-yt::before {
	-webkit-mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M30.93,16.02s0,4.89-.62,7.24c-.34,1.29-1.36,2.27-2.64,2.62-2.33,.63-11.67,.63-11.67,.63,0,0-9.34,0-11.67-.63-1.28-.35-2.3-1.32-2.64-2.62-.62-2.34-.62-7.24-.62-7.24,0,0,0-4.89,.62-7.24,.34-1.29,1.36-2.31,2.64-2.66,2.33-.63,11.67-.63,11.67-.63,0,0,9.34,0,11.67,.63,1.29,.35,2.3,1.36,2.64,2.66,.62,2.34,.62,7.24,.62,7.24Zm-10.18,0l-7.81-4.44v8.88l7.81-4.44Z'/></svg>") no-repeat center center/contain;
	mask:url("data:image/svg+xml;utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M30.93,16.02s0,4.89-.62,7.24c-.34,1.29-1.36,2.27-2.64,2.62-2.33,.63-11.67,.63-11.67,.63,0,0-9.34,0-11.67-.63-1.28-.35-2.3-1.32-2.64-2.62-.62-2.34-.62-7.24-.62-7.24,0,0,0-4.89,.62-7.24,.34-1.29,1.36-2.31,2.64-2.66,2.33-.63,11.67-.63,11.67-.63,0,0,9.34,0,11.67,.63,1.29,.35,2.3,1.36,2.64,2.66,.62,2.34,.62,7.24,.62,7.24Zm-10.18,0l-7.81-4.44v8.88l7.81-4.44Z'/></svg>") no-repeat center center/contain;
}

/* module: animateicon: .anico-bar3close: ハンバーガーメニュー3本.
 * -------------------------------------------------------------------------- */
.anico-bar3close {
	display:inline-block;
}

.anico-bar3close g {
	transition:transform .25s cubic-bezier(.6, -.28, .735, .045) 0s;
	transform:rotate(0);
	transform-origin:50% 50%;
}

.anico-bar3close line {
	transition:stroke .25s linear 0s, stroke-width .25s linear 0s, transform .25s cubic-bezier(.175, .885, .32, 1.275) .25s;
	transform-origin:50% 50%;

	stroke:var(--c-txt);
	stroke-linecap:round;
	stroke-width:12;
}

.is-active .anico-bar3close g {
	transition:transform .25s cubic-bezier(.175, .885, .32, 1.275) .25s;
}

.is-active .anico-bar3close .bar3close-group01 {
	transform:scale(1.1) rotate(45deg);
}

.is-active .anico-bar3close .bar3close-group02 {
	transform:scale(1.1) rotate(-45deg);
}

.is-active .anico-bar3close line {
	transition:stroke .25s linear .25s, stroke-width .25s linear .25s, transform .25s cubic-bezier(.6, -.28, .735, .045) 0s;

	stroke:var(--c-txt);
	stroke-width:10.9090909091;
}

.is-active .anico-bar3close .bar3close-line01 {
	transform:translateY(90px);
}

.is-active .anico-bar3close .bar3close-line03 {
	transform:translateY(-90px);
}

/* module: m-logo: サイトロゴ.
.* -------------------------------------------------------------------------- */
.m-logo {
	display:inline-block;
	overflow:hidden;
	vertical-align:middle;
	line-height:3;

	aspect-ratio:360/64;
}

.m-logo::before {
	display:block;
	width:100%;
	height:100%;
	background:url("../img/logo.svg") no-repeat center center/contain;
	content:"";
}

/* module: m-wysiwyg: CMS装飾テキストエリア.
.* -------------------------------------------------------------------------- *
.* ※CMS投稿による装飾タグ付きhtmlは全てこのクラス内で完結.
.* -------------------------------------------------------------------------- */
.m-wysiwyg {
	margin-top:1em;
	margin-bottom:1em;
}

.m-wysiwyg > *:first-child {
	margin-top:0 !important;
}

.m-wysiwyg > *:last-child {
	margin-bottom:0 !important;
}

.m-wysiwyg :where(h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class])) {
	overflow:hidden;
}

.m-wysiwyg :where(h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class])) + :is(h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class])) {
	margin-top:1.6rem;
}

.m-wysiwyg :where(h2:not([class])) {
	margin-right:-10px;
	margin-left:-10px;
	padding:.5em 11px;
	background:var(--c-txt-lt);
	color:#fff;
	letter-spacing:.15em;
	font-weight:400;
	font-size:1.2em;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.m-wysiwyg :where(h2:not([class])):nth-child(n+2) {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-wysiwyg :where(h2:not([class])):nth-child(n+2) {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.m-wysiwyg :where(h2:not([class])):nth-child(n+2) {
		margin-top:72px;
	}
}
.m-wysiwyg :where(h3:not([class])) {
	position:relative;
	margin-right:-4px;
	margin-left:-4px;
	padding:.25em 4px .25em 16px;
	border-bottom:1px solid var(--c-bd);
	letter-spacing:.08em;
	line-height:1.5;
}

.m-wysiwyg :where(h3:not([class]))::before {
	position:absolute;
	top:.25em;
	bottom:.25em;
	left:4px;
	width:6px;
	background-color:currentColor;
	content:"";
}

@media (max-width: 743.98px) {
	.m-wysiwyg :where(h3:not([class])):nth-child(n+2) {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-wysiwyg :where(h3:not([class])):nth-child(n+2) {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.m-wysiwyg :where(h3:not([class])):nth-child(n+2) {
		margin-top:72px;
	}
}
.m-wysiwyg :where(h4:not([class])) {
	margin-right:-4px;
	margin-left:-4px;
	padding:.125em 4px;
	background:#e6e6e6;
	letter-spacing:.05em;
}

@media (max-width: 743.98px) {
	.m-wysiwyg :where(h4:not([class])):nth-child(n+2) {
		margin-top:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-wysiwyg :where(h4:not([class])):nth-child(n+2) {
		margin-top:40px;
	}
}
@media (min-width: 992px) {
	.m-wysiwyg :where(h4:not([class])):nth-child(n+2) {
		margin-top:56px;
	}
}
.m-wysiwyg :where(h5:not([class])) {
	width:-moz-fit-content;
	width:fit-content;
	border-bottom:1px solid var(--c-txt-lt);
}

@media (max-width: 743.98px) {
	.m-wysiwyg :where(h5:not([class])):nth-child(n+2) {
		margin-top:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-wysiwyg :where(h5:not([class])):nth-child(n+2) {
		margin-top:40px;
	}
}
@media (min-width: 992px) {
	.m-wysiwyg :where(h5:not([class])):nth-child(n+2) {
		margin-top:56px;
	}
}
.m-wysiwyg :where(blockquote) {
	position:relative;
	margin-right:0;
	margin-left:0;
	padding:1em;
	border:1px solid #ddd;
	background:#f5f5f5;
}

.m-wysiwyg :where(blockquote)::before,
.m-wysiwyg :where(blockquote)::after {
	position:absolute;
	color:#ccc;
	font-size:2em;
	line-height:1;
	transform:translateY(25%);
}

.m-wysiwyg :where(blockquote)::before {
	top:0;
	left:.5em;
	content:"“";
}

.m-wysiwyg :where(blockquote)::after {
	right:.5em;
	bottom:0;
	content:"”";
}

.m-wysiwyg :where(cite) {
	position:relative;
	display:inline-block;
	font-style:normal;
	transform:skew(-10deg);
}

.m-wysiwyg :where(table:not([class])) {
	margin-bottom:1em;
	min-width:50%;
	max-width:100%;
	border-spacing:0;
	border-collapse:collapse;
}

.m-wysiwyg :where(table:not([class])) th,
.m-wysiwyg :where(table:not([class])) td {
	padding:.25em .5em;
	border:1px solid #ddd;
	vertical-align:top;
	line-height:1.5;
}

.m-wysiwyg :where(table:not([class])) th > *:first-child,
.m-wysiwyg :where(table:not([class])) td > *:first-child {
	margin-top:0;
}

.m-wysiwyg :where(table:not([class])) th > *:last-child,
.m-wysiwyg :where(table:not([class])) td > *:last-child {
	margin-bottom:0;
}

.m-wysiwyg :where(table:not([class])) th {
	background:#f5f5f5;
}

.m-wysiwyg :where(pre) {
	overflow-x:scroll;
	padding:1em;
	border:1px solid #ddd;
	background:#f5f5f5;
}

.m-wysiwyg img {
	max-width:100%;
	height:auto;
}

.m-wysiwyg a:not([class]):link,
.m-wysiwyg a:not([class]):visited {
	color:currentColor;
	text-decoration:underline;
}

.m-wysiwyg a:not([class])::after {
	display:inline-block;
	margin-left:.125em;
	width:1em;
	height:1em;
	content:"\e5c8";
	text-decoration:none;
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.m-wysiwyg a:not([class]):hover {
		text-decoration:none;
	}
}
.m-wysiwyg a:not([class])[target=_blank]::after {
	content:"\e89e";
	font-weight:400;
}

.m-wysiwyg a:not([class])[href^="tel:"]::after,
.m-wysiwyg a:not([class])[href^="mailto:"]::after,
.m-wysiwyg a:not([class]):has(img:only-child)::after {
	display:none;
}

.m-pageindex {
	position:relative;
	margin-top:2em;
	width:-moz-fit-content;
	width:fit-content;
	border:1px solid #ccc;
	font-size:87.5%;
}
.m-pageindex > dt {
	position:absolute;
	top:-1em;
	left:1em;
	display:block;
	padding-right:.75em;
	padding-left:.75em;
	background:#fff;
}
.m-pageindex > dd {
	margin-left:0;
	padding:1em 2em 1em .5em;
}
.m-pageindex > dd ul {
	padding-left:1.5em;
}
.m-pageindex > dd ol {
	padding-left:2em;
}

.m-definition {
	margin-top:1.5em;
}
.m-definition > dt {
	z-index:1;
	margin-bottom:-1px;
	padding:.125em .5em;
	width:-moz-fit-content;
	width:fit-content;
	background:var(--c-txt);
	color:#fff;
	line-height:1.5;
}
.m-definition > dd {
	margin-left:0;
	padding:1em;
	border:1px solid #ccc;
	background:#fff;
}
.m-definition > dd > *:first-child {
	margin-top:0;
}
.m-definition > dd > *:last-child {
	margin-bottom:0;
}

@media (min-width: 744px) {
	.m-sideMedia {
		display:flex;

		gap:0 4.347826087%;
	}
}
@media (max-width: 743.98px) {
	.m-sideMedia_media {
		margin-bottom:1em;
	}
}
@media (min-width: 744px) {
	.m-sideMedia_media {
		flex-shrink:0;
		width:30.4347826087%;
	}
}
@media (min-width: 744px) {
	.m-sideMedia_body > *:first-child {
		margin-top:0;
	}
	.m-sideMedia_body > *:last-child {
		margin-bottom:0;
	}
}

/* ========================================================================== *
.* layout.
.* ========================================================================== */
.l-symbols {
	display:none !important;
}

.l-wrap {
	position:relative;
	z-index:var(--z-wrap);
	width:100%;
}

@media (max-width: 743.98px) {
	.l-wrap {
		min-width:375px;
	}
}
@media (max-width: 743.98px) {
	.l-wrap {
		padding-top:var(--h-head-s);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-wrap {
		padding-top:var(--h-head-m);
	}
}
@media (min-width: 992px) {
	.l-wrap {
		padding-top:var(--h-head-l);
	}
}
@media (max-width: 743.98px) {
	.l-contents {
		padding-bottom:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-contents {
		padding-bottom:40px;
	}
}
@media (min-width: 992px) {
	.l-contents {
		padding-bottom:48px;
	}
}
.l-layout-l {
	position:relative;
	margin-right:auto;
	margin-left:auto;
	max-width:1380px;
}

@media (max-width: 743.98px) {
	.l-layout-l {
		width:92%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-layout-l {
		width:92.7419354839%;
	}
}
@media (min-width: 992px) {
	.l-layout-l {
		width:95.8333333333%;
	}
}
.l-layout {
	position:relative;
	margin-right:auto;
	margin-left:auto;
	max-width:1104px;
}

@media (max-width: 743.98px) {
	.l-layout {
		width:92%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-layout {
		min-width:690px;
		width:83.8383838384%;
	}
}
@media (min-width: 992px) {
	.l-layout {
		width:84.3333333333%;
	}
}
.l-layout-m {
	position:relative;
	margin-right:auto;
	margin-left:auto;
	max-width:920px;
}

@media (max-width: 743.98px) {
	.l-layout-m {
		width:92%;
	}
}
@media (min-width: 744px) {
	.l-layout-m {
		min-width:690px;
		width:83.8383838384%;
	}
}
.l-layout-s {
	position:relative;
	margin-right:auto;
	margin-left:auto;
	max-width:690px;
}

@media (max-width: 743.98px) {
	.l-layout-s {
		width:92%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-layout-s {
		width:92.7419354839%;
	}
}
@media (min-width: 992px) {
	.l-layout-s {
		width:95.8333333333%;
	}
}
/* layout: 共通ヘッダ.
.* -------------------------------------------------------------------------- */
.l-head {
	position:absolute;
	top:0;
	left:0;
	z-index:var(--z-head);
	width:100%;
	background:#fff;
	box-shadow:0 -1px 0 0 inset rgba(0, 0, 0, .1);
	text-align:center;
}

.l-head.is-fixed {
	position:fixed;
}

.l-head_inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
}

@media (max-width: 743.98px) {
	.l-head_inner {
		height:var(--h-head-s);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-head_inner {
		height:var(--h-head-m);
	}
}
@media (min-width: 992px) {
	.l-head_inner {
		height:calc(var(--h-head-l) - var(--h-gnav-l));
	}
}
.l-head_siteTitle {
	margin-top:0;
	margin-bottom:0;
	font-weight:700;
	font-size:16;
	line-height:1;
}

@media (max-width: 991.98px) {
	.l-head_siteTitle {
		padding-left:8px;
	}
}
@media (min-width: 992px) {
	.l-head_siteTitle {
		flex-shrink:0;
		padding-top:8px;
		padding-right:16px;
		padding-left:16px;
		width:392px;
	}
}
.l-head_siteTitle .siteTitle_inner {
	display:inline-block;
}

@media (max-width: 743.98px) {
	.l-head_siteTitle .siteTitle_inner .m-logo {
		width:auto;
		height:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-head_siteTitle .siteTitle_inner .m-logo {
		width:auto;
		height:48px;
	}
}
@media (min-width: 992px) {
	.l-head_siteTitle .siteTitle_inner .m-logo {
		width:360px;
		height:auto;
	}
}
@media (max-width: 991.98px) {
	.l-head_contents {
		display:none;
	}
}
@media (min-width: 992px) {
	.l-head_contents {
		display:flex;
		align-items:flex-end;
		flex-direction:column;
		padding-top:32px;
		padding-right:16px;
		width:100%;
	}
}
/* pnav.
.* ---------------------------------- */
.l-pnav {
	margin-bottom:24px;
	font-size:12px;
}

.l-pnav_list {
	display:flex;
	justify-content:flex-end;
	margin:0;
	margin-right:1.5em;
	padding-left:0;
	border-left:1px solid rgba(80, 80, 80, .5);
	list-style-type:none;
}

.l-pnav_list > li {
	border-right:1px solid rgba(80, 80, 80, .5);
	line-height:1.5;
}

.l-pnav_link {
	display:flex;
	align-items:center;
	padding-right:2.5em;
	padding-left:2em;
	letter-spacing:.15em;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

.l-pnav_link::after {
	display:block;
	margin-right:-16px;
	width:16px;
	height:16px;
	content:"\e5c8";
	font-weight:200;
	font-size:16px;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(5%);
}

@media (any-hover: hover) {
	.l-pnav_link:hover {
		opacity:.5;
	}
}
/* gnav.
.* ---------------------------------- */
@media (max-width: 991.98px) {
	.l-gnav {
		display:none;
	}
}
.l-gnav_primary {
	display:flex;
	justify-content:center;
	margin:0;
	padding-left:0;
	list-style-type:none;
	font-size:14px;
}

@media (min-width: 992px) {
	.l-gnav_primary {
		height:var(--h-gnav-l);
	}
}
.l-gnav_primary > li {
	position:relative;
	z-index:0;
	line-height:1.2;
	transition:background-color .2s linear;
}

.l-gnav_primary > li.is-active {
	background:#e7e7e7;
}

.l-gnav_primaryLink {
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0 16px 0 24px;
	width:100%;
	height:var(--h-gnav-l);
	white-space:nowrap;
	cursor:default;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.l-gnav_primaryLink {
		letter-spacing:.08em;
	}
}
@media (min-width: 1200px) {
	.l-gnav_primaryLink {
		letter-spacing:.1em;
	}
}
.l-gnav_primaryLink::after {
	width:1em;
	height:1em;
	content:"\e313";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(5%);
}

.l-gnav_primaryChild {
	position:fixed;
	top:var(--h-head-l);
	left:0;
	display:none;
	width:100%;
	background:#e7e7e7;
}

.l-gnav_primaryChildInner {
	padding:56px 24px;
}

.l-gnav_secondary {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;

	gap:32px 48px;
}

.l-gnav_secondaryLink {
	color:var(--c-txt-dk);
	white-space:nowrap;
	letter-spacing:.15em;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

.l-gnav_secondaryLink::after {
	display:inline-block;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-gnav_secondaryLink:hover {
		opacity:.5;
	}
}
/* layout: 共通フッタ.
.* -------------------------------------------------------------------------- */
.l-foot {
	position:relative;
	background:#e6e6e6;
	font-size:12px;
}

.l-foot_inner {
	padding-top:56px;
	padding-bottom:64px;
}

@media (max-width: 991.98px) {
	.l-foot_fnav {
		display:none;
	}
}
.l-foot_info {
	text-align:center;
}

.l-foot_def {
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}

.l-foot_def > dt {
	overflow:hidden;
	margin-right:4px;
	width:24px;
	height:24px;
	line-height:1;
}

.l-foot_def > dt::before {
	display:inline-block;
	width:24px;
	height:24px;
	font-weight:200;
	font-size:24px;
	font-family:"Material Symbols Outlined";
	line-height:1;
}

.l-foot_def > dd {
	margin-left:0;
}

.l-foot_def > dd > a {
	color:currentColor;
	text-decoration:none;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.l-foot_def > dd > a:hover {
		opacity:.5;
	}
}
.l-foot_def.is-address > dt::before {
	content:"\e0c8";
}

.l-foot_def.is-tel > dt::before {
	content:"\e61d";
}

.l-foot_def.is-fax > dt::before {
	content:"\ead8";
}

.l-foot_def.is-mail > dt::before {
	content:"\e158";
	transform:translateY(10%);
}

.l-foot_defs {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:0;
	margin-top:24px;
	margin-bottom:16px;
	padding-left:0;
	list-style-type:none;

	gap:8px 32px;
}

.l-foot_address {
	display:flex;
	align-items:center;
	justify-content:center;
}

@media (max-width: 743.98px) {
	.l-foot_address {
		flex-direction:column;
	}
}
.l-foot_access {
	transition:opacity .2s linear;
}

@media (min-width: 744px) {
	.l-foot_access {
		display:inline-block;
		margin-left:1em;
		padding-left:1em;
		border-left:1px solid rgba(80, 80, 80, .15);
	}
}
.l-foot_access::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-foot_access:hover {
		opacity:.5;
	}
}
.l-foot_sns {
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
	padding-left:0;
	list-style-type:none;
	font-size:24px;
	line-height:1.5;

	gap:0 32px;
}

.l-foot_snsLink {
	color:currentColor;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.l-foot_snsLink:hover {
		opacity:.5;
	}
}
.l-foot_privacy {
	margin-top:24px;
	text-align:center;
}

@media (min-width: 992px) {
	.l-foot_privacy {
		display:none;
	}
}
.l-foot_privacyLink {
	position:relative;
	letter-spacing:.2em;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

.l-foot_privacyLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-foot_privacyLink:hover {
		opacity:.5;
	}
}
/* fnav
------------------------------------- */
.l-fnav {
	margin-bottom:64px;
	font-size:12px;
}

.l-fnav_layout {
	position:relative;
	display:flex;
	justify-content:space-between;

	gap:0 4.3062200957%;
}

.l-fnav_col {
	width:21.7703349282%;
}

.l-fnav_col.is-double {
	width:47.8468899522%;
}

.l-fnav_4layout {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;

	gap:32px 9%;
}

.l-fnav_4layoutItem {
	width:45.5%;
}

.l-fnav_3layout {
	display:flex;
	flex-direction:column;

	gap:16px 0;
}

.l-fnav_groupLabel {
	letter-spacing:.2em;
	font-weight:700;

	font-feature-settings:"palt";
}

.l-fnav_primary {
	margin:0;
}

.l-fnav_primary > li {
	margin-top:8px;
	margin-bottom:8px;
	padding-top:.25em;
	padding-bottom:.25em;
	line-height:1.5;
}

.l-fnav_primary > li:has(.l-fnav_secondary):not(:first-child) {
	margin-top:2em;
}

.l-fnav_primaryLink {
	position:relative;
	letter-spacing:.2em;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

.l-fnav_primaryLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-fnav_primaryLink:hover {
		opacity:.5;
	}
}
.l-fnav_secondary {
	margin-top:11px;
	border-top:1px solid rgba(80, 80, 80, .15);
}

.l-fnav_secondary > li {
	margin-top:8px;
	margin-bottom:8px;
	padding-top:.25em;
	padding-bottom:.25em;
	line-height:1.5;
}

.l-fnav_secondaryLink {
	position:relative;
	letter-spacing:.2em;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

.l-fnav_secondaryLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-fnav_secondaryLink:hover {
		opacity:.5;
	}
}
.l-fnav_secondaryLink.is-category::before {
	display:inline-block;
	margin-right:.5em;
	content:"-";
}

.l-fnav_privacy {
	position:absolute;
	bottom:0;
	left:0;
	margin-bottom:16px;
}

.l-fnav_privacyLink {
	position:relative;
	letter-spacing:.2em;
	transition:opacity .2s linear;

	font-feature-settings:"palt";
}

.l-fnav_privacyLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-fnav_privacyLink:hover {
		opacity:.5;
	}
}
/* copyright
------------------------------------- */
.l-copyright {
	margin-top:0;
	margin-bottom:0;
	padding-top:1em;
	padding-bottom:1em;
	border-top:1px solid rgba(80, 80, 80, .15);
	text-align:center;
	font-size:1.2rem;
}

.l-copyright > small {
	font-size:100%;
}

/* #pagetopAnchor
------------------------------------- */
:root {
	--pta-offset:16;
}

.l-pagetopanchor {
	position:absolute;
	top:16px;
	left:0;
	z-index:var(--z-pagetopanchor);
	width:100%;
	height:0;
}

.l-pagetopanchor.is-uninitialized {
	display:none;
}

.l-pagetopanchor.is-fixed {
	position:fixed;
	top:auto;
	bottom:0;
}

.l-pagetopanchor_btn {
	position:absolute;
	top:-16px;
	right:16px;
	display:flex;
	overflow:hidden;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	background:#e6e6e6;
	color:#4d4d4d;
	text-decoration:none;
	opacity:0;
	transition:background-color .2s linear, opacity .2s linear 0s, transform .3s ease-in-out;
	transform:translateY(100%) scale(.5);
}

@media (any-hover: hover) {
	.l-pagetopanchor_btn:hover {
		background:rgba(230, 230, 230, .5);
		color:#4d4d4d;
	}
}
.is-visible .l-pagetopanchor_btn {
	opacity:1;
	transform:translateY(-100%) scale(1);
}

.l-pagetopanchor_btn .material-symbols-outlined {
	font-weight:200;
}

/* layout: 共通メニュー.
.* -------------------------------------------------------------------------- */
@media (min-width: 992px) {
	.l-menu {
		display:none;
	}
}
.l-menu_toggle {
	position:absolute;
	top:0;
	right:0;
	z-index:var(--z-menu-toggle);
	display:flex;
	align-items:center;
	flex-direction:row-reverse;
	justify-content:center;
	border:0;
	background:none;
	color:var(--c-txt);
	cursor:pointer;
	transition:background-color .3s linear 0s, color .25s linear 0s;

	-webkit-appearance:none;

	-moz-appearance:none;

	appearance:none;
}

.has-fixed-head .l-menu_toggle {
	position:fixed;
}

@media (max-width: 743.98px) {
	.l-menu_toggle {
		padding:0 8px 0 12px;
		height:var(--h-head-s);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-menu_toggle {
		padding:0 22px 0 24px;
		height:var(--h-head-m);
	}
}
.l-menu_toggle.is-active {
	background:#e7e7e7;
	transition:background-color .3s linear 0s, color .25s linear .25s;
}

.l-menu_toggle:focus-visible {
	outline:1px solid #505050;
}

.l-menu_toggleIco {
	display:block;
	width:30px;
	height:30px;
}

.l-menu_toggleIco > svg {
	vertical-align:top;
}

.l-menu_toggleLabel {
	margin-right:4px;
	color:currentColor;
	font-size:10px;
	line-height:1;
}

.l-menu_contents {
	position:absolute;
	top:0;
	left:0;
	z-index:var(--z-menu-contents);
	width:100%;
	background:#e7e7e7;
}

.l-menu_contents.is-uninitialized {
	opacity:0;
}

@media (max-width: 743.98px) {
	.l-menu_contents {
		margin-top:var(--h-head-s);
		min-height:calc(100vh - var(--h-head-s));
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-menu_contents {
		margin-top:var(--h-head-m);
		min-height:calc(100vh - var(--h-head-m));
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-menu_inner {
		margin:32px auto;
		min-width:690px;
		width:83.8383838384%;
	}
}
.l-menu_info {
	text-align:center;
	font-size:12px;
}

@media (max-width: 743.98px) {
	.l-menu_info {
		margin-right:auto;
		margin-left:auto;
		padding-top:56px;
		padding-bottom:64px;
		width:92%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-menu_info {
		padding-top:56px;
		padding-bottom:64px;
	}
}
.l-menu_def {
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}

.l-menu_def > dt {
	overflow:hidden;
	margin-right:4px;
	width:24px;
	height:24px;
	line-height:1;
}

.l-menu_def > dt::before {
	display:inline-block;
	width:24px;
	height:24px;
	font-weight:200;
	font-size:24px;
	font-family:"Material Symbols Outlined";
	line-height:1;
}

.l-menu_def > dd {
	margin-left:0;
}

.l-menu_def > dd > a {
	color:currentColor;
	text-decoration:none;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.l-menu_def > dd > a:hover {
		opacity:.5;
	}
}
.l-menu_def.is-address > dt::before {
	content:"\e0c8";
}

.l-menu_def.is-tel > dt::before {
	content:"\e61d";
}

.l-menu_def.is-fax > dt::before {
	content:"\ead8";
}

.l-menu_def.is-mail > dt::before {
	content:"\e158";
	transform:translateY(10%);
}

.l-menu_defs {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:0;
	margin-top:24px;
	margin-bottom:16px;
	padding-left:0;
	list-style-type:none;

	gap:8px 32px;
}

.l-menu_address {
	display:flex;
	align-items:center;
	justify-content:center;
}

@media (max-width: 743.98px) {
	.l-menu_address {
		flex-direction:column;
	}
}
@media (min-width: 744px) {
	.l-menu_access {
		display:inline-block;
		margin-left:1em;
		padding-left:1em;
		border-left:1px solid rgba(80, 80, 80, .15);
	}
}
.l-menu_access::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

.l-menu_sns {
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
	padding-left:0;
	list-style-type:none;
	font-size:24px;
	line-height:1.5;

	gap:0 32px;
}

.l-menu_snsLink {
	color:currentColor;
}

@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_layout {
		position:relative;
		display:flex;

		gap:30px 4.347826087%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_first {
		width:27.5362318841%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_second {
		display:flex;
		justify-content:space-between;
		width:68.115942029%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_secondMain,
	.l-mnav_secondSub {
		width:46.8085106383%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_col:nth-child(n+2) {
		margin-top:24px;
	}
}
.l-mnav_groupLabel {
	position:relative;
	display:block;
	line-height:1.2;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.l-mnav_groupLabel {
		padding:1em 4%;
		letter-spacing:.33em;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_groupLabel {
		padding:.75em 4%;
		letter-spacing:.2em;
		font-size:14px;
	}
}
@media (max-width: 743.98px) {
	.l-mnav_groupLabel::after {
		position:absolute;
		top:50%;
		right:4%;
		display:block;
		width:24px;
		height:24px;
		content:"\e313";
		font-weight:200;
		font-size:24px;
		font-family:"Material Symbols Outlined";
		line-height:1;
		transition:transform .2s;
		transform:translateY(-50%);
	}
}
.l-mnav_groupLabel.is-active::after {
	transform:translateY(-50%) rotateX(180deg);
}

.l-mnav_category {
	border-top:1px solid rgba(80, 80, 80, .15);
}

@media (max-width: 743.98px) {
	.l-mnav_category {
		display:none;
	}
}
.l-mnav_category > li:not(:last-child) {
	border-bottom:1px solid rgba(80, 80, 80, .15);
}

.l-mnav_category .l-mnav_secondaryLink {
	padding-left:calc(4% + 1em);
}

.l-mnav_category .l-mnav_secondaryLink::before {
	position:absolute;
	top:50%;
	left:4%;
	content:"-";
	transform:translateY(-50%);
}

.l-mnav_primary {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.l-mnav_primary > li {
		border-bottom:1px solid rgba(80, 80, 80, .15);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_primary > li:not(:last-child) {
		border-bottom:1px solid rgba(80, 80, 80, .15);
	}
}
.l-mnav_primaryLink {
	position:relative;
	display:block;
	line-height:1.2;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.l-mnav_primaryLink {
		padding:1em 4%;
		letter-spacing:.33em;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_primaryLink {
		padding:.75em 4%;
		letter-spacing:.2em;
		font-size:14px;
	}
}
.l-mnav_primaryLink::after {
	position:absolute;
	top:50%;
	right:4%;
	display:block;
	content:"\e5c8";
	text-align:center;
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(-50%);
}

@media (max-width: 743.98px) {
	.l-mnav_primaryLink::after {
		width:24px;
		height:24px;
		font-size:20px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_primaryLink::after {
		width:16px;
		height:16px;
		font-size:16px;
	}
}
@media (max-width: 743.98px) {
	.l-mnav_primaryChild {
		display:none;
	}
}
@media (max-width: 743.98px) {
	.l-mnav_primaryChild .l-mnav_secondaryLink {
		padding-left:calc(4% + 1em);
	}
}
@media (max-width: 743.98px) {
	.l-mnav_primaryChild .l-mnav_secondaryLink::before {
		position:absolute;
		top:50%;
		left:4%;
		content:"-";
		transform:translateY(-50%);
	}
}
.l-mnav_secondary {
	margin:0;
	padding-left:0;
	border-top:1px solid rgba(80, 80, 80, .15);
	list-style-type:none;
}

.l-mnav_secondary > li:not(:last-child) {
	border-bottom:1px solid rgba(80, 80, 80, .15);
}

.l-mnav_secondaryLink {
	position:relative;
	display:block;
	line-height:1.2;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.l-mnav_secondaryLink {
		padding:1em 4%;
		letter-spacing:.33em;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_secondaryLink {
		padding:.75em 4%;
		letter-spacing:.2em;
		font-size:14px;
	}
}
.l-mnav_secondaryLink::after {
	position:absolute;
	top:50%;
	right:4%;
	display:block;
	content:"\e5c8";
	text-align:center;
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(-50%);
}

@media (max-width: 743.98px) {
	.l-mnav_secondaryLink::after {
		width:24px;
		height:24px;
		font-size:20px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_secondaryLink::after {
		width:16px;
		height:16px;
		font-size:16px;
	}
}
/* layout: 下層共通系.
.* -------------------------------------------------------------------------- */
.l-pageTitle {
	position:relative;
	overflow:hidden;
	background:#000;
	box-shadow:0 -1px 0 0 inset rgba(0, 0, 0, .1);
	color:#fff;
}

@media (max-width: 743.98px) {
	.l-pageTitle {
		margin-bottom:16px;

		aspect-ratio:16/9;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-pageTitle {
		margin-bottom:24px;

		aspect-ratio:3/1;
	}
}
@media (min-width: 992px) {
	.l-pageTitle {
		margin-bottom:48px;
		height:360px;
	}
}
.l-pageTitle_bg {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	pointer-events:none;

	-webkit-user-select:none;

	-moz-user-select:none;

	user-select:none;
}

.l-pageTitle_bg::after {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:8em;
	background-image:linear-gradient(to bottom, transparent 0%, #505050 100%);
	content:"";
	opacity:.5;
}

.l-pageTitle_bg img {
	width:100%;
	height:100%;
	opacity:.75;

	-o-object-fit:cover;

	object-fit:cover;
}

.l-pageTitle_inner {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	letter-spacing:.2em;
}

.l-pageTitle_sub {
	margin:0;
	text-shadow:0 1px 4px rgba(0, 0, 0, .25), 0 0 12px rgba(80, 80, 80, .5);
	font-weight:700;
}

.l-pageTitle_main {
	margin:0 0 1em;
	text-shadow:0 1px 4px rgba(0, 0, 0, .25), 0 0 12px rgba(80, 80, 80, .5);
	font-size:2em;
	line-height:1.33;

	font-feature-settings:"palt";
}

@media (max-width: 543.98px) {
	.l-pageTitle_main {
		font-size:1.5em;
	}
}
@media (min-width: 544px) and (max-width: 743.98px) {
	.l-pageTitle_main {
		letter-spacing:.225em;
		font-size:2em;
	}
}
@media (min-width: 744px) {
	.l-pageTitle_main {
		letter-spacing:.25em;
		font-size:2.5em;
	}
}
.l-pageTitle.is-noimage {
	background-color:#bebebe;
	background-image:linear-gradient(to right, #b0b0b0 0%, #ccc 100%);
	box-shadow:none;
	color:#fff;
}

@media (max-width: 743.98px) {
	.l-pageTitle.is-noimage {
		aspect-ratio:auto;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-pageTitle.is-noimage {
		aspect-ratio:auto;
	}
}
@media (min-width: 992px) {
	.l-pageTitle.is-noimage {
		height:auto;
	}
}
.l-pageTitle.is-noimage .l-pageTitle_inner {
	position:relative;
	bottom:auto;
	left:auto;
}

.l-pageTitle.is-noimage .l-pageTitle_main {
	margin-top:1.5em;
	margin-bottom:1.5em;
	text-shadow:0 1px 4px rgba(0, 0, 0, .1);
}

@media (max-width: 743.98px) {
	.l-postWrap,
	.l-pageWrap {
		padding-top:0;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-postWrap,
	.l-pageWrap {
		padding-top:0;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.l-postWrap,
	.l-pageWrap {
		padding-top:0;
		padding-bottom:96px;
	}
}
/* ========================================================================== *
.* component.
.* ========================================================================== */
/* component: 00_common: 共通.
.* -------------------------------------------------------------------------- */
.cmn-archives {
	border-top:1px solid var(--c-bd);
}

.cmn-archives_item {
	border-bottom:1px solid var(--c-bd);
}

.cmn-archives-null {
	display:flex;
	overflow:hidden;
	align-items:center;
	justify-content:center;
	min-height:7em;
	border:1px dashed var(--c-bd-dk);
	border-radius:.5em;
	background:rgba(0, 0, 0, .02);
	text-align:center;
}

.cmn-archives-null > p {
	opacity:.5;

	-webkit-user-select:none;

	-moz-user-select:none;

	user-select:none;
}

.cmn-archive::after {
	display:block;
	clear:both;
	content:"";
}

@media (max-width: 743.98px) {
	.cmn-archive {
		padding-top:24px;
		padding-bottom:24px;
	}
}
@media (min-width: 744px) {
	.cmn-archive {
		padding-top:32px;
		padding-bottom:32px;
	}
}
.cmn-archive_media {
	float:right;

	aspect-ratio:16/9;
}

@media (max-width: 743.98px) {
	.cmn-archive_media {
		width:135px;
	}
}
@media (min-width: 744px) {
	.cmn-archive_media {
		margin-top:48px;
		margin-left:4.347826087%;
		width:30.4347826087%;
	}
}
.cmn-archive_media > img {
	width:100%;
	height:100%;

	-o-object-fit:cover;

	object-fit:cover;
}

.cmn-archive_meta {
	font-size:12px;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.cmn-archive_meta {
		margin-bottom:8px;
		width:calc(100% - 150px);
	}
}
@media (max-width: 743.98px) {
	.cmn-archive_title {
		margin:0;
		font-size:16px;
		line-height:1.5;
	}
}
@media (min-width: 744px) {
	.cmn-archive_title {
		margin-top:24px;
		margin-bottom:24px;
		width:65.2173913043%;
		font-size:18px;
		line-height:1.77;
	}
}
.cmn-archive_title > span {
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;
	width:100%;

	-webkit-line-clamp:2;
}

@media (max-width: 743.98px) {
	.has-media .cmn-archive_title {
		width:calc(100% - 150px);
	}
}
.cmn-archive_body {
	font-size:14px;
}

@media (max-width: 743.98px) {
	.cmn-archive_body {
		clear:both;
		padding-top:1px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.cmn-archive_body {
		overflow:hidden;
	}
}
@media (max-width: 743.98px) {
	.cmn-cards {
		border-top:1px solid rgba(80, 80, 80, .15);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.cmn-cards {
		display:flex;
		flex-wrap:wrap;

		gap:30px 4.347826087%;
	}
}
@media (min-width: 992px) {
	.cmn-cards {
		display:flex;
		flex-wrap:wrap;

		gap:40px 4.347826087%;
	}
}
@media (max-width: 743.98px) {
	.cmn-cards_item {
		border-bottom:1px solid rgba(80, 80, 80, .15);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.cmn-cards_item {
		width:47.8260869565%;
	}
}
@media (min-width: 992px) {
	.cmn-cards_item {
		width:30.4347826087%;
	}
}
.cmn-card {
	transition:opacity .2s linear;
}

@media (max-width: 743.98px) {
	.cmn-card {
		display:block;
		padding-top:24px;
		padding-bottom:24px;
	}
	.cmn-card::after {
		display:block;
		clear:both;
		content:"";
	}
}
@media (any-hover: hover) {
	.cmn-card:hover {
		opacity:.5;
	}
}
.cmn-card_media {
	position:relative;

	aspect-ratio:16/9;
}

.cmn-card_media::after {
	position:absolute;
	display:block;
	box-sizing:content-box;
	width:1.5em;
	height:1.5em;
	border:1px solid currentColor;
	border-radius:1em;
	background:rgba(0, 0, 0, .175);
	box-shadow:0 0 8px 0 rgba(0, 0, 0, .25);
	color:#fff;
	content:"\e5c8";
	text-align:center;
	font-weight:200;
	font-size:14px;
	font-family:"Material Symbols Outlined";
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.cmn-card_media::after {
		right:8px;
		bottom:8px;
	}
}
@media (min-width: 744px) {
	.cmn-card_media::after {
		right:12px;
		bottom:12px;
	}
}
[target=_blank] .cmn-card_media::after {
	content:"\e89e";
}

.cmn-card_media > img {
	width:100%;
	height:100%;

	-o-object-fit:cover;

	object-fit:cover;
}

@media (max-width: 743.98px) {
	.cmn-card_media {
		float:right;
		width:135px;
	}
}
.cmn-card_meta {
	font-size:12px;
	line-height:1.5em;
}

@media (max-width: 743.98px) {
	.cmn-card_meta {
		margin-bottom:8px;
		width:calc(100% - 150px);
	}
}
@media (min-width: 744px) {
	.cmn-card_meta {
		margin-top:18px;
		margin-bottom:18px;
	}
}
.cmn-card_time {
	display:inline-block;
}

.cmn-card_title {
	margin:0;
	font-weight:400;
	font-size:14px;
}

@media (max-width: 743.98px) {
	.cmn-card_title {
		width:calc(100% - 150px);
		line-height:1.75;
	}
	.cmn-card_title > span {
		display:-webkit-box;
		overflow:hidden;
		-webkit-box-orient:vertical;
		width:100%;

		-webkit-line-clamp:2;
	}
}
@media (min-width: 744px) {
	.cmn-card_title > span {
		display:-webkit-box;
		overflow:hidden;
		-webkit-box-orient:vertical;
		width:100%;

		-webkit-line-clamp:3;
	}
}
.cmn-post_head {
	margin:0 -8px 1.5em;
	padding:0 8px;
	border-bottom:1px solid var(--c-txt-lt);
}

.cmn-post_meta {
	margin-top:0;
	margin-bottom:8px;
	font-size:12px;
	line-height:1.5em;
}

.cmn-post_time {
	display:inline-block;
}

.cmn-post_title {
	margin-top:0;
	line-height:1.5;
}

.cmn-post_eyecatch {
	margin-right:-8px;
	margin-bottom:1.5em;
	margin-left:-8px;

	aspect-ratio:16/9;
}

.cmn-post_body {
	margin:0 -8px 1.5em;
	padding:0 8px 1.5em;
	border-bottom:1px solid var(--c-txt-lt);
}

@media (max-width: 743.98px) {
	.cmn-gallery {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.cmn-gallery {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.cmn-gallery {
		margin-top:72px;
	}
}
.cmn-gallery_items {
	display:flex;
	flex-wrap:wrap;
}

@media (max-width: 743.98px) {
	.cmn-gallery_items {
		gap:8px 8px;
	}
}
@media (min-width: 744px) {
	.cmn-gallery_items {
		gap:0 2%;
	}
}
.cmn-gallery_item {
	background-color:#e6e6e6;

	aspect-ratio:1/1;
}

@media (max-width: 743.98px) {
	.cmn-gallery_item {
		width:calc(50% - 4px);
	}
}
@media (min-width: 744px) {
	.cmn-gallery_item {
		width:32%;
	}
	.cmn-gallery_item:nth-child(n+4) {
		margin-top:2%;
	}
}
.cmn-gallery_item > img {
	width:100%;
	height:100%;

	-o-object-fit:contain;

	object-fit:contain;
}

.cmn-pager {
	text-align:center;
}

@media (max-width: 743.98px) {
	.cmn-pager {
		margin-top:32px;
	}
}
@media (min-width: 744px) {
	.cmn-pager {
		margin-top:44px;
	}
}
.cmn-pager_back {
	font-size:12px;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.cmn-pager_back:hover {
		opacity:.5;
	}
}
.cmn-pager_back > span {
	position:relative;
	display:inline-block;
}

.cmn-pager_back > span::after {
	position:absolute;
	top:50%;
	left:0;
	display:block;
	box-sizing:content-box;
	margin-left:-48px;
	width:38px;
	height:38px;
	border:1px solid rgba(80, 80, 80, .5);
	border-radius:20px;
	content:"\e5c4";
	font-weight:200;
	font-size:20px;
	font-family:"Material Symbols Outlined";
	line-height:38px;
	transform:translateY(-50%);
}

/* component: 01_index: トップページ.
.* -------------------------------------------------------------------------- */
.index-hero {
	overflow-x:hidden;
}

.index-hero_slides.is-uninitialized > div:nth-child(n+2) {
	display:none;
}

.index-hero_slides .slick-dots {
	bottom:0;
	z-index:0;
}

@media (max-width: 743.98px) {
	.index-hero_slides .slick-dots {
		padding-top:120px;
	}
}
@media (min-width: 744px) {
	.index-hero_slides .slick-dots {
		padding-top:72px;
	}
}
.index-hero_slides .slick-dots::before {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:1;
	background-image:linear-gradient(to bottom, transparent 0%, #000 100%);
	content:"";
	opacity:.2;
	pointer-events:none;

	-webkit-user-select:none;

	-moz-user-select:none;

	user-select:none;
}

.index-hero_slides .slick-dots > li {
	position:relative;
	z-index:2;
}

@media (max-width: 743.98px) {
	.index-hero_slides .slick-dots > li {
		width:30px;
	}
}
@media (min-width: 744px) {
	.index-hero_slides .slick-dots > li {
		width:48px;
	}
}
.index-hero_slides .slick-dots > li > button {
	padding:24px 0 0;
}

@media (max-width: 743.98px) {
	.index-hero_slides .slick-dots > li > button {
		width:30px;
	}
}
@media (min-width: 744px) {
	.index-hero_slides .slick-dots > li > button {
		width:48px;
	}
}
.index-hero_slides .slick-dots > li > button::before {
	top:50%;
	width:100%;
	height:4px;
	border-radius:0;
	background:#fff;
	transition:opacity .2s linear, background-color .2s linear;
	transform:scale(1);
}

.index-hero_slide {
	overflow:hidden;
}

@media (max-width: 743.98px) {
	.index-hero_slide {
		aspect-ratio:3/4;
	}
}
@media (min-width: 744px) {
	.index-hero_slide {
		aspect-ratio:1920/795;
	}
}
.index-hero_slide img {
	width:100%;
	height:100%;

	-o-object-fit:cover;

	object-fit:cover;
}

@media (max-width: 743.98px) {
	.index-hero_slide img.is-pc {
		display:none;
	}
}
@media (min-width: 744px) {
	.index-hero_slide img.is-sp {
		display:none;
	}
}
.index-cmnHead {
	margin:0;
	text-align:center;
	font-weight:400;
}

@media (max-width: 743.98px) {
	.index-cmnHead {
		margin-bottom:32px;
		font-size:24px;
	}
}
@media (min-width: 744px) {
	.index-cmnHead {
		margin-bottom:44px;
		font-size:32px;
	}
}
@media (max-width: 743.98px) {
	.index-warning {
		padding-top:48px;
		padding-bottom:0;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-warning {
		padding-top:40px;
		padding-bottom:0;
	}
}
@media (min-width: 992px) {
	.index-warning {
		padding-top:32px;
		padding-bottom:0;
	}
}
.index-warning_layout {
	background:#fff;
}

@media (min-width: 744px) and (max-width: 991.98px) {
	.index-warning_layout {
		display:flex;
	}
}
@media (min-width: 992px) {
	.index-warning_layout {
		display:flex;
	}
}
.index-warning_head {
	margin:0;
	background-color:#db164f;
	color:#fff;
	font-weight:400;
	font-size:18px;
}

@media (min-width: 744px) and (max-width: 991.98px) {
	.index-warning_head {
		display:flex;
		align-items:center;
		justify-content:center;
		width:21.7391304348%;
	}
}
@media (min-width: 992px) {
	.index-warning_head {
		display:flex;
		align-items:center;
		justify-content:center;
		width:18.9723320158%;
	}
}
.index-warning_head > span {
	display:flex;
	align-items:center;
}

@media (max-width: 743.98px) {
	.index-warning_head > span {
		justify-content:flex-start;
		margin-left:.5em;
	}
}
@media (min-width: 744px) {
	.index-warning_head > span {
		justify-content:center;
		margin-left:-.5em;
	}
}
.index-warning_head > span::before {
	display:inline-block;
	margin-top:.05em;
	width:1em;
	height:1em;
	content:"\e88e";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
}

@media (max-width: 743.98px) {
	.index-warning_head > span::before {
		font-size:32px;
	}
}
@media (min-width: 744px) {
	.index-warning_head > span::before {
		font-size:48px;
	}
}
@media (max-width: 743.98px) {
	.index-warning_body {
		padding:0 16px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-warning_body {
		padding:0 16px;
		width:78.2608695652%;
	}
}
@media (min-width: 992px) {
	.index-warning_body {
		padding:0 2.371541502%;
		width:81.0276679842%;
	}
}
.index-warning_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

.index-warning_list > li:nth-child(n+2) {
	border-top:1px solid rgba(80, 80, 80, .15);
}

@media (max-width: 991.98px) {
	.index-warning_item {
		padding:16px 0;
	}
}
@media (min-width: 992px) {
	.index-warning_item {
		display:flex;
		padding:24px 0;
	}
}
.index-warning_time {
	font-size:12px;
}

@media (max-width: 991.98px) {
	.index-warning_time {
		display:block;
	}
}
@media (min-width: 992px) {
	.index-warning_time {
		margin-right:1.5em;
	}
}
.index-warning_title {
	line-height:1.5;
	transition:color .2s linear;
}

.index-warning_title::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\e5c8";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.index-warning_title:hover {
		color:#db164f;
	}
}
.index-warning_title[target=_blank]::after {
	content:"\e89e";
	font-weight:400;
}

@media (max-width: 743.98px) {
	.index-topics {
		padding-top:48px;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-topics {
		padding-top:64px;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.index-topics {
		padding-top:72px;
		padding-bottom:96px;
	}
}
.index-topics_foot {
	text-align:center;
}

@media (max-width: 743.98px) {
	.index-topics_foot {
		margin-top:32px;
	}
}
@media (min-width: 744px) {
	.index-topics_foot {
		margin-top:44px;
	}
}
.index-topics_more {
	font-size:12px;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.index-topics_more:hover {
		opacity:.5;
	}
}
.index-topics_more > span {
	position:relative;
	display:inline-block;
}

.index-topics_more > span::after {
	position:absolute;
	top:50%;
	right:0;
	display:block;
	box-sizing:content-box;
	margin-right:-48px;
	width:38px;
	height:38px;
	border:1px solid rgba(80, 80, 80, .5);
	border-radius:20px;
	content:"\e5c8";
	font-weight:200;
	font-size:20px;
	font-family:"Material Symbols Outlined";
	line-height:38px;
	transform:translateY(-50%);
}

@media (max-width: 743.98px) {
	.index-news {
		padding-top:16px;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-news {
		padding-top:24px;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.index-news {
		padding-top:32px;
		padding-bottom:96px;
	}
}
.index-news_foot {
	text-align:center;
}

@media (max-width: 743.98px) {
	.index-news_foot {
		margin-top:32px;
	}
}
@media (min-width: 744px) {
	.index-news_foot {
		margin-top:44px;
	}
}
.index-news_more {
	font-size:12px;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.index-news_more:hover {
		opacity:.5;
	}
}
.index-news_more > span {
	position:relative;
	display:inline-block;
}

.index-news_more > span::after {
	position:absolute;
	top:50%;
	right:0;
	display:block;
	box-sizing:content-box;
	margin-right:-48px;
	width:38px;
	height:38px;
	border:1px solid rgba(80, 80, 80, .5);
	border-radius:20px;
	content:"\e5c8";
	font-weight:200;
	font-size:20px;
	font-family:"Material Symbols Outlined";
	line-height:38px;
	transform:translateY(-50%);
}

.index-features {
	background:#e6e6e6;
}

@media (max-width: 743.98px) {
	.index-features {
		padding-top:48px;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-features {
		padding-top:64px;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.index-features {
		padding-top:72px;
		padding-bottom:96px;
	}
}
.index-features_lead {
	margin-top:-32px;
	margin-right:auto;
	margin-bottom:16px;
	margin-left:auto;
	max-width:690px;
	text-align:center;
}

.index-features_images {
	display:flex;
	margin-right:auto;
	margin-left:auto;
}

@media (max-width: 991.98px) {
	.index-features_images {
		flex-direction:column;
	}
}
@media (max-width: 743.98px) {
	.index-features_images {
		max-width:560px;
		width:92%;

		gap:32px 0;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-features_images {
		min-width:560px;
		width:56.5656565657%;

		gap:48px 0;
	}
}
@media (min-width: 992px) {
	.index-features_images {
		max-width:1632px;
		width:85%;

		gap:0 4.347826087%;
	}
}
@media (min-width: 992px) {
	.index-features_image {
		width:30.4347826087%;
	}
}
@media (max-width: 743.98px) {
	.index-links {
		padding-top:64px;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-links {
		padding-top:72px;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.index-links {
		padding-top:96px;
		padding-bottom:96px;
	}
}
.index-links_list {
	display:flex;
	flex-wrap:wrap;
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.index-links_list {
		gap:40px 0;
	}
}
@media (min-width: 744px) {
	.index-links_list {
		gap:48px 0;
	}
}
@media (max-width: 743.98px) {
	.index-links_list > li {
		width:50%;
	}
}
@media (min-width: 744px) {
	.index-links_list > li {
		width:33.3333333333%;
	}
}
.index-links_item {
	display:flex;
	align-items:center;
	flex-direction:column;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.index-links_item:hover {
		opacity:.5;
	}
}
.index-links_icon {
	width:64px;
	height:64px;
}

.index-links_icon > img {
	width:100%;
	height:auto;

	aspect-ratio:1/1;
	-o-object-fit:contain;
	object-fit:contain;
}

.index-links_cap {
	text-align:center;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.index-links_cap {
		margin-top:12px;
		letter-spacing:.1em;
		font-size:14px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-links_cap {
		margin-top:16px;
		letter-spacing:.1em;
		font-size:14px;
	}
}
@media (min-width: 992px) {
	.index-links_cap {
		margin-top:16px;
		letter-spacing:.2em;
	}
}
/* component: 03_access: アクセス.
.* -------------------------------------------------------------------------- */
@media (max-width: 743.98px) {
	.access-lead {
		padding-top:0;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.access-lead {
		padding-top:0;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.access-lead {
		padding-top:0;
		padding-bottom:96px;
	}
}
.access-lead_map {
	position:relative;
}

@media (max-width: 543.98px) {
	.access-lead_map {
		aspect-ratio:1/1;
	}
}
@media (min-width: 544px) and (max-width: 743.98px) {
	.access-lead_map {
		aspect-ratio:4/3;
	}
}
@media (min-width: 744px) {
	.access-lead_map {
		aspect-ratio:16/9;
	}
}
.access-lead_map > iframe {
	width:100%;
	height:100%;
}

.access-lead_name {
	position:relative;
	margin-top:48px;
	margin-bottom:2.5em;
	text-align:center;
	font-weight:700;
}

.access-lead_name::before {
	position:absolute;
	top:-48px;
	right:50%;
	width:1px;
	height:48px;
	background:var(--c-bd);
	content:"";
}

.access-lead_dataList {
	margin:0 auto;
	padding:0;
	max-width:500px;
	border-top:1px solid var(--c-bd);
	list-style-type:none;
}

.access-lead_dataList > li {
	padding-top:1.5em;
	padding-bottom:1.5em;
	border-bottom:1px solid var(--c-bd);
}

.access-lead_data {
	display:flex;
	line-height:1.5;
}

.access-lead_data > dt {
	flex-shrink:0;
	width:6em;
	font-weight:700;
}

.access-lead_data > dd {
	margin-left:0;
	width:calc(100% - 6em);
	word-break:keep-all;
}

.access-sec_head {
	margin:0;
	text-align:center;
	font-weight:400;
}

@media (max-width: 743.98px) {
	.access-sec_head {
		margin-bottom:32px;
		font-size:24px;
	}
}
@media (min-width: 744px) {
	.access-sec_head {
		margin-bottom:44px;
		font-size:32px;
	}
}
.access-sec_lead {
	margin-top:0;
	text-align:center;
}

.access-sec_def {
	margin-right:auto;
	margin-left:auto;
	max-width:690px;
}

.access-sec_def:nth-child(n+2) {
	margin-top:2.5em;
}

.access-sec_def > dt {
	margin-bottom:.25em;
	font-weight:700;
}

.access-sec_def > dd {
	margin-left:0;
}

/* component: 04_privacy: プライバシーポリシー.
.* -------------------------------------------------------------------------- */
.privacy {
	margin:0 auto;
	max-width:690px;
}

@media (max-width: 743.98px) {
	.privacy-sec {
		padding-top:48px;
		padding-bottom:0;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.privacy-sec {
		padding-top:56px;
		padding-bottom:0;
	}
}
@media (min-width: 992px) {
	.privacy-sec {
		padding-top:72px;
		padding-bottom:0;
	}
}
.privacy-sec_head {
	margin:0;
	padding:.25em 0;
	border-bottom:1px solid var(--c-bd);
	font-weight:400;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.privacy-sec_head {
		margin-bottom:24px;
		font-size:20px;
	}
}
@media (min-width: 744px) {
	.privacy-sec_head {
		margin-bottom:32px;
		font-size:24px;
	}
}
/* component: b1_greeting: 学校長挨拶.
.* -------------------------------------------------------------------------- */
.greeting_catch {
	margin-right:auto;
	margin-left:auto;
	max-width:690px;
	text-align:center;
}

/* component: b4_facility: 施設紹介.
.* -------------------------------------------------------------------------- */
.facility_catch {
	margin:1em auto 1.5em;
	width:-moz-fit-content;
	width:fit-content;
	text-align:center;
	font-weight:700;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.facility_catch {
		font-size:18px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.facility_catch {
		font-size:21px;
	}
}
@media (min-width: 992px) {
	.facility_catch {
		font-size:26px;
	}
}
.facility_catch::before,
.facility_catch::after {
	border-width:1px;
}

/* component: c1_strength: 特色・強み.
.* -------------------------------------------------------------------------- */
@media (max-width: 743.98px) {
	.strength-intro {
		padding-top:0;
		padding-bottom:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.strength-intro {
		padding-top:0;
		padding-bottom:48px;
	}
}
@media (min-width: 992px) {
	.strength-intro {
		padding-top:0;
		padding-bottom:64px;
	}
}
.strength-intro_head {
	margin:0;
	text-align:center;
	font-weight:400;
}

@media (max-width: 743.98px) {
	.strength-intro_head {
		margin-top:32px;
		margin-bottom:32px;
		font-size:24px;
	}
}
@media (min-width: 744px) {
	.strength-intro_head {
		margin-bottom:44px;
		font-size:32px;
	}
}
.strength-intro_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.strength-intro_list {
		margin-right:auto;
		margin-left:auto;
		max-width:500px;
	}
}
@media (min-width: 744px) {
	.strength-intro_list {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;

		gap:0 4.347826087%;
	}
}
@media (max-width: 743.98px) {
	.strength-intro_list > li:nth-child(n+2) {
		margin-bottom:2em;
	}
}
@media (min-width: 744px) {
	.strength-intro_list > li {
		width:47.8260869565%;
	}
	.strength-intro_list > li:nth-child(n+3) {
		margin-top:4.347826087%;
	}
}
.strength-intro_num {
	margin-bottom:-.85em;
	text-align:center;
	font-weight:200;
	font-size:72px;
	line-height:1;
	opacity:.1;
	pointer-events:none;

	-webkit-user-select:none;

	-moz-user-select:none;

	user-select:none;
}

.strength-intro_catch {
	display:flex;
	align-items:center;
	font-weight:700;
	font-size:18px;

	gap:0 12px;
}

.strength-intro_catch::before,
.strength-intro_catch::after {
	flex-grow:1;
	border-top:1px solid currentColor;
	content:"";
	opacity:.5;
}

.strength-catch {
	margin:1em auto;
	width:-moz-fit-content;
	width:fit-content;
	text-align:center;
	font-weight:700;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.strength-catch {
		font-size:18px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.strength-catch {
		font-size:21px;
	}
}
@media (min-width: 992px) {
	.strength-catch {
		font-size:26px;
	}
}
.strength-catch::before,
.strength-catch::after {
	border-width:1px;
}

.strength-course {
	position:relative;
	margin-top:2.5em;
	border:1px solid var(--c-bd);
}

.strength-course_head {
	margin:-1em auto 0;
	padding:0 1em;
	width:-moz-fit-content;
	width:fit-content;
	background:var(--c-base);
	font-weight:700;

	font-feature-settings:"palt";
}

.strength-course_body {
	padding:1em;
}

.strength-course_body > *:first-child {
	margin-top:0 !important;
}

.strength-course_body > *:last-child {
	margin-bottom:0 !important;
}

/* component: c2-4: 各コース.
.* -------------------------------------------------------------------------- */
.course-catch {
	margin:1em auto;
	width:-moz-fit-content;
	width:fit-content;
	text-align:center;
	font-weight:700;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.course-catch {
		font-size:18px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.course-catch {
		font-size:21px;
	}
}
@media (min-width: 992px) {
	.course-catch {
		font-size:26px;
	}
}
.course-catch::before,
.course-catch::after {
	border-width:1px;
}

@media (max-width: 743.98px) {
	.course-note {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.course-note {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.course-note {
		margin-top:72px;
	}
}
.course-note_inner {
	padding:.5em 1em;
	background:#e6e6e6;
}

/* component: d2_club: 部活紹介.
.* -------------------------------------------------------------------------- */
.club-document {
	text-align:center;
}

@media (max-width: 743.98px) {
	.club-document {
		margin-top:24px;
		margin-bottom:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.club-document {
		margin-top:24px;
		margin-bottom:64px;
	}
}
@media (min-width: 992px) {
	.club-document {
		margin-bottom:72px;
	}
}
.club-document_link {
	position:relative;
	display:block;
	margin:0 auto;
	padding:1.5em 56px;
	max-width:500px;
	border:1px solid var(--c-txt-lt);
	transition:opacity .2s linear;
}

.club-document_link::after {
	position:absolute;
	top:50%;
	right:0;
	display:block;
	box-sizing:content-box;
	margin-right:12px;
	width:38px;
	height:38px;
	border:1px solid rgba(80, 80, 80, .5);
	border-radius:20px;
	content:"\e89e";
	font-weight:200;
	font-size:20px;
	font-family:"Material Symbols Outlined";
	line-height:38px;
	transform:translateY(-50%);
}

@media (any-hover: hover) {
	.club-document_link:hover {
		opacity:.5;
	}
}
.club-cat {
	margin:0 auto;
	max-width:420px;
}

.club-cat_list {
	display:flex;
	flex-wrap:wrap;
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.club-cat_list {
		gap:40px 0;
	}
}
@media (min-width: 744px) {
	.club-cat_list {
		gap:64px 0;
	}
}
.club-cat_list > li {
	width:50%;
}

.club-cat_item {
	display:flex;
	align-items:center;
	flex-direction:column;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.club-cat_item:hover {
		opacity:.5;
	}
}
.club-cat_icon {
	width:64px;
	height:64px;
}

.club-cat_icon > img {
	width:100%;
	height:auto;

	aspect-ratio:1/1;
	-o-object-fit:contain;
	object-fit:contain;
}

.club-cat_cap {
	text-align:center;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.club-cat_cap {
		margin-top:12px;
		letter-spacing:.1em;
		font-size:14px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.club-cat_cap {
		margin-top:16px;
		letter-spacing:.1em;
		font-size:14px;
	}
}
@media (min-width: 992px) {
	.club-cat_cap {
		margin-top:16px;
		letter-spacing:.2em;
	}
}
/* component: sp-a_visitingclass: 出前授業・学校説明・学校見学等.
.* -------------------------------------------------------------------------- */
.visitingclass_classList {
	display:flex;
	flex-wrap:wrap;
	margin:0;
	padding-left:0;
	list-style-type:none;

	gap:.5em 1em;
}

.visitingclass_classList > li {
	line-height:1.5;
}

.visitingclass_classList > li::before {
	display:inline-block;
	content:"・";
}

.visitingclass_classFoot {
	margin-top:.5em;
	text-align:right;
	line-height:1.5;
}

#tinymce {
	margin:0;
	padding:10px;
}
#tinymce.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
	left:10px;
}
#tinymce > *:first-child {
	margin-top:0 !important;
}
#tinymce > *:last-child {
	margin-bottom:0 !important;
}
#tinymce :where(h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class])) {
	overflow:hidden;
}
#tinymce :where(h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class])) + :is(h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class])) {
	margin-top:1.6rem;
}
#tinymce :where(h2:not([class])) {
	margin-right:-10px;
	margin-left:-10px;
	padding:.5em 11px;
	background:var(--c-txt-lt);
	color:#fff;
	letter-spacing:.15em;
	font-weight:400;
	font-size:1.2em;
	line-height:1.5;
}
@media (max-width: 743.98px) {
	#tinymce :where(h2:not([class])):nth-child(n+2) {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	#tinymce :where(h2:not([class])):nth-child(n+2) {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	#tinymce :where(h2:not([class])):nth-child(n+2) {
		margin-top:72px;
	}
}
#tinymce :where(h3:not([class])) {
	position:relative;
	margin-right:-4px;
	margin-left:-4px;
	padding:.25em 4px .25em 16px;
	border-bottom:1px solid var(--c-bd);
	letter-spacing:.08em;
	line-height:1.5;
}
#tinymce :where(h3:not([class]))::before {
	position:absolute;
	top:.25em;
	bottom:.25em;
	left:4px;
	width:6px;
	background-color:currentColor;
	content:"";
}
@media (max-width: 743.98px) {
	#tinymce :where(h3:not([class])):nth-child(n+2) {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	#tinymce :where(h3:not([class])):nth-child(n+2) {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	#tinymce :where(h3:not([class])):nth-child(n+2) {
		margin-top:72px;
	}
}
#tinymce :where(h4:not([class])) {
	margin-right:-4px;
	margin-left:-4px;
	padding:.125em 4px;
	background:#e6e6e6;
	letter-spacing:.05em;
}
@media (max-width: 743.98px) {
	#tinymce :where(h4:not([class])):nth-child(n+2) {
		margin-top:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	#tinymce :where(h4:not([class])):nth-child(n+2) {
		margin-top:40px;
	}
}
@media (min-width: 992px) {
	#tinymce :where(h4:not([class])):nth-child(n+2) {
		margin-top:56px;
	}
}
#tinymce :where(h5:not([class])) {
	width:-moz-fit-content;
	width:fit-content;
	border-bottom:1px solid var(--c-txt-lt);
}
@media (max-width: 743.98px) {
	#tinymce :where(h5:not([class])):nth-child(n+2) {
		margin-top:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	#tinymce :where(h5:not([class])):nth-child(n+2) {
		margin-top:40px;
	}
}
@media (min-width: 992px) {
	#tinymce :where(h5:not([class])):nth-child(n+2) {
		margin-top:56px;
	}
}
#tinymce :where(blockquote) {
	position:relative;
	margin-right:0;
	margin-left:0;
	padding:1em;
	border:1px solid #ddd;
	background:#f5f5f5;
}
#tinymce :where(blockquote)::before,
#tinymce :where(blockquote)::after {
	position:absolute;
	color:#ccc;
	font-size:2em;
	line-height:1;
	transform:translateY(25%);
}
#tinymce :where(blockquote)::before {
	top:0;
	left:.5em;
	content:"“";
}
#tinymce :where(blockquote)::after {
	right:.5em;
	bottom:0;
	content:"”";
}
#tinymce :where(cite) {
	position:relative;
	display:inline-block;
	font-style:normal;
	transform:skew(-10deg);
}
#tinymce :where(table:not([class])) {
	margin-bottom:1em;
	min-width:50%;
	max-width:100%;
	border-spacing:0;
	border-collapse:collapse;
}
#tinymce :where(table:not([class])) th,
#tinymce :where(table:not([class])) td {
	padding:.25em .5em;
	border:1px solid #ddd;
	vertical-align:top;
	line-height:1.5;
}
#tinymce :where(table:not([class])) th > *:first-child,
#tinymce :where(table:not([class])) td > *:first-child {
	margin-top:0;
}
#tinymce :where(table:not([class])) th > *:last-child,
#tinymce :where(table:not([class])) td > *:last-child {
	margin-bottom:0;
}
#tinymce :where(table:not([class])) th {
	background:#f5f5f5;
}
#tinymce :where(pre) {
	overflow-x:scroll;
	padding:1em;
	border:1px solid #ddd;
	background:#f5f5f5;
}
#tinymce img {
	max-width:100%;
	height:auto;
}
