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

/* color */
:root {
	--c-base:#fff;
	--c-bd:rgba(153, 153, 153, .5);
	--c-hover:#038674;
	--c-link:#005c4c;
	--c-primary:#038674;
	--c-primary-dk:#005c4c;
	--c-primary-lt:#00dbb7;
	--c-secondary:#ff4081;
	--c-secondary-dk:#f50057;
	--c-secondary-lt:#ff80ab;
	--c-txt:#505050;
	--c-txt-dk:#3c3c3c;
	--c-txt-lt:#727272;
	--c-visited:#005c4c;
	--c-vividlink:#038674;
}

/* 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:#005c4c;
		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:#038674;
	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:#42a497;
	}
}
.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: [data-headmark]: 文字入力型ヘッドマーク.
.* -------------------------------------------------------------------------- */
:where([data-headmark]) {
	position:relative;
	list-style-type:none;
}

:where([data-headmark])::before {
	position:absolute;
	top:0;
	right:100%;
	display:block;
	margin-right:.5em;
	content:attr(data-headmark);
	white-space:nowrap;
}

:where([data-headmark-inset])::before {
	position:relative;
	top:auto;
	right:auto;
	display:inline-block;
}

/* 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: m-roundTags: 角丸タグリスト.
.* -------------------------------------------------------------------------- */
.m-roundTags {
	margin:0;
	padding-left:0;
	list-style-type:none;
	letter-spacing:.25em;
	font-size:75%;
}

.m-roundTags > li {
	display:inline-block;
	margin-top:.25em;
	margin-bottom:.25em;
	letter-spacing:normal;
}

.m-roundTags_item {
	display:inline-block;
	padding:0 1em;
	border-radius:1em;
	background:#f5f5f5;
	text-decoration:none;
	white-space:nowrap;
	line-height:2;
	transition:background-color .2s linear, color .2s linear;
}

/* 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-tabsHlm: タブUI水平線マーカー型.
.* -------------------------------------------------------------------------- */
.m-tabsHlm {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:0;
	padding-left:0;
	list-style-type:none;
}

.m-tabsHlm > li {
	position:relative;
	width:100%;
}

.m-tabsHlm_item {
	position:relative;
	display:block;
	padding:1em .25em;
	color:var(--c-link);
	text-align:center;
	line-height:1.25;
	transition:color .2s linear, background-color .2s linear;
}

@media (max-width: 743.98px) {
	.m-tabsHlm_item {
		font-size:12px;
	}
}
@media (min-width: 744px) {
	.m-tabsHlm_item {
		font-size:16px;
	}
}
.m-tabsHlm_item::after {
	position:absolute;
	right:50%;
	bottom:0;
	height:2px;
	background:#000;
	content:"";
	text-decoration:none;
	font-size:1.5em;
	font-family:"Material Symbols Outlined";
	line-height:1;
	opacity:0;
	transition:transform .2s linear;
	transform:translateX(50%) scaleY(0);
	transform-origin:center bottom;
}

@media (max-width: 743.98px) {
	.m-tabsHlm_item::after {
		width:64px;
	}
}
@media (min-width: 744px) {
	.m-tabsHlm_item::after {
		width:80px;
	}
}
.m-tabsHlm_item.is-active {
	color:currentColor;
	text-decoration:none;
	font-weight:700;
	cursor:default;
}

.m-tabsHlm_item.is-active::after {
	opacity:.75;
	transform:translateX(50%) scaleY(1);
}

@media (any-hover: hover) {
	.m-tabsHlm_item:hover:not(.is-active) {
		background:rgba(0, 92, 76, .05);
	}
}
/* 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-primary);
	stroke-width:10.9090909091;
}

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

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

/* module: Google Material Symblsアイコン追加付与.
.* ※Google Material Symbolsの追加読み込み前提.
.* -------------------------------------------------------------------------- */
:where([data-icon-before])::before {
	position:absolute;
	top:50%;
	left:.5em;
	margin-top:-.5em;
	height:1em;
	content:attr(data-icon-before);
	font-family:"Material Symbols Outlined";
	line-height:1;
}

:where([data-icon=prev])::before {
	position:absolute;
	top:50%;
	left:.5em;
	margin-top:-.5em;
	height:1em;
	content:"\e5cb";
	font-family:"Material Symbols Outlined";
	line-height:1;
}

:where([data-icon-after])::after {
	position:absolute;
	top:50%;
	right:.5em;
	margin-top:-.5em;
	height:1em;
	content:attr(data-icon-after);
	font-family:"Material Symbols Outlined";
	line-height:1;
}

:where([data-icon=next])::after {
	position:absolute;
	top:50%;
	right:.5em;
	margin-top:-.5em;
	height:1em;
	content:"\e5cc";
	font-family:"Material Symbols Outlined";
	line-height:1;
}

