/* =========================================================
 * こどもウレタノ！ 恒久復旧CSS 2.0.7
 * DB内の追加CSS、過去チャットの確定記録、公開ページの
 * ショートコード使用状況から確認できた範囲を統合。
 * ======================================================= */

/* Material Symbols：文字とアイコンの位置合わせ */
.material-symbols-outlined {
	vertical-align: middle;
	display: inline-block;
	margin-right: 5px;
	color: currentColor;
}

/* ロゴ */
.site-header-logo img {
	max-height: min(45px, 10vw);
}

/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-feature-settings: "palt";
	letter-spacing: 2px;
}

/* ヘッダー内テキスト位置
 * 左余白40pxはPCのみ。スマホ・タブレットに適用すると
 * 要素幅＋余白が画面幅を超え、右側の空白／横スクロールを生むため制限する。
 */
.header-content-inner {
	text-align: left;
	box-sizing: border-box;
	max-width: 100%;
}

@media (min-width: 992px) {
	.header-content-inner {
		margin-left: 40px;
		margin-right: auto;
	}
}

@media (max-width: 991px) {
	.header-content-inner {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/* VKボタン共通 */
.wp-block-vk-blocks-button .vk_button_link {
	font-size: 1.25em !important;
	opacity: 1 !important;
	padding: 14px 35px !important;
	transition: transform 0.3s, background-color 0.3s !important;
	text-decoration: none !important;
}

/* 高さを低くするボタン */
.wp-block-vk-blocks-button.is-short-button .vk_button_link {
	padding: 8px 35px !important;
}

/* ボタンのホバー */
.vk_button .vk_button_link:hover,
.wp-block-vk-blocks-button .vk_button_link:hover {
	opacity: 1 !important;
	transform: translateY(-2px) !important;
}

/* 小さいボタン文字 */
.font-small .vk_button_link_txt {
	font-size: 16px !important;
	font-weight: bold !important;
}

/* カードのホバー */
.my-hover-up {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.my-hover-up:hover {
	transform: translateY(-20px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* DB内のブロック固有CSSが読み込まれない場合の予備 */
.my-blue-bg {
	background-color: rgba(7, 156, 204, 0.02) !important;
}

.vkp-container {
	position: relative;
	z-index: 1;
}

/* =========================================================
 * 料金：トップページ
 * ======================================================= */
.child-tax-price {
	display: flex;
	width: 100%;
	align-items: baseline;
	justify-content: center;
	gap: 0.12em;
	flex-wrap: wrap;
	line-height: 1.4;
}

.child-tax-price__prefix,
.child-tax-price__suffix {
	white-space: nowrap;
}

.child-tax-price__excl {
	font-size: 1.2em;
	font-weight: 700;
	white-space: nowrap;
}

.child-tax-price__incl {
	font-size: 0.82em;
	white-space: nowrap;
}

/* =========================================================
 * 料金：各コース・グループ
 * ======================================================= */
.child-price-box {
	width: 100%;
	text-align: center;
	line-height: 1.4;
}

.child-price-excl {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.2em;
	flex-wrap: wrap;
}

.child-price-excl strong {
	font-size: 20px;
	line-height: 1;
	white-space: nowrap;
}

.child-price-excl span,
.child-price-incl {
	white-space: nowrap;
}

.child-price-incl {
	margin-top: 0.25em;
	font-size: 0.92em;
}

/* =========================================================
 * 料金：料金一覧
 * ======================================================= */
.child-inline-price {
	width: 100%;
	line-height: 1.45;
	text-align: center;
}

.child-inline-price__main {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.2em;
	flex-wrap: wrap;
	color: #d71920;
}

.child-inline-price__main strong {
	font-size: 20px;
	line-height: 1;
	white-space: nowrap;
}

.child-inline-price__unit,
.child-inline-price__tax,
.child-inline-price__sub,
.child-inline-price__sub-value {
	white-space: nowrap;
}

.child-inline-price__tax--incl {
	display: none;
}

.child-inline-price__time {
	margin-left: 0.35em;
	white-space: nowrap;
	color: inherit;
}

.child-inline-price__sub {
	margin-top: 0.25em;
	color: inherit;
}

/* =========================================================
 * タブレット 768px〜991px
 * ======================================================= */
@media (min-width: 768px) and (max-width: 991px) {
	.wp-block-vk-blocks-button.is-short-button .vk_button_link {
		padding: 8px 20px !important;
		font-size: 1.1em !important;
	}

	.child-price-excl strong,
	.child-inline-price__main strong {
		font-size: 19px;
	}
}

/* =========================================================
 * スマートフォン 767px以下
 * ======================================================= */
@media (max-width: 767px) {
	.wp-block-vk-blocks-button.is-short-button .vk_button_link {
		padding: 8px 20px !important;
		font-size: 1.1em !important;
	}

	.child-tax-price {
		gap: 0.08em 0.12em;
	}

	.child-price-excl strong,
	.child-inline-price__main strong {
		font-size: 18px;
	}

	/* Gutenbergの「モバイルで積み重ねない」を上書きして料金表を縦積み */
	.child-fee-stack:not(.child-fee-stack--list) > .wp-block-columns,
	.child-fee-stack:not(.child-fee-stack--list) .wp-block-columns {
		display: block !important;
		width: 100% !important;
	}

	.child-fee-stack:not(.child-fee-stack--list) .wp-block-column {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		flex: 0 0 100% !important;
		flex-basis: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.child-inline-price__main {
		flex-direction: column;
		align-items: center;
		gap: 0.12em;
	}

	.child-inline-price__time {
		margin-left: 0;
	}
}

/* =========================================================
 * コース詳細ページ：スマホ料金表の横はみ出し防止
 *
 * DB上の各コース料金表は isStackedOnMobile:false の4列構成。
 * 先頭列の flex-basis:8em と料金文字の nowrap が重なると、
 * 狭い端末でページ全体の scrollWidth を広げるため、
 * コースページだけ列幅・改行・文字サイズを調整する。
 * ======================================================= */
@media (max-width: 600px) {
	body.page-id-10 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5074 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5110 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5114 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5120 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5126 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5133 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5277 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5653 .entry-body .wp-block-columns.is-not-stacked-on-mobile,
	body.page-id-5654 .entry-body .wp-block-columns.is-not-stacked-on-mobile {
		display: flex !important;
		flex-wrap: nowrap !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.page-id-10 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5074 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5110 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5114 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5120 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5126 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5133 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5277 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5653 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column,
	body.page-id-5654 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
		box-sizing: border-box;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		flex: 1 1 0 !important;
		padding-left: 3px !important;
		padding-right: 3px !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.page-id-10 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5074 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5110 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5114 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5120 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5126 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5133 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5277 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5653 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child,
	body.page-id-5654 .entry-body .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:first-child {
		flex: 0 0 5.6em !important;
		width: 5.6em !important;
		max-width: 5.6em !important;
	}

	/* 1セル内で金額・単位・税区分を縦に収める */
	body.page-id-10 .child-price-excl,
	body.page-id-5074 .child-price-excl,
	body.page-id-5110 .child-price-excl,
	body.page-id-5114 .child-price-excl,
	body.page-id-5120 .child-price-excl,
	body.page-id-5126 .child-price-excl,
	body.page-id-5133 .child-price-excl,
	body.page-id-5277 .child-price-excl,
	body.page-id-5653 .child-price-excl,
	body.page-id-5654 .child-price-excl {
		display: block;
		line-height: 1.15;
	}

	body.page-id-10 .child-price-excl strong,
	body.page-id-5074 .child-price-excl strong,
	body.page-id-5110 .child-price-excl strong,
	body.page-id-5114 .child-price-excl strong,
	body.page-id-5120 .child-price-excl strong,
	body.page-id-5126 .child-price-excl strong,
	body.page-id-5133 .child-price-excl strong,
	body.page-id-5277 .child-price-excl strong,
	body.page-id-5653 .child-price-excl strong,
	body.page-id-5654 .child-price-excl strong {
		display: block;
		font-size: 15px;
		white-space: nowrap;
	}

	body.page-id-10 .child-price-excl span,
	body.page-id-5074 .child-price-excl span,
	body.page-id-5110 .child-price-excl span,
	body.page-id-5114 .child-price-excl span,
	body.page-id-5120 .child-price-excl span,
	body.page-id-5126 .child-price-excl span,
	body.page-id-5133 .child-price-excl span,
	body.page-id-5277 .child-price-excl span,
	body.page-id-5653 .child-price-excl span,
	body.page-id-5654 .child-price-excl span,
	body.page-id-10 .child-price-incl,
	body.page-id-5074 .child-price-incl,
	body.page-id-5110 .child-price-incl,
	body.page-id-5114 .child-price-incl,
	body.page-id-5120 .child-price-incl,
	body.page-id-5126 .child-price-incl,
	body.page-id-5133 .child-price-incl,
	body.page-id-5277 .child-price-incl,
	body.page-id-5653 .child-price-incl,
	body.page-id-5654 .child-price-incl {
		display: block;
		font-size: 10px;
		line-height: 1.25;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	/* コース選択ボタンなど、100%幅＋paddingのはみ出し防止 */
	.entry-body .wp-block-vk-blocks-button,
	.entry-body .wp-block-vk-blocks-button .vk_button_link {
		box-sizing: border-box;
		max-width: 100%;
	}
}

/* =========================================================
 * コース料金一覧ページ：スマホ料金表（2.0.5）
 *
 * 4列は維持するが、料金文言を「金額／税抜・月／時間／税込金額」
 * に分解し、各セル内で必ず完結させる。グローバルCSSの影響を
 * 受けても隣列へ文字が侵入しないよう overflow と min-width を制御。
 * ======================================================= */
@media (max-width: 600px) {
	.child-fee-stack--list {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.child-fee-stack--list > .wp-block-columns,
	.child-fee-stack--list .wp-block-columns.is-not-stacked-on-mobile {
		display: grid !important;
		grid-template-columns: minmax(58px, 22%) repeat(3, minmax(0, 1fr));
		gap: 0 !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.child-fee-stack--list .wp-block-columns > .wp-block-column {
		box-sizing: border-box;
		min-width: 0 !important;
		width: auto !important;
		max-width: 100% !important;
		flex: none !important;
		padding: 0.45rem 0.1rem !important;
		overflow: hidden;
		text-align: center;
	}

	.child-fee-stack--list .wp-block-columns > .wp-block-column:first-child {
		width: auto !important;
		max-width: 100% !important;
		padding-left: 0.15rem !important;
		padding-right: 0.15rem !important;
	}

	.child-fee-stack--list .wp-block-column p,
	.child-fee-stack--list .wp-block-column strong,
	.child-fee-stack--list .text-nowrap {
		letter-spacing: 0 !important;
	}

	.child-fee-stack--list .wp-block-column > p,
	.child-fee-stack--list .wp-block-column .wp-block-group p {
		font-size: clamp(9px, 2.75vw, 11px) !important;
		line-height: 1.15 !important;
		margin: 0 !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.child-fee-stack--list .child-inline-price {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		line-height: 1.1;
		overflow: hidden;
		text-align: center;
	}

	.child-fee-stack--list .child-inline-price__main {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.1rem;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
	}

	.child-fee-stack--list .child-inline-price__amount {
		display: block;
		max-width: 100%;
		font-size: clamp(14px, 4.2vw, 17px) !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}

	.child-fee-stack--list .child-inline-price__unit,
	.child-fee-stack--list .child-inline-price__tax--excl {
		display: inline-block;
		max-width: 100%;
		font-size: clamp(8px, 2.35vw, 9.5px) !important;
		line-height: 1.05 !important;
		white-space: nowrap !important;
	}

	.child-fee-stack--list .child-inline-price__tax--excl {
		margin-top: -0.08rem;
	}

	.child-fee-stack--list .child-inline-price__time {
		display: block;
		max-width: 100%;
		margin: 0.12rem 0 0 !important;
		font-size: clamp(9px, 2.6vw, 10.5px) !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
	}

	.child-fee-stack--list .child-inline-price__sub {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.02rem;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		margin-top: 0.22rem;
		overflow: hidden;
		line-height: 1.05;
	}

	.child-fee-stack--list .child-inline-price__tax--incl {
		display: block;
		font-size: clamp(8px, 2.25vw, 9px) !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}

	.child-fee-stack--list .child-inline-price__sub-value {
		display: block;
		max-width: 100%;
		font-size: clamp(8.5px, 2.45vw, 10px) !important;
		line-height: 1.05 !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 359px) {
	.child-fee-stack--list > .wp-block-columns,
	.child-fee-stack--list .wp-block-columns.is-not-stacked-on-mobile {
		grid-template-columns: 54px repeat(3, minmax(0, 1fr));
	}

	.child-fee-stack--list .wp-block-columns > .wp-block-column {
		padding-left: 0.05rem !important;
		padding-right: 0.05rem !important;
	}
}

/* =========================================================
 * コース料金一覧ページ：全料金表の統一・CTA間隔修正（2.0.5）
 *
 * ピアノの料金表だけ child-fee-stack--list が付いており、
 * ドラム以降の料金表には同クラスがなかったため、JSで全料金表へ
 * uretano-fee-table を付与し、同一レイアウトへ統一する。
 * ======================================================= */
@media (max-width: 600px) {
	body.page-id-5868 .uretano-fee-table {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns,
	body.page-id-5868 .uretano-fee-table .wp-block-columns.is-not-stacked-on-mobile {
		display: grid !important;
		grid-template-columns: minmax(58px, 22%) repeat(3, minmax(0, 1fr));
		gap: 0 !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	body.page-id-5868 .uretano-fee-table .wp-block-columns > .wp-block-column {
		box-sizing: border-box;
		min-width: 0 !important;
		width: auto !important;
		max-width: 100% !important;
		flex: none !important;
		padding-left: 0.1rem !important;
		padding-right: 0.1rem !important;
		overflow: hidden;
		text-align: center;
	}

	body.page-id-5868 .uretano-fee-table .wp-block-columns > .wp-block-column:first-child {
		width: auto !important;
		max-width: 100% !important;
		padding-left: 0.1rem !important;
		padding-right: 0.1rem !important;
	}

	body.page-id-5868 .uretano-fee-table .wp-block-column > p {
		letter-spacing: 0 !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}
}

/* 400px以下：左列を少し狭め、STEP列へ幅を配分する */
@media (max-width: 400px) {
	body.page-id-5868 .uretano-fee-table > .wp-block-columns,
	body.page-id-5868 .uretano-fee-table .wp-block-columns.is-not-stacked-on-mobile {
		grid-template-columns: minmax(54px, 18.5%) repeat(3, minmax(0, 1fr));
	}

	body.page-id-5868 .uretano-fee-table .wp-block-columns > .wp-block-column:first-child {
		font-size: 12px !important;
	}

	body.page-id-5868 .uretano-fee-table .child-inline-price__amount {
		font-size: clamp(15px, 4.45vw, 17px) !important;
	}

	body.page-id-5868 .uretano-fee-table .child-inline-price__unit,
	body.page-id-5868 .uretano-fee-table .child-inline-price__tax--excl,
	body.page-id-5868 .uretano-fee-table .child-inline-price__time,
	body.page-id-5868 .uretano-fee-table .child-inline-price__sub-value {
		letter-spacing: 0 !important;
	}
}

/* 料金ページ下部CTA：150pxの縦間隔をスマホ用に縮小 */
@media (max-width: 767px) {
	body.page-id-5868 .uretano-fee-cta,
	body.page-id-5868 .vk_buttons_col[style*="gap:150px"] {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 24px !important;
	}

	body.page-id-5868 .uretano-fee-cta > .wp-block-vk-blocks-button,
	body.page-id-5868 .vk_buttons_col[style*="gap:150px"] > .wp-block-vk-blocks-button {
		width: min(100%, 240px) !important;
		max-width: 240px !important;
		margin: 0 !important;
	}

	body.page-id-5868 .uretano-fee-cta .vk_button_link,
	body.page-id-5868 .vk_buttons_col[style*="gap:150px"] .vk_button_link {
		box-sizing: border-box;
		width: 100% !important;
	}

	body.page-id-5868 .uretano-fee-cta-spacer-before .vk_block-margin-xl--margin-top,
	body.page-id-5868 .uretano-fee-cta-spacer-after .vk_block-margin-xl--margin-top {
		margin-top: 32px !important;
	}
}


/* =========================================================
 * 料金一覧：全コースの列幅を完全統一（2.0.6）
 *
 * 元データではピアノだけ料金表グループに独自クラスがあり、
 * 他コースは後付けクラスだったため、同じ画面幅でも左列の
 * 算出幅に差が出る場合があった。全表・上下2行とも同じCSS変数を
 * 使い、プラン／月額料金列とSTEP列の境界を完全に揃える。
 * ======================================================= */
@media (max-width: 400px) {
	body.page-id-5868 .uretano-fee-table {
		--uretano-fee-label-width: clamp(58px, 18vw, 64px);
		inline-size: 100% !important;
		max-inline-size: 100% !important;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns,
	body.page-id-5868 .uretano-fee-table .wp-block-columns.is-not-stacked-on-mobile {
		display: grid !important;
		grid-template-columns: var(--uretano-fee-label-width) repeat(3, minmax(0, 1fr)) !important;
		inline-size: 100% !important;
		max-inline-size: 100% !important;
		min-inline-size: 0 !important;
	}

	body.page-id-5868 .uretano-fee-table .wp-block-columns > .wp-block-column {
		min-inline-size: 0 !important;
		inline-size: auto !important;
		max-inline-size: none !important;
	}

	body.page-id-5868 .uretano-fee-table .wp-block-columns > .wp-block-column:first-child {
		inline-size: var(--uretano-fee-label-width) !important;
		min-inline-size: var(--uretano-fee-label-width) !important;
		max-inline-size: var(--uretano-fee-label-width) !important;
	}
}


/* =========================================================
 * 料金一覧：見出し行と料金行を「1つの共通グリッド」に統合（2.0.7）
 *
 * 2.0.6までは上下2本の wp-block-columns を別々のgridとしていたため、
 * Lightning/VK Blocksのインライン幅・境界線・端数丸めの影響で、
 * 上下の列境界に1〜2pxのズレが残る場合があった。
 * 行ラッパーを display:contents にして、8セルすべてを1つのgridへ参加させる。
 * これにより「プラン／月額料金」とSTEP1〜3の境界を完全に共通化する。
 * ======================================================= */
@media (max-width: 600px) {
	body.page-id-5868 .uretano-fee-table {
		--uretano-fee-label-width: clamp(64px, 17vw, 82px);
		display: grid !important;
		grid-template-columns: var(--uretano-fee-label-width) repeat(3, minmax(0, 1fr)) !important;
		grid-template-rows: auto auto;
		grid-auto-flow: row;
		gap: 0 !important;
		inline-size: 100% !important;
		max-inline-size: 100% !important;
		min-inline-size: 0 !important;
		overflow: hidden;
	}

	/* 上段・下段のラッパーを消し、全8セルを同じgridトラックに載せる */
	body.page-id-5868 .uretano-fee-table > .wp-block-columns,
	body.page-id-5868 .uretano-fee-table > .wp-block-columns.is-not-stacked-on-mobile {
		display: contents !important;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns > .wp-block-column {
		box-sizing: border-box !important;
		inline-size: auto !important;
		min-inline-size: 0 !important;
		max-inline-size: none !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: none !important;
		flex-basis: auto !important;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding-left: 0.08rem !important;
		padding-right: 0.08rem !important;
		overflow: hidden;
		text-align: center;
	}

	/* 見出し行・料金行の高さも全コースで統一 */
	body.page-id-5868 .uretano-fee-table > .wp-block-columns:first-child > .wp-block-column {
		min-block-size: 30px;
		padding-top: 0.35rem !important;
		padding-bottom: 0.35rem !important;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns:last-child > .wp-block-column {
		min-block-size: 96px;
		padding-top: 0.45rem !important;
		padding-bottom: 0.45rem !important;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns > .wp-block-column > * {
		box-sizing: border-box;
		max-inline-size: 100%;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns > .wp-block-column:first-child p {
		font-size: 11px !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
	}
}

/* 400px以下：左列を実際に狭め、3つのSTEP列へ幅を回す */
@media (max-width: 400px) {
	body.page-id-5868 .uretano-fee-table {
		--uretano-fee-label-width: clamp(52px, 15vw, 58px);
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns:last-child > .wp-block-column {
		min-block-size: 96px;
	}

	body.page-id-5868 .uretano-fee-table .child-inline-price__amount {
		font-size: clamp(15px, 4.25vw, 17px) !important;
	}
}

@media (max-width: 340px) {
	body.page-id-5868 .uretano-fee-table {
		--uretano-fee-label-width: 52px;
	}

	body.page-id-5868 .uretano-fee-table > .wp-block-columns:last-child > .wp-block-column {
		min-block-size: 100px;
	}
}
