/* ==========================================================================
   ペガサスグループ（pegasus-kaisyu）
   方針：派手に・でも安っぽくしない。
   - 信頼＝ネイビー、勢い＝イエロー、安さ＝レッド の3色で押し切る
   - 太いフチ＋ずらした影（ステッカー調）と集中線で「チラシの熱量」を出す
   - クラスは全部 pg- で始める（WPの body クラス page / home 等と衝突させない）
   - モバイルファースト。ブレークポイント 768px / 1024px（ナビは1180px）
   ========================================================================== */

:root {
	--pg-navy: #0b1f5c;
	--pg-navy-2: #16328a;
	--pg-navy-deep: #06123a;
	--pg-yellow: #ffe000;
	--pg-yellow-soft: #fff6b3;
	--pg-red: #ff2a1f;
	--pg-red-deep: #cf0d14;
	--pg-orange: #ff7a00;
	--pg-line: #06c755;
	--pg-ink: #12151d;
	--pg-sub: #4a5270;
	--pg-paper: #fffcef;
	--pg-sky: #eef3ff;
	--pg-white: #fff;
	--pg-border: 3px solid var(--pg-navy-deep);
	--pg-shadow: 6px 6px 0 var(--pg-navy-deep);
	--pg-shadow-sm: 4px 4px 0 var(--pg-navy-deep);
	--pg-radius: 16px;
	--pg-radius-sm: 10px;
	--pg-font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", Meiryo, sans-serif; /* ★本文に Noto Sans JP を入れない（900だけ読み込むので本文まで極太になる） */
	--pg-font-display: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
	--pg-font-num: "Barlow Condensed", "Arial Narrow", "Noto Sans JP", sans-serif;
	--pg-gutter: 16px;
	--pg-wrap: 1180px;
	--pg-sec-y: 72px;
	--pg-hd-h: 64px;
}
@media (min-width: 768px) {
	:root { --pg-gutter: 28px; --pg-sec-y: 96px; --pg-hd-h: 76px; }
}
@media (min-width: 1024px) {
	:root { --pg-sec-y: 120px; --pg-hd-h: 84px; }
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--pg-hd-h) + 12px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.pg-body {
	margin: 0;
	background: var(--pg-white);
	color: var(--pg-ink);
	font-family: var(--pg-font);
	font-size: 16px;
	font-weight: 500; /* Windowsの游ゴシックが細く薄く見えるのを防ぐ */
	line-height: 1.85;
	letter-spacing: .02em;
	overflow-x: clip;
	padding-bottom: 68px; /* SPの固定バー */
}
@media (min-width: 1024px) { body.pg-body { padding-bottom: 0; } }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.35; text-wrap: balance; overflow-wrap: anywhere; }
@supports (word-break: auto-phrase) { h1, h2, h3 { word-break: auto-phrase; } }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
table { border-collapse: collapse; }
.pg-ico { width: 1em; height: 1em; flex: none; vertical-align: -.14em; }
.pg-num { font-family: var(--pg-font-num); font-weight: 800; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.pg-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pg-pc { display: none; }
@media (min-width: 768px) { .pg-pc { display: inline; } }
.pg-skip { position: absolute; left: -9999px; top: 0; z-index: 999; background: var(--pg-yellow); padding: 8px 14px; font-weight: 700; }
.pg-skip:focus { left: 8px; top: 8px; }
:focus-visible { outline: 3px solid var(--pg-orange); outline-offset: 3px; }

.pg-wrap { width: 100%; max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 0 auto; padding-inline: var(--pg-gutter); position: relative; }
.pg-wrap--narrow { max-width: calc(880px + var(--pg-gutter) * 2); }
.pg-sec { padding-block: var(--pg-sec-y); position: relative; overflow: hidden; }

/* 工事現場のテープ（区切り） */
.pg-tape {
	height: 14px;
	background: repeating-linear-gradient(-45deg, var(--pg-yellow) 0 18px, var(--pg-navy-deep) 18px 36px);
}

/* ---------- 見出し ---------- */
.pg-head { text-align: center; margin: 0 auto 40px; max-width: 860px; position: relative; }
@media (min-width: 768px) { .pg-head { margin-bottom: 56px; } }
.pg-head__en {
	display: inline-block;
	font-family: var(--pg-font-num);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: .2em;
	color: var(--pg-navy-deep);
	background: var(--pg-yellow);
	border: 2px solid var(--pg-navy-deep);
	border-radius: 999px;
	padding: 2px 16px 1px;
	margin-bottom: 16px;
	transform: rotate(-2deg);
	box-shadow: 3px 3px 0 var(--pg-navy-deep);
}
.pg-head__title {
	font-family: var(--pg-font-display);
	font-weight: 900;
	font-size: clamp(26px, 6.6vw, 46px);
	line-height: 1.32;
	color: var(--pg-navy);
	letter-spacing: .02em;
}
.pg-head__title em {
	font-style: normal;
	color: var(--pg-red);
	background: linear-gradient(transparent 68%, var(--pg-yellow) 68% 92%, transparent 92%);
	padding: 0 .06em;
}
.pg-head__lead { margin-top: 18px; color: var(--pg-sub); font-size: 15px; line-height: 1.9; }
@media (min-width: 768px) { .pg-head__lead { font-size: 16px; } }
.pg-head__lead strong { color: var(--pg-ink); }
.pg-head.is-dark .pg-head__title { color: var(--pg-white); }
.pg-head.is-dark .pg-head__title em { color: var(--pg-yellow); background: linear-gradient(transparent 70%, rgba(255, 42, 31, .75) 70% 92%, transparent 92%); }
.pg-head.is-dark .pg-head__lead { color: #c9d4f5; }
.pg-head.is-dark .pg-head__lead strong { color: var(--pg-white); }

/* ---------- ボタン ---------- */
.pg-ctabtns { display: grid; gap: 12px; }
@media (min-width: 768px) { .pg-ctabtns { grid-template-columns: 1.35fr 1fr 1fr; gap: 16px; } }
.pg-ctabtns.is-stack { grid-template-columns: 1fr; }
.pg-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 68px;
	padding: 10px 18px;
	border: var(--pg-border);
	border-radius: var(--pg-radius);
	box-shadow: var(--pg-shadow-sm);
	text-decoration: none;
	color: var(--pg-white);
	overflow: hidden;
	transition: transform .15s, box-shadow .15s;
	isolation: isolate;
}
.pg-btn:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--pg-navy-deep); }
.pg-btn::after { /* きらっと光る */
	content: "";
	position: absolute;
	inset: -40% auto -40% -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
	transform: skewX(-18deg);
	animation: pg-shine 3.6s ease-in-out infinite;
	z-index: -1;
	pointer-events: none;
}
.pg-btn__ico { font-size: 28px; }
.pg-btn__body { display: grid; line-height: 1.25; min-width: 0; }
.pg-btn__sub { font-size: 12px; font-weight: 700; opacity: .95; }
.pg-btn__main { font-size: 20px; font-weight: 900; letter-spacing: .03em; }
.pg-btn--tel { background: linear-gradient(180deg, #ff4a2e, var(--pg-red-deep)); }
.pg-btn__main { white-space: nowrap; }
.pg-btn--tel .pg-btn__main { font-size: clamp(30px, 8.6vw, 38px); letter-spacing: .02em; }
@media (min-width: 768px) { .pg-btn--tel .pg-btn__main { font-size: clamp(26px, 2.6vw, 36px); } .pg-btn { padding-inline: 14px; } }
.pg-btn--line { background: var(--pg-line); }
.pg-btn--form { background: var(--pg-navy-2); }
.pg-ctabtns.is-big .pg-btn { min-height: 78px; }
@keyframes pg-shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }

.pg-btn-line {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 20px; padding: 12px 20px;
	border: 2px solid var(--pg-navy); border-radius: 999px;
	color: var(--pg-navy); font-weight: 700; font-size: 14px; text-decoration: none;
	background: var(--pg-white);
}
.pg-btn-line:hover { background: var(--pg-yellow); }

/* ---------- 上の帯・ヘッダー ---------- */
.pg-topbar { background: var(--pg-navy-deep); color: var(--pg-white); font-size: 12px; }
.pg-topbar__in { max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 0 auto; padding: 5px var(--pg-gutter); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pg-topbar__in span { display: inline-flex; align-items: center; gap: 5px; }
.pg-topbar__in .pg-ico { color: var(--pg-yellow); }
.pg-topbar__open { color: var(--pg-yellow); font-weight: 700; }
@media (max-width: 767px) { .pg-topbar__area { display: none !important; } .pg-topbar__in { justify-content: center; } }

.pg-hd {
	position: sticky; top: 0; z-index: 50;
	background: var(--pg-white);
	border-bottom: 3px solid var(--pg-navy-deep);
	transition: box-shadow .2s;
}
.pg-hd.is-scrolled { box-shadow: 0 6px 0 rgba(6, 18, 58, .12); }
.pg-hd__in { max-width: 1440px; margin: 0 auto; padding: 0 var(--pg-gutter); height: var(--pg-hd-h); display: flex; align-items: center; gap: 14px; }

.pg-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--pg-navy); margin-right: auto; flex: none; }
.pg-logo__mark {
	width: 42px; height: 42px; flex: none;
	display: grid; place-items: center;
	background: var(--pg-yellow); color: var(--pg-navy);
	border: 2.5px solid var(--pg-navy-deep); border-radius: 12px;
	box-shadow: 3px 3px 0 var(--pg-navy-deep);
	transform: rotate(-6deg);
	font-size: 26px;
}
.pg-logo__text { display: grid; line-height: 1.1; }
.pg-logo__sub { font-size: 10px; font-weight: 700; color: var(--pg-sub); letter-spacing: .06em; }
.pg-logo__name { font-family: var(--pg-font-display); font-weight: 900; font-size: 20px; letter-spacing: .04em; white-space: nowrap; }
@media (min-width: 768px) { .pg-logo__name { font-size: 24px; } .pg-logo__sub { font-size: 11px; } .pg-logo__mark { width: 48px; height: 48px; font-size: 30px; } }

.pg-nav { display: none; }
@media (min-width: 1400px) {
	.pg-nav { display: block; flex: 0 1 auto; min-width: 0; }
	.pg-nav__list { display: flex; gap: 2px; }
	.pg-nav__list a { display: block; padding: 8px 8px; font-size: 14px; font-weight: 700; text-decoration: none; color: var(--pg-navy); border-radius: 8px; white-space: nowrap; }
	.pg-nav__list a:hover { background: var(--pg-yellow); }
}

.pg-hd__tel { display: none; flex: none; white-space: nowrap; text-decoration: none; color: var(--pg-red-deep); line-height: 1.1; text-align: right; }
@media (min-width: 768px) { .pg-hd__tel { display: grid; } }
.pg-hd__tel-sub { font-size: 11px; font-weight: 700; color: var(--pg-sub); }
.pg-hd__tel-num { font-size: 34px; display: inline-flex; align-items: center; gap: 4px; }
.pg-hd__cta {
	display: none;
	text-decoration: none; text-align: center; line-height: 1.2;
	background: var(--pg-yellow); color: var(--pg-navy-deep);
	border: 2.5px solid var(--pg-navy-deep); border-radius: 12px; box-shadow: 3px 3px 0 var(--pg-navy-deep);
	padding: 8px 14px; font-weight: 900; font-size: 14px;
	flex: none; white-space: nowrap;
}
.pg-hd__cta small { display: block; font-size: 10px; font-weight: 700; }
.pg-hd__cta:hover { background: var(--pg-white); }
@media (min-width: 1024px) { .pg-hd__cta { display: block; } }

.pg-hd__menu {
	flex: none;
	display: grid; place-items: center; gap: 2px;
	width: 52px; height: 48px; padding: 0;
	background: var(--pg-navy); color: var(--pg-white);
	border: 0; border-radius: 10px; cursor: pointer;
}
.pg-hd__menu-bars, .pg-hd__menu-bars::before, .pg-hd__menu-bars::after { display: block; width: 22px; height: 2.5px; background: currentColor; border-radius: 2px; position: relative; transition: transform .2s; }
.pg-hd__menu-bars::before, .pg-hd__menu-bars::after { content: ""; position: absolute; left: 0; }
.pg-hd__menu-bars::before { top: -7px; }
.pg-hd__menu-bars::after { top: 7px; }
.pg-hd__menu-label { font-size: 9px; font-weight: 700; letter-spacing: .1em; margin-top: 6px; }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-bars { background: transparent; }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-bars::before { transform: translateY(7px) rotate(45deg); }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-bars::after { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1400px) { .pg-hd__menu { display: none; } }

.pg-drawer {
	position: fixed; inset: calc(var(--pg-hd-h) + 3px) 0 0; z-index: 49;
	background: var(--pg-navy); color: var(--pg-white);
	overflow-y: auto; padding: 20px var(--pg-gutter) 110px;
}
.pg-drawer__nav a { display: flex; justify-content: space-between; align-items: center; padding: 14px 4px; border-bottom: 1px solid rgba(255, 255, 255, .15); text-decoration: none; font-weight: 700; font-size: 17px; }
.pg-drawer__nav .pg-ico { color: var(--pg-yellow); }
.pg-drawer .pg-ctabtns { margin-top: 24px; }
body.is-menu-open { overflow: hidden; }

/* ---------- ヒーロー ---------- */
.pg-hero {
	position: relative;
	overflow: hidden;
	background: var(--pg-navy);
	color: var(--pg-white);
	padding: 36px 0 28px;
	isolation: isolate;
}
@media (min-width: 1024px) { .pg-hero { padding: 64px 0 40px; } }
.pg-hero__bg { position: absolute; inset: 0; z-index: -2; }
.pg-hero__rays {
	position: absolute; left: 50%; top: 42%;
	width: 260vmax; height: 260vmax; margin: -130vmax 0 0 -130vmax;
	background: repeating-conic-gradient(from 0deg, rgba(58, 110, 255, .30) 0 5deg, transparent 5deg 12deg);
	animation: pg-spin 90s linear infinite;
}
@media (min-width: 1024px) { .pg-hero__rays { left: 72%; } }
.pg-hero__dots {
	position: absolute; inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, .12) 1.5px, transparent 1.6px);
	background-size: 18px 18px;
	mask-image: linear-gradient(180deg, #000, transparent 85%);
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 85%);
}
@keyframes pg-spin { to { transform: rotate(360deg); } }

/* メイン画像（吉田さん作成・文字入りで丸ごと）
   画像は切らずに幅いっぱい（縦横比そのまま）。PC＝hero.jpg／スマホ（767px以下）＝hero-sp.jpg
   その直下に流れる帯をつなげ、H1（HTML）→比較の一例→ボタンの順に並べる */
.pg-hero.is-mv { padding: 0 0 28px; }
.pg-mv { position: relative; background: var(--pg-navy-deep); }
.pg-mv picture, .pg-mv img { display: block; width: 100%; height: auto; }
.pg-hero.is-mv .pg-ticker { border-top: 0; }
.pg-mv__below { max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 0 auto; padding: 22px var(--pg-gutter) 0; }
.pg-mv__h1 { text-align: center; font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(19px, 5vw, 32px); line-height: 1.45; color: var(--pg-white); letter-spacing: .03em; text-shadow: 2px 2px 0 var(--pg-navy-deep); }
.pg-mv__h1 em { font-style: normal; color: var(--pg-yellow); }
.pg-mv__h1 > span { display: block; }
.pg-mv__h1-area, .pg-mv__h1-brand { font-size: .62em; letter-spacing: .08em; }
.pg-mv__h1-brand { color: #c9d4f5; }
.pg-mv__h1 em { background: linear-gradient(transparent 70%, var(--pg-red) 70% 92%, transparent 92%); padding: 0 .08em; }
.pg-hero.is-mv .pg-hero__proof { margin: 18px 0 0; }
@media (min-width: 1024px) { .pg-hero.is-mv .pg-hero__proof { margin: 22px auto 0; } }
.pg-hero.is-mv .pg-hero__cta { padding: 0; margin-top: 20px; }
.pg-hero.is-mv [data-hero] { opacity: 1; transform: none; }

.pg-hero__in { max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 0 auto; padding: 0 var(--pg-gutter); display: grid; gap: 22px; align-items: center; }
@media (min-width: 1024px) {
	.pg-hero__in { grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); grid-template-areas: "copy offer" "sub offer"; column-gap: 32px; row-gap: 0; }
	.pg-hero__copy { grid-area: copy; align-self: end; }
	.pg-hero__offer { grid-area: offer; }
	.pg-hero__sub { grid-area: sub; align-self: start; }
}

.pg-hero__tag { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 16px; }
.pg-hero__pref {
	display: inline-grid; place-items: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--pg-yellow); color: var(--pg-navy-deep);
	font-family: var(--pg-font-display); font-weight: 900; font-size: 15px;
	border: 2px solid var(--pg-navy-deep);
}
.pg-hero__open { margin-left: 6px; font-weight: 900; font-size: 14px; color: var(--pg-yellow); }
.pg-hero__open .pg-num { font-size: 22px; }

.pg-hero__kicker {
	display: inline-block;
	font-family: var(--pg-font);
	font-weight: 900;
	font-size: clamp(14px, 3.9vw, 19px);
	letter-spacing: .04em;
	background: var(--pg-white); color: var(--pg-navy);
	padding: 4px 12px; border-radius: 6px;
	margin-bottom: 14px;
}
.pg-hero__catch {
	display: block;
	font-family: var(--pg-font-display);
	font-weight: 900;
	font-size: clamp(38px, 11.2vw, 78px);
	line-height: 1.18;
	letter-spacing: .02em;
	text-shadow: 3px 3px 0 var(--pg-navy-deep);
}
.pg-hero__catch em {
	font-style: normal;
	color: var(--pg-yellow);
	display: inline-block;
	position: relative;
}
.pg-hero__catch em::after { /* 赤い下線 */
	content: ""; position: absolute; left: 0; right: .2em; bottom: -.02em; height: .14em;
	background: var(--pg-red); border-radius: 4px; transform: skewX(-12deg); z-index: -1;
}
.pg-hero__lead { margin-top: 20px; font-size: 15px; line-height: 1.9; color: #dfe6ff; max-width: 34em; }
@media (min-width: 768px) { .pg-hero__lead { font-size: 17px; } }
.pg-hero__lead strong { color: var(--pg-yellow); }
.pg-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.pg-hero__chips li {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 12px; border-radius: 999px;
	background: rgba(255, 255, 255, .1); border: 1.5px solid rgba(255, 255, 255, .45);
	font-size: 13px; font-weight: 700;
}
.pg-hero__chips .pg-ico { color: var(--pg-yellow); font-size: 16px; }

/* スターバースト */
.pg-hero__offer { position: relative; display: grid; justify-items: center; padding: 10px 0 20px; }
.pg-burst { position: relative; width: min(82vw, 340px); aspect-ratio: 1; display: grid; place-items: center; container-type: inline-size; }
@media (min-width: 1024px) { .pg-burst { width: 400px; } }
.pg-burst__spikes {
	position: absolute; inset: 0;
	background: var(--pg-red);
	clip-path: polygon(50% 0%, 56.5% 11.5%, 67% 3.9%, 69.6% 16.7%, 81.8% 12.5%, 80.4% 25.5%, 93.3% 25%, 88.3% 37.1%, 100% 40.6%, 91.8% 50%, 100% 59.4%, 88.3% 62.9%, 93.3% 75%, 80.4% 74.5%, 81.8% 87.5%, 69.6% 83.3%, 67% 96.1%, 56.5% 88.5%, 50% 100%, 43.5% 88.5%, 33% 96.1%, 30.4% 83.3%, 18.2% 87.5%, 19.6% 74.5%, 6.7% 75%, 11.7% 62.9%, 0% 59.4%, 8.2% 50%, 0% 40.6%, 11.7% 37.1%, 6.7% 25%, 19.6% 25.5%, 18.2% 12.5%, 30.4% 16.7%, 33% 3.9%, 43.5% 11.5%);
	animation: pg-spin 40s linear infinite;
	filter: drop-shadow(6px 6px 0 var(--pg-navy-deep));
}
.pg-burst__body {
	position: relative;
	width: 76%; aspect-ratio: 1; border-radius: 50%;
	background: var(--pg-yellow); color: var(--pg-navy-deep);
	border: 4px solid var(--pg-navy-deep);
	display: grid; place-content: center; text-align: center;
	gap: 2px;
	animation: pg-pulse 2.4s ease-in-out infinite;
}
.pg-burst__label { font-weight: 900; font-size: 5cqw; background: var(--pg-navy); color: var(--pg-white); border-radius: 999px; padding: .15em .9em; justify-self: center; white-space: nowrap; }
.pg-burst__label span { color: var(--pg-yellow); margin-left: .4em; }
.pg-burst__price { display: flex; align-items: baseline; justify-content: center; gap: 2px; color: var(--pg-red-deep); line-height: 1; margin-top: .3em; }
.pg-burst__num { font-size: 22cqw; letter-spacing: -.01em; }
.pg-burst__yen { font-weight: 900; font-size: 7cqw; }
.pg-burst__tax { font-size: max(11px, 3.6cqw); font-weight: 700; margin-top: .5em; }
@keyframes pg-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }

.pg-hero__balloon {
	position: absolute; right: 2%; bottom: 0;
	background: var(--pg-white); color: var(--pg-navy-deep);
	border: 3px solid var(--pg-navy-deep); border-radius: 18px;
	box-shadow: var(--pg-shadow-sm);
	padding: 8px 14px; font-weight: 900; font-size: 13px; line-height: 1.35; text-align: center;
	transform: rotate(4deg);
}
.pg-hero__balloon::before { content: ""; position: absolute; left: 18px; top: -14px; border: 8px solid transparent; border-bottom: 10px solid var(--pg-navy-deep); }
.pg-hero__balloon strong { font-size: 32px; color: var(--pg-red-deep); line-height: 1; }
.pg-hero__balloon small { font-size: 10px; }
@media (min-width: 1024px) { .pg-hero__balloon { right: -2%; bottom: 8%; font-size: 14px; } }

/* 比較の一例（ヒーロー下） */
.pg-hero__proof {
	max-width: calc(var(--pg-wrap)); margin: 22px var(--pg-gutter) 0;
	background: var(--pg-white); color: var(--pg-ink);
	border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow);
	padding: 14px 16px; display: grid; gap: 6px; text-align: center;
}
@media (min-width: 1024px) {
	.pg-hero__proof { margin: 36px auto 0; grid-template-columns: auto 1fr auto; align-items: center; text-align: left; padding: 16px 26px; gap: 20px; }
}
@media (min-width: 1236px) { .pg-hero__proof { margin-inline: auto; } }
.pg-hero__proof-ttl { font-weight: 900; font-size: 13px; color: var(--pg-navy); background: var(--pg-yellow-soft); border-radius: 6px; padding: 2px 10px; justify-self: center; }
.pg-hero__proof-row { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 10px; font-weight: 900; }
.pg-hero__proof-other { color: var(--pg-sub); font-size: 14px; }
.pg-hero__proof-other s { font-size: 28px; text-decoration-color: var(--pg-red); text-decoration-thickness: 3px; color: var(--pg-sub); }
.pg-hero__proof-arrow { color: var(--pg-red); font-size: 22px; display: inline-flex; }
.pg-hero__proof-ours { font-size: 15px; color: var(--pg-navy); }
.pg-hero__proof-ours strong { font-size: clamp(40px, 11vw, 54px); color: var(--pg-red); line-height: 1; }
.pg-hero__proof-link { display: inline-flex; align-items: center; gap: 4px; justify-self: center; font-size: 13px; font-weight: 700; color: var(--pg-navy-2); }

