/*
Theme Name: BasketsOps
Description: 自作テーマ用スタイル（Cocoon+HABBA寄せ）
*/

/* ----------------------------------------
    Variables
---------------------------------------- */
:root {
  /* Colors（HABBA） */
  --color-key: #56001d;
  --color-accent: #005488;
  --color-accent2: #007eaf;
  --color-hover: #6b89af;

  --color-text: #222;
  --color-muted: #666;
  --color-text-light: #fff;
  --color-text-faint: #aaa;
  --color-text-strong: #111827;
  --color-text-danger: #7a1f1f;
  --color-text-danger-strong: #b91c1c;

  --color-surface-page: #f3f3f3;
  --color-surface-base: #fff;
  --color-surface-subtle: #fcfdff;
  --color-surface-soft: #f8fafc;
  --color-surface-muted: #f3f5f8;
  --color-surface-muted-alt: #fafbfd;
  --color-surface-danger: #fff5f5;
  --color-surface-blockquote: #f8f8f8;

  --color-border-strong: #333;
  --color-border-soft: #ddd;
  --color-border-light: #e0e0e0;
  --color-border-lighter: #eee;
  --color-border-ui: #d6dce5;
  --color-border-ui-hover: #bfc9d8;
  --color-border-card: rgba(203, 213, 225, 0.9);
  --color-border-table: #e3e7ee;
  --color-border-score: #cfd7e3;
  --color-border-score-light: #d8dee8;

  --color-overlay-light: rgba(255, 255, 255, 0.15);
  --color-overlay-light-strong: rgba(255, 255, 255, 0.18);
  --color-overlay-dark: rgba(0, 0, 0, 0.08);
  --color-focus-outline: rgba(37, 99, 235, 0.45);

  --color-danger: #c0392b;

  --color-badge-red: #b32727;
  --color-badge-orange: #cc7c31;
  --color-badge-yellow: #dbc734;
  --color-badge-green: #27863f;
  --color-badge-blue: #2f65bd;
  --color-badge-purple: #652ea3;
  --color-badge-slate: #475569;

  --color-category-u12: #b32727;
  --color-category-u15: #cc7c31;
  --color-category-u18: #2fa34e;
  --color-category-nighter: #2f65bd;
  --color-nighter-nav: #092457;
  --color-nighter-nav-border: #1c427d;
  --color-nighter-nav-current: #66c7e8;

  /* Layout（Cocoonカラム設定互換） */
  --site-max-width: 1280px;

  --sidebar-content-width: 336px;
  --sidebar-padding: 19px;
  --sidebar-border: 1px;
  --hnb-game-summary-width: 560px;
  --hnb-game-result-logo-size: 150px;
  --hnb-game-result-col-team-width: 26%;
  --hnb-game-result-col-score-width: 13%;
  --hnb-game-result-col-quarter-width: 11%;
  --hnb-game-result-score-font-size: 3rem;
  --hnb-personal-number-width: 80px;
  --hnb-personal-point-width: 100px;
  --hnb-personal-foul-width: 100px;

  --column-gap: 24px;

  --sidebar-total-width: calc(
    var(--sidebar-content-width) + var(--sidebar-padding) * 2 +
      var(--sidebar-border) * 2
  );

  /* Typography */
  --font-family-base:
    "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic",
    "YuGothic", sans-serif;

  --font-size-base: 16px;
  --font-size-small: 14px;

  --font-size-h1: 1.9rem;
  --font-size-h2: 22px;
  --font-size-h3: 18px;
  --font-size-h4: 18px;
  --font-size-h5: 16px;

  --line-height-base: 1.6;
  --line-height-tight: 1.2;

  --letter-spacing-base: 0;

  --font-weight-normal: 500;
  --font-weight-medium: 600;
  --font-weight-bold: 700;

  /* Spacing（余白の変数化） */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;

  --radius-1: 4px;
  --radius-2: 8px;

  --container-padding: 16px;

  --header-height: 74px;
}

