/* Event pages only: images first, dates and short summaries, expandable FAQs. */
body.event-visual-page{--ev-ink:#43333c;--ev-muted:#75616d;--ev-accent:#a33b68;--ev-line:#eadbe0;--ev-soft:#faf0f4;background:#fffdfa;color:var(--ev-ink);font-family:'Hiragino Sans','Yu Gothic',Meiryo,sans-serif;line-height:1.8}
.event-visual-page .event-skip{position:fixed;top:-100px;left:16px;z-index:9999;background:#fff;padding:12px 20px;color:var(--ev-accent)}
.event-visual-page .event-skip:focus{top:12px}
.event-visual-page .nav{min-height:68px;border-bottom:1px solid var(--ev-line);box-shadow:none}
.event-visual-page .nav-logo img{height:46px}
.event-visual-page .hamburger{border-radius:4px;background:#fff}
.event-visual-page .page-hero{padding:28px 20px 24px;background:#f9edf1;border:0;text-align:center}
.event-visual-page .page-eyebrow{display:block;background:none;border:0;padding:0;margin:0 0 5px;color:var(--ev-accent);font-family:Georgia,serif;font-weight:400;font-size:12px;letter-spacing:.18em}
.event-visual-page .page-hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:600!important;font-size:clamp(27px,4vw,38px);margin:0 auto 7px;line-height:1.55}
.event-visual-page .page-hero .lead{font-size:14px;margin:0 auto;line-height:1.8}
.event-visual-page .breadcrumb{max-width:1080px;margin:auto;padding:14px 24px 0;font-size:12px}
.event-visual-page .page-body{max-width:1080px;padding:24px 24px 48px}
.event-visual-page .page-body h2{background:none;border:0;border-radius:0;padding:0;margin:0 0 18px;font-size:24px;line-height:1.55;font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:600!important}
.event-visual-page .page-body h3{font-size:18px;line-height:1.6;margin:0 0 10px;font-weight:700!important}
.event-visual-page .page-body p{font-size:15px;line-height:1.85}
.event-visual-page .page-body a{color:var(--ev-accent)}
.event-visual-page .page-body a[style]{color:var(--ev-accent)!important}
.event-visual-page .page-body a:focus-visible,.event-visual-page summary:focus-visible{outline:3px solid #a33b68;outline-offset:4px}
.event-visual-page .event-kicker{display:block;font-family:Georgia,serif;font-size:11px;letter-spacing:.16em;color:var(--ev-accent);margin-bottom:5px}
.event-visual-page section,.event-visual-page h2[id],.event-visual-page nav[id]{scroll-margin-top:90px}
.event-visual-page .event-upcoming{display:grid;grid-template-columns:auto 1fr;gap:10px 35px;padding:18px 22px;margin-bottom:32px;background:#faf4f6;border-left:3px solid #b06183}
.event-visual-page .event-upcoming h2{font-family:inherit!important;font-size:16px;margin:0;font-weight:700!important}
.event-visual-page .event-empty{margin:0;padding:0;border:0;border-radius:0;background:none;font-size:14px}
.event-visual-page #upcoming-events{grid-column:1/-1}
.event-visual-page #upcoming-events:empty{display:none}
.event-visual-page .event-section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:0 0 17px}
.event-visual-page .event-section-title h2{margin:0}
.event-visual-page .event-section-title>span{font-size:11px;color:var(--ev-muted);white-space:nowrap;margin-bottom:4px}
.event-visual-page .page-body .event-list{margin:0;padding:0;list-style:none}
.event-visual-page .event-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:30px;background:#fff;border:1px solid var(--ev-line);border-radius:0;padding:0;margin:0;overflow:hidden;box-shadow:none;transform:none}
.event-visual-page .event-card:hover{box-shadow:none;transform:none}
.event-visual-page .event-card .event-thumb{border-radius:0;background:#fcf1f8;align-self:start}
.event-visual-page .event-card .event-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.event-visual-page .event-meta{padding:25px 28px 25px 0}
.event-visual-page .event-card h3{font-size:23px;margin:13px 0 12px}
.event-visual-page .event-card h3 a{color:var(--ev-ink)}
.event-visual-page .event-card p{font-size:14px;line-height:1.8;margin-bottom:12px}
.event-visual-page .event-card .event-date{display:flex;gap:10px;align-items:baseline;margin:13px 0 0;color:var(--ev-accent);font-family:Georgia,serif;font-size:27px;font-weight:400}
.event-visual-page .event-date>span{font-family:inherit;font-size:14px}
.event-visual-page .event-date small{font-size:12px;margin-left:4px}
.event-visual-page .event-date i{font-size:15px;font-style:normal}
.event-visual-page .event-badge{margin:0;font-size:11px;padding:3px 10px;line-height:1.6;border-radius:2px}
.event-visual-page .event-badge.done{color:#684958;background:#f5edf1;border:0}
.event-visual-page .event-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}
.event-visual-page .event-tags span{font-size:11px;color:#76556a;border:1px solid #e5d6df;padding:1px 8px;border-radius:3px}
.event-visual-page .event-card .event-stores{font-size:12px;color:var(--ev-muted);margin:10px 0 18px}
.event-visual-page a.event-button{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--ev-accent);padding:12px 18px;color:#fff;font-size:14px;text-decoration:none;min-height:46px}
.event-visual-page .page-body .event-caption{font-size:12px;color:var(--ev-muted);margin:10px 0 0;line-height:1.75}
.event-visual-page .event-shop-section,.event-visual-page .event-faq{margin-top:46px}
.event-visual-page .event-shop-section>p{margin-top:-7px;margin-bottom:19px}
.event-visual-page .event-shops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.event-visual-page .event-shop{background:#fff;border:1px solid var(--ev-line);min-width:0}
.event-visual-page .event-shop>a{display:block}
.event-visual-page .event-shop img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
.event-visual-page .event-shop>div{padding:12px 15px 16px}
.event-visual-page .event-shop h3{font-family:Georgia,'Yu Mincho',serif!important;font-size:20px;margin:0 0 5px}
.event-visual-page .event-shop div>a{display:block;font-size:13px;line-height:1.8;min-height:32px;padding-top:4px;text-decoration:underline;text-underline-offset:4px}
.event-visual-page .event-inline-link{display:inline-block;margin-top:18px;font-size:13px;min-height:40px;padding-top:6px;text-decoration:underline}
.event-visual-page .event-faq h2{margin-bottom:7px}
.event-visual-page .event-faq>.event-caption{margin-bottom:18px}
.event-visual-page .event-question{border-bottom:1px solid var(--ev-line);background:#fff}
.event-visual-page .event-question:first-of-type{border-top:1px solid var(--ev-line)}
.event-visual-page .event-question summary{cursor:pointer;display:flex;align-items:center;gap:12px;list-style:none;padding:18px 14px;font-size:15px;font-weight:650;line-height:1.65}
.event-visual-page .event-question summary::-webkit-details-marker{display:none}
.event-visual-page .event-question summary::before{content:'Q';font-family:Georgia,serif;font-style:italic;color:var(--ev-accent);font-size:20px;flex:none}
.event-visual-page .event-question summary::after{content:'+';font-size:20px;font-weight:400;line-height:1;margin-left:auto;color:var(--ev-accent)}
.event-visual-page .event-question[open] summary::after{content:'−'}
.event-visual-page .event-question>div{padding:0 18px 18px 44px}
.event-visual-page .event-question p{font-size:14px;margin:0;line-height:1.9}
.event-visual-page .event-visit{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:27px;margin-top:38px;background:#f9edf1}
.event-visual-page .event-visit h2{margin:0 0 5px;font-size:23px}
.event-visual-page .event-visit p{margin:0;font-size:13px}
.event-visual-page .event-visit-links{display:grid;gap:8px}
.event-visual-page .event-visit-links a{padding:11px 16px;background:#fff;font-size:14px;border-bottom:1px solid #d8b8c7;line-height:1.6}
.event-visual-page .footer{background:#f9f1f4;border-color:var(--ev-line);margin-top:0}
/* The original event remains a readable archive, without suggesting it can still be booked. */
.event-detail-page .page-body{max-width:1000px}
.event-detail-page .event-title-brand{display:block;font-family:Georgia,serif;font-size:14px;letter-spacing:.06em;margin-bottom:4px}
.event-detail-page .event-title-status{display:inline-block;vertical-align:middle;font-family:'Hiragino Sans',Meiryo,sans-serif;font-size:11px;font-weight:500;white-space:nowrap;padding:3px 7px;border:1px solid #d4b9c5;color:#80516a}
.event-detail-page .event-ended-note{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f6f0f3;padding:14px 18px;border-left:3px solid #a96b88;margin-bottom:22px;font-size:13px}
.event-detail-page .event-ended-note strong{font-size:12px;white-space:nowrap}
.event-detail-page .event-ended-note span{flex:1;min-width:240px}
.event-detail-page .event-ended-note a{font-size:12px;text-decoration:underline}
.event-detail-page .event-flyer{max-width:620px;border:0;border-radius:0;box-shadow:none;margin:0 auto 22px;overflow:visible}
.event-detail-page .event-flyer img{display:block;width:100%;height:auto}
.event-detail-page .event-flyer .event-caption{text-align:center}
.event-detail-page .page-body .event-intro{text-align:center;font-size:16px;margin:25px 0 18px;line-height:1.9}
.event-detail-page .event-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:20px 0 35px}
.event-detail-page .event-toc a{font-size:13px;background:#fff;border:1px solid var(--ev-line);padding:10px 15px;line-height:1.7}
.event-detail-page .page-body>h2{margin:38px 0 18px;border-bottom:1px solid var(--ev-line);padding:0 0 12px}
.event-detail-page .page-body>h3{font-size:19px;margin:24px 0 10px}
.event-detail-page :is(.price-table,.event-facts){border-radius:0;box-shadow:none;margin:18px 0 25px;font-size:15px}
.event-detail-page :is(.price-table,.event-facts) :is(th,td){padding:13px 16px;line-height:1.8;border-color:var(--ev-line)}
.event-detail-page .price-table th{background:#f8edf2}
.event-detail-page .price-table td:first-child{font-weight:650}
.event-detail-page .price-table td:last-child{font-variant-numeric:tabular-nums}
.event-detail-page .callout{padding:20px;border-radius:0;background:#fbf4e9;border:1px solid #ecdbc3}
.event-detail-page .callout p:last-child{margin-bottom:0}
.event-detail-page .page-body>ul{padding-left:0;margin-left:0;list-style:none}
.event-detail-page .page-body>ul>li{padding:13px 5px;border-bottom:1px solid var(--ev-line);font-size:14px}
.event-detail-page .event-addresses p{font-size:13px;line-height:1.8;margin:0 0 8px}
.event-detail-page .event-detail-faq{margin-top:0}
.event-detail-page .cta-box{border:0;border-radius:0;box-shadow:none;background:#f9edf1;margin-top:35px}
.event-detail-page .cta-box h3{font-size:22px}
.event-detail-page .cta-btns a{border-radius:3px;color:#fff}
@media(max-width:768px){
 .event-visual-page .nav-links{background:#fff9fc}
 .event-visual-page .nav-links a{color:var(--ev-ink)}
 .event-visual-page .page-body{padding:22px 18px 36px}
 .event-visual-page .breadcrumb{padding:12px 18px 0}
 .event-visual-page .event-card{gap:20px}
 .event-visual-page .event-meta{padding:18px 20px 18px 0}
 .event-visual-page .event-card h3{font-size:21px}
 .event-visual-page .event-shops{gap:12px}
 .event-visual-page .event-shop>div{padding:10px 12px 12px}
 .event-visual-page .event-shop h3{font-size:18px}
 .event-detail-page .event-addresses{grid-template-columns:1fr}
 .event-detail-page .event-addresses .event-shop{display:grid;grid-template-columns:40% 1fr;align-items:center}
}
@media(max-width:640px){
 .event-visual-page .page-hero{padding:22px 18px 20px}
 .event-visual-page .page-hero h1{font-size:28px}
 .event-visual-page .page-hero .lead{font-size:13px}
 .event-visual-page .page-body h2{font-size:22px}
 .event-visual-page .event-upcoming{display:block;padding:14px 16px;margin-bottom:27px}
 .event-visual-page .event-upcoming>div{display:flex;align-items:center;gap:12px;margin-bottom:6px}
 .event-visual-page .event-upcoming .event-kicker{font-size:9px;margin:0}
 .event-visual-page .event-upcoming h2{font-size:15px}
 .event-visual-page .event-empty{font-size:13px;line-height:1.85}
 .event-visual-page .event-card{display:block}
 .event-visual-page .event-meta{padding:20px}
 .event-visual-page .event-card h3{font-size:21px}
 .event-visual-page .event-card .event-date{font-size:28px}
 .event-visual-page .event-section-title{gap:8px}
 .event-visual-page .event-section-title>span{font-size:10px}
 .event-visual-page .event-shops{grid-template-columns:1fr;gap:17px}
 .event-visual-page .event-shop>div{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 14px}
 .event-visual-page .event-shop h3{font-size:19px;margin:0}
 .event-visual-page .event-shop div>a{font-size:12px;min-height:30px}
 .event-visual-page .event-visit{grid-template-columns:1fr;padding:22px;gap:17px}
 .event-visual-page .event-shop-section,.event-visual-page .event-faq{margin-top:36px}
 .event-detail-page .page-hero h1{font-size:24px}
 .event-detail-page .event-ended-note{padding:12px 14px;gap:5px 12px;font-size:12px}
 .event-detail-page .event-ended-note span{min-width:0;flex-basis:100%;order:1}
 .event-detail-page .event-ended-note a{margin-left:auto}
 .event-detail-page .event-toc{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .event-detail-page .event-toc a{text-align:center;padding:10px}
 .event-detail-page .event-facts{display:block;border:0}
 .event-detail-page .event-facts tbody{display:block}
 .event-detail-page .event-facts tr{display:grid;grid-template-columns:80px minmax(0,1fr);border-bottom:1px solid var(--ev-line)}
 .event-detail-page .event-facts :is(th,td){display:block;width:auto;padding:12px 10px;border:0;font-size:13px}
 .event-detail-page .price-table{display:table;table-layout:fixed;overflow:visible}
 .event-detail-page .price-table :is(th,td){padding:13px 11px;font-size:14px}
 .event-detail-page .event-set-table{display:block;border:0;background:transparent}
 .event-detail-page .event-set-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .event-detail-page .event-set-table tbody{display:grid;gap:12px}
 .event-detail-page .event-set-table tr{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--ev-line);padding:14px}
 .event-detail-page .event-set-table td{border:0;padding:0;background:transparent}
 .event-detail-page .event-set-table td:first-child{font-size:16px;color:var(--ev-accent)}
 .event-detail-page .event-set-table td:nth-child(2){grid-row:2;grid-column:1/-1;font-size:13px;padding-top:7px}
 .event-detail-page .event-set-table td:last-child{grid-row:1;grid-column:2;font-size:17px;font-weight:700;white-space:nowrap;padding-left:9px}
 .event-detail-page .event-addresses .event-shop{display:block}
 .event-detail-page .event-addresses .event-shop>div{display:block}
 .event-detail-page .event-addresses h3{margin:0 0 7px}
 .event-detail-page .cta-btns{display:grid;grid-template-columns:1fr;gap:8px}
}
@media(prefers-reduced-motion:reduce){.event-visual-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
