@font-face{font-family:"ULALACUBE UD";src:url("../ud-fonts/BIZUDPGothic-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"ULALACUBE UD";src:url("../ud-fonts/BIZUDPGothic-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--green:#024638}
body,button,input,select,textarea{font-family:"ULALACUBE UD","BIZ UDPGothic","BIZ UDPゴシック",sans-serif}
.shell{width:min(960px,calc(100% - 64px));max-width:none;padding:0;margin:0 auto}
.site-header{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:28px;padding:34px 0 28px;border-bottom:1px solid var(--line)}
.site-header .brand{display:block}.site-header .brand img{display:block;width:120px;height:auto}
.site-header .main-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 44px;gap:10px;align-items:center;margin:0;font-size:14px}
.site-header .nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:76px;padding:10px 5px;border:2px solid #bfd1c5;border-radius:8px;text-decoration:none;color:var(--green);background:#fff;transition:background .15s,border-color .15s}
.site-header .nav-en{font-size:12px;line-height:1.3;font-weight:700;letter-spacing:0;white-space:nowrap}
.site-header .nav-ja{font-size:11px;line-height:1.5;margin-top:7px;font-weight:400;white-space:nowrap}
.site-header .nav-button:hover{background:#edf5ef;border-color:var(--green);text-decoration:none}
.site-header .nav-button.is-current{background:var(--green);border-color:var(--green);color:white}
.site-header .nav-button.is-current:hover{background:#01372c}
.site-header .x-logo-link{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px}
.site-header .x-logo-link img{display:block;width:28px;height:28px;object-fit:contain}
.site-header .x-logo-link:hover{background:#edf5ef}
button:hover,.button:hover{background:#01372c}.secondary:hover{background:#eef6f0}
@media(min-width:701px) and (max-width:980px){
.shell{width:calc(100% - 40px)}.site-header{gap:18px;grid-template-columns:100px minmax(0,1fr)}.site-header .brand img{width:100px}
.site-header .main-nav{gap:6px}.site-header .nav-en{font-size:10px}.site-header .nav-ja{font-size:9px}
}
@media(max-width:700px){
.shell{width:calc(100% - 36px);padding:0}.site-header{display:block;padding:24px 0}
.site-header .brand img{width:120px;margin:0 auto 23px}
.site-header .main-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.site-header .nav-button{min-height:65px;padding:10px 4px}
.site-header .nav-en{font-size:10px}.site-header .nav-ja{font-size:10px;margin-top:5px}
.site-header .x-logo-link{justify-self:center}
}
@media(prefers-reduced-motion:reduce){.site-header *{transition:none!important}}

/* Mobile header: logo and X above five square navigation buttons. */
.site-header .nav-icon{display:none}
@media(max-width:700px){
.site-header{position:relative;display:block;padding:16px 0 18px}
.site-header .brand{width:100px;margin:0 0 14px}
.site-header .brand img{width:100%;height:auto;margin:0}
.site-header .main-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;align-items:stretch}
.site-header .nav-button{min-width:0;min-height:0;aspect-ratio:1/1;padding:5px 1px;border-radius:8px;gap:5px;box-shadow:none}
.site-header .nav-en{display:none}
.site-header .nav-icon{display:block;flex-shrink:0;width:clamp(24px,7.8vw,36px);height:clamp(24px,7.8vw,36px)}
.site-header .nav-ja{font-size:clamp(8px,2.35vw,11px);line-height:1.25;margin:0;letter-spacing:-.025em;white-space:nowrap}
.site-header .x-logo-link{position:absolute;top:23px;right:0;width:44px;height:44px;min-width:44px;min-height:44px;background:#000;border-radius:7px}
.site-header .x-logo-link img{width:25px;height:25px;filter:invert(1)}
.site-header .x-logo-link:hover{background:#23312c}
}
