/* Design tokens: 色・フォントの差し替えはここから */
:root{--paper:#fbfbf9;--ink:#282e32;--muted:#60686c;--accent:#374955;--soft:#edf0ef;--line:#d3d8d7;--display:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--body:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;position:relative}figcaption{position:absolute;bottom:8px;right:12px;color:#fff;background:#252e36aa;padding:0 6px;font-size:12px;letter-spacing:.04em}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:400}h2{font-size:clamp(26px,3vw,38px);line-height:1.65}h3{font-size:23px;line-height:1.6}p{margin-bottom:1.3em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.narrow{max-width:850px}.section{padding-block:108px}.eyebrow{font-family:Georgia,serif;font-size:14px;letter-spacing:.18em;line-height:1.6;margin-bottom:18px}.section-head{margin-bottom:48px}.section-head h2{margin-bottom:0}.skip{position:fixed;top:-100px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.header{height:98px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30}.brand{font:32px/1.1 Georgia,serif;letter-spacing:.18em;display:inline-block}.brand small{display:block;font:10px/1.5 var(--body);letter-spacing:.22em;margin-top:9px}.header-right{display:flex;align-items:center;gap:32px;font-size:14px}.reserve-link{border:1px solid var(--accent);padding:12px 23px}.menu-button{border:0;background:transparent;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:12px;letter-spacing:.1em;padding:14px 0}.menu-lines{width:26px;height:12px;border-block:1px solid;display:inline-block}.menu{position:fixed;inset:98px 0 0;z-index:25;overflow:auto;background:var(--paper)}.menu-inner{width:min(850px,calc(100% - 60px));margin:50px auto;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.menu-inner .eyebrow{grid-column:1/-1}.menu-inner a{padding:15px 0;border-bottom:1px solid var(--line)}.menu-open{overflow:hidden}.hero{position:relative;display:grid;grid-template-columns:48% 52%;min-height:min(780px,calc(100svh - 98px));background:var(--soft)}.hero-copy{padding:80px 30px 90px max(6vw,30px);align-self:center;z-index:1}.hero h1{font-size:clamp(42px,4.7vw,72px);line-height:1.5;letter-spacing:.08em;margin:28px 0}.hero h1 em{font-style:normal;padding-left:1.2em}.hero-note{font:16px var(--display);letter-spacing:.03em}.hero-cta{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid var(--ink);padding:18px 0;font-size:14px}.hero-photo{height:min(780px,calc(100svh - 98px));min-height:590px;overflow:hidden}.hero-photo img{object-position:50% 29%}.hero-side{position:absolute;right:16px;top:35%;writing-mode:vertical-rl;letter-spacing:.18em;font-size:12px}.scroll{position:absolute;left:6vw;bottom:24px;font-size:12px;letter-spacing:.16em}.intro{text-align:center;padding-block:120px}.intro h2{font-size:clamp(28px,3.3vw,44px);letter-spacing:.07em;margin-bottom:35px}.intro p:not(.eyebrow){line-height:2.2}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;min-width:260px;border:1px solid var(--accent);padding:17px 26px;margin-top:22px;transition:.2s}.button:hover,.reserve-link:hover{background:var(--accent);color:white}.text-link{display:inline-flex;gap:46px;align-items:center;border-bottom:1px solid var(--ink);padding:12px 0;margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:52px 28px}.service-card{grid-column:span 2}.service-card:nth-child(-n+2){grid-column:span 3}.service-card figure{height:320px;overflow:hidden}.service-card:nth-child(-n+2) figure{height:430px}.service-card img{transition:transform .5s}.service-card:hover img{transform:scale(1.035)}.service-card figure img{object-position:center 35%}.service-card.tuxedo img{object-position:75% center}.service-card>div{position:relative;padding-top:25px}.service-card h3{margin-bottom:8px}.service-card p:not(.eyebrow){font-size:14px;padding-right:18px}.service-card .eyebrow{margin-bottom:8px}.card-arrow{position:absolute;right:0;top:30px;font-size:25px}.possibilities{background:var(--soft);padding:80px 0}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.capabilities a{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.capabilities span{font:16px Georgia;color:var(--muted)}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.reasons article{border-top:1px solid var(--line);padding-top:25px}.number{font:36px Georgia;color:var(--muted);display:block;margin-bottom:25px}.reasons p{font-size:15px}.soft{background:var(--soft)}.faq-list{margin-bottom:20px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:24px 40px 24px 0;cursor:pointer;position:relative;list-style:none;display:flex;gap:22px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:5px;font-size:23px;top:20px}.faq-list details[open] summary::after{content:'−'}.faq-list summary>span{font-family:Georgia;font-size:20px}.answer{padding:0 25px 25px 45px;color:var(--muted)}.faq-list+.section-head{margin-top:75px}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:80px}.editorial>div{border-top:1px solid var(--line);padding-top:32px}.editorial .section-head{margin-bottom:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-bottom:105px}.split figure{height:570px}.split h2{margin-bottom:25px}.contact-band{background:var(--accent);color:white;text-align:center;padding:90px 24px}.contact-band h2{font-size:clamp(26px,3vw,40px)}.light{border-color:#ccd5db}.light:hover{background:white;color:var(--accent)}.footer{padding-block:65px 30px;display:grid;grid-template-columns:1fr 1fr;gap:45px;font-size:14px}.footer .brand{margin-bottom:25px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-content:start}.footer-end{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:25px;color:var(--muted);font-size:12px}.page-lead{padding-block:90px 65px}.page-lead h1{font-size:clamp(34px,4.5vw,56px);line-height:1.5;letter-spacing:.04em;margin-bottom:25px}.lead-copy{max-width:700px;color:var(--muted);margin:0}.page-lead+.section{padding-top:15px}.facts{margin:35px 0}.facts>div{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding:18px 0;gap:18px;font-size:15px}.facts dt{font-weight:500}.facts dd{margin:0;color:var(--muted)}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.collection-grid figure{height:480px;margin-bottom:30px}.collection-grid h2{font-size:25px}.fine{font-size:14px;color:var(--muted);margin-top:50px}.steps{list-style:none;padding:0}.steps li{display:flex;gap:35px;border-top:1px solid var(--line);padding:35px 0}.steps li>span{font:36px Georgia;color:var(--muted)}.steps h2{font-size:25px;margin-bottom:12px}.steps p{margin:0}.shop-layout,.reservation-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}.address-art{background:var(--soft);padding:60px 30px;text-align:center;min-height:540px;display:flex;flex-direction:column;align-items:center;justify-content:center}.address-art>span{font:14px Georgia;letter-spacing:.2em}.address-art strong{font:34px Georgia;letter-spacing:.06em;margin:15px 0 30px}.pin-line{display:block;height:75px;border-left:1px solid var(--accent);margin-bottom:25px}.phone{font:clamp(26px,3vw,38px) Georgia;display:block;margin:25px 0}.booking-note{background:var(--soft);padding:40px}.booking-note ol{padding-left:22px;line-height:2.5}.booking-note p{font-size:14px}.article{padding-block:25px 100px}.article h2{font-size:28px;margin-top:45px}.article p{line-height:2.2}.site-links{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px}.mobile-only{display:none}#line-contact{margin-top:40px}
@media(min-width:1600px){.hero{max-width:1680px;margin:auto}.hero-photo{height:800px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header-right{gap:20px}.header-collection{display:none}.split{gap:40px}.hero h1{font-size:48px}.hero .eyebrow{font-size:12px}.service-card figure{height:260px}.service-card:nth-child(-n+2) figure{height:340px}.reasons{gap:35px}.collection-grid figure{height:360px}.shop-layout{gap:35px}.facts>div{grid-template-columns:90px 1fr}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:78px;padding:0 20px}.brand{font-size:26px}.brand small{font-size:9px}.header-right{gap:18px}.reserve-link{padding:9px 12px;font-size:12px}.menu-button>span:last-child{display:none}.menu{top:78px}.menu-inner{grid-template-columns:1fr;margin-top:25px}.hero{display:block;min-height:0;padding-top:0}.hero-photo{height:66svh;min-height:440px;margin-left:25%;width:75%}.hero-photo img{object-position:50% 30%}.hero-copy{position:absolute;left:0;top:0;padding:38px 20px 0;width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(90deg,#edf0ef 0%,#edf0efed 20%,#edf0ef00 60%)}.hero .eyebrow{font-size:10px;letter-spacing:.08em;margin:0}.hero h1{font-size:clamp(35px,8.8vw,54px);line-height:1.65;margin-top:42px}.hero h1 em{padding-left:.5em}.hero-note{font-size:12px;background:#edf0efdd;padding:5px}.hero-cta{margin-top:auto;margin-bottom:35px;gap:15px;background:var(--paper);padding:10px 15px;font-size:13px;border:0}.hero-side,.scroll{display:none}.intro{padding-block:80px}.intro p:not(.eyebrow){font-size:15px}.section{padding-block:70px}.section-head{margin-bottom:32px}.service-grid{grid-template-columns:1fr 1fr;gap:35px 18px}.service-card,.service-card:nth-child(-n+2){grid-column:span 1}.service-card:first-child{grid-column:1/-1}.service-card figure,.service-card:nth-child(-n+2) figure{height:250px}.service-card:first-child figure{height:440px}.service-card h3{font-size:20px}.service-card p:not(.eyebrow){font-size:14px}.service-card .eyebrow{font-size:12px;letter-spacing:.06em}.service-card .card-arrow{display:none}.capabilities{grid-template-columns:1fr 1fr;gap:0 20px}.capabilities a{gap:10px;font-size:14px}.possibilities{padding:60px 0}.reasons{grid-template-columns:1fr;gap:30px}.reasons article{position:relative;padding-left:57px}.number{position:absolute;left:0;top:22px;font-size:30px}.reasons h3{font-size:23px}.reasons .text-link{margin-top:0}.editorial{grid-template-columns:1fr;gap:50px}.split{grid-template-columns:1fr;gap:35px;padding-bottom:65px}.split figure{height:460px}.collection-grid{grid-template-columns:1fr;gap:55px}.collection-grid figure{height:500px}.page-lead{padding-block:60px 45px}.page-lead h1{font-size:32px}.shop-layout,.reservation-grid{grid-template-columns:1fr;gap:35px}.address-art{min-height:350px;padding:30px}.shop-layout .facts{margin-top:0}.footer{grid-template-columns:1fr;gap:40px}.footer-nav{gap:15px}.footer-end{flex-direction:column}.contact-band{padding:65px 20px}.mobile-only{display:block}.faq-list summary{font-size:15px;gap:13px;padding-right:26px}.answer{padding-left:30px;font-size:15px}.booking-note{padding:28px}.site-links{grid-template-columns:1fr}.steps li{gap:20px}.steps h2{font-size:23px}.facts>div{grid-template-columns:90px 1fr;font-size:14px}.button{min-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
