@charset "UTF-8";
/* ============================================================
   GOKUリース TOP（front-page）専用スタイル
   2026-09 全面レイアウト刷新。受領した確定デザイン12ブロックを再現する。

   - front-page でのみ enqueue する（functions.php / goku_enqueue_styles）
   - 全クラスに .glp- 接頭辞。全ページ共通の custom.css とは衝突しない
   - ヘッダー（sticky）とフッターは既存の子テーマ共通のものを使う。触らない
   - 色は 03_specs/design_tokens.md の値
   - 写真の全面背景は使わない。面は白＋淡い水色、帯とドットはCSSで作る
     （CEO指示 2026-09-09「同じ背景や文字装飾の繰り返しは見た目に不適切」）
   - ブレークポイント: PC min-width 1024px / Tablet 768〜1023px / SP max-width 767px
     SPはPCの縮小ではなく縦積みにする
   ============================================================ */

/* ============================================================
   0. トークン・土台
   ============================================================ */

.goku-lp {
	--glp-blue: #0b5fea;
	--glp-blue-2: #2a79ff;
	--glp-blue-dark: #0a4cbb;
	--glp-navy: #071b43;
	--glp-navy-2: #0d2a5e;
	--glp-sky: #eff7ff;
	--glp-sky-2: #dceeff;
	--glp-border: #cfe3fa;
	--glp-text: #071b43;
	--glp-muted: #5b6881;
	--glp-white: #ffffff;
	--glp-line: #06c755;
	--glp-line-dark: #05a948;

	--glp-r-lg: 28px;
	--glp-r-md: 18px;
	--glp-r-sm: 14px;
	--glp-r-pill: 999px;

	--glp-shadow: 0 12px 30px rgba(7, 27, 67, 0.08);
	--glp-shadow-soft: 0 6px 18px rgba(7, 27, 67, 0.06);

	--glp-container: 1240px;
	--glp-gutter: 32px;
	--glp-header-h: 72px;

	color: var(--glp-text);
	/* 書体はヘッダー・フッターと揃えるため body の指定を継ぐ。Webフォントは足さない */
	font-family: inherit;
	line-height: 1.75;
	background: var(--glp-white);
	overflow-x: clip;
}

.goku-lp *,
.goku-lp *::before,
.goku-lp *::after {
	box-sizing: border-box;
}

.goku-lp img {
	max-width: 100%;
	height: auto;
}

/* :where() で詳細度を0にしてある。
   `.goku-lp ul`（詳細度0-1-1）のままだと `.glp-〇〇`（0-1-0）の margin を打ち消してしまい、
   各ブロックで指定した上下の余白が無言で効かなくなる（2026-09-09に実際に起きた）。 */
:where(.goku-lp ul, .goku-lp ol) {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 全ページ共通CSS（.goku-page a）の下線・リンク色を、このページ内では打ち消す。
   詳細度を1段上げ、CSSの結合順が変わっても打ち消しが外れないようにする。
   色や下線を持たせたい要素は、下の「リンクの見た目を戻す指定」で同じ詳細度以上で上書きする。 */
main.goku-lp a,
.glp-sp-cta .glp-sp-cta__btn {
	color: inherit;
	text-decoration: none;
	text-underline-offset: 2px;
}

main.goku-lp a:hover {
	text-decoration: none;
}

/* --- リンクの見た目を戻す指定 --- */
main.goku-lp .glp-btn--line,
main.goku-lp .glp-btn--primary {
	color: var(--glp-white);
}

main.goku-lp .glp-btn--ghost {
	color: var(--glp-blue);
}

main.goku-lp .glp-textlink {
	color: var(--glp-blue-dark);
	text-decoration: underline;
}

/* .glp-sp-cta は .goku-lp の外側にありCSS変数を継がない。値を直接書く */
.glp-sp-cta a.glp-sp-cta__btn--line {
	color: #ffffff;
}

.glp-sp-cta a.glp-sp-cta__btn--tel {
	color: #0a4cbb;
}

.goku-lp section {
	position: relative;
	scroll-margin-top: calc(var(--glp-header-h) + 8px);
}

/* ============================================================
   1. 共通パーツ
   ============================================================ */

.glp-container {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--glp-container);
	margin-inline: auto;
	padding-inline: var(--glp-gutter);
}

.glp-sec {
	position: relative;
	padding: 88px 0;
	overflow: hidden;
	background: var(--glp-white);
}

.glp-sec--tint {
	background: linear-gradient(180deg, #ffffff 0%, var(--glp-sky) 100%);
}

.glp-sec--sky {
	background: var(--glp-sky);
}

/* --- 面の装飾（写真背景の置き換え）--- */

/* 斜めの淡い帯。写真を使わずに面へ動きを出す */
.glp-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

.glp-bg::before,
.glp-bg::after {
	content: "";
	position: absolute;
	top: -20%;
	height: 140%;
	transform: skewX(-13deg);
}

.glp-bg::before {
	left: -14%;
	width: 34%;
	background: var(--glp-sky);
}

.glp-bg::after {
	left: 20%;
	width: 12%;
	background: var(--glp-sky-2);
	opacity: 0.55;
}

.glp-bg--right::before {
	left: auto;
	right: -14%;
	width: 32%;
}

.glp-bg--right::after {
	left: auto;
	right: 18%;
	width: 11%;
}

/* ドットの面。角に置いて余白を埋める */
.glp-dots {
	position: absolute;
	z-index: 0;
	width: 190px;
	height: 150px;
	pointer-events: none;
	background-image: radial-gradient(var(--glp-border) 2px, transparent 2px);
	background-size: 19px 19px;
	opacity: 0.9;
}

/* SPだけで効かせる改行。PCでは無効にして、それぞれで改行位置を最適化する */
.glp-br-sp {
	display: none;
}

/* --- 見出し --- */

.glp-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 0 14px;
	color: var(--glp-blue);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.glp-eyebrow::before,
.glp-eyebrow::after {
	content: "";
	width: 56px;
	height: 2px;
	background: var(--glp-blue);
}

.glp-h2 {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(28px, 3.2vw, 46px);
	font-weight: 800;
	line-height: 1.32;
	text-align: center;
	letter-spacing: 0.005em;
}

.glp-h2 b {
	color: var(--glp-blue);
	font-weight: 800;
}

.glp-lead {
	margin: 18px auto 0;
	max-width: 900px;
	color: var(--glp-text);
	font-size: clamp(15px, 1.25vw, 19px);
	line-height: 1.8;
	text-align: center;
}

.glp-note {
	margin: 16px 0 0;
	color: var(--glp-muted);
	font-size: 13px;
	line-height: 1.75;
}

.glp-note--center {
	text-align: center;
}

/* --- ボタン --- */

.glp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 62px;
	padding: 12px 30px;
	border-radius: var(--glp-r-pill);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.glp-btn:focus-visible {
	outline: 3px solid var(--glp-blue);
	outline-offset: 3px;
}

.glp-btn:active {
	transform: translateY(1px);
}

.glp-btn__icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
}

.glp-btn__icon svg {
	width: 100%;
	height: 100%;
}

.glp-btn__arrow {
	display: inline-flex;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-left: auto;
}

.glp-btn__arrow svg {
	width: 100%;
	height: 100%;
}

.glp-btn--line {
	background: var(--glp-line);
	color: var(--glp-white);
	box-shadow: 0 10px 24px rgba(6, 199, 85, 0.28);
}

.glp-btn--line:hover {
	background: var(--glp-line-dark);
	color: var(--glp-white);
}

/* LINEのロゴマークは、緑の面の上に白で置く（公式に認められた使い方）。
   白い丸を敷いてその中に入れると、マークの吹き出しの形が丸に隠れて読めない。
   マーク自体が吹き出しの形を持っているので、丸は敷かずそのまま白で置く。
   出力は goku_line_icon()（functions.php）。形と比率は変えない。 */
.glp-btn--line .glp-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	color: var(--glp-white);
}

.glp-btn--line .glp-btn__icon svg {
	width: 100%;
	height: 100%;
}

.glp-btn--primary {
	background: var(--glp-blue);
	color: var(--glp-white);
	box-shadow: 0 10px 24px rgba(11, 95, 234, 0.26);
}

.glp-btn--primary:hover {
	background: var(--glp-blue-dark);
	color: var(--glp-white);
}

.glp-btn--ghost {
	background: var(--glp-white);
	color: var(--glp-blue);
	border: 2px solid var(--glp-border);
	box-shadow: var(--glp-shadow-soft);
}

.glp-btn--ghost:hover {
	background: var(--glp-sky);
	color: var(--glp-blue);
}

.glp-btn--block {
	width: 100%;
}

/* --- チェック印 --- */

.glp-tick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--glp-blue);
	color: var(--glp-white);
}

.glp-tick svg {
	width: 15px;
	height: 15px;
}

.glp-tick--sm {
	width: 20px;
	height: 20px;
}

.glp-tick--sm svg {
	width: 12px;
	height: 12px;
}

/* --- 丸アイコン --- */

.glp-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: var(--glp-sky-2);
	color: var(--glp-blue);
}

.glp-ico svg {
	width: 42px;
	height: 42px;
}

.glp-ico--sm {
	width: 56px;
	height: 56px;
}

.glp-ico--sm svg {
	width: 28px;
	height: 28px;
}

/* ============================================================
   2. 01 ファーストビュー
   ============================================================ */

.glp-fv {
	padding: 0 0 0;
	background: linear-gradient(160deg, #ffffff 0%, var(--glp-sky) 62%, var(--glp-sky-2) 100%);

	/* 画面の端まで抜くための距離。
	   --glp-edge   ＝ コンテナの外枠の右端から画面の右端まで（＝左右の余りの半分）
	   --glp-bleed  ＝ コンテナの内側（本文が始まる位置）の右端から画面の右端まで
	   はみ出した分は .glp-sec の overflow: hidden と .goku-lp の overflow-x: clip で切る。 */
	--glp-edge: calc((100vw - min(100vw, var(--glp-container))) / 2);
	--glp-bleed: calc(var(--glp-edge) + var(--glp-gutter));
}

.glp-bg--fv::before {
	left: 46%;
	width: 26%;
	background: rgba(255, 255, 255, 0.85);
}

.glp-bg--fv::after {
	left: 72%;
	width: 14%;
	background: var(--glp-sky-2);
	opacity: 0.7;
}

.glp-fv__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	grid-template-areas:
		"head visual"
		"offer visual";
	grid-template-rows: auto auto;
	align-content: center;
	align-items: center;
	column-gap: 18px;
	row-gap: 26px;
	padding-top: 56px;
	padding-bottom: 56px;
}

