.v3-trust{display:flex;align-items:center;gap:28px;padding-block:35px;border-bottom:1px solid var(--line)}.v3-faces{display:flex;flex-shrink:0}.v3-faces img{width:64px;height:64px;object-fit:cover;border-radius:50%;border:3px solid white}.v3-faces img+img{margin-left:-12px}.v3-trust p{font-weight:600;margin-bottom:5px}.v3-trust .text-link{font-size:13px}.v3-nav{padding-block:70px}.v3-nav h2{font-size:32px}.v3-nav>div{display:grid;grid-template-columns:repeat(5,1fr);margin-top:30px;gap:15px}.v3-nav a{border-top:2px solid var(--brand);padding-top:18px;font-size:14px;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.v3-nav a>span{width:100%;font:20px var(--latin);color:var(--brand)}.v3-nav b{margin-left:auto}.v3-practice{background:#edf5fb}.v3-intro{margin-top:22px;font-size:18px;line-height:2}.v3-process{margin-top:65px}.v3-step{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding-block:55px;border-top:1px solid #c8dbea}.v3-step figure{position:sticky;top:120px;overflow:hidden;background:#d9eaf7}.v3-step img{width:100%;height:440px;object-fit:cover}.v3-step:nth-child(2) img,.v3-step:nth-child(5) img{object-fit:contain}.v3-step figcaption{background:var(--brand);color:white;padding:14px 22px;font:14px var(--latin)}.v3-step-copy h3{font-size:32px;line-height:1.6}.v3-step-copy>p:not(.section-kicker){font-size:18px;margin-top:23px;line-height:2}.v3-step dl{margin-top:26px}.v3-step dl>div{border-top:1px solid #c8dbea;padding-block:17px}.v3-step dt{font-size:12px;color:var(--brand);font-weight:700}.v3-step dd{margin:7px 0 0;font-size:17px}.v3-step .text-link{margin-top:12px}.v3-evidence{margin-top:65px;border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:1fr 220px;gap:9%;align-items:center}.v3-evidence p:not(.section-kicker){margin-block:20px;font-size:17px}.v3-evidence img{height:270px;width:100%;object-fit:contain}.hero-lead{max-width:620px}
@media(max-width:900px){.v3-nav>div{grid-template-columns:repeat(3,1fr)}.v3-step{gap:5%;grid-template-columns:1fr 1fr}.v3-step img{height:370px}.v3-step-copy h3{font-size:25px}.v3-step-copy>p:not(.section-kicker){font-size:16px}.v3-step dd{font-size:15px}}
@media(max-width:600px){.v3-trust{gap:15px;padding-block:25px}.v3-faces img{width:40px;height:40px}.v3-faces img+img{margin-left:-15px}.v3-trust p{font-size:12px}.v3-trust .text-link{font-size:10px}.v3-nav{padding-block:45px}.v3-nav h2{font-size:25px}.v3-nav>div{grid-template-columns:1fr;gap:0;margin-top:22px}.v3-nav a{border-top:1px solid var(--line);padding-block:15px;font-size:13px;flex-wrap:nowrap}.v3-nav a>span{width:27px;font-size:15px}.v3-intro{font-size:14px}.v3-intro br{display:none}.v3-process{margin-top:28px}.v3-step{grid-template-columns:1fr;gap:26px;padding-block:32px}.v3-step figure{position:relative;top:auto}.v3-step img{height:290px}.v3-step figcaption{font-size:12px;padding:12px 17px}.v3-step-copy h3{font-size:27px}.v3-step-copy>p:not(.section-kicker){font-size:15px;margin-top:17px}.v3-step dl{margin-top:20px}.v3-step dd{font-size:14px}.v3-evidence{grid-template-columns:1fr;gap:20px;margin-top:35px}.v3-evidence p:not(.section-kicker){font-size:14px}.v3-evidence img{height:210px}.hero-lead{font-size:11px}}
@media(prefers-reduced-motion:no-preference){@keyframes v3-step-enter{from{clip-path:inset(0 15% 0 0);translate:0 20px}to{clip-path:inset(0);translate:0 0}}.v3-step.motion-arrived figure{animation:v3-step-enter 1s cubic-bezier(.16,1,.3,1) both}}

/* ===== V4: DRM構造の追加セクション ===== */


/* E — 導入前・導入・その後 */
.v4-stories{background:var(--white)}
.v4-story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:48px}
.v4-story{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.v4-story>img{width:100%;aspect-ratio:3/2;object-fit:cover}
.v4-story-name{font-size:17px;font-weight:700;margin:20px 22px 2px}
.v4-story-name span{font-size:13px;font-weight:600;color:var(--muted)}
.v4-story-meta{font-size:12px;color:var(--muted);margin:0 22px 16px;line-height:1.7}
.v4-story dl{margin:0;padding:0 22px 24px;display:grid;gap:14px}
.v4-story dl>div{display:grid;gap:4px}
.v4-story dt{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--forest-light);border-left:3px solid var(--forest-light);padding-left:8px}
.v4-story dd{margin:0;font-size:13.5px;line-height:1.9;color:var(--ink)}
.v4-story:first-child dt{color:var(--coral);border-left-color:var(--coral)}

/* 最大の抵抗 */
.v4-objection{background:var(--forest);color:var(--white)}
.v4-objection .section-kicker{color:#a9cbe4}
.v4-objection .text-link{color:var(--white)}
.v4-obj-head{max-width:820px}
.v4-obj-body{max-width:760px;margin-top:32px;display:grid;gap:18px;font-size:clamp(15px,1.5vw,17px);line-height:2}
.v4-obj-body .benefit-mark{background:linear-gradient(transparent 62%,rgba(255,133,118,.5) 0);color:var(--white)}
.v4-obj-quote{margin:48px 0 0;padding:32px;background:rgba(255,255,255,.07);border-left:4px solid var(--coral);border-radius:0 14px 14px 0;max-width:900px}
.v4-obj-quote blockquote p{font-size:clamp(16px,1.8vw,20px);font-weight:600;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere}
.v4-obj-name{margin-top:20px;font-size:15px;font-weight:700}
.v4-obj-name span{font-size:12px;font-weight:600;color:#a9cbe4}
.v4-obj-meta{font-size:12px;color:#a9cbe4;line-height:1.8;margin-top:4px}
.v4-obj-staff{margin-top:36px;padding:28px 32px;background:rgba(255,255,255,.07);border-radius:14px;max-width:900px}
.v4-obj-staff blockquote p{font-size:15px;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere}
.v4-obj-staff .benefit-mark{background:linear-gradient(transparent 62%,rgba(255,133,118,.5) 0);color:var(--white)}
.v4-obj-attr{margin-top:12px;font-size:13px;color:#a9cbe4}
.v4-objection .note{color:#a9cbe4;margin-top:24px}

/* B — 到達目標 */
.v4-goal{margin-bottom:56px;padding:36px 40px;background:var(--sage);border-radius:18px;max-width:900px}
.v4-goal h3{margin-bottom:24px}
.v4-goal ul{display:grid;gap:12px}
.v4-goal li{position:relative;padding-left:30px;font-size:15px;line-height:1.95;font-weight:600;word-break:keep-all;overflow-wrap:anywhere}
.v4-goal li::before{content:"";position:absolute;left:4px;top:11px;width:10px;height:10px;background:var(--forest-light);border-radius:50%}
.v4-goal .note{margin-top:20px}

.price-sub{font-size:14px;color:var(--muted);margin-top:-4px;margin-bottom:8px}
.closing-lead{margin-top:16px;font-size:14px;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere}

@media (max-width:760px){
  .v4-obj-quote{padding:24px 20px}
  .v4-obj-staff{padding:22px 20px}
  .v4-goal{padding:28px 22px}
}

/* 2 — このコースで得られること */
.v4-get{background:var(--paper)}
.v4-get-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:48px}
.v4-get-grid article{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:32px 28px;overflow:hidden}
.v4-get-media{margin:-32px -28px 24px;aspect-ratio:3/2;background:var(--paper)}
.v4-get-media img{width:100%;height:100%;object-fit:cover;display:block}
.v4-get-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--white);background:var(--forest-light);padding:5px 12px;border-radius:999px;margin-bottom:18px}
.v4-get-grid h3{font-size:clamp(19px,1.7vw,23px);margin-bottom:14px}
.v4-get-grid p:last-child{font-size:14px;line-height:1.95;color:var(--muted)}

/* 6 — 現場で使いやすい理由 */
.v4-repeat{background:var(--white)}
.v4-repeat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:48px}
.v4-repeat-grid article{border-top:3px solid var(--forest-light);padding-top:24px}
.v4-repeat-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--forest-light);margin-bottom:10px}
.v4-repeat-lead{font-size:clamp(18px,1.7vw,22px);font-weight:700;letter-spacing:-.03em;line-height:1.55;margin-bottom:14px}
.v4-repeat-grid p:last-child{font-size:14px;line-height:1.95;color:var(--muted)}
.v4-repeat-sum{margin-top:44px;padding:26px 30px;background:var(--sage);border-radius:16px;font-size:clamp(15px,1.6vw,18px);font-weight:600;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}