/* module: m-card: カードUI.
.* -------------------------------------------------------------------------- */
.m-cards {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.m-cards {
		margin-right:auto;
		margin-left:auto;
		max-width:480px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-cards {
		display:flex;
		flex-wrap:wrap;
	}
	.m-cards > li {
		margin-left:4.347826087%;
		width:47.8260869565%;
	}
	.m-cards > li:nth-child(n+3) {
		margin-top:4.347826087%;
	}
	.m-cards > li:nth-child(2n-1) {
		margin-left:0;
	}
}
@media (min-width: 992px) {
	.m-cards {
		display:flex;
		flex-wrap:wrap;
	}
	.m-cards > li {
		margin-left:4.347826087%;
		width:30.4347826087%;
	}
	.m-cards > li:nth-child(n+4) {
		margin-top:4.347826087%;
	}
	.m-cards > li:nth-child(3n-2) {
		margin-left:0;
	}
}
@media (max-width: 743.98px) {
	.m-cards > li:nth-child(n+2) {
		margin-top:24px;
	}
}
.m-cards-null {
	display:flex;
	align-items:center;
	justify-content:center;
	height:280px;
	background:rgba(204, 204, 204, .1);
	text-align:center;
}

.m-card {
	position:relative;
	display:block;
	background:#fff;
	transition:box-shadow .2s linear;
	transform:rotate3d(0) scale(1);
	backface-visibility:hidden;
}

@media (hover: hover) {
	.m-card:hover {
		box-shadow:0 2px 16px rgba(0, 0, 0, .1);
	}
	.m-card:hover .m-card_media,
	.m-card:hover .m-card_body {
		opacity:.75;
	}
}
.m-card_body {
	padding:.5em 1em .75em;
	transition:opacity .2s linear;
}

.m-card_media {
	position:relative;
	transition:opacity .2s linear;

	aspect-ratio:16/9;
}

.m-card_media::before {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	border:1px solid rgba(0, 0, 0, .05);
	content:"";
}

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

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

.m-card_meta {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:0;
	margin-bottom:.25em;
}

.m-card_date {
	font-size:1.2rem;
	line-height:1.5;
}

.m-card_cat {
	margin-right:-.25em;
	line-height:1;
}

.m-card_title {
	margin:0;
	min-height:3em;
	line-height:1.5;
}

/* module: m-hoverFade: ホバー半透明エフェクトフェード型.
.* -------------------------------------------------------------------------- */
.m-hoverFade {
	transition:opacity .2s linear;
	transform:translateZ(0);
}

@media (hover: hover) {
	:where(a:hover) .m-hoverFade {
		opacity:.75;
	}
	:where(a.m-hoverFade:hover) {
		opacity:.75;
	}
}
/* module: m-logo: サイトロゴ.
.* -------------------------------------------------------------------------- */
.m-logo {
	display:inline-block;
	overflow:hidden;
	vertical-align:middle;
	line-height:3;

	aspect-ratio:320/60;
}

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

.m-logo-wh {
	display:inline-block;
	overflow:hidden;
	vertical-align:middle;
	line-height:3;

	aspect-ratio:320/60;
}

.m-logo-wh::before {
	display:block;
	width:100%;
	height:100%;
	background:url("../img/logo-wh.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:-8px;
	margin-left:-8px;
	padding:.25em 8px;
	background:var(--c-txt-lt);
	color:#fff;
	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);
	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;
}

@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 :where(ul:not([class]), ol:not([class])) {
	line-height:1.5;
}

.m-wysiwyg :where(ul:not([class]), ol:not([class])) > li {
	margin-top:.5em;
	margin-bottom:.5em;
}

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

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

@media (any-hover: hover) {
	.m-wysiwyg a:not([class]):hover {
		text-decoration:none;
	}
}
.m-wysiwyg a:not([class])[target=_blank]::after {
	display:inline-block;
	margin-left:.125em;
	width:1em;
	height:1em;
	content:"\e89e";
	text-decoration:none;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

.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;
}

/* ========================================================================== *
.* 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-top:16px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-contents {
		padding-top:16px;
	}
}
@media (min-width: 992px) {
	.l-contents {
		padding-top:16px;
	}
}
.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 {
		width:92.7419354839%;
	}
}
@media (min-width: 992px) {
	.l-layout {
		width:95.8333333333%;
	}
}
.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) and (max-width: 991.98px) {
	.l-layout-m {
		width:92.7419354839%;
	}
}
@media (min-width: 992px) {
	.l-layout-m {
		width:95.8333333333%;
	}
}
.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%;
	}
}
.l-columns {
	position:relative;
	margin-right:auto;
	margin-left:auto;
	max-width:940px;
}

@media (max-width: 743.98px) {
	.l-columns {
		width:92%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-columns {
		width:92.7419354839%;
	}
}
@media (min-width: 992px) {
	.l-columns {
		width:95.8333333333%;
	}
}
@media (min-width: 992px) {
	.l-columns {
		display:flex;
		justify-content:space-between;
	}
	.l-columns.is-sideless {
		justify-content:center;
	}
}
.l-columns_main {
	max-width:690px;
	width:100%;
}

@media (min-width: 744px) and (max-width: 991.98px) {
	.l-columns_main {
		margin-right:auto;
		margin-left:auto;
	}
}
.l-columns_main.is-clubSize {
	max-width:940px;
}

.l-columns_sub {
	position:relative;
}

@media (max-width: 991.98px) {
	.l-columns_sub {
		display:none;
	}
}
@media (min-width: 992px) {
	.l-columns_sub {
		flex-shrink:0;
		margin-left:30px;
		width:200px;
	}
}
.l-subColumn {
	position:sticky;
	top:92px;
	padding-top:12px;
}

/* layout: 共通ヘッダ.
.* -------------------------------------------------------------------------- */
.l-head {
	position:absolute;
	top:0;
	left:0;
	z-index:var(--z-head);
	width:100%;
	background:#fff;
	text-align:center;
}

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

.l-head_inner {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-right:auto;
	margin-left:auto;
	max-width:1104px;
}

@media (min-width: 992px) {
	.l-head_inner {
		width:95.8333333333%;
	}
}
@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:var(--h-head-l);
	}
}
.l-head_siteTitle {
	margin-top:0;
	margin-bottom:0;
	font-weight:700;
	font-size:16px;
	line-height:1;
}

@media (max-width: 991.98px) {
	.l-head_siteTitle {
		padding-left:8px;
	}
}
.l-head_siteTitle .siteTitle_inner {
	display:inline-block;
}

@media (max-width: 743.98px) {
	.l-head_siteTitle .siteTitle_inner .m-logo {
		width:auto;
		height:36px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-head_siteTitle .siteTitle_inner .m-logo {
		width:auto;
		height:60px;
	}
}
@media (min-width: 992px) {
	.l-head_siteTitle .siteTitle_inner .m-logo {
		width:320px;
		height:auto;
	}
}
@media (max-width: 991.98px) {
	.l-head_contents {
		padding-right:56px;
	}
}
@media (min-width: 992px) {
	.l-head_contents {
		margin-right:.5em;
	}
}
/* gnav.
.* ---------------------------------- */
.l-gnav {
	font-size:14px;
}

@media (max-width: 991.98px) {
	.l-gnav {
		display:none;
	}
}
.l-gnav_inner {
	display:flex;
	justify-content:flex-start;
}

.l-gnav_primary {
	display:flex;
	justify-content:space-between;
	margin:0;
	padding-left:0;
	list-style-type:none;

	gap:0 32px;
}

@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;
}

.l-gnav_primaryLink {
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:var(--h-gnav-l);
	transition:color .2s linear;
}

.l-gnav_primaryLink::before {
	position:absolute;
	bottom:-.5em;
	left:-3px;
	z-index:3;
	width:calc(100% + 6px);
	height:1px;
	background-color:#727272;
	content:"";
	opacity:.25;
	transition:opacity .2s linear, transform .2s ease-in-out;
	transform:scale(0);
	transform-origin:left bottom;
}

.l-gnav_primaryLink::after {
	margin-right:-.5em;
	height:1em;
	content:"\e5cc";
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transition:transform .2s linear;
	transform:translateY(5%) rotateZ(90deg);
}

@media (any-hover: hover) {
	.l-gnav_primaryLink:hover {
		color:#038674;
	}
	.l-gnav_primaryLink:hover::after {
		transform:translateY(5%) rotateZ(0deg);
	}
}
.is-active .l-gnav_primaryLink::before {
	opacity:.75;
	transform:scale(1);
}

.l-gnav_primaryChild {
	position:absolute;
	top:100%;
	left:-1.5em;
	width:-moz-fit-content;
	width:fit-content;
	background:rgba(255, 255, 255, .9);
	text-align:left;

	-webkit-backdrop-filter:blur(8px);

	backdrop-filter:blur(8px);
}

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

