/* CRAFT Apps — テンプレ市場と同じロゴ・紫。こちらは濃紺のヒーロー＋ミントの差し色で見た目を分ける */
:root{--ink:#11131c;--ink2:#1b1e2b;--text:#1d2030;--muted:#5d6275;--line:#e4e5ec;--bg:#fff;--soft:#f5f5fa;--purple:#6728e8;--purple2:#8b5cf6;--mint:#19c39a;--r:16px;--wrap:1180px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans","Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.8;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.4;margin:0;font-weight:800;letter-spacing:.01em}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:8px 12px}
.sp{display:none}
.eyebrow{font-family:"DM Sans",sans-serif;font-size:13px;font-weight:700;color:var(--purple);letter-spacing:.06em;margin-bottom:10px}
.eyebrow.light{color:#a99bff}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd-in{max-width:var(--wrap);margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo{position:relative;display:block;width:147px;height:38px;overflow:hidden}
.logo img{position:absolute;width:173px;left:-16px;top:-23px;max-width:none}
.brand-ja{display:flex;flex-direction:column;font-weight:800;font-size:19px;line-height:1.1;color:var(--ink);border-left:1px solid var(--line);padding-left:10px}
.brand-ja small{font-size:11px;font-weight:500;color:var(--muted);margin-top:3px}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:14.5px;font-weight:500}
.nav a{text-decoration:none;color:var(--text)}
.nav a:hover,.nav a[aria-current]{color:var(--purple)}
.nav-tm{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.nav-btn{display:none;margin-left:auto;background:none;border:0;padding:8px;color:var(--ink);cursor:pointer}

/* ボタン */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--purple);color:#fff;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:999px;border:1px solid var(--purple);transition:.15s}
.btn:hover{background:#5520c8}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.disabled{background:#d9dae3;border-color:#d9dae3;color:#6b6f80;cursor:not-allowed;width:100%}
.tlink{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--purple);text-decoration:none;white-space:nowrap}
.dark .tlink{color:#c4b8ff}

/* ヒーロー */
.hero{background:radial-gradient(900px 480px at 85% 10%,rgba(103,40,232,.35),transparent 60%),radial-gradient(600px 400px at 0% 100%,rgba(25,195,154,.16),transparent 60%),var(--ink);color:#fff;padding:72px 0 88px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:48px;align-items:center}
.hero-tag{display:inline-block;font-size:13px;font-weight:700;color:var(--mint);border:1px solid rgba(25,195,154,.45);border-radius:999px;padding:3px 12px;margin-bottom:18px}
.hero h1{font-size:clamp(32px,4.6vw,52px);line-height:1.3}
.hero h1 span{background:linear-gradient(90deg,#b9a6ff,#5fe0bf);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin-top:22px;color:#c9cbd8;font-size:16.5px}
.hero-act{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:13px;color:#9a9db0}
.hero-show{position:relative;padding-bottom:40px}
.hero-show>.mock{transform:rotate(-1deg)}
.hero-float{position:absolute;right:-14px;bottom:-6px;width:58%}
.hero-float .mock{box-shadow:0 30px 60px rgba(0,0,0,.45)}

.strip{background:var(--ink2);color:#d7d9e5;font-size:14px}
.strip .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.strip span{display:inline-flex;align-items:center;gap:8px}
.strip svg{color:var(--mint)}

/* セクション */
.sec{padding:88px 0}
.sec.soft{background:var(--soft)}
.sec.dark{background:var(--ink);color:#fff}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.sec-h h2{font-size:clamp(26px,3.2vw,36px)}
.sec-h p{color:var(--muted);margin-top:12px;max-width:620px}
.sec-side{color:#b8bbcb!important;max-width:440px!important}

/* アプリカード */
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.acard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.acard:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(17,19,28,.08)}
.acard-img{display:block;background:linear-gradient(160deg,color-mix(in srgb,var(--app) 14%,#fff),color-mix(in srgb,var(--app) 4%,#fff));padding:22px 20px 0;height:230px;overflow:hidden;text-decoration:none}
.acard-img .mock{font-size:8.5px;box-shadow:0 10px 30px rgba(17,19,28,.12)}
.acard-img .mock-phones{transform:scale(.82);transform-origin:top center}
.acard-info{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.acard-k{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--app);font-weight:700}
.soon{font-style:normal;font-size:12px;font-weight:700;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:1px 10px}
.acard-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px}
.acard-t a{text-decoration:none}
.acard-t h3{font-size:19px}
.acard-t p{font-weight:700;white-space:nowrap}
.acard-t small{font-size:11px;color:var(--muted);font-weight:500;margin-left:2px}
.acard-c{color:var(--muted);font-size:14.5px;margin-top:8px;flex:1}
.more{display:inline-flex;align-items:center;gap:4px;margin-top:14px;font-weight:700;font-size:14px;color:var(--purple);text-decoration:none}

/* なぜ */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why>div{background:var(--ink2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:26px}
.why span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(103,40,232,.25);color:#c4b8ff;margin-bottom:16px}
.why h3{font-size:17px}
.why p{color:#b8bbcb;font-size:14.5px;margin-top:8px}

/* ステップ */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.steps li{border-top:3px solid var(--purple);padding-top:22px}
.steps span{font-family:"DM Sans";font-weight:700;font-size:40px;color:var(--purple);line-height:1}
.steps h3{font-size:19px;margin-top:12px}
.steps p{color:var(--muted);margin-top:8px;font-size:15px}

/* プラン */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px}
.plan.rec{border:2px solid var(--purple);box-shadow:0 20px 50px rgba(103,40,232,.12)}
.badge{position:absolute;top:-13px;left:28px;font-style:normal;background:var(--purple);color:#fff;font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 14px}
.plan-tag{font-size:13px;font-weight:700;color:#0e9c79}
.plan h3{font-size:21px;margin-top:4px}
.plan>p{color:var(--muted);font-size:14.5px;margin-top:8px;min-height:3.4em}
.price{display:block;font-family:"DM Sans";font-size:40px;font-weight:700;margin-top:18px;line-height:1.2}
.price small{font-family:"Noto Sans JP";font-size:13px;font-weight:500;color:var(--muted);margin-left:6px}
.per{font-size:13px;color:var(--muted);margin-top:4px}
.plan ul{list-style:none;padding:20px 0 0;margin:20px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:14.5px}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li svg{flex-shrink:0;margin-top:5px;color:var(--purple)}

/* FAQ */
.faq-lay{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px}
.faq-lay h2{font-size:clamp(26px,3.2vw,36px)}
.faq-lay>div>p{color:var(--muted);margin:12px 0 20px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 4px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary b{color:var(--purple);margin-right:10px;font-family:"DM Sans"}
.faq summary svg{flex-shrink:0;margin-top:5px;transition:.2s;color:var(--muted)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 4px 22px 32px;color:var(--muted)}

/* CTA */
.cta{margin:0 0 88px;background:linear-gradient(120deg,var(--ink),#2a1a5c);color:#fff;border-radius:24px;padding:48px 52px;display:flex;justify-content:space-between;align-items:center;gap:32px}
.cta h2{font-size:clamp(22px,2.6vw,30px)}
.cta p{color:#c9cbd8;margin-top:10px;max-width:620px}
.cta .btn{flex-shrink:0}

/* 下層ページ */
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);padding-top:18px;padding-bottom:18px}
.crumb a{text-decoration:none}
.ph{background:var(--soft);padding:56px 0}
.ph h1{font-size:clamp(28px,3.6vw,40px)}
.ph .wrap>p:last-child{color:var(--muted);margin-top:14px;max-width:720px}
.note{font-size:14px;color:var(--muted);background:var(--soft);border-radius:10px;padding:12px 16px;margin-bottom:28px}
.small{font-size:13px;color:var(--muted);margin-top:14px}

.detail{background:linear-gradient(180deg,color-mix(in srgb,var(--app) 8%,#fff),#fff);padding:40px 0 72px}
.detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.detail .eyebrow{color:var(--app)}
.detail h1{font-size:clamp(30px,4vw,44px)}
.catch{font-size:19px;font-weight:700;margin:14px 0 12px}
.detail-copy>p{color:var(--muted)}
.meta{margin:24px 0 0;display:grid;gap:12px}
.meta div{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:14.5px;border-top:1px solid var(--line);padding-top:12px}
.meta dt{font-weight:700}
.meta dd{margin:0;color:var(--muted)}
.buy{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.buy-price{font-family:"DM Sans";font-size:32px;font-weight:700;margin-bottom:14px}
.buy-price small{font-family:"Noto Sans JP";font-size:13px;color:var(--muted);font-weight:500;margin-left:6px}
.buy-note{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}
.detail-mock{position:sticky;top:96px}
.detail-mock .mock{font-size:11px;box-shadow:0 24px 60px rgba(17,19,28,.14)}

.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feats>div{border:1px solid var(--line);border-radius:var(--r);padding:24px}
.feats span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--purple) 12%,#fff);color:var(--purple);margin-bottom:12px}
.feats h3{font-size:17px}
.feats p{color:var(--muted);font-size:14.5px;margin-top:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.two h2{font-size:26px;margin-bottom:18px}
.lst{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.lst li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:flex;gap:10px;align-items:flex-start}
.lst.req svg{flex-shrink:0;margin-top:5px;color:var(--purple)}
.lst a{color:var(--purple)}

.prose{max-width:820px;margin-top:64px}
.narrow.prose,.sec>.wrap.prose{margin-top:0}
.prose h2{font-size:24px;margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{margin-top:12px;color:#3b3f50}
.flow{padding:0;margin:0;list-style:none;display:grid;gap:12px;counter-reset:f}
.flow li{counter-increment:f;position:relative;padding:16px 18px 16px 58px;background:var(--soft);border-radius:12px;color:var(--muted);font-size:15px}
.flow li::before{content:counter(f);position:absolute;left:18px;top:16px;width:26px;height:26px;border-radius:50%;background:var(--purple);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center}
.flow b{display:block;color:var(--text)}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cmp>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.cmp h3{font-size:19px;margin-bottom:12px}
.cmp ul{margin:0;padding-left:1.2em;color:var(--muted)}
.cmp-craft{border:2px solid var(--purple)!important}
.cmp-craft h3{color:var(--purple)}
.nf{text-align:center;padding:40px 0}
.nf h1{font-size:30px}.nf p{color:var(--muted);margin:14px 0 26px}

/* フッター */
.ft{background:var(--ink);color:#b8bbcb;font-size:14px;padding:64px 0 28px}
.ft-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.ft-top p{margin-top:14px}
.brand-ft .logo{background:#fff;border-radius:8px}
.brand-ft .brand-ja{color:#fff;border-color:rgba(255,255,255,.2)}
.brand-ft .brand-ja small{color:#9a9db0}
.ft-links{display:flex;gap:64px}
.ft-links div{display:flex;flex-direction:column;gap:8px}
.ft-links strong{color:#fff;font-family:"DM Sans";font-size:13px;margin-bottom:4px}
.ft a{text-decoration:none}.ft a:hover{color:#fff}
.ft-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;font-size:12.5px}
.ft-bottom div{display:flex;gap:18px;flex-wrap:wrap}

/* ---------- 画面モック ---------- */
.mock{--app:#6728e8;background:#fff;border-radius:12px;overflow:hidden;color:#1d2030;font-size:10px;line-height:1.5;box-shadow:0 30px 70px rgba(0,0,0,.35);text-align:left}
.mock-bar{display:flex;align-items:center;gap:5px;background:#eef0f5;padding:7px 10px}
.mock-bar i{width:8px;height:8px;border-radius:50%;background:#d0d3dd}
.mock-bar span{margin-left:10px;background:#fff;border-radius:5px;padding:1px 10px;color:#8a8ea0;font-size:.9em}
.mock-body{display:grid;grid-template-columns:24% 1fr;min-height:23em}
.mock-side{background:color-mix(in srgb,var(--app) 7%,#fff);border-right:1px solid #eceef3;padding:1.2em .9em}
.mock-side b{display:block;font-size:1.05em;color:var(--app);margin-bottom:1em;line-height:1.3}
.mock-side ul{list-style:none;margin:0;padding:0;display:grid;gap:.3em}
.mock-side li{padding:.35em .6em;border-radius:6px;color:#6b6f80}
.mock-side li.on{background:var(--app);color:#fff}
.mock-main{padding:1.2em}
.mock-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}
.mock-h b{font-size:1.25em}
.pill{background:var(--app);color:#fff;border-radius:999px;padding:.25em .9em;font-size:.9em;white-space:nowrap}
.lanes{display:grid;grid-template-columns:repeat(4,1fr);gap:.6em}
.lane{background:#f4f5f9;border-radius:8px;padding:.6em}
.lane p{font-weight:700;display:flex;justify-content:space-between;margin-bottom:.5em}
.lane em{font-style:normal;color:var(--app)}
.lane .card{background:#fff;border-radius:6px;padding:.5em .6em;margin-bottom:.5em;border-left:3px solid var(--app)}
.lane .card b{display:block;font-size:1em}
.lane .card span{color:#8a8ea0;font-size:.85em}
.cal{width:100%;border-collapse:collapse;table-layout:fixed}
.cal th{font-weight:500;color:#8a8ea0;padding:.3em;font-size:.9em}
.cal td{border:1px solid #eceef3;height:2.6em;padding:.2em}
.cal td span{display:block;height:100%;background:color-mix(in srgb,var(--app) 16%,#fff);border-left:3px solid var(--app);border-radius:4px;padding:.15em .4em;font-weight:700;color:color-mix(in srgb,var(--app) 80%,#000)}
.posts,.items{display:grid;grid-template-columns:repeat(2,1fr);gap:.8em}
.items{grid-template-columns:repeat(3,1fr)}
.post,.item{border:1px solid #eceef3;border-radius:8px;overflow:hidden;padding-bottom:.6em}
.thumb{height:4.6em;background:linear-gradient(135deg,color-mix(in srgb,var(--app) 70%,#fff),color-mix(in srgb,var(--app) 25%,#fff));display:flex;align-items:flex-end;padding:.4em}
.thumb span{background:rgba(0,0,0,.35);color:#fff;border-radius:4px;padding:0 .5em;font-size:.85em;font-weight:700}
.post b,.item b{display:block;padding:.5em .7em 0;font-size:.95em;line-height:1.4}
.post small,.item small{display:block;padding:0 .7em;color:var(--app);font-weight:700}
.search{border:1px solid #dfe1e8;border-radius:999px;padding:.6em 1.2em;color:#8a8ea0;margin-bottom:.8em}
.chips{display:flex;gap:.4em;flex-wrap:wrap;margin-bottom:.9em}
.chip{border:1px solid #dfe1e8;border-radius:999px;padding:.15em .8em;color:#6b6f80}
.chip.on{background:var(--app);border-color:var(--app);color:#fff}
.ents{display:grid;gap:.6em}
.ent{display:grid;grid-template-columns:5em 1fr;gap:.8em;border:1px solid #eceef3;border-radius:8px;padding:.5em}
.ent .thumb{height:3.8em;border-radius:6px}
.ent small{color:#8a8ea0;display:block}
.ent b{display:block}
.ent span{color:#e8a20c;font-size:.9em}
/* スマホ型（会員証） */
.mock-phones{background:transparent;box-shadow:none!important;display:flex;justify-content:center;gap:1.6em;padding:.4em 0}
.phone{width:15em;background:#11131c;border-radius:2.2em;padding:.6em;box-shadow:0 24px 50px rgba(0,0,0,.3)}
.phone-in{background:#fff;border-radius:1.7em;padding:1.6em 1.1em 1.4em;min-height:27em;display:flex;flex-direction:column;align-items:center;text-align:center}
.ph-shop{font-weight:800;font-size:1.15em;margin-bottom:1em}
.mcard{width:100%;background:linear-gradient(135deg,var(--app),color-mix(in srgb,var(--app) 55%,#000));color:#fff;border-radius:.9em;padding:1em;text-align:left}
.mcard span{font-size:.8em;opacity:.85;display:block}
.mcard b{font-size:1.6em;display:block;font-family:"DM Sans"}
.mcard small{opacity:.85}
.qr{width:7em;height:7em;margin:1.2em 0 .8em;background:repeating-conic-gradient(#1d2030 0 25%,#fff 0 50%) 0 0/1.4em 1.4em;border:.4em solid #fff;outline:1px solid #e4e5ec}
.ph-note{color:#8a8ea0;font-size:.85em}
.ph-count{font-size:1.1em;color:#6b6f80}.ph-count b{font-size:2.4em;color:var(--app);font-family:"DM Sans"}
.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:.45em;width:100%;margin:.8em 0}
.stamps i{aspect-ratio:1;border-radius:50%;border:2px dashed #d0d3dd;display:grid;place-items:center;font-style:normal;color:var(--app)}
.stamps i.on{background:var(--app);border:2px solid var(--app)}
.perk{background:color-mix(in srgb,var(--app) 12%,#fff);color:color-mix(in srgb,var(--app) 80%,#000);border-radius:.7em;padding:.5em .8em;font-weight:700;font-size:.9em;width:100%}
.ph-btn{margin-top:auto;background:var(--app);color:#fff;border-radius:999px;padding:.6em 1em;width:100%;font-weight:700}
.hero-float .mock-phones{justify-content:flex-end;gap:.8em}
.hero-float .phone{width:11em}
.hero-float .phone:first-child{display:none}
.hero-float{width:auto!important}
.mock-phones,.detail-mock .mock-phones,.acard-img .mock-phones{box-shadow:none!important;background:transparent!important}
.hero-float .phone-in{min-height:20em}

/* ---------- レスポンシブ ---------- */
@media (max-width:1080px){
 .nav{gap:16px;font-size:14px}
 .why{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
 .nav-btn{display:block}
 .nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px rgba(0,0,0,.06)}
 .nav.open{display:flex}
 .nav a{padding:14px 4px;border-bottom:1px solid var(--line)}
 .nav-tm{border:0!important;border-radius:0;padding:14px 4px!important}
 .hero-grid,.detail-grid{grid-template-columns:1fr}
 .hero-show{max-width:620px}
 .detail-mock{position:static}
 .agrid,.plans,.feats{grid-template-columns:repeat(2,1fr)}
 .plans{grid-template-columns:1fr;max-width:560px}
 .faq-lay,.two{grid-template-columns:1fr;gap:32px}
}
@media (max-width:680px){
 .wrap,.hd-in{padding:0 16px}
 .sp{display:inline}
 .hd-in{height:60px}
 .nav{top:60px}
 .logo{width:118px;height:31px}
 .logo img{width:139px;left:-13px;top:-18px}
 .brand-ja{font-size:16px;padding-left:8px}
 .brand-ja small{font-size:10px}
 .hero{padding:48px 0 60px}
 .lead br{display:none}
 .hero-act .btn{flex:1;padding:14px 18px}
 .hero-float{right:-4px;bottom:-10px}
 .hero-float .phone{width:8.2em}
 .hero-float .phone-in{min-height:15em;padding:1.2em .7em}
 .strip .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:12.5px}
 .sec{padding:60px 0}
 .sec-h{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}
 .agrid,.feats,.why,.steps,.cmp{grid-template-columns:1fr}
 .acard-img{height:210px}
 .mock-body{grid-template-columns:1fr}
 .mock-side{display:none}
 .lanes{grid-template-columns:repeat(2,1fr)}
 .cta{flex-direction:column;align-items:flex-start;padding:32px 24px;margin-bottom:60px;border-radius:18px}
 .meta div{grid-template-columns:1fr;gap:2px}
 .ft-links{gap:40px}
 .detail-mock .mock{font-size:9px}
 .faq details p{padding-left:4px}
}
/* スマホ型モックは影を切らない／ヒーローの小さいスマホではスタンプを4列に */
.mock.mock-phones{overflow:visible}
.hero-float .stamps{grid-template-columns:repeat(4,1fr);gap:.3em}
.hero-float .stamps i:nth-child(n+9){display:none}
