:root{--ink:#111112;--sub:#5c5c62;--line:#e4e4e6;--paper:#ffffff;--gray:#f4f4f5;--dot:#111112;--logo:#2fd67f;--product:#111112}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.hd{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line)}.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}.logo{font-family:Inter,sans-serif;font-weight:900;font-size:24px;letter-spacing:-.02em;line-height:1}.logo i{font-style:normal;color:var(--logo)}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500}.nav a:not(.btn){background:linear-gradient(var(--ink),var(--ink)) left bottom/0 1px no-repeat;padding-bottom:4px}.btn{display:inline-block;background:var(--ink);color:#fff;font-size:14px;font-weight:700;padding:12px 22px;line-height:1.4}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.menu{display:none;font:inherit;font-size:14px;font-weight:700;background:#fff;color:var(--ink);border:1px solid var(--ink);padding:6px 12px;cursor:pointer}.fv{padding:72px 0 88px}.fv .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.fv-photo{position:relative}.ph-fv{width:100%;aspect-ratio:4/3;background:#d9d9dc;display:grid;place-items:center;text-align:center;color:#6b6b70;font-size:14px;line-height:1.8}.fv-photo .cap{position:absolute;left:0;bottom:-28px;font-size:12px;color:var(--sub)}.d{position:absolute;border-radius:50%;background:var(--dot)}.d1{width:48px;height:48px;right:-24px;top:14%}.d2{width:14px;height:14px;right:22%;bottom:-7px}.d3{width:26px;height:26px;left:-13px;bottom:26%}.d4{width:10px;height:10px;left:18%;top:-30px}h1 span{display:inline-block}h1{font-size:46px;line-height:1.4;font-weight:900;margin:0 0 20px}.lead{margin:0 0 36px;font-size:16px;color:var(--sub)}.biz{margin:0 0 40px;padding:0;list-style:none;border-top:1px solid var(--line)}.biz li{display:grid;grid-template-columns:9em 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}.biz b{font-weight:700}.biz span{color:var(--sub)}.actions{display:flex;gap:12px;flex-wrap:wrap}.sec{padding:96px 0;border-top:1px solid var(--line)}.sec-hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:44px}h2{font-size:30px;font-weight:900;line-height:1.4;margin:0}.more{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:2px;white-space:nowrap}.svc{display:grid;grid-template-columns:repeat(3,1fr);position:relative}.svc>div{padding:28px 28px 8px 0}.svc>div+div{padding-left:28px;border-left:1px solid var(--line)}h3{font-size:20px;font-weight:700;margin:0 0 12px;line-height:1.5}.svc p{margin:0 0 16px;font-size:15px;color:var(--sub)}.svc ul{margin:0;padding:0;list-style:none;font-size:14px}.svc li{padding:6px 0;border-top:1px solid var(--line)}.works{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 40px}.works .fr{display:block;overflow:hidden;border:1px solid var(--line)}.works img{width:100%;aspect-ratio:16/9;object-fit:cover}.works .meta{margin-top:14px;font-size:13px;color:var(--sub)}.works .t{font-size:17px;font-weight:700;margin-top:2px}.clients{padding:0 0 96px}.clients .in{display:flex;align-items:center;gap:56px;border-top:1px solid var(--line);padding-top:40px}.clients .lb{font-size:14px;font-weight:700;white-space:nowrap}.clients ul{display:flex;align-items:center;gap:56px;margin:0;padding:0;list-style:none;flex-wrap:wrap}.clients .fc{height:40px;width:auto}.clients .ts{height:64px;width:64px}.clients .lz{height:64px;width:64px;background:#111;padding:10px;box-sizing:border-box}.prod{background:var(--product);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding:48px}.prod img{width:112px;height:112px}.prod .name{font-family:Inter,sans-serif;font-weight:900;font-size:34px;line-height:1.1;margin:0 0 10px}.prod p{margin:0;font-size:15px;line-height:1.9}.prod .tag{justify-self:start;font-size:13px;border:1px solid rgba(255,255,255,.7);padding:6px 12px;white-space:nowrap}.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px}.post{display:grid;grid-template-columns:168px 1fr;gap:20px;align-items:start}.thumb{aspect-ratio:16/10;background:var(--ink);display:grid;place-items:center}.thumb span{font-family:Inter,sans-serif;font-weight:900;color:#fff;font-size:22px}.thumb i{font-style:normal;color:var(--logo)}.post .t{font-size:16px;font-weight:700;line-height:1.7}.post .meta{font-size:13px;color:var(--sub);margin-top:6px}.me{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start}.ph{aspect-ratio:4/5;background:var(--gray);display:grid;place-items:center;color:var(--sub);font-size:13px;text-align:center;padding:16px}.me .name{font-size:24px;font-weight:900;margin:0}.me .role{font-size:14px;color:var(--sub);margin:4px 0 20px}.me p{margin:0 0 16px}.facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:28px;font-size:14px}.facts div{padding:12px 0;border-bottom:1px solid var(--line)}.facts dt{color:var(--sub);font-size:13px}.facts dd{margin:0;font-weight:700}.flow{display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s;position:relative}.flow div{padding:24px 24px 0 0;counter-increment:s}.flow div+div{padding-left:24px;border-left:1px solid var(--line)}.flow div:before{content:counter(s);display:block;font-family:Inter,sans-serif;font-weight:900;font-size:28px;line-height:1;margin-bottom:14px}.flow p{margin:0;font-size:14px;color:var(--sub)}.cta{margin-top:64px;background:var(--ink);color:#fff;padding:56px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px}.cta .t{font-size:26px;font-weight:900;line-height:1.5}.cta p{margin:8px 0 0;color:#c9c9cc;font-size:14px}.cta .btn{background:#fff;color:var(--ink)}.ft{border-top:1px solid var(--line);padding:48px 0 40px;font-size:13px;color:var(--sub)}.ft .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.ft nav{display:flex;gap:20px;flex-wrap:wrap}:root{--ease:cubic-bezier(.22,1,.36,1)}.rule:before{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:var(--ink);transform-origin:left;transition:transform 1.1s var(--ease)}.nav a:not(.btn){transition:background-size .25s ease}.nav a:not(.btn):hover{background-size:100% 1px}.btn{border:1px solid var(--ink);transition:background-color .25s ease,color .25s ease}.btn:hover{background:#fff;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}.cta .btn{border-color:#fff}.cta .btn:hover{background:var(--ink);color:#fff}.more{transition:padding-right .25s ease}.more:hover{padding-right:10px}.works img{transition:transform .25s ease}.wk:hover img{transform:scale(1.04)}.wk .t{background:linear-gradient(var(--ink),var(--ink)) left bottom/0 1px no-repeat;transition:background-size .25s ease;display:inline}.wk:hover .t{background-size:100% 1px}.thumb{transition:background-color .25s ease}.post:hover .thumb{background:#3a3a3d}.post .t{transition:opacity .25s ease}.post:hover .t{opacity:.6}.js .mask>*{display:inline-block;clip-path:inset(0 0 100% 0);transform:translateY(.35em);transition:clip-path 1.1s var(--ease),transform 1.1s var(--ease)}.js .mask.is-in>*{clip-path:inset(0 0 -10% 0);transform:none}.js .mask.is-in>*:nth-child(2),.js .mask.is-in>*:nth-child(3){transition-delay:.12s}.js .rise{opacity:0;transform:translateY(16px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.js .rise.is-in{opacity:1;transform:none}.js .rule:before{transform:scaleX(0)}.js .rule.is-in:before{transform:scaleX(1)}.js .wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}.js .wipe.is-in{clip-path:inset(0 0 0 0)}.js .wipe:nth-child(2){transition-delay:.12s}.js .d{transform:scale(0);transition:transform 1.1s var(--ease)}.js .fv.is-in .d{transform:scale(1)}.js .fv.is-in .d1{transition-delay:.35s}.js .fv.is-in .d2{transition-delay:.5s}.js .fv.is-in .d3{transition-delay:.6s}.js .fv.is-in .d4{transition-delay:.7s}.d{background:none}.d-inner{display:block;width:100%;height:100%;border-radius:50%;background:var(--dot);will-change:transform}@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important}.js .mask>*,.js .rise,.js .wipe{clip-path:none;opacity:1;transform:none}.js .rule:before,.js .d{transform:none}}@media(max-width:900px){.wrap{padding:0 16px}.nav a:not(.btn){display:none}.nav .btn{display:none}.menu{display:inline-block}.fv{padding:32px 0 64px}.fv .wrap{grid-template-columns:1fr;gap:56px}.d1{right:-8px}.d3{left:-8px}h1{font-size:30px;margin-bottom:28px}.biz li{grid-template-columns:1fr;gap:0}.sec{padding:64px 0}h2{font-size:24px}.svc,.flow{grid-template-columns:1fr}.svc>div+div,.flow div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.flow div{padding-bottom:20px}.works{grid-template-columns:1fr;gap:36px}.prod{grid-template-columns:1fr;padding:32px 24px;gap:20px}.prod img{width:80px;height:80px}.posts{grid-template-columns:1fr}.post{grid-template-columns:112px 1fr;gap:14px}.me{grid-template-columns:1fr;gap:28px}.ph{max-width:240px}.cta{flex-direction:column;align-items:flex-start;padding:36px 24px}.cta .t{font-size:21px}.clients{padding-bottom:64px}.clients .in{flex-direction:column;align-items:flex-start;gap:20px;padding-top:28px}.clients ul{gap:24px}.clients .fc{height:32px}.clients .ts,.clients .lz{height:56px;width:56px}}.nav a.on:not(.btn){background-size:100% 1px}.page-hd{padding:64px 0 8px}.page-hd h1{font-size:44px;line-height:1.4;margin:0 0 16px}.crumb{font-size:13px;color:var(--sub);margin:0 0 20px}.crumb span{margin:0 4px;color:var(--line)}.crumb a:hover{text-decoration:underline}.page-lead{font-size:16px;color:var(--sub);max-width:40em;margin:0}.sec-first{border-top:0;padding-top:48px}.narrow{max-width:800px}.toc{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:32px;font-size:14px;font-weight:700}.toc a{border-bottom:1px solid var(--ink);padding-bottom:2px}.svc-row{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}.svc-l .num{font-family:Inter,sans-serif;font-weight:900;font-size:14px;margin:0 0 8px}.svc-l h2{margin-bottom:20px}.svc-l>p{margin:0 0 24px}.check{list-style:none;margin:0;padding:0;font-size:15px}.check li{padding:10px 0;border-top:1px solid var(--line)}.check li:last-child{border-bottom:1px solid var(--line)}.svc-r h3{font-size:15px;margin:0 0 12px}.svc-r h3+*{margin-bottom:36px}.price{width:100%;border-collapse:collapse;position:relative;font-size:15px}.price th{text-align:left;font-weight:500;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}.price td{text-align:right;font-weight:700;padding:14px 0;border-bottom:1px solid var(--line);white-space:nowrap}.price small{display:block;font-weight:400;font-size:12px;color:var(--sub)}.price td small{white-space:normal}.rel{list-style:none;margin:0;padding:0;font-size:15px}.rel li{padding:6px 0}.rel a{border-bottom:1px solid var(--ink)}.sub-note{font-size:14px;color:var(--sub);margin:20px 0 0}.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.filter button{font:inherit;font-size:14px;font-weight:700;background:#fff;color:var(--ink);border:1px solid var(--ink);padding:8px 16px;cursor:pointer;transition:background-color .25s ease,color .25s ease}.filter button.on,.filter button:hover{background:var(--ink);color:#fff}.works3{grid-template-columns:repeat(3,1fr);gap:48px 32px}.wk[hidden]{display:none}.wk-hero{display:block;overflow:hidden;border:1px solid var(--line);margin-bottom:48px}.wk-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}.wk-body{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}.wk-body .actions{grid-column:1 / -1}.prose-s p{margin:0 0 16px}.spec{margin:0;position:relative;font-size:15px}.spec div{display:grid;grid-template-columns:7em 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.spec.wide div{grid-template-columns:10em 1fr}.spec dt{color:var(--sub);font-size:14px}.spec dd{margin:0}.pager{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin-top:80px;padding-top:28px;border-top:1px solid var(--line);font-size:14px}.pager a{font-weight:700}.pager span{display:block;font-weight:400;font-size:12px;color:var(--sub)}.pager .next{text-align:right}.pager .all{border:1px solid var(--ink);padding:10px 18px;transition:background-color .25s ease,color .25s ease}.pager .all:hover{background:var(--ink);color:#fff}.post-list{border-top:1px solid var(--line)}.post-row{display:grid;grid-template-columns:240px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--line)}.post-row .t{font-size:20px;font-weight:700;line-height:1.6;margin:4px 0 8px;transition:opacity .25s ease}.post-row:hover .t{opacity:.6}.post-row:hover .thumb{background:#3a3a3d}.post-row .desc{font-size:14px;color:var(--sub);margin:0 0 12px}.meta{font-size:13px;color:var(--sub)}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:12px;border:1px solid var(--line);padding:2px 8px}.post-hd .post-title{font-size:34px;line-height:1.5;font-weight:900;margin:8px 0 16px}.thumb.sm{width:88px;flex:none}.author{display:flex;gap:24px;align-items:flex-start;margin-top:64px;padding-top:28px;position:relative}.author .t{font-weight:900}.author p{font-size:14px;color:var(--sub);margin:4px 0 8px}.prose{font-size:16px;line-height:2}.prose h2{font-size:24px;margin:56px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--ink)}.prose h3{font-size:19px;margin:40px 0 12px}.prose p{margin:0 0 20px}.prose a{text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4em;margin:0 0 20px}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--gray);padding:1px 5px}.prose pre{background:var(--ink);color:#f2f2f2;padding:20px;overflow-x:auto;font-size:13px;line-height:1.7;margin:0 0 24px}.prose pre code{background:none;padding:0;color:inherit}.prose blockquote{margin:0 0 20px;padding:4px 0 4px 20px;border-left:2px solid var(--ink);color:var(--sub)}.prose img{margin:24px 0}.prose table{border-collapse:collapse;width:100%;font-size:14px;margin:0 0 24px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.news-list a{display:flex;gap:32px;padding:20px 0;border-bottom:1px solid var(--line)}.news-list time{font-size:13px;color:var(--sub);white-space:nowrap}.news-list a:hover span{text-decoration:underline}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start}.form label{display:block;margin-bottom:24px}.form label>span{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.form b{font-size:11px;font-weight:700;border:1px solid var(--ink);padding:0 6px;margin-left:8px}.form input,.form textarea{width:100%;font:inherit;font-size:16px;border:1px solid #c9c9cc;padding:12px 14px;background:#fff;color:var(--ink);border-radius:0;transition:border-color .25s ease}.form input:focus,.form textarea:focus{outline:none;border-color:var(--ink)}.form .btn{font:inherit;font-size:15px;font-weight:700;padding:14px 40px;cursor:pointer}.sent{font-size:14px;margin-top:16px}.contact-side{border-top:1px solid var(--ink);padding-top:20px}.contact-side h3{font-size:16px;margin:0 0 12px}.mini-flow{margin:0 0 24px;padding-left:1.4em;font-size:14px;color:var(--sub)}.mini-flow li{padding:6px 0}a.prod{transition:background-color .25s ease}a.prod:hover{background:#2a2a2d}.prod-hd{display:flex;gap:32px;align-items:center}.prod-hd img{width:120px;height:120px;flex:none}.prod-hd h1{font-family:Inter,sans-serif;margin-bottom:8px}.shot{display:grid;place-items:center;aspect-ratio:16/9;background:#d9d9dc;color:#6b6b70;font-size:14px}@media(max-width:900px){.hd .nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 20px}.hd .nav.open{display:flex}.hd .nav.open a:not(.btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);background:none}.hd .nav.open .btn{display:block;text-align:center;margin-top:16px}.hd{position:sticky}.page-hd{padding:40px 0 0}.page-hd h1{font-size:30px}.sec-first{padding-top:36px}.svc-row,.wk-body,.contact{grid-template-columns:1fr;gap:36px}.works3{grid-template-columns:1fr}.spec.wide div,.spec div{grid-template-columns:1fr;gap:2px}.pager{grid-template-columns:1fr;gap:16px;margin-top:56px}.pager .next{text-align:left}.pager .all{justify-self:start}.post-row{grid-template-columns:1fr;gap:16px;padding:24px 0}.post-row .thumb{max-width:280px}.post-hd .post-title{font-size:25px}.news-list a{flex-direction:column;gap:2px}.prod-hd{flex-direction:column;align-items:flex-start;gap:16px}.prod-hd img{width:80px;height:80px}}img.ph-fv,img.ph{display:block;width:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);background:#d9d9dc}img.ph-fv{aspect-ratio:4/3}img.ph{aspect-ratio:4/5;padding:0}.fv-bg{position:relative;min-height:clamp(520px,72svh,680px);display:flex;align-items:flex-end;padding:0 0 72px;overflow:hidden;background:#111;color:#fff}.fv-bg .fv-img{position:absolute;inset:0;overflow:hidden}.fv-bg .fv-img img{width:100%;height:120%;object-fit:cover;object-position:center 72%;filter:grayscale(1) brightness(.68) contrast(1.05);will-change:transform}.js .fv-bg .fv-img img{transform:scale(1.08);transition:transform 1.1s var(--ease)}.js .fv-bg.is-in .fv-img img{transform:scale(1)}.fv-bg .wrap.fv-in{position:relative;width:100%;display:block}.fv-bg h1{font-size:64px;line-height:1.35;margin:0 0 24px;color:#fff}.fv-bg .lead{color:#e4e4e6;font-size:17px;margin:0 0 36px}.fv-bg .d-inner{background:#fff}.fv-bg .d1{width:56px;height:56px;inset:18% 12% auto auto}.fv-bg .d2{width:16px;height:16px;inset:34% 22% auto auto}.fv-bg .d3{width:28px;height:28px;inset:auto 8% 30% auto}.fv-bg .d4{width:10px;height:10px;inset:12% auto auto 52%}.btn.inv{background:#fff;color:var(--ink);border-color:#fff}.btn.inv:hover{background:transparent;color:#fff}.btn.ghost.inv{background:transparent;color:#fff;border-color:#fff}.btn.ghost.inv:hover{background:#fff;color:var(--ink)}.biz-band{padding:0 0 8px}.biz3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative}.biz3 li{padding:28px 28px 28px 0;font-size:14px;line-height:1.8}.biz3 li+li{padding-left:28px;border-left:1px solid var(--line)}.biz3 b{display:block;font-size:16px;margin-bottom:4px}.biz3 span{color:var(--sub)}@media(max-width:900px){.fv-bg{min-height:clamp(480px,76svh,600px);padding-bottom:48px}.fv-bg h1{font-size:36px}.fv-bg .lead{font-size:15px}.fv-bg .d1{width:40px;height:40px;right:8%;top:14%}.fv-bg .d4{left:30%}.fv-bg .d2{right:14%;top:40%}.fv-bg .d3{right:10%;top:28%;bottom:auto;width:20px;height:20px}.biz3{grid-template-columns:1fr}.biz3 li,.biz3 li+li{padding:18px 0;border-left:0;border-top:1px solid var(--line)}.biz3 li:first-child{border-top:0}}body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}main{flex:1 0 auto}.sec-cta{border-top:0;padding-top:0}.spec.wide div{grid-template-columns:11em 1fr}.form b.opt{border-color:#c9c9cc;color:var(--sub)}.kind{border:0;margin:0 0 24px;padding:0;min-width:0}.kind legend{font-size:14px;font-weight:700;margin-bottom:8px;padding:0}.kind{display:flex;flex-wrap:wrap;gap:8px}.kind label{display:block;margin:0}.kind input{position:absolute;opacity:0;width:1px;height:1px}.kind span{display:block;font-size:14px;font-weight:500;border:1px solid #c9c9cc;padding:8px 16px;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease}.kind label:hover span{border-color:var(--ink)}.kind input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.kind input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}@media(max-width:900px){.spec.wide div{grid-template-columns:1fr}}.lead .nb{display:inline-block}.svc>div{display:flex;flex-direction:column}.svc ul{margin-bottom:20px}.from{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid var(--ink);font-size:15px;font-weight:700}.from span{font-size:13px;font-weight:500;color:var(--sub)}.from{transition:opacity .25s ease}.from:hover{opacity:.6}.svc>div:last-child{padding-right:0}.svc>div{padding-bottom:0}.svc-note{margin:24px 0 0;font-size:14px;color:var(--sub)}.post-lines{list-style:none;margin:0;padding:0;position:relative}.post-lines a{display:grid;grid-template-columns:7em 1fr;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}.post-lines time{font-size:13px;color:var(--sub)}.post-lines span{font-size:16px;font-weight:700;line-height:1.7;transition:opacity .25s ease}.post-lines a:hover span{opacity:.6}.post-row{grid-template-columns:7em 1fr}.post-row>.meta{padding-top:8px}.post-row .t{margin-top:0}.author{display:block}.feat-list{margin:0;position:relative}.feat-list div{display:grid;grid-template-columns:14em 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--line)}.feat-list dt{font-size:18px;font-weight:700;line-height:1.6}.feat-list dd{margin:0;color:var(--sub);font-size:15px}.form .privacy{font-size:13px;color:var(--sub);margin:0 0 16px}@media(max-width:900px){.svc>div,.svc>div+div,.flow div,.flow div+div{padding-right:0}.post-lines a{grid-template-columns:1fr;gap:2px;padding:16px 0}.post-row{grid-template-columns:1fr;gap:4px}.post-row>.meta{padding-top:0}.feat-list div{grid-template-columns:1fr;gap:6px;padding:20px 0}}.spec dd .dd-lead{margin:0 0 6px;font-size:16px;font-weight:500}.spec dd .dd-tech{margin:0;color:var(--sub);font-size:12px;line-height:1.7}.wk-sum{font-size:17px;font-weight:500;margin:0 0 20px}@media(max-width:900px){.hd .nav,.hd .nav.open{display:flex;height:calc(100vh - 68px);height:calc(100svh - 68px);overflow-y:auto;padding-bottom:32px}.hd .nav{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s}.hd .nav.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease,visibility 0s}.hd .nav a:not(.btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);background:none}.hd .nav .btn{display:block;text-align:center;margin-top:16px}html.menu-open,html.menu-open body{overflow:hidden}.fv-bg .fv-img:after{content:"";position:absolute;inset:0;background:#11111266}.fv-bg .lead{color:#fff}.fv-bg .d1{width:40px;height:40px;inset:12% 8% auto auto}.fv-bg .d4{inset:9% auto auto 30%}.fv-bg .d3{width:20px;height:20px;inset:27% 34% auto auto}.fv-bg .d2{inset:36% auto auto 12%}}.from b{text-align:right;font-weight:700;line-height:1.7}.cta .nb{display:inline-block}.cta p{text-wrap:pretty}.flow p{text-wrap:balance}@media(min-width:901px){.svc .from{min-height:calc(3.4em + 24px)}}.price td{vertical-align:top}@media(max-width:600px){.price tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}.price th,.price td{display:block;border-bottom:0;padding:0;text-align:left}.price td{margin-top:6px;white-space:normal}.price td small{display:inline;margin-left:10px}}.wk .t .nw{white-space:nowrap}.shot-fig{margin:0 0 48px;display:block;border:1px solid var(--line);overflow:hidden}.shot-fig img{width:100%;display:block}.shot-fig figcaption{border-top:1px solid var(--line);padding:14px 16px;font-size:14px;color:var(--sub);background:#fff}@media(max-width:900px){.shot-fig{margin-bottom:32px}.shot-fig figcaption{padding:12px}}#svc .svc{grid-template-columns:repeat(4,1fr)}#svc .svc>div{padding-right:20px}#svc .svc>div+div{padding-left:20px}@media(max-width:1100px){#svc .svc{grid-template-columns:repeat(2,1fr)}#svc .svc>div:nth-child(odd){padding-left:0;border-left:0}#svc .svc>div:nth-child(n+3){border-top:1px solid var(--line);padding-top:24px}}@media(max-width:900px){#svc .svc{grid-template-columns:1fr}#svc .svc>div+div{border-top:1px solid var(--line);padding-top:24px}}#svc .from{display:block;padding:14px 0 0;font-size:15px}#svc .from span{display:block;margin-bottom:4px}#svc .from b{display:block;text-align:left;line-height:1.6}@media(min-width:901px){#svc .svc .from{min-height:auto}}#svc .svc>div{display:flex;flex-direction:column}#svc .svc ul{margin-bottom:16px}#svc .svc{grid-template-columns:repeat(2,1fr);row-gap:0}#svc .svc>div{padding:28px 28px 28px 0}#svc .svc>div:nth-child(2n){padding-left:28px;padding-right:0;border-left:1px solid var(--line)}#svc .svc>div:nth-child(odd){padding-left:0;border-left:0}#svc .svc>div:nth-child(n+3){border-top:1px solid var(--line)}@media(max-width:900px){#svc .svc{grid-template-columns:1fr}#svc .svc>div,#svc .svc>div:nth-child(2n){padding:20px 0;border-left:0}#svc .svc>div+div{border-top:1px solid var(--line)}}#svc .svc-num{font-family:Inter,sans-serif;font-weight:900;font-size:13px;color:var(--sub);margin:0 0 6px}#svc h3{font-size:26px;font-weight:900;line-height:1.4;margin:0 0 14px}#svc .svc p{font-size:15px;line-height:1.9}#svc .svc li{font-size:14px;padding:9px 0}@media(max-width:900px){#svc h3{font-size:21px}}.fv-bg .lead{font-size:15px;color:#c9c9cc}@media(max-width:900px){.fv-bg .lead{font-size:14px}}.plan{width:100%;border-collapse:collapse;position:relative;font-size:15px}.plan th{text-align:left;font-weight:500;padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}.plan tr:first-child th{font-weight:700;font-size:14px}.plan td{width:20%;text-align:center;font-weight:700;padding:14px 0;border-bottom:1px solid var(--line)}@media(max-width:900px){.plan{font-size:14px}.plan td{width:24%}}:root{--ink:#141414;--sub:#666}body{color:var(--ink)}h1,h2,.post-hd .post-title,.cta .t,.me .name,.page-hd h1{font-weight:700}h2{font-size:28px;line-height:1.5}.page-hd h1{font-size:40px}.post-hd .post-title{font-size:30px}.cta .t{font-size:22px}.sec-hd{margin-bottom:36px}.hero{padding:104px 0;border-bottom:1px solid var(--line)}.hero-who{font-size:14px;color:var(--sub);margin:0 0 28px}.hero-h{font-size:52px;line-height:1.45;margin:0 0 28px;font-weight:700}.hero-h span{display:inline-block}.hero-sub{font-size:17px;line-height:2;color:#444;margin:0 0 40px;max-width:36em}.hero .actions{gap:12px}.fr img{filter:grayscale(1);transition:filter .25s ease,transform .6s var(--ease)}.wk:hover .fr img,.wk:focus-visible .fr img{filter:none}.top-works{border-top:0}.top-works .works{gap:56px 40px}.svc-rows{list-style:none;margin:0;padding:0;position:relative}.svc-rows li{border-bottom:1px solid var(--line)}.svc-rows a{display:grid;grid-template-columns:48px 11em 1fr auto;gap:24px;align-items:baseline;padding:26px 0;transition:background-color .25s ease}.svc-rows a:hover{background:#f7f7f7}.svc-rows .n{font-family:Inter,sans-serif;font-weight:700;font-size:13px;color:var(--sub)}.svc-rows .name{font-size:20px;font-weight:700}.svc-rows .lead{font-size:15px;color:#444}.svc-rows .price{font-size:15px;font-weight:700;white-space:nowrap}.svc-rows .price:after{content:"→";margin-left:12px;display:inline-block;transition:transform .25s ease}.svc-rows a:hover .price:after{transform:translate(4px)}.prod-card{display:grid;grid-template-columns:1fr 1.35fr;gap:48px;align-items:center;border:1px solid var(--line);padding:40px;transition:border-color .25s ease}.prod-card:hover{border-color:var(--ink)}.prod-text .prod-name{display:flex;align-items:center;gap:14px;font-family:Inter,sans-serif;font-weight:700;font-size:28px;margin:0 0 16px}.prod-text .prod-name img{width:44px;height:44px}.prod-text p{margin:0 0 20px;font-size:15px;line-height:1.9;color:#444}.prod-shot{border:1px solid var(--line);overflow:hidden}.prod-shot img{display:block;width:100%}.me2{display:grid;grid-template-columns:14em 1fr;gap:40px;border-top:1px solid var(--ink);padding-top:28px}.me2 .name{font-size:22px;font-weight:700;margin:0}.me2 .role{font-size:14px;color:var(--sub);margin:4px 0 0}.me2 p{margin:0 0 12px;font-size:16px;line-height:2}@media(max-width:900px){.hero{padding:64px 0 56px}.hero-h{font-size:30px;line-height:1.5}.hero-sub{font-size:15px}h2{font-size:22px}.page-hd h1{font-size:28px}.post-hd .post-title{font-size:23px}.svc-rows a{grid-template-columns:36px 1fr;gap:4px 12px;padding:20px 0}.svc-rows .lead,.svc-rows .price{grid-column:2}.svc-rows .name{font-size:18px}.prod-card{grid-template-columns:1fr;padding:24px;gap:24px}.me2{grid-template-columns:1fr;gap:12px}}.wk-hero:hover img{filter:none}.terms{max-width:46em}.terms section{padding:28px 0;border-top:1px solid var(--line)}.terms section:first-child{border-top:1px solid var(--ink)}.terms h2{font-size:18px;margin:0 0 12px}.terms p{margin:0 0 8px;font-size:15px;line-height:2}.terms .sub-note{margin-top:32px}.terms a,.sub-note a{text-decoration:underline;text-underline-offset:3px}