/* 8 — 状況別カード（8属性の受け皿） */
.v4-cases{background:var(--paper)}
.v4-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:48px}
.v4-case{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:32px 28px;display:flex;flex-direction:column}
.v4-case-num{font-family:var(--latin);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--forest-light);margin-bottom:12px}
.v4-case h3{font-size:clamp(20px,1.8vw,25px);margin-bottom:12px}
.v4-case-who{font-size:12px;line-height:1.8;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}
.v4-case-block{margin-bottom:22px}
.v4-case-scenes li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.9;margin-bottom:9px;word-break:keep-all;overflow-wrap:anywhere}
.v4-case-scenes li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;border:2px solid var(--coral);border-radius:50%}
.v4-case .note{margin-bottom:18px}
.v4-case .text-link{margin-top:auto}
.v4-case-foot{margin-top:40px;text-align:center;font-size:clamp(15px,1.6vw,18px);font-weight:700;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}

/* 10 — 費用と準備の全体像 */
.v4-cost{margin:56px 0;padding:36px 40px;background:var(--sage);border-radius:20px}
.v4-cost h3{margin-bottom:12px}
.v4-cost-lead{font-size:14px;color:var(--muted);margin-bottom:26px;line-height:1.9}
.v4-cost-table{width:100%;border-collapse:collapse;font-size:14px}
.v4-cost-table th,.v4-cost-table td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.v4-cost-table thead th{font-size:11px;letter-spacing:.08em;color:var(--muted);font-weight:700;padding-bottom:8px}
.v4-cost-table tbody th{font-weight:700;line-height:1.7}
.v4-cost-table td small{font-size:10.5px;color:var(--muted);margin-left:3px;font-weight:600}
.v4-cost-table td span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.v4-tag{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:4px}
.v4-tag-need{background:var(--forest);color:var(--white)}
.v4-tag-opt{background:var(--white);color:var(--muted);border:1px solid var(--line)}
.v4-cost-when{display:block;font-size:11px;color:var(--muted);margin-top:4px}

