:root{--site-content-width: 1440px;--site-gutter: max(20px, 6vw);--site-content-inset: max(var(--site-gutter), calc((100% - var(--site-content-width)) / 2));--site-body-size: 16px;--site-small-size: 14px;--site-heading-size: clamp(24px, 3vw, 36px);--site-section-space: clamp(48px, 6vw, 96px)}body{font-size:var(--site-body-size)}header.site-chrome-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px;padding:20px var(--site-content-inset);border-bottom:1px solid #d6dfd5;background:#f6f8f3}.site-chrome-brand{display:block;flex:none}.site-chrome-logo{position:relative;display:block;width:210px;aspect-ratio:1280/430;overflow:hidden;mix-blend-mode:multiply}.site-chrome-logo img{position:absolute;width:138.59375%;height:auto;left:-20.3125%;top:-50%}header.site-chrome-header nav.site-chrome-nav{display:flex;align-items:center;gap:24px}header.site-chrome-header nav.site-chrome-nav a{font-size:14px;font-weight:600;text-decoration:none;line-height:1.8}.site-chrome-contact{padding-left:24px;border-left:1px solid #d6dfd5}.site-chrome-contact span{margin-left:12px}.site-chrome-language{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}.site-chrome-language a{padding:8px 0;text-decoration:none}.site-chrome-language [aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:5px}.site-chrome-menu{display:none}footer.site-chrome-footer{display:block;padding:40px var(--site-content-inset);border-top:1px solid #d0ddca;background:#edf2e8;text-align:center;line-height:1.8}footer.site-chrome-footer>p{margin:0 0 24px;font-size:20px;font-weight:600;color:#245b3c;line-height:2;text-wrap:balance}footer.site-chrome-footer nav.site-chrome-footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px}footer.site-chrome-footer nav.site-chrome-footer-links a{font-size:14px;font-weight:400;text-underline-offset:4px}footer.site-chrome-footer>small{display:block;margin-top:24px;font-size:14px;color:#637469;line-height:1.8}.footer-play-section{padding:35px var(--site-content-inset);background:#f6f8f3}.footer-play-section .footer-farewell{margin:0;font-size:21px;font-weight:600;color:#245b3c}@media(min-width:701px)and (max-width:1100px){header.site-chrome-header{flex-wrap:wrap;gap:12px 24px}header.site-chrome-header nav.site-chrome-nav{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap}}@media(max-width:700px){header.site-chrome-header{flex-wrap:wrap;gap:10px;min-height:110px;padding-block:15px}.site-chrome-logo{width:185px}.site-chrome-menu{display:block;margin-left:auto;padding:10px 0;border:0;background:transparent;font:inherit;font-size:14px;cursor:pointer}.site-chrome-language{justify-content:flex-end;flex-basis:100%}header.site-chrome-header nav.site-chrome-nav{display:none;order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:12px}header.site-chrome-header nav.site-chrome-nav.is-open{display:flex}header.site-chrome-header nav.site-chrome-nav a{padding:12px 0;border-top:1px solid #d6dfd5}.site-chrome-contact{border-left:0}footer.site-chrome-footer nav.site-chrome-footer-links{flex-direction:column;gap:14px}footer.site-chrome-footer>p{font-size:18px}footer.site-chrome-footer>small{overflow-wrap:break-word}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f6f8f3;color:#20392d;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #087848;outline-offset:6px}::selection{background:#cce8d5}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Fixed shared header, adopted 2026-10-17. */
header.site-chrome-header{position:sticky;top:0;z-index:10}
html:root{scroll-padding-top:130px}
@media(min-width:701px) and (max-width:1100px){html:root{scroll-padding-top:220px}}
@media(max-width:700px){html:root{scroll-padding-top:160px}}
.skip:focus{position:fixed;z-index:20}
@media(max-width:700px){header.site-chrome-header nav.site-chrome-nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 145px);max-height:calc(100svh - 145px);overflow-y:auto;padding:12px var(--site-content-inset) 16px;background:#f6f8f3;border-bottom:1px solid #d6dfd5}}
