@charset "UTF-8";

/*
 * 料金ページ（page-price.php）。
 *
 * メインビジュアル・FLOW の矢印・Q&A・CTA、
 * それに「活動が長引いても」の枠（p-glossary）は page-first.css を流用しているため、
 * functions.php で 'first' を extends に指定している。
 *
 * モバイルファースト。PC は 840px 以上。
 */

.p-price {
	--pr-tint: #fdf3ef;    /* 薄いピンクの背景 */
	--pr-line: #e8e1dc;    /* 表の区切り線 */
	--pr-gray: #f2f2f2;    /* 比べもの（一般的な相談所）の下じき */
	overflow-x: hidden;
}

/* --------------------------------------------------------------------------
   金額の共通の出し方（数字＋小さな「税込」＋単位）
   -------------------------------------------------------------------------- */
/*
 * 金額の並び（inc/price-data.php の kekkon_price_amount）。
 *
 * ご指示により「税込」は単位（円 / 円/月）の真上に載せる。
 *
 *             税込
 *   208,000   円
 *
 * 数字と単位の下端がそろうよう、縦に積んだほうは下ぞろえにしている。
 */
.p-price__amount {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	white-space: nowrap;
}

.p-price__amount-value {
	font-weight: 700;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

/* 「税込」と単位を縦に積む入れ物 */
.p-price__amount-suffix {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.1;
}

/* 「税込」は単位の真上に小さく */
.p-price__amount-tax {
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--color-text-body);
}

.p-price__amount-unit {
	font-weight: 700;
	line-height: 1.1;
}

/* --------------------------------------------------------------------------
   メインビジュアル
   -------------------------------------------------------------------------- */
.p-price__mv .p-first__mv-title {
	margin-top: 0;
}

/* 丸3つ（真円） */
.p-price__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__badge {
	display: grid;
	place-content: center;
	width: 78px;
	height: 78px;
	padding: 0 4px;
	text-align: center;
	border: 1px solid var(--color-primary);
	background-color: #fff;
	/* 真円 */
	border-radius: 50%;
}

.p-price__badge-label {
	display: block;
	font-size: 9px;
	line-height: 1.4;
	color: var(--color-primary);
}

.p-price__badge-value {
	display: block;
	margin-top: 2px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-primary);
}

.p-price__badge-value small {
	font-size: 10px;
}

/* --------------------------------------------------------------------------
   1. ご入会からご成婚までにかかる料金
   -------------------------------------------------------------------------- */
.p-price__summary {
	padding: 48px 0 56px;
	background-color: var(--color-bg);
}

.p-price__summary .c-lead {
	margin-top: 14px;
	text-align: center;
}

/* オレンジの枠。上に帯 */
.p-price__box {
	margin-top: 28px;
	overflow: hidden;
	border: 2px solid var(--color-primary);
	border-radius: 12px;
	background-color: white;
}

.p-price__box-title {
	margin: 0;
	padding: 12px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	background-color: var(--color-primary);
}

.p-price__box-body {
	padding: 20px 16px 24px;
}

/* 内訳の3つ。SP では縦に並ぶ（ご指示） */
.p-price__items {
	display: grid;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-price__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 64px;
	padding: 10px 14px;
	border: 1px solid var(--color-primary-light);
	border-radius: 8px;
}

/* 枠の下にの小さな三角（合計へ向かう印） */
.p-price__item::after {
	position: absolute;
	bottom: -9px;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -8px;
	border-top: 9px solid var(--color-primary-light);
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	content: "";
}