.pg-hero__cta { max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 22px auto 0; padding: 0 var(--pg-gutter); }

/* 登場アニメーション（ヒーローは読み込み直後に出す） */
[data-hero] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1); }
[data-hero].is-in { opacity: 1; transform: none; }
.pg-hero__offer[data-hero] { transform: scale(.7) rotate(-8deg); transition-duration: .7s; transition-delay: .15s; }
.pg-hero__offer[data-hero].is-in { transform: none; }
.pg-hero__proof[data-hero] { transition-delay: .3s; }

/* ---------- 流れる帯 ---------- */
.pg-ticker { background: var(--pg-yellow); border-block: 3px solid var(--pg-navy-deep); overflow: hidden; }
.pg-ticker__track { display: flex; width: max-content; animation: pg-marquee 38s linear infinite; }
.pg-ticker__list { display: flex; flex: none; }
.pg-ticker__list li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 22px; font-weight: 900; font-size: 15px; color: var(--pg-navy-deep); white-space: nowrap; }
.pg-ticker__list .pg-ico { color: var(--pg-red); }
@keyframes pg-marquee { to { transform: translateX(-50%); } }

/* ---------- 数字 ---------- */
.pg-summary { background: var(--pg-paper); padding-block: 56px; }
.pg-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 1024px) { .pg-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.pg-stat {
	display: grid; align-content: start; justify-items: center; text-align: center;
	padding: 18px 10px 16px; border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow-sm);
	line-height: 1.2; background: var(--pg-white);
}
.pg-stat__label { font-size: 12px; font-weight: 900; }
.pg-stat__num { font-size: clamp(38px, 11vw, 62px); margin: 6px 0 2px; letter-spacing: -.01em; }
.pg-stat__num--sm { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(26px, 7.4vw, 40px); }
.pg-stat__num small { font-size: .5em; }
.pg-stat__unit { font-weight: 900; font-size: 14px; }
.pg-stat__note { font-size: 11px; margin-top: 8px; opacity: .85; line-height: 1.5; }
.pg-stat--yellow { background: var(--pg-yellow); color: var(--pg-navy-deep); }
.pg-stat--yellow .pg-stat__num { color: var(--pg-red-deep); }
.pg-stat--red { background: var(--pg-red); color: var(--pg-white); }
.pg-stat--navy { background: var(--pg-navy); color: var(--pg-white); }
.pg-stat--navy .pg-stat__num { color: var(--pg-yellow); }
.pg-stat--white .pg-stat__num { color: var(--pg-navy); }

.pg-points { margin-top: 28px; background: var(--pg-white); border: 2px dashed var(--pg-navy); border-radius: var(--pg-radius); padding: 18px 18px 16px; }
@media (min-width: 768px) { .pg-points { padding: 22px 28px; } }
.pg-points__ttl { display: flex; align-items: center; gap: 6px; font-weight: 900; color: var(--pg-navy); margin-bottom: 8px; }
.pg-points__ttl .pg-ico { color: var(--pg-white); background: var(--pg-red); border-radius: 50%; padding: 3px; font-size: 22px; }
.pg-points__list li { position: relative; padding-left: 1.2em; font-size: 14.5px; line-height: 1.8; }
.pg-points__list li + li { margin-top: 4px; }
.pg-points__list li::before { content: ""; position: absolute; left: .1em; top: .72em; width: .5em; height: .5em; background: var(--pg-yellow); border: 2px solid var(--pg-navy); border-radius: 2px; transform: rotate(45deg); }
.pg-points__list strong { background: linear-gradient(transparent 62%, var(--pg-yellow-soft) 62%); }

/* ---------- 比較 ---------- */
.pg-compare { background: var(--pg-navy-deep); color: var(--pg-white); }
.pg-compare__rays, .pg-contact__rays {
	position: absolute; left: 50%; top: 50%; width: 220vmax; height: 220vmax; margin: -110vmax 0 0 -110vmax;
	background: repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .045) 0 6deg, transparent 6deg 14deg);
	pointer-events: none;
}
.pg-vs { display: grid; gap: 14px; align-items: stretch; }
@media (min-width: 1024px) { .pg-vs { grid-template-columns: 1fr 72px 1fr; gap: 0; } }
.pg-vs__col { border: 3px solid var(--pg-white); border-radius: var(--pg-radius); padding: 20px 18px; position: relative; }
@media (min-width: 768px) { .pg-vs__col { padding: 26px 28px; } }
.pg-vs__col--other { background: #27305a; border-color: #6d77a3; color: #d6dcf2; }
.pg-vs__col--ours { background: var(--pg-yellow); color: var(--pg-navy-deep); border-color: var(--pg-navy-deep); box-shadow: 8px 8px 0 var(--pg-red); }
.pg-vs__who { display: flex; align-items: center; gap: 8px; font-family: var(--pg-font-display); font-weight: 900; font-size: 22px; margin-bottom: 12px; }
.pg-vs__col--ours .pg-vs__who .pg-ico { font-size: 26px; color: var(--pg-red-deep); }
.pg-vs__rows li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px dashed currentColor; font-size: 14px; }
.pg-vs__rows li span:last-child { white-space: nowrap; font-weight: 700; }
.pg-vs__rows b.pg-num { font-size: 24px; margin-right: 1px; }
.pg-vs__free { color: var(--pg-red-deep); font-size: 15px; }
.pg-vs__bar { height: 22px; border-radius: 999px; background: rgba(255, 255, 255, .14); margin: 18px 0 12px; overflow: hidden; border: 2px solid currentColor; }
.pg-vs__bar span { display: block; height: 100%; width: 0; background: repeating-linear-gradient(-45deg, #8d95bf 0 10px, #7780ad 10px 20px); transition: width 1.4s cubic-bezier(.2, .8, .2, 1) .2s; }
.pg-vs__col--ours .pg-vs__bar { background: rgba(6, 18, 58, .12); }
.pg-vs__col--ours .pg-vs__bar span { background: repeating-linear-gradient(-45deg, var(--pg-red) 0 10px, var(--pg-red-deep) 10px 20px); }
.pg-vs__col.is-in .pg-vs__bar span { width: var(--w); }
.pg-vs__total { text-align: right; font-weight: 900; font-size: 16px; }
.pg-vs__total .pg-num { font-size: clamp(44px, 12vw, 60px); }
.pg-vs__col--other .pg-vs__total .pg-num { text-decoration: line-through; text-decoration-color: var(--pg-red); text-decoration-thickness: 4px; }
.pg-vs__col--ours .pg-vs__total .pg-num { color: var(--pg-red-deep); }
.pg-vs__mid { display: grid; place-items: center; }
.pg-vs__mid span { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--pg-red); color: var(--pg-white); font-family: var(--pg-font-num); font-weight: 800; font-size: 26px; border: 3px solid var(--pg-white); transform: rotate(-8deg); }
@media (max-width: 1023px) { .pg-vs__mid { margin: -6px 0; } .pg-vs__mid span { width: 52px; height: 52px; font-size: 17px; } }

.pg-diff { margin: 34px auto 0; text-align: center; display: grid; justify-items: center; }
.pg-diff__label { font-family: var(--pg-font-display); font-weight: 900; font-size: 22px; color: var(--pg-yellow); }
.pg-diff__num { font-family: var(--pg-font-display); font-weight: 900; line-height: 1; color: var(--pg-white); text-shadow: 5px 5px 0 var(--pg-red); display: flex; align-items: baseline; }
.pg-diff__num .pg-num { font-size: clamp(84px, 25vw, 180px); letter-spacing: 0; }
.pg-diff__yen { font-size: clamp(26px, 7vw, 44px); margin-left: 4px; }
.pg-diff__sub { margin-top: 12px; font-size: 13px; color: #c9d4f5; }
.pg-compare__note { margin-top: 22px; font-size: 12px; color: #aab6de; line-height: 1.8; max-width: 860px; margin-inline: auto; }
.pg-compare__msg { margin: 22px auto 0; max-width: 860px; text-align: center; font-weight: 700; font-size: 15px; line-height: 1.9; border-top: 2px solid rgba(255, 255, 255, .2); padding-top: 22px; }

/* ---------- 大きな片付け ---------- */
.pg-big { background: var(--pg-white); }
.pg-big::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, transparent 0 22px, rgba(11, 31, 92, .035) 22px 24px); pointer-events: none; }
.pg-big__targets { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 34px; position: relative; }
.pg-big__targets li { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 999px; background: var(--pg-navy); color: var(--pg-white); font-weight: 900; font-size: 14.5px; }
.pg-big__targets .pg-ico { color: var(--pg-yellow); }
.pg-big__figure { position: relative; margin: 0 0 30px; border: var(--pg-border); border-radius: calc(var(--pg-radius) + 4px); overflow: hidden; box-shadow: var(--pg-shadow); }
.pg-big__figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 60%; }
@media (min-width: 1024px) { .pg-big__figure img { aspect-ratio: 21 / 9; object-position: 50% 55%; } }
.pg-big__figure figcaption { position: absolute; left: 0; bottom: 0; background: var(--pg-yellow); color: var(--pg-navy-deep); font-weight: 900; font-size: clamp(13px, 3.4vw, 18px); padding: 8px 16px; border-top-right-radius: 12px; border-top: 3px solid var(--pg-navy-deep); border-right: 3px solid var(--pg-navy-deep); }
.pg-big__points { display: grid; gap: 16px; position: relative; }
@media (min-width: 1024px) { .pg-big__points { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.pg-big-point { background: var(--pg-yellow); border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow); padding: 22px 20px; }
.pg-big-point__ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--pg-navy); color: var(--pg-yellow); font-size: 30px; margin-bottom: 12px; }
.pg-big-point__title { font-size: 19px; font-weight: 900; color: var(--pg-navy-deep); margin-bottom: 6px; }
.pg-big-point__text { font-size: 14.5px; line-height: 1.85; }
.pg-big__cases { margin-top: 40px; position: relative; }
.pg-big__cases-ttl { font-weight: 900; color: var(--pg-navy); font-size: 17px; margin-bottom: 14px; text-align: center; }
.pg-big__case-grid { display: grid; gap: 16px; }
@media (min-width: 768px) { .pg-big__case-grid { grid-template-columns: 1fr 1fr; gap: 22px; } }
.pg-case { background: var(--pg-white); border: var(--pg-border); border-radius: var(--pg-radius); padding: 20px; box-shadow: var(--pg-shadow-sm); }
.pg-case__place { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 900; color: var(--pg-red-deep); }
.pg-case__title { font-size: 18px; font-weight: 900; color: var(--pg-navy); margin-top: 4px; }
.pg-case__scale { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 700; background: var(--pg-sky); color: var(--pg-navy); padding: 2px 10px; border-radius: 6px; }
.pg-case__price { margin-top: 10px; font-weight: 900; color: var(--pg-red-deep); display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.pg-case__price span { font-size: 13px; color: var(--pg-ink); }
.pg-case__price b { font-size: 44px; line-height: 1; }
.pg-case__text { margin-top: 10px; font-size: 14px; line-height: 1.85; color: var(--pg-sub); }
.pg-big__cta { margin-top: 36px; text-align: center; position: relative; }
.pg-big__cta-ttl { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(20px, 5.4vw, 28px); color: var(--pg-navy); margin-bottom: 16px; line-height: 1.4; }
.pg-ib { display: inline-block; }
.pg-sp { display: inline; }
@media (min-width: 768px) { .pg-sp { display: none; } }

/* ---------- 安さの仕組み ---------- */
.pg-why { background: var(--pg-white); }
.pg-why::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(var(--pg-sky) 2px, transparent 2.2px); background-size: 22px 22px; z-index: 0; pointer-events: none; }
.pg-steps { display: grid; gap: 18px; counter-reset: step; position: relative; }
@media (min-width: 768px) { .pg-steps { grid-template-columns: 1fr 1fr; gap: 22px; } }
@media (min-width: 1024px) { .pg-steps { grid-template-columns: repeat(4, 1fr); } }
.pg-step {
	position: relative; background: var(--pg-white);
	border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow);
	padding: 26px 20px 22px;
}
.pg-step__no { position: absolute; top: -18px; left: 16px; background: var(--pg-red); color: var(--pg-white); font-size: 26px; line-height: 1.2; padding: 2px 12px; border-radius: 10px; border: 3px solid var(--pg-navy-deep); }
.pg-step__ico { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--pg-yellow); color: var(--pg-navy); font-size: 34px; margin: 6px 0 12px; border: 2.5px solid var(--pg-navy-deep); }
.pg-step__title { font-size: 18px; font-weight: 900; color: var(--pg-navy); margin-bottom: 8px; }
.pg-step__text { font-size: 14.5px; line-height: 1.85; color: var(--pg-sub); }
@media (min-width: 1024px) {
	.pg-step:not(:last-child)::after { content: ""; position: absolute; right: -19px; top: 50%; width: 16px; height: 24px; background: var(--pg-red); clip-path: polygon(0 0, 100% 50%, 0 100%); z-index: 2; }
}
.pg-why__equation { margin-top: 44px; text-align: center; position: relative; }
.pg-eq { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.pg-eq__box { display: inline-grid; place-items: center; min-height: 60px; padding: 8px 18px; border: var(--pg-border); border-radius: 12px; background: var(--pg-white); font-weight: 900; font-size: 18px; color: var(--pg-navy); box-shadow: var(--pg-shadow-sm); line-height: 1.3; }
.pg-eq__box--gold { background: var(--pg-yellow); }
.pg-eq__box--red { background: var(--pg-red); color: var(--pg-white); font-size: 16px; }
.pg-eq__op { font-family: var(--pg-font-display); font-weight: 900; font-size: 34px; color: var(--pg-navy); }
.pg-why__note { margin-top: 18px; font-weight: 700; color: var(--pg-navy); }

/* ---------- 料金 ---------- */
.pg-price { background: var(--pg-sky); }
.pg-plan { margin-top: 28px; background: var(--pg-white); border: var(--pg-border); border-radius: calc(var(--pg-radius) + 4px); box-shadow: var(--pg-shadow); overflow: hidden; }
.pg-plan__head { padding: 18px 20px; background: var(--pg-navy); color: var(--pg-white); }
@media (min-width: 768px) { .pg-plan__head { padding: 20px 28px; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: baseline; } }
.pg-plan__ttl { font-family: var(--pg-font-display); font-weight: 900; font-size: 22px; color: var(--pg-yellow); }
.pg-plan__sub { font-weight: 900; font-size: 14px; }
.pg-plan__text { grid-column: 1 / -1; margin-top: 6px; font-size: 13.5px; color: #cfd8f7; }
.pg-plan--omakase .pg-plan__head { background: var(--pg-navy-2); }
.pg-plan--kaden .pg-plan__head { background: #2a3350; }
.pg-plan__cards { display: grid; gap: 14px; padding: 20px; }
@media (min-width: 768px) { .pg-plan__cards { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); padding: 24px 28px 28px; gap: 18px; } }
.pg-card-price { position: relative; border: 2.5px solid var(--pg-navy); border-radius: var(--pg-radius); padding: 22px 16px 16px; text-align: center; background: var(--pg-white); }
.pg-card-price.is-pick { background: var(--pg-yellow-soft); border-color: var(--pg-red); border-width: 3px; }
.pg-card-price__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--pg-red); color: var(--pg-white); font-weight: 900; font-size: 12px; padding: 3px 14px; border-radius: 999px; white-space: nowrap; }
.pg-card-price__label { font-weight: 900; font-size: 17px; color: var(--pg-navy); }
.pg-card-price__name { margin-top: 10px; font-size: 13px; font-weight: 700; line-height: 1.6; }
.pg-card-price__note { margin-top: 4px; font-size: 12.5px; color: var(--pg-sub); line-height: 1.6; }
.pg-pricetag { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; column-gap: 4px; margin-top: 4px; line-height: 1.1; }
.pg-pricetag__unit { font-weight: 900; font-size: 15px; }
.pg-pricetag__num { font-size: clamp(54px, 14vw, 68px); color: var(--pg-red-deep); letter-spacing: -.01em; }
.pg-pricetag__yen { font-weight: 900; font-size: 20px; color: var(--pg-red-deep); }
.pg-pricetag__tax { flex-basis: 100%; font-size: 12px; font-weight: 700; margin-top: 4px; }
.pg-pricetag__tax small { font-size: 11px; color: var(--pg-sub); font-weight: 400; }
.pg-price__notes { margin-top: 26px; display: grid; gap: 8px; font-size: 13.5px; }
.pg-price__notes li { position: relative; padding-left: 1.5em; line-height: 1.7; }
.pg-price__notes li > .pg-ico:first-child { position: absolute; left: 0; top: .35em; color: var(--pg-red); }
.pg-price__notes a { color: var(--pg-navy-2); font-weight: 700; }

.pg-cta-band { margin-top: 40px; background: var(--pg-yellow); border: var(--pg-border); border-radius: calc(var(--pg-radius) + 4px); box-shadow: var(--pg-shadow); padding: 24px 18px; text-align: center; position: relative; overflow: hidden; }
@media (min-width: 768px) { .pg-cta-band { padding: 32px 36px; } }
.pg-cta-band::before { content: ""; position: absolute; inset: 0; background: repeating-conic-gradient(from 0deg at 50% 120%, rgba(255, 255, 255, .35) 0 5deg, transparent 5deg 12deg); pointer-events: none; }
.pg-cta-band > * { position: relative; }
.pg-cta-band__ttl { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(24px, 6.4vw, 36px); color: var(--pg-navy-deep); line-height: 1.3; }
.pg-cta-band__ttl em { font-style: normal; color: var(--pg-red-deep); }
.pg-cta-band__text { margin: 8px 0 18px; font-weight: 700; font-size: 14.5px; }

@media (min-width: 1024px) { .pg-plan-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; } }
.pg-plan-row .pg-plan__head { display: block; }

/* ---------- 有価物 ---------- */
.pg-valuable { background: var(--pg-paper); }
.pg-vals { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 560px) { .pg-vals { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pg-vals { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.pg-val { display: grid; grid-template-columns: 56px 1fr; column-gap: 14px; align-items: start; background: var(--pg-white); border: 2.5px solid var(--pg-navy); border-radius: var(--pg-radius); padding: 16px; }
.pg-val__ico { grid-row: span 2; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--pg-navy); color: var(--pg-yellow); font-size: 30px; transform: rotate(-4deg); }
.pg-val__title { font-size: 16.5px; font-weight: 900; color: var(--pg-navy); }
.pg-val__text { font-size: 13.5px; line-height: 1.75; color: var(--pg-sub); margin-top: 4px; }
.pg-valuable__foot { margin-top: 30px; text-align: center; }
.pg-valuable__more { font-weight: 700; line-height: 1.9; }
.pg-license-chip { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 8px 16px; border-radius: 999px; background: var(--pg-navy); color: var(--pg-white); font-size: 13px; font-weight: 700; }
.pg-license-chip .pg-ico { color: var(--pg-yellow); font-size: 18px; }

/* ---------- 場面 ---------- */
.pg-scenes { background: var(--pg-white); }
.pg-scene-list { display: grid; gap: 16px; }
@media (min-width: 768px) { .pg-scene-list { grid-template-columns: 1fr 1fr; gap: 20px; } }
@media (min-width: 1024px) { .pg-scene-list { grid-template-columns: repeat(3, 1fr); } }
.pg-scene { border: var(--pg-border); border-radius: var(--pg-radius); overflow: hidden; background: var(--pg-white); box-shadow: var(--pg-shadow-sm); display: grid; grid-template-columns: 96px 1fr; }
@media (min-width: 768px) { .pg-scene { grid-template-columns: 1fr; } }
.pg-scene__media { position: relative; background: var(--pg-navy); min-height: 96px; }
@media (min-width: 768px) { .pg-scene__media { aspect-ratio: 16 / 10; min-height: 0; } }
.pg-scene__media picture, .pg-scene__media img { width: 100%; height: 100%; }
.pg-scene__media img { object-fit: cover; }
.pg-scene__ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--pg-yellow); font-size: 42px; background: repeating-linear-gradient(-45deg, var(--pg-navy) 0 14px, var(--pg-navy-2) 14px 28px); }
@media (min-width: 768px) { .pg-scene__ph { font-size: 64px; } }
.pg-scene__body { padding: 14px 16px; }
@media (min-width: 768px) { .pg-scene__body { padding: 18px 20px 20px; border-top: 3px solid var(--pg-navy-deep); } }
.pg-scene__title { font-size: 16.5px; font-weight: 900; color: var(--pg-navy); }
.pg-scene__text { font-size: 13.5px; color: var(--pg-sub); margin-top: 4px; line-height: 1.7; }

/* ---------- 合法 ---------- */
.pg-legal { background: var(--pg-navy); color: var(--pg-white); padding-top: 0; }
.pg-legal > .pg-tape { margin-bottom: var(--pg-sec-y); }
.pg-legal__lesson { background: var(--pg-white); color: var(--pg-ink); border: 3px solid var(--pg-yellow); border-radius: calc(var(--pg-radius) + 4px); padding: 24px 20px; display: grid; gap: 14px; }
@media (min-width: 1024px) { .pg-legal__lesson { grid-template-columns: .9fr 1.1fr; gap: 32px; align-items: center; padding: 34px 40px; } }
.pg-legal__big { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(22px, 6vw, 32px); line-height: 1.4; color: var(--pg-navy); }
.pg-legal__big em { font-style: normal; color: var(--pg-red); }
.pg-legal__text { font-size: 14.5px; line-height: 1.9; }