/* 筆記体「働く人の、相棒に。」＝デザインPNGから切り出した透過画像。
   写真（.glp-fv__visual）の中で絶対配置にして、グリッドの列には入れない。
   PCは写真を基準に置く（下の min-width: 1024px）。タブレット・SPは
   .glp-fv__visual の position を static に戻し、.glp-fv__inner を基準にする
   （max-width: 1023px の指定）。 */
.glp-fv__script {
	position: absolute;
	z-index: 2;
	display: block;
	pointer-events: none;
}

.glp-fv__script img {
	display: block;
	width: 100%;
	height: auto;
}

.glp-fv__head {
	grid-area: head;
	align-self: end;
}

.glp-fv__offer {
	grid-area: offer;
	align-self: start;
}

.glp-fv__visual {
	grid-area: visual;
}

.glp-fv__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 16px;
	color: var(--glp-navy);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.glp-fv__eyebrow-line {
	display: block;
	width: 62px;
	height: 3px;
	border-radius: 2px;
	background: var(--glp-blue);
}

.glp-fv__title {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(32px, 3.72vw, 56px);
	font-weight: 900;
	line-height: 1.26;
	letter-spacing: 0.005em;
}

.glp-fv__title b {
	color: var(--glp-blue);
	font-weight: 900;
}

.glp-fv__lead {
	margin: 20px 0 0;
	color: var(--glp-text);
	font-size: clamp(16px, 1.35vw, 21px);
	font-weight: 500;
	line-height: 1.65;
}

/* padding: 0 は必須。ul の左padding 40px は親テーマ Cocoon の `ol, ul`（詳細度0-0-1）が
   付けている。上の `:where(.goku-lp ul, .goku-lp ol)` は詳細度0なので、これに負ける。
   入れておかないとカードだけが本文より40px右へずれる（本番で実際にずれていた）。 */
.glp-fv__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
}

.glp-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 14px 10px 12px;
	border-radius: var(--glp-r-md);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

.glp-stat__label {
	color: var(--glp-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.glp-stat__value {
	color: var(--glp-blue);
	font-size: 34px;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.glp-stat__value--word {
	font-size: 30px;
}

.glp-stat__unit {
	font-size: 19px;
	font-weight: 800;
}

.glp-stat__ast {
	font-size: 13px;
	font-weight: 700;
	vertical-align: super;
}

.glp-stat__note {
	color: var(--glp-muted);
	font-size: 12px;
	line-height: 1.4;
}

/* padding: 0 の理由は .glp-fv__stats と同じ。
   価格カードだけを揃えてチェック印を放っておくと、同じ左のラインの中で
   カードとチェック印が別々の位置に並ぶことになる。左の列はまとめて揃える。 */
.glp-fv__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 22px 0 0;
	padding: 0;
}

.glp-fv__checks li {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--glp-navy);
	font-size: 17px;
	font-weight: 700;
}

.glp-fv__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 26px 0 0;
}

.glp-fv__cta .glp-btn--line {
	min-width: 340px;
}

.glp-fv__cta .glp-btn--ghost {
	min-width: 232px;
}

.glp-fv__note {
	margin: 16px 0 0;
	color: var(--glp-muted);
	font-size: 12.5px;
	line-height: 1.7;
}

.glp-fv__visual {
	position: relative;
}

.glp-fv__van {
	display: block;
}

.glp-fv__van img {
	display: block;
	width: 100%;
	height: auto;
}

/* justify-items: stretch で3枚を同じ幅にする。end（内容なりの幅）だと右端は揃うが
   左端が文字数のぶんだけ食い違い、階段状に見える。受領デザイン
   （01_design_reference/pc/01_01_fv_pc.png）でも3枚は同じ幅で左右とも揃っている。
   1023px以下の指定が justify-items: start で上書きするので、タブレット・SPは
   これまでどおり内容なりの幅のまま横／縦に並ぶ。
   padding: 0 の理由は .glp-fv__stats と同じ（Cocoon の ol, ul が付ける40px を消す）。 */
.glp-fv__chips {
	position: absolute;
	right: 0;
	top: 22%;
	display: grid;
	gap: 12px;
	justify-items: stretch;
	padding: 0;
}

.glp-chip {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 11px 22px 11px 18px;
	border-radius: 10px 0 0 10px;
	background: var(--glp-navy);
	color: var(--glp-white);
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(7, 27, 67, 0.22);
}

.glp-chip__icon {
	display: inline-flex;
	width: 24px;
	height: 24px;
	color: var(--glp-white);
}

.glp-chip__icon svg {
	width: 100%;
	height: 100%;
}

/* PCだけ、右側を受領デザイン（01_design_reference/pc/01_01_fv_pc.png）に寄せる。
   1024px未満はここに入らないので、タブレット・SPは従来の作りのまま。
   セクションが overflow: hidden なので、画面の外へ出した分は切り取られる。 */
@media (min-width: 1024px) {

	/* --- 写真の実寸 ---
	   画面の右端まで抜くための幅。筆記体とバッジの位置もこの値から出すので、
	   写真・筆記体・バッジの3つが同じ基準で動く。
	   max() は「これまでの124%より小さくしない」ため。1024〜1240px では
	   画面までの距離のほうが短く、そのままだと軽バンが今より小さくなる。 */
	.glp-fv__visual {
		--glp-photo-w: max(124%, calc(100% + var(--glp-bleed) + 8px));
	}

	/* width と margin-right を同じだけ増やすので、まわりの配置は動かない。
	   img は width:100% / height:auto のままなので縦横比は崩れない。 */
	.glp-fv__van {
		width: var(--glp-photo-w);
		max-width: none;
		margin-right: calc(100% - var(--glp-photo-w));
	}

	/* --- 筆記体は写真の空の上に置く ---
	   デザインPNG（1672×941）の実測を、写真の中の割合に直した値。
	     左端＝写真の56.2%（1298px）／上端＝写真の5.3%（119px）
	     幅  ＝写真の40.4%（345px）／右端＝写真の右から3.4%（1643px）
	   写真の右端は .glp-fv__visual の枠から (bleed + 8px) 外へ出ているので、
	   その分を引いて right を決める。 */
	.glp-fv__script {
		top: 5.3%;
		right: calc(0.034 * var(--glp-photo-w) - var(--glp-bleed) - 8px);
		width: calc(0.404 * var(--glp-photo-w));
	}

	/* --- 3つのバッジ ---
	   デザインでは右側が画面の外へ抜けていて右端に角が無い。
	   right を負にして画面より24px先まで出し、はみ出した分を切る。
	   padding-right が「画面の外へ続く帯」の長さになる。
	   top 37% ＝デザインのバッジ帯（写真の35%〜69%）の中心に、
	   こちらの3枚（傾きを含めて写真の38%ぶんの高さ）の中心を合わせた値。 */
	.glp-fv__chips {
		top: 37%;
		right: calc(-24px - var(--glp-bleed));
		gap: 10px;
	}

	/* デザインのバッジは水平ではなく、右上がりに約9.5度傾いている（PNG実測）。
	   skewY は縦線を縦のまま残して上下の辺だけ傾けるので、
	   文字の縦画が立ったままになる。デザインの文字の見え方と一致する。
	   3枚とも同じ角度・同じ幅なので、左端も右端も揃ったままになる。 */
	.glp-chip {
		position: relative;
		gap: 18px;
		/* 高さ48px＝アイコン30＋上下9。デザイン実測（56px／1672px幅）を1440px幅へ縮めた値 */
		padding: 9px 56px 9px 20px;
		border-radius: 0;
		background: none;
		box-shadow: none;
		font-size: 17px;
		line-height: 1.4;
		transform: skewY(-9.5deg);
	}

	/* 面と影は擬似要素に持たせる。
	   skewX で左端の切り口を斜めにする（デザイン実測＝縦に対して約17度）。
	   面だけを傾けたいので、文字を含む .glp-chip 本体には skewX をかけない。
	   .glp-chip が transform を持つため重ね合わせの基準になり、z-index:-1 は
	   このバッジの中だけで背面に回る（セクションの背景より後ろへは行かない）。 */
	.glp-chip::before {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0;
		border-radius: 12px;
		/* デザイン実測＝左端がいちばん青く、幅の4割あたりでネイビーに落ち着き、以降は一定。
		   1つ目の色はこのページの主色とネイビーを混ぜた値。 */
		background: linear-gradient(92deg, #063a8d 0%, var(--glp-navy-2) 42%);
		box-shadow: 0 10px 22px rgba(7, 27, 67, 0.28);
		transform: skewX(-17.5deg);
	}

	.glp-chip__icon {
		width: 30px;
		height: 30px;
	}
}

/* --- FV下部のネイビー帯 --- */

.glp-fv__strip {
	position: relative;
	z-index: 1;
	padding: 26px 0;
	background: linear-gradient(100deg, var(--glp-navy) 0%, var(--glp-navy-2) 100%);
	color: var(--glp-white);
}

.glp-fv__strip-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.glp-fv__strip-list li {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 4px 24px;
}

.glp-fv__strip-list li + li {
	border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.glp-fv__strip-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	color: var(--glp-white);
}

.glp-fv__strip-icon svg {
	width: 100%;
	height: 100%;
	stroke-width: 1.4;
}

.glp-fv__strip-body {
	display: block;
	min-width: 0;
}

.glp-fv__strip-body b {
	display: block;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
}

.glp-fv__strip-body span {
	display: block;
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	line-height: 1.5;
}

/* ============================================================
   3. 02 委託先から軽バンを借りている悩み
   ============================================================ */

.glp-pain__photo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: min(21%, 300px);
	height: 100%;
	overflow: hidden;
	/* 右下へ向かって斜めに切る。デザインの斜めエッジをCSSで作る */
	clip-path: polygon(0 0, 100% 0, 58% 100%, 0 100%);
}

.glp-pain__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% 40%;
}

/* 写真の右側を白へ落として、本文と重なっても読めるようにする */
.glp-pain__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0) 38%, var(--glp-sky) 92%);
}

