@charset "utf-8";
/* ==========================================================
 プランの価格表示（画像 → 文字）
 使っているページ：/concept/（フルオーダーの自由設計）、/hiraya/・/2ndfloor/（ページ上部のプラン帯）

 ・価格・坪数・間取りは各ページの HTML の文字を直すだけで変わります（画像を作り直す必要はありません）
 ・文字の大きさは「枠の幅」に合わせて伸び縮みします（cqi = 枠の幅の1%）。
   画像と同じように、どの画面幅でも同じ見た目の比率になります
========================================================== */

.pgp-bar,
.pgp-card {
	--pgp-bg: #e5ebef;      /* 背景（薄いグレー） */
	--pgp-navy: #2f417f;    /* プラン名・坪数 */
	--pgp-dark: #2b2b2b;    /* 坪数・間取りの数字 */
	--pgp-orange: #d25e3b;  /* 価格 */
	--pgp-gray: #8a8f93;    /* 税込の小さい文字 */
	--pgp-line: #989c9e;    /* 区切り線 */
	container-type: inline-size;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.04em;
	line-height: 1.2;
}
.pgp-bar *,
.pgp-card * {
	line-height: inherit;
	letter-spacing: inherit;
}
.pgp-num {
	font-family: sofia-pro, 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
}

/* ----------------------------------------------------------
 1. /hiraya/・/2ndfloor/ のプラン帯
    「平屋プラン｜25坪｜3LDK〜｜1,610万円〜（税込1,771万円〜）」
---------------------------------------------------------- */
.pgp-bar__in {
	display: grid;
	grid-template-columns: 29% 12% 12% 1fr;
	align-items: center;
	background-color: var(--pgp-bg);
	padding: 0;
	color: var(--pgp-dark);
}
.pgp-bar__name {
	color: var(--pgp-navy);
	font-weight: 500;
	font-size: clamp(16px, 2.7cqi, 40px);
	text-align: center;
	white-space: nowrap;
	padding: 1em 0.5em;
}
.pgp-bar__spec {
	text-align: center;
	border-left: 1px solid var(--pgp-line);
	padding: 0.8em 0.3em;
	font-weight: 500;
	font-size: clamp(11px, 1.25cqi, 18px);
}
.pgp-bar__spec .pgp-num {
	display: block;
	font-size: clamp(26px, 3.9cqi, 58px);
	color: var(--pgp-dark);
	margin-bottom: 0.1em;
}
.pgp-bar__price {
	border-left: 1px solid var(--pgp-line);
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0.5em 1em 0.5em 2.2em;
	color: var(--pgp-orange);
	font-weight: 500;
	font-size: clamp(13px, 1.6cqi, 24px);
}
.pgp-bar__price .pgp-num {
	font-size: clamp(34px, 4.4cqi, 66px);
	margin-right: 0.15em;
	vertical-align: -0.04em;
}
.pgp-bar__tax {
	white-space: nowrap;
	margin-left: 0.4em;
}
.pgp-bar__note {
	display: block;
	color: var(--pgp-dark);
	font-size: clamp(10px, 0.95cqi, 14px);
	margin-top: 0.6em;
	letter-spacing: 0.05em;
}

/* 枠が狭い時（スマホ）は2段にする（.pgp-bar の幅で切り替えるので、並べ方は中の .pgp-bar__in に書く）：上「プラン名｜坪｜間取り」、下「価格」 */
@container (max-width: 760px) {
	.pgp-bar__in {
		grid-template-columns: 52% 24% 24%;
		padding-bottom: 5cqi;
	}
	.pgp-bar__name {
		font-size: 6cqi;
		padding: 0 0.3em;
	}
	.pgp-bar__spec {
		font-size: 2.7cqi;
		padding: 4cqi 0.3em 3cqi;
	}
	.pgp-bar__spec .pgp-num {
		font-size: 9.6cqi;
	}
	.pgp-bar__price {
		grid-column: 1 / -1;
		border-left: none;
		padding: 2cqi 5cqi 0;
		font-size: 4cqi;
	}
	.pgp-bar__price .pgp-num {
		font-size: 12.5cqi;
	}
	.pgp-bar__note {
		font-size: 2.6cqi;
	}
}

