:root{color-scheme:light;--bg:#fafaf8;--paper:#fff;--text:#242120;--muted:#6F6A69;--line:#E8E5E3;--accent:#F95959;--accent-dark:#E04848}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.wrap{width:min(1160px,calc(100% - 56px));margin:0 auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.4}p{color:var(--muted)}h2{font-size:clamp(23px,2.6vw,33px);letter-spacing:-.02em}h3{font-size:18px}.skip{position:absolute;left:8px;top:-100px;padding:9px 15px;background:#fff;z-index:30}.skip:focus{top:10px}.header{height:86px;background:rgba(250,250,248,.95);position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.logo,.footer-logo{font-size:25px;font-weight:800;letter-spacing:-.075em;line-height:1}.dot{color:var(--accent)}.nav{display:flex;align-items:center;gap:36px}.nav a{font-size:13px;font-weight:600;color:#5A5554}.nav a[aria-current="page"],.nav a:hover{color:var(--accent)}.menu-button{display:none}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--accent);margin-bottom:20px;text-transform:uppercase}.hero{padding:95px 0 106px}.hero-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:7.5%;align-items:center}.hero-copy h1{font-weight:750;font-size:clamp(39px,4.4vw,64px);letter-spacing:-.075em;max-width:600px;line-height:1.35;margin-bottom:31px}.lead{font-size:16px;line-height:2.15}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--accent);background:var(--accent);color:white!important;padding:12px 26px;border-radius:4px;font-weight:700;font-size:13px;transition:.2s}.button:hover{background:var(--accent-dark);transform:translateY(-1px)}.button.outline{background:transparent;color:var(--accent)!important}.button.outline:hover{background:#FEE6E5}.text-link{font-size:13px;font-weight:700;color:var(--accent);text-decoration:underline;text-decoration-color:#FBACAC;text-underline-offset:6px}.text-link:hover{text-decoration-color:var(--accent)}.hero-media{min-width:0}.video-poster{display:block;position:relative;width:100%;aspect-ratio:16/10;padding:0;border:0;border-radius:5px;overflow:hidden;background:#E9E7E5}.video-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.video-poster:hover img{transform:scale(1.025)}.play{display:grid;place-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;height:64px;width:64px;background:rgba(255,255,255,.94);color:#242120;padding-left:4px;font-size:18px;box-shadow:0 5px 25px #0002}.video-poster iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-caption{font-size:11px;margin:12px 0 0;text-align:right}.section{padding:85px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}.section-head h2{margin:0}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.work-card{display:block;min-width:0}.card-image{overflow:hidden;border-radius:4px;aspect-ratio:16/11;background:#ECEAE8}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.work-card:hover img{transform:scale(1.045)}.card-body{display:flex;justify-content:space-between;gap:8px;padding:17px 2px}.card-body h3{font-size:17px;margin:0 0 4px}.card-body p{font-size:12px;margin:0}.card-body>span{font-size:22px;color:var(--accent)}.about-short{background:#FDEEED}.about-short-grid,.info-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:12%;align-items:start}.about-short p:not(.eyebrow),.info-grid p{font-size:16px;line-height:2.15}.contact-short{text-align:center}.contact-short p{margin:0 auto 20px}.page-head{padding:84px 0 65px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(34px,4.5vw,50px);letter-spacing:-.05em;margin:0 0 16px}.page-head p:last-child{margin:0}.archive-section{padding-top:42px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filters button{border:1px solid #E0DAD8;background:#fff;color:#5C5655;border-radius:99px;font-size:12px;font-weight:600;padding:7px 18px}.filters button.active,.filters button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:12%}.contact-grid aside h2{font-size:20px}.contact-grid aside p{font-size:14px}.contact-email{font-weight:700;color:var(--accent);overflow-wrap:anywhere}.contact-form{display:flex;flex-direction:column}.contact-form>label:not(.privacy){font-size:13px;font-weight:700;margin-bottom:6px}.contact-form label span:not(.privacy span){color:var(--accent)}.contact-form input:not([type="hidden"]):not([type="checkbox"]),.contact-form textarea{width:100%;border:1px solid #DFD9D7;padding:12px 15px;border-radius:4px;background:#fff;color:var(--text);outline-offset:3px;margin-bottom:20px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #FB8A8A}.privacy{display:flex;align-items:center;gap:10px;font-size:12px;margin:4px 0 22px}.privacy a{text-decoration:underline}.privacy input{accent-color:var(--accent)}.submit{align-self:flex-start}.contact-form small{font-size:11px;color:var(--muted);margin-top:12px}.hidden{display:none}.project-head{border-bottom:0;padding-bottom:30px}.back{display:inline-block;margin-bottom:40px}.project-media{width:min(960px,calc(100% - 56px))}.project-media .video-poster{aspect-ratio:16/9}.muted{font-size:13px!important;color:#878281!important}.legal{max-width:810px}.legal h2{font-size:20px;margin-top:40px}.legal a{color:var(--accent);text-decoration:underline}.footer{margin-top:30px;border-top:1px solid var(--line);padding:53px 0 25px}.footer-upper{display:flex;justify-content:space-between;gap:30px}.footer-upper p{font-size:12px;margin:14px 0}.footer-links{display:flex;flex-wrap:wrap;gap:24px;align-items:start;font-size:12px}.footer-links a:hover{color:var(--accent)}.footer-lower{display:flex;justify-content:space-between;margin-top:50px;font-size:11px;color:#8C8786}.footer-lower a{text-decoration:underline}@media(max-width:850px){.hero{padding:60px 0}.hero-grid{grid-template-columns:1fr;gap:43px}.hero-copy h1{max-width:none}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-short-grid,.info-grid{grid-template-columns:1fr 1.5fr;gap:7%}.contact-grid{gap:6%}.footer-upper{flex-direction:column}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.header{height:68px}.logo{font-size:23px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent}.menu-button span{display:block;height:2px;background:#2E2928;width:22px;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);border-bottom:1px solid var(--line);padding:15px 18px 23px;flex-direction:column;align-items:stretch;gap:6px}.nav.open{display:flex}.nav a{padding:9px 5px;font-size:14px}.hero{padding:56px 0}.hero-copy h1{font-size:37px;line-height:1.45;margin-bottom:20px}.lead{font-size:14px}.actions{gap:20px;margin-top:27px}.section{padding:60px 0}.section-head{align-items:start}.section-head .text-link{font-size:11px}.works-grid{grid-template-columns:1fr;gap:18px}.card-image{aspect-ratio:16/10}.about-short-grid,.info-grid,.contact-grid{grid-template-columns:1fr;gap:22px}.page-head{padding:55px 0 47px}.page-head h1{font-size:34px}.filters{margin-bottom:25px}.project-media{width:calc(100% - 36px)}.footer-links{gap:16px}.footer-lower{gap:20px}.contact-short{text-align:left}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

[hidden]{display:none!important}
.logo img{display:block;height:64px;width:auto}@media(max-width:620px){.logo img{height:50px}}
.footer-logo img{display:block;height:64px;width:auto}
