:root{--color-bg: #F9F6F1;--color-bg-alt: #F1ECE4;--color-text: #403A34;--color-text-sub: #6E6459;--color-accent: #A9938E;--color-line: #E3DCD2;--color-line-brand: #06C755;--font-heading: "Shippori Mincho", "Yu Mincho", serif;--font-logo: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--section-pad: 72px;--content-max: 1040px;--text-max: 640px;--radius: 2px}@media(min-width:960px){:root{--section-pad: 120px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-weight:300;font-size:15px;letter-spacing:.05em;line-height:2;-webkit-font-smoothing:antialiased}@media(min-width:960px){body{font-size:16px}}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-heading);font-weight:400;letter-spacing:.12em}a{color:inherit}:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-bg);color:var(--color-text);padding:8px 16px;z-index:100}.skip-link:focus{left:8px;top:8px}.site-header{padding:28px 24px 0;text-align:center}.site-brand{font-family:var(--font-logo);font-weight:400;font-size:15px;letter-spacing:.35em;text-transform:uppercase;text-indent:.35em}.site-brand-img{width:150px;margin:0 auto}.container{max-width:var(--content-max);margin:0 auto;padding:0 24px}.container-narrow{max-width:var(--text-max)}.section{padding:var(--section-pad) 0;scroll-margin-top:24px}.section-alt{background:var(--color-bg-alt)}.section-eyebrow{font-family:var(--font-logo);font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--color-text-sub);text-align:center;text-indent:.35em}.section-title{font-size:24px;text-align:center;margin-top:8px}@media(min-width:960px){.section-title{font-size:28px}}.section-title:after{content:"";display:block;width:40px;height:1px;background:var(--color-accent);margin:28px auto 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:200px;padding:15px 40px;border:1px solid var(--color-text);border-radius:var(--radius);background:transparent;color:var(--color-text);font-family:var(--font-body);font-weight:400;font-size:14px;letter-spacing:.1em;text-decoration:none;transition:background-color .3s ease,color .3s ease}.btn:hover{background:var(--color-text);color:var(--color-bg)}.line-icon{flex-shrink:0}.hero{min-height:90vh;min-height:90svh;display:flex;align-items:center;padding:40px 0 56px}.hero-inner{max-width:var(--content-max);margin:0 auto;padding:0 24px;width:100%;display:grid;gap:36px}.hero-media img{width:100%;height:52vh;object-fit:cover;object-position:var(--focus, 50% 50%);border-radius:var(--radius)}.hero-title{font-size:26px;line-height:1.9}.hero-sub{margin-top:20px;color:var(--color-text-sub);font-size:14px}.hero-cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px}.hero-line{width:1px;height:0;background:linear-gradient(to bottom,transparent,var(--color-accent));margin-top:44px}@media(min-width:600px){.hero-title{font-size:32px}.hero-sub{font-size:15px}}@media(min-width:960px){.hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:72px}.hero-text{order:-1}.hero-media img{height:auto;max-height:76vh;object-fit:cover}.hero-title{font-size:38px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes growLine{to{height:64px}}.hero-title{opacity:0;animation:fadeUp 1.2s ease .3s forwards}.hero-sub{opacity:0;animation:fadeUp 1.2s ease .6s forwards}.hero-cta{opacity:0;animation:fadeUp 1.2s ease .9s forwards}.hero-media{opacity:0;animation:fadeUp 1.2s ease .45s forwards}.hero-line{animation:growLine 1.5s ease 1.2s forwards}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-title,.hero-sub,.hero-cta,.hero-media{animation:none;opacity:1}.hero-line{animation:none;height:64px}.btn{transition:none}}.about-grid{max-width:var(--text-max);margin:56px auto 0;display:grid;gap:40px}.about-media img{border-radius:var(--radius)}@media(min-width:960px){.about-grid{max-width:none;grid-template-columns:1fr 1fr;align-items:center;gap:72px}}.works-grid{--works-gap: 16px;margin-top:56px;display:grid;gap:var(--works-gap)}.works-band{display:grid;grid-template-columns:repeat(var(--band-cols, 2),1fr);gap:var(--works-gap);align-items:start}.works-col{display:grid;gap:var(--works-gap);align-content:start}.work-item{position:relative;margin:0}.work-media{position:relative;aspect-ratio:var(--ratio, 4 / 5);overflow:hidden;border-radius:var(--radius)}.work-media:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(to top,rgba(0,0,0,.42),transparent);pointer-events:none}.works-grid img{width:100%;height:100%;object-fit:cover;object-position:var(--focus, 50% 50%);transform-origin:var(--focus, 50% 50%);transform:translate3d(0,var(--shift, 0px),0) scale(var(--zoom, 1.24));will-change:transform;transition:opacity .3s ease}.works-grid figure:hover img{opacity:.85}.works-grid figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;font-size:13px;font-weight:500;letter-spacing:.08em;line-height:1.6;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.45);text-align:center}@media(min-width:600px){.works-grid{--works-gap: 20px}}@media(min-width:960px){.works-grid{--works-gap: 24px}}@media(prefers-reduced-motion:reduce){.works-grid img{transition:none}}.concept-list{margin-top:56px}.concept-item{text-align:center;padding:40px 0}.concept-item+.concept-item{border-top:1px solid var(--color-line)}.concept-item h3{font-size:18px}.concept-item p{margin-top:12px;font-size:14px;color:var(--color-text-sub)}.flow-list{list-style:none;counter-reset:flow;margin-top:56px;display:grid;grid-template-columns:1fr;gap:36px}.flow-list li{text-align:center;padding:0 8px}.flow-num{display:block;font-family:var(--font-logo);font-size:20px;letter-spacing:.2em;color:var(--color-text-sub)}.flow-num:after{content:"";display:block;width:24px;height:1px;background:var(--color-accent);margin:14px auto}.flow-list h3{font-size:16px}.flow-list p{margin-top:8px;font-size:13px;line-height:1.9;color:var(--color-text-sub)}.flow-note{margin-top:56px;text-align:center;font-size:13px;color:var(--color-text-sub)}@media(min-width:600px){.flow-list{grid-template-columns:repeat(3,1fr);gap:48px 32px}}@media(min-width:960px){.flow-list{grid-template-columns:repeat(6,1fr);gap:24px}}.contact-inner{text-align:center}.contact-copy{margin-top:48px;font-family:var(--font-heading);font-size:17px;letter-spacing:.12em}.contact-inner .btn{margin-top:40px}.contact-qr{margin-top:44px}.contact-qr img{width:132px;margin:0 auto;border:1px solid var(--color-line);border-radius:var(--radius)}.contact-qr figcaption{margin-top:16px;font-size:12px;line-height:1.9;color:var(--color-text-sub)}.site-footer{border-top:1px solid var(--color-line);padding:64px 24px 48px;text-align:center}.footer-logo{display:flex;flex-direction:column;gap:8px}.footer-logo-img{width:180px;margin:0 auto}.footer-logo-en{font-family:var(--font-logo);font-size:20px;letter-spacing:.35em;text-transform:uppercase;text-indent:.35em}.footer-logo-ja{font-family:var(--font-heading);font-size:13px;letter-spacing:.3em;text-indent:.3em}.footer-logo-sub{font-family:var(--font-logo);font-size:11px;letter-spacing:.3em;text-indent:.3em;color:var(--color-text-sub)}.footer-copyright{margin-top:36px;font-size:11px;letter-spacing:.1em;color:var(--color-text-sub)}.notfound{min-height:70vh;display:flex;align-items:center}.notfound-inner{text-align:center;width:100%}.notfound-title{font-size:22px}.notfound-text{margin-top:20px;font-size:14px;color:var(--color-text-sub)}.notfound-inner .btn{margin-top:40px}
