/* ==========================================================================
   お悩み別ページ（共通デザイン・部品・資産の再生の配色） 専用のCSS（pages/trouble.css）
   ・2026-10-26 に yrp-global-common.css から分けた。このページを開いたときだけ読み込む
   ・どのページで読み込むかは functions.php の yrp_page_css_manifest() で決めている
   ========================================================================== */


/* =========================================================================
   B-4. お悩み別ページ（共通デザイン）… .yrp-tp-*
   -------------------------------------------------------------------------
   ・使用ページ：ローン支払いの不安（/mortgage-payment/：住宅ローン・税金の滞納）
     ※差押・競売、離婚、相続などのお悩み別ページでも、同じクラス名で使い回せる共通デザイン
   ・HTMLは、ページ内のDiviコードモジュールに <div class="yrp-tp"> で囲んで配置
   ・構成：冒頭（背景画像）→ お悩み → 今の段階 → 選べる方法 → 比較 → 解決事例
          → 相談いただく理由・代表のひと言 → 流れ → よくある質問 → ご相談
   ・冒頭の背景画像は HTML 内の <img class="yrp-tp-hero__bg">（PC用）と
     <img class="yrp-tp-hero__bg yrp-tp-hero__bg--sp">（スマホ用）で指定
   ========================================================================= */

