/* Facility recruiting-site brand */
.facility-site-header .facility-brand{display:flex;align-items:flex-end;gap:12px;flex:0 0 auto}
.facility-site-header .facility-brand small{margin-bottom:5px;white-space:nowrap;color:#687984;font:600 9px/1 "DM Sans",sans-serif;letter-spacing:.19em}

/* Link feedback for facility pages */
.facility-site-header a,.facility-job-card a,.facility-jobs__all{transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease,opacity .28s ease}
.facility-job-card a span,.facility-jobs__all span{transition:transform .28s ease}
.facility-site-header nav a{position:relative}
.facility-site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--accent);transition:right .28s ease}
.facility-site-header a:focus-visible,.facility-job-card a:focus-visible,.facility-jobs__all:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(hover:hover){
  .facility-site-header nav a:hover{color:var(--accent)}
  .facility-site-header nav a:hover::after{right:0}
  .facility-site-header .back:hover{color:#fff;background:var(--accent);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 28%,transparent)}
  .facility-job-card a:hover{color:var(--accent);transform:translateX(5px)}
  .facility-job-card a:hover span{transform:translateX(4px)}
  .facility-jobs__all:hover{background:var(--accent);color:#fff;transform:translateY(-3px);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 28%,transparent)}
}

/* Keep the long HOSPITAL decoration fully visible on desktop */
@media(min-width:901px){
  .theme-hospital .facility-hero__visual span{right:2.5vw;bottom:3vw;font-size:clamp(56px,5.5vw,84px);line-height:1}
}

@media(max-width:900px){
  .facility-site-header{height:76px;padding:0 14px;gap:10px}
  .facility-site-header .facility-brand{flex-direction:column;align-items:flex-start;gap:2px}
  .facility-site-header .facility-brand small{margin:0;font-size:7px;letter-spacing:.12em}
  .facility-site-header img{flex:0 0 auto;width:145px;max-width:38vw}
  .facility-site-header .facility-name{flex:1 1 auto;min-width:0;padding-left:10px;font-size:12px;line-height:1.35;border-left:1px solid rgba(16,43,63,.18);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .facility-site-header .back{flex:0 0 auto;margin-left:0;padding:7px 10px;white-space:nowrap;font-size:11px;line-height:1.2}
  .facility-hero{position:relative;display:block;min-height:600px;isolation:isolate;overflow:hidden;background:var(--accent)}
  .facility-hero::after{display:none}
  .facility-hero__copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;min-height:600px;padding:72px 7vw 90px;color:#fff}
  .facility-hero__copy .kicker{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.48),0 1px 2px rgba(0,0,0,.55)}
  .facility-hero h1{font-size:clamp(40px,12vw,64px);margin:24px 0;line-height:1.25;text-shadow:0 3px 20px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.62)}
  .facility-hero h1 span{color:#fff}
  .facility-hero__copy>p{max-width:520px;margin:0;font-size:16px;line-height:1.9;text-shadow:0 2px 14px rgba(0,0,0,.58),0 1px 2px rgba(0,0,0,.66)}
  .facility-hero__visual{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0}
  .facility-hero__visual::before{width:420px;height:420px;right:-150px;top:-70px;background:rgba(255,255,255,.19)}
  .facility-hero__visual::after{width:320px;height:320px;left:-110px;bottom:-80px;background:rgba(255,255,255,.13)}
  .facility-hero__visual span{right:5vw;bottom:5vw;color:rgba(255,255,255,.2);font-size:clamp(68px,22vw,118px)}
  .facility-official-link{display:flex;width:max-content;margin-left:auto;margin-right:auto}
}
@media(max-width:520px){
  .facility-site-header{padding:0 10px;gap:7px}
  .facility-site-header .facility-brand small{font-size:6.5px}
  .facility-site-header img{width:118px;max-width:34vw}
  .facility-site-header .facility-name{padding-left:7px;font-size:10.5px}
  .facility-site-header .back{font-size:0;padding:8px 9px}
  .facility-site-header .back::after{content:"採用TOP";font-size:10px;letter-spacing:.02em}
  .facility-hero,.facility-hero__copy{min-height:560px}
  .facility-hero__copy{padding:65px 7vw 78px}
  .facility-hero h1{font-size:clamp(36px,11.5vw,52px)}
}