/* ----------------------------------------
    Base
---------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--color-text);
  background: var(--color-surface-page);
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-base);
  letter-spacing: var(--letter-spacing-base);
}

a {
  color: var(--color-accent);
}

a:hover {
  color: var(--color-accent2);
}

/* 共通コンテナ（Cocoonのwrap相当） */
.container {
  max-width: var(--site-max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.layout-2col {
  display: flex;
  gap: var(--column-gap);
  margin-top: var(--space-5);
  margin-bottom: var(--space-6);
}

/* ----------------------------------------
    Main Area
---------------------------------------- */
.main-area {
  width: 100%;
  background: var(--color-surface-base);
  padding: var(--space-4);
  border-radius: var(--radius-1);
}

/* ----------------------------------------
    Header
---------------------------------------- */
.site-header {
  background: var(--color-surface-base);
}

/*===*/
/* 2段ヘッダー */

.site-header-top {
  background: var(--color-surface-base);
}

.site-header-top .container {
  padding-left: 4px;
}

.site-header-top .site-header-inner {
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header-links {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-links-menu {
  display: flex;
  align-items: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-links a,
.header-links a:visited {
  color: var(--color-text);
  text-decoration: none;
  font-size: 14px;
  font-weight: var(--font-weight-medium);
}

.header-links a:hover,
.header-links a:focus {
  color: var(--color-key);
  text-decoration: none;
}

/* グローバルメニュー */
.site-header-nav {
  background: var(--color-key);
}

.site-header-nav--nighter {
  background: var(--color-nighter-nav);
  border-top: 1px solid var(--color-nighter-nav-border);
  border-bottom: 1px solid var(--color-nighter-nav-border);
}

.site-header-nav .nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.site-header-nav .nav-menu li {
  position: relative;
}

.site-header-nav .nav-menu a {
  color: var(--color-text-light);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-weight: var(--font-weight-medium);
}

.site-header-nav .nav-menu a::before {
  content: "";
  display: none;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.site-header-nav--nighter .nav-menu .menu-icon-home > a::before {
  display: inline-block;
  mask-image: url("assets/icons/icon-home.svg");
  -webkit-mask-image: url("assets/icons/icon-home.svg");
}

.site-header-nav--nighter .nav-menu .menu-icon-about > a::before {
  display: inline-block;
  mask-image: url("assets/icons/icon-about.svg");
  -webkit-mask-image: url("assets/icons/icon-about.svg");
}

.site-header-nav--nighter .nav-menu .menu-icon-news > a::before {
  display: inline-block;
  mask-image: url("assets/icons/icon-news.svg");
  -webkit-mask-image: url("assets/icons/icon-news.svg");
}

.site-header-nav--nighter .nav-menu .menu-icon-calendar > a::before {
  display: inline-block;
  mask-image: url("assets/icons/icon-calendar.svg");
  -webkit-mask-image: url("assets/icons/icon-calendar.svg");
}

.site-header-nav--nighter .nav-menu .menu-icon-team > a::before {
  display: inline-block;
  mask-image: url("assets/icons/icon-team.svg");
  -webkit-mask-image: url("assets/icons/icon-team.svg");
}

.site-header-nav .nav-menu .menu-item-has-children > a {
  cursor: default;
}

.site-header-nav .nav-menu .menu-item-has-children > a::after {
  content: "▾";
  display: inline-block;
  margin-left: 0.45em;
  font-size: 1.05em;
  line-height: 1;
  vertical-align: middle;
}

.site-header-nav .nav-menu a:hover {
  background: var(--color-overlay-light);
}

.site-header-nav .nav-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 6px 0;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--color-key);
  z-index: 20;
}

.site-header-nav--nighter .nav-menu .sub-menu {
  background: var(--color-nighter-nav);
}

.site-header-nav .nav-menu .sub-menu a {
  padding: 10px 14px;
  white-space: nowrap;
}

.site-header-nav .nav-menu li:hover > .sub-menu,
.site-header-nav .nav-menu li:focus-within > .sub-menu,
.site-header-nav .nav-menu li.is-submenu-open > .sub-menu {
  display: block;
}

.site-header-nav > .container > .nav-menu > .current-menu-item > a,
.site-header-nav > .container > .nav-menu > .current_page_item > a {
  border-bottom: 3px solid var(--color-text-light);
}

.site-header-nav--nighter > .container > .nav-menu > .current-menu-item > a,
.site-header-nav--nighter > .container > .nav-menu > .current_page_item > a {
  border-bottom-color: var(--color-nighter-nav-current);
}

.mobile-header-links {
  display: none;
}

/* ----------------------------------------
    Header - brand
---------------------------------------- */
.brand-logo {
  height: calc(var(--header-height) - 8px); /* ロゴ上下の余白を減算している */
  width: auto;
  object-fit: contain;
  display: block;
}

.site-title {
  display: flex;
  align-items: center;
}

.site-brand {
  height: var(--header-height);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  text-decoration: none;
  color: inherit; /* 親要素の文字色をそのまま使う */
}

.site-brand:hover,
.site-brand:focus,
.site-brand:visited {
  color: inherit;
}

.brand-text {
  font-size: 1rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: -0.03em;
  line-height: 1.5;
  margin-bottom: 0px;
}

/* ----------------------------------------
    Breadcrumbs
---------------------------------------- */
.breadcrumbs {
  max-width: var(--site-max-width);
  margin: var(--space-2) auto 0;
  padding: 0 var(--container-padding);
  font-size: 0.7rem;
  color: var(--color-muted);
}

.breadcrumbs ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

.breadcrumbs a,
.breadcrumbs a:visited,
.breadcrumbs a:hover,
.breadcrumbs a:focus {
  color: var(--color-text);
  text-decoration: none;
}

.breadcrumbs li::after {
  content: ">";
  margin: 0 6px;
  color: var(--color-text-faint);
}

.breadcrumbs li:last-child::after {
  content: "";
}

/* ----------------------------------------
    Sidebar
---------------------------------------- */
.sidebar-area {
  width: var(--sidebar-total-width);
  background: var(--color-surface-base);
  padding: var(--space-5);
  border-radius: var(--radius-1);
}

.sidebar {
  background: var(--color-surface-base);
}

/* ----------------------------------------
    Widget
---------------------------------------- */
.widget {
  margin-bottom: var(--space-5);
}

.widget-title {
  padding: 10px;
  border: 1.5px solid var(--color-border-strong);
  text-align: center;
  font-size: 18px;
  letter-spacing: 1px;
  border-radius: 1px;
  margin: 0 0 var(--space-3);
}

/* ウィジェット内リスト */
.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget li a {
  display: block;
  padding: 4px 10px;
  text-decoration: none;
  color: var(--color-text);
}

.widget li a:hover {
  background: var(--color-surface-base);
}

/* ----------------------------------------
    Footer
---------------------------------------- */
.site-footer {
  margin-top: var(--space-6);
  background: var(--color-key);
  color: var(--color-text-light);
}

.site-footer-inner {
  padding: var(--space-5) var(--container-padding);
  text-align: center;
}

.site-footer-nav {
  margin-bottom: var(--space-3);
}

.site-footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  font-size: 0.8em;
}

.site-footer-menu li {
  margin: 0;
}

.site-footer-menu a {
  display: inline-block;
  text-decoration: none;
}

.site-footer a {
  color: var(--color-text-light);
}

.site-footer a:hover {
  color: var(--color-text-light);
  text-decoration: underline;
}

/* ----------------------------------------
    Single
---------------------------------------- */
.home .main-area article h2 a,
.home .main-area article h2 a:visited,
.home .main-area article h2 a:hover,
.home .main-area article h2 a:focus,
.front-page .main-area article h2 a,
.front-page .main-area article h2 a:visited,
.front-page .main-area article h2 a:hover,
.front-page .main-area article h2 a:focus {
  color: var(--color-text);
  text-decoration: none;
}

.single article,
.page article {
  padding: var(--space-4) var(--container-padding);
}

.single article h1,
.page article h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-tight);
  margin: 0 0 0;
}

.page article > h1 + .content,
.page article > h1 + .content-scope {
  margin-top: var(--space-4);
}

.meta {
  display: flex;
  justify-content: flex-end; /* 日付を右寄せ */
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  font-size: var(--font-size-small);
  color: var(--color-muted);
  border-bottom: 1px solid var(--color-key);
  padding-bottom: var(--space-2);
  margin-bottom: var(--space-6);
}

.page-template-page-category-top .meta {
  font-size: 0.7rem;
}

/* カテゴリバッジのまとまり（左側） */
.post-cats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: 6px;
}