.p-price__item-label {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.p-price__amount--item .p-price__amount-value {
	font-size: 26px;
}

.p-price__amount--item .p-price__amount-unit {
	font-size: 16px;
}

/* 合計 */
.p-price__total {
	margin: 24px 0 0;
	text-align: center;
}

.p-price__amount--total .p-price__amount-value {
	font-size: 44px;
	color: var(--color-primary);
}

.p-price__amount--total .p-price__amount-unit {
	font-size: 26px;
}

/* --- 月会費・成婚料 --- */
.p-price__others {
	display: grid;
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__other {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 16px 12px;
	background-color: var(--pr-tint);
	border-radius: 8px;
}

.p-price__other-label {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.p-price__amount--other .p-price__amount-value {
	font-size: 24px;
}

.p-price__amount--other .p-price__amount-unit {
	font-size: 16px;
}

.p-price__notes {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	font-size: 11px;
	line-height: 1.8;
	color: var(--color-text-muted);
	text-align: center;
}

/* --------------------------------------------------------------------------
   2. 費用発生のタイミング
   -------------------------------------------------------------------------- */
.p-price__timing {
	padding: 48px 0 56px;
	background-color: var(--pr-tint);
}

/*
 * ステップの間の矢印（page-first.css の .p-flow__step の擬似要素）を、
 * ご指示により PC・SP とも 50px 下げる。
 *
 * SP … 上から下へ並ぶので、そのまま 50px ずらす。
 * PC … アイコンの中央に絶対配置しているので、その位置に 50px 足す
 *      （PC の指定は下のほうの @media にある）。
 */
.p-price__timings .p-flow__step:not(:last-child)::before,
.p-price__timings .p-flow__step:not(:last-child)::after {
	position: relative;
	top: 50px;
}

/* アイコンは白い丸の中に入れる */
.p-price__timing-icon {
	display: grid;
	place-items: center;
	width: 188px;
	height: 188px;
	margin: 0 auto;
}

.p-price__timing-icon .img-slot--empty,
.p-price__timing-icon img {
	width: 72%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.p-price__timing-label {
	margin: -10px 0 0;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}

.p-price__timing-amount {
	margin: 6px 0 0;
	text-align: center;
}

.p-price__amount--timing .p-price__amount-value {
	font-size: 30px;
}

.p-price__amount--timing .p-price__amount-unit {
	font-size: 18px;
}

/* 内訳の表 */
.p-price__rows {
	/* p-flow__step が中央ぞろえの flex のため、幅いっぱいに広げる */
	align-self: stretch;
	width: 100%;
	margin: 16px 0 0;
}

.p-price__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 12px;
	font-size: 13px;
	line-height: 1.5;
}

/* 1行おきに薄く色を敷く */
.p-price__row{
	background-color: rgb(255, 255, 255);
	border-radius: 5px;
	margin-top: 5px;
}

.p-price__row-label {
	margin: 0;
	color: var(--color-text-body);
}

.p-price__row-value {
	margin: 0;
	font-weight: 700;
	white-space: nowrap;
}

/* 「無料」はオレンジ */
.p-price__row-value.is-free {
	color: var(--color-primary);
}

.p-price__timing-note {
	align-self: stretch;
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--color-text-body);
	text-align: left;
}

/* --------------------------------------------------------------------------
   3. まるっと伴走支援
   -------------------------------------------------------------------------- */
.p-price__support {
	padding: 48px 0 56px;
	background-color: var(--color-bg);
}

.p-price__support .c-lead {
	margin-top: 16px;
	text-align: center;
}

.p-price__support-note {
	margin: 10px 0 0;
	font-size: 11px;
	line-height: 1.8;
	color: var(--color-text-muted);
	text-align: center;
}

.p-price__support-box {
	margin-top: 28px;
	padding: 24px 16px 28px;
	background-color: var(--pr-tint);
	border-radius: 12px;
}

.p-price__support-title {
	margin: 0;
	font-family: var(--font-mincho);
	/* 明朝体は太字にしない */
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
}

.p-price__support-lead {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.8;
	color: var(--color-text-body);
	text-align: center;
}

.p-price__support-list {
	display: grid;
	gap: 14px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__support-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	padding: 16px 16px 18px;
	background-color: var(--color-bg);
	border-radius: 8px;
}

/* 丸いアイコン（真円） */
.p-price__support-icon {
	display: grid;
	width: 56px;
	height: 56px;
}

.p-price__support-icon .img-slot--empty,
.p-price__support-icon img {
	width: 62%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.p-price__support-item-title {
	margin: 0;
	padding-bottom: 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 1px solid var(--color-primary-light);
}

.p-price__support-text {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--color-text-body);
}

/* 別途必要になることがある費用 */
.p-price__support-extra {
	margin-top: 20px;
	padding: 14px 16px;
	background-color: var(--color-bg);
	border-radius: 8px;
}

.p-price__support-extra-title {
	position: relative;
	margin: 0;
	padding-left: 22px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	color: #6C635F;
}

/* 先頭の四角いチェック印 */
.p-price__support-extra-title::before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 13px;
	height: 13px;
	border: 1px solid #6C635F;
	border-radius: 2px;
	content: "";
}

.p-price__support-extra-text {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.9;
	color: #6C635F;
}
.p-price__support-extra-title {
	padding-bottom: 10px;
	border-bottom: 1px solid #6C635F;
}
/* --------------------------------------------------------------------------
   4. 活動が長引いても、サポートは受け放題。
   （枠は page-first.css の .p-glossary を流用）
   -------------------------------------------------------------------------- */
.p-price__unlimited {
	padding: 48px 0 56px;
	background-color: var(--pr-tint);
}

/* 用語辞典と違い、下向きの吹き出しは出さない */
.p-price__unlimited-box {
	background-color: var(--color-bg);
}

/* 所長の写真。下に名前の札を出す */
.p-price__avatar {
	position: relative;
	padding-bottom: 14px;
}

.p-price__avatar-name {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	min-width: 104px;
	padding: 3px 10px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--color-text);
	text-align: center;
	white-space: nowrap;
	background-color: var(--color-bg);
	border: 1px solid var(--color-text-body);
	border-radius: 999px;
	transform: translateX(-50%);
}

