:root{
  --bg:#faf9f5; --bg-alt:#f0ede6; --panel:#faf9f5; --line:#dedad2;
  --txt:#1a1714; --txt2:#52504a; --muted:#7a7870;
  --accent:#ff9a01; --accent2:#e08801; --hl:rgba(255,154,1,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent2)}

.lp-container{max-width:1100px;margin:0 auto;padding:0 24px}
.lp-container.narrow{max-width:760px}
@media(max-width:760px){body.lp-top .lp-container{padding-left:16px;padding-right:16px}body.lp-top .lp-header .lp-container{padding-top:18px;padding-bottom:18px}}
/* SP: ダブルタップでのページズームを抑制（ピンチズームは残す） */
@media(max-width:900px){
  body, .lp-section, .lp-container, .lp-btn, .lp-nav a, .sp-peek-nav a, .usecase-stage, .lp-footer, .lp-header,
  .doodle-toolbar, .doodle-toolbar *, .doodle-palette, .doodle-palette *,
  .sp-peek-menu, .sp-peek-menu *, .im-share-modal, .im-share-modal *,
  button, a{touch-action:manipulation}
}

.lp-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.lp-header .lp-container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.lp-brand{font-size:24px;color:var(--txt);display:inline-flex;align-items:baseline;gap:7px;line-height:1;font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif}
.brand-mark{width:24px;height:24px;flex-shrink:0;align-self:center;position:relative;top:-1px}
.brand-name{font-weight:700;font-family:inherit}
.brand-beta{font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.3px;font-family:inherit}
.brand-by{font-size:12px;font-weight:400;color:var(--txt2);letter-spacing:.2px;font-family:inherit}
@media(max-width:600px){.brand-by{display:none}}
.lp-nav{display:flex;align-items:center;gap:15px}
.lp-nav a{color:var(--txt2);font-size:12px}
.lp-nav a:hover{color:var(--txt)}
.lp-nav a.primary{padding:7px 14px;font-size:13px}
.lp-header-stats{display:flex;align-items:center;gap:2px;padding:1px 6px 3px 5px;border:1px solid var(--line);border-radius:8px;margin-left:0;background:#fafaf8}
.lp-nav-lang{display:inline-flex;align-items:center;justify-content:center;width:34px;height:24px;border:1px solid var(--line);border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--txt2)!important;background:#fff;transition:all .15s}
.lp-nav-lang:hover{border-color:var(--accent);color:var(--accent)!important}
.lp-nav-dd{position:relative;display:inline-flex;align-items:center}
.lp-nav-dd-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;margin:0;color:var(--txt2);font:inherit;font-size:12px;cursor:pointer;line-height:1.4}
.lp-nav-dd-btn:hover,.lp-nav-dd.open .lp-nav-dd-btn{color:var(--txt)}
.lp-nav-dd-chev{transition:transform .18s ease;flex:none}
.lp-nav-dd.open .lp-nav-dd-chev{transform:rotate(180deg)}
.lp-nav-dd-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);min-width:200px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);padding:6px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:50}
.lp-nav-dd.open .lp-nav-dd-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.lp-nav-dd-menu a{display:block;padding:8px 12px;font-size:13px;color:var(--txt) !important;border-radius:6px;white-space:nowrap;text-decoration:none}
.lp-nav-dd-menu a:hover{background:#f5f5f3;color:var(--accent) !important}

/* お遊び落書きツール */
.doodle-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:998;touch-action:none}
.doodle-toolbar{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:999;display:flex;flex-direction:column;gap:3px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08)}
/* PC では SP 用の終了ボタンは出さない */
.doodle-exit{display:none}
/* SP: 落書きツールバーを画面下端に横並び・全表示。V/A は隠す */
@media(max-width:900px){
  /* SP: 既定で非表示。メニューの「落書きモード」を ON にしたら表示 */
  .doodle-toolbar{display:none}
  /* 落書きモード中はツールバーが下に固定されるので、フッターの下に逃げ場を確保 */
  body.doodle-mode-on{padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 80px)}
  /* 達人画像：落書きモード中だけフッター下に表示 */
  .doodle-master{display:none}
  body.doodle-mode-on .doodle-master{display:block;background:#0f0f0f;padding:0;line-height:0}
  body.doodle-mode-on .doodle-master img{display:block;width:100%;max-width:480px;margin:0 auto;height:auto}
  body.doodle-mode-on .doodle-toolbar{
    display:flex;
    left:50%;top:auto;bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);
    transform:translateX(-50%);
    flex-direction:row;align-items:center;
    max-width:calc(100vw - 12px);
    padding:5px;gap:2px;
    background:#fff;
    border:2px solid var(--accent);
    box-shadow:0 6px 22px rgba(0,0,0,.18);
    border-radius:12px;
    animation:doodleToolbarSlideUp .5s cubic-bezier(.34,1.5,.5,1) both;
  }
  @keyframes doodleToolbarSlideUp{
    from{transform:translate(-50%, calc(100% + 30px));opacity:.4}
    to{transform:translate(-50%, 0);opacity:1}
  }
  /* SP では A(白い矢印)非表示・V(黒い矢印)を残す */
  .doodle-toolbar #doodleDirect{display:none}
  .doodle-toolbar .doodle-tool{width:34px;height:34px;flex-shrink:0}
  .doodle-toolbar .doodle-tool svg{width:16px;height:16px}
  .doodle-toolbar .doodle-tool .doodle-key{display:none}
  .doodle-toolbar .doodle-sep{height:22px;width:1px;margin:0 1px}
  .doodle-toolbar .doodle-fs{flex-direction:row;padding:0 2px;gap:3px;align-items:center}
  .doodle-toolbar .doodle-fs-stack{width:38px;height:38px}
  .doodle-toolbar .doodle-fs-swatch{width:26px;height:26px;border-radius:5px}
  .doodle-toolbar .doodle-fs-stroke{border-width:5px}
  .doodle-toolbar .doodle-fs-mini{display:flex;flex-direction:column;gap:2px}
  .doodle-toolbar .doodle-fs-mini-btn{width:18px;height:18px}
  .doodle-toolbar .doodle-fs-mini-btn svg{width:12px;height:12px}
  /* SP では ✕ 終了ボタンは出さない（メニューのトグルで OFF にする運用） */
  .doodle-toolbar .doodle-exit{display:none!important}
  /* パレット：SP で指タップしやすい大きさに */
  .doodle-palette{left:50%!important;top:auto!important;bottom:60px!important;transform:translateX(-50%);width:auto;max-width:calc(100vw - 16px);max-height:calc(100vh - 140px);padding:9px}
  .doodle-palette .dpp-grid{grid-template-columns:repeat(8,1fr);gap:4px}
  .doodle-palette .dpp-color{width:auto;height:30px;border-radius:5px}
  .doodle-palette .dpp-hex{margin-top:7px;gap:4px}
  .doodle-palette .dpp-hex .dpp-picker{width:30px;height:28px}
  .doodle-palette .dpp-hex .dpp-hex-input,
  .doodle-palette .dpp-hex .dpp-hex-apply{height:28px;font-size:12px}
  /* 選択中の落書きを強調（オレンジ + 太め shadow） */
  .doodle-canvas g.doodle-selected{filter:drop-shadow(0 0 6px var(--accent)) drop-shadow(0 0 6px var(--accent))}
}
.doodle-sep{height:1px;background:var(--line);margin:3px 2px}
.doodle-tool{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--txt);cursor:pointer;padding:0;position:relative;transition:background .12s, border-color .12s, color .12s}
.doodle-tool svg{width:18px;height:18px}
.doodle-tool:hover{background:#f0ede6}
.doodle-tool.active{background:var(--hl);border-color:var(--accent);color:var(--accent)}
.doodle-tool .doodle-key{position:absolute;right:3px;bottom:0;font-size:8px;color:var(--txt2);font-weight:700;line-height:1;font-family:"SF Mono","Menlo","Consolas",monospace}
.doodle-tool.active .doodle-key{color:var(--accent)}
.doodle-action svg{width:16px;height:16px}
.doodle-action:hover{background:#fff3e0;color:var(--accent)}

/* fill/stroke ウィジェット */
.doodle-fs{display:flex;flex-direction:column;align-items:center;gap:5px;padding:4px 0 2px}
.doodle-fs-stack{position:relative;width:38px;height:38px}
.doodle-fs-swatch{position:absolute;width:24px;height:24px;border:1.5px solid #888;border-radius:3px;cursor:pointer;padding:0;background:#888;box-sizing:border-box}
.doodle-fs-fill{left:0;top:0;z-index:1}
.doodle-fs-stroke{right:0;bottom:0;z-index:1;background:transparent!important;border-width:5px}
.doodle-fs-swatch.active{z-index:2;box-shadow:0 0 0 2px var(--accent), 0 2px 6px rgba(0,0,0,.18)}
.doodle-fs-swatch:hover{border-color:var(--accent)}
.doodle-fs-swatch.none{background:#fff!important;border-color:#aaa}
.doodle-fs-stroke.none{background:transparent!important;border-color:#fff}
.doodle-fs-swatch.none::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:1.8px;background:#f00;transform:rotate(-45deg);transform-origin:center;margin-top:-0.9px;pointer-events:none}
.doodle-fs-mini{display:flex;gap:4px;align-items:center}
.doodle-fs-mini-btn{width:18px;height:18px;padding:0;background:#fff;border:1px solid var(--line);border-radius:3px;cursor:pointer;color:var(--txt);display:flex;align-items:center;justify-content:center;position:relative}
.doodle-fs-mini-btn:hover{color:var(--accent);border-color:var(--accent);background:#fff3e0}
.doodle-fs-mini-btn svg{width:12px;height:12px;stroke:currentColor;display:block}
.dfs-none-mark{display:inline-block;width:11px;height:11px;background:#fff;border:1px solid #aaa;border-radius:1px;position:relative}
.dfs-none-mark::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:1px;background:#f00;transform:rotate(-45deg)}

/* パレットポップオーバー */
.doodle-palette{position:fixed;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px;box-shadow:0 4px 22px rgba(0,0,0,.18);width:230px;max-height:80vh;overflow-y:auto}
.doodle-palette[hidden]{display:none}
.dpp-section{font-size:9.5px;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;margin:8px 0 5px;font-weight:700}
.dpp-section:first-child{margin-top:0}
.dpp-targets{display:flex;gap:6px;margin-bottom:4px}
.dpp-target{flex:1;padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:11px;color:var(--txt2);cursor:pointer}
.dpp-target.on{border-color:var(--accent);color:var(--txt);background:rgba(255,154,1,.08)}
.dpp-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}
.dpp-color{width:22px;height:22px;border-radius:3px;cursor:pointer;border:1px solid #c8c3b8;position:relative;padding:0;background:#eae6de}
.dpp-color:hover{transform:scale(1.18);border-color:var(--accent);z-index:2}
.dpp-color.dpp-none{background:#fff!important;border-color:#aaa}
.dpp-color.dpp-none::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:#f00;transform:rotate(-45deg)}
.dpp-color.dpp-add{background:#fff!important;border-color:#aaa;color:var(--txt2);font-weight:700;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.dpp-color.dpp-add:hover{color:var(--accent);border-color:var(--accent)}
.dpp-empty{grid-column:span 8;color:var(--txt2);font-size:10px;padding:3px 0}
.dpp-hex{display:flex;gap:4px;margin-top:8px;align-items:center}
.dpp-hex .dpp-picker{width:26px;height:24px;padding:0;border:1px solid var(--line);border-radius:3px;cursor:pointer}
.dpp-hex .dpp-hex-input{flex:1;height:24px;background:#fff;border:1px solid var(--line);color:var(--txt);border-radius:3px;padding:0 6px;font-size:11px;font-family:monospace;box-sizing:border-box}
.dpp-hex .dpp-hex-apply{height:24px;padding:0 10px;background:var(--accent);color:#fff;border:0;border-radius:3px;font-size:11px;cursor:pointer;white-space:nowrap;flex-shrink:0;writing-mode:horizontal-tb}
.dpp-hex .dpp-hex-apply:hover{background:#ffae33}

/* ツール別カーソル */
.doodle-pen-on{cursor:default}
.doodle-pen-on .lp-hero,.doodle-pen-on .lp-section{cursor:inherit}
body[data-doodle-tool="select"] .doodle-canvas{cursor:default}
body[data-doodle-tool="direct"] .doodle-canvas{cursor:cell}
body[data-doodle-tool="pencil"] .doodle-canvas,
body[data-doodle-tool="pen"] .doodle-canvas,
body[data-doodle-tool="rect"] .doodle-canvas,
body[data-doodle-tool="ellipse"] .doodle-canvas{cursor:crosshair}

.doodle-canvas g.doodle-selected{filter:drop-shadow(0 0 4px var(--accent))}
.doodle-hints.near-first rect:first-of-type{fill:#ffae33;transform-box:fill-box;transform-origin:center;transform:scale(1.6)}

/* のぞくキャラクター（hover で出現） */
.doodle-peek-wrap{position:fixed;left:60px;top:50%;width:90px;height:auto;z-index:997;pointer-events:none;transform:translate3d(-42%, -50%, 0);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.doodle-peek-img{width:100%;height:auto;display:block;transform:scaleX(-1)}
.doodle-toolbar:hover ~ .doodle-peek-wrap{transform:translate3d(calc(-42% + 30px), -50%, 0)}
@media(max-width:900px){.doodle-peek-wrap{display:none}}
.sp-peek{display:none}
@media(max-width:900px){
  .sp-peek{display:block;position:fixed;right:0;bottom:20px;width:72px;height:auto;border:0;background:transparent;padding:0;z-index:9999;cursor:pointer;pointer-events:none;transform:translate(120%,0) rotate(18deg);transform-origin:100% 100%;transition:transform 1.1s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;outline:none;appearance:none;-webkit-appearance:none;touch-action:manipulation}
  .sp-peek.is-visible{pointer-events:auto;transform:translate(46%,0) rotate(0deg);transition:transform .55s cubic-bezier(.34,1.7,.5,1)}
  .sp-peek:focus,.sp-peek:active,.sp-peek:focus-visible{outline:none;box-shadow:none;background:transparent}
  .sp-peek-img{width:100%;height:auto;display:block;pointer-events:none}
  .sp-peek.shown{transform:translate(8%,0) rotate(0deg)}
  .sp-peek-menu{position:fixed;inset:0;background:rgba(15,15,15,.96);backdrop-filter:blur(10px);z-index:9990;opacity:0;pointer-events:none;transition:opacity .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:calc(env(safe-area-inset-top, 0px) + 60px) 20px 60px;overflow-y:auto}
  .sp-peek-menu.open{opacity:1;pointer-events:auto}
  .sp-peek-logo{display:inline-flex;align-items:center;gap:10px;color:#fafafa;line-height:1;font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif;margin-bottom:34px}
  .sp-peek-logo-mark{width:32px;height:32px;display:block;filter:brightness(0) invert(1)}
  .sp-peek-logo-name{font-size:24px;font-weight:700;letter-spacing:.01em}
  .sp-peek-logo-beta{font-size:11px;font-weight:400;color:#a8a59f;letter-spacing:.3px}
  .sp-peek-logo-by{font-size:12px;font-weight:400;color:#d4d2cd;letter-spacing:.2px}
  .sp-peek-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:0}
  .sp-peek-copy{position:absolute;bottom:20px;left:0;right:0;text-align:center}
  .sp-peek-nav a{color:#fafafa;font-size:20px;font-weight:600;text-decoration:none;letter-spacing:.02em}
  .sp-peek-nav a:hover,.sp-peek-nav a:active{color:var(--accent)}
  /* 利用規約 / プライバシーポリシー の1行表示 */
  .sp-peek-nav-legal{display:flex;align-items:center;gap:10px;margin-top:4px}
  .sp-peek-nav-legal a{font-size:13px;font-weight:500;color:#a8a59f}
  .sp-peek-nav-legal a:hover,.sp-peek-nav-legal a:active{color:#fafafa}
  .sp-peek-nav-sep{color:#54514b;font-size:13px;line-height:1}
  /* 落書きモード トグル */
  .sp-peek-doodle-toggle{display:inline-flex;align-items:center;gap:14px;background:transparent;border:1.5px solid rgba(255,255,255,.22);padding:11px 18px;border-radius:12px;color:#fafafa;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;margin-top:18px;-webkit-tap-highlight-color:transparent}
  .sp-peek-toggle-switch{position:relative;width:38px;height:22px;background:rgba(255,255,255,.18);border-radius:22px;transition:background .2s ease;flex-shrink:0}
  .sp-peek-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .25s cubic-bezier(.34,1.5,.5,1);box-shadow:0 1px 3px rgba(0,0,0,.3)}
  .sp-peek-doodle-toggle[aria-checked="true"]{border-color:#22c55e;color:#86efac}
  .sp-peek-doodle-toggle[aria-checked="true"] .sp-peek-toggle-switch{background:#22c55e}
  .sp-peek-doodle-toggle[aria-checked="true"] .sp-peek-toggle-knob{transform:translateX(16px)}
  .sp-peek-copy{margin:0;color:#7a7770;font-size:11px;letter-spacing:.05em}
  /* sp-peek キャラのふきだし — メニュー開いている間ループ */
  .sp-peek-bubble{position:absolute;right:73px;bottom:82px;background:#fff;color:#1a1a1a;border:1.5px solid #ff9a01;border-radius:16px;padding:9px 14px;font-size:14px;font-weight:600;line-height:1.4;max-width:240px;min-height:1.4em;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:opacity .3s ease, transform .35s cubic-bezier(.34,1.5,.5,1);transform-origin:100% 100%;pointer-events:none}
  .sp-peek-bubble.fading{opacity:0;transform:translateY(4px) scale(.96)}
  /* 尻尾：1要素で描画 → 上下辺の線太さが均一に。base はバブル内に隠す */
  .sp-peek-bubble::before{content:"";position:absolute;right:-9px;bottom:6px;width:11px;height:16px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 16'><path d='M0 1.5 L9 13 L0 12.5' fill='%23ffffff' stroke='%23ff9a01' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'/></svg>") no-repeat center/contain}
  .sp-peek-bubble::after{display:none}
}
@media(min-width:901px){.sp-peek-menu{display:none}}
.lp-hamburger{display:none}
@media(max-width:900px){
  .lp-hamburger{display:inline-flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:0;padding:4px 2px;cursor:pointer;color:var(--txt);-webkit-tap-highlight-color:transparent;outline:none;touch-action:manipulation}
  .lp-hamburger-lbl{color:var(--txt)}
  .lp-hamburger:focus,.lp-hamburger:active,.lp-hamburger:focus-visible{outline:none}
  .lp-hamburger-bars{position:relative;width:22px;height:14px;display:inline-block}
  .lp-hamburger-bars span{position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:1px}
  .lp-hamburger-bars span:nth-child(1){top:0}
  .lp-hamburger-bars span:nth-child(2){top:6px}
  .lp-hamburger-bars span:nth-child(3){top:12px}
  .lp-hamburger-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;line-height:1}
}
}

/* ツール説明 吹き出し（女の子の右） */
.doodle-tooltip{position:fixed;left:155px;z-index:1001;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:0 4px 18px rgba(0,0,0,.12);min-width:200px;max-width:240px;pointer-events:none;font-size:12px}
.doodle-tooltip[hidden]{display:none}
.doodle-tooltip-name{font-weight:700;font-size:13px;margin-bottom:4px;color:var(--txt)}
.doodle-tooltip-desc{color:var(--txt2);line-height:1.55;font-size:12px}
.doodle-tooltip::before{content:"";position:absolute;left:-8px;top:18px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg);border-bottom-left-radius:3px}
@media(max-width:900px){.doodle-tooltip{display:none!important}}
.hstat{display:inline-flex;align-items:baseline;gap:3px;font-size:12px;color:var(--txt2);white-space:nowrap;padding:0 4px}
.hstat-num{font-weight:700;color:var(--txt);font-variant-numeric:tabular-nums;font-size:13px;margin:0 1px}
.hstat-lbl{font-size:10.5px;letter-spacing:.2px}
.hstat-unit{font-size:10.5px;letter-spacing:.2px;color:var(--txt2)}
.hstat.live .hstat-num{color:#22c55e}
.hstat.live .live-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 5px #22c55e;display:inline-block;margin-right:2px;animation:pulseDot 1.6s ease-in-out infinite;align-self:center}
@media(max-width:1100px){.lp-header-stats{display:none}}

.lp-btn{
  display:inline-block;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;
  cursor:pointer;transition:all .15s;border:1px solid transparent;
}
.lp-btn.primary{background:var(--accent);color:#fff!important;border-color:var(--accent)}
.lp-btn.primary:hover{background:#ffae33;border-color:#ffae33}
.lp-btn.outline{background:transparent;color:var(--txt);border-color:var(--line)}
.lp-btn.outline:hover{border-color:var(--accent);color:var(--accent)}
.lp-btn.lg{padding:13px 28px;font-size:15px}
.lp-btn.pill{border-radius:999px;padding-left:32px;padding-right:32px}

.lp-hero{
  padding:60px 0;
  background:#ffffff;
  overflow:hidden;
  position:relative;
}
.lp-hero-overlay{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.lp-hero-overlay img{width:100%;height:100%;object-fit:cover;display:block;opacity:.2;filter:blur(12px) brightness(1.25);animation:heroFloat 22s linear infinite}
@keyframes heroFloat{
  0%   { transform: translate(0, -12px) scale(1.15); }
  25%  { transform: translate(12px, 0) scale(1.15); }
  50%  { transform: translate(0, 12px) scale(1.15); }
  75%  { transform: translate(-12px, 0) scale(1.15); }
  100% { transform: translate(0, -12px) scale(1.15); }
}
.lp-hero-inner{position:relative;z-index:1}
.lp-hero-text{position:relative;z-index:3}
.lp-hero-img{position:relative;z-index:2}
.lp-hero-inner{
  display:flex;align-items:center;gap:32px;
  max-width:1100px;
}
.lp-hero-text{
  flex:0 0 46%;min-width:0;text-align:left;
}
.lp-hero-img{
  flex:1;
  display:flex;align-items:center;justify-content:center;
}
.lp-hero-img img{
  width:100%;max-width:640px;height:auto;display:block;
  animation:heroFadeIn 1.4s cubic-bezier(.16,1,.3,1) both;
}
@keyframes heroFadeIn{
  from{opacity:0;transform:scale(.96) translateY(12px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
@media(max-width:900px){
  .lp-hero{padding:28px 0 30px 0}
  .lp-hero-inner{flex-direction:column;gap:14px}
  .lp-hero-text{flex:1;text-align:center;padding-right:0;padding-bottom:0;display:contents}
  .lp-hero-text h1{order:1;text-align:center;margin-bottom:0!important}
  .lp-hero .lead{order:2;text-align:center;font-size:17px;color:var(--txt2);max-width:520px;margin:0 auto;margin-bottom:0!important}
  .lp-hero-img{flex:1;width:100%;max-width:520px;margin:0 auto;justify-content:center;order:3;margin-top:-4px;margin-bottom:-4px}
  .lp-hero-text .lp-cta{order:4;justify-content:center}
  .lp-hero-text .lp-badges{order:5;justify-content:center;margin-top:-4px}
  .lp-cta,.lp-badges{justify-content:center}
}
.lp-hero h1{
  font-size:clamp(26px,3vw,44px);font-weight:800;margin:0 0 20px;line-height:1.25;letter-spacing:-.5px;
}
.lp-hero .hl{
  background:linear-gradient(90deg, #4a9eff, #a855f7);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lp-hero .lead{font-size:17px;color:var(--txt2);max-width:520px;margin:0 0 32px}
.lp-cta{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap}
.lp-cta.center{justify-content:center;margin-top:28px}
.lp-badges{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}
.badge{
  padding:5px 12px;background:var(--panel);border:1px solid var(--line);
  border-radius:99px;font-size:12px;color:var(--txt2);
}

/* ライブ統計セクション */
.lp-stats{padding:36px 0;background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:780px;margin:0 auto}
.stat-card{text-align:center;padding:18px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;transition:border-color .2s}
.stat-card.live{border-color:rgba(34,197,94,.35)}
.stat-num{font-size:32px;font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1.1}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#22c55e;margin-right:9px;vertical-align:middle;box-shadow:0 0 8px #22c55e;animation:pulseDot 1.6s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}
.stat-lbl{font-size:12px;color:var(--txt2);margin-top:6px;letter-spacing:.4px}
@media(max-width:600px){.stats-grid{grid-template-columns:1fr;gap:10px}.stat-num{font-size:26px}}

/* エディタ用 ステータスバッジ（メニューバー右端） */
.user-counter{
  display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--txt2);
  padding:3px 9px;background:var(--panel);border:1px solid var(--line);border-radius:99px;
  user-select:none;
}
.user-counter .live-dot{width:7px;height:7px;margin:0}
.user-counter strong{color:#22c55e;font-weight:700}

.lp-section{padding:100px 0;border-top:dashed 1px #636363}
@media(max-width:900px){
  .lp-section{padding:60px 0}
  .lp-section h2{font-size:30px;font-weight:700;margin:0 0 20px;text-align:center;letter-spacing:.08rem;line-height:2.2rem}
  .section-lead{text-align:center;color:var(--txt2);max-width:680px;margin:0 auto 44px;font-size:13px!important;letter-spacing:.02rem}
}
.sp-br{display:none}
@media(max-width:760px){
  .lp-section{padding:40px 0}
  #usecases.lp-section{padding:40px 0 50px}
  .lp-studio-cta{padding:50px 0}
  .sp-br{display:inline}
}
.lp-hero .lp-cta .lp-btn{min-width:240px;text-align:center}
@media(min-width:901px){
  .lp-hero .lp-cta{display:flex;flex-wrap:nowrap;gap:10px;max-width:560px}
  .lp-hero .lp-cta .lp-btn{min-width:0;flex:1 1 0;text-align:center;white-space:nowrap;padding-left:18px;padding-right:18px}
}
.lp-cta-final{padding:55px 0;background:var(--accent);color:#fff;position:relative;overflow:visible;border-top:0}
.lp-cta-final::before,.lp-cta-final::after{content:"";position:absolute;left:0;right:0;height:17px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 17' preserveAspectRatio='none'%3E%3Cpath d='M0 17 L12 0 L24 17 Z' fill='%23ff9a01'/%3E%3C/svg%3E") 0 0/24px 17px repeat-x;z-index:1;pointer-events:none}
.lp-cta-final::before{top:-16px}
.lp-cta-final::after{bottom:-16px;transform:scaleY(-1)}
.cta-side{position:absolute;top:50%;width:240px;height:auto;pointer-events:none;transform-origin:50% 100%}
.cta-side-l{left:calc(17% - 2px);transform:translate(0, calc(-50% + 4px)) scaleX(-1);animation:ctaTiltL_pc 5s ease-in-out infinite}
.cta-side-r{right:calc(17% - 2px);transform:translateY(-50%);animation:ctaTiltR_pc 5s ease-in-out infinite}
@keyframes ctaTiltL_pc{0%,20%,100%{transform:translate(0, calc(-50% + 4px)) scaleX(-1) rotate(0deg)}7%{transform:translate(0, calc(-50% + 4px)) scaleX(-1) rotate(5deg)}14%{transform:translate(0, calc(-50% + 4px)) scaleX(-1) rotate(-2deg)}}
@keyframes ctaTiltR_pc{0%,20%,100%{transform:translateY(-50%) rotate(0deg)}7%{transform:translateY(-50%) rotate(5deg)}14%{transform:translateY(-50%) rotate(-2deg)}}
.lp-cta-final h2 .h2-comma-tight{margin-left:3px;margin-right:-7px;display:inline-block}
.lp-cta-final h2 .kt-muryou{letter-spacing:.04em}
.lp-cta-final h2 .kt-kakin{letter-spacing:.04em;margin-left:3px;margin-right:3px}
.lp-cta-final h2 .kt-ha{margin-left:3px;display:inline-block}
.lp-cta-final h2 .kt-en{font-size:1.1em;letter-spacing:.01em;margin-right:4px}
.lp-cta-final h2{transform:translateX(8px)}
/* 1300px以下では h2 が2行になる分の余裕を活かして側面イラストを大きく＆中央寄せ */
/* 1行で詰まる中間幅（〜1500px）はキャラを外側へ */
@media(max-width:1500px){.cta-side{width:240px}.cta-side-l{left:3%}.cta-side-r{right:3%}}
@media(max-width:1300px){.cta-side{width:260px}.cta-side-l{left:5%}.cta-side-r{right:5%}}
/* 2行折返し後（≤1080px）は元の見た目に戻す */
@media(max-width:1080px){.cta-side{width:220px}.cta-side-l{left:10%}.cta-side-r{right:10%}}
/* SP は別に .cta-sides-sp が出るので、PC用 .cta-side を非表示 */
@media(max-width:900px){.cta-side{display:none}}
.cta-sides-sp{display:none}
.sp-only{display:none}
.lp-cta-final h2 .h2-period{display:inline}
/* 1300px以下では CTA h2 を改行してレイアウト崩れ防止 */
@media(max-width:1300px){
  .lp-cta-final h2 .h2-comma-tight,.lp-cta-final h2 .h2-period{display:none}
  .lp-cta-final h2 .sp-only{display:inline}
}
@media(max-width:900px){
  .cta-sides-sp{display:flex;justify-content:center;align-items:flex-end;gap:8px;margin-top:-22px}
  .cta-sides-sp img{width:150px;height:auto;display:block}
  .cta-sides-sp img:first-child{transform:scaleX(-1)}
  .lp-cta-final{padding:55px 0 35px 0}
}
/* SP のみ：エディタへ遷移する前のシェア/コピー モーダル */
.im-share-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.im-share-modal.open{opacity:1;pointer-events:auto}
.im-share-bg{position:absolute;inset:0;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.im-share-card{position:relative;background:#fff;border-radius:16px;padding:31px 22px 18px;max-width:340px;width:100%;text-align:center;box-shadow:0 16px 44px rgba(0,0,0,.35);transform:translateY(8px) scale(.98);transition:transform .25s cubic-bezier(.34,1.5,.5,1)}
.im-share-modal.open .im-share-card{transform:translateY(0) scale(1)}
.im-share-close{position:absolute;top:8px;right:8px;width:32px;height:32px;background:transparent;border:0;color:var(--txt2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;border-radius:6px;-webkit-tap-highlight-color:transparent}
.im-share-close svg{width:18px;height:18px}
.im-share-close:hover{background:#f4f0e9;color:var(--txt)}
.im-share-title{font-size:17px;font-weight:700;margin:0 0 12px;color:var(--txt)}
.im-share-hero{display:block;width:60%;height:auto;margin:0 auto 14px;mix-blend-mode:multiply}
.im-share-msg{font-size:13px;color:var(--txt2);line-height:1.55;margin:0 0 18px}
.im-share-actions{display:flex;flex-direction:row;gap:9px}
.im-share-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 8px;font-size:14px;font-weight:600;border-radius:10px;border:0;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;min-width:0}
.im-share-btn svg{display:block;flex-shrink:0}
.im-share-copy{background:var(--accent);color:#fff}
.im-share-copy:active{background:#e6890a}
.im-share-native{background:#fff;color:var(--accent);border:1.5px solid var(--accent)}
.im-share-native:active{background:#fff2e6}
.im-share-link{background:transparent;color:var(--txt2);font-size:13px;text-decoration:underline;border:0;padding:6px;cursor:pointer;font-family:inherit;margin-top:2px;-webkit-tap-highlight-color:transparent}
.im-share-alt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.im-share-alt-text{font-size:13px;color:var(--txt);font-weight:600}
.im-share-doodle-toggle{margin-top:0;padding:6px 8px;border-color:rgba(0,0,0,.15);background:transparent}
.im-share-doodle-toggle .sp-peek-toggle-switch{background:rgba(0,0,0,.12)}
.im-share-doodle-toggle[aria-checked="true"]{border-color:#22c55e;background:transparent}
.im-share-doodle-toggle[aria-checked="true"] .sp-peek-toggle-switch{background:#22c55e}
.im-share-toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#1a1a1a;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;z-index:10001;opacity:0;transition:opacity .25s ease;pointer-events:none;max-width:80vw;text-align:center}
.im-share-toast.show{opacity:1}
@media(max-width:900px){.im-share-modal{display:flex}}
.lp-btn .arrow-ic{display:inline-block;vertical-align:-2px;width:14px;height:14px;margin-left:4px}
.lp-btn .arrow-ic svg{width:100%;height:100%;display:block}
@media(max-width:760px){body.lp-top .lp-cta-final .lp-btn.primary,body.lp-top .lp-hero .lp-btn.primary,.lp-header .lp-btn.primary{color:#000 !important}}
.lp-cta-final .cta-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;text-align:center}
.lp-cta-final h2{font-size:24px;color:#fff;margin:0;text-align:center}
.lp-cta-final .cta-logo{display:inline-flex;align-items:center;gap:12px;color:#fff;line-height:1;font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif}
.lp-cta-final .cta-logo-mark{width:38px;height:38px;display:block;filter:brightness(0) invert(1);flex-shrink:0}
.lp-cta-final .cta-logo-name{font-size:38px;font-weight:700;letter-spacing:.01em;line-height:1;display:inline-block;position:relative;top:1px}
.lp-cta-final .lp-btn.primary{background:#fff;color:var(--accent)!important;border-color:#fff;flex-shrink:0}
.lp-cta-final .lp-btn.primary:hover{background:#fff;border-color:#fff;color:rgba(255,154,1,.7)!important}
@media(max-width:600px){.lp-cta-final .cta-inline{flex-direction:column;text-align:center;gap:14px}.lp-cta-final h2{text-align:center;font-size:20px;line-height:1.8rem}}
.cta-sides-sp img{transform-origin:50% 100%;animation:ctaTiltR 5s ease-in-out infinite}
.cta-sides-sp img:first-child{animation-name:ctaTiltL}
@keyframes ctaTiltR{0%,20%,100%{transform:rotate(0deg)}7%{transform:rotate(5deg)}14%{transform:rotate(-2deg)}}
@keyframes ctaTiltL{0%,20%,100%{transform:scaleX(-1) rotate(0deg)}7%{transform:scaleX(-1) rotate(5deg)}14%{transform:scaleX(-1) rotate(-2deg)}}


/* ASI Studio CM セクション */
.lp-studio-cta{padding:64px 0;background-color:#ffffff;background-image:linear-gradient(rgba(120,190,230,.09) 1px, transparent 1px),linear-gradient(90deg, rgba(120,190,230,.09) 1px, transparent 1px);background-size:20px 20px;background-position:-1px -1px;border-top:1px solid var(--line)}
.brand-by .asi-letters>span{display:inline-block;animation:asiDrop 5.75s ease-out infinite}
.brand-by .asi-letters>span:nth-child(1){animation-delay:0s}
.brand-by .asi-letters>span:nth-child(2){animation-delay:.15s}
.brand-by .asi-letters>span:nth-child(3){animation-delay:.3s}
.brand-by .asi-letters>span:nth-child(4){animation-delay:.45s}
.brand-by .asi-letters>span:nth-child(5){animation-delay:.6s}
@keyframes asiDrop{0%{transform:translateY(-5px)}4%{transform:translateY(0)}100%{transform:translateY(0)}}
.studio-grid{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:center}
.studio-img{display:flex;justify-content:center}
.studio-img img{max-width:100%;height:auto;border-radius:12px}
.studio-img img.studio-illust{
  border-radius:50%;
  -webkit-mask-image:radial-gradient(circle, #000 55%, rgba(0,0,0,.85) 70%, transparent 95%);
  mask-image:radial-gradient(circle, #000 55%, rgba(0,0,0,.85) 70%, transparent 95%);
  background:transparent;
}
.studio-eyebrow{font-size:11px;color:var(--accent);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.lp-studio-cta h2{font-size:26px;margin:0 0 14px;text-align:left;line-height:1.4;letter-spacing:-.3px}
.lp-studio-cta p{font-size:14px;color:var(--txt2);line-height:1.8;margin-bottom:16px}
.lp-studio-cta p b{color:var(--txt)}
.studio-points{list-style:none;padding:0;margin:0 0 20px}
.studio-points li{font-size:13px;color:var(--txt2);padding:5px 0 5px 22px;position:relative;line-height:1.6}
.studio-points li::before{content:"";position:absolute;left:0;top:11px;width:14px;height:2px;background:var(--accent)}
.studio-points li b{color:var(--txt)}
.studio-cta-row{display:flex;gap:10px;flex-wrap:wrap}
.studio-img-sp{display:none}
@media(max-width:760px){.studio-grid{grid-template-columns:1fr;gap:24px}.studio-img{display:none}.studio-img-sp{display:flex;justify-content:center;margin:0 auto 6px;max-width:260px}.studio-img-sp img{width:100%;height:auto}.lp-studio-cta h2{text-align:left;font-size:22px}.lp-studio-cta .studio-eyebrow{text-align:left}}

/* 右下floating CTA — PCのみ */
.floating-cta{
  position:fixed;right:24px;bottom:24px;z-index:60;
  width:316px;background:#ffffff;border:1px solid var(--line);
  border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);
  padding:14px;gap:12px;align-items:center;
  text-decoration:none;color:var(--txt);transition:transform .15s, box-shadow .15s;
  display:flex;
}
.floating-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.2);color:var(--txt)}
.floating-cta__img{width:60px;height:60px;border-radius:8px;background:var(--bg-alt);flex-shrink:0;object-fit:cover}
.floating-cta__body{flex:1;min-width:0}
.floating-cta__eyebrow{font-size:9.5px;color:var(--accent);font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-bottom:3px}
.floating-cta__title{font-size:13px;font-weight:700;line-height:1.35;margin-bottom:3px}
.floating-cta__sub{font-size:10px;color:var(--txt2);line-height:1.4}
.floating-cta__close{position:absolute;top:4px;right:6px;width:16px;height:16px;border:0;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:.45;border-radius:3px;transition:opacity .15s, background .15s}
.floating-cta__close:hover{opacity:1;background:var(--bg-alt)}
@media(max-width:760px){.floating-cta{display:none}}
.lp-section.alt{background:var(--bg-alt)}

/* AIエージェント シーンステージ */
.usecase-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;margin-top:24px;min-height:330px;background:#f7f8f5;border:9px solid var(--line);border-radius:24px;padding:30px 48px;box-shadow:0 6px 28px rgba(0,0,0,.04)}
.usecase-left{display:flex;flex-direction:column;justify-content:center;min-height:340px}
.usecase-bubble{
  position:relative;background:#ffffff;border:1px solid var(--line);
  border-radius:22px;padding:24px 28px;font-size:24px;font-weight:700;
  line-height:1.5;color:var(--txt);box-shadow:0 4px 22px rgba(0,0,0,.06);
  min-height:70px;display:flex;align-items:center;
  opacity:0;transform:translateY(8px);transition:opacity .35s, transform .35s;
}
.usecase-bubble.active{opacity:1;transform:translateY(0)}
.usecase-bubble.leaving{opacity:0;transform:translateY(-8px)}
.usecase-bubble::after{
  content:"";position:absolute;right:-9px;bottom:30px;
  width:16px;height:16px;background:#ffffff;
  border-right:1px solid var(--line);border-top:1px solid var(--line);
  border-top-right-radius:6px;transform:rotate(45deg);
}
.bubble-caret{display:inline-block;font-weight:400;color:var(--accent);margin-left:1px;position:relative;top:-1px;animation:blinkCaret 1s steps(1) infinite}
@keyframes blinkCaret{0%,50%{opacity:1}51%,100%{opacity:0}}
.usecase-desc{
  margin:20px 6px 0;font-size:15px;line-height:1.7;color:var(--txt2);
  min-height:108px;white-space:pre-line;
  opacity:0;transform:translateY(6px);transition:opacity .4s, transform .4s;
}
.usecase-desc.show{opacity:1;transform:translateY(0)}
.usecase-desc.leaving{opacity:0;transform:translateY(-6px)}
.usecase-dots-row{display:flex;align-items:center;gap:10px;margin-top:24px;padding-left:0}
.usecase-dots{display:flex;gap:10px;align-items:center}
.usecase-dot{
  width:10px;height:10px;border-radius:50%;background:#cfc8b8;border:0;padding:0;cursor:pointer;
  transition:background .2s, transform .2s;
}
.usecase-dot:hover{background:#a59c8a}
.usecase-dot.active{background:var(--accent);transform:scale(1.35)}
.usecase-nav{
  width:26px;height:26px;border:0;background:transparent;color:var(--txt2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0;
  transition:color .15s, background .15s;
}
.usecase-nav svg{width:16px;height:16px;display:block}
.usecase-nav:hover{color:var(--accent);background:rgba(0,0,0,.05)}
.usecase-cta{margin-top:22px;padding-left:0}
.usecase-right{display:flex;align-items:center;justify-content:center;position:relative}
.usecase-right .char-static{width:100%;max-width:420px;height:auto;display:block}
.usecase-right .char-gif{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;max-width:420px;height:auto;opacity:0;pointer-events:none}
.usecase-right.talking .char-gif{opacity:1}
@media(max-width:900px){
  .usecase-stage{grid-template-columns:1fr;gap:24px;padding:20px 15px 27px 15px;border-radius:18px}
  .usecase-right{order:-1;max-width:300px;margin:0 auto}
  .usecase-left{min-height:0}
  /* ふきだしと説明文は固定高にしてレイアウトのガタつき防止 */
  .usecase-bubble{font-size:14px;padding:12px 17px;border-radius:18px;margin-top:8px;height:88px;min-height:0;display:flex;align-items:center;justify-content:center;text-align:center}
  .usecase-bubble::after{
    display:block;
    right:auto;bottom:auto;
    left:72%;top:-9px;
    width:16px;height:16px;
    border-right:0;border-top:1px solid var(--line);border-left:1px solid var(--line);
    border-top-right-radius:0;border-top-left-radius:6px;
    transform:rotate(45deg);
  }
  .usecase-desc{font-size:14px;line-height:1.7;height:170px;min-height:0;margin-top:14px;overflow:hidden}
  .usecase-dots-row{justify-content:center;margin-top:10px}
  .usecase-cta{display:flex;justify-content:center}
}
.lp-section h2{font-size:35px;font-weight:700;margin:0 0 20px;text-align:center;letter-spacing:.08rem;line-height:2.5rem}
.section-lead{text-align:center;color:var(--txt2);max-width:680px;margin:0 auto 44px;font-size:17px!important;letter-spacing:.02rem}
@media(max-width:900px){
  .lp-section h2{font-size:30px;line-height:2.2rem}
  .section-lead{font-size:13px!important;margin:0 auto 25px}
}
.section-lead.center{text-align:center}
.lp-section h3{font-size:18px;font-weight:600;margin:14px 0 8px}
.lp-subhead{font-size:22px;font-weight:700;margin:56px 0 8px;text-align:center;letter-spacing:-.2px}
.lp-subhead:first-of-type{margin-top:8px}
.lp-subhead-lead{text-align:center;color:var(--txt2);font-size:14px;margin:0 auto 28px;max-width:680px}
.lp-section p{color:var(--txt2);font-size:14px}

.lp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:760px){
  .lp-grid-3,.lp-grid-2{grid-template-columns:1fr}
  .lp-nav{gap:14px}
  .lp-nav a:not(.primary){display:none}
  .lp-nav .lp-nav-dd{display:none}
}

.card{
  background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;
  transition:border-color .2s, transform .2s;
}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card-icon{
  width:44px;height:44px;background:var(--hl);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent);
  margin-bottom:12px;
}
.card-icon svg{width:22px;height:22px}

/* 主な機能 - スプリットレイアウト */
.features-split{display:grid;grid-template-columns:42fr 58fr;gap:48px;align-items:center}
.features-list{display:flex;flex-direction:column;gap:17px}
.feature-row{padding:6px 0}
.feature-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.feature-head .card-icon{width:32px;height:32px;border-radius:5px;margin:0;flex-shrink:0;background:#f0ede6;border:1px solid #d4cfc3;color:#2c2820;box-sizing:border-box;position:relative}
.feature-head .card-icon svg{width:16px;height:16px;stroke-width:2}
.features-list .feature-row:nth-child(4) .card-icon svg{transform:translateY(-2px)}
.feature-head .card-icon .card-icon-key{position:absolute;right:3px;bottom:0;font-size:8px;color:#7a7264;font-weight:700;line-height:1;font-family:"SF Mono","Menlo","Consolas",monospace;letter-spacing:.02em}
.feature-head h3{margin:0;font-size:17px;font-weight:700;line-height:1.3}
.feature-row p{color:var(--txt2);font-size:13.5px;line-height:1.65;margin:0;padding-left:0}
@media(max-width:760px){
  .features-list{gap:3px}
  .feature-head{margin-bottom:12px}
  .feature-row p{font-size:12px}
}
.features-img{display:flex;align-items:center;justify-content:center}
.features-img img{width:100%;max-width:820px;height:auto;display:block;border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.12);border:1px solid var(--line)}
.features-img-stack{position:relative;width:100%;max-width:820px}
.features-img img.features-img-star{display:none}
@media(min-width:901px){
  .features-img-stack img.features-img-star{display:block;position:absolute;inset:0;width:100%;max-width:none;box-shadow:none;border:1px solid var(--line);animation:starTwinkle 3s steps(1,end) infinite}
}
@keyframes starTwinkle{
  0%, 100% { opacity: 1; }
  72% { opacity: 0; }
  82% { opacity: 1; }
  86% { opacity: 0; }
  95% { opacity: 1; }
}
@media(max-width:900px){
  .features-split{grid-template-columns:1fr;gap:28px}
  .features-img{order:-1}
}
@media(max-width:760px){
  .features-split{gap:15px}
}

.code-block{
  background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;overflow:hidden;
}
.code-label{
  padding:8px 14px;background:var(--bg);border-bottom:1px solid var(--line);
  font-size:11px;color:var(--txt2);font-weight:600;letter-spacing:.5px;text-transform:uppercase;
}
.code-block pre{margin:0;padding:16px 18px;overflow-x:auto;font-size:12.5px;line-height:1.7}
.code-block code{font-family:"SF Mono","Menlo","Consolas",monospace;color:#1f2937}

.footnote{font-size:12px;color:var(--muted);margin-top:12px}
.muted{color:var(--muted);font-size:13px}

.lp-footer{padding:48px 0 32px;background:#0f0f0f;border-top:1px solid #0f0f0f;color:#d4d2cd}
.lp-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.lp-foot-grid h4{font-size:13px;color:#fafafa;margin:0 0 12px;font-weight:600}
.lp-foot-grid h4.footer-brand{font-size:26px;font-weight:700;font-family:"Plus Jakarta Sans",sans-serif;display:inline-flex;align-items:baseline;gap:10px;color:#fafafa}
.lp-foot-grid h4.footer-brand .brand-mark{width:29px;height:29px;align-self:center;filter:brightness(0) invert(1)}
.lp-foot-grid a{display:block;color:#a8a59f;font-size:13px;padding:3px 0}
.lp-foot-grid a:hover{color:var(--accent)}
.lp-footer .muted,.lp-footer p{color:#8c8a85}
.footer-copy-bottom{display:none}
.lead-sp{display:none}
@media(max-width:760px){.pc-only-flow,.lead-pc{display:none}.lead-sp{display:inline}}
@media(max-width:760px){
  .lp-footer{padding:19px 11px 17px}
  /* SP: ブランド行は全幅、ツール/会社は横並び2列 */
  .lp-foot-grid{grid-template-columns:1fr 1fr;gap:18px 22px}
  .lp-foot-grid > :first-child{grid-column:1 / -1}
  .lp-foot-grid h4.footer-brand{margin-bottom:0}
  /* プライバシー / 利用規約 を1行に */
  .foot-inline-row{display:flex;align-items:center;gap:8px;padding:3px 0}
  .lp-foot-grid .foot-inline-row a{display:inline;padding:0}
  .foot-sep{color:#54514b;font-size:13px;line-height:1}
  .footer-copy-inline{display:none}
  .footer-copy-bottom{display:block;text-align:left;margin:14px 0 0}
}

code{background:var(--panel);padding:2px 6px;border-radius:3px;font-size:.9em;font-family:"SF Mono","Menlo","Consolas",monospace}
