@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@300;400;500&display=swap";:root{font-family:DM Sans,Noto Sans JP,Arial,sans-serif;color:#21211f;background:#f6f5f2;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:2rem;border-bottom:1px solid #dedbd5}.brand{font-size:16px;font-weight:700;letter-spacing:-.05em;line-height:1.2;white-space:nowrap}.brand span{display:block;font-size:9px;font-weight:400;letter-spacing:.16em;margin-top:4px}.topbar nav{display:flex;align-items:center;gap:clamp(12px,2.8vw,40px);font-size:11px;letter-spacing:.09em}.topbar nav a:hover,.text-link:hover{opacity:.5}.lang{border:1px solid #444;background:transparent;padding:8px 11px;font-size:10px}.hero{padding:6vw 5vw;display:grid;grid-template-columns:1fr 46%;gap:3vw;min-height:85vh}.hero-heading{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.eyebrow,.hero-bottom,.section-head,.card-meta,.about-small,.footer-line,.detail-heading>span{font-size:11px;letter-spacing:.09em}.eyebrow,.hero-bottom,.section-head{display:flex;justify-content:space-between;gap:15px}.hero h1{font-size:clamp(57px,8vw,154px);line-height:.85;letter-spacing:-.095em;font-weight:500;margin:4rem 0;overflow-wrap:normal}.hero-dot{color:#a7a39b}.hero-photo{height:min(75vh,760px);background:#e4e0d8;overflow:hidden}.hero-photo img{transition:transform .6s}.hero-photo:hover img{transform:scale(1.025)}.works-section,.about-section,.contact-section{padding:50px 5vw 100px;scroll-margin-top:15px}.section-head{border-top:1px solid #272727;padding:13px 0 44px}.filters{display:flex;gap:26px;margin-bottom:42px;flex-wrap:wrap}.filters button{background:none;border:0;color:#84807a;padding:0 0 6px;letter-spacing:.08em;font-size:12px}.filters button.active{color:#252422;border-bottom:1px solid #252422}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3.6vw;row-gap:70px;align-items:start}.work-card{grid-column:span 5;display:block;min-width:0}.work-card.card-7{grid-column:span 7}.work-card:nth-child(3n+2){grid-column:span 5;margin-top:9vw}.work-card:nth-child(3n+3){grid-column:span 7}.work-card figure{margin:0;aspect-ratio:4/5;background:#e3dfd7;overflow:hidden}.work-card:nth-child(3n+3) figure{aspect-ratio:1.22}.work-card img{transition:transform .5s}.work-card:hover img{transform:scale(1.03)}.card-meta{display:flex;justify-content:space-between;gap:15px;margin-top:11px;line-height:1.6}.card-meta span:last-child{text-align:right;color:#888}.about-section{margin-top:20px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about-layout h2{font-size:clamp(40px,5vw,94px);line-height:1.05;letter-spacing:-.075em;font-weight:500;margin:0}.about-layout p{font-size:14px;line-height:2.2;max-width:540px}.about-small{margin-top:55px!important;line-height:2!important;color:#777}.text-link{display:inline-block;border-bottom:1px solid;margin-top:30px;font-size:11px;letter-spacing:.1em;padding-bottom:6px}.contact-section{padding-bottom:25px}.contact-section>p{font-size:15px}.contact-mail{display:flex;justify-content:space-between;align-items:center;font-size:clamp(60px,12vw,190px);letter-spacing:-.095em;border-bottom:1px solid;line-height:1.1;padding:30px 0 50px}.contact-mail span{font-size:.5em}.footer-line{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:#777}.footer-line div{display:flex;gap:22px}.detail{padding:50px 5vw 100px}.back-link{font-size:11px;letter-spacing:.1em}.detail-heading{display:flex;justify-content:space-between;align-items:end;margin:60px 0 55px;border-bottom:1px solid;padding-bottom:25px;gap:25px}.detail-heading h1{font-size:clamp(43px,6vw,105px);font-weight:500;letter-spacing:-.075em;line-height:1.05;margin:14px 0 0}.detail-heading p{font-size:11px;letter-spacing:.1em}.detail-photos{display:flex;flex-direction:column;align-items:center;gap:35px}.detail-photo{display:block;width:min(100%,1050px);background:none;border:0;padding:0}.detail-photo img{width:100%;height:auto;max-height:90vh;object-fit:contain}.detail-info{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:60px 0;font-size:13px}.detail-info p{margin:0;white-space:pre-line;line-height:1.8}.lightbox{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#171716f7;display:flex;align-items:center;justify-content:center;color:#fff}.lightbox img{width:auto;height:auto;max-width:85vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:#ffffff18;color:#fff;font-size:24px;width:42px;height:42px}.lb-close{right:20px;top:20px}.lb-prev{left:20px;top:50%}.lb-next{right:20px;top:50%}.lb-count{position:absolute;bottom:20px;font-size:12px}@media(max-width:800px){.topbar{height:74px;padding:0 5vw}.topbar nav{gap:13px;font-size:9px}.topbar nav a:nth-child(2),.topbar nav a:nth-child(3){display:none}.hero{display:flex;flex-direction:column;padding:40px 5vw 65px;min-height:auto;gap:35px}.hero h1{font-size:clamp(60px,13vw,110px);margin:50px 0 45px}.hero-bottom{margin:0 0 8px}.hero-photo{height:auto;aspect-ratio:4/5}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 12px}.work-card,.work-card:nth-child(3n+2),.work-card:nth-child(3n+3){grid-column:span 1;margin-top:0}.work-card:nth-child(3n+3){grid-column:span 2}.work-card:nth-child(3n+3) figure{aspect-ratio:1.3}.card-meta{font-size:10px;flex-direction:column;gap:1px}.card-meta span:last-child{text-align:left}.works-section,.about-section,.contact-section{padding:35px 5vw 75px}.about-layout{grid-template-columns:1fr;gap:25px}.about-layout h2{font-size:55px}.footer-line{flex-wrap:wrap;font-size:9px}.contact-mail{font-size:16vw}.detail-heading{margin:45px 0}.detail{padding:35px 5vw}.detail-photos{gap:18px}}@media(max-width:380px){.brand{font-size:13px}.topbar nav{gap:8px}.hero h1{font-size:15vw}}.hero-photo{height:auto;min-height:0;background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center}.hero-photo img{width:100%;height:auto;max-height:78vh;object-fit:contain;transition:none}.work-card figure,.work-card:nth-child(3n+3) figure{aspect-ratio:auto;overflow:visible;background:transparent}.work-card figure img{width:100%;height:auto;object-fit:contain;transition:none}.work-card:hover img{transform:none}.detail-photo img{width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:auto}.contact-mail{font-size:clamp(22px,4.6vw,76px);letter-spacing:-.05em;overflow-wrap:anywhere;gap:12px}.contact-mail span{font-size:.6em;flex-shrink:0}.pricing-section{padding:50px 5vw 100px;scroll-margin-top:15px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.pricing-plan{border-top:1px solid #aaa;padding:18px 0}.pricing-name{font-size:12px;letter-spacing:.1em}.pricing-plan h3{font-size:clamp(25px,3vw,48px);letter-spacing:-.05em;font-weight:500;margin:22px 0 8px}.pricing-plan>span,.pricing-plan>p:last-child,.pricing-note{font-size:13px;line-height:1.8}@media(max-width:800px){.hero-photo{aspect-ratio:auto;height:auto}.hero-photo img{max-height:none}.work-card:nth-child(3n+3) figure{aspect-ratio:auto}.pricing-grid{grid-template-columns:1fr;gap:8px}.pricing-section{padding:35px 5vw 75px}}.pricing-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:72px}.pricing-intro h2{font-size:clamp(46px,7.2vw,118px);line-height:.93;letter-spacing:-.078em;font-weight:500;margin:0}.pricing-intro>div{font-size:13px;line-height:2;max-width:540px}.pricing-intro strong{font-weight:500}.pricing-intro p{margin:12px 0}.pricing-grid{gap:3vw}.pricing-plan{border-top:1px solid #292929;padding-top:22px}.pricing-names h3{font-size:clamp(22px,2.4vw,36px);margin:0;letter-spacing:-.04em;font-weight:500}.pricing-names p{font-size:13px;color:#76716c;margin:5px 0 20px}.pricing-duration{font-size:12px;color:#666;letter-spacing:.04em}.pricing-plan .pricing-cost{font-size:clamp(28px,3.2vw,52px);letter-spacing:-.05em;line-height:1.2;margin:18px 0 22px}.pricing-plan>p:last-child{font-size:13px;line-height:2}.pricing-tax{font-size:11px;color:#777;margin:15px 0 90px}.pricing-terms{border-top:1px solid #292929}.pricing-terms>h3{font-size:clamp(27px,4.2vw,65px);font-weight:500;letter-spacing:-.055em;margin:35px 0 30px}.pricing-terms>h3 span{display:block;font-size:13px;letter-spacing:0;color:#777;margin-top:6px}.pricing-term{border-top:1px solid #d0cdc6;display:grid;grid-template-columns:1fr 2fr;gap:3vw;padding:24px 0}.pricing-term h4{margin:0;font-weight:500;font-size:15px}.pricing-term h4 span{display:block;font-size:12px;font-weight:400;color:#777;margin-top:6px}.pricing-term p{font-size:13px;line-height:2;margin:0;max-width:700px}.pricing-cta{padding:45px 0 0}.pricing-cta p{font-size:13px;line-height:1.8}.pricing-cta .text-link{font-size:clamp(20px,3vw,44px);letter-spacing:-.05em;overflow-wrap:anywhere}@media(max-width:800px){.topbar nav a[href="#prices"]{display:inline}.topbar nav{gap:10px}.pricing-intro{grid-template-columns:1fr;gap:25px;margin-bottom:38px}.pricing-intro h2{font-size:clamp(44px,10vw,77px)}.pricing-tax{margin-bottom:55px}.pricing-term{grid-template-columns:1fr;gap:12px}.pricing-cta .text-link{font-size:22px}}@media(max-width:430px){.topbar{padding:0 3vw;gap:8px}.brand{font-size:12px}.brand span{font-size:8px}.topbar nav{gap:8px;font-size:9px}.topbar nav a[href="#about"],.topbar nav a[href="#contact"]{display:none}.pricing-intro h2{font-size:11vw}}.projects-section{padding:50px 5vw 100px;scroll-margin-top:15px}.projects-grid{display:grid;gap:90px}.project-entry{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:5vw;align-items:center}.project-entry:nth-child(2n){grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr)}.project-entry:nth-child(2n) .project-image{order:2}.project-image{display:block;min-width:0}.project-image img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain}.project-copy h3{font-size:clamp(30px,4.5vw,78px);font-weight:500;letter-spacing:-.065em;line-height:1.12;margin:0 0 12px}.project-year{color:#777;letter-spacing:.08em;font-size:12px}.project-description{font-size:14px;line-height:2.1;white-space:pre-line;max-width:560px}.project-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:11px;letter-spacing:.08em}.project-links a{border-bottom:1px solid;padding-bottom:5px}@media(max-width:800px){.projects-section{padding:35px 5vw 75px}.projects-grid{gap:65px}.project-entry,.project-entry:nth-child(2n){grid-template-columns:1fr;gap:18px}.project-entry:nth-child(2n) .project-image{order:0}.project-copy h3{font-size:clamp(30px,9vw,58px)}}.standalone-page{min-height:calc(100vh - 88px)}.standalone-page .about-section,.standalone-page .pricing-section,.standalone-page .contact-section{padding-top:clamp(42px,5vw,92px);min-height:65vh}.topbar nav{flex-wrap:wrap;justify-content:flex-end}@media(max-width:800px){.topbar{height:auto;min-height:76px;align-items:flex-start;padding-top:18px;padding-bottom:18px}.topbar nav{gap:12px}.topbar nav a:nth-child(2),.topbar nav a:nth-child(3){display:inline}.standalone-page{min-height:calc(100vh - 76px)}}@media(max-width:480px){.topbar{display:block}.topbar nav{justify-content:flex-start;margin-top:17px;gap:12px 16px}.topbar nav a{font-size:10px}}.inquiry-section{margin:72px 0 90px;scroll-margin-top:24px}.inquiry-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:7vw;padding-top:20px}.inquiry-heading p{font-size:13px;line-height:2;max-width:370px}.inquiry-heading .inquiry-note{color:#777;font-size:12px}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;align-content:start}.inquiry-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;line-height:1.6;letter-spacing:.02em}.inquiry-form label.full,.inquiry-form .form-end{grid-column:1/-1}.inquiry-form em{color:#aa5a43;font-style:normal}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #a9a59e;border-radius:0;background:transparent;color:#232320;font:inherit;font-size:14px;letter-spacing:normal;padding:12px 4px;outline-offset:4px}.inquiry-form textarea{resize:vertical;min-height:118px}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-bottom-color:#292929;outline:1px solid #292929}.inquiry-form .form-end{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-top:12px}.inquiry-form .form-end p{font-size:11px;line-height:1.7;color:#777;margin:0;max-width:300px}.inquiry-form button{background:#252521;color:#fff;padding:17px 22px;border:1px solid #252521;white-space:normal;text-align:left;font-size:12px;letter-spacing:.04em;min-height:54px}.inquiry-form button:hover{background:#55554e}.inquiry-form button span{padding-left:20px}@media(max-width:800px){.inquiry-layout{grid-template-columns:1fr;gap:35px}.inquiry-section{margin:50px 0 70px}}@media(max-width:520px){.inquiry-form{grid-template-columns:1fr;gap:24px}.inquiry-form .form-end{align-items:stretch;flex-direction:column}.inquiry-form button{width:100%}}.pricing-notice{border-top:1px solid #d0cdc6;border-bottom:1px solid #d0cdc6;padding:22px 0;margin:0 0 58px;max-width:980px}.pricing-notice strong{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;margin-bottom:12px}.pricing-notice p{font-size:13px;line-height:1.95;margin:0;color:#4c4946}.plan-price-note{display:block;font-size:11px;line-height:1.8;color:#726e69;margin-top:8px}.hero-photo{display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible;background:transparent}.hero-photo img{width:100%;height:auto;max-height:78vh;object-fit:contain;opacity:1;transition:opacity .35s ease}.hero-photo img.is-changing{opacity:0}.hero-photo:hover img{transform:none}@media(max-width:800px){.hero-photo{height:auto;aspect-ratio:auto}.hero-photo img{max-height:none}}@media(prefers-reduced-motion:reduce){.hero-photo img{transition:none}}.works-page-nav{display:flex;gap:clamp(10px,2.8vw,38px);flex-wrap:wrap;align-items:center;padding:23px 0 28px;border-bottom:1px solid #d9d8d3;margin-bottom:34px}.works-page-nav a{color:inherit;text-decoration:none;letter-spacing:.08em;font-size:clamp(12px,1.1vw,15px);transition:opacity .2s}.works-page-nav a:hover{opacity:.55}.works-page-nav a span{font-size:.85em;opacity:.55}.works-view-all{display:inline-block;margin-top:40px;text-decoration:none;color:inherit;font-size:13px;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:6px}.works-page-title{font-size:clamp(46px,9vw,122px);font-weight:500;letter-spacing:-.065em;line-height:1;margin:10px 0 46px}.works-page .works-section{padding-top:clamp(40px,7vw,100px)}@media(max-width:650px){.works-page-nav{gap:16px 20px}.works-page-title{margin-bottom:24px}}.projects-page .projects-section{padding-top:clamp(42px,5vw,92px)}.hero.hero-fullscreen{position:relative;display:block;padding:0;margin:0;min-height:0;height:calc(100vh - 88px);height:calc(100svh - 88px);overflow:hidden;background:#252525}.hero.hero-fullscreen .hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden;background:#252525}.hero.hero-fullscreen .hero-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center;transform:none;transition:opacity .35s ease}.hero.hero-fullscreen .hero-photo:hover img{transform:none}.hero-fullscreen-scroll{position:absolute;bottom:clamp(20px,4vw,55px);left:5vw;z-index:2;pointer-events:none;color:#fff;font-size:11px;letter-spacing:.12em;text-shadow:0 1px 8px rgba(0,0,0,.55)}@media(max-width:800px){.hero.hero-fullscreen{height:calc(100svh - 72px)}}@media(prefers-reduced-motion:reduce){.hero.hero-fullscreen .hero-photo img{transition:none}}.home-hero-only{padding:0;margin:0}.home-hero-only .hero.hero-fullscreen{margin-bottom:0}body:has(.home-hero-only) footer{display:none}.about-layout{align-items:start;column-gap:clamp(26px,6vw,120px)}.about-portrait{width:100%;min-width:0;align-self:start}.about-portrait img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}@media(max-width:800px){.about-layout{grid-template-columns:1fr;gap:35px}.about-portrait{max-width:680px}}.home-hero-only .hero.hero-fullscreen{background:#f6f5f2}.home-hero-only .hero.hero-fullscreen .hero-photo{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#f6f5f2;overflow:hidden}.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer{position:absolute;top:50%;left:50%;width:auto;height:auto;max-width:94%;max-height:88%;object-fit:contain;object-position:center;opacity:0;transform:translate(-50%,-50%) scale(1.018);transition:opacity 1.25s cubic-bezier(.22,.61,.36,1),transform 5.3s ease-out;will-change:opacity,transform}.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer.hero-portrait{max-width:82%;max-height:94%}.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer.hero-landscape{max-width:94%;max-height:88%}.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer.hero-layer-active{opacity:1;transform:translate(-50%,-50%) scale(1)}@media(max-width:800px){.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer.hero-portrait{max-width:94%;max-height:92%}.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer.hero-landscape{max-width:94%;max-height:85%}}@media(prefers-reduced-motion:reduce){.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer{transition:none;transform:translate(-50%,-50%)}.home-hero-only .hero.hero-fullscreen .hero-photo img.hero-layer.hero-layer-active{transform:translate(-50%,-50%)}}@media(max-width:800px){.topbar{display:flex;flex-direction:column;align-items:stretch;height:auto;gap:0;padding:18px 5vw 14px}.topbar .brand{align-self:flex-start}.topbar nav{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 18px;width:100%;min-width:0;margin-top:16px;font-size:10px}.topbar nav a,.topbar nav a:nth-child(2),.topbar nav a:nth-child(3),.topbar nav a[href="#about"],.topbar nav a[href="#contact"],.topbar nav a[href="#prices"]{display:inline-flex;flex:0 0 auto;white-space:nowrap}.topbar nav .lang{flex:0 0 auto}}@media(max-width:430px){.topbar{padding:15px 4vw 14px}.topbar nav{gap:9px 13px;margin-top:15px}.topbar nav a{font-size:10px}}
