/* =========================================================
   R-BASE ARTICLE SYSTEM
   Production stylesheet

   Shared components:
   - Guide
   - Market
   - Series
   - Case

   Loaded only on single blog posts by functions.php.
========================================================= */

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Shared foundation / Guide type
   Validated article: kitami-real-estate-appraisal-documents
========================================================= */
.rb-article{--rb-color-navy:#163b69;--rb-color-navy-dark:#0d2e59;--rb-color-orange:#f47a20;--rb-color-text:#33485f;--rb-color-muted:#6b7d90;--rb-color-line:#dfe7ef;--rb-color-pale:#f4f7fa;--rb-color-blue-pale:#edf3f8;--rb-color-orange-pale:#fff4eb;--rb-color-green:#2c7a55;--rb-color-green-pale:#edf8f2;--rb-color-red:#b84d4d;--rb-color-red-pale:#fff2f2;--rb-color-white:#fff;width:100%;max-width:920px;margin:0 auto;color:var(--rb-color-text);font-family:inherit;font-size:15px;line-height:1.9}.rb-article,.rb-article *{box-sizing:border-box}.rb-article p{margin:0 0 1.25em}.rb-article strong{color:var(--rb-color-navy);font-weight:800}.rb-article a{color:var(--rb-color-navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}.rb-article a:hover{color:var(--rb-color-orange)}
.rb-article__hero{position:relative;overflow:hidden;padding:42px 42px 38px;border-top:5px solid var(--rb-color-navy);border-right:1px solid var(--rb-color-line);border-bottom:1px solid var(--rb-color-line);border-left:1px solid var(--rb-color-line);background:var(--rb-color-white)}.rb-article__hero::after{content:"";position:absolute;top:0;right:0;width:125px;height:5px;background:var(--rb-color-orange)}.rb-article__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:var(--rb-color-orange);font-size:11px;font-weight:900;line-height:1.4;letter-spacing:.14em}.rb-article__eyebrow::before{content:"";width:36px;height:2px;flex:0 0 36px;background:var(--rb-color-orange)}.rb-article__hero-title{margin:0;color:var(--rb-color-navy);font-size:clamp(28px,4.2vw,42px);font-weight:900;line-height:1.45;letter-spacing:-.025em}.rb-article__hero-title span{color:var(--rb-color-orange)}.rb-article__hero-subtitle{margin:17px 0 0;padding-top:17px;border-top:1px solid var(--rb-color-line);color:var(--rb-color-muted);font-size:15px;line-height:1.85}
.rb-article__intro{padding:31px 34px 7px}.rb-article__intro p{font-size:16px}.rb-article__related-links{margin:24px 34px 0;padding:21px 23px;border:1px solid var(--rb-color-line);background:var(--rb-color-pale)}.rb-article__related-links-title{margin-bottom:10px;color:var(--rb-color-navy);font-size:15px;font-weight:900}.rb-article__related-links p{margin:0;color:var(--rb-color-muted);font-size:13px;line-height:1.8}.rb-article__related-links-list{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.rb-article__related-links-list a{font-size:12px;text-decoration:none}.rb-article__toc{margin:24px 34px 0;padding:23px 24px;border-top:2px solid var(--rb-color-navy);border-bottom:1px solid var(--rb-color-line)}.rb-article__toc-title{margin-bottom:13px;color:var(--rb-color-navy);font-size:14px;font-weight:900}.rb-article__toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin:0;padding:0;counter-reset:rb-article-toc;list-style:none}.rb-article__toc li{min-width:0;counter-increment:rb-article-toc}.rb-article__toc a{display:flex;gap:8px;color:var(--rb-color-text);font-size:13px;font-weight:700;line-height:1.6;text-decoration:none}.rb-article__toc a::before{content:counter(rb-article-toc,decimal-leading-zero);color:var(--rb-color-orange);font-weight:900}
.rb-article__section{padding:52px 34px 0;scroll-margin-top:100px}.rb-article .rb-article__section-heading{position:relative!important;display:flex!important;align-items:flex-start!important;gap:15px!important;margin:0 0 25px!important;padding:0 0 16px!important;border:0!important;border-bottom:2px solid var(--rb-color-navy)!important;background:transparent!important;color:var(--rb-color-navy)!important;font-family:inherit!important;font-size:25px!important;font-weight:900!important;line-height:1.55!important;letter-spacing:-.01em!important;box-shadow:none!important}.rb-article .rb-article__section-heading::before,.rb-article .rb-article__section-heading::after{display:none!important;content:none!important}.rb-article__section-number{flex:0 0 auto;color:var(--rb-color-orange);font-size:30px;font-weight:900;line-height:1.25}.rb-article__subheading{margin:31px 0 15px;color:var(--rb-color-navy);font-size:19px;font-weight:900;line-height:1.6}.rb-article__subheading::before{content:"";display:inline-block;width:4px;height:1.15em;margin-right:10px;background:var(--rb-color-orange);vertical-align:-.15em}
.rb-article__note{margin:22px 0;padding:18px 20px;font-size:14px}.rb-article__note strong,.rb-article__note-label{display:block;margin-bottom:5px}.rb-article__note-label{color:var(--rb-color-orange);font-size:11px;font-weight:900;letter-spacing:.1em}.rb-article__note--point{padding:20px 22px;border-top:3px solid var(--rb-color-navy);background:var(--rb-color-blue-pale)}.rb-article__intro .rb-article__note--point{margin-top:23px;padding:22px 24px;border-top:0;border-left:5px solid var(--rb-color-orange);background:var(--rb-color-orange-pale)}.rb-article__note--point p{margin:0;color:var(--rb-color-navy-dark);font-weight:700}.rb-article__intro .rb-article__note--point p{font-size:16px;line-height:1.8}.rb-article__note--info{border-left:4px solid var(--rb-color-navy);background:var(--rb-color-pale)}.rb-article__note--warning{border-left:4px solid var(--rb-color-red);background:var(--rb-color-red-pale)}.rb-article__note--warning strong{color:var(--rb-color-red)}.rb-article__note--success{border-left:4px solid var(--rb-color-green);background:var(--rb-color-green-pale)}.rb-article__note--success strong{color:var(--rb-color-green)}
.rb-article__card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.rb-article__card{padding:20px;border:1px solid var(--rb-color-line);background:var(--rb-color-white)}.rb-article__card--alert{border-top:3px solid var(--rb-color-red)}.rb-article__card--success{border-top:3px solid var(--rb-color-green)}.rb-article__card-kicker{display:block;margin-bottom:8px;color:var(--rb-color-orange);font-size:11px;font-weight:900;letter-spacing:.08em}.rb-article__card h3{margin:0 0 9px;color:var(--rb-color-navy);font-size:17px;font-weight:900;line-height:1.55}.rb-article__card p{margin:0;color:var(--rb-color-muted);font-size:13px;line-height:1.75}
.rb-article__table-wrap{margin:22px 0;overflow-x:auto;border:1px solid var(--rb-color-line);-webkit-overflow-scrolling:touch}.rb-article__table{width:100%;min-width:680px;border-collapse:collapse;background:var(--rb-color-white);font-size:13px}.rb-article__table th,.rb-article__table td{padding:13px 14px;border-right:1px solid var(--rb-color-line);border-bottom:1px solid var(--rb-color-line);text-align:left;vertical-align:top;line-height:1.7}.rb-article__table th:last-child,.rb-article__table td:last-child{border-right:0}.rb-article__table tr:last-child td{border-bottom:0}.rb-article__table th{background:var(--rb-color-navy);color:var(--rb-color-white);font-weight:800;white-space:nowrap}.rb-article__table td:first-child{color:var(--rb-color-navy);font-weight:800;white-space:nowrap}
.rb-article__checklist{margin:20px 0;padding:0;list-style:none}.rb-article__checklist li{position:relative;margin:0;padding:11px 12px 11px 42px;border-bottom:1px solid var(--rb-color-line)}.rb-article__checklist li::before{content:"✓";position:absolute;left:12px;top:11px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--rb-color-green-pale);color:var(--rb-color-green);font-size:12px;font-weight:900}.rb-article__checklist--alert li::before{content:"!";background:var(--rb-color-red-pale);color:var(--rb-color-red)}
.rb-article__comparison{margin:24px 0;border:1px solid var(--rb-color-line)}.rb-article__comparison-item{display:grid;grid-template-columns:110px minmax(0,1fr);border-bottom:1px solid var(--rb-color-line)}.rb-article__comparison-item:last-child{border-bottom:0}.rb-article__comparison-label{display:flex;align-items:center;justify-content:center;padding:14px 10px;background:var(--rb-color-navy);color:var(--rb-color-white);font-size:12px;font-weight:900;text-align:center}.rb-article__comparison-body{padding:15px 17px;background:var(--rb-color-white)}.rb-article__comparison-body strong{display:block;margin-bottom:3px}.rb-article__comparison-body p{margin:0;color:var(--rb-color-muted);font-size:13px;line-height:1.7}
.rb-article__step-list{margin:24px 0;border-top:1px solid var(--rb-color-line)}.rb-article__step{display:grid;grid-template-columns:76px minmax(0,1fr);border-right:1px solid var(--rb-color-line);border-bottom:1px solid var(--rb-color-line);border-left:1px solid var(--rb-color-line)}.rb-article__step-number{display:flex;align-items:center;justify-content:center;background:var(--rb-color-navy);color:var(--rb-color-white);font-size:13px;font-weight:900}.rb-article__step-body{padding:17px 19px}.rb-article__step-body strong{display:block;margin-bottom:4px;font-size:15px}.rb-article__step-body p{margin:0;color:var(--rb-color-muted);font-size:13px;line-height:1.75}
.rb-article__badge-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.rb-article__badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border:1px solid var(--rb-color-line);background:var(--rb-color-white);color:var(--rb-color-navy);font-size:12px;font-weight:800}.rb-article__badge--required{border-color:#efc2c2;background:var(--rb-color-red-pale);color:var(--rb-color-red)}.rb-article__badge--helpful{border-color:#bdd8ca;background:var(--rb-color-green-pale);color:var(--rb-color-green)}.rb-article__badge--later{background:var(--rb-color-blue-pale)}
.rb-article__faq{margin-top:22px;border-top:1px solid var(--rb-color-line)}.rb-article__faq-item{padding:22px 0;border-bottom:1px solid var(--rb-color-line)}.rb-article__faq-question{position:relative;margin:0 0 12px;padding-left:39px;color:var(--rb-color-navy);font-size:16px;font-weight:900;line-height:1.7}.rb-article__faq-question::before{content:"Q";position:absolute;left:0;top:0;color:var(--rb-color-orange);font-size:21px;font-weight:900}.rb-article__faq-answer{position:relative;margin:0;padding-left:39px;color:var(--rb-color-text);font-size:14px}.rb-article__faq-answer::before{content:"A";position:absolute;left:0;top:0;color:var(--rb-color-navy);font-size:19px;font-weight:900}
.rb-article__source{margin:47px 34px 0;padding:24px;border:1px solid var(--rb-color-line);background:var(--rb-color-pale)}.rb-article__source-title{margin-bottom:11px;color:var(--rb-color-navy);font-weight:900}.rb-article__source ul{margin:0;padding-left:20px}.rb-article__source li{margin:6px 0;color:var(--rb-color-muted);font-size:12px;line-height:1.65}.rb-article__disclaimer{margin:20px 34px 0;color:var(--rb-color-muted);font-size:11px;line-height:1.75}
/* Transitional article CTA: retain until Theme Builder mobile CTA is confirmed. */
.rb-article__cta{margin:48px 34px 0;border-top:5px solid var(--rb-color-orange);background:var(--rb-color-navy);color:var(--rb-color-white)}.rb-article__cta-inner{padding:31px 30px 27px;text-align:center}.rb-article__cta-kicker{margin-bottom:8px;color:#ffb275;font-size:11px;font-weight:900;letter-spacing:.1em}.rb-article .rb-article__cta-title{margin:0 0 12px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--rb-color-white)!important;font-size:24px!important;font-weight:900!important;line-height:1.55!important;box-shadow:none!important}.rb-article .rb-article__cta-title::before,.rb-article .rb-article__cta-title::after{display:none!important;content:none!important}.rb-article__cta-text{max-width:680px;margin:0 auto 21px;color:#e4edf7;font-size:13px;line-height:1.8}.rb-article__cta-points{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:20px}.rb-article__cta-points span{padding:6px 10px;border:1px solid rgba(255,255,255,.25);color:var(--rb-color-white);font-size:11px;font-weight:800}.rb-article__cta-buttons{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:9px}.rb-article .rb-article__cta-button{display:flex;align-items:center;justify-content:center;min-height:52px;padding:11px 13px;color:var(--rb-color-white)!important;font-size:13px;font-weight:900;text-decoration:none!important}.rb-article__cta-button--primary{background:var(--rb-color-orange)}.rb-article__cta-button--line{background:#23b94f}.rb-article__cta-button--phone{border:1px solid rgba(255,255,255,.35);background:transparent}.rb-article__cta-hours{margin-top:14px;color:#c7d6e7;font-size:10px}
@media(max-width:700px){.rb-article{font-size:14px;line-height:1.85}.rb-article__hero{padding:30px 22px 28px}.rb-article__hero-title{font-size:29px}.rb-article__hero-subtitle{font-size:13px}.rb-article__intro{padding:25px 20px 2px}.rb-article__intro p{font-size:15px}.rb-article__related-links,.rb-article__toc,.rb-article__source,.rb-article__cta{margin-right:20px;margin-left:20px}.rb-article__toc ol{grid-template-columns:1fr}.rb-article__section{padding:43px 20px 0}.rb-article .rb-article__section-heading{gap:11px!important;font-size:21px!important}.rb-article__section-number{font-size:25px}.rb-article__subheading{font-size:18px}.rb-article__card-grid{grid-template-columns:1fr}.rb-article__comparison-item{grid-template-columns:88px minmax(0,1fr)}.rb-article__step{grid-template-columns:61px minmax(0,1fr)}.rb-article__step-body{padding:15px}.rb-article__disclaimer{margin-right:20px;margin-left:20px}.rb-article__cta-inner{padding:26px 18px 22px}.rb-article .rb-article__cta-title{font-size:21px!important}.rb-article__cta-buttons{grid-template-columns:1fr}}
@media(max-width:359px){.rb-article__hero-title{font-size:24px}.rb-article .rb-article__section-heading{font-size:20px!important}}

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Market type
   Validated article: kitami-market-report-202607

   functions.php から投稿ページで読み込みます。
   既存の Shared foundation / Guide type CSS は削除しません。
========================================================= */

/* =========================================================
   2026年7月 北見市不動産市場レポート
   Market report component styles
   ========================================================= */

.rb-article--market {
  --rb-market-navy-light: #eaf1f8;
  --rb-market-orange-dark: #d9600d;
  --rb-market-blue-gray: #f3f7fb;
  --rb-market-shadow: 0 12px 32px rgba(22, 59, 105, 0.09);

  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  color: var(--rb-color-text);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    Meiryo,
    sans-serif;
  font-size: 16px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.rb-article--market *,
.rb-article--market *::before,
.rb-article--market *::after {
  box-sizing: border-box;
}

.rb-article--market a {
  color: var(--rb-color-navy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.rb-article--market a:hover {
  color: var(--rb-market-orange-dark);
}

.rb-article--market p {
  margin: 0 0 1.35em;
}

.rb-article--market ul,
.rb-article--market ol {
  margin: 0;
  padding: 0;
}

.rb-article--market img,
.rb-article--market svg {
  max-width: 100%;
  height: auto;
}

/* ヒーロー */
.rb-article__market-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(38px, 7vw, 76px) clamp(20px, 5vw, 58px);
  margin-bottom: 34px;
  color: var(--rb-color-white);
  background:
    linear-gradient(
      130deg,
      rgba(14, 42, 75, 0.98) 0%,
      rgba(22, 59, 105, 0.96) 56%,
      rgba(30, 77, 125, 0.93) 100%
    );
  border-radius: 20px;
  box-shadow: var(--rb-market-shadow);
}

.rb-article__market-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -100px;
  right: -80px;
  width: 310px;
  height: 310px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 50%;
}

.rb-article__market-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 70px;
  bottom: -125px;
  width: 250px;
  height: 250px;
  background: rgba(244, 122, 32, 0.17);
  border-radius: 50%;
}

.rb-article__market-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: #dceaf8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
}

.rb-article__market-eyebrow::before {
  content: "";
  width: 28px;
  height: 3px;
  background: var(--rb-color-orange);
  border-radius: 999px;
}

.rb-article__market-title {
  margin: 0;
  color: var(--rb-color-white);
  font-size: clamp(27px, 5vw, 46px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.015em;
}

.rb-article__market-title span {
  display: block;
  margin-bottom: 5px;
  color: #ffd6ba;
  font-size: 0.55em;
  letter-spacing: 0.08em;
}

.rb-article__market-lead {
  max-width: 770px;
  margin: 20px 0 0;
  color: #edf5fc;
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.9;
}

.rb-article__market-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 26px;
}

.rb-article__market-hero-tag {
  padding: 7px 13px;
  color: var(--rb-color-white);
  background: rgba(255,255,255,0.11);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

/* 導入 */
.rb-article__market-intro {
  padding: clamp(22px, 4vw, 36px);
  margin-bottom: 26px;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(22,59,105,0.05);
}

.rb-article__market-intro p:last-child {
  margin-bottom: 0;
}

.rb-article__market-highlight {
  font-weight: 800;
  color: var(--rb-color-navy);
}

/* データ注意書き */
.rb-article__market-data-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 20px;
  margin: 0 0 28px;
  background: var(--rb-market-blue-gray);
  border-left: 5px solid var(--rb-color-navy);
  border-radius: 12px;
}

.rb-article__market-data-note-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  border-radius: 50%;
  font-size: 16px;
  font-weight: 800;
}