.l-gnav_primaryChildShadow {
	position:absolute;
	top:0;
	right:-8px;
	bottom:-10px;
	left:-8px;
	pointer-events:none;

	-webkit-mask-image:linear-gradient(to bottom, transparent 24px, rgba(0, 0, 0, .5) 50%, #000 100%);

	mask-image:linear-gradient(to bottom, transparent 24px, rgba(0, 0, 0, .5) 50%, #000 100%);
	-webkit-user-select:none;
	-moz-user-select:none;
	user-select:none;
}

.l-gnav_primaryChildShadow > div {
	position:absolute;
	top:0;
	right:8px;
	bottom:10px;
	left:8px;
	box-shadow:0 1px 2px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .2);
}

.l-gnav_primaryChildInner {
	padding:1.5em 0 1em;
}

.l-gnav_secondary > li {
	padding:.75em 2.5em .5em 1.5em;
	white-space:nowrap;
}

.l-gnav_secondaryLink {
	transition:color .2s linear;
}

.l-gnav_secondaryLink::after {
	position:relative;
	display:inline-block;
	margin-right:-.5em;
	height:1em;
	content:"\e5cc";
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(5%);
}

@media (any-hover: hover) {
	.l-gnav_secondaryLink:hover {
		color:#038674;
	}
}
.l-gnav_extra {
	display:flex;
	justify-content:space-between;
	margin:0;
	margin-left:32px;
	padding-left:24px;
	border-left:1px solid rgba(153, 153, 153, .5);
	list-style-type:none;

	gap:0 32px;
}

.l-gnav_extraLink {
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:var(--h-gnav-l);
	transition:color .2s linear;
}

.l-gnav_extraLink::after {
	margin-right:-.5em;
	height:1em;
	content:"\e5cc";
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(5%);
}

@media (any-hover: hover) {
	.l-gnav_extraLink:hover {
		color:#038674;
	}
}
.l-gnav_extraLink.is-anchor::after {
	content:"\e5db";
}

/* layout: 共通フッタ.
.* -------------------------------------------------------------------------- */
.l-foot {
	position:relative;
	box-shadow:0 -1px 0 0 rgba(0, 0, 0, .1);
}

@media (max-width: 991.98px) {
	.l-foot {
		background:#038674;
	}
}
@media (min-width: 992px) {
	.l-foot {
		background-image:linear-gradient(to right, #038674 0% 50%, #fff 50% 100%);
	}
}
.l-foot_inner {
	position:relative;
	margin-right:auto;
	margin-left:auto;
	max-width:1104px;
}

@media (max-width: 743.98px) {
	.l-foot_inner {
		width:92%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-foot_inner {
		width:92.7419354839%;
	}
}
@media (min-width: 992px) {
	.l-foot_inner {
		width:95.8333333333%;
	}
}
@media (min-width: 992px) {
	.l-foot_inner {
		display:flex;
	}
}
.l-foot_main {
	background:#038674;
	color:#fff;
}

@media (max-width: 991.98px) {
	.l-foot_main {
		padding-top:32px;
		padding-bottom:48px;
	}
}
@media (min-width: 992px) {
	.l-foot_main {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		padding-top:24px;
		padding-bottom:40px;
		width:calc(336px + 2.1739130435%);
	}
}
.l-foot_mainPrimary {
	width:336px;
}

@media (max-width: 991.98px) {
	.l-foot_mainPrimary {
		margin-right:auto;
		margin-left:auto;
	}
}
.l-foot_mainSecondary {
	width:336px;
}

@media (max-width: 991.98px) {
	.l-foot_mainSecondary {
		margin-right:auto;
		margin-left:auto;
	}
}
.l-foot_siteTitle {
	margin-top:0;
	margin-bottom:0;
	font-weight:700;
	font-size:16px;
	line-height:1;
}

.l-foot_siteTitle .siteTitle_inner {
	display:inline-block;
}

.l-foot_siteTitle .siteTitle_inner .m-logo-wh {
	width:auto;
	height:62px;
}

.l-foot_address {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	margin-top:16px;
	padding-top:16px;
	border-top:1px solid rgba(255, 255, 255, .5);
	font-size:14px;
	line-height:1.5;
}

.l-foot_addressTxt {
	margin:0;
}

.l-foot_access {
	display:inline-block;
	margin-bottom:1px;
	padding-right:.25em;
	padding-bottom:1px;
	padding-left:.75em;
	border-radius:10px;
	background:#fff;
	color:#005c4c;
	font-size:12px;
	line-height:1.5;
}

.l-foot_access::after {
	display:inline-block;
	width:1em;
	height:1em;
	content:"\f46a";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

.l-foot_privacy {
	margin-top:.5em;
	text-align:center;
	font-size:14px;
}

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

.l-foot_defs {
	display:flex;
	align-items:center;
	margin-top:40px;

	gap:0 24px;
}

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

.l-foot_def > dt {
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:20px;
	background:#fff;
	color:#038674;
	font-size:12px;
	line-height:1;
}

.l-foot_def > dt::before {
	margin-top:-2px;
	margin-bottom:-2px;
	width:24px;
	height:24px;
	font-weight:200;
	font-size:24px;
	font-family:"Material Symbols Outlined";
	line-height:1;
}

.l-foot_def > dd {
	margin-left:8px;
	font-weight:700;
}

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

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

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

	gap:0 32px;
}

@media (max-width: 991.98px) {
	.l-foot_sns {
		justify-content:center;
		margin-top:40px;
	}
}
.l-foot_snsLink {
	color:currentColor;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.l-foot_snsLink:hover {
		opacity:.5;
	}
}
.l-foot_snsLink > span {
	display:none;
}

.l-foot_fnav {
	background:#fff;
}

@media (max-width: 991.98px) {
	.l-foot_fnav {
		display:none;
	}
}
@media (min-width: 992px) {
	.l-foot_fnav {
		padding-left:3.2608695652%;
		width:calc(100% - 336px - 3.2608695652%);
	}
}
/* fnav
------------------------------------- */
.l-fnav {
	margin-top:32px;
	margin-bottom:32px;
}

@media (max-width: 1023.98px) {
	.l-fnav {
		font-size:11px;
	}
}
@media (min-width: 1024px) {
	.l-fnav {
		font-size:12px;
	}
}
.l-fnav_layout {
	display:grid;

	grid-template-columns:1.6fr 3.5fr 3.5fr 2.5fr;
}

.l-fnav_col:first-child {
	grid-row:1/3;
}

.l-fnav_primary {
	margin:0;
}

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

.l-fnav_primary > li:nth-child(n+2) {
	margin-top:.25em;
}

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

.l-fnav_primaryLink {
	position:relative;
	font-weight:700;
	transition:color .2s linear;
}

@media (any-hover: hover) {
	.l-fnav_primaryLink:hover {
		color:var(--c-primary);
	}
}
.l-fnav_primaryLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\f46a";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

.l-fnav_secondary {
	margin:0 0 2em;
}

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

.l-fnav_secondaryLink {
	position:relative;
	transition:color .2s linear;
}

@media (any-hover: hover) {
	.l-fnav_secondaryLink:hover {
		color:var(--c-primary);
	}
}
.l-fnav_secondaryLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\f46a";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

/* copyright
------------------------------------- */
.l-copyright {
	margin-top:0;
	margin-bottom:0;
	padding-top:1em;
	padding-bottom:1em;
	background:#005c4c;
	color:#fff;
	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;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	background:#038674;
	color:#fff;
	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 (hover: hover) {
	.l-pagetopanchor_btn:hover {
		background:#005c4c;
		color:#fff;
	}
}
.is-visible .l-pagetopanchor_btn {
	opacity:1;
	transform:translateY(-100%) scale(1);
}

/* 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:rgba(245, 245, 245, .95);
	color:var(--c-primary);
	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:rgba(245, 245, 245, .95);

	-webkit-backdrop-filter:blur(10px);

	backdrop-filter:blur(10px);
}

.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%;
	}
}
@media (max-width: 743.98px) {
	.l-menu_info {
		padding-top:56px;
		padding-bottom:64px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-menu_info {
		margin-top:48px;
		padding-top:56px;
		padding-bottom:64px;
		border-top:1px solid rgba(80, 80, 80, .5);
	}
}
.l-menu_infoInner {
	margin-right:auto;
	margin-left:auto;
	width:336px;
}

.l-menu_address {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	font-size:14px;
	line-height:1.5;
}

.l-menu_addressTxt {
	margin:0;
}

.l-menu_access {
	display:inline-block;
	margin-bottom:1px;
	padding-right:.25em;
	padding-bottom:1px;
	padding-left:.75em;
	border:1px solid rgba(3, 134, 116, .5);
	border-radius:10px;
	color:#005c4c;
	font-size:12px;
	line-height:1.5;
}

.l-menu_access::after {
	display:inline-block;
	width:1em;
	height:1em;
	content:"\f46a";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

.l-menu_defs {
	display:flex;
	align-items:center;
	margin-top:40px;

	gap:0 24px;
}

.l-menu_def {
	display:flex;
	align-items:center;
	margin:0;
}

.l-menu_def > dt {
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	width:40px;
	height:40px;
	border:1px solid rgba(3, 134, 116, .5);
	border-radius:20px;
	color:#005c4c;
	font-size:12px;
	line-height:1;
}

.l-menu_def > dt::before {
	margin-top:-2px;
	margin-bottom:-2px;
	width:24px;
	height:24px;
	font-weight:200;
	font-size:24px;
	font-family:"Material Symbols Outlined";
	line-height:1;
}

.l-menu_def > dd {
	margin-left:8px;
	color:#005c4c;
	font-weight:700;
}

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

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

.l-menu_privacy {
	margin-top:.5em;
	text-align:center;
	font-size:14px;
}

.l-menu_privacyLink {
	transition:color .2s linear;
}

.l-menu_privacyLink::after {
	display:inline-block;
	margin-right:-1em;
	width:1em;
	height:1em;
	content:"\f46a";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.l-menu_privacyLink:hover {
		color:#038674;
	}
}
.l-menu_sns {
	display:flex;
	align-items:center;
	margin:0;
	padding-left:0;
	list-style-type:none;
	font-size:32px;
	line-height:1.5;

	gap:0 32px;
}

@media (max-width: 991.98px) {
	.l-menu_sns {
		justify-content:center;
		margin-top:40px;
	}
}
.l-menu_snsLink {
	color:currentColor;
	transition:opacity .2s linear;
}

@media (any-hover: hover) {
	.l-menu_snsLink:hover {
		opacity:.5;
	}
}
.l-menu_snsLink > span {
	display:none;
}

@media (max-width: 743.98px) {
	.l-mnav_layout {
		margin-right:auto;
		margin-left:auto;
		max-width:480px;
	}
}
@media (min-width: 544px) and (max-width: 743.98px) {
	.l-mnav_layout {
		padding-top:24px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_layout {
		display:flex;

		gap:0 4.347826087%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_col:nth-child(1) {
		width:20.2898550725%;
	}
	.l-mnav_col:nth-child(2),
	.l-mnav_col:nth-child(3) {
		width:37.6811594203%;
	}
}
.l-mnav_primary {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_primary:nth-child(n+2) {
		margin-top:32px;
	}
}
@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, .3);
	}
}
.l-mnav_primaryLink {
	display:block;
	font-weight:700;
	line-height:1.2;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.l-mnav_primaryLink {
		padding:1em 4%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_primaryLink {
		padding:.75em 4%;
		font-size:14px;
	}
}
.l-mnav_primaryLink::after {
	display:inline-block;
	height:1em;
	content:"\e5cc";
	vertical-align:middle;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:scale(.8);
}

@media (max-width: 743.98px) {
	.l-mnav_primaryChild {
		display:none;
	}
}
.l-mnav_secondary {
	margin:0;
	padding-left:0;
	border-top:1px solid rgba(80, 80, 80, .3);
	list-style-type:none;
}

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

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

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.l-mnav_secondaryLink {
		padding:1em 4%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.l-mnav_secondaryLink {
		padding:.75em 4%;
		font-size:14px;
	}
}
.l-mnav_secondaryLink::after {
	display:inline-block;
	height:1em;
	content:"\e5cc";
	vertical-align:middle;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:scale(.8);
}

/* layout: 下層共通系.
.* -------------------------------------------------------------------------- */
.l-pageTitle {
	position:relative;
	overflow:hidden;
	background:#f5f5f5;
	color:var(--c-txt-dk);
	text-align:center;
}

.l-pageTitle_bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:.15;

	-o-object-fit:cover;

	object-fit:cover;
}

.l-pageTitle > .l-layout {
	display:flex;
	align-items:center;
	justify-content:center;
	background-image:linear-gradient(to right, transparent 0%, #f5f5f5 40%, #f5f5f5 60%, transparent 100%);
}

@media (max-width: 743.98px) {
	.l-pageTitle > .l-layout {
		min-height:96px;
	}
}
@media (min-width: 744px) {
	.l-pageTitle > .l-layout {
		min-height:120px;
	}
}
.l-pageTitle_main {
	margin:0;
}

@media (max-width: 743.98px) {
	.l-pageTitle_main {
		font-size:2rem;
	}
}
@media (min-width: 744px) {
	.l-pageTitle_main {
		font-size:2.4rem;
	}
}
.l-pageTitle_sub {
	margin:0;
}

.l-breadcrumb {
	padding-top:.25em;
	padding-bottom:.25em;
}

@media (max-width: 743.98px) {
	.l-breadcrumb {
		display:none;
	}
}
/* ========================================================================== *
.* component.
.* ========================================================================== */
/* component: 00_common: 共通.
.* -------------------------------------------------------------------------- */
.common-archives_body {
	border-top:1px solid rgba(0, 0, 0, .1);
	background:#f5f5f5;
}

@media (max-width: 743.98px) {
	.common-archives_body {
		padding:30px 0 90px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.common-archives_body {
		padding:30px 0 96px;
	}
}
@media (min-width: 992px) {
	.common-archives_body {
		padding:48px 0 96px;
	}
}
.common-archives_body.is-white {
	background:transparent;
}

.common-catSwitches {
	margin-right:auto;
	margin-left:auto;
}

@media (max-width: 743.98px) {
	.common-catSwitches {
		max-width:480px;
	}
}
@media (min-width: 744px) {
	.common-catSwitches {
		max-width:690px;
	}
}
.common-catHeadLabel > p {
	margin:0;
	padding:1em 0;
	text-align:center;
	font-weight:700;
	line-height:1.25;
}

@media (max-width: 743.98px) {
	.common-index {
		margin-top:30px;
		margin-bottom:75px;
	}
}
@media (min-width: 744px) {
	.common-index {
		margin-top:16px;
		margin-bottom:96px;
	}
}
.common-index_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.common-index_list {
		margin-right:auto;
		margin-left:auto;
		max-width:480px;
		border-top:1px solid #ddd;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.common-index_list {
		display:flex;
		flex-wrap:wrap;
	}
	.common-index_list > li {
		margin-left:3.4782608696%;
		width:48.2608695652%;
	}
	.common-index_list > li:nth-child(n+3) {
		margin-top:3.4782608696%;
	}
	.common-index_list > li:nth-child(2n-1) {
		margin-left:0;
	}
}
@media (min-width: 992px) {
	.common-index_list {
		display:flex;
		flex-wrap:wrap;
	}
	.common-index_list > li {
		margin-left:2.1739130435%;
		width:31.884057971%;
	}
	.common-index_list > li:nth-child(n+4) {
		margin-top:2.1739130435%;
	}
	.common-index_list > li:nth-child(3n-2) {
		margin-left:0;
	}
}
@media (max-width: 743.98px) {
	.common-index_list > li {
		border-bottom:1px solid #ddd;
	}
}
@media (min-width: 992px) {
	.common-index_list.is-club {
		display:flex;
		flex-wrap:wrap;
	}
	.common-index_list.is-club > li {
		margin-left:3.4782608696%;
		width:48.2608695652%;
	}
	.common-index_list.is-club > li:nth-child(n+3) {
		margin-top:3.4782608696%;
	}
	.common-index_list.is-club > li:nth-child(2n-1) {
		margin-left:0;
	}
}
.common-index_item {
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
	color:var(--c-primary-dk);
	font-weight:700;
	line-height:1.5;
	transition:opacity .2s;
}

@media (max-width: 743.98px) {
	.common-index_item {
		padding:19px 47px 19px 4px;
		min-height:86px;
	}
}
@media (min-width: 744px) {
	.common-index_item {
		padding:11px 47px 11px 15px;
		min-height:72px;
		border:1px solid #ddd;
	}
}
.common-index_item::after {
	position:absolute;
	top:50%;
	right:.25em;
	display:block;
	padding-left:1px;
	width:16px;
	height:16px;
	content:"\e5cc";
	text-align:center;
	font-family:"Material Symbols Outlined";
	line-height:16px;
	transition:background-color .2s;
	transform:translateY(-50%);
}

.common-index_item.is-external::after {
	content:"\e89e";
}

@media (any-hover: hover) {
	.common-index_item:hover {
		opacity:.75;
	}
}
.common-sideNav {
	line-height:1.33;
}

.common-sideNav_primaryLink {
	position:relative;
	display:inline-block;
	padding-left:12px;
	color:#3c3c3c;
	vertical-align:top;
	font-weight:700;
	transition:color .2s linear;
}

.common-sideNav_primaryLink::before {
	position:absolute;
	top:0;
	left:0;
	width:1px;
	height:100%;
	background:#3c3c3c;
	content:"";
}

.common-sideNav_primaryLink::after {
	position:relative;
	display:inline-block;
	margin-right:-.75em;
	content:"\e5cc";
	font-weight:400;
	font-family:"Material Symbols Outlined";
	transform:translateY(10%);
}

@media (any-hover: hover) {
	.common-sideNav_primaryLink:hover {
		color:#038674;
	}
}
.common-sideNav_list {
	position:relative;
	margin:0 0 32px 0;
	padding-top:24px;
	padding-left:11px;
	border-left:1px solid #ccc;
	list-style-type:none;
	font-size:13px;
	line-height:1.2;
}

.common-sideNav_list > li:nth-child(n+2) {
	margin-top:1.5em;
}

.common-sideNav_secondaryLink {
	transition:color .2s linear;
}

.common-sideNav_secondaryLink::after {
	position:relative;
	display:inline-block;
	margin-right:-1em;
	content:"\e5cc";
	font-weight:400;
	font-family:"Material Symbols Outlined";
	transform:translateY(10%);
}

@media (hover: hover) {
	.common-sideNav_secondaryLink:hover {
		color:#038674;
	}
}
.common-sideNav_secondaryLink.is-external::after {
	content:"\e89e";
	transform:translate(10%, 10%);
}

@media (max-width: 743.98px) {
	.common-single {
		padding:2.1739130435% 0 90px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.common-single {
		padding:16px 0 96px;
	}
}
@media (min-width: 992px) {
	.common-single {
		padding:24px 0 96px;
	}
}
.common-single_meta {
	display:flex;
	align-items:center;
	margin-top:0;
	margin-bottom:.25em;
}

.common-single_date {
	font-size:1.2rem;
	line-height:1.5;
}

.common-single_cat {
	margin-left:1.5em;
	line-height:1;
}

.common-single_title {
	margin-top:0;
	color:var(--c-txt-dk);
	font-weight:400;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.common-single_title {
		font-size:2.4rem;
	}
}
@media (min-width: 744px) {
	.common-single_title {
		font-size:3.2rem;
	}
}
.common-single_eyecatch {
	margin-right:-8px;
	margin-left:-8px;

	aspect-ratio:16/9;
}

@media (max-width: 743.98px) {
	.common-single_eyecatch {
		margin-bottom:24px;
	}
}
@media (min-width: 744px) {
	.common-single_eyecatch {
		margin-bottom:32px;
	}
}
.common-single_eyecatch > img {
	width:100%;
	height:100%;

	-o-object-fit:cover;

	object-fit:cover;
}

.common-single_body {
	position:relative;
	margin-right:-8px;
	margin-left:-8px;
	padding:1em 8px 3em;
	border-top:1px solid rgba(80, 80, 80, .3);
	border-bottom:1px solid rgba(80, 80, 80, .3);
}

.common-single_foot {
	padding-top:32px;
	font-size:14px;
}

.common-single_back::before {
	position:relative;
	display:inline-block;
	content:"\e5cb";
	font-weight:400;
	font-family:"Material Symbols Outlined";
	transform:translateY(10%);
}

@media (any-hover: hover) {
	.common-single_back:hover {
		color:#038674;
	}
}
@media (max-width: 743.98px) {
	.common-single-full {
		padding-bottom:90px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.common-single-full {
		padding-bottom:96px;
	}
}
@media (min-width: 992px) {
	.common-single-full {
		padding-bottom:96px;
	}
}
@media (max-width: 743.98px) {
	.common-gallery {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.common-gallery {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.common-gallery {
		margin-top:72px;
	}
}
.common-gallery_items {
	display:flex;
	flex-wrap:wrap;
}

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

	aspect-ratio:1/1;
}

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

	-o-object-fit:contain;

	object-fit:contain;
}

/* component: 01_index: トップページ.
.* -------------------------------------------------------------------------- */
.index-hero {
	overflow-x:hidden;
	padding-bottom:40px;
	text-align:center;
}

.index-hero_slides {
	max-height:621px;
}

.index-hero_slides.is-uninitialized > div {
	margin-right:auto;
	margin-left:auto;
	max-width:1104px;
}

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

.index-hero_slides.slick-dotted.slick-slider {
	margin-bottom:0;
}

.index-hero_slides .slick-arrow {
	position:absolute;
	top:0;
	bottom:0;
	display:flex;
	align-items:center;
	width:calc(50% - 552px);
	height:auto;
	background:rgba(255, 255, 255, .7);
	transition:background-color .2s linear;
	transform:translate(0, 0);

	-webkit-backdrop-filter:blur(4px);

	backdrop-filter:blur(4px);
}

@media (max-width: 991.98px) {
	.index-hero_slides .slick-arrow {
		min-width:24px;
		background:transparent !important;
	}
}
@media (hover: hover) {
	.index-hero_slides .slick-arrow:hover {
		background:rgba(255, 255, 255, .5);
	}
}
.index-hero_slides .slick-arrow::before {
	width:.5em;
	background:#fff;
	color:#038674;
	text-indent:-.25em;
	font-weight:200;
	font-size:32px;
	font-family:"Material Symbols Outlined";
	transition:opacity .2s linear;
}

.index-hero_slides .slick-arrow.slick-prev {
	left:0;
	justify-content:flex-end;
}

.index-hero_slides .slick-arrow.slick-prev::before {
	content:"\e5cb";
}

@media (max-width: 991.98px) {
	.index-hero_slides .slick-arrow.slick-prev::before {
		transform:translateX(-8px);
	}
}
@media (min-width: 992px) {
	.index-hero_slides .slick-arrow.slick-prev::before {
		transform:translateX(16px);
	}
}
.index-hero_slides .slick-arrow.slick-next {
	right:0;
	justify-content:flex-start;
}

.index-hero_slides .slick-arrow.slick-next::before {
	content:"\e5cc";
}

@media (max-width: 991.98px) {
	.index-hero_slides .slick-arrow.slick-next::before {
		transform:translateX(8px);
	}
}
@media (min-width: 992px) {
	.index-hero_slides .slick-arrow.slick-next::before {
		transform:translateX(-16px);
	}
}
.index-hero_slides .slick-dots > li > button::before {
	transition:opacity .2s linear, background-color .2s linear;
}

.index-hero_slides .slick-dots > li.slick-active > button::before {
	background-color:#038674;
}

.index-hero_slide {
	max-width:1104px;

	aspect-ratio:16/9;
}

@media (min-width: 992px) {
	.index-hero_slide {
		width:1104px;
	}
}
.index-hero_slideImg {
	width:100%;
	height:100%;

	aspect-ratio:16/9;
	-o-object-fit:cover;
	object-fit:cover;
}

@media (max-width: 743.98px) {
	.index-leadBtns {
		margin-bottom:24px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-leadBtns {
		margin-bottom:30px;
	}
}
@media (min-width: 992px) {
	.index-leadBtns {
		margin-bottom:48px;
	}
}
.index-leadBtns_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.index-leadBtns_list {
		margin-right:auto;
		margin-left:auto;
		max-width:480px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-leadBtns_list {
		display:flex;

		gap:0 16px;
	}
}
@media (min-width: 992px) {
	.index-leadBtns_list {
		display:flex;
		flex-wrap:wrap;
	}
	.index-leadBtns_list > li {
		margin-left:4.347826087%;
		width:30.4347826087%;
	}
	.index-leadBtns_list > li:nth-child(n+4) {
		margin-top:4.347826087%;
	}
	.index-leadBtns_list > li:nth-child(3n-2) {
		margin-left:0;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-leadBtns_list > li {
		width:33.3333333333%;
	}
}
@media (max-width: 743.98px) {
	.index-leadBtns_list > li:nth-child(n+2) {
		margin-top:8px;
	}
}
.index-leadBtn {
	position:relative;
	display:flex;
	align-items:center;
	color:#005c4c;
	font-weight:700;
	line-height:1.33;
}

@media (min-width: 744px) and (max-width: 991.98px) {
	.index-leadBtn {
		font-size:14px;
	}
}
.index-leadBtn_ico {
	flex-shrink:0;
	background:#f5f5f5;
}

@media (max-width: 743.98px) {
	.index-leadBtn_ico {
		margin-right:16px;
		width:56px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-leadBtn_ico {
		margin-right:12px;
		padding:8px;
		width:72px;
	}
}
@media (min-width: 992px) {
	.index-leadBtn_ico {
		margin-right:24px;
		padding:8px;
		width:72px;
	}
}
.index-leadBtn::before {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	border:1px solid rgba(153, 153, 153, .5);
	content:"";
}

.index-leadBtn::after {
	right:.25em;
}

.index-warning_layout {
	background:#faf5f5;
}

@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:#dc508c;
	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(153, 153, 153, .5);
}

@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:"\f46a";
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

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

.index-topics {
	background:#f5f5f5;
}

@media (max-width: 743.98px) {
	.index-topics {
		margin-top:72px;
		padding-top:8px;
		padding-bottom:60px;
	}
}
@media (min-width: 744px) {
	.index-topics {
		padding-top:24px;
		padding-bottom:56px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-topics {
		margin-top:72px;
	}
}
@media (min-width: 992px) {
	.index-topics {
		position:relative;
		margin-top:72px;
	}
}
.index-topics_head {
	position:relative;
	margin:0 0 2.4rem;
	color:#3c3c3c;
	text-align:center;
	font-weight:400;
	font-size:2.8rem;
}

.index-topics_head > img {
	position:absolute;
	right:50%;
	bottom:100%;
	transform:translateX(50%);
}

.index-topics_catSwitches {
	margin-right:auto;
	margin-left:auto;
}

@media (max-width: 743.98px) {
	.index-topics_catSwitches {
		max-width:480px;
	}
}
@media (min-width: 744px) {
	.index-topics_catSwitches {
		max-width:690px;
	}
}
.index-topics_body {
	border-top:1px solid #ccc;
}

@media (max-width: 743.98px) {
	.index-topics_body {
		padding-top:30px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-topics_body {
		padding-top:40px;
	}
}
@media (min-width: 992px) {
	.index-topics_body {
		padding-top:48px;
	}
}
.index-topics_category:not(.is-active) {
	display:none;
}

@media (max-width: 743.98px) {
	.index-topics_list > li:nth-child(n+4) {
		display:none;
	}
}
@media (max-width: 743.98px) {
	.index-topics_foot {
		margin-top:30px;
		text-align:center;
	}
}
@media (min-width: 744px) {
	.index-topics_foot {
		margin-top:48px;
		border-top:1px solid rgba(153, 153, 153, .5);
		text-align:right;
	}
}
.index-topics_more {
	color:#005c4c;
	transition:color .2s linear;
}

@media (min-width: 744px) {
	.index-topics_more {
		display:inline-block;
		margin-bottom:-2em;
		padding-left:.5em;
		background:#f5f5f5;
		transform:translateY(-50%);
	}
}
.index-topics_more::after {
	display:inline-block;
	width:1em;
	height:1em;
	content:"\f46a";
	text-align:center;
	font-weight:400;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (any-hover: hover) {
	.index-topics_more:hover {
		color:var(--c-primary);
	}
}
@media (max-width: 743.98px) {
	.index-feature {
		padding-top:40px;
		padding-bottom:72px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-feature {
		padding-top:48px;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.index-feature {
		padding-top:64px;
		padding-bottom:72px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-feature_layout {
		margin-right:auto;
		margin-left:auto;
		max-width:720px;
	}
}
@media (min-width: 992px) {
	.index-feature_layout {
		display:flex;
		justify-content:space-between;
	}
}
.index-feature_head {
	position:relative;
}

@media (min-width: 992px) {
	.index-feature_head {
		width:30.4347826087%;
	}
}
.index-feature_headTxt {
	margin:0;
}

@media (max-width: 991.98px) {
	.index-feature_headTxt {
		width:47.8260869565%;
	}
}
@media (max-width: 991.98px) {
	.index-feature_headCatch {
		margin:4.347826087% 0 11.5942028986%;
		width:47.8260869565%;
	}
}
@media (min-width: 992px) {
	.index-feature_headCatch {
		margin:48px 0 0;
	}
}
.index-feature_headImg {
	pointer-events:none;

	-webkit-user-select:none;

	-moz-user-select:none;

	user-select:none;
}

@media (max-width: 743.98px) {
	.index-feature_headImg {
		position:absolute;
		top:-40px;
		right:0;
		width:47.8260869565%;
		transform:translateY(-7.5471698113%);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-feature_headImg {
		position:absolute;
		top:-48px;
		right:0;
		width:47.8260869565%;
		transform:translateY(-7.5471698113%);
	}
}
@media (min-width: 992px) {
	.index-feature_headImg {
		position:absolute;
		bottom:-72px;
		left:0;
		width:100%;
		transform:translateY(32px);
	}
}
.index-feature_body {
	background:#fff;
}

@media (max-width: 991.98px) {
	.index-feature_body {
		position:relative;
		z-index:1;
	}
}
@media (min-width: 992px) {
	.index-feature_body {
		width:65.2173913043%;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-feature_glocal {
		margin-bottom:32px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-feature_glocal {
		margin-bottom:40px;
	}
}
@media (min-width: 992px) {
	.index-feature_glocal {
		margin-bottom:48px;
	}
}
.index-feature_glocalBnr {
	position:relative;
	z-index:0;
	display:block;
	background:#505050;
}

.index-feature_glocalBnr > img {
	position:relative;
	z-index:1;
	opacity:.5;
}

.index-feature_glocalBnr::after {
	position:absolute;
	top:50%;
	right:0;
	bottom:0;
	left:0;
	z-index:2;
	background-image:linear-gradient(to bottom, transparent 0%, #505050 100%);
	content:"";
}

.index-feature_glocalCap {
	position:absolute;
	bottom:0;
	left:0;
	z-index:3;
	display:block;
	padding-left:.66em;
	width:100%;
	color:#fff;
	letter-spacing:.1em;
	line-height:2.5;
}

@media (min-width: 480px) and (max-width: 991.98px) {
	.index-feature_glocalCap {
		font-size:150%;
	}
}
@media (min-width: 744px) {
	.index-feature_glocalCap {
		font-size:200%;
	}
}
.index-feature_glocalCap::after {
	position:absolute;
	right:.66em;
	bottom:.66em;
	display:block;
	box-sizing:content-box;
	width:1em;
	height:1em;
	border:1px solid rgba(255, 255, 255, .5);
	border-radius:1em;
	content:"\f46a";
	text-align:center;
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

@media (max-width: 743.98px) {
	.index-feature_glocalConcept {
		margin-top:16px;
	}
}
@media (min-width: 744px) {
	.index-feature_glocalConcept {
		margin:24px 0;
	}
}
.index-feature_more {
	display:flex;
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.index-feature_more {
		flex-direction:column;

		gap:16px 0;
	}
}
@media (min-width: 744px) {
	.index-feature_more {
		gap:0 6.6666666667%;
	}
}
@media (min-width: 744px) {
	.index-feature_more > li {
		width:46.6666666667%;
	}
}
.index-feature_moreBnr {
	position:relative;
	z-index:0;
	display:block;
	background:#505050;
}

.index-feature_moreBnr > img {
	position:relative;
	z-index:1;
	opacity:.5;
}

.index-feature_moreBnr::after {
	position:absolute;
	top:50%;
	right:0;
	bottom:0;
	left:0;
	z-index:2;
	background-image:linear-gradient(to bottom, transparent 0%, #505050 100%);
	content:"";
}

.index-feature_moreCap {
	position:absolute;
	bottom:0;
	left:0;
	z-index:3;
	display:block;
	padding-left:.66em;
	width:100%;
	color:#fff;
	letter-spacing:.1em;
	line-height:2.5;
}

.index-feature_moreCap::after {
	position:absolute;
	right:.66em;
	bottom:.66em;
	display:block;
	box-sizing:content-box;
	width:1em;
	height:1em;
	border:1px solid rgba(255, 255, 255, .5);
	border-radius:1em;
	content:"\f46a";
	text-align:center;
	font-weight:200;
	font-family:"Material Symbols Outlined";
	line-height:1;
	transform:translateY(12.5%);
}

.index-bnrs {
	background:#f5f5f5;
}

@media (max-width: 743.98px) {
	.index-bnrs {
		padding-top:40px;
		padding-bottom:72px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.index-bnrs {
		padding-top:48px;
		padding-bottom:72px;
	}
}
@media (min-width: 992px) {
	.index-bnrs {
		padding-top:72px;
		padding-bottom:96px;
	}
}
.index-bnrs_list {
	display:flex;
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 743.98px) {
	.index-bnrs_list {
		flex-direction:column;
		margin-right:auto;
		margin-left:auto;
		max-width:480px;

		gap:16px 0;
	}
}
@media (min-width: 744px) {
	.index-bnrs_list {
		align-items:center;
		justify-content:center;

		gap:0 4.347826087%;
	}
}
@media (min-width: 744px) {
	.index-bnrs_list > li {
		width:468px;
	}
}
.index-bnrs_item {
	position:relative;
	display:block;
	color:#fff;
	font-size:20px;
}

/* component: 02_access: アクセス.
.* -------------------------------------------------------------------------- */
.access-map {
	position:relative;
}

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

@media (max-width: 743.98px) {
	.access-data_layout {
		margin-right:auto;
		margin-left:auto;
		max-width:500px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.access-data_layout {
		margin-right:auto;
		margin-left:auto;
		max-width:690px;
	}
}
@media (min-width: 992px) {
	.access-data_layout {
		display:flex;
		margin-top:48px;
	}
}
@media (max-width: 991.98px) {
	.access-info {
		text-align:center;
	}
}
@media (min-width: 992px) {
	.access-info {
		width:50%;
	}
}
.access-info > dt {
	font-weight:700;
	font-size:1.5em;
}

.access-info > dd {
	margin-left:0;
	line-height:1.5;
}

@media (max-width: 743.98px) {
	.access-root {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.access-root {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.access-root {
		width:50%;
	}
}
.access-root_head {
	margin-top:1.6rem;
	margin-bottom:1.6rem;
	border-bottom:1px solid var(--c-bd);
	font-size:2rem;
}

.access-root_subHead {
	font-size:1.6rem;
}

.access-root_list {
	padding-left:1.5em;
	font-size:87.5%;
	line-height:1.5;
}

.access-root_list > li:nth-child(n+2) {
	margin-top:.5em;
}

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

.privacy-sec {
	margin-top:3em;
}

.privacy-sec_head {
	position:relative;
	margin-right:-4px;
	margin-left:-4px;
	padding:.25em 4px .25em 16px;
	border-bottom:1px solid var(--c-bd);
	font-size:18px;
	line-height:1.5;
}

.privacy-sec_head::before {
	position:absolute;
	top:.25em;
	bottom:.25em;
	left:4px;
	width:6px;
	background-color:currentColor;
	content:"";
}

@media (max-width: 743.98px) {
	.privacy-sec_head:nth-child(n+2) {
		margin-top:48px;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.privacy-sec_head:nth-child(n+2) {
		margin-top:64px;
	}
}
@media (min-width: 992px) {
	.privacy-sec_head:nth-child(n+2) {
		margin-top:72px;
	}
}
/* component: b_about: 学校案内.
.* -------------------------------------------------------------------------- */
/* b2_song: 校歌 */
@media (min-width: 744px) {
	.song-head {
		display:flex;
		align-items:center;
		justify-content:space-between;
	}
}
@media (max-width: 743.98px) {
	.song-head_audio {
		margin-bottom:1em;
	}
}
@media (min-width: 744px) {
	.song-head_audio {
		flex-grow:1;
		margin-right:2em;
	}
}
.song-head_audio figure {
	margin:0;
}

.song-head_audio figure > audio {
	width:100%;
}

.song-head_data {
	margin:0;
	text-align:right;
	white-space:nowrap;
}

.song-head_data > dt,
.song-head_data > dd {
	display:inline;
}

.song-head_data > dd {
	margin-left:1em;
}

.song-lyrics_sec {
	margin-top:2.5em;
}

@media (max-width: 543.98px) {
	.song-lyrics_sec:first-child {
		margin-top:0;
	}
}
@media (min-width: 544px) and (max-width: 743.98px) {
	.song-lyrics_sec:first-child {
		margin-top:1em;
	}
}
@media (min-width: 544px) {
	.song-lyrics_sec {
		display:flex;
	}
}
.song-lyrics_num {
	margin-right:1em;
	font-size:24px;
	line-height:2.5;
}

.song-lyrics_body {
	letter-spacing:.1em;
	font-size:24px;
	line-height:2.5;
}

.song-lyrics_body p {
	margin:0;
}

.song-lyrics_body ruby > rt {
	margin-bottom:.25em;
	letter-spacing:0;
	font-size:41.6666666667%;
}

/* component: d_glocal: グローカル探究科.
.* -------------------------------------------------------------------------- */
/* d1_glocal-detail: グローカル探究科とは */
.glocal-lead_concept {
	text-align:center;
}

.glocal-lead_concept > dt {
	display:flex;
	align-items:center;
	justify-content:center;
	margin-right:auto;
	margin-left:auto;
	width:96px;
	height:96px;
	border:1px solid rgba(153, 153, 153, .5);
	border-radius:50%;
	font-size:14px;
}

.glocal-lead_concept > dd {
	margin:.5em 0 1em;
	margin-left:0;
	color:var(--c-txt-dk);
	font-weight:700;

	font-feature-settings:"palt";
}

@media (max-width: 743.98px) {
	.glocal-lead_concept > dd {
		font-size:4.2666666667vw;
	}
}
@media (min-width: 744px) {
	.glocal-lead_concept > dd {
		font-size:32px;
	}
}
@media (max-width: 743.98px) {
	.glocal-lead_infoGraphic {
		margin-right:auto;
		margin-left:auto;
		max-width:500px;
	}
}
/* d2_team: チーム担任制 */
/* d3_travel: 修学旅行 */
/* d4_learning: 探究学習 */
/* component: g_graduate: 卒業生のみなさまへ.
.* -------------------------------------------------------------------------- */
/* g1_certificate: 各種証明書の申請 */
.certificate-list {
	margin-top:1em;
	margin-bottom:1em;
	padding-left:1.5em;
	list-style-type:none;
}

.certificate-list > li {
	position:relative;
}

.certificate-list > li::before {
	position:absolute;
	top:0;
	left:-1.5em;
	content:attr(data-list-head);
	font-weight:700;
}

.certificate-list_item {
	margin-top:1em;
	margin-bottom:1em;
}

.certificate-list_item > dt {
	font-weight:700;
}

.certificate-list_item > dd {
	margin-left:0;
	line-height:1.5;
}

.certificate-priceTable {
	margin-top:1.6rem;
	margin-bottom:1.6rem;
	width:100%;
	border-spacing:0;
	border-collapse:collapse;
	font-size:87.5%;
	line-height:1.5;
}

.certificate-priceTable > caption {
	margin-bottom:.5em;
	text-align:left;
}

.certificate-priceTable > caption::before {
	content:"▼";
}

.certificate-priceTable > thead > tr > th,
.certificate-priceTable > thead > tr > td,
.certificate-priceTable > tbody > tr > th,
.certificate-priceTable > tbody > tr > td {
	border:1px solid var(--c-bd);
	vertical-align:middle;
	text-align:center;
}

.certificate-priceTable > thead > tr > th {
	background:#f5f5f5;
}

.certificate-checkTable {
	margin-top:1.6rem;
	margin-bottom:1.6rem;
	width:100%;
	border-spacing:0;
	border-collapse:collapse;
	font-size:87.5%;
	line-height:1.5;
}

.certificate-checkTable > thead > tr > th,
.certificate-checkTable > thead > tr > td,
.certificate-checkTable > tbody > tr > th,
.certificate-checkTable > tbody > tr > td {
	border:1px solid var(--c-bd);
	vertical-align:middle;
	text-align:left;
}

.certificate-checkTable > thead > tr > th {
	padding:.25em .5em;
	background:#f5f5f5;
	font-size:12px;
}

.certificate-checkTable > tbody > tr > td {
	padding:.5em 1em;
}

.certificate-checkTable > tbody > tr > td._checkCell {
	width:4em;
	text-align:center;
}

#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:-8px;
	margin-left:-8px;
	padding:.25em 8px;
	background:var(--c-txt-lt);
	color:#fff;
	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);
	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;
}
@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 :where(ul:not([class]), ol:not([class])) {
	line-height:1.5;
}
#tinymce :where(ul:not([class]), ol:not([class])) > li {
	margin-top:.5em;
	margin-bottom:.5em;
}
#tinymce img {
	max-width:100%;
	height:auto;
}
