@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/Inter-500.subset-BsANQrO_.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700 900;font-display:swap;src:url(/assets/Inter-700.subset-Bf_XpeQj.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/NotoSansJP-700.subset-BoVpdego.woff2) format("woff2")}:root{--paper:#ffffff;--paper-2:#f2f2f0;--ink:#111111;--ink-2:#555555;--ink-3:#8a8a8a;--line:#111111;--line-soft:#d9d9d6;--red:#e0101e;--red-ink:#c20d19;--gutter:24px;--rule-heavy:6px;--head:"Inter", "Noto Sans JP", "Noto Sans SC", "Helvetica Neue", Helvetica, Arial, sans-serif;--sans:"Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "PingFang SC", "Yu Gothic UI", "Meiryo", "Microsoft YaHei", sans-serif}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--paper:#0e0e0e;--paper-2:#1a1a1a;--ink:#f2f2f0;--ink-2:#a8a8a6;--ink-3:#737371;--line:#f2f2f0;--line-soft:#2e2e2d;--red:#ff3a3a;--red-ink:#ff5a57}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body:lang(ja){line-break:strict}h1,h2,h3{font-family:var(--head);font-weight:700;margin:0;letter-spacing:-.02em}p{margin:0}a{color:inherit}img{max-width:100%;display:block}::selection{background:var(--red);color:#fff}:focus-visible{outline:2px solid var(--red);outline-offset:3px}.wrap{max-width:1360px;margin:0 auto;padding:0 40px}@media(max-width:640px){.wrap{padding:0 16px}}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}@media(max-width:900px){.grid{grid-template-columns:minmax(0,1fr)}.grid>*{grid-column:1 / -1!important}}.label{font-family:var(--head);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.num{font-family:var(--head);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.red{color:var(--red-ink)}header{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;gap:28px;height:60px}.brand{font-family:var(--head);font-size:19px;font-weight:700;letter-spacing:-.03em;text-decoration:none;margin-right:auto;display:flex;align-items:baseline;gap:10px}.brand small{font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--ink-2)}.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}.nav ul a,.lang{font-family:var(--head);font-size:14px;font-weight:500;text-decoration:none}.nav ul a:hover,.lang:hover{color:var(--red-ink)}.lang{border-left:1px solid var(--line-soft);padding-left:24px}.theme-tog{width:28px;height:28px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}.theme-tog svg{width:14px;height:14px}.theme-tog .moon,:root[data-theme=dark] .theme-tog .sun{display:none}:root[data-theme=dark] .theme-tog .moon{display:block}.theme-tog:hover{background:var(--ink);color:var(--paper)}.navtog{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.burger{display:none;cursor:pointer;width:28px;height:28px;place-items:center;flex:none}.burger svg{width:22px;height:22px}.burger .x{display:none}.navtog:checked~.burger .x{display:block}.navtog:checked~.burger .m{display:none}.navtog:focus-visible~.burger{outline:2px solid var(--red);outline-offset:3px}@media(max-width:760px){.nav{gap:16px;position:relative}.burger{display:grid;order:9}.lang{border:0;padding:0}.nav ul{order:10;display:none;flex-direction:column;gap:0;position:absolute;left:-16px;right:-16px;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:0 16px}.navtog:checked~ul{display:flex}.nav ul li+li{border-top:1px solid var(--line-soft)}.nav ul a{display:block;padding:14px 0;font-size:16px}}.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;text-decoration:none;font-family:var(--head);font-size:14.5px;font-weight:700;border:1px solid var(--ink);transition:background .14s,color .14s}.btn:after{content:"→";font-weight:500}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--red);border-color:var(--red);color:#fff}.btn-ghost{color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.rv{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.3,1)}.rv.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}:root:not(.js) .rv{opacity:1;transform:none}section{scroll-margin-top:60px}.sec{padding:0 0 128px}.sec-top{border-top:var(--rule-heavy) solid var(--ink);padding-top:20px;margin-bottom:64px;row-gap:16px}.sec-top .idx{grid-column:1 / span 3;display:flex;gap:14px;align-items:baseline}.sec-top .idx .num{font-size:15px;color:var(--red-ink)}.sec-top h2{grid-column:4 / span 9;font-size:clamp(34px,5vw,64px);line-height:1.08}.sec-top .intro{grid-column:4 / span 6;color:var(--ink-2);font-size:17px}@media(max-width:640px){.sec{padding-bottom:88px}.sec-top{margin-bottom:40px}}.hero{padding:40px 0 120px}.hero .wrap{position:relative}.hero .meta{border-bottom:1px solid var(--line);padding-bottom:14px;row-gap:6px}.hero .meta>*{grid-column:span 3}.hero .meta b{font-family:var(--head);font-weight:700;font-size:14px;display:block}.hero .meta span{font-size:13px;color:var(--ink-2)}.hero h1{font-size:clamp(46px,10.2vw,148px);line-height:1.02;letter-spacing:-.045em;margin:72px 0 80px;grid-column:1 / -1}.hero h1 .red{color:var(--red)}.hero .lede{grid-column:1 / span 6;font-size:19px;line-height:1.75}.hero .cta{grid-column:1 / span 6;display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero .toc{grid-column:9 / span 4;grid-row:1 / span 2;border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.hero .toc li{border-bottom:1px solid var(--line-soft)}.hero .toc a{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:baseline;padding:12px 0;text-decoration:none;font-family:var(--head);font-weight:700;font-size:17px}.hero .toc a .num{font-size:13px;color:var(--red-ink)}.hero .toc a em{font-style:normal;font-size:12px;font-weight:500;color:var(--ink-3)}.hero .toc a:hover{color:var(--red-ink)}.hero .sq{position:absolute;right:40px;top:104px;width:clamp(64px,9vw,132px);aspect-ratio:1;background:var(--red)}@media(max-width:900px){.hero .meta{grid-template-columns:1fr 1fr;row-gap:14px}.hero .meta>*{grid-column:auto!important}.hero h1{margin:48px 0 40px}.hero .toc{grid-row:auto;margin-top:48px}.hero .sq{width:72px;top:96px}}@media(max-width:640px){.hero{padding-bottom:80px}.hero .lede{font-size:17px}.hero .sq{display:none}}.prod{padding-bottom:88px;margin-bottom:88px;border-bottom:1px solid var(--line-soft);row-gap:28px}.prod:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.prod .head{grid-column:1 / span 3;display:grid;gap:14px;align-content:start}.prod .head .num{font-size:clamp(56px,6vw,88px);line-height:.9;color:var(--red)}.prod h3{font-size:clamp(26px,2.6vw,34px);line-height:1.15}.prod .kind{font-family:var(--head);font-size:14px;font-weight:500;color:var(--ink-2)}.status{font-family:var(--head);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:3px 8px;justify-self:start}.status.live{background:var(--ink);color:var(--paper)}.prod .body{grid-column:4 / span 5;color:var(--ink-2);font-size:16px}.prod dl{grid-column:9 / span 4;margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;align-content:start}.prod dt{font-family:var(--head);font-weight:500;color:var(--ink-3);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.prod dd{margin:0}.prod dd a{font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px}.prod dd a:hover{color:var(--red-ink)}.shot{grid-column:4 / span 9;margin:0}.shot .frame{border:1px solid var(--line);background:var(--paper-2);overflow:hidden}.shot img{width:100%;height:auto}.shot figcaption{font-size:12.5px;color:var(--ink-3);margin-top:10px}.shot .empty{aspect-ratio:16 / 9;display:grid;align-content:end;padding:28px;border:1px solid var(--line);background:repeating-linear-gradient(-45deg,transparent 0 11px,var(--line-soft) 11px 12px)}.shot .empty b{font-family:var(--head);font-size:clamp(28px,4vw,56px);line-height:1;letter-spacing:-.03em}.shot .empty span{font-size:13px;color:var(--ink-2);margin-top:10px}.works{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.work{padding:22px 0;border-bottom:1px solid var(--line-soft);row-gap:6px;align-items:baseline}.work .num{grid-column:1 / span 3;font-size:15px;color:var(--red-ink)}.work h3{grid-column:4 / span 4;font-size:21px;line-height:1.35;letter-spacing:-.01em}.work p{grid-column:8 / span 5;color:var(--ink-2);font-size:15px}.ways{row-gap:40px}.way{grid-column:span 3;border-top:1px solid var(--line);padding-top:16px}.way:first-child{grid-column:4 / span 3}.way .num{font-size:44px;line-height:1;display:block;margin-bottom:22px}.way h3{font-size:20px;margin-bottom:10px;letter-spacing:-.01em}.way p{color:var(--ink-2);font-size:15px}.contact{background:var(--ink);color:var(--paper);padding:72px 0 80px}.contact .grid{row-gap:28px}.contact h2{grid-column:1 / span 8;font-size:clamp(40px,7vw,104px);line-height:1.02;letter-spacing:-.045em}.contact p{grid-column:1 / span 6;color:color-mix(in srgb,var(--paper) 72%,transparent);font-size:17px}.contact .to{grid-column:9 / span 4;align-self:end;display:grid;gap:10px;justify-items:start}.contact .btn{border-color:var(--paper);color:var(--paper)}.contact .btn:hover{background:var(--red);border-color:var(--red);color:#fff}.contact .sq{width:28px;height:28px;background:var(--red);grid-column:1;margin-bottom:8px}footer{padding:28px 0 36px;font-size:13px;color:var(--ink-2)}footer .grid{row-gap:10px}footer .grid>*{grid-column:span 3}footer a{text-decoration:none}footer a:hover{color:var(--red-ink)}