.rb-article__market-data-note strong {
  display: block;
  margin-bottom: 5px;
  color: var(--rb-color-navy);
  font-size: 16px;
}

.rb-article__market-data-note p {
  margin: 0;
  color: #4e6277;
  font-size: 13px;
  line-height: 1.75;
}

/* 目次 */
.rb-article__market-toc {
  padding: clamp(22px, 4vw, 32px);
  margin-bottom: 46px;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 16px;
}

.rb-article__market-toc-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 17px;
  color: var(--rb-color-navy);
  font-size: 18px;
  font-weight: 800;
}

.rb-article__market-toc-title::before {
  content: "目";
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--rb-color-white);
  background: var(--rb-color-orange);
  border-radius: 8px;
  font-size: 14px;
}

.rb-article__market-toc-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  list-style: none;
}

.rb-article__market-toc-list a {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 9px 0;
  color: var(--rb-color-text);
  text-decoration: none;
  border-bottom: 1px dashed var(--rb-color-line);
}

.rb-article__market-toc-list a:hover {
  color: var(--rb-market-orange-dark);
}

.rb-article__market-toc-num {
  flex: 0 0 auto;
  color: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 800;
}

/* 見出し */
.rb-article__market-section {
  margin: 0 0 58px;
  scroll-margin-top: 110px;
}

.rb-article__market-section-heading {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 15px;
  align-items: center;
  margin: 0 0 25px;
}

.rb-article__market-section-number {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  border-radius: 14px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
  box-shadow: 0 7px 17px rgba(22,59,105,0.18);
}

.rb-article__market-section-heading h2 {
  margin: 0;
  padding: 0 0 11px;
  color: var(--rb-color-navy);
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--rb-color-line);
  font-size: clamp(23px, 3.8vw, 32px);
  font-weight: 800;
  line-height: 1.45;
}

.rb-article__market-section-heading h2::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin-top: 10px;
  margin-bottom: -14px;
  background: var(--rb-color-orange);
  border-radius: 999px;
}

.rb-article--market h3 {
  position: relative;
  margin: 32px 0 16px;
  padding-left: 17px;
  color: var(--rb-color-navy);
  font-size: clamp(19px, 3vw, 24px);
  font-weight: 800;
  line-height: 1.55;
}

.rb-article--market h3::before {
  content: "";
  position: absolute;
  top: 0.25em;
  bottom: 0.25em;
  left: 0;
  width: 5px;
  background: var(--rb-color-orange);
  border-radius: 999px;
}

/* 結論ボックス */
.rb-article__market-conclusion {
  position: relative;
  overflow: hidden;
  padding: clamp(25px, 5vw, 42px);
  margin: 0 0 27px;
  background:
    linear-gradient(135deg, #fff8f2 0%, #fff 68%);
  border: 2px solid #ffd7bc;
  border-radius: 18px;
}

.rb-article__market-conclusion::after {
  content: "JULY";
  position: absolute;
  right: -4px;
  bottom: -28px;
  color: rgba(244,122,32,0.07);
  font-size: 90px;
  font-weight: 900;
  letter-spacing: -0.06em;
}

.rb-article__market-conclusion-label {
  display: inline-block;
  padding: 6px 11px;
  margin-bottom: 14px;
  color: var(--rb-color-white);
  background: var(--rb-color-orange);
  border-radius: 7px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.rb-article__market-conclusion strong {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--rb-color-navy);
  font-size: clamp(21px, 4vw, 30px);
  line-height: 1.55;
}

.rb-article__market-conclusion p {
  position: relative;
  z-index: 1;
  margin: 13px 0 0;
}

/* KPI */
.rb-article__market-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin: 25px 0;
}

.rb-article__market-kpi {
  padding: 20px 14px;
  text-align: center;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 14px;
  box-shadow: 0 5px 15px rgba(22,59,105,0.05);
}

