/* =========================================================================
   esgo R2 共通オーバーライド (2026-07-02)
   ページごとにバラバラだった素人CSSの補正・統一。各 head で最後に読み込む。
   ========================================================================= */

/* B-9: タブ切替ボタン等はリンク同様の指差しカーソルに */
.ranking-tab-item,
.ranking-tab,
.tab-item,
.tab__item,
.tab-btn,
.js-tab,
[role="tab"],
[data-tab],
[onclick] {
  cursor: pointer;
}

/* B-8: 高さ指定しているボタンは中身を中央寄せ (縦ズレ防止) */
.c-modal-btn,
.c-modal-btn.register {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* B-6: メインビジュアル見出しは固定幅でなく 100% + max-width */
.mv__title {
  width: 100%;
  max-width: 50rem;
}
@media screen and (max-width: 649px) {
  .mv__title {
    max-width: 20rem;
  }
}

/* B-10: フッターのコピーライトが白で読みにくい → 黒 (各所でクラス名が異なる) */
.footer .copyright,
.copyright,
.l-footer-copy,
.footer-copy,
.l-footer .l-footer-copy {
  color: #222 !important;
}

/* B-11: コンテンツが短いページでフッターが中央まで浮くのを防ぐ (最低本文高) */
main,
.l-main,
.l-contents {
  min-height: 55vh;
}

/* B-12 / B-13: 情報系ページ(site layout)の文字が小さすぎる問題の是正。
   このレイアウトは html root font-size が 10px(62.5%)のため 1rem=10px と小さく、
   .c-table{font-size:1rem} 等で本文が10px程度になっていた。px で標準サイズを確保する。 */
.l-container {
  font-size: 16px;
  line-height: 1.9;
}
.l-container p,
.l-container li,
.l-container dd,
.l-container dt,
.l-container span {
  font-size: 16px;
  line-height: 1.9;
}
.c-table,
.c-table th,
.c-table td,
.c-table .table__title,
.c-table .table__data,
.c-table .table__data p,
.c-table .table__data span {
  font-size: 16px !important;
  line-height: 1.8;
}
.c-page-title {
  font-size: 24px;
}
.kou-list li,
.gou-list li,
.u-mt2 {
  font-size: 16px;
}

/* B-3 補助: スマホでヘッダー要素が横にはみ出す固定幅対策 (max-width 化) */
@media screen and (max-width: 649px) {
  .header__sp-nav {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  .header__sp-nav .sp-nav__list .sp-nav__item .sp-nav__btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .header__top .logo {
    width: auto;
    max-width: 40vw;
  }
  .header__top .logo img {
    width: 100%;
    height: auto;
  }
  /* 「マイページ」「メニュー」の改行防止 */
  .header__top__menu,
  .header__nav__item,
  .header__menu__item {
    white-space: nowrap;
    font-size: 1.2rem;
  }
}
