/* =============================================================
   sol-casepost.css v8.2
   hello-top-v11 デザインシステム完全準拠
   
   【配置】
   子テーマ sol-modules/sol-casepost.css
   
   【enqueue】
   functions.php wp_enqueue_style (priority 30)
   条件: is_singular('case_study') || is_tax('case_area','case_problem','case_location')
   依存: sol-design-tokens（CSS変数）
   
   【命名規則】
   sol-modules/ 内の他アセットと統一:
     sol-ctx-navigator.css  — Navigator UI
     sol-ctx-page.css       — CTXページ共通
     sol-casepost.css       — 施工事例テンプレート ← これ
     sol-design-tokens.css  — CSS変数定義
   ============================================================= */

/* ─── WordPress自動生成要素の非表示 ─── */
.single-case .entry-title,
.single-case .page-title,
.single-case .post-title,
.single-case .single-post-title,
.single-case .entry-header > h1,
.single-case.singular > .entry-title,
.single-case.singular > header > .entry-title{display:none!important}
.single-case .featured-image,
.single-case .post-image,
.single-case .attachment-post-image{display:none!important}

/* ─── hello-top-v11 Design Tokens ─── */
.casepost{
  --white:#F8F9FA;
  --silk:#F1F3F5;
  --mist:#E5E8EB;
  --ash:#CED4DA;
  --stone:#868E96;
  --ink:#343A40;
  --ink-deep:#212529;
  --water:#8EBED6;
  --water-deep:#6BA3BE;
  --water-ghost:#D4E5ED;
  --water-breath:#EBF2F6;
  --line-green:#06C755;
  --safe:#10b981;
  --safe-bg:#f0fdf4;
  --safe-border:#bbf7d0;
  --warn:#f97316;
  --warn-bg:#fff7ed;
  --warn-border:#fed7aa;
  --amber:#d97706;
  --warning:#f59e0b;
  --warning-pale:#fffbeb;
  --font-ja:'Noto Sans JP',sans-serif;
  --font-mincho:'Shippori Mincho',serif;
  --font-num:'Barlow',sans-serif;
  --radius:14px;
  --radius-sm:8px;
  --shadow:0 2px 10px rgba(0,0,0,.02);
  --shadow-hover:0 4px 16px rgba(0,0,0,.03);
  --transition:all .3s ease
}

/* ─── 基本 ─── */
.casepost{
  font-family:var(--font-ja);
  color:var(--ink);
  line-height:1.8;
  max-width:720px;
  margin:0 auto;
  padding:0 1.25rem
}
.casepost *,.casepost *::before,.casepost *::after{box-sizing:border-box}
.casepost h1,.casepost h2,.casepost h3,.casepost p,.casepost ul{margin:0}
.casepost a{color:var(--water-deep);text-decoration:none}
.casepost a:hover{text-decoration:underline}

/* ─── フェードインアニメーション ─── */
.casepost-section,
.casepost-lead,
.casepost-info,
.casepost-ctx,
.casepost-cta{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s ease,transform .6s ease
}
.casepost-section.--visible,
.casepost-lead.--visible,
.casepost-info.--visible,
.casepost-ctx.--visible,
.casepost-cta.--visible{
  opacity:1;
  transform:translateY(0)
}
@media(prefers-reduced-motion:reduce){
  .casepost-section,
  .casepost-lead,
  .casepost-info,
  .casepost-ctx,
  .casepost-cta{opacity:1;transform:none;transition:none}
}

/* ─── パンくずリスト ─── */
.casepost-breadcrumb{padding:.75rem 0;margin-bottom:.5rem}
.casepost-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;list-style:none;padding:0;margin:0;font-size:.8125rem;color:var(--stone)}
.casepost-breadcrumb__list li{display:flex;align-items:center;gap:.4rem}
.casepost-breadcrumb__list li:not(:last-child)::after{content:'›';color:var(--ash)}
.casepost-breadcrumb__list a{color:var(--water-deep)}