.rb-article__market-kpi-label {
  min-height: 43px;
  color: var(--rb-color-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.rb-article__market-kpi-value {
  margin-top: 7px;
  color: var(--rb-color-navy);
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 900;
  line-height: 1.15;
}

.rb-article__market-kpi-value span {
  margin-left: 2px;
  font-size: 14px;
  font-weight: 700;
}

.rb-article__market-kpi-change {
  display: inline-block;
  padding: 3px 8px;
  margin-top: 9px;
  color: var(--rb-color-green);
  background: var(--rb-color-green-pale);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

/* 比較カード */
.rb-article__market-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 26px 0;
}

.rb-article__market-compare-card {
  overflow: hidden;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 16px;
  box-shadow: 0 7px 22px rgba(22,59,105,0.06);
}

.rb-article__market-compare-head {
  padding: 15px 20px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
}

.rb-article__market-compare-head--land {
  background: #375f74;
}

.rb-article__market-compare-head strong {
  display: block;
  font-size: 20px;
}

.rb-article__market-compare-head span {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,0.8);
  font-size: 11px;
}

.rb-article__market-compare-body {
  padding: 21px;
}

.rb-article__market-compare-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  text-align: center;
}

.rb-article__market-compare-date {
  color: var(--rb-color-muted);
  font-size: 12px;
  font-weight: 700;
}

.rb-article__market-compare-number {
  color: var(--rb-color-navy);
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 900;
  line-height: 1.25;
}

.rb-article__market-compare-number span {
  font-size: 14px;
}

.rb-article__market-compare-arrow {
  color: var(--rb-color-orange);
  font-size: 25px;
  font-weight: 900;
}

.rb-article__market-compare-result {
  padding: 10px;
  margin-top: 16px;
  color: var(--rb-color-green);
  text-align: center;
  background: var(--rb-color-green-pale);
  border-radius: 9px;
  font-size: 14px;
  font-weight: 800;
}

/* テーブル */
.rb-article__market-table-wrap {
  width: 100%;
  margin: 24px 0;
  overflow-x: auto;
  border: 1px solid var(--rb-color-line);
  border-radius: 14px;
  -webkit-overflow-scrolling: touch;
}

.rb-article__market-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: var(--rb-color-white);
}

.rb-article__market-table th,
.rb-article__market-table td {
  padding: 15px 14px;
  text-align: center;
  border-right: 1px solid var(--rb-color-line);
  border-bottom: 1px solid var(--rb-color-line);
}

.rb-article__market-table th:last-child,
.rb-article__market-table td:last-child {
  border-right: 0;
}

.rb-article__market-table tr:last-child td {
  border-bottom: 0;
}

.rb-article__market-table thead th {
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  font-size: 13px;
  font-weight: 800;
}

.rb-article__market-table tbody th {
  color: var(--rb-color-navy);
  background: var(--rb-market-blue-gray);
  font-weight: 800;
}

.rb-article__market-table td {
  color: var(--rb-color-text);
  font-weight: 700;
}

.rb-article__market-plus {
  color: var(--rb-color-green);
  font-weight: 900;
}

.rb-article__market-table-caption {
  margin-top: 8px;
  color: var(--rb-color-muted);
  font-size: 12px;
}

/* 小型統計カード */
.rb-article__market-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin: 24px 0;
}

.rb-article__market-stat {
  padding: 21px 15px;
  text-align: center;
  background: var(--rb-market-blue-gray);
  border: 1px solid var(--rb-color-line);
  border-radius: 13px;
}

.rb-article__market-stat-label {
  color: var(--rb-color-muted);
  font-size: 12px;
  font-weight: 700;
}

.rb-article__market-stat-value {
  margin-top: 5px;
  color: var(--rb-color-navy);
  font-size: clamp(25px, 4vw, 36px);
  font-weight: 900;
  line-height: 1.25;
}

.rb-article__market-stat-value small {
  font-size: 13px;
  font-weight: 700;
}

/* 価格帯バー */
.rb-article__market-band-card {
  padding: clamp(20px, 4vw, 30px);
  margin: 22px 0;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 16px;
}

.rb-article__market-band-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding-bottom: 13px;
  margin-bottom: 19px;
  border-bottom: 1px solid var(--rb-color-line);
}

.rb-article__market-band-title strong {
  color: var(--rb-color-navy);
  font-size: 19px;
}

.rb-article__market-band-title span {
  color: var(--rb-color-muted);
  font-size: 11px;
}

.rb-article__market-bar-row {
  display: grid;
  grid-template-columns: 145px 1fr 72px;
  gap: 12px;
  align-items: center;
  margin-bottom: 13px;
}

.rb-article__market-bar-row:last-child {
  margin-bottom: 0;
}

.rb-article__market-bar-label {
  color: var(--rb-color-text);
  font-size: 13px;
  font-weight: 700;
}

.rb-article__market-bar-track {
  height: 12px;
  overflow: hidden;
  background: #e9eff5;
  border-radius: 999px;
}

.rb-article__market-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--rb-color-navy), #2f679c);
  border-radius: 999px;
}

.rb-article__market-bar-fill--orange {
  background: linear-gradient(90deg, var(--rb-color-orange), #f9a15e);
}

.rb-article__market-bar-value {
  color: var(--rb-color-navy);
  text-align: right;
  font-size: 13px;
  font-weight: 900;
}

/* ポイントボックス */
.rb-article__market-point {
  padding: 20px 22px;
  margin: 23px 0;
  background: var(--rb-color-orange-pale);
  border-left: 5px solid var(--rb-color-orange);
  border-radius: 11px;
}

.rb-article__market-point strong {
  display: block;
  margin-bottom: 6px;
  color: var(--rb-market-orange-dark);
}

.rb-article__market-point p {
  margin: 0;
}

/* 箇条書き */
.rb-article__market-check-list {
  display: grid;
  gap: 10px;
  margin: 20px 0 25px;
  list-style: none;
}

.rb-article__market-check-list li {
  position: relative;
  padding: 14px 16px 14px 46px;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 11px;
}

.rb-article__market-check-list li::before {
  content: "✓";
  position: absolute;
  top: 14px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 900;
}

/* 戦略カード */
.rb-article__market-strategy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin-top: 25px;
}

.rb-article__market-strategy {
  position: relative;
  padding: 24px 22px 22px;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 14px;
}

.rb-article__market-strategy-num {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 11px;
  color: var(--rb-color-white);
  background: var(--rb-color-orange);
  border-radius: 9px;
  font-size: 12px;
  font-weight: 900;
}

.rb-article__market-strategy h3 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 18px;
}

.rb-article__market-strategy h3::before {
  display: none;
}

.rb-article__market-strategy p {
  margin: 0;
  color: #53677a;
  font-size: 14px;
}