.content-scope {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

.content-scope > :first-child {
  margin-top: 0;
}

.content-scope > :last-child {
  margin-bottom: 0;
}

/* 段落 */
.content-scope p {
  margin: 0.8em 0.2em 0.8em 0.2em;
}

/* 見出し */
.content-scope h2 {
  font-size: var(--font-size-h2);
  border-bottom: 2px solid var(--color-key);
  padding: 8px 4px;
  margin: 32px 0 24px;
}

.content-scope h3 {
  font-size: var(--font-size-h3);
  padding-bottom: 6px; /* 文字と線の間 */
  margin: 20px 0 12px; /* 線の下の間隔 */
}

.content-scope h4 {
  font-size: var(--font-size-h4);
  margin: 20px 0 10px;
}

.content-scope h5 {
  font-size: var(--font-size-h5);
  margin: 20px 0 10px;
}

.content-scope h6 {
  font-size: var(--font-size-h5);
  margin: 20px 0 10px;
}

/* リスト */
.content-scope ul,
.content-scope ol {
  margin: 0.6em 0.2em;
  padding-left: 1.4em;
}

.content-scope li {
  margin: 0em 0;
}

/* 引用 */
.content-scope blockquote {
  margin: 1.2em 0;
  padding: 0.8em 1em;
  border-left: 4px solid var(--color-border-soft);
  background: var(--color-surface-blockquote);
}

/* 画像 */
.content-scope img {
  max-width: 100%;
  height: auto;
}

.content-scope .wp-block-image {
  margin: 1.2em 0;
}

/* テーブル */
.content table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  line-height: 1.2;
  font-size: 16px;
}

.content th {
  padding: 6px;
  font-weight: bold;
  border: 1px solid var(--color-text);
}

.content td {
  padding: 6px;
  border: 1px solid var(--color-text);
}

.content .wp-block-table figcaption,
.content figcaption.wp-element-caption {
  font-size: 0.85em;
  text-align: center;
  margin-top: 0.5em;
  color: var(--color-muted);
}

/* ----------------------------------------
    カテゴリバッジ
---------------------------------------- */
/* 記事一覧・詳細のメタ情報内で使うカテゴリラベル */
.cat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 2px;
  width: 52px;
  border-radius: var(--radius-1);
  box-sizing: border-box;
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  text-align: center;
  color: var(--color-text-light);
  background: var(--color-accent);
  white-space: nowrap;
  line-height: 1.3;
}

.cat-badge:hover,
.cat-badge:visited {
  color: var(--color-text-light);
  text-decoration: none;
}

/* カテゴリ別カラー（スラッグに合わせて追加・変更可能） */
.cat-jimukyoku,
.cat-kyokai,
.cat-kyoukai,
.cat-association {
  background: var(--color-key);
}
.cat-u12 {
  background: var(--color-category-u12);
}
.cat-u15 {
  background: var(--color-category-u15);
}
.cat-u18 {
  background: var(--color-category-u18);
}
.cat-nighter,
.cat-night,
.cat-naiter {
  background: var(--color-category-nighter);
}

/* ----------------------------------------
    ファイルダウンロードリンク（カード形式）
---------------------------------------- */
/* 投稿・固定ページのコンテンツ内のファイルリンクをカードとして表示する */

/* 共通カードスタイル */
.single .content a[href$=".pdf"],
.single .content a[href$=".xlsx"],
.single .content a[href$=".xls"],
.single .content a[href$=".docx"],
.single .content a[href$=".doc"],
.single .content a[href*="forms.gle"],
.single .content a[href*="docs.google.com/forms"],
.page .content a[href$=".pdf"],
.page .content a[href$=".xlsx"],
.page .content a[href$=".xls"],
.page .content a[href$=".docx"],
.page .content a[href$=".doc"],
.page .content a[href*="forms.gle"],
.page .content a[href*="docs.google.com/forms"] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 8px;
  width: min(100%, 40rem);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-2);
  background: var(--color-surface-base);
  text-decoration: none;
  color: var(--color-text);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
  margin: 18px 0;
}

.single .content a[href$=".pdf"]:hover,
.single .content a[href$=".xlsx"]:hover,
.single .content a[href$=".xls"]:hover,
.single .content a[href$=".docx"]:hover,
.single .content a[href$=".doc"]:hover,
.single .content a[href*="forms.gle"]:hover,
.single .content a[href*="docs.google.com/forms"]:hover,
.page .content a[href$=".pdf"]:hover,
.page .content a[href$=".xlsx"]:hover,
.page .content a[href$=".xls"]:hover,
.page .content a[href$=".docx"]:hover,
.page .content a[href$=".doc"]:hover,
.page .content a[href*="forms.gle"]:hover,
.page .content a[href*="docs.google.com/forms"]:hover {
  text-decoration: none;
}

/* ファイルリンク直後に自動挿入される改行はカード間余白を広げるため非表示 */
.single .content a[href$=".pdf"] + br,
.single .content a[href$=".xlsx"] + br,
.single .content a[href$=".xls"] + br,
.single .content a[href$=".docx"] + br,
.single .content a[href$=".doc"] + br,
.single .content a[href*="forms.gle"] + br,
.single .content a[href*="docs.google.com/forms"] + br,
.page .content a[href$=".pdf"] + br,
.page .content a[href$=".xlsx"] + br,
.page .content a[href$=".xls"] + br,
.page .content a[href$=".docx"] + br,
.page .content a[href$=".doc"] + br,
.page .content a[href*="forms.gle"] + br,
.page .content a[href*="docs.google.com/forms"] + br {
  display: none;
}

/* ファイルアイコン共通（::before にSVGを表示） */
.single .content a[href$=".pdf"]::before,
.single .content a[href$=".xlsx"]::before,
.single .content a[href$=".xls"]::before,
.single .content a[href$=".docx"]::before,
.single .content a[href$=".doc"]::before,
.single .content a[href*="forms.gle"]::before,
.single .content a[href*="docs.google.com/forms"]::before,
.page .content a[href$=".pdf"]::before,
.page .content a[href$=".xlsx"]::before,
.page .content a[href$=".xls"]::before,
.page .content a[href$=".docx"]::before,
.page .content a[href$=".doc"]::before,
.page .content a[href*="forms.gle"]::before,
.page .content a[href*="docs.google.com/forms"]::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 36px;
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* PDF アイコン（赤） */
.single .content a[href$=".pdf"]::before,
.page .content a[href$=".pdf"]::before {
  background-image: url("assets/icons/file-pdf.svg");
}

