/*
  lp.css — 士業DX診断LP（A案）。骨格＋共通部品＋セクション（PC → タブレット → SP の順）。
  CONVENTIONS.md §3 参照。色・幅は tokens.css。
  PC(≥1000): 1000px中央固定・セクション内は絶対配置(px)。SP(≤767): 375設計→rem/vw。
*/

/* ==========================================================================
   1. リセット
   ========================================================================== */
/* 単体公開時のみ。差し込み（fragment）時はこの1行を外す */
html,body{margin:0;padding:0}
/* iPhone Safari の横向きで本文が自動拡大され、375設計のremレイアウトが崩れるのを止める */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.lp-root *{box-sizing:border-box;margin:0;padding:0}
.lp-root{background:var(--lp-white);color:var(--lp-ink);font-family:var(--lp-font);font-feature-settings:"palt";line-height:1.6;-webkit-font-smoothing:antialiased}
.lp-root img{display:block;max-width:100%}
.lp-root a{color:inherit;text-decoration:none}
.lp-root ul,.lp-root ol{list-style:none}
.lp-root button,.lp-root input{font:inherit;color:inherit}
.lp-sp,.lp-sp-only{display:none}
.lp-pc{display:inline}

/* ==========================================================================
   2. 骨格
   ========================================================================== */
