/*
// 左固定
#divclass(fixleft){
|商品|A|B|h
|商品A|10|20|
|商品B|15|25|
}

// 通常の表
|商品|A|B|h
|商品A|10|20|
|商品B|15|25|
*/

/* region内も含めた表：縦横スクロール */
#wikibody table:not(.atwiki_plugin_region) {
  display: block !important;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  max-height: 70vh !important;
  overflow: auto !important;
  white-space: nowrap;
  border-collapse: separate;
  border-spacing: 0;
}

/* 上の見出しを固定 */
#wikibody table:not(.atwiki_plugin_region) > thead:first-of-type {
  position: sticky !important;
  top: 0 !important;
  z-index: 2;
}

#wikibody table:not(.atwiki_plugin_region) > thead:first-of-type > tr > th {
  background: #e4ebf3;
  color: #222;
}

/* fixleftで囲んだ表だけ左列を固定 */
#wikibody .fixleft table:not(.atwiki_plugin_region) > tbody > tr > :first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
  box-shadow: 2px 0 0 #ccc;
}

/* 左上のセルも横方向に固定 */
#wikibody .fixleft table:not(.atwiki_plugin_region) > thead:first-of-type > tr > :first-child {
  position: sticky !important;
  left: 0;
  z-index: 3;
  background: #e4ebf3;
  box-shadow: 2px 0 0 #ccc;
}

/* スマホでは左固定はしない */
@media screen and (max-width: 767px) {
  #wikibody .fixleft table:not(.atwiki_plugin_region) > tbody > tr > :first-child,
  #wikibody .fixleft table:not(.atwiki_plugin_region) > thead:first-of-type > tr > :first-child {
    position: static !important;
    left: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }
}

/* 編集画面（.atwiki_pedit）とその子孫には、以下の広告用CSSを適用しない */
/* afを幅の広い画面で追従させる */
@media screen and (min-width: 960px) {
  /* 左メニューの高さを本文に合わせる */
  #atwiki-jp-bg2 .atwiki-container > .atwiki-left-column:not(.atwiki_pedit, .atwiki_pedit *) {
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }

  #menubar:not(.atwiki_pedit, .atwiki_pedit *) {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow: visible;
  }

  #menubar > .atwiki-contents:not(.atwiki_pedit, .atwiki_pedit *) {
    flex: 1 1 auto;
    overflow: visible;
  }

  /* アフィリエイト部分だけ独立した枠で追従 */
  #menubar .affiliatebox:not(.atwiki_pedit, .atwiki_pedit *) {
    position: sticky;
    top: 80px;
    box-sizing: border-box;
    max-height: calc(100vh - 100px);
    overflow: auto;
    margin-top: 16px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
  }

  #menubar .affiliatebox img:not(.atwiki_pedit, .atwiki_pedit *) {
    box-sizing: border-box;
    max-width: 100%;
    height: auto;
  }
}

/* メニュー広告を追従 */
@media screen and (min-width: 960px) {
  #atwiki-jp-bg2 .atwiki-left-column:not(.atwiki_pedit, .atwiki_pedit *) {
    width: 320px;
    flex-shrink: 0;
  }

  #atwiki-jp-bg2 .atwiki-main-column:not(.atwiki_pedit, .atwiki_pedit *) {
    width: calc(100% - 588px);
  }
}


/* 本文から表がはみ出して、左右メニューに重なるのを防ぐ */
#atwiki-jp-bg2 #contents > .atwiki-contents-shadow {
  overflow: hidden !important;
}

/* 見出しを止める位置：上部メニューを避ける余白 */
#wikibody {
  --atwiki-table-header-top: 50px;
}

/* 見出しを止める位置：スマホでは少し余白を小さくする */
@media screen and (max-width: 767px) {
  #wikibody {
    --atwiki-table-header-top: 40px;
  }
}

/*
 * JSが動作した表は、高さ制限を解除して全行を表示する。
 * 横スクロールは表の中に残す。
 */
#wikibody table.atwiki-page-scroll-table:not(.atwiki_plugin_region) {
  height: auto !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/*
 * 見出しの縦方向の追従を、配置済みJSと連動させる。
 * JSが計算した移動量をtranslateYに渡す。
 */
#wikibody table.atwiki-page-scroll-table:not(.atwiki_plugin_region)
  > thead:first-of-type {
  position: relative !important;
  top: 0 !important;
  transform: translateY(
    var(--atwiki-table-header-shift, 0px)
  ) !important;
  transition: none !important;
  z-index: 2;
}


/* ヘッダーが崩れるため調整 */
/* ヘッダーを一列に保ち、右にはみ出す部分を隠す */
.atwiki-responsive-headbar .atwiki-header-submenu {
  flex-wrap: nowrap;
  overflow: hidden;
}

/* サイト名を優先して縮める */
.atwiki-responsive-headbar
.atwiki-header-submenu > .atwiki-header-title {
  flex: 1 1 0%;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}

/* サイト名の末尾を「…」で省略 */
.atwiki-responsive-headbar
.atwiki-header-submenu > .atwiki-header-title a {
  display: block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* 操作メニューは幅を維持する */
.atwiki-responsive-headbar
.atwiki-header-submenu > .atwiki-shortcut-menu {
  flex: 0 0 auto;
  overflow: visible;
  white-space: nowrap;
}

/* メニュー項目を折り返さない */
.atwiki-responsive-headbar
.atwiki-header-submenu > .atwiki-shortcut-menu > ul {
  white-space: nowrap;
}