/* Excel アイコン（緑） */
.single .content a[href$=".xlsx"]::before,
.single .content a[href$=".xls"]::before,
.page .content a[href$=".xlsx"]::before,
.page .content a[href$=".xls"]::before {
  background-image: url("assets/icons/file-excel.svg");
}

/* Google フォーム専用アイコン */
.single .content a[href*="forms.gle"]::before,
.single .content a[href*="docs.google.com/forms"]::before,
.page .content a[href*="forms.gle"]::before,
.page .content a[href*="docs.google.com/forms"]::before {
  background-image: url("assets/icons/web-google-form.svg");
}

/* Word アイコン（青） */
.single .content a[href$=".docx"]::before,
.single .content a[href$=".doc"]::before,
.page .content a[href$=".docx"]::before,
.page .content a[href$=".doc"]::before {
  background-image: url("assets/icons/file-word.svg");
}

/* ----------------------------------------
    Pagination
---------------------------------------- */
.page-numbers {
  display: inline-block;
  padding: 6px 10px;
  margin: 0 4px 6px 0;
  color: var(--color-hover);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  text-decoration: none;
}

.page-numbers.current {
  background: var(--color-accent);
  color: var(--color-text-light);
}

.page-numbers.dots {
  opacity: 1;
  background: none;
  border-color: transparent;
}

.page-numbers:hover {
  background: var(--color-accent);
  color: var(--color-text-light);
}

/* ----------------------------------------
    ハンバーガー（SPでのみ表示）
---------------------------------------- */
.nav-toggle {
  display: none;
  background: transparent;
  border: 0;
  padding: 0px; /* ハンバーガー右側の余白を調整 */
  cursor: pointer;
  line-height: 0;
}

.nav-toggle-bar {
  display: block;
  width: 26px;
  height: 2px;
  background: var(--color-key);
  margin: 0;
}

body.has-nighter-header .nav-toggle-bar {
  background: var(--color-nighter-nav);
}

/* ----------------------------------------
    Front Page
---------------------------------------- */
.fp-main {
  margin: 0 0 var(--space-6);
}

.fp-section {
  background: var(--color-surface-base);
  border-radius: var(--radius-1);
  padding: var(--space-5) 0;
  margin-bottom: 0;
}

.fp-section-inner {
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

/* お知らせリスト */
.content-scope .fp-news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fp-news-item {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-lighter);
}

.fp-news-date {
  font-size: 13px;
  color: var(--color-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.fp-news-title {
  color: var(--color-text);
  text-decoration: none;
  flex: 1;
  min-width: 0;
}

.fp-news-title:hover {
  color: var(--color-accent);
  text-decoration: underline;
}

.fp-more {
  text-align: right;
  margin-top: var(--space-4);
}

.fp-more a {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
  text-decoration: none;
}

.fp-more a:hover,
.fp-more a:focus {
  color: var(--color-accent);
  text-decoration: underline;
}

.fp-pagination {
  margin-top: var(--space-5);
}

/* ----------------------------------------
    HNB Plugin
---------------------------------------- */
.hnb-lastupdate {
  font-size: var(--font-size-small);
  color: var(--color-muted);
  text-align: right;
  margin: 0 0 var(--space-2);
}

.hnb-error {
  margin: var(--space-4) 0;
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-danger);
  background: var(--color-surface-danger);
  color: var(--color-text-danger);
}

.hnb-sekinin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 14px;
  padding: 2px 4px;
  border-radius: 999px;
  border: 0;
  background: var(--color-badge-red);
  color: var(--color-text-light);
  font-size: 0.7em;
  font-weight: 500;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  box-shadow: none;
}

.hnb-schedule-filter {
  max-width: 760px;
  padding: 0;
}

.hnb-game-card::before,
.hnb-game-card::after {
  content: none;
}

.hnb-schedule-nav-group {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.hnb-schedule-nav-group + .hnb-schedule-nav-group {
  margin-top: 12px;
}

.hnb-schedule-nav-label {
  margin-bottom: 0;
  flex: 0 0 56px;
  color: var(--color-muted);
  font-size: 0.7rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.08em;
}

.hnb-schedule-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  flex: 1 1 0;
}

.hnb-schedule-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 15px;
  border: 1px solid var(--color-border-ui);
  border-radius: 8px;
  background: var(--color-surface-base);
  color: var(--color-text);
  font-size: 0.95rem;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.hnb-schedule-chip-sub {
  min-height: 36px;
  padding: 7px 15px;
  border-color: var(--color-border-ui);
  background: var(--color-surface-base);
  font-size: 0.95rem;
  color: var(--color-text);
  box-shadow: none;
}

.hnb-schedule-filter a {
  color: inherit;
  text-decoration: none;
}

.hnb-schedule-filter a:hover {
  color: var(--color-nighter-nav);
  border-color: var(--color-nighter-nav-border);
  background: var(--color-surface-soft);
  transform: none;
  box-shadow: none;
}

.hnb-schedule-filter a.is-current,
.hnb-schedule-filter a.is-current:hover {
  background: var(--color-nighter-nav);
  border-color: var(--color-nighter-nav);
  color: var(--color-text-light);
  font-weight: var(--font-weight-bold);
  box-shadow: none;
  transform: none;
}

.hnb-schedule-meta {
  max-width: 760px;
  margin: 0 0 var(--space-4);
  color: var(--color-muted);
  font-size: var(--font-size-small);
}

.content-scope .hnb-schedule-meta-heading,
.hnb-schedule-meta-heading {
  margin-bottom: calc(var(--space-3) + 8px);
}

.hnb-ta1 a,
.hnb-detail a,
.hnb-gameinfo a,
.hnb-card-team a {
  color: inherit;
  text-decoration: none;
}

.hnb-ta1 a:hover,
.hnb-detail a:hover,
.hnb-gameinfo a:hover,
.hnb-card-team a:hover {
  color: var(--color-accent);
  text-decoration: underline;
}

