/* Sole owner of the shared hospital header. No page-specific sizing. */
:root{--header-upper-height:180px;--site-header-height:68px;--header-visible-height:68px}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
html{scroll-padding-top:calc(var(--site-header-height) + 18px);scrollbar-gutter:stable}
[id]{scroll-margin-top:calc(var(--site-header-height) + 18px)}
.header{--sans:"BIZ UDPGothic","Yu Gothic",Meiryo,sans-serif;--green:#174e3d;--line:#c7d3c7;position:sticky;top:calc(-1 * var(--header-upper-height));z-index:60;background:#fff;border:0;box-shadow:none;backdrop-filter:none;font:500 18px/1.8 var(--sans);color:#174e3d;isolation:isolate}
.header *{box-sizing:border-box}.header a{color:#174e3d;text-decoration:none}.header svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.header .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header .header-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;min-height:102px;width:min(1280px,100%);margin:auto;padding:15px 48px 12px}
.header .brand{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:1;min-width:0;gap:1px;letter-spacing:0}.header .brand-legal{font:600 18px/1.7 var(--sans);letter-spacing:.03em;color:#174e3d}.header .brand-name{font:700 28px/1.7 var(--sans);letter-spacing:0;color:#174e3d}
.header .header-utility{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;max-width:54%;font:500 18px/1.8 var(--sans);white-space:normal}.header .header-utility>a{display:flex;align-items:center;min-height:44px;padding:0;border:0}.header .header-phone{gap:7px;font:700 24px/1.8 var(--sans);flex-wrap:wrap}.header .header-phone small{font:500 18px/1.8 var(--sans)}.header .header-phone svg{width:22px;height:22px}
.header .header-search{position:relative;display:flex;justify-content:flex-end;width:min(1180px,calc(100% - 96px));margin:auto;padding:0 0 12px}
.header .navigation-shell{background:#fff;transition:box-shadow .2s}.header.is-nav-stuck .navigation-shell{box-shadow:0 5px 16px #173e3022}
.header .navigation{position:relative;inset:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;width:min(1180px,calc(100% - 96px));height:auto;min-height:64px;max-height:none;overflow:visible;margin:auto;padding:0;background:#fff;border:0;box-shadow:none;font:600 18px/1.8 var(--sans)}
.header .navigation>.home-link,.header .nav-group-heading{display:flex;align-items:center;justify-content:center;min-height:64px;height:auto;width:auto;padding:0;border:0;font:600 18px/1.8 var(--sans)}.header .navigation>.home-link:after{bottom:0;left:25%;right:25%;height:2px}.header .nav-group{min-width:0}.header .nav-group-heading>a{font:600 18px/1.8 var(--sans);padding:8px 4px 8px 15px}
.header .nav-dropdown{max-height:calc(100dvh - var(--header-visible-height) - 16px);font:500 18px/1.8 var(--sans)}.header .nav-dropdown>p{margin:0 0 18px;font:700 23px/1.8 var(--sans)}.header .dropdown-links>a,.header .dropdown-index{font:500 18px/1.8 var(--sans)}
.header .menu-button,.header .mobile-phone,.header .mobile-compact{display:none}
.header .dropdown-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;padding:7px;border:0;background:transparent;color:#174e3d;border-radius:10px}.header .dropdown-toggle:hover,.header .dropdown-toggle[aria-expanded=true]{background:#e7efdf}.header .dropdown-toggle svg{width:20px;height:20px;transition:rotate .25s}.header .dropdown-toggle[aria-expanded=true] svg{rotate:180deg}
.header .nav-dropdown{position:absolute;inset:100% 0 auto;overflow:auto;background:#fff;border:1px solid #cbdcc7;border-radius:0 0 18px 18px;box-shadow:0 18px 35px #133e3024;padding:28px 34px;z-index:45;text-align:left}.header .nav-dropdown[hidden]{display:none}.header .dropdown-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}.header .dropdown-links>a,.header .dropdown-index{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:54px;padding:12px;border-radius:10px;color:#173d2b}.header .dropdown-links>a:hover{background:#eef4e8}.header .dropdown-links svg,.header .dropdown-index svg{width:20px;height:20px;transition:translate .25s}.header .dropdown-links>a:hover svg{translate:4px 0}.header .dropdown-index{background:#edf3e9;margin-top:18px;max-width:420px;font-weight:600}
.header :focus-visible{outline:3px solid #a66b22;outline-offset:3px;scroll-margin-block:calc(var(--site-header-height) + 12px) 24px}
.inner-section,.rehab-content [id],.legacy-anchor{scroll-margin-top:calc(var(--site-header-height) + 18px)}
@media(max-width:1100px) and (min-width:701px){.header .header-top{padding-inline:36px}.header .brand-name{font-size:25px}.header .header-utility{max-width:50%}.header .navigation,.header .header-search{width:calc(100% - 72px)}}
@media(max-width:700px){
 :root{--site-header-height:104px;--header-visible-height:104px}
 .header{position:relative;top:auto}.header .header-top{display:grid;grid-template-columns:minmax(0,1fr) 64px 84px;gap:10px;min-height:0;padding:14px 20px;width:100%}.header .brand{grid-column:1/-1;grid-row:1}.header .brand-legal{font-size:18px}.header .brand-name{font-size:21px;line-height:1.65}.header .header-utility{display:none}
 .header .mobile-phone,.header .menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:58px;height:auto;padding:5px 8px;border:1px solid #c4d7bd;border-radius:10px;background:#f0f5eb;color:#174e3d;font:600 18px/1.6 var(--sans);width:auto;min-width:0}.header .header-top>.mobile-phone{grid-column:2;grid-row:2}.header .header-top>.menu-button{grid-column:3;grid-row:2}.header .mobile-phone svg{width:23px;height:23px}.header .menu-word{font:600 18px/1.6 var(--sans)}.header .menu-lines{width:22px;height:16px;border-top:2px solid;border-bottom:2px solid;position:relative}.header .menu-lines:after{content:"";position:absolute;top:5px;left:0;width:22px;border-top:2px solid}.header .menu-button[aria-expanded=true] .menu-lines{border:0}.header .menu-button[aria-expanded=true] .menu-lines:before,.header .menu-button[aria-expanded=true] .menu-lines:after{content:"";position:absolute;top:7px;left:0;width:22px;border-top:2px solid;transform:rotate(45deg)}.header .menu-button[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}
 .header .header-search{width:calc(100% - 40px);padding-bottom:14px}.header .search-results{top:10px;max-height:calc(100dvh - 20px);z-index:80}
 .header .mobile-compact{position:fixed;top:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) 60px 84px;align-items:center;gap:8px;padding:10px 16px;background:#fff;box-shadow:0 4px 16px #173e3022;visibility:hidden;pointer-events:none}.header.is-mobile-stuck .mobile-compact{visibility:visible;pointer-events:auto}.header .compact-brand{font:700 18px/1.6 var(--sans);overflow-wrap:anywhere}.header .mobile-compact .menu-button,.header .mobile-compact .mobile-phone{min-height:58px}
 .header .navigation{display:none;position:fixed;top:var(--menu-top,104px);left:12px;right:12px;width:auto;max-height:calc(100dvh - var(--menu-top,104px) - 12px);overflow:auto;overscroll-behavior:contain;padding:12px;background:#fff;border:1px solid #cbdcc7;border-radius:14px;box-shadow:0 12px 30px #174e3d22;scroll-padding:10px}.header .navigation.is-open{display:flex;flex-direction:column}.header .navigation>.home-link{min-height:54px;justify-content:flex-start;padding:10px}.header .nav-group{width:100%;border-bottom:1px solid #dfe5df}.header .nav-group-heading{min-height:54px;justify-content:space-between}.header .nav-group-heading>a{flex:1;padding:14px 10px}.header .nav-dropdown{position:static;max-height:none;overflow:visible;padding:12px 10px 22px;box-shadow:none;border:0;border-radius:0;background:#f4f7f0}.header .nav-dropdown>p{display:none}.header .dropdown-links{grid-template-columns:1fr}.header .navigation .home-link:after{display:none}
}
.header .menu-word{white-space:nowrap}
.header .navigation>.home-link{position:relative}.header .navigation>.home-link[aria-current=page]:after{content:"";position:absolute;background:#174e3d}.header .nav-group-heading>a[aria-current=page]{text-decoration:underline;text-underline-offset:10px;text-decoration-thickness:2px}
@media(max-width:700px){.header .menu-button{padding-inline:4px}.header .header-top{grid-template-columns:repeat(2,minmax(0,1fr))}.header .header-top>.mobile-phone{grid-column:1}.header .header-top>.menu-button{grid-column:2}}
@media(max-width:360px){.header .header-top{padding-inline:15px}.header .brand-name{font-size:20px}.header .mobile-compact{padding-inline:10px;gap:5px;grid-template-columns:minmax(0,1fr) 54px 84px}}
@media(prefers-reduced-motion:reduce){.header .navigation-shell{transition:none}}
/* Shared minimal navigation with short separators. */
@media(min-width:701px){
 .header .navigation{gap:0;padding-block:0}
 .header .nav-group-heading{position:relative}
 .header .nav-group-heading:before{content:"";position:absolute;left:0;top:50%;width:1px;height:22px;background:#b7cbb8;transform:translateY(-50%);pointer-events:none}
 .header .navigation>.home-link,.header .nav-group-heading{transition:background .25s}
 .header .navigation>.home-link:hover,.header .nav-group:hover .nav-group-heading,.header .nav-group:focus-within .nav-group-heading{background:#f3f7ef}
 .header .nav-dropdown:not([hidden]){animation:header-dropdown-in .28s cubic-bezier(.2,.8,.2,1)}
}
@keyframes header-dropdown-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:700px){
 .header .mobile-phone,.header .menu-button{min-height:64px;align-self:stretch;border:0;border-radius:0;background:transparent;box-shadow:none;transition:background .25s;color:#174e3d}
 .header .mobile-phone:hover,.header .menu-button:hover,.header .menu-button[aria-expanded=true]{background:#f0f5eb}
 .header .menu-button{position:relative}
 .header .menu-button:before{content:"";position:absolute;left:-5px;top:50%;width:1px;height:28px;background:#b7cbb8;transform:translateY(-50%);pointer-events:none}
 .header .mobile-compact{grid-template-columns:minmax(0,1fr) 76px 76px}
 .header .mobile-compact .mobile-phone,.header .mobile-compact .menu-button{min-height:64px}
 .header .mobile-compact .menu-button:before{left:-4px}
 .header .menu-lines,.header .menu-lines:before,.header .menu-lines:after{transition:transform .3s,border-color .3s}
}
@media(max-width:360px){.header .mobile-compact{grid-template-columns:minmax(0,1fr) 70px 70px}.header .mobile-compact .menu-button:before{left:-3px}}
@media(prefers-reduced-motion:reduce){.header *{animation:none!important;transition:none!important}}
@media print{.header{position:static}.header .mobile-compact,.header .menu-button,.header .mobile-phone{display:none}}
