/* 1) 外側のラッパーで横スクロールを有効に */
.table-scroll-wrapper {
  width: 100%;         /* 必要に応じて最大幅を指定 */
  overflow-x: auto;
  margin-bottom: 1em;
  padding-bottom: 1em;
}

/* 2) テーブル本体は中身に合わせて幅を伸ばす */
.table-scroll-wrapper table {
  border-collapse: collapse;
  width: max-content;  /* テーブル幅は中の列幅の合計に */
  min-width: 100%;     /* コンテナ幅以上は広がる */
}

/* 3) セルの基本スタイル */
.table-scroll-wrapper th,
.table-scroll-wrapper td {
  padding: 8px 12px;
  border: 1px solid #ddd;
  white-space: nowrap; /* 改行せずに水平スクロールさせる */
  text-align: left;
}

.table-scroll-wrapper th {
  background: #f4f4f4;
  font-weight: bold;
  width: 10em;
}

.table-scroll-wrapper th {
  background: #f4f4f4;
  font-weight: bold;
  width: 10em;
}

/* 4) １列目を固定表示 */
.table-scroll-wrapper table:not(.clinic-hours-table) th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;          /* 他セルより手前に */
}

h4 {
  margin-bottom: 1em !important;
}

.clinic-hours-table {
  font-size: 0.9em;
}
.clinic-hours-table th {
  background: #f4f4f4;
  font-weight: bold;
  text-align: center;
  width: 6em;
}
.clinic-hours-table td {
  text-align: center;
}

/* 目次 */
#rtoc {
    font-size: 0.9em;
    margin: 2em 0;
    padding: 1em 1em;
    border: 2px solid #BBAF9B;
}
#rtoc ol {
    list-style-position: inside;
    padding-inline-start: 0;
}
#rtoc li {
    font-size: 0.9em;
    padding-bottom: 0.5em;
}
#rtoc a {
    text-decoration: none;
}

#rtoc .contents1 {
    padding-left: 0px;
}

#rtoc .contents2 {
    padding-left: 0em;
}

#rtoc .contents3 {
    padding-left: 1em;
}

#rtoc .contents4 {
    padding-left: 2em;
}

#rtoc .contents5 {
    margin-left: 3em;
}

#rtoc .contents6 {
    margin-left: 4em;
}

.region-links {
  font-size: 0.8em;
}
.clinic-contact-link {
  font-size: 0.8em;
  text-align: right;
}

.content-clinic-list h1 {
  font-size: 1.5em;
}
