:root{--bg: #F3EEE3;--panel: #E9E2D2;--ink: #0D1030;--muted: #5B5E75;--line: rgba(13, 16, 48, .14);--blue: #2338FF;--r-lg: 36px;--r-md: 20px;--r-sm: 12px;--gut: clamp(16px, 3vw, 40px);--wide: "Unbounded", "Noto Sans JP", sans-serif;--body: "Inter", "Noto Sans JP", sans-serif;--bg-color: var(--bg);--text-color: var(--ink);--accent-pink: var(--blue);--accent-cyan: var(--blue);--accent-lime: var(--blue);--grid-line: var(--line);--font-mono: var(--body);--font-display: var(--wide)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;word-break:auto-phrase;line-break:strict;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:400 16px/1.8 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul{list-style:none}img{display:block;max-width:100%}.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}.logo,.btn{white-space:nowrap}.bar{background:var(--ink);color:#fff;font-size:13px;text-align:center;padding:9px var(--gut)}.bar a{display:inline-flex;gap:.8em;align-items:center;font-weight:600}.bar b{background:var(--blue);padding:1px 9px;border-radius:99px;font-size:11px;letter-spacing:.04em}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hd{display:flex;align-items:center;justify-content:space-between;height:68px}.logo{font:900 17px/1 var(--wide);letter-spacing:.02em}.site-nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center;font-weight:500;font-size:14px}.site-nav a,.site-nav button{white-space:nowrap}.nav-link{background:none;border:none;color:inherit;font:inherit;cursor:pointer}.nav-link:hover{color:var(--blue)}@media(max-width:1000px){.site-nav .nav-link{display:none}}.hd{gap:12px}@media(max-width:360px){.logo{font-size:14px}.site-nav .btn.sm{padding:9px 13px}}.cta-s{display:none}@media(max-width:760px){.cta-l{display:none}.cta-s{display:inline}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;background:var(--blue);color:#fff;font:700 15px/1 var(--body);padding:14px 22px;border:0;border-radius:var(--r-sm);cursor:pointer;transition:transform .15s}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.sm{padding:10px 16px;font-size:14px}.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}.btn.white{background:#fff;color:var(--blue)}.btn.block{display:flex;width:100%}.hero{margin-top:8px;background:var(--blue);color:#fff;border-radius:var(--r-lg);position:relative;overflow:hidden;min-height:clamp(460px,64vh,640px);padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:flex-end}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,rgba(255,255,255,.22),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 64px);pointer-events:none}.hero .tag{font:600 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:22px;position:relative}.hero h1{font:800 clamp(30px,5.6vw,68px)/1.16 var(--wide);letter-spacing:-.01em;position:relative;max-width:16em}.hero p{margin-top:22px;max-width:36em;opacity:.92;position:relative}.hero .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;position:relative}.hero .mark{position:absolute;right:-3%;top:-6%;font:900 clamp(200px,34vw,460px)/1 var(--wide);color:#ffffff1a;pointer-events:none}@media(max-width:560px){.hero .row .btn{flex:1 1 100%}.hero{min-height:0;padding-top:72px}}.sec{padding-top:clamp(64px,9vw,120px);scroll-margin-top:72px}.sec-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:clamp(20px,3vw,36px)}.sec-h h2{font:800 clamp(24px,3.6vw,44px)/1.2 var(--wide);letter-spacing:-.015em}.sec-h span{color:var(--muted);font-size:14px}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}.about h2{font:800 clamp(24px,3.8vw,46px)/1.3 var(--wide);letter-spacing:-.015em}.about .lead{margin-top:22px;font-size:clamp(16px,1.5vw,18px);line-height:2}.about .lead p+p{margin-top:1em}.lens{display:grid;gap:14px}.lens>div{background:var(--panel);border-radius:var(--r-md);padding:22px 24px}.lens h4{font:800 13px/1 var(--wide);color:var(--blue);letter-spacing:.02em}.lens p{margin-top:10px;font-size:15px;line-height:1.85;color:var(--muted)}.lens>.x{background:var(--blue);color:#fff;font:800 26px/1 var(--wide);padding:0;border-radius:99px;width:56px;height:56px;display:grid;place-items:center;justify-self:center}@media(max-width:860px){.about{grid-template-columns:1fr}}.cards{display:grid;gap:clamp(16px,2vw,28px);grid-template-columns:1fr 1fr}.card{background:var(--panel);border-radius:var(--r-lg);padding:clamp(14px,1.6vw,22px) clamp(14px,1.6vw,22px) clamp(20px,2vw,28px);display:flex;flex-direction:column}.card.wide{grid-column:1 / -1}.shot{border-radius:var(--r-md);aspect-ratio:16 / 9;overflow:hidden;position:relative;display:grid;place-items:center;color:#fff;background:var(--blue)}.card.wide .shot{aspect-ratio:21 / 9}.shot img{width:100%;height:100%;object-fit:cover}.shot .ph{font:800 clamp(22px,3.4vw,44px)/1.15 var(--wide);text-align:center;padding:0 20px;letter-spacing:-.01em}.meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 6px 0}.meta h3{font:800 clamp(20px,2.2vw,28px)/1.2 var(--wide);letter-spacing:-.01em}.pill{font-size:12px;font-weight:600;background:#0d10308c;color:#fff;border-radius:99px;padding:5px 13px;white-space:nowrap}.card p.d{margin:12px 6px 22px;color:var(--muted);font-size:15px;line-height:1.8}.card .btn{margin-top:auto}.facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin:4px 6px 22px;font-size:14px;color:var(--ink);font-weight:500}.facts span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:8px;vertical-align:middle}@media(max-width:820px){.cards{grid-template-columns:1fr}.card.wide .shot{aspect-ratio:16 / 9}}.rows a,.rows button{display:grid;grid-template-columns:minmax(120px,.5fr) 1.5fr auto;gap:20px;align-items:center;width:100%;text-align:left;background:none;border:0;border-top:1.5px solid var(--line);padding:22px 4px;color:inherit;font:inherit;cursor:pointer}.rows>:last-child{border-bottom:1.5px solid var(--line)}.rows b{font:800 18px/1.3 var(--wide)}.rows span{color:var(--muted);font-size:15px}.rows i{font-style:normal;font-weight:700;color:var(--blue)}.rows a:hover b,.rows button:hover b{color:var(--blue)}@media(max-width:700px){.rows a,.rows button{grid-template-columns:1fr auto}.rows span{grid-column:1 / -1;grid-row:2}}.works{position:fixed;inset:0;z-index:1000;background:var(--bg);overflow-y:auto;padding-bottom:64px}.works-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 0;position:sticky;top:0;background:var(--bg)}.works-hd h2{font:800 clamp(26px,5vw,48px)/1.1 var(--wide);letter-spacing:-.015em}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(14px,2vw,24px);margin-top:12px}@media(max-width:560px){.works-grid{grid-template-columns:1fr 1fr}}.work{display:block}.work img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--r-md);background:var(--panel)}.work b{display:block;margin-top:10px;font:700 15px/1.4 var(--body)}.work span{display:block;color:var(--muted);font-size:13px}.work:hover b{color:var(--blue)}.page-h{padding-top:clamp(40px,6vw,80px)}.page-h h1{font:800 clamp(28px,4.6vw,56px)/1.2 var(--wide);letter-spacing:-.015em}.page-h p{color:var(--muted);margin-top:12px;max-width:40em}.form{background:var(--panel);border-radius:var(--r-lg);padding:clamp(20px,3vw,40px);max-width:760px;margin-top:32px}.field{margin-bottom:22px}.field label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em}.field input,.field select,.field textarea{width:100%;padding:14px 16px;background:var(--bg);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-sm);font:400 16px/1.6 var(--body)}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--blue)}.notice{display:block;margin-bottom:22px;padding:18px 20px;background:var(--bg);border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px var(--blue);font-size:15px;line-height:1.8}.notice b{color:var(--blue)}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}@media(max-width:560px){.form .two{grid-template-columns:1fr}}.site-footer{padding:clamp(48px,7vw,88px) 0 40px;margin-top:clamp(56px,8vw,110px)}.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;border-top:1.5px solid var(--ink);padding-top:32px}.fg h5{font:700 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.fg a{display:block;font-size:14.5px;line-height:2.1}.fg a:hover{color:var(--blue)}.fg .mail{color:var(--muted);font-size:13px;margin-top:10px;display:block}.fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:48px;font-size:12.5px;color:var(--muted)}@media(max-width:760px){.fg{grid-template-columns:1fr 1fr;gap:32px 20px}.fg>:first-child{grid-column:1 / -1}.fg a{overflow-wrap:anywhere}}@media(max-width:420px){.fg{grid-template-columns:1fr}.fg a{line-height:2.5}}.page-body{padding:clamp(32px,5vw,64px) 0 0}
