/* ==========================================================================
   ReEir Assets — funnel/common.css
   症状別LP（腰痛/頭痛/自律神経/めまい/疲労/産後/肩の不調/冷え・むくみ）共通スタイル
   PC/SP文字サイズ・画像・ボタン幅調整済み（2026-08-09）
   ========================================================================== */

:root{
  --green:#4a7c59;
  --green-dark:#2d4a38;
  --green-pale:#e8f0eb;
  --bg-sage:#f5f7f2;
  --bg-beige:#f5f1ea;
  --text:#3a3a3a;
  --text-sub:#4a5a50;
  --border:#c8d9cc;
  --line-green:#06C755;
  --warn-bg:#fbeee9;
  --warn-border:#e0a98f;
  --warn-text:#a8502f;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--text);font-size:17px;line-height:1.95;background:#fff;}
.page-wrap{max-width:1000px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px;}
section{padding:40px 0;}
section:first-of-type{padding-top:32px;}
h2{font-size:22px;font-weight:600;color:var(--green-dark);line-height:1.6;margin-bottom:22px;}
h2 .accent{display:block;width:28px;height:3px;background:var(--green);border-radius:2px;margin-bottom:12px;}
p{margin-bottom:1.1em;}
.bg-sage{background:var(--bg-sage);}
.bg-beige{background:var(--bg-beige);}

/* ---- FV ---- */
.fv{background:var(--bg-sage);padding:36px 0;}
.fv-hero-wrap{max-width:1000px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px;}
.fv-hero{width:100%;height:auto;display:block;border-radius:8px;}
.fv-content{padding:28px 0 0;}
.fv-inner{max-width:1000px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px;}
.fv-headline{font-size:25px;font-weight:700;color:var(--green-dark);line-height:1.6;margin-bottom:18px;}
.fv-checklist{margin-bottom:6px;}
.fv-checklist p{font-size:16px;color:var(--green-dark);font-weight:600;margin-bottom:8px;}
.fv-band{background:var(--green-dark);border-radius:10px;padding:20px 22px;margin:20px 0;color:#fff;}
.fv-band p{margin-bottom:0;color:#fff;}
.fv-band p.lead{font-weight:700;font-size:17px;margin-bottom:8px;}
.fv-band p.sub{font-size:15px;color:rgba(255,255,255,.88);line-height:1.8;}

/* ---- ボタン / CTA ---- */
.btn{display:block;width:100%;max-width:360px;padding:16px 20px;border-radius:8px;text-align:center;font-size:16px;font-weight:600;text-decoration:none;transition:opacity .2s;}
.btn:hover{opacity:.85;}
.btn-primary{background:var(--green);color:#fff;}
.btn-line{background:var(--line-green);color:#fff;margin-top:12px;}
.btn-note{font-size:14px;color:var(--text-sub);margin-top:8px;max-width:360px;}
.cta-group{max-width:360px;}
.cta-group.centered{margin:0 auto;}
.cta-group-hero{display:flex;gap:16px;max-width:none;flex-wrap:wrap;align-items:stretch;}
.cta-group-hero .cta-item{flex:1 1 0;min-width:240px;display:flex;flex-direction:column;}
.cta-group-hero .btn{max-width:none;}
.cta-group-hero .btn-line{margin-top:0;}
.cta-group-hero .btn-note{max-width:none;}

/* ---- 施術ルーム画像 ---- */
.room-figure{margin-top:24px;text-align:center;}
.room-figure img{width:100%;max-height:280px;object-fit:cover;border-radius:10px;display:block;}
.room-figure figcaption{font-size:14px;color:var(--text-sub);margin-top:8px;}

/* ---- セクション内画像（インフォグラフィック等） ---- */
.section-img{
  width:100%;
  max-width:720px;
  height:auto;
  border-radius:14px;
  display:block;
  margin:0 auto 20px;
  border:1px solid var(--border);
  box-shadow:0 3px 14px rgba(45,74,56,.08);
}

/* ---- 注釈テキストの最小サイズ底上げ（PC/SP共通） ---- */
.page-wrap p[style*="font-size:13px"],
.page-wrap span[style*="font-size:13px"]{
  font-size:14px;
}
.type-label{font-size:14px;}

/* ---- 医療機関受診の目安 ---- */
.disc-box{border-radius:10px;overflow:hidden;border:1.5px solid var(--border);}
.disc-warn{background:var(--warn-bg);border-bottom:1.5px solid var(--warn-border);padding:24px 22px;}
.disc-title{font-size:17px;font-weight:700;color:var(--warn-text);margin-bottom:12px;}
.disc-list{list-style:none;}
.disc-list li{position:relative;padding-left:18px;margin-bottom:7px;font-size:16px;color:var(--warn-text);}
.disc-list li::before{content:"";position:absolute;left:2px;top:12px;width:5px;height:5px;background:var(--warn-text);border-radius:50%;}
.disc-ok{background:var(--green-pale);padding:22px 22px;border-radius:10px;}
.disc-ok p{font-size:16px;font-weight:600;color:var(--green-dark);margin-bottom:10px;}
.ok-list{list-style:none;}
.ok-list li{position:relative;padding-left:24px;margin-bottom:6px;font-size:16px;}
.ok-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700;}
.reassure-box{margin-bottom:20px;}

/* ---- チェックカード ---- */
.check-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:15px 18px;margin-bottom:10px;display:flex;gap:10px;align-items:flex-start;font-size:17px;line-height:1.7;box-shadow:0 3px 10px rgba(45,74,56,.09);}
.check-card::before{content:"";flex-shrink:0;width:6px;height:6px;background:var(--green);border-radius:50%;margin-top:10px;}

/* ---- 強調ボックス ---- */
.em-box{background:var(--green-pale);border-radius:10px;padding:22px 20px;margin:20px 0;}
.em-box p:last-child{margin-bottom:0;}
.em-strong{font-weight:600;color:var(--green-dark);font-size:18px;line-height:1.7;}

/* ---- 将来への気づき ---- */
.future-box{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:28px 24px;margin-top:8px;}
.future-lead{font-size:16px;color:var(--text-sub);line-height:1.9;margin-bottom:16px;}
.future-strong{font-size:18px;font-weight:600;color:var(--green-dark);line-height:1.7;margin:16px 0;}

/* ---- コアメッセージボックス ---- */
.core-box{background:var(--green-dark);border-radius:12px;padding:32px 26px;margin:20px 0;color:#fff;}
.core-quote{font-size:18px;font-weight:700;color:#fff;line-height:2;margin-bottom:10px;}
.core-quote span{display:block;padding-left:1em;}
.core-lead-in{font-size:17px;color:rgba(255,255,255,.85);margin-bottom:14px;}
.core-body{font-size:16px;line-height:2;color:rgba(255,255,255,.9);}
.core-accent{font-size:18px;font-weight:700;color:#b8d9c4;margin-top:20px;line-height:1.7;}

/* ---- 関連症状グリッド ---- */
.symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;}
.symptom-item{background:#fff;border-radius:8px;padding:16px 14px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.05);border-top:3px solid var(--green);}
.symptom-icon{font-size:24px;margin-bottom:8px;}
.symptom-name{font-size:15px;font-weight:600;color:var(--green-dark);margin-bottom:6px;}
.symptom-desc{font-size:14px;color:var(--text-sub);line-height:1.7;}

/* ---- 初回の流れ ---- */
.flow-box{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:24px 22px;margin-top:22px;}
.flow-title{font-size:17px;font-weight:600;color:var(--green-dark);margin-bottom:16px;}
.flow-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;}
.flow-item:last-child{margin-bottom:0;}
.flow-num{flex-shrink:0;width:32px;height:32px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;margin-top:2px;}
.flow-text strong{display:block;font-size:16px;color:var(--green-dark);margin-bottom:2px;}
.flow-text span{font-size:16px;color:var(--text-sub);line-height:1.7;}

/* ---- 施術者プロフィール ---- */
.prof-box{display:flex;align-items:center;gap:18px;background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:20px;margin-top:20px;}
.prof-img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--green-pale);}
.prof-name{font-size:16px;font-weight:600;color:var(--green-dark);margin-bottom:3px;}
.prof-title{font-size:14px;color:var(--text-sub);margin-bottom:6px;}
.prof-desc{font-size:16px;color:var(--text);line-height:1.8;margin:0;}
.prof-trust{font-size:14px;color:var(--green-dark);font-weight:600;margin-top:8px;}

/* ---- 料金カード ---- */
.price-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:30px 24px;text-align:center;}
.price-name{font-size:18px;font-weight:600;color:var(--green-dark);margin-bottom:16px;line-height:1.6;}
.price-old{font-size:16px;color:var(--text-sub);text-decoration:line-through;margin-bottom:4px;}
.price-now{font-size:32px;font-weight:700;color:var(--green-dark);margin-bottom:6px;}
.price-now small{font-size:16px;font-weight:400;}
.price-badge{display:inline-block;background:var(--green-pale);color:var(--green-dark);font-size:14px;padding:3px 12px;border-radius:999px;margin:0 4px 16px;}
.price-info{font-size:14px;color:var(--text-sub);margin-bottom:20px;}

/* ---- 口コミ ---- */
.voice-card{background:#fff;border-radius:10px;padding:20px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.05);}
.voice-stars{color:#c9a227;font-size:14px;letter-spacing:2px;margin-bottom:6px;}
.voice-text{font-size:16px;line-height:1.9;margin-bottom:8px;}
.voice-meta{font-size:14px;color:var(--text-sub);}
.voice-disc{font-size:14px;color:var(--text-sub);margin-top:12px;}

/* ---- FAQ ---- */
.faq-item{border-bottom:1px solid var(--border);padding:16px 0;}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-weight:600;color:var(--green-dark);margin-bottom:7px;display:flex;gap:8px;font-size:17px;}
.faq-q::before{content:"Q.";color:var(--green);font-weight:700;flex-shrink:0;}
.faq-a{font-size:16px;color:var(--text);padding-left:24px;line-height:1.9;}

/* ---- フッター ---- */
.footer{background:var(--green-dark);color:#fff;padding:32px 0;text-align:center;font-size:14px;line-height:2;}

/* ---- 制作中プレースホルダー注記 ---- */
.placeholder-note{background:#fffbe6;border:1px dashed #d4b106;color:#7a5c00;font-size:14px;padding:10px 14px;border-radius:6px;margin:10px 0;}

/* ---- ロードマップ / STEP ---- */
.roadmap{display:flex;flex-direction:column;gap:14px;margin-top:20px;}
.roadmap-step{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:18px 20px;}
.roadmap-num{display:inline-block;background:var(--green);color:#fff;font-size:13px;font-weight:700;padding:3px 12px;border-radius:999px;margin-bottom:8px;}
.roadmap-title{font-size:17px;font-weight:700;color:var(--green-dark);margin-bottom:8px;}
.roadmap-list{list-style:none;font-size:16px;color:var(--text-sub);line-height:1.9;}
.roadmap-list li{position:relative;padding-left:16px;}
.roadmap-list li::before{content:"・";position:absolute;left:0;}

/* ---- 状態確認カード ---- */
.eval-box{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:20px 22px;margin-bottom:12px;}
.eval-title{font-size:17px;font-weight:700;color:var(--green-dark);margin-bottom:8px;}
.eval-list{list-style:none;font-size:16px;color:var(--text);line-height:1.9;display:grid;grid-template-columns:repeat(2,1fr);gap:2px 16px;}
.eval-list li{position:relative;padding-left:14px;}
.eval-list li::before{content:"・";position:absolute;left:0;}

/* ---- 比較カード（例：冷え/むくみ） ---- */
.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;}
.compare-card{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:20px 20px;}
.compare-title{display:inline-block;background:var(--green-pale);color:var(--green-dark);font-size:15px;font-weight:700;padding:4px 14px;border-radius:999px;margin-bottom:12px;}
.compare-list{list-style:none;font-size:16px;color:var(--text);line-height:1.9;}
.compare-list li{position:relative;padding-left:14px;}
.compare-list li::before{content:"・";position:absolute;left:0;}

/* ---- タイプ分類カード（例：めまいの4タイプ） ---- */
.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0;}
.type-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.06);border-top:3px solid var(--green);}
.type-title{font-size:17px;font-weight:700;color:var(--green-dark);margin-bottom:8px;}
.type-desc{font-size:16px;color:var(--text-sub);line-height:1.8;}

/* ---- 補足ノートボックス ---- */
.note-box{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:22px 22px;margin-top:18px;}
.note-box p{font-size:16px;color:var(--text-sub);}
.note-box p:last-child{margin-bottom:0;}

/* ==========================================================================
   SP（〜600px）
   ========================================================================== */
@media(max-width:600px){
  .page-wrap{padding-left:20px;padding-right:20px;}
  .fv-hero-wrap{padding-left:0;padding-right:0;}
  .fv-hero{border-radius:0;}
  .fv-inner{padding-left:20px;padding-right:20px;}
  h2{font-size:21px;}
  section{padding:32px 0;}
  .prof-box{flex-direction:column;text-align:center;}
  .btn{max-width:100%;}
  .btn-note{max-width:100%;}
  .cta-group{max-width:100%;}
  .cta-group-hero{display:block;max-width:100%;}
  .cta-group-hero .cta-item{min-width:0;margin-bottom:0;}
  .cta-group-hero .btn-line{margin-top:12px;}
  .eval-list{grid-template-columns:1fr;}
  .compare-grid{grid-template-columns:1fr;}
  .type-grid{grid-template-columns:1fr;}
  .section-img{border-radius:10px;}
  .fv{padding:0 0 0;}
  .fv-content{padding:20px 0 0;}
  .fv-headline{font-size:22px;}

  .page-wrap p[style*="font-size:14px"],
  .page-wrap span[style*="font-size:14px"],
  .page-wrap p[style*="font-size:15px"]{
    font-size:17px !important;
  }
}