/* ゲームカード（PCレイアウトをデフォルト） */
.hnb-schedule-cards {
  --hnb-card-header-gap: 1px;
  --hnb-card-header-padding-y: 4px;
  --hnb-card-header-padding-x: 6px;
  --hnb-card-header-font-size: 0.9rem;
  --hnb-card-header-badges-gap: 4px;
  --hnb-card-header-badges-margin-left: 8px;
  --hnb-card-block-font-size: 1.2rem;
  --hnb-card-badge-gap: 1px;
  --hnb-card-badge-min-height: 21px;
  --hnb-card-badge-font-size: 0.7rem;
  --hnb-card-badge-padding-y: 2px;
  --hnb-card-badge-padding-x: 4px;
  --hnb-card-badge-icon-size: 0.8rem;
  --hnb-card-body-gap: 8px;
  --hnb-card-body-padding-y: 6px;
  --hnb-card-body-padding-x: 14px;
  --hnb-card-team-gap: 8px;
  --hnb-card-team-font-size: 1rem;
  --hnb-card-team-line-height: 1.35;
  --hnb-card-logo-size: 48px;
  --hnb-card-score-gap: 16px;
  --hnb-card-score-min-width: 80px;
  --hnb-card-point-font-size: 1.6rem;
  --hnb-card-sep-font-size: 1.25rem;
  --hnb-card-grid-block-width: 42px;
  --hnb-card-grid-logo-width: 48px;
  --hnb-card-grid-team-min-width: 150px;
  --hnb-card-grid-score-width-min: 120px;
  --hnb-card-grid-score-width-max: 150px;
  --hnb-card-grid-column-gap: 12px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 760px;
}

.hnb-empty {
  margin: 0;
}

.hnb-game-card {
  position: relative;
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border-card);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.hnb-card-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: var(--hnb-card-header-gap);
  flex-wrap: wrap;
  padding: var(--hnb-card-header-padding-y) var(--hnb-card-header-padding-x);
  border-bottom: 1px solid var(--color-border-card);
  background: var(--color-surface-subtle);
  font-size: var(--hnb-card-header-font-size);
  color: var(--color-text);
}

.hnb-card-header-link {
  color: var(--color-text);
  text-decoration: none;
}

.hnb-card-header-link:hover {
  color: var(--color-text);
  text-decoration: none;
  background: var(--color-surface-soft);
}

.hnb-card-header-link:hover .hnb-card-header-date {
  color: var(--color-accent);
  text-decoration: underline;
}

.hnb-card-header-date {
  font-weight: var(--font-weight-normal);
}

.hnb-card-header-link:focus-visible {
  outline: 2px solid var(--color-focus-outline);
  outline-offset: -2px;
}

.hnb-card-header-badges {
  margin-left: var(--hnb-card-header-badges-margin-left);
  display: flex;
  gap: var(--hnb-card-header-badges-gap);
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.hnb-card-block-text {
  font-size: var(--hnb-card-block-font-size);
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
  flex-shrink: 0;
  grid-column: 1;
  width: 100%;
  text-align: center;
}

.hnb-card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--hnb-card-badge-gap);
  min-height: var(--hnb-card-badge-min-height);
  font-size: var(--hnb-card-badge-font-size);
  font-weight: 500;
  line-height: 1;
  padding: var(--hnb-card-badge-padding-y) var(--hnb-card-badge-padding-x);
  border-radius: 999px;
  white-space: nowrap;
  border: 0;
  box-shadow: none;
}

.hnb-card-badge-label {
  display: inline-flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1;
}

.hnb-card-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hnb-card-badge-icon-size);
  height: var(--hnb-card-badge-icon-size);
  flex-shrink: 0;
}

.hnb-card-badge-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.hnb-card-badge-order.order-1 {
  background: var(--color-badge-red);
  color: var(--color-text-light);
}

.hnb-card-badge-order.order-2 {
  background: var(--color-badge-green);
  color: var(--color-text-light);
}

.hnb-card-badge-order.order-other {
  background: var(--color-badge-slate);
  color: var(--color-text-light);
}

.hnb-card-badge-place.place-1 {
  background: var(--color-badge-red);
  color: var(--color-text-light);
}

.hnb-card-badge-place.place-2 {
  background: var(--color-badge-green);
  color: var(--color-text-light);
}

.hnb-card-badge-place.place-3 {
  background: var(--color-badge-blue);
  color: var(--color-text-light);
}

.hnb-card-badge-place.place-4 {
  background: var(--color-badge-orange);
  color: var(--color-text-light);
}

.hnb-card-badge-place.place-5 {
  background: var(--color-badge-purple);
  color: var(--color-text-light);
}

.hnb-card-badge-place.place-other {
  background: var(--color-badge-slate);
  color: var(--color-text-light);
}

.hnb-card-badge-coat {
  background: var(--color-badge-slate);
  color: var(--color-text-light);
}

.hnb-card-badge-coat.coat-1 {
  background: var(--color-badge-green);
  color: var(--color-text-light);
}

.hnb-card-badge-coat.coat-2 {
  background: var(--color-badge-blue);
  color: var(--color-text-light);
}

.hnb-card-badge-coat.coat-other {
  background: var(--color-badge-slate);
  color: var(--color-text-light);
}

/* カードボディ：PCはグリッド（6列）レイアウト */
.hnb-card-body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns:
    var(--hnb-card-grid-block-width)
    var(--hnb-card-grid-logo-width)
    minmax(var(--hnb-card-grid-team-min-width), 1fr)
    minmax(
      var(--hnb-card-grid-score-width-min),
      var(--hnb-card-grid-score-width-max)
    )
    minmax(var(--hnb-card-grid-team-min-width), 1fr)
    var(--hnb-card-grid-logo-width);
  align-items: center;
  column-gap: var(--hnb-card-grid-column-gap);
  padding: var(--hnb-card-body-padding-y) var(--hnb-card-body-padding-x);
  background: var(--color-surface-subtle);
}

.hnb-card-team,
.hnb-card-team-right {
  display: contents;
}

.hnb-card-body > .hnb-card-team > a:first-of-type {
  grid-column: 2;
}