.p-price__unlimited-title {
	margin: 32px 0 0;
	font-family: var(--font-mincho);
	/* 明朝体は太字にしない */
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
}

.p-price__unlimited-list {
	display: grid;
	gap: 14px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__unlimited-item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	padding: 16px;
	background-color: var(--color-bg);
	border: 1px solid var(--pr-line);
	border-radius: 8px;
}

/* 丸いアイコン（真円） */
.p-price__unlimited-icon {
	display: grid;
	width: 72px;
	height: 72px;
}

.p-price__unlimited-icon .img-slot--empty,
.p-price__unlimited-icon img {
	width: 62%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.p-price__unlimited-item-title {
	margin: 0;
	padding-bottom: 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 1px solid var(--color-primary-light);
}

.p-price__unlimited-text {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--color-text-body);
}

.p-price__unlimited-text strong {
	font-weight: 700;
	color: var(--color-text);
}

.p-price__unlimited-note {
	margin: 6px 0 0;
	font-size: 11px;
	line-height: 1.7;
	color: var(--color-text-muted);
}

.p-glossary__head{
	max-width: 700px;
	margin: auto;
}

.p-glossary__title em {
	font-style: normal;
	color: var(--color-primary);
}

.p-price__compare{
	max-width: 950px;
	margin: 60px auto 0;
}
/* --------------------------------------------------------------------------
   5. 料金モデルケース
   -------------------------------------------------------------------------- */
.p-price__cases {
	padding: 48px 0 56px;
	background-color: var(--color-bg);
}

