*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#075b9f;background:#eef9ff}
a{text-decoration:none;color:inherit}

/* 添付トップページと同寸法 */
.site-header{height:95px;background:#fff;position:relative;z-index:20;border-bottom:1px solid #e8f2f8}
.header-inner{max-width:1240px;height:95px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:32px}
.brand{width:390px;display:flex;align-items:center;flex:none}
.header-logo{width:229px;height:113px;display:block;object-fit:contain;transform:translate(15px,2px)}
.global-nav{height:100%;display:flex;align-items:center;gap:42px;flex:1}
.global-nav a{height:100%;display:flex;align-items:center;position:relative;font-size:16px;font-weight:600;white-space:nowrap;color:#075b9f}
.global-nav .active{color:#0878c8}
.global-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:16px;height:3px;border-radius:3px;background:#0878c8}
.header-tools{display:flex;gap:24px;white-space:nowrap;font-size:15px;font-weight:600;color:#0569b6}

/* 4項目サブナビ */
.sub-nav{height:64px;background:linear-gradient(90deg,#effbff,#e0f5ff);border-bottom:1px solid #cdebf8;position:relative;z-index:15}
.sub-nav-inner{max-width:1240px;height:64px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr)}
.sub-nav a{position:relative;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#5a7890;border-right:1px solid #c9e7f4}
.sub-nav a:first-child{border-left:1px solid #c9e7f4}
.sub-nav a.current{color:#0878c8}

/* 添付トップと同じ365px。画像自体も1500×365 */
.hero{height:330px;position:relative;overflow:hidden;background:#eefaff}
.hero-photo{position:absolute;top:50%;right:max(calc((100% - 1240px)/2 + 20px),20px);width:55%;height:100%;overflow:hidden;transform:translateY(-50%)}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.hero-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#eefaff 0%,#eefaff 28%,rgba(238,250,255,.96) 38%,rgba(238,250,255,.62) 50%,rgba(238,250,255,.14) 66%,rgba(238,250,255,0) 82%)}
.hero-copy{position:absolute;z-index:5;left:max(calc((100% - 1240px)/2 + 45px),8%);top:75px}
.hero-copy h1{margin:0;color:#075b9f;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:48px;line-height:1.2;letter-spacing:.07em;font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.hero-copy p{margin:15px 0 0;color:#075b9f;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;line-height:1.75;font-weight:600}
.mountain{position:absolute;z-index:4;left:-5%;width:110%;pointer-events:none}
.mountain-back{bottom:28px;height:85px;background:rgba(109,190,224,.22);clip-path:polygon(0 52%,10% 22%,20% 44%,30% 10%,40% 37%,52% 18%,62% 48%,74% 20%,84% 42%,94% 15%,100% 34%,100% 100%,0 100%)}
.mountain-front{bottom:0;height:66px;background:rgba(185,229,244,.78);clip-path:polygon(0 57%,12% 32%,24% 54%,37% 25%,49% 48%,62% 30%,75% 54%,87% 31%,100% 49%,100% 100%,0 100%)}
.hero-wave{position:absolute;z-index:6;left:-3%;bottom:-28px;width:106%;height:70px;background:#eef9ff;border-radius:50% 50% 0 0/62% 62% 0 0}

.breadcrumb{max-width:1240px;margin:0 auto;padding:11px 20px 15px;color:#49718d;font-size:13px}
.about-section{max-width:1240px;margin:0 auto;padding:0 20px 45px}
.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.section-heading h2{width:260px;margin:0;color:#0871ba;font-size:36px;line-height:1.2;padding-bottom:9px;font-weight:700}
.section-heading h2:after{content:"";display:block;width:260px;height:4px;background:#f8c694;border-radius:4px;margin-top:9px}
.section-heading p{margin:0;font-size:14px;line-height:1.5;color:#376d98}

.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-card{height:88px;background:#fff;border-radius:11px;border:1px solid #d5e7f2;display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;column-gap:1em;padding:0 18px;box-shadow:0 1px 7px rgba(22,112,168,.06);transition:.2s;border-bottom:3px solid transparent}
.about-card:hover,.about-card:focus-visible{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,92,153,.16);border-bottom-color:#f8c694}
.mark{color:#d77c2d;font-size:16px;line-height:1}
.label{font-size:16px;line-height:1.55;font-weight:700;color:#075b9f}
.arrow{width:28px;height:28px;border-radius:50%;background:#0878c8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:.2s}
.about-card:hover .arrow{transform:translateX(3px)}

.footer-visual{height:145px;position:relative;overflow:hidden}
.footer-visual:before{content:"";position:absolute;left:-4%;right:-4%;bottom:-42px;height:110px;background:#cceeff;border-radius:50% 50% 0 0/70% 70% 0 0}
.footer-mountain{position:absolute;bottom:24px;left:32%;width:40%;height:70px;clip-path:polygon(0 100%,14% 58%,25% 83%,41% 36%,53% 74%,65% 43%,78% 82%,91% 56%,100% 100%);background:rgba(115,201,237,.24)}

.site-footer{background:#fff;border-top:1px solid #e0eef6}
.footer-inner{max-width:1240px;margin:0 auto;padding:26px 20px 30px;display:grid;grid-template-columns:370px 1fr;gap:42px;align-items:start}
.footer-info{padding-right:38px;border-right:1px solid #bdd0dc}
.footer-info p{margin:0 0 8px;color:#3a617d;font-size:13px}
.footer-info a{color:#0871ba;font-weight:700;font-size:18px}
.footer-right{min-height:105px;display:flex;flex-direction:column}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 0;margin-top:17px}
.footer-nav a{font-size:12px;color:#496b83;padding:0 14px;border-right:1px solid #adc1cf}
.footer-nav a:first-child{padding-left:0}
.footer-nav a:last-child{border-right:0}
.copyright{margin:auto 0 0;text-align:right;color:#496b83;font-size:12px}

@media(max-width:1050px){
 .brand{width:270px}.global-nav{gap:22px}
 .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .site-header,.header-inner{height:auto}.header-inner{padding:12px 18px;flex-wrap:wrap}
 .brand{width:100%}.global-nav{order:3;width:100%;height:48px;justify-content:space-between;gap:8px}
 .global-nav a{font-size:13px}.header-tools{position:absolute;right:18px;top:18px;font-size:12px}
 .sub-nav{height:auto}.sub-nav-inner{height:auto;padding:0;grid-template-columns:1fr 1fr}
 .sub-nav a{min-height:50px;font-size:13px}
 .hero{height:310px}.hero-copy{left:7%;top:42px}.hero-copy h1{font-size:31px}.hero-copy p{font-size:14px}
 .about-grid{grid-template-columns:1fr}
 .footer-inner{grid-template-columns:1fr}.footer-info{border-right:0;border-bottom:1px solid #d6e4ed;padding:0 0 20px}
 .copyright{text-align:left;margin-top:22px}
}
@media(max-width:560px){
 .hero{height:275px}.hero-copy h1{font-size:26px}.hero-copy p{font-size:12px}
 .section-heading h2{font-size:30px}.section-heading p{font-size:12px}
 .about-card{height:auto;min-height:82px;padding:14px 16px}
}

/* 上部4項目：既存ページ共通のロールオーバー */

.sub-nav a:not(.current){transition:color .18s,box-shadow .18s,background-color .18s}
.sub-nav a:not(.current):hover,
.sub-nav a:not(.current):focus-visible{
  color:#0878c8;
  box-shadow:inset 0 -5px 0 #f8c694;
  background:rgba(255,255,255,.24);
}



/* ===== 入院・お見舞い TOP ===== */
.inpatient-hero .hero-photo{width:58%}
.inpatient-hero .hero-photo img{object-position:center 48%}
.inpatient-heading,.inpatient-menu,.inpatient-note{max-width:1240px;margin:0 auto}
.inpatient-heading{padding:0 20px 24px}
.inpatient-heading h2{display:inline-block;margin:0;color:#0871ba;font-size:36px;line-height:1.25;padding-bottom:9px}
.inpatient-heading h2:after{content:"";display:block;width:100%;height:4px;background:#f8c694;border-radius:4px;margin-top:9px}
.inpatient-heading p{margin:12px 0 0;color:#376d98;font-size:14px;line-height:1.8}
.inpatient-menu{padding:8px 20px 42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.inpatient-card{position:relative;min-height:190px;background:#fff;border:1px solid #d5e7f2;border-radius:14px;padding:28px 58px 25px 94px;box-shadow:0 2px 10px rgba(22,112,168,.06);transition:.2s;border-bottom:4px solid transparent}
.inpatient-card:hover,.inpatient-card:focus-visible{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,92,153,.14);border-bottom-color:#f8c694}
.card-no{position:absolute;top:18px;right:20px;color:#b9d9e9;font-size:13px;font-weight:800;letter-spacing:.08em}
.card-icon{position:absolute;left:24px;top:30px;width:52px;height:52px;border-radius:50%;background:#e4f5fd;color:#0878c8;display:grid;place-items:center;font-size:25px;font-weight:700}
.card-copy h2{margin:0 0 11px;color:#075b9f;font-size:23px;line-height:1.45}
.card-copy p{margin:0;color:#526f82;font-size:14px;line-height:1.8}
.card-arrow{position:absolute;right:20px;bottom:20px;width:34px;height:34px;border-radius:50%;background:#0878c8;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:700;transition:.2s}
.inpatient-card:hover .card-arrow{transform:translateX(3px)}
.inpatient-note{padding:0 20px 28px}
.note-inner{background:linear-gradient(90deg,#f4fbff,#fff);border:1px solid #cfe4f1;border-left:6px solid #f8c694;border-radius:12px;padding:21px 24px}
.note-inner h2{margin:0 0 8px;color:#075b9f;font-size:20px}
.note-inner p{margin:0;color:#526f82;font-size:14px;line-height:1.85}
@media(max-width:800px){.inpatient-menu{grid-template-columns:1fr}.inpatient-hero .hero-photo{width:70%}}
@media(max-width:560px){.inpatient-heading h2{font-size:28px}.inpatient-card{padding:24px 48px 22px 76px;min-height:175px}.card-icon{left:17px;width:44px;height:44px;font-size:21px}.card-copy h2{font-size:20px}}

/* 添付の病室画像を参考にしたオリジナルヒーロー画像 */
.inpatient-hero .hero-photo{width:100%;left:0;right:0}
.inpatient-hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.inpatient-hero .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.76) 26%,rgba(255,255,255,.18) 52%,rgba(255,255,255,0) 72%)}
@media(max-width:800px){.inpatient-hero .hero-photo{width:100%}.inpatient-hero .hero-photo img{object-position:58% center}}

/* ===== 最終ヒーロー画像調整 ===== */
.inpatient-hero .hero-photo{
  width:100%;
  left:0;
  right:0;
}
.inpatient-hero .hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.inpatient-hero .hero-shade{
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.82) 23%,
    rgba(255,255,255,.34) 42%,
    rgba(255,255,255,.05) 62%,
    rgba(255,255,255,0) 76%
  );
}
@media(max-width:800px){
  .inpatient-hero .hero-photo{width:100%}
  .inpatient-hero .hero-photo img{object-position:57% center}
  .inpatient-hero .hero-shade{
    background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.58) 58%,rgba(255,255,255,.12));
  }
}

/* ===== ヒーロー画像：拡大・トリミング解除 ===== */
.inpatient-hero{
  background:#fff;
  overflow:hidden;
}
.inpatient-hero .hero-photo{
  width:100%;
  height:100%;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.inpatient-hero .hero-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  transform:none !important;
  max-width:100%;
}
@media(max-width:800px){
  .inpatient-hero .hero-photo img{
    object-fit:contain;
    object-position:center center;
    transform:none !important;
  }
}

/* ===== 入院・お見舞い：内容別アイコン ===== */
.card-icon{
  overflow:hidden;
}
.card-icon img{
  width:32px;
  height:32px;
  display:block;
  object-fit:contain;
}

/* ===== ヒーロー配置 再修正 =====
   contain中央寄せによる不自然な余白・位置ずれを解消。
   元の横長画像を幅100%でそのまま配置し、高さは画像比率に従わせる。 */
.inpatient-hero{
  height:auto !important;
  min-height:0 !important;
  position:relative;
  background:#fff;
  overflow:hidden;
}
.inpatient-hero .hero-photo{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  display:block !important;
  background:#fff;
}
.inpatient-hero .hero-photo img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  object-fit:initial !important;
  object-position:initial !important;
  transform:none !important;
}
.inpatient-hero .hero-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 23%,rgba(255,255,255,.24) 43%,rgba(255,255,255,0) 62%);
}
.inpatient-hero .hero-copy{
  position:absolute !important;
  z-index:3;
  top:50% !important;
  left:max(24px,calc((100% - 1180px)/2)) !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
}
@media(max-width:800px){
  .inpatient-hero .hero-copy{
    left:24px !important;
    right:24px !important;
  }
}


/* =========================================================
   2026-09-24 最終調整
   添付 first_visit のヒーロー位置・サイズ・挙動を基準に統一
   ========================================================= */

/* ヒーロー：first_visit と同じ 330px / 右寄せ55% / 縦横比維持 */
.inpatient-hero{
  height:330px !important;
  min-height:330px !important;
  position:relative !important;
  overflow:hidden !important;
  background:#eefaff !important;
}
.inpatient-hero .hero-photo{
  position:absolute !important;
  top:50% !important;
  right:max(calc((100% - 1240px)/2 + 20px),20px) !important;
  left:auto !important;
  bottom:auto !important;
  width:55% !important;
  height:auto !important;
  display:block !important;
  overflow:visible !important;
  transform:translateY(-50%) !important;
  background:transparent !important;
}
.inpatient-hero .hero-photo img{
  position:static !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  display:block !important;
  object-fit:initial !important;
  object-position:initial !important;
  transform:none !important;
}
.inpatient-hero .hero-shade{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:linear-gradient(90deg,#eefaff 0%,#eefaff 28%,rgba(238,250,255,.96) 38%,rgba(238,250,255,.62) 50%,rgba(238,250,255,.14) 66%,rgba(238,250,255,0) 82%) !important;
}
.inpatient-hero .hero-copy{
  position:absolute !important;
  z-index:5 !important;
  left:max(calc((100% - 1240px)/2 + 55px),7%) !important;
  right:auto !important;
  top:75px !important;
  transform:none !important;
  margin:0 !important;
}
.inpatient-hero .hero-copy h1{
  font-size:48px !important;
  line-height:1.2 !important;
}
.inpatient-hero .hero-copy p{
  margin:22px 0 0 !important;
  font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif !important;
  font-size:17px !important;
  line-height:1.8 !important;
}
.inpatient-hero .mountain{display:none !important;}
.inpatient-hero .hero-wave{
  position:absolute !important;
  z-index:6 !important;
  left:-3% !important;
  bottom:-28px !important;
  width:106% !important;
  height:70px !important;
  background:#eef9ff !important;
  border-radius:50% 50% 0 0/62% 62% 0 0 !important;
}

/* 4項目アイコン：画像データを大きく明瞭に表示 */
.card-icon{
  position:absolute !important;
  left:22px !important;
  top:27px !important;
  width:62px !important;
  height:62px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 3px 12px rgba(29,112,163,.13) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.card-icon img{
  width:58px !important;
  height:58px !important;
  max-width:none !important;
  display:block !important;
  object-fit:contain !important;
}
.inpatient-card{
  padding-left:102px !important;
}

/* first_visit と同じレスポンシブ挙動 */
@media(max-width:800px){
  .inpatient-hero{height:300px !important;min-height:300px !important;}
  .inpatient-hero .hero-photo{
    width:68% !important;
    right:20px !important;
  }
  .inpatient-hero .hero-copy{
    left:6% !important;
    top:72px !important;
  }
  .inpatient-hero .hero-copy h1{font-size:36px !important;}
  .inpatient-hero .hero-copy p{font-size:14px !important;}
}
@media(max-width:560px){
  .inpatient-hero{height:260px !important;min-height:260px !important;}
  .inpatient-hero .hero-photo{
    width:100% !important;
    right:0 !important;
    opacity:.64 !important;
  }
  .inpatient-hero .hero-shade{
    background:linear-gradient(90deg,rgba(238,250,255,.98) 0%,rgba(238,250,255,.91) 48%,rgba(238,250,255,.42) 100%) !important;
  }
  .inpatient-hero .hero-copy{top:58px !important;}
  .inpatient-hero .hero-copy h1{font-size:30px !important;}
  .inpatient-hero .hero-copy p{font-size:13px !important;}
}

/* パンくずリンク */
.breadcrumb a{color:#0878c8;text-decoration:none}
.breadcrumb a:visited{color:#0878c8}
.breadcrumb a:hover,.breadcrumb a:focus-visible{color:#075b9f;text-decoration:underline;text-underline-offset:2px}