/* 左の写真をよけるための余白。20% はセクション幅＝画面幅に対する割合なので、
   画面が広いほど余白が伸び、本文の入る幅は逆に縮む（コンテナは最大1240pxで止まるため）。
   一方 .glp-pain__photo の幅は min(21%, 300px) で頭打ちにしてあるので、
   画面が広くなっても写真はそれ以上伸びない。よける相手が止まっているのに
   余白だけ伸び続けるのが、締めの1文が幅1440px超で折り返していた原因。
   288px＝1440pxのときの20%。これで1440px以下の見え方は今までと1pxも変わらない。 */
.glp-pain__inner {
	padding-left: max(var(--glp-gutter), min(20%, 288px));
}

.glp-pain__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 40px 0 0;
}

.glp-pain__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding: 34px 20px 30px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

.glp-pain__card-title {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(17px, 1.5vw, 22px);
	font-weight: 800;
	line-height: 1.45;
}

.glp-chevron {
	display: block;
	width: 40px;
	margin: 24px auto 0;
	color: var(--glp-blue);
}

.glp-chevron svg {
	width: 100%;
	height: auto;
}

/* 上限を31px→30pxにする。上の padding の頭打ちだけでは、1行に要る幅（31pxで約926px）が
   使える幅（1440px以上でつねに920px）をわずかに超えて折り返す。
   30pxなら約896pxで収まり、24pxほど余る。効くのは2.1vwが30pxを超える1429px以上だけで、
   それより狭い画面では今までと同じ。SPは max-width:767px 側で22pxを指定してあり、
   そちらは無理に1行へ詰めず自然な位置で折り返す。 */
.glp-pain__answer {
	margin: 20px 0 0;
	color: var(--glp-navy);
	font-size: clamp(19px, 2.1vw, 30px);
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
}

.glp-pain__answer mark {
	background: transparent;
	/* 下半分だけ淡い水色を敷く。デザインのマーカーと同じ見え方にする */
	background-image: linear-gradient(transparent 56%, var(--glp-sky-2) 56%);
	color: inherit;
}

.glp-pain__answer b {
	color: var(--glp-blue);
	font-weight: 800;
}

.glp-pain__sub {
	margin: 14px 0 0;
	color: var(--glp-text);
	font-size: clamp(14px, 1.15vw, 17px);
	text-align: center;
}

/* ============================================================
   4. 03 3年間の総額比較
   ============================================================ */

/* 見えない見出し（表の1列目のラベル）。読み上げには残し、画面には出さない */
.glp-vh {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.glp-card {
	padding: 30px 30px 28px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-card__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0 0 22px;
	color: var(--glp-blue);
	font-size: clamp(16px, 1.35vw, 20px);
	font-weight: 800;
}

.glp-card__title::before,
.glp-card__title::after {
	content: "";
	flex: 1 1 auto;
	max-width: 90px;
	height: 2px;
	background: var(--glp-blue);
}

.glp-dots--tr {
	top: 40px;
	right: 16px;
}

.glp-cost__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: 26px;
	margin-top: 44px;
}

.glp-cost__parts {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: 10px;
}

.glp-cost__part {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 18px 6px 16px;
	border-radius: var(--glp-r-md);
	background: var(--glp-sky);
	text-align: center;
}

.glp-cost__part-icon {
	display: inline-flex;
	width: 38px;
	height: 38px;
	color: var(--glp-blue);
}

.glp-cost__part-icon svg {
	width: 100%;
	height: 100%;
}

.glp-cost__part-label {
	display: block;
	color: var(--glp-navy);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.glp-cost__part-value {
	display: block;
	color: var(--glp-blue);
	font-size: clamp(18px, 1.72vw, 25px);
	font-weight: 900;
	line-height: 1.2;
	white-space: nowrap;
}

.glp-cost__part-unit {
	font-size: 0.62em;
	font-weight: 800;
}

.glp-cost__part-sub {
	display: block;
	color: var(--glp-blue);
	font-size: 15px;
	font-weight: 800;
}

.glp-cost__op {
	display: flex;
	align-items: center;
	justify-content: center;
}

.glp-op {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--glp-blue);
	color: var(--glp-white);
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
}

.glp-chevron--sm {
	width: 30px;
	margin-top: 14px;
}

.glp-cost__total {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 14px 0 0;
	padding: 16px 24px;
	border-radius: var(--glp-r-md);
	background: linear-gradient(100deg, var(--glp-blue) 0%, var(--glp-blue-2) 100%);
	color: var(--glp-white);
	box-shadow: 0 10px 24px rgba(11, 95, 234, 0.24);
}

.glp-cost__total-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
}

.glp-cost__total-icon svg {
	width: 100%;
	height: 100%;
}

.glp-cost__total-label {
	display: block;
	padding-right: 18px;
	border-right: 1px solid rgba(255, 255, 255, 0.4);
}

.glp-cost__total-label span {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	opacity: 0.9;
}

.glp-cost__total-label b {
	display: block;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}

.glp-cost__total-value {
	margin-left: auto;
	font-size: clamp(26px, 2.7vw, 40px);
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.glp-cost__total-value span {
	font-size: 0.55em;
	font-weight: 800;
}

.glp-cost__incl {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 14px 0 0;
	padding: 16px 20px;
	border-radius: var(--glp-r-md);
	background: var(--glp-sky);
	color: var(--glp-blue);
	font-size: clamp(14px, 1.1vw, 16px);
	font-weight: 700;
	line-height: 1.6;
}

/* --- 比較表 --- */

.glp-cost__compare {
	padding: 0 0 22px;
	overflow: hidden;
}

.glp-cost__compare-head {
	margin: 0;
	padding: 18px 24px;
	background: linear-gradient(100deg, var(--glp-navy) 0%, var(--glp-navy-2) 100%);
	color: var(--glp-white);
	font-size: clamp(17px, 1.5vw, 22px);
	font-weight: 800;
}

.glp-tablewrap {
	margin: 20px 22px 0;
	overflow-x: auto;
}

.glp-table {
	width: 100%;
	border-collapse: collapse;
	font-size: clamp(13px, 1.05vw, 15px);
}

.glp-table th,
.glp-table td {
	padding: 13px 12px;
	border-bottom: 1px solid var(--glp-border);
	text-align: center;
	vertical-align: middle;
}

.glp-table thead th {
	background: #eef2f7;
	color: var(--glp-navy);
	font-weight: 700;
}

.glp-table thead th.glp-table__ours {
	background: var(--glp-blue);
	color: var(--glp-white);
}

.glp-table tbody th {
	color: var(--glp-navy);
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
}

.glp-table td.glp-table__ours {
	background: rgba(220, 238, 255, 0.45);
	color: var(--glp-blue);
	font-weight: 800;
}

.glp-table tbody tr:last-child th,
.glp-table tbody tr:last-child td {
	border-bottom: 0;
}

.glp-table__sum th {
	font-weight: 800;
}

.glp-table__sum th,
.glp-table__sum td {
	background: rgba(220, 238, 255, 0.4);
}

.glp-table__sum td.glp-table__ours {
	background: rgba(220, 238, 255, 0.75);
	font-size: 1.12em;
}

/* ============================================================
   5. 04 月額に含まれる7項目
   ============================================================ */

.glp-dots--tl {
	top: 46px;
	left: 16px;
}

/* 4枚＋3枚。2段目は自然に中央へ寄る（項目数が変わっても崩れない） */
.glp-incl__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 40px 0 0;
}

.glp-incl__card {
	display: flex;
	flex: 0 1 calc(25% - 15px);
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	min-height: 178px;
	padding: 24px 16px 22px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

.glp-incl__label {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(14px, 1.15vw, 17px);
	font-weight: 800;
	line-height: 1.45;
}

.glp-incl__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px 44px;
	margin: 30px 0 0;
	padding: 20px 32px;
	border-radius: var(--glp-r-md);
	background: linear-gradient(100deg, var(--glp-navy) 0%, #123b86 100%);
	color: var(--glp-white);
}

.glp-incl__bar-price,
.glp-incl__bar-bonus {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	font-size: clamp(18px, 1.8vw, 26px);
	font-weight: 800;
}

.glp-incl__bar-price {
	padding-right: 44px;
	border-right: 1px solid rgba(255, 255, 255, 0.4);
}

.glp-incl__bar-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
}

.glp-incl__bar-icon svg {
	width: 100%;
	height: 100%;
}

.glp-incl__bar-label {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	opacity: 0.92;
}

.glp-incl__bar-value {
	display: block;
	font-size: 1em;
	line-height: 1.2;
}

.glp-incl__bar-value > span {
	font-size: 0.62em;
}

.glp-incl__bar-value small {
	font-size: 0.5em;
	font-weight: 700;
}

/* ============================================================
   6. 05 36回支払い後＋10,000円で所有権移転
   ============================================================ */

.glp-h2__sub {
	display: block;
	font-size: 0.78em;
}

.glp-dots--bl {
	bottom: 40px;
	left: 16px;
}

.glp-own__flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 250px;
	align-items: center;
	gap: 22px;
	margin: 44px 0 0;
}

/* PC＝横並びのタイムライン */
.glp-own__steps {
	position: relative;
	display: grid;
	grid-template-columns: 190px repeat(3, minmax(0, 1fr)) 190px;
	align-items: center;
	gap: 0;
}

/* ステップをつなぐ線 */
.glp-own__steps::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 190px;
	right: 190px;
	height: 2px;
	background: var(--glp-blue);
}

.glp-own__step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
}

.glp-own__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--glp-blue);
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
}

.glp-own__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.glp-own__icon {
	display: inline-flex;
	width: 40px;
	height: 40px;
	color: var(--glp-blue);
}

.glp-own__icon svg {
	width: 100%;
	height: 100%;
}

.glp-own__title {
	display: block;
	color: var(--glp-blue);
	font-size: 20px;
	font-weight: 900;
	line-height: 1.25;
}

/* 説明文はSPデザインにだけあるもの。PCでは出さない */
.glp-own__sub {
	display: none;
}

