*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#216c4b;background:#f0fbf3}
a{text-decoration:none;color:inherit}
.site-header{height:95px;background:#fff;position:relative;z-index:20;border-bottom:1px solid #e1f1e7}
.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:#216c4b}
.global-nav .active{color:#46a977}
.global-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:16px;height:3px;border-radius:3px;background:#46a977}
.header-tools{display:flex;gap:24px;white-space:nowrap;font-size:15px;font-weight:600;color:#368e62}
.hero{height:365px;position:relative;overflow:hidden;background:#e1f7e9}
.hero-photo{position:absolute;inset:0;overflow:hidden}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 25%}
.hero-copy{position:absolute;z-index:5;left:max(calc((100% - 1240px)/2 + 45px),8%);top:41px}
.hero-copy h1{margin:0;color:#216c4b;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:44px;line-height:1.45;letter-spacing:.07em;font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.hero-copy p{margin:15px 0 0;color:#216c4b;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,.36);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,.92);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:-5%;bottom:-35px;width:110%;height:78px;background:#f0fbf3;border-radius:50% 50% 0 0/75% 75% 0 0}
.visit-section{max-width:1240px;margin:0 auto;padding:11px 20px 21px}
.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.section-heading>span{width:7px;height:61px;border-radius:5px;background:#efa9bf;flex:none}
.section-heading h2{font-size:29px;line-height:1.2;margin:0 0 5px;font-weight:700}
.section-heading p{margin:0;font-size:14px;line-height:1.5}
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:26px;align-items:start}
.main-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feature-card{background:#fff;border-radius:11px;overflow:hidden;min-height:237px;box-shadow:0 1px 7px rgba(22,112,168,.08);transition:.2s;border-bottom:3px solid transparent}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,92,153,.16);border-bottom-color:#efa9bf}
.card-image{height:78px;overflow:hidden}
.card-image img{width:100%;height:100%;display:block;object-fit:cover}
.card-body{position:relative;padding:23px 17px 15px;min-height:159px}
.icon{position:absolute;left:2px;top:-28px;width:56px;height:56px;display:flex;align-items:center;justify-content:center}.icon img{width:56px;height:56px;display:block}
.card-body h3{margin:1px 0 8px;font-size:18px;color:#328e62}
.card-body p{margin:0;font-size:12.5px;line-height:1.7;color:#5a8068}
.arrow{position:absolute;right:12px;bottom:11px;width:28px;height:28px;border-radius:50%;background:#46a977;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.side-cards{display:flex;flex-direction:column;gap:15px}
.side-card{height:99px;border-radius:12px;background:#e1f7e9;display:grid;grid-template-columns:48px 1fr 27px;align-items:center;gap:12px;padding:14px 16px;transition:.2s}
.side-card:hover{transform:translateY(-3px);background:#d0f0db}
.side-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center}.side-icon img{width:38px;height:38px;display:block}
.side-card h3{margin:0 0 4px;font-size:17px}
.side-card p{margin:0;font-size:11.5px;line-height:1.55;color:#4e8567}
.side-card>span{width:25px;height:25px;border-radius:50%;background:#46a977;color:#fff;display:flex;align-items:center;justify-content:center}
.lower{max-width:1240px;margin:0 auto;padding:0 20px 45px;display:grid;grid-template-columns:1.12fr .98fr;gap:18px}
.news,.request{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 7px rgba(22,112,168,.07)}
.news{padding:14px 19px}
.box-title{display:flex;align-items:center;border-bottom:1px solid #dceee2;padding-bottom:9px}
.box-title h2{font-size:19px;margin:0 0 0 8px}.box-title a{margin-left:auto;font-size:12px}
.news ul{list-style:none;margin:0;padding:0}.news li{height:37px;border-bottom:1px solid #e8f4eb;display:grid;grid-template-columns:82px 1fr 70px;align-items:center;font-size:12px}
.news time{color:#5b8a70}
.news b{font-weight:700;border-radius:5px;text-align:center;padding:3px 4px}
/* お知らせ区分：GASの区分に応じて色分け */
.news b.news-category.category-info{background:#46a977;color:#fff;border:1px solid #46a977}
.news b.news-category.category-important{background:#e58a19;color:#fff;border:1px solid #e58a19}
.news b.news-category.category-emergency{background:#d93636;color:#fff;border:1px solid #d93636}
.request{display:grid;grid-template-columns:53% 47%;min-height:156px}.request img{width:100%;height:100%;object-fit:cover}.request>div{padding:20px}.request h2{font-size:17px;margin:0 0 9px}.request p{font-size:11.5px;line-height:1.7;margin:0 0 12px}.request span{display:inline-block;border:1px solid #efa9bf;background:#fff8f1;color:#216c4b;border-radius:20px;padding:7px 15px;font-size:12px;font-weight:600}
@media(max-width:1050px){.brand{width:270px}.global-nav{gap:22px}.main-cards{grid-template-columns:repeat(2,1fr)}.visit-grid{grid-template-columns:1fr 300px}}
@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}.hero{height:310px}.hero-copy{left:7%;top:42px}.hero-copy h1{font-size:31px}.hero-copy p{font-size:14px}.visit-grid{grid-template-columns:1fr}.side-cards{display:grid;grid-template-columns:1fr 1fr}.lower{grid-template-columns:1fr}}
@media(max-width:560px){.main-cards{grid-template-columns:1fr}.side-cards{grid-template-columns:1fr}.hero{height:275px}.hero-copy h1{font-size:26px}.hero-copy p{font-size:12px}.section-heading h2{font-size:25px}.section-heading p{font-size:12px}.lower{padding-bottom:25px}.request{grid-template-columns:1fr}.request img{height:145px}}

.site-footer{background:#fff;border-top:1px solid #e1eee5}
.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 #bfd6c7}
.footer-info img{width:250px;height:auto;display:block;margin-bottom:14px}
.footer-info p{margin:0 0 8px;color:#54735d;font-size:13px}
.footer-info a{color:#368e62;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:#5b7865;padding:0 14px;border-right:1px solid #bbd5c4}
.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:#5b7865;font-size:12px}
@media(max-width:800px){.footer-inner{grid-template-columns:1fr}.footer-info{border-right:0;border-bottom:1px solid #d8e8dd;padding:0 0 20px}.copyright{text-align:left;margin-top:22px}}
@media(max-width:560px){.footer-info img{width:220px}}

.box-title>span{color:#efa9bf;font-weight:700}

/* お知らせ5件＋診療変更・休診情報2件 */
.lower-right{display:flex;flex-direction:column;gap:18px;min-width:0}
.lower-right .request{width:100%}
.medical-change{padding:14px 19px;border-top:4px solid #eea9bd}
.medical-change .box-title>span{color:#e25f6d;font-size:13px}
.medical-change .box-title h2{color:#216c4b}
.news li.empty-message{display:flex;align-items:center;height:37px;color:#688875}
.medical-change .news-category{background:#d85b69;color:#fff}

/* 診療変更・休診情報：空欄時・2件表示時の高さと折返しを調整 */
.medical-change{min-height:118px}
.medical-change .news li{grid-template-columns:82px minmax(0,1fr) 70px}
.medical-change .news li.empty-message,.medical-change li.empty-message{height:48px;white-space:nowrap;overflow:visible}
.medical-change li.empty-message span{white-space:nowrap}
@media(max-width:560px){.medical-change li.empty-message,.medical-change li.empty-message span{white-space:normal}}


/* === 老健用の差分: ヘッダー既存値は変更しない === */
.brand-name{font-size:19px;font-weight:700;line-height:1.35;color:#216c4b;white-space:nowrap}
.brand-name small{display:block;font-size:11px;font-weight:500}
.header-logo{width:70px;height:70px;object-fit:contain;transform:none}
/* 写真の表示幅・高さは固定。装飾だけ画面幅100% */

/* 指定箇所のみ：ヒーロー原寸・index_userのカード配置・画面幅の波模様 */
.hero{height:365px;width:100%;position:relative;overflow:hidden;background:#eaf7ed}
.hero-photo{position:absolute;top:0;bottom:0;left:50%;width:1240px;max-width:100%;transform:translateX(-50%);background: url('../images/index_roken/hero_1240x365.jpg') center center / contain no-repeat}
.hero-fullwidth-waves{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.hero-fullwidth-waves::before{content:"";position:absolute;left:0;right:0;bottom:-2px;height:91px;background:rgba(109,189,118,.33);clip-path:polygon(0 46%,12% 15%,25% 48%,38% 16%,52% 53%,65% 18%,78% 48%,91% 12%,100% 42%,100% 100%,0 100%)}
.hero-fullwidth-waves::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:60px;background:rgba(207,240,214,.72);clip-path:polygon(0 55%,12% 28%,26% 53%,38% 18%,52% 47%,65% 22%,78% 51%,91% 20%,100% 46%,100% 100%,0 100%)}
.visit-section{max-width:1240px;margin:0 auto;padding:16px 20px 21px}
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:26px;align-items:start}
.main-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.card-body h3{font-size:16px;line-height:1.4}
.card-body p{font-size:12px;line-height:1.65}
.side-card h3{font-size:15px;line-height:1.45}
.lower{max-width:1240px;margin:0 auto;padding:0 20px 45px;grid-template-columns:1.12fr .98fr}
.footer-upper-waves{height:95px;position:relative;overflow:hidden;background:#f0fbf3}
.footer-upper-waves:before{content:"";position:absolute;inset:8px 0 -3px;background:rgba(144,213,157,.48);clip-path:polygon(0 42%,12% 12%,25% 50%,40% 22%,54% 55%,68% 20%,82% 46%,100% 14%,100% 100%,0 100%)}
.footer-upper-waves:after{content:"";position:absolute;inset:24px 0 -3px;background:rgba(207,241,213,.88);clip-path:polygon(0 30%,14% 63%,28% 26%,44% 58%,60% 17%,76% 58%,89% 27%,100% 48%,100% 100%,0 100%)}
@media(max-width:1050px){.visit-grid{grid-template-columns:1fr}.main-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.side-cards{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:800px){.hero{height:auto;aspect-ratio:1240/365}.hero-photo{width:100%;background-size:100% 100%}.main-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lower{grid-template-columns:1fr}}
@media(max-width:560px){.main-cards,.side-cards{grid-template-columns:1fr}.footer-upper-waves{height:70px}}

/* 2026-10-23 指定箇所のみの修正 */
.brand-name{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.brand-name small{display:block;text-align:left;margin:0 0 2px 0}
.global-nav{justify-content:flex-end}
.global-nav a:first-child{color:#e66c96}
.rouken-hero-copy{z-index:4;left:max(calc((100% - 1240px)/2 + 40px),5%);top:45px;pointer-events:none}
.rouken-hero-copy h1{font-size:clamp(23px,3vw,40px);line-height:1.55;color:#125c32;text-shadow:0 1px 5px #ffffffc9}
.rouken-hero-copy h1 em{font-style:normal;color:#ec6790}
.rouken-hero-copy .hero-line{display:block;padding-left:1.2em;color:#584b43}
#news .news-placeholder{display:grid;grid-template-columns:100px 110px minmax(0,1fr);gap:10px;align-items:center;min-height:40px;height:auto;color:#617b67}
.news-label{border-radius:5px;background:#e9f4e5;color:#40844f;text-align:center;padding:4px 5px}
.news-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zeb-bels-card{min-height:100px;display:grid;grid-template-columns:66px 1fr 30px;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;background:#e9f5e5;color:#22663e;box-shadow:0 1px 7px rgba(22,112,168,.07)}
.zeb-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:white}
.zeb-icon img{width:47px;height:47px}
.zeb-body{display:flex;flex-direction:column;gap:7px}
.zeb-body strong{font-size:18px}
.zeb-body>span{font-size:12px;color:#557c61}
.zeb-arrow{width:27px;height:27px;border-radius:50%;background:#65b64d;color:white;display:flex;align-items:center;justify-content:center;font-size:25px}
@media(max-width:800px){.rouken-hero-copy{left:6%;top:48px}.rouken-hero-copy h1{font-size:27px}}
@media(max-width:560px){#news .news-placeholder{grid-template-columns:45px 90px minmax(0,1fr);gap:5px;font-size:11px}.rouken-hero-copy h1{font-size:21px}.zeb-body strong{font-size:15px}}


/* 2026-10-23: ご確認いただいた差分のみ */
/* 法人名と施設名の左端を揃える（ロゴ画像・ヘッダー高さは維持） */
.site-header .brand-name{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.site-header .brand-name small{display:block;align-self:flex-start;margin:0;padding:0;text-indent:0;text-align:left}
/* 最初のヒーロー文字表現：明朝、緑・ピンク、濃茶の二行。画像サイズは変更しない */
.rouken-hero-copy{left:max(calc((100% - 1240px)/2 + 45px),7%);top:63px}
.rouken-hero-copy h1{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-size:clamp(27px,3vw,43px);line-height:1.5;letter-spacing:.09em;font-weight:600;color:#075b30;text-shadow:0 2px 7px rgba(255,255,255,.9)}
.rouken-hero-copy h1 em{font-style:normal;color:#f06494}
.rouken-hero-copy .hero-line{display:block;padding-left:1.05em;color:#5a463c}
/* カード右側の2項目をカード列と同じ高さで均等割り */
@media(min-width:1051px){.visit-grid{align-items:stretch}.side-cards{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:15px;align-self:stretch}.side-card{height:auto;min-height:0}}
/* お知らせ右側：施設案内を2件表示、ZEB欄はコンパクト */
@media(min-width:801px){.lower{align-items:stretch}.lower-right{display:grid;grid-template-rows:minmax(0,1fr) 82px;gap:12px;align-self:stretch}.lower-right .medical-change{min-height:0;display:flex;flex-direction:column}.lower-right .medical-change ul{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));flex:1}.lower-right .zeb-bels-card{min-height:0;height:82px;padding:8px 14px}}
.medical-change .facility-notice-slot{height:auto;min-height:39px;display:flex;align-items:center;padding:7px 3px;color:#688875;font-size:12px;border-bottom:1px solid #e8f4eb}
.medical-change .facility-notice-slot:last-child{border-bottom:0}
.lower-right .zeb-bels-card .zeb-icon{width:53px;height:53px}
.lower-right .zeb-bels-card .zeb-icon img{width:40px;height:40px}
.lower-right .zeb-bels-card{grid-template-columns:56px 1fr 27px}
@media(max-width:1050px) and (min-width:801px){.side-cards{align-items:stretch}.side-card{height:auto;min-height:110px}}
@media(max-width:800px){.rouken-hero-copy{top:14%;left:6%}.rouken-hero-copy h1{font-size:clamp(17px,3.7vw,30px)}.lower-right .zeb-bels-card{min-height:82px}}
@media(max-width:560px){.rouken-hero-copy h1{font-size:clamp(15px,4vw,22px)}.rouken-hero-copy .hero-line{padding-left:.6em}}

/* 法人名と施設名は別々のブロックとして同一左端に固定 */
.site-header .brand .brand-name{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center;text-align:left!important;gap:3px;min-width:0;margin:0;padding:0;line-height:1.3}
.site-header .brand .corporate-name,.site-header .brand .facility-name{display:block!important;position:static!important;align-self:flex-start!important;margin:0!important;padding:0!important;text-indent:0!important;transform:none!important;letter-spacing:normal;text-align:left!important;white-space:nowrap}
.site-header .brand .corporate-name{font-size:11px;font-weight:500}
.site-header .brand .facility-name{font-size:19px;font-weight:700}
@media(max-width:560px){.site-header .brand .facility-name{font-size:clamp(14px,4vw,19px)}}

/* 2026-10-23: カード4項目のアイコンのみ縮小（56px → 44px）。他の配置は維持 */
.feature-card .card-body .icon{width:44px;height:44px;left:8px;top:-22px}
.feature-card .card-body .icon img{width:44px;height:44px}

/* ヘッダー文字の開始位置のみを確実に統一。ロゴ画像・その他の要素は不変更。 */
.site-header a.brand > .brand-name {
  display: grid !important;
  grid-template-columns: max-content !important;
  grid-template-rows: auto auto !important;
  justify-items: start !important;
  align-items: start !important;
  justify-content: start !important;
  align-content: center !important;
  text-align: left !important;
  padding: 0 !important; margin: 0 !important;
  text-indent: 0 !important;
  transform: none !important;
  gap: 3px !important;
}
.site-header a.brand > .brand-name > .corporate-name,
.site-header a.brand > .brand-name > .facility-name {
  grid-column: 1 !important;
  display: block !important;
  width: max-content !important;
  margin: 0 !important; padding: 0 !important;
  text-align: left !important; text-indent: 0 !important;
  position: static !important; left: auto !important;
  transform: none !important; float: none !important;
}


/* ロゴ横の法人名と施設名：文字列の開始X座標を同一にするための最終指定。
   画像、文字内容、ヘッダー高さ、ナビゲーション等は変更しない。 */
.site-header .header-inner a.brand > .brand-name {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 3px !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
.site-header .header-inner a.brand > .brand-name > .corporate-name,
.site-header .header-inner a.brand > .brand-name > .facility-name {
  display: block !important;
  position: relative !important;
  left: 0 !important;
  inset-inline-start: 0 !important;
  margin-inline-start: 0 !important;
  padding-inline-start: 0 !important;
  transform: none !important;
  text-indent: 0 !important;
  text-align: left !important;
  align-self: flex-start !important;
}

/* ヘッダー：ロゴは無変更。法人名と施設名の文字開始位置を1つの親要素で固定 */
.site-header .header-inner .brand .brand-name{
  display:block!important;flex:none!important;position:static!important;
  margin:0!important;padding:0!important;text-align:left!important;
  white-space:nowrap!important;line-height:1.3!important;
}
.site-header .header-inner .brand .brand-name > span{
  display:block!important;position:static!important;left:auto!important;
  float:none!important;transform:none!important;text-indent:0!important;
  margin:0!important;padding:0!important;border:0!important;
  text-align:left!important;align-self:auto!important;
  width:auto!important;max-width:none!important;box-sizing:border-box!important;
}
.site-header .header-inner .brand .brand-name > .corporate-name{
  font-size:11px!important;line-height:1.45!important;font-weight:500!important;
  letter-spacing:0!important;
}
.site-header .header-inner .brand .brand-name > .facility-name{
  font-size:19px!important;line-height:1.35!important;font-weight:700!important;
  letter-spacing:0!important;
}
/* index_user の section-heading と同じ見出し寸法・組み方 */
.rouken-about-intro{width:100%;background:#fff}
.rouken-about-inner{max-width:1240px;margin:0 auto;padding:30px 20px 6px}
.rouken-about-intro .section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.rouken-about-intro .section-heading>span{width:7px;height:61px;border-radius:5px;background:#a6d7b2;flex:none}
.rouken-about-intro .section-heading h2{font-size:29px;line-height:1.2;margin:0 0 12px;font-weight:700;color:#216c4b}
.rouken-about-intro .section-heading p{margin:0;font-size:14px;line-height:1.8;color:#444;max-width:1050px}
@media(max-width:560px){
 .site-header .header-inner .brand .brand-name > .facility-name{font-size:clamp(14px,4vw,19px)!important}
 .rouken-about-inner{padding:24px 18px 0}
 .rouken-about-intro .section-heading h2{font-size:23px}
}

/* 施設紹介のみ：余計な縦線と白背景の指定を解除 */
.rouken-about-intro{background:transparent!important}
.rouken-about-intro .section-heading{gap:0!important}
.rouken-about-intro .section-heading>span{display:none!important}

/* 今回の修正1：法人名・施設名の開始座標を同じ親要素の左端に固定。
   ロゴ画像・ロゴ位置・ヘッダー全体の寸法は変更しない。 */
.site-header .header-inner a.brand > .brand-name {
  display:block!important;
  position:relative!important;
  flex:0 0 auto!important;
  width:220px!important;
  height:48px!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
  text-indent:0!important;
  transform:none!important;
}
.site-header .header-inner a.brand > .brand-name > .corporate-name,
.site-header .header-inner a.brand > .brand-name > .facility-name {
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  text-indent:0!important;
  text-align:left!important;
  white-space:nowrap!important;
  justify-self:auto!important;
  align-self:auto!important;
}
.site-header .header-inner a.brand > .brand-name > .corporate-name {top:0!important;font-size:11px!important;line-height:16px!important}
.site-header .header-inner a.brand > .brand-name > .facility-name {top:17px!important;font-size:19px!important;line-height:27px!important}

/* 今回の修正2：説明文からカードまでの縦余白を約半分に縮小 */
.rouken-about-intro .section-heading {margin-bottom:8px!important}
.rouken-about-inner {padding-bottom:3px!important}
.visit-section {padding-top:8px!important}

/* 2026-10-23: requested corrections only */
/* Logo stays an image, while the two lines are normal-flow text in the same column. */
.site-header .header-inner a.brand{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:12px!important;
}
.site-header .header-inner a.brand > .brand-name-aligned{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:center!important;gap:0!important;
  position:static!important;width:auto!important;height:auto!important;min-width:0!important;
  margin:0!important;padding:0!important;transform:none!important;text-align:left!important;
  flex:0 1 auto!important;
}
.site-header .header-inner a.brand > .brand-name-aligned > .corporate-name,
.site-header .header-inner a.brand > .brand-name-aligned > .facility-name{
  display:block!important;position:static!important;inset:auto!important;
  top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  width:auto!important;height:auto!important;min-width:0!important;
  margin:0!important;padding:0!important;text-indent:0!important;
  transform:none!important;float:none!important;align-self:flex-start!important;
  text-align:left!important;white-space:nowrap!important;
}
.site-header .header-inner a.brand > .brand-name-aligned > .corporate-name{
  font-size:11px!important;line-height:1.45!important;font-weight:500!important;
}
.site-header .header-inner a.brand > .brand-name-aligned > .facility-name{
  font-size:19px!important;line-height:1.35!important;font-weight:700!important;
}
/* Match index_user: the next card section begins with 11px top padding. */
.rouken-about-inner{padding-bottom:0!important}
.rouken-about-intro .section-heading{margin-bottom:0!important}
.visit-section{padding-top:11px!important}

/* 未公開の項目もリンクと同じ文字・余白・区切り線で表示（クリック不可） */
.footer-nav .footer-link-pending{display:inline-block;box-sizing:border-box;font-size:12px;color:#5b7865;font-family:inherit;font-weight:inherit;line-height:inherit;padding:0 14px;border-right:1px solid #bbd5c4;text-decoration:none;cursor:default;}
.footer-nav .footer-link-pending:last-child{border-right:0;}


/* 全ページ共通：現在ページのヘッダーナビ表示 */
.site-header .global-nav a[aria-current="page"]{color:#e66c96!important;}

/* トップ：お知らせと右3バナーを同じ上端・同じ高さに揃える */
.lower{align-items:stretch}
.lower-right{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;align-self:stretch}
.home-info-banner{min-height:0;box-sizing:border-box;display:grid;grid-template-columns:52px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:linear-gradient(110deg,#edf8e9,#fdf3f8);color:#236545;text-decoration:none;box-shadow:0 1px 7px rgba(22,112,168,.09);border:1px solid #e4eee5}
.home-info-banner:hover{background:linear-gradient(110deg,#e3f3de,#fae7f1)}
.home-info-icon{width:46px;height:46px;border-radius:50%;background:#fff;color:#d66b96;display:flex;align-items:center;justify-content:center;font-size:27px}
.home-info-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.home-info-body strong{font-size:17px;font-weight:700;line-height:1.35}
.home-info-body small{font-size:12px;color:#6b806f;line-height:1.4}
.home-info-arrow{font-size:27px;color:#d66b96}
@media(max-width:800px){.lower-right{grid-template-rows:none;grid-auto-rows:minmax(90px,auto)}.home-info-banner{min-height:90px}}
@media(max-width:560px){.home-info-body strong{font-size:15px}.home-info-body small{font-size:11px}}

/* ささやま医療センター：提供された実際の建物写真を使用 */
.lower-right .home-info-hospital {
  background-image:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.84) 47%,rgba(255,255,255,.12) 100%),url('../images/index_roken/hospital-intro.png');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  border-color:#dce8e4;
}
.lower-right .home-info-hospital:hover {
  background-image:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.75) 47%,rgba(255,255,255,.08) 100%),url('../images/index_roken/hospital-intro.png');
}
.lower-right .home-info-hospital .home-info-body strong {color:#205d42;text-shadow:0 1px 2px #fff}
.lower-right .home-info-hospital .home-info-body small {color:#40594c}

/* お知らせ表示を病院index_userと同じ日付・タイトル・区分順に統一 */
#news .news-category{color:#fff;border:0;font-weight:700;}
#news .news-category.category-info{background:#46a977;}
#news .news-category.category-important{background:#e58a19;}
#news .news-category.category-emergency{background:#d93636;}
#news li>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#news li>span a{color:inherit;text-decoration:none;}
#news li>span a:hover{text-decoration:underline;}
