.hsp-language{display:flex;flex:none;align-items:center;gap:10px;margin-left:auto;font:600 12px/1.3 Arial,sans-serif;white-space:nowrap}
.hsp-language a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;text-decoration:none;color:#244e62;border-bottom:2px solid transparent}
.hsp-language a[aria-current]{border-color:#85519d}.hsp-language a:focus-visible{outline:2px solid #85519d;outline-offset:3px}
.v25-header:has(.hsp-language){gap:16px}.v25-header:has(.hsp-language) .v25-header-actions{margin-left:0}
.hsp-en :is(p,a,h1,h2,h3,button,label,small,span){word-break:normal;overflow-wrap:break-word;letter-spacing:0}
.hsp-en :is(h1,h2){line-height:1.3}.hsp-en .v25-header-btn span{max-width:90px;line-height:1.25;white-space:normal}
.hsp-en .v25n-fv-title{font-size:clamp(30px,3.4vw,48px);line-height:1.25}
.hsp-en .v25-choice{min-height:60px;line-height:1.35;white-space:normal}
.hsp-en .v25d-bottom-nav span{white-space:normal;font-size:10px;line-height:1.2}
.hsp-input-note{font:13px/1.5 Arial,sans-serif;color:#476474;margin:0 0 18px}
.hsp-wizard-language{grid-column:1/-1;grid-row:1;margin:0;justify-content:flex-end}
@media(max-width:1000px) and (min-width:701px){.hsp-en .v25-header-btn span{font-size:11px;max-width:72px}}
@media(max-width:700px){.v25-header:has(.hsp-language){gap:10px}.hsp-language{gap:9px;font-size:12px}.hsp-en .v25n-fv-title{font-size:32px}.hsp-en .v25-question h2{font-size:27px}.hsp-en .v25d-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:360px){.v25-header:has(.hsp-language) .v25-logo img{width:120px}.v25-header:has(.hsp-language){gap:6px;padding-inline:12px}.hsp-language{gap:6px;font-size:11px}}
@media print{.hsp-language,.hsp-input-note{display:none!important}}

/* Keep Japanese and English lettering readable while reserving room for language and menu controls. */
@media(max-width:700px){
 :root .v25-logo img{width:176px;height:auto}
 :root .v25-header:has(.hsp-language) .v25-logo{flex:0 1 176px;min-width:0}
 :root .v25-header:has(.hsp-language) .v25-logo img{width:176px;max-width:100%;height:auto}
 :root .v25-header:has(.hsp-language) .v25-header-actions{flex:none}
}

/* A shared two-choice control with a clear selected state. */
.hsp-language{gap:2px;padding:3px;border:1px solid #bac3d0;border-radius:12px;background:#f2f4f7;font:600 14px/1.4 Arial,sans-serif}
.hsp-language a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:70px;min-height:44px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#223957;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap}
.hsp-language a[aria-current]{background:#223957;color:#fff;font-weight:700}
.hsp-language a:not([aria-current]):hover{background:#e3e7ef}
.hsp-language a:focus-visible{outline:3px solid #746080;outline-offset:2px}

@media(max-width:700px){
 :root .v25-header:has(.hsp-language){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:52px 52px;height:auto;min-height:116px;padding:4px 16px 8px;gap:0 12px}
 :root .v25-header:has(.hsp-language) .v25-logo{grid-column:1;grid-row:1}
 :root .v25-header:has(.hsp-language) .v25-header-actions{grid-column:2;grid-row:1}
 :root .v25-header:has(.hsp-language) .hsp-language{grid-column:1/-1;grid-row:2;justify-self:end;margin:0;gap:2px}
}