/* START のカード */
.glp-own__step--start {
	padding: 20px 12px 18px;
	border-radius: var(--glp-r-md);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-own__step--start .glp-own__badge {
	width: 100%;
	padding: 7px 0;
	border-radius: 8px;
	background: var(--glp-blue);
	color: var(--glp-white);
	font-size: 16px;
	letter-spacing: 0.06em;
}

/* 12/24/36ヶ月のノード。ラベルは線の上、カレンダーは線の下、丸は線の上に置く */
.glp-own__step--node {
	gap: 34px;
}

.glp-own__step--node .glp-own__body {
	flex-direction: column-reverse;
}

.glp-own__step--node .glp-own__title {
	display: none;
}

.glp-own__step--node .glp-own__badge {
	font-size: 19px;
}

.glp-own__step--node::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 4px solid var(--glp-blue);
	border-radius: 50%;
	background: var(--glp-white);
}

/* ＋10,000円のカード */
.glp-own__step--plus {
	padding: 18px 12px 16px;
	border-radius: var(--glp-r-md);
	background: var(--glp-sky);
}

.glp-own__step--plus .glp-own__badge {
	display: none;
}

.glp-own__step--plus .glp-own__icon {
	display: none;
}

.glp-own__step--plus .glp-own__title {
	font-size: clamp(20px, 1.9vw, 26px);
}

.glp-own__step--plus .glp-own__sub {
	display: block;
	color: var(--glp-navy);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
}

/* --- ゴール（YOUR CAR） --- */

.glp-own__goal {
	position: relative;
	overflow: hidden;
	border-radius: var(--glp-r-md);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

/* +10,000円 から YOUR CAR への矢印 */
.glp-own__flow::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 250px;
	width: 22px;
	height: 22px;
	margin: -11px 0 0;
	background: var(--glp-blue);
	clip-path: polygon(0 22%, 55% 22%, 55% 0, 100% 50%, 55% 100%, 55% 78%, 0 78%);
}

.glp-own__flow {
	position: relative;
}

.glp-own__goal-head {
	margin: 0;
	padding: 10px 12px;
	background: var(--glp-blue);
	color: var(--glp-white);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-align: center;
}

.glp-own__goal-body {
	padding: 8px 10px 14px;
	text-align: center;
}

.glp-own__goal-van img {
	display: block;
	width: 100%;
	height: auto;
}

.glp-own__goal-label {
	margin: 2px 0 0;
	color: var(--glp-navy);
	font-size: 17px;
	font-weight: 800;
}

/* --- 下の3カード --- */

.glp-own__benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 34px 0 0;
}

.glp-own__benefit {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 24px 24px 22px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-own__benefit-title {
	margin: 0 0 6px;
	color: var(--glp-blue);
	font-size: clamp(16px, 1.35vw, 20px);
	font-weight: 800;
	line-height: 1.4;
}

.glp-own__benefit-desc {
	margin: 0;
	color: var(--glp-text);
	font-size: clamp(13px, 1.05vw, 15px);
	line-height: 1.7;
}

/* ============================================================
   7. 06 信販審査なし・必要な3条件
   ============================================================ */

.glp-cond__big {
	font-size: 1.28em;
	line-height: 1;
}

.glp-cond__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: 14px;
	margin: 40px 0 0;
}

.glp-cond__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 30px 20px 26px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

/* 01/02/03 の番号はSPデザインだけにある */
.glp-cond__no {
	display: none;
}

.glp-cond__title {
	display: block;
	color: var(--glp-blue);
	font-size: clamp(18px, 1.7vw, 25px);
	font-weight: 800;
	line-height: 1.4;
}

.glp-cond__price {
	display: block;
	color: var(--glp-blue);
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 900;
	line-height: 1.15;
}

.glp-cond__price span {
	font-size: 0.6em;
	font-weight: 800;
}

/* 説明文はSPデザインだけにある */
.glp-cond__desc {
	display: none;
}

.glp-cond__op {
	display: flex;
	align-items: center;
	justify-content: center;
}

.glp-cond__op .glp-op {
	width: 40px;
	height: 40px;
	font-size: 22px;
}

.glp-cond__band {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin: 20px 0 0;
	padding: 20px 32px;
	border-radius: var(--glp-r-pill);
	background: var(--glp-sky-2);
}

.glp-cond__band .glp-tick {
	width: 44px;
	height: 44px;
}

.glp-cond__band .glp-tick svg {
	width: 24px;
	height: 24px;
}

.glp-cond__band-text b {
	display: block;
	color: var(--glp-navy);
	font-size: clamp(22px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.3;
}

/* 補足の1文はSPデザインだけにある */
.glp-cond__band-text span {
	display: none;
}

.glp-cond__pills {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 18px 0 0;
}

.glp-cond__pill {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 16px 16px;
	border-radius: var(--glp-r-md);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow-soft);
}

.glp-cond__pill .glp-ico--sm {
	width: 44px;
	height: 44px;
	background: transparent;
}

.glp-cond__pill .glp-ico--sm svg {
	width: 30px;
	height: 30px;
}

.glp-cond__pill-body b {
	display: block;
	color: var(--glp-navy);
	font-size: clamp(14px, 1.15vw, 17px);
	font-weight: 800;
	line-height: 1.4;
}

/* 説明文はSPデザインだけにある */
.glp-cond__pill-body span {
	display: none;
}

/* ============================================================
   8. 07 平成27〜28年式・車種ラインナップ
   ============================================================ */

/* PCだけで効かせる改行 */
.glp-br-pc {
	display: inline;
}

.glp-veh__layout {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	align-items: start;
	gap: 22px;
	margin: 40px 0 0;
}

.glp-veh__year {
	padding: 26px 24px 24px;
	border-radius: var(--glp-r-lg);
	background: linear-gradient(150deg, var(--glp-navy) 0%, #12408f 100%);
	color: var(--glp-white);
	text-align: center;
}

.glp-veh__year-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 16px;
	font-weight: 700;
}

.glp-veh__year-icon {
	display: inline-flex;
	width: 30px;
	height: 30px;
}

.glp-veh__year-icon svg {
	width: 100%;
	height: 100%;
}

.glp-veh__year-value {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.35;
	white-space: nowrap;
}

.glp-veh__year-value b {
	font-size: 38px;
	font-weight: 900;
	line-height: 1.15;
}

.glp-veh__year-era {
	display: block;
	font-size: 22px;
	line-height: 1.2;
}

.glp-veh__year-note {
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 13.5px;
	line-height: 1.6;
	opacity: 0.92;
}

.glp-veh__lineup {
	padding: 24px 24px 20px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-sky);
}

.glp-veh__cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.glp-veh__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	padding: 12px 8px 14px;
	border-radius: var(--glp-r-sm);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow-soft);
	text-align: center;
}

.glp-veh__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.glp-veh__name b {
	display: block;
	color: var(--glp-navy);
	font-size: clamp(14px, 1.15vw, 17px);
	font-weight: 800;
	line-height: 1.35;
}

/* メーカー名はSPデザインだけにある */
.glp-veh__name > span {
	display: none;
}

.glp-veh__card--other {
	justify-content: center;
	gap: 10px;
}

.glp-veh__other-icon {
	display: inline-flex;
	width: 52px;
	height: 52px;
	color: var(--glp-blue);
}

.glp-veh__other-icon svg {
	width: 100%;
	height: 100%;
}

.glp-veh__other-desc {
	display: none;
}

.glp-veh__points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 22px 0 0;
	padding: 18px 10px;
	border-radius: var(--glp-r-md);
	background: var(--glp-sky);
}

.glp-veh__points li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 6px 18px;
}

.glp-veh__points li + li {
	border-left: 1px solid var(--glp-border);
}

.glp-veh__point-icon {
	flex: 0 0 auto;
}

.glp-veh__point-icon .glp-tick {
	width: 42px;
	height: 42px;
}

.glp-veh__point-icon .glp-tick svg {
	width: 22px;
	height: 22px;
}

.glp-veh__point-round {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--glp-blue);
	color: var(--glp-white);
}

.glp-veh__point-round svg {
	width: 22px;
	height: 22px;
}

.glp-veh__point-text {
	color: var(--glp-navy);
	font-size: clamp(13px, 1.1vw, 16px);
	font-weight: 700;
	line-height: 1.5;
}

/* ============================================================
   9. 08 納車後サポート
   ============================================================ */

.glp-sup__photo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: min(38%, 520px);
	height: 100%;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 62% 100%, 0 100%);
}

.glp-sup__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 40% 55%;
}

/* 整備工場は「薄く敷く」。白へ落として本文の邪魔をしない */
.glp-sup__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.76) 44%, #ffffff 86%);
}

.glp-sup__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 40px 0 0;
}

.glp-sup__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 32px 22px 30px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

.glp-sup__title {
	position: relative;
	margin: 0 0 6px;
	padding-bottom: 16px;
	color: var(--glp-blue);
	font-size: clamp(17px, 1.6vw, 23px);
	font-weight: 800;
	line-height: 1.4;
}

.glp-sup__title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 34px;
	height: 2px;
	margin-left: -17px;
	background: var(--glp-blue);
}

.glp-sup__desc {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(14px, 1.2vw, 17px);
	font-weight: 600;
	line-height: 1.6;
}

.glp-sup__note {
	max-width: 760px;
	margin: 24px auto 0;
	padding: 14px 24px;
	border-radius: var(--glp-r-pill);
	background: var(--glp-sky);
	color: var(--glp-navy);
	font-size: clamp(12.5px, 1.05vw, 15px);
	text-align: center;
}

/* ============================================================
   10. 09 個人事業主・法人契約
   ============================================================ */

.glp-per__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin: 40px 0 0;
}

.glp-per__card {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 26px 26px 24px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-per__illust {
	flex: 0 0 auto;
	width: 40%;
	max-width: 230px;
}

.glp-per__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.glp-per__body {
	min-width: 0;
}

.glp-per__title {
	margin: 0 0 8px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--glp-border);
	color: var(--glp-blue);
	font-size: clamp(19px, 1.8vw, 27px);
	font-weight: 800;
	line-height: 1.3;
}

.glp-per__lead {
	margin: 0 0 12px;
	color: var(--glp-navy);
	font-size: clamp(15px, 1.3vw, 19px);
	font-weight: 800;
}

.glp-per__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.glp-per__tags li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 8px;
	border-radius: var(--glp-r-pill);
	background: var(--glp-sky);
	color: var(--glp-navy);
	font-size: clamp(12.5px, 1.05vw, 15px);
	font-weight: 600;
}

.glp-per__points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 20px 0 0;
	padding: 16px 10px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-per__points li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 6px 18px;
	color: var(--glp-navy);
	font-size: clamp(14px, 1.2vw, 17px);
	font-weight: 700;
}

