/*༻✿.pg-form, .est-form（フォーム用ページ）
* ページクラス：:is([class*="pg-form"], [class*="est-form"])
࿐༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶༄ */

/* ❀基本設定
────────────── ༚༶⊰⟡⊱༶༚༺*/
[class*="pg-form"] {
	background: var(--c-base, hsl(224, 6%, 100%));
}

 [class*="est-form"] {
	width: 1000px;
	max-width: 100%;
	margin-inline: auto;
	margin-top: calc(var(--⅝fem) * 2);
	background: var(--c-base, hsl(224, 6%, 100%));
}

/* ❀文字設定
────────────── ༚༶⊰⟡⊱༶༚༺*/
:is([class*="pg-form"], [class*="est-form"]) p {
	max-width: 100%;
	font-weight: var(--fw-base, 400);
	font-size: clamp(0.875rem, calc(0.875rem + ((1vw - 0.225rem) * 0.1563)), 0.9375rem);
	line-height: clamp(1.66em, calc(1.66em + ((1vw - 0.225em) * 0.55)), 1.88em);
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) p[class*="ta-center"] {
	text-indent: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

/* Small（注釈・小字） */
:is([class*="pg-form"], [class*="est-form"]) small {
	display: block;
	max-width: 100%;
	font-weight: var(--fw-base, 400);
	line-height: 1.44;
	letter-spacing: 0;
}

:is([class*="pg-form"], [class*="est-form"]) small[class*="ta-center"] {
	text-indent: 0;
}

/* Emphasis（強調・中字） */
:is([class*="pg-form"], [class*="est-form"]) em {
	display: block;
	max-width: 100%;
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(0.9563rem, calc(0.9563rem + ((1vw - 0.225rem) * 0.26563)), 1.0625rem);
	line-height: clamp(1.44em, calc(1.44em + ((1vw - 0.225em) * 0.275)), 1.55em);
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) em[class*="ta-center"] {
	text-indent: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

/* Strong（強調・大字） */
:is([class*="pg-form"], [class*="est-form"]) strong {
	display: block;
	max-width: 100%;
	font-weight: 600;
	font-variation-settings: 'wght' 600;
	font-size: clamp(1rem, calc(1rem + ((1vw - 0.225rem) * 0.4688)), 1.1875rem);
	line-height: 1.44;
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) strong[class*="ta-center"] {
	text-indent: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

/* Small, Em, Strong（inline-block） */
:is([class*="pg-form"], [class*="est-form"]) :is(h1, h2, h3, h4, h5, h6)>:is(small, em, strong) {
	display: inline-block;
	width: auto;
}

/* ❀Headings（h1, h2, h3, h4, h5, h6）
────────────── ༚༶⊰⟡⊱༶༚༺*/
:is([class*="pg-form"], [class*="est-form"]) :is(h1, h2, h3, h4, h5, h6) {
	z-index: 10;
	position: relative;
	max-width: 100%;
}

/* Headings（.hdg-） */
:is([class*="pg-form"], [class*="est-form"]) h1 {
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(1.1375rem, calc(1.1375rem + ((1vw - 0.225rem) * 1.8438)), 1.8750rem);
	line-height: 1.44;
	letter-spacing: clamp(0.04em, calc(0.04em + ((1vw - 0.225em) * 0.2)), 0.12em);
}

:is([class*="pg-form"], [class*="est-form"]) h1[class*="ta-center"] {
	text-indent: clamp(0.04em, calc(0.04em + ((1vw - 0.225em) * 0.2)), 0.12em);
}

:is([class*="pg-form"], [class*="est-form"]) .hdg-partition {
	padding-block: calc((var(--⅝fem) * 0.5) + var(--font-top-offset, 0em) / 2) calc((var(--⅝fem) * 0.5) - var(--font-top-offset, 0em) / 2);
	font-size: clamp(1.05rem, calc(1.05rem + ((1vw - 0.225rem) * 1.125)), 1.5rem);
	background: var(--c-primary, hsl(224, 50%, 33%));
	color: #FFF;
}

:is([class*="pg-form"], [class*="est-form"]) h2 {
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(1.05rem, calc(1.05rem + ((1vw - 0.225rem) * 1.125)), 1.5rem);
	line-height: 1.44;
	letter-spacing: clamp(0.03em, calc(0.03em + ((1vw - 0.225em) * 0.15)), 0.09em);
}

:is([class*="pg-form"], [class*="est-form"]) h2[class*="ta-center"] {
	text-indent: clamp(0.03em, calc(0.03em + ((1vw - 0.225em) * 0.15)), 0.09em);
}

:is([class*="pg-form"], [class*="est-form"]) h3 {
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(1rem, calc(1rem + ((1vw - 0.225rem) * 0.4688)), 1.1875rem);
	line-height: 1.44;
	letter-spacing: clamp(0.02em, calc(0.02em + ((1vw - 0.225em) * 0.1)), 0.06em);
}

:is([class*="pg-form"], [class*="est-form"]) h3[class*="ta-center"] {
	text-indent: clamp(0.02em, calc(0.02em + ((1vw - 0.225em) * 0.1)), 0.06em);
}

:is([class*="pg-form"], [class*="est-form"]) h4 {
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(0.9563rem, calc(0.9563rem + ((1vw - 0.225rem) * 0.2656)), 1.0625rem);
	line-height: 1.44;
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) h4[class*="ta-center"] {
	text-indent: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) h5 {
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(0.8750rem, calc(0.8750rem + ((1vw - 0.225rem) * 0.1563)), 0.9375rem);
	line-height: 1.44;
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) h5[class*="ta-center"] {
	text-indent: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
}

:is([class*="pg-form"], [class*="est-form"]) h6 {
	font-weight: 500;
	font-variation-settings: 'wght' 500;
	font-size: clamp(0.7500rem, calc(0.7500rem + ((1vw - 0.225rem) * 0.1563)), 0.8125rem);
	line-height: 1.44;
	letter-spacing: 0;
}

:is([class*="pg-form"], [class*="est-form"]) h6[class*="ta-center"] {
	text-indent: 0;
}

/* Headings画像（.impress） */
:is([class*="pg-form"], [class*="est-form"]) :is(h1, h2, h3, h4, h5, h6):has(>img) {
	width: auto;
}

:is([class*="pg-form"], [class*="est-form"]) :is(h1, h2, h3, h4, h5, h6)>img {
	width: auto;
	max-width: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

/* Ruby（ルビ） */
:is([class*="pg-form"], [class*="est-form"]) :is(h1, h2, h3, h4, h5, h6) rt {
	font-weight: var(--fw-base, 400);
}




/* ❖Component
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺*/
/* パンくずリスト */
:is([class*="pg-form"], [class*="est-form"]) .bread-batard {
	display: none;
}

/* .button, .buckle */
:is([class*="pg-form"], [class*="est-form"]) :is(.button, .buckle, .badge) {
	border-radius: 3px;
	white-space: nowrap;
}

:is([class*="pg-form"], [class*="est-form"]) :is(.button, .buckle, .badge).is-solided {
	font-weight: 550;
}

/* .badge */
:is([class*="pg-form"], [class*="est-form"]) .badge.is-crucial,
:is([class*="pg-form"], [class*="est-form"]) tr:has([required]) th::after {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	place-content: center;
	place-items: center;
	min-width: 3.2em;
	max-width: 100%;
	min-height: 1.86em;
	/* padding  上  横  下 */
	padding: calc(0.325em + var(--font-top-offset, 0em) / 2) 0.5em calc(0.425em - var(--font-top-offset, 0em) / 2);
	line-height: 1.11;
	letter-spacing: clamp(0.01em, 0.01em + (1vw - 0.225em) * 0.05, 0.03em);
	font-size: 13px;
	font-weight: 550;
	background: var(--c-crucial, currentColor);
	border: 1px solid transparent;
	color: #FFF;
	fill: #FFF;
	border-radius: 0.25rem;
}

:is([class*="pg-form"], [class*="est-form"]) tr:has([required]) th::after {
	margin-left: 0.5em;
	content: "必須";
}

/* @media (PC) */
@media print,
screen and (min-width: 744px) {
	:is([class*="pg-form"], [class*="est-form"]) tr:has([required]) th::after {
		position: absolute;
		top: 1.65em;
		right: 1.5em;
	}
}

:is([class*="pg-form"], [class*="est-form"]) tr:has([required]) th.w-full::after {
	position: static;
	margin-left: 0.25em;
}

/* .choice-button */
:is([class*="pg-form"], [class*="est-form"]) .button.choice-button {
	width: 100%;
	height: 4pc;
	border-radius: 0.3em;
	padding: 0.75pc 1rem;
	transition: all 0.3s ease-out;
}

:is([class*="pg-form"], [class*="est-form"]) .button.choice-button:has(:checked) {
	background: var(--c-primary, hsl(224, 50%, 33%));
	color: #FFF;
}

/* @media (SP) */
@media screen and (max-width: 743.9px) {
	:is([class*="pg-form"], [class*="est-form"]) .button.choice-button:nth-of-type(n+2) {
		margin-top: 1rem;
	}
}

/* @media (PC) */
@media print,
screen and (min-width: 744px) {
	:is([class*="pg-form"], [class*="est-form"]) .button.choice-button {
		width: 48.6%;
	}
}




/* .input（テキスト）
────────────── ༚༶⊰⟡⊱༶༚༺*/
:is([class*="pg-form"], [class*="est-form"]) .input:where([type=text],
	[type=date],
	[type=datetime-local],
	[type=email],
	[type=month],
	[type=password],
	[type=search],
	[type=tel],
	[type=time],
	[type=url],
	[type=week]) {
	width: 65%;
	height: calc(3em + 2px);
	padding-block: calc(0.75em + var(--font-top-offset, 0em) / 2) calc(0.75em - var(--font-top-offset, 0em) / 2);
	margin-right: 0.25pc;
}

:is([class*="pg-form"], [class*="est-form"]) .input:where([type=number]) {
	height: calc(3em + 2px);
	padding-block: calc(0.75em + var(--font-top-offset, 0em) / 2) calc(0.75em - var(--font-top-offset, 0em) / 2);
	margin-right: 0.25pc;
}

:is([class*="pg-form"], [class*="est-form"]) .select {
	height: calc(3em + 2px);
	padding-block: calc(0.7em + var(--font-top-offset, 0em) / 2) calc(0.7em - var(--font-top-offset, 0em) / 2);
	margin-right: 0.25pc;
}

:is([class*="pg-form"], [class*="est-form"]) .textarea {
	width: 100%;
	padding-block: calc(0.5em + var(--font-top-offset, 0em) / 2) calc(0.5em - var(--font-top-offset, 0em) / 2);
	margin-right: 0.25pc;
}

/* 電話番号 */
:is([class*="pg-form"], [class*="est-form"]) .input[name*="tel"] {
	width: 18.5em;
}

/* 郵便番号 */
:is([class*="pg-form"], [class*="est-form"]) .input[name*="postcode"] {
	width: 10.4em;
}

/* ラジオ・チェックボックス */
:is([class*="pg-form"], [class*="est-form"]) :is(.radiogroup, .checkboxgroup) {
	padding-top: 0.25rem;
}

:is([class*="pg-form"], [class*="est-form"]) .checkboxgroup label {
	min-width: 6.3em;
}




/* エラーメッセージ
────────────── ༚༶⊰⟡⊱༶༚༺*/
:is([class*="pg-form"], [class*="est-form"]) .error-messages {
	/* margin: 上  右  下  左 */
	margin: 0px 0px 2pc 4.3rem;
}

:is([class*="pg-form"], [class*="est-form"]) .error-message {
	position: relative;
	display: block;
	width: 100%;
	color: var(--c-error, hsl(352, 99%, 43%));
	font-size: 93%;
	font-weight: 500;
	white-space: normal;
}

:is([class*="pg-form"], [class*="est-form"]) .error-message::before {
	display: inline-block;
	content: "※";
}

:is([class*="pg-form"], [class*="est-form"]) .error-field {
	background: var(--c-error-a0\.05, hsla(352, 99%, 43%, 0.05));
	border: 2px solid var(--c-error, hsl(352, 99%, 43%));
}

/* 確認・送信ボタン */
:is([class*="pg-form"], [class*="est-form"]):has(.error-message) :is(.btn-confirm, .btn-send) {
	cursor: not-allowed;
	filter: grayscale(1) opacity(0.3);
}

/* .warning-message（オレンジ）
────────────── ༚༶⊰⟡⊱༶༚༺*/
:is([class*="pg-form"], [class*="est-form"]) .warning-message {
	position: relative;
	left: -2rem;
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	width: auto;
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--c-gray-600, hsl(224, 6%, 43%));
	border-radius: 3px;
	background: var(--c-base, hsl(224, 6%, 100%));
	color: var(--c-warning, hsl(25, 99%, 58%));
	font-size: 88%;
	font-weight: 400;
	white-space: nowrap;
}

:is([class*="pg-form"], [class*="est-form"]) .warning-message::before {
	content: "";
	position: absolute;
	top: 0;
	left: 25%;
	border-style: solid;
	border-width: 0 8px 8px 8px;
	border-color: transparent transparent var(--c-gray-600, hsl(224, 6%, 43%));
	translate: -50% -100%;
}

:is([class*="pg-form"], [class*="est-form"]) .warning-message::after {
	content: "";
	position: absolute;
	top: 0;
	left: 25%;
	border-style: solid;
	border-width: 0 7px 7px 7px;
	border-color: transparent transparent var(--c-base, hsl(224, 6%, 100%));
	translate: -50% -100%;
}

/* Icon（Material Symbols） */
:is([class*="pg-form"], [class*="est-form"]) .warning-message .warning-icon {
	position: relative;
	display: inline-flex;
	place-content: center;
	place-items: center;
	width: 1.5em;
	height: 1.5em;
	background: var(--c-warning, hsl(25, 99%, 58%));
	color: #FFF;
	margin-right: 0.5em;
}

:is([class*="pg-form"], [class*="est-form"]) .warning-message .warning-icon::before {
	position: relative;
	top: 0px;
	display: inline-flex;
	place-content: center;
	place-items: center;
	width: 0;
	height: 0;
	font-size: 113.3%;
	/* Material Symbols */
	font-family: 'Material Symbols Sharp';
	font-variation-settings:
		'FILL' 0,
		'wght' 600;
	content: "\e645";
}

:is([class*="pg-form"], [class*="est-form"]) .warning-field {
	background: var(--c-warning-a0\.05, hsla(25, 99%, 58%, 0.05));
	border: 2px solid var(--c-warning, hsl(25, 99%, 58%));
}




/* ❖Layout
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺*/
[class*="pg-form"] .section__inheader,
[class*="pg-form"] .section__interior,
[class*="pg-form"] .section__infooter,
[class*="est-form"] .form__inheader,
[class*="est-form"] .form__interior,
[class*="est-form"] .form__infooter {
	width: 960px;
	max-width: calc(var(--zvw, 1vw) * 92.5);
	margin-inline: auto;
	background: var(--c-base, hsl(224, 6%, 100%));
}

/* ✿section, department
࿐༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶༄ */
/*༻§𝐒𝐄𝐂𝐓𝐈𝐎𝐍
────────────── ༚༶⊰⟡⊱༶༚༺*/
[class*="pg-form"] .sect-form4fnR-Intro {
	/* padding: 上  横  下 */
	padding: calc(var(--⅝fem) * 3) 0px calc(var(--⅝fem) * 0);
}




/* ❖Est Form
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺*/
[class*="est-form"] .form__infooter {
	margin-top: 3rem;
}

/* デバッグモード */
[class*="est-form"] .debug-mode {
	width: 960px;
	max-width: 100%;
	margin-inline: auto;
	margin-bottom: 2rem;
	padding: 1rem;
	background: #fff3cd;
	text-align: center;
	border: 2px solid #ffc107;
}

[class*="est-form"] fieldset {
	display: contents;
}

[class*="est-form"] legend {
	display: block;
	width: 100%;
	/* padding  縦  横 */
	padding: calc(var(--⅝fem) * 1.5) calc(var(--⅝fem) * 1.25);
	margin-bottom: calc(var(--⅝fem) * 1);
	font-weight: 600;
	background: var(--c-base-40, hsl(224, 6%, 96%));
}

[class*="est-form"] fieldset:nth-of-type(n+2) legend {
	margin-top: calc(var(--⅝fem) * 3);
}

[class*="est-form"] .hdg-legend {
	font-size: clamp(0.975rem, calc(0.975rem + ((1vw - 0.225rem) * 0.375)), 1.125rem);
	font-weight: 500;
	padding-bottom: 0.5px;
}

[class*="est-form"] .requirement-legend,
[class*="est-form"] .requirement-legend+p,
[class*="est-form"] .client-legend,
[class*="est-form"] .client-legend+p {
	display: none;
}

[class*="est-form"] table {
	width: 100%;
	margin-inline: auto;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

[class*="est-form"] tbody {
	display: table;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	border-bottom: 1px solid var(--c-base-200, hsl(224, 6%, 84%));
}

[class*="est-form"] tr {
	width: 100%;
}

[class*="est-form"] :is(th, td) small {
	display: inline-block;
}

[class*="est-form"] th {
	position: relative;
	width: 100%;
	padding-block: calc(var(--⅖fem) * 1.25);
	padding-left: calc(var(--⅝fem) * 0.75);
	vertical-align: top;
	background: var(--c-base-40, hsl(224, 6%, 96%));
	border-top: 1px solid var(--c-base-200, hsl(224, 6%, 84%));
}

[class*="est-form"] th p {
	font-size: 15px;
	font-size: clamp(14px, calc(14px + ((1vw - 3.6px) * 0.1563)), 15px);
	font-weight: 500;
}

[class*="est-form"] td {
	position: relative;
	width: 100%;
	/* padding  上  横  下 */
	padding: calc(var(--⅝fem) * 1) 0px calc(var(--⅝fem) * 1);
	border-top: 1px solid var(--c-base-200, hsl(224, 6%, 84%));
}

/* @media (SP) */
@media screen and (max-width: 743.9px) {
	[class*="est-form"] :is(th, td) {
		display: block;
	}

	[class*="est-form"] th label {
		position: relative;
	}
}

/* @media (PC) */
@media print,
screen and (min-width: 744px) {
	[class*="est-form"] th {
		position: relative;
		width: 260px;
		min-width: 260px;
		padding-right: 4pc;
	}

	[class*="est-form"] td {
		/* padding  上  横  下 */
		padding: calc(var(--⅝fem) * 1) calc(var(--⅝fem) * 1) calc(var(--⅝fem) * 1);
	}
}




/* 個人情報保護方針（:not(#confirm *)）
────────────── ༚༶⊰⟡⊱༶༚༺*/
[class*="est-form"]:not(#confirm *) .caution-field {
	border: 0;
}

[class*="est-form"]:not(#confirm *) .caution-field th,
[class*="est-form"]:not(#confirm *) .caution-field td {
	white-space: nowrap;
	border: 0;
	background: var(--c-secondary-100, hsl(197, 45%, 97%));
}

[class*="est-form"]:not(#confirm *) .caution-field th {
	padding-block: calc(var(--⅝fem) * 1.25) calc(var(--½fem) * 1.25);
	padding-left: calc(var(--⅝fem) * 1.25);
}

[class*="est-form"]:not(#confirm *) .caution-field td {
	padding-block: calc(var(--½fem) * 1.25) calc(var(--⅝fem) * 1.25);
	text-align: center;
}




/* #confirm（確認ページ）
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺*/
/* 非表示 */
#confirm [class*="est-form"] :is(.d-none_confirm,
	.is-crucial) {
	display: none;
}

#confirm [class*="est-form"] th {
	padding-block: calc(var(--⅘fem) * 1.25) calc(var(--⅕fem) * 1.25);
}

#confirm [class*="est-form"] td {
	padding-block: calc(var(--⅕fem) * 1.25) calc(var(--⅘fem) * 1.25);
	border-bottom: 1px dotted var(--c-base-100, hsl(224, 6%, 79%));
}

#confirm [class*="est-form"] legend {
	padding: calc(var(--⅝fem) * 1) 0pc;
	background: transparent;
	border-bottom: 2px solid hsl(0, 0%, 50%);
}


/* @media (PC) */
@media print,
screen and (min-width: 744px) {
	#confirm [class*="est-form"] th {
		width: 330px;
		min-width: 330px;
		padding-left: 6pc;
		border-bottom: 1px dotted var(--c-base-100, hsl(224, 6%, 79%));
	}

	#confirm [class*="est-form"] legend {
		margin-inline: 2rem;
	}
}





