:root{--bg:#f2f0e8;--ink:#17231b;--muted:#687269;--green:#173f2b;--line:rgba(23,35,27,.18);--serif:"Cormorant Garamond","Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Serif JP",serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}header{position:fixed;z-index:20;top:0;left:0;width:100%;height:96px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(var(--bg),rgba(242,240,232,.75),transparent)}.logo{display:flex;flex-direction:column}.logo b{font-weight:500;font-size:20px;letter-spacing:.18em}.logo span{font:500 10px/1 var(--serif);letter-spacing:.28em;margin-top:8px}nav{display:flex;gap:30px;font:500 12px/1 var(--serif);letter-spacing:.16em}.menu{display:none}.hero{min-height:100svh;padding:122px 5vw 55px;display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:center;position:relative}.hero-photo{height:calc(100svh - 177px);min-height:600px;position:relative;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(0,0,0,.18))}.vertical{position:absolute;right:22px;bottom:24px;color:#fff;writing-mode:vertical-rl;font:500 10px/1.8 var(--serif);letter-spacing:.19em}.kicker,.section-no{font:500 11px/1 var(--serif);letter-spacing:.22em;color:var(--muted)}.hero h1{font-weight:500;font-size:clamp(48px,5vw,82px);line-height:1.2;margin:32px 0}.hero-copy>p:last-of-type{font-size:14px;line-height:2.15;color:var(--muted);max-width:430px}.hero-copy a{display:flex;justify-content:space-between;border-bottom:1px solid;padding:18px 0;margin-top:42px;width:min(320px,100%);font:500 12px/1 var(--serif);letter-spacing:.14em}.count{position:absolute;right:2vw;bottom:2vw;font:500 110px/1 var(--serif);opacity:.04}.about{padding:150px 6vw;border-top:1px solid var(--line);display:grid;grid-template-columns:.3fr .8fr 1fr;gap:6vw}.about-title p{font-size:13px;line-height:1.9;color:var(--muted)}.about h2,.books h2,.bird-copy h2{font:500 clamp(72px,9vw,128px)/.82 var(--serif);margin:30px 0 0}.about-body{padding-top:60px;display:grid;grid-template-columns:170px 1fr;gap:34px}.about-body img{aspect-ratio:4/5;object-fit:cover}.about-body h3{font-size:26px;font-weight:500;margin:0 0 5px}.about-body small{font:500 10px/1 var(--serif);letter-spacing:.2em;color:var(--muted)}.about-body p{font-size:13px;line-height:2;color:var(--muted)}.books{padding:140px 0 120px 6vw;border-top:1px solid var(--line);overflow:hidden}.books-head{padding-right:6vw;display:flex;justify-content:space-between;align-items:end}.books-head>p{max-width:360px;font-size:12px;line-height:1.9;color:var(--muted)}.book-row{display:flex;gap:34px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:80px 6vw 30px 0}.book-row::-webkit-scrollbar{display:none}.book-row article{flex:0 0 min(23vw,340px);scroll-snap-align:start}.book-row img{aspect-ratio:3/4.25;object-fit:cover;box-shadow:0 18px 45px rgba(17,32,23,.12);transition:.5s}.book-row article:hover img{transform:translateY(-7px)}.book-row span{display:block;margin-top:20px;font:500 10px/1 var(--serif);letter-spacing:.18em;color:var(--muted)}.book-row h3{font-size:17px;line-height:1.55;font-weight:500;margin:10px 0}.swipe{text-align:right;padding-right:6vw;font:500 9px/1 var(--serif);letter-spacing:.2em;color:var(--muted)}.birds{display:grid;grid-template-columns:1.1fr .9fr;min-height:780px}.bird-image img{height:100%;object-fit:cover;object-position:center}.bird-copy{background:var(--green);color:#f6f3ea;padding:8vw;display:flex;flex-direction:column;justify-content:center}.light{color:rgba(255,255,255,.58)}.bird-copy h2{font-size:clamp(70px,8vw,115px);margin:45px 0}.bird-copy p{max-width:400px;font-size:13px;line-height:2;color:rgba(255,255,255,.68)}.bird-copy a{margin-top:30px;border-bottom:1px solid rgba(255,255,255,.5);padding:15px 0;width:250px;font:500 11px/1 var(--serif);letter-spacing:.15em}.contact{padding:170px 6vw;text-align:center}.contact p{margin:55px 0 30px;color:var(--muted);font-size:13px}.contact>a{font:500 clamp(36px,6vw,82px)/1 var(--serif);border-bottom:1px solid;padding-bottom:12px}.contact>a span{font-size:.35em}footer{padding:34px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:500 10px/1 var(--serif);letter-spacing:.16em}.reveal{opacity:0;transform:translateY(28px);transition:.9s}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){header{height:82px;padding:0 20px}.logo b{font-size:18px}.menu{display:block;border:0;background:none;width:44px;height:44px;position:relative;z-index:22}.menu i{display:block;height:1px;background:var(--ink);margin:9px 0}.menu.open i:first-child{transform:translateY(5px) rotate(45deg)}.menu.open i:last-child{transform:translateY(-5px) rotate(-45deg)}nav{position:fixed;inset:0;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;font-size:25px;gap:38px;transform:translateY(-101%);transition:.4s;z-index:21}nav.open{transform:none}.hero{grid-template-columns:1fr;padding:94px 18px 62px;gap:35px}.hero-photo{height:56svh;min-height:430px}.hero h1{font-size:12.5vw;margin:22px 0}.hero-copy{padding:0 7vw}.count{display:none}.about{padding:100px 20px;grid-template-columns:1fr;gap:38px}.about h2,.books h2{font-size:23vw}.about-body{padding-top:0;grid-template-columns:110px 1fr;gap:20px}.about-body p{grid-column:1/-1}.books{padding:100px 0 90px 18px}.books-head{padding-right:18px;display:block}.books-head>p{margin-top:28px}.book-row{gap:14px;padding:50px 18px 25px 0;scroll-padding-left:0}.book-row article{flex-basis:calc((100vw - 50px)/2)}.book-row h3{font-size:12px;line-height:1.55}.book-row span{margin-top:12px;font-size:8px}.swipe{padding-right:18px}.birds{grid-template-columns:1fr}.bird-image{height:58svh}.bird-copy{padding:90px 22px}.bird-copy h2{font-size:20vw}.contact{padding:120px 18px}.contact>a{font-size:8.5vw}footer{padding:28px 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