.glp-per__points li + li {
	border-left: 1px solid var(--glp-border);
}

.glp-per__points .glp-ico--sm {
	width: 52px;
	height: 52px;
}

.glp-per__note {
	max-width: 760px;
	margin: 18px auto 0;
	padding: 12px 24px;
	border-radius: var(--glp-r-pill);
	background: var(--glp-sky);
	color: var(--glp-navy);
	font-size: clamp(12.5px, 1.05vw, 15px);
	text-align: center;
}

/* ============================================================
   11. 10 ご相談から納車までの流れ
   ============================================================ */

.glp-flow__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 34px;
	/* 01〜05 の丸がカードの上へはみ出すぶん、リード文との間を空ける */
	margin: 62px 0 0;
}

.glp-flow__step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 34px 16px 24px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

/* ステップ間の矢印 */
.glp-flow__step + .glp-flow__step::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -25px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: var(--glp-blue);
	clip-path: polygon(0 25%, 55% 25%, 55% 0, 100% 50%, 55% 100%, 55% 75%, 0 75%);
}

.glp-flow__no {
	position: absolute;
	top: -20px;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: -22px;
	border-radius: 50%;
	background: var(--glp-blue);
	color: var(--glp-white);
	font-size: 17px;
	font-weight: 800;
}

.glp-flow__icon {
	display: inline-flex;
	width: 48px;
	height: 48px;
	color: var(--glp-blue);
}

.glp-flow__icon svg {
	width: 100%;
	height: 100%;
}

.glp-flow__title {
	margin: 0 0 8px;
	color: var(--glp-navy);
	font-size: clamp(15px, 1.3vw, 19px);
	font-weight: 800;
	line-height: 1.4;
}

.glp-flow__desc {
	margin: 0;
	color: var(--glp-text);
	font-size: clamp(12.5px, 1.02vw, 14.5px);
	line-height: 1.65;
	text-align: left;
}

.glp-flow__band {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 34px 0 0;
	padding: 20px 32px;
	border-radius: var(--glp-r-md);
	background: var(--glp-sky-2);
}

.glp-flow__band-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	color: var(--glp-blue);
}

.glp-flow__band-icon svg {
	width: 100%;
	height: 100%;
}

.glp-flow__band-value {
	flex: 0 0 auto;
	margin: 0;
	padding-right: 24px;
	border-right: 2px solid var(--glp-border);
}

.glp-flow__band-value span {
	display: block;
	color: var(--glp-navy);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
}

.glp-flow__band-value b {
	color: var(--glp-blue);
	font-size: clamp(28px, 2.8vw, 42px);
	font-weight: 900;
	line-height: 1.15;
}

.glp-flow__ast {
	display: inline !important;
	color: var(--glp-blue) !important;
	font-size: 15px !important;
	vertical-align: super;
}

.glp-flow__band-text {
	margin: 0;
	color: var(--glp-text);
	font-size: clamp(13px, 1.1vw, 16px);
	line-height: 1.7;
}

.glp-flow__band-text b {
	display: block;
	color: var(--glp-navy);
	font-size: 1.08em;
	font-weight: 800;
}

/* ============================================================
   12. 11 よくある質問
   ============================================================ */

.glp-faq__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 18px;
	margin: 40px 0 0;
}

.glp-faq__item {
	overflow: hidden;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-faq__h {
	margin: 0;
}

.glp-faq__q {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 20px 24px;
	border: 0;
	background: transparent;
	color: var(--glp-blue);
	font-family: inherit;
	font-size: clamp(15px, 1.3vw, 19px);
	font-weight: 800;
	line-height: 1.45;
	text-align: left;
	cursor: pointer;
}

.glp-faq__q:focus-visible {
	outline: 3px solid var(--glp-blue);
	outline-offset: -3px;
}

.glp-faq__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--glp-blue);
	color: var(--glp-white);
	font-size: 18px;
	font-weight: 800;
}

.glp-faq__q-text {
	flex: 1 1 auto;
}

.glp-faq__toggle {
	position: relative;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--glp-sky-2);
}

.glp-faq__toggle::before,
.glp-faq__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	margin: -1px 0 0 -7px;
	background: var(--glp-blue);
	transition: transform 0.2s ease;
}

.glp-faq__toggle::after {
	transform: rotate(90deg);
}

/* 開いているときは「−」。JSが動く前（開いた状態）も同じ見え方にする */
.glp-faq__q[aria-expanded="true"] .glp-faq__toggle::after {
	transform: rotate(0deg);
}

.glp-faq__a {
	padding: 0 24px 22px;
	border-top: 1px solid var(--glp-border);
	margin: 0 24px;
	padding-inline: 0;
}

.glp-faq__a p {
	margin: 16px 0 0;
	color: var(--glp-text);
	font-size: clamp(13px, 1.1vw, 16px);
	line-height: 1.85;
}

.glp-faq__more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	max-width: 840px;
	margin: 30px auto 0;
	padding: 16px 20px;
	border-radius: var(--glp-r-md);
	background: var(--glp-sky);
}

.glp-faq__more-icon {
	display: inline-flex;
	width: 40px;
	height: 40px;
	padding-right: 0;
	color: var(--glp-blue);
}

.glp-faq__more-icon svg {
	width: 100%;
	height: 100%;
}

.glp-faq__more-text {
	margin: 0;
	padding-left: 24px;
	border-left: 1px solid var(--glp-border);
	color: var(--glp-navy);
	font-size: clamp(15px, 1.3vw, 19px);
	font-weight: 800;
}

.glp-faq__more .glp-btn {
	min-height: 54px;
	font-size: 16px;
}

/* ============================================================
   13. 12 最終CTA
   ============================================================ */

.glp-final {
	padding-bottom: 72px;
	background: linear-gradient(180deg, #ffffff 0%, var(--glp-sky) 100%);
}

.glp-final__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.24fr) minmax(0, 0.76fr);
	grid-template-areas:
		"body visual"
		"cta visual";
	align-items: end;
	column-gap: 16px;
	row-gap: 0;
	overflow: hidden;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
}

.glp-final__body {
	position: relative;
	z-index: 2;
	grid-area: body;
	align-self: end;
	padding: 44px 8px 0 48px;
}

.glp-final__panel .glp-eyebrow {
	justify-content: flex-start;
	margin-bottom: 10px;
}

.glp-final__panel .glp-eyebrow::before {
	max-width: 56px;
}

.glp-final__title {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(28px, 3.1vw, 46px);
	font-weight: 900;
	line-height: 1.3;
}

.glp-final__lead {
	margin: 16px 0 0;
	color: var(--glp-text);
	font-size: clamp(15px, 1.3vw, 19px);
	line-height: 1.7;
}

.glp-final__sub {
	margin: 6px 0 0;
	color: var(--glp-muted);
	font-size: clamp(13px, 1.1vw, 16px);
}

.glp-final__cta {
	position: relative;
	z-index: 2;
	grid-area: cta;
	align-self: start;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 26px 0 0;
	padding: 0 8px 44px 48px;
}

.glp-final__cta .glp-btn {
	flex: 1 1 240px;
	padding-inline: 22px;
	gap: 10px;
}

.glp-final__cta .glp-btn__text {
	white-space: nowrap;
}

.glp-final__cta .glp-btn--primary .glp-btn__icon {
	width: 30px;
	height: 30px;
}

.glp-final__visual {
	grid-area: visual;
	position: relative;
	align-self: end;
}

/* 写真の背後の淡い水色の円。デザインと同じ。
   高さを写真の枠内に収める（枠の外へ広げると、上に置いた本文へかぶさる）。 */
.glp-final__visual::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;
	right: 0;
	top: 6%;
	bottom: 0;
	border-radius: 50%;
	background: var(--glp-sky);
}

.glp-final__visual picture {
	position: relative;
	z-index: 1;
	display: block;
}

.glp-final__visual img {
	display: block;
	width: 100%;
	height: auto;
}

/* ============================================================
   90. SP固定CTA（767px以下でのみ表示）
   ============================================================ */

.glp-sp-cta {
	display: none;
}

/* ============================================================
   91. タブレット（768〜1023px）
   ============================================================ */

