@charset "UTF-8";
:root{--paper:#fafafa;--ink:#303633;--muted:#58615c;--gold:#856631;--rule:#dedbd4;--warm:#f1eee6;--serif:'Noto Serif JP','Yu Mincho',serif;--roman:'Cormorant Garamond',Georgia,serif;--sans:'Noto Sans JP',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}a,button{touch-action:manipulation}a:hover{color:var(--gold)}[hidden]{display:none!important}.skip{position:fixed;top:12px;left:12px;z-index:100;padding:12px 24px;background:#fff;transform:translateY(-160%)}.skip:focus{transform:translateY(0)}.shell{width:min(1440px,100%);margin:auto}.inset{padding-inline:clamp(24px,6.5vw,104px)}
.header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule)}.header-inner{min-height:94px;display:flex;align-items:center;gap:34px}.wordmark{display:inline-flex;flex-direction:column;align-items:center;flex:none;line-height:1}.wordmark strong{font:400 38px/1 var(--roman);letter-spacing:.14em;padding-left:.14em}.wordmark small{font-size:10px;letter-spacing:.3em;margin-top:10px;padding-left:.3em}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:30px}.desktop-nav a{font-size:14px;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.outline-link{border:1px solid var(--gold);color:var(--gold);padding:10px 23px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.03em;transition:background .2s,color .2s}.outline-link:hover{background:var(--gold);color:white}.header-booking{margin-left:6px;white-space:nowrap}.menu-button{display:none;border:0;background:transparent;width:48px;height:48px;padding:12px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-button span{display:block;width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;padding:14px 24px 24px;background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 18px 24px #30363310}.mobile-nav a{display:block;padding:14px 8px;border-bottom:1px solid var(--rule);font-size:16px}
.hero{background:#eff2f5;overflow:hidden}.hero-inner{min-height:620px;position:relative;display:flex;align-items:center;padding-block:65px}.hero-photo{position:absolute;inset:0 5% 0 auto;width:52%;height:100%;object-fit:contain;object-position:50% 100%;mix-blend-mode:multiply}.hero-copy{position:relative;width:53%;z-index:1;pointer-events:none}.eyebrow{color:var(--gold);font-size:14px;letter-spacing:.16em;font-weight:500}.hero .eyebrow{display:flex;gap:18px;align-items:center;font-size:17px}.hero .eyebrow:before{content:'';width:35px;height:1px;background:var(--gold)}.hero-name{font:400 clamp(90px,11vw,158px)/1.05 var(--roman);letter-spacing:.025em;margin:15px 0 28px}.hero h1{font:400 clamp(36px,4vw,55px)/1.7 var(--serif);letter-spacing:.06em}.hero-intro{font:400 17px/2 var(--serif);margin-top:33px;letter-spacing:.025em}.hero-aside{position:absolute;right:2.5%;top:24%;writing-mode:vertical-rl;font:400 14px/2 var(--serif);letter-spacing:.17em;color:var(--gold);padding-top:28px;border-top:1px solid #a48650;z-index:1}.gateways{display:grid;grid-template-columns:repeat(3,1fr);min-height:96px;align-items:center;border-block:1px solid var(--rule);background:#fff}.gateways a{text-align:center;font-family:var(--serif);font-size:17px;padding:14px 16px;position:relative;transition:background .2s}.gateways a+a{border-left:1px solid #c6b89c}.gateways a:hover{background:#f6f3ed}.gateways span{border-bottom:1px solid transparent;padding-bottom:4px}.gateways a:hover span{border-bottom-color:var(--gold)}
.feature{display:grid;grid-template-columns:43% 57%;border-bottom:1px solid var(--rule);min-height:385px;background:var(--paper)}.feature-copy{padding:62px clamp(28px,6.5vw,104px);align-self:center}.feature h2{font:400 clamp(29px,3vw,42px)/1.5 var(--serif);letter-spacing:.025em;margin-top:13px;white-space:nowrap}.feature h2.roman{font:400 59px/1.1 var(--roman);letter-spacing:.015em}.feature-intro{font:400 clamp(18px,1.8vw,23px)/1.9 var(--serif);margin-top:20px}.text-link{display:inline-flex;align-items:center;min-height:48px;padding:7px 0;border:0;border-bottom:1px solid #a78d5d;margin-top:22px;font-size:15px;background:transparent;cursor:pointer;transition:color .2s,border-color .2s}.text-link:hover{color:var(--gold);border-bottom-color:var(--ink)}.feature-media{position:relative;min-width:0;min-height:385px;overflow:hidden;background:#e6e7e7}.feature-media>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .6s}.feature-media:hover>img{transform:scale(1.025)}.performance-media img{object-position:50% 50%}.feature-media figcaption{position:absolute;inset:auto 32px 26px auto;font:400 15px/1.85 var(--serif);color:#fff;padding:10px 15px;background:#24251ee6;border-left:1px solid #bfa270}.note-feature{grid-template-columns:57% 43%}.note-feature .feature-media{order:-1}.gakuya-feature{background:var(--warm)}.gakuya-feature h2{font-size:clamp(30px,3.4vw,46px)}.feature-label{font-size:14px;margin-top:17px;color:var(--muted)}.feature .outline-link{margin-top:26px}.section-detail{margin-top:15px;color:var(--muted);font-size:15px;line-height:1.9}
.gallery{background:#fff;padding-block:52px;border-bottom:1px solid var(--rule)}.gallery-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.gallery h3{font:400 27px/1.7 var(--serif)}.gallery-close{border:1px solid var(--rule);background:#fff;min-height:44px;padding:8px 18px;cursor:pointer;font-size:14px}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:32px}.gallery-grid img{height:380px;width:100%;object-fit:cover}.gallery-grid figure:last-child img{object-position:50% 35%}.gallery-grid figcaption{font-size:14px;color:var(--muted);padding-top:12px}
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}.about-teaser{position:relative;padding:36px clamp(24px,4.5vw,72px);min-height:292px;overflow:hidden;background:#eef1f3}.about-teaser>img{position:absolute;right:0;bottom:0;width:43%;height:100%;object-fit:cover;object-position:50% 30%;mix-blend-mode:multiply}.about-teaser>div{position:relative;z-index:1;max-width:62%}.bottom-grid h2{font:400 clamp(23px,2.2vw,30px)/1.6 var(--serif);margin:8px 0}.bottom-grid p:not(.eyebrow){font-size:15px;line-height:1.9}.booking-teaser{padding:36px clamp(24px,4.5vw,72px);background:#f7f4ed;border-left:1px solid var(--rule)}.booking-teaser .outline-link{margin-top:22px}.about-detail{background:#fff;padding-block:48px;border-bottom:1px solid var(--rule)}.about-detail h3{font:400 28px/1.6 var(--serif);margin-bottom:16px}.about-detail p{max-width:680px;margin-block:14px;line-height:2}.about-detail .text-link{margin-top:8px}.footer-top{padding-block:38px;display:flex;align-items:center;gap:36px}.footer-top .wordmark strong{font-size:32px}.footer-nav{margin-left:auto;display:flex;gap:32px;align-items:center}.footer-nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.footer-nav a:last-child{border-left:1px solid var(--rule);padding-left:32px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--rule);padding:18px 0 25px;font-size:12px;color:var(--muted)}.footer-bottom p:last-child{font-family:var(--serif);color:var(--gold);letter-spacing:.08em}
@media(min-width:1441px){.hero-inner{min-height:680px}.hero-photo{right:6%}.hero-copy{width:55%}}
@media(max-width:1150px){.header-inner{gap:20px;padding-inline:32px}.desktop-nav{gap:19px}.header-booking{padding-inline:16px}.inset{padding-inline:40px}.hero-inner{min-height:570px}.hero-intro{font-size:15px;max-width:330px}.hero-aside{right:2%}.feature-copy{padding:44px 40px}.feature h2{font-size:31px}.gakuya-feature h2{font-size:36px}.feature-intro{font-size:20px}.feature,.feature-media{min-height:355px}.bottom-grid h2{font-size:25px}.about-teaser,.booking-teaser{padding-inline:36px}}
@media(max-width:1000px){.desktop-nav{display:none}.header-booking{margin-left:auto}.menu-button{display:flex}.header-inner{min-height:82px}.hero-photo{right:0;width:56%}.hero-copy{width:54%}.hero h1{font-size:36px}.hero-aside{display:none}.hero-name{font-size:105px}.hero-intro{max-width:290px}.hero-inner{min-height:540px}.gateways a{font-size:15px}.feature h2{font-size:28px}.gakuya-feature h2{font-size:31px}.feature-copy{padding-inline:32px}.feature-intro{font-size:19px}.feature .eyebrow{font-size:13px}.feature-media figcaption{right:18px;bottom:20px;font-size:14px}.bottom-grid h2{font-size:23px}.bottom-grid p:not(.eyebrow){font-size:14px}.about-teaser,.booking-teaser{padding:30px 28px}.about-teaser>div{max-width:68%}.about-teaser>img{width:40%}.about-teaser .section-detail{max-width:160px}.gallery-grid img{height:300px}}
@media(max-width:650px){html{scroll-padding-top:28px}.inset{padding-inline:24px}.header-inner{padding-inline:22px;gap:12px;min-height:75px}.wordmark strong{font-size:29px}.wordmark small{font-size:9px;margin-top:7px}.header-booking{font-size:12px;min-height:40px;padding:8px 13px}.menu-button{width:40px;height:44px;padding:8px}.hero-inner{min-height:0;padding-top:35px;padding-bottom:0;display:flex;flex-direction:column;align-items:stretch}.hero-copy{width:100%;padding-bottom:0;pointer-events:auto}.hero .eyebrow{font-size:13px;gap:12px}.hero .eyebrow:before{width:26px}.hero-name{font-size:78px;line-height:1.1;margin:12px 0 17px}.hero h1{font-size:31px;line-height:1.7;letter-spacing:.04em}.hero-intro{font-size:14px;line-height:1.9;max-width:100%;margin-top:16px}.hero-photo{position:relative;inset:auto;align-self:center;width:100%;height:auto;aspect-ratio:1/.98;object-fit:contain;object-position:50% 0;margin-top:12px;max-width:440px;mix-blend-mode:multiply}.hero{position:relative}.gateways{min-height:77px;padding-inline:8px;gap:0}.gateways a{font-size:13px;line-height:1.8;padding:9px 6px;min-height:48px;display:flex;align-items:center;justify-content:center}.gateways a:first-child span{max-width:95px}.feature,.note-feature{grid-template-columns:1fr;min-height:0}.feature-copy{padding:36px 28px 32px}.feature h2{font-size:30px;margin-top:7px}.feature h2.roman{font-size:48px}.feature-intro{font-size:19px;margin-top:14px;line-height:1.9}.feature-intro br{display:none}.feature .eyebrow{font-size:12px;letter-spacing:.12em}.feature-media{min-height:0;aspect-ratio:1.5;order:2!important}.feature-media figcaption{right:18px;bottom:18px;font-size:13px;padding:8px 12px}.text-link{margin-top:17px;font-size:14px;min-height:44px}.gakuya-feature h2{font-size:34px}.feature-label{margin-top:10px;font-size:14px}.feature .outline-link{margin-top:20px}.bottom-grid{grid-template-columns:1fr}.about-teaser{min-height:265px;padding:30px 28px}.about-teaser>div{max-width:63%}.about-teaser>img{width:43%}.bottom-grid h2{font-size:25px;margin-top:7px}.bottom-grid p:not(.eyebrow){font-size:14px}.booking-teaser{padding:33px 28px 37px;border-left:0;border-top:1px solid var(--rule)}.booking-teaser .outline-link{margin-top:20px}.gallery{padding-block:30px}.gallery-head{gap:16px;margin-bottom:20px}.gallery h3{font-size:23px}.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-grid img{height:auto;max-height:430px;object-fit:cover}.gallery-grid figure:last-child img{aspect-ratio:1/1.1;object-position:50% 30%}.about-detail{padding-block:30px}.about-detail h3{font-size:25px}.about-detail p{font-size:15px}.footer-top{padding-block:30px;align-items:flex-start;gap:20px}.footer-top .wordmark strong{font-size:29px}.footer-nav{display:grid;grid-template-columns:auto auto;column-gap:24px;row-gap:2px}.footer-nav a{font-size:13px}.footer-nav a:last-child{padding-left:0;border:0;grid-column:1 / -1;justify-content:flex-end}.footer-bottom{display:block;padding-bottom:20px;font-size:11px}.footer-bottom p:last-child{margin-top:10px;font-size:12px}}
@media(max-width:360px){.header-inner{padding-inline:16px;gap:8px}.header-booking{padding-inline:10px}.hero h1{font-size:28px}.hero-name{font-size:70px}.feature-copy{padding-inline:24px}.gakuya-feature h2{font-size:30px}.about-teaser{padding-inline:24px}.bottom-grid h2{font-size:23px}}
.hero-photo{object-fit:cover;object-position:50% 25%;mix-blend-mode:normal;mask-image:linear-gradient(to right,transparent 0%,#000 17%,#000 83%,transparent 100%)}
@media(max-width:650px){.hero-photo{object-fit:cover;object-position:50% 21%;aspect-ratio:1/1.05;mask-image:linear-gradient(to bottom,transparent 0%,#000 9%);margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.footer-email{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:0 0 22px;color:var(--muted);font-size:14px}.footer-email a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:underline;text-underline-offset:5px;font-size:16px}.footer-email a:hover{color:var(--gold)}@media(max-width:650px){.footer-email{align-items:flex-start;flex-direction:column;gap:0;padding-bottom:20px}.footer-email a{overflow-wrap:anywhere;max-width:100%}}

/* 修正版の縦写真を、従来の横長枠で演者中心に表示する。 */
.performance-media img,.gallery-grid figure:first-child img{object-position:50% 80%}
@media(max-width:650px){.gallery-grid figure:first-child img{aspect-ratio:1108/739}}

.footer-policy{display:flex;justify-content:flex-end;padding-bottom:14px;font-size:14px;color:var(--muted)}.footer-policy a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
