/* Migration-owned controls and runtime-free rendering adjustments. */
:root { --wix-ads-height: 0px; --wix-ads-top-height: 0px; }
body { margin: 0; }
template, [hidden] { display: none !important; }
wix-image, wix-bg-image { display: block; }
/* Wix leaves these lists hidden until its removed custom-element runtime starts.
   The exported children already have their layout; reveal the static content. */
fluid-columns-repeater { visibility: visible !important; }
img { max-width: 100%; }
img[data-animate-blur], [data-animate-blur] img { filter: none !important; }
#SCROLL_TO_TOP, #SCROLL_TO_BOTTOM { display: none; }
#SITE_HEADER { position: sticky; top: 0; z-index: 100; }
a:focus-visible, summary:focus-visible { outline: 3px solid #e97700; outline-offset: 4px; }
.local-skip { position: fixed; top: -80px; left: 8px; z-index: 10002; padding: 10px; background: white; color: #152536; }
.local-skip:focus { top: 8px; }
#local-menu { position: relative; color: #252c37; font: 16px/1.6 Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; }
#local-menu summary { list-style: none; cursor: pointer; width: 38px; height: 38px; display: grid; place-items: center; }
#local-menu summary::-webkit-details-marker { display: none; }
#local-menu summary::before { content: '☰'; font-size: 30px; line-height: 1; }
#local-menu[open] summary::before { content: '×'; font-size: 40px; }
#local-menu summary span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#local-menu[open] { position: fixed; inset: 0; width: 320px; height: 100vh; background: #d9f2fa; z-index: 10001; }
#local-menu[open] summary { position: absolute; right: 12px; top: 13px; }
#local-menu nav { display: flex; flex-direction: column; padding: 75px 25px 35px; gap: 20px; text-align: center; }
#local-menu nav a { color: inherit; text-decoration: none; }
#local-menu nav a:hover { text-decoration: underline; }
.device-mobile-optimized { min-width: 320px !important; }
.revised-brand-english { display: block; font: 12px/1.4 Arial, sans-serif; letter-spacing: 0; }
.local-member-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(403px, 100%), 1fr)); gap: 36px 24px; align-items: start; justify-items: center; }
@media (min-width: 601px) {
  #SITE_HEADER { min-width: 0 !important; height: auto !important; }
  #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] { min-height: 110px; grid-template-rows: minmax(66px, auto) auto !important; }
  #SITE_HEADER #comp-mcbqi9vm { grid-area: 1 / 1 / 2 / 2 !important; left: 0 !important; margin: 12px 0 10px 16px !important; }
  #SITE_HEADER #comp-j5s2upmo { grid-area: 1 / 1 / 2 / 2 !important; left: 0 !important; margin: 12px 0 10px 84px !important; }
  #SITE_HEADER div:has(> nav.wixui-horizontal-menu) { grid-area: 2 / 1 / 3 / 2 !important; width: calc(100% - 32px) !important; min-width: 0 !important; left: 0 !important; margin: 0 16px 8px !important; justify-self: stretch !important; }
  #SITE_HEADER nav.wixui-horizontal-menu { width: 100% !important; }
  #SITE_HEADER nav.wixui-horizontal-menu > ul { width: 100% !important; margin: 0 !important; flex-wrap: wrap !important; justify-content: flex-end !important; gap: 4px 8px !important; }
  #SITE_HEADER nav.wixui-horizontal-menu li { margin: 0 !important; }
  #SITE_HEADER nav.wixui-horizontal-menu a { padding: 8px 10px !important; }
}
.revised-prefecture-section { display: block !important; }
.revised-prefecture-name { width: min(700px, calc(100% - 40px)) !important; justify-self: center !important; left: 0 !important; margin: 0 auto 16px !important; }
.revised-prefecture-name h6 { font-size: 28px !important; line-height: 1.45 !important; }
.subsidy-section { position: relative; grid-column: 1 / -1; width: 100%; padding: 48px max(24px, calc((100% - 980px) / 2)); box-sizing: border-box; background: #fafafa; color: #252c37; font: 16px/1.9 Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; }
.subsidy-section h2 { font-size: 26px; line-height: 1.6; margin: 0 0 24px; }
.subsidy-section p { margin: 0 0 20px; }
.subsidy-section a { color: #164d81; text-decoration: underline; overflow-wrap: anywhere; }
.device-mobile-optimized .revised-prefecture-name h6 { font-size: 19px !important; }
.device-mobile-optimized .subsidy-section { padding: 28px 20px; font-size: 14px; }
.device-mobile-optimized .subsidy-section h2 { font-size: 20px; }
/* Calendar page styling now lives in /calendar.css (2026-09-15 design). */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
/* Movie announcement sits above, not inside, the preserved absolute-positioned cards. */
.movie-news { box-sizing: border-box; padding: 20px; margin: 0 0 24px; background: white; color: #253a4a; font: 16px/1.8 Arial, sans-serif; }
.movie-news p { margin: 0 0 8px; }
.movie-news a { color: #253a4a; text-decoration: underline; text-underline-offset: 4px; }
.movie-news .movie-news-button { display: inline-block; box-sizing: border-box; padding: 13px 20px; border: 1px solid #253a4a; border-radius: 4px; background: #253a4a; color: #fff; font-weight: 600; line-height: 1.5; text-decoration: none; }
.movie-news .movie-news-button:hover { background: #fff2e5; color: #253a4a; }
.movie-news .movie-news-button:focus-visible { outline: 3px solid #bd5600; outline-offset: 4px; }
.reconciled-news-list { display: flex !important; flex-direction: column; align-items: center; }
.reconciled-news-list > .movie-news { width: calc(100% - 40px); max-width: 980px; }
.reconciled-news-list > .wixui-repeater { align-self: center !important; margin-left: 0 !important; margin-right: 0 !important; }

/* T3: replace desktop navigation remnants positioned beyond the mobile canvas
   with an accessible mobile menu. Source captures and desktop layouts stay intact. */
.device-mobile-optimized :is(#comp-mjc87qyn1,#comp-mjc87qyx5,#comp-mjc87qyl5,#comp-mjc87qyw1,#comp-mjc87qyp3,#comp-mjc864r3,#comp-mjc864r41,#comp-mjc864r67,#comp-mjc864r52,#comp-mjc864r81,#comp-mjc864r01,#comp-mjc864r14){display:none!important}
.device-mobile-optimized #comp-mgg93c04{width:250px!important;max-width:250px!important}
.device-mobile-optimized #comp-mgg93c04 p{white-space:normal!important;overflow-wrap:anywhere}
.revised-brand-english{white-space:nowrap}
.gen-mobile-menu{position:fixed;top:12px;right:12px;z-index:100000;max-width:280px;font:13px/1.6 system-ui,sans-serif;color:#fff}
.gen-mobile-menu summary{padding:7px 10px;background:#28272bed;border:1px solid #eee;border-radius:5px;cursor:pointer;list-style:none;text-align:right}
.gen-mobile-menu summary:focus-visible,.gen-mobile-menu a:focus-visible{outline:3px solid #ffda00;outline-offset:2px}
.gen-mobile-menu nav{position:absolute;right:0;top:100%;width:270px;max-height:75vh;overflow:auto;padding:12px;background:#28272b;border:1px solid #ddd;border-radius:5px;box-sizing:border-box}
.gen-mobile-menu nav a{display:block;padding:8px 4px;color:#fff;text-decoration:underline;white-space:normal}
.gen-mobile-menu nav p{font:11px/1.6 system-ui,sans-serif;color:#eee;border-top:1px solid #666;padding-top:12px}