@media (max-width: 1023px) {
	.goku-lp {
		--glp-gutter: 24px;
	}

	.glp-sec {
		padding: 64px 0;
	}

	.glp-fv__inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"head"
			"visual"
			"offer";
		grid-template-rows: auto auto auto;
		row-gap: 26px;
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.glp-fv__cta .glp-btn--line,
	.glp-fv__cta .glp-btn--ghost {
		min-width: 0;
		flex: 1 1 260px;
	}

	.glp-fv__chips {
		position: static;
		justify-items: start;
		grid-auto-flow: column;
		justify-content: start;
		margin-top: 16px;
	}

	.glp-chip {
		border-radius: 10px;
	}

	/* 筆記体はPCだけ写真の中に置く。タブレット・SPは見出しの右の空きに置くので、
	   写真の枠（.glp-fv__visual）の position を外して .glp-fv__inner を基準に戻す。
	   1023px以下のバッジは position: static なので、この指定の影響を受けない。 */
	.glp-fv__visual {
		position: static;
	}

	/* 筆記体は見出しの右の空きに置く（SPデザイン sp/01_01_fv_sp.png の位置）。
	   タブレットは見出しが2行で右が大きく空くので、SPより大きく出す。 */
	.glp-fv__script {
		top: 40px;
		right: var(--glp-gutter);
		width: min(30%, 210px);
	}

	.glp-fv__strip-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 0;
	}

	.glp-fv__strip-list li:nth-child(odd) {
		border-left: 0;
	}

	/* --- 02 悩み --- */
	.glp-pain__photo {
		width: min(24%, 240px);
	}

	.glp-pain__inner {
		padding-left: max(var(--glp-gutter), 24%);
	}

	.glp-pain__cards {
		gap: 14px;
	}

	.glp-pain__card {
		padding: 26px 14px 24px;
	}

	/* --- 03 総額比較 --- */
	.glp-cost__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	/* --- 04 含まれる7項目 --- */
	.glp-incl__card {
		flex-basis: calc(33.333% - 14px);
		min-height: 160px;
	}

	/* --- 05 所有権移転 --- */
	.glp-own__flow {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.glp-own__flow::before {
		display: none;
	}

	.glp-own__steps {
		grid-template-columns: 168px repeat(3, minmax(0, 1fr)) 168px;
	}

	.glp-own__steps::before {
		left: 168px;
		right: 168px;
	}

	.glp-own__title {
		font-size: 17px;
	}

	.glp-own__step--plus .glp-own__sub {
		font-size: 12px;
	}

	/* width と margin-inline を指定して、箱の幅を中の画像の読み込み状態から切り離す。
	   中の軽バンの画像は loading="lazy" で、読み込まれるまで幅を持たない。
	   幅の指定が無いと箱は「YOUR CAR」の文字幅（156px）まで縮み、画像が届いた時点で
	   320pxへ広がる＝スクロールした時に表示が飛ぶ。
	   これまでは同じ画像をFVも使っていて先に読み込まれていたため表に出ていなかった。 */
	.glp-own__goal {
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
	}

	.glp-own__benefits {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	/* --- 06 3条件 --- */
	.glp-cond__item {
		padding: 22px 12px 20px;
	}

	.glp-cond__pills {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* --- 07 車種ラインナップ --- */
	.glp-veh__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.glp-veh__cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.glp-veh__points {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.glp-veh__points li + li {
		border-left: 0;
		border-top: 1px solid var(--glp-border);
		padding-top: 14px;
	}

	/* --- 08 サポート / 09 個人・法人 --- */
	.glp-sup__cards {
		gap: 14px;
	}

	.glp-sup__card {
		padding: 24px 14px 22px;
	}

	.glp-per__cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.glp-per__points {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}

	.glp-per__points li + li {
		border-left: 0;
		border-top: 1px solid var(--glp-border);
		padding-top: 12px;
	}

	/* --- 10 流れ / 11 FAQ / 12 最終CTA --- */
	.glp-flow__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.glp-flow__step + .glp-flow__step::before {
		display: none;
	}

	.glp-flow__band {
		flex-wrap: wrap;
		gap: 14px;
	}

	.glp-flow__band-value {
		padding-right: 0;
		border-right: 0;
	}

	.glp-faq__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.glp-faq__more {
		flex-wrap: wrap;
		gap: 14px;
	}

	.glp-final__panel {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"body"
			"visual"
			"cta";
	}

	.glp-final__body {
		padding: 32px 28px 0;
	}

	.glp-final__cta {
		padding: 0 28px 32px;
		margin-top: 20px;
	}

	.glp-final__visual {
		max-width: 460px;
		margin: 18px auto 0;
	}
}

/* ============================================================
   92. モバイル（767px以下） — 縦積み
   ============================================================ */

@media (max-width: 767px) {

	.goku-lp {
		--glp-gutter: 18px;
		/* SPの実ヘッダー高は56px。アンカー遷移時の余白をそれに合わせる */
		--glp-header-h: 56px;
	}

	.glp-sec {
		padding: 52px 0;
	}

	/* 文字の大きさはSPデザイン（941px幅の原寸）を390pxへ縮めた比率に合わせている。
	   見出し＝約52/941 → 22px、リード＝約34/941 → 14px。
	   ここを大きくすると「仕事に必要な維持費まで月額込み。」のような長い行が
	   デザインどおり1行に収まらなくなる。 */
	.glp-eyebrow {
		gap: 10px;
		font-size: 12px;
	}

	.glp-eyebrow::before,
	.glp-eyebrow::after {
		flex: 0 0 auto;
		width: 22px;
	}

	.glp-h2 {
		font-size: 22px;
		line-height: 1.42;
	}

	.glp-lead {
		margin-top: 12px;
		font-size: 14px;
	}

	.glp-btn {
		min-height: 58px;
		padding: 12px 20px;
		font-size: 16px;
	}

	/* --- 01 FV --- */
	.glp-fv__inner {
		padding-top: 26px;
		padding-bottom: 30px;
		row-gap: 20px;
	}

	.glp-fv__eyebrow {
		gap: 10px;
		margin-bottom: 12px;
		font-size: 13px;
	}

	.glp-fv__eyebrow-line {
		width: 34px;
		height: 2px;
	}

	.glp-br-sp {
		display: inline;
	}

	.glp-fv__title {
		font-size: 30px;
		line-height: 1.3;
	}

	.glp-fv__lead {
		margin-top: 14px;
		font-size: 15px;
	}

	.glp-fv__stats {
		gap: 8px;
		margin-top: 20px;
	}

	.glp-stat {
		padding: 10px 4px 8px;
		border-radius: 12px;
	}

	.glp-stat__label {
		font-size: 12px;
	}

	.glp-stat__value {
		font-size: 22px;
	}

	.glp-stat__value--word {
		font-size: 19px;
	}

	.glp-stat__unit {
		font-size: 13px;
	}

	.glp-stat__note {
		font-size: 10.5px;
	}

	.glp-fv__checks {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-top: 18px;
	}

	.glp-fv__checks li {
		font-size: 15px;
	}

	.glp-fv__cta {
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.glp-fv__cta .glp-btn {
		width: 100%;
		/* 768〜1023px の flex: 1 1 260px は縦積みだと「高さ260px」になる。ここで戻す */
		flex: 0 0 auto;
	}

	/* SPデザインでは見出し1行目の右横に、画面の右端ぎりぎりまで寄せて入っている */
	.glp-fv__script {
		top: 46px;
		right: 8px;
		width: min(29.5%, 120px);
	}

	.glp-fv__chips {
		grid-auto-flow: row;
		gap: 8px;
		margin-top: 12px;
	}

	.glp-chip {
		padding: 9px 16px;
		font-size: 14px;
	}

	.glp-chip__icon {
		width: 20px;
		height: 20px;
	}

	.glp-fv__strip {
		padding: 18px 0;
	}

	.glp-fv__strip-list li {
		padding: 8px 6px;
		gap: 12px;
	}

	.glp-fv__strip-icon {
		width: 34px;
		height: 34px;
	}

	.glp-fv__strip-body b {
		font-size: 15px;
	}

	.glp-fv__strip-body span {
		font-size: 12px;
	}

	.glp-dots {
		display: none;
	}

	/* --- 02 悩み --- */
	.glp-pain__photo {
		width: 46%;
		height: 250px;
		clip-path: polygon(0 0, 100% 0, 52% 100%, 0 100%);
	}

	.glp-pain__photo::after {
		background: linear-gradient(115deg, rgba(255, 255, 255, 0) 22%, var(--glp-sky) 86%);
	}

	.glp-pain__inner {
		padding-left: var(--glp-gutter);
	}

	.glp-pain .glp-eyebrow {
		margin-top: 96px;
		justify-content: flex-end;
	}

	.glp-pain .glp-eyebrow::before {
		display: none;
	}

	.glp-pain .glp-h2 {
		text-align: right;
	}

	.glp-pain__cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		margin-top: 26px;
	}

	.glp-pain__card {
		flex-direction: row;
		align-items: center;
		gap: 18px;
		padding: 18px 20px;
		border-radius: 20px;
		text-align: left;
	}

	.glp-pain__card .glp-ico {
		width: 68px;
		height: 68px;
	}

	.glp-pain__card .glp-ico svg {
		width: 36px;
		height: 36px;
	}

	.glp-pain__card-title {
		font-size: 19px;
	}

	.glp-chevron {
		width: 32px;
		margin-top: 18px;
	}

	.glp-pain__answer {
		font-size: 22px;
	}

	.glp-pain__sub {
		font-size: 14px;
	}

	/* --- 03 総額比較 --- */
	.glp-card {
		padding: 22px 18px 20px;
		border-radius: 20px;
	}

	.glp-card__title {
		gap: 10px;
		margin-bottom: 16px;
		font-size: 16px;
	}

	.glp-card__title::before,
	.glp-card__title::after {
		max-width: 28px;
	}

	.glp-cost__layout {
		margin-top: 26px;
		gap: 18px;
	}

	/* PCの3列＋演算子を、SPでは縦積みにする */
	.glp-cost__parts {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.glp-cost__part {
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 12px 16px;
		text-align: left;
	}

	.glp-cost__part-body {
		display: flex;
		flex: 1 1 auto;
		align-items: baseline;
		justify-content: space-between;
		gap: 10px;
	}

	.glp-cost__part-label {
		font-size: 15px;
	}

	.glp-cost__part-value {
		font-size: 24px;
	}

	.glp-cost__part-sub {
		display: inline;
		margin-left: 4px;
		font-size: 17px;
	}

	.glp-cost__total {
		gap: 12px;
		padding: 14px 16px;
	}

	.glp-cost__total-icon {
		width: 32px;
		height: 32px;
	}

	.glp-cost__total-label {
		padding-right: 12px;
	}

	.glp-cost__total-label span {
		display: none;
	}

	.glp-cost__total-label b {
		font-size: 17px;
	}

	.glp-cost__total-value {
		font-size: 27px;
	}

	.glp-cost__incl {
		gap: 10px;
		padding: 14px 16px;
		font-size: 14px;
	}

	.glp-cost__compare-head {
		padding: 14px 18px;
		font-size: 17px;
		text-align: center;
	}

	.glp-tablewrap {
		margin: 14px 12px 0;
	}

	.glp-table {
		font-size: 12.5px;
	}

	.glp-table th,
	.glp-table td {
		padding: 10px 6px;
	}

	/* 合計行の当社側は折り返さない（「1,132,800 / 円」で改行させない） */
	.glp-table__sum td.glp-table__ours {
		font-size: 1em;
		white-space: nowrap;
	}

	/* --- 04 含まれる7項目 --- */
	.glp-incl__grid {
		gap: 10px;
		margin-top: 26px;
	}

	.glp-incl__card {
		flex-basis: calc(50% - 5px);
		min-height: 0;
		gap: 10px;
		padding: 18px 10px 16px;
		border-radius: 18px;
	}

	/* 最後の1枚は横長。デザインSPと同じ並びにする */
	.glp-incl__card:last-child {
		flex-basis: 100%;
		flex-direction: row;
		justify-content: flex-start;
		gap: 16px;
		padding: 14px 18px;
		text-align: left;
	}

	.glp-incl__card .glp-ico {
		width: 64px;
		height: 64px;
	}

	.glp-incl__card .glp-ico svg {
		width: 32px;
		height: 32px;
	}

	.glp-incl__label {
		font-size: 14px;
	}

	.glp-incl__bar {
		gap: 12px;
		margin-top: 20px;
		padding: 16px 18px;
	}

	.glp-incl__bar-price,
	.glp-incl__bar-bonus {
		gap: 12px;
		font-size: 19px;
	}

	.glp-incl__bar-price {
		padding-right: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.32);
		padding-bottom: 12px;
		width: 100%;
	}

	.glp-incl__bar-bonus {
		width: 100%;
	}

	.glp-incl__bar-icon {
		width: 32px;
		height: 32px;
	}

	/* --- 05 所有権移転（縦積みのタイムライン） --- */
	.glp-h2__sub {
		font-size: 0.78em;
	}

	.glp-own__flow {
		margin-top: 26px;
		gap: 14px;
	}

	.glp-own__flow::before {
		display: none;
	}

	.glp-own__steps {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 8px 12px;
	}

	/* 縦の線 */
	.glp-own__steps::before {
		top: 32px;
		bottom: 32px;
		left: 31px;
		right: auto;
		width: 2px;
		height: auto;
	}

	.glp-own__step {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		grid-column: 1 / -1;
		align-items: center;
		gap: 12px;
		padding: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		text-align: left;
	}

	.glp-own__step::after {
		display: none;
	}

	.glp-own__badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 64px;
		height: 64px;
		padding: 0;
		border-radius: 50%;
		background: var(--glp-sky-2);
		color: var(--glp-blue);
		font-size: 14px;
		font-weight: 800;
	}

	.glp-own__step--start .glp-own__badge,
	.glp-own__step--plus .glp-own__badge {
		display: inline-flex;
		width: 64px;
		padding: 0;
		border-radius: 50%;
		background: var(--glp-blue);
		color: var(--glp-white);
		font-size: 15px;
	}

	.glp-own__step--plus .glp-own__badge {
		font-size: 22px;
	}

	.glp-own__body {
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 14px 16px;
		border-radius: 16px;
		background: var(--glp-white);
		box-shadow: var(--glp-shadow-soft);
	}

	.glp-own__step--plus .glp-own__body {
		background: var(--glp-sky-2);
		box-shadow: none;
	}

	.glp-own__step--node .glp-own__body {
		flex-direction: row;
	}

	.glp-own__icon {
		display: inline-flex;
		width: 34px;
		height: 34px;
	}

	.glp-own__step--plus .glp-own__icon {
		display: inline-flex;
	}

	.glp-own__text {
		display: block;
		min-width: 0;
	}

	.glp-own__title,
	.glp-own__step--node .glp-own__title {
		display: block;
		font-size: 19px;
	}

	.glp-own__sub,
	.glp-own__step--plus .glp-own__sub {
		display: block;
		color: var(--glp-muted);
		font-size: 13px;
		font-weight: 500;
		line-height: 1.5;
	}

	/* SPは中央寄せではなく、左に76pxずらして縦の線に合わせる。
	   自動の余白を0にしてグリッドの列いっぱいに伸ばす（幅を画像に依存させない）。 */
	.glp-own__goal {
		width: auto;
		margin-left: 76px;
		margin-right: 0;
	}

	.glp-own__goal-head {
		font-size: 17px;
	}

	.glp-own__benefits {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		margin-top: 22px;
	}

	.glp-own__benefit {
		flex-direction: column;
		align-items: center;
		gap: 10px;
		padding: 16px 8px 14px;
		border-radius: 16px;
		text-align: center;
	}

	.glp-own__benefit-title {
		font-size: 14px;
	}

	/* 説明文はSPデザインの3カードには入っていない */
	.glp-own__benefit-desc {
		display: none;
	}

	/* --- 06 3条件（縦積み） --- */
	.glp-cond__big {
		font-size: 1.22em;
	}

	.glp-cond__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
		margin-top: 26px;
	}

	.glp-cond__item {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 14px;
		padding: 16px 18px;
		border-radius: 18px;
		text-align: left;
	}

	.glp-cond__no {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: var(--glp-sky-2);
		color: var(--glp-blue);
		font-size: 15px;
		font-weight: 800;
	}

	.glp-cond__item .glp-ico {
		width: 62px;
		height: 62px;
		border-radius: 14px;
	}

	.glp-cond__item .glp-ico svg {
		width: 34px;
		height: 34px;
	}

	.glp-cond__body {
		min-width: 0;
		padding-left: 14px;
		border-left: 2px solid var(--glp-border);
	}

	.glp-cond__title {
		font-size: 19px;
	}

	.glp-cond__price {
		font-size: 27px;
	}

	.glp-cond__desc {
		display: block;
		color: var(--glp-muted);
		font-size: 12.5px;
		line-height: 1.55;
	}

	.glp-cond__op .glp-op {
		width: 34px;
		height: 34px;
		font-size: 19px;
	}

	.glp-cond__band {
		flex-direction: row;
		gap: 14px;
		margin-top: 14px;
		padding: 16px 18px;
		border-radius: 18px;
		background: linear-gradient(100deg, var(--glp-navy) 0%, var(--glp-blue) 130%);
	}

	.glp-cond__band .glp-tick {
		width: 34px;
		height: 34px;
		background: var(--glp-white);
		color: var(--glp-blue);
	}

	.glp-cond__band .glp-tick svg {
		width: 18px;
		height: 18px;
	}

	.glp-cond__band-text b {
		color: var(--glp-white);
		font-size: 23px;
	}

	.glp-cond__band-text span {
		display: block;
		color: rgba(255, 255, 255, 0.9);
		font-size: 13px;
		line-height: 1.5;
	}

	.glp-cond__pills {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-top: 12px;
	}

	.glp-cond__pill {
		align-items: flex-start;
		justify-content: flex-start;
		gap: 10px;
		padding: 14px 12px;
		border-radius: 16px;
	}

	.glp-cond__pill .glp-ico--sm {
		width: 34px;
		height: 34px;
	}

	.glp-cond__pill .glp-ico--sm svg {
		width: 24px;
		height: 24px;
	}

	.glp-cond__pill-body b {
		font-size: 14px;
	}

	.glp-cond__pill-body span {
		display: block;
		color: var(--glp-muted);
		font-size: 11.5px;
		line-height: 1.5;
	}

	/* --- 07 車種ラインナップ --- */
	.glp-br-pc {
		display: none;
	}

	.glp-veh__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		margin-top: 24px;
	}

	.glp-veh__year {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 14px 18px;
		border-radius: 16px;
		text-align: left;
	}

	.glp-veh__year-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		margin: 0;
		padding: 0 14px 0 0;
		border-bottom: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.3);
		font-size: 11.5px;
		white-space: nowrap;
	}

	.glp-veh__year-icon {
		width: 34px;
		height: 34px;
	}

	.glp-veh__year-value {
		font-size: 17px;
	}

	.glp-veh__year-value b {
		font-size: 26px;
	}

	.glp-veh__year-era {
		display: inline;
		font-size: 17px;
	}

	/* SPデザインの帯には補足文が無い */
	.glp-veh__year-note {
		display: none;
	}

	.glp-veh__lineup {
		padding: 0;
		background: transparent;
	}

	.glp-veh__lineup .glp-card__title {
		display: none;
	}

	.glp-veh__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.glp-veh__card {
		align-items: flex-start;
		gap: 2px;
		padding: 12px 10px 10px;
		border-radius: 16px;
		text-align: left;
	}

	.glp-veh__name {
		order: -1;
	}

	.glp-veh__name b {
		font-size: 17px;
	}

	.glp-veh__name > span {
		display: block;
		color: var(--glp-muted);
		font-size: 11px;
		line-height: 1.35;
	}

	.glp-veh__card--other {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 14px 16px;
	}

	.glp-veh__card--other .glp-veh__name {
		order: 0;
		padding-left: 14px;
		border-left: 2px solid var(--glp-border);
	}

	.glp-veh__other-icon {
		width: 46px;
		height: 46px;
	}

	.glp-veh__other-desc {
		display: block;
		color: var(--glp-muted);
		font-size: 12px;
		line-height: 1.5;
	}

	.glp-veh__points {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		margin-top: 16px;
		padding: 6px 8px;
		border-radius: 16px;
	}

	.glp-veh__points li {
		justify-content: flex-start;
		gap: 12px;
		padding: 12px 8px;
	}

	.glp-veh__points li + li {
		border-left: 0;
		border-top: 1px solid var(--glp-border);
	}

	.glp-veh__point-icon .glp-tick,
	.glp-veh__point-round {
		width: 34px;
		height: 34px;
	}

	.glp-veh__point-icon .glp-tick svg,
	.glp-veh__point-round svg {
		width: 18px;
		height: 18px;
	}

	.glp-veh__point-text {
		font-size: 14px;
	}

	/* --- 08 納車後サポート --- */
	.glp-sup__photo {
		width: 100%;
		height: 300px;
		clip-path: none;
	}

	.glp-sup__photo::after {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.86) 55%, #ffffff 100%);
	}

	.glp-sup__cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		margin-top: 24px;
	}

	/* アイコンを左、見出しと本文を右に縦積み。3つを横一列に並べない */
	.glp-sup__card {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		column-gap: 16px;
		row-gap: 0;
		padding: 16px 18px;
		border-radius: 18px;
		text-align: left;
	}

	.glp-sup__card .glp-ico {
		grid-row: 1 / 3;
	}

	.glp-sup__card .glp-ico {
		width: 66px;
		height: 66px;
	}

	.glp-sup__card .glp-ico svg {
		width: 34px;
		height: 34px;
	}

	.glp-sup__title {
		margin-bottom: 8px;
		padding-bottom: 10px;
		font-size: 18px;
	}

	.glp-sup__title::after {
		left: 0;
		margin-left: 0;
	}

	.glp-sup__desc {
		font-size: 14px;
	}

	.glp-sup__note {
		margin-top: 16px;
		padding: 12px 16px;
		border-radius: 14px;
		font-size: 12.5px;
	}

	/* --- 09 個人・法人 --- */
	.glp-per__cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		margin-top: 24px;
	}

	.glp-per__card {
		align-items: flex-start;
		gap: 12px;
		padding: 16px;
		border-radius: 20px;
	}

	.glp-per__illust {
		width: 34%;
		max-width: 130px;
	}

	.glp-per__title {
		font-size: 20px;
	}

	.glp-per__lead {
		font-size: 15px;
	}

	.glp-per__tags {
		gap: 6px;
	}

	.glp-per__tags li {
		padding: 5px 10px 5px 6px;
		font-size: 12.5px;
	}

	.glp-per__points {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 12px;
		padding: 12px 4px;
		border-radius: 18px;
	}

	.glp-per__points li {
		flex-direction: column;
		gap: 6px;
		padding: 4px 6px;
		font-size: 12px;
		text-align: center;
	}

	.glp-per__points li + li {
		border-left: 1px solid var(--glp-border);
	}

	.glp-per__points .glp-ico--sm {
		width: 40px;
		height: 40px;
	}

	.glp-per__note {
		margin-top: 12px;
		padding: 12px 14px;
		border-radius: 14px;
		font-size: 12px;
	}

	/* --- 10 流れ（縦積み） --- */
	.glp-flow__steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
		margin-top: 26px;
	}

	.glp-flow__step {
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 16px 18px 16px 14px;
		border-radius: 18px;
		text-align: left;
	}

	.glp-flow__no {
		position: static;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		margin: 0;
		aspect-ratio: 1 / 1;
		font-size: 15px;
	}

	/* ステップ間は下向きの矢印にする */
	.glp-flow__step + .glp-flow__step::before {
		top: -20px;
		left: 50%;
		width: 16px;
		height: 14px;
		margin: 0 0 0 -8px;
		clip-path: polygon(25% 0, 75% 0, 75% 55%, 100% 55%, 50% 100%, 0 55%, 25% 55%);
	}

	.glp-flow__icon {
		width: 38px;
		height: 38px;
	}

	.glp-flow__body {
		min-width: 0;
		padding-left: 14px;
		border-left: 2px solid var(--glp-border);
	}

	.glp-flow__title {
		margin-bottom: 4px;
		font-size: 17px;
	}

	.glp-flow__desc {
		font-size: 13px;
	}

	.glp-flow__band {
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 26px;
		padding: 16px 18px;
		border-radius: 18px;
	}

	.glp-flow__band-icon {
		width: 46px;
		height: 46px;
	}

	.glp-flow__band-value {
		padding-right: 0;
		border-right: 0;
	}

	.glp-flow__band-value b {
		font-size: 30px;
	}

	.glp-flow__band-text {
		width: 100%;
		font-size: 13px;
	}

	/* --- 11 よくある質問 --- */
	.glp-faq__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		margin-top: 24px;
	}

	.glp-faq__item {
		border-radius: 18px;
	}

	.glp-faq__q {
		gap: 12px;
		padding: 16px 16px;
		font-size: 16px;
	}

	.glp-faq__mark {
		width: 32px;
		height: 32px;
		font-size: 16px;
	}

	.glp-faq__toggle {
		width: 26px;
		height: 26px;
	}

	.glp-faq__a {
		margin-inline: 16px;
		padding-bottom: 16px;
	}

	.glp-faq__a p {
		margin-top: 12px;
		font-size: 13.5px;
		line-height: 1.8;
	}

	.glp-faq__more {
		flex-direction: column;
		gap: 12px;
		margin-top: 20px;
		padding: 16px;
		border-radius: 18px;
	}

	.glp-faq__more-icon {
		display: none;
	}

	.glp-faq__more-text {
		padding-left: 0;
		border-left: 0;
		font-size: 15px;
		text-align: center;
	}

	.glp-faq__more .glp-btn {
		width: 100%;
	}

	/* --- 12 最終CTA --- */
	.glp-final {
		padding-bottom: 48px;
	}

	.glp-final__panel {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"body"
			"visual"
			"cta";
		gap: 0;
		border-radius: 22px;
	}

	.glp-final__body {
		padding: 26px 20px 0;
		text-align: center;
	}

	.glp-final__panel .glp-eyebrow {
		justify-content: center;
	}

	.glp-final__title {
		font-size: 28px;
	}

	.glp-final__lead {
		margin-top: 12px;
		font-size: 15px;
	}

	.glp-final__sub {
		font-size: 13px;
	}

	.glp-final__cta {
		flex-direction: column;
		gap: 10px;
		margin-top: 18px;
		padding: 0 20px 24px;
	}

	.glp-final__cta .glp-btn {
		flex: 0 0 auto;
		width: 100%;
	}

	.glp-final__visual {
		max-width: 320px;
		margin: 18px auto 0;
	}

	.glp-final__visual img {
		height: auto;
	}

	/* --- 画面下の固定CTA --- */
	.glp-sp-cta {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		/* 既存のモバイルドロワー（z-index 110）と背景遮蔽（100）より必ず下に置く。
		   上に置くとドロワー最下部の電話ボタンを覆い、電話のつもりでLINEを押させてしまう。 */
		z-index: 90;
		display: grid;
		grid-template-columns: 1.4fr 1fr;
		gap: 8px;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.96);
		border-top: 1px solid #cfe3fa;
		box-shadow: 0 -6px 18px rgba(7, 27, 67, 0.12);
	}

	.glp-sp-cta__btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		min-height: 48px;
		border-radius: 999px;
		font-size: 15px;
		font-weight: 700;
		text-decoration: none;
	}

	.glp-sp-cta__btn:focus-visible {
		outline: 3px solid #0b5fea;
		outline-offset: 2px;
	}

	.glp-sp-cta__btn--line {
		background: #06c755;
		color: #ffffff;
	}

	.glp-sp-cta__btn--tel {
		background: #ffffff;
		color: #0a4cbb;
		border: 2px solid #0b5fea;
	}

	.glp-sp-cta__icon {
		display: inline-flex;
		width: 20px;
		height: 20px;
	}

	.glp-sp-cta__icon svg {
		width: 100%;
		height: 100%;
	}

	/* 固定CTA（実高64px）でフッターが隠れないように、ページ下部へ余白を確保。
	   .goku-lp の外側の要素なのでCSS変数は継承されない。値を直接持たせる。 */
	body.home .goku-site-footer {
		padding-bottom: calc(72px + env(safe-area-inset-bottom));
	}
}

