/* 読みやすさ・装飾・寄付案内の調整 / 2026-10-12 */
body{font-weight:500;line-height:1.95}
:root{--muted:#514451}
/* 本文16px、補足14px、装飾的な英字12pxを基本とする。 */
.story-body,.support-message,.section-heading>p,.feature p,.market p,
.menu-paper p,.flyer-copy>p:not(.eyebrow),.donation-intro p,.steps p,
.plain-details>div,.report-layout>div>p:not(.eyebrow),.scene-description>p,
.program-list p,.show-strip ul,.bank-details dd,.access-note{font-size:16px;line-height:1.95}
.eyebrow,.tiny-label,.program-index,.category-tag,.show-label,.menu-en,
.scene-overline,.scene-heading .eyebrow,.support .eyebrow,
.donation-intro .tiny-label,.bank-heading .tiny-label{font-size:12px;font-weight:800}
.preview-banner,.preview-banner a,.preview-banner-detail{font-size:12px}
.desktop-nav{font-size:14px;gap:22px}
.brand{font-size:14px}.brand b{font-size:16px}.brand small{font-size:12px}
.menu-toggle{min-width:44px;min-height:44px;flex-shrink:0}
.menu-toggle>span:not(.sr-only){height:3px}
.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
/* 矢印はフォント依存の細い記号から太いSVGに統一。 */
.arrow-icon{display:inline-block;width:1.22em;height:1.22em;min-width:1.22em;vertical-align:-.21em;overflow:visible;flex:none}
.masthead-actions .arrow-icon,.nav-donate .arrow-icon,.button .arrow-icon{width:23px;height:23px;min-width:23px}
.text-link .arrow-icon,.footer-bottom .arrow-icon{margin-left:6px}
.flyer-arrow .arrow-icon{width:80px;height:80px}
.collage-scribble{-webkit-text-stroke:1.3px currentColor}
.steps li:not(:last-child):after{content:'';width:22px;height:22px;padding:0;top:-12px;right:-26px;background:var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-7-7 7 7-7 7' fill='none' stroke='%2326172b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
/* トップのテーマを、本文より大きな見出しとして見せる。 */
.theme-ribbon{font-size:clamp(17px,1.5vw,21px);line-height:1.65;padding:9px 16px;font-weight:900;margin-bottom:25px;max-width:100%;box-shadow:4px 4px 0 #351040;letter-spacing:.015em}
.theme-ribbon span{display:inline-block}
.masthead-message{font-size:16px;line-height:1.9}
.masthead-actions{gap:20px;flex-wrap:wrap}
.masthead-button,.masthead-support{font-size:16px;font-weight:800;gap:15px;min-height:48px}
.masthead-support{border-bottom-width:2px}
.masthead-kicker,.masthead-kicker span:last-child{font-size:12px}
.masthead-info{grid-template-columns:1fr .76fr 1.15fr}
.masthead-date>span,.masthead-date>b,.masthead-time>span,.masthead-place>span{font-size:12px}
.masthead-place strong{font-size:16px}.masthead-place a{font-size:14px;font-weight:700}
.collage-disclaimer{font-size:12px;color:var(--cream);font-weight:600}
.collage-stamp span,.collage-stamp small{font-size:10px}
.collage-main figcaption{font-size:12px}
.masthead-tape span:nth-of-type(2){font-size:14px}
/* イラストは本文と重ならない専用の余白に配置する。 */
.story-motifs{display:flex;align-items:end;gap:14px;max-width:380px;margin-top:40px}
.story-motifs img{width:45%;height:auto;transform:rotate(-7deg)}
.story-motifs img+img{transform:rotate(7deg);margin-bottom:-16px}
.story-note p{font-size:16px}.story-note strong{font-size:19px}
.more-program-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:5px}
.more-program-heading .eyebrow{display:block;margin-bottom:12px}
.anatomy-motif{width:142px;height:142px;flex:none;transform:rotate(4deg)}
.pumpkin-motif{width:160px;height:160px;margin:12px 0 -8px auto;transform:rotate(-6deg)}
.school-motif{width:320px;height:auto;max-width:88%;margin:37px auto 0 0;transform:rotate(-4deg)}
/* イベント紹介の小さすぎた時刻・説明を拡大。 */
.feature-category,.time-label,.small-ticket,.small-ticket span,
.section-footnote,.schedule-note,.schedule-columns dl>div,
.disclosure-button small,.booth-count>span,.poster-button>span,
.scene-description .scene-time,.scene-caption{font-size:14px;font-weight:600}
.scene-photo-label{font-size:12px;font-weight:700;top:7px;left:7px}
.scene-description h4 small{font-size:16px;font-weight:800}
.scene-description .scene-time{line-height:1.9;color:var(--cream)}
.scene-caption{color:var(--cream)}
.scene-description{padding-top:34px}
.scene-overline{letter-spacing:.06em}
.program-list h4{font-size:20px}
.show-strip{grid-template-columns:auto 1fr 1.35fr;gap:24px}
.schedule-columns dl>div{grid-template-columns:100px 1fr}
.disclosure-button{font-size:17px}
.flyer-copy .small-note{font-size:14px!important;font-weight:500}
.flyer-copy p{font-size:16px!important}
/* 寄付の説明はイベント全体への応援を軸に。 */
.support-heading>p{font-size:17px}.support-heading{align-items:center}
.fund-title h3{font-size:20px}.fund-title>span{font-size:12px;font-weight:700}
.fund-use li{font-size:17px}.fund-use>p{font-size:14px;line-height:1.95;font-weight:500}
.amount-label,.amount-options li.other-amount,.donation-status{font-size:14px}
.amount-options span{font-size:13px}.amount-options{flex-wrap:wrap}
.donation-action .button{font-size:16px;gap:15px}
.donor-name-notice{font-size:14px;line-height:1.95;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}
.donor-name-notice strong{display:block;font-size:15px;margin-bottom:7px}
.donor-name-notice a{font-weight:800}
.how-to .section-heading>p{font-size:16px}
.steps h3{font-size:18px;letter-spacing:-.025em}
.bank-warning{font-size:14px;font-weight:700}
.bank-details dt,.bank-details small{font-size:14px}
.copy-row #bank-holder{font-size:16px}
.copy-button{font-size:14px;min-height:44px;font-weight:800;min-width:98px}
.plain-details summary{font-size:17px;line-height:1.8;font-weight:800;padding-block:24px}
.plain-details summary span{font-weight:900;font-size:25px}
.plain-details>div{color:var(--ink)}
/* 日付と曜日を別々に整列し、「24」に何も重ねない。 */
.access-date{display:flex;align-items:center;gap:18px;width:100%;font-size:clamp(65px,7.4vw,102px);line-height:1.1;letter-spacing:-.07em}
.date-numerals{font:inherit;white-space:nowrap;flex:none}
.access-date span{font-size:.65em;margin-inline:5px}
.access-date i{position:static;right:auto;bottom:auto;flex:none;font-size:26px;line-height:1.3;letter-spacing:-.04em;padding:5px 10px;transform:rotate(-9deg);margin:0}
.access-info dl>div{grid-template-columns:1fr;gap:9px}
.access-info dt{font-size:14px;font-weight:800}
.access-info dd{font-size:18px}.access-info small{font-size:16px;font-weight:500}
.access-info dd a{font-size:16px;font-weight:700}
.organizer-mission{font-size:16px;font-weight:500;line-height:2;margin-top:13px}
.text-link{font-size:16px}.share-note{font-size:14px;color:var(--muted)}
.check-content,.check-content>p{font-size:14px}.publish-check summary{font-size:15px}
.publish-check summary span{font-size:12px}
.footer-bottom strong{font-size:18px}.footer-bottom p,.footer-bottom a,.copyright{font-size:14px}
.photo-credits,.photo-credits li{font-size:14px;color:#e3d7e7}
.poster-toolbar button,.poster-toolbar a{font-size:14px;min-height:44px;font-weight:700}
@media(max-width:1100px){
 .desktop-nav{gap:16px;font-size:13px}.nav-donate{padding-inline:14px}
 .masthead-actions{flex-direction:column;align-items:flex-start;gap:12px}
 .masthead-button,.masthead-support{font-size:15px}
 .masthead-message{font-size:15px}
 .masthead-date>strong{font-size:52px}.masthead-info{grid-template-columns:1fr .82fr 1.13fr;gap:19px;padding-inline:22px}
 .masthead-time strong{font-size:23px}.masthead-place strong{font-size:15px}
 .masthead-copy{padding-block:34px 40px}
 .scene-description h4{font-size:24px}
 .access-grid{grid-template-columns:1fr 1.15fr;gap:40px}
 .access-date{font-size:80px;gap:15px}.access-date i{font-size:22px}
}
@media(max-width:850px){
 .masthead-kicker span:last-child{display:none}
 .masthead-info{grid-template-columns:1fr 1fr;gap:18px 26px}
 .masthead-date>strong{font-size:58px}.masthead-time strong{font-size:27px}
 .masthead-place{grid-column:1/-1;display:grid;grid-template-columns:35px 1fr;border-left:0;border-top:1px solid #cbbdc8;padding:15px 0 0;gap:4px 9px}
 .masthead-place a{grid-column:2}.masthead-place>span{padding-top:4px}
 .masthead-grid{min-height:500px}
 .collage-disclaimer{font-size:12px;right:-5px;bottom:-40px;max-width:220px}
 .collage-stamp{width:116px;height:116px}.collage-stamp span,.collage-stamp small{font-size:8px}
 .story-grid{gap:34px}.story-body{padding-top:25px}
 .story-note{transform:none;gap:10px}.story-note p{font-size:14px}.story-note strong{font-size:17px}.note-star{font-size:45px}
 .scene-overline{font-size:11px}.scene-description h4{font-size:20px}.scene-description h4 small{font-size:15px}
 .event-scenes{grid-template-columns:1fr;gap:42px}
 .event-scene{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
 .scene-photo{height:320px}.scene-description{padding:0}.scene-description h4{font-size:28px}
 .scene-ghost{padding:0}.scene-ghost .scene-photo{order:2}.scene-ghost .scene-description{order:1}
 .show-strip{grid-template-columns:auto 1fr}.show-strip ul{grid-column:2}
 .support-heading{display:block}.support-heading>p{margin-top:23px}
 .donation-paper{padding:30px}.fund-title{display:block}.fund-title>span{display:inline-block;margin-top:9px}
 .steps{grid-template-columns:1fr 1fr;gap:30px}.steps li:not(:last-child):after{display:none}
 .access-date{font-size:clamp(59px,8.7vw,73px);gap:12px}.access-date i{font-size:20px;padding-inline:8px}
 .access h2{font-size:31px}.school-motif{max-width:100%}
}
@media(max-width:600px){
 .brand{font-size:11px}.brand b{font-size:14px}.brand small{font-size:11px}
 .theme-ribbon{font-size:clamp(15px,4.1vw,20px);padding:8px 12px;line-height:1.7;margin-bottom:26px}
 .masthead-message{font-size:15px;margin-top:22px}
 .masthead-actions{display:grid;grid-template-columns:1fr;gap:10px;align-items:center;margin-top:22px}
 .masthead-button{justify-content:space-between;padding:14px 20px;min-height:52px;font-size:16px}
 .masthead-support{font-size:16px;justify-content:center;border-bottom:0;gap:14px;padding-block:10px;text-decoration:underline;text-underline-offset:6px}
 .masthead-info{padding:18px 16px;gap:15px;grid-template-columns:1.05fr 1fr;margin-top:22px}
 .masthead-date{gap:6px}.masthead-date>strong{font-size:45px}.masthead-date>span,.masthead-date>b{font-size:11px}
 .masthead-time{padding-left:14px}.masthead-time strong{font-size:22px}
 .masthead-time>span,.masthead-place>span{font-size:12px}.masthead-place strong{font-size:15px}.masthead-place a{font-size:14px}
 .photo-collage{margin-bottom:42px}.collage-disclaimer{max-width:none;right:0;bottom:-32px}
 .collage-main figcaption{font-size:10px}.collage-stamp{width:120px;height:120px}
 .masthead-tape{font-size:14px}
 .story-body .lead{font-size:20px}.story-closing{font-size:19px}
 .story-motifs{max-width:255px;margin:25px 5px 10px auto;gap:7px}
 .story-note{transform:rotate(-4deg);margin-top:27px}.story-note p{font-size:16px}
 .section-heading>p{font-size:16px}
 .feature{padding-inline:18px}.feature h3{font-size:27px}.feature-category{font-size:13px}.feature p.serum-subtitle{font-size:21px}
 .feature-top{gap:10px}.program-index{font-size:12px}.time-label{font-size:13px;padding:6px 8px}
 .scene-heading h3{font-size:29px}
 .event-scenes{gap:43px}.event-scene{grid-template-columns:1fr;gap:29px}
 .scene-photo,.scene-costume .scene-photo{width:86%;height:355px;margin:0 auto;border-width:7px}
 .scene-ghost .scene-photo,.scene-ghost .scene-description{order:initial}
 .scene-description,.scene-ghost .scene-description{padding:0 8px}
 .scene-description h4{font-size:28px;line-height:1.5}.scene-description h4 br{display:none}
 .scene-description h4 small{font-size:16px}.scene-overline{font-size:12px;margin-bottom:10px}
 .scene-description>p{font-size:16px;margin-top:12px}.scene-description>p br{display:none}
 .scene-description .scene-time{font-size:14px;padding-top:12px}
 .scene-photo-label{font-size:12px;top:8px;left:8px}.scene-word{font-size:45px;right:-8px}
 .scene-ghost .scene-word{font-size:50px}.scene-costume .scene-word{font-size:43px}
 .more-program-heading{display:flex;align-items:center;gap:4px}.more-program-heading h3{font-size:23px}.more-program-heading .mobile-only{display:block}
 .anatomy-motif{width:105px;height:135px;object-fit:contain}
 .show-strip h3{font-size:23px}.show-label{font-size:12px}.show-strip ul{font-size:16px}
 .booth-count>span{font-size:14px}.pumpkin-motif{width:140px;height:140px;margin-top:-90px;margin-bottom:0}
 .booth-count{padding-bottom:23px}.booth-count div{padding-top:8px}.booth-count strong{font-size:79px}
 .menu-paper{padding:23px 19px 23px 52px}.menu-no{left:15px}.menu-paper h3{font-size:21px}.menu-paper p{font-size:16px}.menu-en{font-size:12px}
 .flyer-copy .small-note{font-size:14px!important}.poster-button>span{font-size:14px}
 .support-heading h2{font-size:clamp(30px,8vw,40px);line-height:1.8}.support-heading>p{font-size:17px}
 .fund-title{display:block}.fund-title>span{font-size:12px}.fund-title h3{font-size:20px}
 .donation-paper{padding:26px 20px}.donation-intro p{font-size:16px}.donation-intro h3{font-size:27px}
 .donation-action .button{font-size:15px;padding:14px 12px}
 .steps h3{font-size:17px}.steps p{font-size:16px;line-height:1.85}
 .bank-panel{padding:24px 20px}.bank-heading .tiny-label{font-size:12px}
 .bank-details dd{font-size:16px}.copy-row{flex-wrap:wrap;gap:12px}
 .copy-row #bank-holder{font-size:16px}.copy-button{font-size:14px;padding-inline:12px}
 .bank-details #bank-account{font-size:29px}
 .access-grid{grid-template-columns:1fr;gap:25px}.access h2{font-size:35px}
 .access-date{font-size:clamp(75px,21vw,95px);gap:18px;margin-block:30px}.access-date i{font-size:25px;padding:6px 10px}
 .access-info dl>div{grid-template-columns:1fr;gap:8px;padding-block:21px}.access-info dd{font-size:18px}.access-info dd a{font-size:16px}
 .school-motif{width:235px;margin:28px auto 0}
 .publish-check summary{font-size:15px;line-height:1.8;gap:10px}.publish-check summary span{font-size:11px}.check-content>p{font-size:14px}
 .mobile-donate{left:15px;right:15px;padding:10px 15px;gap:3px;flex-direction:column;align-items:center;min-height:66px;line-height:1.5}
 .mobile-donate>span{font-size:12px;font-weight:700;color:var(--cream)}.mobile-donate>strong{font-size:16px}
 .footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
 .photo-credits,.photo-credits li{font-size:14px}.footer-bottom p,.footer-bottom a,.copyright{font-size:14px}
 .poster-toolbar{min-height:104px}.poster-toolbar h2{font-size:16px}.poster-toolbar button,.poster-toolbar a{font-size:13px;min-height:44px}
 .poster-scroll{height:calc(100% - 108px)}.toast{bottom:calc(97px + env(safe-area-inset-bottom));font-size:14px}
}
@media(max-width:370px){
 .masthead-info{grid-template-columns:1fr;gap:12px}.masthead-date>strong{font-size:54px}
 .masthead-time{border-left:0;padding:0;flex-direction:row;align-items:center;gap:12px}.masthead-time strong{font-size:24px}
 .masthead-place{grid-column:auto;grid-template-columns:30px 1fr}.masthead-place strong{font-size:14px}
 .theme-ribbon{font-size:15px}.masthead-message{font-size:14px}
 .feature h3{font-size:25px}.feature p.serum-subtitle{font-size:20px}
 .scene-photo,.scene-costume .scene-photo{height:310px;width:90%}
 .more-program-heading h3{font-size:21px}.anatomy-motif{width:88px}
 .pumpkin-motif{width:100px;height:100px;margin-top:-75px}
 .access-date{font-size:72px;gap:15px}.access-date i{font-size:23px;padding:5px 8px}
 .donation-action .button{font-size:14px}.donation-paper{padding-inline:17px}
 .poster-toolbar>div{gap:5px}.poster-toolbar button,.poster-toolbar a{font-size:12px;padding-inline:7px}
}
@media(max-width:600px){
 .brand,.brand small,.masthead-date>span,.masthead-date>b,.publish-check summary span{font-size:12px}
 .collage-main figcaption{font-size:12px;letter-spacing:.02em}
 .collage-stamp{width:138px;height:138px}
 .collage-stamp span,.collage-stamp small{font-size:10px}
}
/* 開閉アイコンも、太さのある＋／−に。回転によるはみ出しを防ぐ。 */
.plain-details summary span{position:relative;display:block;flex:none;width:26px;height:26px;font-size:0;line-height:1;transform:none}
.plain-details summary span:before,.plain-details summary span:after{content:'';position:absolute;left:4px;top:11px;width:18px;height:3px;background:currentColor;border-radius:1px}
.plain-details summary span:after{transform:rotate(90deg)}
.plain-details[open] summary span{transform:none}
.plain-details[open] summary span:after{display:none}

/* 正式名称を省略せず、長い日本語の見出しとして表示。 */
.haunted-house-title{display:block;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;font-weight:900;font-size:26px;line-height:1.65;letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:pretty}
@media(max-width:1100px){.haunted-house-title{font-size:24px}}
@media(max-width:600px){.haunted-house-title{font-size:27px}}
@media(max-width:370px){.haunted-house-title{font-size:24px}}

.haunted-house-title>span{display:block}

/* 2026-10-14：完成版チラシ・スマートフォンからの校正を反映。 */
.masthead-tape{width:auto;min-width:0;margin:0 0 7px;padding:14px 24px;transform:none;justify-content:center;flex-wrap:wrap;gap:10px 24px;white-space:normal;text-align:center}
.masthead-tape>span{max-width:100%}
.masthead-tape .tape-japanese{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:14px;line-height:1.8}
.tape-japanese>span{display:inline-block}
.tape-spark{width:22px;height:22px;flex:none;color:var(--ink)}
.scene-description>p br{display:block}
.scene-man .scene-time>span{display:block}
.show-performers{display:block;margin-top:3px;font-size:14px;line-height:1.8}
.schedule-columns dt{white-space:nowrap}
#indoor-schedule>div{grid-template-columns:8.5em minmax(0,1fr)}
.fund-title>span{white-space:normal;line-height:1.6}
@media(max-width:600px){
 .masthead-tape{flex-direction:column;gap:5px;padding:13px 18px}
 .masthead-tape>span:first-child{font-size:13px}
 .tape-spark{display:none}
 .scene-description>p br{display:block}
 .scene-description>p:not(.scene-time){text-wrap:initial}
}

/* 名称全体を同じ太字書体にし、旧サブセットにない「オジ」の細字混在を防ぐ。 */
.scene-man h4{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;font-weight:900}

/* 2026-10-14：確定した企画・入口案内・寄付方針。 */
.updated-display,.program-list h4,.stage-programs h4,.arrival-callout h3{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;font-weight:900}
.participation-tag{display:inline-block;border:2px solid var(--lime);padding:5px 12px;font-weight:800;color:var(--lime)}
.program-list article>div{min-width:0;flex:1}
.program-list .line-spark{font-size:30px;padding-left:0;flex:none}
.program-list .program-time{font-size:14px;color:var(--lime);font-weight:700;margin-top:12px}
.stage-programs{margin:0;min-width:0}
.show-strip{align-items:start}
.stage-programs li+li{margin-top:22px;padding-top:22px;border-top:1px solid #c97aea66}
.stage-programs h4{font-size:18px;line-height:1.8;margin:0}
.stage-programs p{font-size:15px;line-height:1.9;margin:8px 0 0}
.stage-programs .show-performers{color:#efdbf7;font-size:14px}
.donation-deadline{margin-top:24px;padding:17px 0;border-block:2px solid var(--ink)}
.donation-deadline>span{display:block;font-size:13px;font-weight:800;color:var(--purple)}
.donation-deadline>strong{display:block;font-size:20px;line-height:1.7}
.donation-deadline>small{display:block;font-size:14px;font-weight:500}
.arrival-callout{background:var(--yellow);padding:24px 22px;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--purple);margin:8px 5px 24px 0}
.arrival-callout h3{font-size:25px;line-height:1.65;margin-top:9px}
.arrival-callout p{font-size:16px;line-height:1.9;font-weight:500;margin:12px 0 0}
.arrival-links{display:grid;gap:14px}
.access-info dd .arrival-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:2px solid var(--ink);font-size:16px;text-decoration:none;line-height:1.7;overflow-wrap:anywhere;transition:transform .15s ease}
.arrival-link small,.arrival-link strong{display:block}
.access-info .arrival-link small{font-size:13px;font-weight:600}
.arrival-link strong{font-size:17px;font-weight:800}
.arrival-primary{background:var(--ink);color:var(--cream)}
.arrival-secondary{background:var(--cream);color:var(--ink)}
.arrival-link:hover{transform:translateY(-2px)}
.arrival-note{font-size:13px;line-height:1.8;font-weight:500;margin:12px 0 0}
@media(max-width:600px){
 .program-list{column-gap:22px}
 .show-strip{padding:24px 18px;column-gap:15px}
 .stage-programs h4{font-size:17px}
 .stage-programs p{font-size:16px}
 .arrival-callout{padding:20px 18px}
 .arrival-callout h3{font-size:24px}
 .access-info dd .arrival-link{padding:16px}
 .arrival-link strong{font-size:16px}
 .donation-deadline>strong{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.arrival-link{transition:none}.arrival-link:hover{transform:none}}
.stage-programs li{position:relative;padding-left:22px}
.show-strip .stage-programs li:before{position:absolute;left:0;top:5px;margin:0}
.show-strip .stage-programs li+li:before{top:27px}
@media(max-width:600px){
 .program-list .line-spark{position:absolute;right:0;top:20px;font-size:23px}
 .show-strip{grid-template-columns:minmax(0,1fr)}
 .show-strip .show-label{writing-mode:horizontal-tb;transform:none;width:100%;padding:0 0 12px;border-right:0;border-bottom:1px solid #c97aea66}
 .show-strip h3,.show-strip ul{grid-column:1;grid-row:auto}
}

/* 冒頭を「一日だけの魔法学校」からの招待に。 */
.magic-welcome{margin-top:25px}
.magic-welcome .masthead-message{margin-top:0;line-height:1.75;letter-spacing:.015em;color:var(--lime);font-size:22px;font-weight:900}
.magic-welcome .masthead-message>span,.magic-welcome .masthead-message>strong{display:block}
.magic-intro{font-size:16px;line-height:1.95;font-weight:500;margin:12px 0 0;max-width:37em;color:var(--cream)}
@media(max-width:600px){
 .magic-welcome{margin-top:23px}
 .magic-welcome .masthead-message{font-size:21px}
 .magic-intro{font-size:15px;line-height:1.9;margin-top:10px}
 .collage-main figcaption{font-size:12px;letter-spacing:.01em}
}
@media print{.magic-welcome .masthead-message,.magic-intro{color:var(--ink)}}

@media(max-width:600px){.access-welcome-line{font-size:clamp(26px,7.5vw,35px);white-space:nowrap}}

/* Match the visible size of both quiz marks across fonts and devices. */
.quiz-marks{display:inline-block;width:2.125em;height:1em;line-height:1;vertical-align:-.1em;margin-inline:.08em;white-space:nowrap}
.quiz-marks svg{display:block;width:100%;height:100%;overflow:visible}

/* Keep the two costumes fully visible, with pumpkin and date below the portrait. */
.photo-collage--custom{height:auto;aspect-ratio:1 / 1.4;width:100%;max-width:none;margin:24px 0 26px}
.photo-collage--custom .collage-main{top:3%;right:2%;width:92%;height:auto;padding:8px;transform:rotate(3deg)}
.photo-collage--custom .collage-main img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.photo-collage--custom .collage-main figcaption{font-size:12px;line-height:1.3;padding:10px 4px 4px 40%;letter-spacing:.04em;text-align:right}
.photo-collage--custom .collage-small{left:0;bottom:2%;width:37%;height:auto;padding:6px;transform:rotate(-8deg)}
.photo-collage--custom .collage-small img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 90%}
.photo-collage--custom .collage-small figcaption{position:static;font-size:17px;line-height:1.2;padding:7px 4px 2px;letter-spacing:0}
.photo-collage--custom .collage-star{top:-1%;left:-4%;font-size:clamp(70px,8vw,100px)}
.photo-collage--custom .collage-stamp{right:0;bottom:2%;width:140px;height:140px}
.photo-collage--custom .collage-scribble{left:47%;bottom:10%;font-size:70px}
@media(max-width:850px){
 .photo-collage--custom .collage-main figcaption{font-size:10px}
 .photo-collage--custom .collage-stamp{width:112px;height:112px}
 .photo-collage--custom .collage-small figcaption{font-size:14px}
}
@media(max-width:600px){
 .photo-collage--custom{max-width:440px;margin:28px 0 16px}
 .photo-collage--custom .collage-main figcaption{font-size:12px}
 .photo-collage--custom .collage-stamp{width:126px;height:126px}
 .photo-collage--custom .collage-stamp span,.photo-collage--custom .collage-stamp small{font-size:9px}
 .photo-collage--custom .collage-star{font-size:76px;left:-3%}
}
@media(max-width:370px){
 .photo-collage--custom .collage-stamp{width:110px;height:110px}
 .photo-collage--custom .collage-stamp span,.photo-collage--custom .collage-stamp small{font-size:8px}
 .photo-collage--custom .collage-small figcaption{font-size:12px}
}

/* Keep faces and classroom context visible in the replacement program photos. */
.scene-ghost .scene-photo,.scene-costume .scene-photo{height:auto}
.scene-ghost .scene-photo>img,.scene-costume .scene-photo>img{display:block;width:100%;height:auto;object-fit:contain}
.masthead-map-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:6px}
.masthead-place .masthead-map-links a{display:inline-flex;align-items:center;gap:5px;line-height:1.7}
.masthead-map-links .arrow-icon{flex:none}
@media(max-width:850px){.masthead-map-links{grid-column:2}}
@media(max-width:600px){.masthead-map-links{gap:7px}.masthead-place .masthead-map-links a{min-height:38px}}