/* ----------------------------------------------------------
 2. /concept/ の「フルオーダーの自由設計」の価格表
    上：プラン名・代表の坪数・写真・本体価格／下：坪数ごとの価格（2列）
---------------------------------------------------------- */
.pgp-card {
	margin-top: 4em;
	color: var(--pgp-dark);
}
.pgp-card__head {
	display: grid;
	grid-template-columns: 1fr 26% 41%;
	grid-template-areas:
		"name  tsubo photo"
		"main  main  photo";
	background: linear-gradient(180deg, var(--pgp-bg) 0%, var(--pgp-bg) 55%, #f4f6f9 100%);
}
.pgp-card__name {
	grid-area: name;
	align-self: center;
	color: var(--pgp-navy);
	font-weight: 500;
	font-size: 4.4cqi;
	text-align: center;
	white-space: nowrap;
	padding: 3cqi 0.3em;
}
.pgp-card__tsubo {
	grid-area: tsubo;
	align-self: center;
	text-align: center;
	border-left: 1px solid #c9cfd4;
	padding: 1.5cqi 0;
	font-weight: 500;
	font-size: 2cqi;
}
.pgp-card__tsubo .pgp-num {
	display: block;
	color: var(--pgp-navy);
	font-size: 6.5cqi;
	margin-bottom: 0.1em;
}
.pgp-card__photo {
	grid-area: photo;
	position: relative;
	overflow: hidden;
}
.pgp-card__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pgp-card__main {
	grid-area: main;
	padding: 1cqi 2cqi 3cqi;
	text-align: center;
}

/* 価格のかたまり：「本体価格｜1,567｜万円(税別)」と、上に小さく税込 */
.pgp-price {
	display: inline-grid;
	grid-template-columns: auto auto auto;
	grid-template-areas:
		".     tax   tax"
		"label num   unit";
	align-items: center;
	color: var(--pgp-orange);
	font-weight: 700;
	text-align: left;
}
.pgp-price__label {
	grid-area: label;
	font-size: 2cqi;
	letter-spacing: 0.2em;
	line-height: 1.25;
	margin-right: 0.6em;
}
.pgp-price__num {
	grid-area: num;
	font-size: 7cqi;
}
.pgp-price__unit {
	grid-area: unit;
	font-size: 1.75cqi;
	line-height: 1.25;
	margin-left: 0.3em;
	align-self: end;
	padding-bottom: 0.1em;
}
.pgp-price__tax {
	grid-area: tax;
	justify-self: end;
	color: var(--pgp-gray);
	font-weight: 500;
	font-size: max(9px, 1.1cqi);
	margin-bottom: 0.2em;
}
.pgp-price__tax .pgp-num {
	font-size: max(11px, 1.5cqi);
	font-weight: 600;
	margin-right: 0.15em;
}
/* 上の大きい価格 */
.pgp-card__main .pgp-price__label {
	font-size: 3.2cqi;
}
.pgp-card__main .pgp-price__num {
	font-size: 13cqi;
}
.pgp-card__main .pgp-price__unit {
	font-size: 2.9cqi;
	padding-bottom: 0.5em;
}
.pgp-card__main .pgp-price__tax {
	font-size: max(10px, 1.4cqi);
}
.pgp-card__main .pgp-price__tax .pgp-num {
	font-size: max(12px, 1.9cqi);
}

/* 坪数ごとの価格（2列） */
.pgp-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: repeat(var(--rows, 4), auto);
	grid-auto-flow: column;   /* 上から順に左の列 → 右の列 */
	gap: 0.4cqi;
	background-color: #d5dbe5;
	border: 0.4cqi solid #d5dbe5;
}
.pgp-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #fff;
	padding: 1.2cqi 2.4cqi 1.2cqi 2.6cqi;
}
.pgp-list__tsubo {
	color: var(--pgp-dark);
	font-weight: 700;
	font-size: 2cqi;
	white-space: nowrap;
}
.pgp-list__tsubo .pgp-num {
	color: var(--pgp-navy);
	font-size: 4.6cqi;
	margin-right: 0.35em;
}

/* 枠が狭い時（スマホ）は、写真を上に、坪数ごとの価格を1列にして文字を大きくする */
@container (max-width: 600px) {
	.pgp-card__head {
		grid-template-columns: 1fr 34%;
		grid-template-areas:
			"photo photo"
			"name  tsubo"
			"main  main";
	}
	.pgp-card__photo {
		aspect-ratio: 611 / 400;
	}
	.pgp-card__name {
		font-size: 7cqi;
		padding: 4cqi 0.3em;
	}
	.pgp-card__tsubo {
		font-size: 3.2cqi;
	}
	.pgp-card__tsubo .pgp-num {
		font-size: 10cqi;
	}
	.pgp-card__main {
		padding: 1cqi 3cqi 5cqi;
	}
	.pgp-card__main .pgp-price__label {
		font-size: 4.6cqi;
	}
	.pgp-card__main .pgp-price__num {
		font-size: 19cqi;
	}
	.pgp-card__main .pgp-price__unit {
		font-size: 4.2cqi;
	}
	.pgp-card__main .pgp-price__tax {
		font-size: 2.8cqi;
	}
	.pgp-card__main .pgp-price__tax .pgp-num {
		font-size: 3.6cqi;
	}
	.pgp-list {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		grid-auto-flow: row;
		gap: 0.8cqi;
		border-width: 0.8cqi;
	}
	.pgp-list li {
		padding: 2.4cqi 4cqi 2.4cqi 5cqi;
	}
	.pgp-list__tsubo {
		font-size: 4cqi;
	}
	.pgp-list__tsubo .pgp-num {
		font-size: 9cqi;
	}
	.pgp-list .pgp-price__label {
		font-size: 3.8cqi;
	}
	.pgp-list .pgp-price__num {
		font-size: 13cqi;
	}
	.pgp-list .pgp-price__unit {
		font-size: 3.4cqi;
	}
	.pgp-list .pgp-price__tax {
		font-size: 3cqi;
	}
	.pgp-list .pgp-price__tax .pgp-num {
		font-size: 3.8cqi;
	}
}

/* 2つ目の価格表との間 */
.pgp-card + .pgp-card {
	margin-top: 5em;
}

/* ----------------------------------------------------------
 3. /hiraya/・/2ndfloor/ のプラン詳細：月々の試算条件の注記
---------------------------------------------------------- */
.top_plan_h_p_kome {
	display: inline-block;
	font-size: 1.4em;
	color: #5c5c5c;
	margin: 2px 0 8px;
	letter-spacing: 0.05em;
	line-height: 1.5;
}