/* 内部リンク */
.rb-article__market-related {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.rb-article__market-related a {
  display: flex;
  flex-direction: column;
  min-height: 155px;
  padding: 20px;
  color: var(--rb-color-text);
  text-decoration: none;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 14px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.rb-article__market-related a:hover {
  color: var(--rb-color-text);
  border-color: #b8cce0;
  box-shadow: 0 9px 22px rgba(22,59,105,0.1);
  transform: translateY(-3px);
}

.rb-article__market-related-label {
  margin-bottom: 9px;
  color: var(--rb-color-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.rb-article__market-related-title {
  color: var(--rb-color-navy);
  font-weight: 800;
  line-height: 1.6;
}

.rb-article__market-related-arrow {
  margin-top: auto;
  padding-top: 12px;
  color: var(--rb-market-orange-dark);
  font-size: 13px;
  font-weight: 800;
}

/* まとめ */
.rb-article__market-summary {
  padding: clamp(25px, 5vw, 42px);
  background: var(--rb-color-navy);
  border-radius: 18px;
  color: var(--rb-color-white);
}

.rb-article__market-summary h2 {
  margin: 0 0 17px;
  padding: 0;
  color: var(--rb-color-white);
  background: transparent;
  border: 0;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 800;
}

.rb-article__market-summary p {
  color: #edf5fc;
}

.rb-article__market-summary ul {
  display: grid;
  gap: 10px;
  margin: 22px 0;
  list-style: none;
}

.rb-article__market-summary li {
  position: relative;
  padding-left: 28px;
  color: #edf5fc;
}

.rb-article__market-summary li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 3px;
  width: 11px;
  height: 6px;
  border-bottom: 3px solid var(--rb-color-orange);
  border-left: 3px solid var(--rb-color-orange);
  transform: rotate(-45deg);
}

/* CTA */
.rb-article__market-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 6vw, 55px);
  margin-top: 40px;
  text-align: center;
  background:
    linear-gradient(135deg, #fff7f0 0%, #ffffff 70%);
  border: 2px solid #ffd5b7;
  border-radius: 20px;
}

.rb-article__market-cta::before {
  content: "";
  position: absolute;
  top: -80px;
  left: -70px;
  width: 200px;
  height: 200px;
  background: rgba(244,122,32,0.07);
  border-radius: 50%;
}

.rb-article__market-cta-en {
  position: relative;
  color: var(--rb-color-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.rb-article__market-cta h2 {
  position: relative;
  margin: 10px 0 15px;
  padding: 0;
  color: var(--rb-color-navy);
  background: transparent;
  border: 0;
  font-size: clamp(24px, 4vw, 34px);
  font-weight: 800;
  line-height: 1.5;
}

.rb-article__market-cta p {
  position: relative;
  max-width: 680px;
  margin: 0 auto 23px;
}

.rb-article__market-cta-badges {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 23px;
}

.rb-article__market-cta-badge {
  padding: 6px 11px;
  color: var(--rb-color-navy);
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.rb-article__market-cta-buttons {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 280px));
  justify-content: center;
  gap: 12px;
}

.rb-article__market-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 14px 20px;
  color: var(--rb-color-white) !important;
  text-decoration: none !important;
  background: var(--rb-color-orange);
  border: 2px solid var(--rb-color-orange);
  border-radius: 10px;
  font-weight: 800;
  box-shadow: 0 7px 16px rgba(244,122,32,0.2);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.rb-article__market-button:hover {
  color: var(--rb-color-white) !important;
  background: var(--rb-market-orange-dark);
  border-color: var(--rb-market-orange-dark);
  box-shadow: 0 9px 20px rgba(244,122,32,0.28);
  transform: translateY(-2px);
}

.rb-article__market-button--sub {
  color: var(--rb-color-navy) !important;
  background: var(--rb-color-white);
  border-color: var(--rb-color-navy);
  box-shadow: none;
}

.rb-article__market-button--sub:hover {
  color: var(--rb-color-white) !important;
  background: var(--rb-color-navy);
  border-color: var(--rb-color-navy);
}

.rb-article__market-cta-note {
  position: relative;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  color: var(--rb-color-muted);
  font-size: 12px;
}

/* 注記 */
.rb-article__market-footnote {
  padding: 19px 21px;
  margin-top: 30px;
  color: #53677a;
  background: var(--rb-market-blue-gray);
  border: 1px solid var(--rb-color-line);
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.75;
}

.rb-article__market-footnote strong {
  color: var(--rb-color-navy);
}

/* タブレット */
@media (max-width: 850px) {
  .rb-article__market-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rb-article__market-related {
    grid-template-columns: 1fr;
  }

  .rb-article__market-related a {
    min-height: 0;
  }
}

/* スマートフォン */
@media (max-width: 640px) {
  .rb-article--market {
    font-size: 15px;
    line-height: 1.85;
  }

  .rb-article__market-hero {
    margin-right: -4px;
    margin-left: -4px;
    border-radius: 15px;
  }

  .rb-article__market-title {
    font-size: 28px;
  }

  .rb-article__market-toc-list,
  .rb-article__market-compare-grid,
  .rb-article__market-strategy-grid,
  .rb-article__market-cta-buttons {
    grid-template-columns: 1fr;
  }

  .rb-article__market-section {
    margin-bottom: 48px;
  }

  .rb-article__market-section-heading {
    grid-template-columns: 42px 1fr;
    gap: 11px;
  }

  .rb-article__market-section-number {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    font-size: 12px;
  }

  .rb-article__market-section-heading h2 {
    font-size: 23px;
  }

  .rb-article__market-kpi-grid {
    gap: 9px;
  }

  .rb-article__market-kpi {
    padding: 17px 9px;
  }

  .rb-article__market-kpi-label {
    min-height: 38px;
    font-size: 11px;
  }

  .rb-article__market-kpi-value {
    font-size: 28px;
  }

  .rb-article__market-stats {
    grid-template-columns: 1fr;
  }

  .rb-article__market-bar-row {
    grid-template-columns: 110px 1fr 56px;
    gap: 8px;
  }

  .rb-article__market-bar-label,
  .rb-article__market-bar-value {
    font-size: 11px;
  }

  .rb-article__market-data-note {
    grid-template-columns: 1fr;
  }

  .rb-article__market-data-note-icon {
    width: 30px;
    height: 30px;
  }

  .rb-article__market-cta {
    text-align: left;
  }

  .rb-article__market-cta-badges {
    justify-content: flex-start;
  }

  .rb-article__market-cta-buttons {
    max-width: none;
  }

  .rb-article__market-button {
    width: 100%;
  }
}

@media (max-width: 390px) {
  .rb-article__market-hero {
    padding-right: 18px;
    padding-left: 18px;
  }

  .rb-article__market-kpi-grid {
    grid-template-columns: 1fr;
  }

  .rb-article__market-kpi-label {
    min-height: 0;
  }

  .rb-article__market-compare-flow {
    grid-template-columns: 1fr;
  }

  .rb-article__market-compare-arrow {
    transform: rotate(90deg);
  }
}

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Market type / compatibility overrides

   目的：
   Elementor・Theme Builder・既存投稿CSSの見出し装飾より
   市場レポート専用デザインを確実に優先する。

   子テーマ style.css の「一番下」へ追加してください。
========================================================= */

/* ---------------------------------------------------------
   市場レポート：セクションH2
--------------------------------------------------------- */
.single-post .rb-article.rb-article--market
.rb-article__market-section-heading h2 {
  margin: 0 !important;
  padding: 0 0 11px !important;

  color: var(--rb-color-navy) !important;
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 2px solid var(--rb-color-line) !important;
  border-radius: 0 !important;

  font-family: inherit !important;
  font-size: clamp(23px, 3.8vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;

  box-shadow: none !important;
}

.single-post .rb-article.rb-article--market
.rb-article__market-section-heading h2::before {
  content: none !important;
  display: none !important;
}

.single-post .rb-article.rb-article--market
.rb-article__market-section-heading h2::after {
  content: "" !important;
  display: block !important;

  position: static !important;

  width: 76px !important;
  height: 3px !important;

  margin: 10px 0 -14px !important;

  background: var(--rb-color-orange) !important;
  border: 0 !important;
  border-radius: 999px !important;

  transform: none !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   市場レポート：通常H3
--------------------------------------------------------- */
.single-post .rb-article.rb-article--market h3 {
  position: relative !important;

  margin: 32px 0 16px !important;
  padding: 0 0 0 17px !important;

  color: var(--rb-color-navy) !important;
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;

  font-family: inherit !important;
  font-size: clamp(19px, 3vw, 24px) !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;

  box-shadow: none !important;
}

.single-post .rb-article.rb-article--market h3::before {
  content: "" !important;
  display: block !important;

  position: absolute !important;
  top: 0.25em !important;
  bottom: 0.25em !important;
  left: 0 !important;

  width: 5px !important;
  height: auto !important;

  margin: 0 !important;

  background: var(--rb-color-orange) !important;
  border: 0 !important;
  border-radius: 999px !important;

  transform: none !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--market h3::after {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   戦略カード内H3
--------------------------------------------------------- */
.single-post .rb-article.rb-article--market
.rb-article__market-strategy h3 {
  position: static !important;

  margin: 0 0 8px !important;
  padding: 0 !important;

  color: var(--rb-color-navy) !important;
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;

  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;

  box-shadow: none !important;
}

.single-post .rb-article.rb-article--market
.rb-article__market-strategy h3::before,
.single-post .rb-article.rb-article--market
.rb-article__market-strategy h3::after {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   まとめ内H2
--------------------------------------------------------- */
.single-post .rb-article.rb-article--market
.rb-article__market-summary h2 {
  margin: 0 0 17px !important;
  padding: 0 !important;

  color: var(--rb-color-white) !important;
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;

  font-size: clamp(24px, 4vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;

  box-shadow: none !important;
}

.single-post .rb-article.rb-article--market
.rb-article__market-summary h2::before,
.single-post .rb-article.rb-article--market
.rb-article__market-summary h2::after {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   記事内CTAのH2
--------------------------------------------------------- */
.single-post .rb-article.rb-article--market
.rb-article__market-cta h2 {
  position: relative !important;

  margin: 10px 0 15px !important;
  padding: 0 !important;

  color: var(--rb-color-navy) !important;
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;

  font-size: clamp(24px, 4vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;

  box-shadow: none !important;
}

.single-post .rb-article.rb-article--market
.rb-article__market-cta h2::before,
.single-post .rb-article.rb-article--market
.rb-article__market-cta h2::after {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   スマートフォン
--------------------------------------------------------- */
@media (max-width: 640px) {
  .single-post .rb-article.rb-article--market
  .rb-article__market-section-heading h2 {
    font-size: 23px !important;
  }
}

/* 市場レポート：比較カードの見出し文字色を強制調整 */
.single-post .rb-article.rb-article--market .rb-article__market-compare-head {
  color: #ffffff !important;
}

.single-post .rb-article.rb-article--market .rb-article__market-compare-head strong {
  color: #ffffff !important;
}

.single-post .rb-article.rb-article--market .rb-article__market-compare-head span {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* 土地側の濃い青緑背景も少しだけ見やすく */
.single-post .rb-article.rb-article--market .rb-article__market-compare-head--land {
  background: #3f6a7f !important;
}

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Series type
   Validated article: kitami-can-i-sell-my-house

   functions.php から投稿ページで読み込みます。
   
========================================================= */

.rb-article--series {
  --rb-color-red: #a84343;
  --rb-color-red-pale: #fff3f3;
  --rb-series-yellow-pale: #fffbea;
}

/* シリーズ型ヒーロー */
.rb-article--series .rb-article__hero {
  background:
    linear-gradient(
      135deg,
      var(--rb-color-white) 0%,
      var(--rb-color-white) 70%,
      var(--rb-color-blue-pale) 100%
    );
}

.rb-article--series .rb-article__hero::after {
  width: 135px;
}

.rb-article__series-title-accent {
  color: var(--rb-color-orange);
}

.rb-article__series-title-small {
  display: block;
  margin-top: 9px;
  color: var(--rb-color-navy-dark);
  font-size: 0.53em;
  line-height: 1.65;
  letter-spacing: 0;
}

/* ヒーロー内の結論 */
.rb-article__series-hero-answer {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  margin-top: 24px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__series-hero-answer-label {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rb-color-orange);
  color: var(--rb-color-white);
  font-size: 19px;
  font-weight: 900;
}

.rb-article__series-hero-answer-body {
  padding: 17px 19px;
  color: var(--rb-color-navy-dark);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.75;
}

/* シリーズ固有の補足ボックス */
.rb-article__series-note--simple {
  border: 1px solid #eee5ba;
  background: var(--rb-series-yellow-pale);
}

/* シリーズ固有のカード・チェックリスト */
.rb-article__series-card--orange {
  border-top: 3px solid var(--rb-color-orange);
}

.rb-article__series-checklist--question li::before {
  content: "?";
  background: var(--rb-color-orange-pale);
  color: var(--rb-color-orange);
}

/* 原稿のサイズ感を維持 */
.rb-article--series .rb-article__table {
  min-width: 720px;
}

.rb-article--series .rb-article__comparison-item {
  grid-template-columns: 112px minmax(0, 1fr);
}

/* 「売れるの？」シリーズ一覧 */
.rb-article__series-directory {
  margin: 47px 34px 0;
  padding: 25px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-blue-pale);
}

.rb-article__series-directory-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.rb-article__series-directory-title {
  color: var(--rb-color-navy);
  font-size: 18px;
  font-weight: 900;
}

.rb-article__series-directory-title small {
  display: block;
  color: var(--rb-color-orange);
  font-size: 10px;
  letter-spacing: 0.11em;
}

.rb-article__series-directory-home {
  font-size: 12px;
  text-decoration: none !important;
  white-space: nowrap;
}

.rb-article__series-directory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-article__series-directory-grid a {
  display: block;
  height: 100%;
  padding: 12px 13px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
  color: var(--rb-color-navy);
  font-size: 13px;
  line-height: 1.65;
  text-decoration: none !important;
}

.rb-article__series-directory-grid a::before {
  content: "?";
  display: inline-block;
  margin-right: 8px;
  color: var(--rb-color-orange);
  font-weight: 900;
}

.rb-article__series-directory-item--current a {
  border-color: var(--rb-color-orange);
  background: var(--rb-color-orange-pale);
}

.rb-article__series-directory-item--current a::before {
  content: "●";
}

.rb-article__series-pager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}

.rb-article__series-pager a {
  padding: 11px 13px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
  font-size: 12px;
  text-decoration: none !important;
}

.rb-article__series-pager-link--next {
  text-align: right;
}

/* スマートフォン */
@media (max-width: 700px) {
  .rb-article--series .rb-article__hero-title {
    font-size: 30px;
  }

  .rb-article__series-hero-answer {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .rb-article--series .rb-article__comparison-item {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .rb-article__series-directory {
    margin-right: 20px;
    margin-left: 20px;
  }

  .rb-article__series-directory-head {
    display: block;
  }

  .rb-article__series-directory-home {
    display: inline-block;
    margin-top: 8px;
  }

  .rb-article__series-directory-grid,
  .rb-article__series-pager {
    grid-template-columns: 1fr;
  }

  .rb-article__series-pager-link--next {
    text-align: left;
  }
}

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Case type
   Validated article: kitami-kodate-purchase-case-01

   functions.php から投稿ページで読み込みます。
   
========================================================= */

.rb-article--case {
  --rb-case-ink: #142b46;
  --rb-case-slate: #53697d;
  --rb-case-surface: #f6f8fb;
  --rb-case-surface-blue: #edf3f8;
  --rb-case-line-strong: #c7d6e3;
  --rb-case-shadow: 0 18px 48px rgba(15, 44, 80, 0.08);

  max-width: 980px;
  font-size: 16px;
  line-height: 1.95;
}

.rb-article--case,
.rb-article--case *,
.rb-article--case *::before,
.rb-article--case *::after {
  box-sizing: border-box;
}

.rb-article__case-inner {
  width: 100%;
  margin: 0 auto;
}

/* ---------------------------------------------------------
   Hero
--------------------------------------------------------- */
.rb-article__case-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(38px, 6vw, 66px);
  border-top: 6px solid var(--rb-color-navy);
  border-bottom: 1px solid var(--rb-color-line);
  background:
    linear-gradient(
      110deg,
      var(--rb-color-white) 0%,
      var(--rb-color-white) 62%,
      var(--rb-color-blue-pale) 100%
    );
}

.rb-article__case-hero::before {
  content: "CASE 01";
  position: absolute;
  right: 26px;
  bottom: -16px;
  color: rgba(22, 59, 105, 0.055);
  font-size: clamp(72px, 13vw, 148px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.07em;
  pointer-events: none;
}

.rb-article__case-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 170px;
  height: 6px;
  background: var(--rb-color-orange);
}

.rb-article__case-eyebrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  color: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.rb-article__case-eyebrow::before {
  content: "";
  width: 38px;
  height: 2px;
  background: var(--rb-color-orange);
}

.rb-article__case-title {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0;
  color: var(--rb-case-ink);
  font-size: clamp(30px, 5vw, 48px);
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: -0.035em;
}

.rb-article__case-title-accent {
  color: var(--rb-color-orange);
}

.rb-article__case-lead {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 23px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--rb-color-line);
  color: var(--rb-case-slate);
  font-size: 16px;
  line-height: 1.95;
}

/* ---------------------------------------------------------
   Summary strip
--------------------------------------------------------- */
.rb-article__case-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-right: 1px solid var(--rb-color-line);
  border-bottom: 1px solid var(--rb-color-line);
  border-left: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__case-summary-item {
  position: relative;
  min-width: 0;
  padding: 22px 18px 20px;
  border-right: 1px solid var(--rb-color-line);
}

.rb-article__case-summary-item:last-child {
  border-right: 0;
}

.rb-article__case-summary-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18px;
  width: 34px;
  height: 3px;
  background: var(--rb-color-orange);
}

.rb-article__case-summary-label {
  display: block;
  margin-bottom: 6px;
  color: var(--rb-color-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
}

.rb-article__case-summary-value {
  display: block;
  color: var(--rb-case-ink);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.5;
}

/* ---------------------------------------------------------
   Body and numbered section headings
--------------------------------------------------------- */
.rb-article__case-body {
  counter-reset: rb-case-section;
  padding: 54px 34px 0;
}

.rb-article__case-section {
  counter-increment: rb-case-section;
  margin: 0 0 62px;
  scroll-margin-top: 110px;
}

.single-post .rb-article.rb-article--case
.rb-article__case-heading {
  position: relative !important;
  margin: 0 0 27px !important;
  padding: 0 0 15px 70px !important;

  color: var(--rb-case-ink) !important;
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-bottom: 1px solid var(--rb-case-line-strong) !important;
  border-radius: 0 !important;

  font-family: inherit !important;
  font-size: clamp(23px, 3.4vw, 31px) !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: -0.02em !important;

  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-heading::before {
  content: counter(rb-case-section, decimal-leading-zero) !important;
  display: grid !important;
  place-items: center !important;

  position: absolute !important;
  top: -2px !important;
  left: 0 !important;

  width: 52px !important;
  height: 44px !important;

  color: var(--rb-color-white) !important;
  background: var(--rb-color-navy) !important;
  border: 0 !important;
  border-radius: 0 !important;

  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;

  transform: none !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-heading::after {
  content: "" !important;
  display: block !important;

  position: absolute !important;
  right: 0 !important;
  bottom: -1px !important;
  left: auto !important;

  width: 92px !important;
  height: 3px !important;

  background: var(--rb-color-orange) !important;
  border: 0 !important;

  transform: none !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   Property sheet
--------------------------------------------------------- */
.rb-article__case-property {
  overflow: hidden;
  border: 1px solid var(--rb-case-line-strong);
  background: var(--rb-color-white);
}

.rb-article__case-property-head {
  padding: 15px 20px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.rb-article__case-property-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rb-article__case-property-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  min-width: 0;
  border-bottom: 1px solid var(--rb-color-line);
}

.rb-article__case-property-row:nth-child(odd) {
  border-right: 1px solid var(--rb-color-line);
}

.rb-article__case-property-label,
.rb-article__case-property-value {
  min-width: 0;
  padding: 14px 15px;
}

.rb-article__case-property-label {
  color: var(--rb-color-navy);
  background: var(--rb-case-surface);
  font-size: 13px;
  font-weight: 900;
}

.rb-article__case-property-value {
  color: var(--rb-color-text);
  background: var(--rb-color-white);
}

.rb-article__case-privacy {
  margin-top: 14px;
  padding: 14px 16px;
  color: var(--rb-color-muted);
  background: var(--rb-case-surface);
  border-left: 4px solid var(--rb-case-line-strong);
  font-size: 12px;
  line-height: 1.75;
}

/* ---------------------------------------------------------
   Pull quote
--------------------------------------------------------- */
.rb-article__case-pullquote {
  position: relative;
  margin: 26px 0;
  padding: 24px 26px 24px 34px;
  color: var(--rb-case-ink);
  background: var(--rb-color-orange-pale);
  border-left: 6px solid var(--rb-color-orange);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.9;
}

.rb-article__case-pullquote::before {
  content: "“";
  position: absolute;
  top: -14px;
  right: 18px;
  color: rgba(244, 122, 32, 0.16);
  font-size: 86px;
  font-weight: 900;
  line-height: 1;
}

/* ---------------------------------------------------------
   Issue cards
--------------------------------------------------------- */
.rb-article__case-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 26px 0;
}

.rb-article__case-card {
  position: relative;
  min-width: 0;
  padding: 24px 21px 22px;
  border-top: 4px solid var(--rb-color-orange);
  border-right: 1px solid var(--rb-color-line);
  border-bottom: 1px solid var(--rb-color-line);
  border-left: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__case-card-number {
  margin-bottom: 13px;
  color: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.13em;
}

.rb-article__case-card-number::before {
  content: "ISSUE ";
}

.single-post .rb-article.rb-article--case
.rb-article__case-card-title {
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: var(--rb-case-ink) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-card-title::before,
.single-post .rb-article.rb-article--case
.rb-article__case-card-title::after {
  content: none !important;
  display: none !important;
}

.rb-article__case-card p {
  margin: 0;
  color: var(--rb-case-slate);
  font-size: 14px;
  line-height: 1.8;
}

/* ---------------------------------------------------------
   Buying reason
--------------------------------------------------------- */
.rb-article__case-reason {
  position: relative;
  margin: 28px 0;
  padding: 30px 30px 28px;
  border: 1px solid var(--rb-case-line-strong);
  background:
    linear-gradient(
      120deg,
      var(--rb-case-surface-blue) 0%,
      var(--rb-color-white) 72%
    );
}

.rb-article__case-reason::before {
  content: "PURCHASE POINT";
  display: inline-block;
  margin-bottom: 13px;
  color: var(--rb-color-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.single-post .rb-article.rb-article--case
.rb-article__case-reason-title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--rb-case-ink) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-reason-title::before,
.single-post .rb-article.rb-article--case
.rb-article__case-reason-title::after {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   Related article
--------------------------------------------------------- */
.rb-article__case-related {
  position: relative;
  margin: 24px 0;
  padding: 19px 20px 19px 136px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-case-surface);
  color: var(--rb-case-slate);
  font-size: 14px;
  line-height: 1.8;
}

.rb-article__case-related-label {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 116px;
  padding: 12px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: center;
}

.rb-article__case-related a {
  color: var(--rb-color-navy) !important;
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.rb-article__case-related a:hover {
  color: var(--rb-color-orange) !important;
}

/* ---------------------------------------------------------
   Comparison
--------------------------------------------------------- */
.rb-article__case-compare {
  overflow-x: auto;
  margin: 27px 0;
  border: 1px solid var(--rb-color-line);
  -webkit-overflow-scrolling: touch;
}

.rb-article__case-compare-row {
  display: grid;
  grid-template-columns: 140px minmax(220px, 1fr) minmax(220px, 1fr);
  min-width: 640px;
}

.rb-article__case-compare-row + .rb-article__case-compare-row {
  border-top: 1px solid var(--rb-color-line);
}

.rb-article__case-compare-cell {
  padding: 15px 17px;
  border-right: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__case-compare-cell:last-child {
  border-right: 0;
}

.rb-article__case-compare-row--head .rb-article__case-compare-cell {
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  text-align: center;
  font-weight: 900;
}

.rb-article__case-compare-row--head
.rb-article__case-compare-cell:first-child {
  background: var(--rb-color-navy-dark);
}

.rb-article__case-compare-row:not(.rb-article__case-compare-row--head)
.rb-article__case-compare-cell:first-child {
  color: var(--rb-color-navy);
  background: var(--rb-case-surface);
  font-weight: 900;
}

.rb-article__case-compare-cell--buy {
  background: #fff8f2;
}

/* ---------------------------------------------------------
   Timeline
--------------------------------------------------------- */
.rb-article__case-timeline {
  position: relative;
  margin: 30px 0 0;
  padding-left: 42px;
}

.rb-article__case-timeline::before {
  content: "";
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: 12px;
  width: 2px;
  background: var(--rb-case-line-strong);
}

.rb-article__case-timeline-item {
  position: relative;
  margin-bottom: 28px;
  padding: 0 0 0 18px;
}

.rb-article__case-timeline-item::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -36px;
  width: 16px;
  height: 16px;
  background: var(--rb-color-orange);
  border: 4px solid var(--rb-color-white);
  box-shadow: 0 0 0 2px var(--rb-color-orange);
}

.rb-article__case-timeline-date {
  display: inline-block;
  margin-bottom: 5px;
  color: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.single-post .rb-article.rb-article--case
.rb-article__case-timeline-title {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: var(--rb-case-ink) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-timeline-title::before,
.single-post .rb-article.rb-article--case
.rb-article__case-timeline-title::after {
  content: none !important;
  display: none !important;
}

.rb-article__case-timeline-text {
  margin: 0;
  color: var(--rb-case-slate);
}

/* ---------------------------------------------------------
   Message
--------------------------------------------------------- */
.rb-article__case-message {
  margin: 30px 0;
  padding: 28px 30px;
  color: var(--rb-color-text);
  background: var(--rb-case-surface-blue);
  border-left: 7px solid var(--rb-color-orange);
}

.single-post .rb-article.rb-article--case
.rb-article__case-message-title {
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: var(--rb-color-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-message-title::before,
.single-post .rb-article.rb-article--case
.rb-article__case-message-title::after {
  content: none !important;
  display: none !important;
}

.rb-article__case-message p {
  margin: 0;
}

.rb-article__case-message strong {
  color: var(--rb-color-orange);
}

/* ---------------------------------------------------------
   Checklist
--------------------------------------------------------- */
.rb-article__case-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.rb-article__case-checklist li {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 14px 15px 14px 42px;
  color: var(--rb-case-slate);
  background: var(--rb-color-white);
  border-bottom: 1px solid var(--rb-color-line);
  font-weight: 700;
}

.rb-article__case-checklist li::before {
  content: "✓";
  position: absolute;
  top: 14px;
  left: 13px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: var(--rb-color-white);
  background: var(--rb-color-green);
  font-size: 11px;
  font-weight: 900;
}

/* ---------------------------------------------------------
   FAQ
--------------------------------------------------------- */
.rb-article__case-faq {
  margin-top: 24px;
  border-top: 1px solid var(--rb-color-line);
}

.rb-article__case-faq-item {
  border-bottom: 1px solid var(--rb-color-line);
}

.single-post .rb-article.rb-article--case
.rb-article__case-faq-question {
  position: relative !important;
  margin: 0 !important;
  padding: 20px 20px 20px 54px !important;
  color: var(--rb-case-ink) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.65 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-faq-question::before {
  content: "Q" !important;
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  top: 19px !important;
  left: 12px !important;
  width: 26px !important;
  height: 26px !important;
  color: var(--rb-color-white) !important;
  background: var(--rb-color-navy) !important;
  border: 0 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-faq-question::after {
  content: none !important;
  display: none !important;
}

.rb-article__case-faq-answer {
  position: relative;
  padding: 0 20px 21px 54px;
  color: var(--rb-case-slate);
}

.rb-article__case-faq-answer::before {
  content: "A";
  position: absolute;
  top: 1px;
  left: 12px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: var(--rb-color-white);
  background: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 900;
}

.rb-article__case-faq-answer p {
  margin: 0;
}

/* ---------------------------------------------------------
   CTA
--------------------------------------------------------- */
.rb-article__case-cta {
  position: relative;
  overflow: hidden;
  margin: 70px -34px 0;
  padding: clamp(34px, 6vw, 54px);
  color: var(--rb-color-white);
  background:
    linear-gradient(
      135deg,
      var(--rb-color-navy-dark) 0%,
      var(--rb-color-navy) 100%
    );
  text-align: center;
}

.rb-article__case-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: var(--rb-color-orange);
}

.rb-article__case-cta::after {
  content: "SELL";
  position: absolute;
  right: -10px;
  bottom: -32px;
  color: rgba(255, 255, 255, 0.045);
  font-size: 120px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.07em;
}

.rb-article__case-cta-kicker {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 10px;
  color: #ffc69d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.single-post .rb-article.rb-article--case
.rb-article__case-cta-title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
  color: var(--rb-color-white) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: clamp(25px, 4vw, 35px) !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--case
.rb-article__case-cta-title::before,
.single-post .rb-article.rb-article--case
.rb-article__case-cta-title::after {
  content: none !important;
  display: none !important;
}

.rb-article__case-cta-text {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto 23px !important;
  color: rgba(255, 255, 255, 0.9);
}

.rb-article__case-cta-buttons {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}

.rb-article__case-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  min-height: 56px;
  padding: 13px 24px;
  color: var(--rb-color-white) !important;
  background: var(--rb-color-orange);
  border: 2px solid var(--rb-color-orange);
  font-size: 15px;
  font-weight: 900;
  text-decoration: none !important;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.rb-article__case-cta-button:hover {
  color: var(--rb-color-white) !important;
  background: #d96512;
  border-color: #d96512;
  transform: translateY(-2px);
}

.rb-article__case-cta-area {
  position: relative;
  z-index: 1;
  margin: 15px 0 0 !important;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

/* ---------------------------------------------------------
   Tablet
--------------------------------------------------------- */
@media (max-width: 820px) {
  .rb-article__case-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rb-article__case-summary-item:nth-child(2) {
    border-right: 0;
  }

  .rb-article__case-summary-item:nth-child(-n + 2) {
    border-bottom: 1px solid var(--rb-color-line);
  }

  .rb-article__case-property-grid {
    grid-template-columns: 1fr;
  }

  .rb-article__case-property-row:nth-child(odd) {
    border-right: 0;
  }

  .rb-article__case-card-grid {
    grid-template-columns: 1fr;
  }

  .rb-article__case-checklist {
    grid-template-columns: 1fr;
  }
}

/* ---------------------------------------------------------
   Smartphone
--------------------------------------------------------- */
@media (max-width: 640px) {
  .rb-article--case {
    font-size: 15px;
  }

  .rb-article__case-hero {
    padding: 31px 21px 30px;
  }

  .rb-article__case-title {
    font-size: 27px;
  }

  .rb-article__case-lead {
    font-size: 15px;
  }

  .rb-article__case-summary-item {
    padding: 18px 13px 17px;
  }

  .rb-article__case-summary-value {
    font-size: 15px;
  }

  .rb-article__case-body {
    padding: 44px 20px 0;
  }

  .rb-article__case-section {
    margin-bottom: 50px;
  }

  .single-post .rb-article.rb-article--case
  .rb-article__case-heading {
    padding-left: 58px !important;
    font-size: 22px !important;
  }

  .single-post .rb-article.rb-article--case
  .rb-article__case-heading::before {
    width: 44px !important;
    height: 40px !important;
  }

  .rb-article__case-property-row {
    grid-template-columns: 98px minmax(0, 1fr);
  }

  .rb-article__case-property-label,
  .rb-article__case-property-value {
    padding: 12px 11px;
  }

  .rb-article__case-pullquote,
  .rb-article__case-reason,
  .rb-article__case-message {
    padding: 22px 19px;
  }

  .rb-article__case-related {
    padding: 58px 16px 17px;
  }

  .rb-article__case-related-label {
    right: 0;
    bottom: auto;
    width: auto;
    height: 42px;
  }

  .rb-article__case-timeline {
    padding-left: 34px;
  }

  .rb-article__case-cta {
    margin-right: -20px;
    margin-left: -20px;
    padding: 36px 22px;
    text-align: left;
  }

  .rb-article__case-cta-buttons {
    justify-content: stretch;
  }

  .rb-article__case-cta-button {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Phase 2 / Guide extension
   Validated article: kitami-kaitori-chukai-difference
========================================================= */

/* ヒーロータイトル */
.rb-article__guide-title-accent {
  color: var(--rb-color-orange);
}

.rb-article__guide-title-small {
  display: block;
  margin-top: 9px;
  color: var(--rb-color-navy-dark);
  font-size: 0.53em;
  line-height: 1.65;
  letter-spacing: 0;
}

/* ヒーロー内の結論 */
.rb-article__guide-answer {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  margin-top: 24px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__guide-answer-label {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rb-color-white);
  background: var(--rb-color-orange);
  font-size: 19px;
  font-weight: 900;
}

.rb-article__guide-answer-body {
  padding: 17px 19px;
  color: var(--rb-color-navy-dark);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.75;
}

/* 関連ガイド */
.rb-article__guide-related {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 18px;
  margin: 25px 34px 0;
  padding: 18px;
  color: inherit !important;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  text-decoration: none !important;
}

.rb-article__guide-related:hover {
  border-color: var(--rb-color-orange);
}

.rb-article__guide-related-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 92px;
  color: var(--rb-color-navy);
  background: var(--rb-color-blue-pale);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-align: center;
}

.rb-article__guide-related-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--rb-color-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.rb-article__guide-related-title {
  margin-bottom: 5px;
  color: var(--rb-color-navy);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.55;
}

.rb-article__guide-related-text {
  margin: 0 !important;
  color: var(--rb-color-muted);
  font-size: 12px !important;
  line-height: 1.7;
}

/* 仲介・買取カード */
.rb-article__guide-card--brokerage {
  border-top: 4px solid var(--rb-color-navy);
}

.rb-article__guide-card--purchase {
  border-top: 4px solid var(--rb-color-orange);
}

.rb-article--guide .rb-article__card--success,
.rb-article--guide .rb-article__card--alert {
  border-top-width: 4px;
}

/* 注意チェック */
.rb-article__guide-checklist--orange li::before {
  content: "!";
  color: var(--rb-color-orange);
  background: var(--rb-color-orange-pale);
}

/* 査定額の比較カード */
.rb-article__guide-number-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0;
}

.rb-article__guide-number-card {
  padding: 22px;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
}

.rb-article__guide-number-card--brokerage {
  border-top: 4px solid var(--rb-color-navy);
}

.rb-article__guide-number-card--purchase {
  border-top: 4px solid var(--rb-color-orange);
}

.rb-article__guide-number-label {
  display: block;
  margin-bottom: 7px;
  color: var(--rb-color-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.rb-article__guide-number-value {
  color: var(--rb-color-navy);
  font-size: 28px;
  font-weight: 900;
  line-height: 1.3;
}

.rb-article__guide-number-card p {
  margin: 8px 0 0;
  color: var(--rb-color-muted);
  font-size: 12px;
  line-height: 1.7;
}

/* 記事末の比較CTA */
.rb-article__guide-summary {
  margin: 45px 34px 0;
  padding: 28px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  border-top: 5px solid var(--rb-color-orange);
}

.rb-article__guide-summary-kicker {
  margin-bottom: 8px;
  color: #ffb275;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.single-post .rb-article.rb-article--guide
.rb-article__guide-summary-title {
  margin: 0 0 13px !important;
  padding: 0 !important;
  color: var(--rb-color-white) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--guide
.rb-article__guide-summary-title::before,
.single-post .rb-article.rb-article--guide
.rb-article__guide-summary-title::after {
  content: none !important;
  display: none !important;
}

.rb-article__guide-summary p {
  color: #e4edf7;
  font-size: 13px;
}

.rb-article__guide-summary-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 19px;
}

.rb-article__guide-summary-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 11px 13px;
  color: var(--rb-color-white) !important;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  text-decoration: none !important;
}

.rb-article__guide-summary-button--primary {
  background: var(--rb-color-orange);
}

.rb-article__guide-summary-button--outline {
  border: 1px solid rgba(255, 255, 255, 0.38);
}

@media (max-width: 700px) {
  .rb-article--guide .rb-article__hero-title {
    font-size: 30px;
  }

  .rb-article__guide-answer {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .rb-article__guide-related,
  .rb-article__guide-summary {
    margin-right: 20px;
    margin-left: 20px;
  }

  .rb-article__guide-related {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .rb-article__guide-related-mark {
    min-height: 58px;
  }

  .rb-article__guide-number-grid,
  .rb-article__guide-summary-buttons {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   R-BASE ARTICLE SYSTEM
   Phase 2 / Guide cost components
   Validated article: kitami-house-sale-before-inheritance-registration
========================================================= */

.rb-article__guide-cost-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 23px 0;
}

.rb-article__guide-cost {
  position: relative;
  min-width: 0;
  padding: 21px 18px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__guide-cost::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--rb-color-navy);
}

.rb-article__guide-cost--orange::before {
  background: var(--rb-color-orange);
}

.rb-article__guide-cost--green::before {
  background: var(--rb-color-green);
}

.rb-article__guide-cost-label {
  display: block;
  margin-bottom: 8px;
  color: var(--rb-color-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.single-post .rb-article.rb-article--guide
.rb-article__guide-cost h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--rb-color-navy) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--guide
.rb-article__guide-cost h3::before,
.single-post .rb-article.rb-article--guide
.rb-article__guide-cost h3::after {
  content: none !important;
  display: none !important;
}

.rb-article__guide-cost p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 12px;
  line-height: 1.7;
}

@media (max-width: 700px) {
  .rb-article__guide-cost-grid {
    grid-template-columns: 1fr;
  }
}

.rb-article--flow-guide {
  overflow: hidden;
  border-right: 1px solid var(--rb-color-line);
  border-bottom: 1px solid var(--rb-color-line);
  border-left: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__flow-inner {
  width: 100%;
  max-width: 100%;
  padding-right: 34px;
  padding-left: 34px;
}

/* Hero */
.rb-article__flow-hero {
  position: relative;
  overflow: hidden;
  padding: 42px 0 38px;
  border-top: 5px solid var(--rb-color-navy);
  border-bottom: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__flow-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 125px;
  height: 5px;
  background: var(--rb-color-orange);
}

.rb-article__flow-title {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 0 18px;
  color: var(--rb-color-navy);
  font-size: clamp(28px, 4.2vw, 42px);
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: -0.025em;
}

.rb-article__flow-title strong {
  color: var(--rb-color-orange);
  font-weight: 900;
}

.rb-article__flow-lead {
  max-width: 800px;
  margin: 0;
  padding-top: 17px;
  border-top: 1px solid var(--rb-color-line);
  color: var(--rb-color-muted);
  font-size: 15px;
  line-height: 1.85;
}

.rb-article__flow-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.rb-article__flow-hero-points li {
  padding: 7px 11px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-pale);
  color: var(--rb-color-navy);
  font-size: 11px;
  font-weight: 800;
}

.rb-article__flow-hero-points li::before {
  content: "✓";
  margin-right: 6px;
  color: var(--rb-color-orange);
  font-weight: 900;
}

/* Sections */
.rb-article__flow-section {
  padding: 52px 0;
  scroll-margin-top: 100px;
}

.rb-article__flow-section--soft {
  background: var(--rb-color-pale);
}

.rb-article__flow-section--tight {
  padding-top: 34px;
  padding-bottom: 34px;
}

/* Intro */
.rb-article__flow-intro {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 30px;
  padding: 27px 28px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-pale);
}

.rb-article__flow-intro-side {
  padding-top: 2px;
}

.rb-article__flow-kicker {
  display: block;
  margin-bottom: 9px;
  color: var(--rb-color-orange);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.14em;
}

.rb-article__flow-intro-title {
  display: block;
  color: var(--rb-color-navy);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.65;
}

.rb-article__flow-intro-body p {
  margin: 0 0 12px;
  color: var(--rb-color-muted);
  font-size: 14px;
  line-height: 1.9;
}

.rb-article__flow-intro-body p:last-child {
  margin-bottom: 0;
}

/* Heading */
.rb-article__flow-heading {
  margin: 0 0 25px !important;
  padding: 0 !important;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-heading h2 {
  position: static !important;
  display: block !important;
  margin: 0 0 13px !important;
  padding: 0 0 16px !important;
  color: var(--rb-color-navy) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 2px solid var(--rb-color-navy) !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: -0.01em !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-heading h2::before,
.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-heading h2::after {
  content: none !important;
  display: none !important;
}

.rb-article__flow-heading p {
  max-width: 820px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--rb-color-muted) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}

.rb-article__flow-heading-line {
  display: none !important;
}

/* TOC */
.rb-article__flow-toc {
  margin-top: 24px;
  padding: 23px 24px;
  border-top: 2px solid var(--rb-color-navy);
  border-bottom: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__flow-toc-title {
  display: block;
  margin-bottom: 13px;
  color: var(--rb-color-navy);
  font-size: 14px;
  font-weight: 900;
}

.rb-article__flow-toc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 28px;
}

.rb-article__flow-toc a {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  padding: 5px 0;
  color: var(--rb-color-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}

.rb-article__flow-toc a:hover {
  color: var(--rb-color-orange);
}

.rb-article__flow-toc-number {
  flex: 0 0 auto;
  color: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 900;
}

/* Steps */
.rb-article__flow-step-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-article__flow-step {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 17px;
  min-height: 0;
  padding: 20px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__flow-step:last-child {
  grid-column: 1 / -1;
}

.rb-article__flow-step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  font-size: 15px;
  font-weight: 900;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-step h3 {
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: var(--rb-color-navy-dark) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-step h3::before,
.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-step h3::after {
  content: none !important;
  display: none !important;
}

.rb-article__flow-step p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* Cards and lists */
.rb-article__flow-card {
  margin-bottom: 18px;
  padding: 26px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__flow-card--spaced {
  margin-top: 18px;
}

.rb-article__flow-card:last-child {
  margin-bottom: 0;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-card h3 {
  position: static !important;
  margin: 0 0 14px !important;
  padding: 0 0 11px !important;
  color: var(--rb-color-navy-dark) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rb-color-line) !important;
  border-radius: 0 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-card h3::before,
.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-card h3::after {
  content: none !important;
  display: none !important;
}

.rb-article__flow-card h4 {
  margin: 25px 0 10px !important;
  padding: 0 !important;
  color: var(--rb-color-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
}

.rb-article__flow-card p {
  margin: 0 0 14px;
  color: var(--rb-color-muted);
  font-size: 14px;
  line-height: 1.9;
}

.rb-article__flow-card p:last-child {
  margin-bottom: 0;
}

.rb-article__flow-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}

.rb-article__flow-list li {
  position: relative;
  padding: 10px 11px 10px 31px;
  color: var(--rb-color-text);
  background: var(--rb-color-blue-pale);
  font-size: 13px;
  line-height: 1.65;
}

.rb-article__flow-list li::before {
  content: "✓";
  position: absolute;
  top: 10px;
  left: 11px;
  color: var(--rb-color-orange);
  font-weight: 900;
}

.rb-article__flow-note {
  margin-top: 20px;
  padding: 17px 19px;
  color: var(--rb-color-muted);
  background: var(--rb-color-orange-pale);
  border-left: 4px solid var(--rb-color-orange);
  font-size: 13px;
  line-height: 1.85;
}

.rb-article__flow-note strong {
  color: var(--rb-color-navy);
}

/* Comparisons */
.rb-article__flow-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.rb-article__flow-compare-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--rb-color-line);
  border-top: 4px solid var(--rb-color-navy);
  background: var(--rb-color-white);
}

.rb-article__flow-compare-card:nth-child(2) {
  border-top-color: var(--rb-color-orange);
}

.rb-article__flow-compare-card:nth-child(3) {
  border-top-color: #5d85a9;
}

.rb-article__flow-compare-label {
  display: block;
  margin-bottom: 7px;
  color: var(--rb-color-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-compare-card h3 {
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: var(--rb-color-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-compare-card h3::before,
.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-compare-card h3::after {
  content: none !important;
  display: none !important;
}

.rb-article__flow-compare-card p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* Contextual links */
.rb-article__flow-link-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 20px;
  padding: 18px 19px;
  color: inherit !important;
  background: var(--rb-color-blue-pale);
  border: 1px solid var(--rb-color-line);
  border-left: 4px solid var(--rb-color-orange);
  text-decoration: none !important;
  transition: 0.2s ease;
}

.rb-article__flow-link-card:hover {
  background: var(--rb-color-white);
  border-color: var(--rb-color-orange);
}

.rb-article__flow-link-label {
  display: block;
  margin-bottom: 5px;
  color: var(--rb-color-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.rb-article__flow-link-title {
  display: block;
  color: var(--rb-color-navy);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.55;
}

.rb-article__flow-link-text {
  display: block;
  margin-top: 4px;
  color: var(--rb-color-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
}

.rb-article__flow-link-arrow {
  color: var(--rb-color-orange);
  font-size: 22px;
  font-weight: 900;
}

/* Metric cards */
.rb-article__flow-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.rb-article__flow-metric-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__flow-metric-card strong {
  display: block;
  margin-bottom: 7px;
  color: var(--rb-color-navy);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.55;
}

.rb-article__flow-metric-card span,
.rb-article__flow-metric-card p {
  color: var(--rb-color-muted);
  font-size: 12px;
  line-height: 1.7;
}

.rb-article__flow-metric-card p {
  margin: 0;
}

.rb-article__flow-metric-label {
  display: block;
  margin-bottom: 7px;
  color: var(--rb-color-orange) !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: 0.1em;
}

/* CTA */
.rb-article__flow-cta {
  position: relative;
  overflow: hidden;
  padding: 34px 30px 28px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy-dark);
  border-top: 5px solid var(--rb-color-orange);
  text-align: center;
}

.rb-article__flow-cta::after {
  content: "";
  position: absolute;
  top: -90px;
  right: -70px;
  width: 270px;
  height: 270px;
  background: rgba(244, 122, 32, 0.16);
  border-radius: 50%;
}

.rb-article__flow-cta-kicker {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 8px;
  color: #ffb275;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-cta h2 {
  position: relative !important;
  z-index: 1 !important;
  max-width: 750px !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  color: var(--rb-color-white) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-cta h2::before,
.single-post .rb-article.rb-article--flow-guide
.rb-article__flow-cta h2::after {
  content: none !important;
  display: none !important;
}

.rb-article__flow-cta p {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
  color: #e4edf7;
  font-size: 13px;
  line-height: 1.8;
}

.rb-article__flow-cta-points {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.rb-article__flow-cta-points li {
  padding: 6px 10px;
  color: var(--rb-color-white);
  border: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 11px;
  font-weight: 800;
}

.rb-article__flow-cta-actions {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 9px;
  margin-top: 20px;
}

.rb-article__flow-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 11px 13px;
  color: var(--rb-color-white) !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  transition: 0.2s ease;
}

.rb-article__flow-button:hover {
  color: var(--rb-color-white) !important;
  filter: brightness(1.04);
  transform: translateY(-2px);
}

.rb-article__flow-button--primary {
  background: var(--rb-color-orange);
}

.rb-article__flow-button--line {
  background: #23b94f;
}

.rb-article__flow-button--phone {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.rb-article__flow-cta-hours {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  color: #c7d6e7;
  font-size: 10px;
}

/* Related */
.rb-article__flow-related {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rb-article__flow-related a {
  display: flex;
  flex-direction: column;
  min-height: 185px;
  padding: 20px;
  background: var(--rb-color-white);
  border: 1px solid var(--rb-color-line);
  border-top: 3px solid var(--rb-color-navy);
  text-decoration: none !important;
  transition: 0.2s ease;
}

.rb-article__flow-related a:nth-child(3n + 2) {
  border-top-color: var(--rb-color-orange);
}

.rb-article__flow-related a:hover {
  border-color: var(--rb-color-orange);
  transform: translateY(-2px);
}

.rb-article__flow-related-label {
  display: block;
  margin-bottom: 9px;
  color: var(--rb-color-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.rb-article__flow-related-title {
  display: block;
  margin-bottom: 7px;
  color: var(--rb-color-navy);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.55;
}

.rb-article__flow-related-text {
  color: var(--rb-color-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.75;
}

.rb-article__flow-related-more {
  display: block;
  margin-top: auto;
  padding-top: 14px;
  color: var(--rb-color-orange);
  font-size: 12px;
  font-weight: 900;
}

/* Mobile */
@media (max-width: 767px) {
  .rb-article--flow-guide {
    font-size: 14px;
    line-height: 1.85;
  }

  .rb-article__flow-inner {
    padding-right: 20px;
    padding-left: 20px;
  }

  .rb-article__flow-section {
    padding: 43px 0;
  }

  .rb-article__flow-section--tight {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .rb-article__flow-hero {
    padding: 30px 0 28px;
  }

  .rb-article__flow-title {
    font-size: 29px;
  }

  .rb-article__flow-lead {
    font-size: 13px;
  }

  .rb-article__flow-intro {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 23px 20px;
  }

  .rb-article__flow-intro-title {
    font-size: 17px;
  }

  .rb-article__flow-toc {
    padding: 20px 0;
  }

  .rb-article__flow-toc-grid,
  .rb-article__flow-step-grid,
  .rb-article__flow-compare,
  .rb-article__flow-metric-grid,
  .rb-article__flow-related,
  .rb-article__flow-cta-actions {
    grid-template-columns: 1fr;
  }

  .rb-article__flow-step:last-child {
    grid-column: auto;
  }

  .single-post .rb-article.rb-article--flow-guide
  .rb-article__flow-heading h2 {
    font-size: 21px !important;
  }

  .rb-article__flow-heading p {
    font-size: 13px !important;
  }

  .rb-article__flow-step {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 13px;
    padding: 18px;
  }

  .rb-article__flow-step-number {
    width: 50px;
    height: 50px;
    font-size: 14px;
  }

  .single-post .rb-article.rb-article--flow-guide
  .rb-article__flow-step h3 {
    font-size: 17px !important;
  }

  .rb-article__flow-card {
    padding: 21px 18px;
  }

  .single-post .rb-article.rb-article--flow-guide
  .rb-article__flow-card h3 {
    font-size: 19px !important;
  }

  .rb-article__flow-list {
    grid-template-columns: 1fr;
  }

  .rb-article__flow-link-card {
    padding: 16px;
  }

  .rb-article__flow-link-title {
    font-size: 15px;
  }

  .rb-article__flow-cta {
    padding: 27px 18px 23px;
  }

  .single-post .rb-article.rb-article--flow-guide
  .rb-article__flow-cta h2 {
    font-size: 21px !important;
  }
}

@media (max-width: 359px) {
  .rb-article__flow-title {
    font-size: 24px;
  }

  .single-post .rb-article.rb-article--flow-guide
  .rb-article__flow-heading h2 {
    font-size: 20px !important;
  }
}

.rb-article__sale-start-title span {
  color: var(--rb-color-orange);
}

/* この記事で分かること */
.rb-article__summary-box {
  margin: 24px 34px 0;
  padding: 22px 24px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-pale);
}

.rb-article__summary-box-title {
  margin-bottom: 13px;
  color: var(--rb-color-navy);
  font-size: 15px;
  font-weight: 900;
}

.rb-article__summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-article__summary-grid li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  line-height: 1.7;
}

.rb-article__summary-grid li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--rb-color-orange);
  font-weight: 900;
}

/* 3列カードの共通修飾 */
.rb-article__card-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rb-article__card--navy-top {
  border-top: 4px solid var(--rb-color-navy);
}

.rb-article__card--orange-top {
  border-top: 4px solid var(--rb-color-orange);
}

.rb-article__card--gray-top {
  border-top: 4px solid #8b9aaa;
}

.rb-article__card--strong-title strong {
  display: block;
  margin-bottom: 8px;
  color: var(--rb-color-navy);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.55;
}

.rb-article__card--strong-title p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* 査定価格・売出価格・手取り額 */
.rb-article__segmented-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 24px 0;
  border: 1px solid var(--rb-color-line);
}

.rb-article__segmented-item {
  min-width: 0;
  padding: 21px 18px;
  background: var(--rb-color-white);
}

.rb-article__segmented-item + .rb-article__segmented-item {
  border-left: 1px solid var(--rb-color-line);
}

.rb-article__segmented-item span {
  display: block;
  margin-bottom: 6px;
  color: var(--rb-color-orange);
  font-size: 11px;
  font-weight: 900;
}

.rb-article__segmented-item strong {
  display: block;
  margin-bottom: 6px;
  color: var(--rb-color-navy);
  font-size: 16px;
  font-weight: 900;
}

.rb-article__segmented-item p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 12px;
  line-height: 1.7;
}

/* 市場データのスナップショット */
.rb-article__market-snapshot {
  margin: 28px 0;
  padding: 25px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-blue-pale);
}

.rb-article__market-snapshot-head {
  margin-bottom: 18px;
}

.rb-article__market-snapshot-label {
  display: block;
  margin-bottom: 5px;
  color: var(--rb-color-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.11em;
}

.rb-article__market-snapshot-title {
  color: var(--rb-color-navy);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.55;
}

.rb-article__market-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.rb-article__market-snapshot-item {
  min-width: 0;
  padding: 16px 10px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
  text-align: center;
}

.rb-article__market-snapshot-item span {
  display: block;
  color: var(--rb-color-muted);
  font-size: 11px;
  line-height: 1.5;
}

.rb-article__market-snapshot-item strong {
  display: block;
  margin-top: 5px;
  color: var(--rb-color-navy);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.3;
}

.rb-article__market-snapshot-copy,
.rb-article__market-snapshot-link {
  margin: 18px 0 0;
  font-size: 13px;
  line-height: 1.85;
}

.rb-article__market-snapshot-link {
  margin-top: 14px;
}

/* 反響の見方 */
.rb-article__comparison--wide .rb-article__comparison-item {
  grid-template-columns: 190px minmax(0, 1fr);
}

.rb-article__comparison--wide .rb-article__comparison-label {
  justify-content: flex-start;
  padding: 16px 17px;
  color: var(--rb-color-navy);
  background: var(--rb-color-pale);
  text-align: left;
}

.rb-article__comparison--wide .rb-article__comparison-body {
  padding: 16px 18px;
  color: var(--rb-color-text);
  font-size: 13px;
  line-height: 1.75;
}

/* 仲介・買取・現況条件の比較 */
.rb-article__method-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin: 26px 0;
}

.rb-article__method-card {
  min-width: 0;
  padding: 23px 19px 20px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__method-label {
  display: inline-block;
  margin-bottom: 11px;
  padding: 4px 8px;
  color: var(--rb-color-white);
  background: var(--rb-color-navy);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.rb-article__method-card--orange .rb-article__method-label {
  background: var(--rb-color-orange);
}

.rb-article__method-card--gray .rb-article__method-label {
  background: #728497;
}

.single-post .rb-article.rb-article--sale-start
.rb-article__method-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--rb-color-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

.single-post .rb-article.rb-article--sale-start
.rb-article__method-title::before,
.single-post .rb-article.rb-article--sale-start
.rb-article__method-title::after {
  content: none !important;
  display: none !important;
}

.rb-article__method-card > p {
  margin: 0 0 14px;
  color: var(--rb-color-muted);
  font-size: 13px;
  line-height: 1.75;
}

.rb-article__method-card dl {
  margin: 0;
}

.rb-article__method-card dl div {
  display: grid;
  grid-template-columns: 67px minmax(0, 1fr);
  gap: 6px;
  padding: 7px 0;
  border-top: 1px solid var(--rb-color-line);
  font-size: 12px;
  line-height: 1.6;
}

.rb-article__method-card dt {
  color: var(--rb-color-muted);
  font-weight: 700;
}

.rb-article__method-card dd {
  margin: 0;
  color: var(--rb-color-text);
  font-weight: 700;
}

/* 準備資料 */
.rb-article__compact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 23px 0;
}

.rb-article__compact-card {
  display: flex;
  gap: 12px;
  padding: 16px 17px;
  border: 1px solid var(--rb-color-line);
  background: var(--rb-color-white);
}

.rb-article__compact-number {
  display: flex;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--rb-color-orange);
  background: var(--rb-color-orange-pale);
  font-size: 11px;
  font-weight: 900;
}

.rb-article__compact-card strong {
  display: block;
  margin-bottom: 3px;
  color: var(--rb-color-navy);
  font-size: 14px;
  font-weight: 900;
}

.rb-article__compact-card p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 12px;
  line-height: 1.65;
}

/* 失敗例 */
.rb-article__issue-list {
  margin: 23px 0;
  border-top: 1px solid var(--rb-color-line);
}

.rb-article__issue-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 13px;
  padding: 17px 0;
  border-bottom: 1px solid var(--rb-color-line);
}

.rb-article__issue-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--rb-color-orange);
  border: 1px solid #efc8ae;
  font-size: 18px;
  font-weight: 900;
}

.rb-article__issue-item strong {
  display: block;
  margin-bottom: 3px;
  color: var(--rb-color-navy);
  font-size: 15px;
  font-weight: 900;
}

.rb-article__issue-item p {
  margin: 0;
  color: var(--rb-color-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* 関連記事の縦並び */
.rb-article__related-links--stacked {
  margin: 30px 0 0;
  padding: 24px;
}

.rb-article__related-links-list--stacked {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-article__related-links-list--stacked li + li {
  margin-top: 8px;
}

.rb-article__related-links-list--stacked a {
  position: relative;
  display: block;
  padding-left: 20px;
  font-size: 13px;
  line-height: 1.65;
  text-decoration: none;
}

.rb-article__related-links-list--stacked a::before {
  content: "→";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--rb-color-orange);
}

/* Mobile */
@media (max-width: 767px) {
  .rb-article__summary-box {
    margin-right: 18px;
    margin-left: 18px;
    padding: 19px 17px;
  }

  .rb-article__summary-grid,
  .rb-article__card-grid--3,
  .rb-article__segmented-grid,
  .rb-article__method-grid,
  .rb-article__compact-grid {
    grid-template-columns: 1fr;
  }

  .rb-article__segmented-item + .rb-article__segmented-item {
    border-top: 1px solid var(--rb-color-line);
    border-left: 0;
  }

  .rb-article__market-snapshot {
    padding: 20px 16px;
  }

  .rb-article__market-snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rb-article__market-snapshot-item strong {
    font-size: 19px;
  }

  .rb-article__comparison--wide .rb-article__comparison-item {
    display: block;
  }

  .rb-article__comparison--wide .rb-article__comparison-label {
    padding: 11px 14px;
  }

  .rb-article__comparison--wide .rb-article__comparison-body {
    padding: 13px 14px 16px;
  }
}

@media (max-width: 359px) {
  .rb-article__market-snapshot-grid {
    grid-template-columns: 1fr;
  }
}