/* --- 共通 --- */
.yrp-tp{ --navy:#1a2c42; --navy-d:#0b1a2e; --gold:#b8860b; --gold-l:#d6aa35; --pearl:#f8f6f0; color:#26364a; }
.yrp-tp *, .yrp-tp *::before, .yrp-tp *::after{ box-sizing:border-box; }
.yrp-tp p{ margin:0; padding:0; }
.yrp-tp section{ padding-left:0 !important; padding-right:0 !important; }
.yrp-tp ul, .yrp-tp ol{ margin:0 !important; padding:0 !important; list-style:none !important; }
.yrp-tp li{ list-style:none !important; }
.yrp-tp-wrap{ width:92%; max-width:1080px; margin:0 auto; }
.yrp-tp-en{ margin:0 0 10px !important; color:var(--gold) !important; font-family:"Noto Serif JP",serif !important; font-size:13px !important; font-style:italic; letter-spacing:.24em !important; line-height:1.6 !important; }
.yrp-tp-h2{ margin:0 !important; padding:0 !important; color:var(--navy) !important; font-size:clamp(26px,2.5vw,36px) !important; line-height:1.45 !important; }
.yrp-tp-head{ margin-bottom:48px; text-align:center; }
.yrp-tp-head__lead{ max-width:720px; margin:16px auto 0 !important; color:#4a5868 !important; font-size:15.5px !important; line-height:1.95 !important; }
.yrp-tp-head--light .yrp-tp-h2{ color:#ffffff !important; }
.yrp-tp-head--light .yrp-tp-en{ color:var(--gold-l) !important; }
.yrp-tp-head--light .yrp-tp-head__lead{ color:rgba(255,255,255,.8) !important; }
/* 文章・見出しは言葉の切れ目（HTML内の<wbr>の位置）でだけ折り返す */
.yrp-tp p, .yrp-tp li, .yrp-tp h2, .yrp-tp h3, .yrp-tp a{ word-break:keep-all; overflow-wrap:anywhere; }
/* 改行：<br class="yrp-tp-pc">＝PCのみ改行 */
.yrp-tp-note{ margin-top:24px !important; color:#6a7684 !important; font-size:13px !important; line-height:1.85 !important; text-align:center; }
.yrp-tp-note a{ color:var(--navy) !important; text-decoration:underline !important; text-decoration-color:var(--gold-l) !important; text-underline-offset:3px; }

/* --- 共通ボタン（冒頭で使用） --- */
.yrp-tp-btn{ display:inline-flex; align-items:center; gap:14px; min-height:68px; padding:10px 26px 10px 22px; border-radius:12px; font-family:"Noto Sans JP",sans-serif; font-weight:700; text-decoration:none !important; transition:transform .25s ease, box-shadow .25s ease; }
.yrp-tp-btn:hover{ transform:translateY(-2px); }
.yrp-tp-btn i{ font-size:22px; }
.yrp-tp-btn span{ display:flex; flex-direction:column; line-height:1.25; text-align:left; }
.yrp-tp-btn small{ font-size:11.5px; font-weight:700; letter-spacing:.04em; opacity:.85; }
.yrp-tp-btn--tel{ background:linear-gradient(135deg,#fbf2d6 0%,#eccf86 55%,#d9b25a 100%); box-shadow:0 12px 26px rgba(0,0,0,.25); color:var(--navy-d) !important; font-size:26px; }
.yrp-tp-btn--line{ background:#06c755; box-shadow:0 12px 26px rgba(0,0,0,.2); color:#ffffff !important; font-size:18px; }
.yrp-tp-btn--line i{ font-size:28px; }

/* --- 冒頭（背景画像＋左に文字） --- */
.yrp-tp-hero{
  position:relative; overflow:hidden; padding:120px 0 110px !important; color:#ffffff;
  background:linear-gradient(160deg,#1f3a5f 0%,#0f2238 55%,#08131f 100%);
}
.yrp-tp-hero__bg{ position:absolute !important; inset:0; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center right; z-index:0; }
.yrp-tp-hero__bg--sp{ display:none; }
/* 文字を読みやすくするため、左側を暗くするグラデーション */
.yrp-tp-hero::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(8,19,31,.88) 0%,rgba(11,26,46,.7) 42%,rgba(11,26,46,.15) 75%,rgba(11,26,46,0) 100%); }
.yrp-tp-hero__inner{ position:relative; z-index:2; }
.yrp-tp-hero .yrp-tp-en{ color:var(--gold-l) !important; }
.yrp-tp-hero__title{ max-width:640px; margin:0 0 24px !important; padding:0 !important; color:#ffffff !important; font-size:clamp(34px,3.6vw,52px) !important; line-height:1.4 !important; letter-spacing:.02em; text-shadow:0 2px 18px rgba(0,0,0,.35); }
.yrp-tp-hero__lead{ max-width:600px; margin-bottom:34px !important; color:rgba(255,255,255,.9) !important; font-size:16px !important; line-height:2 !important; }
.yrp-tp-hero__btns{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px; }
.yrp-tp-hero__badges{ display:flex; flex-wrap:wrap; gap:8px 20px; }
.yrp-tp-hero__badges li{ display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.88); font-size:13.5px; font-weight:700; }
.yrp-tp-hero__badges i{ color:var(--gold-l); font-size:12px; }

/* --- お悩み（チェックリスト＋メッセージ） --- */
.yrp-tp-worry{ padding:110px 0 !important; background:var(--pearl); }
.yrp-tp-worry__list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:920px; margin:0 auto !important; }
.yrp-tp-worry__list li{ display:flex; align-items:center; gap:14px; padding:20px 22px !important; border:1px solid rgba(26,44,66,.08); border-radius:12px; background:#ffffff; box-shadow:0 8px 22px rgba(26,44,66,.05); color:var(--navy); font-size:15.5px; font-weight:700; line-height:1.7; }
.yrp-tp-worry__list i{ flex:0 0 26px; display:flex; align-items:center; justify-content:center;   border-radius:50%; background:var(--navy); color:#f0d68a;  }
.yrp-tp-worry__msg{ max-width:760px; margin:48px auto 0; text-align:center; }
.yrp-tp-worry__catch{ margin-bottom:14px !important; color:var(--navy) !important; font-family:"Noto Serif JP",serif; font-size:clamp(20px,2vw,26px) !important; font-weight:700; line-height:1.6 !important; }
.yrp-tp-worry__catch::after{ content:""; display:block; width:48px; height:2px; margin:14px auto 0; background:var(--gold-l); }
.yrp-tp-worry__msg p:last-child{ color:#3d4a59 !important; font-size:15.5px !important; line-height:2 !important; }

/* --- 今の段階（縦の流れ） --- */
.yrp-tp-stage{ padding:110px 0 !important; background:#ffffff; }
.yrp-tp-stage__list{ max-width:900px; margin:0 auto !important; }
.yrp-tp-stage__item{ position:relative; display:grid; grid-template-columns:200px minmax(0,1fr); gap:32px; padding:0 0 36px !important; }
.yrp-tp-stage__item:last-child{ padding-bottom:0 !important; }
.yrp-tp-stage__item::before{ content:""; position:absolute; top:14px; bottom:-14px; left:207px; width:1px; background:linear-gradient(180deg,#d6aa35,rgba(184,134,11,.2)); }
.yrp-tp-stage__item:last-child::before{ display:none; }
.yrp-tp-stage__item::after{ content:""; position:absolute; top:8px; left:200px; width:15px; height:15px; border:3px solid var(--gold-l); border-radius:50%; background:#ffffff; }
.yrp-tp-stage__when{ display:flex; flex-direction:column; align-items:flex-end; padding-right:12px; color:var(--navy); font-size:16px; font-weight:700; line-height:1.5; text-align:right; }
.yrp-tp-stage__when span{ color:var(--gold); font-family:"Noto Serif JP",serif; font-size:12px; font-style:italic; letter-spacing:.18em; }
.yrp-tp-stage__body{ padding-left:20px; }
.yrp-tp-stage__body h3{ margin:0 0 8px !important; padding:0 !important; color:var(--navy) !important; font-size:20px !important; line-height:1.5 !important; }
.yrp-tp-stage__body > p{ color:#3d4a59 !important; font-size:15px !important; line-height:1.9 !important; }
.yrp-tp .yrp-tp-stage__can{ margin-top:12px !important; padding:14px 18px !important; border-radius:10px; background:#fbf7ec; color:#4a3e22 !important; font-size:14.5px !important; line-height:1.85 !important; }
.yrp-tp-stage__can strong{ display:block; margin-bottom:2px; color:var(--gold); font-size:12.5px; letter-spacing:.1em; }

/* 税金を滞納している場合の補足（囲み） */
.yrp-tp-tax{ max-width:900px; margin:40px auto 0; padding:24px 28px; border:1px solid rgba(184,134,11,.4); border-left:4px solid var(--gold-l); border-radius:6px 12px 12px 6px; background:#fbf7ec; }
.yrp-tp-tax__title{ display:flex; align-items:center; gap:10px; margin-bottom:8px !important; color:var(--navy) !important; font-size:17px !important; font-weight:700; line-height:1.6 !important; }
.yrp-tp-tax__title i{ color:var(--gold); font-size:18px; }
.yrp-tp-tax p:last-child{ color:#3d4a59 !important; font-size:15px !important; line-height:1.95 !important; }

/* --- 選べる方法（3枚カード） --- */
.yrp-tp-options{ padding:110px 0 !important; background:linear-gradient(160deg,#1f3a5f 0%,#0f2238 55%,#0a1729 100%); scroll-margin-top:120px; }
.yrp-tp-options__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.yrp-tp-card{ display:flex; flex-direction:column; padding:34px 28px 28px; border:1px solid rgba(214,170,53,.4); border-radius:14px; background:rgba(255,255,255,.04); color:#ffffff; }
.yrp-tp-card__num{ margin-bottom:10px !important; color:var(--gold-l) !important; font-family:"Noto Serif JP",serif; font-size:30px !important; line-height:1 !important; }
.yrp-tp-card__title{ margin:0 0 14px !important; padding:0 0 14px !important; border-bottom:1px solid rgba(214,170,53,.35); color:#ffffff !important; font-size:20px !important; line-height:1.5 !important; }
.yrp-tp-card__text{ flex:1; color:rgba(255,255,255,.85) !important; font-size:14.5px !important; line-height:1.95 !important; }
.yrp-tp .yrp-tp-card__fit{ margin-top:18px !important; padding:14px 16px !important; border-radius:10px; background:rgba(214,170,53,.12); color:#ffffff !important; font-size:14px !important; font-weight:700; line-height:1.7 !important; }
.yrp-tp-card__fit span{ display:block; margin-bottom:2px; color:#f0d68a; font-size:12px; letter-spacing:.1em; }

/* --- 比較（表） --- */
.yrp-tp-compare{ padding:110px 0 !important; background:var(--pearl); }
.yrp-tp-compare__inner{ max-width:920px; }
.yrp-tp-compare__table{ overflow:hidden; border-radius:14px; background:#ffffff; box-shadow:0 14px 34px rgba(26,44,66,.07); }
.yrp-tp-compare__row{ display:grid; grid-template-columns:150px minmax(0,1fr) minmax(0,1fr); border-bottom:1px solid rgba(26,44,66,.08); }
.yrp-tp-compare__row:last-child{ border-bottom:0; }
.yrp-tp-compare__row > span{ padding:20px 22px; font-size:15px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
.yrp-tp-compare__row > span:first-child{ background:#f3f4f7; color:var(--navy); font-size:14px; font-weight:700; }
.yrp-tp-compare__row > span:nth-child(2){ color:#6a7684; }
.yrp-tp-compare__row > span:nth-child(3){ background:#fbf7ec; color:var(--navy); font-weight:700; }
.yrp-tp-compare__row--head > span{ padding:16px 22px; font-size:14px !important; font-weight:700; letter-spacing:.06em; }
.yrp-tp-compare__row--head > span:nth-child(2){ background:#e9ebef; color:#6a7684; }
.yrp-tp-compare__row--head > span:nth-child(3){ background:var(--navy); color:#f0d68a; }

/* --- 解決事例（リンクカード） --- */
.yrp-tp-case{ padding:110px 0 !important; background:#ffffff; }
.yrp-tp-case__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.yrp-tp-case__card{ display:flex; flex-direction:column; gap:8px; padding:28px 26px 24px; border:1px solid rgba(26,44,66,.1); border-top:3px solid var(--gold-l); border-radius:4px 4px 14px 14px; background:#ffffff; box-shadow:0 12px 28px rgba(26,44,66,.06); color:var(--navy) !important; text-decoration:none !important; transition:transform .25s ease, box-shadow .25s ease; }
.yrp-tp-case__card:hover{ transform:translateY(-3px); box-shadow:0 18px 36px rgba(26,44,66,.1); }
.yrp-tp-case__tag{ align-self:flex-start; padding:3px 12px; border-radius:999px; background:var(--navy); color:#f0d68a; font-size:12px; font-weight:700; }
.yrp-tp-case__who{ color:#6a7684; font-size:13px; }
.yrp-tp-case__title{ flex:1; font-family:"Noto Serif JP",serif; font-size:18px; font-weight:700; line-height:1.6; }
.yrp-tp-case__more{ display:inline-flex; align-self:flex-end; align-items:center; gap:8px; margin-top:6px; color:var(--gold); font-size:13.5px; font-weight:700; }

/* --- 相談いただく理由・代表のひと言 --- */
.yrp-tp-why{ padding:110px 0 !important; background:var(--pearl); }
.yrp-tp-why__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.yrp-tp-why__item{ padding:32px 26px; border-radius:14px; background:#ffffff; box-shadow:0 10px 26px rgba(26,44,66,.06); text-align:center; }
.yrp-tp-why__item > i{ display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; margin-bottom:14px; border-radius:50%; background:linear-gradient(150deg,#25426b 0%,#0b1a2e 100%); color:#f0d68a; font-size:22px; }
.yrp-tp-why__item h3{ margin:0 0 10px !important; padding:0 !important; color:var(--navy) !important; font-size:19px !important; line-height:1.5 !important; }
.yrp-tp-why__item p{ color:#3d4a59 !important; font-size:14.5px !important; line-height:1.9 !important; text-align:center; }
.yrp-tp-voice{ display:grid; grid-template-columns:140px minmax(0,1fr); gap:32px; align-items:center; max-width:860px; margin:56px auto 0; padding:32px 36px; border:1px solid rgba(184,134,11,.35); border-radius:14px; background:#ffffff; }
.yrp-tp-voice img{ display:block; width:140px; height:175px; object-fit:cover; object-position:center 15%; border-radius:8px; }
.yrp-tp-voice blockquote{ margin:0; padding:0; border:0; }
.yrp-tp-voice blockquote p{ color:var(--navy) !important; font-family:"Noto Serif JP",serif; font-size:17px !important; line-height:1.95 !important; }
.yrp-tp-voice figcaption{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-top:14px; color:#6a7684; font-size:13.5px; letter-spacing:.08em; }
.yrp-tp-voice figcaption a{ display:inline-flex; align-items:center; gap:8px; color:var(--gold) !important; font-weight:700; letter-spacing:0; text-decoration:none !important; }

/* --- 流れ（横4ステップ） --- */
.yrp-tp-flow{ padding:110px 0 !important; background:#ffffff; }
.yrp-tp-flow__list{ position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.yrp-tp-flow__list::before{ content:""; position:absolute; top:28px; left:12.5%; right:12.5%; border-top:2px dotted var(--gold-l); }
.yrp-tp-flow__list li{ position:relative; text-align:center; }
.yrp-tp-flow__num{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:14px; border-radius:50%; background:linear-gradient(150deg,#25426b 0%,#0b1a2e 100%); box-shadow:0 0 0 6px #ffffff; color:#f0d68a; font-family:"Noto Serif JP",serif; font-size:19px; }
.yrp-tp-flow__list h3{ margin:0 0 8px !important; padding:0 !important; color:var(--navy) !important; font-size:17px !important; line-height:1.5 !important; }
.yrp-tp-flow__list p{ color:#4a5868 !important; font-size:14px !important; line-height:1.85 !important; }
.yrp-tp-flow__term{ display:flex; align-items:center; justify-content:center; gap:12px; max-width:760px; margin:44px auto 0 !important; padding:18px 24px !important; border-radius:12px; background:#fbf7ec; color:#4a3e22 !important; font-size:15px !important; line-height:1.8 !important; }
.yrp-tp-flow__term i{ color:var(--gold); font-size:20px; }
.yrp-tp-flow__more, .yrp-tp-faq__more{ margin-top:24px !important; text-align:center; }
.yrp-tp-flow__more a{ display:inline-flex; align-items:center; gap:10px; padding-bottom:4px; border-bottom:1px solid var(--gold-l); color:var(--navy) !important; font-size:15px; font-weight:700; text-decoration:none !important; }
.yrp-tp-flow__more i{ color:var(--gold); font-size:13px; }

/* --- よくある質問（<details>による開閉式） --- */
.yrp-tp-faq{ padding:110px 0 !important; background:var(--pearl); }
.yrp-tp-faq__inner{ max-width:860px; }
.yrp-tp-faq__list{ border-top:2px solid var(--navy); }
.yrp-tp-faq__item{ border-bottom:1px solid rgba(26,44,66,.12); }
.yrp-tp-faq__item summary{ position:relative; display:flex; align-items:center; gap:16px; padding:22px 48px 22px 4px; color:var(--navy); font-size:16.5px; font-weight:700; line-height:1.6; cursor:pointer; list-style:none; }
.yrp-tp-faq__item summary::-webkit-details-marker{ display:none; }
.yrp-tp-faq__item summary::after{ content:"+"; position:absolute; top:50%; right:10px; color:var(--gold); font-size:26px; font-weight:400; line-height:1; transform:translateY(-50%); transition:transform .25s ease; }
.yrp-tp-faq__item[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.yrp-tp-faq__q, .yrp-tp-faq__a > span{ flex:0 0 36px; display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; font-family:"Noto Serif JP",serif; font-size:16px; font-weight:700; }
.yrp-tp-faq__q{ background:var(--navy); color:#f0d68a; }
.yrp-tp-faq__a{ display:flex; gap:16px; padding:0 20px 26px 4px; }
.yrp-tp-faq__a > span{ border:1px solid var(--gold-l); color:var(--gold); }
.yrp-tp-faq__a p{ padding-top:5px !important; color:#3d4a59 !important; font-size:15px !important; line-height:1.95 !important; }

/* --- ご相談（電話・Web予約・LINEの3枚カード） --- */
.yrp-tp-cta{ padding:100px 0 110px !important; background:linear-gradient(160deg,#1f3a5f 0%,#0f2238 55%,#0a1729 100%); text-align:center; }
.yrp-tp-cta .yrp-tp-en{ color:var(--gold-l) !important; }
.yrp-tp-cta .yrp-tp-h2{ color:#ffffff !important; }
.yrp-tp-cta__lead{ max-width:680px; margin:18px auto 36px !important; color:rgba(255,255,255,.85) !important; font-size:15.5px !important; line-height:2 !important; }
.yrp-tp-cta__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; text-align:center; }
.yrp-tp-cta__card{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:32px 20px 28px; border:1px solid rgba(214,170,53,.4); border-radius:14px; background:rgba(255,255,255,.04); color:#ffffff !important; text-decoration:none !important; transition:transform .25s ease, background-color .25s ease; }
.yrp-tp-cta__card:hover{ transform:translateY(-3px); background:rgba(255,255,255,.08); }
.yrp-tp-cta__icon{ display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:4px; border-radius:50%; background:rgba(214,170,53,.15); color:#f0d68a; font-size:22px; }
.yrp-tp-cta__name{ font-size:17px; font-weight:700; }
.yrp-tp-cta__num{ font-family:"Noto Sans JP",sans-serif; font-size:28px; font-weight:800; line-height:1.2; }
.yrp-tp-cta__note{ color:rgba(255,255,255,.7); font-size:13px; line-height:1.75; }
.yrp-tp-cta__card--tel{ border:0; background:linear-gradient(135deg,#fbf2d6 0%,#eccf86 55%,#d9b25a 100%); color:var(--navy-d) !important; box-shadow:0 14px 30px rgba(0,0,0,.25); }
.yrp-tp-cta__card--tel:hover{ background:linear-gradient(135deg,#fbf2d6 0%,#eccf86 55%,#d9b25a 100%); }
.yrp-tp-cta__card--tel .yrp-tp-cta__icon{ background:var(--navy-d); }
.yrp-tp-cta__card--tel .yrp-tp-cta__note{ color:#4a3e22; }
.yrp-tp-cta__card--line .yrp-tp-cta__icon{ background:#06c755; color:#ffffff; font-size:26px; }
.yrp-tp-cta__foot{ margin-top:24px !important; color:rgba(255,255,255,.65) !important; font-size:13px !important; }

/* --- タブレット --- */
@media screen and (max-width:980px){
  .yrp-tp-options__grid, .yrp-tp-case__grid, .yrp-tp-why__grid{ grid-template-columns:1fr; max-width:600px; margin-left:auto; margin-right:auto; }
  .yrp-tp-flow__list{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:36px; }
  .yrp-tp-flow__list::before{ display:none; }
  .yrp-tp-cta__grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; }
  .yrp-tp-cta__card{ display:grid; grid-template-columns:56px minmax(0,1fr); column-gap:16px; row-gap:2px; align-items:center; padding:20px 22px; text-align:left; }
  .yrp-tp-cta__icon{ grid-row:1 / span 3; margin:0; }
  .yrp-tp-cta__note br{ display:none; }
}

/* --- スマホ --- */
@media screen and (max-width:767px){
  .yrp-tp-pc{ display:none; }
  .yrp-tp-wrap{ width:calc(100% - 32px); }
  .yrp-tp-head{ margin-bottom:32px; }
  .yrp-tp-head__lead{ font-size:14px !important; }

  /* 冒頭：スマホ用画像に切り替え、全体を暗くして中央揃え */
  .yrp-tp-hero{ padding:64px 0 52px !important; text-align:center; }
  .yrp-tp-hero__bg{ display:none; }
  .yrp-tp-hero__bg--sp{ display:block; object-position:center; }
  .yrp-tp-hero::after{ background:linear-gradient(180deg,rgba(8,19,31,.55) 0%,rgba(8,19,31,.72) 55%,rgba(8,19,31,.88) 100%); }
  .yrp-tp .yrp-tp-hero__title{ white-space:nowrap !important; text-wrap:nowrap !important; font-size:clamp(21px,6.2vw,28px) !important; letter-spacing:0 !important; }
  .yrp-tp-hero__lead{ margin-bottom:26px !important; font-size:14px !important; line-height:1.95 !important; }
  .yrp-tp-hero__btns{ flex-direction:column; gap:10px; }
  .yrp-tp-btn{ justify-content:center; width:100%; min-height:62px; }
  .yrp-tp-btn--tel{ font-size:24px; }
  .yrp-tp-hero__badges{ justify-content:center; gap:6px 14px; }
  .yrp-tp-hero__badges li{ font-size:12px; }

  .yrp-tp-worry, .yrp-tp-stage, .yrp-tp-options, .yrp-tp-compare, .yrp-tp-case, .yrp-tp-why, .yrp-tp-flow, .yrp-tp-faq{ padding:64px 0 !important; }

  /* お悩み：1列 */
  .yrp-tp-worry__list{ grid-template-columns:1fr; gap:10px; }
  .yrp-tp-worry__list li{ padding:15px 16px !important; font-size:14.5px; }
  .yrp-tp-worry__msg{ margin-top:36px; }
  .yrp-tp-worry__msg p:last-child{ font-size:14px !important; text-align:center; }

  /* 今の段階：左に線、右に内容 */
  .yrp-tp-stage__item{ grid-template-columns:1fr; gap:6px; padding:0 0 30px 30px !important; }
  .yrp-tp-stage__item::before{ top:16px; left:7px; }
  .yrp-tp-stage__item::after{ top:6px; left:0; }
  .yrp-tp-stage__when{ align-items:flex-start; padding:0; font-size:15px; text-align:left; }
  .yrp-tp-stage__body{ padding-left:0; }
  .yrp-tp-stage__body > p{ font-size:14px !important; }
  .yrp-tp .yrp-tp-stage__can{ padding:12px 14px !important; font-size:13.5px !important; }
  .yrp-tp-note{ width:fit-content; max-width:100%; margin-left:auto !important; margin-right:auto !important; text-align:left; } /* 1行なら中央、長い注釈は左寄せ */
  .yrp-tp-tax{ margin-top:32px; padding:18px 16px; }
  .yrp-tp-tax__title{ align-items:flex-start; font-size:15.5px !important; }
  .yrp-tp-tax__title i{ margin-top:4px; }
  .yrp-tp-tax p:last-child{ font-size:14px !important; }

  .yrp-tp-card{ padding:26px 20px 22px; }
  .yrp-tp-card__text{ font-size:14px !important; }

  /* 比較：項目ごとにカードにし、「そのまま」と「相談」を左右に並べて比べる */
  .yrp-tp-compare__table{ overflow:visible; border-radius:0; background:transparent; box-shadow:none; }
  .yrp-tp-compare__row--head{ display:none; }
  .yrp-tp-compare__row{ grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:14px; border-bottom:0; border-radius:12px; overflow:hidden; background:#ffffff; box-shadow:0 8px 22px rgba(26,44,66,.08); }
  .yrp-tp-compare__row:last-child{ margin-bottom:0; }
  .yrp-tp-compare__row > span{ padding:12px 12px 14px; font-size:13.5px; line-height:1.7; }
  .yrp-tp-compare__row > span:first-child{ grid-column:1 / -1; padding:10px 14px; background:var(--navy); color:#ffffff; font-size:14px; letter-spacing:.08em; text-align:center; }
  .yrp-tp-compare__row > span:nth-child(2){ border-right:1px solid rgba(26,44,66,.08); background:#f3f4f7; }
  .yrp-tp-compare__row > span:nth-child(2)::before,
  .yrp-tp-compare__row > span:nth-child(3)::before{ display:block; margin-bottom:4px; font-size:11px; font-weight:700; letter-spacing:.02em; }
  .yrp-tp-compare__row > span:nth-child(2)::before{ content:"\2715  そのままにすると"; color:#9aa3ad; }
  .yrp-tp-compare__row > span:nth-child(3)::before{ content:"\25CE  早めに相談すると"; color:var(--gold); }
  .yrp-tp-case__card{ padding:22px 20px 20px; }
  .yrp-tp-case__title{ font-size:16.5px; }

  .yrp-tp-why__item{ padding:26px 20px; }
  .yrp-tp-voice{ grid-template-columns:1fr; gap:18px; margin-top:40px; padding:26px 20px; text-align:center; }
  .yrp-tp-voice img{ width:120px; height:150px; margin:0 auto; }
  .yrp-tp-voice blockquote p{ font-size:15px !important; text-align:left; }
  .yrp-tp-voice figcaption{ justify-content:center; }

  .yrp-tp-flow__list{ grid-template-columns:1fr; row-gap:24px; }
  .yrp-tp-flow__list li{ display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:14px; text-align:left; }
  .yrp-tp-flow__num{ grid-row:1 / span 2; width:48px; height:48px; margin:0; font-size:16px; }
  .yrp-tp-flow__term{ align-items:flex-start; padding:14px 16px !important; font-size:14px !important; }

  .yrp-tp-faq__item summary{ gap:12px; padding:18px 36px 18px 0; font-size:15px; }
  .yrp-tp-faq__q, .yrp-tp-faq__a > span{ flex-basis:30px; width:30px; height:30px; font-size:14px; }
  .yrp-tp-faq__a{ gap:12px; padding:0 4px 22px 0; }
  .yrp-tp-faq__a p{ font-size:14px !important; }

  .yrp-tp-cta{ padding:64px 0 72px !important; }
    .yrp-tp-cta__lead{ font-size:14px !important; text-align:center; }
  .yrp-tp-cta__card{ padding:18px 16px; column-gap:14px; }
  .yrp-tp-cta__icon{ width:48px; height:48px; font-size:19px; }
  .yrp-tp-cta__num{ font-size:24px; }
}


/* =========================================================================
   B-4 追加. お悩み別ページの部品（差押・競売の通知ページ /foreclosure/ で使用）
   -------------------------------------------------------------------------
   ・届いた書類カード（.yrp-tp-docs / .yrp-tp-doc）
     右上のラベルは急ぎ度：--1 早めに／--2 急いで／--3 すぐに／--4 至急
   ・比較表のスマホ用ラベルを「競売／任意売却」に変える指定（.yrp-tp-compare__table--auction）
   ========================================================================= */

/* --- 届いた書類カード --- */
.yrp-tp-docs{ padding:110px 0 !important; background:#ffffff; }
.yrp-tp-docs__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:980px; margin:0 auto; }
.yrp-tp-doc{ display:flex; flex-direction:column; padding:24px 26px 22px; border:1px solid rgba(26,44,66,.1); border-radius:14px; background:#ffffff; box-shadow:0 10px 26px rgba(26,44,66,.06); }
.yrp-tp-doc--tax{ grid-column:1 / -1; border-color:rgba(184,134,11,.4); background:#fbf7ec; }
.yrp-tp .yrp-tp-doc__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px !important; }
.yrp-tp-doc__from{ color:#6a7684; font-size:12.5px; font-weight:700; letter-spacing:.06em; }
.yrp-tp-doc__level{ padding:3px 12px; border-radius:999px; font-size:12px; font-weight:700; line-height:1.6; }
.yrp-tp-doc__level--1{ background:#e8f1ec; color:#2e6b4a; }
.yrp-tp-doc__level--2{ background:#fbf1d8; color:#8a6406; }
.yrp-tp-doc__level--3{ background:#fde7da; color:#a14a17; }
.yrp-tp-doc__level--4{ background:#a3262a; color:#ffffff; }
.yrp-tp-doc__title{ margin:0 0 8px !important; padding:0 !important; color:var(--navy) !important; font-size:19px !important; line-height:1.5 !important; }
.yrp-tp-doc__text{ color:#3d4a59 !important; font-size:14.5px !important; line-height:1.9 !important; }

/* --- スマホ：書類カードと、比較表のラベル（競売／任意売却） --- */
@media screen and (max-width:767px){
  .yrp-tp-docs{ padding:64px 0 !important; }
  .yrp-tp-docs__grid{ grid-template-columns:1fr; gap:12px; }
  .yrp-tp-doc{ padding:18px 18px 16px; }
  .yrp-tp-doc__title{ font-size:17px !important; }
  .yrp-tp-doc__text{ font-size:14px !important; }
  .yrp-tp-compare__table--auction .yrp-tp-compare__row > span:nth-child(2)::before{ content:"\2715  競売になると"; }
  .yrp-tp-compare__table--auction .yrp-tp-compare__row > span:nth-child(3)::before{ content:"\25CE  任意売却なら"; }
}


/* =========================================================================
   B-4 追加2. お悩み別ページの部品（離婚と住まい /divorce-real-estate/ で使用）
   -------------------------------------------------------------------------
   ・選べる方法のカードが4枚のとき、PCで2列×2段にする（.yrp-tp-options__grid--4）
   ========================================================================= */
.yrp-tp-options__grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:920px; margin-left:auto; margin-right:auto; }
@media screen and (max-width:980px){
  .yrp-tp-options__grid--4{ grid-template-columns:1fr; max-width:600px; }
}




/* =========================================================================
   B-4 追加4. 図解の部品（全お悩みページ共通で使える）
   -------------------------------------------------------------------------
   ・期限・流れのタイムライン図（.yrp-tp-tl）：PCは横並び、スマホは縦並び
   ・選び方カードの中の小さな図解（.yrp-tp-dia）：アイコンと矢印で流れを表す
   ・お悩みリストのアイコンを少し大きく（項目ごとに違うアイコンを使う前提）
   ========================================================================= */
.yrp-tp-worry__list i{ flex-basis:34px !important; width:34px !important; height:34px !important; font-size:14px !important; }

/* タイムライン図 */
.yrp-tp .yrp-tp-tl{ position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; max-width:960px; margin:0 auto !important; }
.yrp-tp-tl::before{ content:""; position:absolute; top:38px; left:12.5%; right:12.5%; height:2px; background:linear-gradient(90deg,var(--gold-l),var(--gold)); }
.yrp-tp-tl li{ position:relative; text-align:center; }
.yrp-tp-tl__dot{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:76px; height:76px; margin-bottom:14px; border-radius:50%; background:linear-gradient(150deg,#25426b 0%,#0b1a2e 100%); box-shadow:0 0 0 6px #ffffff, 0 10px 22px rgba(0,0,0,.15); color:#f0d68a; line-height:1; }
.yrp-tp-tl__dot b{ font-family:"Noto Serif JP",serif; font-size:28px; }
.yrp-tp-tl__dot small{ margin-top:3px; font-size:11px; font-weight:700; }
.yrp-tp-tl__start .yrp-tp-tl__dot{ background:#ffffff; border:2px solid var(--gold-l); color:var(--gold); font-size:22px; }
.yrp-tp .yrp-tp-tl__when{ color:var(--gold) !important; font-size:13px !important; font-weight:700; letter-spacing:.08em; }
.yrp-tp .yrp-tp-tl__what{ margin-top:4px !important; color:var(--navy) !important; font-family:"Noto Serif JP",serif; font-size:17px !important; font-weight:700; line-height:1.55 !important; }
.yrp-tp .yrp-tp-tl__sub{ display:inline-block; margin-top:8px !important; padding:3px 10px; border-radius:999px; background:#f1f2f4; color:#5a6470 !important; font-size:12px !important; font-weight:700; }

/* 選び方カードの図解 */
.yrp-tp-dia{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin:2px 0 16px; padding:16px 10px; border-radius:12px; background:rgba(255,255,255,.07); color:#f0d68a; font-size:22px; }
.yrp-tp-dia__arrow{ font-size:12px !important; opacity:.55; }
.yrp-tp-dia__people{ display:inline-flex; gap:5px; }

@media screen and (max-width:767px){
  .yrp-tp .yrp-tp-tl{ grid-template-columns:1fr; gap:18px; max-width:340px; }
  .yrp-tp-tl::before{ top:30px; bottom:30px; left:29px; right:auto; width:2px; height:auto; background:linear-gradient(180deg,var(--gold-l),var(--gold)); }
  .yrp-tp-tl li{ display:grid; grid-template-columns:60px minmax(0,1fr); column-gap:16px; align-items:center; text-align:left; }
  .yrp-tp-tl__dot{ grid-row:1 / span 3; width:60px; height:60px; margin:0; box-shadow:0 0 0 5px #ffffff, 0 8px 18px rgba(0,0,0,.14); }
  .yrp-tp-tl__dot b{ font-size:22px; }
  .yrp-tp .yrp-tp-tl__what{ font-size:16px !important; }
  .yrp-tp .yrp-tp-tl__sub{ justify-self:start; margin-top:4px !important; }
  .yrp-tp-dia{ font-size:20px; }
}


/* =========================================================================
   B-4 追加3. 「資産の再生」ページ用の配色（.yrp-tp--asset）
   -------------------------------------------------------------------------
   ・相続・空き家・売却か保有か など「資産の再生」のお悩みページで使用
   ・HTMLの外枠を <div class="yrp-tp yrp-tp--asset"> にすると、この配色に切り替わる
   ・色は下の変数（--a-○○）だけで決まるので、配色を変えるときはここを書き換える
   ========================================================================= */
.yrp-tp--asset{
  /* 配色（深緑×アイボリー） */
  --a-deep:#1d3d33; --a-deep2:#2c5747; --a-ink:#1b2622;
  --a-accent:#6e5410; --a-accent-l:#c9a85a; --a-pale:#f6eed8;
  --a-light:#f4f5f0; --a-light2:#e2e8de; --a-soft:#fafaf7;
  --a-ov:rgba(18,40,33,.9); --a-ov2:rgba(18,40,33,.62);
  /* 共通デザインの色を置き換え */
  --navy:var(--a-ink); --navy-d:var(--a-deep); --gold:var(--a-accent); --gold-l:var(--a-accent-l); --pearl:var(--a-soft);
}

/* 冒頭：画像の上にかける色を、配色に合わせる */
.yrp-tp--asset .yrp-tp-hero{ background:linear-gradient(160deg,var(--a-deep2) 0%,var(--a-deep) 100%); }
.yrp-tp--asset .yrp-tp-hero::after{ background:linear-gradient(90deg,var(--a-ov) 0%,var(--a-ov2) 42%,rgba(0,0,0,.05) 75%,rgba(0,0,0,0) 100%); }
.yrp-tp--asset .yrp-tp-hero .yrp-tp-en{ color:var(--a-pale) !important; }
.yrp-tp--asset .yrp-tp-hero__badges i{ color:var(--a-pale); }

/* 暗い帯（分け方）：深い色のグラデーション */
.yrp-tp--asset .yrp-tp-options{ background:linear-gradient(160deg,var(--a-deep2) 0%,var(--a-deep) 100%); }
.yrp-tp--asset .yrp-tp-options .yrp-tp-en{ color:var(--a-pale) !important; }
.yrp-tp--asset .yrp-tp-card{ border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.05); }
.yrp-tp--asset .yrp-tp-card__num{ color:var(--a-pale) !important; }
.yrp-tp--asset .yrp-tp-card__title{ border-bottom-color:rgba(255,255,255,.2); }
.yrp-tp--asset .yrp-tp .yrp-tp-card__fit, .yrp-tp--asset .yrp-tp-card__fit{ background:rgba(255,255,255,.08) !important; }
.yrp-tp--asset .yrp-tp-card__fit span{ color:var(--a-pale); }

/* 濃い色の丸・タグ */
.yrp-tp--asset .yrp-tp-worry__list i,
.yrp-tp--asset .yrp-tp-case__tag,
.yrp-tp--asset .yrp-tp-faq__q{ background:var(--a-deep); color:var(--a-pale); }
.yrp-tp--asset .yrp-tp-flow__num,
.yrp-tp--asset .yrp-tp-why__item > i{ background:linear-gradient(150deg,var(--a-deep2) 0%,var(--a-deep) 100%); color:var(--a-pale); }
.yrp-tp--asset .yrp-tp-compare__row--head > span:nth-child(3){ background:var(--a-deep); color:var(--a-pale); }
.yrp-tp--asset .yrp-tp-compare__row:not(.yrp-tp-compare__row--head) > span:nth-child(3),
.yrp-tp--asset .yrp-tp .yrp-tp-stage__can, .yrp-tp--asset .yrp-tp-stage__can,
.yrp-tp--asset .yrp-tp-flow__term{ background:var(--a-light) !important; }
.yrp-tp--asset .yrp-tp-voice{ border-color:var(--a-light2); }

/* ご相談：明るい色の背景 */
.yrp-tp--asset .yrp-tp-cta{ background:linear-gradient(160deg,var(--a-light) 0%,var(--a-light2) 100%); }
.yrp-tp--asset .yrp-tp-cta .yrp-tp-en{ color:var(--a-accent) !important; }
.yrp-tp--asset .yrp-tp-cta .yrp-tp-h2{ color:var(--a-ink) !important; }
.yrp-tp--asset .yrp-tp-cta__lead{ color:#4a4338 !important; }
.yrp-tp--asset .yrp-tp-cta__card{ border-color:rgba(0,0,0,.06); background:#ffffff; color:var(--a-ink) !important; box-shadow:0 10px 24px rgba(59,45,20,.1); }
.yrp-tp--asset .yrp-tp-cta__card:hover{ background:#ffffff; }
.yrp-tp--asset .yrp-tp-cta__icon{ background:var(--a-light); color:var(--a-accent); }
.yrp-tp--asset .yrp-tp-cta__note{ color:#6d6558; }
.yrp-tp--asset .yrp-tp-cta__card--tel, .yrp-tp--asset .yrp-tp-cta__card--tel:hover{ background:linear-gradient(150deg,var(--a-deep2) 0%,var(--a-deep) 100%); color:#ffffff !important; }
.yrp-tp--asset .yrp-tp-cta__card--tel .yrp-tp-cta__icon{ background:rgba(255,255,255,.12); color:var(--a-pale); }
.yrp-tp--asset .yrp-tp-cta__card--tel .yrp-tp-cta__note{ color:rgba(255,255,255,.75); }
.yrp-tp--asset .yrp-tp-cta__card--line .yrp-tp-cta__icon{ background:#06c755; color:#ffffff; }
.yrp-tp--asset .yrp-tp-cta__foot{ color:#6d6558 !important; }

/* 冒頭の電話ボタン：配色に合わせた明るい色 */
.yrp-tp--asset .yrp-tp-btn--tel{ background:linear-gradient(135deg,var(--a-light) 0%,var(--a-light2) 100%); color:var(--a-deep) !important; }

/* 図解の色・読みやすさ */
.yrp-tp--asset .yrp-tp-tl__dot{ background:linear-gradient(150deg,var(--a-deep2) 0%,var(--a-deep) 100%); color:var(--a-pale); }
.yrp-tp--asset .yrp-tp-tl__start .yrp-tp-tl__dot{ background:#ffffff; color:var(--a-accent); }
.yrp-tp--asset .yrp-tp-dia{ color:var(--a-pale); }
.yrp-tp--asset .yrp-tp-options .yrp-tp-head__lead,
.yrp-tp--asset .yrp-tp-card__text{ color:rgba(255,255,255,.9) !important; }

/* スマホ：冒頭の文字を読みやすく（写真の明るい部分と白い文字が重ならないように） */
@media screen and (max-width:767px){
  .yrp-tp--asset .yrp-tp-hero::after{ background:linear-gradient(180deg,rgba(18,40,33,.74) 0%,rgba(18,40,33,.8) 55%,rgba(18,40,33,.9) 100%); }
  .yrp-tp-hero .yrp-tp-en,
  .yrp-tp .yrp-tp-hero__title,
  .yrp-tp .yrp-tp-hero__lead,
  .yrp-tp-hero__badges li{ text-shadow:0 1px 3px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.35); }
}

/* 2026-10-27 「解決の方法」カードに、詳しい解説ページへのリンクを付けた（ユーザー指示） */
.yrp-tp .yrp-tp-card{ display:flex; flex-direction:column; }
.yrp-tp .yrp-tp-card__link{ display:inline-flex; align-self:flex-start; align-items:center; gap:8px; margin-top:auto !important; padding:16px 0 2px; border-bottom:1px solid rgba(240,214,138,.5); color:#f0d68a !important; font-size:14px; font-weight:700; line-height:1.5; text-decoration:none !important; transition:gap .25s ease, color .25s ease; }
.yrp-tp .yrp-tp-card__fit + .yrp-tp-card__link{ margin-top:16px !important; padding-top:0; }
.yrp-tp .yrp-tp-card__link i{ font-size:11px; }
.yrp-tp .yrp-tp-card__link:hover, .yrp-tp .yrp-tp-card__link:focus-visible{ gap:12px; color:#ffffff !important; }
.yrp-vh-opt__link{ display:inline-flex; align-items:center; gap:6px; margin-top:12px; color:#f0d68a !important; font-size:12.5px; font-weight:700; line-height:1.4; text-decoration:none !important; border-bottom:1px solid rgba(240,214,138,.45); }
.yrp-vh-opt__link i{ font-size:10px; }
@media screen and (max-width:767px){
  .yrp-vh-opt li .yrp-vh-opt__link{ grid-column:2; justify-self:start; margin-top:6px; }
}
.yrp-tp .yrp-tp-more{ margin:18px 0 0 !important; text-align:center; }
.yrp-tp .yrp-tp-more a{ display:inline-flex; align-items:center; gap:8px; padding-bottom:2px; border-bottom:1px solid rgba(184,134,11,.55); color:#b8860b !important; font-size:14px; font-weight:700; text-decoration:none !important; }
.yrp-tp .yrp-tp-more a i{ font-size:11px; }

/* =========================================================
   2026-10-27 お悩みページの文字を減らす（HOMEと同じ方針）：余白を詰める・流れは7ステップの帯・FAQはLINE形式・理由は代表の一言だけ
   ========================================================= */
.yrp-tp-worry, .yrp-tp-stage, .yrp-tp-options, .yrp-tp-compare, .yrp-tp-case, .yrp-tp-why, .yrp-tp-flow, .yrp-tp-faq, .yrp-tp-docs{ padding:84px 0 !important; }
.yrp-tp-cta{ padding:80px 0 88px !important; }
.yrp-tp .yrp-tp-head{ margin-bottom:36px !important; }
.yrp-tp-why--slim{ padding:64px 0 !important; }
.yrp-tp-why--slim .yrp-tp-voice{ margin-top:0 !important; }
@media screen and (max-width:767px){
  .yrp-tp-worry, .yrp-tp-stage, .yrp-tp-options, .yrp-tp-compare, .yrp-tp-case, .yrp-tp-why, .yrp-tp-flow, .yrp-tp-faq, .yrp-tp-docs{ padding:52px 0 !important; }
  .yrp-tp-cta{ padding:52px 0 60px !important; }
  .yrp-tp .yrp-tp-head{ margin-bottom:24px !important; }
  .yrp-tp-why--slim{ padding:44px 0 !important; }
}

/* ご相談の流れ：HOMEと同じ7ステップ（見出しだけ） */
.yrp-tp .yrp-tp-steps7{ position:relative; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin:0 !important; padding:0 !important; list-style:none !important; }
.yrp-tp .yrp-tp-steps7::before{ content:""; position:absolute; top:32px; left:7.14%; right:7.14%; height:2px; background:linear-gradient(90deg,rgba(214,170,53,.25),#d6aa35 15%,#d6aa35 85%,rgba(214,170,53,.25)); }
.yrp-tp .yrp-tp-steps7 li{ position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; margin:0 !important; padding:0 !important; text-align:center; list-style:none !important; }
.yrp-tp-steps7__icon{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:10px; border:2px solid #d6aa35; border-radius:50%; background:linear-gradient(145deg,#2c4a6e 0%,#1a2c42 60%,#0f1d30 100%); box-shadow:0 0 0 4px #ffffff, 0 8px 18px rgba(26,44,66,.2); color:#f0d68a; font-size:22px; }
.yrp-tp .yrp-tp-steps7 small{ color:#b8860b; font-size:12px; font-weight:700; letter-spacing:.12em; }
.yrp-tp .yrp-tp-steps7 b{ color:#1a2c42; font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif; font-size:16px; line-height:1.45; }
.yrp-tp .yrp-tp-flow__term{ margin-top:32px !important; }
@media screen and (max-width:980px){
  .yrp-tp .yrp-tp-steps7{ grid-template-columns:1fr; gap:0; max-width:420px; margin:0 auto !important; }
  .yrp-tp .yrp-tp-steps7::before{ top:24px; bottom:24px; left:27px; right:auto; width:2px; height:auto; background:#d6aa35; }
  .yrp-tp .yrp-tp-steps7 li{ display:grid; grid-template-columns:56px 1fr; column-gap:16px; align-items:center; padding:0 0 12px !important; text-align:left; }
  .yrp-tp .yrp-tp-steps7 li:last-child{ padding-bottom:0 !important; }
  .yrp-tp-steps7__icon{ grid-row:1 / 3; width:56px; height:56px; margin:0; font-size:19px; }
  .yrp-tp .yrp-tp-steps7 small{ align-self:end; }
  .yrp-tp .yrp-tp-steps7 b{ align-self:start; font-size:17px; }
}

/* よくある質問：LINE のやり取り形式（区のページ・HOMEと同じ見た目）。34問ある「よくある質問」ページ（.yrp-fq）は探しやすいアコーディオンのまま */
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__list{ padding:18px 16px; border-radius:20px; background:linear-gradient(180deg,#9db0cc 0%,#8aa0c0 100%); }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__item{ margin:0 0 14px; border:0 !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__item:last-child{ margin-bottom:0; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__item summary{ display:block !important; width:fit-content; max-width:min(30em,86%); margin-left:auto; padding:10px 14px !important; border-radius:18px; background:#8de055; color:#1a2c42 !important; font-size:14.5px !important; line-height:1.7 !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__item summary::after{ content:"＋" !important; position:static !important; margin-left:10px; color:#1a2c42 !important; font-size:14px !important; font-weight:700 !important; transform:none !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__item[open] summary::after{ content:"－" !important; transform:none !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__q{ display:none !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__a{ align-items:flex-start; gap:8px !important; padding:12px 0 0 !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__a > span{ flex:0 0 38px !important; width:38px !important; height:38px !important; border:0 !important; background:#1a2c42 !important; color:transparent !important; font-size:0 !important; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__a > span::before{ content:"\f7f2"; color:#d6aa35; font-family:"Font Awesome 6 Free"; font-size:16px; font-weight:900; }
.yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__a p{ max-width:34em; margin:0 !important; padding:10px 14px !important; border-radius:18px; background:#ffffff; color:#1a2c42 !important; font-size:14px !important; line-height:1.75 !important; }
@media screen and (max-width:767px){
  .yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__list{ padding:16px 10px; }
  .yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__item summary{ max-width:88%; font-size:13.5px !important; }
  .yrp-tp:not(.yrp-fq):not(.yrp-pr) .yrp-tp-faq__a p{ font-size:13.5px !important; }
}
/* ご相談の流れ：各ページでは期間の目安とリンクだけの細い帯に（7ステップは HOME と流れのページで見せる） */
.yrp-tp-flow--slim{ padding:44px 0 !important; }
.yrp-tp-flow--slim .yrp-tp-wrap{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.yrp-tp .yrp-tp-flow--slim .yrp-tp-flow__term{ max-width:760px; margin:0 !important; }
.yrp-tp .yrp-tp-flow--slim .yrp-tp-flow__more{ margin:0 !important; }
@media screen and (max-width:767px){
  .yrp-tp-flow--slim{ padding:32px 0 !important; }
}
/* 解決の流れ・専門家の解説のカード：「タグ＋地域・年代」を1行に、本文、右下に「事例を読む」。余白を詰める（ユーザー指示） */
.yrp-tp .yrp-tp-case__card{ display:grid !important; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"tag who" "title title" "more more"; align-items:center; gap:8px 10px !important; padding:18px 20px 14px !important; }
.yrp-tp .yrp-tp-case__tag{ grid-area:tag; align-self:center !important; }
.yrp-tp .yrp-tp-case__who{ grid-area:who; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yrp-tp .yrp-tp-case__title{ grid-area:title; align-self:start; font-size:17px !important; line-height:1.6 !important; }
.yrp-tp .yrp-tp-case__title br{ display:none; }
.yrp-tp .yrp-tp-case__more{ grid-area:more; justify-self:end; margin-top:2px !important; }
@media screen and (max-width:767px){
  .yrp-tp .yrp-tp-case__card{ padding:16px 16px 12px !important; }
  .yrp-tp .yrp-tp-case__title{ font-size:16px !important; }
}
.yrp-tp .yrp-tp-case__card{ min-height:0 !important; height:auto !important; grid-template-rows:auto auto 1fr; align-content:start !important; }
.yrp-tp .yrp-tp-case__title{ flex:none !important; min-height:0 !important; margin:0 !important; }
.yrp-tp .yrp-tp-case__more{ align-self:end !important; padding:0 !important; }
/* 期間の目安の一行は中央そろえ */
.yrp-tp .yrp-tp-flow--slim .yrp-tp-flow__term{ justify-content:center !important; text-align:center !important; }
.yrp-tp .yrp-tp-flow--slim .yrp-tp-flow__term span{ text-align:center !important; text-wrap:balance; }
@media screen and (max-width:767px){
  .yrp-tp .yrp-tp-flow--slim .yrp-tp-flow__term{ flex-direction:column !important; align-items:center !important; gap:6px !important; }
}
.yrp-tp .yrp-tp-flow--slim .yrp-tp-flow__term span{ word-break:auto-phrase !important; overflow-wrap:normal !important; line-break:strict !important; }
.yrp-tp .yrp-nowrap{ white-space:nowrap; }

/* 入口カードが4枚のとき（士業の先生方へ）：パソコンは横一列 2026-10-30 */
@media screen and (min-width:981px){ .yrp-tp-cta__grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; } .yrp-tp-cta__grid--4 .yrp-tp-cta__card{ padding-left:14px; padding-right:14px; } }

/* 士業の先生方へ：流れをA（紹介いただく場合）・B（ご相談をお願いする場合）に分けて表示 2026-10-30 */
.yrp-pr-flow__label{ display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 26px !important; color:#1A2C42; font-size:17px; font-weight:700; line-height:1.6; text-align:center; }
.yrp-pr-flow__label small{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#B8860B; color:#fff; font-size:13px; font-weight:700; }
.yrp-tp-flow__list + .yrp-pr-flow__label{ margin-top:56px !important; padding-top:40px; border-top:1px solid rgba(26,44,66,.12); }
.yrp-tp-flow__list a{ color:#B8860B; text-decoration:underline; text-underline-offset:3px; }

/* ===== 2026-10-31 調整 ===== */
/* 同じ背景色のセクションが続くと、上下の余白が重なって空きすぎるため、後ろのセクションの上余白をなくす */
.yrp-tp-docs + .yrp-tp-stage, .yrp-tp-docs + .yrp-tp-case, .yrp-tp-docs + .yrp-tp-flow,
.yrp-tp-stage + .yrp-tp-docs, .yrp-tp-stage + .yrp-tp-case, .yrp-tp-stage + .yrp-tp-flow,
.yrp-tp-case + .yrp-tp-docs, .yrp-tp-case + .yrp-tp-stage, .yrp-tp-case + .yrp-tp-case, .yrp-tp-case + .yrp-tp-flow,
.yrp-tp-flow + .yrp-tp-docs, .yrp-tp-flow + .yrp-tp-stage, .yrp-tp-flow + .yrp-tp-case,
.yrp-tp-worry + .yrp-tp-compare, .yrp-tp-worry + .yrp-tp-why, .yrp-tp-worry + .yrp-tp-faq,
.yrp-tp-compare + .yrp-tp-worry, .yrp-tp-compare + .yrp-tp-why, .yrp-tp-compare + .yrp-tp-faq,
.yrp-tp-why + .yrp-tp-worry, .yrp-tp-why + .yrp-tp-compare, .yrp-tp-why + .yrp-tp-faq,
.yrp-tp-faq + .yrp-tp-worry, .yrp-tp-faq + .yrp-tp-compare, .yrp-tp-faq + .yrp-tp-why{ padding-top:0 !important; }
/* 税金の差押えなどの補足枠：PCでは文章を中央にそろえる（スマホは読みやすさのため左ぞろえのまま） */
.yrp-tp-tax{ text-align:center; }
.yrp-tp-tax__title{ justify-content:center; }
@media screen and (max-width:767px){
  .yrp-tp-tax{ text-align:left; }
  .yrp-tp-tax__title{ justify-content:flex-start; }
}
/* 選べる方法のカード：「〜を見る」のリンクは右寄せ */
.yrp-tp .yrp-tp-card__link{ align-self:flex-end; }
/* 士業の方へ：同じ背景色が続く「依頼いただける相談」→「お約束」の間の余白 */
.yrp-pr-cases + .yrp-tp-why{ padding-top:0 !important; }
