:root{--ink:#2e241f;--dark:#301d1d;--maroon:#8e2c28;--red:#c9462b;--orange:#f3a23f;--gold:#ffd56c;--paper:#fff9ed;--cream:#f6ebd8;--muted:#786050;--line:#e4caaa}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{max-width:100%;display:block}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.wrap{width:min(1180px,calc(100% - 50px));margin:auto}
/* Header */
.site-header{height:80px;position:sticky;top:0;z-index:30;background:rgba(41,24,21,.97);border-bottom:5px solid #e58a3b;box-shadow:0 4px 15px #291c1540}.header-inner{width:min(1320px,calc(100% - 50px));margin:auto;display:flex;height:100%;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;min-width:0}.brand img{width:230px;height:auto}.brand span{color:#ffdb76;font-size:13px;font-weight:900;white-space:nowrap;padding:7px 10px;border:1px solid #ffdb76;border-radius:2px;letter-spacing:.04em}.main-nav{display:flex;align-items:center;gap:23px}.main-nav a{font-size:13px;font-weight:800;white-space:nowrap;color:#fff4e1;transition:color .2s}.main-nav a:hover{color:#ffc96f}.main-nav .nav-ticket{background:#c2472d;padding:13px 17px;border-radius:100px;color:white;box-shadow:0 3px 0 #7a271c}.mobile-toggle{display:none}
/* Hero: image and title are separate columns; no text overlays the actors. */
.hero{background:radial-gradient(circle at 78% 12%,#fff6df 0%,#f9dfbb 45%,#e6b178 100%);position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent 0 62px,#fff8d519 63px 64px),repeating-linear-gradient(90deg,transparent 0 78px,#8a4c2410 79px 80px);opacity:.55;pointer-events:none}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);max-width:1460px;margin:auto;min-height:650px;gap:0}.hero-photo{padding:30px 0 0 38px;display:flex;flex-direction:column;min-width:0}.photo-eyebrow{font-size:12px;font-weight:900;letter-spacing:.2em;margin:9px 0 16px 8px;color:#754432}.photo-set{background:linear-gradient(#f9e6c9a8,#ecd0a196),url('assets/showa_room.webp') center 40%/cover;border:7px solid #fef4e0;border-radius:170px 170px 16px 16px;box-shadow:0 18px 32px #783c1d33,inset 0 0 0 2px #ac744c;position:relative;flex:1;min-height:500px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.photo-set:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#fff2db50);pointer-events:none}.hero-ensemble{position:relative;z-index:1;width:104%;max-width:none;max-height:575px;height:auto;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 12px 12px #6d422b36)}.photo-foot{text-align:center;color:#713b2c;letter-spacing:.18em;font-size:11px;font-weight:900;padding:16px 0 22px}.tiny-circle{display:inline-block;width:6px;height:6px;background:#d74e32;border-radius:50%;vertical-align:middle;margin:0 8px}.hero-copy{padding:60px 40px 62px 38px;align-self:center;text-align:center;position:relative}.chapter{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;color:#7f3726;font-size:14px;font-weight:900}.chapter strong{background:#a82d20;color:#fff5cb;font-size:16px;padding:8px 13px;transform:rotate(-2deg);box-shadow:3px 3px 0 #472617}.hero-title{width:100%;max-width:570px;margin:38px auto 4px;filter:drop-shadow(0 4px 1px #fff2df)}.hero-subtitle{width:94%;margin:0 auto 6px;max-height:100px;object-fit:contain}.author{font-size:14px;margin:14px 0 23px;color:#59382f}.hero-date{display:grid;justify-items:center;gap:5px;background:#fffaf0c7;padding:15px 12px;border-top:2px solid #c76f49;border-bottom:2px solid #c76f49}.hero-date>span{font-size:12px;letter-spacing:.3em;color:var(--maroon);font-weight:900}.hero-date>strong{font-family:Georgia,serif;font-size:34px;line-height:1.15;letter-spacing:.005em}.hero-date small{font-family:inherit;font-size:12px;margin:0 4px}.hero-date>div{font-size:12px;font-weight:800;color:#6c4941}.tagline{font-size:21px;font-weight:900;line-height:1.65;letter-spacing:.04em;color:#8b2a1d;margin:19px 0}.tagline em{font-style:normal;background:linear-gradient(transparent 70%,#ffd879 70%)}.cta{display:flex;align-items:center;justify-content:center;gap:20px;background:linear-gradient(135deg,#b83127,#e75c30);color:white;border-radius:80px;min-height:55px;font-weight:900;font-size:16px;box-shadow:0 5px 0 #762019,0 10px 25px #7b362830;transition:transform .2s}.cta:hover,.form-button:hover{transform:translateY(-2px)}.cta span{font-size:23px}
.strip{min-height:73px;background:var(--dark);border-top:6px solid #a43b2a;border-bottom:6px solid #c77232;color:#ffe8bd;display:flex;align-items:center;justify-content:center;gap:35px;flex-wrap:wrap;font-size:16px;font-weight:900;letter-spacing:.06em;padding:12px 20px;text-align:center}.strip-star{font-size:20px;color:#f5a13b}
/* Common sections */
.kicker{font-family:Georgia,serif;font-size:14px;font-weight:900;letter-spacing:.23em;color:#b74f2e;margin-bottom:12px}.kicker.light{color:#ffb85c}.section-title{font-size:clamp(32px,4vw,51px);line-height:1.35;letter-spacing:.06em;font-weight:900;margin:0 0 20px}.section-title span{color:#c04c2e}.section-title.light{color:#fff7e7}.section-title.light span{color:#ffd47c}.section-topline{margin-bottom:30px}.section-topline p{color:inherit;line-height:1.9;margin:0}.section-topline.center{text-align:center}
/* Story */
.story-section{background:linear-gradient(135deg,#fffaf1,#fff0d8);padding:105px 0;overflow:hidden}.story-wrap{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:45px}.story-main{position:relative}.story-text{border-left:5px solid #d4683d;padding-left:26px;font-size:16px;line-height:2.1;max-width:630px}.story-text p{margin:0 0 13px}.comedy-message{background:#ffe39e;border:2px dashed #ba4933;color:#822e25;box-shadow:7px 7px 0 #f6c67a;border-radius:13px;display:inline-block;padding:18px 22px;font-size:17px;line-height:1.8;font-weight:800;margin-top:28px}.comedy-message b{font-size:20px}.chieko-panel{display:flex;justify-content:center;align-self:stretch;align-items:center}.chieko-frame{border-radius:50% 50% 0 0;background:radial-gradient(circle at 60% 26%,#fff3d5,#efcc9e);border-bottom:8px solid #ac572e;min-height:490px;width:min(100%,380px);display:flex;align-items:flex-end;justify-content:center;position:relative}.chieko-frame img{max-height:480px;width:auto;max-width:95%;object-fit:contain;filter:drop-shadow(6px 9px 8px #4b292c2a)}.vertical-note{writing-mode:vertical-rl;position:absolute;right:-18px;top:30px;font-size:15px;letter-spacing:.17em;font-weight:900;color:#973f2b;background:#fff4d9;border:2px solid #d7a577;padding:15px 9px}
/* Gallery */
.gallery-section{background:#30201d;color:#fff4e0;padding:94px 0 87px;position:relative}.gallery-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 95% 20%,#a85c3329,transparent 37%),repeating-linear-gradient(45deg,transparent 0 24px,#ffffff03 25px 26px);pointer-events:none}.gallery-section .wrap{position:relative}.gallery-section .section-topline{display:flex;align-items:end;justify-content:space-between;gap:30px}.gallery-decor{color:#ffc66c;font-size:23px;font-weight:900;transform:rotate(-7deg);line-height:1.45;text-align:center;opacity:.8}.gallery-decor em{font-style:normal;color:#fc8059}.gallery-viewport{position:relative;width:100%;max-width:1050px;margin:auto;outline-offset:7px}.gallery-frame{border-radius:16px;overflow:hidden;background:#fff4df;border:9px solid #e4b984;box-shadow:0 18px 0 #1c1211,0 25px 40px #140d0d66;min-height:500px}.gallery-image-wrap{height:440px;position:relative;overflow:hidden;background:#ae7041}.gallery-image-wrap.has-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#140e0e}.gallery-image-wrap.has-image:not(.missing-image) .gallery-placeholder{visibility:hidden}.gallery-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center;background:linear-gradient(110deg,#ae733fdb,#4b2b27df),url('assets/showa_room.webp') center/cover}.gallery-placeholder:after{content:"";position:absolute;inset:17px;border:2px solid #fff7e46a;pointer-events:none}.archive-mark{font:900 13px Georgia,serif;letter-spacing:.3em;color:#fff3df}.photo-icon{font-size:45px;color:#ffe5b1;line-height:1}.gallery-placeholder h3{font-size:clamp(28px,4.6vw,51px);margin:0;color:#fff3d8;letter-spacing:.12em}.gallery-placeholder p{font-size:15px;margin:0;color:#fff5e1}.archive-number{font:900 90px Georgia,serif;opacity:.13;position:absolute;right:37px;bottom:-29px}.gallery-caption{background:#fff4df;color:#55392c;display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:65px;padding:14px 30px}.gallery-caption strong{font-size:20px;color:#9b3e2a}.gallery-caption span{font-size:13px}.gallery-arrow{border:0;width:58px;height:58px;border-radius:50%;background:#d64c32;color:#fff8e4;font-size:49px;line-height:.6;position:absolute;top:42%;z-index:5;display:grid;place-items:center;box-shadow:0 4px 0 #67271d}.gallery-arrow.prev{left:-24px}.gallery-arrow.next{right:-24px}.gallery-arrow:hover{background:#f3763d}.gallery-foot{max-width:1050px;margin:36px auto 0;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;letter-spacing:.15em;color:#ffdec0}.gallery-dots{display:flex;align-items:center;gap:10px}.gallery-dots button{width:11px;height:11px;border-radius:50%;background:#b79b82;border:0;padding:0}.gallery-dots button.active{background:#e9663b;width:27px;border-radius:30px}.gallery-disclaimer{color:#cfbdae;font-size:12px;margin:35px 0 0;text-align:center}
/* schedule */
.schedule-section{padding:103px 0 97px;background:#fffaf2}.schedule-list{display:grid;gap:14px}.show-card{display:grid;grid-template-columns:1.1fr 1.55fr .84fr auto;align-items:center;gap:17px;min-height:113px;padding:20px 25px;border-radius:15px;background:#fff;border:1px solid #e3c9a8;box-shadow:0 5px 0 #f0dec5}.show-date{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.show-num{font:900 17px Georgia,serif;color:#d1794e;opacity:.72}.show-date strong{font-size:15px;white-space:nowrap}.show-date b{font-size:27px;white-space:nowrap}.show-date small{font-size:11px;color:#9a7561}.show-talk{display:flex;flex-direction:column;gap:8px}.show-talk small{font:900 10px Georgia,serif;letter-spacing:.12em;color:#b56443}.show-talk strong{font-size:15px;line-height:1.5}.show-state{display:flex;align-items:center;gap:10px;font-size:12px;color:#856c5c;font-weight:800}.seat-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fcf0db;color:#a8482f;font-size:24px;font-weight:900}.slot-button{background:#91332b;color:#fff9ed;border:0;border-radius:50px;padding:14px 22px;white-space:nowrap;font-size:12px;font-weight:900}.slot-button[disabled]{background:#9d9690;cursor:not-allowed}.slot-button span{margin-left:12px}.seat-legend{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin:36px 0 13px;font-size:14px;font-weight:900}.seat-legend span{white-space:nowrap}.seat-legend strong{color:#bd472c;font-size:24px;vertical-align:middle;margin-right:5px}.tiny-note{font-size:11px;text-align:center;color:#847366;line-height:1.7}
/* Cast */
.cast-section{background:linear-gradient(#f3e2c8,#fbeed7);padding:93px 0 96px;text-align:center}.cast-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:35px}.cast-name{background:#fffaf0;text-align:left;min-height:67px;border:1px solid #e5c49f;border-left:5px solid #c95736;border-radius:6px;display:flex;align-items:center;gap:15px;padding:10px 18px;font-size:16px;font-weight:900;box-shadow:0 3px 0 #e8d2b2}.cast-name span{font:900 13px Georgia,serif;color:#ca895b}.credits{font-size:14px;font-weight:900;margin-top:37px}
/* Tickets */
.ticket-section{padding:103px 0 120px;background:radial-gradient(circle at 95% 0,#e9844a 0,#a63c2a 55%,#6e241f 100%);color:white}.ticket-layout{display:grid;grid-template-columns: .85fr 1.15fr;gap:75px;align-items:center}.ticket-intro p{font-size:17px;line-height:2}.ticket-note{border-top:1px solid #ffffff6b;margin-top:30px;padding-top:20px;font-size:13px;line-height:2;color:#fff2db}.booking-form{background:#fff9ed;color:#35221d;border-radius:20px;padding:42px;box-shadow:8px 10px 0 #37171a59;border:6px solid #efbf79}.form-tag{font-size:24px;color:#91352c;font-weight:900;border-bottom:2px solid #e9cfac;padding-bottom:17px;margin-bottom:20px}.booking-form label{display:block;font-size:14px;font-weight:900;margin:20px 0 10px}.required{color:#d84e30;font-size:11px;border:1px solid #efae98;border-radius:3px;padding:3px 5px;margin-left:6px}.booking-form select{width:100%;background:white;border:1px solid #b8a08c;border-radius:9px;color:#38291d;min-height:53px;padding:12px;font-size:16px}.booking-form select:focus{outline:3px solid #ffb264}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:end}.price-box{display:flex;flex-direction:column;gap:9px;padding:13px 8px 11px;border-bottom:2px solid #dca06f}.price-box small{font-size:13px;font-weight:900}.price-box strong{font-size:21px;color:#b44830}.form-button{border:0;background:#bf3d2d;color:white;border-radius:80px;padding:18px 22px;min-height:61px;display:flex;gap:12px;align-items:center;justify-content:center;text-align:center;width:100%;font-size:17px;font-weight:900;margin-top:28px;box-shadow:0 5px 0 #6f211e;transition:transform .2s}.form-notice{font-size:11px;line-height:1.8;color:#816d5e;margin-bottom:0}
/* Venue/footer */
.access-section{background:#fff8ed;padding:75px 0}.access-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.access-row strong{font-size:23px}.access-row p{line-height:2.1}.access-sign{flex:0 0 280px;border:5px solid #a95635;box-shadow:8px 8px 0 #efd3ae;border-radius:3px;background:#f9e0aa;text-align:center;padding:27px;color:#a43f2b;font-size:25px;font-weight:900;transform:rotate(3deg)}.access-sign b{display:block;font-size:51px;color:#502f26}.access-sign small{font-size:12px}.site-footer{background:#211716;color:#e9d3bb;text-align:center;padding:36px 0;font-size:13px}.site-footer img{width:235px;margin:0 auto 15px}.site-footer small{font-size:11px;color:#b4a394}
/* modal */
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}.modal-overlay{position:absolute;inset:0;background:#140f0de0}.modal-card{position:relative;z-index:2;width:min(480px,100%);background:#fff7e7;border-radius:18px;border:5px solid #d5a06b;padding:35px;color:var(--ink);box-shadow:0 18px 50px #0008}.modal-card h2{color:#9f352b}.modal-card dl{display:grid;grid-template-columns:145px 1fr;gap:12px;border-top:1px solid #e4d1b9;padding-top:18px;font-size:14px}.modal-card dt{font-weight:900;color:#9d503a}.modal-card dd{margin:0}.modal-card p{line-height:1.8;color:#9d5241;font-size:13px}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:30px;color:#9a533b}
@media(max-width:1100px){.brand img{width:185px}.brand span{font-size:11px}.main-nav{gap:14px}.main-nav a{font-size:12px}.hero-photo{padding-left:22px}.hero-copy{padding:45px 30px}.hero-date>strong{font-size:30px}.show-card{grid-template-columns:1.1fr 1.1fr .7fr auto}.show-date{gap:8px}.show-date b{font-size:23px}.ticket-layout{gap:45px}}
@media(max-width:820px){html{scroll-padding-top:78px}.wrap{width:min(650px,calc(100% - 30px))}.site-header{height:67px}.header-inner{width:calc(100% - 30px)}.brand img{width:170px}.brand span{font-size:11px;padding:7px}.mobile-toggle{display:flex;width:45px;height:42px;border:1px solid #bd8c66;border-radius:7px;background:#6c2c24;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px}.mobile-toggle>span:not(.sr-only){height:2px;width:22px;background:#fff0d6}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 22px 24px;background:#382320;box-shadow:0 8px 14px #0006;flex-direction:column;align-items:stretch;gap:4px}.main-nav.opened{display:flex}.main-nav a{font-size:16px;padding:12px}.main-nav .nav-ticket{text-align:center}.hero-inner{grid-template-columns:1fr;max-width:700px}.hero-photo{padding:20px 15px 0}.photo-eyebrow{font-size:10px}.photo-set{min-height:390px;border-radius:90px 90px 14px 14px}.hero-ensemble{max-height:470px;width:104%}.photo-foot{padding:14px 0}.hero-copy{padding:25px 24px 55px}.hero-title{max-width:550px;margin:22px auto 0}.hero-subtitle{max-width:520px}.tagline{font-size:19px}.strip{font-size:13px;gap:12px}.strip-star{font-size:14px}.story-section{padding:70px 0}.story-wrap{grid-template-columns:1fr;gap:25px}.story-text{font-size:15px}.chieko-frame{min-height:325px;width:275px}.chieko-frame img{max-height:335px}.vertical-note{right:-38px}.gallery-section{padding:70px 0}.gallery-section .section-topline{align-items:center}.gallery-decor{display:none}.gallery-frame{min-height:390px}.gallery-image-wrap{height:340px}.gallery-arrow{width:47px;height:47px;font-size:39px}.gallery-arrow.prev{left:-12px}.gallery-arrow.next{right:-12px}.gallery-caption{min-height:56px}.gallery-foot{margin-top:30px}.schedule-section{padding:70px 0}.show-card{grid-template-columns:1.2fr .9fr auto;gap:12px;padding:16px}.show-date{grid-column:1}.show-talk{grid-column:2}.show-state{grid-column:3}.slot-button{grid-column:1/-1;width:100%;padding:12px}.cast-section{padding:70px 0}.cast-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-section{padding:70px 0 85px}.ticket-layout{grid-template-columns:1fr;gap:25px}.ticket-intro{text-align:center}.ticket-intro .section-title br{display:none}.ticket-note{margin-top:15px}.access-sign{flex-basis:180px;font-size:20px}.access-sign b{font-size:33px}}
@media(max-width:520px){.brand{gap:8px}.brand img{width:145px}.brand span{font-size:10px;padding:5px 6px}.photo-set{min-height:260px;border-radius:70px 70px 12px 12px;border-width:5px}.hero-ensemble{max-height:330px}.photo-eyebrow{margin-left:3px;font-size:9px}.photo-foot{font-size:9px}.hero-copy{padding:19px 15px 43px}.chapter{font-size:12px}.chapter strong{font-size:13px}.hero-title{margin-top:23px}.hero-date>strong{font-size:26px}.hero-subtitle{max-height:72px}.tagline{font-size:18px}.strip{min-height:55px;padding:12px}.strip span:nth-child(3),.strip span:nth-child(4){display:none}.section-title{font-size:33px}.story-section{padding:60px 0 50px}.story-text{line-height:1.9;padding-left:18px}.comedy-message{font-size:14px;padding:13px;line-height:1.7}.comedy-message b{font-size:17px}.chieko-frame{width:235px;min-height:290px}.chieko-frame img{max-height:295px}.gallery-section{padding:60px 0}.gallery-section .section-topline p{font-size:13px}.gallery-frame{border-width:5px;min-height:310px}.gallery-image-wrap{height:270px}.gallery-arrow{width:38px;height:38px;font-size:33px}.gallery-arrow.prev{left:-8px}.gallery-arrow.next{right:-8px}.gallery-placeholder h3{font-size:27px}.gallery-placeholder p{font-size:12px}.gallery-caption{padding:12px 16px;display:block}.gallery-caption strong{font-size:17px;display:block}.gallery-caption span{display:block;font-size:11px;margin-top:5px}.gallery-foot{font-size:10px}.gallery-hint{display:none}.gallery-disclaimer{font-size:11px;line-height:1.8}.schedule-section{padding:60px 0}.show-card{display:grid;grid-template-columns:1.6fr 1fr;gap:14px 10px}.show-date{grid-column:1;display:flex;gap:8px}.show-date b{font-size:21px}.show-talk{grid-column:1/-1;grid-row:2}.show-state{grid-column:2;grid-row:1;justify-content:flex-end;text-align:right;font-size:10px}.seat-mark{width:30px;height:30px;font-size:19px}.slot-button{grid-row:3}.seat-legend{gap:11px 20px;font-size:12px}.seat-legend strong{font-size:20px}.cast-list{gap:9px}.cast-name{gap:8px;padding:11px 9px;font-size:13px;min-height:58px}.cast-name span{font-size:11px}.booking-form{padding:23px 18px;border-width:4px}.form-tag{font-size:20px}.form-row{gap:15px}.price-box strong{font-size:16px}.form-button{font-size:14px}.access-row{display:block}.access-sign{margin:35px auto 0;width:215px}.modal-card{padding:25px}.modal-card dl{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta,.form-button{transition:none}}
/* ===== 本番接続ぶんの追加（2026-11-13） ===== */
[hidden]{display:none!important}
.gallery-image-wrap.has-image{background:#140e0e}
.gallery-frame{min-height:0}
.gallery-image-wrap{height:auto;aspect-ratio:3/2}
.gallery-thumbs{max-width:1050px;margin:18px auto 0;display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.gallery-thumbs button{flex:0 0 auto;width:84px;aspect-ratio:3/2;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:#1c1211;opacity:.55;cursor:pointer;touch-action:manipulation}
.gallery-thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumbs button.active{opacity:1;border-color:#f3a23f}
.gallery-foot{justify-content:space-between}
.soldout-tag{display:inline-block;background:#3a2a26;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;padding:7px 12px;border-radius:30px;white-space:nowrap}
.show-card.is-soldout{opacity:.7}
.seat-legend strong.so{font-size:12px;background:#3a2a26;color:#fff;padding:4px 9px;border-radius:20px}
.price-table{width:100%;border-collapse:collapse;margin:22px 0 4px;background:#ffffff14;border-radius:12px;overflow:hidden}
.price-table th,.price-table td{padding:12px 10px;text-align:center;border-bottom:1px solid #ffffff33;font-size:16px}
.price-table th{font-size:12px;letter-spacing:.1em;color:#ffe2b8}
.price-table td:first-child{text-align:left;font-weight:900}
.price-table td small{font-size:11px;font-weight:700}
.price-table tr:last-child td{border-bottom:0}
.sale-notice{background:#fbe9cf;border-radius:9px;padding:11px 14px;font-size:13px;font-weight:800;color:#8a3a27;line-height:1.7}
.booking-form input[type=text],.booking-form input[type=email],.booking-form input[type=tel],.booking-form textarea{width:100%;background:#fff;border:1px solid #b8a08c;border-radius:9px;color:#38291d;min-height:50px;padding:12px;font-size:16px;font-family:inherit}
.booking-form textarea{min-height:90px;resize:vertical}
.booking-form input:focus,.booking-form textarea:focus{outline:3px solid #ffb264}
.booking-form label small{font-size:11px;font-weight:700}
.form-row{align-items:start}
.noshi-box{margin-top:22px;border:1px dashed #d9b48c;border-radius:12px;padding:6px 16px 14px;background:#fffdf7}
.booking-form label.check{display:flex;align-items:center;gap:9px;margin:12px 0 4px;cursor:pointer}
.booking-form label.check input{width:20px;height:20px;accent-color:#bf3d2d}
.noshi-box .hint{font-size:12px;color:#816d5e;margin:0;line-height:1.7}
.pay-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-form .pay{display:flex;align-items:center;gap:8px;margin:0;padding:13px 12px;border:2px solid #e2cbb0;border-radius:10px;background:#fff;font-size:13px;cursor:pointer;touch-action:manipulation}
.booking-form .pay.on{border-color:#bf3d2d;background:#fff1e6}
.booking-form .pay input{accent-color:#bf3d2d;width:18px;height:18px;flex:none}
.summary{margin-top:22px;background:#f8ead5;border-radius:12px;padding:14px 16px;font-size:14px}
.summary>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.summary .tot{border-top:1px solid #dfc29f;margin-top:6px;padding-top:10px;font-weight:900}
.summary .tot b{font-size:22px;color:#b44830}
.form-button[disabled]{background:#a99a90;box-shadow:0 5px 0 #6d625b;cursor:not-allowed}
.form-button.small{min-height:48px;padding:12px 16px;font-size:14px;margin-top:0}
#paypal-buttons{margin-top:24px}
.form-msg{white-space:pre-line;font-size:14px;line-height:1.8;margin-top:16px;font-weight:800}
.form-msg:empty{display:none}
.form-msg.ok{background:#eef7e9;color:#2d5a1f;border-radius:10px;padding:14px}
.form-msg.err{background:#fde8e3;color:#a2301d;border-radius:10px;padding:14px}
.dupbox{margin-top:16px;background:#fff4dc;border:2px solid #e8b46a;border-radius:12px;padding:14px;font-size:14px;line-height:1.8;white-space:pre-line}
.dupbox-btns{display:grid;gap:10px;margin-top:10px}
.dup-no{border:1px solid #b8a08c;background:#fff;border-radius:40px;min-height:46px;font-weight:800;color:#5a4334}
.map-link,.access-row a{color:#b44830;font-weight:800}
@media(max-width:520px){.gallery-thumbs button{width:64px}.pay-row{grid-template-columns:1fr}.price-table th,.price-table td{font-size:14px;padding:10px 6px}.summary .tot b{font-size:19px}.gallery-image-wrap{height:auto}}
@media(max-width:820px){.gallery-image-wrap{height:auto}.gallery-frame{min-height:0}}
.section-title span{display:inline-block}
.ticket-layout{align-items:start}
@media(min-width:821px){.ticket-intro{position:sticky;top:110px}}
.ticket-intro .ticket-note{text-align:left}
.seat-legend span{display:inline-flex;align-items:center;gap:4px}
@media(max-width:350px){.brand span{display:none}}
.repeat-box{margin-top:12px;border:1px solid #e3c39b;border-radius:12px;padding:4px 14px 12px;background:#fff7ea}
.repeat-box .hint{font-size:12px;color:#816d5e;margin:8px 0 0;line-height:1.7}
.price-table td[colspan]{text-align:center}