.pg-table-scroll { margin-top: 26px; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--pg-radius); }
.pg-legal-table { width: 100%; min-width: 620px; background: var(--pg-white); color: var(--pg-ink); font-size: 14px; }
.pg-legal-table caption { text-align: left; font-weight: 900; font-size: 17px; color: var(--pg-yellow); padding: 0 0 10px; }
.pg-legal-table th, .pg-legal-table td { padding: 12px 14px; border: 2px solid var(--pg-navy); vertical-align: top; line-height: 1.7; }
.pg-legal-table thead th { font-size: 15px; text-align: center; white-space: nowrap; }
.pg-legal-table thead th.is-bad { background: #e5e7ef; color: #4b5068; }
.pg-legal-table thead th.is-good { background: var(--pg-yellow); color: var(--pg-navy-deep); }
.pg-legal-table thead th .pg-ico { margin-right: 6px; }
.pg-legal-table thead th.is-bad .pg-ico { color: var(--pg-red); }
.pg-legal-table thead th.is-good .pg-ico { color: var(--pg-red); stroke-width: 3; }
.pg-legal-table tbody th { background: var(--pg-navy-2); color: var(--pg-white); white-space: nowrap; font-weight: 900; }
.pg-legal-table td.is-bad { color: #5a5f76; background: #f4f5f9; }
.pg-legal-table td.is-good { font-weight: 700; background: #fffbe0; }

.pg-legal__grid { display: grid; gap: 16px; margin-top: 26px; }
@media (min-width: 1024px) { .pg-legal__grid { grid-template-columns: 1fr 1fr; gap: 22px; } }
.pg-legal__box { background: rgba(255, 255, 255, .07); border: 2px solid rgba(255, 255, 255, .28); border-radius: var(--pg-radius); padding: 20px; }
.pg-legal__h3 { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 900; color: var(--pg-yellow); margin-bottom: 12px; }
.pg-lic-list li { display: grid; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, .15); font-size: 14px; line-height: 1.5; }
.pg-lic-list li.is-key .pg-lic-list__name { color: var(--pg-yellow); }
.pg-lic-list__name { font-weight: 900; }
.pg-lic-list__no { font-size: 12.5px; color: #c9d4f5; }
.pg-legal__small { font-size: 13.5px; line-height: 1.85; color: #dbe3fb; margin-top: 12px; }
.pg-alert-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pg-alert-list a { display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px; border-radius: 999px; background: var(--pg-white); color: var(--pg-navy); font-size: 13px; font-weight: 700; text-decoration: none; }
.pg-alert-list a:hover { background: var(--pg-yellow); }
.pg-legal__check { margin-top: 26px; background: var(--pg-red); border: 3px solid var(--pg-white); border-radius: var(--pg-radius); padding: 20px; }
@media (min-width: 768px) { .pg-legal__check { padding: 24px 30px; } }
.pg-legal__check-ttl { font-family: var(--pg-font-display); font-weight: 900; font-size: 21px; margin-bottom: 10px; }
.pg-legal__check ul { display: grid; gap: 8px; }
@media (min-width: 1024px) { .pg-legal__check ul { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
.pg-legal__check li { background: rgba(0, 0, 0, .16); border-radius: 10px; padding: 10px 14px; display: grid; line-height: 1.5; }
.pg-legal__check li strong { font-size: 15px; }
.pg-legal__check li span { font-size: 13px; opacity: .92; }
.pg-legal__check-foot { margin-top: 14px; font-weight: 900; font-size: 15px; background: var(--pg-white); color: var(--pg-navy-deep); border-radius: 10px; padding: 10px 14px; line-height: 1.7; }

/* ---------- 選ばれる理由 ---------- */
.pg-reasons { background: var(--pg-yellow); }
.pg-reasons::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .28) 0 2px, transparent 2px 22px); pointer-events: none; }
.pg-reasons .pg-head__title em { background: linear-gradient(transparent 68%, var(--pg-white) 68% 92%, transparent 92%); }
.pg-reasons .pg-head__lead { color: var(--pg-navy-deep); font-weight: 700; }
.pg-reason-list { display: grid; gap: 14px; position: relative; }
@media (min-width: 768px) { .pg-reason-list { grid-template-columns: 1fr 1fr; gap: 18px; } }
@media (min-width: 1024px) { .pg-reason-list { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.pg-reason { position: relative; background: var(--pg-white); border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow); padding: 22px 20px 20px; overflow: hidden; }
.pg-reason__no { position: absolute; right: 12px; top: 4px; font-size: 60px; color: var(--pg-sky); line-height: 1; }
.pg-reason__ico { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: var(--pg-red); color: var(--pg-white); font-size: 28px; margin-bottom: 12px; }
.pg-reason__title { position: relative; font-size: 18px; font-weight: 900; color: var(--pg-navy); margin-bottom: 6px; }
.pg-reason__text { position: relative; font-size: 14px; line-height: 1.85; color: var(--pg-sub); }

/* ---------- 声 ---------- */
.pg-voice { background: var(--pg-white); }
.pg-voice-list { display: grid; gap: 18px; }
@media (min-width: 768px) { .pg-voice-list { grid-template-columns: 1fr 1fr; gap: 24px; } }
.pg-voice-card { position: relative; background: var(--pg-sky); border: var(--pg-border); border-radius: 22px; padding: 26px 22px 18px; box-shadow: var(--pg-shadow-sm); }
.pg-voice-card:nth-child(even) { background: var(--pg-paper); }
.pg-voice-card__q { position: absolute; left: 14px; top: -26px; font-family: Georgia, serif; font-weight: 900; font-size: 80px; line-height: 1; color: var(--pg-red); }
.pg-voice-card__text { font-size: 15px; line-height: 1.95; font-weight: 700; }
.pg-voice-card__who { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 900; color: var(--pg-navy); font-size: 14px; }
.pg-voice-card__avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--pg-yellow); border: 2px solid var(--pg-navy-deep); font-size: 20px; }

/* ---------- 流れ ---------- */
.pg-flow { background: var(--pg-navy-2); color: var(--pg-white); }
.pg-flow-list { display: grid; gap: 14px; counter-reset: flow; }
@media (min-width: 1024px) { .pg-flow-list { grid-template-columns: repeat(5, 1fr); gap: 14px; } }
.pg-flow-step { position: relative; background: var(--pg-white); color: var(--pg-ink); border-radius: var(--pg-radius); border: 3px solid var(--pg-navy-deep); padding: 18px 16px; display: grid; grid-template-columns: 58px 1fr; column-gap: 12px; }
@media (min-width: 1024px) { .pg-flow-step { grid-template-columns: 1fr; text-align: center; padding: 22px 14px; } }
.pg-flow-step__no { grid-row: span 3; display: grid; place-content: center; text-align: center; width: 58px; height: 58px; border-radius: 50%; background: var(--pg-yellow); color: var(--pg-navy-deep); font-weight: 900; font-size: 10px; line-height: 1; letter-spacing: .06em; border: 2px solid var(--pg-navy-deep); }
.pg-flow-step__no b { font-size: 30px; display: block; margin-top: 2px; }
@media (min-width: 1024px) { .pg-flow-step__no { grid-row: auto; margin: 0 auto 10px; } }
.pg-flow-step__ico { display: none; }
.pg-flow-step__title { font-size: 17px; font-weight: 900; color: var(--pg-navy); }
.pg-flow-step__text { font-size: 13.5px; line-height: 1.75; color: var(--pg-sub); margin-top: 4px; }
@media (min-width: 1024px) {
	.pg-flow-step:not(:last-child)::after { content: ""; position: absolute; right: -14px; top: 40px; width: 14px; height: 22px; background: var(--pg-yellow); clip-path: polygon(0 0, 100% 50%, 0 100%); z-index: 2; }
}

/* ---------- エリア ---------- */
.pg-area { background: var(--pg-paper); }
.pg-area-grid { display: grid; gap: 16px; }
@media (min-width: 1024px) { .pg-area-grid { grid-template-columns: 1.1fr 1.1fr .8fr; gap: 20px; } }
.pg-area-card { background: var(--pg-white); border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow-sm); padding: 20px; }
.pg-area-card__pref { display: flex; align-items: center; gap: 6px; font-family: var(--pg-font-display); font-weight: 900; font-size: 24px; color: var(--pg-navy); margin-bottom: 12px; }
.pg-area-card__pref .pg-ico { color: var(--pg-red); }
.pg-area-card__cities { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-area-card__cities li { font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--pg-sky); color: var(--pg-navy); }
.pg-area-card__more { margin-top: 12px; font-size: 13px; color: var(--pg-sub); }
.pg-area-card--2 { background: var(--pg-yellow); }
.pg-area-card--2 .pg-area-card__more { color: var(--pg-navy-deep); font-weight: 700; font-size: 14px; }

/* ---------- FAQ ---------- */
.pg-faq { background: var(--pg-white); }
.pg-faq-list { display: grid; gap: 12px; }
.pg-faq-item { border: var(--pg-border); border-radius: var(--pg-radius); background: var(--pg-white); overflow: hidden; }
.pg-faq-item[open] { box-shadow: var(--pg-shadow-sm); }
.pg-faq-item__q { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; font-weight: 900; color: var(--pg-navy); font-size: 15.5px; line-height: 1.5; }
.pg-faq-item__q::-webkit-details-marker { display: none; }
.pg-faq-item__qt { flex: 1; min-width: 0; }
.pg-faq-item__mark { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--pg-navy); color: var(--pg-yellow); font-family: var(--pg-font-num); font-weight: 800; font-size: 20px; }
.pg-faq-item__mark.is-a { background: var(--pg-red); color: var(--pg-white); }
.pg-faq-item__tog { flex: none; width: 22px; height: 22px; position: relative; }
.pg-faq-item__tog::before, .pg-faq-item__tog::after { content: ""; position: absolute; left: 3px; right: 3px; top: 50%; height: 3px; margin-top: -1.5px; background: var(--pg-red); border-radius: 2px; transition: transform .2s; }
.pg-faq-item__tog::after { transform: rotate(90deg); }
.pg-faq-item[open] .pg-faq-item__tog::after { transform: rotate(0); }
.pg-faq-item__a { display: flex; gap: 12px; padding: 4px 16px 18px; }
.pg-faq-item__a p { font-size: 14.5px; line-height: 1.9; padding-top: 4px; }