/* ─── ヘッダー ─── */
.casepost-header{
  background:linear-gradient(180deg,var(--water-breath) 0%,var(--white) 100%);
  border-radius:var(--radius);padding:2rem 1.5rem;margin-bottom:1.5rem;
  border:1px solid rgba(142,190,214,.12)
}
.casepost-header__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.casepost-header__tag{
  display:inline-flex;align-items:center;gap:.25rem;
  padding:.25rem .6rem;background:var(--white);
  border:1px solid rgba(142,190,214,.2);border-radius:100px;
  font-size:.75rem;font-weight:500;color:var(--water-deep)
}
.casepost-header__tag svg{width:14px;height:14px;fill:none;stroke:var(--water-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.casepost-header__title{
  font-family:var(--font-mincho);
  font-size:clamp(1.15rem,2.8vw,1.5rem);font-weight:400;
  color:var(--ink-deep);line-height:1.5;
  margin-bottom:.5rem;letter-spacing:.05em
}
.casepost-header__meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--stone);font-weight:300;letter-spacing:.02em}
.casepost-header__meta span{display:flex;align-items:center;gap:.3rem}
.casepost-header__meta svg{width:14px;height:14px;fill:none;stroke:var(--stone);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ─── E-E-A-Tバッジ ─── */
.casepost-eeat{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--mist)
}
.casepost-eeat__badge{
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.6875rem;color:var(--stone);font-weight:400;letter-spacing:.02em
}
.casepost-eeat__badge svg{width:12px;height:12px;fill:none;stroke:var(--water-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ─── 基本情報カード ─── */
.casepost-info{
  background:var(--white);border-radius:var(--radius);
  border:1px solid rgba(142,190,214,.12);overflow:hidden;
  margin-bottom:1.5rem;box-shadow:var(--shadow)
}
.casepost-info__header{
  background:var(--water-deep);color:#fff;
  padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;
  display:flex;align-items:center;gap:.5rem;letter-spacing:.03em
}
.casepost-info__header svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-info__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--mist)}
.casepost-info__item{background:var(--white);padding:.875rem 1rem}
.casepost-info__item--full{grid-column:1/-1}
.casepost-info__label{
  font-family:var(--font-num);font-size:.6875rem;font-weight:500;
  color:var(--stone);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem
}
.casepost-info__value{font-size:.9375rem;font-weight:500;color:var(--ink);letter-spacing:.02em}
.casepost-info__price{font-family:var(--font-num);font-size:1.375rem;font-weight:600;color:var(--water-deep)}
.casepost-info__price-note{font-size:.6875rem;color:var(--stone);font-weight:300;margin-top:.25rem;line-height:1.5;letter-spacing:.02em}

/* ─── セクション ─── */
.casepost-section{margin-bottom:2rem}
.casepost-section__label{
  font-family:var(--font-num);font-size:.7rem;font-weight:500;
  color:var(--water-deep);letter-spacing:.15em;text-transform:uppercase;
  margin-bottom:.25rem;padding-left:1.25rem;position:relative
}
.casepost-section__label::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:16px;height:1px;background:var(--water)
}
.casepost-section__title{
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--font-mincho);font-size:clamp(.95rem,2.2vw,1.125rem);
  font-weight:400;color:var(--ink-deep);
  margin-bottom:.75rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--mist);
  letter-spacing:.05em;line-height:1.7
}
.casepost-section__title svg{
  width:20px;height:20px;fill:none;stroke:var(--water-deep);
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0
}

/* ─── リード文 ─── */
.casepost-lead{
  background:var(--water-breath);border-radius:var(--radius);
  padding:1.25rem;margin-bottom:1.5rem;
  border:1px solid rgba(142,190,214,.12)
}
.casepost-lead__text{font-size:.9375rem;color:var(--ink);line-height:2.1;font-weight:300;letter-spacing:.02em}

