/* ご利用案内：index_rokenの緑系配色とoutpatientのヒーロー・本文配置を踏襲 */
.guide-hero{height:330px;position:relative;overflow:hidden;background:#e8f6ed}
.guide-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}
.guide-hero-copy{position:absolute;z-index:2;left:max(calc((100% - 1240px)/2 + 55px),7%);top:77px}
.guide-hero-copy h1{margin:0;color:#216c4b;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:48px;letter-spacing:.06em;font-weight:600;text-shadow:0 1px 2px #ffffffb5}
.guide-hero-copy p{margin:17px 0 0;font-size:16px;line-height:1.9;font-weight:600;color:#285d48}
.guide-hero-wave{position:absolute;z-index:3;left:-3%;bottom:-28px;width:106%;height:70px;background:#f0fbf3;border-radius:50% 50% 0 0/62% 62% 0 0}
.guide-breadcrumb{max-width:1240px;margin:0 auto;padding:12px 20px 23px;color:#5c8a70;font-size:13px;display:flex;gap:13px}
.guide-breadcrumb a{color:#32845d}
.guide-main{max-width:1240px;margin:0 auto;padding:0 20px 62px;display:grid;gap:22px}
.guide-panel{background:#fff;border:1px solid #d9ebdd;border-radius:14px;padding:22px 26px 25px;box-shadow:0 3px 12px rgba(36,101,63,.055)}
.guide-panel-heading{display:flex;align-items:center;gap:0;padding:0 0 16px;border-bottom:1px solid #e6f1e8;margin-bottom:19px}
.guide-panel-heading h2{font-size:25px;margin:0;color:#216c4b}
.guide-panel-icon{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#e1f2e7;color:#278657;font-size:28px;font-weight:700}
.eligible-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;list-style:none;margin:0;padding:4px 4px 3px}
.eligible-list li{display:flex;gap:15px;align-items:center;padding:16px 12px;background:#f4faf5;border-radius:10px}
.number,.step-num{flex:none;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#51a965;color:white;font-size:21px;font-weight:700}
.eligible-list p{margin:0;line-height:1.75;font-size:15px;color:#345f49}
.steps{display:grid;gap:13px}
.step{display:grid;grid-template-columns:235px 1fr;gap:18px;align-items:start;padding:12px 0}
.step+.step{border-top:1px solid #e3efe7}
.step-name{display:flex;align-items:center;gap:15px}
.step-name h3{margin:0;font-size:20px;color:#27764e}
.step-body{font-size:15px;line-height:1.85;color:#3c5e4a}
.step-body>p{margin:5px 0 0}
.documents{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.document{padding:12px 14px;background:#f5fbf7;border:1px solid #e1efe4;border-radius:9px}
.document strong{font-size:15px;color:#246c48}
.document p{font-size:13px;line-height:1.75;margin:5px 0 0}
.step-note{margin-top:14px!important;padding:11px 15px;background:#e9f6ec;border-radius:8px}
.brochure-status{margin:0;padding:15px 18px;background:#f4faf5;border-radius:9px;color:#517661;font-size:15px}
.guide-footer-visual{height:135px;position:relative;overflow:hidden;background:#f0fbf3}
.guide-footer-visual:before{content:"";position:absolute;left:-4%;right:-4%;bottom:-46px;height:105px;background:#d0ead9;border-radius:50% 50% 0 0/70% 70% 0 0}
.guide-mountain{position:absolute;bottom:18px;left:28%;width:45%;height:73px;background:rgba(116,185,135,.20);clip-path:polygon(0 100%,15% 55%,29% 86%,43% 31%,55% 75%,67% 43%,79% 79%,91% 51%,100% 100%)}
.guide-mountain.two{left:42%;bottom:9px;width:34%;height:54px;opacity:.65}
@media(max-width:850px){.eligible-list{grid-template-columns:1fr}.step{grid-template-columns:1fr;gap:10px}.documents{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.guide-hero{height:270px}.guide-hero-copy{left:6%;top:55px}.guide-hero-copy h1{font-size:34px}.guide-hero-copy p{font-size:13px}.guide-panel{padding:18px 15px}.guide-panel-heading h2{font-size:20px}.documents{grid-template-columns:1fr}.eligible-list li{align-items:flex-start}.step-name h3{font-size:18px}}

/* outpatient.html のサブナビとヒーロー寸法・画像位置を忠実に継承（緑系のみ変更） */
.guide-sub-nav{height:64px;background:linear-gradient(90deg,#effaf1,#e0f3e6);border-bottom:1px solid #cce6d4;position:relative;z-index:15}
.guide-sub-nav-inner{max-width:1240px;height:64px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr)}
.guide-sub-nav a{position:relative;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#46745b;border-right:1px solid #c8e2d0;transition:color .2s,background .2s}
.guide-sub-nav a:first-child{border-left:1px solid #c8e2d0}
.guide-sub-nav a:hover,.guide-sub-nav a:focus-visible{color:#177747;background:#fff8;box-shadow:inset 0 -4px 0 #84c99c}
.guide-hero{height:330px!important;position:relative;overflow:hidden;background:#eef9f0}
.guide-hero>.guide-hero-image{position:absolute;top:50%;right:max(calc((100% - 1240px)/2 + 20px),20px);left:auto;width:55%;height:auto;max-width:none;object-fit:initial;transform:translateY(-50%);display:block}
.guide-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#eef9f0 0%,#eef9f0 28%,rgba(238,249,240,.96) 38%,rgba(238,249,240,.62) 50%,rgba(238,249,240,.14) 66%,rgba(238,249,240,0) 82%);pointer-events:none}
.guide-hero-copy{top:75px}
@media(max-width:800px){.guide-sub-nav,.guide-sub-nav-inner{height:auto}.guide-sub-nav-inner{grid-template-columns:repeat(2,1fr);padding:0}.guide-sub-nav a{min-height:58px}.guide-hero{height:300px!important}.guide-hero>.guide-hero-image{width:68%}}
@media(max-width:560px){.guide-sub-nav a{font-size:12px}.guide-hero{height:260px!important}.guide-hero>.guide-hero-image{width:100%;opacity:.64}.guide-hero-overlay{background:linear-gradient(90deg,rgba(238,249,240,.98) 0%,rgba(238,249,240,.91) 48%,rgba(238,249,240,.42) 100%)}.guide-hero-copy{top:58px}}


/* 上部リンク：添付procedureのsub-navを踏襲。選択中は緑文字のみ、下線なし。 */
.guide-sub-nav .guide-sub-nav-inner>a{color:#6e7c73;background:transparent;box-shadow:none;transition:color .18s,background-color .18s,box-shadow .18s}
.guide-sub-nav .guide-sub-nav-inner>a.current,
.guide-sub-nav .guide-sub-nav-inner>a[aria-current="page"]{color:#177747;background:transparent;box-shadow:none}
.guide-sub-nav .guide-sub-nav-inner>a.current::after,
.guide-sub-nav .guide-sub-nav-inner>a[aria-current="page"]::after{content:none;display:none}
.guide-sub-nav .guide-sub-nav-inner>a:not(.current):hover,
.guide-sub-nav .guide-sub-nav-inner>a:not(.current):focus-visible{
  color:#177747;background:rgba(255,255,255,.38);box-shadow:inset 0 -5px 0 #e9a0c0
}
/* 添付procedureのdetail-titleと同様、各項目の見出し左端にピンクの縦線 */
.guide-panel-heading{border-left:5px solid #e9a0c0;padding:10px 14px;margin-bottom:19px;border-bottom:0;border-radius:8px;background:#eaf7ed}

/* 5ページ共通ナビゲーション */
@media(min-width:801px){.guide-sub-nav-inner{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ご利用案内のみ：横長画像が高さ不足で上部に余白を作らないよう補正 */
.guide-hero > .guide-hero-image {
  top: 0;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
}

.access-content{padding-top:22px}
.access-heading{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:end;margin-bottom:22px}
.access-heading h1{margin:0;color:#216c4b;font-size:36px;line-height:1.2;padding-bottom:9px;border-bottom:4px solid #f38ba8}
.access-section{margin-top:28px}
.access-section>h2{margin:0 0 15px;padding:11px 18px;background:#edf8f0;border-left:5px solid #f38ba8;border-radius:8px;color:#216c4b;font-size:23px}
.location-grid{display:grid;grid-template-columns:38% 62%;background:#fff;border:1px solid #d9ebdd;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(22,112,168,.06)}
.location-card{padding:30px;display:flex;flex-direction:column;justify-content:center}
.access-label{font-size:13px;font-weight:700;color:#6a8798}.address,.tel{margin:5px 0 22px;color:#345f49;font-size:18px;font-weight:700;line-height:1.8}.tel{margin-bottom:0}.tel a{color:#216c4b;font-size:22px}
.map-wrap{min-height:360px}.map-wrap iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
.parking-summary{display:flex;align-items:baseline;gap:13px;margin-bottom:12px;padding:14px 20px;background:#fff;border:1px solid #d9ebdd;border-radius:10px}.parking-summary strong{font-size:34px;color:#216c4b}.parking-summary span{font-weight:700}
.parking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.parking-card{display:grid;grid-template-columns:68px 1fr;gap:17px;padding:22px;background:#fff;border:1px solid #d9ebdd;border-radius:12px}.parking-count{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#278657;color:#fff;font-size:18px;font-weight:800;box-shadow:inset 0 -5px 0 #f38ba8}.parking-card h3{margin:1px 0 6px;color:#216c4b;font-size:19px}.parking-card p{margin:0;color:#426b50;font-size:14px;line-height:1.75}
.section-lead{margin:0 0 14px;color:#426b50}.train-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.route-card,.bus-card{padding:22px;background:#fff;border:1px solid #d9ebdd;border-radius:12px}.route-tag{display:inline-block;padding:3px 11px;background:#edf8f0;border-radius:18px;color:#216c4b;font-size:13px;font-weight:700}.route-card h3,.bus-card h3{margin:10px 0 14px;color:#216c4b;font-size:19px}.route-line,.bus-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:13px;background:#f5fbf7;border-radius:8px}.route-line span,.bus-flow span{padding:7px 10px;background:#fff;border:1px solid #d9ebdd;border-radius:7px;font-size:13px;font-weight:700}.route-line b,.bus-flow b{color:#e9974d}.route-card p,.bus-card p{margin:13px 0 0;color:#426b50;font-size:13px}.bus-card{margin-top:14px}
.car-head{padding:17px 22px;background:linear-gradient(90deg,#e9f8ff,#fff7ee);border:1px solid #d9ebdd;border-radius:12px 12px 0 0;color:#216c4b;font-size:19px}
.car-route{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #d9ebdd;border-top:0;border-radius:0 0 12px 12px;overflow:hidden}.car-route li{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:center;padding:17px 22px;border-top:1px solid #e4f0f7}.car-route li:first-child{border-top:0}.step-no{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#278657;color:#fff;font-weight:800;box-shadow:inset 0 -4px 0 #f38ba8}.car-route strong{color:#345f49;font-size:16px}.car-route p{margin:3px 0 0;color:#587563;font-size:14px}
.access-note{margin-top:22px;padding:15px 18px;background:#fff7ee;border-left:5px solid #f38ba8;border-radius:8px;color:#6b5b4b;font-size:13px}


@media(max-width:800px){
 
 .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;border-bottom:1px solid #c9e7f4}
 .hero{height:250px}.hero-image{right:0;width:78%}.hero-copy{left:28px;top:60px}.hero-copy h1{font-size:36px}.hero-copy p{font-size:14px}.breadcrumb{padding-left:14px;padding-right:14px}.content{padding-left:14px;padding-right:14px}
 .access-heading h1{font-size:30px}.location-grid,.parking-grid,.train-grid{grid-template-columns:1fr}.map-wrap,.map-wrap iframe{min-height:300px}.parking-card{grid-template-columns:58px 1fr}.parking-count{width:54px;height:54px}.bus-flow{display:grid;grid-template-columns:1fr}.bus-flow b{display:none}.car-route li{grid-template-columns:46px 1fr;padding:15px 14px}.step-no{width:38px;height:38px}
 .footer-inner{grid-template-columns:1fr}.footer-info{border-right:0;border-bottom:1px solid #d6e4ed;padding-bottom:20px}
}


/* 公共交通：患者さんが乗り場・所要時間を一目で確認できる表示 */
.nearest-station{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;margin-bottom:18px;background:#fff;border:1px solid #d9ebdd;border-radius:12px}
.nearest-station div{display:flex;align-items:center;gap:13px}.nearest-station span{padding:4px 10px;border-radius:18px;background:#edf8f0;color:#216c4b;font-size:13px;font-weight:700}.nearest-station strong{color:#216c4b;font-size:20px}.nearest-station p{margin:0;color:#587563;font-size:13px}
.access-subtitle{margin:22px 0 12px;color:#345f49;font-size:19px}.bus-subtitle{margin-top:28px}
.time-badge{margin-top:13px;padding:9px 12px;border-radius:7px;background:#fff7ee;color:#6a5a49;font-size:13px}.time-badge strong{margin-left:7px;color:#d77c2d;font-size:16px}
.bus-guide{padding:22px;background:#fff;border:1px solid #d9ebdd;border-radius:14px;box-shadow:0 3px 12px rgba(22,112,168,.05)}
.bus-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.bus-summary>div{display:flex;align-items:baseline;justify-content:space-between;padding:13px 16px;border-radius:9px;background:#e9f6ec}.bus-summary span{color:#426b50;font-size:13px;font-weight:700}.bus-summary strong{color:#216c4b;font-size:22px}
.bus-steps{max-width:850px;margin:0 auto}.bus-step{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:14px 18px;border:1px solid #d9ebdd;border-radius:10px;background:#f9fdff}.bus-step.important{border:2px solid #8fd0ee;background:#eefaff}.bus-no{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#278657;color:#fff;font-weight:800;box-shadow:inset 0 -4px 0 #f38ba8}.bus-step small{display:block;margin-bottom:2px;color:#68859a;font-size:12px}.bus-step strong{display:block;color:#216c4b;font-size:17px}.bus-step p{margin:3px 0 0;color:#426b50;font-size:13px}.bus-arrow{text-align:center;color:#e9974d;font-size:23px;font-weight:800;line-height:1.3}
.bus-total{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:18px;padding:14px;border-radius:9px;background:#fff7ee}.bus-total span{font-weight:700;color:#5d7080}.bus-total strong{color:#d77c2d;font-size:21px}.bus-total small{color:#7c7c7c}
.bus-caution{margin:15px 0 10px;color:#68859a;font-size:12px}.timetable-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 17px;border:1px solid #278657;border-radius:7px;color:#216c4b;background:#fff;font-size:13px;font-weight:700}.timetable-link:hover,.timetable-link:focus-visible{background:#eef9ff;box-shadow:inset 0 -4px 0 #f38ba8}
@media(max-width:800px){.nearest-station{display:block}.nearest-station div{align-items:flex-start;flex-direction:column;gap:6px}.nearest-station p{margin-top:9px}.bus-summary{grid-template-columns:1fr}.bus-total{display:block;text-align:center}.bus-total span,.bus-total strong,.bus-total small{display:block}.bus-step{grid-template-columns:42px 1fr;padding:13px 12px}.bus-no{width:36px;height:36px}.timetable-link{width:100%;justify-content:center}}


/* 電車経路：大阪・神戸カードの高さを統一 */
.train-grid{align-items:stretch}
.train-card{display:flex;flex-direction:column;height:100%}
.train-card h3{min-height:34px}
.station-route{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:15px 10px 11px;
  background:#f5fbf7;
  border-radius:8px;
}
.station{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  background:#fff;
  border:1px solid #d9ebdd;
  border-radius:7px;
  color:#345f49;
  font-size:13px;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
.rail-arrow{
  position:relative;
  min-width:58px;
  padding-top:18px;
  text-align:center;
  flex:none;
}
.rail-arrow small{
  position:absolute;
  left:50%;
  top:-4px;
  transform:translateX(-50%);
  color:#216c4b;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.rail-arrow b{
  display:block;
  color:#e9974d;
  font-size:21px;
  line-height:1;
}
.transfer-arrow{min-width:82px}
.train-card .time-badge{margin-top:13px}
.train-card>p{margin-top:13px;min-height:46px}

/* 2枚のカード内で所要時間・説明文の縦位置を揃える */
.train-card .time-badge{margin-top:auto}

@media(max-width:800px){
 .train-card h3,.train-card>p{min-height:0}
 .station-route{min-height:0;flex-wrap:wrap}
 .rail-arrow{min-width:56px}
 .transfer-arrow{min-width:78px}
}

/* バス所要時間：サイト共通アクセントカラー */
.bus-summary .bus-time-orange{color:#d77c2d;}

@media(max-width:800px){
  .access-heading{grid-template-columns:1fr}
  .access-heading h1{width:260px;max-width:100%}
}



/* 老健の既存デザインに合わせたアクセス本文のみの調整 */
.access-content{padding-top:12px}
.access-heading{display:block;margin-bottom:22px}
.access-heading h1{font-size:30px;border:0;padding:0;color:#216c4b}
.access-section>h2{background:#edf8f0;border-left:6px solid #fa6094;color:#216c4b}
.access-content{color:#345f49}
.access-hero .guide-hero-copy{top:77px}
@media(max-width:560px){.access-hero .guide-hero-copy{top:55px}.access-heading h1{font-size:25px}}

/* 交通アクセス：ヒーロー画像の表示を最終的に一元管理 */
.access-hero.guide-hero {height:330px!important;overflow:hidden;position:relative;}
.access-hero.guide-hero > img.guide-hero-image {
 position:absolute;left:auto;right:max(calc((100% - 1240px)/2 + 20px),20px);
 top:50%;width:55%;height:auto;max-width:none;max-height:100%;
 object-fit:contain;object-position:center center;transform:translateY(-50%);opacity:1;
}
@media(max-width:800px){
 .access-hero.guide-hero{height:300px!important}
 .access-hero.guide-hero > img.guide-hero-image{width:68%;max-height:100%}
}
@media(max-width:560px){
 .access-hero.guide-hero{height:260px!important}
 .access-hero.guide-hero > img.guide-hero-image{width:78%;max-height:100%;opacity:1}
}

/* 元の添付 style_access.css の .content 定義を復元。
   アクセス本文を画面幅いっぱいにせず、1240px以内に中央配置する。 */
.access-content {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding: 12px 20px 56px;
}
@media (max-width: 800px) {
  .access-content { padding-left: 14px; padding-right: 14px; }
}

/* 交通アクセスのみ：ヘッダーは共通CSSの位置を維持し、アクセスをピンクで表示 */
.site-header .global-nav a:first-child {color:#216c4b;}
.site-header .global-nav a[href="access_roken.html"],
.site-header .global-nav a.access-current {color:#e66c96;}
.site-header .global-nav a.access-current::after {content:none;display:none;}
/* ご利用案内は選択中ではない */
.guide-sub-nav .guide-sub-nav-inner>a[href="guide_roken.html"] {color:#6e7c73;background:transparent;box-shadow:none;}

/* style_access(3).css を基準としたヘッダー配置（元CSSと同じ寸法） */
.site-header {height:95px;position:relative;z-index:20;}
.site-header .header-inner {max-width:1240px;height:95px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:32px;}
.site-header .brand {width:390px;display:flex;align-items:center;flex:none;}
.site-header .global-nav {height:100%;display:flex;align-items:center;gap:42px;flex:1;}
.site-header .global-nav a {height:100%;display:flex;align-items:center;position:relative;font-size:16px;font-weight:600;white-space:nowrap;}
.site-header .header-tools {display:flex;gap:24px;white-space:nowrap;font-size:15px;font-weight:600;}
/* アクセスのみ選択中：ご利用案内の選択表示は付けない */
.site-header .global-nav a[href="index_roken.html"] {color:#216c4b;}
.site-header .global-nav a[href="access_roken.html"] {color:#e66c96;}
.guide-sub-nav a[href="guide_roken.html"] {color:#46745b;background:transparent;box-shadow:none;}
@media(max-width:800px) {
 .site-header {height:auto;min-height:95px;}
 .site-header .header-inner {height:auto;min-height:95px;flex-wrap:wrap;gap:12px;padding:8px 14px;}
 .site-header .brand {width:auto;max-width:100%;}
 .site-header .global-nav {flex:1;gap:20px;}
 .site-header .global-nav a {height:auto;min-height:42px;}
}

/* 交通アクセス：添付 style_access(3).css の .hero-image と同一座標・寸法 */
.access-hero.guide-hero {height:330px!important;position:relative;overflow:hidden;}
.access-hero.guide-hero > img.guide-hero-image {
  position:absolute;top:50%;left:auto;
  right:max(calc((100% - 1240px)/2 + 20px),20px);
  width:55%;height:auto;max-width:none;max-height:none;
  display:block;object-fit:initial;transform:translateY(-50%);opacity:1;
}
/* 自動車アクセス見出し：緑からピンクへのグラデーション */
.access-content .car-head {
  background:linear-gradient(90deg,#e7f6ea 0%,#fff0f6 100%);
}
@media(max-width:800px){
  .access-hero.guide-hero {height:330px!important;}
  .access-hero.guide-hero > img.guide-hero-image {width:55%;max-height:none;}
}
@media(max-width:560px){
  .access-hero.guide-hero {height:250px!important;}
  .access-hero.guide-hero > img.guide-hero-image {
    top:50%;right:0;width:78%;height:auto;max-height:none;
    object-fit:initial;transform:translateY(-50%);opacity:1;
  }
}

/* 未公開の項目もリンクと同じ文字・余白・区切り線で表示（クリック不可） */
.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;}
