@font-face{font-family:"Inter";src:url("/fonts/inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"M PLUS 1";src:url("/fonts/mplus1.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root{
  color-scheme:light;
  --paper:#f2efe7;--paper-2:#e9e5da;--rule:#d6d0c2;
  --ink:#17191d;--soft:#3b3f48;--muted:#6a6e78;
  --pen:#1b78c8;--pen-light:#5ab8f5;
  --orange:#c8692c;--blue:#2f7fc4;--green:#4c8f31;
  --screen:#111318;
  --font:"Inter","M PLUS 1","Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.8 var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3{margin:0;font-weight:700;line-height:1.35}
p{margin:0}
html[lang=ja] p[data-l=ja]~p[data-l=ja],html[lang=en] p[data-l=en]~p[data-l=en]{margin-top:1em}
html[lang=ja] :is(h1,h2,h3){word-break:auto-phrase}
html[lang=ja] p{line-break:strict}
p{text-wrap:pretty}
[data-l]{display:none}
html[lang=ja] [data-l=ja],html[lang=en] [data-l=en]{display:revert}
.wrap{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}

.top{display:flex;align-items:center;height:64px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;text-decoration:none;font-size:16px;white-space:nowrap}
.top nav{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px}
.top nav a{text-decoration:none;color:var(--soft);white-space:nowrap}
.top nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.top .mini{border:1.5px solid var(--ink);color:var(--ink);border-radius:6px;padding:4px 12px;font-weight:600}
.top .mini:hover{background:var(--ink);color:var(--paper);text-decoration:none}

.hero{padding-top:40px;display:grid;grid-template-columns:minmax(0,1fr);position:relative}
.hero h1{font-size:clamp(31px,5.2vw,60px);letter-spacing:-.01em;line-height:1.3}
html[lang=en] .hero h1{max-width:12em;line-height:1.3;letter-spacing:-.02em}
.circ{white-space:nowrap}
.nw{white-space:nowrap}
.sub{margin-top:24px;max-width:34em;color:var(--soft);font-size:clamp(16px,1.6vw,18px)}
.get{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border:0;border-radius:8px;background:var(--ink);color:var(--paper);font:700 17px var(--font);text-decoration:none;cursor:pointer}
.btn:hover{background:#2a2e35}
.btn:focus-visible,.top a:focus-visible{outline:3px solid var(--pen);outline-offset:3px}
.btn svg{width:19px;height:19px;fill:currentColor;stroke:none}

.shot{margin:0;border-radius:10px;overflow:hidden;background:var(--screen);box-shadow:0 1px 0 rgba(0,0,0,.08),0 26px 50px -28px rgba(20,22,28,.55)}
.hero-shot{margin-top:40px}


.steps{padding-top:72px}
.steps ol{margin:0;padding-left:1.4em;color:var(--soft);font-size:17px}
.steps li+li{margin-top:8px}
.steps li::marker{color:var(--pen);font-weight:700}
.scene{padding-top:112px;display:grid;gap:26px;align-items:start}
.scene h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.005em}
.scene .txt p{color:var(--soft)}
.scene .txt h2{margin-bottom:16px}
.scene .txt{max-width:36em}
.s-pair{row-gap:56px}


.faq{padding-top:112px;padding-bottom:120px}
.faq h2{font-size:clamp(24px,3vw,34px);margin-bottom:28px}
.qa{border-top:1px solid var(--rule);padding:18px 0 20px}
.qa h3{font-size:17px;margin-bottom:4px}
.qa p{color:var(--soft);font-size:16px;max-width:38em}
.qa a{color:var(--pen);text-underline-offset:3px}

.end{background:var(--screen);color:#eceae4;padding:88px 0 96px}
.end h2{font-size:clamp(28px,4.6vw,52px);letter-spacing:-.01em;max-width:14em}
.end .btn{background:var(--paper);color:var(--ink)}
.end .btn:hover{background:#fff}
.end .get{margin-top:32px}
.end .watch{display:block;width:min(220px,60vw);height:auto;margin:48px auto 0}

footer.wrap{display:flex;align-items:center;gap:10px 24px;flex-wrap:wrap;padding-top:26px;padding-bottom:40px;color:var(--muted);font-size:14px}
footer .brand{font-size:14px;color:var(--soft);gap:8px}

@media (min-width:880px){
  .hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
  .hero h1{font-size:clamp(32px,3.2vw,46px)}
  .hero-shot{margin-top:0}
  .s-draw,.s-board{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;align-items:center}
  .s-draw{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .s-draw .shot{order:-1}
  .s-pair{grid-template-columns:1fr 1fr;gap:56px}
  .wrap{padding-left:32px;padding-right:32px}
  .hero{padding-top:72px}
  .faq{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}
  .faq h2{position:sticky;top:32px}
  .end .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:32px}
  .end .watch{justify-self:center;margin-top:0}
}
@media (max-width:879px){
  .scene{padding-top:88px}
}
@media (max-width:480px){
  .top nav{gap:12px}
  .top nav a[href="#faq"]{display:none}
  .get .btn{width:100%}
}

:root{color-scheme:dark;--paper:#0e1013;--paper-2:#15181d;--rule:#262a31;--ink:#e8eaee;--soft:#b3b8c2;--muted:#878d99;--pen:#3dd6c6;--accent:#3dd6c6;--on-accent:#04211e;--screen:#0b0d10}
h1,h2,h3{font-weight:700}
.hero h1{letter-spacing:-.02em}
html[lang=en] .hero h1{letter-spacing:-.03em}
.scene h2,.faq h2{letter-spacing:-.015em}
.top nav a{color:var(--muted)}
.top .mini{border:1px solid #3a3f48;border-radius:6px}
.top .mini:hover{background:#1b1f25;color:var(--ink)}
.btn{background:var(--accent);color:var(--on-accent);border-radius:6px;font-weight:700}
.btn:hover{background:#5ae0d2}
.shot{border-radius:8px;border:1px solid #23272e;box-shadow:none}
.steps li::marker{color:var(--accent)}
.end{background:#15181d;color:var(--ink);border-top:1px solid var(--rule)}
.end .btn{background:var(--accent);color:var(--on-accent)}
.end .btn:hover{background:#5ae0d2}
footer .brand{color:var(--soft)}
.scene ul{margin:0;padding-left:1.2em;color:var(--soft)}
.scene p+ul{margin-top:12px}
.scene li+li{margin-top:6px}
.scene li::marker{color:var(--accent)}
.art{background:var(--paper-2);aspect-ratio:16/10;display:grid;place-items:center}
.art svg{width:100%;height:100%}
.art path,.art rect,.art circle{fill-opacity:1}
.art text.nm{fill:var(--muted);stroke:none;font:600 18px var(--font)}
html[lang] .art text.big{font-size:26px}