.lp-sec{position:relative;background:var(--lp-white)}
.lp-sec.is-bg{background:var(--lp-bg)}
.lp-sec.is-dark{background:var(--lp-dark);color:#fff}
.lp-sec.is-key{background:var(--lp-key);color:var(--lp-ink)}
.is-key .lp-h2 span::after{background:var(--lp-dark)}
.is-dark .lp-h2{color:#fff}
.is-dark .lp-src{color:rgba(255,255,255,.55)}
.lp-wrap{width:var(--lp-w);margin:0 auto;position:relative}

/* ==========================================================================
   3. 共通部品
   ========================================================================== */

/* --- 見出し（黄の下線は見出しだけ） --- */
.lp-h2{font-size:34px;line-height:48px;font-weight:900;letter-spacing:.04em;color:var(--lp-ink)}
.lp-h2 span{display:inline-block;position:relative;padding-bottom:10px}
.lp-h2 span::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:5px;background:var(--lp-key);border-radius:3px}
.lp-h2.is-center{text-align:center}
.lp-h2.is-center span::after{left:50%;margin-left:-36px}
.lp-h2.is-white{color:#fff}
.lp-h3{font-size:22px;line-height:32px;font-weight:700;letter-spacing:.04em}
.lp-lead{font-size:16px;line-height:28px;color:var(--lp-ink-2);letter-spacing:.02em}
.lp-lead.is-center{text-align:center}
.is-dark .lp-lead{color:rgba(255,255,255,.82)}

/* --- 締めの1文 --- */
.lp-close{font-size:20px;line-height:32px;font-weight:700;letter-spacing:.04em;text-align:center}
.lp-close.is-left{text-align:left;font-size:17px;line-height:30px}

/* --- 【要確認】の目印（公開前に消す） --- */

/* --- ヘッダー .lp-hd --- */
.lp-hd{position:absolute;left:0;top:0;width:100%;height:72px;display:flex;align-items:center}
.lp-hd .lp-logo{position:absolute;left:0;top:19px;display:block}
.lp-hd .lp-logo img{height:34px;width:auto}
.lp-hd .lp-nav{position:absolute;left:224px;top:26px;display:flex;gap:16px;font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.lp-hd .lp-nav a{padding-bottom:2px;border-bottom:2px solid transparent}
.lp-hd .lp-nav a:hover{border-bottom-color:var(--lp-key)}
.lp-hd .lp-btn.is-small{position:absolute;right:0;top:18px;width:auto;height:36px;padding:0 18px;font-size:13px;border-radius:6px}
.lp-hd .lp-menu{display:none;position:absolute;right:0;top:18px;width:36px;height:36px;border:0;background:none;padding:0;cursor:pointer}
.lp-hd .lp-menu i,.lp-hd .lp-menu::before,.lp-hd .lp-menu::after{content:"";position:absolute;left:4px;right:4px;height:2px;background:var(--lp-ink);border-radius:2px}
.lp-hd .lp-menu::before{top:9px}
.lp-hd .lp-menu i{top:17px;display:block}
.lp-hd .lp-menu::after{top:25px}

/* --- CTAボタン .lp-btn（黄塗り・墨文字・右に›。全CTA同形） --- */
.lp-btn{display:flex;align-items:center;justify-content:center;gap:12px;height:64px;width:340px;background:var(--lp-key);color:var(--lp-ink);font-size:18px;font-weight:900;letter-spacing:.06em;border-radius:var(--lp-r-s);border:0;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.lp-btn::after{content:"›";font-size:24px;line-height:1;font-weight:700;margin-top:-3px}
.lp-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.lp-btn.is-small::after{font-size:18px}

/* --- タグ --- */
.lp-tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;font-size:13px;font-weight:700;letter-spacing:.04em;border-radius:4px}
.lp-tag.is-ink{background:var(--lp-ink);color:#fff}
.lp-tag.is-line{border:1.5px solid var(--lp-ink);color:var(--lp-ink)}

/* --- 価格帯 .lp-price（数字だけ黄の下線） --- */
.lp-price{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.lp-price .lab{font-size:16px;font-weight:700;letter-spacing:.04em}
.lp-price .was{font-size:18px;font-weight:700;color:var(--lp-ink-2);text-decoration:line-through;text-decoration-thickness:2px}
.lp-price .arr{font-size:20px;font-weight:700}
.lp-price .now{font-size:22px;font-weight:900;letter-spacing:.02em;position:relative;padding:0 2px}
.lp-price .now b{font-size:52px;line-height:1;font-weight:900;letter-spacing:-.02em;font-feature-settings:"tnum"}
.lp-price .now::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:8px;background:var(--lp-key);z-index:-1;border-radius:2px}
.lp-price .now small{font-size:16px;font-weight:700}
.lp-price .tax{font-size:13px;color:var(--lp-ink-2)}

/* --- 正直ボックス .lp-honest --- */
.lp-honest{border:1.5px solid rgba(255,255,255,.35);border-radius:var(--lp-r-m);padding:22px 28px}
.lp-honest strong{display:block;font-size:20px;line-height:30px;font-weight:900;letter-spacing:.04em}
.lp-honest p{margin-top:8px;font-size:15px;line-height:26px;color:rgba(255,255,255,.85)}
.lp-honest.is-light{border-color:var(--lp-ink);background:var(--lp-white);color:var(--lp-ink)}
.lp-honest.is-light p{color:var(--lp-ink-2)}

/* --- 3カード横並び .lp-cards --- */
.lp-cards{position:absolute;left:0;width:1000px;display:flex;gap:24px}
.lp-cards.is-3>li{width:317px;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:24px 24px 28px;position:relative}
.lp-cards img{width:100%;height:auto;border-radius:8px}
.lp-cards b{display:inline-block;margin-top:20px;font-size:12px;font-weight:700;letter-spacing:.1em;padding:2px 10px;background:var(--lp-ink);color:#fff;border-radius:3px}
.lp-cards strong{display:block;margin-top:12px;font-size:20px;line-height:30px;font-weight:900;letter-spacing:.03em}
.lp-cards p{margin-top:10px;font-size:14px;line-height:24px;color:var(--lp-ink-2)}

/* --- 表 .lp-table --- */
.lp-table{border-collapse:separate;border-spacing:0;font-size:15px;line-height:22px;letter-spacing:.02em;border:1px solid var(--lp-line-2);border-radius:var(--lp-r-s);overflow:hidden;background:var(--lp-card);width:100%}
.lp-table th,.lp-table td{padding:14px 16px;text-align:left;border-top:1px solid var(--lp-line-2);border-left:1px solid var(--lp-line-2);vertical-align:middle}
.lp-table thead th{background:var(--lp-ink);color:#fff;font-weight:700;border-top:0;border-left-color:rgba(255,255,255,.15);white-space:nowrap}
.lp-table tbody th{background:var(--lp-tint);font-weight:700;white-space:nowrap}
.lp-table tr>*:first-child{border-left:0}
.lp-table td.is-strong{font-weight:900;font-size:17px}
.lp-table tr.is-total th,.lp-table tr.is-total td{background:#FAFAF6;font-weight:700}
.lp-table tr.is-total td b{font-size:22px;font-weight:900;margin-right:6px}
.lp-table .is-this{background:#FFFBD6}
.lp-table thead th.is-this{background:var(--lp-ink);color:var(--lp-key)}
.lp-table td.is-this{border-left:2px solid var(--lp-ink);border-right:2px solid var(--lp-ink)}
.lp-table td.is-this b{font-weight:900}

/* --- チェックリスト .lp-checks --- */
.lp-checks li{position:relative;padding-left:24px;font-size:14px;line-height:24px}
.lp-checks li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:3px solid var(--lp-ink);border-bottom:3px solid var(--lp-ink);transform:rotate(-45deg)}

/* --- タイムライン .lp-timeline --- */
.lp-timeline{position:absolute;left:0;width:1000px;display:flex;gap:24px}
.lp-timeline li{position:relative;width:232px;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:28px 20px 22px}
.lp-timeline li.is-you{border:3px solid var(--lp-ink);padding:26px 18px 20px}
.lp-timeline li+li::before{content:"›";position:absolute;left:-19px;top:50%;transform:translateY(-50%);font-size:28px;line-height:1;color:var(--lp-ink-3);font-weight:700}
.lp-timeline i{position:absolute;left:20px;top:-18px;width:36px;height:36px;border-radius:50%;background:var(--lp-ink);color:#fff;font-style:normal;font-weight:900;font-size:18px;line-height:36px;text-align:center}
.lp-timeline li.is-you i{background:var(--lp-key);color:var(--lp-ink);left:18px;top:-20px}
.lp-timeline b{display:block;font-size:12px;letter-spacing:.12em;color:var(--lp-ink-3);margin-left:46px;line-height:1}
.lp-timeline strong{display:block;margin-top:16px;font-size:19px;line-height:28px;font-weight:900;letter-spacing:.02em}
.lp-timeline span{display:block;margin-top:8px;font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-timeline em{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.08em}
.lp-timeline em.gap{left:-24px;right:auto;top:-30px;bottom:auto;width:48px;transform:translateX(-50%);margin-left:12px;white-space:nowrap;font-size:13px;color:var(--lp-ink-2)}
.lp-timeline em.gap::before{content:"";position:absolute;left:50%;top:26px;width:1px;height:14px;background:var(--lp-ink-3)}

/* --- アコーディオン .lp-acc --- */
.lp-acc{display:flex;flex-direction:column;gap:10px}
.lp-acc details{background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-s)}
.lp-acc summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px 12px 60px;font-size:17px;font-weight:700;letter-spacing:.02em;position:relative}
.lp-acc summary::-webkit-details-marker{display:none}
.lp-acc summary::before{content:"Q";position:absolute;left:22px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--lp-ink);color:#fff;font-size:13px;font-weight:900;text-align:center;line-height:26px}
.lp-acc summary::after{content:"+";font-size:26px;font-weight:400;color:var(--lp-ink-3);line-height:1;flex:none}
.lp-acc details[open] summary::after{content:"−"}
.lp-acc details p{padding:0 24px 20px 60px;font-size:15px;line-height:26px;color:var(--lp-ink-2);position:relative}
.lp-acc details p::before{content:"A";position:absolute;left:22px;top:0;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--lp-ink);font-size:13px;font-weight:900;text-align:center;line-height:23px;color:var(--lp-ink)}

/* --- フッター .lp-ft --- */
.lp-ft .lp-wrap{padding:40px 0 32px;border-top:1px solid var(--lp-line)}
.lp-ft .lp-ft-top{display:flex;align-items:flex-start;gap:40px}
.lp-ft .lp-logo img{height:72px;width:auto}
.lp-ft .lp-ft-co{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:22px;color:var(--lp-ink-2);padding-top:4px}
.lp-ft .lp-ft-co b{font-size:15px;color:var(--lp-ink)}
.lp-ft .lp-ft-links{display:flex;align-items:center;gap:8px}
.lp-ft .lp-ft-links a{color:var(--lp-ink);text-decoration:underline;text-underline-offset:3px}
.lp-ft .lp-ft-links i{font-style:normal;color:var(--lp-ink-3)}
.lp-ft .lp-ft-note{margin-top:28px;font-size:12px;line-height:20px;color:var(--lp-ink-3);letter-spacing:.02em}
.lp-ft small{display:block;margin-top:16px;font-size:11px;color:var(--lp-ink-3);letter-spacing:.06em}

/* ==========================================================================
   4. セクション固有（PC 1000px）
   ========================================================================== */

/* ---- 01 FV ---- */
.lp-s-fv .lp-wrap{height:830px}
.lp-s-fv .lp-fv-labels{position:absolute;left:0;top:112px;display:flex;gap:8px}
.lp-s-fv .lp-fv-private{position:absolute;left:0;top:150px;font-size:12px;line-height:18px;color:var(--lp-ink-2);letter-spacing:.02em}
.lp-s-fv h1{position:absolute;left:0;top:188px;width:440px;font-size:52px;line-height:70px;font-weight:900;letter-spacing:.02em}
.lp-s-fv .lp-fv-sub{position:absolute;left:0;top:414px;width:430px;font-size:15px;line-height:26px;color:var(--lp-ink-2)}
.lp-s-fv .lp-price{position:absolute;left:0;top:540px}
.lp-s-fv .lp-fv-meta{position:absolute;left:0;top:610px;width:430px;font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-s-fv .lp-fv-cta{position:absolute;left:0;top:664px}
.lp-s-fv .lp-fv-under{position:absolute;left:0;top:740px;font-size:12px;line-height:18px;color:var(--lp-ink-2)}

/* FVビジュアル: モニター */
.lp-monitor{position:absolute;left:430px;top:112px;width:570px;height:560px}
.lp-mon-body{position:absolute;left:130px;top:20px;width:440px;height:342px;background:#111;border-radius:14px;padding:11px;box-shadow:0 20px 40px rgba(0,0,0,.18)}
.lp-mon-stand{position:absolute;left:130px;top:362px;width:440px;height:80px}
.lp-mon-stand::before{content:"";position:absolute;left:50%;top:0;width:70px;height:46px;margin-left:-35px;background:linear-gradient(180deg,#B9BCC2,#8E939B)}
.lp-mon-stand::after{content:"";position:absolute;left:50%;top:44px;width:220px;height:14px;margin-left:-110px;background:#A8ACB3;border-radius:7px}
.lp-screen{position:relative;width:100%;height:100%;background:#F7F7F4;border-radius:6px;overflow:hidden;font-size:11px;line-height:1.4;color:var(--lp-ink)}
.lp-scr-hd{position:absolute;left:0;top:0;right:0;height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#fff;border-bottom:1px solid #E4E4E0}
.lp-scr-hd .ttl{font-weight:700;font-size:11px}
.lp-scr-hd .st{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:var(--lp-ink-2)}
.lp-scr-hd .st i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lp-key);border:1px solid #C9B900}
/* 「処理中→完了」は縦のリールをずらして切り替える。content のアニメは Safari で動かない */
.lp-scr-hd .st .tx{display:block;width:30px;height:12px;overflow:hidden}
.lp-scr-hd .st .tx .rl{display:block;line-height:12px;font-weight:700}
.lp-scr-l{position:absolute;left:10px;top:40px;width:200px;height:270px;background:#fff;border:1px solid #E4E4E0;border-radius:6px;padding:12px 12px}
.lp-scr-r{position:absolute;left:220px;top:40px;width:188px;height:270px;background:#fff;border:1px solid #E4E4E0;border-radius:6px;padding:10px 10px}
.lp-prog li{position:relative;padding-left:28px;height:78px}
.lp-prog li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:16px;border:1.5px solid var(--lp-ink);border-radius:3px}
.lp-prog li.p2::before{border-radius:50%}
.lp-prog li.p3::before{border-radius:3px 3px 6px 6px}
.lp-prog .nm{display:block;font-weight:700;font-size:11px;line-height:16px}
.lp-prog .bar{display:block;margin-top:6px;width:120px;height:6px;background:#E4E4E0;border-radius:3px;overflow:hidden}
.lp-prog .bar i{display:block;height:100%;width:0;background:var(--lp-key);border-radius:3px}
.lp-prog .pct{position:absolute;left:156px;top:18px;width:34px;height:12px;overflow:hidden;font-size:10px;font-weight:700;font-feature-settings:"tnum"}
.lp-prog .pct .rl{display:block;line-height:12px;font-weight:700}
.lp-prog .chk{position:absolute;right:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--lp-blue);opacity:0}
.lp-prog .chk::after{content:"";position:absolute;left:4px;top:3px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.lp-prog small{display:block;margin-top:5px;font-size:9px;line-height:12px;color:var(--lp-ink-3);white-space:nowrap}
.lp-scr-r .lab{display:block;font-size:9px;font-weight:700;color:var(--lp-ink-3);letter-spacing:.06em}
.lp-scr-r .q .box{display:block;margin-top:4px;padding:6px 8px;border:1px solid #D9D9D4;border-radius:4px;background:#F7F7F4;font-size:10px;line-height:14px}
.lp-scr-r .a{display:block;margin-top:10px;position:relative}
.lp-scr-r .a .t{display:block;height:15px;font-size:10px;line-height:15px;white-space:nowrap;overflow:hidden;width:0}
.lp-scr-r .a .cur{position:absolute;left:0;top:14px;width:1px;height:12px;background:var(--lp-ink);opacity:0}
.lp-scr-r .src{margin-top:8px;border-top:1px dashed #D9D9D4;padding-top:6px}
.lp-scr-r .src li{position:relative;padding-left:14px;font-size:9px;line-height:16px;color:var(--lp-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0}
.lp-scr-r .src li::before{content:"";position:absolute;left:0;top:4px;width:8px;height:9px;border:1px solid var(--lp-ink-2);border-radius:1px}
/* ファイル群（左から吸い込まれる） */
.lp-files{position:absolute;left:0;top:70px;width:120px}
.lp-files li{position:absolute;left:0;display:flex;align-items:center;gap:6px;width:120px;height:30px;padding:0 6px;background:#fff;border:1px solid var(--lp-line);border-radius:6px;font-size:9px;white-space:nowrap;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.lp-files li i{flex:none;width:18px;height:18px;border-radius:3px;font-size:7px;font-weight:900;font-style:normal;color:#fff;display:flex;align-items:center;justify-content:center;letter-spacing:0}
.lp-files li.is-pdf i{background:var(--lp-red)}
.lp-files li.is-xls i{background:#1D7A45}
.lp-files li.is-doc i{background:#2B5EB8}
.lp-files li.is-txt i{background:#6A6A66}
.lp-files li.is-dir i{background:#E8B72B;border-radius:2px 2px 3px 3px}
.lp-files li:nth-child(1){top:0}
.lp-files li:nth-child(2){top:56px}
.lp-files li:nth-child(3){top:112px}
.lp-files li:nth-child(4){top:168px}
.lp-files li:nth-child(5){top:224px}

/* ---- アニメーション（5.5秒で1周。①0.4〜1.5s 吸い込み ②1.4〜4.1s 進捗 ③3.5〜5.4s 回答タイプ ④5.6〜6.3s 出典 ⑤0.5.5s静止）
     窓の%は10秒版から据え置き、尺だけ0.55倍にしている ---- */
@keyframes lp-suck{0%{transform:none;opacity:1}6%{transform:none;opacity:1}22%{transform:translate(300px,var(--dy,0px)) scale(.15);opacity:0}100%{transform:translate(300px,var(--dy,0px)) scale(.15);opacity:0}}
.lp-files li{animation:lp-suck 5.5s cubic-bezier(.5,0,.8,.4) infinite both}
.lp-files li:nth-child(1){--dy:160px;animation-delay:0s}
.lp-files li:nth-child(2){--dy:104px;animation-delay:.19s}
.lp-files li:nth-child(3){--dy:48px;animation-delay:.39s}
.lp-files li:nth-child(4){--dy:-8px;animation-delay:.58s}
.lp-files li:nth-child(5){--dy:-64px;animation-delay:.77s}
@keyframes lp-bar1{0%,20%{width:0}32%,100%{width:100%}}
@keyframes lp-bar2{0%,31%{width:0}44%,100%{width:100%}}
@keyframes lp-bar3{0%,43%{width:0}56%,100%{width:100%}}
.lp-prog .p1 .bar i{animation:lp-bar1 5.5s linear infinite}
.lp-prog .p2 .bar i{animation:lp-bar2 5.5s linear infinite}
.lp-prog .p3 .bar i{animation:lp-bar3 5.5s linear infinite}
/* 数字はリール送り。content を @keyframes で切り替える書き方は Blink 限定で、Safari では初期値のまま止まる */
@keyframes lp-pct1{0%,22.9%{transform:translateY(0)}23%,25.9%{transform:translateY(-12px)}26%,28.9%{transform:translateY(-24px)}29%,31.9%{transform:translateY(-36px)}32%,100%{transform:translateY(-48px)}}
@keyframes lp-pct2{0%,33.9%{transform:translateY(0)}34%,37.9%{transform:translateY(-12px)}38%,40.9%{transform:translateY(-24px)}41%,43.9%{transform:translateY(-36px)}44%,100%{transform:translateY(-48px)}}
@keyframes lp-pct3{0%,45.9%{transform:translateY(0)}46%,49.9%{transform:translateY(-12px)}50%,52.9%{transform:translateY(-24px)}53%,55.9%{transform:translateY(-36px)}56%,100%{transform:translateY(-48px)}}
.lp-prog .p1 .pct .rl{animation:lp-pct1 5.5s linear infinite}
.lp-prog .p2 .pct .rl{animation:lp-pct2 5.5s linear infinite}
.lp-prog .p3 .pct .rl{animation:lp-pct3 5.5s linear infinite}
@keyframes lp-chk1{0%,31%{opacity:0;transform:scale(.4)}34%,100%{opacity:1;transform:none}}
@keyframes lp-chk2{0%,43%{opacity:0;transform:scale(.4)}46%,100%{opacity:1;transform:none}}
@keyframes lp-chk3{0%,55%{opacity:0;transform:scale(.4)}58%,100%{opacity:1;transform:none}}
.lp-prog .p1 .chk{animation:lp-chk1 5.5s ease-out infinite}
.lp-prog .p2 .chk{animation:lp-chk2 5.5s ease-out infinite}
.lp-prog .p3 .chk{animation:lp-chk3 5.5s ease-out infinite}
@keyframes lp-t1{0%,50%{width:0}60%,100%{width:100%}}
@keyframes lp-t2{0%,60%{width:0}70%,100%{width:100%}}
@keyframes lp-t3{0%,70%{width:0}77%,100%{width:100%}}
.lp-scr-r .a .t1{animation:lp-t1 5.5s steps(18,end) infinite}
.lp-scr-r .a .t2{animation:lp-t2 5.5s steps(18,end) infinite}
.lp-scr-r .a .t3{animation:lp-t3 5.5s steps(12,end) infinite}
@keyframes lp-src1{0%,80%{opacity:0;transform:translateY(4px)}83%,100%{opacity:1;transform:none}}
@keyframes lp-src2{0%,83%{opacity:0;transform:translateY(4px)}86%,100%{opacity:1;transform:none}}
@keyframes lp-src3{0%,86%{opacity:0;transform:translateY(4px)}89%,100%{opacity:1;transform:none}}
.lp-scr-r .src .s1{animation:lp-src1 5.5s ease-out infinite}
.lp-scr-r .src .s2{animation:lp-src2 5.5s ease-out infinite}
.lp-scr-r .src .s3{animation:lp-src3 5.5s ease-out infinite}
@keyframes lp-cur{0%,49%{opacity:0}50%,78%{opacity:1}79%,100%{opacity:0}}
.lp-scr-r .a .cur{animation:lp-cur 5.5s steps(1) infinite}
@keyframes lp-st{0%,89%{background:var(--lp-key);border-color:#C9B900}90%,100%{background:var(--lp-blue);border-color:var(--lp-blue)}}
.lp-scr-hd .st i{animation:lp-st 5.5s linear infinite}
@keyframes lp-st-txt{0%,89.9%{transform:translateY(0)}90%,100%{transform:translateY(-12px)}}
.lp-scr-hd .st .tx .rl{animation:lp-st-txt 5.5s linear infinite}
/* 先頭から再スタート用（lp.js）。FVモニターと各セクションのモック .lp-anim の両方に効かせる */
.lp-monitor.is-reset,.lp-monitor.is-reset *,.lp-monitor.is-reset *::after,
.lp-anim.is-reset,.lp-anim.is-reset *,.lp-anim.is-reset *::after{animation:none!important}
/* 静止画（reduced-motion／JSでの停止時）: 最終状態で止める */
.lp-root.is-static .lp-monitor *,.lp-root.is-static .lp-monitor *::after{animation:none!important}
.lp-root.is-static .lp-files li{opacity:1;transform:none}
.lp-root.is-static .lp-prog .bar i{width:100%}
.lp-root.is-static .lp-prog .pct .rl{transform:translateY(-48px)}
.lp-root.is-static .lp-prog .chk{opacity:1}
.lp-root.is-static .lp-scr-r .a .t{width:100%}
.lp-root.is-static .lp-scr-r .src li{opacity:1}
.lp-root.is-static .lp-scr-hd .st i{background:var(--lp-blue);border-color:var(--lp-blue)}
.lp-root.is-static .lp-scr-hd .st .tx .rl{transform:translateY(-12px)}


/* ===== 絵柄（B案: 人物フラット） ===== */
.lp-pain-art{position:absolute;left:280px;top:150px;width:440px;display:block}
.lp-pain-art img,.lp-pain-art{}
img.lp-pain-art{height:auto}

.lp-more-ic{display:block;height:96px;width:auto;margin-bottom:14px}

.lp-early-art{position:absolute;left:80px;top:150px;width:300px;height:340px;object-fit:cover;object-position:top center;border-radius:var(--lp-r-m)}

.lp-keep-art{position:absolute;left:370px;top:310px;width:260px;height:260px;object-fit:contain}

@media (prefers-reduced-motion:reduce){
  .lp-monitor *,.lp-monitor *::after{animation:none!important}
  .lp-files li{opacity:1;transform:none}
  .lp-prog .bar i{width:100%}
  .lp-prog .pct .rl{transform:translateY(-48px)}
  .lp-prog .chk{opacity:1}
  .lp-scr-r .a .t{width:100%}
  .lp-scr-r .src li{opacity:1}
  .lp-scr-hd .st i{background:var(--lp-blue);border-color:var(--lp-blue)}
  .lp-scr-hd .st .tx .rl{transform:translateY(-12px)}
}

/* ---- 02 こんな状態 ---- */
.lp-s-pain .lp-wrap{height:780px}
.lp-s-pain .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-s-pain .lp-tiles{position:absolute;left:0;top:470px;width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.lp-s-pain .lp-tiles>li{display:flex;gap:18px;align-items:flex-start;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:24px 28px;min-height:108px}
.lp-s-pain .lp-tiles b{flex:none;font-size:22px;line-height:1;font-weight:900;letter-spacing:.02em;padding-top:4px;font-feature-settings:"tnum"}
.lp-s-pain .lp-tiles p{font-size:17px;line-height:28px;font-weight:700;letter-spacing:.02em}
.lp-s-pain .lp-close{position:absolute;left:0;right:0;top:718px}

/* ---- 03 実測の数字（濃い面） ---- */
.lp-s-numbers .lp-wrap{height:800px}
.lp-s-numbers .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-s-numbers .lp-lead{position:absolute;left:0;right:0;top:130px}
.lp-s-numbers .lp-nums{position:absolute;left:0;top:190px;width:1000px;height:330px}
.lp-s-numbers .lp-nums li{position:absolute;width:312px;height:156px;border:1px solid rgba(255,255,255,.28);border-radius:var(--lp-r-m);text-align:center;padding-top:18px;background:var(--lp-dark-2)}
.lp-s-numbers .lp-nums .n1{left:0;top:0}
.lp-s-numbers .lp-nums .n2{left:344px;top:0}
.lp-s-numbers .lp-nums .n3{left:688px;top:0}
.lp-s-numbers .lp-nums .n4{left:172px;top:174px}
.lp-s-numbers .lp-nums .n5{left:516px;top:174px}
.lp-s-numbers .num{display:block;color:var(--lp-key);font-size:22px;font-weight:900;line-height:1;letter-spacing:.02em}
.lp-s-numbers .num b{font-size:64px;letter-spacing:-.02em;font-feature-settings:"tnum";margin-right:2px}
.lp-s-numbers strong{display:block;margin-top:10px;font-size:16px;line-height:24px;font-weight:700;letter-spacing:.04em}
.lp-s-numbers small{display:block;margin-top:2px;font-size:12px;line-height:18px;color:rgba(255,255,255,.7)}
.lp-s-numbers .lp-honest{position:absolute;left:0;top:552px;width:1000px}

/* ---- 04 診断書の見本 ---- */
.lp-s-report .lp-wrap{height:750px}
.lp-s-report .lp-h2{position:absolute;left:0;top:64px}
.lp-s-report .lp-lead{position:absolute;left:0;top:142px;width:1000px}
.lp-s-report .lp-report-imgs{position:absolute;left:0;top:244px;width:1000px;display:flex;gap:40px}
.lp-s-report .lp-report-imgs>li{width:480px}
.lp-s-report .lp-report-imgs img{width:100%;height:auto;border:1px solid var(--lp-line);border-radius:6px}
.lp-s-report figcaption{margin-top:10px;font-size:14px;line-height:22px;color:var(--lp-ink-2)}
.lp-s-report figcaption b{font-size:15px;color:var(--lp-ink);margin-right:6px}
.lp-s-report .lp-notes{position:absolute;left:0;top:632px;width:1000px;display:flex;gap:24px}
.lp-s-report .lp-notes li{position:relative;flex:1;padding-left:14px;font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-s-report .lp-notes li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--lp-ink);border-radius:50%}

/* ---- 05 仕組み ---- */
.lp-s-how .lp-wrap{height:1340px}
.lp-s-how .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-ba{position:absolute;left:0;top:160px;width:1000px;display:flex;align-items:stretch;gap:0}
.lp-ba-col{position:relative;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:52px 20px 20px}
.lp-ba-col.is-before{width:330px}
.lp-ba-col.is-after{width:610px}
.lp-ba-lab{position:absolute;left:20px;top:-14px;height:28px;padding:0 14px;font-size:13px;font-weight:900;letter-spacing:.06em;color:#fff;background:var(--lp-ink);border-radius:4px;line-height:28px}
.lp-ba-col.is-before .lp-ba-lab{background:var(--lp-ink-3)}
.lp-ba-arrow{width:60px;display:flex;align-items:center;justify-content:center;position:relative}
.lp-ba-arrow::before{content:"";width:0;height:0;border-left:22px solid var(--lp-ink);border-top:16px solid transparent;border-bottom:16px solid transparent}
.lp-ba-flow{display:flex;gap:26px}
.lp-ba-flow li{position:relative;flex:1;min-height:92px;background:var(--lp-bg);border-radius:8px;padding:12px 10px;font-size:13px;line-height:20px;font-weight:700;text-align:center;display:flex;flex-direction:column;justify-content:center}
.lp-ba-flow li small{display:block;margin-top:4px;font-size:10px;line-height:14px;font-weight:400;color:var(--lp-ink-2)}
.lp-ba-flow li+li::before{content:"›";position:absolute;left:-19px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:700;color:var(--lp-ink-3);line-height:1}
.lp-ba-col.is-before .lp-ba-flow li{background:#EDEDEA;color:var(--lp-ink-2)}
.lp-ba-flow.is-5{gap:20px}
.lp-ba-flow.is-5 li+li::before{left:-16px;font-size:18px}
.lp-ba-flow.is-5 li:nth-child(5){background:var(--lp-ink);color:#fff}
.lp-s-how .lp-h3{position:absolute;left:0;top:380px}
.lp-screens{position:absolute;left:0;top:428px;width:1000px;display:flex;gap:40px}
.lp-screens>li{width:480px}
.lp-screens img{width:100%;height:auto;border:1px solid var(--lp-line);border-radius:6px}
.lp-screens figcaption{margin-top:8px;font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-screens-note{position:absolute;left:0;top:756px;width:1000px;font-size:15px;line-height:26px;font-weight:700}
.lp-bubbles{position:absolute;left:0;top:826px;width:1000px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lp-bubbles>li{position:relative;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:14px 18px}
.lp-bubbles li::after{content:"";position:absolute;left:28px;bottom:-9px;width:14px;height:14px;background:var(--lp-card);border-right:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line);transform:rotate(45deg)}
.lp-bubbles b{display:block;font-size:12px;letter-spacing:.06em;color:var(--lp-ink-3)}
.lp-bubbles span{display:block;margin-top:4px;font-size:14px;line-height:22px;font-weight:700}
.lp-glossary{position:absolute;left:0;top:1068px;width:1000px;border-top:1px solid var(--lp-line-2);padding-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 24px}
.lp-glossary .ttl{grid-column:1/-1;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--lp-ink-3)}
.lp-glossary div dt{font-size:14px;font-weight:900;letter-spacing:.04em}
.lp-glossary div dd{margin-top:4px;font-size:12px;line-height:19px;color:var(--lp-ink-2)}
.lp-s-how .lp-close{position:absolute;left:0;right:0;top:1248px}

/* ---- 06 3つのお約束 ---- */
.lp-s-promise .lp-wrap{height:600px}
.lp-s-promise .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-s-promise .lp-cards{top:160px}

/* ---- 07 向き不向き ---- */
.lp-s-fit .lp-wrap{height:650px}
.lp-s-fit .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-fit-cols{position:absolute;left:0;top:160px;width:1000px;display:flex;gap:24px}
.lp-fit-col{position:relative;flex:1;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:44px 28px 26px}
.lp-fit-col.is-no{border:2px solid var(--lp-ink)}
.lp-fit-lab{position:absolute;left:28px;top:-14px;height:28px;line-height:28px;padding:0 14px;font-size:13px;font-weight:900;letter-spacing:.06em;border-radius:4px;background:var(--lp-ink-3);color:#fff}
.lp-fit-col.is-no .lp-fit-lab{background:var(--lp-ink)}
.lp-fit-col li{position:relative;padding:10px 0 10px 32px;font-size:15px;line-height:24px;border-top:1px solid var(--lp-line)}
.lp-fit-col li:first-child{border-top:0;padding-top:0}
.lp-fit-col li::before{position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;text-align:center;font-size:12px;line-height:20px;font-weight:900}
.lp-fit-col li:first-child::before{top:0}
.lp-fit-col.is-yes li::before{content:"✓";color:#fff;background:var(--lp-ink-3)}
.lp-fit-col.is-no li::before{content:"×";color:#fff;background:var(--lp-ink)}
.lp-fit-col a{text-decoration:underline;text-underline-offset:3px}
.lp-s-fit .lp-close{position:absolute;left:0;top:500px;width:1000px}

/* ---- 08 3つの商品 ---- */
.lp-s-products .lp-wrap{height:970px}
.lp-s-products .lp-h2{position:absolute;left:0;top:64px}
.lp-flow{position:absolute;left:400px;top:64px;width:600px;display:flex;gap:26px;align-items:center}
.lp-flow li{position:relative;flex:1;height:118px;border:1px solid var(--lp-line);border-radius:var(--lp-r-m);background:var(--lp-card);text-align:center;padding-top:14px}
.lp-flow li.is-main{border:3px solid var(--lp-ink);padding-top:12px}
.lp-flow li.is-gate{border:1.5px dashed var(--lp-ink-3);background:none;display:flex;align-items:center;justify-content:center;padding:0;font-size:12px;line-height:17px;font-weight:700;color:var(--lp-ink-2)}
.lp-flow li+li::before{content:"→";position:absolute;left:-24px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:700;color:var(--lp-ink-3)}
.lp-flow .nm{display:block;font-size:13px;font-weight:700;letter-spacing:.04em}
.lp-flow .pr{display:block;margin-top:2px;font-size:14px;font-weight:900;line-height:1.2}
.lp-flow .pr b{font-size:30px;font-feature-settings:"tnum"}
.lp-flow li.is-main .pr b{background:linear-gradient(transparent 62%,var(--lp-key) 62%,var(--lp-key) 86%,transparent 86%)}
.lp-flow small{display:block;margin-top:4px;font-size:10px;color:var(--lp-ink-2)}
.lp-products{position:absolute;left:0;top:230px;width:1000px;display:flex;gap:24px;align-items:stretch}
.lp-products>li{position:relative;flex:1;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:28px 24px 100px}
.lp-products>li.is-main{border:3px solid var(--lp-ink);padding:26px 22px 98px}
.lp-pnum{display:inline-block;width:40px;height:40px;background:var(--lp-ink);color:#fff;font-size:18px;font-weight:900;text-align:center;line-height:40px;border-radius:6px;vertical-align:middle}
.lp-products strong{display:inline-block;margin-left:12px;font-size:24px;font-weight:900;letter-spacing:.04em;vertical-align:middle}
.lp-products .cap{display:inline-block;margin-left:6px;font-size:13px;color:var(--lp-ink-2);vertical-align:middle}
.lp-ptag{position:absolute;right:20px;top:-14px;height:28px;line-height:28px;padding:0 12px;background:var(--lp-ink);color:#fff;font-size:12px;font-weight:900;letter-spacing:.1em;border-radius:4px}
.lp-ptag.is-normal{background:var(--lp-ink-3)}
.lp-products dl{margin-top:20px}
.lp-products dt{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--lp-ink-3);margin-top:14px}
.lp-products dt:first-child{margin-top:0}
.lp-products dd{margin-top:4px;font-size:14px;line-height:24px}
.lp-products dd .lp-checks{margin-top:4px}
.lp-pnote{margin-top:16px;padding-top:12px;border-top:1px solid var(--lp-line);font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-products .lp-price{position:absolute;left:24px;right:24px;bottom:28px;gap:8px}
.lp-products .lp-price .was{font-size:14px}
.lp-products .lp-price .arr{font-size:16px}
.lp-products .lp-price .now{font-size:18px}
.lp-products .lp-price .now b{font-size:44px}
.lp-products>li.is-main .lp-price .now b{font-size:36px}
.lp-products>li.is-main .lp-price .tax{font-size:11px}
.lp-products .lp-price .tax{font-size:12px}

/* ---- 09 他の選択肢 ---- */
.lp-s-compare .lp-wrap{height:670px}
.lp-s-compare .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-s-compare .lp-scroll{position:absolute;left:0;top:160px;width:1000px}
.lp-table.is-compare th,.lp-table.is-compare td{padding:12px 14px;font-size:14px;line-height:21px}
.lp-table.is-compare thead th{text-align:center;vertical-align:middle}
.lp-table.is-compare thead th:first-child{width:170px}
.lp-table.is-compare td{text-align:center}
.lp-table.is-compare td small{display:block;font-size:11px;line-height:16px;color:var(--lp-ink-2);font-weight:400}
.lp-compare-note{position:absolute;left:0;top:490px;width:1000px;font-size:12px;line-height:18px;color:var(--lp-ink-3);letter-spacing:.02em}
.lp-s-compare .lp-close{position:absolute;left:0;top:524px;width:1000px}

/* ---- 10 費用のまとめ ---- */
.lp-s-cost .lp-wrap{height:560px}
.lp-s-cost .lp-h2{position:absolute;left:0;top:64px}
.lp-table.is-cost{position:absolute;left:0;top:160px;width:560px}
.lp-table.is-cost thead th:first-child{width:150px}
.lp-ws{position:absolute;left:600px;top:160px;width:400px;height:344px;background:var(--lp-bg);border-radius:var(--lp-r-m);padding:24px 24px}
.lp-ws strong{display:block;font-size:16px;line-height:26px;font-weight:900;letter-spacing:.02em}
.lp-ws p{margin-top:10px;font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-tri{position:relative;margin-top:18px;height:96px}
.lp-tri .n{position:absolute;top:0;width:100px;height:40px;line-height:40px;text-align:center;font-size:14px;font-weight:900;background:var(--lp-card);border:1.5px solid var(--lp-ink);border-radius:6px}
.lp-tri .n.a{left:0}
.lp-tri .n.b{right:0}
.lp-tri .ln{position:absolute;left:110px;right:110px;top:19px;height:3px;background:var(--lp-ink)}
.lp-tri .ln i{position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:700;white-space:nowrap}
.lp-tri .ln::before,.lp-tri .ln::after{content:"";position:absolute;top:-4px;width:0;height:0;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent}
.lp-tri .ln::before{left:-8px;border-right:9px solid var(--lp-ink)}
.lp-tri .ln::after{right:-8px;border-left:9px solid var(--lp-ink)}
.lp-tri .n.c{top:56px;left:50%;width:150px;margin-left:-75px;height:40px;line-height:16px;padding-top:4px;border:1px dashed var(--lp-ink-3);color:var(--lp-ink-2);font-size:13px}
.lp-tri .n.c small{display:block;font-size:9px;font-weight:400;line-height:12px}

/* ---- 11 先行提供 ---- */
.lp-s-early .lp-wrap{height:730px}
.lp-s-early .lp-h2{position:absolute;left:0;top:64px}
.lp-cond{position:absolute;left:520px;top:150px;width:480px;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:24px 28px 20px}
.lp-cond .lp-left{position:absolute;right:24px;top:-22px;display:flex;align-items:baseline;gap:4px;height:44px;padding:0 16px;background:var(--lp-ink);color:#fff;border-radius:22px;font-weight:900}
.lp-cond .lp-left small{font-size:12px}
.lp-cond .lp-left b{font-size:26px;color:var(--lp-key);font-feature-settings:"tnum";line-height:44px}
.lp-cond .lp-left span{font-size:13px}
.lp-cond dl{display:grid;grid-template-columns:76px 1fr;gap:10px 14px;margin-top:8px}
.lp-cond dt{font-size:13px;font-weight:900;letter-spacing:.06em;padding-top:2px;color:var(--lp-ink-2)}
.lp-cond dd{font-size:14px;line-height:24px}
.lp-s-early .lp-honest{position:absolute;left:0;top:520px;width:1000px}


/* ---- 13 やらないこと ---- */
.lp-s-not .lp-wrap{height:430px}
.lp-s-not .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-xlist{position:absolute;left:0;top:160px;width:1000px;display:flex;gap:20px}
.lp-xlist li{position:relative;flex:1;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:22px 20px 22px 62px;font-size:16px;line-height:24px;font-weight:700;letter-spacing:.02em}
.lp-xlist li::before{content:"×";position:absolute;left:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--lp-red);color:#fff;text-align:center;line-height:28px;font-size:18px;font-weight:900}
.lp-not-body{position:absolute;left:0;top:270px;width:1000px;font-size:15px;line-height:30px;color:var(--lp-ink-2)}
.lp-not-body strong{color:var(--lp-ink);font-weight:900}

/* ---- 14 進め方 ---- */

/* --- 05b 所長にとっての効果 .lp-s-gain --- */
.lp-s-gain .lp-wrap{height:950px}
.lp-s-gain .lp-h2{position:absolute;left:0;top:64px}
.lp-s-gain .lp-lead{position:absolute;left:0;top:150px;width:1000px}
.lp-s-gain .lp-more{top:250px}
.lp-s-gain .lp-honest{position:absolute;left:0;top:640px;width:1000px}
.lp-s-gain .lp-honest p b{color:var(--lp-key);font-feature-settings:"tnum"}
.lp-s-gain .lp-close{position:absolute;left:0;top:840px;width:1000px}
/* 濃い面に置くカード（--lp-dark-2 の用途） */
.is-dark .lp-more>li{background:var(--lp-dark-2);border-color:rgba(255,255,255,.14)}
.is-dark .lp-more b{background:var(--lp-key);color:var(--lp-ink)}
.is-dark .lp-more p{color:rgba(255,255,255,.82)}

/* --- 09b プロが必要なライン .lp-s-line --- */
.lp-s-line .lp-wrap{height:886px}
.lp-s-line .lp-h2{position:absolute;left:0;top:64px}
.lp-s-line .lp-lead{position:absolute;left:0;top:150px;width:1000px}
.lp-s-line .lp-more{top:250px}
.lp-s-line .lp-src{position:absolute;left:0;top:666px;width:1000px}
.lp-s-line .lp-close{position:absolute;left:0;top:766px;width:1000px}
.lp-src{font-size:13px;line-height:22px;color:var(--lp-ink-3)}

/* --- 13a 保守の価値 .lp-s-keep --- */
.lp-s-keep .lp-wrap{height:780px}
.lp-s-keep .lp-h2{position:absolute;left:0;top:64px}
.lp-s-keep .lp-lead{position:absolute;left:0;top:150px;width:1000px}
.lp-s-keep .lp-honest{position:absolute;left:0;top:590px;width:1000px}

/* --- 13b 保守の中でできること .lp-s-more --- */
.lp-s-more .lp-wrap{height:706px}
.lp-s-more .lp-h2{position:absolute;left:0;top:64px}
.lp-s-more .lp-lead{position:absolute;left:0;top:190px;width:1000px}
.lp-more{position:absolute;left:0;top:270px;width:1000px;display:flex;gap:24px;align-items:stretch}
.lp-more>li{position:relative;flex:1;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:24px 24px 26px}
.lp-more b{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;padding:3px 12px;background:var(--lp-ink);color:#fff;border-radius:3px}
.lp-more strong{display:block;margin-top:14px;font-size:19px;line-height:29px;font-weight:900;letter-spacing:.03em}
.lp-more p{margin-top:10px;font-size:14px;line-height:25px;color:var(--lp-ink-2)}
.lp-s-more .lp-close{position:absolute;left:0;top:606px;width:1000px}

.lp-s-steps .lp-wrap{height:780px}
.lp-s-steps .lp-h2{position:absolute;left:0;right:0;top:64px}
.lp-s-steps .lp-timeline{top:190px}
.lp-s-steps .lp-close{position:absolute;left:0;right:0;top:412px}
.lp-time{position:absolute;left:0;top:480px;width:1000px;display:grid;grid-template-columns:200px 1fr 1fr;gap:0 32px;align-items:start;background:var(--lp-bg);border-radius:var(--lp-r-m);padding:24px 28px}
.lp-time strong{font-size:16px;font-weight:900;letter-spacing:.04em;line-height:24px}
.lp-time table{border-collapse:collapse;width:100%;font-size:14px}
.lp-time th,.lp-time td{text-align:left;padding:6px 0;border-bottom:1px solid var(--lp-line-2);font-weight:500;line-height:22px}
.lp-time td{text-align:right;font-weight:700;white-space:nowrap}
.lp-time td small{font-weight:400;color:var(--lp-ink-2);font-size:11px;margin-left:4px}
.lp-time tr.is-total th,.lp-time tr.is-total td{border-bottom:0;font-weight:900;font-size:15px}
.lp-time p{font-size:14px;line-height:24px;color:var(--lp-ink-2);padding-top:4px}

/* ---- 15 閲覧権限 ---- */
.lp-s-perm .lp-wrap{height:850px}
.lp-s-perm .lp-h2{position:absolute;left:0;top:64px}
.lp-perm-list{position:absolute;left:0;top:190px;width:520px}
.lp-perm-list li{position:relative;padding:0 0 18px 60px;min-height:76px}
.lp-perm-list li+li{padding-top:18px;border-top:1px solid var(--lp-line-2)}
.lp-perm-list .ic{position:absolute;left:0;top:0;width:40px;height:40px;border:1.5px solid var(--lp-ink);border-radius:8px;background:var(--lp-card)}
.lp-perm-list li+li .ic{top:18px}
.lp-perm-list .ic::before,.lp-perm-list .ic::after{content:"";position:absolute}
.ic-scope::before{left:9px;top:9px;width:20px;height:20px;border:1.5px dashed var(--lp-ink);border-radius:3px}
.ic-scope::after{left:15px;top:15px;width:8px;height:8px;background:var(--lp-ink);border-radius:1px}
.ic-eye::before{left:8px;top:13px;width:22px;height:12px;border:1.5px solid var(--lp-ink);border-radius:50%}
.ic-eye::after{left:16px;top:16px;width:6px;height:6px;background:var(--lp-ink);border-radius:50%}
.ic-drive::before{left:9px;top:11px;width:20px;height:16px;border:1.5px solid var(--lp-ink);border-radius:2px 2px 3px 3px}
.ic-drive::after{left:9px;top:8px;width:9px;height:4px;border:1.5px solid var(--lp-ink);border-bottom:0;border-radius:2px 2px 0 0}
.ic-return::before{left:9px;top:10px;width:18px;height:18px;border:1.5px solid var(--lp-ink);border-radius:50%;border-left-color:transparent}
.ic-return::after{left:7px;top:8px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:7px solid var(--lp-ink)}
.ic-lock::before{left:11px;top:17px;width:16px;height:12px;background:var(--lp-ink);border-radius:2px}
.ic-lock::after{left:14px;top:9px;width:10px;height:10px;border:1.5px solid var(--lp-ink);border-bottom:0;border-radius:5px 5px 0 0}
.lp-perm-list strong{display:block;font-size:17px;font-weight:900;letter-spacing:.04em;line-height:24px}
.lp-perm-list p{margin-top:4px;font-size:14px;line-height:23px;color:var(--lp-ink-2)}
.lp-drive{position:absolute;left:580px;top:190px;width:420px;height:400px;background:var(--lp-card);border:1px solid var(--lp-line);border-radius:var(--lp-r-m);padding:20px 22px;font-size:13px}
.lp-drive .ttl{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--lp-ink-3)}
.lp-drive .tree{position:absolute;left:22px;top:52px;width:130px}
.lp-drive .tree li{position:relative;padding-left:22px;height:32px;line-height:32px;color:var(--lp-ink-2)}
.lp-drive .tree li::before{content:"";position:absolute;left:0;top:10px;width:14px;height:11px;border:1.5px solid var(--lp-ink-3);border-radius:2px}
.lp-drive .tree li.more::before{display:none}
.lp-drive .pick{position:absolute;left:170px;top:48px;width:226px;border:2px solid var(--lp-ink);border-radius:8px;padding:12px 14px;background:#FFFBD6}
.lp-drive .pick .lab{display:block;font-size:11px;font-weight:900;letter-spacing:.04em}
.lp-drive .pick li{position:relative;padding-left:22px;height:30px;line-height:30px;font-weight:700}
.lp-drive .pick li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:11px;border:1.5px solid var(--lp-ink);border-radius:2px}
.lp-drive .pick::before{content:"";position:absolute;left:-42px;top:64px;width:40px;height:2px;background:var(--lp-ink)}
.lp-drive .pick::after{content:"読む";position:absolute;left:-36px;top:44px;font-size:10px;font-weight:700}
.lp-drive .out{position:absolute;left:22px;bottom:18px;right:22px;padding-top:12px;border-top:1px dashed var(--lp-line-2);font-size:12px;color:var(--lp-ink-2)}
.lp-drive .out b{color:var(--lp-ink)}
.lp-s-perm .lp-close{position:absolute;left:0;top:740px;width:1000px}

/* ---- 16 FAQ（可変高） ---- */
.lp-s-faq .lp-wrap{padding:64px 0 96px}
.lp-s-faq .lp-acc{margin-top:40px}

/* ---- 17 最終CTA（濃い面・可変高） ---- */
.lp-s-final .lp-wrap{padding:72px 0 72px;display:grid;grid-template-columns:600px 340px;gap:0 60px;grid-template-areas:"h2 h2" "body body" "ways price" "form ref" "form ."}
.lp-s-final .lp-h2{grid-area:h2}
.lp-final-body{grid-area:body;margin-top:20px;font-size:16px;line-height:30px;color:rgba(255,255,255,.85)}
.lp-ways{grid-area:ways;margin-top:32px;display:flex;align-items:stretch;gap:0}
.lp-way{position:relative;flex:1;background:var(--lp-card);color:var(--lp-ink);border-radius:var(--lp-r-m);padding:22px 22px 20px 74px}
.lp-way-lab{position:absolute;left:22px;top:22px;width:36px;height:36px;background:var(--lp-ink);color:#fff;border-radius:6px;text-align:center;line-height:36px;font-size:18px;font-weight:900}
.lp-way strong{display:block;font-size:17px;line-height:26px;font-weight:900;letter-spacing:.02em}
.lp-way p{margin-top:8px;font-size:13px;line-height:22px;color:var(--lp-ink-2)}
.lp-way-flow{display:flex;gap:14px;margin-top:12px;margin-left:-52px}
.lp-way-flow li{position:relative;font-size:11px;font-weight:700;padding:3px 8px;background:var(--lp-bg);border-radius:4px;white-space:nowrap}
.lp-way-flow li+li::before{content:"→";position:absolute;left:-13px;top:3px;font-size:11px;color:var(--lp-ink-3)}
.lp-way-or{width:40px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:rgba(255,255,255,.7);writing-mode:vertical-rl;letter-spacing:.2em}
.lp-formlink{grid-area:form;margin-top:16px;background:var(--lp-card);color:var(--lp-ink);border-radius:var(--lp-r-m);padding:28px 28px 24px;text-align:center}
.lp-formlink .lp-btn.is-submit{width:100%}
.lp-formlink-note{margin-top:14px;font-size:12px;line-height:20px;color:var(--lp-ink-2)}
.lp-imgnote{display:block;margin-top:4px;font-size:11px;font-weight:400;color:var(--lp-ink-3);letter-spacing:.04em}
.lp-final-price{grid-area:price;margin-top:32px;align-self:start;text-align:center;padding:28px 20px 24px;border:1.5px solid rgba(255,255,255,.35);border-radius:var(--lp-r-m)}
.lp-final-price .lab{display:block;font-size:14px;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.8)}
.lp-final-price .was{display:block;margin-top:10px;font-size:20px;font-weight:700;text-decoration:line-through;text-decoration-thickness:2px;color:rgba(255,255,255,.75)}
.lp-final-price .was::after{content:" →";text-decoration:none;display:inline-block}
.lp-final-price .now{display:block;margin-top:2px;font-size:30px;font-weight:900;color:var(--lp-key);line-height:1.1}
.lp-final-price .now b{font-size:96px;letter-spacing:-.03em;font-feature-settings:"tnum"}
.lp-final-price .tax{display:block;margin-top:4px;font-size:13px;color:rgba(255,255,255,.7)}
.lp-final-price .term{display:inline-block;margin-top:18px;padding:6px 16px;border:1.5px solid var(--lp-key);border-radius:4px;font-size:14px;font-weight:900;letter-spacing:.06em}
.lp-referrer{grid-area:ref;margin-top:24px;align-self:start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:var(--lp-r-m);padding:20px 22px}
.lp-referrer strong{display:block;font-size:14px;font-weight:900;letter-spacing:.08em}
.lp-referrer p{margin-top:8px;font-size:13px;line-height:22px;color:rgba(255,255,255,.85)}

/* ---- 18 フッター: 部品のみ ---- */

/* ==========================================================================
   5. タブレット 768–999: 等比縮小
   ========================================================================== */

/* ==========================================================================
   6. HTML/CSSモック（04診断書・05実画面・06お約束・15権限図）
   FVモニターと同じ作り。すべて10秒ループ。lp.js が画面外で止める（.lp-anim）
   ========================================================================== */

/* ---- 04 診断書のイメージ .lp-doc ---- */
.lp-doc{position:relative;width:100%;height:327px;background:var(--lp-bg);border:1px solid var(--lp-line);border-radius:6px;overflow:hidden}
.lp-doc-page{position:absolute;left:96px;top:22px;width:288px;height:283px;background:#fff;border:1px solid #DEDED9;border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.10);padding:18px 20px;overflow:hidden}
.lp-doc-band{display:block;height:26px;background:var(--lp-ink);border-radius:2px;width:0}
.lp-doc-sub{display:block;margin-top:8px;height:5px;width:0;background:#C9C9C4;border-radius:3px}
.lp-doc-no{position:absolute;right:14px;bottom:10px;width:5px;height:5px;background:#C9C9C4;border-radius:50%}
.lp-doc-tbl{margin-top:14px;width:100%;border-collapse:collapse;table-layout:fixed}
.lp-doc-tbl tr{opacity:0}
.lp-doc-tbl td{height:22px;border:1px solid #E4E4E0;padding:0 5px;vertical-align:middle}
.lp-doc-tbl .k{width:47%}
.lp-doc-tbl .k::before{content:"";display:block;height:5px;width:80%;background:#C9C9C4;border-radius:3px}
.lp-doc-tbl .v{width:30%;text-align:right;position:relative}
.lp-doc-tbl .v i{display:inline-block;height:8px;width:0;background:var(--lp-ink);border-radius:2px;vertical-align:middle}
.lp-doc-tbl .u::before{content:"";display:block;height:5px;width:60%;background:#DDDDD8;border-radius:3px}
.lp-doc-tbl .is-mark .v::after{content:"";position:absolute;left:5px;right:5px;bottom:2px;height:5px;background:var(--lp-key);border-radius:2px;transform:scaleX(0);transform-origin:left}
.lp-doc-p{display:block;margin-top:7px;height:5px;background:#DDDDD8;border-radius:3px;width:0}
.lp-doc-p.p1{margin-top:14px}
.lp-doc-chk{margin-top:16px}
.lp-doc-chk li{position:relative;height:30px;padding-left:24px}
.lp-doc-chk li i{position:absolute;left:0;top:5px;width:15px;height:15px;border:1.5px solid var(--lp-ink);border-radius:3px}
.lp-doc-chk li i::after{content:"";position:absolute;left:3px;top:3px;width:8px;height:4px;border-left:2px solid var(--lp-ink);border-bottom:2px solid var(--lp-ink);transform:rotate(-45deg) scale(0);transform-origin:center}
.lp-doc-chk li span{position:absolute;left:24px;top:11px;height:5px;background:#C9C9C4;border-radius:3px;width:0;max-width:calc(100% - 34px)}
.lp-doc-chk li.c4 i{border-color:#C9B900;background:var(--lp-key)}
.lp-doc-ba{margin-top:16px;display:flex;align-items:center;gap:8px;opacity:0}
.lp-doc-ba .b,.lp-doc-ba .a{flex:1;height:44px;border-radius:4px;background:var(--lp-bg);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:var(--lp-ink-3)}
.lp-doc-ba .a{background:var(--lp-ink);color:#fff}
.lp-doc-ba .ar{width:0;height:0;border-left:9px solid var(--lp-ink);border-top:6px solid transparent;border-bottom:6px solid transparent}
@keyframes lp-dband{0%,0%{width:0}6%,100%{width:70%}}
@keyframes lp-dsub{0%,6%{width:0}10%,100%{width:44%}}
.lp-doc .lp-doc-band{animation:lp-dband 5.5s ease-out infinite both}
.lp-doc.is-owner .lp-doc-sub{animation:lp-dsub 5.5s ease-out infinite both}
@keyframes lp-drow1{0%,14%{opacity:0;transform:translateY(3px)}18%,100%{opacity:1;transform:none}}
@keyframes lp-dnum1{0%,17%{width:0}25%,100%{width:52%}}
.lp-doc.is-owner .r1{animation:lp-drow1 5.5s ease-out infinite both}
.lp-doc.is-owner .r1 .v i{animation:lp-dnum1 5.5s cubic-bezier(.2,.8,.3,1) infinite both}
@keyframes lp-drow2{0%,19%{opacity:0;transform:translateY(3px)}23%,100%{opacity:1;transform:none}}
@keyframes lp-dnum2{0%,22%{width:0}30%,100%{width:34%}}
.lp-doc.is-owner .r2{animation:lp-drow2 5.5s ease-out infinite both}
.lp-doc.is-owner .r2 .v i{animation:lp-dnum2 5.5s cubic-bezier(.2,.8,.3,1) infinite both}
@keyframes lp-drow3{0%,24%{opacity:0;transform:translateY(3px)}28%,100%{opacity:1;transform:none}}
@keyframes lp-dnum3{0%,27%{width:0}35%,100%{width:28%}}
.lp-doc.is-owner .r3{animation:lp-drow3 5.5s ease-out infinite both}
.lp-doc.is-owner .r3 .v i{animation:lp-dnum3 5.5s cubic-bezier(.2,.8,.3,1) infinite both}
@keyframes lp-drow4{0%,29%{opacity:0;transform:translateY(3px)}33%,100%{opacity:1;transform:none}}
@keyframes lp-dnum4{0%,32%{width:0}40%,100%{width:60%}}
.lp-doc.is-owner .r4{animation:lp-drow4 5.5s ease-out infinite both}
.lp-doc.is-owner .r4 .v i{animation:lp-dnum4 5.5s cubic-bezier(.2,.8,.3,1) infinite both}
@keyframes lp-drow5{0%,34%{opacity:0;transform:translateY(3px)}38%,100%{opacity:1;transform:none}}
@keyframes lp-dnum5{0%,37%{width:0}45%,100%{width:74%}}
.lp-doc.is-owner .r5{animation:lp-drow5 5.5s ease-out infinite both}
.lp-doc.is-owner .r5 .v i{animation:lp-dnum5 5.5s cubic-bezier(.2,.8,.3,1) infinite both}
@keyframes lp-dmark{0%,46%{transform:scaleX(0)}52%,100%{transform:scaleX(1)}}
.lp-doc.is-owner .is-mark .v::after{animation:lp-dmark 5.5s ease-out infinite both}
@keyframes lp-dp1{0%,55%{width:0}59%,100%{width:100%}}
.lp-doc.is-owner .p1{animation:lp-dp1 5.5s ease-out infinite both}
@keyframes lp-dp2{0%,58%{width:0}62%,100%{width:100%}}
.lp-doc.is-owner .p2{animation:lp-dp2 5.5s ease-out infinite both}
@keyframes lp-dp3{0%,61%{width:0}65%,100%{width:62%}}
.lp-doc.is-owner .p3{animation:lp-dp3 5.5s ease-out infinite both}
@keyframes lp-dline1{0%,12%{width:0}17%,100%{width:74%}}
.lp-doc.is-staff .c1 span{animation:lp-dline1 5.5s ease-out infinite both}
@keyframes lp-dline2{0%,16%{width:0}21%,100%{width:56%}}
.lp-doc.is-staff .c2 span{animation:lp-dline2 5.5s ease-out infinite both}
@keyframes lp-dline3{0%,20%{width:0}25%,100%{width:82%}}
.lp-doc.is-staff .c3 span{animation:lp-dline3 5.5s ease-out infinite both}
@keyframes lp-dline4{0%,24%{width:0}29%,100%{width:48%}}
.lp-doc.is-staff .c4 span{animation:lp-dline4 5.5s ease-out infinite both}
@keyframes lp-dchk1{0%,34%{transform:rotate(-45deg) scale(0)}37%,100%{transform:rotate(-45deg) scale(1)}}
.lp-doc.is-staff .c1 i::after{animation:lp-dchk1 5.5s cubic-bezier(.3,1.4,.5,1) infinite both}
@keyframes lp-dchk2{0%,39%{transform:rotate(-45deg) scale(0)}42%,100%{transform:rotate(-45deg) scale(1)}}
.lp-doc.is-staff .c2 i::after{animation:lp-dchk2 5.5s cubic-bezier(.3,1.4,.5,1) infinite both}
@keyframes lp-dchk3{0%,44%{transform:rotate(-45deg) scale(0)}47%,100%{transform:rotate(-45deg) scale(1)}}
.lp-doc.is-staff .c3 i::after{animation:lp-dchk3 5.5s cubic-bezier(.3,1.4,.5,1) infinite both}
@keyframes lp-dchk4{0%,49%{transform:rotate(-45deg) scale(0)}52%,100%{transform:rotate(-45deg) scale(1)}}
.lp-doc.is-staff .c4 i::after{animation:lp-dchk4 5.5s cubic-bezier(.3,1.4,.5,1) infinite both}
@keyframes lp-dba{0%,58%{opacity:0;transform:translateY(4px)}63%,100%{opacity:1;transform:none}}
.lp-doc.is-staff .lp-doc-ba{animation:lp-dba 5.5s ease-out infinite both}

/* ---- 05 実画面のイメージ .lp-app ---- */
.lp-app{position:relative;width:100%;height:271px;background:#fff;border:1px solid var(--lp-line);border-radius:6px;overflow:hidden}
.lp-app-bar{height:28px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#F1F1EE;border-bottom:1px solid #E4E4E0}
.lp-app-bar .dots{display:flex;gap:5px}
.lp-app-bar .dots i{width:8px;height:8px;border-radius:50%;background:#D2D2CC}
.lp-app-bar .ttl{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--lp-ink-2)}
.lp-app-body{position:absolute;left:0;top:28px;right:0;bottom:0;display:flex}
.lp-app-side{width:112px;flex:none;border-right:1px solid #E4E4E0;background:#FAFAF8;padding:12px 10px}
.lp-app-side li{position:relative;height:14px;margin-bottom:11px;padding-left:15px}
.lp-app-side li::before{content:"";position:absolute;left:0;top:1px;width:10px;height:12px;border:1px solid #C4C4BE;border-radius:1px}
.lp-app-side li::after{content:"";position:absolute;left:15px;top:5px;right:0;height:5px;background:#DDDDD8;border-radius:3px}
.lp-app-side li:nth-child(2n)::after{right:14px}
.lp-app-side li:nth-child(3n)::after{right:24px}
.lp-app-main{position:relative;flex:1;padding:14px 14px}

.lp-app.is-q .lp-app-empty{position:absolute;left:50%;top:64px;width:34px;height:34px;margin-left:-17px;border:2px solid #D9D9D4;border-radius:50%}
.lp-app.is-q .lp-app-empty::after{content:"";position:absolute;right:-8px;bottom:-4px;width:13px;height:2px;background:#D9D9D4;border-radius:2px;transform:rotate(45deg)}
.lp-app-input{position:absolute;left:14px;right:14px;bottom:14px;height:38px;border:1.5px solid #D9D9D4;border-radius:6px;background:#FAFAF8;display:flex;align-items:center;padding:0 42px 0 10px}
.lp-app-input .tx{font-size:10.5px;line-height:14px;white-space:nowrap;overflow:hidden;width:0}
.lp-app-input .cur{width:1px;height:12px;background:var(--lp-ink);flex:none;opacity:0}
.lp-app-input .send{position:absolute;right:8px;top:9px;width:20px;height:20px;border-radius:4px;background:#D9D9D4}
.lp-app-input .send::after{content:"";position:absolute;left:7px;top:6px;width:0;height:0;border-left:7px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent}
@keyframes lp-qfocus{0%,14%{border-color:#D9D9D4}18%,72%{border-color:var(--lp-key)}76%,100%{border-color:#D9D9D4}}
@keyframes lp-qtype{0%,18%{width:0}56%,100%{width:100%}}
@keyframes lp-qcur{0%,16%{opacity:0}17%,60%{opacity:1}61%,100%{opacity:0}}
@keyframes lp-qsend{0%,58%{background:#D9D9D4}62%,74%{background:var(--lp-ink)}78%,100%{background:#D9D9D4}}
.lp-app.is-q .lp-app-input{animation:lp-qfocus 5.5s linear infinite}
.lp-app.is-q .lp-app-input .tx{animation:lp-qtype 5.5s steps(24,end) infinite}
.lp-app.is-q .lp-app-input .cur{animation:lp-qcur 5.5s steps(1) infinite}
.lp-app.is-q .lp-app-input .send{animation:lp-qsend 5.5s linear infinite}

.lp-app-q{font-size:10.5px;line-height:16px;padding:7px 9px;background:var(--lp-bg);border-radius:6px 6px 6px 2px;color:var(--lp-ink-2)}
.lp-app-a{position:relative;margin-top:11px}
.lp-app-a .t{display:block;height:16px;font-size:10.5px;line-height:16px;white-space:nowrap;overflow:hidden;width:0}
.lp-app-a .cur{position:absolute;left:0;bottom:2px;width:1px;height:12px;background:var(--lp-ink);opacity:0}
.lp-app-srclab{display:block;margin-top:12px;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--lp-ink-3);opacity:0}
.lp-app-src{margin-top:5px;border-top:1px dashed #D9D9D4;padding-top:6px}
.lp-app-src li{position:relative;padding-left:15px;font-size:9.5px;line-height:17px;color:var(--lp-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0}
.lp-app-src li::before{content:"";position:absolute;left:0;top:4px;width:9px;height:10px;border:1px solid var(--lp-ink-2);border-radius:1px}
.lp-app-src li::after{content:"";position:absolute;left:0;bottom:1px;width:0;height:2px;background:var(--lp-key)}
@keyframes lp-at1{0%,40%{width:0}56%,100%{width:100%}}
@keyframes lp-at2{0%,56%{width:0}70%,100%{width:100%}}
@keyframes lp-acur{0%,39%{opacity:0}40%,70%{opacity:1}71%,100%{opacity:0}}
@keyframes lp-alab{0%,72%{opacity:0}76%,100%{opacity:1}}
.lp-app.is-a .t1{animation:lp-at1 5.5s steps(22,end) infinite}
.lp-app.is-a .t2{animation:lp-at2 5.5s steps(20,end) infinite}
.lp-app.is-a .cur{animation:lp-acur 5.5s steps(1) infinite}
.lp-app.is-a .lp-app-srclab{animation:lp-alab 5.5s ease-out infinite both}

@keyframes lp-asrc1{0%,76%{opacity:0;transform:translateY(4px)}79%,100%{opacity:1;transform:none}}
@keyframes lp-asrcu1{0%,79%{width:0}82%,100%{width:100%}}
.lp-app.is-a .s1{animation:lp-asrc1 5.5s ease-out infinite both}
.lp-app.is-a .s1::after{animation:lp-asrcu1 5.5s ease-out infinite both}
@keyframes lp-asrc2{0%,80%{opacity:0;transform:translateY(4px)}83%,100%{opacity:1;transform:none}}
@keyframes lp-asrcu2{0%,83%{width:0}86%,100%{width:100%}}
.lp-app.is-a .s2{animation:lp-asrc2 5.5s ease-out infinite both}
.lp-app.is-a .s2::after{animation:lp-asrcu2 5.5s ease-out infinite both}
@keyframes lp-asrc3{0%,84%{opacity:0;transform:translateY(4px)}87%,100%{opacity:1;transform:none}}
@keyframes lp-asrcu3{0%,87%{width:0}90%,100%{width:100%}}
.lp-app.is-a .s3{animation:lp-asrc3 5.5s ease-out infinite both}
.lp-app.is-a .s3::after{animation:lp-asrcu3 5.5s ease-out infinite both}

/* ---- 06 お約束のイメージ .lp-pm ---- */
.lp-pm{position:relative;width:100%;height:129px;background:var(--lp-bg);border-radius:8px;overflow:hidden}
.lp-pm.is-1 .win{position:absolute;left:50%;top:18px;width:186px;margin-left:-93px;display:grid;grid-template-columns:repeat(5,1fr);gap:9px 10px}
.lp-pm.is-1 .win i{display:block;height:22px;border:1.5px solid #B9B9B3;border-radius:2px 3px 3px 3px;position:relative;background:#fff}
.lp-pm.is-1 .win i::before{content:"";position:absolute;left:-1.5px;top:-5px;width:12px;height:6px;border:1.5px solid #B9B9B3;border-bottom:0;border-radius:2px 2px 0 0;background:#fff}
.lp-pm.is-1 .win i.is-new{border-color:#C9B900;background:var(--lp-key);opacity:0}
.lp-pm.is-1 .win i.is-new::before{border-color:#C9B900;background:var(--lp-key)}
@keyframes lp-pmnew{0%,26%{opacity:0;transform:scale(.5)}36%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.5)}}
.lp-pm.is-1 .win i.is-new{animation:lp-pmnew 5.5s cubic-bezier(.3,1.5,.5,1) infinite both}

.lp-pm.is-2 .box{position:absolute;left:24px;right:24px;top:30px;height:34px;border:1.5px solid var(--lp-ink);border-radius:17px;background:#fff;display:flex;align-items:center;padding:0 16px}
.lp-pm.is-2 .box .tx{font-size:10px;line-height:14px;white-space:nowrap;overflow:hidden;width:0}
.lp-pm.is-2 .box .cur{width:1px;height:12px;background:var(--lp-ink);flex:none}
.lp-pm.is-2 .keys{position:absolute;left:50%;top:82px;width:118px;height:26px;margin-left:-59px;border:1.5px solid #B9B9B3;border-radius:4px;background:#fff}
.lp-pm.is-2 .keys::before{content:"";position:absolute;left:8px;top:6px;right:8px;height:4px;background:#E0E0DB;border-radius:2px;box-shadow:0 8px 0 #E0E0DB}
@keyframes lp-pmtype{0%,10%{width:0}52%,80%{width:100%}90%,100%{width:0}}
@keyframes lp-pmcur{0%,49%{opacity:1}50%,99%{opacity:.15}}
.lp-pm.is-2 .box .tx{animation:lp-pmtype 5.5s steps(15,end) infinite}
.lp-pm.is-2 .box .cur{animation:lp-pmcur 1s steps(1) infinite}

.lp-pm.is-3 .stacks{position:absolute;left:50%;top:16px;width:176px;margin-left:-88px;display:flex;align-items:center;gap:12px}
.lp-pm.is-3 .old,.lp-pm.is-3 .new{flex:1;height:46px;position:relative}
.lp-pm.is-3 .old::before,.lp-pm.is-3 .new::before,.lp-pm.is-3 .old::after,.lp-pm.is-3 .new::after{content:"";position:absolute;left:0;right:0;height:34px;border:1.5px solid #B9B9B3;border-radius:3px;background:#fff}
.lp-pm.is-3 .old::before,.lp-pm.is-3 .new::before{top:0;left:6px;right:-6px;background:#EDEDEA}
.lp-pm.is-3 .old,.lp-pm.is-3 .new{overflow:visible}
.lp-pm.is-3 .old b,.lp-pm.is-3 .new b{position:absolute;left:0;top:2px;width:16px;height:7px;border:1.5px solid #B9B9B3;border-bottom:0;border-radius:2px 2px 0 0;background:#fff;z-index:1}
.lp-pm.is-3 .new b{border-color:var(--lp-ink)}
.lp-pm.is-3 .old::after,.lp-pm.is-3 .new::after{top:8px}
.lp-pm.is-3 .new::after{border-color:var(--lp-ink)}
.lp-pm.is-3 .ar{flex:none;width:22px;height:2px;background:var(--lp-ink-3);position:relative}
.lp-pm.is-3 .ar::before,.lp-pm.is-3 .ar::after{content:"";position:absolute;top:-3px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent}
.lp-pm.is-3 .ar::before{left:0;border-right:6px solid var(--lp-ink-3)}
.lp-pm.is-3 .ar::after{right:0;border-left:6px solid var(--lp-ink-3)}
.lp-pm.is-3 .cal{position:absolute;left:50%;top:84px;width:182px;margin-left:-91px;display:grid;grid-template-columns:repeat(14,1fr);gap:2px}
.lp-pm.is-3 .cal i{display:block;height:14px;border:1px solid #C4C4BE;border-radius:1px;background:#fff}
@keyframes lp-pmcal{0%{background:#fff}100%{background:var(--lp-key)}}

@keyframes lp-pmcal1{0%,6%{background:#fff}7%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(1){animation:lp-pmcal1 5.5s linear infinite both}
@keyframes lp-pmcal2{0%,10%{background:#fff}11%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(2){animation:lp-pmcal2 5.5s linear infinite both}
@keyframes lp-pmcal3{0%,14%{background:#fff}15%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(3){animation:lp-pmcal3 5.5s linear infinite both}
@keyframes lp-pmcal4{0%,18%{background:#fff}19%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(4){animation:lp-pmcal4 5.5s linear infinite both}
@keyframes lp-pmcal5{0%,22%{background:#fff}23%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(5){animation:lp-pmcal5 5.5s linear infinite both}
@keyframes lp-pmcal6{0%,26%{background:#fff}27%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(6){animation:lp-pmcal6 5.5s linear infinite both}
@keyframes lp-pmcal7{0%,30%{background:#fff}31%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(7){animation:lp-pmcal7 5.5s linear infinite both}
@keyframes lp-pmcal8{0%,34%{background:#fff}35%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(8){animation:lp-pmcal8 5.5s linear infinite both}
@keyframes lp-pmcal9{0%,38%{background:#fff}39%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(9){animation:lp-pmcal9 5.5s linear infinite both}
@keyframes lp-pmcal10{0%,42%{background:#fff}43%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(10){animation:lp-pmcal10 5.5s linear infinite both}
@keyframes lp-pmcal11{0%,46%{background:#fff}47%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(11){animation:lp-pmcal11 5.5s linear infinite both}
@keyframes lp-pmcal12{0%,50%{background:#fff}51%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(12){animation:lp-pmcal12 5.5s linear infinite both}
@keyframes lp-pmcal13{0%,54%{background:#fff}55%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(13){animation:lp-pmcal13 5.5s linear infinite both}
@keyframes lp-pmcal14{0%,58%{background:#fff}59%,100%{background:var(--lp-key)}}
.lp-pm.is-3 .cal i:nth-child(14){animation:lp-pmcal14 5.5s linear infinite both}

/* ---- 15 権限の図に動きを足す ---- */
.lp-drive .scan{position:absolute;left:170px;top:48px;width:226px;height:0;border-radius:8px;background:linear-gradient(180deg,rgba(255,234,0,0),rgba(255,234,0,.32));pointer-events:none}
@keyframes lp-scan{0%{height:0;opacity:0}8%{opacity:1}44%{height:150px;opacity:1}56%{height:150px;opacity:0}100%{height:0;opacity:0}}
@keyframes lp-pickpulse{0%,44%{box-shadow:0 0 0 0 rgba(11,11,11,0)}52%{box-shadow:0 0 0 4px rgba(255,234,0,.5)}62%,100%{box-shadow:0 0 0 0 rgba(11,11,11,0)}}
@keyframes lp-outfade{0%,60%{opacity:.35}70%,100%{opacity:1}}
.lp-drive .scan{animation:lp-scan 5.5s ease-in-out infinite both}
.lp-drive .pick{animation:lp-pickpulse 5.5s ease-out infinite both}
.lp-drive .out{animation:lp-outfade 5.5s ease-out infinite both}

/* ---- 静止状態（reduced-motion / lp.js の .is-static） ---- */
.lp-root.is-static .lp-doc *,.lp-root.is-static .lp-app *,.lp-root.is-static .lp-pm *,.lp-root.is-static .lp-drive *,
.lp-root.is-static .lp-doc,.lp-root.is-static .lp-app,.lp-root.is-static .lp-pm{animation:none!important}
@media (prefers-reduced-motion:reduce){
  .lp-doc *,.lp-app *,.lp-pm *,.lp-drive *,.lp-doc,.lp-app,.lp-pm{animation:none!important}
}
.lp-root.is-static .lp-doc-band,.lp-root.is-static .lp-doc.is-staff .lp-doc-band{width:70%}
.lp-root.is-static .lp-doc-sub{width:44%}
.lp-root.is-static .lp-doc-tbl tr{opacity:1}
.lp-root.is-static .lp-doc-tbl .v i{width:52%}
.lp-root.is-static .lp-doc-tbl .is-mark .v::after{transform:scaleX(1)}
.lp-root.is-static .lp-doc-p{width:100%}
.lp-root.is-static .lp-doc-chk li span{width:86%}
.lp-root.is-static .lp-doc-chk li i::after{transform:rotate(-45deg) scale(1)}
.lp-root.is-static .lp-doc-ba{opacity:1}
.lp-root.is-static .lp-app-input{border-color:var(--lp-key)}
.lp-root.is-static .lp-app-input .tx,.lp-root.is-static .lp-app-a .t{width:100%}
.lp-root.is-static .lp-app-input .send{background:var(--lp-ink)}
.lp-root.is-static .lp-app-srclab,.lp-root.is-static .lp-app-src li{opacity:1}
.lp-root.is-static .lp-app-src li::after{width:100%}
.lp-root.is-static .lp-pm.is-1 .win i.is-new{opacity:1}
.lp-root.is-static .lp-pm.is-2 .box .tx{width:100%}
.lp-root.is-static .lp-pm.is-3 .cal i{background:var(--lp-key)}
.lp-root.is-static .lp-drive .scan{height:150px;opacity:0}
.lp-root.is-static .lp-drive .out{opacity:1}
@media (prefers-reduced-motion:reduce){
  .lp-doc-band{width:70%}
  .lp-doc-sub{width:44%}
  .lp-doc-tbl tr{opacity:1}
  .lp-doc-tbl .v i{width:52%}
  .lp-doc-tbl .is-mark .v::after{transform:scaleX(1)}
  .lp-doc-p{width:100%}
  .lp-doc-chk li span{width:86%}
  .lp-doc-chk li i::after{transform:rotate(-45deg) scale(1)}
  .lp-doc-ba{opacity:1}
  .lp-app-input{border-color:var(--lp-key)}
  .lp-app-input .tx,.lp-app-a .t{width:100%}
  .lp-app-input .send{background:var(--lp-ink)}
  .lp-app-srclab,.lp-app-src li{opacity:1}
  .lp-app-src li::after{width:100%}
  .lp-pm.is-1 .win i.is-new{opacity:1}
  .lp-pm.is-2 .box .tx{width:100%}
  .lp-pm.is-3 .cal i{background:var(--lp-key)}
  .lp-drive .scan{opacity:0}
  .lp-drive .out{opacity:1}
}

@media (min-width:768px) and (max-width:999px){
  .lp-root{zoom:calc(100vw / 1000px)}
}

/* ==========================================================================
   6. SP（375設計 → vw拡縮）
   ========================================================================== */
@media (max-width:767px){
  html{font-size:calc(100vw / 37.5)}
  /* padding-bottom は固定CTA帯の逃げ。ホームバー分を足さないと末尾が帯に3pxほど隠れる */
  .lp-root{font-size:1.4rem;padding-bottom:calc(7.2rem + env(safe-area-inset-bottom))}
  .lp-sp{display:inline}
  .lp-sp-only{display:block}
  .lp-pc{display:none}
  .lp-wrap{width:auto;height:auto!important;margin:0;padding:4.8rem 2rem 4.8rem}
  .lp-root img{height:auto}
  /* 絶対配置を解除して縦流し */
  .lp-wrap>*{position:static!important;width:auto!important;left:auto!important;top:auto!important;right:auto!important}

  /* --- 部品 --- */
  .lp-h2{font-size:2.4rem;line-height:3.6rem;letter-spacing:.03em}
  .lp-h2 span{padding-bottom:.8rem}
  .lp-h2 span::after{width:5.6rem;height:.4rem;margin-left:-2.8rem}
  .lp-h2:not(.is-center) span::after{left:0;margin-left:0}
  .lp-h3{font-size:1.8rem;line-height:2.8rem}
  .lp-lead{font-size:1.4rem;line-height:2.4rem;margin-top:1.6rem}
  .lp-close{font-size:1.6rem;line-height:2.7rem;margin-top:2.4rem}
  .lp-close.is-left{font-size:1.4rem;line-height:2.4rem}
  .lp-btn{width:100%;height:5.6rem;font-size:1.6rem;border-radius:.8rem;gap:1rem}
  .lp-btn::after{font-size:2.2rem}
  .lp-tag{height:2.4rem;padding:0 1rem;font-size:1.1rem}
  .lp-price{gap:.8rem;flex-wrap:wrap}
  .lp-price .lab{font-size:1.4rem}
  .lp-price .was{font-size:1.5rem}
  .lp-price .arr{font-size:1.6rem}
  .lp-price .now{font-size:1.8rem}
  .lp-price .now b{font-size:4.4rem}
  .lp-price .now::after{height:.7rem;bottom:-.3rem}
  .lp-price .tax{font-size:1.2rem}
  .lp-honest{padding:1.8rem 2rem;margin-top:2.4rem}
  .lp-honest strong{font-size:1.6rem;line-height:2.5rem}
  .lp-honest p{font-size:1.3rem;line-height:2.2rem}
  .lp-cards{flex-direction:column;gap:1.6rem;margin-top:2.8rem}
  .lp-cards.is-3 li{width:auto!important;padding:1.8rem 1.8rem 2.2rem}
  .lp-cards b{margin-top:1.6rem;font-size:1.1rem}
  .lp-cards strong{font-size:1.7rem;line-height:2.6rem;margin-top:1rem}
  .lp-cards p{font-size:1.3rem;line-height:2.2rem}
  .lp-table{font-size:1.3rem;line-height:1.9rem}
  .lp-table th,.lp-table td{padding:1rem 1.2rem}
  .lp-table td.is-strong{font-size:1.5rem}
  .lp-table tr.is-total td b{font-size:1.8rem}
  .lp-checks li{font-size:1.3rem;line-height:2.2rem;padding-left:2.2rem}
  .lp-checks li::before{width:1.2rem;height:.7rem;top:.6rem}

  .lp-s-more .lp-wrap{height:auto!important;padding:4.8rem 2rem 5.6rem}
  .lp-s-more .lp-h2,.lp-s-more .lp-lead,.lp-more,.lp-s-more .lp-close{position:static!important;width:auto!important}
  .lp-s-more .lp-lead{margin-top:2.4rem}
  .lp-more{display:flex;flex-direction:column;gap:1.6rem;margin-top:2.8rem}
  .lp-more>li{padding:2rem 1.8rem}
  .lp-more b{font-size:1.1rem;padding:.3rem 1.1rem}
  .lp-more strong{font-size:1.6rem;line-height:2.5rem;margin-top:1.2rem}
  .lp-more p{font-size:1.3rem;line-height:2.2rem;margin-top:.9rem}
  .lp-s-more .lp-close{margin-top:2.4rem}


  /* HTML/CSSモックのSP寸法 */
  .lp-doc{height:24rem}
  .lp-doc-page{left:6rem;top:1.6rem;width:20rem;height:20.8rem;padding:1.4rem 1.5rem}
  .lp-doc-band{height:2rem}
  .lp-doc-tbl td{height:1.7rem}
  .lp-doc-chk li{height:2.3rem}
  .lp-doc-ba .b,.lp-doc-ba .a{height:3.4rem;font-size:1rem}
  .lp-app{height:20rem}
  .lp-app-bar{height:2.4rem}
  .lp-app-body{top:2.4rem}
  .lp-app-side{width:8.4rem;padding:1rem .8rem}
  .lp-app-side li{height:1.2rem;margin-bottom:.9rem}
  .lp-app-main{padding:1.1rem 1.1rem}
  .lp-app-q,.lp-app-a .t,.lp-app-input .tx{font-size:1rem}
  .lp-app-a .t{height:1.5rem;line-height:1.5rem}
  .lp-app-src li{font-size:.95rem;line-height:1.6rem}
  .lp-app-input{left:1.1rem;right:1.1rem;bottom:1.1rem;height:3.2rem}
  .lp-pm{height:11rem}
  .lp-pm.is-1 .win{width:16rem;margin-left:-8rem;top:1.6rem;gap:.8rem .9rem}
  .lp-pm.is-1 .win i{height:2rem}
  .lp-pm.is-2 .box{left:2rem;right:2rem;top:2.6rem;height:3rem;border-radius:1.5rem}
  .lp-pm.is-2 .box .tx{font-size:.95rem}
  .lp-pm.is-2 .keys{top:7.2rem;width:10rem;margin-left:-5rem;height:2.3rem}
  .lp-pm.is-3 .stacks{width:15rem;margin-left:-7.5rem;top:1.4rem}
  .lp-pm.is-3 .cal{width:15.6rem;margin-left:-7.8rem;top:7.4rem}
  .lp-pm.is-3 .cal i{height:1.2rem}
  .lp-drive .scan{display:none}

  .lp-timeline{flex-direction:column;gap:2.8rem;margin-top:3.2rem;padding-left:0}
  .lp-timeline li,.lp-timeline li.is-you{width:auto!important;padding:2.4rem 1.8rem 1.8rem}
  .lp-timeline li+li::before{content:"⌄";left:50%;top:-2.6rem;transform:translateX(-50%);font-size:2.4rem}
  .lp-timeline i{left:1.8rem;top:-1.8rem;width:3.6rem;height:3.6rem;font-size:1.8rem;line-height:3.6rem}
  .lp-timeline li.is-you i{left:1.6rem;top:-2rem}
  .lp-timeline b{font-size:1.1rem;margin-left:4.4rem}
  .lp-timeline strong{font-size:1.7rem;line-height:2.6rem;margin-top:1.2rem}
  .lp-timeline span{font-size:1.3rem;line-height:2.1rem}
  .lp-timeline em{position:static;display:block;margin-top:1rem;font-size:1.1rem;text-align:left}
  .lp-timeline em.gap{position:absolute;left:auto;right:1.6rem;top:-1.2rem;transform:none;width:auto;margin:0;padding:.2rem .8rem;background:var(--lp-bg);border-radius:.4rem;font-size:1.1rem}
  .lp-timeline em.gap::before{display:none}
  .lp-acc{gap:1rem;margin-top:2.8rem}
  .lp-acc summary{min-height:5.6rem;padding:1.2rem 1.8rem 1.2rem 5.2rem;font-size:1.4rem;line-height:2.1rem}
  .lp-acc summary::before{left:1.6rem;width:2.4rem;height:2.4rem;font-size:1.2rem;line-height:2.4rem}
  .lp-acc summary::after{font-size:2.2rem}
  .lp-acc details p{padding:0 1.8rem 1.8rem 5.2rem;font-size:1.3rem;line-height:2.2rem}
  .lp-acc details p::before{left:1.6rem;width:2.4rem;height:2.4rem;font-size:1.2rem;line-height:2.1rem}

  /* --- ヘッダー --- */
  .lp-hd{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:5.6rem;padding:0 1.6rem;z-index:20;background:rgba(255,255,255,.96)}
  .lp-hd .lp-logo{position:static;display:block}
  .lp-hd .lp-logo img{height:2.8rem}
  .lp-hd .lp-btn.is-small{display:none}
  .lp-hd .lp-nav{display:none;position:absolute;top:5.6rem;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--lp-line);padding:.8rem 2rem 1.2rem;font-size:1.4rem;box-shadow:0 .8rem 2.4rem rgba(0,0,0,.08)}
  .lp-hd .lp-nav a{padding:1.2rem 0;border-bottom:1px solid var(--lp-line)}
  .lp-hd .lp-nav a:last-child{border-bottom:0}
  .lp-hd.is-open .lp-nav{display:flex}
  .lp-hd .lp-menu{display:block;position:absolute;right:1.6rem;top:1.2rem;width:3.2rem;height:3.2rem}
  .lp-hd .lp-menu::before,.lp-hd .lp-menu::after,.lp-hd .lp-menu i{left:.2rem;right:.2rem;height:.2rem}
  .lp-hd .lp-menu::before{top:.7rem}
  .lp-hd .lp-menu i{top:1.5rem}
  .lp-hd .lp-menu::after{top:2.3rem}

  /* --- FV（順: ラベル→見出し→サブ→価格→CTA→モニター） --- */
  .lp-s-fv .lp-wrap{padding-top:7.6rem;display:flex;flex-direction:column}
  .lp-s-fv .lp-fv-labels{display:flex;gap:.6rem;flex-wrap:wrap}
  .lp-s-fv .lp-fv-private{margin-top:.8rem;font-size:1.1rem;line-height:1.7rem}
  .lp-s-fv h1{margin-top:1.6rem;font-size:3.6rem;line-height:5rem}
  .lp-s-fv .lp-fv-sub{margin-top:1.6rem;font-size:1.4rem;line-height:2.4rem}
  .lp-s-fv .lp-price{margin-top:2.2rem}
  .lp-s-fv .lp-fv-meta{margin-top:1.4rem;font-size:1.2rem;line-height:2rem}
  .lp-s-fv .lp-fv-cta{margin-top:1.8rem}
  .lp-s-fv .lp-fv-under{margin-top:1rem;font-size:1.1rem;line-height:1.7rem;text-align:center}
  .lp-s-fv .lp-monitor{position:relative!important;width:440px!important;height:460px;margin:2.4rem auto 0;zoom:calc((100vw - 4rem) / 440px)}
  .lp-mon-body,.lp-mon-stand{position:absolute;left:0}
  .lp-files{position:absolute;left:-30px;top:60px}
  .lp-cond,.lp-drive{position:relative!important}

  /* --- 02 --- */
  .lp-s-pain .lp-tiles{display:flex;flex-direction:column;gap:1.2rem;margin-top:2.8rem}
  .lp-s-pain .lp-tiles li{padding:1.6rem 1.8rem;min-height:0;gap:1.2rem}
  .lp-s-pain .lp-tiles b{font-size:1.8rem;padding-top:.3rem}
  .lp-s-pain .lp-tiles p{font-size:1.4rem;line-height:2.3rem}

  /* --- 03 --- */
  .lp-s-numbers .lp-nums{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.4rem}
  .lp-s-numbers .lp-nums li{position:static!important;width:auto!important;height:auto;padding:1.6rem .8rem 1.4rem}
  .lp-s-numbers .lp-nums .n5{grid-column:1/-1}
  .lp-s-numbers .num{font-size:1.6rem}
  .lp-s-numbers .num b{font-size:4.4rem}
  .lp-s-numbers strong{font-size:1.3rem;line-height:2rem;margin-top:.6rem}
  .lp-s-numbers small{font-size:1.1rem;line-height:1.6rem}

  /* --- 04 --- */
  .lp-s-report .lp-report-imgs{display:flex;flex-direction:column;gap:2rem;margin-top:2.4rem}
  .lp-s-report .lp-report-imgs li{width:auto}
  .lp-s-report figcaption{font-size:1.3rem;line-height:2rem}
  .lp-s-report .lp-notes{display:flex;flex-direction:column;gap:.8rem;margin-top:2rem}
  .lp-s-report .lp-notes li{font-size:1.2rem;line-height:2rem;padding-left:1.4rem}
  .lp-s-report .lp-notes li::before{top:.7rem}

  /* --- 05 --- */
  .lp-ba{display:flex;flex-direction:column;gap:3.2rem;margin-top:3.2rem}
  .lp-ba-col{width:auto!important;padding:3.6rem 1.6rem 1.6rem}
  .lp-ba-lab{left:1.6rem;top:-1.4rem;height:2.8rem;line-height:2.8rem;font-size:1.2rem}
  .lp-ba-arrow{width:auto;height:0}
  .lp-ba-arrow::before{border-left:1.6rem solid transparent;border-right:1.6rem solid transparent;border-top:2rem solid var(--lp-ink);border-bottom:0;position:relative;top:-1rem}
  .lp-ba-flow{flex-direction:column;gap:1.6rem}
  .lp-ba-flow li{min-height:0;padding:1.2rem 1.4rem;font-size:1.4rem;line-height:2.1rem}
  .lp-ba-flow li small{font-size:1.1rem;line-height:1.6rem}
  .lp-ba-flow li+li::before,.lp-ba-flow.is-5 li+li::before{content:"⌄";left:50%;top:-1.6rem;transform:translateX(-50%);font-size:1.8rem}
  .lp-s-how .lp-h3{margin-top:3.2rem}
  .lp-screens{display:flex;flex-direction:column;gap:1.6rem;margin-top:1.6rem}
  .lp-screens li{width:auto}
  .lp-screens figcaption{font-size:1.2rem;line-height:1.9rem}
  .lp-screens-note{margin-top:1.6rem;font-size:1.4rem;line-height:2.4rem}
  .lp-bubbles{display:flex;flex-direction:column;gap:1.6rem;margin-top:2.4rem}
  .lp-bubbles>li{width:auto}
  .lp-bubbles li{padding:1.2rem 1.6rem}
  .lp-bubbles b{font-size:1.1rem}
  .lp-bubbles span{font-size:1.3rem;line-height:2.1rem}
  .lp-glossary{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem;margin-top:2.8rem;padding-top:1.4rem}
  .lp-glossary .ttl{font-size:1.1rem}
  .lp-glossary div dt{font-size:1.3rem}
  .lp-glossary div dd{font-size:1.1rem;line-height:1.7rem}

  /* --- 07 --- */
  .lp-fit-cols{display:flex;flex-direction:column;gap:3rem;margin-top:3.2rem}
  .lp-fit-col{padding:3.2rem 1.8rem 1.8rem}
  .lp-fit-lab{left:1.8rem;top:-1.4rem;height:2.8rem;line-height:2.8rem;font-size:1.2rem}
  .lp-fit-col li{font-size:1.3rem;line-height:2.1rem;padding:.9rem 0 .9rem 3rem}
  .lp-fit-col li::before{width:2rem;height:2rem;font-size:1.1rem;line-height:2rem;top:.9rem}

  /* --- 08 --- */
  .lp-flow{display:flex;flex-direction:column;gap:2.4rem;margin-top:2.8rem}
  .lp-flow li{height:auto;padding:1.4rem 1.6rem}
  .lp-flow li.is-gate{padding:1rem;font-size:1.2rem}
  .lp-flow li.is-gate span br{display:none}
  .lp-flow li+li::before{content:"↓";left:50%;top:-2.2rem;transform:translateX(-50%);font-size:1.8rem}
  .lp-flow .nm{font-size:1.3rem}
  .lp-flow .pr{font-size:1.4rem}
  .lp-flow .pr b{font-size:2.8rem}
  .lp-flow small{font-size:1.1rem}
  .lp-products{display:flex;flex-direction:column;gap:3rem;margin-top:3.6rem}
  .lp-products>li,.lp-products>li.is-main{padding:2.4rem 1.8rem 2.2rem}
  .lp-pnum{width:3.6rem;height:3.6rem;line-height:3.6rem;font-size:1.6rem}
  .lp-products strong{font-size:2rem;margin-left:1rem}
  .lp-products .cap{font-size:1.2rem}
  .lp-ptag{right:1.6rem;top:-1.4rem;height:2.8rem;line-height:2.8rem;font-size:1.1rem}
  .lp-products dl{margin-top:1.6rem}
  .lp-products dt{font-size:1.1rem;margin-top:1.2rem}
  .lp-products dd{font-size:1.3rem;line-height:2.2rem}
  .lp-pnote{font-size:1.2rem;line-height:2rem;margin-top:1.4rem}
  .lp-products .lp-price{position:static!important;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--lp-line)}
  .lp-products .lp-price .now b{font-size:3.8rem}

  /* --- 09（表は横スクロール。列を落とさない） --- */
  .lp-s-compare .lp-scroll{margin-top:2.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .lp-s-compare .lp-table{width:76rem;min-width:76rem}
  .lp-table.is-compare th,.lp-table.is-compare td{padding:1rem 1rem;font-size:1.2rem;line-height:1.8rem}
  .lp-table.is-compare thead th:first-child{width:12rem}
  .lp-scroll-hint{text-align:center;font-size:1.1rem;color:var(--lp-ink-3);margin-top:.8rem}
  .lp-table.is-compare td small{font-size:1rem;line-height:1.5rem}
  .lp-compare-note{margin-top:1.6rem;font-size:1.1rem;line-height:1.7rem;color:var(--lp-ink-3)}

  /* --- 10 --- */
  .lp-table.is-cost{margin-top:2.8rem}
  .lp-table.is-cost th,.lp-table.is-cost td{padding:.9rem .8rem;font-size:1.2rem;line-height:1.8rem}
  .lp-table.is-cost thead th:first-child{width:auto}
  .lp-table.is-cost thead th:nth-child(4),.lp-table.is-cost tbody td:nth-child(4){display:none}
  .lp-table.is-cost tr.is-total td{display:table-cell}
  .lp-ws{height:auto;padding:2rem 1.8rem;margin-top:2.4rem}
  .lp-ws strong{font-size:1.4rem;line-height:2.3rem}
  .lp-ws p{font-size:1.2rem;line-height:2rem}
  .lp-tri{height:9.6rem;margin-top:1.8rem}
  .lp-tri .n{width:9rem;height:4rem;line-height:4rem;font-size:1.3rem}
  .lp-tri .ln{left:10rem;right:10rem;top:1.9rem}
  .lp-tri .ln i{font-size:1rem;top:-2rem}
  .lp-tri .n.c{top:5.6rem;width:15rem;margin-left:-7.5rem;font-size:1.2rem;line-height:1.6rem;padding-top:.4rem}
  .lp-tri .n.c small{font-size:.9rem;line-height:1.2rem}

  /* --- 11 --- */
  .lp-early-body{margin-top:2rem;font-size:1.4rem;line-height:2.5rem}
  .lp-cond{margin-top:4rem;padding:2.4rem 1.8rem 1.8rem}
  .lp-cond .lp-left{right:1.6rem;top:-2.2rem;height:4.4rem;padding:0 1.4rem}
  .lp-cond .lp-left small{font-size:1.1rem}
  .lp-cond .lp-left b{font-size:2.4rem;line-height:4.4rem}
  .lp-cond .lp-left span{font-size:1.2rem}
  .lp-cond dl{grid-template-columns:6.4rem 1fr;gap:.8rem 1rem}
  .lp-cond dt{font-size:1.2rem}
  .lp-cond dd{font-size:1.3rem;line-height:2.1rem}

  /* ---- 絵柄（B案）SP ---- */
  .lp-pain-art{width:100%!important;height:auto!important;margin:2rem 0 0}
  .lp-more-ic{height:8rem!important;margin-bottom:1.2rem}
  .lp-early-art{width:100%!important;height:22rem!important;margin:2rem 0 0}
  .lp-keep-art{width:100%!important;height:22rem!important;margin:2rem 0 0}


  /* --- 12 --- */
        
  /* --- 05b / 09b / 13a（新設3本） --- */
  .lp-src{margin-top:2rem;font-size:1.1rem;line-height:1.9rem}

  /* --- 13 --- */
  .lp-xlist{display:flex;flex-direction:column;gap:1rem;margin-top:2.8rem}
  .lp-xlist li{padding:1.4rem 1.6rem 1.4rem 5.6rem;font-size:1.4rem;line-height:2.2rem}
  .lp-xlist li::before{left:1.6rem;width:2.6rem;height:2.6rem;line-height:2.6rem;font-size:1.6rem}
  .lp-not-body{margin-top:2.4rem;font-size:1.3rem;line-height:2.4rem}

  /* --- 14 --- */
  .lp-time{display:block;margin-top:2.8rem;padding:1.8rem 1.6rem}
  .lp-time strong{font-size:1.4rem}
  .lp-time table{margin-top:1rem;font-size:1.3rem}
  .lp-time th,.lp-time td{padding:.6rem 0;line-height:2rem}
  .lp-time td small{font-size:1rem}
  .lp-time tr.is-total th,.lp-time tr.is-total td{font-size:1.4rem}
  .lp-time p{margin-top:1.2rem;font-size:1.3rem;line-height:2.1rem}

  /* --- 15 --- */
  .lp-perm-list{margin-top:2.4rem}
  .lp-perm-list li{padding:0 0 1.6rem 5.4rem;min-height:0}
  .lp-perm-list li+li{padding-top:1.6rem}
  .lp-perm-list .ic{width:4rem;height:4rem}
  .lp-perm-list li+li .ic{top:1.6rem}
  .lp-perm-list strong{font-size:1.5rem;line-height:2.3rem}
  .lp-perm-list p{font-size:1.3rem;line-height:2.1rem}
  .lp-drive{height:auto;margin-top:2rem;padding:1.8rem 1.6rem 6.4rem;font-size:1.2rem}
  .lp-drive .ttl{font-size:1.1rem}
  .lp-drive .tree{position:static;width:auto;display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem}
  .lp-drive .tree li{height:2.4rem;line-height:2.4rem;padding-left:2rem}
  .lp-drive .tree li::before{top:.6rem;width:1.3rem;height:1rem}
  .lp-drive .pick{position:static;width:auto;margin-top:1.6rem;padding:1.2rem 1.4rem}
  .lp-drive .pick::before,.lp-drive .pick::after{display:none}
  .lp-drive .pick .lab{font-size:1.1rem}
  .lp-drive .pick ul{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
  .lp-drive .pick li{height:2.8rem;line-height:2.8rem;padding-left:2rem;font-size:1.2rem}
  .lp-drive .pick li::before{top:.8rem;width:1.3rem;height:1rem}
  .lp-drive .out{left:1.6rem;right:1.6rem;bottom:1.6rem;font-size:1.1rem;padding-top:1rem}

  /* --- 16 --- */
  .lp-s-faq .lp-wrap{padding:4.8rem 2rem 6.4rem}

  /* --- 17 --- */
  .lp-s-final .lp-wrap{display:block;padding:4.8rem 2rem 5.6rem}
  .lp-final-body{margin-top:1.6rem;font-size:1.4rem;line-height:2.5rem}
  .lp-ways{display:flex;flex-direction:column;gap:0;margin-top:2.4rem}
  .lp-way{padding:1.8rem 1.8rem 1.8rem 6.6rem}
  .lp-way-lab{left:1.8rem;top:1.8rem;width:3.4rem;height:3.4rem;line-height:3.4rem;font-size:1.6rem}
  .lp-way strong{font-size:1.5rem;line-height:2.3rem}
  .lp-way p{font-size:1.2rem;line-height:2rem}
  .lp-way-flow{margin-left:-4.8rem;gap:1.4rem;flex-wrap:wrap}
  .lp-way-flow li{font-size:1.1rem}
  .lp-way-or{width:auto;height:4rem;writing-mode:horizontal-tb;font-size:1.2rem}
  .lp-final-price{margin-top:2.4rem;padding:2.4rem 1.6rem 2rem}
  .lp-final-price .lab{font-size:1.3rem}
  .lp-final-price .was{font-size:1.8rem}
  .lp-final-price .now{font-size:2.6rem}
  .lp-final-price .now b{font-size:8rem}
  .lp-final-price .tax{font-size:1.2rem}
  .lp-final-price .term{font-size:1.3rem;padding:.5rem 1.4rem;margin-top:1.4rem}
  .lp-referrer{margin-top:2rem;padding:1.8rem}
  .lp-referrer strong{font-size:1.3rem}
  .lp-referrer p{font-size:1.2rem;line-height:2rem}

  /* --- 18 --- */
  .lp-ft .lp-wrap{padding:3.2rem 2rem 3.2rem}
  .lp-ft .lp-ft-top{flex-direction:column;gap:1.6rem}
  .lp-ft .lp-logo img{height:6rem}
  .lp-ft .lp-ft-co{font-size:1.2rem;line-height:2rem}
  .lp-ft .lp-ft-co b{font-size:1.4rem}
  .lp-ft .lp-ft-links{gap:.8rem}
  .lp-ft .lp-ft-note{margin-top:2rem;font-size:1.1rem;line-height:1.8rem}
  .lp-ft small{font-size:1rem}

  /* --- SP固定CTA帯 --- */
  .lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:1rem 1.6rem calc(1rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--lp-line)}
  .lp-sticky .lp-btn{height:5.2rem;font-size:1.5rem}

  /* 出現制御（2026-09-05 v1.4）: is-ctl は JS が付ける。
     JSが動かない環境では is-ctl が付かないので、従来どおり最初から出しっぱなしになる。 */
  .lp-sticky.is-ctl{transform:translateY(110%);opacity:0;visibility:hidden;transition:transform .28s ease,opacity .28s ease,visibility 0s linear .28s}
  .lp-sticky.is-ctl.is-on{transform:none;opacity:1;visibility:visible;transition:transform .28s ease,opacity .28s ease,visibility 0s}
}

@media (prefers-reduced-motion:reduce){
  .lp-sticky.is-ctl,.lp-sticky.is-ctl.is-on{transition:none}
}

/* ==========================================================================
   19. 縮小指定のフォールバック（2026-09-04 実機対応）
   zoom:calc(長さ÷長さ) は Chromium は解釈するが標準の書き方ではない。
   解釈しない環境では zoom が 1 のままになり、1000px設計／440pxモニターが横にはみ出す。
   先に素の数値で段階的に当てておき、解釈できる環境だけ最後の calc でぴったり合わせる。
   （無効な宣言はパース時に捨てられるので、上の数値がそのまま残る）
   ========================================================================== */

/* --- タブレット幅: 1000px設計を縮める --- */
@media (min-width:768px) and (max-width:999px){ .lp-root{zoom:.76} }
@media (min-width:800px) and (max-width:999px){ .lp-root{zoom:.79} }
@media (min-width:850px) and (max-width:999px){ .lp-root{zoom:.84} }
@media (min-width:900px) and (max-width:999px){ .lp-root{zoom:.89} }
@media (min-width:950px) and (max-width:999px){ .lp-root{zoom:.94} }
@media (min-width:768px) and (max-width:999px){ .lp-root{zoom:calc(100vw / 1000px)} }

/* --- SP: FVモニター（440px）を画面幅に収める --- */
@media (max-width:767px){ .lp-s-fv .lp-monitor{zoom:.70} }
@media (max-width:359px){ .lp-s-fv .lp-monitor{zoom:.62} }
@media (min-width:375px) and (max-width:767px){ .lp-s-fv .lp-monitor{zoom:.74} }
@media (min-width:400px) and (max-width:767px){ .lp-s-fv .lp-monitor{zoom:.80} }
@media (min-width:430px) and (max-width:767px){ .lp-s-fv .lp-monitor{zoom:.86} }
@media (max-width:767px){ .lp-s-fv .lp-monitor{zoom:calc((100vw - 4rem) / 440px)} }
