/* ========================================================
   すんすんSRM 下層（サービス詳細）ページ共有スタイル
   トップ(index.html)のデザイントークンと統一
======================================================== */
:root{
  --pink:#ff8fc7; --pink-d:#ff5fa8; --mint:#54ddc0; --mint-d:#2cae93; --sky:#7cc9ff; --sky-d:#4a9fe8;
  --lav:#b29bff; --lav-d:#8064e6; --lemon:#ffd95a; --peach:#ffac8e; --orange:#ff9f5a;
  --ink:#4a4566; --ink-2:#5d577e; --muted:#8e88a8; --muted-2:#b3aecb;
  --bg:#fffdf8; --line:#f2ecf7;
  --bg-pink:#fff1f8; --bg-mint:#ecfdf6; --bg-sky:#eef7ff; --bg-lav:#f6f1ff; --bg-lemon:#fffbe9;
  --grad-pink:linear-gradient(135deg,#ffa6d4,#ff7ab8); --grad-mint:linear-gradient(135deg,#7eeccf,#43cdb4);
  --grad-sky:linear-gradient(135deg,#9bd6ff,#6db8ff); --grad-lav:linear-gradient(135deg,#c6b3ff,#9f86ff);
  --grad-warm:linear-gradient(135deg,#ffd95a,#ff9f5a 55%,#ff7ab8);
  --grad-rainbow:linear-gradient(90deg,#ff8fc7,#ffd95a,#54ddc0,#7cc9ff,#b29bff);
  --shadow:0 16px 38px -16px rgba(120,90,140,.3);
  --shadow-lg:0 34px 70px -26px rgba(120,90,140,.42);
  --radius:24px; --radius-lg:34px; --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;color:var(--ink);background:var(--bg);line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-weight:500}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.pop{font-family:"Mochiy Pop One",sans-serif;font-weight:400}
.round{font-family:"Baloo 2",sans-serif}
section{padding:96px 0;position:relative}
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:"Baloo 2";font-weight:800;font-size:14px;letter-spacing:.08em;color:var(--pink-d);background:#fff;padding:8px 18px;border-radius:999px;box-shadow:var(--shadow)}
.kicker .e{font-size:15px}
.sec-title{font-family:"Mochiy Pop One",sans-serif;font-size:clamp(26px,4vw,42px);line-height:1.35;margin:16px 0 14px;letter-spacing:.01em}
.sec-lead{color:var(--muted);font-size:15.5px;max-width:660px}
.center{text-align:center}.center .sec-lead{margin:0 auto}.center .kicker{margin:0 auto}
.hl{color:var(--pink-d)}

.deco{position:absolute;z-index:1;pointer-events:none;animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(8deg)}}
.deco svg{width:100%;height:100%;display:block}

/* ===== Topbar ===== */
.topbar{background:var(--grad-pink);color:#fff;font-size:12.5px;font-weight:700}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar .tb-l{display:flex;gap:20px;align-items:center}
.topbar span{display:flex;align-items:center;gap:6px}
.topbar .tb-r{display:flex;gap:16px}.topbar .tb-r a{opacity:.92}
@media(max-width:760px){.topbar{display:none}}

/* ===== Header ===== */
header{position:sticky;top:0;z-index:100;background:rgba(255,253,248,.86);backdrop-filter:blur(14px);transition:.3s;border-bottom:2px solid transparent}
header.scrolled{border-color:var(--line);box-shadow:0 10px 30px -22px rgba(120,90,140,.4)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:11px;font-family:"Mochiy Pop One";font-size:20px;color:var(--ink)}
.logo .lm{width:46px;height:46px;flex-shrink:0}
.logo small{display:block;font-family:"Baloo 2";font-size:9.5px;font-weight:700;letter-spacing:.16em;color:var(--muted-2);line-height:1.2}
.menu{display:flex;align-items:center;gap:26px}
.menu>a{font-size:14px;font-weight:700;color:var(--ink-2);position:relative;padding:6px 2px}
.menu>a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--grad-pink);border-radius:3px;transition:.25s}
.menu>a:hover{color:var(--pink-d)}.menu>a:hover::after{width:100%}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:"Baloo 2";font-weight:800;font-size:14.5px;padding:13px 26px;border-radius:999px;background:var(--grad-pink);color:#fff;box-shadow:0 14px 30px -12px rgba(255,95,168,.6);transition:.25s;white-space:nowrap;border:none;cursor:pointer}
.btn:hover{transform:translateY(-3px) scale(1.03)}
.btn.lg{padding:17px 36px;font-size:16px}
.btn.ghost{background:#fff;color:var(--pink-d);border:2.5px solid var(--pink);box-shadow:var(--shadow)}
.btn.white{background:#fff;color:var(--pink-d);box-shadow:var(--shadow)}
.hamb{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:120}
.hamb span{width:24px;height:3px;background:var(--pink-d);border-radius:3px;transition:.3s}
.hamb.on span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamb.on span:nth-child(2){opacity:0}
.hamb.on span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ===== Breadcrumb ===== */
.crumb{padding:18px 0;font-size:12.5px;font-weight:700;color:var(--muted)}
.crumb a:hover{color:var(--pink-d)}
.crumb span{margin:0 8px;color:var(--muted-2)}

/* ===== Sub hero ===== */
.subhero{position:relative;overflow:hidden;padding:70px 0 90px;color:#fff}
.subhero.t-sky{background:var(--grad-sky)} .subhero.t-lav{background:var(--grad-lav)}
.subhero.t-mint{background:var(--grad-mint)} .subhero.t-warm{background:var(--grad-warm)}
.subhero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,.18),transparent 30%),radial-gradient(circle at 88% 78%,rgba(255,255,255,.16),transparent 32%)}
.subhero .wrap{position:relative;z-index:3;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.subhero .sh-kick{display:inline-block;font-family:"Baloo 2";font-weight:800;font-size:13px;letter-spacing:.14em;background:rgba(255,255,255,.25);padding:7px 16px;border-radius:999px;margin-bottom:18px}
.subhero h1{font-family:"Mochiy Pop One";font-size:clamp(30px,5vw,52px);line-height:1.3;letter-spacing:.01em}
.subhero p{margin-top:18px;font-size:15.5px;color:rgba(255,255,255,.96);max-width:540px;font-weight:500}
.subhero .sh-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.subhero .btn.white{color:var(--ink)}
.sh-mascot{position:relative;text-align:center}
.sh-mascot .mascot{width:230px;height:230px;display:inline-block;animation:floaty 5s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.subhero .wave{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0}
.subhero .wave svg{width:100%;height:64px;display:block}

/* ===== Pains ===== */
.pains{background:var(--bg)}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.pain{background:#fff;border:3px solid var(--line);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:.3s}
.pain:hover{transform:translateY(-6px)}
.pain .e{font-size:40px;display:block;margin-bottom:10px}
.pain p{font-size:14.5px;font-weight:700;color:var(--ink-2)}
.pain small{display:block;color:var(--muted);font-weight:500;font-size:13px;margin-top:6px}

/* ===== Features ===== */
.feat{background:var(--bg-lav)}
.feat.bg-sky{background:var(--bg-sky)} .feat.bg-mint{background:var(--bg-mint)} .feat.bg-lemon{background:var(--bg-lemon)} .feat.bg-pink{background:var(--bg-pink)}
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px}
.feat-card{background:#fff;border-radius:var(--radius);padding:32px 30px;display:flex;gap:20px;align-items:flex-start;border:3px solid transparent;transition:.3s}
.feat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.feat-card .fi{width:60px;height:60px;border-radius:18px;flex-shrink:0;display:grid;place-items:center;color:#fff}
.feat-card .fi svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.9}
.feat-card .fno{font-family:"Baloo 2";font-weight:800;font-size:12px;color:var(--muted-2);letter-spacing:.08em}
.feat-card h3{font-family:"Mochiy Pop One";font-size:18px;margin:4px 0 8px;line-height:1.5}
.feat-card p{color:var(--muted);font-size:14px}
.i-sky{background:var(--grad-sky)} .i-lav{background:var(--grad-lav)} .i-mint{background:var(--grad-mint)} .i-warm{background:var(--grad-warm)} .i-pink{background:var(--grad-pink)}

/* ===== Process ===== */
.process{background:var(--bg)}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.proc{position:relative;background:#fff;border:3px solid var(--line);border-radius:var(--radius);padding:30px 22px;text-align:center;transition:.3s}
.proc:hover{transform:translateY(-6px)}
.proc .pn{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-family:"Mochiy Pop One";color:#fff;font-size:19px;margin:0 auto 14px;background:var(--grad-pink)}
.proc:nth-child(1) .pn{background:var(--grad-mint)} .proc:nth-child(2) .pn{background:var(--grad-sky)}
.proc:nth-child(3) .pn{background:var(--grad-lav)} .proc:nth-child(4) .pn{background:var(--grad-warm)}
.proc h4{font-family:"Mochiy Pop One";font-size:16px;margin-bottom:8px}
.proc p{color:var(--muted);font-size:13px}
.proc .arrow{position:absolute;right:-13px;top:46px;color:var(--pink);font-size:24px;font-weight:800;z-index:2}

/* ===== Lineup (tags) ===== */
.lineup{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px;max-width:820px;margin-left:auto;margin-right:auto}
.lineup span{background:#fff;border:2.5px solid var(--line);border-radius:999px;padding:11px 22px;font-weight:700;font-size:14px;color:var(--ink-2)}

/* ===== Cross links (other services) ===== */
.cross{background:var(--bg-pink)}
.cross-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.cross-card{background:#fff;border-radius:var(--radius);padding:26px;border:3px solid var(--line);transition:.3s;display:block}
.cross-card:hover{transform:translateY(-7px) rotate(-1deg)}
.cross-card .ce{font-size:34px;display:block;margin-bottom:10px}
.cross-card h4{font-family:"Mochiy Pop One";font-size:16px;margin-bottom:6px}
.cross-card p{color:var(--muted);font-size:13px}
.cross-card .more{display:inline-block;margin-top:12px;font-family:"Baloo 2";font-weight:800;font-size:13px;color:var(--pink-d)}

/* ===== CTA band ===== */
.cta{position:relative;overflow:hidden;color:#fff;background:var(--grad-pink);text-align:center}
.cta::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 80%,rgba(255,255,255,.18),transparent 30%),radial-gradient(circle at 90% 20%,rgba(255,255,255,.16),transparent 32%)}
.cta .wrap{position:relative;z-index:2}
.cta h2{font-family:"Mochiy Pop One";font-size:clamp(24px,3.6vw,38px);line-height:1.4}
.cta p{margin:16px auto 30px;max-width:520px;font-size:15px;color:rgba(255,255,255,.95);font-weight:500}
.cta .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .tel{font-family:"Baloo 2";font-weight:800;font-size:24px;display:inline-flex;align-items:center;gap:10px}

/* ===== Footer ===== */
footer{background:#3a3357;color:rgba(255,255,255,.7);padding:58px 0 26px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14)}
.foot-logo{color:#fff;font-family:"Mochiy Pop One";font-size:20px;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.foot-logo .lm{width:40px;height:40px}
.foot-brand p{font-size:13px;max-width:300px;margin-bottom:16px}
.foot-brand .fadd{font-size:12.5px;line-height:1.75}
.foot-nav h5{color:#fff;font-family:"Baloo 2";font-size:13px;letter-spacing:.06em;margin-bottom:14px;font-weight:800}
.foot-nav a{display:block;font-size:13px;margin-bottom:10px;transition:.2s}
.foot-nav a:hover{color:var(--pink);transform:translateX(4px)}
.copy{padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;font-family:"Baloo 2";font-weight:600}

.totop{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:18px;background:var(--grad-pink);display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(255,95,168,.7);opacity:0;transform:translateY(20px);pointer-events:none;transition:.3s;z-index:90;cursor:pointer}
.totop.show{opacity:1;transform:none;pointer-events:auto}.totop:hover{transform:translateY(-4px)}
.totop svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.6}

.reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ===== Trust badges (sub hero) ===== */
.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.trust{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.24);border:1px solid rgba(255,255,255,.45);padding:8px 16px;border-radius:999px;font-size:12.5px;font-weight:700}

/* ===== Pillar (detailed service block) ===== */
.pillars{background:var(--bg)}
.pillar{background:#fff;border:3px solid var(--line);border-radius:var(--radius-lg);padding:40px;margin-bottom:24px;transition:.3s}
.pillar:hover{box-shadow:var(--shadow)}
.pillar-head{display:flex;align-items:center;gap:18px;margin-bottom:10px}
.pillar-head .pi{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;flex-shrink:0}
.pillar-head .pi svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:1.9}
.pillar-head .pno{font-family:"Baloo 2";font-weight:800;font-size:12px;color:var(--muted-2);letter-spacing:.1em}
.pillar-head h3{font-family:"Mochiy Pop One";font-size:22px;line-height:1.4}
.pillar>p{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.pillar .tasks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;list-style:none}
.pillar .tasks li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2);font-weight:600;background:var(--bg);border-radius:12px;padding:12px 16px}
.pillar .tasks li::before{content:"✓";color:var(--mint-d);font-weight:800;flex-shrink:0}
.pillar .target{margin-top:18px;font-size:13px;color:var(--muted);background:var(--bg-mint);border-radius:14px;padding:14px 18px}
.pillar .target b{color:var(--mint-d)}

/* ===== Reasons ===== */
.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.reason{background:#fff;border-radius:var(--radius);padding:32px 26px;border:3px solid var(--line);text-align:center;transition:.3s}
.reason:hover{transform:translateY(-7px)}
.reason .e{font-size:40px;display:block;margin-bottom:6px}
.reason .rn{font-family:"Baloo 2";font-weight:800;font-size:13px;color:var(--mint-d);letter-spacing:.08em}
.reason h4{font-family:"Mochiy Pop One";font-size:17px;margin:6px 0 10px}
.reason p{color:var(--muted);font-size:13.5px}

/* ===== Compare table ===== */
.compare-wrap{margin-top:44px;overflow-x:auto}
table.compare{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-width:640px}
table.compare th,table.compare td{padding:17px 16px;text-align:center;font-size:13.5px;border-bottom:2px solid var(--line)}
table.compare thead th{font-family:"Mochiy Pop One";font-size:14px;background:#faf7ff;color:var(--ink-2)}
table.compare thead th.hi{background:var(--grad-mint);color:#fff;font-size:15px}
table.compare tbody th{text-align:left;font-weight:700;color:var(--ink-2);background:#faf7ff;width:28%}
table.compare td.hi{background:#f1fdf9;font-weight:700;color:var(--mint-d)}
table.compare td .x{color:var(--muted-2)}
table.compare tr:last-child th,table.compare tr:last-child td{border-bottom:none}
.compare-note{text-align:center;color:var(--muted-2);font-size:12px;margin-top:12px}

/* ===== Use cases ===== */
.usecase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:44px}
.usecase{background:#fff;border-radius:var(--radius);padding:24px 26px;border:3px solid var(--line);display:flex;gap:16px;align-items:flex-start;transition:.3s}
.usecase:hover{transform:translateY(-5px)}
.usecase .e{font-size:30px;flex-shrink:0;line-height:1.2}
.usecase h4{font-family:"Mochiy Pop One";font-size:15.5px;margin-bottom:5px}
.usecase p{color:var(--muted);font-size:13.5px}

/* ===== Price box ===== */
.pricebox{max-width:780px;margin:44px auto 0;background:#fff;border:3px solid var(--line);border-radius:var(--radius-lg);padding:40px;text-align:center}
.pricebox .pb-tag{display:inline-block;background:var(--grad-mint);color:#fff;font-family:"Baloo 2";font-weight:800;font-size:13px;padding:7px 18px;border-radius:999px;margin-bottom:16px}
.pricebox h3{font-family:"Mochiy Pop One";font-size:22px;margin-bottom:14px;line-height:1.5}
.pricebox p{color:var(--muted);font-size:14.5px}
.pricebox .pb-points{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.pricebox .pb-points span{background:var(--bg-mint);border-radius:12px;padding:12px 18px;font-size:13px;font-weight:700;color:var(--ink-2)}

/* ===== FAQ (shared) ===== */
.faq-list{max-width:820px;margin:44px auto 0;display:flex;flex-direction:column;gap:13px}
details.faqi{background:#fff;border:3px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s}
details.faqi[open]{border-color:#bdeede}
details.faqi summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;align-items:center;gap:14px;font-weight:700;font-size:15px}
details.faqi summary::-webkit-details-marker{display:none}
details.faqi summary .q{font-family:"Mochiy Pop One";color:#fff;background:var(--grad-mint);width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:15px;flex-shrink:0}
details.faqi summary .pm{margin-left:auto;width:24px;height:24px;position:relative;flex-shrink:0}
details.faqi summary .pm::before,details.faqi summary .pm::after{content:"";position:absolute;background:var(--mint-d);border-radius:2px;transition:.3s}
details.faqi summary .pm::before{top:11px;left:3px;right:3px;height:3px}
details.faqi summary .pm::after{left:11px;top:3px;bottom:3px;width:3px}
details.faqi[open] summary .pm::after{transform:rotate(90deg);opacity:0}
details.faqi .a{padding:0 24px 22px 70px;color:var(--muted);font-size:14px}

/* ===== Product gallery ===== */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.gitem{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:5px solid #fff;position:relative;aspect-ratio:4/3.2}
.gitem.gm{background:var(--grad-mint)} .gitem.gp{background:var(--grad-pink)} .gitem.gs{background:var(--grad-sky)} .gitem.gl{background:var(--grad-lav)} .gitem.gw{background:var(--grad-warm)}
.gitem img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gitem:hover img{transform:scale(1.07)}
.gitem .cap{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(40,30,55,.6));color:#fff;font-family:"Mochiy Pop One";font-size:14px}

/* ===== Big stat row ===== */
.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.statbox{background:#fff;border:3px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center}
.statbox b{font-family:"Mochiy Pop One";font-size:30px;color:var(--mint-d);display:block}
.statbox span{font-size:13px;color:var(--muted);font-weight:700}

/* ===== detail link button (used in index biz rows too via .biz-more) ===== */
.biz-more,.inline-more{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-family:"Baloo 2";font-weight:800;font-size:14px;color:#fff;background:var(--grad-mint);padding:12px 24px;border-radius:999px;box-shadow:var(--shadow);transition:.25s}
.biz-more:hover,.inline-more:hover{transform:translateY(-3px) scale(1.03)}

@media(max-width:980px){
  .pillar .tasks,.usecase-grid{grid-template-columns:1fr}
  .reasons,.statrow{grid-template-columns:1fr}.pillar{padding:28px}
  .gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){.gallery{grid-template-columns:1fr}}

/* ===== Legal pages ===== */
.legal-head{background:var(--grad-pink);color:#fff;padding:54px 0 60px;position:relative;overflow:hidden}
.legal-head::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 35%)}
.legal-head .wrap{position:relative;z-index:2}
.legal-head .sh-kick{display:inline-block;font-family:"Baloo 2";font-weight:800;font-size:13px;letter-spacing:.12em;background:rgba(255,255,255,.25);padding:7px 16px;border-radius:999px;margin-bottom:14px}
.legal-head h1{font-family:"Mochiy Pop One";font-size:clamp(26px,4vw,40px);line-height:1.4}
.legal-body{max-width:880px;margin:0 auto;padding:64px 24px 40px}
.legal-body>.lead{color:var(--muted);font-size:14.5px;margin-bottom:26px}
.legal-body h2{font-family:"Mochiy Pop One";font-size:20px;margin:36px 0 12px;color:var(--ink);display:flex;align-items:center;gap:11px}
.legal-body h2::before{content:"";width:8px;height:22px;border-radius:4px;background:var(--grad-pink);flex-shrink:0}
.legal-body h3{font-size:15.5px;font-weight:800;margin:20px 0 8px;color:var(--ink-2)}
.legal-body p,.legal-body li{font-size:14px;color:var(--ink-2);line-height:1.95}
.legal-body ul,.legal-body ol{margin:10px 0 12px 22px}
.legal-body li{margin-bottom:6px}
.legal-note{background:var(--bg-lemon);border:2.5px solid #ffe6a8;border-radius:16px;padding:18px 22px;font-size:13px;color:var(--ink-2);margin:22px 0}
.legal-note b{color:#c98a00}
.legal-updated{color:var(--muted-2);font-size:13px;margin-top:34px;text-align:right}
table.tokusho{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:2px solid var(--line);margin-top:8px}
table.tokusho th,table.tokusho td{text-align:left;padding:16px 20px;border-bottom:2px solid var(--line);font-size:14px;vertical-align:top}
table.tokusho th{width:34%;background:#faf7ff;font-weight:800;color:var(--ink-2)}
table.tokusho td{color:var(--ink-2)}
table.tokusho tr:last-child th,table.tokusho tr:last-child td{border-bottom:none}
.todo{color:var(--pink-d);font-weight:800}

/* copy footer links */
.copy-links{display:flex;gap:16px;flex-wrap:wrap}
.copy-links a:hover{color:var(--pink)}
@media(max-width:640px){table.tokusho th{width:42%}}

@media(max-width:980px){
  .subhero .wrap{grid-template-columns:1fr;gap:30px}.sh-mascot{order:-1}.sh-mascot .mascot{width:160px;height:160px}
  .pain-grid,.cross-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}.proc .arrow{display:none}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  section{padding:70px 0}
  .menu{position:fixed;inset:0 0 0 auto;width:80%;max-width:330px;background:var(--grad-pink);flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;transform:translateX(100%);transition:.35s;padding:80px 36px;z-index:110}
  .menu.open{transform:none}.menu>a{color:#fff;font-size:17px;width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.25)}.menu>a::after{display:none}
  .menu .btn{width:100%;justify-content:center;margin-top:14px;background:#fff;color:var(--pink-d)}
  .hamb{display:flex}.proc-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr;gap:28px}
}

/* ===== もっと可愛く：全体強化（v2） ===== */
::selection{background:#ffd0e6;color:#7a2f55}
*::-webkit-scrollbar{width:12px;height:12px}
*::-webkit-scrollbar-track{background:#fff1f8}
*::-webkit-scrollbar-thumb{background:linear-gradient(#ffa6d4,#ff7ab8);border-radius:999px;border:3px solid #fff1f8}
body{background-image:radial-gradient(rgba(255,143,199,.07) 1.5px,transparent 1.5px);background-size:28px 28px}
.deco{animation:bob 5s ease-in-out infinite,twinkle 3.4s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.55}50%{opacity:1;filter:drop-shadow(0 0 7px currentColor)}}
.btn:hover{animation:wobble .55s ease}
@keyframes wobble{0%,100%{transform:translateY(-3px) rotate(0)}30%{transform:translateY(-4px) rotate(-2.5deg)}70%{transform:translateY(-4px) rotate(2.5deg)}}
.kicker{transition:.25s}.kicker:hover{animation:wobble .55s ease}
.logo .lm:hover{animation:wobble .55s ease}
.totop:hover{animation:wobble .55s ease}
.card:hover,.cross-card:hover,.pain:hover,.reason:hover,.usecase:hover,.step:hover,.feat-card:hover,.pillar:hover,.proc:hover,.statbox:hover{box-shadow:0 22px 46px -18px rgba(255,122,184,.42)}
.trust{transition:.2s}.trust:hover{background:rgba(255,255,255,.4);transform:translateY(-2px)}
.gitem:hover{transform:translateY(-5px) rotate(-1.2deg)}

/* ===== 大手グレードアップ（v3：質感・アクセシビリティ・ナビ） ===== */
:focus-visible{outline:3px solid #ff8fc7;outline-offset:3px;border-radius:8px}
.skip{position:fixed;left:50%;top:8px;transform:translate(-50%,-150%);z-index:1000;background:#fff;color:var(--pink-d);font-family:"Baloo 2";font-weight:800;padding:11px 24px;border-radius:999px;box-shadow:var(--shadow);transition:.2s}
.skip:focus{transform:translate(-50%,0)}
.progress{position:fixed;top:0;left:0;height:4px;width:0;background:var(--grad-rainbow);z-index:300;border-radius:0 4px 4px 0}
/* mega menu */
.has-mega{position:relative;display:inline-flex;align-items:center}
.has-mega>.mega-toggle{display:inline-flex;align-items:center;gap:6px}
.has-mega>.mega-toggle::after{content:"";width:7px;height:7px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.25s;opacity:.7}
.has-mega:hover>.mega-toggle::after,.has-mega.open>.mega-toggle::after{transform:rotate(-135deg) translateY(2px)}
.mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(10px);background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);padding:16px;display:grid;grid-template-columns:repeat(2,minmax(196px,1fr));gap:6px;opacity:0;visibility:hidden;transition:.25s;z-index:130;border:2px solid var(--line)}
.mega::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(45deg);width:16px;height:16px;background:#fff;border-left:2px solid var(--line);border-top:2px solid var(--line)}
.has-mega:hover>.mega,.has-mega.open>.mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:16px;font-size:13.5px;font-weight:700;color:var(--ink-2);transition:.18s}
.mega a:hover{background:var(--bg-pink);color:var(--pink-d)}
.mega a .me{font-size:22px;flex-shrink:0;line-height:1}
.mega a small{display:block;font-size:11px;color:var(--muted-2);font-weight:500;margin-top:1px}
@media(max-width:640px){
  .has-mega{display:block;width:100%}
  .mega{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding:4px 0 8px;grid-template-columns:1fr;background:transparent}
  .mega::before{display:none}.mega a{color:#fff;padding:10px 0}.mega a:hover{background:transparent}.mega a small{color:rgba(255,255,255,.75)}
  .has-mega>.mega-toggle::after{margin-left:auto}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* ===== v4：もっとかわいい（サンリオ/サンエックス系を参考） ===== */
/* 雲のスカラップ区切り（白いぴらぴら） */
.cloud-edge{position:relative;height:28px;margin-top:-28px;z-index:5}
.cloud-edge::before{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:radial-gradient(circle at 18px 28px,#fffdf8 17px,transparent 18px) repeat-x;background-size:36px 28px}
.cloud-edge.on-mint::before{background:radial-gradient(circle at 18px 28px,var(--bg-mint) 17px,transparent 18px) repeat-x;background-size:36px 28px}
.cloud-edge.on-sky::before{background:radial-gradient(circle at 18px 28px,var(--bg-sky) 17px,transparent 18px) repeat-x;background-size:36px 28px}
.cloud-edge.on-lav::before{background:radial-gradient(circle at 18px 28px,var(--bg-lav) 17px,transparent 18px) repeat-x;background-size:36px 28px}
.cloud-edge.on-pink::before{background:radial-gradient(circle at 18px 28px,var(--bg-pink) 17px,transparent 18px) repeat-x;background-size:36px 28px}
.cloud-edge.on-lemon::before{background:radial-gradient(circle at 18px 28px,var(--bg-lemon) 17px,transparent 18px) repeat-x;background-size:36px 28px}
/* クラフト感の点線カード（やさしいカードのみ） */
.pain,.reason,.usecase,.step{border-style:dashed}
/* セクション角のきらきらドゥードル */
.pains::before,.feat::before,.flow::before,.faq::before{content:"";position:absolute;top:26px;left:24px;width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 4C56 38 62 44 96 50 62 56 56 62 50 96 44 62 38 56 4 50 38 44 44 38 50 4Z' fill='%23ffd95a'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.7;animation:twinkle 3.4s ease-in-out infinite;pointer-events:none}
.pains::after,.feat::after{content:"";position:absolute;bottom:30px;right:30px;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 86C20 64 12 49 12 35 12 23 22 16 31 16c8 0 15 5 19 12 4-7 11-12 19-12 9 0 19 7 19 19 0 14-8 29-38 51Z' fill='%23ff9ec9'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.6;animation:bob 6s ease-in-out infinite;pointer-events:none}
/* washiテープ風ラベル */
.tape{display:inline-block;background:repeating-linear-gradient(45deg,#ffdcee,#ffdcee 9px,#ffc6e3 9px,#ffc6e3 18px);color:#a83a6e;font-family:"Baloo 2";font-weight:800;padding:7px 20px;transform:rotate(-2.5deg);box-shadow:var(--shadow);font-size:13px;border-radius:4px}
/* 吹き出し */
.bubble{position:relative;display:inline-block;background:#fff;border:3px solid #ffd4e7;border-radius:22px;padding:14px 20px;font-weight:700;color:var(--ink-2);box-shadow:var(--shadow)}
.bubble::after{content:"";position:absolute;bottom:-15px;left:34px;border:9px solid transparent;border-top-color:#fff}
.bubble::before{content:"";position:absolute;bottom:-19px;left:32px;border:11px solid transparent;border-top-color:#ffd4e7}
/* マスコットがちょこんと覗く */
.peek{position:absolute;width:84px;height:84px;z-index:6;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(120,90,140,.18))}
.peek.tr{top:-30px;right:6%}.peek.tl{top:-30px;left:6%}
@media(max-width:640px){.peek{width:60px;height:60px}.pains::before,.feat::before,.flow::before,.faq::before{display:none}}

/* ===== v5：現在地ナビのハイライト ===== */
.menu>a[aria-current="page"]{color:var(--pink-d)}
.menu>a[aria-current="page"]::after{width:100%}
.mega a[aria-current="page"]{background:var(--bg-pink);color:var(--pink-d)}

/* ===== v6：装飾SVGの発色修正（星・ハートをcurrentColorで着色） ===== */
.deco svg{fill:currentColor}

/* ===== v7：コラム/ブログ ===== */
.bloglist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.bcard{background:#fff;border:3px solid var(--line);border-radius:24px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.bcard:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 22px 46px -18px rgba(255,122,184,.42)}
.bcard .bthumb{height:172px;position:relative;overflow:hidden}
.bcard .bthumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.bcard:hover .bthumb img{transform:scale(1.08)}
.bcard .bthumb.g1{background:var(--grad-mint)}.bcard .bthumb.g2{background:var(--grad-pink)}.bcard .bthumb.g3{background:var(--grad-sky)}.bcard .bthumb.g4{background:var(--grad-lav)}
.bcard .bcat{position:absolute;top:12px;left:12px;background:#fff;color:var(--pink-d);font-family:"Baloo 2";font-weight:800;font-size:11px;padding:5px 12px;border-radius:999px;box-shadow:var(--shadow)}
.bcard .bbody{padding:22px;display:flex;flex-direction:column;flex:1}
.bcard time{font-family:"Baloo 2";font-weight:700;color:var(--muted-2);font-size:12px}
.bcard h3{font-family:"Mochiy Pop One";font-size:16px;margin:6px 0 9px;line-height:1.55;color:var(--ink)}
.bcard p{color:var(--muted);font-size:13px;flex:1}
.bcard .bmore{margin-top:14px;font-family:"Baloo 2";font-weight:800;font-size:12.5px;color:var(--pink-d)}
/* article */
.post{max-width:760px;margin:0 auto;padding:58px 24px 40px}
.post .pmeta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.post .pcat{background:var(--grad-pink);color:#fff;font-family:"Baloo 2";font-weight:800;font-size:12px;padding:5px 14px;border-radius:999px}
.post .pmeta time{font-family:"Baloo 2";font-weight:700;color:var(--muted);font-size:13px}
.post>.lead{color:var(--ink-2);font-size:15.5px;margin:8px 0 4px;font-weight:600}
.post .phero{border-radius:24px;overflow:hidden;margin:24px 0;border:6px solid #fff;box-shadow:var(--shadow-lg);aspect-ratio:16/8}
.post .phero img{width:100%;height:100%;object-fit:cover}
.post h2{font-family:"Mochiy Pop One";font-size:20px;margin:34px 0 12px;display:flex;align-items:center;gap:11px;color:var(--ink)}
.post h2::before{content:"";width:8px;height:22px;border-radius:4px;background:var(--grad-pink);flex-shrink:0}
.post h3{font-size:16px;font-weight:800;margin:20px 0 8px;color:var(--ink-2)}
.post p,.post li{font-size:14.5px;color:var(--ink-2);line-height:2}
.post ul,.post ol{margin:10px 0 14px 22px}
.post li{margin-bottom:6px}
.post .note{background:var(--bg-mint);border:2.5px solid #bdeede;border-radius:16px;padding:16px 20px;font-size:13.5px;color:var(--ink-2);margin:20px 0}
.post .author{margin-top:30px;padding-top:18px;border-top:2px dotted var(--line);font-size:13px;color:var(--muted)}
.relposts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
@media(max-width:780px){.bloglist{grid-template-columns:1fr 1fr}.relposts{grid-template-columns:1fr}}
@media(max-width:560px){.bloglist{grid-template-columns:1fr}}
