:root{--paper:#f0eee9;--kinari-a:#f5f1e7;--kinari-b:#ece4d3;--card:#faf8f5;--border:#e6e0d3;--hair:#e3ddcf;--ink:#1f2a37;--text:#2c2c2c;--muted:#6f6a60;--faint:#a9a497;--kon:#1e3a5f;--kon-deep:#15293f;--shu:#c53d43;--matcha:#8b9e6b;--serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",ui-serif,Georgia,serif;--sans:system-ui,-apple-system,"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;--measure:34rem;--gutter:24px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>")}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 40px}a{color:var(--kon);text-underline-offset:3px}a:focus-visible{outline:2px solid var(--kon);outline-offset:3px;border-radius:2px}.header{background:linear-gradient(180deg,var(--kinari-a) 0,var(--kinari-b) 100%);border-bottom:1px solid var(--border)}.header nav{display:flex;justify-content:space-between;gap:20px;min-height:68px}.header nav,.logo{align-items:center}.logo{display:inline-flex}.nav-links,.nav-right{display:flex;align-items:center;gap:22px}.nav-links{list-style:none;margin:0;padding:0}.nav-links a:not(.nav-contact-btn){display:inline-flex;align-items:center;line-height:1;font-size:14px;color:var(--ink);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}.nav-links a:not(.nav-contact-btn):hover{border-bottom-color:var(--ink)}.nav-links a.active:not(.nav-contact-btn){border-bottom-color:var(--kon)}.nav-contact-btn{display:inline-flex;align-items:center;line-height:1;font-family:var(--sans);font-size:14px;color:var(--kon);background:none;border:1px solid var(--kon);border-radius:999px;padding:11px 20px;text-decoration:none;cursor:pointer;transition:background .18s ease,color .18s ease}.nav-contact-btn:hover{background:var(--kon);color:var(--card)}.hero{background:linear-gradient(180deg,var(--kinari-b) 0,var(--paper) 100%);border-bottom:1px solid var(--hair);padding:78px 0 70px}.shu-rule{width:20px;height:2px;background:var(--shu);border-radius:1px;margin-bottom:26px}.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,4.2vw,2.35rem);line-height:1.6;letter-spacing:.01em;color:var(--ink);margin:0 0 1.4rem;max-width:26ch;word-break:keep-all;line-break:strict;overflow-wrap:break-word}.hero .subtitle,.hero-content>p{font-size:1.0625rem;color:var(--text);margin:0 0 1rem;max-width:var(--measure)}.hero .details p{font-size:.9375rem;color:var(--muted);margin:0;max-width:var(--measure)}.work{padding:92px 0 40px;overflow:hidden}.work-grid{display:grid;grid-template-columns:300px 1fr;gap:72px;align-items:start}.shot-holder{position:relative}.shot{display:block;width:100%;height:auto}.shot-holder:after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;pointer-events:none;background:linear-gradient(180deg,rgba(240,238,233,0) 0,var(--paper) 88%)}.tategaki{position:absolute;top:6px;left:-46px;writing-mode:vertical-rl;font-family:var(--serif);font-size:15px;letter-spacing:.22em;color:var(--faint);user-select:none}.work-text{padding-top:18px}.section-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.work h2{font-family:var(--serif);font-size:2.1rem;font-weight:600;color:var(--ink);margin:0 0 6px;letter-spacing:.02em}.tagline{color:var(--matcha);font-size:.9rem;letter-spacing:.05em;margin:0 0 22px}.work-body{font-size:1rem;line-height:2;color:var(--text);margin:0 0 26px;max-width:34ch}.out{display:inline-block;font-size:.9rem;color:var(--kon);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:3px}.out:hover{border-bottom-color:var(--kon)}.company-summary-section{padding:84px 0;background:var(--kinari-a);border-top:1px solid var(--hair)}.page-layout{padding:84px 0}.overview-rows{display:flex;flex-direction:column;border-top:1px solid var(--hair)}.overview-row{display:grid;grid-template-columns:8.5rem 1fr;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--hair);font-size:.9375rem}.overview-row .label{color:var(--muted);font-size:.8125rem;letter-spacing:.08em;padding-top:.15rem}.overview-row .value{color:var(--ink);line-height:1.85}footer{border-top:2px solid var(--kon);padding:40px 0 56px;background:var(--kinari-a)}footer p{margin:0;font-size:.8125rem;color:var(--muted);letter-spacing:.03em}.language-toggle{display:inline-flex;align-items:center;gap:4px;font-size:13px;letter-spacing:.06em}.language-btn{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;line-height:1;color:var(--muted);cursor:pointer;transition:color .15s ease}.language-btn:hover{color:var(--ink)}.language-btn.active{color:var(--ink);font-weight:600}.language-separator{color:var(--faint);user-select:none}@media (max-width:880px){.container{padding:0 24px}.hero{padding:68px 0 64px}.hero h1{max-width:16ch}.company-summary-section,.page-layout,.work{padding:56px 0}.work-grid{grid-template-columns:1fr;gap:40px}.shot-holder{max-width:240px}.tategaki{display:none}.overview-row{grid-template-columns:1fr;gap:.3rem;padding:1rem 0}.nav-links,.nav-right{gap:14px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}