main{ max-width:var(--main-maxw); margin:0 auto; padding:24px 20px 64px; }
.section{ margin:24px 0; }

/* === HOTFIX: モバイルの sticky を安定化 === */
@media (max-width: 720px) {
  /* legend は常に最上部に固定（高さはJSで実測） */
  .legend {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 5;
    padding: 6px 0;
    border-bottom: 1px solid #eee;
    line-height: 1.2;
  }

  /* スクロール器は余白なし（押し下げない） */
  .table-scroller {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* 余計な上余白をつけない */
    padding-top: 0 !important;
    scroll-padding-top: 0 !important;
  }

  /* thead はJSで top を直接指定するので、ここでは position だけ */
  .nominees-table thead th {
    position: sticky !important;
    background: #fff !important;
    z-index: 4 !important;
    white-space: nowrap;
    top: 0 !important; /* ← JSが上書き */
  }

  /* 1行目に余白を入れない（過去のワークアラウンド無効化） */
  .nominees-table tbody tr:first-child td {
    padding-top: 0 !important;
  }
}

@media (max-width: 720px){
  html, body { overflow-x: hidden; } /* 横はみ出しの最後の砦 */
}