/* .flatpickr-calendar
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺*/
.flatpickr-calendar {
	background: transparent;
	opacity: 0;
	display: none;
	text-align: center;
	visibility: hidden;
	padding: 0;
	-webkit-animation: none;
	animation: none;
	direction: ltr;
	border: 0;
	font-size: 14px;
	line-height: 24px;
	border-radius: 5px;
	position: absolute;
	width: 307.875px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	-webkit-box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
	box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
	opacity: 1;
	max-height: 640px;
	visibility: visible;
}

.flatpickr-calendar.open {
	display: inline-block;
	z-index: 99999;
}

.flatpickr-calendar.animate.open {
	-webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
	animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
	display: block;
	position: relative;
	top: 2px;
}

.flatpickr-calendar.static {
	position: absolute;
	top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
	z-index: 999;
	display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
	-webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
	box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
	border-bottom: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
	border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
	height: 40px;
	border-top: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.hasTime .flatpickr-innerContainer {
	border-bottom: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
	border: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
	height: auto;
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
	position: absolute;
	display: block;
	pointer-events: none;
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	left: 22px;
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
	left: auto;
	right: 22px;
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
	left: 50%;
	right: 50%;
}

.flatpickr-calendar:before {
	border-width: 5px;
	margin: 0 -5px;
}

.flatpickr-calendar:after {
	border-width: 4px;
	margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
	bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
	border-bottom-color: rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.arrowTop:after {
	border-bottom-color: var(--c-primary-550, hsl(224, 50%, 48%));
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
	top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
	border-top-color: rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.arrowBottom:after {
	border-top-color: var(--c-primary-550, hsl(224, 50%, 48%));
}

.flatpickr-calendar:focus:not(:focus-visible) {
	outline: 0;
}

.flatpickr-calendar:focus-visible {
	outline: 2px solid var(--c-primary-550, hsl(224, 50%, 48%));
	outline-offset: 2px;
}

.flatpickr-wrapper {
	position: relative;
	display: inline-block;
}

.flatpickr-months {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flatpickr-months .flatpickr-month {
	border-radius: 5px 5px 0 0;
	background: var(--c-primary-550, hsl(224, 50%, 48%));
	color: #fff;
	fill: #fff;
	height: 34px;
	line-height: 1;
	text-align: center;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	overflow: hidden;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	text-decoration: none;
	cursor: pointer;
	position: absolute;
	top: 0;
	height: 34px;
	padding: 10px;
	z-index: 3;
	color: #fff;
	fill: #fff;
	display: inline-flex;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
	display: none;
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
	position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
	left: 0;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
	right: 0;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
	color: #bbb;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
	position: relative;
	transition: all 0.2s ease;
}

.flatpickr-months .flatpickr-prev-month:hover svg {
	fill: unset;
	left: -2px;
}

.flatpickr-months .flatpickr-next-month:hover svg {
	fill: unset;
	right: -2px;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
	width: 14px;
	height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
	-webkit-transition: fill 0.1s;
	transition: fill 0.1s;
	fill: inherit;
}

.numInputWrapper {
	position: relative;
	height: auto;
}

.numInputWrapper input,
.numInputWrapper span {
	display: inline-block;
}

.numInputWrapper input {
	width: 100%;
}

.numInputWrapper input::-ms-clear {
	display: none;
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.numInputWrapper span {
	position: absolute;
	right: -0.6pc;
	width: 14px;
	padding: 0 4px 0 2px;
	height: 50%;
	line-height: 50%;
	opacity: 0;
	cursor: pointer;
	border: 1px solid rgba(72, 72, 72, 0.15);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.numInputWrapper span:hover {
	background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
	background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
	display: block;
	content: "";
	position: absolute;
}

.numInputWrapper span.arrowUp {
	top: 0;
	border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid rgba(72, 72, 72, 0.6);
	top: 26%;
}

.numInputWrapper span.arrowDown {
	top: 50%;
}

.numInputWrapper span.arrowDown:after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid rgba(72, 72, 72, 0.6);
	top: 40%;
}

.numInputWrapper span svg {
	width: inherit;
	height: auto;
}

.numInputWrapper span svg path {
	fill: rgba(255, 255, 255, 0.5);
}

.numInputWrapper:hover {
	background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
	opacity: 1;
}

.flatpickr-current-month {
	font-size: 135%;
	line-height: inherit;
	font-weight: 300;
	color: inherit;
	position: absolute;
	width: 75%;
	left: 12.5%;
	padding: 7.48px 0 0 0;
	line-height: 1;
	height: 34px;
	display: inline-block;
	text-align: center;
	-webkit-transform: translate3d(0px, 0px, 0px);
	transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month span.cur-month {
	font-family: inherit;
	font-weight: 700;
	color: inherit;
	display: inline-block;
	margin-left: 0.5ch;
	padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
	background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
	width: 6ch;
	display: inline-block;
	pointer-events: none;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
	border-bottom-color: #fff;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
	border-top-color: #fff;
}

.flatpickr-current-month input.cur-year {
	background: transparent;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	cursor: text;
	padding: 0 0 0 0.5ch;
	margin: 0;
	display: inline-block;
	font-size: inherit;
	font-family: inherit;
	font-weight: 300;
	line-height: inherit;
	height: auto;
	border: 0;
	border-radius: 0;
	vertical-align: initial;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus:not(:focus-visible) {
	outline: 0;
}

.flatpickr-current-month input.cur-year:focus-visible {
	outline: 2px solid var(--c-primary-550, hsl(224, 50%, 48%));
	outline-offset: 2px;
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
	font-size: 100%;
	color: #FFF;
	background: transparent;
	pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	appearance: menulist;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	color: inherit;
	cursor: pointer;
	font-size: inherit;
	font-family: inherit;
	font-weight: 300;
	height: auto;
	line-height: inherit;
	margin: -1px 0 0 0;
	outline: none;
	padding: 0 0 0 0.5ch;
	position: relative;
	vertical-align: initial;
	-webkit-box-sizing: border-box;
	-webkit-appearance: menulist;
	-moz-appearance: menulist;
	width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
	outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
	background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
	background-color: var(--c-primary-550, hsl(224, 50%, 48%));
	outline: none;
	padding: 0;
}

.flatpickr-weekdays {
	background: var(--c-primary-150, hsl(224, 50%, 89%));
	text-align: center;
	overflow: hidden;
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

span.flatpickr-weekday {
	cursor: default;
	font-size: 90%;
	color: rgba(0, 0, 0, 0.54);
	line-height: 1;
	margin: 0;
	text-align: center;
	display: block;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-weight: bolder;
}

.dayContainer,
.flatpickr-weeks {
	padding: 1px 0 0 0;
}

.flatpickr-days {
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 307.875px;
	border-left: 1px solid rgba(72, 72, 72, 0.2);
	border-right: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-days:focus {
	outline: 0;
}

.dayContainer {
	outline: 0;
	text-align: left;
	width: 307.875px;
	min-width: 307.875px;
	max-width: 307.875px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-transform: translate3d(0px, 0px, 0px);
	transform: translate3d(0px, 0px, 0px);
	opacity: 1;
	padding: 3px;
	gap: 3px;
}

.dayContainer+.dayContainer {
	-webkit-box-shadow: -1px 0 0 rgba(72, 72, 72, 0.2);
	box-shadow: -1px 0 0 rgba(72, 72, 72, 0.2);
}

.flatpickr-day {
	background: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #484848;
	cursor: pointer;
	font-weight: 400;
	width: 14.2857143%;
	-webkit-flex-basis: 14.2857143%;
	-ms-flex-preferred-size: 14.2857143%;
	flex-basis: 14.2857143%;
	max-width: 39px;
	height: 39px;
	line-height: 39px;
	margin: 0;
	display: inline-block;
	position: relative;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	border-radius: 0;
	border: 1px solid hsl(224, 6%, 93%);
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.today:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.today:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
	cursor: pointer;
	outline: 0;
	background: var(--c-primary-100, hsl(224, 50%, 93%));
	border-color: var(--c-primary-100, hsl(224, 50%, 93%));
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	background: var(--c-primary-550, hsl(224, 50%, 48%));
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #fff;
	border-color: var(--c-primary-550, hsl(224, 50%, 48%));
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
	border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
	border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)) {
	-webkit-box-shadow: -10px 0 0 var(--c-primary-550, hsl(224, 50%, 48%));
	box-shadow: -10px 0 0 var(--c-primary-550, hsl(224, 50%, 48%));
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
	border-radius: 50px;
}

.flatpickr-day.inRange {
	border-radius: 0;
	-webkit-box-shadow: -5px 0 0 var(--c-primary-100, hsl(224, 50%, 93%)), 5px 0 0 var(--c-primary-100, hsl(224, 50%, 93%));
	box-shadow: -5px 0 0 var(--c-primary-100, hsl(224, 50%, 93%)), 5px 0 0 var(--c-primary-100, hsl(224, 50%, 93%));
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
	color: hsla(224, 6%, 13%, 0.75);
	cursor: default;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
	border-color: hsl(224, 6%, 93%);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
	color: hsla(224, 6%, 13%, 0.2);
	border-color: transparent;
	/* pointer-events: none; */
	cursor: not-allowed;
}

.flatpickr-day.today {
	background: hsl(60, 99%, 93%);
	border-color: hsl(60, 99%, 93%);
}

.flatpickr-day.week.selected {
	border-radius: 0;
	-webkit-box-shadow: -5px 0 0 var(--c-primary-550, hsl(224, 50%, 48%)), 5px 0 0 var(--c-primary-550, hsl(224, 50%, 48%));
	box-shadow: -5px 0 0 var(--c-primary-550, hsl(224, 50%, 48%)), 5px 0 0 var(--c-primary-550, hsl(224, 50%, 48%));
}

.flatpickr-day.hidden {
	visibility: hidden;
}

.rangeMode .flatpickr-day {
	margin-top: 1px;
}

.flatpickr-weekwrapper {
	float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
	padding: 0 12px;
	border-left: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-weekwrapper .flatpickr-weekday {
	float: none;
	width: 100%;
	line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
	display: block;
	width: 100%;
	max-width: none;
	color: hsla(224, 6%, 13%, 0.75);
	background: transparent;
	cursor: default;
	border: none;
}

.flatpickr-innerContainer {
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	background: #fff;
	border-bottom: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-rContainer {
	display: inline-block;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.flatpickr-time {
	text-align: center;
	outline: 0;
	display: block;
	height: 0;
	line-height: 40px;
	max-height: 40px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	background: #fff;
	border-radius: 0 0 5px 5px;
}

.flatpickr-time:after {
	content: "";
	display: table;
	clear: both;
}

.flatpickr-time .numInputWrapper {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	width: 40%;
	height: 40px;
	float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
	border-bottom-color: #484848;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
	border-top-color: #484848;
}

.flatpickr-time.hasSeconds .numInputWrapper {
	width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
	width: 49%;
}

.flatpickr-time input {
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: 0;
	border-radius: 0;
	text-align: center;
	margin: 0;
	padding: 0;
	height: inherit;
	line-height: inherit;
	color: #484848;
	font-size: 14px;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
	font-weight: 600;
}

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
	font-weight: 400;
}

.flatpickr-time input:focus {
	outline: 0;
	border: 0;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
	height: inherit;
	float: left;
	line-height: inherit;
	color: #484848;
	font-weight: 600;
	width: 2%;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
	outline: 0;
	width: 18%;
	cursor: pointer;
	text-align: center;
	font-weight: 400;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
	background: #eaeaea;
}

.flatpickr-input[readonly] {
	cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fpFadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}




/*༻✿𝑯𝒆𝒂𝒅𝒆𝒓（ヘッダー）
࿐༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶༄ */
/*༻✿𝐂𝐒𝐒-𝑯𝒆𝒂𝒅𝒆𝒓-CkqJ（2row__3col）
࿐༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶༄ */

/* --header-height
────────────── ༚༶⊰⟡⊱༶༚༺ */
:root {
	--header-height: 4rem;
	--anchor: var(--header-height);
}

/* @PC */
@media print,
screen and (min-width: 744px) {
	:root {
		--header-height: 6.5rem;
		--anchor: var(--header-height);
	}
}

/* アンカーリンク位置調整 */
[anchor] {
	margin-top: calc(var(--anchor) * -1);
	padding-top: var(--anchor);
}

/* vanti（余白調整：header裏） */
.spacer-vanti:has(~header) {
	height: var(--header-height);
}




/* .header
────────────── ༚༶⊰⟡⊱༶༚༺ */
/* アニメーションキーフレーム定義 */
@keyframes headerIn {
	100% {
		opacity: 1;
	}
}

.estfm-header {
	position: fixed;
	z-index: 500;
	top: 0;
	/* Flex */
	display: flex;
	flex-direction: column;
	width: 100%;
	height: var(--header-height);
	transition: all 0.5s ease-out;
	opacity: 0;
	/* anime : name | duration | easing | delay */
	animation: headerIn 1s ease-out 0.5s;
	animation-fill-mode: forwards;
	/* .is-glassed（グラスモーフィズム） */
	background: hsla(224, 6%, 100%, 0.85);
	-webkit-backdrop-filter: blur(4px) saturate(180%);
	backdrop-filter: blur(4px) saturate(180%);
	color: unset;
}

/* @PC */
@media print,
screen and (min-width: 744px) {
	.estfm-header {
		margin-bottom: calc(var(--header-height) * -1);
	}
}




/* ❀文字設定
────────────── ༚༶⊰⟡⊱༶༚༺ */
.estfm-header p {
	display: block;
	max-width: 100%;
	line-height: 1.88;
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
	font-size: var(--fz-ss);
}

/* 見出し */
.estfm-header :is(h1, h2, h3, h4, h5, h6) {
	position: relative;
	display: inline-block;
	z-index: 10;
	width: 100%;
	max-width: 100%;
}




/* ❖Component
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺ */
/* Icon（Material Symbols） */
.estfm-header .icon {
	font-weight: 200;
}




/* ❖Layout
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺ */
/* .heaven（ヘッダーの上）
────────────── ༚༶⊰⟡⊱༶༚༺ */
.heavenCkqJ {
	position: relative;
	z-index: 600;
	background: var(--c-secondary-40, hsl(224, 62%, 96%));
}




/* .header__interior ---------------- */
.estfm-header .header__interior {
	width: 100%;
	height: 100%;
}

/* @PC */
@media print,
screen and (min-width: 744px) {
	.estfm-header .header__interior {
		padding-left: 1.5rem;
	}
}




/* .header__topzone ----------------- */
.estfm-header .header__topzone {
	flex-grow: 1;
	width: 100%;
	height: stretch;
}




/* .header__leftlane ---------------- */
.estfm-header .header__leftlane {
	display: flex;
	align-items: center;
}

/* @PC */
@media print,
screen and (min-width: 744px) {
	.estfm-header .header__leftlane {
		flex-direction: column;
		align-items: start;
	}
}

/* .header-brand */
:is(.estfm-header, .header-print) .header-brand {
	display: inline-flex;
	align-items: center;
	height: 100%;
	padding: 0;
}

:is(.estfm-header, .header-print) .header-brand img {
	position: relative;
	height: 100%;
	width: auto;
	margin-right: 0.5rem;
	object-fit: contain;
}

:is(.estfm-header, .header-print) .header-title {
	font-size: clamp(0.75rem, calc(0.75rem + ((1vw - 0.225rem) * 0.4688)), 0.9375rem);
	font-variation-settings: 'wght' 400;
	font-weight: 400;
	white-space: nowrap;
}


/* .header__centerlane ---------------- */
.estfm-header .header__centerlane {
	/* Flex */
	display: flex;
	justify-content: end;
	align-items: center;
	flex-grow: 1;
	width: min-content;
	padding-right: 2rem;
}

.estfm-header .header__centerlane .menu.headmenu2 li {
	line-height: 1.77;
	font-size: 0.8125rem;
	white-space: nowrap;
}


/* .header__rightlane --------------- */
.estfm-header .header__rightlane {
	display: flex;
	align-items: center;
}

/* @media (SP) */
@media screen and (max-width: 743.9px) {
.estfm-header .header__rightlane figcaption {
margin-top: 1.6rem;
}
}




/* .header__bottomzone
────────────── ༚༶⊰⟡⊱༶༚༺ */
/* .menu */
.estfm-header .header__bottomzone .menu {
	display: table;
	table-layout: fixed;
}

.estfm-header .header__bottomzone .menu>li {
	display: table-cell;
	letter-spacing: 0.09em;
	font-size: clamp(0.9750rem, calc(0.9750rem + ((1vw - 0.225rem) * 0.3750)), 1.1250rem);
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
	transition: all 0.5s ease-out;
	border-left: 1px solid var(--c-gray-a0\.3, hsla(224, 6%, 50%, 0.3));
}

.estfm-header .header__bottomzone .menu>li:last-of-type {
	border-right: 1px solid var(--c-gray-a0\.3, hsla(224, 6%, 50%, 0.3));
}

.estfm-header .header__bottomzone .menu>li .menu-link {
	position: relative;
	width: 100%;
	height: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

/* current & hover */
.estfm-header .header__bottomzone .menu>li .menu-link::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	margin: auto;
	width: 66.6%;
	height: 1px;
	background: var(--c-base-a0\.7, hsla(233, 6%, 13%, 0.7));
	/* アニメーション設定 */
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
	pointer-events: none;
}

/* hover & current で線を表示 */
.estfm-header .header__bottomzone .menu>li .menu-link:hover::after,
.estfm-header .header__bottomzone .menu>li.current_page_item .menu-link::after {
	transform: scaleX(1);
}




/* 非表示 @SP */
@media screen and (max-width: 743.9px) {
	.zaratan .estfm-header .d-none_sp {
		display: none;
	}
}

/* 非表示 @PC */
@media print,
screen and (min-width: 744px) {
	.zaratan .estfm-header .d-none_pc {
		display: none;
	}
}




/* .scrolled, .diverth-1
────────────── ༚༶⊰⟡⊱༶༚༺ */
.scrolled .estfm-header,
.estfm-header.diverth-1 {
	/* .is-glassed（グラスモーフィズム） */
	background: hsla(224, 6%, 100%, 0.85);
	-webkit-backdrop-filter: blur(4px) saturate(180%);
	backdrop-filter: blur(4px) saturate(180%);
	border: 1px solid hsla(224, 6%, 100%, 0.2);
	box-shadow: inset 0 1px 0 0 hsla(224, 6%, 100%, 0.15),
		0 4px 16px 0 hsla(224, 6%, 0%, 0.1);
	color: unset;
}




/*༻✿𝑭𝒐𝒐𝒕𝒆𝒓 （フッター）
࿐༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶༄ */
.estfm-footer {
	position: sticky;
	top: min(100dvh, 100vh);
	width: 100%;
	background: var(--c-secondary, hsl(199, 100%, 94%));
}

/* CSS変数 @SP */
@media screen and (max-width: 743.9px) {
	.estfm-footer {
		--v70vw_sp: 70vw;
		--v80vw_sp: 80vw;
		padding-bottom: 3.5rem;
	}
}




/* ❀基本設定
────────────── ༚༶⊰⟡⊱༶༚༺ */
/* ❀文字設定
────────────── ༚༶⊰⟡⊱༶༚༺ */
.estfm-footer p {
	max-width: 100%;
	line-height: 1.66;
	letter-spacing: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
	font-size: clamp(0.875rem, calc(0.875rem + ((1vw - 0.225rem) * 0.1563)), 0.9375rem);
	font-weight: var(--fw-base, 400);
}

/* 見出し（h1, h2, h3, h4, h5, h6） */
.estfm-footer :is(h1, h2, h3, h4, h5, h6) {
	position: relative;
	display: block;
	z-index: 10;
	width: 100%;
	max-width: 100%;
}

/* 見出し画像 */
.estfm-footer :is(h1, h2, h3, h4, h5, h6):has(>img) {
	width: auto;
}

.estfm-footer :is(h1, h2, h3, h4, h5, h6)>img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	vertical-align: middle;
}





/* ❖Component
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺ */
/* ❖Layout
༻❧⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶❀༶⊰⟡⊱༶⊰⟡⊱༶⊰⟡⊱༶☙༺ */
/*༻.baresi（余白：footer上）༺༺*/
.spacer-baresi:has(~.estfm-footer) {
	display: block;
	width: 100%;
	height: 3pc;
}

/* Zone, Lane（区画：縦方向、横方向） */
.estfm-footer .footer__topzone,
.estfm-footer .footer__bottomzone {
	max-width: var(--v80vw_sp, 92.5vw);
	margin-inline: auto;
}

.estfm-footer .footer__middlezone {
	max-width: var(--v70vw_sp, 92.5vw);
	margin-inline: auto;
}

.estfm-footer .footer__leftlane,
.estfm-footer .footer__centerlane,
.estfm-footer .footer__rightlane {
	width: 100%;
}




/* .footer__topzone
────────────── ༚༶⊰⟡⊱༶༚༺ */
.estfm-footer .footer__topzone {
	/* padding  上  横  下 */
	padding: calc(var(--⅝fem) * 3) 0px calc(var(--⅝fem) * 0);
}




/* .footer__middlezone
────────────── ༚༶⊰⟡⊱༶༚༺ */
.estfm-footer .footer__middlezone {
	align-items: end;
	column-gap: 8rem;
	padding-block: 0;
}

.estfm-footer .footer__middlezone .footer-brand2 img {
	width: clamp(15.5rem, calc(17.2rem + ((1vw - 3.6px) * -4.25)), 17.2rem);
}

/* Lane（区画：横方向） @SP */
@media screen and (max-width: 743.9px) {
	.estfm-footer .footer__rightlane {
		margin-top: 2pc;
	}
}

/* Lane（区画：横方向） @PC */
@media print,
screen and (min-width: 744px) {
	.estfm-footer .footer__leftlane {
		width: 37rem;
	}

	.estfm-footer .footer__rightlane {
		flex-grow: 1;
		width: min-content;
	}
}




/* .footer__bottomzone
────────────── ༚༶⊰⟡⊱༶༚༺ */
.estfm-footer .footer__bottomzone {
	/* padding: 上  横  下 */
	padding: 1rem 0px 1rem;
}

.estfm-footer .footer__bottomzone .copyright {
	display: block;
	width: 100%;
}




/* .footmenu
────────────── ༚༶⊰⟡⊱༶༚༺ */
.menu[class*="footmenu"] {
	position: relative;
	top: 0.1rem;
}

.menu[class*="footmenu"] li {
	display: grid;
	transition: 0.5s grid-template ease;
	line-height: 1.44;
	font-size: clamp(0.8750rem, calc(0.8750rem + ((1vw - 3.6px) * 0.1563)), 0.9375rem);
	white-space: nowrap;
}

.menu[class*="footmenu"] li a {
	position: relative;
	width: 100%;
}

/* overflow: hidden */
.menu[class*="footmenu"] li,
.menu[class*="footmenu"] li a,
.menu[class*="footmenu"] li .sub-menu {
	overflow: hidden;
}

.menu[class*="footmenu"]>li>a {
	height: max-content;
	margin-bottom: 0.15rem;
}

/* .sub-menu */
.menu[class*="footmenu"] .sub-menu {
	display: grid;
}

.menu[class*="footmenu"]>li>a>i:not(.submenu-opener)::before {
	position: relative;
	top: -0.1em;
	display: inline-flex;
	place-content: center;
	place-items: center;
	width: 1em;
	height: 1em;
	font-size: 83.3%;
	content: "▶";
	margin-right: 0.3em;
}

.menu[class*="footmenu"] .sub-menu>li>a>i:not(.submenu-opener)::before {
	position: relative;
	top: 0px;
	display: inline-flex;
	place-content: center;
	place-items: center;
	width: 1em;
	height: 1em;
	font-size: 83.3%;
	content: "・";
}