/* 0925暫定資料の構成。文字サイズ・v6の組み直しは readability.css を参照。 */

.intro-lead .intro-catch { font-size:clamp(16px,2vw,24px); letter-spacing:.07em; }
.intro-lead .intro-catch-main { font-size:clamp(22px,2.7vw,32px); margin-top:14px; color:var(--red); }
.intro-quote { max-width:310px; font-size:29px; line-height:1.9; letter-spacing:.08em; }
.intro-grid { align-items:center; }

.intro-copy p:first-child { font-size:15px; }




.story.has-story { padding-block:95px; }
.story.has-story > .section-wrap { grid-template-columns:.48fr 1.52fr; align-items:start; gap:75px; }
.story.has-story .section-heading { position:sticky; top:calc(var(--header-h) + 32px); }
.story-content.is-published p { font-size:14px; line-height:2.35; letter-spacing:.04em; margin:0 0 27px; }
.story-content.is-published p:last-child { margin-bottom:0; }
.story-content.is-published p:first-child { font-family:var(--serif); font-size:17px; line-height:2.25; }
.cast-lead-role { color:#dfc5a4; font-family:var(--serif); font-size:17px; letter-spacing:.12em; margin-top:24px; }
.cast-lead { margin-top:5px; }
.cast-member { display:flex; flex-direction:column; align-items:center; gap:9px; }
.cast-member__role { font-family:var(--sans); font-size:12px; color:#d6bdb0; letter-spacing:.07em; }
.cast-member__name { white-space:nowrap; }
.cast-secondary { gap:96px; margin-top:43px; }
.cast-ensemble { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 24px; max-width:940px; margin-top:48px; }
.cast-ensemble .cast-member { border-top:1px solid #c4966040; padding-top:19px; }
.cast-ensemble .cast-member__role { font-size:11px; }
.cast-additional { display:flex; gap:27px; justify-content:center; flex-wrap:wrap; margin-top:36px; font-family:var(--serif); font-size:18px; letter-spacing:.1em; color:#e7ccb2; }
.staff-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 40px; margin:40px auto 0; max-width:940px; text-align:left; padding-top:32px; border-top:1px solid #c4966040; }
.staff-grid>div { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 12px; }
.staff-grid dt { font-size:11px; color:#ccafaa; letter-spacing:.04em; }
.staff-grid dd { margin:0; font-family:var(--serif); font-size:17px; letter-spacing:.05em; color:#f6e1c2; }
.schedule-matrix .session-table { table-layout:fixed; width:100%; min-width:780px; }
.schedule-matrix .session-table th,.schedule-matrix .session-table td { padding:12px 2px; text-align:center; font-family:var(--roman); }
.schedule-matrix .session-table thead th { background:var(--paper); font-size:17px; }
.schedule-matrix .session-table thead th:first-child { width:63px; font-family:var(--sans); font-size:11px; }
.schedule-matrix .session-table tbody th { font-size:15px; }
.schedule-matrix .session-table th small { display:block; margin-top:4px; font-family:var(--sans); font-size:10px; }
.schedule-matrix .session-table .matrix-rest { background:#f2eee6; writing-mode:vertical-rl; letter-spacing:.2em; font-family:var(--sans); font-size:11px; color:#817577; }
.performance-mark { font-size:15px; color:var(--red); }
.schedule-matrix .session-table td>span[aria-hidden] { color:#d2c7bb; font-size:12px; }
.session-table .is-sunday { color:#9e1932; }.session-table .is-saturday { color:#285879; }
.schedule-note { margin-top:12px; color:var(--muted); font-size:11px; line-height:1.9; }
.session-table tr.is-closed { background:#f2eee6; }
.session-time { font-variant-numeric:tabular-nums; }
[data-prices="fukuoka"] .prices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
[data-prices="fukuoka"] .price { padding:20px 22px; border-top:2px solid #b49362; }
[data-prices="fukuoka"] .price>span { font-size:15px; color:var(--red); }
[data-prices="fukuoka"] .price>strong { font-size:30px; margin:5px 0 1px; }
.sale-calendar { padding:28px 30px; border:1px solid var(--line); background:linear-gradient(125deg,#f5ebdb,var(--white)); position:relative; margin-bottom:24px; }
.sale-calendar>.eyebrow { color:var(--gold); font-size:9px; }
.sale-calendar .sale-notice { margin:13px 0 14px; color:var(--red); font-family:var(--serif); font-size:22px; line-height:1.9; letter-spacing:.03em; }
.box-office-sale { font-size:13px; line-height:2; }
.sale-notes { margin-top:16px; border-top:1px solid var(--soft-line); padding-top:14px; }
.sale-notes p { font-size:11px; line-height:2; color:var(--muted); }
.booking-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.booking-card { padding:24px; background:var(--paper); border:1px solid var(--soft-line); }
.booking-number { font-size:9px; letter-spacing:.1em; color:var(--gold); }
.booking-card h5 { font-size:15px; font-weight:500; font-family:var(--serif); margin:9px 0 10px; }
.booking-card p { font-size:12px; line-height:2; }
.booking-hours { color:var(--muted); font-size:11px!important; }
.booking-phone { font-family:var(--roman); display:inline-flex; align-items:center; min-height:44px; font-size:29px; letter-spacing:.025em; color:var(--red); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; white-space:nowrap; }
.booking-phone:hover { color:var(--red-dark); }
.booking-pending { margin-top:13px; color:var(--muted); font-size:11px!important; }
.booking-card .text-link { margin-top:6px; }
.booking-card .button { margin-top:16px; font-size:12px; }
.playguides-label { font-size:13px; margin:28px 0 14px; font-weight:500; }
.playguide-list .is-pending { display:flex; flex-wrap:wrap; gap:5px 12px; border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.playguide-list .is-pending>span { font-size:13px; }
.playguide-list .is-pending>small { color:var(--muted); font-size:10px; }
.access-details { margin-top:13px; }
.access-details p { font-family:var(--sans); font-size:12px; letter-spacing:0; line-height:2.1; margin:6px 0; }
.access-details .booking-phone { font-size:17px; letter-spacing:.04em; }
.access-details .theatre-representative { font-size:11px; }
#fukuoka-notices p { font-size:12px; line-height:2.1; margin:7px 0; }
.footer-cooperation { grid-column:1/-1; display:flex; gap:15px 28px; align-items:center; flex-wrap:wrap; margin-top:23px; font-size:12px; color:#d9c5ac; letter-spacing:.06em; }
.footer-cooperation>span:first-child { color:#b9a7a1; font-size:10px; margin-right:4px; }

































































@media(max-width:1199px) {
 .story.has-story>.section-wrap { gap:40px; grid-template-columns:.5fr 1.5fr; }
 .staff-grid { gap:19px 22px; }
 .cast-ensemble { font-size:22px; }
}
@media(max-width:1023px) {
 [data-sessions="fukuoka"] .schedule-desktop { display:none; }
 [data-sessions="fukuoka"] .schedule-mobile { display:block; }
 .story.has-story>.section-wrap { grid-template-columns:1fr; gap:30px; }
 .story.has-story .section-heading { position:static; }
 .staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .intro-grid { gap:36px; }
 .intro-quote { font-size:25px; }
 .cast-ensemble { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 15px; font-size:20px; }
 .booking-phone { font-size:25px; }
}
@media(max-width:767px) {
 .intro-lead { margin:28px 0 37px; }
 .intro-lead .intro-catch { font-size:16px; line-height:2; letter-spacing:.03em; }
 .intro-lead .intro-catch-main { font-size:22px; line-height:1.8; letter-spacing:.04em; margin-top:11px; }
 .intro-quote { max-width:60%; font-size:22px; letter-spacing:.02em; line-height:1.9; flex-shrink:1; }
 .intro-copy p:first-child { font-size:14px; }
 .intro-grid { gap:27px; }
 
 .story.has-story { padding-block:62px; }
 .story.has-story>.section-wrap { gap:26px; }
 .story-content.is-published p { font-size:13px; line-height:2.25; }
 .story-content.is-published p:first-child { font-size:15px; line-height:2.2; }
 .cast-lead-role { font-size:14px; margin-top:20px; }
 .cast-lead { font-size:48px; margin-top:8px; }
 .cast-secondary { gap:35px; font-size:30px; }
 .cast-member__role { font-size:10px; }
 .cast-ensemble { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 20px; margin-top:33px; font-size:24px; }
 .cast-ensemble .cast-member__role { font-size:10px; }
 .cast-additional { gap:22px; margin-top:28px; font-size:17px; }
 .staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px 18px; margin-top:28px; padding-top:26px; }
 .staff-grid>div { display:block; }
 .staff-grid dt { font-size:10px; margin-bottom:5px; }
 .staff-grid dd { font-size:16px; }
 .schedule-note { font-size:10px; }
 [data-prices="fukuoka"] .prices { gap:7px; }
 [data-prices="fukuoka"] .price { padding:14px 8px; }
 [data-prices="fukuoka"] .price>span { font-size:12px; }
 [data-prices="fukuoka"] .price>strong { font-size:23px; line-height:1.5; overflow-wrap:anywhere; }
 [data-prices="fukuoka"] .price>small { font-size:9px; }
 .sale-calendar { padding:19px 17px; }
 .sale-calendar .sale-notice { font-size:18px; line-height:1.95; margin-top:10px; }
 .box-office-sale { font-size:12px; line-height:2; }
 .sale-notes p { font-size:10px; }
 .booking-grid { grid-template-columns:1fr; gap:12px; }
 .booking-card { padding:20px; }
 .booking-card h5 { font-size:15px; }
 .booking-card p { font-size:11px; }
 .booking-phone { font-size:28px; }
 .playguide-list .is-pending>span { font-size:12px; }
 .playguide-list .is-pending>small { font-size:9px; }
 #fukuoka-notices p { font-size:11px; line-height:2.1; }
 .footer-cooperation { gap:12px 22px; font-size:10px; margin-top:21px; }
 .footer-cooperation>span:first-child { font-size:9px; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
}
@media(max-width:374px) {
 .intro-quote { font-size:20px; }
 .cast-lead { font-size:43px; }.cast-secondary { font-size:26px; gap:30px; }
 .cast-ensemble { font-size:22px; }.staff-grid dd { font-size:15px; }
 [data-prices="fukuoka"] .prices { grid-template-columns:1fr; gap:7px; }
 [data-prices="fukuoka"] .price { display:flex; gap:14px; align-items:baseline; padding:11px 14px; }
 [data-prices="fukuoka"] .price>strong { margin:0 0 0 auto; font-size:25px; }
 .booking-card { padding:17px; }.booking-phone { font-size:25px; }
 
 
 
}





@media print { .staff-grid { color:black; }.staff-grid dt,.staff-grid dd,.cast-member__role { color:black; }.booking-card,.sale-calendar { break-inside:avoid; }.schedule-mobile { display:none!important; }.schedule-desktop { display:block!important; }.schedule-matrix .session-table { min-width:0; }.story.has-story .section-heading { position:static; } }