/* ─── ご相談内容 ─── */
.casepost-consultation{
  background:var(--water-breath);border-radius:var(--radius);
  padding:1.25rem;border-left:3px solid var(--water-deep);position:relative
}
.casepost-consultation::before{
  content:'\201C';position:absolute;top:.5rem;left:1rem;
  font-size:3rem;color:var(--water-ghost);font-family:Georgia,serif;line-height:1
}
.casepost-consultation__text{font-size:.9375rem;color:var(--ink);line-height:2;padding-left:1.5rem;font-weight:300;letter-spacing:.02em}
.casepost-consultation__text p{margin-bottom:.75rem}
.casepost-consultation__text p:last-child{margin-bottom:0}

/* ─── 施工写真 ─── */
.casepost-photos{display:grid;gap:1rem}
.casepost-photos--2col{grid-template-columns:repeat(2,1fr)}
.casepost-photos--3col{grid-template-columns:repeat(3,1fr)}
.casepost-photos--grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:479px){.casepost-photos--2col,.casepost-photos--3col,.casepost-photos--grid{grid-template-columns:1fr}}
.casepost-photo{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(142,190,214,.12);box-shadow:var(--shadow)}
.casepost-photo__image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.casepost-photo__caption{padding:.75rem 1rem;background:var(--water-breath);display:flex;align-items:center;gap:.5rem}
.casepost-photo__badge{
  display:inline-block;padding:.2rem .5rem;border-radius:4px;
  font-family:var(--font-num);font-size:.6875rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;flex-shrink:0
}
.casepost-photo__badge--before{background:var(--stone);color:#fff}
.casepost-photo__badge--middle{background:var(--amber);color:#fff}
.casepost-photo__badge--after{background:var(--safe);color:#fff}
.casepost-photo__text{font-size:.8125rem;color:var(--stone);line-height:1.4;font-weight:300}

/* ─── 本文コンテンツ ─── */
.casepost-content{background:var(--white);border-radius:var(--radius);border:1px solid rgba(142,190,214,.12);padding:1.25rem}
.casepost-content__note{
  display:inline-block;padding:.2rem .6rem;
  background:var(--warning-pale);border-radius:4px;
  font-size:.6875rem;font-weight:500;color:#92400e;margin-bottom:.75rem
}
.casepost-content__text{font-size:.9375rem;color:var(--ink);line-height:2.1;font-weight:300;letter-spacing:.02em}
.casepost-content__text p{margin-bottom:1rem}
.casepost-content__text p:last-child{margin-bottom:0}
.casepost-content__box{background:var(--water-breath);border-radius:var(--radius-sm);padding:1rem;margin-top:1rem}
.casepost-content__box-title{
  font-size:.8125rem;font-weight:500;color:var(--water-deep);
  margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem
}
.casepost-content__box-title svg{width:16px;height:16px;fill:none;stroke:var(--water-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-content__box-text{font-size:.8125rem;color:var(--stone);line-height:1.8;font-weight:300}

/* ─── 対応ステップ ─── */
.casepost-steps{list-style:none;padding:0;margin:0;counter-reset:step-counter}
.casepost-steps li{
  position:relative;padding:1rem 0 1rem 3.5rem;
  border-bottom:1px solid var(--mist);counter-increment:step-counter
}
.casepost-steps li:last-child{border-bottom:none}
.casepost-steps li::before{
  content:counter(step-counter);position:absolute;left:0;top:1rem;
  width:2.25rem;height:2.25rem;background:var(--water-deep);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-num);font-size:.875rem;font-weight:600
}
.casepost-steps__title{font-size:.9375rem;font-weight:500;color:var(--ink-deep);margin-bottom:.35rem;letter-spacing:.02em}
.casepost-steps__desc{font-size:.8125rem;color:var(--stone);line-height:1.7;font-weight:300;letter-spacing:.02em}

/* ─── CTX判断導線 ─── */
.casepost-ctx{
  background:var(--warning-pale);border:1px solid rgba(245,158,11,.15);
  border-left:3px solid var(--warning);border-radius:var(--radius);
  padding:1.25rem;margin:2rem 0
}
.casepost-ctx__title{
  display:flex;align-items:center;gap:.5rem;
  font-size:.9375rem;font-weight:500;color:#92400e;margin-bottom:.5rem
}
.casepost-ctx__title svg{width:18px;height:18px;fill:none;stroke:#92400e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.casepost-ctx__text{font-size:.875rem;color:var(--ink);line-height:1.7;margin-bottom:.75rem;font-weight:300;letter-spacing:.02em}
.casepost-ctx__links{display:flex;flex-wrap:wrap;gap:.5rem}
.casepost-ctx__link{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.5rem 1rem;border-radius:20px;
  background:var(--warning);color:#fff;
  font-size:.8125rem;font-weight:500;transition:var(--transition)
}
.casepost-ctx__link:hover{opacity:.9;color:#fff;text-decoration:none}
.casepost-ctx__link--secondary{background:var(--white);color:var(--water-deep);border:1px solid var(--mist)}
.casepost-ctx__link--secondary:hover{border-color:var(--water);background:var(--water-breath);color:var(--water-deep)}

/* ─── 担当者コメント ─── */
.casepost-staff{
  display:flex;gap:1rem;background:var(--water-breath);border-radius:var(--radius);
  border:1px solid rgba(142,190,214,.12);padding:1.25rem
}
.casepost-staff__avatar{
  flex-shrink:0;width:56px;height:56px;background:var(--water-deep);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;overflow:hidden
}
.casepost-staff__avatar--initial{font-family:var(--font-num);font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.casepost-staff__content{flex:1}
.casepost-staff__name{
  font-size:.9375rem;font-weight:500;color:var(--ink-deep);
  margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem;letter-spacing:.02em
}
.casepost-staff__role{
  font-family:var(--font-num);font-size:.6875rem;font-weight:500;
  color:var(--water-deep);background:var(--water-ghost);
  padding:.15rem .4rem;border-radius:4px
}
.casepost-staff__comment{font-size:.875rem;color:var(--ink);line-height:2;font-weight:300;letter-spacing:.02em}
.casepost-staff__comment p{margin-bottom:.75rem}
.casepost-staff__comment p:last-child{margin-bottom:0}

/* ─── 費用内訳 ─── */
.casepost-breakdown{background:var(--white);border-radius:var(--radius);border:1px solid rgba(142,190,214,.12);overflow:hidden}
.casepost-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--mist)}
.casepost-breakdown__row:last-of-type{border-bottom:none}
.casepost-breakdown__label{font-size:.875rem;color:var(--ink);font-weight:300;letter-spacing:.02em}
.casepost-breakdown__value{font-family:var(--font-num);font-size:.9375rem;font-weight:500;color:var(--ink)}
.casepost-breakdown__value--estimate{color:var(--stone)}
.casepost-breakdown__total{background:var(--water-breath);padding:1rem;display:flex;justify-content:space-between;align-items:center}
.casepost-breakdown__total-label{font-size:.9375rem;font-weight:500;color:var(--ink-deep);letter-spacing:.02em}
.casepost-breakdown__total-value{font-family:var(--font-num);font-size:1.375rem;font-weight:600;color:var(--water-deep)}
.casepost-breakdown__note{padding:.875rem 1rem;background:var(--silk);font-size:.75rem;color:var(--stone);line-height:1.7;font-weight:300;letter-spacing:.02em}
/* 費用相場box（全事例共通追加） */
.casepost-breakdown__supplement{
  margin-top:1rem;background:var(--water-breath);border:1px solid rgba(142,190,214,.12);
  border-radius:var(--radius-sm);padding:1rem
}
.casepost-breakdown__supplement-title{
  font-size:.8125rem;font-weight:500;color:var(--water-deep);
  margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem
}
.casepost-breakdown__supplement-title svg{width:16px;height:16px;fill:none;stroke:var(--water-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-breakdown__supplement-text{font-size:.8125rem;color:var(--stone);line-height:1.8;font-weight:300}
/* 部品代注釈（お客様購入品等） */
.casepost-breakdown__value--note{font-size:.75rem;color:var(--stone);font-weight:300}

/* ─── 豆知識 ─── */
.casepost-tips{background:var(--safe-bg);border:1px solid var(--safe-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}
.casepost-tips__title{
  display:flex;align-items:center;gap:.5rem;
  font-size:.9375rem;font-weight:500;color:#166534;margin-bottom:.75rem
}
.casepost-tips__title svg{width:18px;height:18px;fill:none;stroke:#166534;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-tips__text{font-size:.875rem;color:var(--ink);line-height:2;font-weight:300;letter-spacing:.02em}
.casepost-tips__text p{margin-bottom:.75rem}
.casepost-tips__text p:last-child{margin-bottom:0}
/* 豆知識: blueバリエーション（比較/判断基準用） */
.casepost-tips--blue{background:var(--water-breath);border-color:var(--water-ghost)}
.casepost-tips--blue .casepost-tips__title{color:var(--water-deep)}
.casepost-tips--blue .casepost-tips__title svg{stroke:var(--water-deep)}
/* 豆知識: warningバリエーション（放置リスク用） */
.casepost-tips--warning{background:var(--warning-pale);border-color:rgba(245,158,11,.2)}
.casepost-tips--warning .casepost-tips__title{color:#92400e}
.casepost-tips--warning .casepost-tips__title svg{stroke:#92400e}

/* ─── 地域情報 ─── */
.casepost-area{
  background:var(--warning-pale);border:1px solid rgba(245,158,11,.15);
  border-radius:var(--radius);padding:1.25rem
}
.casepost-area__title{
  display:flex;align-items:center;gap:.5rem;
  font-size:.9375rem;font-weight:500;color:#92400e;margin-bottom:.75rem
}
.casepost-area__title svg{width:18px;height:18px;fill:none;stroke:#92400e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-area__text{font-size:.875rem;color:var(--ink);line-height:2;font-weight:300;letter-spacing:.02em}
.casepost-area__text p{margin-bottom:.75rem}
.casepost-area__text p:last-child{margin-bottom:0}
.casepost-area__list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}
.casepost-area__tag{
  display:inline-block;padding:.25rem .6rem;background:var(--white);
  border:1px solid rgba(245,158,11,.2);border-radius:100px;
  font-size:.75rem;font-weight:500;color:#92400e
}

/* ─── 公的機関情報 ─── */
.casepost-official{background:var(--silk);border:1px solid var(--mist);border-radius:var(--radius);padding:1.25rem;margin-top:1rem}
.casepost-official__title{
  display:flex;align-items:center;gap:.5rem;
  font-size:.9375rem;font-weight:500;color:var(--ink-deep);margin-bottom:.75rem
}
.casepost-official__title svg{width:18px;height:18px;fill:none;stroke:var(--ink-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-official__text{font-size:.875rem;color:var(--ink);line-height:2;font-weight:300;letter-spacing:.02em}
.casepost-official__text p{margin-bottom:.75rem}
.casepost-official__text p:last-child{margin-bottom:0}
.casepost-official__info{background:var(--white);border:1px solid var(--mist);border-radius:var(--radius-sm);padding:1rem;margin-top:1rem}
.casepost-official__info p{font-size:.8125rem;color:var(--stone);margin-bottom:.35rem;line-height:1.6;font-weight:300;letter-spacing:.02em}
.casepost-official__info p:first-child{font-size:.875rem;font-weight:500;color:var(--ink);margin-bottom:.5rem}
.casepost-official__info p:last-child{margin-bottom:0}
.casepost-official__note{
  background:var(--warning-pale);border-radius:var(--radius-sm);
  padding:.75rem 1rem;margin-top:1rem;
  font-size:.8125rem;color:#92400e;line-height:1.7;font-weight:300;letter-spacing:.02em
}

/* ─── 関連リンク ─── */
.casepost-related{display:grid;gap:.5rem}
.casepost-related__link{
  display:flex;align-items:center;justify-content:space-between;
  padding:.875rem 1rem;background:var(--white);
  border:1px solid rgba(142,190,214,.12);border-radius:var(--radius);
  text-decoration:none;transition:var(--transition)
}
.casepost-related__link:hover{background:var(--water-breath);border-color:var(--water-ghost);text-decoration:none}
.casepost-related__link--primary{background:var(--warning-pale);border-color:rgba(245,158,11,.15)}
.casepost-related__link--primary:hover{background:rgba(245,158,11,.1)}
.casepost-related__text{font-size:.875rem;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:.4rem;letter-spacing:.02em}
.casepost-related__text svg{width:16px;height:16px;fill:none;stroke:var(--water-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casepost-related__arrow{color:var(--water);font-size:1rem}
.casepost-related__arrow svg{width:16px;height:16px;fill:none;stroke:var(--water-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ─── CTA ─── */
.casepost-cta{
  background:linear-gradient(180deg,var(--water-breath) 0%,var(--silk) 100%);
  border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;margin-top:2rem;
  border:1px solid rgba(142,190,214,.12)
}
.casepost-cta__title{font-family:var(--font-mincho);font-size:1.0625rem;font-weight:400;color:var(--ink-deep);margin-bottom:.5rem;letter-spacing:.05em}
.casepost-cta__sub{font-size:.875rem;color:var(--ink);margin-bottom:1rem;line-height:1.7;font-weight:300;letter-spacing:.02em}
.casepost-cta__buttons{display:flex;flex-direction:column;gap:.6rem}
.casepost-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.5rem;border-radius:var(--radius);
  font-size:.9375rem;font-weight:500;text-decoration:none;transition:var(--transition)
}
.casepost-cta__btn--line{background:var(--line-green);color:#fff;box-shadow:0 4px 16px rgba(6,199,85,.2)}
.casepost-cta__btn--line:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(6,199,85,.3);text-decoration:none;color:#fff}
.casepost-cta__btn--tel{background:var(--white);color:var(--stone);border:1px solid var(--mist)}
.casepost-cta__btn--tel:hover{background:var(--silk);text-decoration:none;color:var(--ink)}
.casepost-cta__btn svg{width:20px;height:20px;fill:currentColor}
.casepost-cta__note{margin-top:.75rem;font-size:.75rem;color:var(--stone);font-weight:300;letter-spacing:.02em}

/* ─── レスポンシブ ─── */
@media(min-width:640px){
  .casepost{padding:0 1.5rem}
  .casepost-header{padding:2.5rem 2rem}
  .casepost-cta__buttons{flex-direction:row;justify-content:center}
  .casepost-cta__btn{min-width:240px}
}

/* ─── Navigator Light Mode 接続部 ─── */
/* GPフック generate_after_entry_content が article.casepost 直後に
   Navigator (.scn-section-wrap + .sol-ctx-nav) を挿入する。
   CTA → Navigator 間の余白を確保し、視覚的に別ブロックであることを明示。 */
.casepost-cta{margin-bottom:0}
article.casepost + .scn-section-wrap{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--mist)}

/* ─── a11y ─── */
:focus-visible{outline:2px solid var(--water-deep);outline-offset:2px;border-radius:var(--radius-sm)}
@media(prefers-reduced-motion:reduce){.casepost-section,.casepost-lead,.casepost-info,.casepost-ctx,.casepost-cta{opacity:1!important;transform:none!important}}