.hnb-card-body > .hnb-card-team > .hnb-card-team-name {
  grid-column: 3;
}

.hnb-card-score {
  grid-column: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--hnb-card-score-gap);
  min-width: 0;
  width: 100%;
  flex-shrink: 0;
}

.hnb-card-body > .hnb-card-team-right > .hnb-card-team-name {
  grid-column: 5;
}

.hnb-card-body > .hnb-card-team-right > a:last-of-type {
  grid-column: 6;
  justify-self: end;
}

.hnb-card-team-name {
  flex: 1;
  display: block;
  min-width: 0;
  font-size: var(--hnb-card-team-font-size);
  line-height: var(--hnb-card-team-line-height);
  text-align: center;
  word-break: break-word;
}

.hnb-card-body > .hnb-card-team > a:first-of-type img,
.hnb-card-body > .hnb-card-team-right > a:last-of-type img {
  width: var(--hnb-card-logo-size);
  height: var(--hnb-card-logo-size);
  object-fit: contain;
}

.hnb-card-team img,
.hnb-ta1 img,
.hnb-detail img,
.hnb-team-logo {
  display: block;
  max-width: 100%;
  height: auto;
}

.hnb-card-point {
  min-width: 32px;
  text-align: center;
  font-size: var(--hnb-card-point-font-size);
  font-weight: var(--font-weight-normal);
}

.hnb-card-point-win {
  font-weight: var(--font-weight-medium);
}

.hnb-card-sep {
  color: var(--color-text);
  font-size: var(--hnb-card-sep-font-size);
  margin: 0 2px;
}

.hnb-ta1,
.hnb-gameinfo,
.hnb-personal {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 var(--space-5);
  background: var(--color-surface-base);
}

.hnb-ta1 {
  max-width: 600px;
}

.hnb-ta1 td,
.hnb-ta1 th,
.hnb-gameinfo td,
.hnb-gameinfo th,
.hnb-personal td,
.hnb-personal th {
  border: 1px solid var(--color-border-table);
  padding: 4px 4px;
  line-height: 1;
}

.hnb-ta1 th,
.hnb-ta1 .hnb-tamidashi {
  font-size: 1rem;
  line-height: 1.25;
}

.hnb-ta1 td {
  font-size: 1rem;
  line-height: 1.3;
}

.hnb-ta1 tr:nth-child(2n + 1) {
  background: var(--color-surface-muted-alt);
}

.hnb-ta1 .hnb-tamidashi,
.hnb-ta1 .hnb-ta1-date,
.hnb-gameinfo .hnb-title,
.hnb-personal .hnb-title > th,
.hnb-personal .hnb-number,
.hnb-personal th.hnb-number {
  background: var(--color-surface-muted);
  font-weight: var(--font-weight-medium);
}

.hnb-ta1 .hnb-ta1-date {
  line-height: inherit;
}

.hnb-ta1 .hnb-ta1-logo2 {
  width: 64px;
  text-align: center;
  vertical-align: middle;
}

.hnb-ta1 .hnb-ta1-logo2 img {
  width: 52px;
  height: 52px;
}

.hnb-ta1 .hnb-ta1-team2 {
  vertical-align: middle;
  text-align: left;
}

