/* ===== Tsumikitools サイト（LP）共通 — 未来的＋テクスチャ ===== */
:root{
  --bg:#05080f; --bg2:#080d18; --ink:#e9f1f8; --dim:#9fb0c0; --dim2:#6f7f90;
  --teal:#2dd4bf; --cyan:#38bdf8; --line:rgba(255,255,255,.09);
  --glass:rgba(255,255,255,.035); --glass2:rgba(255,255,255,.06);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --grad:linear-gradient(120deg,#2dd4bf,#38bdf8);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ===== 背景テクスチャ（多層） ===== */
.bg-tex{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1100px 620px at 85% -8%,rgba(45,212,191,.20),transparent 60%),
    radial-gradient(900px 620px at -8% 12%,rgba(56,189,248,.16),transparent 60%),
    radial-gradient(900px 700px at 60% 110%,rgba(45,212,191,.10),transparent 60%),
    linear-gradient(180deg,#05080f,#070b15);}
.bg-tex::before{content:"";position:absolute;inset:0;opacity:.6;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(circle at 50% 18%,#000,transparent 80%);mask-image:radial-gradient(circle at 50% 18%,#000,transparent 80%);}
.bg-tex::after{content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1.4px);background-size:7px 7px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);opacity:.08;}

.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.sec{padding:74px 0;position:relative}
.sec.alt{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;color:#7ee7d8;border:1px solid rgba(45,212,191,.35);background:rgba(45,212,191,.08);padding:5px 12px;border-radius:999px}
.h2{font-size:30px;font-weight:900;text-align:center;margin:14px 0 8px;letter-spacing:-.5px}
.sub{text-align:center;color:var(--dim);font-size:15px;margin:0 auto 40px;max-width:680px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== nav ===== */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(5,8,15,.7);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:14px 22px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px}
.brand-ico{width:30px;height:30px;border-radius:8px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#04222f}
.nav-links{display:flex;align-items:center;gap:22px;font-size:14px;color:var(--dim)}
.nav-links a:hover{color:var(--ink)}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;font-weight:800;border-radius:12px;transition:.15s;font-family:inherit}
.btn-primary{color:#04222f;background:var(--grad);padding:14px 26px;font-size:15px;box-shadow:0 10px 34px rgba(45,212,191,.34)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 42px rgba(45,212,191,.5)}
.btn-primary.lg{padding:17px 38px;font-size:17px}
.btn-ghost{color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:13px 22px;font-size:14px}
.btn-ghost:hover{border-color:var(--teal)}

/* ===== hero ===== */
.hero{padding:54px 0 30px}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:48px;line-height:1.16;font-weight:900;letter-spacing:-1px;margin:16px 0 16px}
.hero .lead{color:var(--dim);font-size:17px;max-width:560px}
.hero .lead b{color:var(--ink)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 12px}
.hero-note{font-size:12px;color:var(--dim2)}
.hero-fig{position:relative}
.hero-fig img{width:100%;border-radius:20px;border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 70px rgba(45,212,191,.16)}

/* ===== cards/grids ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:24px}
.card:hover{border-color:rgba(45,212,191,.35)}
.pain{display:flex;flex-direction:column;gap:10px}
.pain .ic{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,rgba(248,113,113,.2),rgba(251,191,36,.14));display:flex;align-items:center;justify-content:center;font-size:22px}
.pain h3{margin:6px 0 0;font-size:16px}
.pain p{margin:0;color:var(--dim);font-size:13.5px}

/* ===== solution highlight ===== */
.solve{background:linear-gradient(135deg,rgba(45,212,191,.10),rgba(56,189,248,.06));border:1px solid rgba(45,212,191,.25);border-radius:22px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.solve h2{font-size:28px;font-weight:900;margin:6px 0 12px;line-height:1.3}
.solve p{color:var(--dim);font-size:15px}
.solve .flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:13px}
.solve .chip{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700}
.solve .arrow{color:var(--teal);font-weight:900}

/* ===== feature rows ===== */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:30px 0}
.feat:nth-child(even) .feat-media{order:2}
.feat-media img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.5)}
.feat-no{font-size:12px;font-weight:900;color:var(--teal);letter-spacing:.1em}
.feat h3{font-size:23px;font-weight:800;margin:8px 0 12px}
.feat p{color:var(--dim);font-size:15px}
.feat ul{margin:14px 0 0;padding-left:0;list-style:none;color:var(--dim);font-size:14px}
.feat ul li{padding:6px 0 6px 26px;position:relative}
.feat ul li::before{content:"";position:absolute;left:0;top:11px;width:14px;height:8px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}

/* ===== app mock (本物UI再現) ===== */
.shot{background:#0d1320;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 18px 60px rgba(0,0,0,.5)}
.shot-head{font-size:12px;color:var(--dim2);margin-bottom:12px;display:flex;justify-content:space-between}
.mc{background:#141c2b;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}
.mc-top{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:14px}
.mc-badge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px}
.bd-ok{background:rgba(52,211,153,.16);color:#34d399}
.bd-bad{background:rgba(248,113,113,.16);color:#f87171}
.mc-num{font-size:13px;color:var(--dim);margin:8px 0 2px}
.mc-num b{color:#fff;font-size:18px}
.bar{position:relative;height:16px;border-radius:6px;background:#243042;margin:6px 0;overflow:hidden}
.bar>span{display:block;height:100%;border-radius:6px;background:var(--grad)}
.bar>span.plan{background:#6f7f90}
.bar em{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:800;color:#fff;font-style:normal}
.mc-row{display:flex;align-items:center;gap:8px;margin:6px 0}
.mc-row .tag{width:30px;font-size:11px;color:var(--dim2)}
.mc-row .bar{flex:1;margin:0}

/* ===== steps ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:26px}
.step .no{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#04222f;font-weight:900;font-size:18px;display:flex;align-items:center;justify-content:center}
.step h3{margin:14px 0 6px;font-size:16px}
.step p{margin:0;color:var(--dim);font-size:13.5px}

/* ===== personas / pills ===== */
.pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.pill{background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:700;font-size:14px}

/* ===== pricing ===== */
.price{max-width:420px;margin:0 auto;text-align:center;background:linear-gradient(180deg,rgba(45,212,191,.08),rgba(255,255,255,.02));border:1px solid rgba(45,212,191,.3);border-radius:20px;padding:36px}
.price .amt{font-size:44px;font-weight:900;margin:8px 0}
.price .amt small{font-size:15px;color:var(--dim);font-weight:600}
.price ul{list-style:none;padding:0;margin:18px 0 24px;color:var(--dim);font-size:14px;text-align:left;display:inline-block}
.price ul li{padding:6px 0 6px 24px;position:relative}
.price ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}

/* ===== faq ===== */
.faq{max-width:760px;margin:0 auto}
.faq details{background:var(--glass);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:4px 18px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"＋";color:var(--teal);font-weight:900;margin-right:10px}
.faq details[open] summary::before{content:"−"}
.faq p{color:var(--dim);font-size:14px;margin:0 0 14px}

/* ===== final / footer ===== */
.final{text-align:center;background:linear-gradient(135deg,rgba(45,212,191,.12),rgba(56,189,248,.07));border:1px solid rgba(45,212,191,.25);border-radius:24px;padding:56px 24px}
.final h2{font-size:30px;font-weight:900;margin:0 0 8px}
.final p{color:var(--dim);margin:0 0 24px}
.foot{border-top:1px solid var(--line);padding:34px 22px;text-align:center;color:var(--dim2);font-size:12px}
.foot a{color:var(--dim)}
.foot a:hover{color:var(--teal)}

/* ===== tool cards (platform LP) ===== */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tool{display:flex;flex-direction:column;gap:10px;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:24px;transition:.15s}
.tool.ready:hover{border-color:rgba(45,212,191,.45);transform:translateY(-3px)}
.tool.soon{opacity:.5}
.tool .tic{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgba(45,212,191,.25),rgba(56,189,248,.18));display:flex;align-items:center;justify-content:center;font-size:26px}
.tool h3{margin:6px 0 0;font-size:18px}
.tool p{margin:0;color:var(--dim);font-size:13.5px}
.tool .go{margin-top:auto;font-weight:800;color:var(--teal);font-size:14px}

@media(max-width:860px){
  .hero-in,.solve,.feat,.grid3,.grid2,.steps,.tools{grid-template-columns:1fr}
  .feat:nth-child(even) .feat-media{order:0}
  .hero h1{font-size:34px}.h2{font-size:25px}.solve{padding:26px}
  .sec{padding:54px 0}
  .nav-links a:not(.btn){display:none}
  .nav-links{gap:12px}
}
