:root{--bg: #FFFFFF;--bg-sub: #F4F4F5;--ink: #1A1B1F;--ink-sub: #52555E;--line: #D0D1D6;--line-strong: #7F828C;--accent: #E8590C;--accent-text: #C94A0A;--on-accent: #1A1B1F;--ph-bg: #EDEDEF;--ph-line: #9A9DA6;--radius: 0;--rule: 1px;--rule-strong: 2px;--maxw: 1200px;--gutter: 24px;--grid-size: 32px;--pad-x: 32px;--pad-y: 128px;--header-h: 64px;--font: "Sora", "Noto Sans JP", -apple-system, "Hiragino Sans", "Yu Gothic UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}[data-tone=dark]{--bg: #16181C;--bg-sub: #1F2126;--ink: #ECEDF0;--ink-sub: #A6A9B2;--line: #2E3137;--line-strong: #6B6F7A;--accent: #F07A36;--accent-text: #F07A36;--ph-bg: #1F2126}@media(max-width:767px){:root{--pad-x: 16px;--pad-y: 72px;--header-h: 56px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}[id]{scroll-margin-top:calc(var(--header-h) + 16px)}body{font-family:var(--font);font-size:16px;line-height:1.8;color:var(--ink);background:var(--bg);overflow-x:hidden}a{color:inherit}[data-tone]{background-color:var(--bg);color:var(--ink)}.wrap{max-width:calc(var(--maxw) + var(--pad-x) * 2);margin:0 auto;padding:0 var(--pad-x)}.nw{white-space:nowrap}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:100;background:var(--bg);padding:8px 12px;border:var(--rule) solid var(--ink)}:focus-visible{outline:var(--rule-strong) solid var(--accent);outline-offset:2px}.hdr{position:sticky;top:0;z-index:50;height:var(--header-h);border-bottom:var(--rule) solid var(--line)}.hdr .wrap{height:100%;display:flex;align-items:center;gap:32px}.logo{display:block;flex:none}.logo svg{display:block;height:32px;width:auto}.nav{display:flex;gap:28px;margin-left:auto}.nav a{font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.nav a:hover{text-decoration:underline}.toc{display:none;margin-left:auto}.toc summary{list-style:none;cursor:pointer;font-size:14px;font-weight:700;padding:6px 12px;border:var(--rule) solid var(--line-strong)}.toc summary::-webkit-details-marker{display:none}.toc ul{position:absolute;left:0;right:0;top:var(--header-h);list-style:none;background:var(--bg);border-bottom:var(--rule) solid var(--line)}.toc li a{display:block;padding:14px var(--pad-x);border-top:var(--rule) solid var(--line);text-decoration:none;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font-size:15px;font-weight:700;text-decoration:none;border:var(--rule) solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-sm{min-height:40px;padding:0 16px;font-size:14px}.btn-row{display:flex;flex-wrap:wrap;gap:16px}.sec{padding:var(--pad-y) 0;border-top:var(--rule) solid var(--line);position:relative}.sec-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 24px}.axis{font-family:var(--mono);font-size:12px;font-weight:700;width:40px;height:28px;display:flex;align-items:center;justify-content:center;border:var(--rule) solid var(--ink)}.label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-sub)}h1,h2,h3{font-weight:700;letter-spacing:.01em}h1{font-size:clamp(30px,3.8vw,56px);line-height:1.25}h2{font-size:36px;line-height:1.35;margin-top:4px}h3{font-size:22px;line-height:1.45}.lead{max-width:640px;margin-top:16px;color:var(--ink-sub)}.lead.phr{word-break:keep-all;overflow-wrap:anywhere}.note{font-size:13px;line-height:1.6;color:var(--ink-sub)}.ph{position:relative;display:flex;align-items:center;justify-content:center;background:var(--ph-bg);border:var(--rule) solid var(--ph-line);aspect-ratio:16 / 10;margin-top:32px}.ph span{max-width:90%;text-align:center;font-family:var(--mono);font-size:12px;color:var(--ink-sub);background:var(--bg);border:var(--rule) solid var(--ph-line);padding:2px 8px}.hero{padding:96px 0 72px}.hero .g{display:grid;grid-template-columns:6fr 6fr;gap:var(--gutter);align-items:center}.hero .ph{margin-top:0;aspect-ratio:4 / 3}.hero h1+.lead{color:var(--ink)}.faq{margin-top:32px;max-width:800px}.faq dt{font-weight:700;padding-top:16px;border-top:var(--rule) solid var(--line)}.faq dd{color:var(--ink-sub);padding-bottom:16px}.contact .addr{margin-top:16px;font-family:var(--mono);font-size:14px}.ftr{padding:64px 0 48px;border-top:var(--rule) solid var(--line)}.ftr-main{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px 48px}.ftr-co{display:flex;flex-direction:column;font-style:normal;font-size:14px;line-height:1.7;color:var(--ink-sub)}.ftr-co .ftr-name{color:var(--ink);font-weight:700}.ftr-note{margin-top:32px;font-size:12px}.ftr-copy{margin-top:24px;padding-top:20px;border-top:var(--rule) solid var(--line);text-align:center;font-size:12px;color:var(--ink-sub)}.ftr-copy small{font-size:inherit}.ftr .lockup{width:280px}.ftr .lockup svg{display:block;width:100%;height:auto}@media(max-width:1023px){.hdr .wrap{gap:20px}.nav{gap:18px}}@media(max-width:767px){.nav,.hdr .btn{display:none}.toc{display:block}h1{font-size:min(32px,8vw)}h2{font-size:26px}h3{font-size:19px}.hero{padding:48px 0}.hero .g{grid-template-columns:minmax(0,1fr)}.sec-head{grid-template-columns:minmax(0,1fr);gap:8px}.ftr .lockup{width:240px}}.ph-tablet{aspect-ratio:4 / 3}.ph-band{aspect-ratio:3 / 1}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter)}@media(max-width:767px){.two{grid-template-columns:1fr}}.mt-32{margin-top:32px}@media(max-width:767px){h1{font-size:min(32px,8vw)}}.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}.steps li{counter-increment:step;border-top:var(--rule-strong) solid var(--ink);padding-top:12px;display:flex;flex-direction:column;gap:4px}.steps li:before{content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink-sub)}.steps span{font-size:13px;color:var(--ink-sub)}@media(max-width:767px){.steps{grid-template-columns:minmax(0,1fr)}}.shot{margin-top:32px}.shot img{display:block;width:100%;height:auto;border:var(--rule) solid var(--line-strong)}.figcap{margin-top:8px;padding-top:6px;border-top:var(--rule) solid var(--line);font-size:13px;line-height:1.6;color:var(--ink-sub)}.figcap b{font-family:var(--mono);font-weight:700;color:var(--ink)}.hero .shot{margin-top:0}.frames .shot img{border:0}.frames{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:1199px){.frames{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.frames{grid-template-columns:minmax(0,1fr)}}.hero-stage{position:relative}.hero-live{position:absolute;inset:0;overflow:hidden;background:var(--bg);color:var(--ink);border:var(--rule) solid var(--line-strong);opacity:0;pointer-events:none;transition:opacity .4s linear}.hero-stage.is-live .hero-live{opacity:1;pointer-events:auto}.hero-stage.is-live .hero-stop{display:flex}.hero-stage:focus{outline:none}.hero-canvas{position:absolute;inset:0}.hero-canvas canvas{display:block;width:100%;height:100%}.auth-backdrop{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0;transition:opacity .4s linear}.auth-backdrop.is-on{opacity:1}.hero-stop{display:none;position:absolute;z-index:3;right:12px;bottom:12px;width:44px;height:44px;padding:0;align-items:center;justify-content:center;color:var(--ink);background:var(--bg);border:var(--rule) solid var(--line-strong);border-radius:var(--radius);cursor:pointer}.hero-stop:hover{border-color:var(--accent);color:var(--accent)}.hero-stop .i-play,.hero-stop[aria-pressed=true] .i-pause{display:none}.hero-stop[aria-pressed=true] .i-play{display:block}.hero-tag{position:absolute;left:12px;bottom:12px;z-index:2;max-width:calc(50% - 12px);padding:8px 10px;background:var(--bg);border:var(--rule) solid var(--line-strong);border-left:2px solid var(--accent);font-size:12px;line-height:1.5;transition:opacity .15s linear}.hero-tag table{border-collapse:collapse}.hero-tag th{padding:0 10px 0 0;font-weight:400;text-align:left;vertical-align:top;color:var(--ink-sub);white-space:nowrap}.hero-tag td{padding:0;vertical-align:top;color:var(--ink);overflow-wrap:anywhere}.hero-tag td[data-k=tag]{font-family:var(--mono);font-weight:700;color:var(--accent-text)}.hero-tag.is-alert td[data-k=check]{font-weight:700;color:var(--accent-text)}.hero-lead{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none;transition:opacity .15s linear}.hero-lead line{stroke:var(--accent);stroke-width:1px}@media(prefers-reduced-motion:reduce){.hero-live{display:none}.hero-tag,.hero-lead{transition:none}}@media(max-width:767px){.hero-stop{top:8px;right:8px;bottom:auto}.hero-tag{left:8px;bottom:8px;max-width:calc(100% - 16px);padding:6px 8px}.hero-tag.is-right{left:auto;right:8px}}.narrow{max-width:760px}.two .shot img:not(.svgfig){aspect-ratio:1584 / 860;object-fit:cover;object-position:top left}@media(min-width:768px){.two .shot img.svgfig{aspect-ratio:1584 / 860}}.zoom{display:block;cursor:zoom-in}.zoom:focus-visible{outline-offset:4px}dialog.lightbox{margin:auto;padding:0;border:var(--rule) solid #7F828C;background:#16181c;max-width:90vw;max-height:85vh;overflow:hidden}dialog.lightbox::backdrop{background:#16181cd1}dialog.lightbox img{display:block;width:auto;height:auto;max-width:90vw;max-height:calc(85vh - 44px);cursor:zoom-out}.lightbox-cap{margin:0;padding:10px 96px 10px 12px;font-size:13px;line-height:1.6;color:#ecedf0}.lightbox-close{position:absolute;right:8px;bottom:6px;min-height:32px;padding:0 12px;font:inherit;font-size:13px;font-weight:700;color:#ecedf0;background:transparent;border:var(--rule) solid #6B6F7A;border-radius:0;cursor:pointer}.mt-16{margin-top:16px}#top{position:absolute;top:0;left:0;width:1px;height:1px;outline:none}.totop{position:fixed;z-index:40;right:max(28px,env(safe-area-inset-right));bottom:calc(max(28px,env(safe-area-inset-bottom)) + var(--totop-lift, 0px));display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg);color:var(--ink);border:var(--rule) solid var(--line-strong);border-radius:var(--radius);text-decoration:none;transition:opacity .15s linear,visibility .15s linear}.totop:hover{border-color:var(--accent);color:var(--accent)}@media(scripting:enabled){.totop:not(.is-on){opacity:0;visibility:hidden}}body:has(dialog[open]) .totop{display:none}@media(prefers-reduced-motion:reduce){.totop{transition:none}}@media(max-width:767px){.totop{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom) + var(--totop-lift, 0px))}}.ftr-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;list-style:none;font-size:13px}.ftr-links a{color:var(--ink-sub)}.ftr-links a:hover{color:var(--ink)}.contact-page h1,.privacy h1{font-size:36px;line-height:1.35;margin-top:4px}.cf{max-width:720px;margin-top:40px}.cf .field{margin-top:24px;border:0;padding:0;min-width:0}.cf label,.cf legend{display:block;font-weight:700;font-size:15px}.cf .check{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:700;min-height:44px;cursor:pointer}.cf .check input{width:20px;height:20px;accent-color:var(--accent)}.req,.opt{display:inline-block;margin-left:8px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;vertical-align:2px;border:var(--rule) solid currentColor}.req{color:var(--accent-text)}.opt{color:var(--ink-sub)}.cf input[type=text],.cf input[type=email],.cf input[type=tel],.cf textarea{display:block;width:100%;margin-top:8px;padding:10px 12px;min-height:48px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:var(--rule) solid var(--line-strong);border-radius:var(--radius)}.cf textarea{min-height:200px;line-height:1.7;resize:vertical}.cf ::placeholder{color:var(--ink-sub);opacity:.75}.cf [aria-invalid=true]{border-color:var(--accent-text);border-width:2px}.cf .err{margin-top:6px;font-size:14px;font-weight:700;color:var(--accent-text)}.cf .btn[disabled]{opacity:.6;cursor:progress}.cf .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{margin-top:16px}.form-done{max-width:720px;margin-top:40px;padding:24px;border:var(--rule) solid var(--line-strong);border-left:2px solid var(--accent)}.form-done h2{font-size:24px}.contact-page .addr{margin-top:16px;font-family:var(--mono);font-size:14px}.pv-list{max-width:760px;margin-top:40px;padding-left:1.6em}.pv-list>li{margin-top:32px}.pv-list h2{font-size:20px;line-height:1.5}.pv-list p{margin-top:8px}.pv-list ul{margin-top:8px;padding-left:1.4em}.pv-list ul li{margin-top:4px}.pv-date{margin-top:40px;color:var(--ink-sub);font-size:14px}@media(max-width:767px){.contact-page h1,.privacy h1{font-size:28px}}