.p-price__case-list {
	display: grid;
	gap: 20px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__case {
	display: flex;
	flex-direction: column;
	padding: 22px 18px 24px;
	background-color: var(--color-bg);
	border: 1px solid var(--pr-line);
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(26, 19, 17, .05);
}

.p-price__case-head {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
}

/* 丸い写真（真円） */
.p-price__case-photo {
	width: 74px;
	line-height: 0;
}

.p-price__case-photo .img-slot--empty,
.p-price__case-photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.p-price__case-person {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.p-price__case-tags {
	display: grid;
	justify-items: start;
	gap: 5px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__case-tag {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

/* オレンジの下じき（左右の端は真円） */
.p-price__case-tag-label {
	display: inline-block;
	padding: 3px 9px;
	font-size: 10px;
	color: #fff;
	background-color: var(--color-primary);
	border-radius: 999px;
}

.p-price__case-lead {
	margin: 16px 0 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-price__case-lead em {
	font-size: 1.3em;
	font-style: normal;
}

.p-price__case-text {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.9;
	color: var(--color-text-body);
}

.p-price__case-rows {
	margin-top: 18px;
}

.p-price__case-rows .p-price__row:nth-child(odd) {
	background-color: var(--pr-tint);
}

.p-price__case-rows .p-price__row-label em {
	font-style: normal;
	color: var(--color-primary);
	/* 「6ヶ／月」のように期間の途中で折り返さない */
	white-space: nowrap;
}

.p-price__case-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	/* 文章の長さが違っても下端をそろえる */
	margin: auto 0 0;
	padding: 16px 12px 0;
}

.p-price__case-total-label {
	font-size: 14px;
	font-weight: 700;
}

.p-price__amount--case .p-price__amount-value {
	font-size: 28px;
	color: var(--color-primary);
}

.p-price__amount--case .p-price__amount-unit {
	font-size: 17px;
}

.p-price__case-note {
	margin: 20px 0 0;
	font-size: 11px;
	line-height: 1.8;
	color: var(--color-text-muted);
}

/* --------------------------------------------------------------------------
   6. 料金に関する補足・注意事項
   -------------------------------------------------------------------------- */
.p-price__terms {
	padding: 8px 0 56px;
	background-color: #F7F7F7;
}

.p-price__terms-box {
	padding: 28px 18px 30px;
	background-color: #ffffff;
	border-radius: 12px;
}

.p-price__terms-title {
	margin: 0;
	font-family: var(--font-mincho);
	/* 明朝体は太字にしない */
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
}

.p-price__terms-grid {
	display: grid;
	gap: 28px;
	margin-top: 26px;
}

/* 見出しの先頭に四角いチェック印 */
.p-price__terms-subtitle {
	position: relative;
	margin: 0;
	padding: 0 0 10px 24px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 1px solid var(--pr-line);
}

.p-price__terms-subtitle::before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 14px;
	height: 14px;
	border: 1px solid var(--color-text-body);
	border-radius: 2px;
	content: "";
}

.p-price__terms-list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.p-price__terms-list li {
	position: relative;
	padding: 4px 0 4px 12px;
	font-size: 12px;
	line-height: 1.9;
	color: var(--color-text-body);
}

.p-price__terms-list li::before {
	position: absolute;
	top: 4px;
	left: 0;
	content: "・";
}

.p-price__terms-block-title {
	position: relative;
	margin: 16px 0 0;
	padding-left: 12px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.p-price__terms-block-title::before {
	position: absolute;
	left: 0;
	content: "・";
}

.p-price__terms-block-text {
	margin: 4px 0 0;
	font-size: 12px;
	line-height: 1.9;
	color: var(--color-text-body);
}

.p-price__terms-rules {
	margin-top: 28px;
}

.p-price__terms-footer {
	margin: 22px 0 0;
	font-size: 11px;
	line-height: 1.9;
	color: var(--color-text-muted);
}

.p-first__qa{
	background-color: #F7F7F7;
}
/* ==========================================================================
   PC（840px 以上）
   ========================================================================== */
@media (min-width: 840px) {

	/* --- メインビジュアル --- */
	.p-price__badges {
		gap: 14px;
		margin-top: 34px;
	}

	/* ご指示：PC のときだけ 1つあたり縦横 160px */
	.p-price__badge {
		width: 160px;
		height: 160px;
	}

	.p-price__badge-label {
		font-size: 12px;
	}

	.p-price__badge-value {
		margin-top: 4px;
		font-size: 22px;
	}

	.p-price__badge-value small {
		font-size: 14px;
	}

	/* --- 1. 料金 --- */
	.p-price__summary {
		padding: 90px 0 100px;
	}

	.p-price__summary .l-section {
		max-width: 1210px;
	}

	.p-price__box {
		margin-top: 44px;
	}

	.p-price__box-title {
		padding: 16px;
		font-size: 19px;
	}

	.p-price__box-body {
		padding: 30px 28px 34px;
	}

	/* PC は横3つ */
	.p-price__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 26px;
	}

	.p-price__item {
		min-height: 88px;
	}

	.p-price__item-label {
		font-size: 16px;
	}

	.p-price__amount--item .p-price__amount-value {
		font-size: 23px;
	}

	.p-price__amount--item .p-price__amount-unit {
		font-size: 19px;
	}

	.p-price__total {
		margin-top: 30px;
	}

	.p-price__amount--total .p-price__amount-value {
		font-size: 64px;
	}

	.p-price__amount--total .p-price__amount-unit {
		font-size: 37px;
	}

	.p-price__amount--total .p-price__amount-tax {
		font-size: 14px;
	}

	.p-price__others {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		margin-top: 22px;
	}

	.p-price__other {
		padding: 22px 16px;
	}

	.p-price__other-label {
		font-size: 16px;
	}

	.p-price__amount--other .p-price__amount-value {
		font-size: 20px;
	}

	.p-price__amount--other .p-price__amount-unit {
		font-size: 19px;
	}

	.p-price__notes {
		margin-top: 26px;
		font-size: 12px;
	}

	/* --- 2. 費用発生のタイミング --- */

	.p-price__timing-icon {
		/* 画面が狭いときは列の幅まで縮む（840〜1199px 対策） */
		width: min(280px, 100%);
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.p-price__timing {
		padding: 80px 0 90px;
	}

	.p-price__timings {
		/* minmax(0, …) にして、中身より列を狭くできるようにする */
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 48px;
		margin-top: 44px;
	}

	.p-price__timing-label {
		font-size: 16px;
		margin: -10px 0 0;
	}

	.p-price__amount--timing .p-price__amount-value {
		font-size: 30px;
	}

	.p-price__amount--timing .p-price__amount-unit {
		font-size: 19px;
	}

	.p-price__row {
		font-size: 16px;
	}

	/* --- 3. まるっと伴走支援 --- */
	.p-price__support-text {
		font-size: 16px;
		line-height: 1.6;
	}

	.p-price__support .c-lead {
		font-size: 16px;
	}

	.p-price__support {
		padding: 90px 0 100px;
	}

	.p-price__support .l-section {
		max-width: 1130px;
	}

	.p-price__support-box {
		margin-top: 44px;
		padding: 36px 40px 40px;
	}

	.p-price__support-title {
		font-size: 24px;
	}

	.p-price__support-lead {
		font-size: 16px;
	}

	.p-price__support-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		margin-top: 28px;
	}

	.p-price__support-item {
		grid-template-columns: 100px minmax(0, 1fr);
		gap: 18px;
		padding: 20px 22px 22px;
	}

	.p-price__support-icon {
		width: 150px;
	}

	.p-price__support-item-title {
		font-size: 16px;
	}

	.p-price__support-extra {
		background-color: #FFFDFC;
		padding: 20px;
	}
	
	.p-price__support-extra-title {
		font-size: 16px;
	}
	.p-price__compare{
		max-width: 950px;
		margin: 60px auto 0;
	}
	/* 先頭の四角いチェック印 */
	.p-price__support-extra-title::before {
		top: 4px;
		width: 18px;
		height: 18px;
	}
	
	.p-price__support-extra-text {
		font-size: 14px;
	}

	/* --- 4. 活動が長引いても --- */
	.p-price__unlimited {
		padding: 90px 0 100px;
	}

	.p-price__unlimited .l-section {
		max-width: 1130px;
	}

	.p-price__unlimited-title {
		margin-top: 44px;
		font-size: 24px;
	}

	.p-price__unlimited-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		margin-top: 30px;
	}

	.p-price__unlimited-item {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 18px;
		padding: 20px 22px 22px;
	}

	.p-price__unlimited-icon {
		width: 150px;
	}

	.p-price__unlimited-item-title {
		font-size: 16px;
	}

	.p-price__unlimited-text {
		font-size: 16px;
	}

	

	/* --- 5. 料金モデルケース --- */
	.p-price__cases {
		padding: 90px 0 100px;
	}

	.p-price__cases .l-section {
		max-width: 1210px;
	}

	.p-price__case-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
		margin-top: 48px;
	}

	.p-price__case {
		padding: 26px 24px 28px;
	}

	.p-price__case-head {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 16px;
	}

	.p-price__case-photo {
		width: 96px;
	}

	.p-price__case-person {
		font-size: 16px;
	}

	.p-price__case-lead {
		font-size: 16px;
	}

	.p-price__case-lead em {
		font-size: 1.35em;
	}

	.p-price__case-text {
		font-size: 14px;
	}

	.p-price__amount--case .p-price__amount-value {
		font-size: 23px;
	}

	.p-price__case-note {
		margin-top: 26px;
		font-size: 12px;
	}

	/* --- 6. 補足・注意事項 --- */
	.p-price__terms {
		padding: 0px 0 80px;
	}

	.p-price__terms .l-section {
		max-width: 1130px;
	}

	.p-price__terms-box {
		padding: 44px 56px 48px;
	}

	.p-price__terms-title {
		font-size: 24px;
	}

	.p-price__terms-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px;
		margin-top: 36px;
	}

	.p-price__terms-list li {
		font-size: 14px;
		padding: 0px 0 0px 12px;
	}

	.p-price__terms-block-text {
		font-size: 14px;
	}
}

/* --------------------------------------------------------------------------
   「初期費用」の「初」のボタン
   （押すと地方限定プランのページへ飛ぶ）
   -------------------------------------------------------------------------- */
/* ご指示により下線は付けない（ボタンに見えないようにする） */
.p-price__box-link {
	color: inherit;
	text-decoration: none;
	transition: opacity .2s linear;
}

.p-price__box-link:hover {
	opacity: .75;
}

.p-price__box-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* ==========================================================================
   PC（840px 以上）
   ========================================================================== */

@media (min-width: 840px) {

	/*
	 * 費用発生のタイミングの矢印。
	 * page-first.css では 840px 以上でアイコンの中央に絶対配置しているので、
	 * ご指示どおり、その位置から 50px 下げる。
	 */
	.p-price__timings .p-flow__step:not(:last-child)::before,
	.p-price__timings .p-flow__step:not(:last-child)::after {
		position: absolute;
		top: calc(var(--flow-icon-size) / 2 + 50px);
	}

}
