/*リニューアル後追記*/
/*表の横スクロール補助
  ※ is-* クラスは operational.js が付与する。JSが動かない・古いキャッシュのときは従来表示のまま
  ※ HTMLは変更しない。.table-01〜03 > .table-01-wrapper が対象
  ※ お知らせ記事の .table-scroll 系（スクロール枠・注記にクラスが無い）は対象外
  ※ このファイルはレイヤーに属さないため、layer(components) の _table.css より後に適用される
*/
.table-01-wrapper {
  /*Macのトラックパッドで端まで来たときに「戻る」が暴発しないように*/
  overscroll-behavior-x: contain;
}

/*行見出し列（1列目の th）の固定。固定してよい表かどうかは JS が判定する
  ※ collapse のままだと罫線を隣のセルと共有するため、固定セルの左に1px隙間が空いて文字が透け、
     右の区切り線も太って見える。固定時だけ separate に切り替え、各セルが自分の罫線を持つようにする
     （右・下 1px ＋ 1行目の上・1列目の左 1px で、見た目の太さは collapse と同じ 1px）
*/
.table-01-wrapper.is-scrollable.is-sticky-col table {
  border-collapse: separate;
  border-spacing: 0;
}

.table-01-wrapper.is-scrollable.is-sticky-col :is(th, td) {
  border-width: 0 1px 1px 0;
}

.table-01-wrapper.is-scrollable.is-sticky-col table > :first-child > tr:first-child > :is(th, td) {
  border-top-width: 1px;
}

.table-01-wrapper.is-scrollable.is-sticky-col .is-sticky-cell {
  position: sticky;
  z-index: 1;
  left: 0;
  border-left-width: 1px;
}

/*スクロール中は固定列の右に薄い影を落とし、下を流れていることを示す*/
.table-01-wrapper.is-scrolled.is-sticky-col .is-sticky-cell {
  box-shadow: 4px 0 6px -4px rgb(19 51 78 / 20%);
}

/*右端のグラデーション影（右に続きがあるときだけ）。高さはスクロールバーを除いた表の高さ*/
:is(.table-01, .table-02, .table-03)::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 24px;
  height: var(--table-scroll-height, 0);
  background: linear-gradient(to left, rgb(19 51 78 / 18%), rgb(19 51 78 / 0%));
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

:is(.table-01, .table-02, .table-03).is-scroll-more::after {
  opacity: 1;
}

/*キーボードで選んだときの枠（tabindex は はみ出している表にだけ JS が付ける）
  ※ 色はサイト既存のフォーカス表示（accordion-01・breadcrumb-01・tab-news-01）に合わせて auto
  ※ 既存は outline-offset: -2px だが、枠内は表が詰まっていて見えないため外側に出す
*/
.table-01-wrapper:focus-visible {
  outline: 2px auto;
  outline-offset: 2px;
}

/*マウス環境では、はみ出している表に注記と操作方法を出す
  ※ 注記は PC幅では _table.css で非表示。はみ出している表だけ表示に戻す（収まる表には出さない）
  ※ 補足文は CSS で足しているため読み上げられないことがあるが、マウス利用者向けの補足なので支障はない
*/
@media (hover: hover) and (pointer: fine) {

  :is(.table-01, .table-02, .table-03).is-scrollable > .caption {
    display: block;
  }

  :is(.table-01, .table-02, .table-03).is-scrollable > .caption::after {
    display: block;
    content: "（マウスの場合は、Shiftキーを押しながらホイールを回すと横に動かせます）";
  }
}

/*スクロールバーを常に表示する（Mac のオーバーレイ表示だと横に続きがあることに気づけないため）
  ※ Chrome 121+ は scrollbar-color があると ::-webkit-scrollbar を無視するので、標準プロパティは Firefox 向けに分ける
  ※ トークンの明暗が /kanken/ と逆のため、トラック＝grey-02（明）、つまみ＝grey-04（中）に入れ替えている
*/
.table-01-wrapper::-webkit-scrollbar {
  height: 8px;
}

.table-01-wrapper::-webkit-scrollbar-track {
  border-radius: 4px;
  background-color: var(--color-grey-02);
}

.table-01-wrapper::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: var(--color-grey-04);
}

@supports not selector(::-webkit-scrollbar) {
  .table-01-wrapper {
    scrollbar-color: var(--color-grey-04) var(--color-grey-02);
  }
}
