/* ==========================================================================
   てらすよ横浜 LP（広告・SNS・営業用のランディングページ）専用CSS
   ・すべて .terasuyo-lp（LP本文のいちばん外側のグループ）の中だけに効きます。
     既存のトップページ・サービスページには影響しません。
   ・文章・画像・料金・ボタンはブロックエディターで編集します。ここではレイアウトと色だけを扱います。
   ・LPごとの色は、外側グループのクラス（terasuyo-lp--kyoyobu など）で切り替えます。
   ========================================================================== */

/* ---------- LPごとの色 ---------- */
.terasuyo-lp {
	--lp-accent: #2679A8;      /* 見出しの飾り・ラベル・強調 */
	--lp-accent-dark: #1D5E85; /* ボタンのマウスオーバー・濃い文字 */
	--lp-btn: #2679A8;         /* メインのボタン */
	--lp-soft: #F1F8FB;        /* 淡い背景 */
	--lp-tint: #D9EFF8;        /* ラベル・アイコンの背景 */
	--lp-line: #DCE6EC;        /* 線 */
	--lp-text: #263746;
	--lp-muted: #5B6B78;
	--lp-radius: 6px;
	--lp-wide: 1080px;
	color: var(--lp-text);
}
/* 共用部清掃：清潔・信頼（サイトのメインブルー） */
.terasuyo-lp--kyoyobu { --lp-soft: #F1F8FB; --lp-tint: #D9EFF8; }
/* 実家安心サポート：温かさ（ロゴの太陽の色を落ち着かせたトーン） */
.terasuyo-lp--jikka { --lp-accent: #A65A24; --lp-accent-dark: #8E4B1C; --lp-btn: #B05F25; --lp-soft: #FBF6EF; --lp-tint: #F6E6D2; --lp-line: #EADFD2; }
/* 空き家管理：落ち着き・管理（サイトのグリーンを濃くしたトーン） */
.terasuyo-lp--akiya { --lp-accent: #3A7A55; --lp-accent-dark: #2C5F42; --lp-btn: #3A7A55; --lp-soft: #F3F8F4; --lp-tint: #E2F0E6; --lp-line: #D8E6DC; }
/* 便利屋：親しみ（メインブルーのボタン＋太陽色のラベル） */
.terasuyo-lp--benriya { --lp-accent: #A65A14; --lp-accent-dark: #1D5E85; --lp-btn: #2679A8; --lp-soft: #FFF8EE; --lp-tint: #FDEBD3; --lp-line: #EFE3D3; }

/* ---------- セクションの基本 ---------- */
.terasuyo-lp > .lp-sec { margin-block: 0; padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
.terasuyo-lp .lp-sec > * { max-width: var(--lp-wide); }
.terasuyo-lp .lp-sec--soft { background: var(--lp-soft); }
.terasuyo-lp .lp-sec--line { border-top: 1px solid var(--lp-line); }
.terasuyo-lp h1, .terasuyo-lp h2, .terasuyo-lp h3 { color: var(--lp-text); word-break: auto-phrase; }
.terasuyo-lp p, .terasuyo-lp li { line-height: 1.9; }

/* セクション見出し（小さな英字ラベル＋見出し＋説明） */
.terasuyo-lp .lp-head { text-align: center; margin-bottom: clamp(28px, 4vw, 44px); }
.terasuyo-lp .lp-head > * { margin-left: auto; margin-right: auto; }
.terasuyo-lp .lp-eyebrow { font-size: .85rem; font-weight: 700; letter-spacing: .12em; color: var(--lp-accent); margin-bottom: .5em; }
.terasuyo-lp .lp-head h2 { font-size: clamp(1.5rem, 3.4vw, 2.2rem); line-height: 1.45; margin-top: 0; margin-bottom: .5em; }
.terasuyo-lp .lp-head p:not(.lp-eyebrow) { color: var(--lp-muted); max-width: 680px; }

/* ---------- ファーストビュー ---------- */
.terasuyo-lp .lp-hero { background: linear-gradient(180deg, var(--lp-soft) 0%, #fff 100%); padding-top: clamp(32px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 80px); }
.terasuyo-lp .lp-hero__cols { gap: clamp(24px, 5vw, 64px); align-items: center; }
.terasuyo-lp .lp-kicker { display: inline-block; font-size: .85rem; font-weight: 700; color: var(--lp-accent-dark); background: var(--lp-tint); padding: .25em .9em; border-radius: 999px; margin-bottom: 1em; }
.terasuyo-lp--jikka .lp-kicker, .terasuyo-lp--benriya .lp-kicker { color: #6B3A12; }
.terasuyo-lp .lp-hero h1 { font-size: clamp(1.7rem, 3.6vw, 2.4rem); line-height: 1.4; letter-spacing: .02em; margin: 0 0 .6em; }
.terasuyo-lp .lp-lead { font-size: clamp(1rem, 1.6vw, 1.12rem); line-height: 1.95; }
.terasuyo-lp .lp-points { list-style: none; padding: 0; margin: 1.2em 0; display: flex; flex-wrap: wrap; gap: 8px; }
.terasuyo-lp .lp-points li { margin: 0; padding: .3em .85em; border: 1px solid var(--lp-line); background: #fff; border-radius: 999px; font-size: .92rem; font-weight: 700; line-height: 1.6; }
.terasuyo-lp .lp-points li::before { content: "✓"; color: var(--lp-accent); margin-right: .4em; }
.terasuyo-lp .lp-hero__price { font-size: 1rem; margin: 1.2em 0 .2em; }
.terasuyo-lp .lp-hero__price strong { font-weight: 700; font-size: clamp(1.6rem, 3.2vw, 2rem); color: var(--lp-accent-dark); letter-spacing: .01em; margin: 0 .1em; }
.terasuyo-lp .lp-hero .wp-block-image img, .terasuyo-lp .lp-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--lp-radius); }
.terasuyo-lp .wp-block-image { margin-bottom: 0; }
.terasuyo-lp .lp-micro { font-size: .85rem; color: var(--lp-muted); margin-top: .8em; }

/* ---------- ボタン（形は全LP共通。色はLPごと） ---------- */
.terasuyo-lp .wp-block-buttons { gap: 12px; }
.terasuyo-lp .wp-block-button__link { border-radius: 4px; padding: 1em 1.8em; font-size: 1.02rem; line-height: 1.5; }
.terasuyo-lp .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--lp-btn); color: #fff; }
.terasuyo-lp .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover { background: var(--lp-accent-dark); }
.terasuyo-lp .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { background: #fff; color: var(--lp-btn); border: 2px solid currentColor; padding: calc(1em - 2px) calc(1.8em - 2px); }
.terasuyo-lp .lp-btn-main > .wp-block-button__link::after { content: "→"; margin-left: .6em; }
@media (max-width: 599px) {
	.terasuyo-lp .lp-btns { flex-direction: column; align-items: stretch; }
	.terasuyo-lp .lp-btns .wp-block-button, .terasuyo-lp .lp-btns .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
}

/* ---------- 悩み ---------- */
.terasuyo-lp .lp-worries { list-style: none; padding: 0; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.terasuyo-lp .lp-worries li { margin: 0; background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: 18px 20px 18px 54px; position: relative; font-weight: 600; line-height: 1.7; }
.terasuyo-lp .lp-worries li::before { content: ""; position: absolute; left: 20px; top: 21px; width: 20px; height: 20px; border-radius: 50%; background: var(--lp-tint); }
.terasuyo-lp .lp-worries li::after { content: ""; position: absolute; left: 26px; top: 26px; width: 8px; height: 5px; border-left: 2px solid var(--lp-accent); border-bottom: 2px solid var(--lp-accent); transform: rotate(-45deg); }
.terasuyo-lp .lp-bridge { text-align: center; font-size: clamp(1.15rem, 2.4vw, 1.4rem); font-weight: 700; margin-top: clamp(28px, 4vw, 40px); color: var(--lp-accent-dark); }

/* ---------- カード ---------- */
.terasuyo-lp .lp-cards { gap: clamp(16px, 2.4vw, 28px); }
.terasuyo-lp .lp-card { background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: clamp(20px, 2.6vw, 28px); height: 100%; box-sizing: border-box; }
.terasuyo-lp .lp-card > * { margin-top: 0; }
.terasuyo-lp .lp-card > * + * { margin-top: .7em; }
.terasuyo-lp .lp-card h3 { font-size: 1.2rem; line-height: 1.5; }
.terasuyo-lp .lp-card p { font-size: .97rem; }
.terasuyo-lp .lp-card .wp-block-image:first-child { margin: calc(-1 * clamp(20px, 2.6vw, 28px)) calc(-1 * clamp(20px, 2.6vw, 28px)) 18px; }
.terasuyo-lp .lp-card .wp-block-image:first-child img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--lp-radius) var(--lp-radius) 0 0; }
.terasuyo-lp .lp-num { font-size: .85rem; font-weight: 700; color: var(--lp-accent); letter-spacing: .08em; }
.terasuyo-lp .lp-card .lp-card__price { font-weight: 700; color: var(--lp-accent-dark); font-size: 1.05rem; border-top: 1px dashed var(--lp-line); padding-top: .7em; }
.terasuyo-lp .lp-card .wp-block-buttons { margin-top: 1em; }
.terasuyo-lp .lp-card .wp-block-button, .terasuyo-lp .lp-card .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
.terasuyo-lp .lp-card .wp-block-button__link { padding: .8em 1em; font-size: .97rem; }

/* チェック付きリスト・×付きリスト */
.terasuyo-lp .lp-check, .terasuyo-lp .lp-cross { list-style: none; padding-left: 0; }
.terasuyo-lp .lp-check li, .terasuyo-lp .lp-cross li { position: relative; padding-left: 1.7em; margin: .35em 0; }
.terasuyo-lp .lp-check li::before { content: ""; position: absolute; left: .15em; top: .6em; width: .8em; height: .42em; border-left: 2.5px solid var(--lp-accent); border-bottom: 2.5px solid var(--lp-accent); transform: rotate(-45deg); }
.terasuyo-lp .lp-cross li::before, .terasuyo-lp .lp-cross li::after { content: ""; position: absolute; left: .2em; top: .9em; width: .8em; height: 2px; background: #8B97A1; transform: rotate(45deg); }
.terasuyo-lp .lp-cross li::after { transform: rotate(-45deg); }
/* 項目を2〜3列に並べるリスト */
.terasuyo-lp .lp-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 0 28px; }
.terasuyo-lp .lp-tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.terasuyo-lp .lp-tags li { margin: 0; padding: .3em .9em; background: var(--lp-soft); border: 1px solid var(--lp-line); border-radius: 4px; font-size: .95rem; }

/* 写真＋文章（メディアとテキスト） */
.terasuyo-lp .wp-block-media-text { gap: 0; margin-bottom: clamp(24px, 4vw, 40px); }
.terasuyo-lp .wp-block-media-text__media img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--lp-radius); }
.terasuyo-lp .wp-block-media-text__content { padding: 0 0 0 clamp(20px, 4vw, 48px); }
.terasuyo-lp .wp-block-media-text__content h3 { font-size: clamp(1.2rem, 2.2vw, 1.45rem); margin-top: 0; }
@media (max-width: 600px) { .terasuyo-lp .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { padding: 18px 0 0; } }

/* ---------- 料金 ---------- */
.terasuyo-lp .lp-price { gap: clamp(16px, 2.4vw, 28px); align-items: stretch; margin-bottom: clamp(24px, 4vw, 40px); }
.terasuyo-lp .lp-price-card { background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: clamp(24px, 3vw, 36px); height: 100%; box-sizing: border-box; text-align: center; }
.terasuyo-lp .lp-price-card--main { border: 2px solid var(--lp-accent); }
.terasuyo-lp .lp-price-card > * { margin-top: 0; }
.terasuyo-lp .lp-price-card h3 { font-size: 1.15rem; margin-bottom: .2em; }
.terasuyo-lp .lp-price-card .lp-price__label { display: inline-block; font-size: .85rem; font-weight: 700; color: #fff; background: var(--lp-accent); padding: .15em .8em; border-radius: 999px; margin-bottom: .6em; }
.terasuyo-lp .lp-price__amount { font-size: clamp(2rem, 4.4vw, 2.6rem); font-weight: 700; line-height: 1.3; color: var(--lp-accent-dark); margin: .2em 0 .1em; letter-spacing: .01em; }
.terasuyo-lp .lp-price__amount small, .terasuyo-lp .lp-price__unit { font-size: .95rem; font-weight: 700; color: var(--lp-muted); }
.terasuyo-lp .lp-price-card ul { text-align: left; font-size: .95rem; border-top: 1px solid var(--lp-line); padding-top: 1em; margin-top: 1em; }
.terasuyo-lp .lp-note { font-size: .88rem; color: var(--lp-muted); line-height: 1.8; }
.terasuyo-lp .lp-sec .lp-note { margin-top: 1.2em; }

/* 表（料金・比較） */
.terasuyo-lp .lp-table { margin: 0; overflow-x: auto; }
.terasuyo-lp .lp-table thead th:first-child { text-align: left; }
.terasuyo-lp .lp-table table { table-layout: auto; border-collapse: collapse; width: 100%; background: #fff; min-width: 0; }
.terasuyo-lp .lp-table th, .terasuyo-lp .lp-table td { border: 1px solid var(--lp-line); padding: .8em 1em; vertical-align: middle; text-align: left; font-size: .97rem; line-height: 1.7; }
.terasuyo-lp .lp-table thead th { background: var(--lp-accent); color: #fff; text-align: center; border-color: var(--lp-accent); }
.terasuyo-lp .lp-table tbody td:first-child { font-weight: 700; background: var(--lp-soft); }
.terasuyo-lp .lp-table--center tbody td:not(:first-child) { text-align: center; }
@media (max-width: 599px) { .terasuyo-lp .lp-table th, .terasuyo-lp .lp-table td { padding: .6em .55em; font-size: .9rem; } }

/* ---------- 報告書イメージ（サンプル） ---------- */
.terasuyo-lp .lp-report { background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: clamp(20px, 3vw, 32px); max-width: 880px; margin-left: auto; margin-right: auto; box-shadow: 0 1px 2px rgba(38, 55, 70, .06); }
.terasuyo-lp .lp-report > * { margin-top: 0; }
.terasuyo-lp .lp-report__badge { display: inline-block; font-size: .85rem; font-weight: 700; color: var(--lp-accent-dark); background: var(--lp-tint); padding: .2em .8em; border-radius: 4px; margin-bottom: .6em; }
.terasuyo-lp .lp-report h3 { font-size: 1.1rem; margin-bottom: .8em; }
.terasuyo-lp .lp-report .wp-block-columns { gap: clamp(16px, 3vw, 28px); margin-bottom: 0; }
.terasuyo-lp .lp-report .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.terasuyo-lp .lp-report figcaption { font-size: .8rem; color: var(--lp-muted); margin-top: .4em; }
.terasuyo-lp .lp-report table { width: 100%; border-collapse: collapse; }
.terasuyo-lp .lp-report th, .terasuyo-lp .lp-report td { border: 0; border-bottom: 1px solid var(--lp-line); padding: .5em .2em; font-size: .92rem; text-align: left; vertical-align: top; background: none; }
.terasuyo-lp .lp-report td:first-child { color: var(--lp-muted); width: 34%; font-weight: 400; background: none; }
.terasuyo-lp .lp-report__comment { background: var(--lp-soft); border-radius: 6px; padding: 14px 16px; font-size: .95rem; margin-top: 1.2em; }

/* ---------- 流れ ---------- */
.terasuyo-lp .lp-steps { list-style: none; counter-reset: lpstep; padding: 0; margin: 0 auto; max-width: 820px; }
.terasuyo-lp .lp-steps > li { counter-increment: lpstep; position: relative; margin: 0; padding: 0 0 26px 64px; line-height: 1.8; }
.terasuyo-lp .lp-steps > li::before { content: counter(lpstep); position: absolute; left: 0; top: 0; width: 42px; height: 42px; border-radius: 50%; background: var(--lp-accent); color: #fff; font-weight: 700; font-size: 1.05rem; display: flex; align-items: center; justify-content: center; }
.terasuyo-lp .lp-steps > li:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 4px; width: 2px; background: var(--lp-line); }
.terasuyo-lp .lp-steps strong { display: block; font-size: 1.08rem; margin-bottom: .1em; }

/* ---------- 対応しないこと・注意 ---------- */
.terasuyo-lp .lp-box { background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: clamp(20px, 3vw, 32px); }
.terasuyo-lp .lp-box > * { margin-top: 0; }
.terasuyo-lp .lp-box h3 { font-size: 1.12rem; }
.terasuyo-lp .lp-box--soft { background: var(--lp-soft); }
.terasuyo-lp .lp-box--accent { border-left: 4px solid var(--lp-accent); }

/* ---------- よくある質問（サイト共通のデザインを利用し、幅だけ調整） ---------- */
.terasuyo-lp .lp-faq { max-width: 860px; margin-left: auto; margin-right: auto; }

/* ---------- 最後のお問い合わせ ---------- */
.terasuyo-lp .lp-cta { background: var(--lp-accent-dark); color: #fff; text-align: center; }
.terasuyo-lp--jikka .lp-cta { background: #7A4A28; }
.terasuyo-lp .lp-cta h2 { color: #fff; font-size: clamp(1.5rem, 3.4vw, 2.1rem); margin-top: 0; }
.terasuyo-lp .lp-cta p { color: rgba(255, 255, 255, .92); }
.terasuyo-lp .lp-cta .wp-block-buttons { justify-content: center; }
.terasuyo-lp .lp-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: #fff; color: var(--lp-accent-dark); }
.terasuyo-lp--jikka .lp-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { color: #7A4A28; }
.terasuyo-lp .lp-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover { background: #F4F7F9; }
.terasuyo-lp .lp-cta .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { background: transparent; color: #fff; }
.terasuyo-lp .lp-cta a:not(.wp-block-button__link) { color: #fff; }
.terasuyo-lp .lp-cta .lp-note { color: rgba(255, 255, 255, .85); }

/* ---------- 途中のお問い合わせ（帯） ---------- */
.terasuyo-lp .lp-midcta { text-align: center; background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: clamp(22px, 3vw, 32px); margin-top: clamp(32px, 5vw, 48px); }
.terasuyo-lp .lp-midcta > * { margin-top: 0; margin-bottom: 0; }
.terasuyo-lp .lp-midcta > * + * { margin-top: 1em; }
.terasuyo-lp .lp-midcta p { font-weight: 700; font-size: 1.05rem; }
.terasuyo-lp .lp-midcta .wp-block-buttons { justify-content: center; }

/* ---------- スマホ下部の固定ボタン ----------
   公開画面のスマホ表示だけ画面下に固定します。編集画面では通常のブロックとして表示され、そのまま編集できます。 */
.terasuyo-lp .lp-sticky { border: 1px dashed var(--lp-line); border-radius: var(--lp-radius); padding: 12px; margin: 24px auto; max-width: 560px; }
.terasuyo-lp .lp-sticky::before { content: "スマホ表示のときだけ画面下に固定されるボタン（パソコン表示では非表示）"; display: block; width: 100%; font-size: 12px; color: var(--lp-muted); margin-bottom: 6px; }
body:not(.editor-styles-wrapper) .terasuyo-lp .lp-sticky { display: none; }
@media (max-width: 781px) {
	body:not(.editor-styles-wrapper) .terasuyo-lp .lp-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 91; max-width: none; margin: 0; border: 0; border-top: 1px solid var(--lp-line); border-radius: 0; background: rgba(255, 255, 255, .97); padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); }
	body:not(.editor-styles-wrapper) .terasuyo-lp .lp-sticky::before { content: none; }
	.terasuyo-lp .lp-sticky .wp-block-buttons { width: 100%; flex-wrap: nowrap; gap: 8px; }
	.terasuyo-lp .lp-sticky .wp-block-button { flex: 1 1 0; }
	.terasuyo-lp .lp-sticky .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; padding: .8em .4em; font-size: .98rem; white-space: nowrap; }
	.terasuyo-lp .lp-sticky .lp-btn-main > .wp-block-button__link::after { content: none; }
	/* LPでは、サイト共通の下部ボタンの代わりにLP専用のボタンを表示（共通ボタンは display:flex !important のため、ここも !important で打ち消す） */
	body:has(.terasuyo-lp .lp-sticky) .tr-mobile-cta { display: none !important; }
}

/* 便利屋：カテゴリーカードの見出しリンク・「くわしく見る」 */
.terasuyo-lp .lp-card h3 a { color: inherit; text-decoration: none; }
.terasuyo-lp .lp-card h3 a:hover { color: var(--lp-accent-dark); text-decoration: underline; }
.terasuyo-lp .lp-more { font-size: .92rem; text-align: center; }
.terasuyo-lp .lp-more a { color: var(--lp-accent-dark); }
.terasuyo-lp .lp-more a::after { content: " ↓"; }
.terasuyo-lp [id^="lp-"] { scroll-margin-top: 16px; }

/* 便利屋：カテゴリーごとの節は余白を詰める／ファーストビューの問いかけ */
.terasuyo-lp > .lp-sec--compact { padding-top: clamp(44px, 6vw, 72px); padding-bottom: clamp(44px, 6vw, 72px); }
.terasuyo-lp .lp-sec--compact .lp-head { margin-bottom: clamp(20px, 3vw, 32px); }
.terasuyo-lp .lp-quote { font-size: clamp(1.05rem, 2vw, 1.25rem); font-weight: 700; color: var(--lp-accent); margin-bottom: .3em; }
.terasuyo-lp .lp-box .lp-cols { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
@media (max-width: 599px) {
	/* スマホではカードの写真を横長にして、縦に長くなりすぎないようにする */
	.terasuyo-lp .lp-card .wp-block-image:first-child img { aspect-ratio: 16 / 9; }
}
/* 料金カードが1枚だけのときは横に広げすぎない */
.terasuyo-lp .lp-price:has(> .wp-block-column:only-child) { max-width: 600px; margin-left: auto; margin-right: auto; }

/* ==========================================================================
   1.6.0 追加：「照らす」ブランドの光・アイコン付きカード・料金プラン・確認メモ
   ========================================================================== */

/* ---------- 光（ファーストビューにやわらかな朝の光。黄色を面で使わず、ごく淡いグラデーションだけ） ---------- */
.terasuyo-lp { --lp-sun: #F59E42; --lp-glow: rgba(245, 158, 66, .16); }
.terasuyo-lp .lp-hero { background: radial-gradient(900px 420px at 88% -8%, var(--lp-glow), transparent 62%), linear-gradient(180deg, var(--lp-soft) 0%, #fff 100%); }
.terasuyo-lp .lp-eyebrow { display: inline-flex; align-items: center; gap: .6em; }
.terasuyo-lp .lp-eyebrow::before, .terasuyo-lp .lp-eyebrow::after { content: ""; width: 22px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--lp-sun)); }
.terasuyo-lp .lp-eyebrow::after { background: linear-gradient(90deg, var(--lp-sun), transparent); }
.terasuyo-lp .lp-cta { background-image: radial-gradient(700px 260px at 50% -30%, rgba(255, 214, 160, .28), transparent 70%); }

/* 実家安心サポート：温かさを少し明るく（文字のコントラストは白背景で4.5:1以上） */
.terasuyo-lp--jikka { --lp-accent: #A9561E; --lp-accent-dark: #86431A; --lp-btn: #B4581B; --lp-soft: #FFF8F0; --lp-tint: #FCE9D4; --lp-line: #EEDFCF; --lp-glow: rgba(245, 158, 66, .22); }
.terasuyo-lp--jikka { font-size: 1.04rem; }
.terasuyo-lp--jikka .lp-cta { background-color: #7A4424; }

/* ---------- ファーストビューの補足 ---------- */
.terasuyo-lp .lp-hero__first { display: inline-block; margin-left: .3em; padding: .1em .6em; border-radius: 4px; background: var(--lp-tint); color: var(--lp-accent-dark); font-weight: 700; font-size: .92rem; }
.terasuyo-lp .lp-hero__img img { box-shadow: 0 20px 40px -24px rgba(122, 68, 36, .45); }

/* 約束（初期費用0円・解約金0円・最低利用期間なし） */
.terasuyo-lp .lp-offer { list-style: none; padding: 0; margin: .9em 0 1.3em; display: flex; flex-wrap: wrap; gap: 8px; }
.terasuyo-lp .lp-offer li { margin: 0; padding: .45em .9em; border-radius: 6px; background: #fff; border: 1.5px solid var(--lp-accent); color: var(--lp-text); font-size: .95rem; line-height: 1.5; }
.terasuyo-lp .lp-offer li strong { color: var(--lp-accent-dark); font-size: 1.12em; margin-left: .15em; }
.terasuyo-lp .lp-offer--center { justify-content: center; margin: 0 auto clamp(24px, 4vw, 36px); }
@media (max-width: 599px) { .terasuyo-lp .lp-offer li { flex: 1 1 auto; text-align: center; font-size: .9rem; padding: .45em .5em; } }

/* ---------- アイコン付きカード（写真がなくても成立するカード） ---------- */
.terasuyo-lp .lp-ico { position: relative; padding: 24px !important; }
.terasuyo-lp .lp-ico::before { content: ""; display: block; width: 52px; height: 52px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fff 0, var(--lp-tint) 70%); margin-bottom: 14px; }
.terasuyo-lp .lp-ico::after { content: ""; position: absolute; top: 37px; left: 37px; width: 26px; height: 26px; background: var(--lp-accent); -webkit-mask: var(--lp-ico) center / contain no-repeat; mask: var(--lp-ico) center / contain no-repeat; }
.terasuyo-lp .lp-ico h3 { font-size: 1.12rem; margin-bottom: .3em; }
.terasuyo-lp .lp-ico__time { display: inline-block; font-size: .82rem !important; font-weight: 700; color: var(--lp-accent-dark); background: var(--lp-soft); border: 1px solid var(--lp-line); padding: 0 .6em; border-radius: 999px; }
.terasuyo-lp .lp-cards--4 { flex-wrap: wrap !important; }
@media (min-width: 782px) and (max-width: 1023px) { .terasuyo-lp .lp-cards--4 > .wp-block-column { flex: 1 1 calc(50% - 28px) !important; } }
.terasuyo-lp .lp-cards + .lp-cards { margin-top: clamp(16px, 2.4vw, 28px); }
.terasuyo-lp .lp-cards--4 + .wp-block-media-text { margin-top: clamp(32px, 5vw, 56px); }

/* 基本料金に含まれること */
.terasuyo-lp .lp-box--incl { border: 2px solid var(--lp-accent); }
.terasuyo-lp .lp-table--opt td:last-child { white-space: nowrap; font-weight: 700; color: var(--lp-accent-dark); }
.terasuyo-lp .lp-table--opt tbody td:first-child { font-weight: 400; background: #fff; }
@media (max-width: 599px) { .terasuyo-lp .lp-table--opt td:last-child { white-space: normal; } }

/* ---------- 料金プラン（回数別） ---------- */
.terasuyo-lp .lp-price--3 { align-items: stretch; }
.terasuyo-lp .lp-plan { background: #fff; border: 1px solid var(--lp-line); border-radius: 10px; padding: 26px 22px 24px; height: 100%; box-sizing: border-box; text-align: center; display: flex; flex-direction: column; }
.terasuyo-lp .lp-plan > * { margin-top: 0; margin-bottom: 0; }
.terasuyo-lp .lp-plan > * + * { margin-top: .5em; }
.terasuyo-lp .lp-plan--main { border: 2px solid var(--lp-accent); box-shadow: 0 18px 36px -26px rgba(122, 68, 36, .55); }
.terasuyo-lp .lp-plan__badge { align-self: center; font-size: .8rem !important; font-weight: 700; color: #fff; background: var(--lp-accent); padding: .15em .9em; border-radius: 999px; }
.terasuyo-lp .lp-plan__badge.is-empty { visibility: hidden; }
.terasuyo-lp .lp-plan h3 { font-size: 1.25rem; }
.terasuyo-lp .lp-plan .lp-price__amount { margin: .1em 0 0; }
.terasuyo-lp .lp-plan__per { font-size: .95rem; color: var(--lp-muted); }
.terasuyo-lp .lp-plan__per strong { color: var(--lp-text); }
.terasuyo-lp .lp-plan__first { background: var(--lp-soft); border: 1px dashed var(--lp-accent); border-radius: 8px; padding: 10px 12px; margin-top: .9em !important; }
.terasuyo-lp .lp-plan__first > * { margin: 0; line-height: 1.5; }
.terasuyo-lp .lp-plan__first-label { font-size: .82rem; font-weight: 700; color: var(--lp-accent-dark); }
.terasuyo-lp .lp-plan__first-amount { font-size: 1.35rem; }
.terasuyo-lp .lp-plan__first-after { font-size: .85rem; color: var(--lp-muted); }
.terasuyo-lp .lp-plan ul { text-align: left; font-size: .95rem; border-top: 1px solid var(--lp-line); padding-top: .8em; margin-top: 1em !important; }
.terasuyo-lp .lp-plan .wp-block-buttons { margin-top: auto !important; padding-top: 1em; }
.terasuyo-lp .lp-plan .wp-block-button, .terasuyo-lp .lp-plan .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
.terasuyo-lp .lp-plan .wp-block-button__link { padding: .85em 1em; font-size: .98rem; }
.terasuyo-lp .lp-plan:not(.lp-plan--main) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: #fff; color: var(--lp-btn); box-shadow: inset 0 0 0 2px var(--lp-btn); }
/* スマホでも月1回・月2回・月3回の順に並べ、比べやすくする */
.terasuyo-lp .lp-subhead { text-align: center; font-size: 1.15rem; margin: clamp(28px, 4vw, 44px) 0 .8em; }
.terasuyo-lp .lp-table--price thead th:first-child { text-align: center; }
.terasuyo-lp .lp-table--price tbody td:nth-child(3) { font-weight: 700; color: var(--lp-accent-dark); }
.terasuyo-lp .lp-notes { font-size: .9rem; color: var(--lp-muted); padding-left: 1.2em; margin-top: 1.2em; }
.terasuyo-lp .lp-notes li { line-height: 1.8; margin: .2em 0; }
.terasuyo-lp .lp-center { text-align: center; }

/* ---------- 利用イメージ ---------- */
.terasuyo-lp .lp-example__tag { display: inline-block; font-size: .8rem !important; font-weight: 700; color: var(--lp-accent-dark); background: var(--lp-tint); padding: .15em .7em; border-radius: 4px; }

/* ---------- 契約条件の表 ---------- */
.terasuyo-lp .lp-table--terms { max-width: 880px; margin-left: auto; margin-right: auto; }
.terasuyo-lp .lp-table--terms tbody td:first-child { width: 30%; white-space: nowrap; }
@media (max-width: 599px) {
	.terasuyo-lp .lp-table--terms table, .terasuyo-lp .lp-table--terms tbody, .terasuyo-lp .lp-table--terms tr, .terasuyo-lp .lp-table--terms td { display: block; width: 100% !important; box-sizing: border-box; }
	.terasuyo-lp .lp-table--terms tr + tr td:first-child { border-top: 0; }
	.terasuyo-lp .lp-table--terms td + td { border-top: 0; }
}
.terasuyo-lp .lp-box--center { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }

/* ---------- 便利屋：メニューカード・実家安心への案内 ---------- */
.terasuyo-lp .lp-menu { display: flex; flex-direction: column; }
.terasuyo-lp .lp-menu .wp-block-buttons { margin-top: auto; padding-top: .6em; }
.terasuyo-lp .lp-cols-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.terasuyo-lp .lp-cross-link { max-width: 820px; margin: clamp(28px, 4vw, 40px) auto 0; }
.terasuyo-lp .lp-cross-link .lp-card { background: var(--lp-soft); }
.terasuyo-lp .wp-block-column > [id^="lp-"] { height: 100%; }

/* ---------- 【公開前に確認】メモ：ログイン中の画面と編集画面だけに表示 ---------- */
.terasuyo-lp .lp-draft-note { display: none; }
body.logged-in .terasuyo-lp .lp-draft-note, .editor-styles-wrapper .terasuyo-lp .lp-draft-note { display: block; margin: 24px auto 0; max-width: 880px; background: #FFFBE6; border: 2px dashed #C9A227; border-radius: 6px; padding: 12px 16px; font-size: .9rem; color: #5C4A00; }
.terasuyo-lp .lp-draft-note p { margin: 0; }

/* アイコン一覧（カードのクラス lp-ico lp-ico--名前 で表示）：talk／smile／eye／report／user／camera／lock／shield／phone／home／leaf／bulb／box／sparkle／clock／yen／heart／bag／mail／calendar */
.terasuyo-lp .lp-ico--talk { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H10l-5 4v-4H4z'/%3E%3Cpath d='M8 10h8M8 13h5'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--smile { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 14.5s1.5 2 4 2 4-2 4-2M9 9.5h.01M15 9.5h.01'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--eye { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--report { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 3h6v3H9zM8.5 11h7M8.5 15h5'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--user { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--camera { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v12H4z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--lock { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--shield { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--phone { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--home { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10M10 20v-6h4v6'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--leaf { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C5 11 11 5 20 5c0 9-6 15-14 15'/%3E%3Cpath d='M5 20l8-8'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--bulb { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.5 1 2.5h6c0-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--box { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l9-4 9 4v10l-9 4-9-4z'/%3E%3Cpath d='M3 7l9 4 9-4M12 11v10'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--sparkle { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 3l1.8 4.7L17.5 9.5l-4.7 1.8L11 16l-1.8-4.7L4.5 9.5l4.7-1.8z'/%3E%3Cpath d='M18 14l.9 2.1 2.1.9-2.1.9L18 20l-.9-2.1-2.1-.9 2.1-.9z'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--clock { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--yen { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4l6 8 6-8M12 12v8M7.5 13.5h9M7.5 17h9'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--heart { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--bag { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--mail { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.terasuyo-lp .lp-ico--calendar { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }

/* ---------- スマホの読みやすさ（1.6.0） ---------- */
.terasuyo-lp .lp-table--price td:first-child { white-space: nowrap; }
@media (max-width: 599px) {
	/* ファーストビュー：補足のラベルは料金の約束と重なるため、スマホでは省略して料金とボタンを上に */
	.terasuyo-lp--jikka .lp-hero .lp-points { display: none; }
	.terasuyo-lp .lp-hero__first { display: inline-block; margin: .4em 0 0; }
	/* アイコン付きカード：アイコンを左、文章を右にして縦の長さを抑える */
	.terasuyo-lp .lp-ico { padding: 18px 18px 18px 84px !important; }
	.terasuyo-lp .lp-ico::before { position: absolute; left: 18px; top: 18px; margin: 0; width: 48px; height: 48px; }
	.terasuyo-lp .lp-ico::after { top: 30px; left: 30px; width: 24px; height: 24px; }
	.terasuyo-lp .lp-ico h3 { font-size: 1.05rem; }
	.terasuyo-lp .lp-ico p { font-size: .95rem; }
	.terasuyo-lp .lp-menu.lp-ico { padding: 20px 18px !important; }
	.terasuyo-lp .lp-menu.lp-ico h3 { padding-left: 62px; min-height: 48px; display: flex; align-items: center; }
	.terasuyo-lp .lp-table--price th, .terasuyo-lp .lp-table--price td { padding: .55em .35em; font-size: .86rem; text-align: center; }
	.terasuyo-lp .lp-cards { gap: 12px; }
}
/* よくある質問：LPの色に合わせる */
.terasuyo-lp .wp-block-details summary::before { color: var(--lp-accent); }
.terasuyo-lp .wp-block-details summary::after { border-color: var(--lp-accent); }
.terasuyo-lp .lp-table--opt td:first-child { width: 52%; }

/* ==========================================================================
   1.6.0 改訂2：キャンペーン料金カード・ファーストビュー再設計・LINEボタン
   （この節は上の同名ルールより後にあるため、こちらが優先されます）
   ========================================================================== */

/* ---------- LINEボタン（LINEの緑。サイト設定にURLがあるときだけ表示） ---------- */
.terasuyo-lp .lp-btn-line > .wp-block-button__link, .terasuyo-lp .wp-block-button.lp-btn-line > .wp-block-button__link:not(.has-background) { background: #06C755 !important; color: #fff !important; border: 0 !important; }
.terasuyo-lp .lp-btn-line > .wp-block-button__link:hover { background: #05A847 !important; }
.terasuyo-lp .lp-btn-line > .wp-block-button__link::before { content: ""; display: inline-block; width: 1.25em; height: 1.25em; margin-right: .5em; vertical-align: -.25em; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 3.9 3.5 7.2 8.3 7.9.3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.5s5.9-3.5 8-6C21.3 14.3 22 12.7 22 11c0-4.4-4.5-8-10-8z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 3.9 3.5 7.2 8.3 7.9.3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.5s5.9-3.5 8-6C21.3 14.3 22 12.7 22 11c0-4.4-4.5-8-10-8z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- ファーストビュー（実家安心）：朝日のような光と、読みやすい大見出し ---------- */
.terasuyo-lp--jikka .lp-hero { position: relative; overflow: hidden; padding-top: clamp(36px, 6vw, 88px); padding-bottom: clamp(48px, 7vw, 96px);
	background: radial-gradient(640px 640px at 92% -12%, rgba(255, 196, 120, .55), rgba(255, 196, 120, 0) 62%), radial-gradient(520px 380px at -6% 108%, rgba(255, 221, 180, .45), rgba(255, 221, 180, 0) 70%), linear-gradient(165deg, #FFF3E2 0%, #FFFAF3 48%, #FFFFFF 100%); }
.terasuyo-lp--jikka .lp-hero::before { content: ""; position: absolute; right: -120px; top: -160px; width: 520px; height: 520px; border-radius: 50%; border: 1px solid rgba(245, 158, 66, .25); box-shadow: 0 0 0 60px rgba(255, 255, 255, .18), 0 0 0 130px rgba(255, 255, 255, .12); pointer-events: none; }
.terasuyo-lp--jikka .lp-hero > * { position: relative; }
.terasuyo-lp--jikka .lp-hero h1 { font-size: clamp(2rem, 4.4vw, 3.15rem); line-height: 1.35; letter-spacing: .02em; color: #2B2118; }
.terasuyo-lp--jikka .lp-hero h1 strong { font-weight: 800; background: linear-gradient(transparent 68%, rgba(255, 190, 110, .55) 68%); padding: 0 .05em; }
.terasuyo-lp--jikka .lp-hero .lp-lead { font-size: clamp(1.02rem, 1.7vw, 1.15rem); color: #3B3129; max-width: 34em; }
.terasuyo-lp--jikka .lp-hero__cols { align-items: center; }
@media (min-width: 782px) { .terasuyo-lp--jikka .lp-hero__text { flex: 0 0 56% !important; } }

/* 初月20%OFF（ファーストビュー） */
.terasuyo-lp .lp-campaign { position: relative; background: #fff; border: 2px solid var(--lp-btn); border-radius: 12px; padding: 22px 22px 16px; margin: 1.4em 0 1em; box-shadow: 0 16px 32px -24px rgba(122, 68, 36, .55); }
.terasuyo-lp .lp-campaign > * { margin: 0; line-height: 1.5; }
.terasuyo-lp .lp-campaign__label { position: absolute; top: -15px; left: 18px; background: #C2410C; color: #fff; font-weight: 800; font-size: .95rem; letter-spacing: .04em; padding: .2em .9em; border-radius: 999px; }
.terasuyo-lp .lp-campaign__regular { font-size: .98rem; color: #4A4038; }
.terasuyo-lp .lp-campaign__regular s, .terasuyo-lp .lp-plan__regular s { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: #C2410C; font-weight: 700; color: #4A4038; }
.terasuyo-lp .lp-campaign__price { font-size: 1.05rem; font-weight: 700; color: #C2410C; margin-top: .1em; }
.terasuyo-lp .lp-campaign__price strong { font-size: clamp(2.3rem, 5.4vw, 3rem); font-weight: 800; letter-spacing: .01em; line-height: 1.15; margin: 0 .05em; }
.terasuyo-lp .lp-campaign__price small { font-size: .85rem; color: #4A4038; font-weight: 700; }
.terasuyo-lp .lp-campaign__after { font-size: .88rem; color: var(--lp-muted); margin-top: .35em !important; }

/* ファーストビュー右側：ご報告のイメージカード（写真なしでも成立） */
.terasuyo-lp .lp-hero__visual { position: relative; max-width: 420px; margin-left: auto; margin-right: auto; }
.terasuyo-lp .lp-notice { background: #fff; border-radius: 18px; padding: 22px 22px 18px; box-shadow: 0 30px 60px -30px rgba(122, 68, 36, .5), 0 0 0 1px rgba(234, 214, 190, .8); position: relative; }
.terasuyo-lp .lp-notice::before { content: ""; position: absolute; left: 22px; top: -10px; width: 46px; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #F59E42, #FFC27A); }
.terasuyo-lp .lp-notice > * { margin: 0; }
.terasuyo-lp .lp-notice__from { font-weight: 800; font-size: 1rem; color: #2B2118; padding-left: 34px; position: relative; }
.terasuyo-lp .lp-notice__from::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: radial-gradient(circle at 50% 50%, #FFD08A 0 35%, #F59E42 36% 100%); }
.terasuyo-lp .lp-notice__date { font-size: .82rem; color: var(--lp-muted); margin-top: .2em !important; }
.terasuyo-lp .lp-notice__body { background: #FFF6EA; border-radius: 12px 12px 12px 2px; padding: 12px 14px; margin-top: 12px !important; font-size: .96rem; line-height: 1.75; }
.terasuyo-lp .lp-notice__list { list-style: none; padding: 0; margin: 12px 0 0 !important; font-size: .9rem; }
.terasuyo-lp .lp-notice__list li { padding: .45em 0 .45em 1.6em; border-top: 1px dashed #EEDFCF; position: relative; line-height: 1.6; margin: 0; }
.terasuyo-lp .lp-notice__list li::before { content: ""; position: absolute; left: .2em; top: .95em; width: .7em; height: .38em; border-left: 2px solid #3E9B5F; border-bottom: 2px solid #3E9B5F; transform: rotate(-45deg); }
.terasuyo-lp .lp-hero__chips { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.terasuyo-lp .lp-hero__chips li { margin: 0; background: rgba(255, 255, 255, .85); border: 1px solid #EEDFCF; border-radius: 999px; padding: .25em .9em; font-size: .85rem; font-weight: 700; color: var(--lp-accent-dark); }
.terasuyo-lp .lp-notice__note { text-align: center; font-size: .78rem; color: var(--lp-muted); margin-top: .6em; }
@media (max-width: 781px) { .terasuyo-lp .lp-hero__side { margin-top: 8px; } }

/* ---------- 3つの約束（帯） ---------- */
.terasuyo-lp > .lp-sec--promise { padding-top: 0; padding-bottom: clamp(36px, 5vw, 56px); background: #fff; }
.terasuyo-lp .lp-promises { gap: 14px; margin-top: calc(-1 * clamp(20px, 3vw, 36px)); }
.terasuyo-lp .lp-promise { height: 100%; box-sizing: border-box; text-align: center; background: #fff; border: 1px solid var(--lp-line); border-radius: 12px; padding: 18px 14px; box-shadow: 0 14px 30px -24px rgba(122, 68, 36, .5); }
.terasuyo-lp .lp-promise > * { margin: 0; }
.terasuyo-lp .lp-promise__label { font-size: .88rem; font-weight: 700; color: var(--lp-muted); }
.terasuyo-lp .lp-promise__num { font-size: 1.2rem; font-weight: 800; color: #2B2118; line-height: 1.3; }
.terasuyo-lp .lp-promise__num strong { font-size: 2.4rem; color: var(--lp-accent-dark); margin: 0 .05em; }
.terasuyo-lp .lp-promise__text { font-size: .85rem; color: var(--lp-muted); margin-top: .3em !important; line-height: 1.6; }
.terasuyo-lp .lp-promise--accent { background: linear-gradient(160deg, #FFF1DF, #FFFFFF); border: 2px solid #C2410C; }
.terasuyo-lp .lp-promise--accent .lp-promise__num strong { color: #C2410C; }
@media (max-width: 781px) {
	.terasuyo-lp .lp-promises { flex-wrap: nowrap !important; gap: 8px; }
	.terasuyo-lp .lp-promises > .wp-block-column { flex: 1 1 0 !important; min-width: 0; }
	.terasuyo-lp .lp-promise { padding: 12px 6px; }
	.terasuyo-lp .lp-promise__num { font-size: .95rem; }
	.terasuyo-lp .lp-promise__num strong { font-size: 1.7rem; }
	.terasuyo-lp .lp-promise__text { display: none; }
}

/* ---------- 訪問の4ステップ：PCは横に並べて矢印でつなぐ ---------- */
@media (min-width: 1024px) {
	.terasuyo-lp .lp-steps-h { flex-wrap: nowrap !important; }
	.terasuyo-lp .lp-steps-h > .wp-block-column { position: relative; }
	.terasuyo-lp .lp-steps-h > .wp-block-column:not(:last-child)::after { content: ""; position: absolute; right: calc(-1 * clamp(16px, 2.4vw, 28px) / 2 - 7px); top: 48px; width: 14px; height: 14px; border-top: 3px solid #F59E42; border-right: 3px solid #F59E42; transform: rotate(45deg); z-index: 2; }
}
.terasuyo-lp .lp-steps-h .lp-ico__time { background: #FFF1DF; border-color: #F6D3A8; }

/* ---------- 基本と追加：色帯で区別 ---------- */
.terasuyo-lp .lp-svc { height: 100%; box-sizing: border-box; background: #fff; border-radius: 12px; overflow: hidden; padding: 0 22px 22px; }
.terasuyo-lp .lp-svc > .lp-svc__band { margin: 0 -22px 16px; padding: 12px 22px; font-weight: 800; font-size: 1.05rem; color: #fff; }
.terasuyo-lp .lp-svc--base { border: 2px solid var(--lp-btn); }
.terasuyo-lp .lp-svc--base > .lp-svc__band { background: var(--lp-btn); }
.terasuyo-lp .lp-svc--base > .lp-svc__band::before { content: "基本"; display: inline-block; background: #fff; color: var(--lp-btn); border-radius: 4px; font-size: .78rem; padding: 0 .5em; margin-right: .6em; vertical-align: .1em; }
.terasuyo-lp .lp-svc--opt { border: 2px dashed #9BB7C9; }
.terasuyo-lp .lp-svc--opt > .lp-svc__band { background: #EEF5F9; color: #1D5E85; border-bottom: 1px solid #D5E5EF; }
.terasuyo-lp .lp-svc--opt > .lp-svc__band::before { content: "＋追加"; display: inline-block; background: #1D5E85; color: #fff; border-radius: 4px; font-size: .78rem; padding: 0 .5em; margin-right: .6em; vertical-align: .1em; }
.terasuyo-lp .lp-svc--opt .lp-table thead th { background: #1D5E85; border-color: #1D5E85; }
.terasuyo-lp .lp-svc--opt .lp-table--opt td:last-child { color: #1D5E85; }
.terasuyo-lp .lp-table--opt small { font-weight: 400; color: var(--lp-muted); }

/* ---------- 料金：キャンペーン料金カード ---------- */
.terasuyo-lp .lp-price__banner { text-align: center; max-width: 760px; margin: 0 auto clamp(24px, 4vw, 40px); background: linear-gradient(90deg, #FFF1DF, #FFF8EE, #FFF1DF); border: 1px solid #F6D3A8; border-radius: 999px; padding: .7em 1.2em; font-size: .98rem; line-height: 1.6; }
.terasuyo-lp .lp-price__banner strong { color: #C2410C; font-size: 1.1em; margin-right: .4em; }
.terasuyo-lp .lp-plan { border-radius: 14px; padding: 22px 20px 20px; border: 1px solid #E9D9C6; box-shadow: 0 18px 36px -30px rgba(122, 68, 36, .55); }
.terasuyo-lp .lp-plan--main { border: 3px solid var(--lp-btn); box-shadow: 0 26px 48px -28px rgba(180, 88, 27, .55); }
@media (min-width: 782px) { .terasuyo-lp .lp-plan--main { transform: translateY(-10px); } }
.terasuyo-lp .lp-plan > * + * { margin-top: .35em; }
.terasuyo-lp .lp-plan__badge { font-size: .85rem !important; padding: .2em 1.1em; background: var(--lp-btn); }
.terasuyo-lp .lp-plan h3.lp-plan__name { font-size: 1.35rem; margin-top: .3em; color: #2B2118; }
.terasuyo-lp .lp-plan__spec { display: inline-block; align-self: center; font-size: .9rem !important; font-weight: 700; color: var(--lp-accent-dark); background: var(--lp-soft); border: 1px solid var(--lp-line); border-radius: 999px; padding: .15em .9em; }
.terasuyo-lp .lp-plan__campaign { position: relative; background: linear-gradient(170deg, #FFF3E4, #FFFFFF 75%); border: 2px solid #F2C08A; border-radius: 12px; padding: 24px 12px 14px; margin-top: 1.2em !important; }
.terasuyo-lp .lp-plan__campaign > * { margin: 0; line-height: 1.45; }
.terasuyo-lp .lp-plan__off { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); white-space: nowrap; background: #C2410C; color: #fff; font-weight: 800; font-size: .95rem; letter-spacing: .04em; padding: .22em 1em; border-radius: 999px; box-shadow: 0 6px 14px -8px rgba(194, 65, 12, .8); }
.terasuyo-lp .lp-plan__regular { font-size: .95rem; color: #4A4038; }
.terasuyo-lp .lp-plan__now { font-size: 1rem; font-weight: 800; color: #C2410C; margin-top: .15em !important; white-space: nowrap; }
.terasuyo-lp .lp-plan__now strong { font-size: clamp(2.2rem, 3.3vw, 2.6rem); font-weight: 800; letter-spacing: 0; line-height: 1.1; margin: 0 .04em; }
.terasuyo-lp .lp-plan__now small { display: block; font-size: .78rem; color: #4A4038; margin-top: .1em; }
.terasuyo-lp .lp-plan__after { font-size: .9rem; color: #2B2118; margin-top: .45em !important; padding-top: .45em; border-top: 1px dashed #F2C08A; }
.terasuyo-lp .lp-plan__after strong { font-size: 1.08em; }
.terasuyo-lp .lp-plan__per { font-size: .85rem !important; color: var(--lp-muted); margin-top: .7em !important; }
.terasuyo-lp .lp-plan__zero { list-style: none; padding: 0 !important; margin: .8em 0 0 !important; border: 0 !important; display: flex; gap: 8px; justify-content: center; }
.terasuyo-lp .lp-plan__zero li { margin: 0; flex: 1 1 0; background: #F3F8F4; border: 1px solid #CFE3D5; color: #2C5F42; border-radius: 8px; padding: .4em .3em; font-size: .9rem; text-align: center; }
.terasuyo-lp .lp-plan__zero li strong { font-size: 1.1em; }
.terasuyo-lp .lp-plan__zero li::before { content: none; }
.terasuyo-lp .lp-plan .lp-plan__btns { flex-direction: column; gap: 8px; margin-top: auto !important; padding-top: 1em; }
.terasuyo-lp .lp-plan .lp-plan__btns .wp-block-button { width: 100%; }
.terasuyo-lp .lp-plan .lp-plan__btns .wp-block-button__link { padding: .9em .8em; font-size: 1rem; }
.terasuyo-lp .lp-plan:not(.lp-plan--main) .lp-btn-main > .wp-block-button__link:not(.has-background) { background: var(--lp-btn); color: #fff; box-shadow: none; }
@media (max-width: 781px) {
	.terasuyo-lp .lp-price--3 { gap: 22px !important; }
	.terasuyo-lp .lp-plan__now strong { font-size: 2.7rem; }
}

/* ---------- よくある質問：分類ごとに見出し ---------- */
.terasuyo-lp .lp-faq-group { max-width: 860px; margin: 0 auto; }
.terasuyo-lp .lp-faq-group + .lp-faq-group { margin-top: clamp(24px, 4vw, 36px); }
.terasuyo-lp .lp-faq__cat { font-size: 1.08rem; margin: 0 0 .7em; padding-left: .8em; position: relative; }
.terasuyo-lp .lp-faq__cat::before { content: ""; position: absolute; left: 0; top: .25em; bottom: .25em; width: 4px; border-radius: 2px; background: linear-gradient(180deg, var(--lp-btn), #F59E42); }
.terasuyo-lp--jikka .wp-block-details summary { font-size: 1.02rem; }

/* ---------- 最後のお問い合わせ（実家安心）：夕方の暖かい光 ---------- */
.terasuyo-lp--jikka .lp-cta { background: radial-gradient(700px 300px at 50% -20%, rgba(255, 200, 130, .45), rgba(255, 200, 130, 0) 70%), linear-gradient(160deg, #8A4B22 0%, #6E3A1C 100%); }
.terasuyo-lp .lp-cta .lp-btn-line > .wp-block-button__link { box-shadow: 0 0 0 2px rgba(255, 255, 255, .6); }

/* ---------- スマホ固定ボタン：LINE＋フォーム ---------- */
.terasuyo-lp .lp-sticky .lp-btn-line > .wp-block-button__link::before { width: 1.1em; height: 1.1em; }

/* ---------- 便利屋：ファーストビュー右側の4つのタイル ---------- */
.terasuyo-lp--benriya .lp-hero { background: radial-gradient(600px 520px at 95% -10%, rgba(255, 196, 120, .4), rgba(255, 196, 120, 0) 62%), linear-gradient(165deg, #FFF6EA 0%, #FFFCF7 50%, #FFFFFF 100%); }
.terasuyo-lp--benriya .lp-hero h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
.terasuyo-lp .lp-tiles { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 460px; margin: 0 auto; }
.terasuyo-lp .lp-tiles > * { margin: 0 !important; }
.terasuyo-lp .lp-tile { background: #fff; border-radius: 14px; border: 1px solid #EFE3D3; box-shadow: 0 18px 32px -26px rgba(122, 68, 36, .55); text-align: center; padding: 20px 10px 16px !important; }
.terasuyo-lp .lp-tile.lp-ico::before { margin: 0 auto 10px; }
.terasuyo-lp .lp-tile.lp-ico::after { left: 50%; margin-left: -13px; top: 33px; }
.terasuyo-lp .lp-tile p { margin: 0; line-height: 1.5; }
.terasuyo-lp .lp-tile a { font-weight: 800; color: #2B2118; text-decoration: none; font-size: 1.02rem; }
.terasuyo-lp .lp-tile a::after { content: ""; position: absolute; inset: 0; }
.terasuyo-lp .lp-tile:hover { border-color: var(--lp-accent); }
.terasuyo-lp .lp-tile__sub { font-size: .8rem; color: var(--lp-muted); margin-top: .2em !important; }
@media (max-width: 599px) {
	.terasuyo-lp .lp-tile.lp-ico { padding: 16px 8px 12px !important; }
	.terasuyo-lp .lp-tile.lp-ico::before { position: static; width: 44px; height: 44px; margin: 0 auto 8px; }
	.terasuyo-lp .lp-tile.lp-ico::after { top: 26px; left: 50%; margin-left: -12px; width: 24px; height: 24px; }
	.terasuyo-lp .lp-tile a { font-size: .95rem; }
}
.terasuyo-lp--benriya .lp-menu.lp-ico { border-top: 4px solid #F59E42; }

/* LINEボタンは、ほかのボタン用の枠線・影を受けない */
.terasuyo-lp .lp-btn-line > .wp-block-button__link { box-shadow: none !important; }
.terasuyo-lp .lp-hero__side { align-self: center; }

/* ---------- 改訂3：ページ途中のLINE相談ボタン・料金カードの文言 ---------- */
.terasuyo-lp .lp-btns--center { justify-content: center; }
.terasuyo-lp .lp-linebar { margin-top: clamp(24px, 4vw, 36px) !important; }
.terasuyo-lp .lp-btn-line > .wp-block-button__link { min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
@media (max-width: 599px) { .terasuyo-lp .lp-btn-line > .wp-block-button__link { min-height: 56px; font-size: 1.02rem; } }
.terasuyo-lp .lp-plan__zero2 { margin-top: .8em !important; background: #F3F8F4; border: 1px solid #CFE3D5; color: #2C5F42; border-radius: 8px; padding: .45em .5em; font-size: .92rem; }
.terasuyo-lp .lp-plan__zero2 strong { font-size: 1.12em; margin-left: .15em; }
.terasuyo-lp .lp-plan__off { font-size: .9rem; padding: .22em .9em; }
.terasuyo-lp .lp-plan .lp-plan__btns .lp-btn-line .wp-block-button__link { font-size: .95rem; padding: .8em .5em; }
/* 料金カード内のLINEボタン：文言を1行に収める */
.terasuyo-lp .lp-plan .lp-plan__btns .lp-btn-line .wp-block-button__link { font-size: .88rem; white-space: nowrap; padding: .85em .4em; letter-spacing: 0; }
@media (max-width: 359px) { .terasuyo-lp .lp-plan .lp-plan__btns .lp-btn-line .wp-block-button__link { font-size: .8rem; } }