@media (max-width:760px){
  .v4-get-grid article{padding:26px 22px}
  .v4-get-media{margin:-26px -22px 20px}
  .v4-case{padding:26px 22px}
  .v4-repeat-sum{padding:22px 20px}
  .v4-cost{padding:26px 20px;margin:40px 0}
  .v4-cost-table{font-size:13px}
  .v4-cost-table th,.v4-cost-table td{padding:12px 6px}
}

/* FV: フィッティング写真に載るキャプションの可読性 */
.hero-product-scene{border-radius:0;box-shadow:none;filter:none}
.product-caption-onphoto>span:last-child{background:rgba(6,60,100,.88);color:#fff;padding:10px 14px;border-radius:10px;display:inline-block;line-height:1.7}

/* 状況別カードは desktop で 2x2 に揃える */
@media (min-width:1024px){.v4-case-grid{grid-template-columns:repeat(2,1fr)}}

/* 費用表：.pricing-section が color:white のため、明るいカード内は文字色を戻す */
.v4-cost,.v4-cost h3,.v4-cost th,.v4-cost td{color:var(--ink)}
.v4-cost-lead,.v4-cost .note,.v4-cost-table thead th,.v4-cost-table td small,.v4-cost-table td span,.v4-cost-when{color:var(--muted)}
.v4-tag-need{color:var(--white)}
.v4-tag-opt{color:var(--muted)}

/* 目次：明確に押せるボタンにする（6項目・3×2） */
.v3-nav>div{grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.v3-nav a{
  border-top:0;
  padding:20px 22px;
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:14px;
  box-shadow:0 2px 0 0 var(--line);
  align-items:center;
  gap:14px;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}
.v3-nav a>span{
  width:auto;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:8px;
  background:var(--sage);color:var(--forest-light);
  font:700 13px/1 var(--latin);
}
.v3-nav a b{
  margin-left:auto;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:var(--forest-light);color:var(--white);
  font-size:13px;font-weight:700;
  transition:transform .18s ease, background-color .18s ease;
}
.v3-nav a:hover,.v3-nav a:focus-visible{
  border-color:var(--forest-light);
  background:var(--white);
  box-shadow:0 8px 20px -8px rgba(0,102,179,.35);
  transform:translateY(-2px);
}
.v3-nav a:hover b,.v3-nav a:focus-visible b{background:var(--coral);transform:translateY(2px)}
.v3-nav a:active{transform:translateY(0);box-shadow:0 2px 0 0 var(--line)}

@media (max-width:900px){
  .v3-nav>div{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width:560px){
  .v3-nav>div{grid-template-columns:1fr!important;gap:10px!important}
  .v3-nav a{padding:16px 18px;font-size:14px;flex-wrap:nowrap}
  .v3-nav a>span{width:26px;height:26px;font-size:12px}
}
