:root{--ink:#050505;--paper:#f0f0f0;--line:#cfcfcf;--font-wide:"Acumin Variable Concept","Helvetica Neue",Arial,sans-serif;--font-semi-condensed:"Acumin Variable Concept","Arial Narrow","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Acumin Variable Concept","Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
.site-header{position:absolute;z-index:20;top:15.8vh;left:10.68vw;width:min(19.27vw,277px);display:flex;flex-direction:column;align-items:center;padding:0;background:transparent}
.brand{display:inline-flex;align-items:center}.site-header>.brand{display:block;align-self:flex-start;width:123.1%}.site-header>.brand img{display:block;width:100%;height:auto}
nav{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:2.2rem}
nav>a:not(.instagram){display:block;width:min(11.46vw,165px)}
nav>a:not(.instagram) img{display:block;width:100%;height:auto}
.instagram{display:block;width:min(5.73vw,82.5px);height:auto;margin-top:.1rem}.instagram img{display:block;width:100%;height:auto}
.menu-toggle{display:none}
.hero{min-height:810px;height:100vh;display:grid;place-items:center;padding:0 0 0 31.4vw}
.hero-mark{position:relative;display:grid;place-items:center;width:min(50vw,710px);aspect-ratio:705.512/745.132;overflow:hidden;background:#000;-webkit-mask:url('./assets/ai/hero-shape.svg') center/contain no-repeat;mask:url('./assets/ai/hero-shape.svg') center/contain no-repeat}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;background-size:cover;background-position:center;transform:scale(1.01);transition:opacity 1.1s ease,transform 7s ease}
.hero-slide.active{opacity:.9;transform:scale(1.1)}
.works{width:min(84vw,1460px);margin:0 auto;padding:5rem 0 12rem}
.works>h1,.work-group>h2,.profile>h2,.contact>h2{margin:0;text-align:center;line-height:0}
.works>h1 img,.profile>h2 img,.contact>h2 img{height:46px;width:auto}.work-group>h2 img{display:block;height:42px;width:auto;margin:0 auto}.work-group>h2{margin:.55rem 0 2.4rem}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.work-card{position:relative;display:block;overflow:hidden;aspect-ratio:1.42;background:#f5f5f5}
.work-card>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.work-card>span{position:absolute;left:0;bottom:0;padding:.42rem .72rem;background:#fff;color:#111;font-family:"Helvetica Neue","Yu Gothic",Arial,sans-serif;font-size:.68rem;font-weight:400;line-height:1.15;letter-spacing:.075em;opacity:0;transform:translateY(100%);transition:.25s ease}
.work-card:hover>img{transform:scale(1.035)}.work-card:hover>span{opacity:1;transform:none}
.crop-b>img{object-position:25% center}.crop-c>img{object-position:75% center}.crop-d>img{object-position:10% center}.crop-e>img{object-position:90% center}.crop-f>img{object-position:center 30%}.crop-g>img{object-position:35% center}.crop-h>img{object-position:65% center}.crop-i>img{object-position:center 70%}.sign-group{margin-top:8rem}
.profile{min-height:610px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7rem 1.5rem}
.name{margin:3rem 0 0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.45rem;letter-spacing:.28em}.profile-history{margin-top:4rem;text-align:center;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:.94rem;line-height:1.8}.profile-history p{margin:.45rem 0}.profile address{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%;margin-top:2.4rem;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:.9rem;font-style:normal;text-align:center}.profile address span:last-child{white-space:nowrap;font-size:clamp(.68rem,1.5vw,.9rem)}
.contact{min-height:780px;padding:7rem 1.5rem 9rem}.contact form{width:min(600px,100%);margin:5rem auto 0;border:1px solid #aaa;padding:2rem 2.5rem 2.5rem}.contact label:not(.privacy){display:block;padding:.75rem 0 .35rem;border-bottom:1px solid #aaa}.contact label>span{display:block;font-size:.82rem;font-weight:950}.contact label>span img{display:block;width:77px;height:auto;margin-bottom:.3rem}.contact label:nth-of-type(2)>span img{width:228px}.contact label:nth-of-type(3)>span img{width:68px}.contact input,.contact textarea{width:100%;border:0;outline:0;background:transparent;resize:vertical;font-size:1rem}.contact input{height:1.8rem}.message{margin-top:.3rem}.message>span{font-family:"Helvetica Neue","Yu Gothic",Arial,sans-serif;font-size:.7rem!important;font-weight:400!important;letter-spacing:.04em}.privacy{display:flex;align-items:center;gap:.7rem;margin:1rem 0}.privacy input{width:17px;height:17px}.privacy span{font-size:.74rem!important;font-weight:400!important}.contact button{width:100%;padding:1rem;border:0;background:#000;color:#fff;font-size:.8rem;font-weight:950;letter-spacing:.12em;cursor:pointer}.contact button:disabled{cursor:wait;opacity:.55}.contact-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-note{margin:.8rem 0 0;color:#777;font-size:.7rem;line-height:1.5}.form-note.success{color:#24713c}.form-note.error{color:#a22}
footer{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:5rem 2rem 3rem}.footer-brand img{width:150px}footer p{margin:0;font-size:.65rem;font-weight:800}
.back-to-top{position:fixed;z-index:18;right:2.7vw;bottom:2.4rem;width:76px;height:78px;padding:0;border:0;background:transparent;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.site-header{position:absolute;top:0;left:0;width:100%;height:70px;flex-direction:row;justify-content:space-between;padding:12px 20px;background:transparent}.site-header>.brand{width:108px;height:52px;border-width:2px}.site-header>.brand img{height:35px;padding:5px 9px;border-bottom-width:2px}.site-header>.brand span{font-size:7px}.menu-toggle{display:block;position:relative;z-index:2;border:0;background:transparent;font-size:.7rem;font-weight:900}.menu-toggle i{display:block;width:24px;height:1px;margin-top:5px;background:#000}nav{position:fixed;top:0;left:0;width:100vw;height:100dvh;margin:0;flex-direction:column;justify-content:center;gap:2rem;background:var(--paper);transform:translateY(-105%);transition:transform .35s ease}nav.open{transform:none}nav>a:not(.instagram){width:118px;height:34px}nav>a:not(.instagram) img{height:22px;width:auto}.instagram{width:52px;height:52px}.hero{min-height:620px;height:88svh;padding:5rem 0 0}.hero-mark{width:86vw}.works{width:auto;padding:4rem 20px 8rem}.works>h1 img,.profile>h2 img,.contact>h2 img{height:24px}.work-group>h2 img{height:21px}.work-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.work-card>span{opacity:1;transform:none;padding:.34rem .5rem;font-size:.58rem}.sign-group{margin-top:6rem}.profile{min-height:690px}.profile-history{margin-top:3rem;font-size:.82rem}.profile-history p:first-child{white-space:nowrap;font-size:clamp(.58rem,2.2vw,.75rem)}.profile address{font-size:.8rem;line-height:1.7}.profile address span:last-child{font-size:clamp(.58rem,2.4vw,.78rem)}.contact{min-height:0;padding:6rem 20px 8rem}.contact form{margin-top:3rem;padding:1.3rem}.back-to-top{right:14px;bottom:14px;width:58px;height:60px}}
@media(max-width:430px){.work-grid{grid-template-columns:1fr}.work-card{aspect-ratio:1.35}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
@media(max-width:760px){.site-header>.brand{width:118px;height:auto;border:0}.site-header>.brand img{width:100%;height:auto;padding:0;border:0}.site-header nav{gap:0}.site-header nav>a:not(.instagram){width:170px;height:auto;padding:0;border:0;background:transparent}.site-header nav>a:not(.instagram) img{width:100%;height:auto}.site-header .instagram{width:76px;height:auto;margin-top:.5rem}.works>h1 img,.profile>h2 img,.contact>h2 img{height:40px}.work-group>h2 img{height:38px}}