/* ============================================================
   93. 狭いSP（374px以下）
   ============================================================ */

@media (max-width: 374px) {
	.goku-lp {
		--glp-gutter: 14px;
	}

	.glp-fv__title {
		font-size: 27px;
	}

	/* 320pxでは見出し1行目が右まで伸びるので、筆記体は1行目の下（2〜3行目の右横）へ下げる */
	.glp-fv__script {
		top: 118px;
		right: 8px;
		width: min(31%, 104px);
	}

	.glp-stat__value {
		font-size: 19px;
	}

	.glp-stat__value--word {
		font-size: 16px;
	}

	.glp-sp-cta__btn {
		font-size: 14px;
	}

	/* 07 年式の帯は横1行（white-space: nowrap）のため、320pxでは「年式」が
	   帯の外へ 18.9px はみ出して読めなくなる。文言は変えられないので、
	   左右の余白・区切りまでの間隔・字の大きさを 374px 以下でだけ詰める。 */
	.glp-veh__year {
		gap: 10px;
		padding: 14px 12px;
	}

	.glp-veh__year-head {
		padding-right: 10px;
		font-size: 10.5px;
	}

	.glp-veh__year-value {
		font-size: 15px;
	}

	.glp-veh__year-value b {
		font-size: 21px;
	}

	.glp-veh__year-era {
		font-size: 15px;
	}
}

