/* フェス告知専用。既存トップページへの適用は festival-entry 内だけ。 */
/* 20260911：日本時間で更新する開催カウントダウン。 */
.festival-page .festival-countdown{margin:20px 36px 0;padding:16px 12px 14px;border:3px double #ff4bd8;outline:1px dotted #fff000;outline-offset:4px;background:#000;text-align:center}
.festival-page .festival-countdown-heading{display:block;color:#75fff6;font:900 1.4rem/1.5 var(--mincho);letter-spacing:.25em}
.festival-page .festival-countdown-display{display:flex;align-items:baseline;justify-content:center;gap:20px;color:#fff000;font:900 2rem/1.2 var(--mincho);margin:4px 0 8px}
.festival-page .festival-countdown-display strong{color:#fff000;font:900 clamp(5rem,12vw,8rem)/1.1 var(--gothic);font-variant-numeric:tabular-nums;letter-spacing:.035em;text-shadow:3px 3px #071dcc}
.festival-page .festival-countdown-caption{display:block;color:#8eff00;font-size:.875rem}
.festival-page .festival-countdown[data-state='today'] strong,.festival-page .festival-countdown[data-state='after'] strong{font:900 clamp(1.4rem,5vw,3.5rem)/1.5 var(--mincho);letter-spacing:0}
@media(max-width:600px){.festival-page .festival-countdown{margin:16px 9px 0;padding:13px 6px}.festival-page .festival-countdown-heading{font-size:1.2rem}.festival-page .festival-countdown-display{gap:10px;font-size:1.4rem}.festival-page .festival-countdown-display strong{font-size:clamp(4rem,20vw,6rem)}.festival-page .festival-countdown-caption{font-size:.875rem}}
.festival-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 26px;padding:18px 22px;border:4px ridge #ddd;outline:1px solid #fff000;outline-offset:3px;background:#a90010;color:#fff000;text-decoration:none}
.festival-entry-tag{flex-shrink:0;color:#a90010;background:#fff000;padding:5px 12px;font:900 1.5rem var(--mincho);transform:rotate(-6deg)}
.festival-entry b{font-size:1rem}.festival-entry strong{display:block;font:900 clamp(1.3rem,3vw,2.2rem)/1.4 var(--mincho)}
.festival-entry-go{font-weight:bold;text-align:center}.festival-entry-go small{display:block;font:700 .8rem/1.5 'Times New Roman',serif}.festival-entry:hover{color:white;border-color:#ff4bd8}
.festival-page{--festival-red:#a90010;--festival-blue:#071dcc;--festival-yellow:#fff000;color-scheme:dark}
.festival-workbar a{font-size:.875rem;color:#75fff6}.festival-workbar .motion-toggle{font-size:.875rem;min-height:36px}
.festival-shell{max-width:1160px;padding-top:14px}.festival-masthead{margin-bottom:16px}.festival-masthead .masthead-line{font-size:.875rem;margin-inline:0}
.festival-nav{display:flex;justify-content:flex-end;gap:20px;border-top:1px solid #2847ff;padding-top:8px;font-size:.875rem}.festival-nav a{padding:4px 0;color:#75fff6}.festival-nav a:hover{color:#ff4bd8}
.festival-hero{border:3px double #75fff6;background:#000;padding:8px}
.festival-breaking{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--festival-red);color:#fff000;padding:8px 18px;font:900 1.125rem/1.5 var(--mincho)}
.festival-breaking>span:first-child{letter-spacing:.15em}.festival-breaking>span:last-child{color:#fff;font-size:1rem}
.festival-stage{position:relative;padding:24px 70px 20px;text-align:center;overflow:hidden;border-bottom:1px solid #3535c4}
.festival-overline{font:bold .875rem/1.7 'Times New Roman',serif;color:#75fff6;letter-spacing:.12em}
.festival-page h1{white-space:normal;font-size:inherit;padding:0;letter-spacing:0;-webkit-text-stroke:0;line-height:1.1}
.festival-band-title{display:block;font:900 clamp(4.7rem,12vw,9rem)/1.12 var(--mincho);letter-spacing:-.065em;padding-right:.065em;text-shadow:2px 2px white,5px 5px #001aff,7px 7px #001aff}
.festival-band-title .title-letter{-webkit-text-stroke:1px currentColor}
.festival-event-title{display:block;font:900 clamp(2.6rem,6.6vw,4.8rem)/1.35 var(--mincho);color:#fff000;text-shadow:3px 3px #b40018;letter-spacing:.025em;margin-top:12px}
.festival-event-title>span{color:#ff5a7e;display:inline-block;margin-left:4px;animation:festival-shout 2.8s steps(3,end) infinite}
.festival-lead{font:700 1.35rem/1.7 var(--mincho);color:#75fff6;letter-spacing:.3em;margin-top:12px}
.festival-side{position:absolute;left:22px;top:54px;writing-mode:vertical-rl;text-orientation:upright;font:900 1rem/1.7 var(--mincho);letter-spacing:.22em;color:#8eff00}
.festival-seal{position:absolute;right:22px;top:78px;transform:rotate(9deg);border:3px double #ff4bd8;padding:10px 7px;color:#ff4bd8;font:900 1.6rem/1.3 var(--mincho)}
.festival-hero-bottom{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;padding:22px 36px 20px;align-items:center}
.festival-date{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border:2px dotted #fff000;padding:13px 18px;color:#fff000;font-family:var(--gothic)}
.festival-year{font-size:1.15rem;align-self:start;margin-top:4px}.festival-date strong{font:700 clamp(2.7rem,5.2vw,4.1rem)/1.2 var(--gothic);white-space:nowrap;letter-spacing:-.04em}.festival-date strong>span{font-size:.8em}.festival-sunday{font-size:.875rem;font-weight:700;line-height:1.5}
.festival-place>span{font-size:.875rem;color:#75fff6}.festival-place>strong{display:block;color:#fff000;font:900 clamp(1.75rem,3.3vw,2.5rem)/1.4 var(--mincho)}.festival-place>p{font-size:1rem;margin-top:4px}
.festival-ticker{margin:0;border-color:#8eff00;font-size:1rem}.festival-ticker .ticker-text{gap:50px;padding-block:3px}
.festival-jump{display:flex;align-items:center;justify-content:center;gap:26px;margin:22px 0 30px}.festival-jump a{display:block;padding:9px 22px;border:3px outset #ddd;background:#071dcc;color:#fff000;font-weight:bold}.festival-jump p{color:#75fff6;font-size:1rem}
.festival-content{display:grid;grid-template-columns:1.05fr 1fr;gap:25px;align-items:stretch}.festival-content .section-title{padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.festival-content .section-title h2{font-size:1.6rem}.festival-content .section-title>span{font-size:.875rem}
.festival-about{border-color:#75fff6}.festival-about-copy{padding:26px 26px 12px}.festival-intro{font:900 2.1rem/1.4 var(--mincho);margin-bottom:16px}.festival-intro em{font-style:normal;color:#fff000}.festival-about-copy>p+p{margin-top:14px;font-size:1rem}
.festival-facts{margin:6px 26px 24px;font-size:1rem}.festival-facts>div{display:grid;grid-template-columns:70px 1fr;gap:12px;border-top:1px dotted #777;padding:9px 0}.festival-facts dt{color:#75fff6}.festival-facts dd{margin:0}
.festival-photo{margin:0;align-self:start;border:3px double #ff4bd8;padding:6px}.festival-photo .window-title{padding:3px 5px 8px;font-size:1rem}.festival-photo img{width:100%;height:auto;aspect-ratio:8/5;object-fit:fill;border:1px solid #75fff6}.festival-photo .photo-reception{font-size:2.1rem;padding:22px 6px}.festival-photo-note{padding:11px 6px;border-top:1px solid #ff4bd8;font-size:1rem;text-align:center;color:#75fff6}
.festival-lineup{border-color:#ff4bd8}.festival-title-pink{background:#79004d;color:#fff000}.festival-title-red{background:#a90010;color:#fff000}.festival-tickets{border-color:#fff000}
.festival-pending,.festival-ticket-body{position:relative;text-align:center;padding:30px 22px}.festival-pending h3,.festival-ticket-body h3{font:900 1.9rem/1.5 var(--mincho);margin:10px 0 12px}.festival-pending p,.festival-ticket-body p{font-size:1rem}
.festival-pending-stamp{display:inline-block;color:#ff4bd8;border:3px double currentColor;transform:rotate(-5deg);padding:4px 20px;font-size:1.2rem}.festival-ticket-status{display:inline-block;border:1px dotted #fff000;padding:4px 26px;color:#fff000}.festival-ticket-body h3{color:#fff000}.festival-bonus{border-top:1px dashed #777;padding-top:14px;margin-top:18px;color:#75fff6}
.festival-follow{margin:34px 0 0;border-block:1px dotted #8eff00;padding:26px 15px;display:flex;align-items:center;justify-content:center;gap:36px}.festival-follow p{color:#8eff00;font-size:1rem}.festival-follow a{background:#071dcc;border:4px ridge #ddd;color:#fff000;text-align:center;display:block;padding:8px 30px;text-decoration:none;transform:rotate(-1deg)}.festival-follow small{display:block;font-size:.875rem}.festival-follow strong{display:block;font:900 1.8rem/1.5 var(--mincho);text-decoration:underline}.festival-follow a:hover{color:#fff}
.festival-footer .thanks{color:#fff000;font-size:1.35rem}.festival-footer .footer-links{font-size:.875rem}.festival-page a:focus-visible{outline:3px solid #fff000;outline-offset:4px;box-shadow:none}
@keyframes festival-shout{0%,100%{transform:rotate(-6deg) translateY(2px)}50%{transform:rotate(4deg) translateY(-3px)}}
@media(max-width:800px){.festival-hero-bottom{padding:18px 12px;gap:18px}.festival-date{grid-template-columns:1fr auto;gap:4px 10px;padding:12px}.festival-year{grid-column:2;grid-row:1;margin:0}.festival-date strong{grid-row:1/3;grid-column:1}.festival-sunday{grid-column:2;grid-row:2}.festival-stage{padding-inline:45px}.festival-side{left:10px;font-size:.875rem}.festival-seal{right:10px;font-size:1.2rem}.festival-content{gap:18px}.festival-photo .photo-reception{font-size:1.6rem}.festival-follow{gap:20px}.festival-entry{gap:15px;padding:14px}.festival-entry-tag{padding:5px;font-size:1.15rem}}
@media(max-width:600px){.festival-shell{padding:10px 12px 0}.festival-workbar{padding:4px 12px;gap:8px;flex-wrap:wrap}.festival-workbar a{font-size:.875rem}.festival-masthead .masthead-line{justify-content:flex-start;font-size:.875rem}.festival-nav{justify-content:space-between;gap:10px;font-size:1rem;padding-top:6px}.festival-nav a{padding:8px 0}.festival-nav span{padding-top:8px}.festival-hero{padding:5px}.festival-breaking{padding:8px 6px;justify-content:center;flex-wrap:wrap;gap:2px 12px;font-size:1rem}.festival-breaking>span:last-child{display:none}.festival-breaking>p{font-size:.875rem}.festival-stage{padding:21px 3px 18px}.festival-overline{font-size:.75rem;letter-spacing:0}.festival-band-title{font-size:clamp(3.3rem,19vw,7rem);line-height:1.3;letter-spacing:-.09em;padding-right:.09em;text-shadow:1px 1px white,3px 3px #001aff,5px 5px #001aff}.festival-band-title .title-letter{-webkit-text-stroke-width:.5px}.festival-event-title{font-size:clamp(1.75rem,8.5vw,3rem);margin-top:6px;letter-spacing:0}.festival-lead{font-size:1.125rem;letter-spacing:.15em;margin-top:10px}.festival-side,.festival-seal{display:none}.festival-hero-bottom{grid-template-columns:1fr;gap:14px;padding:16px 8px;text-align:center}.festival-date{grid-template-columns:1fr auto 1fr;gap:12px;padding:13px 9px}.festival-year{grid-column:1;grid-row:1;align-self:center;font-size:1rem}.festival-date strong{grid-column:2;grid-row:1;font-size:3.2rem}.festival-sunday{grid-column:3;grid-row:1;font-size:.875rem}.festival-place>strong{font-size:2rem}.festival-place>p{font-size:1rem}.festival-jump{flex-direction:column;gap:12px;margin:20px 0 26px}.festival-jump a{width:100%;text-align:center}.festival-jump p{font-size:1rem}.festival-content{grid-template-columns:1fr;gap:22px}.festival-content .section-title{padding:10px 12px}.festival-content .section-title h2{font-size:1.4rem}.festival-content .section-title>span{font-size:.875rem}.festival-about-copy{padding:22px 20px 12px}.festival-intro{font-size:1.9rem}.festival-facts{margin-inline:20px}.festival-photo .photo-reception{font-size:1.8rem}.festival-follow{flex-direction:column;gap:16px;padding:24px 0}.festival-follow a{width:94%;padding:9px}.festival-follow strong{font-size:1.7rem}.festival-footer .thanks{font-size:1.15rem}.festival-entry{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px}.festival-entry b{font-size:.875rem}.festival-entry strong{font-size:1.3rem}.festival-entry-go{grid-column:1/-1;border-top:1px dotted #fff000;padding-top:6px}.festival-entry-go small{display:inline;margin-left:10px}}

/* トップの告知バナー内だけに、大きな開催カウントダウンを追加。 */
.festival-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.festival-entry .festival-countdown{grid-column:1/-1;grid-row:2;padding:12px 8px;border:2px dotted #fff000;background:#000;text-align:center}
.festival-entry .festival-countdown-heading{display:block;color:#75fff6;font:900 1.2rem/1.5 var(--mincho);letter-spacing:.15em}
.festival-entry .festival-countdown-display{display:flex;align-items:baseline;justify-content:center;gap:14px;color:#fff000;font:900 1.6rem/1.2 var(--mincho)}
.festival-entry .festival-countdown-display strong{color:#fff000;font:900 clamp(4rem,8vw,6rem)/1.15 var(--gothic);font-variant-numeric:tabular-nums;text-shadow:3px 3px #071dcc}
.festival-entry .festival-countdown[data-state='today'] strong,.festival-entry .festival-countdown[data-state='after'] strong{font:900 clamp(1.2rem,4vw,2.5rem)/1.5 var(--mincho);text-shadow:none}
@media(max-width:600px){.festival-entry{grid-template-columns:auto minmax(0,1fr)}.festival-entry .festival-countdown{padding:10px 6px}.festival-entry .festival-countdown-display{gap:9px;font-size:1.3rem}.festival-entry .festival-countdown-display strong{font-size:4rem}.festival-entry-go{grid-row:3}}

/* 20260912：マモノ出演告知の記事内だけに適用。 */
.mamono-announcement{margin:28px 0;border:4px double #ff00a8;outline:1px dotted #fff000;outline-offset:4px;background:#000}
.mamono-newsbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 18px;background:#79004d;color:#fff000;font:900 1.3rem/1.5 var(--mincho)}
.mamono-newsbar time{font:700 .875rem/1.5 var(--gothic);color:#fff}
.mamono-body{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center;padding:22px}
.mamono-photo{display:block;width:100%;height:auto;aspect-ratio:2.4;object-fit:fill;border:1px solid #ff00a8}
.mamono-logo{position:relative;overflow:hidden;aspect-ratio:3;background:#fff;max-width:380px;margin:0 auto 18px}
.mamono-logo img{position:absolute;left:0;top:-106%;width:100%;height:262%;object-fit:fill;max-width:none}
.mamono-copy{min-width:0}
.mamono-copy h2{color:#ff4bd8;font:900 clamp(2rem,3.8vw,3rem)/1.3 var(--mincho);margin-bottom:16px}
.mamono-copy h2 span{display:inline-block;color:#fff000;font-size:.65em}
.mamono-copy p{font-size:1rem;line-height:1.9}
.mamono-copy p+p{margin-top:12px}
@media(max-width:700px){.mamono-body{grid-template-columns:minmax(0,1fr);padding:14px;gap:20px}.mamono-newsbar{padding:9px 12px;font-size:1.1rem}.mamono-copy h2{text-align:center}.mamono-logo{max-width:330px}}

/* 20260912_4：フェスのページだけを再構成。トップのバナーには適用しない。 */
.festival-page .festival-shell{max-width:1160px}
.festival-page .festival-masthead{margin-bottom:14px}
.festival-page .festival-nav{justify-content:center;gap:18px;font-weight:700;padding:7px 0;border-bottom:1px dotted #75fff6}
.festival-page .festival-nav a{padding:5px 8px}
.festival-page .festival-hero{border:4px double #fff000;outline:1px solid #79004d;outline-offset:4px;padding:7px}
.festival-page .festival-stage{padding:20px 65px 23px;border-bottom:1px dotted #ff4bd8}
.festival-page .festival-overline{color:#8eff00;font-size:.875rem;letter-spacing:.16em;margin-bottom:14px}
.festival-page h1{text-shadow:none}
.festival-page .festival-presenter{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 18px}
.festival-page .festival-band-title{display:inline-block;font:900 2.4rem/1.25 var(--mincho);letter-spacing:.02em;padding:0;text-shadow:2px 2px #071dcc}
.festival-page .festival-band-title .title-letter{-webkit-text-stroke:0}
.festival-page .festival-host-label{display:inline-block;border-block:1px dotted #75fff6;color:#75fff6;font:900 1.4rem/1.7 var(--gothic);letter-spacing:.12em}
.festival-page .festival-event-title{font:900 clamp(3.5rem,7.8vw,6.1rem)/1.1 var(--mincho);letter-spacing:-.045em;color:#fff000;text-shadow:3px 3px #a90010,5px 5px #071dcc;margin:0}
.festival-page .festival-event-title .festival-title-year{display:block;font:900 .7em/1.15 var(--gothic);letter-spacing:.13em;color:#ff4bd8;margin:9px 0 0;animation:none;text-shadow:2px 2px #071dcc}
.festival-page .festival-lead{font:900 1.25rem/1.7 var(--mincho);letter-spacing:.08em;color:#fff;margin-top:15px}
.festival-page .festival-hero-message{color:#75fff6;font-size:.95rem;line-height:1.7;margin-top:6px}
.festival-page .festival-side{top:94px;left:19px}
.festival-page .festival-seal{top:109px;right:18px;font-size:1.4rem}
.festival-page .festival-essentials{display:grid;grid-template-columns:1.05fr 1fr .9fr;align-items:center;gap:18px;padding:18px 20px}
.festival-page .festival-essentials>*{min-width:0}
.festival-page .festival-info-label{display:block;font-size:.875rem;color:#75fff6;margin-bottom:5px}
.festival-page .festival-date{grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;background:#000}
.festival-page .festival-year{grid-column:2;grid-row:1;align-self:end;margin:0;font-size:.875rem}
.festival-page .festival-date strong{grid-column:1;grid-row:1/3;font-size:3.2rem}
.festival-page .festival-sunday{grid-column:2;grid-row:2;font-size:.8rem}
.festival-page .festival-place>strong{font-size:2rem;line-height:1.5}
.festival-page .festival-place>p{font-size:.875rem;line-height:1.6}
.festival-page .festival-essentials .festival-countdown{margin:0;padding:8px;border:2px dotted #ff4bd8;outline:none}
.festival-page .festival-countdown-heading{font-size:1rem;letter-spacing:.1em}
.festival-page .festival-countdown-display{gap:9px;font-size:1.2rem;margin:0}
.festival-page .festival-countdown-display strong{font-size:4.2rem;line-height:1.1;letter-spacing:0}
.festival-page .festival-countdown-caption{font-size:.65rem;margin-top:4px}
.festival-page .festival-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 20px 18px}
.festival-page .festival-hero-actions a{display:block;text-align:center;padding:10px 8px;border:4px outset #ddd;background:#79004d;color:#fff000;text-decoration:none}
.festival-page .festival-hero-actions a+a{background:#071dcc}
.festival-page .festival-hero-actions small{display:block;font-size:.875rem;color:#fff}
.festival-page .festival-hero-actions strong{font:900 1.35rem/1.6 var(--mincho);text-decoration:underline}
.festival-page .festival-hero-actions a:hover{color:#fff;border-color:#ff4bd8}
.festival-page .festival-ticker{font-size:.875rem}
.festival-page .mamono-announcement{margin-top:28px}
.festival-page .festival-content{align-items:start}
.festival-page .festival-content .section-title{flex-wrap:wrap;gap:5px 12px}
.festival-page .festival-content .section-title h2{font-size:1.4rem}
.festival-page .festival-about-copy strong{color:#fff000}
.festival-page .festival-pending{padding:20px}
.festival-page .festival-pending h3{font-size:1.45rem;color:#fff000;margin:0 0 18px}
.festival-page .festival-reveal-schedule{list-style:none;margin:0;padding:0;text-align:left}
.festival-page .festival-reveal-schedule li{display:grid;grid-template-columns:3.3em minmax(0,1fr);border-top:1px dotted #555;padding:9px 0;font-size:.95rem;line-height:1.7}
.festival-page .festival-reveal-schedule time{color:#75fff6;font-weight:700;white-space:nowrap}
.festival-page .festival-reveal-more{color:#ff4bd8;margin-top:12px;letter-spacing:.1em}
@media(max-width:850px){
 .festival-page .festival-essentials{grid-template-columns:1fr 1fr;gap:15px;padding:16px}
 .festival-page .festival-essentials .festival-countdown{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px}
 .festival-page .festival-countdown-caption{margin:0}
 .festival-page .festival-countdown-display strong{font-size:3rem}
 .festival-page .festival-stage{padding-inline:35px}
 .festival-page .festival-side{left:9px;font-size:.8rem}
 .festival-page .festival-seal{right:8px;font-size:1rem;padding:6px}
}
@media(max-width:600px){
 .festival-page .festival-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;font-size:.875rem;text-align:center}
 .festival-page .festival-nav>span{display:none}
 .festival-page .festival-nav a{border:1px dotted #2847ff;padding:5px 3px}
 .festival-page .festival-stage{padding:18px 4px}
 .festival-page .festival-overline{font-size:.7rem;letter-spacing:.05em;margin-bottom:12px}
 .festival-page .festival-presenter{gap:9px;margin-bottom:18px}
 .festival-page .festival-band-title{font-size:1.9rem;letter-spacing:0}
 .festival-page .festival-host-label{font-size:1rem;letter-spacing:0}
 .festival-page .festival-event-title{font-size:clamp(2.1rem,10.7vw,4rem);letter-spacing:-.06em;text-shadow:2px 2px #a90010,3px 3px #071dcc}
 .festival-page .festival-event-title .festival-title-year{font-size:.9em;margin-top:9px}
 .festival-page .festival-lead{font-size:1rem;letter-spacing:0}
 .festival-page .festival-hero-message{font-size:.8rem}
 .festival-page .festival-essentials{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 8px;text-align:center}
 .festival-page .festival-date{grid-template-columns:1fr auto 1fr;gap:10px;padding:7px}
 .festival-page .festival-year{grid-column:1;grid-row:1;align-self:center}
 .festival-page .festival-date strong{grid-column:2;grid-row:1;font-size:2.8rem}
 .festival-page .festival-sunday{grid-column:3;grid-row:1;font-size:.75rem}
 .festival-page .festival-place>strong{font-size:1.85rem}
 .festival-page .festival-countdown-caption{display:none}
 .festival-page .festival-hero-actions{gap:8px;padding:0 8px 14px}
 .festival-page .festival-hero-actions a{padding:8px 4px;border-width:3px}
 .festival-page .festival-hero-actions small{font-size:.65rem}
 .festival-page .festival-hero-actions strong{font-size:1rem;line-height:1.5}
 .festival-page .festival-jump{gap:10px}
 .festival-page .festival-jump p{font-size:.875rem;text-align:center}
 .festival-page .festival-content .section-title h2{font-size:1.25rem}
 .festival-page .festival-pending{padding:18px 12px}
 .festival-page .festival-pending h3{font-size:1.2rem}
 .festival-page .festival-reveal-schedule li{font-size:.875rem}
}

/* 20260912_5：フェス内の名称配色と由来のコーナー。 */
.festival-page .festival-band-name,.festival-page .reception-name i{color:#ffff00}
.festival-page .festival-event-title .festival-color-letter{display:inline;font:inherit;letter-spacing:inherit;margin:0;animation:none;text-shadow:inherit}
.festival-page .festival-history{margin:0 0 24px}
.festival-page .festival-history .section-title{flex-wrap:wrap;gap:6px 16px}
.festival-page .festival-history .section-title h2{font-size:1.4rem}
.festival-page .festival-history-copy{padding:20px;line-height:1.9}
.festival-page .festival-history-copy p+p{margin-top:12px}
.festival-page .festival-history-copy strong{color:#75fff6}

/* 20260915_test：タイトルの各辺が単色で左回りに切り替わるネオン枠 */
.festival-page .festival-hero{border:10px solid;border-color:#ff0000 #ffff00 #00ff00 #00ffff;box-shadow:0 0 8px #ff00ff80;animation:festival-neon-sides 3.2s steps(1,end) infinite}
@keyframes festival-neon-sides{
 0%,100%{border-color:#ff0000 #ffff00 #00ff00 #00ffff}
 25%{border-color:#ffff00 #00ff00 #00ffff #ff0000}
 50%{border-color:#00ff00 #00ffff #ff0000 #ffff00}
 75%{border-color:#00ffff #ff0000 #ffff00 #00ff00}
}
@media(prefers-reduced-motion:reduce){.festival-page .festival-hero{animation:none}}
