  :root{
    --navy:#0f2540;
    --navy-light:#1b3a5c;
    --blue:#1d6fb8;
    --blue-bright:#2b8fe0;
    --accent:#e8b04b;
    --accent-dark:#c8912f;
    --green:#179A8B;
    --orange:#EB920F;
    --bg:#f6f8fb;
    --bg-soft:#eef3f8;
    --text:#20303f;
    --text-soft:#54687a;
    --line:#dbe3ec;
    --white:#ffffff;
    --radius:14px;
    --shadow:0 8px 30px rgba(15,37,64,.10);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.8;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
  .narrow{max-width:840px;margin:0 auto;padding:0 20px;}

  /* ===== Header ===== */
  header.site{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
  .brand{font-weight:700;font-size:1.15rem;color:var(--navy);letter-spacing:.02em;}
  .brand small{display:block;font-size:.68rem;color:var(--text-soft);font-weight:500;letter-spacing:.08em;}
  .head-cta{display:flex;gap:10px;align-items:center;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.4em;
    font-weight:700;border-radius:999px;padding:.7em 1.4em;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
    white-space:nowrap;line-height:1.3;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--accent);color:var(--navy);box-shadow:0 6px 16px rgba(232,176,75,.4);}
  .btn-primary:hover{background:var(--accent-dark);}
  .btn-line{background:#06c755;color:#fff;box-shadow:0 6px 16px rgba(6,199,85,.35);}
  .btn-outline{border:2px solid var(--navy);color:var(--navy);background:transparent;}
  .btn-lg{font-size:1.1rem;padding:1em 2.2em;}
  .head-cta .btn{padding:.55em 1.1em;font-size:.9rem;}
  .tel-head{color:var(--navy);font-weight:700;font-size:1rem;}
  @media(max-width:720px){.head-cta .tel-head{display:none;}}

  /* ===== MV ===== */
  .mv { padding: 0; overflow: hidden; }
  .mv-inner { position: relative; }
  .mv-img { width: 100%; display: block; }
  .mv-cta {
    position: absolute;
    bottom: 15%;
    left: 5%;
    display: flex;
    gap: 12px;
    z-index: 2;
    width: 55%;
  }
  .mv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    padding: 0.85em 1em;
    border-radius: 999px;
    white-space: nowrap;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    letter-spacing: 0.04em;
    flex: 1;
  }
  .mv-btn:hover { transform: translateY(-3px); }
  .mv-btn-tel {
    background: linear-gradient(135deg, #e2bc6c, #ba8539);
    color: #fff;
    box-shadow: 0 6px 20px rgba(186,133,57,0.5);
  }
  .mv-btn-line {
    background: transparent;
    color: #fff;
    border: 1px solid #b98438;
    box-shadow: none;
  }
  @media (max-width: 640px) {
    .mv-cta { display: none; }
  }

  /* ===== MV Banner ===== */
  .mv-banner { margin: 32px 0; }
  .mv-banner-img { width: 100%; display: block; }

  /* ===== Hero ===== */
  .hero{
    position:relative;color:#fff;overflow:hidden;
    background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 55%,var(--blue) 120%);
  }
  .hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 80% 20%,rgba(43,143,224,.35),transparent 55%);
    pointer-events:none;
  }
  .hero .wrap{position:relative;z-index:2;padding:64px 20px 72px;}
  .hero .eyebrow{
    display:inline-block;background:rgba(232,176,75,.18);color:var(--accent);
    border:1px solid rgba(232,176,75,.5);border-radius:999px;
    padding:.35em 1.1em;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:22px;
  }
  .hero h1{
    font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.35;font-weight:800;letter-spacing:.01em;
    text-shadow:0 2px 12px rgba(0,0,0,.2);
  }
  .hero h1 .mark{
    background:linear-gradient(transparent 62%,rgba(232,176,75,.55) 62%);padding:0 .1em;
  }
  .hero .lead{
    margin-top:22px;font-size:clamp(1rem,2.2vw,1.2rem);color:#dbe8f5;max-width:640px;font-weight:500;
  }
  .hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
  .hero-badges span{
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);
    border-radius:10px;padding:.5em 1em;font-size:.9rem;font-weight:600;backdrop-filter:blur(4px);
  }
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;}
  .hero-note{margin-top:18px;font-size:.8rem;color:#b8cbe0;}
  .hero-price{
    max-width:680px;margin-top:28px;padding:18px 22px;border-radius:12px;
    background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);
    display:flex;align-items:center;justify-content:space-between;gap:18px;
  }
  .hero-price .course{font-weight:700;color:#fff;}
  .hero-price .course small{display:block;color:#cfe0f0;font-weight:500;font-size:.8rem;}
  .hero-price .amount{text-align:right;font-size:1.65rem;font-weight:800;color:var(--accent);white-space:nowrap;}
  .hero-price .amount small{display:block;color:#dbe8f5;font-size:.72rem;font-weight:500;}
  @media(max-width:640px){
    .hero-price{align-items:flex-start;flex-direction:column;gap:8px;}
    .hero-price .amount{text-align:left;}
  }
  .trust-note{
    max-width:860px;margin:28px auto 0;padding:18px 22px;border-radius:12px;
    background:#fff7e9;border:1px solid #f0d49c;color:var(--text);font-size:.9rem;
  }

  /* ===== Lead message ===== */
  .section-lead-message{padding:72px 0;background:#fff;text-align:center;}
  .lead-question{
    font-size:clamp(1.6rem,4vw,2.6rem);color:var(--navy);font-weight:800;
    margin-bottom:0;line-height:1.4;
  }
  .lead-subtitle{
    font-size:1rem;color:var(--text);line-height:2;margin-top:24px;
  }

  /* compare cards */
  .compare-cards{
    display:flex;align-items:stretch;gap:20px;
    margin-top:42px;max-width:1000px;margin-left:auto;margin-right:auto;
  }
  .compare-card{
    flex:1;border-radius:16px;padding:32px 28px;text-align:left;
  }
  .compare-drug{
    background:#fff;border:1px solid #d0dae6;
  }
  .compare-renova{
    background:linear-gradient(135deg,#081e38 0%,#163d6a 50%,#081e38 100%);
    border:2px solid var(--accent);color:#fff;
  }
  .compare-head{margin-bottom:24px;text-align:center;}
  .compare-label{
    font-size:.8rem;font-weight:600;letter-spacing:.05em;
  }
  .compare-drug .compare-label{color:var(--text-soft);}
  .compare-renova .compare-label{color:#fff;}
  .compare-head h3{
    font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800;margin-top:6px;line-height:1.4;
  }
  .compare-drug .compare-head h3{color:var(--navy);font-size:2.5rem;}
  .compare-renova .compare-head h3{
    color:var(--accent);font-size:2.5rem;line-height:1.2;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
  }
  .compare-renova .compare-head h3 small{font-size:1.5rem;display:block;margin-top:-4px;}
  .compare-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;}
  .compare-list li{display:flex;align-items:flex-start;gap:14px;padding:9px 0;border-top:1px solid;}
  .compare-drug .compare-list li{border-color:#d0dae6;}
  .compare-renova .compare-list li{border-color:rgba(255,255,255,.2);}
  .compare-icon{
    flex:none;width:38px;height:38px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;line-height:1;
  }
  .compare-drug .compare-icon{
    background:#f0f4f8;border:1px solid #d0dae6;
  }
  .compare-renova .compare-icon{
    background:rgba(232,176,75,.18);border:1px solid rgba(232,176,75,.5);
  }
  .compare-list li strong{display:block;font-size:1.2rem;font-weight:700;margin-bottom:0;}
  .compare-list li span{font-size:1rem;color:var(--text-soft);line-height:1.5;}
  .compare-renova .compare-list li span{color:#c0d4e8;}

  .compare-arrow{
    flex:none;width:44px;height:44px;border-radius:50%;
    background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;
    align-self:center;
    font-size:1.2rem;font-weight:700;
  }

  .lead-banner{
    margin-top:42px;padding:22px 28px;border-radius:12px;
    background:#fff7e9;border:1px solid #f0d49c;
    font-size:clamp(1rem,2.4vw,1.25rem);font-weight:700;color:var(--accent-dark);
    text-align:center;
  }
  .lead-note{
    margin-top:16px;font-size:.8rem;color:var(--text-soft);text-align:center;
  }

  @media(max-width:720px){
    .compare-cards{flex-direction:column;}
    .compare-arrow{transform:rotate(90deg);}
  }

  /* ===== Section commons ===== */
  section{padding:72px 0;}
  section.alt{background:var(--white);}
  .sec-head{text-align:center;margin-bottom:48px;}
  .sec-head .en{
    display:block;color:var(--blue);font-size:.85rem;font-weight:700;
    letter-spacing:.18em;margin-bottom:10px;text-transform:uppercase;
  }
  .sec-head h2{
    font-size:clamp(1.5rem,3.6vw,2.1rem);color:var(--navy);font-weight:800;line-height:1.4;
  }
  .sec-head h2 .mark{background:linear-gradient(transparent 60%,rgba(43,143,224,.2) 60%);padding:0 .12em;}
  .sec-head p{margin-top:16px;color:var(--text-soft);}
  .lead-copy{font-size:1.05rem;color:var(--text);max-width:820px;margin:0 auto 12px;}
  .lead-copy + .lead-copy{margin-top:16px;}
  h3.blk{color:var(--navy);font-size:1.2rem;font-weight:800;margin:0 0 12px;display:flex;align-items:center;gap:10px;}
  h3.blk::before{content:"";width:8px;height:22px;background:var(--accent);border-radius:3px;flex:none;}

  /* ===== Feature cards ===== */
  .feature-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;margin-top:44px;align-items:stretch;}
  .fcard{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:30px 26px;box-shadow:var(--shadow);position:relative;
  }
  .fcard-head{
    display:flex;align-items:center;gap:14px;margin-bottom:4px;
  }
  .fcard-icon{
    width:72px;height:72px;object-fit:contain;
  }
  .fcard .num{
    position:static;width:auto;height:auto;border-radius:0;
    background:none;border:none;box-shadow:none;
    color:var(--navy);font-weight:700;font-size:2.2rem;
    font-family:"PT Serif",serif;letter-spacing:.04em;
    display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  }
  .fcard .num::after{
    content:"";display:block;width:28px;height:2px;background:var(--accent);
  }
  .fcard-bar{
    display:none;
  }
  .fcard h3{color:var(--navy);font-size:1.1rem;margin:18px 0 12px;font-weight:800;line-height:1.5;}
  .fcard p{color:var(--text-soft);font-size:.92rem;}
  .fcard-arrow{
    display:flex;align-items:center;justify-content:center;
    color:var(--line);font-size:1.2rem;padding:0 8px;
  }
  @media(max-width:820px){
    .feature-grid{grid-template-columns:1fr;gap:16px;}
    .fcard-arrow{display:none;}
  }

  /* ===== Step cards ===== */
  .mech-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:12px;}
  .steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:12px;}
  .step{
    background:var(--white);border-radius:var(--radius);padding:26px 20px;text-align:center;
    border:1px solid var(--line);box-shadow:var(--shadow);
  }
  .step .circle{
    width:60px;height:60px;margin:0 auto 14px;border-radius:50%;
    background:linear-gradient(135deg,var(--blue),var(--blue-bright));color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;
  }
  .step h4{color:var(--navy);font-size:1.02rem;margin-bottom:8px;font-weight:800;}
  .step p{color:var(--text-soft);font-size:.9rem;}
  @media(max-width:820px){.mech-steps,.steps4{grid-template-columns:1fr;}}

  /* ===== Spec ===== */
  .spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px;}
  .spec{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:24px 18px;text-align:center;box-shadow:var(--shadow);
  }
  .spec .label{font-size:.85rem;color:var(--text-soft);font-weight:600;margin-bottom:6px;}
  .spec .val{font-size:1.25rem;color:var(--navy);font-weight:800;line-height:1.4;}
  @media(max-width:820px){.spec-grid{grid-template-columns:repeat(2,1fr);}}

  /* ===== Stat callout ===== */
  .stat-hl{
    background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;
    border-radius:var(--radius);padding:34px;text-align:center;max-width:820px;margin:0 auto;box-shadow:var(--shadow);
  }
  .stat-hl .big{font-size:clamp(2.4rem,7vw,3.4rem);font-weight:800;line-height:1.1;color:#fff;}
  .stat-hl .big em{color:var(--accent);font-style:normal;}
  .stat-hl p{margin-top:10px;color:#d6e6f5;}

  /* ===== info card ===== */
  .info-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:34px;box-shadow:var(--shadow);
  }
  .info-card + .info-card{margin-top:24px;}
  .info-card h3{color:var(--navy);font-size:1.25rem;font-weight:800;margin-bottom:14px;}
  .info-card p{color:var(--text);margin-bottom:10px;}
  /* --- Mechanism card: 3-step flow --- */
  .mech-card{max-width:860px;margin:0 auto;}
  .mech-card + .mech-card{margin-top:24px;}
  .mech-flow{
    display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;
    align-items:start;margin:24px 0 28px;
  }
  .mech-flow-item{text-align:center;}
  .mech-flow-num{
    display:block;font-family:"PT Serif",serif;font-size:1.8rem;font-weight:700;
    color:var(--blue);letter-spacing:.04em;margin-bottom:2px;
  }
  .mech-flow-item strong{display:block;color:var(--navy);font-size:.95rem;margin-bottom:10px;}
  .mech-flow-icon{width:180px;height:180px;object-fit:contain;margin:0 auto 10px;}
  .mech-flow-item p{font-size:.85rem;color:var(--text-soft);margin:0;line-height:1.6;}
  .mech-flow-arrow{
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;color:var(--line);padding:0 6px;margin-top:80px;
  }
  @media(max-width:640px){
    .mech-flow{grid-template-columns:1fr;gap:16px;}
    .mech-flow-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 16px;text-align:left;}
    .mech-flow-num{grid-row:1;grid-column:1;font-size:1.4rem;align-self:center;}
    .mech-flow-item strong{grid-row:1;grid-column:2;font-size:.95rem;align-self:center;margin-bottom:0;}
    .mech-flow-icon{grid-row:2;grid-column:1;width:56px;height:56px;margin:8px auto 0;}
    .mech-flow-item p{grid-row:2;grid-column:2;font-size:.85rem;margin-top:8px;}
    .mech-flow-arrow{display:none;}
  }

  /* --- Analogy box with icon --- */
  .analogy{
    background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;
    padding:20px 24px;margin:0;color:var(--text);
    display:flex;align-items:center;gap:20px;
  }
  .analogy-icon{width:200px;height:200px;object-fit:contain;flex:none;}
  .analogy-body strong{display:block;color:var(--navy);font-size:1rem;margin-bottom:4px;}
  .analogy-body p{font-size:.9rem;color:var(--text-soft);margin:0;line-height:1.7;}
  @media(max-width:640px){
    .analogy{flex-direction:column;gap:16px;padding:20px 16px;text-align:center;}
    .analogy-icon{width:120px;height:120px;margin:0 auto;}
    .analogy-body strong{font-size:.9rem;}
    .analogy-body p{font-size:.8rem;}
  }

  /* --- Cause grid (4 icons) --- */
  .mech-card .cause-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;
  }
  .cause-item{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:20px 10px;text-align:center;
  }
  .cause-item img{width:150px;height:150px;object-fit:contain;margin:0 auto 8px;}
  .cause-item span{display:block;font-weight:700;color:var(--navy);font-size:.92rem;}
  @media(max-width:640px){
    .mech-card .cause-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .cause-item{padding:16px 10px;}
    .cause-item img{width:80px;height:80px;}
    .cause-item span{font-size:.88rem;}
  }

  /* --- Cause flow (3-step bottom) --- */
  .cause-flow{
    display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;
    align-items:center;margin:16px 0 0;
    background:var(--bg-soft);border-radius:10px;padding:18px 14px;
  }
  .cause-flow-item{text-align:center;}
  .cause-flow-icon{width:200px;height:auto;object-fit:contain;margin:0 auto 6px;}
  .cause-flow-item span{font-size:.82rem;font-weight:700;color:var(--navy);line-height:1.4;}
  .cause-flow-arrow{
    display:flex;align-items:center;justify-content:center;
    color:var(--accent);font-size:1.3rem;font-weight:700;padding:0 4px;
  }
  @media(max-width:640px){
    .cause-flow{grid-template-columns:1fr;gap:12px;padding:16px;}
    .cause-flow-icon{width:100px;max-height:100px;}
    .cause-flow-item span{font-size:.88rem;}
    .cause-flow-arrow{font-size:1.2rem;transform:rotate(90deg);}
  }

  /* --- Approach compare --- */
  .approach-compare{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    max-width:900px;margin:0 auto;align-items:stretch;
    position:relative;
  }
  .approach-card{
    border-radius:var(--radius);padding:34px 28px;box-shadow:var(--shadow);
    text-align:center;
  }
  .approach-drug{
    background:#fff;border:1px solid var(--line);
  }
  .approach-renova{
    background:var(--navy) url('../img/approach_bg.png') no-repeat right 30% / 60% auto;
    color:#fff;
  }
  .approach-tag{
    display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.05em;
    padding:.25em .9em;border-radius:4px;margin-bottom:8px;
  }
  .approach-drug .approach-tag{background:var(--bg-soft);color:var(--text-soft);}
  .approach-renova .approach-tag{background:transparent;color:var(--accent);}
  .approach-card h3{font-size:1.4rem;font-weight:800;margin-bottom:16px;}
  .approach-drug h3{color:var(--navy);}
  .approach-renova h3{color:#fff;}
  .approach-illust{width:160px;max-width:80%;height:140px;margin:0 auto 14px;object-fit:contain;}
  .approach-drug .approach-illust{width:80%;}
  .approach-renova .approach-illust{margin:0 auto 14px 4%;}
  .approach-label{
    display:inline-block;font-size:.85rem;font-weight:700;
    padding:.3em 1em;border-radius:4px;margin-bottom:16px;
  }
  .approach-drug .approach-label{background:var(--bg-soft);color:var(--text-soft);}
  .approach-renova .approach-label{background:var(--accent);color:#fff;}
  .approach-list{
    list-style:none;text-align:left;margin:0 auto;
    max-width:280px;
  }
  .approach-list li{
    position:relative;padding:5px 0 5px 24px;font-size:.92rem;font-weight:600;
  }
  .approach-list li::before{
    content:"\2714";position:absolute;left:0;font-size:.8rem;
  }
  .approach-drug .approach-list li::before{color:var(--blue);}
  .approach-drug .approach-list li{color:var(--text);}
  .approach-renova .approach-list li::before{color:var(--accent);}
  .approach-renova .approach-list li{color:#fff;}
  .approach-note{
    font-size:.8rem;margin-top:14px;padding-top:10px;
    border-top:1px solid rgba(128,128,128,.2);
  }
  .approach-drug .approach-note{color:var(--text-soft);}
  .approach-renova .approach-note{color:rgba(255,255,255,.7);}
  .approach-vs{
    position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;font-weight:800;color:#fff;
    background:var(--navy);width:44px;height:44px;border-radius:50%;
    border:3px solid var(--bg);z-index:2;
  }
  @media(max-width:720px){
    .approach-compare{grid-template-columns:1fr;gap:16px;}
    .approach-vs{position:static;transform:none;margin:0 auto;}
  }

  /* --- Approach combi box --- */
  .approach-combi{
    display:flex;align-items:center;gap:20px;
    max-width:860px;margin:28px auto 0;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:24px 28px;box-shadow:var(--shadow);
  }
  .approach-combi-icon{width:72px;height:72px;object-fit:contain;flex:none;}
  .approach-combi-body strong{display:block;color:var(--navy);font-size:1.1rem;font-weight:800;margin-bottom:4px;}
  .approach-combi-body p{font-size:.9rem;color:var(--text-soft);margin:0;line-height:1.7;}
  @media(max-width:640px){
    .approach-combi{flex-direction:column;gap:16px;padding:20px 16px;text-align:center;}
    .approach-combi-icon{width:100px;height:100px;margin:0 auto;}
  }

  /* ===== Why RENOVA ===== */
  .why-card{
    display:flex;gap:24px;max-width:900px;margin:0 auto;
    padding:28px 0;border-bottom:1px solid var(--line);
  }
  .why-card:last-child{border-bottom:none;}
  .why-card + .why-card{margin-top:0;}
  .why-illust{
    flex:none;width:180px;
    display:flex;align-items:center;justify-content:center;
  }
  .why-img{width:100%;height:auto;object-fit:contain;}
  .why-body{flex:1;padding:28px 32px;}
  .why-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
  .why-num{
    font-family:"PT Serif",serif;font-size:2rem;font-weight:500;
    line-height:1;flex:none;
  }
  .why-head h3{
    font-size:1.15rem;font-weight:800;color:var(--navy);
    margin:0;padding-left:12px;border-left:3px solid var(--accent);
  }
  .why-tag{
    display:inline-flex;align-items:center;gap:6px;
    font-size:.85rem;font-weight:700;
    padding:.4em 1em;border-radius:6px;margin-bottom:14px;
  }
  .why-tag.blue{background:var(--navy);color:#fff;}
  .why-body p{font-size:.92rem;color:var(--text);margin-bottom:10px;line-height:1.8;}
  .why-tags{
    display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px;
  }
  .why-mini-tag{
    display:inline-flex;align-items:center;gap:6px;
    font-size:.82rem;font-weight:700;color:var(--navy);
    background:#fff;border:1px solid var(--accent);border-radius:6px;
    padding:.4em .9em;line-height:1.4;
  }
  @media(max-width:720px){
    .why-card{flex-direction:column;}
    .why-illust{width:100%;padding:20px;border-right:none;border-bottom:1px dashed var(--line);}
    .why-img{max-width:160px;margin:0 auto;}
    .why-body{padding:20px 18px;}
    .why-head{flex-direction:column;align-items:flex-start;gap:4px;}
    .why-num{font-size:1.5rem;}
    .why-head h3{font-size:1.15rem;padding-left:0;border-left:none;border-bottom:3px solid var(--accent);padding-bottom:6px;}
  }

  .dot-list{list-style:none;margin:12px 0 0;}
  .dot-list li{position:relative;padding:6px 0 6px 24px;color:var(--text);}
  .dot-list li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--blue);}

  .sym-list{list-style:none;margin:14px 0 0;}
  .sym-list li{position:relative;padding:8px 0 8px 30px;border-bottom:1px dashed var(--line);color:var(--text);}
  .sym-list li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800;}

  /* ===== Compare 2 (対症 vs 根本) ===== */
  .compare2{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto;}
  .cmp-card{border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow);}
  .cmp-card.drug{background:#fff;border:1px solid var(--line);}
  .cmp-card.renova{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;}
  .cmp-card .tagline{font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:6px;}
  .cmp-card.drug .tagline{color:var(--text-soft);}
  .cmp-card.renova .tagline{color:var(--accent);}
  .cmp-card h3{font-size:1.35rem;font-weight:800;margin-bottom:14px;}
  .cmp-card.drug h3{color:var(--navy);}
  .cmp-card.renova h3{color:#fff;}
  .cmp-card p{font-size:.95rem;}
  .cmp-card.drug p{color:var(--text-soft);}
  .cmp-card.renova p{color:#e3eefa;}
  @media(max-width:720px){.compare2{grid-template-columns:1fr;}}
  .core-diff{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:0 auto;}
  .core-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff;border:1px solid var(--line);}
  .core-card .core-head{padding:22px 24px;background:var(--bg-soft);color:var(--navy);}
  .core-card.renova{border:2px solid var(--accent);}
  .core-card.renova .core-head{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;}
  .core-card .core-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:4px;}
  .core-card.renova .core-label{color:var(--accent);}
  .core-card h3{font-size:1.35rem;font-weight:800;}
  .core-list{list-style:none;padding:10px 24px 20px;}
  .core-list li{padding:15px 0 15px 30px;border-bottom:1px dashed var(--line);position:relative;}
  .core-list li:last-child{border-bottom:none;}
  .core-list li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800;}
  .core-card.renova .core-list li::before{color:var(--accent-dark);}
  .core-list strong{display:block;color:var(--navy);font-size:1.02rem;}
  .core-list span{display:block;color:var(--text-soft);font-size:.9rem;margin-top:3px;}
  .renova-value{
    max-width:920px;margin:26px auto 0;padding:26px 28px;border-radius:var(--radius);
    background:#fff7e9;border:1px solid #f0d49c;text-align:center;
  }
  .renova-value strong{display:block;color:var(--navy);font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.5;}
  .renova-value p{margin-top:8px;color:var(--text-soft);font-size:.92rem;}
  @media(max-width:720px){.core-diff{grid-template-columns:1fr;}}

  /* ===== Adapt (向いている/向いていない/禁忌) ===== */
  /* ===== Suitability cards (top 4) ===== */
  .suit-cards{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    max-width:900px;margin:0 auto 32px;
  }
  .suit-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:20px 14px;text-align:center;box-shadow:var(--shadow);
    display:flex;align-items:center;gap:12px;
  }
  .suit-icon{font-size:1.6rem;flex:none;}
  .suit-icon-img{width:75px;height:75px;object-fit:contain;flex:none;}
  .suit-card p{font-size:.88rem;font-weight:700;color:var(--navy);margin:0;text-align:left;line-height:1.5;}
  @media(max-width:720px){.suit-cards{grid-template-columns:repeat(2,1fr);gap:10px;}}
  @media(max-width:480px){.suit-cards{grid-template-columns:1fr;}}

  /* ===== Suitability sections (01/02/03) ===== */
  .suit-section{
    display:flex;gap:0;max-width:900px;margin:0 auto;
    padding:28px 0;border-bottom:1px solid var(--line);
  }
  .suit-section:last-child{border-bottom:none;}
  .suit-section + .suit-section{margin-top:0;}
  .suit-label{
    flex:none;width:200px;padding:0 20px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;gap:4px;
  }
  .suit-good .suit-label{border-right:3px solid #179A8B;}
  .suit-warn .suit-label{border-right:3px solid var(--orange);}
  .suit-ng .suit-label{border-right:3px solid #D43C2C;}
  .suit-badge{
    display:flex;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:50%;font-size:1.1rem;color:#fff;
  }
  .suit-badge.good{background:#179A8B;}
  .suit-badge.warn{background:var(--orange);}
  .suit-badge.ng{background:#D43C2C;}
  .suit-badge-img{width:44px;height:44px;max-width:40%;object-fit:contain;}
  .suit-num{
    font-family:"PT Serif",serif;font-size:2rem;font-weight:500;
    line-height:1;
  }
  .suit-good .suit-num{color:#179A8B;}
  .suit-warn .suit-num{color:var(--orange);}
  .suit-ng .suit-num{color:#D43C2C;}
  .suit-label strong{font-size:1.2rem;color:var(--navy);line-height:1.4;}
  .suit-body{flex:1;padding:24px 28px;}
  .suit-list{list-style:none;margin:0;padding:0;}
  .suit-list.two-col{
    columns:initial;
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    position:relative;
  }
  .suit-list.two-col::before{
    content:"";position:absolute;left:50%;top:10px;bottom:10px;
    border-left:1px dashed var(--line);
  }
  .suit-list.two-col li{
    padding-top:12px;padding-bottom:12px;
  }
  .suit-list.two-col li:nth-child(odd){
    padding-right:28px;
    border-bottom:1px dashed var(--line);
    margin-right:12px;
  }
  .suit-list.two-col li:nth-child(even){
    padding-left:28px;
    border-bottom:1px dashed var(--line);
    margin-left:12px;
  }
  .suit-list.two-col li:nth-last-child(1),
  .suit-list.two-col li:nth-last-child(2):nth-child(odd){
    border-bottom:none;
  }
  .suit-list li{
    position:relative;padding:10px 0 10px 22px;font-size:.9rem;color:var(--text);
  }
  .suit-good .suit-list li::before{content:"\2714";position:absolute;left:0;color:#179A8B;font-size:.8rem;}
  .suit-warn .suit-list li::before{content:"\26A0";position:absolute;left:0;color:var(--orange);font-size:1rem;}
  .suit-ng .suit-list li::before{content:"\2716";position:absolute;left:0;color:#D43C2C;font-size:.8rem;}
  .suit-note{font-size:.82rem;color:var(--text-soft);margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--line);}
  @media(max-width:720px){
    .suit-section{flex-direction:column;}
    .suit-label{width:100%;flex-direction:row;padding:16px 20px;gap:12px;}
    .suit-good .suit-label{border-right:none;border-bottom:3px solid #179A8B;}
    .suit-warn .suit-label{border-right:none;border-bottom:3px solid var(--orange);}
    .suit-ng .suit-label{border-right:none;border-bottom:3px solid #D43C2C;}
    .suit-list.two-col{grid-template-columns:1fr;}
    .suit-list.two-col::before{display:none;}
    .suit-list.two-col li:nth-child(odd){border-right:none;padding-right:0;margin-right:0;}
    .suit-list.two-col li:nth-child(even){padding-left:22px;margin-left:0;}
    .suit-body{padding:18px 16px;}
    .suit-badge-img{max-width:14%;}
  }

  /* ===== Recommend (legacy) ===== */
  .rec-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:860px;margin:0 auto 40px;}
  .rec{
    display:flex;gap:14px;align-items:flex-start;background:var(--white);
    border:1px solid var(--line);border-left:5px solid var(--accent);
    border-radius:12px;padding:22px 24px;box-shadow:var(--shadow);
  }
  .rec .chk{color:var(--accent-dark);font-size:1.4rem;font-weight:800;line-height:1.4;flex:none;}
  .rec p{font-weight:700;color:var(--navy);font-size:1.02rem;}
  @media(max-width:720px){.rec-list{grid-template-columns:1fr;}}

  /* ===== CTA band ===== */
  .cta-band{
    background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 130%);
    color:#fff;text-align:center;padding:60px 0;
  }
  .cta-band h2{font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:800;line-height:1.5;}
  .cta-band p{margin-top:14px;color:#d6e6f5;}
  .cta-band .hero-cta{justify-content:center;}
  .cta-band .btn-outline{border-color:#fff;color:#fff;}
  .cta-band--img{
    background:var(--navy);padding:0;
  }
  .cta-band-bg-img{
    width:100%;display:block;
  }
  .cta-band-buttons{
    display:flex;gap:20px;justify-content:center;flex-wrap:wrap;
    padding:24px 20px 32px;
    background:#000e2a;
  }
  .cta-band-btn-img{
    max-width:280px;width:100%;display:block;
    transition:transform .15s ease;
  }
  .cta-band-btn-img:hover{transform:translateY(-3px);}

  /* ===== Course info grid ===== */
  .course-info-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;
  }
  .course-info-card{
    margin-top:0 !important;
    background:none !important;
    border:none !important;border-radius:0 !important;box-shadow:none !important;
    padding:0 !important;padding-bottom:24px !important;
    border-bottom:1px solid var(--line) !important;
  }
  .course-info-head{
    display:flex;align-items:center;gap:12px;margin-bottom:16px;
  }
  .course-info-icon{width:72px;height:72px;object-fit:contain;}
  .course-info-card p{margin-bottom:0;}
  @media(max-width:640px){
    .course-info-grid{grid-template-columns:1fr;}
  }

  /* ===== Flow redesign ===== */
  .flow-title{
    text-align:center;font-size:1.4rem;font-weight:800;margin-top:40px;margin-bottom:24px;
    padding-bottom:16px;border-bottom:3px solid var(--accent);
    width:fit-content;margin-left:auto;margin-right:auto;
  }
  .flow{
    display:flex;align-items:stretch;gap:0;
  }
  .flow-item{
    flex:1;text-align:center;display:flex;flex-direction:column;
  }
  .flow-item .no{
    font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:#8DBFF6;
    margin-bottom:12px;letter-spacing:.02em;
  }
  .flow-item-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:24px 16px;flex:1;
    display:flex;flex-direction:column;align-items:center;
  }
  .flow-icon{
    width:72px;height:72px;object-fit:contain;margin:0 auto 14px;
  }
  .flow-item h4{font-size:.95rem;margin-bottom:8px;}
  .flow-item-card .flow-sep{
    width:40px;height:3px;background:var(--accent);margin:8px auto 12px;border:none;
  }
  .flow-item p{font-size:.82rem;text-align:left;}
  .flow-arrow{
    flex:none;width:30px;display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;color:var(--text-soft);padding-top:60px;
  }
  @media(max-width:640px){
    .flow{flex-wrap:wrap;gap:16px;}
    .flow-item{flex:0 0 100%;}
    .flow-arrow{display:none;}
  }

  /* ===== Timeline (redesign) ===== */
  .tl-steps{
    display:flex;gap:0;position:relative;margin-top:40px;
  }
  .tl-steps::before{display:none;}
  .tl-step{
    flex:1;text-align:center;position:relative;z-index:1;
  }
  .tl-step-top{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    margin-bottom:8px;
  }
  .tl-step-icon{width:100px;height:100px;object-fit:contain;}
  .tl-step-num{
    font-size:2.4rem;font-weight:700;color:#8DBFF6;
    font-family:'PT Serif','Cormorant',Georgia,serif;
    line-height:1;
  }
  .tl-dot{display:none;}
  .tl-step-label{
    display:inline-block;font-size:.9rem;font-weight:700;color:#8DBFF6;
    border-bottom:2px solid #8DBFF6;
    padding:0 4px 4px;margin-bottom:14px;
  }
  .tl-step h4{font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:8px;}
  .tl-step p{font-size:.85rem;color:var(--text-soft);padding:0 12px;}
  @media(max-width:640px){
    .tl-steps{flex-direction:column;gap:28px;}
    .tl-steps::before{display:none;}
    .tl-dot{display:none;}
    .tl-step-num{display:none;}
    .tl-step-icon{width:100px;height:100px;}
    .tl-step-label{font-size:1rem;}
    .tl-step h4{font-size:1.1rem;}
    .tl-step p{font-size:.95rem;padding:0;}
  }

  /* ===== Timeline Points (効果を高めるポイント) ===== */
  .section-timeline-points{
    background:url('../img/timeline_bg.png') top center/100% 100% no-repeat;
    background-color:#03295b;
    color:#fff;padding:80px 0 50px;
    margin-top:-1px;overflow:hidden;
  }
  @media(max-width:640px){
    .section-timeline-points{
      background-image:url('../img/timeline_bg_sp.png');
      background-size:cover;background-position:top center;
    }
  }
  .tl-points-title{
    text-align:center;font-size:1.3rem;font-weight:800;margin-bottom:32px;
    font-family:'PT Serif','Cormorant',Georgia,serif;
    color:var(--accent);
    display:flex;align-items:center;gap:16px;
  }
  .tl-points-title::before,
  .tl-points-title::after{
    content:'';flex:1;height:2px;background:var(--accent);
  }
  .tl-points{
    display:flex;gap:24px;
  }
  .tl-point{flex:1;}
  .tl-point-head{
    display:flex;align-items:center;gap:8px;margin-bottom:12px;
  }
  .tl-point-num{
    font-size:1.6rem;font-weight:700;color:var(--accent);
    font-family:'PT Serif','Cormorant',Georgia,serif;
    line-height:1;
  }
  .tl-point-head h4{
    font-size:1.05rem;font-weight:800;margin:0;flex:1;
    font-family:'PT Serif','Cormorant',Georgia,serif;
  }
  .tl-point-icon{width:80px;height:80px;object-fit:contain;flex:none;}
  .tl-point p{font-size:.88rem;color:rgba(255,255,255,.85);}
  @media(max-width:640px){
    .tl-points{flex-direction:column;}
  }

  /* ===== Shockwave VS ===== */
  .sw-vs{
    display:flex;align-items:flex-start;gap:0;justify-content:center;
  }
  .sw-vs-item{flex:1;text-align:center;}
  .sw-vs-item h3{font-size:1.1rem;font-weight:800;color:var(--navy);margin-bottom:4px;}
  .sw-vs-tagline{font-size:.85rem;color:var(--accent);font-weight:600;margin-bottom:16px;}
  .sw-vs-img{max-width:400px;width:100%;margin:0 auto;display:block;}
  .sw-vs-caption{
    font-size:.9rem;font-weight:700;color:var(--navy);margin-top:12px;
  }
  .sw-vs-mark{
    flex:none;width:50px;display:flex;align-items:center;justify-content:center;
    font-family:'Cormorant',Georgia,serif;font-size:1.8rem;font-style:italic;
    color:var(--text-soft);padding-top:60px;
  }
  @media(max-width:640px){
    .sw-vs{flex-direction:column;gap:20px;align-items:center;}
    .sw-vs-mark{padding-top:0;width:auto;font-size:2.4rem;text-align:center;}
  }

  /* ===== Shockwave Protocol ===== */
  .sw-protocol{text-align:center;margin-top:40px;}
  .sw-protocol-title{
    font-size:1.2rem;font-weight:800;color:var(--accent);margin-bottom:16px;
    font-family:'PT Serif','Cormorant',Georgia,serif;
    display:flex;align-items:center;gap:16px;justify-content:center;
    text-align:center;flex-wrap:wrap;
  }
  .sw-protocol-title::before,
  .sw-protocol-title::after{
    content:'';flex:1;max-width:200px;height:2px;background:var(--accent);
  }
  .sw-protocol-title span{color:var(--accent);}
  .sw-protocol-lead{
    font-size:.9rem;color:var(--text-soft);margin-bottom:32px;line-height:1.9;
  }
  .sw-protocol-grid{
    display:flex;gap:28px;justify-content:center;
  }
  .sw-protocol-item{flex:1;text-align:center;}
  .sw-protocol-icon{width:200px;height:200px;object-fit:contain;margin:0 auto 12px;}
  .sw-protocol-item h4{
    font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:6px;
  }
  .sw-protocol-item p{font-size:.85rem;color:var(--text-soft);}
  @media(max-width:640px){
    .sw-protocol-grid{flex-direction:column;}
    .sw-protocol-lead br{display:none;}
  }

  /* ===== Pros / Cons (legacy) ===== */
  .pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .pc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow);}
  .pc.merit{border-top:5px solid #179A8B;}
  .pc.demerit{border-top:5px solid var(--orange);}
  .pc h3{font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:16px;}
  .pc ul{list-style:none;}
  .pc li{position:relative;padding:10px 0 10px 30px;border-bottom:1px dashed var(--line);}
  .pc li:last-child{border-bottom:none;}
  .pc li strong{color:var(--navy);}
  .pc.merit li::before{content:"○";position:absolute;left:2px;color:#179A8B;font-weight:800;}
  .pc.demerit li::before{content:"△";position:absolute;left:2px;color:var(--orange);font-weight:800;}
  @media(max-width:720px){.pc-grid{grid-template-columns:1fr;}}

  /* ===== Pros & Cons (redesign) ===== */
  .section-proscons{
    background:#f1f5f9;
    padding:96px 0 0;
    overflow:visible;
  }
  .section-proscons .sec-head h2 .mark-white{
    background:linear-gradient(transparent 68%,rgba(43,143,224,.17) 68%);
    padding:0 .12em;
  }

  .proscons-layout{
    display:grid;grid-template-columns:1fr auto 1fr;gap:0;
    align-items:center;
    position:relative;
  }
  .proscons-col{padding:0 24px;align-self:start;}
  .proscons-col-title{
    font-size:1.5rem;font-weight:800;margin-bottom:28px;
    padding-bottom:12px;position:relative;
    display:inline-block;
  }
  .proscons-col-title::after{
    content:"";position:absolute;bottom:0;left:0;right:0;height:3px;
    border-radius:2px;
  }
  .proscons-col-title--merit{
    color:#179A8B;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
  }
  .proscons-col-title--merit::after{background:linear-gradient(90deg,#179A8B,#20c4b0);}
  .proscons-col-title--demerit{
    color:var(--accent-dark);
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
  }
  .proscons-col-title--demerit::after{background:linear-gradient(90deg,var(--accent),#f0c96e);}

  .proscons-list{display:flex;flex-direction:column;gap:22px;}
  .proscons-item{display:flex;align-items:flex-start;gap:14px;}
  .proscons-icon-img{
    flex:none;width:44px;height:44px;max-width:20%;object-fit:contain;
    margin-top:2px;
  }
  .proscons-text strong{
    display:block;font-size:1.05rem;font-weight:800;color:var(--navy);
    margin-bottom:3px;line-height:1.4;
  }
  .proscons-text span{
    display:block;font-size:.88rem;color:var(--text-soft);line-height:1.6;
  }

  .proscons-center{
    flex:none;display:flex;align-items:center;justify-content:center;
    padding:0 10px;
    position:relative;
  }
  .proscons-machine-img{
    width:280px;max-width:100%;height:auto;object-fit:contain;
  }

  /* 納得して治療を選ぶために */
  .proscons-bottom{
    margin-top:60px;
    background:url('../img/timeline_bg.png') top center/100% 100% no-repeat;
    background-color:#03295b;
    padding:40px 20px 0;overflow:hidden;
  }
  @media(max-width:640px){
    .proscons-bottom{
      background-image:url('../img/timeline_bg_sp.png');
      background-size:cover;background-position:top center;
    }
  }
  .proscons-bottom-inner{
    display:flex;align-items:flex-end;gap:32px;
    max-width:1180px;margin:0 auto;
  }
  .proscons-bottom-body{flex:1;align-self:flex-start;padding-top:5%;}
  .proscons-bottom-title{
    font-size:1.4rem;font-weight:800;color:var(--accent);
    margin-bottom:12px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
    display:flex;align-items:center;gap:16px;
  }
  .proscons-bottom-title::before,
  .proscons-bottom-title::after{
    content:'';flex:1;height:2px;background:var(--accent);
  }
  .proscons-bottom p{
    font-size:.95rem;color:rgba(255,255,255,.8);line-height:1.9;margin:0;
  }
  .proscons-bottom-illust{
    flex:none;width:35%;height:auto;object-fit:contain;
    margin-bottom:0;display:block;
  }

  @media(max-width:960px){
    .proscons-layout{grid-template-columns:1fr;gap:40px;}
    .proscons-center{order:-1;padding:0;}
    .proscons-center::before,.proscons-center::after{display:none;}
    .proscons-machine-img{width:220px;margin:0 auto;}
    .proscons-col{padding:0 10px;}
  }
  @media(max-width:640px){
    .section-proscons{padding:72px 0 0;}
    .proscons-bottom-inner{flex-direction:column;gap:20px;}
    .proscons-bottom-body{padding-top:10%;}
    .proscons-bottom-illust{width:120px;}
    .proscons-bottom p br{display:none;}
  }

  /* ===== FAQ v2 ===== */
  .section-faq{
    background:url('../img/contact-background-3840x2160.png') center center/cover no-repeat;
  }
  /* ===== Price background ===== */
  .section-price{
    background:url('../img/price_bg.png') top left/cover no-repeat;
  }
  .faq2{max-width:820px;margin:0 auto;}
  details.qa2{
    border-bottom:1px solid var(--line);
  }
  details.qa2 summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:center;gap:16px;
    padding:22px 48px 22px 0;position:relative;
    font-weight:700;color:var(--navy);font-size:1.02rem;
  }
  details.qa2 summary::-webkit-details-marker{display:none;}
  .qa2-num{
    flex:none;
    font-family:"PT Serif",serif;font-size:2.5rem;font-weight:400;
    color:var(--blue);letter-spacing:.02em;
    min-width:48px;
  }
  details.qa2 summary::after{
    content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);
    width:28px;height:28px;border-radius:50%;
    border:1.5px solid var(--blue);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231d6fb8'%3E%3Cpath d='M7.25 3v4.25H3v1.5h4.25V13h1.5V8.75H13v-1.5H8.75V3z'/%3E%3C/svg%3E");
    background-size:14px;background-repeat:no-repeat;background-position:center;
    transition:transform .2s;
  }
  details.qa2[open] summary::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231d6fb8'%3E%3Cpath d='M3 7.25h10v1.5H3z'/%3E%3C/svg%3E");
  }
  .qa2-a{
    padding:0 24px 22px 64px;
    color:var(--text-soft);font-size:.95rem;line-height:1.8;
    position:relative;
  }
  .qa2-a::before{
    content:"";position:absolute;left:20px;top:0;bottom:12px;
    width:3px;background:var(--accent);border-radius:2px;
  }

  /* ===== Causes (redesign) ===== */
  .section-causes{background:#f1f5f9;}
  .causes-grid{
    display:flex;flex-direction:column;gap:24px;
    max-width:900px;margin:0 auto;
  }
  .causes-card{
    padding:0 0 24px;
  }
  .causes-card h3{
    font-size:1.1rem;font-weight:800;color:#fff;
    margin-bottom:16px;padding:12px 20px;line-height:1.5;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
    background:var(--navy);
  }
  .causes-num{
    font-family:"PT Serif",serif;font-size:1.3rem;font-weight:700;
    color:var(--accent);margin-right:6px;
  }
  .causes-card p{
    font-size:.9rem;color:var(--text-soft);line-height:1.9;margin:0;
  }

  /* ===== About ED (redesign) ===== */
  .section-about-ed{background:#fbfcfe;}

  .about-ed-intro{
    display:flex;align-items:center;gap:32px;
    max-width:900px;margin:0 auto 48px;
  }
  .about-ed-intro-text{flex:1;}
  .about-ed-intro-text p{
    font-size:1.05rem;color:var(--text);line-height:2.1;margin:0;
  }
  .about-ed-intro-img{
    flex:none;width:450px;height:auto;object-fit:contain;
  }

  .about-ed-symptoms{
    max-width:900px;margin:0 auto 48px;
    border-top:1px solid var(--line);padding-top:32px;
  }
  .about-ed-symptoms h3{
    font-size:1.5rem;font-weight:900;color:var(--navy);margin-bottom:20px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
    position:relative;padding-bottom:8px;
  }
  .about-ed-symptoms h3::after{
    content:"";position:absolute;left:0;bottom:0;
    width:4.5em;height:2px;background:var(--accent);
  }
  .about-ed-sym-list{
    list-style:none;margin:0;padding:0;
    display:grid;grid-template-columns:1fr 1fr;gap:0;
  }
  .about-ed-sym-list li{
    position:relative;padding:12px 0 12px 42px;
    border-bottom:1px dashed var(--line);
    font-size:.95rem;color:var(--text);
  }
  .about-ed-sym-list li::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:30px;height:30px;border-radius:50%;
    background:#fff;
    border:1px solid #8fb8e0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231d6fb8'%3E%3Cpath d='M6.5 11.5L3 8l1-1 2.5 2.5L11 5l1 1z'/%3E%3C/svg%3E");
    background-size:18px;background-repeat:no-repeat;background-position:center;
  }
  .about-ed-sym-list li:nth-child(odd){margin-right:24px;}
  .about-ed-sym-list li:nth-child(even){margin-left:24px;}
  .about-ed-sym-note{
    font-size:.88rem;color:var(--text-soft);margin-top:16px;
  }

  .about-ed-process{
    max-width:900px;margin:0 auto;
    border-top:1px solid var(--line);padding-top:32px;
  }
  .about-ed-process > h3{
    font-size:1.5rem;font-weight:900;color:var(--navy);margin-bottom:12px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
    position:relative;padding-bottom:8px;
  }
  .about-ed-process > h3::after{
    content:"";position:absolute;left:0;bottom:0;
    width:4.5em;height:2px;background:var(--accent);
  }
  .about-ed-process-lead{
    font-size:.95rem;color:var(--text);line-height:1.9;margin-bottom:32px;
  }
  .about-ed-steps{
    display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;
    align-items:start;
  }
  .about-ed-step{text-align:center;position:relative;}
  .about-ed-step-top{
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;
  }
  .about-ed-step-num{
    position:absolute;top:0;left:0;
    font-family:"PT Serif",serif;font-size:1.6rem;font-weight:700;
    color:var(--accent);line-height:1;
  }
  .about-ed-step-icon{
    width:60%;max-width:180px;height:auto;object-fit:contain;
  }
  .about-ed-step h4{
    font-size:1.4rem;font-weight:800;color:var(--navy);margin-bottom:6px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
  }
  .about-ed-step p{
    font-size:.85rem;color:var(--text-soft);margin:0;padding:0 8px;
  }
  .about-ed-step-arrow{
    display:flex;align-items:center;justify-content:center;
    color:var(--accent);font-size:1.2rem;font-weight:700;
    padding:0 6px;margin-top:40px;
  }
  @media(max-width:720px){
    .about-ed-intro{flex-direction:column;gap:20px;}
    .about-ed-intro-img{width:90%;max-width:400px;margin:0 auto;}
    .about-ed-sym-list{grid-template-columns:1fr;}
    .about-ed-sym-list li:nth-child(odd){margin-right:0;}
    .about-ed-sym-list li:nth-child(even){margin-left:0;}
    .about-ed-steps{grid-template-columns:1fr;gap:20px;}
    .about-ed-step-arrow{display:none;}
  }

  /* ===== Tables ===== */
  .table-wrap{overflow-x:auto;border-radius:0;box-shadow:none;}
  table.price{width:100%;border-collapse:collapse;background:transparent;min-width:520px;font-size:.95rem;counter-reset:price-row;}
  table.price caption{text-align:left;font-weight:800;color:var(--navy);padding:10px 4px;font-size:1.05rem;}
  table.price thead{display:none;}
  table.price th,table.price td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;}
  table.price tbody tr{counter-increment:price-row;}
  table.price tbody th{background:transparent;color:var(--navy);font-weight:700;font-size:1.1rem;white-space:nowrap;position:relative;padding-left:60px;}
  table.price tbody th::before{
    content:counter(price-row, decimal-leading-zero);
    position:absolute;left:0;top:50%;transform:translateY(-50%);
    font-family:"PT Serif",serif;font-size:1.6rem;font-weight:400;color:var(--blue);opacity:0.5;
  }
  .price-icon{width:48px;height:48px;object-fit:contain;vertical-align:middle;margin-right:12px;}
  table.price tbody td:nth-child(2){}
  table.price tbody td{color:var(--text-soft);font-size:.9rem;}
  table.price td.price-cell{text-align:right;white-space:nowrap;font-weight:800;color:var(--navy);font-size:1.6rem;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;}
  table.price td .tax{display:block;font-size:.75rem;color:var(--text-soft);font-weight:500;}
  table.price tr.highlight td,table.price tr.highlight th{background:#fff7e9;}

  /* --- Price table SP layout --- */
  @media(max-width:640px){
    .table-wrap{overflow-x:visible;}
    table.price{min-width:0;display:block;}
    table.price caption{display:block;}
    table.price thead{display:none;}
    table.price tbody{display:block;}
    table.price tbody tr{
      display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;
      gap:0 8px;padding:16px 0;border-bottom:1px solid var(--line);
      counter-increment:price-row;
    }
    table.price tbody tr:last-child{border-bottom:none;}
    table.price tbody th{
      grid-column:1 / -1;display:flex;align-items:center;
      padding:0 0 8px;white-space:normal;font-size:.95rem;padding-left:0;border-bottom:none;
    }
    table.price tbody th::before{display:none;}
    .price-icon{width:32px;height:32px;margin-right:8px;}
    table.price tbody td{padding:0;border-bottom:none;}
    table.price tbody td:nth-child(2){
      color:var(--text-soft);font-size:.85rem;align-self:center;
    }
    table.price td.price-cell{
      text-align:right;font-size:1.3rem;
    }
  }

  table.cmp{width:100%;border-collapse:collapse;background:#fff;min-width:760px;font-size:.88rem;border:1px solid var(--line);}
  table.cmp th,table.cmp td{padding:12px 12px;border:1px solid var(--line);text-align:center;vertical-align:middle;}
  table.cmp thead th{background:var(--navy);color:#fff;font-weight:700;}
  table.cmp tbody th{background:#f0f4f8;color:var(--navy);text-align:left;white-space:nowrap;font-weight:700;}
  table.cmp tr.hl td,table.cmp tr.hl th{background:#fff7e9;}
  table.cmp tr.hl th{color:var(--accent-dark);}

  /* --- Compare table SP layout --- */
  @media(max-width:640px){
    table.cmp{min-width:0;display:block;border:none;background:transparent;}
    table.cmp thead{display:none;}
    table.cmp tbody{display:flex;flex-direction:column;gap:16px;}
    table.cmp tbody tr{
      display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;
    }
    table.cmp tbody th{
      display:block;white-space:normal;text-align:center;background:var(--navy);color:#fff;
      padding:12px;font-size:1rem;border:none;border-bottom:1px solid var(--line);
    }
    table.cmp tbody td{
      display:flex;justify-content:space-between;align-items:center;
      padding:10px 12px;border:none;border-bottom:1px solid var(--line);text-align:right;
    }
    table.cmp tbody td:last-child{border-bottom:none;}
    table.cmp tbody td::before{
      content:attr(data-label);font-weight:700;color:var(--navy);text-align:left;margin-right:12px;flex-shrink:0;
    }
    table.cmp tbody td[data-label="特徴"]{flex-direction:column;align-items:flex-start;text-align:left;gap:4px;}
    table.cmp tbody td[data-label="特徴"]::before{margin-right:0;}
    table.cmp tr.hl{border-color:var(--accent);}
    table.cmp tr.hl th{background:#b07a1a !important;color:#fff !important;}
  }

  /* ===== VS cards (treatment differences) ===== */
  .vs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
  .vs-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow);}
  .vs-card h3{color:var(--navy);font-size:1.12rem;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
  .vs-card h3 .tag{background:var(--bg-soft);color:var(--blue);font-size:.72rem;padding:.2em .7em;border-radius:999px;font-weight:700;}
  .vs-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;}
  .vs-row .who{flex:none;width:88px;font-weight:800;font-size:.82rem;padding:.25em 0;text-align:center;border-radius:8px;}
  .vs-row.other .who{background:var(--bg-soft);color:var(--text-soft);}
  .vs-row.renova .who{background:var(--navy);color:#fff;}
  .vs-row p{font-size:.92rem;color:var(--text);margin:0;}
  .vs-row.renova p{color:var(--navy);font-weight:600;}
  .vs-mid{text-align:center;color:var(--line);font-weight:800;font-size:.8rem;letter-spacing:.2em;margin:2px 0;}
  @media(max-width:720px){.vs-grid{grid-template-columns:1fr;}}

  /* ===== Causes ===== */
  .cause-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
  .cause{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px;box-shadow:var(--shadow);border-top:5px solid var(--blue);
  }
  .cause h3{color:var(--navy);font-size:1.15rem;font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:10px;}
  .cause h3 .tag{background:var(--bg-soft);color:var(--blue);font-size:.75rem;padding:.2em .7em;border-radius:999px;}
  .cause p{color:var(--text-soft);font-size:.94rem;}
  @media(max-width:720px){.cause-grid{grid-template-columns:1fr;}}

  /* ===== FAQ ===== */
  .faq{max-width:820px;margin:0 auto;}
  details.qa{
    background:var(--white);border:1px solid var(--line);border-radius:12px;
    margin-bottom:14px;box-shadow:var(--shadow);overflow:hidden;
  }
  details.qa summary{
    list-style:none;cursor:pointer;padding:20px 56px 20px 60px;position:relative;
    font-weight:700;color:var(--navy);font-size:1.02rem;
  }
  details.qa summary::-webkit-details-marker{display:none;}
  details.qa summary::before{
    content:"Q";position:absolute;left:20px;top:18px;width:28px;height:28px;border-radius:8px;
    background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;
  }
  details.qa summary::after{
    content:"+";position:absolute;right:22px;top:16px;font-size:1.5rem;color:var(--blue);transition:transform .2s;
  }
  details.qa[open] summary::after{transform:rotate(45deg);}
  details.qa .a{padding:0 24px 22px 60px;color:var(--text-soft);position:relative;}
  details.qa .a::before{
    content:"A";position:absolute;left:20px;top:-2px;width:28px;height:28px;border-radius:8px;
    background:var(--accent);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;
  }

  /* ===== Flow (old overrides removed) ===== */

  /* ===== Clinic info (legacy) ===== */
  .clinic{background:var(--bg-soft);}
  .clinic-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start;}
  .clinic table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
  .clinic th,.clinic td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem;}
  .clinic th{background:var(--bg-soft);color:var(--navy);white-space:nowrap;width:34%;font-weight:700;}
  .clinic .contact-box{
    background:var(--navy);color:#fff;border-radius:var(--radius);padding:30px;text-align:center;box-shadow:var(--shadow);
  }
  .clinic .contact-box .tel{font-size:2rem;font-weight:800;letter-spacing:.02em;margin:8px 0;}
  .clinic .contact-box .hours{font-size:.85rem;color:#cfe0f0;margin-bottom:18px;}
  .clinic .contact-box .btn{width:100%;margin-top:10px;}
  .map-wrap{margin-top:30px;}
  .map-wrap iframe{border-radius:0;box-shadow:none;display:block;}
  .map-note{margin-top:10px;font-size:.8rem;color:var(--text-soft);}

  /* ===== Clinic info v2 ===== */
  .section-clinic{
    background:url('../img/contact-background-3840x2160.png') top left/cover no-repeat #dce6f0;
    position:relative;
  }
  .section-clinic .wrap{position:relative;z-index:1;}
  .clinic-grid2{
    display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:start;
  }
  .clinic-table2{
    width:100%;border-collapse:collapse;background:transparent;
  }
  .clinic-table2 th,.clinic-table2 td{
    padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem;
  }
  .clinic-table2 th{
    color:var(--navy);white-space:nowrap;width:28%;font-weight:700;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
  }
  .clinic-table2 td{color:var(--text);}
  .clinic-table2 a{color:var(--blue);text-decoration:underline;}

  .contact-box2{text-align:center;padding:10px 0;}
  .contact-box2-label{
    font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:8px;
  }
  .contact-box2-tel{
    font-size:2.4rem;font-weight:800;letter-spacing:.02em;margin-bottom:4px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
  }
  .contact-box2-tel a{color:var(--navy);display:inline-flex;align-items:center;gap:8px;}
  .contact-box2-tel-icon{color:var(--accent);font-size:1.8rem;}
  .contact-box2-hours{
    font-size:.85rem;color:var(--text-soft);margin-bottom:20px;
  }
  .contact-box2-btn{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;padding:16px;border-radius:999px;
    font-size:1.05rem;font-weight:700;
    transition:transform .15s ease,box-shadow .15s ease;
  }
  .contact-box2-btn:hover{transform:translateY(-2px);}
  .contact-box2-btn + .contact-box2-btn{margin-top:12px;}
  .contact-box2-btn--tel{
    border:2px solid var(--accent);color:var(--navy);background:#fff;
  }
  .contact-box2-btn--tel .contact-box2-btn-icon{
    color:var(--accent);font-size:1.2rem;
  }
  .contact-box2-btn--line{
    border:2px solid #06c755;color:var(--navy);background:#fff;
  }
  .contact-box2-line-icon{width:24px;height:24px;object-fit:contain;}
  @media(max-width:820px){.clinic-grid2{grid-template-columns:1fr;}}

  /* ===== Notes ===== */
  .notes{background:var(--white);}
  .notes .box{
    border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;background:var(--bg);
    font-size:.85rem;color:var(--text-soft);
  }
  .notes .box h3{color:var(--navy);font-size:1rem;margin-bottom:12px;}
  .notes .box ul{margin:0 0 0 1.2em;}
  .notes .box li{margin-bottom:6px;}

  /* ===== Footer ===== */
  footer.site{background:var(--navy);color:#cbd8e6;text-align:center;padding:40px 20px;font-size:.85rem;}
  footer.site .brand{color:#fff;margin-bottom:10px;}

  /* ===== Sticky mobile CTA ===== */
  .sticky-cta{
    position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;gap:8px;
    padding:10px 12px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);
    box-shadow:0 -4px 20px rgba(15,37,64,.12);
  }
  .sticky-cta .btn{flex:1;font-size:.95rem;padding:.85em .4em;}
  @media(max-width:720px){
    .sticky-cta{display:flex;}
    body{padding-bottom:72px;}
    br.sp{display:block;}
  }
  @media(min-width:721px){br.sp{display:none;}}
  .pc-only{display:inline;}
  @media(max-width:720px){.pc-only{display:none;}}

  /* ===== Visual design system v2 ===== */
  body{background:#fff;color:#18324c;}
  section{padding:96px 0;position:relative;overflow:hidden;}
  section.alt{background:#f2f7fc;}
  .wrap{max-width:1180px;}
  .narrow{max-width:940px;}
  .sec-head{max-width:900px;margin:0 auto 54px;}
  .sec-head .en{
    color:#1470c4;font-size:.78rem;letter-spacing:.24em;margin-bottom:14px;
  }
  .sec-head .en::after{
    content:"";display:block;width:34px;height:2px;background:var(--accent);
    margin:13px auto 0;border-radius:2px;
  }
  .sec-head h2{font-size:clamp(1.75rem,4vw,2.55rem);letter-spacing:.015em;}
  .sec-head h2 .mark{
    background:linear-gradient(transparent 68%,rgba(43,143,224,.17) 68%);
  }
  .sec-head p{font-size:1rem;line-height:2;}
  .lead-copy{line-height:2.05;}

  /* feature section */
  .section-feature{background:url('../img/section-feature_bg.png') no-repeat center center / cover !important;}
  .section-feature::before,.section-feature::after{
    content:"";position:absolute;width:420px;height:150px;opacity:.22;pointer-events:none;
    background:
      radial-gradient(circle at 15% 50%,rgba(43,143,224,.75) 0 3px,transparent 4px),
      linear-gradient(12deg,transparent 42%,rgba(43,143,224,.42) 43% 44%,transparent 45%);
  }
  .section-feature::before{left:-120px;top:280px;transform:rotate(8deg);}
  .section-feature::after{right:-120px;top:230px;transform:rotate(-8deg);}
  .section-feature .feature-grid{margin-top:58px;position:relative;z-index:1;}
  .section-feature .fcard{
    padding:30px 26px;border:1px solid #d7e4f0;border-radius:18px;
    box-shadow:0 16px 42px rgba(15,37,64,.09);
    transition:transform .25s ease,box-shadow .25s ease;
  }
  .section-feature .fcard:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(15,37,64,.14);}

  /* RENOVA overview */
  .section-renova{
    position:relative;
    background:url('../img/section-renova_bg.png') no-repeat center center / cover !important;
  }
  .section-renova::before{
    content:"";position:absolute;inset:0;
    background:rgba(255,255,255,0.7);pointer-events:none;
  }
  .section-renova .wrap{position:relative;z-index:1;}
  .section-renova::after{display:none;}
  .renova-overview{
    margin-left:auto !important;margin-right:0 !important;
    max-width:50%;
    background:rgba(255,255,255,0.5) !important;
  }
  @media(max-width:820px){
    .renova-overview{max-width:100%;margin:0 auto !important;}
  }
  .section-renova .spec-grid{position:relative;z-index:1;gap:18px;}
  .section-renova .spec{
    padding:25px 14px;border:none;border-radius:16px;
    box-shadow:none;
    background:transparent;
  }
  .section-renova .spec::before{display:none;}
  .spec-icon{display:block;width:100px;height:100px;margin:0 auto 10px;object-fit:contain;}
  .section-renova .spec .val{font-size:1.35rem;}

  /* vascular section */
  .section-vascular{
    position:relative;color:#fff;overflow:hidden;
    background:var(--navy) url('../img/section-renova_02.png') no-repeat right center / auto 100%;
  }
  .vascular-inner{
    position:relative;z-index:1;
    max-width:1180px;margin:0 auto;padding:72px 20px;
  }
  .vascular-text{max-width:520px;}
  .section-vascular .sec-head{text-align:left;margin-bottom:32px;}
  .section-vascular .sec-head .en{color:#64c3ff;}
  .section-vascular .sec-head h2{color:#fff;line-height:1.5;}
  .section-vascular .lead-copy{color:#dbeaf7;text-align:left;}
  .section-vascular .stat-hl{
    max-width:920px;margin-top:42px;padding:42px;
    background:rgba(4,25,49,.56);border:1px solid rgba(232,176,75,.75);
    backdrop-filter:blur(8px);box-shadow:0 22px 55px rgba(0,0,0,.25);
  }
  .section-vascular .stat-hl .big{
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",
      "Noto Serif JP","MS PMincho",serif;
    font-size:clamp(2rem,5vw,3.2rem);font-weight:700;letter-spacing:.04em;
  }
  .section-vascular .stat-hl .big em{color:#ffbd42;}
  @media(max-width:820px){
    .section-vascular{background-size:cover;background-position:center;}
    .vascular-text{max-width:100%;}
  }

  /* shared downstream styling */
  .info-card,.adapt,.pc,.vs-card,.rec,details.qa{
    border-color:#d9e6f1;border-radius:18px;box-shadow:0 14px 35px rgba(15,37,64,.08);
  }
  .step{border-radius:18px;border-color:#d9e6f1;box-shadow:0 14px 35px rgba(15,37,64,.08);}
  .step .circle{background:#fff;color:#1470c4;border:1px solid #8fc0e8;font-family:Georgia,serif;}
  .compare2,.core-diff{gap:28px;}
  .core-card{border-radius:20px;box-shadow:0 18px 42px rgba(15,37,64,.10);}
  .core-card.renova{border-color:var(--accent);}
  .core-card.renova .core-head{background:linear-gradient(135deg,#102b49,#236ca8);}
  .cta-band{position:relative;}
  .cta-band:not(.cta-band--img){background:linear-gradient(120deg,#0b2746,#17649e);}
  table.cmp thead th,table.price thead th{background:#102b49;}
  table.cmp tr.hl td,table.cmp tr.hl th,table.price tr.highlight td,table.price tr.highlight th{background:#fff6e5;}
  .btn-primary{background:#efb344;}

  @media(max-width:820px){
    section{padding:72px 0;}
    .renova-visual-grid{grid-template-columns:1fr;}
    .visual-placeholder{min-height:230px;}
    .section-feature .feature-grid{gap:42px;}
    .section-vascular::before{width:100%;opacity:.25;}
  }

  /* ===== Mobile Header ===== */
  .mobile-header {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 52px;
    background: var(--navy);
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    z-index: 300;
  }
  .mobile-header .mobile-logo {
    height: 32px;
    width: auto;
  }
  .hamburger-btn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 4px;
  }
  .hamburger-btn span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
  }
  .hamburger-btn.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger-btn.is-open span:nth-child(2) { opacity: 0; }
  .hamburger-btn.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ===== Drawer ===== */
  .drawer-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 290;
  }
  .drawer-overlay.is-open { display: block; }

  .drawer-menu {
    position: fixed;
    top: 52px; right: -100%;
    width: min(280px, 80vw);
    height: calc(100dvh - 52px);
    background: var(--navy);
    z-index: 295;
    overflow-y: auto;
    padding: 1.5rem 1rem 6rem;
    transition: right 0.3s ease;
  }
  .drawer-menu.is-open { right: 0; }
  .drawer-menu ul { list-style: none; margin: 0; padding: 0; }
  .drawer-menu li { border-bottom: 1px dotted rgba(255,255,255,0.4); }
  .drawer-menu a {
    display: block;
    padding: 0.85rem 0.5rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
  }
  .drawer-menu a:active { background: rgba(255,255,255,0.2); }
  .drawer-cta {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .drawer-cta a img { width: 100%; display: block; }

  @media (max-width: 820px) {
    .mobile-header { display: flex; }
    .main-content  { padding-top: 52px; }
  }

  /* ===== 3-Column Layout ===== */
  .lp-container { display: flex; min-height: 100vh; }

  .left-sidebar {
    position: fixed; left: 0; top: 0;
    width: 15vw; height: 100vh;
    background: var(--navy);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    z-index: 100; padding: 2rem;
  }
  .left-sidebar img { margin-bottom: 3rem; }
  .left-sidebar-text {
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: white; font-size: 1.2rem; font-weight: bold;
    letter-spacing: 0.5rem; margin-bottom: 5rem;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  }

  .right-sidebar {
    position: fixed; right: 0; top: 0;
    width: 20vw; height: 100vh;
    background: var(--navy);
    z-index: 100; padding: 3rem 1rem;
    overflow-y: auto;
  }
  .side-menu { list-style: none; padding: 0; margin: 0; }
  .side-menu li { margin-bottom: 0.2rem; }
  .side-menu a {
    display: block; padding: 0.45rem 0.8rem 0.45rem 1.2rem;
    border-bottom: 1px dotted rgba(255,255,255,0.4);
    color: white;
    font-size: 1rem; font-weight: 500; transition: all 0.3s;
  }
  .side-menu a::before{content:"―";margin-right:1em;display:inline-block;font-size:0.7em;opacity:0.5;}
  .side-menu a:hover  { background: rgba(255,255,255,0.25); transform: translateX(-5px); }
  .side-menu a.active { background: rgba(255,255,255,0.3); font-weight: bold; }

  .side-cta { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.3); }
  .side-cta a img { margin-bottom: 1rem; width: 100%; max-width: 180px; display: block; margin-left: auto; margin-right: auto; }
  .side-cta-button:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.3); }

  .side-hours { margin-top: 1.5rem; width: 100%; }
  .side-hours .h-title { color: white; font-weight: 700; text-align: center; font-size: 1rem; }
  .side-hours .h-time  { color: rgba(255,255,255,0.7); font-size: 1rem; text-align: center; margin-bottom: 0.3rem; line-height: 1.2; }
  .side-hours .holiday  { color: white; font-size: 0.9rem; margin-top: 6px; line-height: 1.5; text-align: center; }
  .instagram-link {
    display: flex; align-items: center; gap: 4px;
    color: white; font-size: 0.9rem;
    margin-top: 8px; justify-content: center;
  }
  .instagram-link:hover { color: white; }
  .side_qr { width: 35%; margin: 0 auto; display: block; }

  .main-content {
    margin-left: 15vw; margin-right: 20vw;
    width: 65vw; background-color: white;
    position: relative; z-index: 10;
  }

  @media (max-width: 1024px) {
    .left-sidebar { display: none; }
    .right-sidebar { width: 20vw; padding: 2rem 1rem; }
    .side-menu a { padding: 0.4rem 0.6rem; font-size: 0.75rem; }
    .main-content { margin-left: 0; margin-right: 20vw; width: 80vw; }
  }
  @media (max-width: 820px) {
    .left-sidebar, .right-sidebar { display: none; }
    .main-content { margin-left: 0; margin-right: 0; width: 100vw; }
    .side-cta { display: none; }
    .mobile-header { display: flex !important; }
  }

  /* ===== Clinic Slider ===== */
  .clinic-slider-container {
    position: relative;
    max-width: 100%;
    margin: 0 auto 2rem;
    overflow: hidden;
    box-shadow: none;
    border-radius: 0;
  }
  .clinic-slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
  }
  .clinic-slide {
    min-width: 100%;
    position: relative;
  }
  .clinic-slide img {
    width: 100%;
    height: auto;
    display: block;
  }
  .slider-controls {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    padding: 0 1rem;
    box-sizing: border-box;
  }
  .slider-btn {
    background: rgba(255,255,255,0.9);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  }
  .slider-btn:hover {
    background: white;
    transform: scale(1.1);
  }
  .slider-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0;
    position: absolute;
    bottom: 10px;
    width: 100%;
  }
  .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: all 0.3s;
  }
  .dot.active {
    background: white;
    width: 12px;
    height: 12px;
  }

  /* ===== Fade-in ===== */
  .fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
  .fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* ===== SP global font-size boost (中高年向け) ===== */
  @media(max-width:640px){
    body{font-size:17px;line-height:1.9;}
    .lead-copy{font-size:1rem;}
    .sec-head h2{font-size:1.35rem;}
    .sec-head p{font-size:.95rem;}
    .info-card p, .info-card li{font-size:.95rem;}
    .suit-card p{font-size:.95rem;}
    .why-card p{font-size:.95rem;}
    .about-ed-intro-text p{font-size:1rem;}
    .about-ed-sym-list li{font-size:.95rem;}
    .analogy-body p{font-size:.92rem;}
    .analogy-body strong{font-size:1rem;}
    .sw-protocol-lead{font-size:.92rem;}
  }

  /* ===== MV notice ===== */
  .mv-notice{
    text-align:right;font-size:.78rem;color:var(--text-soft);
    padding:8px 16px;margin:0;background:var(--bg-soft);
  }

  /* ===== Risk notice ===== */
  .risk-notice{
    margin-top:32px;padding:24px 28px;
    background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
  }
  .risk-notice h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:12px;}
  .risk-notice ul{list-style:disc;padding-left:1.5em;margin-bottom:12px;}
  .risk-notice li{font-size:.88rem;color:var(--text);line-height:1.8;margin-bottom:4px;}
  .risk-notice .risk-note{font-size:.82rem;color:var(--text-soft);margin:0;}

  /* ===== Print ===== */
  @media print {
    .sticky-cta { display: none !important; }
    body { padding-bottom: 0 !important; }
    .left-sidebar, .right-sidebar, .mobile-header, .drawer-menu, .drawer-overlay { display: none !important; }
    .lp-container { display: block !important; }
    .main-content { margin: 0 !important; width: 100% !important; position: static !important; }
  }
