/* Keep the initial source hidden until the saved language is applied. */
html[data-pso-language-loading] body{visibility:hidden}
/* A compact navigation control, using the site's monochrome palette. */
.pso-language{position:relative;flex:0 0 auto;color:var(--ink,#161616);font-family:inherit}
.pso-language [hidden]{display:none!important}
.pso-language select{font:inherit;font-size:13px;min-height:44px;border:1px solid #ddd;background:#fff;padding:8px}
.pso-language-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-width:80px;min-height:44px;padding:10px 8px;border:0;border-radius:2px;background:transparent;color:inherit;font-family:inherit;font-size:12px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s}
.pso-language-trigger>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.35;flex:none}
.pso-language-trigger .pso-language-chevron{width:10px;height:10px;stroke-width:1.3;transition:transform .15s}
.pso-language-code{font-family:'PSO Web Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:.05em}
.pso-language-trigger:hover,.pso-language-trigger[aria-expanded="true"]{background:#f3f3f1}
.pso-language-trigger[aria-expanded="true"] .pso-language-chevron{transform:rotate(180deg)}
.pso-language-trigger:focus-visible,.pso-language-menu button:focus-visible{outline:2px solid var(--ink,#161616);outline-offset:2px}
.pso-language-trigger[aria-busy="true"] .pso-language-code{opacity:.5}
.pso-language-menu{position:absolute;z-index:110;right:0;top:calc(100% + 10px);width:176px;max-width:calc(100vw - 32px);padding:10px 8px 8px;background:#fff;border:1px solid #e4e4e0;box-shadow:0 8px 24px #0000000d;color:#191919}
.pso-language-menu-label{margin:2px 12px 6px;color:#777;font:500 10px/1.5 'PSO Web Sans',sans-serif;letter-spacing:.12em}
.pso-language-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:0;color:inherit;background:transparent;font-family:inherit;font-size:14px;line-height:1.5;text-align:left;cursor:pointer}
.pso-language-menu button:hover,.pso-language-menu button:focus-visible{background:#f5f5f3}
.pso-language-menu button[aria-checked="true"]{font-weight:600}
.pso-language-check{font-size:12px;color:var(--red,#d81f2a);visibility:hidden}
.pso-language-menu button[aria-checked="true"] .pso-language-check{visibility:visible}
.pso-translation-message{position:fixed;right:max(24px,calc((100vw - 1280px)/2));bottom:20px;z-index:90;width:max-content;max-width:min(360px,calc(100vw - 32px));padding:13px 16px;background:#fff;color:#252525;border:1px solid #d8d8d8;box-shadow:0 6px 24px #00000010;font:400 13px/1.65 'PSO Web Sans',sans-serif;overflow-wrap:anywhere}
.pso-translation-message[hidden],.pso-translation-credit[hidden]{display:none}.pso-translation-message[data-state="error"]{border-left:3px solid #bd252b}
.pso-translation-message[data-state="done"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;box-shadow:none}
.pso-translation-message button{display:inline-block;min-height:44px;padding:6px 8px;margin:0 0 0 8px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pso-translation-message button:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.pso-translation-credit{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px var(--gutter,24px);border-top:1px solid #ddd;color:#545454;background:#f7f7f5;font:400 12px/1.6 'PSO Web Sans',sans-serif}
.pso-translation-credit a{text-decoration:underline;text-underline-offset:3px}.pso-translation-credit button{min-height:44px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pso-translation-credit details{flex-basis:100%;max-width:900px}.pso-translation-credit summary{cursor:pointer;min-height:32px;padding-block:6px}.pso-translation-credit details p{margin:8px 0;line-height:1.8}.pso-provider-badge{display:inline-flex;align-items:center;flex:none;width:122px;height:16px;line-height:1}.pso-provider-badge[hidden]{display:none}.pso-provider-badge img{width:122px;height:16px;max-width:none;object-fit:contain;display:block}
html[lang="en"] .desktop-nav{gap:20px}html[lang="en"] .header-inner{gap:24px}html[lang="en"] .desktop-nav a{white-space:nowrap;font-size:14px}html[lang="en"] .header-join{font-size:14px}html[lang="en"] .brand-name{max-width:160px;font-size:12px}
html[lang="en"] .hero h1{font-size:clamp(2.6rem,4.3vw,4rem);line-height:1.16;letter-spacing:-.035em;max-width:1050px}
html[lang="ja"] .hero h1{font-size:clamp(2.4rem,4.6vw,4.25rem);line-height:1.35;letter-spacing:-.02em}
html[lang="en"] main,html[lang="ja"] main{overflow-wrap:anywhere}html[lang="en"] .section-title{letter-spacing:-.03em}html[lang="ja"] main{word-break:normal;line-break:strict}
html[lang="ja"] :is(h1,h2,h3,p,dd,a,button,summary,li,textarea,.notice-title,.notice-period,.application-dates,.news-check>span):not(.article-body *){word-break:normal;line-break:strict}
@media(max-width:1180px) and (min-width:901px){.header-inner{gap:18px}.desktop-nav{gap:18px}html[lang="en"] .desktop-nav{gap:12px}html[lang="en"] .header-inner{gap:16px}html[lang="en"] .brand-name{display:none}}
@media(max-width:900px){.pso-language{margin-left:auto}.header-inner .menu-toggle{margin-left:0}.pso-translation-message{right:16px}html[lang="en"] .header-inner{gap:16px}}
@media(max-width:480px){.header-inner{gap:10px}.header-inner .brand-name{display:none}.pso-language-trigger{min-width:72px;gap:6px}html[lang="en"] .header-inner{gap:10px}html[lang="en"] .hero h1{font-size:clamp(2.3rem,9.5vw,3.25rem)}html[lang="ja"] .hero h1{font-size:clamp(1.25rem,7.2vw,2.75rem);line-height:1.4;word-break:normal;overflow-wrap:normal;line-break:strict}}
@media(prefers-reduced-motion:reduce){.pso-language-trigger,.pso-language-chevron,.pso-translation-message{transition:none}}
@media(max-width:360px){html[lang="ja"] .mobile-quick a{font-size:13px;padding-inline:6px}}
/* Keep translated concert fact labels readable on narrow screens. */
@media(max-width:900px){
  .pso-translation-message{bottom:calc(76px + env(safe-area-inset-bottom))}
  html[lang="en"] .filter-tabs button{padding-inline:8px;white-space:nowrap;font-size:14px}
  html[lang="en"] .page-description br{display:revert}
  html[lang="en"] .concert-detail-grid dl>div,html[lang="ja"] .concert-detail-grid dl>div{grid-template-columns:84px minmax(0,1fr)}
  html[lang="en"] .concert-detail-grid dt,html[lang="ja"] .concert-detail-grid dt{overflow-wrap:normal;word-break:normal}
}
