@charset "UTF-8";
:root{--paper:#f8f4ed;--ink:#3c3732;--muted:#72685f;--coral:#b75940;--line:#d9cfc1;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:.045em}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}img{max-width:100%;display:block}button,a,summary{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.35}:focus-visible{outline:3px solid var(--coral);outline-offset:5px}h1,h2,h3,p{margin:0}p+p{margin-top:1.2em}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(29px,3.25vw,47px);line-height:1.65;letter-spacing:.045em}h3{font-size:21px}em{font-style:normal}ul{list-style:none;margin:0;padding:0}.section-wrap{width:min(1160px,86%);margin-inline:auto;padding-block:100px}.eyebrow,.section-line,.hero-bottom,.brand span,.card-caption small{font-family:var(--sans);font-size:10px;letter-spacing:.18em;line-height:1.6}.eyebrow{color:var(--muted);margin-bottom:26px}.small{font-size:12px;color:var(--muted);line-height:1.9}.skip-link{position:fixed;z-index:150;top:-100px;left:16px;background:white;padding:10px}.skip-link:focus{top:10px}.header{height:94px;padding:0 4%;display:flex;justify-content:space-between;align-items:center;position:absolute;top:0;width:100%;z-index:30;border-bottom:1px solid transparent}.brand{font-family:Georgia,serif;display:block;font-size:26px;letter-spacing:.015em;line-height:1.2}.brand span{display:block;font-size:9px;margin-top:9px;letter-spacing:.12em}.header nav{display:flex;align-items:center;gap:29px;font-size:12px}.nav-cta{border-bottom:1px solid var(--ink);padding:6px 0}.nav-cta span{padding-left:16px}.motion-toggle{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font-size:12px;padding:0}.hero{position:relative;min-height:760px;height:100svh;max-height:1040px;overflow:hidden;background:#f9f6ef}.hero picture{position:absolute;inset:0}.hero-art{width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{position:relative;padding-top:clamp(175px,24vh,255px);margin-left:7%;width:49%;z-index:1}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px}.little-line{width:26px;height:1px;background:var(--coral)}h1{font-size:clamp(42px,4.3vw,66px);line-height:1.65;letter-spacing:.06em;margin:0 0 22px}h1 em{color:var(--coral)}.hero-sub{font-family:var(--serif);font-size:clamp(15px,1.35vw,19px);line-height:2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:62px;background:var(--coral);color:#fff;padding:17px 26px;font-size:13px;letter-spacing:.035em;border:1px solid var(--coral);transition:background .25s,transform .25s}.button:hover{background:#954530;transform:translateY(-2px)}.button span{font-size:23px;font-weight:400;line-height:1}.hero-copy .button{margin-top:32px}.text-link{display:flex;width:fit-content;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px}.hero-copy .text-link{margin-top:12px}.hero-bottom{position:absolute;bottom:27px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;color:#5d554d}.hero-bottom button{font-size:11px;letter-spacing:.04em}.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.editorial-split>div{padding-top:4px}.intro-copy{padding-block:100px 115px}.section-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-bottom:55px;color:var(--muted)}.exhibition{background:#eee5d8 url('assets/03-exhibition-background.webp') center bottom/cover no-repeat}.exhibition .section-wrap{padding-top:60px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-heading>p{font-size:14px;line-height:2}.service-gallery{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}.service-card{text-align:left;padding:0;transition:transform .6s var(--ease)}.service-card:nth-child(2){margin-top:66px}.service-image{display:block;position:relative;box-shadow:0 20px 45px #51463716;overflow:hidden;border:6px solid #faf6ef}.service-image img{aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--ease)}.service-card:hover .service-image img{transform:scale(1.035)}.image-label{position:absolute;left:12px;bottom:10px;font-size:9px;letter-spacing:.13em;background:#faf6eff0;padding:2px 8px}.card-caption{display:flex;justify-content:space-between;align-items:center;padding-top:22px}.card-caption small{color:var(--muted);display:block;margin-bottom:6px}.card-caption strong{display:block;font-family:var(--serif);font-size:28px;font-weight:500}.card-description{display:block;font-size:12px;margin-top:5px}.round-arrow{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid #b7a99b;border-radius:50%;font-size:23px}.gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.gallery-footer>p{font-size:11px;color:var(--muted)}.gallery-controls{display:flex;align-items:center;gap:16px;white-space:nowrap;font-size:11px}.gallery-controls button{border:1px solid #b8aa9b;width:44px;height:44px;border-radius:50%;font-size:19px}.service-card.is-selected .round-arrow{background:var(--ink);color:var(--paper);border-color:var(--ink)}.service-index{margin-top:45px;border-top:1px solid #cbbdac}.service-index button{width:100%;display:flex;align-items:center;text-align:left;gap:24px;border-bottom:1px solid #cbbdac;padding:20px 4px;font-size:11px}.service-index button span:first-child{font-family:var(--serif);font-size:19px;flex:1}.deliverables{display:flex;margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.deliverables li{flex:1;padding:20px 10px;font-size:13px}.deliverables span{display:block;color:var(--coral);font-family:Georgia,serif;font-size:18px;margin-bottom:5px}.about{display:grid;grid-template-columns:.95fr 1fr;gap:12%;padding-block:40px 130px;align-items:center}.portrait-wrap{position:relative;padding-right:25px;padding-bottom:50px}.portrait{width:100%;height:570px;object-fit:cover;object-position:center 25%}.portrait-signature{position:absolute;bottom:82px;left:-20px;font:italic 40px Georgia,serif;color:white;text-shadow:0 2px 20px #0004;transform:rotate(-6deg)}.about-character{position:absolute;width:150px;height:150px;border:6px solid var(--paper);border-radius:50%;bottom:0;right:-26px}.about h2{margin-bottom:30px}.name{font-size:24px;font-family:var(--serif)}.name span{font-family:var(--sans);font-size:10px;letter-spacing:.15em;margin-left:15px}.role{font-size:12px;margin-top:4px;margin-bottom:26px}.about-copy>p:not(.eyebrow):not(.name):not(.role){font-size:14px}.credentials{margin-top:30px;border-top:1px solid var(--line)}.credentials p{font-size:12px;padding:10px 0;border-bottom:1px solid var(--line);margin:0}.credentials p:before{content:'↗';color:var(--coral);padding-right:12px}.plan-section{background:#393730;color:#f8f4ed}.plan-section .section-line{border-color:#6d685d;color:#d6cdbf}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.plan-lead h2{font-size:35px;margin-bottom:36px}.plan-lead>p{font-size:15px}.price{font-family:Georgia,serif;font-size:65px;line-height:1.5;margin-top:16px;letter-spacing:-.03em}.price small{font-family:var(--sans);font-size:12px;letter-spacing:0;margin-right:10px}.price span{font-family:var(--serif);font-size:25px;letter-spacing:0;margin-left:8px}.plan-section .small{color:#d4cabc;font-size:12px}.plan-lead .button{margin-top:30px}.plan-details dl{margin:0}.plan-details dl>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid #6d685d;padding:17px 0;gap:16px}.plan-details dt{font-size:12px;color:#d4cabc}.plan-details dd{margin:0;font-size:14px}.plan-details dd small{display:block;line-height:1.8;color:#d4cabc;font-size:11px;margin-top:5px}.plan-notes{margin-top:45px;border-top:1px solid #6d685d}.plan-notes details{border-bottom:1px solid #6d685d}.plan-notes details>div{padding:0 0 22px;font-size:13px;max-width:850px;color:#e2d8c9}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:14px}summary::-webkit-details-marker{display:none}summary>span{font-size:20px;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.contract-note{font-size:11px;color:#d4cabc;line-height:2;margin-top:24px;max-width:900px}.process-art{width:100%;max-height:470px;object-fit:cover;margin-top:35px}.steps{list-style:none;counter-reset:step;padding:0;margin:35px 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.steps li{display:flex;gap:22px;border-top:1px solid var(--line);padding:25px 0}.steps li>span{font:22px Georgia,serif;color:var(--coral);padding-top:6px}.steps p{font-size:12px;color:var(--muted);margin-top:8px}.faq-section{background:#eee9e0}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%}.faq-layout>div>p:last-child{font-size:13px;margin-top:25px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:13px;padding:22px 0;line-height:1.85}.faq-list summary:before{content:'Q';font:18px Georgia,serif;color:var(--coral);align-self:start;margin-top:3px}.faq-list summary span{margin-left:auto;flex-shrink:0}.faq-list details>div{font-size:13px;padding:0 30px 24px;line-height:2}.note-service{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;padding-block:85px}.note-service h2{font-size:28px}.note-service>div>p{font-size:13px}.note-service .small{font-size:11px}.note-service .text-link{margin-block:18px 10px}.contact{background:#e9ddd0;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;inset:0;background:url('assets/03-exhibition-background.webp') center/cover;opacity:.5}.contact-inner{position:relative;text-align:center;padding-block:90px}.contact h2{font-size:clamp(32px,4vw,53px);margin-bottom:23px}.contact p{font-size:14px}.contact .eyebrow{font-size:10px}.contact .button{margin-top:30px}.contact .contact-hint{font-size:11px;color:var(--muted);margin-top:16px}.qr-details{max-width:280px;margin:20px auto 0}.qr-details summary{display:block;font-size:11px;padding:10px;border-bottom:1px solid #b5a493}.qr-details img{margin:20px auto 10px;background:white;padding:12px}.qr-details p{font-size:10px}.footer{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:45px 7%}.footer>a:not(.brand),.footer small{font-size:10px}.footer .brand{font-size:24px}.mobile-consult{display:none}.intro{position:fixed;inset:0;background:#f8f4ed;z-index:100;opacity:1;transition:opacity .7s var(--ease)}.intro[hidden]{display:none}.intro.is-ending{opacity:0;pointer-events:none}.intro video{width:100%;height:100%;object-fit:contain}.intro-brand{position:absolute;top:35px;left:4%;font:25px Georgia,serif}.intro-brand span{display:block;font:9px var(--sans);letter-spacing:.18em;margin-top:12px}.intro-bottom{position:absolute;left:4%;right:4%;bottom:35px;display:flex;justify-content:space-between;align-items:end;gap:20px}.intro-bottom p{font-family:var(--serif);font-size:23px}.intro-bottom>div{display:flex;gap:10px}.intro-bottom button{background:#f8f4ede8;border:1px solid #b8aa99;min-height:45px;padding:8px 18px;font-size:12px}.intro-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ddd2c5}.intro-progress span{display:block;height:100%;width:0;background:var(--coral)}dialog{border:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);width:min(1060px,92vw);max-height:88svh}dialog::backdrop{background:#29251fd1;backdrop-filter:blur(6px)}.dialog-grid{display:grid;grid-template-columns:1fr 1fr}.dialog-grid>img{height:100%;min-height:480px;object-fit:cover}.dialog-copy{padding:60px 40px 35px}.dialog-copy h2{font-size:30px;margin-bottom:22px}.dialog-copy>p:not(.eyebrow){font-size:13px}.dialog-copy ul{margin-block:20px}.dialog-copy li{font-size:12px;border-bottom:1px solid var(--line);padding:8px 0}.dialog-copy .button{font-size:12px;padding:15px 20px;margin-top:20px;width:100%}.dialog-close{position:absolute;z-index:2;top:12px;right:12px;width:40px;height:40px;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:28px;line-height:1}.dialog-navigation{display:flex;justify-content:space-between;margin-top:24px}.dialog-navigation button{font-size:11px;padding:8px 0}.reveal-ready{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal-ready.is-visible{opacity:1;transform:none}.reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reduce-motion .reveal-ready{opacity:1;transform:none}
@media(min-width:1500px){.hero-copy{margin-left:max(7%,calc((100% - 1400px)/2))}.hero-art{object-fit:cover}}
@media(max-width:1000px){.header nav{gap:18px}.hero{min-height:680px}.hero-copy{margin-left:5%;width:55%}.hero-copy h1{font-size:46px}.hero-copy .eyebrow{font-size:9px}.section-wrap{width:88%;padding-block:75px}.about{gap:7%}.portrait{height:490px}.about-character{width:120px;height:120px;right:-8px}.plan-lead h2{font-size:28px}.price{font-size:52px}.service-gallery{gap:25px}.card-caption strong{font-size:23px}.faq-layout{grid-template-columns:.8fr 1.2fr;gap:6%}.dialog-copy{padding:55px 25px 25px}.hero-sub{font-size:16px}}
@media(max-width:700px){html{scroll-padding-top:24px}body{font-size:14px;letter-spacing:.03em}.section-wrap{width:87%;padding-block:60px}.header{height:78px;padding-inline:6%}.brand{font-size:22px}.brand span{font-size:8px;letter-spacing:.03em}.header nav{gap:15px}.header nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px}.nav-cta span{padding-left:6px}.motion-toggle{width:30px;height:30px;font-size:10px}.hero{height:auto;min-height:830px;max-height:none;aspect-ratio:844/1700}.hero-art{height:auto;width:100%;min-height:100%;object-fit:cover;object-position:bottom center}.hero-copy{padding-top:119px;margin-left:7%;width:86%}.hero-copy .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:16px}.hero-copy h1{font-size:clamp(30px,8.5vw,43px);line-height:1.6;margin-bottom:15px;letter-spacing:.06em}.hero-sub{font-size:13px;line-height:1.95}.hero-copy .button{margin-top:20px;min-height:52px;padding:12px 19px;font-size:11px;gap:18px}.hero-copy .text-link{font-size:11px;margin-top:5px;padding:7px 0}.hero-bottom{bottom:20px;left:7%;right:7%;font-size:8px;gap:15px}.hero-bottom>span{display:none}.hero-bottom button{font-size:10px}.editorial-split{grid-template-columns:1fr;gap:25px}.editorial-split>div{font-size:13px}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:20px}h2{font-size:29px}.section-line{margin-bottom:33px;font-size:8px;gap:16px}.section-line span:last-child{letter-spacing:.02em}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:12px;margin-top:22px}.exhibition{background-size:auto 100%;background-position:center}.exhibition .section-wrap{width:100%;padding-top:40px}.exhibition .section-line,.exhibition .section-heading,.gallery-footer,.service-index{margin-left:6.5%;margin-right:6.5%}.service-gallery{display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;padding:0 6.5% 12px;scrollbar-width:none}.service-gallery::-webkit-scrollbar{display:none}.service-card{flex:0 0 90%;scroll-snap-align:center;min-width:0}.service-card:nth-child(2){margin-top:0}.service-image{border-width:4px}.card-caption{padding-top:17px}.card-caption strong{font-size:24px}.card-caption small{font-size:9px}.card-description{font-size:11px}.round-arrow{width:39px;height:39px}.gallery-footer{display:block;margin-top:14px}.gallery-footer>p{font-size:9px}.gallery-controls{justify-content:center;margin-top:20px}.service-index{margin-top:25px}.service-index button{gap:12px;font-size:9px}.service-index button span:first-child{font-size:17px}.deliverables{flex-wrap:wrap;margin-top:30px}.deliverables li{flex:0 0 50%;padding:12px 4px;font-size:12px}.deliverables li:last-child{flex-basis:100%}.deliverables span{display:inline-block;font-size:16px;margin-right:12px}.about{display:flex;flex-direction:column;gap:25px;padding-top:0}.portrait-wrap{width:90%;max-width:420px;align-self:flex-start;padding-right:10px;padding-bottom:35px}.portrait{height:auto;aspect-ratio:4/5}.portrait-signature{font-size:33px;left:-8px;bottom:70px}.about-character{width:115px;height:115px;right:-25px}.about-copy{width:100%}.about-copy .eyebrow{margin-top:15px}.about h2{margin-bottom:22px}.name{font-size:23px}.about-copy>p:not(.eyebrow):not(.name):not(.role){font-size:13px}.plan-grid{grid-template-columns:1fr;gap:40px}.plan-lead h2{font-size:29px;margin-bottom:25px}.price{font-size:59px}.plan-lead>p{font-size:13px}.plan-lead .button{width:100%;justify-content:space-between;font-size:12px}.plan-details dl>div{grid-template-columns:76px 1fr;gap:12px}.plan-notes{margin-top:25px}.plan-notes summary{font-size:12px}.plan-notes details>div{font-size:12px}.contract-note{font-size:10px}.process-art{margin-top:15px}.steps{grid-template-columns:1fr;gap:0;margin-top:25px}.steps li{padding:20px 0}.steps h3{font-size:20px}.steps p{font-size:12px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:12px;gap:12px;padding:20px 0}.faq-list details>div{font-size:12px;padding-inline:24px 0}.note-service{grid-template-columns:1fr;gap:25px}.note-service h2{font-size:25px}.contact-inner{padding-block:65px}.contact h2{font-size:29px}.contact p{font-size:12px}.contact .button{padding:14px 18px;font-size:11px;gap:17px;min-height:58px}.footer{flex-wrap:wrap;padding:35px 6.5% 100px;gap:25px}.footer .brand{font-size:22px}.footer small{flex-basis:100%}.mobile-consult{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:#f8f4edf7;border-top:1px solid var(--line);padding:9px 5% calc(9px + env(safe-area-inset-bottom));gap:10px;backdrop-filter:blur(12px)}.mobile-consult a{padding:9px 10px;text-align:center;font-size:12px}.mobile-consult a:first-child{flex:1;border:1px solid var(--line)}.mobile-consult a:last-child{flex:2;background:var(--coral);color:white}.intro-brand{top:28px;left:7%;font-size:23px}.intro video{object-fit:contain}.intro-bottom{left:7%;right:7%;bottom:35px;display:block}.intro-bottom p{font-size:25px;margin-bottom:22px}.intro-bottom>div{justify-content:space-between}.intro-bottom button{font-size:11px;padding:8px 13px}.dialog-grid{grid-template-columns:1fr}.dialog-grid>img{height:auto;min-height:0;aspect-ratio:4/3;width:100%}.dialog-copy{padding:25px}.dialog-copy h2{font-size:26px}.dialog-copy .eyebrow{margin-bottom:15px}dialog{max-height:88svh}.dialog-copy .button{font-size:11px}.intro-copy{padding-block:50px 60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}
img{height:auto}.service-image img{width:100%;height:auto}#hero-title:focus{outline:none}.header{background:linear-gradient(#f8f4edf2,#f8f4edb3 60%,#f8f4ed00)}
@media(max-width:700px){.hero{width:100%;aspect-ratio:auto;height:calc(177.78vw + 160px);min-height:850px}.hero picture{top:160px}.hero-art{width:100%;height:100%;min-height:0;object-fit:contain;object-position:bottom}.hero-copy{width:86%}}
@media(max-width:700px){.plan-lead h2{font-size:26px;letter-spacing:.01em}}