/* ---------- 会社 ---------- */
.pg-company { background: var(--pg-sky); }
.pg-company__grid { display: grid; gap: 20px; }
@media (min-width: 1024px) { .pg-company__grid.has-photo { grid-template-columns: .9fr 1.1fr; gap: 32px; align-items: start; } }
.pg-company__media { border: var(--pg-border); border-radius: var(--pg-radius); overflow: hidden; box-shadow: var(--pg-shadow); }
.pg-company__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pg-company__media { display: grid; gap: 0; }
.pg-company__photo2 img { border-top: 3px solid var(--pg-navy-deep); }
.pg-company__table { background: var(--pg-white); border: var(--pg-border); border-radius: var(--pg-radius); padding: 8px 18px 22px; }
@media (min-width: 768px) { .pg-company__table { padding: 12px 30px 28px; } }
.pg-info-table { width: 100%; font-size: 14px; }
.pg-info-table th, .pg-info-table td { padding: 12px 0; border-bottom: 1px solid #dfe4f3; text-align: left; vertical-align: top; line-height: 1.75; }
.pg-info-table th { width: 7.5em; font-weight: 900; color: var(--pg-navy); padding-right: 12px; white-space: nowrap; }
.pg-info-table a { color: var(--pg-red-deep); text-decoration: none; font-size: 18px; }
@media (max-width: 559px) { .pg-info-table th, .pg-info-table td { display: block; width: auto; } .pg-info-table th { border-bottom: 0; padding-bottom: 0; } }

/* ---------- 最後のCTA ---------- */
.pg-contact { background: var(--pg-red); }
.pg-contact__box { position: relative; background: var(--pg-white); border: 4px solid var(--pg-navy-deep); border-radius: 24px; box-shadow: 10px 10px 0 var(--pg-navy-deep); padding: 30px 18px 24px; text-align: center; max-width: 1000px; margin: 0 auto; }
@media (min-width: 768px) { .pg-contact__box { padding: 44px 44px 34px; } }
.pg-contact__kicker { display: inline-block; font-weight: 900; font-size: 13px; background: var(--pg-navy); color: var(--pg-white); padding: 4px 14px; border-radius: 999px; }
.pg-contact__title { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(28px, 7.4vw, 48px); line-height: 1.3; color: var(--pg-navy); margin-top: 14px; }
.pg-contact__title em { font-style: normal; color: var(--pg-red); }
.pg-contact__lead { margin: 14px 0 22px; font-weight: 700; line-height: 1.9; }
.pg-contact__lead strong { color: var(--pg-red-deep); font-size: 1.15em; }
.pg-contact__note { margin-top: 14px; font-size: 12px; color: var(--pg-sub); }

/* ---------- フッター ---------- */
.pg-ft { background: var(--pg-navy-deep); color: #d8def3; }
.pg-ft__in { max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 0 auto; padding: 44px var(--pg-gutter) 20px; display: grid; gap: 28px; }
@media (min-width: 1024px) { .pg-ft__in { grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; } }
.pg-logo--ft { color: var(--pg-white); }
.pg-logo--ft .pg-logo__sub { color: #aab6de; }
.pg-ft__lead { margin-top: 14px; font-size: 13.5px; line-height: 1.8; }
.pg-ft__addr { font-style: normal; font-size: 13.5px; line-height: 1.8; margin-top: 12px; }
.pg-ft__tel { display: inline-flex; align-items: center; gap: 6px; font-size: 36px; color: var(--pg-yellow); text-decoration: none; margin-top: 6px; }
.pg-ft__open { display: block; font-size: 12.5px; }
.pg-ft__lic { margin-top: 10px; font-size: 12px; color: #aab6de; }
.pg-ft__navttl { font-weight: 900; color: var(--pg-yellow); margin-bottom: 8px; font-size: 14px; }
.pg-ft__nav a { display: inline-flex; align-items: center; gap: 4px; padding: 5px 0; font-size: 14px; text-decoration: none; }
.pg-ft__nav a:hover { color: var(--pg-yellow); }
.pg-ft__copy { text-align: center; padding: 16px var(--pg-gutter) 20px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 12px; color: #8d99c4; }

/* ---------- SPの固定バー ---------- */
.pg-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 6px; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); background: var(--pg-navy-deep); }
@media (min-width: 1024px) { .pg-bar { display: none; } }
.pg-bar__btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 52px; border-radius: 10px; text-decoration: none; color: var(--pg-white); font-weight: 900; font-size: 14px; line-height: 1.15; }
.pg-bar__btn span { display: grid; }
.pg-bar__btn small { font-size: 10px; font-weight: 700; opacity: .92; }
.pg-bar__btn .pg-ico { font-size: 22px; }
.pg-bar__btn--tel { background: linear-gradient(180deg, #ff4a2e, var(--pg-red-deep)); }
.pg-bar__btn--line { background: var(--pg-line); }
.pg-bar__btn--form { background: var(--pg-navy-2); }

/* ---------- スクロールで出現 ---------- */
/* ★JSが動かない・動きを減らす設定でも、中身は必ず見える（opacity:1 が既定）。
   JSが <html class="pg-js"> を付けたときだけ隠して、画面に入ったら出す。 */
.pg-js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--d, 0) * 90ms); }
.pg-js [data-reveal].is-in { opacity: 1; transform: none; }
html:not(.pg-js) [data-hero] { opacity: 1; transform: none; }
html:not(.pg-js) .pg-vs__bar span { width: var(--w); }

/* ==========================================================================
   上質化レイヤー（2026-09-15 吉田さん「ちょっと安っぽい」）
   - 太い黒フチ＋ずらした影（ステッカー調）をやめ、細い線＋やわらかい影に
   - 地色は 白／淡いグレーブルー／紺 の3つだけ。黄色と赤は「差し色」に限定
   - 点線の枠・工事テープ・傾き・集中線のギラつきを外す
   ========================================================================== */
:root {
	--pg-border: 1px solid rgba(11, 31, 92, .10);
	--pg-shadow: 0 24px 48px -20px rgba(11, 31, 92, .28), 0 4px 12px -4px rgba(11, 31, 92, .08);
	--pg-shadow-sm: 0 14px 30px -16px rgba(11, 31, 92, .30), 0 2px 6px -2px rgba(11, 31, 92, .06);
	--pg-paper: #f5f7fb;
	--pg-sky: #eef2fa;
	--pg-radius: 18px;
	--pg-gold: #f5c518;
	--pg-grad-navy: linear-gradient(160deg, #0f2a78 0%, #0b1f5c 45%, #06123a 100%);
}

/* ---------- 見出し：傾いた黄色いワッペン → 細い線つきの英字ラベル ---------- */
.pg-head__en {
	background: none; border: 0; box-shadow: none; transform: none;
	color: var(--pg-red); padding: 0; margin-bottom: 14px;
	font-size: 13px; letter-spacing: .32em;
	display: inline-flex; align-items: center; gap: 12px;
}
.pg-head__en::before, .pg-head__en::after { content: ""; width: 28px; height: 2px; background: currentColor; opacity: .5; border-radius: 2px; }
.pg-head.is-dark .pg-head__en { color: var(--pg-gold); }
.pg-head__title em { background: linear-gradient(transparent 80%, rgba(255, 224, 0, .75) 80% 94%, transparent 94%); }
.pg-head.is-dark .pg-head__title em { color: var(--pg-gold); background: none; }
.pg-reasons .pg-head__title em { background: linear-gradient(transparent 80%, rgba(255, 224, 0, .75) 80% 94%, transparent 94%); }

/* ---------- ボタン ---------- */
.pg-btn { border: 0; box-shadow: 0 12px 24px -12px rgba(6, 18, 58, .55); }
.pg-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 30px -14px rgba(6, 18, 58, .6); }
.pg-btn--tel { background: linear-gradient(135deg, #ff4a2e 0%, #e0141b 55%, #b80a12 100%); box-shadow: 0 14px 28px -12px rgba(207, 13, 20, .65); }
.pg-btn--line { background: linear-gradient(135deg, #1fd46a 0%, #06c755 60%, #05a947 100%); box-shadow: 0 14px 28px -12px rgba(6, 199, 85, .6); }
.pg-btn--form { background: linear-gradient(135deg, #2448b0 0%, #16328a 60%, #0f2468 100%); }
.pg-btn::after { background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .28), transparent); animation-duration: 5s; }
.pg-btn-line { border-width: 1px; }

/* ---------- ヘッダー ---------- */
.pg-topbar { background: #06123a; }
.pg-hd { border-bottom: 1px solid rgba(11, 31, 92, .10); }
.pg-hd.is-scrolled { box-shadow: 0 10px 30px -18px rgba(11, 31, 92, .45); }
.pg-logo__mark { background: var(--pg-navy); color: var(--pg-gold); border: 0; box-shadow: none; transform: none; border-radius: 12px; }
.pg-hd__cta { border: 0; box-shadow: 0 10px 20px -12px rgba(180, 140, 0, .8); background: linear-gradient(135deg, #ffe44d, #ffd000); }
.pg-hd__cta:hover { background: linear-gradient(135deg, #fff08a, #ffdc33); }
/* ★ナビの出し分けは「ヘッダーの実際の幅」で決める（スクロールバーや拡大率で溢れないように） */
.pg-hd { container-type: inline-size; container-name: pghd; }
@media (min-width: 1400px) { .pg-nav { display: none; } .pg-hd__menu { display: grid; } }
@container pghd (min-width: 1340px) {
	.pg-nav { display: block; flex: 0 1 auto; min-width: 0; }
	.pg-nav__list { display: flex; gap: 2px; }
	.pg-nav__list a { display: block; padding: 8px 8px; font-size: 14px; font-weight: 700; text-decoration: none; color: var(--pg-navy); border-radius: 8px; white-space: nowrap; }
	.pg-nav__list a:hover { background: var(--pg-sky); }
	.pg-hd__menu { display: none; }
}

/* ---------- メイン画像の下（H1〜ボタン） ---------- */
.pg-hero.is-mv { background: var(--pg-grad-navy); }
.pg-hero.is-mv .pg-hero__rays { display: none; }
.pg-hero.is-mv .pg-hero__dots { background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.2px); background-size: 22px 22px; mask-image: none; -webkit-mask-image: none; }
.pg-hero.is-mv .pg-ticker { border: 0; }
.pg-mv__h1 { text-shadow: none; }
.pg-mv__h1 em { color: var(--pg-gold); background: none; }
.pg-mv__h1-brand { color: #aebbe6; }
.pg-hero__proof { border: 0; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .55); border-radius: 16px; }
.pg-hero__proof-ttl { background: var(--pg-sky); color: var(--pg-navy); }
.pg-hero__proof-other s { text-decoration-thickness: 2px; }

/* ---------- 流れる帯 ---------- */
.pg-ticker { border-block: 0; background: linear-gradient(90deg, #ffd000, #ffe44d 50%, #ffd000); }
.pg-ticker__list li { font-size: 14px; }

/* ---------- 数字：色ベタの4枚 → 1枚の白いパネルを縦線で4つに ---------- */
.pg-summary { background: var(--pg-paper); padding-block: 64px; }
.pg-stats { background: var(--pg-white); border-radius: 22px; box-shadow: var(--pg-shadow); gap: 0; overflow: hidden; }
.pg-stat, .pg-stat--yellow, .pg-stat--red, .pg-stat--navy, .pg-stat--white {
	background: transparent; color: var(--pg-ink); border: 0; box-shadow: none; border-radius: 0;
	padding: 26px 12px 24px; position: relative;
}
.pg-stat + .pg-stat::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: rgba(11, 31, 92, .12); }
@media (max-width: 1023px) {
	.pg-stat:nth-child(3)::before { display: none; }
	.pg-stat:nth-child(n+3)::after { content: ""; position: absolute; top: 0; left: 12%; right: 12%; height: 1px; background: rgba(11, 31, 92, .12); }
}
.pg-stat__label { color: var(--pg-sub); font-size: 12px; letter-spacing: .06em; }
.pg-stat__num, .pg-stat--white .pg-stat__num, .pg-stat--navy .pg-stat__num { color: var(--pg-navy); }
.pg-stat--yellow .pg-stat__num, .pg-stat--red .pg-stat__num { color: var(--pg-red-deep); }
.pg-stat__unit { color: var(--pg-navy); }
.pg-stat__note { color: var(--pg-sub); opacity: 1; }

.pg-points { border: 0; background: var(--pg-white); box-shadow: var(--pg-shadow-sm); border-left: 4px solid var(--pg-gold); border-radius: 14px; }
.pg-points__ttl .pg-ico { background: var(--pg-navy); }
.pg-points__list li::before { border: 0; background: var(--pg-gold); width: .45em; height: .45em; border-radius: 50%; transform: none; }
.pg-points__list strong { background: none; color: var(--pg-navy); }

/* ---------- 比較 ---------- */
.pg-compare { background: var(--pg-grad-navy); }
.pg-compare__rays, .pg-contact__rays { background: radial-gradient(60% 50% at 50% 40%, rgba(58, 110, 255, .22), transparent 70%); }
.pg-vs__col { border: 1px solid rgba(255, 255, 255, .14); }
.pg-vs__col--other { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
.pg-vs__col--ours { background: var(--pg-white); color: var(--pg-ink); border: 0; box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .7); }
.pg-vs__col--ours::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--pg-red), #ff7a3d); border-radius: var(--pg-radius) var(--pg-radius) 0 0; }
.pg-vs__col--ours .pg-vs__who { color: var(--pg-navy); }
.pg-vs__rows li { border-bottom: 1px solid currentColor; border-bottom-color: rgba(127, 140, 180, .25); }
.pg-vs__bar { border: 0; height: 10px; background: rgba(255, 255, 255, .12); }
.pg-vs__bar span { background: #8d95bf; }
.pg-vs__col--ours .pg-vs__bar { background: #eef1f8; }
.pg-vs__col--ours .pg-vs__bar span { background: linear-gradient(90deg, var(--pg-red), #ff7a3d); }
.pg-vs__mid span { border: 0; transform: none; width: 52px; height: 52px; font-size: 20px; background: var(--pg-gold); color: var(--pg-navy-deep); }
.pg-diff__label { color: #c9d4f5; font-size: 16px; letter-spacing: .2em; }
.pg-diff__num { text-shadow: none; background: linear-gradient(180deg, #fff 30%, #ffe89a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pg-diff__yen { color: #ffe89a; -webkit-text-fill-color: #ffe89a; }
.pg-compare__msg { border-top-color: rgba(255, 255, 255, .12); font-weight: 500; }

/* ---------- 大きな片付け ---------- */
.pg-big::before { display: none; }
.pg-big__targets li { background: var(--pg-sky); color: var(--pg-navy); font-weight: 700; }
.pg-big__targets .pg-ico { color: var(--pg-red); }
.pg-big__figure { border: 0; }
.pg-big__figure figcaption { border: 0; background: rgba(6, 18, 58, .82); color: var(--pg-white); backdrop-filter: blur(4px); border-top-right-radius: 14px; font-weight: 700; }
.pg-big-point { background: var(--pg-white); border: 0; }
.pg-big-point__ico { background: #fff4c2; color: var(--pg-navy); }
.pg-case { border: 0; }

/* ---------- 安さの仕組み ---------- */
.pg-why::before { opacity: .6; }
.pg-step { border: 0; }
.pg-step__no { border: 0; font-size: 20px; padding: 4px 12px; border-radius: 999px; top: -14px; box-shadow: 0 8px 16px -8px rgba(207, 13, 20, .7); }
.pg-step__ico { border: 0; background: #fff4c2; }
.pg-step:not(:last-child)::after { background: rgba(11, 31, 92, .25); }
.pg-eq__box { border: 0; box-shadow: var(--pg-shadow-sm); }
.pg-eq__box--gold { background: #fff4c2; }
.pg-eq__op { color: var(--pg-sub); }

/* ---------- 料金 ---------- */
.pg-price { background: var(--pg-paper); }
.pg-plan { border: 0; }
.pg-plan__head { background: var(--pg-grad-navy); }
.pg-plan--omakase .pg-plan__head { background: linear-gradient(160deg, #2448b0, #16328a); }
.pg-plan--kaden .pg-plan__head { background: linear-gradient(160deg, #3a4466, #262e4a); }
.pg-plan__ttl { color: var(--pg-gold); }
.pg-card-price { border: 1px solid rgba(11, 31, 92, .12); }
.pg-card-price.is-pick { background: #fffbea; border: 2px solid var(--pg-red); }
.pg-cta-band { background: var(--pg-grad-navy); border: 0; color: var(--pg-white); }
.pg-cta-band::before { background: radial-gradient(60% 80% at 50% 0%, rgba(58, 110, 255, .35), transparent 70%); }
.pg-cta-band__ttl { color: var(--pg-white); }
.pg-cta-band__ttl em { color: var(--pg-gold); }
.pg-cta-band__text { color: #c9d4f5; font-weight: 500; }

/* ---------- 有価物・場面 ---------- */
.pg-valuable { background: var(--pg-white); }
.pg-val { border: 1px solid rgba(11, 31, 92, .10); box-shadow: var(--pg-shadow-sm); }
.pg-val__ico { transform: none; background: var(--pg-sky); color: var(--pg-navy); border-radius: 14px; }
.pg-license-chip { background: var(--pg-sky); color: var(--pg-navy); }
.pg-license-chip .pg-ico { color: var(--pg-red); }
.pg-scenes { background: var(--pg-paper); }
.pg-scene { border: 0; }
.pg-scene__ph { background: var(--pg-grad-navy); color: var(--pg-gold); }
@media (min-width: 768px) { .pg-scene__body { border-top: 0; } }

/* ---------- 合法（工事テープは外す） ---------- */
.pg-legal > .pg-tape { display: none; }
.pg-legal { background: var(--pg-grad-navy); padding-top: var(--pg-sec-y); }
.pg-legal__lesson { border: 0; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }
.pg-legal-table th, .pg-legal-table td { border: 1px solid #d7deef; }
.pg-legal-table thead th.is-good { background: #fff4c2; }
.pg-legal-table tbody th { background: #16328a; }
.pg-legal-table td.is-good { background: #fffcee; }
.pg-legal__box { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.pg-legal__h3 { color: var(--pg-gold); }
.pg-lic-list li.is-key .pg-lic-list__name { color: var(--pg-gold); }
.pg-legal__check { background: rgba(255, 42, 31, .12); border: 1px solid rgba(255, 110, 100, .45); }
.pg-legal__check li { background: rgba(255, 255, 255, .06); }
.pg-legal__check-ttl { color: #ffb3ad; }
.pg-legal__check-foot { color: var(--pg-navy-deep); }

/* ---------- 選ばれる理由（黄色いベタ面 → 淡い地） ---------- */
.pg-reasons { background: var(--pg-paper); }
.pg-reasons::before { display: none; }
.pg-reasons .pg-head__lead { color: var(--pg-sub); font-weight: 500; }
.pg-reason { border: 0; }
.pg-reason__ico { background: var(--pg-navy); color: var(--pg-gold); }
.pg-reason__no { color: #eef2fa; }

/* ---------- 声・流れ・エリア・FAQ・会社 ---------- */
.pg-voice-card, .pg-voice-card:nth-child(even) { background: var(--pg-white); border: 0; box-shadow: var(--pg-shadow-sm); }
.pg-voice-card__q { color: rgba(255, 42, 31, .25); }
.pg-voice-card__text { font-weight: 500; }
.pg-voice-card__avatar { border: 0; background: var(--pg-sky); color: var(--pg-navy); }
.pg-voice { background: var(--pg-paper); }
.pg-flow { background: var(--pg-grad-navy); }
.pg-flow-step { border: 0; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .6); }
.pg-flow-step__no { border: 0; background: #fff4c2; }
.pg-flow-step:not(:last-child)::after { background: var(--pg-gold); }
.pg-area { background: var(--pg-white); }
.pg-area-card, .pg-area-card--2 { background: var(--pg-white); border: 1px solid rgba(11, 31, 92, .10); }
.pg-area-card--2 .pg-area-card__more { color: var(--pg-navy); }
.pg-faq { background: var(--pg-paper); }
.pg-faq-item { border: 0; box-shadow: var(--pg-shadow-sm); }
.pg-faq-item__mark.is-a { background: var(--pg-gold); color: var(--pg-navy-deep); }
.pg-company { background: var(--pg-white); }
.pg-company__media, .pg-company__table { border: 0; }
.pg-company__table { box-shadow: var(--pg-shadow-sm); }
.pg-company__photo2 img { border-top: 0; margin-top: 2px; }

/* ---------- 最後のCTA（赤ベタ＋集中線 → 紺のグラデーション） ---------- */
.pg-contact { background: var(--pg-grad-navy); }
.pg-contact__box { border: 0; box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .7); }
.pg-contact__kicker { background: var(--pg-sky); color: var(--pg-navy); }

/* ---------- フッター（テープ → 細い金の線） ---------- */
.pg-ft > .pg-tape { height: 3px; background: linear-gradient(90deg, transparent, var(--pg-gold), transparent); }
.pg-ft { background: #050f30; }

/* ---------- SPの固定バー ---------- */
.pg-bar { background: rgba(6, 18, 58, .96); backdrop-filter: blur(6px); }

/* 地色の並び：白と淡いグレーを交互に、紺で区切る */
.pg-why { background: var(--pg-paper); }
.pg-why::before { display: none; }
.pg-price { background: var(--pg-white); }
.pg-valuable { background: var(--pg-paper); }
.pg-scenes { background: var(--pg-white); }
.pg-voice { background: var(--pg-white); }
.pg-voice-card, .pg-voice-card:nth-child(even) { background: var(--pg-paper); box-shadow: none; }
.pg-vs__col--ours { overflow: hidden; }

/* ---------- 数字の見出し・要点・ボタン（2026-09-15 吉田さん） ---------- */
.pg-summary__head { margin-bottom: 30px; }
@media (min-width: 768px) { .pg-summary__head { margin-bottom: 40px; } }
/* このページの要点：中央寄せのカード。4項目をアイコン付きの2列に */
.pg-points { max-width: 980px; margin: 32px auto 0; border-left: 0; border-top: 0; padding: 26px 18px 22px; text-align: center; position: relative; }
@media (min-width: 768px) { .pg-points { padding: 34px 36px 30px; } }
.pg-points::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 72px; height: 4px; border-radius: 0 0 4px 4px; background: var(--pg-gold); }
.pg-points__ttl { justify-content: center; font-size: 17px; margin-bottom: 20px; letter-spacing: .06em; }
.pg-points__badge { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--pg-navy); color: var(--pg-white); }
.pg-points__badge .pg-ico { background: none; padding: 0; font-size: 15px; color: var(--pg-white); }
.pg-points__list { display: grid; gap: 12px; text-align: left; }
@media (min-width: 768px) { .pg-points__list { grid-template-columns: 1fr 1fr; gap: 14px 18px; } }
.pg-points__list li { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: var(--pg-paper); border-radius: 12px; }
.pg-points__list li + li { margin-top: 0; }
.pg-points__list li::before { display: none; }
.pg-points__ico { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--pg-navy); color: var(--pg-gold); font-size: 20px; }
.pg-points__list p { font-size: 14px; line-height: 1.8; }

/* 電話・LINE・フォーム：3つとも同じ幅・同じ高さ・中身は中央 */
@media (min-width: 768px) { .pg-ctabtns { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-ctabtns.is-stack { grid-template-columns: 1fr; }
.pg-btn { justify-content: center; min-height: 80px; }
.pg-ctabtns.is-big .pg-btn { min-height: 84px; }
.pg-btn__body { text-align: left; }
@media (min-width: 768px) { .pg-btn--tel .pg-btn__main { font-size: clamp(22px, 2.3vw, 30px); } .pg-btn__main { font-size: 19px; } }

@media (prefers-reduced-motion: reduce) {
	/* 止めるのは「動き」だけ。表示の切り替え（is-in）はJSがそのまま行う */
	.pg-hero__rays, .pg-burst__spikes, .pg-burst__body, .pg-ticker__track, .pg-btn::after { animation: none !important; }
	.pg-js [data-reveal], [data-hero], .pg-vs__bar span { transition: none !important; }
	.pg-ticker { overflow-x: auto; }
}


/* ---------- 比較を派手に（2026-09-15 吉田さん「もっといい感じに派手に」） ---------- */
.pg-vs { position: relative; }
.pg-vs__spot { position: absolute; z-index: 0; pointer-events: none; right: -10%; top: -20%; width: 70%; height: 140%;
	background: radial-gradient(closest-side, rgba(255, 170, 60, .38), rgba(255, 90, 40, .14) 55%, transparent 75%); filter: blur(10px); animation: pg-breathe 4.5s ease-in-out infinite; }
@media (max-width: 1023px) { .pg-vs__spot { right: -20%; left: -20%; width: auto; top: 45%; height: 70%; } }
@keyframes pg-breathe { 0%, 100% { opacity: .75; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
.pg-vs__col { z-index: 1; }
/* 他社：沈める */
.pg-vs__col--other .pg-vs__who, .pg-vs__col--other .pg-vs__rows, .pg-vs__col--other .pg-vs__bar, .pg-vs__col--other .pg-vs__total { opacity: .72; }
.pg-vs__col--other .pg-vs__total { opacity: .85; }
.pg-vs__col--other .pg-vs__total .pg-num { text-decoration: none; }
.pg-vs__strike { position: relative; display: inline-block; }
.pg-vs__strike::after { content: ""; position: absolute; left: -4%; right: -4%; top: 50%; height: 6px; border-radius: 4px; background: linear-gradient(90deg, #ff2a1f, #ff7a3d);
	box-shadow: 0 0 12px rgba(255, 60, 40, .8); transform: rotate(-6deg) scaleX(0); transform-origin: left center; transition: transform .7s cubic-bezier(.7, 0, .3, 1) .9s; }
.pg-vs__col.is-in .pg-vs__strike::after, html:not(.pg-js) .pg-vs__strike::after { transform: rotate(-6deg) scaleX(1); }
/* ペガサス：光るフチ＋リボン＋持ち上げ */
.pg-vs__col--ours { overflow: visible; border-radius: var(--pg-radius); }
@media (min-width: 1024px) { .pg-vs__col--ours { transform: scale(1.04); transform-origin: center; } .pg-vs__col--ours.is-in { transform: scale(1.04); } }
.pg-vs__col--ours::before { display: none; }
.pg-vs__col--ours { box-shadow: 0 0 44px rgba(255, 140, 40, .45), 0 30px 70px -30px rgba(0, 0, 0, .8); }
/* 光るフチ：3pxの輪だけ残して中を抜く（中身の白は残す） */
.pg-vs__glow { position: absolute; inset: -3px; z-index: 3; border-radius: calc(var(--pg-radius) + 3px); overflow: hidden; pointer-events: none; padding: 3px;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.pg-vs__glow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 200%; aspect-ratio: 1; margin: -100% 0 0 -100%;
	background: conic-gradient(from 0deg, #ffd000, #ff7a3d, #ff2a1f, #ffd000 40%, #fff3b0 50%, #ffd000 60%, #ff2a1f, #ff7a3d, #ffd000); animation: pg-spin 5s linear infinite; }
.pg-vs__ribbon { position: absolute; top: -18px; right: 18px; z-index: 5; margin: 0; display: inline-flex; align-items: baseline; gap: 3px;
	padding: 6px 16px 7px; border-radius: 999px; color: #fff; font-weight: 900; font-size: 15px; letter-spacing: .04em; line-height: 1;
	background: linear-gradient(135deg, #ff4a2e, #d80f16); box-shadow: 0 10px 24px -8px rgba(216, 15, 22, .8); }
.pg-vs__ribbon span { font-size: 11px; font-weight: 700; margin-right: 4px; opacity: .92; }
.pg-vs__ribbon b { font-size: 26px; color: #fff3b0; }
.pg-vs__col--ours .pg-vs__bar span { position: relative; overflow: hidden; box-shadow: 0 0 14px rgba(255, 80, 40, .7); }
.pg-vs__col--ours .pg-vs__bar span::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .8) 50%, transparent 80%); transform: translateX(-100%); animation: pg-bar-shine 2.4s ease-in-out infinite 1.6s; }
@keyframes pg-bar-shine { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }
.pg-vs__col--ours .pg-vs__total { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: wrap; gap: 0 6px; }
.pg-vs__col--ours .pg-vs__total .pg-num { font-size: clamp(56px, 15vw, 80px); background: linear-gradient(180deg, #ff3b2f, #c10a12); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 6px 14px rgba(216, 15, 22, .28)); line-height: 1; }
.pg-vs__only { font-size: 13px; font-weight: 900; color: #fff; background: var(--pg-red); border-radius: 6px; padding: 3px 8px; align-self: center; margin-right: 4px; }
/* VS：鼓動 */
.pg-vs__mid span { position: relative; box-shadow: 0 0 0 0 rgba(245, 197, 24, .6); animation: pg-ring 2s ease-out infinite; }
@keyframes pg-ring { 0% { box-shadow: 0 0 0 0 rgba(245, 197, 24, .6); } 100% { box-shadow: 0 0 0 18px rgba(245, 197, 24, 0); } }
/* その差：光が走る */
.pg-diff__num[data-shine] { background: linear-gradient(100deg, #ffe7a0 0%, #ffe7a0 38%, #ffffff 50%, #ffe7a0 62%, #ffe7a0 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; animation: pg-text-shine 3.6s linear infinite; }
@keyframes pg-text-shine { from { background-position: 100% 0; } to { background-position: -150% 0; } }
.pg-diff { position: relative; }
.pg-diff::before { content: ""; position: absolute; left: 50%; top: 55%; width: min(760px, 96%); height: 60%; transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(255, 200, 60, .22), transparent); pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
	.pg-vs__spot, .pg-vs__glow::before, .pg-vs__col--ours .pg-vs__bar span::after, .pg-vs__mid span, .pg-diff__num[data-shine] { animation: none !important; }
	.pg-vs__strike::after { transition: none !important; }
}

/* ---------- 大きな片付けのパターン（NUMBERS の下） ---------- */
.pg-patterns { background: var(--pg-white); }
.pg-patterns__bgword { position: absolute; left: 50%; top: 40px; transform: translateX(-50%); font-family: var(--pg-font-num); font-weight: 800; font-size: clamp(90px, 20vw, 260px); line-height: 1; letter-spacing: .04em; color: transparent; -webkit-text-stroke: 1px rgba(11, 31, 92, .07); white-space: nowrap; pointer-events: none; user-select: none; }
.pg-patterns .pg-wrap { position: relative; }
.pg-pt-feature { display: grid; gap: 16px; }
@media (min-width: 1024px) { .pg-pt-feature { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }
.pg-pt-card { position: relative; overflow: hidden; isolation: isolate; border-radius: 22px; padding: 26px 24px 24px; color: var(--pg-white);
	background: radial-gradient(120% 90% at 100% 0%, rgba(58, 110, 255, .45), transparent 55%), var(--pg-grad-navy);
	box-shadow: 0 30px 60px -32px rgba(11, 31, 92, .75); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s; }
@media (min-width: 1024px) { .pg-pt-card { min-height: 360px; display: flex; flex-direction: column; padding: 30px 28px 28px; } }
.pg-pt-card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -30px rgba(11, 31, 92, .85); }
.pg-pt-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
	background: linear-gradient(140deg, rgba(245, 197, 24, .8), rgba(255, 255, 255, .08) 40%, rgba(245, 197, 24, .35));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.pg-pt-card__ghost { position: absolute; z-index: -1; right: -30px; bottom: -34px; font-size: 210px; color: rgba(255, 255, 255, .06); line-height: 0; transition: transform .6s; }
.pg-pt-card:hover .pg-pt-card__ghost { transform: rotate(-8deg) scale(1.06); }
.pg-pt-card__top { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.pg-pt-card__no { font-size: 44px; line-height: 1; color: var(--pg-gold); }
.pg-pt-card__en { font-family: var(--pg-font-num); font-weight: 700; font-size: 13px; letter-spacing: .24em; color: #aebbe6; }
.pg-pt-card__ico { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: rgba(245, 197, 24, .14); color: var(--pg-gold); font-size: 28px; margin-bottom: 14px; border: 1px solid rgba(245, 197, 24, .35); }
.pg-pt-card__title { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(24px, 6vw, 30px); letter-spacing: .03em; margin-bottom: 10px; }
.pg-pt-card__text { font-size: 14.5px; line-height: 1.9; color: #d6def7; }
.pg-pt-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 18px; }
.pg-pt-card__tags li { font-size: 12.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .18); }
.pg-pt-more { display: grid; gap: 12px; margin-top: 22px; }
@media (min-width: 768px) { .pg-pt-more { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (min-width: 1024px) { .pg-pt-more { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
.pg-pt-mini { display: flex; align-items: flex-start; gap: 14px; padding: 18px 18px; border-radius: 16px; background: var(--pg-paper); border: 1px solid rgba(11, 31, 92, .06); transition: background .25s, transform .25s; }
.pg-pt-mini:hover { background: #fff; transform: translateY(-3px); box-shadow: var(--pg-shadow-sm); }
.pg-pt-mini__ico { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--pg-navy); color: var(--pg-gold); font-size: 24px; }
.pg-pt-mini__title { font-size: 16.5px; font-weight: 900; color: var(--pg-navy); line-height: 1.4; }
.pg-pt-mini__text { font-size: 13.5px; line-height: 1.75; color: var(--pg-sub); margin-top: 4px; }
.pg-pt-foot { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding: 20px 26px; border-radius: 18px; background: linear-gradient(90deg, #fff7d6, #fffcee); border: 1px solid rgba(245, 197, 24, .45); }
.pg-pt-foot__text { display: grid; line-height: 1.6; }
.pg-pt-foot__text b { font-size: 17px; color: var(--pg-navy); }
.pg-pt-foot__text span { font-size: 13.5px; color: var(--pg-sub); }
.pg-pt-foot__tel { display: inline-flex; align-items: center; gap: 8px; color: var(--pg-red-deep); text-decoration: none; font-size: 34px; }
@media (max-width: 767px) { .pg-pt-foot { justify-content: center; text-align: center; } .pg-pt-foot__tel { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .pg-pt-card, .pg-pt-card__ghost, .pg-pt-mini { transition: none; } }
@media (max-width: 767px) {
	.pg-pt-more { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pg-pt-mini { flex-direction: column; gap: 10px; padding: 16px 14px; }
	.pg-pt-mini__ico { width: 40px; height: 40px; font-size: 21px; }
	.pg-pt-mini__title { font-size: 15px; }
	.pg-pt-mini__text { font-size: 12.5px; line-height: 1.7; }
}
.pg-pt-foot__text b, .pg-pt-foot__text span { text-wrap: balance; }

/* ==========================================================================
   2026-09-15 第3弾：背景写真／なぜ安いの写真と方程式／料金を主役に
   ========================================================================== */

/* ---------- 背景写真（吉田さん支給・紺を重ねて文字を読みやすく）
   ★写真は画面に近づいてから読む（.bg-on はJSが付ける。JSが無い環境では最初から出す） ---------- */
[data-bg] { --pg-bg-img: none; }
html:not(.pg-js) [data-bg], [data-bg].bg-on { --pg-bg-img: var(--pg-bg-src); }
.pg-hero.is-mv[data-bg] { background: linear-gradient(180deg, rgba(6, 18, 58, .90), rgba(11, 31, 92, .86) 45%, rgba(6, 18, 58, .94)), var(--pg-bg-img) center / cover no-repeat, var(--pg-navy-deep); }
.pg-compare[data-bg] { background: linear-gradient(160deg, rgba(15, 42, 120, .90), rgba(11, 31, 92, .90) 45%, rgba(6, 18, 58, .95)), var(--pg-bg-img) center / cover no-repeat, var(--pg-navy-deep); }
.pg-legal[data-bg] { background: linear-gradient(160deg, rgba(15, 42, 120, .92), rgba(11, 31, 92, .90) 45%, rgba(6, 18, 58, .95)), var(--pg-bg-img) center / cover no-repeat, var(--pg-navy-deep); }
.pg-flow[data-bg] { background: linear-gradient(160deg, rgba(22, 50, 138, .90), rgba(11, 31, 92, .90) 50%, rgba(6, 18, 58, .94)), var(--pg-bg-img) center 30% / cover no-repeat, var(--pg-navy-deep); }
.pg-contact[data-bg] { background: linear-gradient(160deg, rgba(15, 42, 120, .88), rgba(11, 31, 92, .86) 45%, rgba(6, 18, 58, .93)), var(--pg-bg-img) center / cover no-repeat, var(--pg-navy-deep); }
.pg-cta-band[data-bg] { background: linear-gradient(120deg, rgba(6, 18, 58, .92), rgba(11, 31, 92, .80) 55%, rgba(6, 18, 58, .88)), var(--pg-bg-img) center / cover no-repeat, var(--pg-navy-deep); }
.pg-hero.is-mv .pg-hero__dots { opacity: .6; }

/* ---------- なぜ安い：写真つきのステップ ---------- */
.pg-steps { gap: 20px; }
@media (min-width: 768px) { .pg-steps { gap: 24px; } }
.pg-step.has-pic { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.pg-step__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--pg-sky); }
.pg-step__media picture, .pg-step__media img { width: 100%; height: 100%; display: block; }
.pg-step__media img { object-fit: cover; transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.pg-step:hover .pg-step__media img { transform: scale(1.06); }
.pg-step__media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(0deg, rgba(6, 18, 58, .45), transparent); }
.pg-step.has-pic .pg-step__body { padding: 20px 20px 22px; position: relative; flex: 1; }
.pg-step__head { display: flex; }
.pg-step.has-pic .pg-step__head { align-items: center; justify-content: space-between; margin: -44px 0 12px; position: relative; z-index: 1; }
.pg-step.has-pic .pg-step__no { position: static; font-size: 16px; letter-spacing: .12em; padding: 7px 14px; border-radius: 999px; background: linear-gradient(135deg, #ff4a2e, #d80f16); color: #fff; box-shadow: 0 10px 20px -8px rgba(216, 15, 22, .7); }
.pg-step.has-pic .pg-step__ico { width: 52px; height: 52px; margin: 0; font-size: 26px; background: #fff; color: var(--pg-navy); box-shadow: 0 10px 22px -10px rgba(11, 31, 92, .5); border: 3px solid #fff4c2; }
.pg-step.has-pic .pg-step__title { font-size: 18.5px; line-height: 1.45; }
@media (min-width: 1024px) { .pg-step.has-pic:not(:last-child)::after { top: 30%; } }

/* ---------- 安さの方程式 ---------- */
.pg-why__equation { display: none; }
.pg-formula { position: relative; margin: 52px auto 0; max-width: 1040px; padding: 30px 18px 26px; border-radius: 26px; text-align: center; color: #fff; overflow: hidden; isolation: isolate;
	background: radial-gradient(80% 120% at 50% 0%, rgba(58, 110, 255, .4), transparent 60%), var(--pg-grad-navy); box-shadow: 0 40px 80px -40px rgba(11, 31, 92, .9); }
@media (min-width: 768px) { .pg-formula { padding: 40px 40px 34px; } }
.pg-formula::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.2px); background-size: 20px 20px; }
.pg-formula__label { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 900; letter-spacing: .2em; color: var(--pg-gold); margin-bottom: 20px; }
.pg-formula__label::before, .pg-formula__label::after { content: ""; width: 26px; height: 1px; background: currentColor; opacity: .6; }
.pg-formula__row { display: grid; gap: 10px; align-items: center; }
@media (min-width: 768px) { .pg-formula__row { grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: 14px; } }
.pg-formula__term { display: grid; justify-items: center; gap: 4px; padding: 18px 12px 16px; border-radius: 18px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); }
.pg-formula__term b { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(22px, 5.6vw, 28px); line-height: 1.3; }
.pg-formula__term small { font-size: 12px; color: #c9d4f5; }
.pg-formula__ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .12); font-size: 24px; margin-bottom: 4px; }
.pg-formula__term.is-gold { background: linear-gradient(160deg, rgba(245, 197, 24, .28), rgba(245, 197, 24, .10)); border-color: rgba(245, 197, 24, .6); }
.pg-formula__term.is-gold .pg-formula__ico { background: var(--pg-gold); color: var(--pg-navy-deep); }
.pg-formula__term.is-result { background: linear-gradient(145deg, #ff4a2e, #c10a12); border: 0; box-shadow: 0 20px 40px -18px rgba(255, 60, 40, .9), 0 0 0 1px rgba(255, 255, 255, .15) inset; position: relative; }
.pg-formula__term.is-result .pg-formula__ico { background: #fff; color: var(--pg-red-deep); }
.pg-formula__term.is-result small { color: #ffe3de; }
.pg-formula__op { font-family: var(--pg-font-num); font-weight: 800; font-size: 40px; line-height: 1; color: var(--pg-gold); justify-self: center; }
.pg-formula__quote { margin-top: 22px; font-size: 14px; color: #c9d4f5; line-height: 1.9; }
.pg-formula__quote span { display: block; font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(17px, 4.4vw, 22px); color: #fff; margin-bottom: 2px; }
.pg-js .pg-formula__term { opacity: 0; transform: translateY(14px) scale(.96); transition: opacity .5s, transform .5s cubic-bezier(.2, .8, .2, 1); }
.pg-js .pg-formula.is-in .pg-formula__term { opacity: 1; transform: none; }
.pg-js .pg-formula.is-in .pg-formula__term:nth-of-type(2) { transition-delay: .25s; }
.pg-js .pg-formula.is-in .pg-formula__term:nth-of-type(3) { transition-delay: .5s; }
.pg-formula.is-in .pg-formula__term.is-result { animation: pg-pop 2.8s ease-in-out 1.2s infinite; }
@keyframes pg-pop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }

/* ---------- 料金：暗い地で主役に ---------- */
.pg-price { background: radial-gradient(70% 50% at 50% 0%, rgba(58, 110, 255, .30), transparent 70%), var(--pg-grad-navy); color: #fff; }
.pg-price__bgword { position: absolute; left: 50%; top: 30px; transform: translateX(-50%); font-family: var(--pg-font-num); font-weight: 800; font-size: clamp(110px, 24vw, 300px); line-height: 1; letter-spacing: .06em; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .07); pointer-events: none; user-select: none; white-space: nowrap; }
.pg-price .pg-wrap { position: relative; }
.pg-promise { display: grid; gap: 10px; margin: -8px 0 34px; }
@media (min-width: 768px) { .pg-promise { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.pg-promise li { display: grid; grid-template-columns: 46px 1fr; column-gap: 12px; align-items: center; padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(245, 197, 24, .35); }
.pg-promise__ico { grid-row: span 2; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--pg-gold); color: var(--pg-navy-deep); font-size: 24px; }
.pg-promise b { font-size: 16px; line-height: 1.4; }
.pg-promise small { font-size: 12px; color: #c9d4f5; }
.pg-price .pg-plan { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .8); }
.pg-price .pg-plan__head, .pg-price .pg-plan--omakase .pg-plan__head, .pg-price .pg-plan--kaden .pg-plan__head { background: transparent; border-bottom: 1px solid rgba(255, 255, 255, .10); }
.pg-price .pg-plan__text { color: #c9d4f5; }
.pg-card-price { position: relative; border: 0; border-radius: 16px; box-shadow: 0 20px 40px -26px rgba(0, 0, 0, .8); color: var(--pg-ink); }
.pg-pricetag__num { background: linear-gradient(180deg, #ff3b2f, #c10a12); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pg-card-price.is-pick { background: #fff; border: 0; transform: none; box-shadow: 0 0 44px rgba(255, 170, 60, .40), 0 24px 50px -24px rgba(0, 0, 0, .9); }
@media (min-width: 768px) { .pg-card-price.is-pick { transform: translateY(-8px); } }
.pg-card-price.is-pick .pg-pricetag__num { font-size: clamp(60px, 16vw, 78px); filter: drop-shadow(0 6px 12px rgba(216, 15, 22, .25)); }
.pg-card-price__badge { display: inline-flex; align-items: center; gap: 5px; z-index: 5; background: linear-gradient(135deg, #ffe44d, #f5c518); color: var(--pg-navy-deep); font-size: 13px; padding: 5px 16px; box-shadow: 0 10px 20px -10px rgba(180, 140, 0, .9); }
.pg-card-price__badge .pg-ico { color: var(--pg-red); }
.pg-glow { position: absolute; inset: -3px; z-index: 3; border-radius: 19px; overflow: hidden; pointer-events: none; padding: 3px;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.pg-glow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 200%; aspect-ratio: 1; margin: -100% 0 0 -100%;
	background: conic-gradient(from 0deg, #ffd000, #ff7a3d, #ff2a1f, #ffd000 40%, #fff3b0 50%, #ffd000 60%, #ff2a1f, #ff7a3d, #ffd000); animation: pg-spin 5s linear infinite; }
/* 注意書き：中央のカードに */
.pg-price__notebox { max-width: 900px; margin: 30px auto 0; padding: 22px 20px 20px; border-radius: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); }
@media (min-width: 768px) { .pg-price__notebox { padding: 26px 34px 24px; } }
.pg-price__notettl { display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 900; font-size: 15px; color: var(--pg-gold); margin-bottom: 12px; }
.pg-price .pg-price__notes { margin: 0; color: #dfe6ff; }
.pg-price .pg-price__notes li > .pg-ico:first-child { color: var(--pg-gold); }
.pg-price .pg-price__notes a { color: #ffe89a; }
.pg-price .pg-cta-band { border: 1px solid rgba(255, 255, 255, .14); }
@media (prefers-reduced-motion: reduce) {
	.pg-glow::before, .pg-formula.is-in .pg-formula__term.is-result { animation: none !important; }
	.pg-js .pg-formula__term, .pg-step__media img { transition: none !important; }
}

/* ---------- 料金の大見出し（いちばん強い数字を大きく） ---------- */
.pg-price-hero { position: relative; overflow: hidden; isolation: isolate; margin: 0 auto 22px; max-width: 1000px; padding: 28px 18px 26px; border-radius: 26px; text-align: center;
	background: radial-gradient(90% 120% at 50% 110%, rgba(255, 122, 61, .35), transparent 60%), linear-gradient(160deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .03));
	border: 1px solid rgba(245, 197, 24, .55); box-shadow: 0 0 60px rgba(245, 197, 24, .18), 0 40px 80px -40px rgba(0, 0, 0, .8); }
@media (min-width: 768px) { .pg-price-hero { padding: 34px 40px 30px; } }
.pg-price-hero__rays { position: absolute; z-index: -1; left: 50%; top: 115%; width: 260%; aspect-ratio: 1; transform: translate(-50%, -50%);
	background: repeating-conic-gradient(from 0deg, rgba(245, 197, 24, .10) 0 4deg, transparent 4deg 11deg); animation: pg-spin 80s linear infinite; }
.pg-price-hero__label { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; font-weight: 900; font-size: clamp(15px, 4vw, 19px); }
.pg-price-hero__label span { font-size: 12px; letter-spacing: .1em; padding: 4px 12px; border-radius: 999px; background: linear-gradient(135deg, #ffe44d, #f5c518); color: var(--pg-navy-deep); }
.pg-price-hero__price { display: flex; flex-wrap: wrap; column-gap: 4px; align-items: baseline; justify-content: center; column-gap: 8px; margin-top: 6px; line-height: 1; }
.pg-price-hero__price b { font-size: clamp(76px, 21vw, 176px); letter-spacing: 0; line-height: .95;
	background: linear-gradient(100deg, #ffd24a 0%, #ffd24a 38%, #fffbe6 50%, #ffd24a 62%, #ffd24a 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
	filter: drop-shadow(0 8px 24px rgba(245, 197, 24, .35)); animation: pg-text-shine 3.8s linear infinite; }
.pg-price-hero__yen { font-weight: 900; font-size: clamp(26px, 7vw, 54px); color: #ffd24a; }
.pg-price-hero__tax { flex-basis: 100%; margin-top: 10px; font-weight: 900; font-size: 15px; }
.pg-price-hero__tax small { font-weight: 500; font-size: 13px; color: #c9d4f5; margin-left: 4px; }
@media (min-width: 768px) { .pg-price-hero__tax { flex-basis: auto; margin-top: 0; text-align: left; } }
.pg-price-hero__sub { margin: 14px auto 0; max-width: 40em; font-size: 14.5px; line-height: 1.85; color: #dfe6ff; }
.pg-price-hero__sub strong { color: #ffd24a; }
.pg-price-hero__sub, .pg-formula__quote, .pg-head__lead { text-wrap: balance; }

/* 基本の料金カード：光るフチを太く・鼓動させる */
.pg-card-price.is-pick .pg-glow { inset: -4px; padding: 4px; border-radius: 20px; }
.pg-card-price.is-pick { animation: pg-card-glow 2.6s ease-in-out infinite; }
@keyframes pg-card-glow { 0%, 100% { box-shadow: 0 0 36px rgba(255, 170, 60, .35), 0 24px 50px -24px rgba(0, 0, 0, .9); } 50% { box-shadow: 0 0 64px rgba(255, 170, 60, .65), 0 24px 50px -24px rgba(0, 0, 0, .9); } }

/* 注意書き：リストの塊ごと中央に */
.pg-price .pg-price__notes { width: fit-content; max-width: 100%; margin: 0 auto; }

@media (prefers-reduced-motion: reduce) {
	.pg-price-hero__rays, .pg-price-hero__price b, .pg-card-price.is-pick { animation: none !important; }
}

/* ==========================================================================
   2026-09-15 第4弾：合法（まとまり）／流れの写真／エリアのバランス
   ========================================================================== */

/* ---------- 合法：01〜04 の1本の流れ ---------- */
.pg-lg { display: grid; gap: 22px; max-width: 1080px; margin: 0 auto; }
@media (min-width: 768px) { .pg-lg { gap: 28px; } }
.pg-lg-step { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-weight: 900; font-size: 16px; color: #fff; letter-spacing: .04em; }
.pg-lg-step b { display: inline-grid; place-items: center; min-width: 44px; height: 30px; padding: 0 10px; border-radius: 999px; font-family: var(--pg-font-num); font-weight: 800; font-size: 18px; letter-spacing: .06em; color: var(--pg-navy-deep); background: linear-gradient(135deg, #ffe44d, #f5c518); }
.pg-lg-step::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(245, 197, 24, .5), transparent); }
.pg-lg-block, .pg-lg-intro { position: relative; }

/* 01 */
.pg-lg-intro { padding: 24px 20px; border-radius: 22px; background: #fff; color: var(--pg-ink); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }
@media (min-width: 768px) { .pg-lg-intro { padding: 30px 36px; } }
.pg-lg-intro .pg-lg-step { color: var(--pg-navy); }
.pg-lg-intro__grid { display: grid; gap: 14px; }
@media (min-width: 1024px) { .pg-lg-intro__grid { grid-template-columns: .95fr 1.05fr; gap: 36px; align-items: center; } }
.pg-lg-intro__big { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(22px, 5.6vw, 32px); line-height: 1.45; color: var(--pg-navy); }
.pg-lg-intro__big em { font-style: normal; color: var(--pg-red); }
.pg-lg-intro__text { font-size: 14.5px; line-height: 1.95; color: var(--pg-sub); }

/* 02 */
.pg-lg-vs { display: grid; gap: 14px; }
@media (min-width: 768px) { .pg-lg-vs { grid-template-columns: 1fr 1fr; gap: 18px; } }
.pg-lg-vs__col { border-radius: 20px; padding: 20px 20px 16px; }
.pg-lg-vs__col.is-bad { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .14); color: #c9d4f5; }
.pg-lg-vs__col.is-good { position: relative; background: #fff; color: var(--pg-ink); box-shadow: 0 0 0 2px rgba(245, 197, 24, .8), 0 30px 60px -30px rgba(0, 0, 0, .7); }
.pg-lg-vs__head { display: flex; align-items: center; gap: 10px; font-weight: 900; font-size: 18px; margin-bottom: 8px; }
.pg-lg-vs__col.is-good .pg-lg-vs__head { color: var(--pg-navy); }
.pg-lg-vs__mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font-size: 18px; }
.pg-lg-vs__col.is-bad .pg-lg-vs__mark { background: rgba(255, 90, 80, .18); color: #ff8f86; }
.pg-lg-vs__col.is-good .pg-lg-vs__mark { background: var(--pg-gold); color: var(--pg-navy-deep); }
.pg-lg-vs__col ul { display: grid; }
.pg-lg-vs__col li { display: grid; grid-template-columns: 5.2em 1fr; gap: 10px; align-items: baseline; padding: 11px 0; border-top: 1px solid rgba(255, 255, 255, .10); font-size: 14px; line-height: 1.7; }
.pg-lg-vs__col.is-good li { border-top-color: #e6ebf6; font-weight: 700; }
.pg-lg-vs__item { font-size: 12px; font-weight: 900; text-align: center; padding: 2px 0; border-radius: 6px; }
.pg-lg-vs__col.is-bad .pg-lg-vs__item { background: rgba(255, 255, 255, .08); color: #aebbe6; }
.pg-lg-vs__col.is-good .pg-lg-vs__item { background: var(--pg-navy); color: #fff; }

/* 03 */
.pg-lg-lic { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .pg-lg-lic { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } }
.pg-lg-lic li { display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; align-content: center; padding: 14px 14px; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.pg-lg-lic li.is-key { grid-column: span 2; background: linear-gradient(135deg, rgba(245, 197, 24, .20), rgba(245, 197, 24, .06)); border-color: rgba(245, 197, 24, .6); }
.pg-lg-lic__ico { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(255, 255, 255, .10); color: #c9d4f5; font-size: 18px; }
.pg-lg-lic li.is-key .pg-lg-lic__ico { background: var(--pg-gold); color: var(--pg-navy-deep); }
.pg-lg-lic__name { font-weight: 900; font-size: 14px; line-height: 1.45; color: #fff; }
.pg-lg-lic li.is-key .pg-lg-lic__name { font-size: 15.5px; color: var(--pg-gold); }
.pg-lg-lic__no { font-size: 12px; line-height: 1.5; color: #c9d4f5; }
/* 許可・資格：主役2つ＋その他5つが1段にそろうように（PC＝10分割） */
@media (max-width: 767px) { .pg-lg-lic li:last-child:nth-child(odd) { grid-column: span 2; } }
@media (min-width: 768px) and (max-width: 1023px) { .pg-lg-lic { grid-template-columns: repeat(6, minmax(0, 1fr)); } .pg-lg-lic li { grid-column: span 2; } .pg-lg-lic li.is-key { grid-column: span 3; } }
@media (min-width: 1024px) { .pg-lg-lic { grid-template-columns: repeat(10, minmax(0, 1fr)); } .pg-lg-lic li { grid-column: span 2; } .pg-lg-lic li.is-key { grid-column: span 5; } }
.pg-lg-note { margin-top: 12px; font-size: 13.5px; line-height: 1.85; color: #dbe3fb; text-align: center; }

/* 04 */
.pg-lg-duo { display: grid; gap: 14px; }
@media (min-width: 1024px) { .pg-lg-duo { grid-template-columns: 1fr 1fr; gap: 18px; } }
.pg-lg-check { display: grid; gap: 10px; counter-reset: chk; align-content: start; }
.pg-lg-check li { position: relative; display: grid; gap: 2px; padding: 16px 16px 16px 62px; border-radius: 16px; background: rgba(255, 60, 40, .10); border: 1px solid rgba(255, 120, 100, .40); counter-increment: chk; }
.pg-lg-check li::before { content: counter(chk); position: absolute; left: 16px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, #ff4a2e, #d80f16); color: #fff; font-family: var(--pg-font-num); font-weight: 800; font-size: 17px; }
.pg-lg-check b { font-size: 15.5px; color: #fff; }
.pg-lg-check span { font-size: 13px; color: #ffcfc9; }
.pg-lg-alert { padding: 18px 18px 16px; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .14); }
.pg-lg-alert__ttl { display: flex; align-items: center; gap: 8px; font-weight: 900; font-size: 15.5px; color: var(--pg-gold); }
.pg-lg-alert__text { margin-top: 8px; font-size: 13.5px; line-height: 1.85; color: #dbe3fb; }
.pg-lg .pg-alert-list { margin-top: 12px; }
.pg-lg .pg-alert-list a { background: rgba(255, 255, 255, .92); }

/* 締め */
.pg-lg-foot { display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 18px 20px; border-radius: 18px; font-weight: 900; font-size: clamp(14.5px, 3.8vw, 17px); line-height: 1.7; color: var(--pg-navy-deep);
	background: linear-gradient(135deg, #ffe44d, #f5c518); box-shadow: 0 20px 40px -20px rgba(245, 197, 24, .7); }
.pg-lg-foot .pg-ico { flex: none; font-size: 28px; }
@media (max-width: 767px) { .pg-lg-foot { text-align: left; } }

/* 旧レイアウトの部品は使わない */
.pg-legal__lesson, .pg-legal-table, .pg-legal__grid, .pg-legal__check { display: none; }

/* ---------- 流れ：写真つき ---------- */
.pg-flow-step.has-pic { padding: 0; overflow: hidden; display: flex; flex-direction: column; text-align: left; grid-template-columns: none; }
.pg-flow-step__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e9eef8; }
.pg-flow-step__media picture, .pg-flow-step__media img { width: 100%; height: 100%; display: block; }
.pg-flow-step__media img { object-fit: cover; transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.pg-flow-step.has-pic:hover .pg-flow-step__media img { transform: scale(1.06); }
.pg-flow-step.has-pic .pg-flow-step__no { position: absolute; left: 10px; top: 10px; width: 54px; height: 54px; margin: 0; grid-row: auto; background: var(--pg-gold); box-shadow: 0 8px 16px -6px rgba(0, 0, 0, .5); }
.pg-flow-step.has-pic .pg-flow-step__no b { font-size: 24px; }
.pg-flow-step.has-pic .pg-flow-step__body { padding: 14px 16px 18px; }
.pg-flow-step.has-pic .pg-flow-step__title { display: flex; align-items: center; gap: 8px; font-size: 16.5px; }
.pg-flow-step.has-pic .pg-flow-step__ico { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 8px; background: var(--pg-navy); color: var(--pg-gold); font-size: 16px; }
.pg-flow-step.has-pic .pg-flow-step__text { font-size: 13px; }
@media (min-width: 1024px) { .pg-flow-step.has-pic:not(:last-child)::after { top: 22%; } }
@media (min-width: 560px) and (max-width: 1023px) { .pg-flow-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- 対応エリア：3都県を同じ幅で ---------- */
@media (min-width: 1024px) { .pg-area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-area-card { display: flex; flex-direction: column; }
.pg-area-card__more { margin-top: auto; padding-top: 12px; font-weight: 700; color: var(--pg-navy); }
.pg-area-card__pref { padding-bottom: 12px; border-bottom: 2px solid var(--pg-gold); }

@media (prefers-reduced-motion: reduce) { .pg-flow-step__media img { transition: none !important; } }

/* ==========================================================================
   2026-09-15 第5弾：大きな片付けの上3枚と、選ばれる9つの理由に写真
   ========================================================================== */
/* 大きな片付け：写真を上に、下へ紺に溶かす */
.pg-pt-card.has-pic { padding-top: 0; }
.pg-pt-card__media { position: relative; margin: 0 -24px 18px; aspect-ratio: 3 / 2; overflow: hidden; }
@media (min-width: 1024px) { .pg-pt-card__media { margin: 0 -28px 20px; } }
.pg-pt-card__media picture, .pg-pt-card__media img { display: block; width: 100%; height: 100%; }
.pg-pt-card__media img { object-fit: cover; transition: transform .8s cubic-bezier(.2, .8, .2, 1); filter: saturate(.95); }
.pg-pt-card:hover .pg-pt-card__media img { transform: scale(1.06); }
.pg-pt-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 18, 58, 0) 45%, rgba(10, 28, 86, .85) 88%, #0c2366 100%); }
.pg-pt-card.has-pic .pg-pt-card__top { position: relative; z-index: 1; margin-top: -58px; }
.pg-pt-card.has-pic .pg-pt-card__no { text-shadow: 0 4px 14px rgba(0, 0, 0, .5); }
.pg-pt-card.has-pic .pg-pt-card__en { color: #dfe6ff; }
.pg-pt-card.has-pic .pg-pt-card__ico { display: none; }
.pg-pt-card.has-pic .pg-pt-card__ghost { opacity: .7; }

/* 選ばれる9つの理由：写真を上に */
.pg-reason.has-pic { padding: 0; display: flex; flex-direction: column; }
.pg-reason__media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--pg-sky); }
.pg-reason__media picture, .pg-reason__media img { display: block; width: 100%; height: 100%; }
.pg-reason__media img { object-fit: cover; transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.pg-reason.has-pic:hover .pg-reason__media img { transform: scale(1.06); }
.pg-reason.has-pic .pg-reason__no { position: absolute; top: 12px; left: 12px; right: auto; z-index: 2; font-size: 20px; line-height: 1; padding: 7px 11px; border-radius: 10px; color: #fff; background: rgba(6, 18, 58, .78); }
.pg-reason.has-pic .pg-reason__ico { position: relative; z-index: 2; margin: -26px 18px 6px auto; width: 52px; height: 52px; border: 3px solid #fff; box-shadow: 0 10px 20px -10px rgba(11, 31, 92, .6); }
.pg-reason.has-pic .pg-reason__title { padding: 0 20px; margin-top: -18px; }
.pg-reason.has-pic .pg-reason__text { padding: 0 20px 22px; margin-top: 6px; }
@media (prefers-reduced-motion: reduce) { .pg-pt-card__media img, .pg-reason__media img { transition: none !important; } }

/* ==========================================================================
   2026-09-15 第6弾：会社概要のプロフィールカード／フッター
   ========================================================================== */
/* ---------- 会社概要 ---------- */
@media (min-width: 1024px) { .pg-company__grid.has-photo { grid-template-columns: .85fr 1.15fr; gap: 28px; align-items: stretch; } }
.pg-company__media { position: relative; display: grid; gap: 0; border-radius: 22px; }
.pg-company__media picture:first-child img { aspect-ratio: 4 / 3; }
.pg-company__photo2 img { aspect-ratio: 16 / 9 !important; object-position: 50% 60%; }
@media (min-width: 1024px) { .pg-company__media { grid-template-rows: 1fr auto; } .pg-company__media picture:first-child, .pg-company__media picture:first-child img { height: 100%; } }
.pg-company__cap { position: absolute; left: 14px; top: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: #fff; background: rgba(6, 18, 58, .72); backdrop-filter: blur(4px); }
.pg-company__cap .pg-ico { color: var(--pg-gold); }

.pg-co { border-radius: 22px; background: #fff; box-shadow: var(--pg-shadow); overflow: hidden; display: flex; flex-direction: column; }
.pg-co__head { display: flex; align-items: center; gap: 16px; padding: 22px 22px; color: #fff; background: radial-gradient(90% 140% at 100% 0%, rgba(58, 110, 255, .45), transparent 60%), var(--pg-grad-navy); }
@media (min-width: 768px) { .pg-co__head { padding: 26px 32px; } }
.pg-co__mark { flex: none; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 16px; background: var(--pg-gold); color: var(--pg-navy); font-size: 36px; box-shadow: 0 10px 24px -10px rgba(245, 197, 24, .8); }
.pg-co__en { font-family: var(--pg-font-num); font-weight: 800; font-size: 13px; letter-spacing: .28em; color: var(--pg-gold); }
.pg-co__name { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(22px, 5.4vw, 28px); line-height: 1.3; letter-spacing: .04em; }
.pg-co__by { font-size: 13px; color: #c9d4f5; }
.pg-co__list { margin: 0; padding: 6px 22px 4px; }
@media (min-width: 768px) { .pg-co__list { padding: 8px 32px 6px; } }
.pg-co__row { display: grid; gap: 6px; padding: 16px 0; border-bottom: 1px solid #e8ecf6; }
.pg-co__row:last-child { border-bottom: 0; }
@media (min-width: 600px) { .pg-co__row { grid-template-columns: 8.5em 1fr; gap: 14px; align-items: start; } }
.pg-co__row dt { display: flex; align-items: center; gap: 8px; font-weight: 900; font-size: 14px; color: var(--pg-navy); }
.pg-co__row dt .pg-ico { display: grid; place-items: center; width: 28px; height: 28px; padding: 6px; border-radius: 8px; background: var(--pg-sky); color: var(--pg-navy); font-size: 16px; box-sizing: border-box; }
.pg-co__row dd { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--pg-ink); }
.pg-co__tel { display: inline-flex; align-items: baseline; gap: 8px; text-decoration: none; color: var(--pg-red-deep); }
.pg-co__tel .pg-num { font-size: 30px; line-height: 1.1; }
.pg-co__tel small { font-size: 12px; font-weight: 700; color: var(--pg-sub); }
.pg-co__sub { display: block; font-size: 13px; color: var(--pg-sub); }
.pg-co__strong { font-weight: 900; color: var(--pg-navy); }
.pg-co__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pg-co__chips li { font-size: 12.5px; font-weight: 700; padding: 4px 11px; border-radius: 999px; background: var(--pg-paper); border: 1px solid #e3e8f3; color: var(--pg-navy); }
.pg-co__chips li.is-etc { background: none; border-color: transparent; color: var(--pg-sub); padding-left: 2px; }
.pg-co__chips.is-area { margin-top: 0; }
.pg-co__chips.is-area li { background: var(--pg-navy); border-color: var(--pg-navy); color: #fff; font-size: 13.5px; padding: 5px 14px; }
.pg-co__lic { display: grid; gap: 6px; }
.pg-co__lic li { display: grid; padding: 8px 12px; border-radius: 10px; background: var(--pg-paper); line-height: 1.5; }
.pg-co__lic li b { font-size: 13.5px; color: var(--pg-navy); }
.pg-co__lic li span { font-size: 12px; color: var(--pg-sub); }
.pg-co__lic li.is-key { background: #fff8db; box-shadow: inset 3px 0 0 var(--pg-gold); }
@media (min-width: 1024px) { .pg-co__lic { grid-template-columns: 1fr 1fr; } .pg-co__lic li.is-key { grid-column: span 1; } }
.pg-co__parent { margin: 6px 22px 22px; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; text-decoration: none; color: #fff; background: linear-gradient(135deg, #16328a, #0b1f5c); box-shadow: 0 16px 30px -18px rgba(11, 31, 92, .8); transition: transform .2s; margin-top: auto; }
@media (min-width: 768px) { .pg-co__parent { margin: 8px 32px 28px; } }
.pg-co__parent:hover { transform: translateY(-2px); }
.pg-co__parent-ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--pg-gold); color: var(--pg-navy); font-size: 22px; }
.pg-co__parent-body { display: grid; line-height: 1.4; min-width: 0; }
.pg-co__parent-body small { font-size: 12px; color: #c9d4f5; }
.pg-co__parent-body b { font-size: 15px; }
.pg-co__parent-arrow { margin-left: auto; font-size: 20px; color: var(--pg-gold); }
.pg-company__table { display: none; }

/* ---------- フッター ---------- */
.pg-ft { position: relative; overflow: hidden; background: radial-gradient(60% 80% at 0% 0%, rgba(58, 110, 255, .18), transparent 60%), #050f30; }
.pg-ft__mark { position: absolute; right: -2%; bottom: 40px; font-family: var(--pg-font-num); font-weight: 800; font-size: clamp(90px, 18vw, 240px); line-height: 1; letter-spacing: .06em; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .06); pointer-events: none; user-select: none; }
.pg-ft__in { position: relative; padding-top: 56px; padding-bottom: 36px; gap: 34px; }
@media (min-width: 768px) { .pg-ft__in { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pg-ft__in { grid-template-columns: 1.35fr .9fr 1fr .95fr; gap: 36px; } }
@media (min-width: 768px) and (max-width: 1023px) { .pg-ft__brand { grid-column: 1 / -1; } }
.pg-ft__lead { color: #c9d4f5; }
.pg-ft__telbtn { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; padding: 10px 18px 10px 10px; border-radius: 16px; text-decoration: none; color: #fff; background: rgba(255, 255, 255, .06); border: 1px solid rgba(245, 197, 24, .45); transition: background .2s; }
.pg-ft__telbtn:hover { background: rgba(255, 255, 255, .10); }
.pg-ft__telico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: linear-gradient(135deg, #ff4a2e, #d80f16); font-size: 22px; }
.pg-ft__telbody { display: grid; line-height: 1.2; }
.pg-ft__telbody small { font-size: 11.5px; color: #c9d4f5; }
.pg-ft__telbody b { font-size: 30px; color: var(--pg-gold); letter-spacing: .02em; }
.pg-ft__addr { display: flex; gap: 8px; align-items: flex-start; margin-top: 16px; font-size: 13.5px; line-height: 1.7; color: #d8def3; }
.pg-ft__addr .pg-ico, .pg-ft__lic .pg-ico { flex: none; margin-top: .3em; color: var(--pg-gold); }
.pg-ft__lic { display: flex; gap: 8px; align-items: flex-start; margin-top: 8px; }
.pg-ft__navttl { position: relative; padding-bottom: 10px; margin-bottom: 12px; font-size: 13px; letter-spacing: .12em; }
.pg-ft__navttl::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--pg-gold); border-radius: 2px; }
.pg-ft__nav ul { display: grid; gap: 2px; }
.pg-ft__nav a { gap: 8px; padding: 6px 0; font-size: 14px; color: #d8def3; transition: color .2s, transform .2s; }
.pg-ft__nav a > .pg-ico:first-child { font-size: 12px; color: rgba(245, 197, 24, .8); }
.pg-ft__nav a:hover { color: #fff; transform: translateX(3px); }
.pg-ft__area { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-ft__area li { display: inline-flex; align-items: center; gap: 5px; padding: 6px 13px; border-radius: 999px; font-size: 13.5px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); }
.pg-ft__area .pg-ico { color: var(--pg-gold); }
.pg-ft__areanote { margin-top: 10px; font-size: 12.5px; color: #aab6de; }
.pg-ft__line { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; padding: 10px 18px; border-radius: 14px; text-decoration: none; color: #fff; font-weight: 900; background: linear-gradient(135deg, #1fd46a, #05a947); box-shadow: 0 12px 24px -14px rgba(6, 199, 85, .9); }
.pg-ft__line .pg-ico { font-size: 26px; }
.pg-ft__line span { display: grid; line-height: 1.25; }
.pg-ft__line small { font-size: 11px; font-weight: 700; opacity: .9; }
.pg-ft__bottom { position: relative; max-width: calc(var(--pg-wrap) + var(--pg-gutter) * 2); margin: 0 auto; padding: 16px var(--pg-gutter) 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(255, 255, 255, .10); }
.pg-ft .pg-ft__copy { padding: 0; border: 0; text-align: left; }
.pg-ft__top { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: #d8def3; text-decoration: none; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .16); }
.pg-ft__top .pg-ico { transform: rotate(-90deg); color: var(--pg-gold); }
.pg-ft__top:hover { background: rgba(255, 255, 255, .08); }
@media (max-width: 767px) { .pg-ft__bottom { justify-content: center; } .pg-ft .pg-ft__copy { text-align: center; } }
.pg-ft__mark { bottom: -18px; right: -1%; -webkit-text-stroke-color: rgba(255, 255, 255, .045); }
.pg-ft__nav a > .pg-ico:last-child:not(:first-child) { font-size: 13px; color: #aab6de; }
@media (min-width: 1024px) { .pg-co__lic li:last-child:nth-child(odd) { grid-column: span 2; } }
@media (max-width: 1023px) {
	.pg-company__media { grid-template-columns: 1fr 1fr; gap: 0; }
	.pg-company__media picture:first-child img, .pg-company__photo2 img { aspect-ratio: 4 / 3 !important; height: 100%; }
	.pg-company__photo2 img { border-left: 2px solid #fff; }
}

/* ---------- ハンバーガー（2026-09-15 吉田さん「ちょっとおかしい」）
   ★旧：1本の線＋前後の疑似要素を±7pxずらす方式＝ラベルと並ぶと上の線がボタンの端に寄って2本に見えた。
     3本の実線を箱の中で上下中央に置き、開いたら×に変形、ラベルは MENU→CLOSE ---------- */
.pg-hd__menu { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 54px; height: 50px; padding: 0; }
.pg-hd__menu-bars { display: none !important; }
.pg-hd__menu-icon { position: relative; display: block; width: 22px; height: 16px; }
.pg-hd__menu-icon i { position: absolute; left: 0; width: 100%; height: 2.5px; border-radius: 2px; background: currentColor; transition: transform .25s ease, opacity .2s ease, top .25s ease; }
.pg-hd__menu-icon i:nth-child(1) { top: 0; }
.pg-hd__menu-icon i:nth-child(2) { top: 6.75px; }
.pg-hd__menu-icon i:nth-child(3) { top: 13.5px; }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-icon i:nth-child(1) { top: 6.75px; transform: rotate(45deg); }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-icon i:nth-child(2) { opacity: 0; }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-icon i:nth-child(3) { top: 6.75px; transform: rotate(-45deg); }
.pg-hd__menu-label { margin: 0; font-size: 9px; line-height: 1; letter-spacing: .12em; font-weight: 700; }
.pg-hd__menu-label::after { content: "MENU"; }
.pg-hd__menu[aria-expanded="true"] { background: var(--pg-red); }
.pg-hd__menu[aria-expanded="true"] .pg-hd__menu-label::after { content: "CLOSE"; }
.pg-drawer { padding-top: 12px; }
.pg-drawer__nav a { padding: 15px 6px; }
@media (prefers-reduced-motion: reduce) { .pg-hd__menu-icon i { transition: none; } }

/* ==========================================================================
   2026-09-15 第7弾：見出しのキーワード行／作業実例（新着）／代表あいさつ／フッターの受け皿リンク
   ========================================================================== */
/* 見出しの上に小さくキーワード（SEO）。キャッチはそのまま */
.pg-head__kw { display: block; margin: 0 auto 10px; font-family: var(--pg-font); font-size: clamp(12.5px, 3.3vw, 15px); font-weight: 700; letter-spacing: .08em; line-height: 1.5; color: var(--pg-sub); }
.pg-head.is-dark .pg-head__kw { color: #aebbe6; }
.pg-greet__head .pg-head__kw { margin-left: 0; }

/* 大きな片付け → 作業実例へ */
.pg-big__tocases { margin: 26px 0 0; text-align: center; position: relative; }
.pg-big__tocases a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--pg-navy); text-decoration: none; border-bottom: 2px solid var(--pg-gold); padding-bottom: 2px; }

/* ---------- 作業実例（新着） ---------- */
.pg-works { background: var(--pg-paper); }
.pg-works__list { display: grid; gap: 18px; }
@media (min-width: 768px) { .pg-works__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } }
@media (min-width: 1024px) { .pg-works__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pg-works__list:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; margin: 0 auto; } }
.pg-work { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: var(--pg-shadow-sm); color: inherit; text-decoration: none; transition: transform .25s, box-shadow .25s; }
a.pg-work:hover { transform: translateY(-4px); box-shadow: var(--pg-shadow); }
.pg-work__media { position: relative; display: grid; }
.pg-work__media.is-ba { grid-template-columns: 1fr 1fr; gap: 2px; background: #fff; }
.pg-work__shot { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--pg-sky); }
.pg-work__media.is-ba .pg-work__shot { aspect-ratio: 4 / 3; }
.pg-work__shot picture, .pg-work__shot img { display: block; width: 100%; height: 100%; }
.pg-work__shot img { object-fit: cover; }
.pg-work__shot.is-empty { display: grid; place-items: center; font-size: 48px; color: #b7c2dd; }
.pg-work__ba { position: absolute; left: 8px; bottom: 8px; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 900; color: #fff; background: rgba(6, 18, 58, .78); }
.pg-work__ba.is-after { background: linear-gradient(135deg, #ff4a2e, #d80f16); }
.pg-work__new { position: absolute; right: 10px; top: 10px; padding: 4px 11px; border-radius: 8px; font-family: var(--pg-font-num); font-weight: 800; font-size: 14px; letter-spacing: .1em; color: var(--pg-navy-deep); background: linear-gradient(135deg, #ffe44d, #f5c518); box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .4); }
.pg-work__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pg-work__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; font-size: 13px; font-weight: 700; color: var(--pg-red-deep); }
.pg-work__meta span { display: inline-flex; align-items: center; gap: 4px; }
.pg-work__meta time { color: var(--pg-sub); font-weight: 500; }
.pg-work__title { font-size: 17.5px; font-weight: 900; color: var(--pg-navy); line-height: 1.45; }
.pg-work__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-work__chips li { font-size: 12.5px; font-weight: 700; padding: 3px 10px; border-radius: 6px; background: var(--pg-sky); color: var(--pg-navy); }
.pg-work__price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; font-weight: 900; color: var(--pg-red-deep); }
.pg-work__price span { font-size: 12.5px; color: var(--pg-ink); }
.pg-work__price b { font-size: 38px; line-height: 1; }
.pg-work__text { font-size: 13.5px; line-height: 1.85; color: var(--pg-sub); }
.pg-works__more { text-align: center; margin-top: 26px; }
.pg-works__note { margin-top: 16px; text-align: center; font-size: 12px; color: var(--pg-sub); }

/* ---------- 代表あいさつ ---------- */
.pg-greet { background: #fff; }
.pg-greet__grid { display: grid; gap: 26px; max-width: 1040px; margin: 0 auto; align-items: start; }
@media (min-width: 900px) { .pg-greet__grid { grid-template-columns: 300px 1fr; gap: 48px; } }
.pg-greet__side { display: grid; justify-items: center; gap: 14px; }
@media (min-width: 900px) { .pg-greet__side { position: sticky; top: calc(var(--pg-hd-h) + 24px); } }
.pg-greet__photo { position: relative; width: min(260px, 70vw); aspect-ratio: 4 / 5; border-radius: 24px; overflow: hidden; box-shadow: var(--pg-shadow); }
.pg-greet__photo picture, .pg-greet__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pg-greet__photo.is-empty { display: grid; place-items: center; background: radial-gradient(90% 90% at 100% 0%, rgba(58, 110, 255, .45), transparent 60%), var(--pg-grad-navy); }
.pg-greet__mark { font-size: 110px; color: var(--pg-gold); line-height: 0; opacity: .9; }
.pg-greet__photo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15); }
.pg-greet__sign { display: grid; text-align: center; font-family: var(--pg-font-display); font-weight: 900; font-size: 20px; color: var(--pg-navy); line-height: 1.4; }
.pg-greet__sign small { font-family: var(--pg-font); font-size: 12.5px; font-weight: 700; color: var(--pg-sub); }
.pg-greet__head { text-align: left; margin: 0 0 20px; max-width: none; }
@media (max-width: 899px) { .pg-greet__head { text-align: center; } .pg-greet__head .pg-head__kw { margin-left: auto; } }
.pg-greet__text { position: relative; padding: 24px 22px 20px; border-radius: 20px; background: var(--pg-paper); }
@media (min-width: 768px) { .pg-greet__text { padding: 30px 36px 26px; } }
.pg-greet__text::before { content: "“"; position: absolute; left: 14px; top: -34px; font-family: Georgia, serif; font-size: 110px; line-height: 1; color: rgba(245, 197, 24, .55); }
.pg-greet__text p { font-size: 15px; line-height: 2; color: var(--pg-ink); }
.pg-greet__text p + p { margin-top: 1em; }

/* ---------- フッター：受け皿リンク込みの5列 ---------- */
@media (min-width: 768px) { .pg-ft__in { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pg-ft__brand { grid-column: 1 / -1; } }
@media (min-width: 1024px) { .pg-ft__in { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; } .pg-ft__brand { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto 1fr; column-gap: 36px; align-items: center; } .pg-ft__brand .pg-ft__lead { margin-top: 0; } .pg-ft__brand .pg-ft__telbtn { margin-top: 0; } .pg-ft__brand .pg-ft__addr, .pg-ft__brand .pg-ft__lic { grid-column: 1 / -1; } }
@media (min-width: 1280px) { .pg-ft__in { grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); gap: 30px; } .pg-ft__brand { grid-column: auto; display: block; } .pg-ft__brand .pg-ft__lead { margin-top: 14px; } .pg-ft__brand .pg-ft__telbtn { margin-top: 18px; } }
.pg-ft__area a { display: inline-flex; align-items: center; gap: 5px; color: inherit; text-decoration: none; }
.pg-ft__area li:hover { background: rgba(255, 255, 255, .14); }
.pg-ft__cities { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 12px; }
.pg-ft__cities a { font-size: 12.5px; color: #c9d4f5; text-decoration: none; }
.pg-ft__cities a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 767px) { .pg-ft__nav { display: block; } .pg-ft__in { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pg-ft__brand, .pg-ft__side { grid-column: 1 / -1; } }

/* 第7弾の手直し：実例カードの写真の高さをそろえる／あいさつの引用符が見出しに重ならない／フッターの電話番号を折らない */
.pg-work__media { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.pg-work__media .pg-work__shot, .pg-work__media.is-ba .pg-work__shot { aspect-ratio: auto; height: 100%; min-height: 0; }
.pg-greet__head { margin-bottom: 46px; }
.pg-greet__head .pg-head__title { font-size: clamp(26px, 6.4vw, 44px); line-height: 1.35; }
.pg-ft__telbody b { white-space: nowrap; }
@media (min-width: 1280px) { .pg-ft__in { grid-template-columns: minmax(268px, 1fr) repeat(3, auto) minmax(210px, .9fr); gap: 26px; } .pg-ft__nav a { white-space: nowrap; } .pg-ft__telbody b { font-size: 27px; } }
.pg-ft__lead, .pg-ft__addr { text-wrap: pretty; }
.pg-ft__nav a { align-items: flex-start; line-height: 1.6; }
.pg-ft__nav a > .pg-ico:first-child { margin-top: .4em; flex: none; }
/* スマホ下の固定ボタン：電話・LINE・フォームを同じ幅・同じ高さに（09-15 吉田さん） */
.pg-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-bar__btn { min-width: 0; height: 56px; min-height: 0; padding: 0 4px; gap: 5px; white-space: nowrap; }
@media (max-width: 359px) { .pg-bar__btn { font-size: 12.5px; gap: 3px; } .pg-bar__btn .pg-ico { font-size: 19px; } }

/* ==========================================================================
   2026-09-17 第8弾：1現場あたり＋「〜」／関東1都6県／ぼったくり業者撲滅宣言／
   解体工事とセットで残置物撤去0円／Googleクチコミ／見積り無料・支払い方法・NG品目
   ★上質化レイヤーの方針を守る（太フチ・ハード影・ベタ黄は足さない。地色は白／淡グレー／紺グラデ）
   ========================================================================== */

/* ---------- 金額の「〜」 ---------- */
.pg-pricetag__from,
.pg-burst__from,
.pg-price-hero__from { font-family: var(--pg-font-num); font-weight: 800; letter-spacing: -.02em; margin-left: .04em; }
.pg-price-hero__from { font-size: .9em; }
.pg-stat__from { font-family: var(--pg-font-num); font-weight: 800; font-size: .46em; margin-left: .02em; vertical-align: .12em; }

/* ---------- 数字：4枚 → 6枚 ---------- */
@media (min-width: 1024px) {
	.pg-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pg-stat:nth-child(3n+1)::before { display: none; }
	.pg-stat:nth-child(n+4)::after { content: ""; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: rgba(11, 31, 92, .12); }
}
@media (max-width: 1023px) {
	.pg-stat:nth-child(odd)::before { display: none; }
}

/* ---------- Googleのクチコミバッジ ---------- */
.pg-grev {
	display: inline-flex; align-items: center; gap: 12px; text-decoration: none;
	background: var(--pg-white); color: var(--pg-ink);
	border: 1px solid rgba(11, 31, 92, .12); border-radius: 999px;
	padding: 10px 20px 10px 16px; box-shadow: var(--pg-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
}
.pg-grev:hover { transform: translateY(-2px); box-shadow: var(--pg-shadow); }
.pg-grev__body { display: grid; gap: 2px; }
.pg-grev__label { font-size: 11.5px; font-weight: 900; color: var(--pg-sub); letter-spacing: .08em; }
.pg-grev__row { display: flex; align-items: center; gap: 8px; }
.pg-grev__score { font-family: var(--pg-font-num); font-weight: 800; font-size: 30px; line-height: 1; color: var(--pg-navy); }
.pg-grev__stars { display: inline-flex; gap: 1px; color: rgba(11, 31, 92, .18); font-size: 17px; }
.pg-grev__stars .is-on { color: #f2a81d; }
.pg-grev__count { font-size: 13px; font-weight: 800; color: var(--pg-navy); }
.pg-grev__note { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; color: var(--pg-sub); }
.pg-grev__note .pg-ico { font-size: 11px; }
.pg-grev.is-hero { display: flex; width: -moz-fit-content; width: fit-content; margin: 0 auto 18px; }
.pg-voice__google { display: grid; justify-items: center; gap: 12px; text-align: center; margin: 0 0 30px; }
.pg-voice__google-text { font-size: 13.5px; color: var(--pg-sub); line-height: 1.8; margin: 0; }
.pg-co__grev { margin: 18px 0 0; padding: 0 22px; }
@media (min-width: 768px) { .pg-co__grev { padding: 0 32px; } }
@media (max-width: 400px) {
	.pg-grev { padding: 9px 14px; gap: 9px; }
	.pg-grev__score { font-size: 25px; }
	.pg-grev__stars { font-size: 14px; }
}

/* ---------- 見積り無料の4ステップ ---------- */
.pg-estimate { margin: 22px 0 6px; background: var(--pg-white); border-radius: 20px; box-shadow: var(--pg-shadow); padding: 24px 18px; }
.pg-estimate__ttl {
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px;
	margin: 0 0 18px; font-family: var(--pg-font-display); font-weight: 900;
	font-size: clamp(17px, 4.4vw, 23px); color: var(--pg-navy); text-align: center;
}
.pg-estimate__free {
	display: inline-grid; place-items: center; min-width: 60px; padding: 5px 12px; border-radius: 999px;
	background: linear-gradient(135deg, var(--pg-red) 0%, var(--pg-red-deep) 100%);
	color: #fff; font-size: 15px; letter-spacing: .04em;
}
.pg-estimate__steps { display: grid; gap: 12px; counter-reset: est; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .pg-estimate__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pg-estimate__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } .pg-estimate { padding: 30px 26px; } }
.pg-estimate__step {
	position: relative; display: grid; gap: 4px; padding: 16px 14px 16px 16px;
	background: var(--pg-paper); border-radius: 14px; counter-increment: est;
}
.pg-estimate__step::before {
	content: counter(est, decimal-leading-zero); position: absolute; right: 12px; top: 8px;
	font-family: var(--pg-font-num); font-weight: 800; font-size: 26px; color: rgba(11, 31, 92, .10);
}
.pg-estimate__ico { color: var(--pg-red); font-size: 20px; }
.pg-estimate__step b { font-size: 14.5px; color: var(--pg-navy); }
.pg-estimate__step small { font-size: 12.5px; line-height: 1.7; color: var(--pg-sub); }

/* ---------- 支払い方法／お引き受けできない物 ---------- */
.pg-paynot { display: grid; gap: 14px; margin-top: 16px; }
@media (min-width: 900px) { .pg-paynot { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; } }
.pg-paynot__col { background: var(--pg-white); border-radius: 18px; box-shadow: var(--pg-shadow-sm); padding: 22px 18px; }
.pg-paynot__ttl { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-family: var(--pg-font-display); font-weight: 900; font-size: 17px; color: var(--pg-navy); }
.pg-paynot__col--pay .pg-paynot__ttl .pg-ico { color: var(--pg-navy); }
.pg-paynot__col--ng .pg-paynot__ttl .pg-ico { color: var(--pg-red); }
.pg-paynot__pay { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pg-paynot__pay li { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px; background: var(--pg-sky); color: var(--pg-navy); font-weight: 800; font-size: 14px; }
.pg-paynot__pay .pg-ico { font-size: 17px; color: var(--pg-navy-2); }
.pg-paynot__ng { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pg-paynot__ng li { display: grid; gap: 2px; padding: 10px 14px; border-radius: 12px; background: rgba(255, 42, 31, .05); border-left: 3px solid rgba(255, 42, 31, .45); }
.pg-paynot__ng b { font-size: 14px; color: var(--pg-red-deep); }
.pg-paynot__ng small { font-size: 12.5px; color: var(--pg-sub); }
.pg-paybrands { margin: 16px auto 0; max-width: 420px; }
.pg-sub-cards .pg-paybrands { margin-top: 24px; }
.pg-paybrands__img, .pg-paybrands img { display: block; width: 100%; height: auto; border-radius: 12px; }
.pg-paynot__note { margin: 14px 0 0; font-size: 12.5px; color: var(--pg-sub); line-height: 1.7; }

/* ---------- ぼったくり業者撲滅宣言 ---------- */
.pg-pledge__banner {
	position: relative; overflow: hidden; border-radius: 24px; padding: 34px 20px 30px;
	background: var(--pg-grad-navy); color: #fff; box-shadow: var(--pg-shadow);
	border: 1px solid rgba(245, 197, 24, .38);
}
@media (min-width: 768px) { .pg-pledge__banner { padding: 46px 40px 40px; } }
.pg-pledge__glow {
	position: absolute; inset: -40% -10% auto; height: 420px; pointer-events: none;
	background: radial-gradient(60% 60% at 50% 0%, rgba(245, 197, 24, .30) 0%, rgba(245, 197, 24, 0) 70%);
}
.pg-pledge__head { position: relative; text-align: center; }
.pg-pledge__en { margin: 0 0 10px; font-family: var(--pg-font-num); font-weight: 800; font-size: 12px; letter-spacing: .34em; color: var(--pg-gold); }
.pg-pledge__ttl { margin: 0 0 14px; font-family: var(--pg-font-display); font-weight: 900; line-height: 1.3; }
.pg-pledge__ttl-sub { display: block; font-size: 13px; letter-spacing: .12em; color: rgba(255, 255, 255, .78); margin-bottom: 6px; }
.pg-pledge__ttl-main { display: block; font-size: clamp(27px, 7.6vw, 50px); letter-spacing: .01em; }
.pg-pledge__ttl-main em {
	font-style: normal; color: var(--pg-gold);
	background: linear-gradient(180deg, transparent 62%, rgba(255, 42, 31, .55) 62%, rgba(255, 42, 31, .55) 88%, transparent 88%);
}
.pg-pledge__lead { margin: 0 auto 26px; max-width: 48em; font-size: 13.5px; line-height: 2; color: rgba(255, 255, 255, .86); }
.pg-pledge__list { position: relative; display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .pg-pledge__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (min-width: 1140px) { .pg-pledge__list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pg-pledge__item {
	position: relative; display: grid; align-content: start; gap: 6px;
	padding: 18px 16px 16px; border-radius: 16px;
	background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13);
}
.pg-pledge__no { position: absolute; right: 12px; top: 10px; font-family: var(--pg-font-num); font-weight: 800; font-size: 24px; color: rgba(245, 197, 24, .30); }
.pg-pledge__ico { font-size: 22px; color: var(--pg-gold); }
.pg-pledge__item-ttl { font-family: var(--pg-font-display); font-weight: 900; font-size: 15px; line-height: 1.5; }
.pg-pledge__item-text { font-size: 12.5px; line-height: 1.8; color: rgba(255, 255, 255, .80); }
.pg-pledge__sign { position: relative; margin: 24px 0 0; text-align: right; line-height: 1.5; }
.pg-pledge__sign-co { display: block; font-size: 12px; color: rgba(255, 255, 255, .7); }
.pg-pledge__sign-name { display: block; font-family: var(--pg-font-display); font-weight: 900; font-size: 17px; color: #fff; }
.pg-pledge__more { position: relative; margin: 18px 0 0; text-align: center; }
.pg-pledge__more a { display: inline-flex; align-items: center; gap: 6px; color: var(--pg-gold); font-weight: 800; font-size: 13.5px; text-decoration: none; border-bottom: 1px solid rgba(245, 197, 24, .45); padding-bottom: 2px; }
.pg-pledge__more a:hover { color: #fff; border-color: #fff; }

/* ---------- 解体工事とセット＝残置物の撤去・処分費0円 ---------- */
.pg-kfree { background: var(--pg-paper); }
.pg-kfree__box {
	position: relative; overflow: hidden; border-radius: 24px; padding: 32px 20px 28px; text-align: center;
	background: var(--pg-white); box-shadow: var(--pg-shadow); border: 1px solid rgba(245, 197, 24, .45);
}
@media (min-width: 768px) { .pg-kfree__box { padding: 46px 40px 38px; } }
.pg-kfree__badge {
	display: inline-flex; align-items: center; gap: 7px; margin: 0 0 14px; padding: 8px 18px; border-radius: 999px;
	background: var(--pg-navy); color: #fff; font-weight: 900; font-size: 13px; letter-spacing: .04em;
}
.pg-kfree__badge .pg-ico { color: var(--pg-gold); font-size: 17px; }
.pg-kfree__ttl { margin: 0 0 6px; font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(21px, 5.4vw, 38px); line-height: 1.45; color: var(--pg-navy); }
.pg-kfree__ttl em { font-style: normal; color: var(--pg-red-deep); }
.pg-kfree__zero { display: flex; align-items: baseline; justify-content: center; gap: 4px; margin: 4px 0 10px; }
.pg-kfree__zero .pg-num { font-family: var(--pg-font-num); font-weight: 800; font-size: clamp(76px, 22vw, 150px); line-height: .9; color: var(--pg-red-deep); }
.pg-kfree__zen { font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(22px, 6vw, 40px); color: var(--pg-red-deep); }
.pg-kfree__lead { margin: 0 auto 24px; max-width: 46em; font-size: 14px; line-height: 2; color: var(--pg-sub); text-align: left; }
@media (min-width: 768px) { .pg-kfree__lead { text-align: center; } }
.pg-kfree__points { display: grid; gap: 12px; margin: 0 0 18px; padding: 0; list-style: none; text-align: left; }
@media (min-width: 900px) { .pg-kfree__points { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-kfree__points li { display: grid; align-content: start; gap: 5px; padding: 18px 16px; border-radius: 16px; background: var(--pg-paper); }
.pg-kfree__ico { font-size: 22px; color: var(--pg-navy-2); }
.pg-kfree__points b { font-family: var(--pg-font-display); font-weight: 900; font-size: 15px; color: var(--pg-navy); }
.pg-kfree__points small { font-size: 12.5px; line-height: 1.8; color: var(--pg-sub); }
.pg-kfree__note { margin: 0 0 22px; font-size: 12px; line-height: 1.8; color: var(--pg-sub); text-align: left; }
.pg-kfree__parent { margin: 16px 0 0; }
.pg-kfree__parent a { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 800; color: var(--pg-navy); text-decoration: none; border-bottom: 1px solid rgba(11, 31, 92, .28); padding-bottom: 2px; }
.pg-kfree__parent a:hover { color: var(--pg-red-deep); border-color: var(--pg-red-deep); }

/* ---------- 対応エリア：7都県 ---------- */
@media (min-width: 768px) { .pg-area-grid { grid-template-columns: repeat(auto-fit, minmax(258px, 1fr)); } }
@media (min-width: 1024px) { .pg-area-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } }
.pg-area__note { display: block; margin-top: 10px; font-size: 12.5px; line-height: 1.8; color: var(--pg-sub); font-weight: 400; }

/* ---------- 会社概要：本社・営業所 ---------- */
.pg-co__offices { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pg-co__offices li { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 10px; }
.pg-co__offices b {
	justify-self: start; padding: 3px 10px; border-radius: 6px; font-size: 11.5px; letter-spacing: .04em;
	background: var(--pg-navy); color: #fff;
}
.pg-co__offices li:nth-child(2) b { background: var(--pg-sub); }
.pg-co__offices span { font-size: 14px; line-height: 1.7; }

/* ---------- フッターの住所（本社・営業所） ---------- */
.pg-ft__addr { display: grid; gap: 6px; }
.pg-ft__addr-row { display: block; } /* 住所が列の幅いっぱいを使えるように（「広瀬台」が途中で折れないため） */
.pg-ft__addr-row .pg-ico { margin-right: 5px; vertical-align: -2px; }
.pg-ft__addr-row b { display: inline-block; margin-right: 6px; font-size: 11px; padding: 2px 7px; border-radius: 5px; background: rgba(255, 255, 255, .14); color: #fff; }

/* 約束カードが4枚になった（お見積り・出張費0円を追加） */
@media (min-width: 768px) { .pg-promise { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pg-promise { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .pg-promise li { grid-template-columns: 40px 1fr; column-gap: 10px; padding: 13px 13px; } .pg-promise b { font-size: 14.5px; } }

/* ---------- 2026-09-17 追記：許可証の現物（合法セクション 03）---------- */
.pg-lg-docs__ttl {
	display: flex; align-items: center; gap: 8px; margin: 26px 0 14px;
	font-family: var(--pg-font-display); font-weight: 900; font-size: 16px; color: #fff;
}
.pg-lg-docs__ttl .pg-ico { color: var(--pg-gold); font-size: 19px; }
.pg-lg-docs { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 600px) { .pg-lg-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pg-lg-docs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.pg-lg-doc {
	display: grid; align-content: start; gap: 4px; padding: 14px 14px 16px; border-radius: 16px;
	background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14);
}
.pg-lg-doc__link { display: block; text-decoration: none; }
.pg-lg-doc__shot {
	position: relative; display: block; overflow: hidden; border-radius: 10px;
	background: #fff; aspect-ratio: 3 / 4; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .6);
}
.pg-lg-doc__shot picture, .pg-lg-doc__shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.pg-lg-doc__zoom {
	position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 10px; border-radius: 999px; background: rgba(11, 31, 92, .86); color: #fff;
	font-size: 11.5px; font-weight: 800; letter-spacing: .04em;
}
.pg-lg-doc__zoom .pg-ico { font-size: 12px; }
.pg-lg-doc__link:hover .pg-lg-doc__zoom { background: var(--pg-red-deep); }
.pg-lg-doc__link:hover .pg-lg-doc__shot { box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .7); }
.pg-lg-doc__name { margin: 10px 0 0; font-family: var(--pg-font-display); font-weight: 900; font-size: 14px; color: #fff; line-height: 1.5; }
.pg-lg-doc__no { margin: 0; font-size: 11.5px; line-height: 1.6; color: var(--pg-gold); }
.pg-lg-doc__no .pg-num { font-family: var(--pg-font-num); font-weight: 800; font-size: 13.5px; letter-spacing: .01em; }
.pg-lg-doc__note { margin: 6px 0 0; font-size: 11.5px; line-height: 1.75; color: rgba(255, 255, 255, .76); }
.pg-lg-docs__note { margin: 12px 0 0; font-size: 11.5px; color: rgba(255, 255, 255, .6); }

/* 許認可の番号が長くなった（東京都＋埼玉県の2本）ので折り返せるようにする */
.pg-lg-lic__no, .pg-co__lic span { word-break: normal; overflow-wrap: anywhere; line-height: 1.6; }

/* ==========================================================================
   2026-09-17 下層ページ（page.php ＋ inc/subpage*.php）
   ★トップの上質化レイヤーと同じ約束：地色は白／淡グレー／紺グラデの3つ。
     太いフチ・ハード影・ベタ黄は使わない。差し色は金と赤だけ。
   ========================================================================== */

.pg-wrap--narrow { max-width: 880px; }

/* ---------- パンくず ---------- */
.pg-crumb { background: var(--pg-paper); border-bottom: 1px solid rgba(11, 31, 92, .07); }
.pg-crumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; padding: 12px 0; list-style: none; font-size: 12.5px; }
.pg-crumb li { display: flex; align-items: center; gap: 10px; color: var(--pg-sub); }
.pg-crumb li + li::before { content: ""; width: 5px; height: 5px; border-top: 1.5px solid rgba(11, 31, 92, .3); border-right: 1.5px solid rgba(11, 31, 92, .3); transform: rotate(45deg); }
.pg-crumb a { color: var(--pg-navy); text-decoration: none; }
.pg-crumb a:hover { text-decoration: underline; }
.pg-crumb [aria-current] { font-weight: 700; color: var(--pg-sub); }

/* ---------- ページの先頭 ---------- */
.pg-phero {
	position: relative; overflow: hidden; color: #fff;
	background: var(--pg-grad-navy);
	padding: clamp(40px, 7vw, 76px) 0 clamp(34px, 6vw, 62px);
}
.pg-phero::after {
	content: ""; position: absolute; inset: auto 0 0; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(245, 197, 24, .55), transparent);
}
.pg-phero__in { position: relative; text-align: center; }
.pg-phero__kw {
	display: inline-block; margin: 0 0 14px; padding: 6px 16px; border-radius: 999px;
	background: rgba(255, 255, 255, .10); border: 1px solid rgba(245, 197, 24, .35);
	color: var(--pg-gold); font-size: 12.5px; font-weight: 800; letter-spacing: .06em;
}
.pg-phero__h1 {
	margin: 0 0 18px; font-family: var(--pg-font-display); font-weight: 900;
	font-size: clamp(25px, 6vw, 46px); line-height: 1.4; letter-spacing: .01em; text-wrap: balance;
}
.pg-phero__h1 em { font-style: normal; color: var(--pg-gold); }
.pg-phero__lead { margin: 0 auto; max-width: 46em; font-size: clamp(13.5px, 2.6vw, 15.5px); line-height: 2.1; color: rgba(255, 255, 255, .86); }
.pg-phero__badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.pg-phero__badges li {
	display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
	font-size: 12.5px; font-weight: 700;
}
.pg-phero__badges .pg-ico { color: var(--pg-gold); font-size: 14px; }
.pg-phero__cta { margin: 26px 0 0; }

/* ---------- 要点・目次 ---------- */
.pg-sub-top { background: var(--pg-paper); padding: clamp(26px, 5vw, 44px) 0 4px; }
.pg-points--sub { margin: 0 auto 18px; } /* ★ auto を消すと中央寄せが外れて左に寄る（.pg-points は max-width:980px + margin auto） */
.pg-toc {
	margin: 0 0 clamp(26px, 5vw, 44px); padding: 22px 20px; border-radius: 18px;
	background: var(--pg-white); box-shadow: var(--pg-shadow-sm);
}
.pg-toc__ttl { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-family: var(--pg-font-display); font-weight: 900; font-size: 15px; color: var(--pg-navy); }
.pg-toc__ttl .pg-ico { color: var(--pg-red); }
.pg-toc__list { display: grid; gap: 8px 22px; margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.pg-toc__list li { counter-increment: toc; display: grid; grid-template-columns: 26px 1fr; align-items: baseline; }
.pg-toc__list li::before {
	content: counter(toc, decimal-leading-zero);
	font-family: var(--pg-font-num); font-weight: 800; font-size: 13px; color: var(--pg-red);
}
@media (min-width: 768px) { .pg-toc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pg-toc__list a { font-size: 13.5px; line-height: 1.7; }
.pg-toc__list a { color: var(--pg-ink); text-decoration: none; border-bottom: 1px solid transparent; }
.pg-toc__list a:hover { color: var(--pg-red-deep); border-color: currentColor; }

/* ---------- セクションの地色（白→淡グレーを交互に） ---------- */
.pg-sub-text, .pg-sub-cards, .pg-sub-steps, .pg-sub-table,
.pg-sub-checklist, .pg-sub-price, .pg-sub-links, .pg-sub-cta, .pg-sub-notice { background: var(--pg-white); }
.pg-sec.is-alt:not(.is-dark) { background: var(--pg-paper); }
.pg-sub-faq { background: var(--pg-paper); }
/* 下層ページはセクションの上下を少し詰める（1ページの情報量が多いため） */
.pg-sub-text, .pg-sub-cards, .pg-sub-steps, .pg-sub-table, .pg-sub-checklist,
.pg-sub-price, .pg-sub-links, .pg-sub-notice, .pg-sub-cta, .pg-sub-faq, .pg-rel {
	padding-top: clamp(38px, 6vw, 76px); padding-bottom: clamp(38px, 6vw, 76px);
}
.pg-sec.is-dark { background: var(--pg-grad-navy); color: #fff; }
.pg-sec.is-dark .pg-head__title, .pg-sec.is-dark .pg-prose p, .pg-sec.is-dark .pg-card__ttl { color: #fff; }
.pg-sec.is-dark .pg-head__lead, .pg-sec.is-dark .pg-card__text { color: rgba(255, 255, 255, .82); }
.pg-sec.is-dark .pg-card { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); box-shadow: none; }

/* ---------- 本文 ---------- */
.pg-prose { max-width: 46em; margin: 0 auto; }
.pg-prose p { margin: 0 0 1.5em; font-size: clamp(14px, 2.6vw, 15.5px); line-height: 2.1; color: var(--pg-ink); }
.pg-prose p:last-child { margin-bottom: 0; }
.pg-prose strong { color: var(--pg-navy); font-weight: 900; background: linear-gradient(180deg, transparent 62%, rgba(245, 197, 24, .38) 62%); }
.pg-sec.is-dark .pg-prose strong { color: var(--pg-gold); background: none; }
.pg-prose a { color: var(--pg-navy); font-weight: 700; }
.pg-prose__fig { margin: 30px auto 0; max-width: 780px; }
.pg-prose__fig picture, .pg-prose__fig img { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: var(--pg-shadow); }
.pg-prose__fig figcaption { margin-top: 10px; font-size: 12.5px; color: var(--pg-sub); text-align: center; }

/* ---------- カード ---------- */
.pg-cards { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 620px) { .pg-cards--2, .pg-cards--3, .pg-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) {
	.pg-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pg-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.pg-cards { gap: 18px; }
}
.pg-card {
	display: grid; align-content: start; gap: 8px; padding: 24px 20px 22px; border-radius: 18px;
	background: var(--pg-white); border: 1px solid rgba(11, 31, 92, .09); box-shadow: var(--pg-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}
.pg-card:hover { transform: translateY(-3px); box-shadow: var(--pg-shadow); }
.pg-card__ico {
	display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 13px;
	background: linear-gradient(140deg, rgba(11, 31, 92, .08), rgba(11, 31, 92, .03));
	color: var(--pg-navy); font-size: 23px;
}
.pg-sec.is-dark .pg-card__ico { background: rgba(245, 197, 24, .14); color: var(--pg-gold); }
.pg-card__shot { display: block; overflow: hidden; border-radius: 13px; aspect-ratio: 16 / 10; }
.pg-card__shot picture, .pg-card__shot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pg-card__ttl { margin: 0; font-family: var(--pg-font-display); font-weight: 900; font-size: 17px; line-height: 1.5; color: var(--pg-navy); }
.pg-card__text { margin: 0; font-size: 13.5px; line-height: 1.95; color: var(--pg-sub); }

/* ---------- ステップ（下層専用。トップの .pg-steps とは別物なので名前を分ける）---------- */
.pg-sb-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pg-sb-step {
	position: relative; display: grid; grid-template-columns: 54px 1fr; gap: 16px; align-items: start;
	padding: 22px 22px 22px 18px; border-radius: 18px; background: var(--pg-white);
	border: 1px solid rgba(11, 31, 92, .09); box-shadow: var(--pg-shadow-sm);
}
.pg-sb-step__no { font-family: var(--pg-font-num); font-weight: 800; font-size: 40px; line-height: 1; color: rgba(11, 31, 92, .16); }
.pg-sb-step__body h3 { margin: 0 0 6px; font-family: var(--pg-font-display); font-weight: 900; font-size: 16.5px; color: var(--pg-navy); }
.pg-sb-step__body p { margin: 0; font-size: 13.5px; line-height: 1.95; color: var(--pg-sub); }

/* ---------- 表 ---------- */
.pg-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 16px; box-shadow: var(--pg-shadow-sm); background: var(--pg-white); }
.pg-table { width: 100%; border-collapse: collapse; min-width: 560px; font-size: 13.5px; }
.pg-table th, .pg-table td { padding: 14px 16px; text-align: left; line-height: 1.8; border-bottom: 1px solid rgba(11, 31, 92, .08); vertical-align: top; }
.pg-table thead th { background: var(--pg-navy); color: #fff; font-weight: 800; font-size: 13px; white-space: nowrap; border-bottom: 0; }
.pg-table tbody th { background: var(--pg-sky); color: var(--pg-navy); font-weight: 800; white-space: nowrap; }
.pg-table tbody tr:last-child th, .pg-table tbody tr:last-child td { border-bottom: 0; }
.pg-table .is-nw { white-space: nowrap; }
.pg-table__note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.8; color: var(--pg-sub); }

/* ---------- ○×リスト ---------- */
.pg-checks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .pg-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pg-checks li { display: grid; grid-template-columns: 30px 1fr; gap: 4px 12px; align-items: start; padding: 16px 18px; border-radius: 14px; background: var(--pg-white); box-shadow: var(--pg-shadow-sm); }
.pg-checks b { font-size: 14.5px; color: var(--pg-navy); align-self: center; }
.pg-checks span:not(.pg-checks__ico) { grid-column: 2; font-size: 13px; line-height: 1.85; color: var(--pg-sub); }
.pg-checks__ico { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: 15px; grid-row: span 2; }
.pg-checks .is-ok .pg-checks__ico { background: rgba(6, 199, 85, .12); color: #0a8a44; }
.pg-checks .is-ng .pg-checks__ico { background: rgba(255, 42, 31, .10); color: var(--pg-red-deep); }

/* ---------- 注意ボックス ---------- */
.pg-notice { max-width: 46em; margin: 0 auto; padding: 22px 22px 20px; border-radius: 18px; background: var(--pg-sky); border-left: 4px solid var(--pg-navy); }
.pg-notice__ttl { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-family: var(--pg-font-display); font-weight: 900; font-size: 16px; color: var(--pg-navy); }
.pg-notice__ttl .pg-ico { color: var(--pg-red); }
.pg-notice__text { margin: 0 0 .9em; font-size: 13.5px; line-height: 1.95; color: var(--pg-sub); }
.pg-notice__text:last-child { margin-bottom: 0; }

/* ---------- 料金（下層の簡易版） ---------- */
.pg-subprice { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 620px) { .pg-subprice { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pg-subprice { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pg-subprice__item { position: relative; display: grid; align-content: start; gap: 2px; padding: 22px 18px; border-radius: 18px; background: var(--pg-white); border: 1px solid rgba(11, 31, 92, .09); box-shadow: var(--pg-shadow-sm); text-align: center; }
.pg-subprice__item.is-pick { border-color: rgba(245, 197, 24, .8); box-shadow: 0 16px 34px -18px rgba(245, 197, 24, .6), var(--pg-shadow-sm); }
.pg-subprice__label { margin: 0; font-family: var(--pg-font-display); font-weight: 900; font-size: 15px; color: var(--pg-navy); }
.pg-subprice__unit { margin: 0; font-size: 11.5px; color: var(--pg-sub); }
.pg-subprice__num { margin: 4px 0 0; font-family: var(--pg-font-display); font-weight: 900; font-size: 15px; color: var(--pg-red-deep); }
.pg-subprice__num .pg-num { font-family: var(--pg-font-num); font-weight: 800; font-size: 40px; letter-spacing: -.01em; }
.pg-subprice__num span { font-family: var(--pg-font-num); font-weight: 800; }
.pg-subprice__tax { margin: 0; font-size: 11.5px; color: var(--pg-sub); }
.pg-subprice__note { margin: 8px 0 0; font-size: 12px; line-height: 1.7; color: var(--pg-sub); }
.pg-subprice__foot { display: flex; align-items: flex-start; gap: 8px; margin: 18px auto 0; max-width: 46em; font-size: 13px; line-height: 1.9; color: var(--pg-sub); }
.pg-subprice__foot .pg-ico { flex: none; margin-top: .4em; color: var(--pg-red); }
.pg-subprice__more { margin: 14px 0 0; text-align: center; }
.pg-subprice__more a { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 14px; color: var(--pg-navy); text-decoration: none; border-bottom: 1px solid rgba(11, 31, 92, .3); padding-bottom: 2px; }
.pg-subprice__more a:hover { color: var(--pg-red-deep); border-color: var(--pg-red-deep); }

/* ---------- FAQ（下層）：組み方はトップと同じ。ここでは幅と地色だけ ---------- */
.pg-sub-faq .pg-faq-list { max-width: 900px; margin: 0 auto; }

/* ---------- 関連ページ ---------- */
.pg-rel { background: var(--pg-paper); }
.pg-rel__ttl { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 18px; font-family: var(--pg-font-display); font-weight: 900; font-size: 17px; color: var(--pg-navy); }
.pg-rel__ttl .pg-ico { color: var(--pg-red); }
.pg-rel__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .pg-rel__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pg-rel__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-rel__list a {
	display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px;
	padding: 16px 18px; border-radius: 14px; background: var(--pg-white); box-shadow: var(--pg-shadow-sm);
	text-decoration: none; transition: transform .2s ease, box-shadow .2s ease;
}
.pg-rel__list a:hover { transform: translateY(-2px); box-shadow: var(--pg-shadow); }
.pg-rel__list b { font-size: 14.5px; color: var(--pg-navy); }
.pg-rel__list small { grid-column: 1 / 2; font-size: 12px; line-height: 1.7; color: var(--pg-sub); }
.pg-rel__list .pg-ico { grid-row: span 2; color: var(--pg-red); }

/* ---------- 下層の共通調整 ---------- */
.pg-sub-cards .pg-head, .pg-sub-steps .pg-head, .pg-sub-table .pg-head,
.pg-sub-checklist .pg-head, .pg-sub-price .pg-head, .pg-sub-links .pg-head { margin-bottom: 26px; }
@media (max-width: 767px) {
	.pg-sb-step { grid-template-columns: 42px 1fr; gap: 12px; padding: 18px 16px; }
	.pg-sb-step__no { font-size: 32px; }
}

/* フッター1列目：ロゴと電話ボタンが列からはみ出していたので、列の内側に収める */
.pg-ft__brand > * { max-width: 100%; }
.pg-logo--ft { box-sizing: border-box; }

/* ---------- 2026-09-17 全幅点検で出た直し ---------- */
/* タブレット縦（768〜1023px）：電話・LINE・フォームの3ボタンが狭く、中の文字がボタンの枠から数pxはみ出していた */
@media (min-width: 768px) and (max-width: 1023px) {
	.pg-ctabtns .pg-btn { padding-left: 10px; padding-right: 10px; gap: 8px; }
	.pg-ctabtns .pg-btn__main { font-size: 18px; }
	.pg-ctabtns .pg-btn__main.pg-num { font-size: 19px; letter-spacing: -.01em; }
	.pg-ctabtns .pg-btn__sub { font-size: 10.5px; }
	.pg-ctabtns .pg-btn__ico { font-size: 20px; }
}
/* 360px：比較の差額の数字がカードから3pxはみ出していた */
@media (max-width: 374px) {
	.pg-diff__num { font-size: clamp(34px, 11.6vw, 54px); }
	/* ★大きい数字は子の .pg-num 側。親だけ小さくしても効かない */
	.pg-diff__num .pg-num { font-size: clamp(56px, 22.5vw, 180px); }
}

/* =========================================================
   ブログ（2026-09-22）一覧＝.pg-blog-grid／記事＝.pg-art
   旧サイトの本文（クラシックエディタ・表118・赤青の文字色見出し・mark）を
   書き換えずに読みやすく見せる。本文の文字は触らない。
   ========================================================= */
.pg-blog-list { background: #f5f7fb; }
.pg-blog-grid { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .pg-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } }
@media (min-width: 1024px) { .pg-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; } }
.pg-blog-card a { display: flex; flex-direction: column; height: 100%; background: #fff; border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow-sm); overflow: hidden; text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s; }
.pg-blog-card a:hover { transform: translateY(-3px); box-shadow: var(--pg-shadow); }
.pg-blog-card__img { position: relative; padding-top: 66.66%; background: var(--pg-sky); overflow: hidden; }
.pg-blog-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pg-blog-card a:hover .pg-blog-card__img img { transform: scale(1.04); }
.pg-blog-card__noimg { position: absolute; inset: 0; display: grid; place-items: center; color: var(--pg-navy); opacity: .35; }
.pg-blog-card__noimg .pg-ico { width: 44px; height: 44px; }
.pg-blog-card__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px 20px 22px; }
.pg-blog-card__date { font-family: var(--pg-font-num); font-weight: 800; font-size: 14px; letter-spacing: .06em; color: var(--pg-red); }
.pg-blog-card__ttl { margin: 0; font-family: var(--pg-font-display); font-weight: 900; font-size: 15.5px; line-height: 1.6; color: var(--pg-navy); }
.pg-blog-card__text { margin: 0; font-size: 12.5px; line-height: 1.8; color: var(--pg-sub); }
.pg-blog-pager { margin-top: 36px; }
.pg-blog-pager .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pg-blog-pager .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 10px; background: #fff; border: var(--pg-border); color: var(--pg-navy); font-weight: 700; text-decoration: none; }
.pg-blog-pager .page-numbers.current { background: var(--pg-navy); color: #fff; }
.pg-blog-empty { text-align: center; color: var(--pg-sub); }

/* 記事の頭 */
.pg-art__head { padding: 40px 0 34px; background: linear-gradient(135deg, var(--pg-navy-deep), var(--pg-navy)); color: #fff; }
@media (min-width: 768px) { .pg-art__head { padding: 60px 0 52px; } }
.pg-art__head-in { max-width: 860px; margin: 0 auto; }
.pg-art__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 14px; font-family: var(--pg-font-num); font-weight: 800; font-size: 14px; letter-spacing: .06em; color: rgba(255, 255, 255, .8); }
.pg-art__label { padding: 3px 10px; border-radius: 999px; background: var(--pg-red); color: #fff; font-size: 12px; letter-spacing: .14em; }
.pg-art__upd { font-family: var(--pg-font); font-weight: 500; font-size: 12.5px; letter-spacing: 0; }
.pg-art__h1 { margin: 0; font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(21px, 4.4vw, 32px); line-height: 1.55; color: #fff; }
.pg-art__in { max-width: 860px; margin: 0 auto; padding: 32px 0 64px; }
@media (min-width: 768px) { .pg-art__in { padding: 48px 0 88px; } }
.pg-art__eye { margin: 0 0 32px; }
.pg-art__eye img { display: block; width: 100%; height: auto; border-radius: 16px; box-shadow: var(--pg-shadow); }
.pg-art__toc { margin: 0 0 40px; }

/* 本文 */
.pg-art__body { font-size: clamp(14.5px, 2.6vw, 16px); line-height: 2.05; color: var(--pg-ink); overflow-wrap: anywhere; }
.pg-art__body > * { margin-top: 0; }
.pg-art__body p { margin: 0 0 1.6em; }
.pg-art__body h2 { margin: 2.6em 0 1.1em; padding: 16px 20px; border-radius: 12px; background: var(--pg-navy); color: #fff; font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(18px, 3.6vw, 23px); line-height: 1.55; scroll-margin-top: calc(var(--pg-hd-h) + 16px); }
.pg-art__body h3 { margin: 2.2em 0 .9em; padding: 4px 0 4px 16px; border-left: 5px solid var(--pg-red); color: var(--pg-navy); font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(16.5px, 3.2vw, 19.5px); line-height: 1.6; }
.pg-art__body h4 { margin: 1.8em 0 .7em; padding-bottom: 6px; border-bottom: 2px dotted rgba(11, 31, 92, .25); color: var(--pg-navy); font-weight: 900; font-size: clamp(15px, 2.9vw, 17px); line-height: 1.6; }
/* 旧サイトの見出しの文字色（赤・青）は新デザインの見出しとぶつかるので、見出しの中だけ色を揃える（本文中の色は残す） */
.pg-art__body h2 span[style*="color"], .pg-art__body h2 strong { color: inherit !important; background: none; }
.pg-art__body h3 span[style*="color"], .pg-art__body h4 span[style*="color"] { color: inherit !important; }
.pg-art__body strong { font-weight: 800; color: var(--pg-navy); }
.pg-art__body mark { padding: 0 .1em; background: linear-gradient(180deg, transparent 55%, rgba(255, 224, 0, .55) 55%); color: inherit; }
.pg-art__body ul, .pg-art__body ol { margin: 0 0 1.6em; padding-left: 1.4em; }
.pg-art__body li { margin-bottom: .4em; }
.pg-art__body img { display: block; max-width: 100%; height: auto; margin: 1.4em auto; border-radius: 12px; }
.pg-art__body a { color: var(--pg-navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
/* 表：SPは箱の中で横スクロール */
.pg-art__tbl { margin: 0 0 1.8em; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 12px; border: 1px solid rgba(11, 31, 92, .14); background: #fff; }
.pg-art__tbl table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 13.5px; line-height: 1.75; }
.pg-art__tbl caption { padding: 10px 14px; caption-side: top; text-align: left; font-weight: 800; color: var(--pg-navy); background: var(--pg-sky); }
.pg-art__tbl th, .pg-art__tbl td { padding: 10px 14px; border-bottom: 1px solid rgba(11, 31, 92, .1); vertical-align: top; text-align: left; }
.pg-art__tbl th + th, .pg-art__tbl td + td, .pg-art__tbl th + td, .pg-art__tbl td + th { border-left: 1px solid rgba(11, 31, 92, .08); }
.pg-art__tbl thead th { background: var(--pg-navy); color: #fff; font-weight: 800; }
.pg-art__tbl thead th strong, .pg-art__tbl thead th span { color: inherit !important; }
.pg-art__tbl tbody th { background: #f5f7fb; color: var(--pg-navy); font-weight: 800; }
.pg-art__tbl tbody tr:last-child > * { border-bottom: 0; }
.pg-art__tbl tbody tr:nth-child(even) td { background: #fafbfe; }
/* SP：左端の項目列が2〜3字で折れないように幅を確保＋横スクロールできる旨を表の上に（箱の中で左に貼り付く） */
.pg-art__tbl tbody th, .pg-art__tbl tbody td:first-child { min-width: 7.5em; }
@media (max-width: 1023px) {
	.pg-art__tbl::before { content: "← 横にスクロールできます →"; position: sticky; left: 0; display: block; width: calc(100vw - 2 * var(--pg-gutter) - 2px); padding: 6px 0; font-size: 11px; text-align: center; color: var(--pg-sub); background: #f5f7fb; border-bottom: 1px solid rgba(11, 31, 92, .08); }
}
/* 列の多い表は、SP・タブレット縦ではセルに最低幅を持たせて箱の中で横スクロール（1セル1〜2字の縦長にしない） */
@media (max-width: 1023px) { .pg-art__tbl th, .pg-art__tbl td { min-width: 8.5em; } }
@media (min-width: 1024px) { .pg-art__tbl table { min-width: 0; } }

/* 運営者 */
.pg-art__owner { margin-top: 56px; padding: 24px 26px; border-radius: 16px; background: #f5f7fb; border: 1px solid rgba(11, 31, 92, .1); }
.pg-art__owner-ttl { margin: 0 0 6px; font-family: var(--pg-font-num); font-weight: 800; font-size: 13px; letter-spacing: .12em; color: var(--pg-red); }
.pg-art__owner-name { margin: 0 0 8px; font-family: var(--pg-font-display); font-weight: 900; font-size: 16px; color: var(--pg-navy); }
.pg-art__owner-text { margin: 0 0 12px; font-size: 13.5px; line-height: 1.9; color: var(--pg-sub); }
.pg-art__owner-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 13.5px; color: var(--pg-navy); }
.pg-art__owner-link .pg-ico { width: 16px; height: 16px; color: var(--pg-red); }

/* ほかの記事 */
.pg-blog-more { background: #f5f7fb; }
.pg-blog-more__all { margin: 28px 0 0; text-align: center; }
.pg-blog-more__all a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 26px; border-radius: 999px; background: #fff; border: var(--pg-border); box-shadow: var(--pg-shadow-sm); font-weight: 800; color: var(--pg-navy); text-decoration: none; }
.pg-blog-more__all .pg-ico { width: 16px; height: 16px; color: var(--pg-red); }

/* =========================================================
   お問い合わせフォーム（2026-09-22）.pg-form（.pg-formula とは別物）
   ========================================================= */
.pg-form { max-width: 780px; margin: 0 auto; padding: 26px 20px; background: #fff; border: var(--pg-border); border-radius: var(--pg-radius); box-shadow: var(--pg-shadow-sm); scroll-margin-top: calc(var(--pg-hd-h) + 16px); }
@media (min-width: 768px) { .pg-form { padding: 44px 48px; } }
.pg-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pg-form__row { margin: 0 0 22px; padding: 0; border: 0; min-width: 0; }
.pg-form__label { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; font-weight: 800; font-size: 15px; color: var(--pg-navy); }
.pg-form__req, .pg-form__opt { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 800; line-height: 1.5; }
.pg-form__req { background: var(--pg-red); color: #fff; }
.pg-form__opt { background: #eef1f7; color: var(--pg-sub); }
.pg-form__input { display: block; width: 100%; padding: 13px 14px; border: 1px solid rgba(11, 31, 92, .25); border-radius: 10px; background: #fbfcff; font: inherit; font-size: 16px; color: var(--pg-ink); transition: border-color .2s, box-shadow .2s; }
.pg-form__input:focus { outline: none; border-color: var(--pg-navy); box-shadow: 0 0 0 3px rgba(11, 31, 92, .15); background: #fff; }
.pg-form__input::placeholder { color: #9aa1b5; }
.pg-form__textarea { min-height: 170px; resize: vertical; line-height: 1.8; }
.pg-form__checks { display: grid; gap: 8px; }
@media (min-width: 560px) { .pg-form__checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .pg-form__checks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-form__checks.is-inline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 559px) { .pg-form__checks.is-inline .pg-form__check { gap: 6px; padding: 11px 8px; font-size: 13px; } }
@media (max-width: 399px) { .pg-form__checks.is-inline { grid-template-columns: 1fr; } }
.pg-form__check { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid rgba(11, 31, 92, .18); border-radius: 10px; background: #fbfcff; font-size: 14px; line-height: 1.5; cursor: pointer; }
.pg-form__check input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--pg-navy); }
.pg-form__check:has(input:checked) { border-color: var(--pg-navy); background: #eef3ff; font-weight: 700; }
.pg-form__help { margin: 0 0 10px; font-size: 13px; line-height: 1.8; color: var(--pg-sub); }
.pg-form__file { display: block; width: 100%; padding: 14px; border: 2px dashed rgba(11, 31, 92, .25); border-radius: 10px; background: #fbfcff; font-size: 14px; }
.pg-form__filemsg { margin: 8px 0 0; font-size: 13px; color: var(--pg-sub); overflow-wrap: anywhere; }
.pg-form__filemsg:empty { display: none; }
.pg-form__filemsg.is-err { color: var(--pg-red-deep); font-weight: 700; }
.pg-form__agree { margin-top: 28px; }
.pg-form__agree .pg-form__check { justify-content: center; border: 0; background: none; font-size: 14.5px; }
.pg-form__agree a { color: var(--pg-navy); font-weight: 800; text-decoration: underline; }
.pg-form__err { margin: 8px 0 0; padding: 8px 12px; border-radius: 8px; background: #fff0f0; color: var(--pg-red-deep); font-size: 13.5px; font-weight: 700; line-height: 1.7; }
.pg-form > .pg-form__err { margin: 0 0 22px; }
.pg-form__submit { text-align: center; }
.pg-form__btn { display: inline-flex; justify-content: center; width: 100%; max-width: 380px; min-height: 64px; border: 0; cursor: pointer; font: inherit; }
.pg-form__btn[aria-disabled="true"] { opacity: .7; cursor: wait; }
.pg-form__note { margin: 12px 0 0; font-size: 12.5px; color: var(--pg-sub); }
.pg-form__done { text-align: center; }
.pg-form__done-ttl { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 14px; font-family: var(--pg-font-display); font-weight: 900; font-size: clamp(18px, 3.6vw, 22px); color: var(--pg-navy); }
.pg-form__done-ttl .pg-ico { width: 28px; height: 28px; color: var(--pg-line); }
.pg-form__done p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.9; }
.pg-form__done a { color: var(--pg-navy); font-weight: 800; }

/* 列が多い表（県ページの粗大ごみの表）：SP・タブレット縦は広げて横スクロール＋案内（2026-09-22） */
.pg-table.is-wide td { min-width: 12em; }
@media (max-width: 1023px) {
	.pg-table.is-wide { min-width: 860px; }
	.pg-tablewrap.is-wide::before { content: "← 横にスクロールできます →"; position: sticky; left: 0; display: block; width: calc(100vw - 2 * var(--pg-gutter)); padding: 6px 0; font-size: 11px; text-align: center; color: var(--pg-sub); background: #f5f7fb; border-bottom: 1px solid rgba(11, 31, 92, .08); }
}
/* 同じ背景のセクションが続く所は、上の余白を詰める（両方の余白が足されて300px前後の空白になっていた・2026-09-23 見た目点検） */
.pg-pledge + .pg-patterns, .pg-kfree + .pg-why, .pg-greet + .pg-company { padding-top: calc(var(--pg-sec-y) * .35); }
/* 代表あいさつの顔写真は元が388px。780px幅に引き伸ばされてぼやけていた→元の大きさまで（2026-09-23） */
.pg-prose__fig:has(img[src*="/ceo."]) { max-width: 388px; }
/* 見出し（中央寄せ）の直後のリンク一覧も中央に（エリアページの「各市区の公式ページ」だけ左寄せだった） */
.pg-head + .pg-alert-list { justify-content: center; }
/* 下層：要点（最大980px）と目次（全幅）の幅がそろわず、間も18pxで詰まって見えた→目次も980pxで中央・間を28pxに（2026-09-23） */
.pg-sub-top .pg-toc { max-width: 980px; margin-left: auto; margin-right: auto; }
.pg-sub-top .pg-points--sub { margin-bottom: 28px; }
/* スマホで1〜2文字だけ次の行に落ちる所（「いく/ら？」「第…129/号」「グルー/プへ」）→行の長さをそろえ、文節で改行（見出しh2は65行目で済み。文言は変えない・非対応ブラウザは今のまま）2026-09-23
   ★auto-phrase は lang="ja" でしか効かない。仮サイトは lang="en-US" なので改行位置の確認は本番か lang を ja にして行う */
.pg-cta-band__ttl, .pg-contact__kicker, .pg-license-chip { text-wrap: balance; }
@supports (word-break: auto-phrase) { .pg-cta-band__ttl, .pg-contact__kicker, .pg-license-chip { word-break: auto-phrase; } }
/* 「基本の料金」カードだけ数字が大きく、390px幅で「円〜」が次の行に落ちていた→スマホは他のカードと同じ比率に */
@media (max-width: 767px) { .pg-card-price.is-pick .pg-pricetag__num { font-size: clamp(54px, 14vw, 60px); } }
/* スマホ：2〜3列の表まで最低560pxの幅で横スクロールになり、料金ページの「ペガサスの場合」列などが画面外に隠れていた（スクロールの案内も無し）
   → 市区の粗大ごみ表（is-wide・案内あり）以外は画面幅に収めて折り返す（2026-09-23 見た目点検） */
@media (max-width: 767px) {
	.pg-table:not(.is-wide) { min-width: 0; font-size: 13px; }
	.pg-table:not(.is-wide) th, .pg-table:not(.is-wide) td { padding: 11px 10px; }
	.pg-table:not(.is-wide) thead th, .pg-table:not(.is-wide) tbody th { white-space: normal; }
	/* ★最低幅が無いと見出し欄が1文字ずつ縦に潰れる（「東京都町田市」が6行）＝仮サイトの点検で発見 */
	.pg-table:not(.is-wide) tbody th { min-width: 6.5em; }
	.pg-table:not(.is-wide) td { min-width: 5.5em; }
}
/* スマホの表示速度（2026-09-23）：背景写真はスマホ用の軽い版（--pg-bg-src-sp）を使う。トップの一番上（is-mv）は画面に入っているので
   JS（.bg-on）を待たずにすぐ読む＝LCP（一番大きい表示）が早くなる。PCは今まで通り */
@media (max-width: 767px) {
	html:not(.pg-js) [data-bg], [data-bg].bg-on, .pg-hero.is-mv[data-bg] { --pg-bg-img: var(--pg-bg-src-sp, var(--pg-bg-src)); }
}