/* ============================================================
   94. アニメーション抑制
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
	/* スクロールの補間はスクロールコンテナ（html）側に効くため、子孫指定では止まらない */
	html {
		scroll-behavior: auto !important;
	}

	.goku-lp *,
	.glp-sp-cta * {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ============================================================
   95. 01b 配送の仕事を始めたい方へ（T-470で追加）

   隣の 02 悩みブロックと同じ作りに揃えるため、値は .glp-pain__cards /
   .glp-pain__card / .glp-pain__card-title と同じものを使っている。
   .glp-pain-* を共有せず別クラスにしたのは、02 側を触らずに足すため
   （T-469 が同じファイルの FV 周りを別ブランチで直している）。
   締めの帯は 06 の .glp-cond__band と同じ作り（淡い水色のピル＋チェック印）。
   基本・タブレット・SP を1か所にまとめてファイル末尾へ足している。既存の規則は変えていない。
   ============================================================ */

.glp-start__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 40px 0 0;
}

.glp-start__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding: 34px 20px 30px;
	border-radius: var(--glp-r-lg);
	background: var(--glp-white);
	box-shadow: var(--glp-shadow);
	text-align: center;
}

.glp-start__card-title {
	margin: 0;
	color: var(--glp-navy);
	font-size: clamp(17px, 1.5vw, 22px);
	font-weight: 800;
	line-height: 1.45;
}

.glp-start__band {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: fit-content;
	max-width: 100%;
	margin: 32px auto 0;
	padding: 18px 32px;
	border-radius: var(--glp-r-pill);
	background: var(--glp-sky-2);
}

.glp-start__band .glp-tick {
	width: 40px;
	height: 40px;
}

.glp-start__band .glp-tick svg {
	width: 22px;
	height: 22px;
}

.glp-start__band-text {
	color: var(--glp-navy);
	font-size: clamp(17px, 1.8vw, 26px);
	font-weight: 800;
	line-height: 1.4;
}

/* --- タブレット（768〜1023px）--- */
@media (max-width: 1023px) {
	.glp-start__cards {
		gap: 14px;
	}

	.glp-start__card {
		padding: 26px 14px 24px;
	}

	.glp-start__band {
		gap: 14px;
		padding: 16px 24px;
	}
}

/* --- モバイル（767px以下）— 縦積み。02 悩みのSPと同じ横並びカードにする --- */
@media (max-width: 767px) {
	.glp-start__cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		margin-top: 26px;
	}

	.glp-start__card {
		flex-direction: row;
		align-items: center;
		gap: 18px;
		padding: 18px 20px;
		border-radius: 20px;
		text-align: left;
	}

	.glp-start__card .glp-ico {
		width: 68px;
		height: 68px;
	}

	.glp-start__card .glp-ico svg {
		width: 36px;
		height: 36px;
	}

	.glp-start__card-title {
		font-size: 19px;
	}

	.glp-start__band {
		gap: 12px;
		margin-top: 22px;
		padding: 14px 18px;
		border-radius: 18px;
	}

	.glp-start__band .glp-tick {
		width: 34px;
		height: 34px;
	}

	.glp-start__band .glp-tick svg {
		width: 18px;
		height: 18px;
	}

	.glp-start__band-text {
		font-size: 17px;
		line-height: 1.5;
	}
}
