/* ─── リハビリテーション科CSS ─────────────────── */

	/* ─── リセット・基本 ─────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.8;
      color: #222;
      background: #fff;
      letter-spacing: 0;
    }

    a { color: #005bac; text-decoration: none; }
    a:hover { text-decoration: underline; }

    /* ─── グローバルヘッダー ─────────────── */
    .global-header {
      background: #fff;
      border-bottom: 1px solid #ccc;
    }
    .global-header-inner {
      display: flex;
      align-items: center;
      max-width: 980px;
      margin: 0 auto;
      padding: 12px 24px;
    }
    .site-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
    }
    .site-logo-mark {
      width: 44px; height: 44px;
      background: #005bac;
      border-radius: 4px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .site-logo-mark svg { width: 26px; height: 26px; }
    .site-logo-text .name {
      display: block;
      font-size: 0.78rem;
      font-weight: 400;
      color: #777;
    }
    .site-logo-text .dept {
      display: block;
      font-size: 1.25rem;
      font-weight: 700;
      color: #1a1a1a;
      margin-top: 1px;
    }
    .header-tags {
      margin-left: auto;
      display: flex; gap: 8px; flex-wrap: wrap;
    }
    .header-tag {
      background: #f0f4f8;
      border: 1px solid #ccd6e0;
      border-radius: 3px;
      font-size: .72rem;
      color: #444;
      padding: 2px 10px;
    }

    /* ─── グローバルナビ ────────────────── */
    .global-nav {
      background: #005bac;
    }
    .global-nav ul {
      display: flex;
      list-style: none;
      max-width: 980px;
      margin: 0 auto;
      padding: 0 24px;
      overflow-x: auto;
    }
    .global-nav ul li a {
      display: block;
      color: rgba(255,255,255,.9);
      text-decoration: none;
      font-size: .82rem;
      font-weight: 500;
      padding: 10px 16px;
      white-space: nowrap;
      transition: background .15s;
    }
    .global-nav ul li a:hover,
    .global-nav ul li.current a {
      background: rgba(0,0,0,.18);
    }

    /* ─── メインレイアウト ──────────────── */
    .page-wrap {
      max-width: 980px;
      margin: 0 auto;
      padding: 32px 24px 60px;
    }

    /* ページタイトル */
    .page-title {
      font-size: 1.55rem;
      font-weight: 700;
      color: #1a1a1a;
      padding-bottom: 12px;
      border-bottom: 3px solid #005bac;
      margin-bottom: 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .btn-print {
      font-size: .75rem;
      color: #555;
      border: 1px solid #bbb;
      padding: 4px 12px;
      border-radius: 3px;
      cursor: pointer;
      background: #fafafa;
      font-weight: 400;
    }
    .btn-print:hover { background: #f0f0f0; }

    /* ─── セクション ────────────────────── */
    .section { margin-bottom: 36px; }

    .section-heading {
      font-size: 1.25rem;
      font-weight: 700;
      color: #1a1a1a;
      padding: 6px 12px;
      background: #fff;
      border-left: 5px solid #005bac;
      border-bottom: 1px solid #ccc;
      margin-bottom: 16px;
      padding-bottom: 10px;
    }

    .section-body { padding: 0 4px; }
    .section-body p { margin-bottom: .9em; }
    .section-body p:last-child { margin-bottom: 0; }

    /* サブ見出し */
    .subsection-heading {
      font-size: 1rem;
      font-weight: 700;
      color: #1a1a1a;
      border-bottom: 1px solid #ccc;
      padding-bottom: 5px;
      margin: 20px 0 12px;
    }

    /* グリーティングボックス */
    .greeting-text {
      font-size: 1rem;
      line-height: 1.8;
      color: #222;
    }
    .greeting-text p + p { margin-top: .85em; }
    .greeting-sign {
      text-align: right;
      font-size: .83rem;
      color: #555;
      margin-top: 12px;
    }

    /* ─── テーブル ──────────────────────── */
    table {
      width: 100%;
      border-collapse: collapse;
      font-size: 1rem;
      margin-bottom: 4px;
    }
    th {
      background: #e8eff7;
      color: #1a1a1a;
      font-weight: 700;
      padding: 8px 12px;
      border: 1px solid #c0cedf;
      text-align: left;
      vertical-align: top;
    }
    td {
      padding: 8px 12px;
      border: 1px solid #c0cedf;
      vertical-align: top;
      color: #222;
    }
    tr:nth-child(even) td { background: #f8fafd; }

    /* 施設基準リスト */
    .standards-list {
      list-style: none;
    }
    .standards-list li {
      padding: 6px 0;
    }

    /* ─── 部門カード ────────────────────── */
    .dept-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .dept-item {
      border: 1px solid #c0cedf;
      border-radius: 4px;
      padding: 16px;
      text-align: left;
    }
    .dept-item .dept-name { font-size: 1rem; font-weight: 700; color: #1a1a1a; }
    .dept-item .dept-en  { font-size: .72rem; color: #777; margin-top: 2px; }

    /* 部門紹介カードのヘッダー部分を少し目立たせる */
    .dept-list .dept-item > div:first-child {
      background: #eef3fb;
      border-left: 4px solid #005bac;
      margin: -16px -16px 0;
      padding: 12px 14px;
      border-radius: 3px 3px 0 0;
      border-bottom: 1px solid #c8d8eb;
    }
    .dept-list .dept-item > div:first-child .dept-name {
      font-size: 1.05rem;
      color: #0a3a72;
    }
    .dept-list .dept-item > div:first-child .dept-en {
      color: #5a7ca0;
    }

    /* ─── 委員会リスト ──────────────────── */
    .committee-list {
      column-count: 2;
      column-gap: 24px;
      list-style: none;
    }
    .committee-list li {
      break-inside: avoid;
      font-size: 1rem;
      padding: 4px 0;
      border-bottom: 1px dotted #ddd;
      display: flex; align-items: flex-start; gap: 6px;
    }
    .committee-list li::before {
      content: '・';
      color: #005bac;
      flex-shrink: 0;
    }

    /* ─── フッター ──────────────────────── */
    footer {
      background: #1a3a5c;
      color: rgba(255,255,255,.8);
      padding: 24px;
      font-size: .8rem;
      text-align: center;
      line-height: 2;
    }
    footer strong { color: #fff; font-size: .88rem; }
    footer small { display: block; margin-top: 8px; opacity: .55; }

    /* ─── レスポンシブ ──────────────────── */
    @media (max-width: 640px) {
      .page-wrap { padding: 20px 16px 40px; }
      .dept-list { grid-template-columns: 1fr; }
      .committee-list { column-count: 1; }
      .header-tags { display: none; }
      .global-nav ul { padding: 0 8px; }
    }
    @media print {
      .global-header, .global-nav, .breadcrumb-wrap, footer, .btn-print { display: none; }
    }

    /* ─── アコーディオン ────────────────── */
    .accordion-btn {
      width: 100%;
      background: none;
      border: none;
      cursor: pointer;
      text-align: left;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .accordion-btn:hover .dept-name { color: #005bac; }
    .accordion-arrow {
      font-size: 0.75rem;
      color: #005bac;
      flex-shrink: 0;
      transition: transform 0.2s;
    }
    .accordion-btn[aria-expanded="true"] .accordion-arrow {
      transform: rotate(180deg);
    }
    .accordion-body {
      display: none;
      padding: 16px 0 8px;
      border-top: 1px solid #e8e8e8;
      margin-top: 10px;
    }
    .accordion-body.open { display: block; }
    /* 部門紹介の常時展開用 */
    .dept-item > .accordion-body {
      border-top: 1px solid #e0e8f4;
      margin-top: 8px;
    }

    /* PT内コンテンツ */
    .pt-header {
      font-size: 1rem;
      font-weight: 700;
      color: #005bac;
      letter-spacing: .05em;
      margin-bottom: 14px;
      text-align: left;
    }
    .pt-subsection {
      font-size: 0.95rem;
      font-weight: 700;
      color: #1a1a1a;
      border-left: 3px solid #005bac;
      padding-left: 8px;
      margin: 18px 0 8px;
    }
    .pt-body {
      font-size: 1rem;
      line-height: 1.8;
      color: #222;
      margin-bottom: 8px;
    }
    .pt-body a { color: #005bac; }
    .pt-disease-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.9rem;
      margin-top: 8px;
    }
    .pt-disease-table th {
      background: #e8eff7;
      color: #1a1a1a;
      font-weight: 700;
      padding: 7px 12px;
      border: 1px solid #c0cedf;
      text-align: left;
      width: 130px;
    }
    .pt-disease-table td {
      padding: 7px 12px;
      border: 1px solid #c0cedf;
      color: #222;
      line-height: 1.7;
    }
    .pt-team-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.9rem;
      margin-top: 8px;
    }
    .pt-team-table th {
      background: #e8eff7;
      color: #1a1a1a;
      font-weight: 700;
      padding: 7px 12px;
      border: 1px solid #c0cedf;
      text-align: left;
    }
    .pt-team-table td {
      padding: 7px 12px;
      border: 1px solid #c0cedf;
      color: #222;
      line-height: 1.7;
    }


    /* ─── スタッフページ内インデックス ────── */
    .staff-index {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 28px;
      border: 1px solid #c0cedf;
      border-radius: 6px;
      padding: 14px 16px;
      background: #f5f8fc;
    }
    .staff-index-item {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #005bac;
      font-size: .9rem;
      font-weight: 700;
      text-decoration: none;
      padding: 6px 16px;
      border: 1.5px solid #005bac;
      border-radius: 3px;
      background: #fff;
      transition: background .15s, color .15s;
    }
    .staff-index-item::before {
      content: '▼';
      font-size: .6rem;
      color: #005bac;
    }
    .staff-index-item:hover {
      background: #005bac;
      color: #fff;
      text-decoration: none;
    }
    .staff-index-item:hover::before {
      color: #fff;
    }

    /* スタッフタブ内のdept-itemは枠なし */
    #tab-staff .dept-item {
      border: none;
      padding: 0;
      border-radius: 0;
    }

    /* ─── スタッフページ ────────────────── */
    .staff-summary {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      margin-bottom: 28px;
    }
    .staff-summary-card {
      flex: 1;
      min-width: 120px;
      border: 1px solid #c0cedf;
      border-radius: 6px;
      padding: 14px 16px;
      text-align: center;
    }
    .staff-summary-card .count {
      font-size: 2rem;
      font-weight: 700;
      color: #005bac;
      line-height: 1.2;
    }
    .staff-summary-card .count-unit {
      font-size: 0.9rem;
      color: #005bac;
      font-weight: 700;
    }
    .staff-summary-card .role {
      font-size: 0.85rem;
      color: #555;
      margin-top: 4px;
    }
    .staff-summary-card .sub {
      font-size: 0.75rem;
      color: #888;
      margin-top: 2px;
    }
    .staff-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.95rem;
      margin-bottom: 4px;
    }
    .staff-table th {
      background: #fff;
      color: #1a1a1a;
      font-weight: 700;
      padding: 8px 12px;
      border: none;
      border-bottom: 2px solid #005bac;
      text-align: left;
    }
    .staff-table td {
      padding: 8px 12px;
      border: none;
      border-bottom: 1px solid #e0e0e0;
      color: #222;
      line-height: 1.7;
      vertical-align: top;
    }
    .staff-table td:nth-child(3) {
      white-space: nowrap;
    }
    .staff-table tr:last-child td { border-bottom: none; }
    .staff-role-badge {
      font-size: 1rem;
      color: #222;
      font-weight: 700;
    }
    .staff-name {
      font-weight: 700;
      font-size: 1rem;
    }
    .cert-group-title {
      font-size: 0.9rem;
      font-weight: 700;
      color: #005bac;
      margin: 16px 0 6px;
      border-bottom: 1px solid #dde5f0;
      padding-bottom: 4px;
    }
    .school-list {
      list-style: none;
      font-size: 0.95rem;
      line-height: 2;
      color: #222;
    }
    .school-list li::before { content: '・'; color: #005bac; }


    /* ─── タブ切り替え ──────────────────── */
    .tab-content { display: block; }
    .global-nav ul li.current a {
      background: rgba(0,0,0,.18);
      border-bottom: 3px solid #fff;
    }


    /* ─── 診療実績 ──────────────────────── */
    .jisseki-year {
      font-size: 0.85rem;
      color: #666;
      margin-bottom: 20px;
    }
    .jisseki-year-inline {
      font-size: 1.25rem;
      color: #1a1a1a;
      font-weight: 700;
      margin-left: 12px;
    }
    .jisseki-dept-title {
      font-size: 1.05rem;
      font-weight: 700;
      color: #fff;
      background: #005bac;
      padding: 6px 14px;
      border-radius: 4px;
      margin: 20px 0 10px;
      display: inline-block;
    }
    .jisseki-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.95rem;
      margin-bottom: 6px;
    }
    .jisseki-table th {
      background: #fff;
      font-weight: 700;
      padding: 7px 12px;
      border: none;
      border-bottom: 2px solid #005bac;
      text-align: left;
      color: #1a1a1a;
    }
    .jisseki-table th.num { text-align: right; }
    .jisseki-table td {
      padding: 7px 12px;
      border: none;
      border-bottom: 1px solid #e0e0e0;
      color: #222;
      vertical-align: middle;
    }
    .jisseki-table td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
    .jisseki-table tr:last-child td { border-bottom: none; }
    .jisseki-table tr.total-row td {
      font-weight: 700;
      background: #e8f0f8;
      border-top: 1px solid #c0cedf;
      border-bottom: none;
    }
    /* 治療種目別：疾患行はすべて白 */
    .jisseki-grid .jisseki-table tr:not(.total-row) td {
      background: #fff;
    }
    /* 新患テーブル：合計以外は白 */
    .shinsatsu-table tr:not(.total-row) td {
      background: #fff;
    }
    /* 治療種目別：3列レイアウト */
    .jisseki-grid .jisseki-table {
      table-layout: auto;
      width: 100%;
    }
    .jisseki-grid .jisseki-table td:first-child {
      white-space: nowrap;
    }
    .jisseki-grid .jisseki-table td.num {
      text-align: right;
      white-space: nowrap;
      padding-left: 4px;
    }
    .jisseki-note {
      font-size: 0.95rem;
      color: #222;
      margin: 4px 0 8px 0;
      white-space: nowrap;
    }
    .jisseki-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 20px;
      margin-top: 8px;
    }
    .jisseki-grid-item h4 {
      font-size: 0.95rem;
      font-weight: 700;
      color: #005bac;
      border-bottom: 1px solid #c0cedf;
      padding-bottom: 4px;
      margin-bottom: 8px;
    }


    /* ─── 業績ページ ────────────────────── */
    .gyoseki-year-header {
      font-size: 1.1rem;
      font-weight: 700;
      color: #1a1a1a;
    }
    .gyoseki-year-sub {
      font-size: 0.85rem;
      color: #005bac;
      margin-top: 2px;
    }
    .gyoseki-category {
      font-size: 0.9rem;
      font-weight: 700;
      color: #005bac;
      border-bottom: 1px solid #c0cedf;
      padding-bottom: 4px;
      margin: 16px 0 10px;
    }
    .gyoseki-item {
      font-size: 0.95rem;
      line-height: 1.8;
      color: #222;
      padding: 8px 0;
      border-bottom: 0.5px solid #e0e0e0;
      margin-bottom: 0;
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }
    .gyoseki-item:last-child { border-bottom: none; }
    .gyoseki-num {
      flex-shrink: 0;
      width: 20px;
      font-size: 13px;
      font-weight: 500;
      color: #222;
      padding-top: 2px;
    }
    .gyoseki-text {
      flex: 1;
      min-width: 0;
    }
    .gyoseki-author {
      font-weight: 700;
      color: #222;
    }
    .gyoseki-outside {
      font-size: 0.95rem;
      line-height: 1.8;
      color: #222;
      padding: 8px 0;
      border-bottom: 0.5px solid #e0e0e0;
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }
    .gyoseki-outside:last-child { border-bottom: none; }
    .gyoseki-outside strong {
      font-weight: 700;
      color: #222;
    }

    .study-subhead {
      font-size: 1rem;
      font-weight: 700;
      color: #1a1a1a;
      padding: 5px 10px;
      background: #fff;
      border-left: 4px solid #005bac;
      margin: 20px 0 12px;
    }
    .study-content { margin-bottom: 16px; }


	/* メインナビゲーション
	----------------------------------*/
ul#mainnav {
	float: right;
	height: 73px;
	width: 620px;
	margin-left: 50px;
	margin-top: 20px;
	margin-bottom: 20px;
	list-style: none;
}

ul#mainnav li {
float: left;
height: 73px;
width: 120px;
margin-left: 2px;
margin-top: 2px;
/*	display: inline;
margin-left: 10px;
font-size: 90%;*/
}

ul#mainnav li a {
height: 73px;
width: 120px;
display: block;
text-indent: -99999px;
/*	padding: 2px 3px;*/
/*	padding: 2px 15px;*/
/*	color:#000;*/
/*	background:url(/common/img/2023/10/arrowSub.png) no-repeat 0 5px;*/
/*	background-position: 0% 50%;*/
}

ul#mainnav li a:hover{
color:#bababa;
/*	background-position:0 -10px;*/
}
ul#mainnav li.mm_patient {
background:url(/common/img/2023/10/mm_btn_jushin_27.png);
}
ul#mainnav li.mm_service {
background:url(/common/img/2023/10/mm_btn_shinryo_27.png);
}
ul#mainnav li.mm_renkei {
background:url(/common/img/2023/10/mm_btn_renkei_27.png);
}
ul#mainnav li.mm_staff {
background:url(/common/img/2023/10/mm_btn_saiyo_27.png);
}
ul#mainnav li.mm_access {
background:url(/common/img/2023/10/mm_btn_access_27.png);
}
ul#mainnav li.mm_patient:hover,
ul#mainnav li.mm_patient.current_page_item,
ul#mainnav li.mm_patient.current-page-item,
ul#mainnav li.mm_patient.current_page_ancestor,
ul#mainnav li.mm_patient.current-page-ancestor {
background:url(/common/img/2023/10/mm_btn_jushin_27_cr.png);
}
ul#mainnav li.mm_service:hover,
ul#mainnav li.mm_service.current_page_item,
ul#mainnav li.mm_service.current-page-item,
ul#mainnav li.mm_service.current_page_ancestor,
ul#mainnav li.mm_service.current-page-ancestor {
background:url(/common/img/2023/10/mm_btn_shinryo_27_cr.png);
}
ul#mainnav li.mm_renkei:hover,
ul#mainnav li.mm_renkei.current_page_item,
ul#mainnav li.mm_renkei.current-page-item,
ul#mainnav li.mm_renkei.current_page_ancestor,
ul#mainnav li.mm_renkei.current-page-ancestor {
background:url(/common/img/2023/10/mm_btn_renkei_27_cr.png);
}
ul#mainnav li.mm_staff:hover,
ul#mainnav li.mm_staff.current_page_item,
ul#mainnav li.mm_staff.current-page-item,
ul#mainnav li.mm_staff.current_page_ancestor,
ul#mainnav li.mm_staff.current-page-ancestor {
background:url(/common/img/2023/10/mm_btn_saiyo_27_cr.png);
}
ul#mainnav li.mm_access:hover,
ul#mainnav li.mm_access.current_page_item,
ul#mainnav li.mm_access.current-page-item,
ul#mainnav li.mm_access.current_page_ancestor,
ul#mainnav li.mm_access.current-page-ancestor {
background:url(/common/img/2023/10/mm_btn_access_27_cr.png);
}

/* 画像レスポンシブ　親（PC・スマホ共通で3列） */
.image_trim {
  display: flex;
  gap: 16px; /* 画像間の余白（お好みで調整） */
	margin-bottom:15px;
}

/* 各カラムの比率 */
.leha_box_left { flex: 1; }
.leha_box_center { flex: 1; }
.leha_box_right { flex: 1; }

/* 画像の基本設定（PC向け：例として横長 16:9） */
.leha_box img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; /* PC時の縦横比（横長） */
  object-fit: cover;    /* 縦横比が変わっても画像を変形させずにトリミング */
  display: block;
}

/* スマホ向けの切り替え（画面幅768px以下） */
@media screen and (max-width: 768px) {
  .image_trim {
    gap: 8px; /* スマホ用に余白を少し狭くする（任意） */
  }

  .leha_box img {
    aspect-ratio: 2 / 3; /* スマホ時の縦横比（縦長：3:4 や 2:3 など） */
	height: 180px;

  }


}