.hnb-ta1 .hnb-ta1-point,
.hnb-ta1 .hnb-ta1-winlose,
.hnb-ta1 .hnb-ta1-count,
.hnb-ta1 .hnb-ta1-game {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.hnb-ta1 .hnb-ta1-point {
  width: 42px;
}

.hnb-ta1 .hnb-ta1-winlose,
.hnb-ta1 .hnb-ta1-count {
  width: 50px;
}

.hnb-ta1 .hnb-ta1-game {
  width: 70px;
}

.hnb-gameinfo {
  width: min(100%, var(--hnb-game-summary-width));
}

.hnb-gameinfo .hnb-data {
  background: var(--color-surface-base);
}

.hnb-detail {
  border-collapse: collapse;
  margin: 0 0 var(--space-5);
}

.hnb-game-result-table {
  width: min(100%, var(--hnb-game-summary-width));
  margin-left: 0;
  margin-right: auto;
  table-layout: fixed;
}

.hnb-game-result-table col.hnb-col-team {
  width: var(--hnb-game-result-col-team-width);
}

.hnb-game-result-table col.hnb-col-score {
  width: var(--hnb-game-result-col-score-width);
}

.hnb-game-result-table col.hnb-col-quarter {
  width: var(--hnb-game-result-col-quarter-width);
}

.hnb-detail td {
  vertical-align: middle;
}

.hnb-game-result-table td {
  vertical-align: middle;
}

.hnb-detail .hnb-td1 {
  text-align: center;
}

.hnb-game-result-table .hnb-td1 {
  padding-left: 0;
  padding-right: 0;
}

.hnb-game-result-table .hnb-td1 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hnb-game-result-table .hnb-td1 img {
  width: var(--hnb-game-result-logo-size);
  height: var(--hnb-game-result-logo-size);
  max-width: none;
  object-fit: contain;
}

.hnb-detail .hnb-td4 {
  width: 56px;
  text-align: center;
  font-size: var(--hnb-game-result-score-font-size);
  font-weight: var(--font-weight-normal);
}

.hnb-detail .hnb-td4.hnb-point-win {
  font-weight: var(--font-weight-bold);
}

.hnb-detail .hnb-td4.hnb-point-lose {
  font-weight: var(--font-weight-normal);
}

.hnb-game-result-table .hnb-quarter-cell {
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

.hnb-quarter-score {
  width: auto;
  margin: 0 auto;
}

.hnb-quarter-score td {
  padding: 2px 0;
  white-space: nowrap;
}

.hnb-quarter-score .hnb-td2,
.hnb-quarter-score .hnb-tdHifun {
  width: auto;
  font-size: 0.8rem;
}

.hnb-detail .hnb-td2 {
  width: 34px;
  text-align: center;
  font-size: 0.9rem;
}

.hnb-detail .hnb-tdHifun {
  width: 10px;
  text-align: center;
  color: var(--color-muted);
}

.hnb-detail .hnb-teamName {
  text-align: center;
  font-size: 0.85rem;
  line-height: 1.2;
}

.hnb-detail .hnb-dummy {
  width: 16px;
}

.content-scope p.hnb-running-legend,
.hnb-running-legend {
  margin: 0 var(--space-1) var(--space-1);
  font-size: 12px;
  color: var(--color-muted);
}

.hnb-running-table {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: var(--space-3);
  overflow-x: auto;
  margin: 0 0 var(--space-5);
}

.hnb-running-table-section {
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
}

.hnb-score {
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid var(--color-border-score);
  background: var(--color-surface-base);
  font-size: 0.68rem;
  line-height: 1;
}

.hnb-score td,
.hnb-score th {
  width: 30px;
  height: 20px;
  padding: 0;
  text-align: center;
  vertical-align: middle;
  border: 1px solid var(--color-border-score-light);
}

.hnb-score th {
  background: var(--color-surface-muted);
  font-weight: var(--font-weight-medium);
}

.hnb-score td {
  line-height: 20px;
}

.hnb-score th {
  line-height: 20px;
}

.hnb-score .hnb-player {
  width: 24px;
}

.hnb-score td.text_red {
  color: var(--color-text-danger-strong);
}

.hnb-score td.text_black {
  color: var(--color-text-strong);
}

.hnb-score td.text_red_line {
  color: var(--color-text-danger-strong);
  border-bottom: 2px solid var(--color-text-danger-strong);
}

.hnb-score td.text_black_line {
  color: var(--color-text-strong);
  border-bottom: 2px solid var(--color-text-strong);
}

.hnb-score td.slash_red,
.hnb-score td.slash_red_line,
.hnb-score td.slash_black,
.hnb-score td.slash_black_line,
.hnb-score td.circle_red,
.hnb-score td.circle_red_line,
.hnb-score td.circle_black,
.hnb-score td.circle_black_line,
.hnb-score td.circle_l_red,
.hnb-score td.circle_l_red_line,
.hnb-score td.circle_l_black,
.hnb-score td.circle_l_black_line {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.hnb-score td.slash_red,
.hnb-score td.slash_red_line {
  background-image: linear-gradient(
    to top left,
    transparent calc(50% - 0.75px),
    var(--color-text-danger-strong) calc(50% - 0.75px),
    var(--color-text-danger-strong) calc(50% + 0.75px),
    transparent calc(50% + 0.75px)
  );
  background-position: 0 0;
  background-size: 100% 100%;
}

.hnb-score td.slash_black,
.hnb-score td.slash_black_line {
  background-image: linear-gradient(
    to top left,
    transparent calc(50% - 0.75px),
    var(--color-text-strong) calc(50% - 0.75px),
    var(--color-text-strong) calc(50% + 0.75px),
    transparent calc(50% + 0.75px)
  );
  background-position: 0 0;
  background-size: 100% 100%;
}

.hnb-score td.circle_red,
.hnb-score td.circle_red_line {
  background-image: radial-gradient(
    circle,
    var(--color-text-danger-strong) 0,
    var(--color-text-danger-strong) 54%,
    transparent 56%
  );
}

.hnb-score td.circle_black,
.hnb-score td.circle_black_line {
  background-image: radial-gradient(
    circle,
    var(--color-text-strong) 0,
    var(--color-text-strong) 54%,
    transparent 56%
  );
}

.hnb-score td.circle_l_red,
.hnb-score td.circle_l_red_line {
  color: var(--color-text-danger-strong);
  background-image: radial-gradient(
    circle,
    transparent 0,
    transparent 49%,
    var(--color-text-danger-strong) 51%,
    var(--color-text-danger-strong) 57%,
    transparent 59%
  );
}

.hnb-score td.circle_l_black,
.hnb-score td.circle_l_black_line {
  color: var(--color-text-strong);
  background-image: radial-gradient(
    circle,
    transparent 0,
    transparent 49%,
    var(--color-text-strong) 51%,
    var(--color-text-strong) 57%,
    transparent 59%
  );
}

.hnb-score td.slash_red_line,
.hnb-score td.circle_red_line,
.hnb-score td.circle_l_red_line {
  border-bottom: 2px solid var(--color-text-danger-strong);
}

.hnb-score td.slash_black_line,
.hnb-score td.circle_black_line,
.hnb-score td.circle_l_black_line {
  border-bottom: 2px solid var(--color-text-strong);
}

.hnb-personal {
  width: calc(
    var(--hnb-personal-number-width) + var(--hnb-personal-point-width) +
      var(--hnb-personal-foul-width)
  );
  table-layout: fixed;
}

.hnb-personal td,
.hnb-personal th {
  text-align: center;
}

.hnb-personal .hnb-total > td {
  border-top: 2px solid var(--color-border-score);
  font-weight: var(--font-weight-medium);
}

.hnb-personal .hnb-number,
.hnb-personal th.hnb-number {
  width: var(--hnb-personal-number-width);
}

.hnb-personal .hnb-point,
.hnb-personal th.hnb-point {
  width: var(--hnb-personal-point-width);
}

.hnb-personal .hnb-foul,
.hnb-personal th.hnb-foul {
  width: var(--hnb-personal-foul-width);
}

/* ----------------------------------------
    Responsive
---------------------------------------- */

/* タブレット（1024px以下） */
@media (max-width: 1024px) {
  .layout-2col {
    flex-direction: column;
  }

  .main-area,
  .sidebar-area {
    width: 100%;
  }
}

/* スマホ（768px以下） */
@media (max-width: 768px) {
  :root {
    --header-height: 56px;
    --font-size-base: 15px;
    --font-size-h1: 1.6rem;
    --font-size-h2: 22px;
    --font-size-h3: 18px;
    --font-size-h4: 18px;
    --font-size-h5: 16px;
    --hnb-game-result-logo-size: 100px;
    --hnb-game-result-col-team-width: 26%;
    --hnb-game-result-col-score-width: 15%;
    --hnb-game-result-col-quarter-width: 11%;
    --hnb-game-result-score-font-size: 2.2rem;
  }

  /* ヘッダー */
  body {
    background: var(--color-surface-base);
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  .site-header-top {
    border-bottom: 4px solid var(--color-key);
  }

  body.has-nighter-header .site-header-top {
    border-bottom-color: var(--color-nighter-nav);
  }

  .site-header-top .site-header-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    min-height: var(--header-height);
    height: auto;
  }

  .header-links {
    display: none;
  }

  /* レイアウト */
  .layout-2col {
    margin-top: 0;
  }

  /* .layout-2col.container {
    padding-left: 4px;
    padding-right: 4px;
  } */

  .container {
    padding-left: 8px;
    padding-right: 8px;
  }

  .breadcrumbs {
    padding-left: 4px;
    padding-right: 4px;
  }

  .main-area {
    display: flex;
    flex-direction: column;
    padding: 0px;
  }

  .main-area .breadcrumbs {
    order: 0;
    margin: 12px 0 0;
  }

  /* ハンバーガーメニュー */
  .nav-toggle {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
  }

  .site-header-nav {
    display: none;
  }

  body.is-nav-open .site-header-nav {
    display: block;
  }

  body.is-nav-open .site-header-nav .nav-menu {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
  }

  body.is-nav-open .site-header-nav .nav-menu a {
    width: 100%;
    padding: 14px 12px;
  }

  body.is-nav-open .site-header-nav .nav-menu li {
    width: 100%;
  }

  .site-header-nav .nav-menu li:hover > .sub-menu,
  .site-header-nav .nav-menu li:focus-within > .sub-menu {
    display: none;
  }

  .site-header-nav .nav-menu > li.menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    align-items: start;
  }

  .site-header-nav .nav-menu > li.menu-item-has-children > a {
    grid-column: 1;
    grid-row: 1;
  }

  .site-header-nav .nav-menu .sub-menu {
    position: static;
    min-width: 0;
    width: 100%;
    padding: 0;
    background: var(--color-overlay-dark);
    grid-column: 2;
    grid-row: 1;
    border-left: 1px solid var(--color-overlay-light-strong);
  }

  .site-header-nav .nav-menu .sub-menu a {
    padding: 14px 12px;
  }

  .site-header-nav .nav-menu li.is-submenu-open > .sub-menu {
    display: block;
  }

  body.is-nav-open .mobile-header-links {
    display: block;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--color-overlay-light-strong);
  }

  .mobile-header-links-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
  }

  .mobile-header-links-menu li {
    width: 100%;
  }

  .mobile-header-links-menu a {
    display: block;
    width: 100%;
    padding: 14px 12px;
    color: var(--color-text-light);
    text-decoration: none;
  }

  .mobile-header-links-menu a:hover,
  .mobile-header-links-menu a:focus {
    background: var(--color-overlay-light);
    text-decoration: none;
  }

  /* 記事 */
  .single article,
  .page article {
    padding: 12px 0px;
  }

  /* フロントページ */
  .fp-section {
    padding: var(--space-4) 0;
  }

  .fp-section-inner {
    padding-left: 0;
    padding-right: 0;
  }

  .fp-news-item {
    align-items: flex-end;
    gap: var(--space-1) var(--space-2);
  }

  .fp-news-title {
    flex: 0 0 100%;
    width: 100%;
  }

  /* HNB スケジュール */
  .hnb-schedule-nav-group {
    gap: 1px;
    align-items: flex-start;
  }

  .hnb-schedule-nav-label {
    flex-basis: 100%;
  }

  .hnb-schedule-chip-list {
    gap: 4px;
  }

  .hnb-schedule-chip {
    min-height: 32px;
    padding: 6px 11px;
    font-size: 0.85rem;
  }

  .hnb-schedule-chip-sub {
    min-height: 32px;
    padding: 6px 11px;
    font-size: 0.85rem;
  }

  /* ゲームカード（SPはフレックスに切り替え） */
  .hnb-schedule-cards {
    --hnb-card-block-font-size: 0.9rem;
    --hnb-card-body-gap: 6px;
    --hnb-card-body-padding-x: 6px;
    --hnb-card-team-font-size: 0.7rem;
    --hnb-card-logo-size: 50px;
    --hnb-card-score-gap: 0px;
    --hnb-card-point-font-size: 1.2rem;
  }

  .hnb-card-body {
    display: flex;
    gap: var(--hnb-card-body-gap);
  }

  .hnb-card-team {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--hnb-card-team-gap);
    min-width: 0;
  }

  .hnb-card-team-right {
    display: flex;
    justify-content: flex-end;
  }

  .hnb-card-block-text {
    width: auto;
    text-align: left;
  }

  .hnb-card-score {
    grid-column: auto;
    min-width: var(--hnb-card-score-min-width);
    width: auto;
  }

  /* HNB テーブル */
  /* .hnb-detail .hnb-td1 img {
    width: 88px;
  } */

  .hnb-running-table,
  .hnb-gameinfo,
  .hnb-personal,
  .hnb-ta1 {
    font-size: 0.8rem;
  }

  .hnb-ta1 {
    font-size: 0.86rem;
  }

  .hnb-ta1 td,
  .hnb-ta1 th {
    padding: 4px 4px;
  }

  .hnb-ta1 th,
  .hnb-ta1 .hnb-tamidashi {
    font-size: 0.65rem;
    line-height: 1.25;
  }

  .hnb-ta1 td {
    font-size: 0.85rem;
    line-height: 1.3;
  }

  .hnb-ta1 .hnb-ta1-logo2 {
    width: 48px;
  }

  .hnb-ta1 .hnb-ta1-logo2 img {
    width: 40px;
    height: 40px;
  }

  .hnb-ta1 .hnb-ta1-team2 {
    line-height: inherit;
  }

  .hnb-ta1 .hnb-ta1-point {
    width: 34px;
  }

  .hnb-ta1 .hnb-ta1-winlose,
  .hnb-ta1 .hnb-ta1-count {
    width: 30px;
  }

  .hnb-ta1 .hnb-ta1-game {
    width: 45px;
  }

  .hnb-game-result-table .hnb-td4 {
    width: auto;
  }

  .hnb-quarter-score td {
    padding: 1px 0;
  }

  .hnb-quarter-score .hnb-td2,
  .hnb-quarter-score .hnb-tdHifun {
    font-size: 0.72rem;
  }

  .hnb-score {
    font-size: 0.62rem;
  }

  .hnb-score td,
  .hnb-score th {
    width: 28px;
    height: 18px;
  }

  .hnb-score td,
  .hnb-score th {
    line-height: 18px;
  }

  .hnb-score .hnb-player {
    width: 22px;
  }
}
