@charset "UTF-8";
/* =========================================================
   新座DD リデザイン v2  dd-redesign.css
   - フロント: 子テーマ style.css の後に読込（依存: child_style）
   - エディタ: enqueue_block_assets で同じファイルを読込
   - 本文は SWELL / コアブロック。見た目は className（dd-*）で当てる
   - 既存 style.css（.post_content h2 など）が !important を使っている箇所だけ !important で上書き
   ========================================================= */

:root {
  --dd-navy: #0A1A3A;
  --dd-navy-deep: #061127;
  --dd-navy-card: #0F2350;
  --dd-navy-2: #12224A;
  --dd-line: #1E3566;
  --dd-line-2: #2A3F6E;
  --dd-red: #D7262F;
  --dd-red-dark: #A9141C;
  --dd-pink: #FF9AA0;
  --dd-pink-pale: #FFE1E3;
  --dd-ink: #0A1A3A;
  --dd-body: #33405C;
  --dd-sub: #5A6478;
  --dd-muted: #A9B4CC;
  --dd-light: #C9D2E6;
  --dd-bg: #F3F5F9;
  --dd-border: #DDE2EC;
  --dd-font-en: 'Oswald', 'Noto Sans JP', sans-serif;
  --dd-font-ja: 'Noto Sans JP', sans-serif;
}

/* =========================================================
   1. ヘッダー（全ページ）
   ========================================================= */
.l-header:not(.-transparent),
.l-fixHeader {
  border-bottom: 3px solid var(--dd-red);
}
.c-gnav > .menu-item > a .ttl {
  font-family: var(--dd-font-en);
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}
/* メニュー項目に CSS クラス「dd-nav-cta」を付けるとボタン化 */
.c-gnav > .menu-item.dd-nav-cta {
  display: flex;
  align-items: center;
  margin-left: 12px;
}
.c-gnav > .menu-item.dd-nav-cta > a {
  height: 44px;
  padding: 0 20px;
  background: var(--dd-red);
  color: #fff;
  transition: background-color .2s;
}
.c-gnav > .menu-item.dd-nav-cta > a:hover {
  background: var(--dd-red-dark);
  color: #fff;
}
.c-gnav > .menu-item.dd-nav-cta > a::after {
  content: none;
  display: none;
}
.c-gnav > .menu-item.dd-nav-cta > a .ttl {
  font-family: var(--dd-font-ja);
  font-weight: 700;
  text-transform: none;
  letter-spacing: .04em;
}

/* =========================================================
   2. フッター・下層ページタイトル（全ページ）
   ========================================================= */
.l-footer {
  border-top: 4px solid var(--dd-red);
}
.l-topTitleArea {
  border-bottom: 4px solid var(--dd-red);
}
.c-pageTitle {
  font-family: var(--dd-font-en);
  font-weight: 700;
  letter-spacing: .06em;
}

/* =========================================================
   3. メインビジュアル（SWELL カスタマイザーの MV をスキン）
   カスタマイザーの入力例（手順書参照）
   - メインテキスト: <span class="dd-mv-eyebrow">Saitama / Niiza — Since 2009</span>NIIZA<br>DIAMOND<br><span class="is-accent">DOGS</span>
   - サブテキスト  : 1行目＝キャッチ（大きく太く）、改行して2行目以降＝説明文
   ========================================================= */
.p-mainVisual {
  border-bottom: 6px solid var(--dd-red);
}
/* 写真の上に左から暗くなるグラデーション（文字側だけ暗く、右は写真を見せる）
   ※ SWELL の「フィルター」は不透明度 0 か、ごく薄くする */
.p-mainVisual__imgLayer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(6, 17, 39, .9) 0%, rgba(6, 17, 39, .6) 45%, rgba(6, 17, 39, .12) 100%);
  pointer-events: none;
}
.p-mainVisual__textLayer {
  z-index: 3; /* SWELL のフィルター（スライドの ::after、z-index: 2）より上 */
}
.p-mainVisual__slideTitle {
  font-family: var(--dd-font-en) !important;
  font-size: clamp(52px, min(10vw, 15vh), 148px) !important;
  font-style: italic;
  font-weight: 700 !important;
  line-height: .86 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
  text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .25);
}
.p-mainVisual__slideTitle .is-accent {
  color: var(--dd-red);
}
/* 英字の小見出し（メインテキストの先頭に span で入れる） */
.p-mainVisual__slideTitle .dd-mv-eyebrow {
  display: block;
  margin-bottom: 22px;
  color: var(--dd-pink);
  font-size: clamp(12px, 1.2vw, 15px);
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .24em;
  text-shadow: none;
}
.p-mainVisual__slideText {
  max-width: 540px;
  margin-top: 28px;
  color: var(--dd-light) !important;
  font-family: var(--dd-font-ja) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
}
/* サブテキストの1行目＝キャッチコピー */
.p-mainVisual__slideText::first-line {
  color: #fff;
  font-size: clamp(19px, 2.1vw, 26px);
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 2.2;
}
.p-mainVisual .c-mvBtn {
  text-align: left !important;
	margin-left:0;
}
.p-mainVisual .c-mvBtn__btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  margin-top: 8px;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--dd-red) !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .04em;
  box-shadow: none !important;
  transition: background-color .2s;
}
.p-mainVisual .c-mvBtn__btn::after {
  content: "\2192";
  font-family: var(--dd-font-en);
  transition: transform .2s;
}
.p-mainVisual .c-mvBtn__btn:hover {
  background: var(--dd-red-dark) !important;
}
.p-mainVisual .c-mvBtn__btn:hover::after {
  transform: translateX(4px);
}
@media (max-width: 599px) {
  /* スマホは文字が下に来るので、下側を暗く */
  .p-mainVisual__imgLayer::after {
    background: linear-gradient(180deg, rgba(6, 17, 39, .35) 0%, rgba(6, 17, 39, .7) 55%, rgba(6, 17, 39, .9) 100%);
  }
  .p-mainVisual__slideText {
    font-size: 13px !important;
  }
}

/* =========================================================
   4. 見出し・小見出し（全ページの SWELL「セクション見出し」）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) h2.is-style-section_ttl {
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--dd-ink) !important;
  font-family: var(--dd-font-en) !important;
  font-size: clamp(30px, 4.2vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase;
}
:is(.post_content, .editor-styles-wrapper) h2.is-style-section_ttl::before {
  content: none !important;
  display: none !important;
}
:is(.post_content, .editor-styles-wrapper) h2.is-style-section_ttl::after {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 56px !important;
  height: 4px !important;
  margin: 16px auto 0 !important;
  border: 0 !important;
  background: var(--dd-red) !important;
  transform: none !important;
  opacity: 1 !important;
}
:is(.post_content, .editor-styles-wrapper) h2.is-style-section_ttl.has-text-align-left::after {
  margin-left: 0 !important;
}
/* style.css の first-letter 装飾は打ち消す */
:is(.post_content, .editor-styles-wrapper) h2.is-style-section_ttl.first-letter::first-letter {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
/* 列の中の小さめ見出し（TEAM の「選手募集について」など） */
:is(.post_content, .editor-styles-wrapper) .wp-block-column h2.is-style-section_ttl {
  font-size: clamp(24px, 3vw, 34px) !important;
  margin-bottom: 20px !important;
}

/* 見出しの上に置く英字の小見出し（段落に className「dd-kicker」） */
:is(.post_content, .editor-styles-wrapper) p.dd-kicker {
  margin: 0 0 8px !important;
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.4;
  text-transform: uppercase;
}
:is(.post_content, .editor-styles-wrapper) p.dd-kicker + h2 {
  margin-top: 0 !important;
}

/* =========================================================
   5. ボタン（SWELL ボタンブロック）
   ========================================================= */
.swell-block-button.is-style-more_btn .swell-block-button__link {
  min-height: 48px;
  padding: .8em 2.2em !important;
  border: 2px solid var(--dd-navy) !important;
  border-radius: 0 !important;
  background: var(--dd-navy) !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .04em;
  box-shadow: none !important;
  transition: background-color .2s, border-color .2s, color .2s;
}
.swell-block-button.is-style-more_btn .swell-block-button__link:hover {
  border-color: var(--dd-red) !important;
  background: var(--dd-red) !important;
  color: #fff !important;
}
.swell-block-button.is-style-btn_line .swell-block-button__link {
  border: 2px solid var(--dd-navy) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--dd-navy) !important;
  font-weight: 700;
  box-shadow: none !important;
}
.swell-block-button.is-style-btn_line .swell-block-button__link:hover {
  background: var(--dd-navy) !important;
  color: #fff !important;
}
/* 追加クラス（ボタンブロックの「追加CSSクラス」に併記） */
.swell-block-button.dd-btn-red .swell-block-button__link {
  border-color: var(--dd-red) !important;
  background: var(--dd-red) !important;
}
.swell-block-button.dd-btn-red .swell-block-button__link:hover {
  border-color: var(--dd-red-dark) !important;
  background: var(--dd-red-dark) !important;
}
.swell-block-button.dd-btn-ghost .swell-block-button__link {
  border-color: #fff !important;
  background: transparent !important;
  color: #fff !important;
}
.swell-block-button.dd-btn-ghost .swell-block-button__link:hover {
  background: #fff !important;
  color: var(--dd-navy) !important;
}
.swell-block-button.dd-btn-block .swell-block-button__link {
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
}

/* =========================================================
   6. タブ（Arkhe Blocks のタブ：CONTACT など）
   ========================================================= */
.ark-block-tab.is-style-box .arkb-tabList__button {
  border: 2px solid var(--dd-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--dd-navy) !important;
  font-weight: 700;
}
.ark-block-tab.is-style-box .arkb-tabList__button[aria-selected="true"] {
  border-color: var(--dd-red) !important;
  background: var(--dd-red) !important;
  color: #fff !important;
}

/* =========================================================
   7. セクションの色
   フルワイドは className 非対応のため、フルワイド直下のグループブロックに className を付ける
   dd-dark: ネイビー地 / dd-red: 赤地（背景色そのものはフルワイドの背景色設定で入れる）
   ========================================================= */
.wp-block-group:is(.dd-dark, .dd-red) {
  color: #fff;
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group:is(.dd-dark, .dd-red) :is(h2, h2.is-style-section_ttl, p) {
  color: #fff !important;
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-dark p.dd-kicker {
  color: var(--dd-pink) !important;
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-red p.dd-kicker {
  color: var(--dd-pink-pale) !important;
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-red h2.is-style-section_ttl::after {
  background: #fff !important;
}

/* 本文リード（段落に className「dd-lead」） */
:is(.post_content, .editor-styles-wrapper) p.dd-lead {
  max-width: 680px;
  font-size: 16px;
  line-height: 2;
}

/* =========================================================
   8. MATCH CENTER（トップ：次の試合＋試合結果）
   ========================================================= */
.wp-block-group.dd-ng {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
  color: var(--dd-ink);
  box-shadow: 0 16px 40px rgba(10, 26, 58, .14);
}
:is(.post_content, .editor-styles-wrapper) .dd-ng p.dd-ng__label {
  margin: 0 !important;
  padding: 12px 20px;
  background: var(--dd-red);
  color: #fff !important;
  font-family: var(--dd-font-en);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dd-ng .simcal-calendar {
  margin: 0 !important;
  padding: 20px 20px 4px !important;
  border: 0 !important;
  background: none !important;
  font: inherit;
  color: inherit;
}
/* Simple Calendar の既定装飾（実際のクラスは公開HTMLで要確認） */
.dd-ng .simcal-calendar-head,
.dd-ng .simcal-day-label {
  display: none !important;
}
.dd-ng :is(.simcal-events, .simcal-event, .simcal-event-details) {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  list-style: none !important;
}
.dd-ng .dd-ng__date {
  font-family: var(--dd-font-en);
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}
.dd-ng .dd-ng__date small {
  margin-left: 8px;
  color: var(--dd-sub);
  font-size: 18px;
}
.dd-ng .dd-ng__title {
  margin-top: 14px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
.dd-ng .dd-ng__place {
  margin-top: 6px;
  color: var(--dd-sub);
  font-size: 13px;
}
.dd-ng .swell-block-button {
  margin: 12px 20px 20px !important;
}

/* 試合結果カード [dd_results] */
.dd-results__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.dd-results__grid + .swell-block-button,
.dd-results__grid ~ .swell-block-button {
  margin-top: 28px !important;
}
a.dd-score {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dd-border);
  background: #fff;
  color: var(--dd-ink) !important;
  text-decoration: none !important;
  transition: transform .2s, box-shadow .2s;
}
a.dd-score:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(10, 26, 58, .12);
}
.dd-score__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: var(--dd-navy);
  color: #fff;
}
.dd-score__comp {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.dd-score__date {
  flex-shrink: 0;
  color: var(--dd-muted);
  font-family: var(--dd-font-en);
  font-size: 13px;
}
.dd-score__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
}
.dd-score__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  line-height: 1.4;
}
.dd-score__row.is-us .dd-score__team {
  font-weight: 700;
}
.dd-score__run {
  flex-shrink: 0;
  min-width: 44px;
  background: var(--dd-bg);
  font-family: var(--dd-font-en);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.dd-score__row.is-winner .dd-score__run {
  background: var(--dd-navy);
  color: #fff;
}
.dd-score__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 12px 16px;
  border-top: 1px solid var(--dd-border);
  font-size: 13px;
  font-weight: 700;
}
.dd-score__more {
  color: var(--dd-red);
}
.dd-score__badge {
  padding: 2px 8px;
  background: var(--dd-sub);
  color: #fff;
  font-family: var(--dd-font-en);
  font-size: 12px;
  letter-spacing: .1em;
}
.dd-score__badge.is-win { background: var(--dd-red); }
.dd-score__badge.is-draw { background: var(--dd-body); }
.dd-empty {
  color: var(--dd-sub);
  font-size: 14px;
}
.dd-dark .dd-empty {
  color: var(--dd-muted);
}

/* =========================================================
   9. NEWS（SWELL 投稿リスト「シンプル」をスキン）
   parts/post_list/style_simple.php と照合済み
   ========================================================= */
.dd-news .p-postList.-type-simple {
  border-top: 2px solid var(--dd-navy);
}
.dd-news .p-postList__item {
  margin: 0 !important;
  border-bottom: 1px solid var(--dd-border);
}
.dd-news .p-postList__link {
  display: block;
  padding: 18px 4px;
  color: var(--dd-ink);
}
.dd-news .p-postList__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-bottom: 6px;
}
.dd-news .p-postList__meta :is(time, .c-postTimes__posted) {
  color: var(--dd-sub);
  font-family: var(--dd-font-en);
  font-size: 14px;
}
.dd-news .p-postList__meta :is(time, .c-postTimes__posted, .p-postList__cat)::before {
  display: none !important;
}
.dd-news .p-postList__cat {
  padding: 2px 10px;
  background: var(--dd-red);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
}
:is(.post_content, .editor-styles-wrapper) .dd-news .p-postList__title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
  transition: color .2s;
}
:is(.post_content, .editor-styles-wrapper) .dd-news .p-postList__title::before,
:is(.post_content, .editor-styles-wrapper) .dd-news .p-postList__title::after {
  content: none !important;
}
.dd-news .p-postList__link:hover .p-postList__title {
  color: var(--dd-red);
}

/* =========================================================
   10. ABOUT（数字の帯）
   ========================================================= */
.dd-about .wp-block-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.wp-block-columns.dd-stats {
  flex-wrap: wrap !important;
  gap: 1px !important;
  margin: 32px 0 28px !important;
  border: 1px solid var(--dd-border);
  background: var(--dd-border);
}
.wp-block-columns.dd-stats > .wp-block-column {
  flex: 1 1 120px !important;
  margin: 0 !important;
  padding: 18px 20px;
  background: #fff;
}
:is(.post_content, .editor-styles-wrapper) p.dd-stats__num {
  margin: 0 !important;
  font-family: var(--dd-font-en);
  font-size: clamp(28px, 3vw, 38px) !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
:is(.post_content, .editor-styles-wrapper) p.dd-stats__label {
  margin: 6px 0 0 !important;
  color: var(--dd-sub);
  font-size: 12px !important;
}

/* =========================================================
   11. OUR BATTLEFIELD（出場大会）
   ========================================================= */
.wp-block-columns.dd-goals {
  flex-wrap: wrap !important;
  gap: 16px !important;
}
.wp-block-columns.dd-goals > .wp-block-column {
  flex: 1 1 220px !important;
  margin: 0 !important;
  padding: 24px;
  border: 1px solid var(--dd-line-2);
}
.wp-block-columns.dd-goals > .wp-block-column.is-target {
  border: 2px solid var(--dd-red);
  background: var(--dd-navy-2);
}
:is(.post_content, .editor-styles-wrapper) .dd-dark .wp-block-columns.dd-goals p.dd-goal__step {
  margin: 0 0 8px !important;
  color: var(--dd-muted) !important;
  font-family: var(--dd-font-en);
  font-size: 14px !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}
:is(.post_content, .editor-styles-wrapper) .dd-dark .wp-block-columns.dd-goals .is-target p.dd-goal__step {
  color: var(--dd-pink) !important;
}
:is(.post_content, .editor-styles-wrapper) p.dd-goal__name {
  margin: 0 0 8px !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.4;
}
:is(.post_content, .editor-styles-wrapper) .dd-dark .wp-block-columns.dd-goals p.dd-goal__note {
  margin: 0 !important;
  color: var(--dd-muted) !important;
  font-size: 13px !important;
  line-height: 1.7;
}

/* =========================================================
   12. ROSTER [dd_roster]（アイキャッチ画像つき）
   ========================================================= */
.dd-roster__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.dd-roster__tab {
  min-height: 44px;
  padding: 0 18px;
  border: 2px solid var(--dd-line-2);
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-family: var(--dd-font-ja);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .2s, border-color .2s;
}
.dd-roster__tab:hover {
  border-color: var(--dd-muted);
}
.dd-roster__tab[aria-selected="true"] {
  border-color: var(--dd-red);
  background: var(--dd-red);
}
.dd-roster__tab:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.dd-roster__count {
  margin-left: 6px;
  color: var(--dd-muted);
  font-family: var(--dd-font-en);
}
.dd-roster__tab[aria-selected="true"] .dd-roster__count {
  color: #fff;
}
.dd-roster__panel[hidden] {
  display: none;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-roster__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-roster__grid > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-roster__grid > li::before,
:is(.post_content, .editor-styles-wrapper) ul.dd-roster__grid > li::marker {
  content: none !important;
  display: none !important;
}
a.dd-pcard {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border: 1px solid var(--dd-line);
  background: var(--dd-navy-card);
  color: #fff !important;
  text-decoration: none !important;
  transition: border-color .2s, transform .2s;
}
a.dd-pcard:hover {
  transform: translateY(-3px);
  border-color: var(--dd-red);
}
.dd-pcard__photo {
  position: absolute;
  inset: 0;
}
.dd-pcard__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform .4s;
}
a.dd-pcard:hover .dd-pcard__photo img {
  transform: scale(1.04);
}
/* 名前を読めるように下だけ暗くする */
a.dd-pcard.has-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(6, 17, 39, 0) 38%, rgba(6, 17, 39, .94) 100%);
  pointer-events: none;
}
.dd-pcard__bg {
  position: absolute;
  top: -14px;
  right: 10px;
  z-index: 1;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: 128px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  -webkit-text-stroke: 2px rgba(255, 255, 255, .16);
  pointer-events: none;
}
a.dd-pcard.has-photo .dd-pcard__bg {
  z-index: 2;
  -webkit-text-stroke: 2px rgba(255, 255, 255, .55);
}
.dd-pcard__cap {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  padding: 3px 8px;
  background: var(--dd-red);
  font-size: 11px;
  font-weight: 700;
}
.dd-pcard__info {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px;
}
.dd-pcard__no {
  font-family: var(--dd-font-en);
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}
.dd-pcard__pos {
  color: var(--dd-pink);
  font-family: var(--dd-font-en);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.dd-pcard__name {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}
.dd-roster + .swell-block-button {
  margin-top: 32px !important;
}

/* =========================================================
   13. UNIFORM
   ========================================================= */
.dd-uniform .wp-block-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
:is(.post_content, .editor-styles-wrapper) p.dd-uniform__name {
  margin: 12px 0 0 !important;
  font-family: var(--dd-font-en);
  font-size: 24px !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* =========================================================
   14. JOIN（赤地＋白カード）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) .dd-red h2.dd-join__title {
  font-size: clamp(40px, 6.5vw, 84px) !important;
  font-style: italic;
}
.wp-block-columns.dd-jcards {
  gap: 20px !important;
  margin-top: 32px !important;
}
.wp-block-columns.dd-jcards > .wp-block-column {
  display: flex;
  flex-direction: column;
  padding: 32px;
  background: #fff;
  color: var(--dd-ink);
}
:is(.post_content, .editor-styles-wrapper) .dd-red .wp-block-columns.dd-jcards p {
  color: var(--dd-body) !important;
}
:is(.post_content, .editor-styles-wrapper) .dd-red .wp-block-columns.dd-jcards p.dd-jcard__en {
  margin: 0 0 6px !important;
  color: var(--dd-red-dark) !important;
  font-family: var(--dd-font-en);
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
:is(.post_content, .editor-styles-wrapper) .dd-red .wp-block-columns.dd-jcards p.dd-jcard__spec {
  padding-top: 14px;
  border-top: 1px solid var(--dd-border);
  color: var(--dd-ink) !important;
  font-size: 14px !important;
  line-height: 1.9;
}
:is(.post_content, .editor-styles-wrapper) h3:is(.dd-jcard__title, .dd-become__title) {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-family: var(--dd-font-ja);
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}
:is(.post_content, .editor-styles-wrapper) h3:is(.dd-jcard__title, .dd-become__title)::before,
:is(.post_content, .editor-styles-wrapper) h3:is(.dd-jcard__title, .dd-become__title)::after {
  content: none !important;
  display: none !important;
}
:is(.post_content, .editor-styles-wrapper) .dd-jcards h3.dd-jcard__title {
  color: var(--dd-ink) !important;
}
.dd-jcards .wp-block-column > .swell-block-button {
  margin-top: auto !important;
  padding-top: 16px;
}

/* =========================================================
   15. SPONSORS
   ========================================================= */
.wp-block-columns.dd-sponsor-logos {
  gap: 16px !important;
  max-width: 760px;
  margin-right: auto !important;
  margin-left: auto !important;
}
.wp-block-columns.dd-sponsor-logos > .wp-block-column {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  padding: 20px;
  border: 1px solid var(--dd-border);
  background: #fff;
}
.dd-sponsor-logos .wp-block-image {
  margin: 0 !important;
}
.dd-sponsor-logos .wp-block-image img {
  width: auto;
  max-height: 72px;
}
.wp-block-group.dd-become {
  margin-top: 56px !important;
  padding: 0 !important;
  background: var(--dd-navy);
  color: #fff;
}
.dd-become .wp-block-columns {
  gap: 0 !important;
  margin: 0 !important;
}
.dd-become .wp-block-column {
  padding: 40px;
}
.dd-become .wp-block-column.dd-become__plans {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--dd-navy-2);
}
:is(.post_content, .editor-styles-wrapper) .dd-become :is(p, h3) {
  color: #fff !important;
}
:is(.post_content, .editor-styles-wrapper) .dd-become p.dd-kicker {
  color: var(--dd-pink) !important;
}
:is(.post_content, .editor-styles-wrapper) .dd-become p.dd-become__text {
  color: var(--dd-light) !important;
  font-size: 14px !important;
  line-height: 1.9;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-plans {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-plans > li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0 !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--dd-line-2);
  color: #fff;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-plans > li:last-child {
  border-bottom: 0;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-plans > li::before,
:is(.post_content, .editor-styles-wrapper) ul.dd-plans > li::marker {
  content: none !important;
  display: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-plans strong {
  flex-shrink: 0;
  font-family: var(--dd-font-en);
  font-size: 18px;
  font-weight: 700;
}

/* =========================================================
   16. FOLLOW（SNSリンク）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) p.dd-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px !important;
}
:is(.post_content, .editor-styles-wrapper) p.dd-sns a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  background: var(--dd-navy);
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color .2s;
}
:is(.post_content, .editor-styles-wrapper) p.dd-sns a:hover {
  background: var(--dd-red);
}

/* =========================================================
   17. スマホ
   ========================================================= */
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) ul.dd-roster__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .dd-pcard__bg {
    font-size: 88px;
  }
  .dd-pcard__info {
    padding: 12px;
  }
  .dd-pcard__no {
    font-size: 30px;
  }
  .dd-pcard__name {
    font-size: 14px;
  }
  .dd-become .wp-block-column,
  .wp-block-columns.dd-jcards > .wp-block-column {
    padding: 24px;
  }
}

/* =========================================================
   18. 共通パーツ（TEAM / CONTACT で追加）
   ========================================================= */
/* 小見出し h3（className「dd-h3」） */
:is(.post_content, .editor-styles-wrapper) h3.dd-h3 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--dd-ink) !important;
  font-family: var(--dd-font-ja);
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}
:is(.post_content, .editor-styles-wrapper) h3.dd-h3::before,
:is(.post_content, .editor-styles-wrapper) h3.dd-h3::after {
  content: none !important;
  display: none !important;
}
:is(.post_content, .editor-styles-wrapper) :is(.dd-dark, .dd-red, .dd-infobox, .dd-plans-card) h3.dd-h3 {
  color: #fff !important;
}
/* ネイビー地の上の補足 */
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-dark p.dd-note {
  margin-top: 24px !important;
  color: var(--dd-light) !important;
  font-size: 14px !important;
}
/* 写真に赤い枠をずらして重ねる（画像ブロックに className「dd-photo-frame」） */
.wp-block-image.dd-photo-frame {
  position: relative;
  margin: 0 16px 16px 0 !important;
}
.wp-block-image.dd-photo-frame::before {
  content: "";
  position: absolute;
  inset: 16px -16px -16px 16px;
  z-index: 0;
  border: 3px solid var(--dd-red);
  pointer-events: none;
}
.wp-block-image.dd-photo-frame img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
/* 数字の帯：ネイビー地版（カラムに className「dd-stats is-dark」） */
.wp-block-columns.dd-stats.is-dark {
  margin-top: 56px !important;
  border-color: var(--dd-line-2);
  background: var(--dd-line-2);
}
.wp-block-columns.dd-stats.is-dark > .wp-block-column {
  background: var(--dd-navy);
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-dark .dd-stats p.dd-stats__label {
  color: var(--dd-muted) !important;
}

/* =========================================================
   19. TEAM：THE CLUB（ネイビーの導入）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) .dd-club h2.is-style-section_ttl {
  font-family: var(--dd-font-ja) !important;
  font-size: clamp(34px, 5.4vw, 64px) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;
}

/* =========================================================
   20. TEAM：歩み（タイムライン）
   ========================================================= */
.wp-block-columns.dd-timeline {
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin-top: 48px !important;
}
.wp-block-columns.dd-timeline > .wp-block-column {
  position: relative;
  flex: 1 1 220px !important;
  margin: 0 !important;
  padding: 32px 28px 32px 0;
  border-top: 3px solid var(--dd-navy);
}
.wp-block-columns.dd-timeline > .wp-block-column::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  box-sizing: border-box;
  width: 17px;
  height: 17px;
  border: 3px solid var(--dd-navy);
  border-radius: 50%;
  background: #fff;
}
.wp-block-columns.dd-timeline > .wp-block-column.is-now {
  border-top-color: var(--dd-red);
}
.wp-block-columns.dd-timeline > .wp-block-column.is-now::before {
  border-color: var(--dd-red);
  background: var(--dd-red);
}
:is(.post_content, .editor-styles-wrapper) p.dd-tl__year {
  margin: 0 0 10px !important;
  color: var(--dd-navy);
  font-family: var(--dd-font-en);
  font-size: 44px !important;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
:is(.post_content, .editor-styles-wrapper) .is-now p.dd-tl__year {
  color: var(--dd-red);
}
:is(.post_content, .editor-styles-wrapper) p.dd-tl__title {
  margin: 0 0 6px !important;
  font-size: 16px !important;
  font-weight: 700;
}
:is(.post_content, .editor-styles-wrapper) p.dd-tl__text {
  margin: 0 !important;
  color: var(--dd-body);
  font-size: 14px !important;
  line-height: 1.8;
}

/* =========================================================
   21. TEAM：JABA の説明ボックス（ネイビー地の中）
   ========================================================= */
.wp-block-group.dd-infobox {
  margin-top: 40px !important;
  padding: 28px 32px !important;
  border: 1px solid var(--dd-line-2);
  background: var(--dd-navy-2);
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-dark .dd-infobox p:not(.dd-kicker) {
  margin: 0 !important;
  color: var(--dd-light) !important;
  font-size: 14px !important;
  line-height: 1.9;
}

/* =========================================================
   22. TEAM：ユニフォーム写真に英字ラベルを重ねる
   画像ブロックに className「dd-uniform-card」＋キャプション
   ========================================================= */
.wp-block-image.dd-uniform-card {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
}
.wp-block-image.dd-uniform-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .4s;
}
.wp-block-image.dd-uniform-card:hover img {
  transform: scale(1.03);
}
.wp-block-image.dd-uniform-card .wp-element-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 !important;
  padding: 56px 24px 18px !important;
  background: linear-gradient(180deg, rgba(6, 17, 39, 0), rgba(6, 17, 39, .85));
  color: #fff !important;
  font-family: var(--dd-font-en);
  font-size: clamp(28px, 4vw, 44px) !important;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  text-align: left !important;
  text-transform: uppercase;
  pointer-events: none;
}

/* =========================================================
   23. TEAM：JOIN カードの写真（カード上部いっぱいに）
   ========================================================= */
.dd-jcards .wp-block-image.dd-jcard__img {
  margin: -32px -32px 24px !important;
}
.dd-jcards .wp-block-image.dd-jcard__img img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* =========================================================
   24. TEAM：費用（明るい背景の料金表）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) ul.dd-fees {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 2px solid var(--dd-navy);
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-fees > li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin: 0 !important;
  padding: 16px 4px !important;
  border-bottom: 1px solid var(--dd-border);
  color: var(--dd-body);
  font-size: 15px;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-fees > li::before,
:is(.post_content, .editor-styles-wrapper) ul.dd-fees > li::marker {
  content: none !important;
  display: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-fees strong {
  flex-shrink: 0;
  color: var(--dd-ink);
  font-family: var(--dd-font-en);
  font-size: 20px;
  font-weight: 700;
}

/* =========================================================
   25. TEAM：よくある質問（コアの「詳細」ブロック）
   ========================================================= */
.dd-faq {
  counter-reset: ddq;
}
details.wp-block-details.dd-qa {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 1px solid var(--dd-border);
  background: #fff;
  counter-increment: ddq;
  transition: border-color .2s;
}
details.wp-block-details.dd-qa[open] {
  border-color: var(--dd-navy);
}
details.wp-block-details.dd-qa > summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 56px 18px 20px;
  color: var(--dd-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
details.wp-block-details.dd-qa > summary::-webkit-details-marker {
  display: none;
}
details.wp-block-details.dd-qa > summary::before {
  content: "Q" counter(ddq, decimal-leading-zero);
  flex-shrink: 0;
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .04em;
}
/* 右端の＋（開くと×） */
details.wp-block-details.dd-qa > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 14px;
  height: 14px;
  background:
    linear-gradient(var(--dd-navy), var(--dd-navy)) center / 14px 2px no-repeat,
    linear-gradient(var(--dd-navy), var(--dd-navy)) center / 2px 14px no-repeat;
  transform: translateY(-50%);
  transition: transform .2s;
}
details.wp-block-details.dd-qa[open] > summary::after {
  transform: translateY(-50%) rotate(45deg);
}
details.wp-block-details.dd-qa > summary:focus-visible {
  outline: 2px solid var(--dd-navy);
  outline-offset: -2px;
}
:is(.post_content, .editor-styles-wrapper) details.dd-qa > p {
  margin: 0 !important;
  padding: 0 20px 18px 70px;
  color: var(--dd-body);
  font-size: 15px;
  line-height: 1.9;
}
:is(.post_content, .editor-styles-wrapper) details.dd-qa > p:first-of-type {
  padding-top: 16px;
  border-top: 1px dashed var(--dd-border);
}
.dd-faq details.dd-qa:last-of-type + .swell-block-button,
.dd-faq .swell-block-button {
  margin-top: 32px !important;
}

/* =========================================================
   26. TEAM：PARTNERSHIP（協賛）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) .dd-partnership h2.is-style-section_ttl {
  font-family: var(--dd-font-ja) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
}
.wp-block-group.dd-plans-card {
  padding: 32px !important;
  border-top: 4px solid var(--dd-red);
  background: var(--dd-navy-2);
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-dark .dd-plans-card p.dd-price {
  margin: 0 0 20px !important;
  color: var(--dd-light) !important;
  font-size: 15px !important;
  line-height: 2;
}
:is(.post_content, .editor-styles-wrapper) .dd-plans-card p.dd-price strong {
  color: #fff;
  font-family: var(--dd-font-en);
  font-size: 26px;
  font-weight: 700;
}
.dd-plans-card ul.dd-plans + .swell-block-button {
  margin-top: 24px !important;
}

/* =========================================================
   27. CONTACT
   ========================================================= */
.wp-block-columns.dd-contact-cols {
  gap: 20px !important;
  margin-top: 32px !important;
}
.wp-block-columns.dd-contact-cols > .wp-block-column > .wp-block-group {
  box-sizing: border-box;
  height: 100%;
  margin: 0 !important;
  padding: 32px !important;
}
.wp-block-group.dd-linebox {
  background: var(--dd-navy);
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-linebox p:not(.dd-kicker) {
  color: var(--dd-light) !important;
  font-size: 15px !important;
  line-height: 1.9;
}
.dd-linebox .swell-block-button {
  margin-top: 24px !important;
}
.wp-block-group.dd-notice {
  border-top: 4px solid var(--dd-red);
  background: #fff;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-checklist {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-checklist > li {
  position: relative;
  margin: 0 !important;
  padding: 10px 0 10px 22px !important;
  border-bottom: 1px solid var(--dd-border);
  color: var(--dd-body);
  font-size: 14px;
  line-height: 1.8;
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-checklist > li:last-child {
  border-bottom: 0;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-checklist > li::marker {
  content: none !important;
}
:is(.post_content, .editor-styles-wrapper) ul.dd-checklist > li::before {
  content: "" !important;
  position: absolute !important;
  top: 19px !important;
  left: 2px !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--dd-red) !important;
  transform: none !important;
}

/* LINE ボタン（LINEのブランドカラー） */
.swell-block-button.dd-btn-line .swell-block-button__link {
  border-color: #06C755 !important;
  background: #06C755 !important;
  color: #fff !important;
}
.swell-block-button.dd-btn-line .swell-block-button__link:hover {
  border-color: #05A847 !important;
  background: #05A847 !important;
}

/* フォームのカード */
.wp-block-group.dd-formcard {
  margin-top: 24px !important;
  padding: clamp(20px, 4vw, 40px) !important;
  border: 1px solid var(--dd-border);
  border-top: 4px solid var(--dd-navy);
  background: #fff;
}
/* Contact Form 7 の部品（既存 style.css の .inquiry 等より後に効かせる） */
.dd-formcard .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
  box-sizing: border-box;
  width: 100%;
  padding: 12px 14px !important;
  border: 1px solid var(--dd-light) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--dd-ink);
  font-size: 16px;
  transition: border-color .2s, box-shadow .2s;
}
.dd-formcard .wpcf7 :is(input, select, textarea):focus {
  border-color: var(--dd-navy) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 26, 58, .15) !important;
}
.dd-formcard .wpcf7 :is(input[type="submit"], .wpcf7-submit) {
  min-height: 56px;
  padding: 0 56px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--dd-red) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background-color .2s;
}
.dd-formcard .wpcf7 :is(input[type="submit"], .wpcf7-submit):hover {
  background: var(--dd-red-dark) !important;
}
/* 必須・任意バッジ（style.css の .haveto / .any） */
.dd-formcard :is(.haveto, .any) {
  border-radius: 0 !important;
}
.dd-formcard .haveto {
  background: var(--dd-red) !important;
}
.dd-formcard .any {
  background: var(--dd-sub) !important;
}

/* =========================================================
   28. スマホ（TEAM / CONTACT）
   ========================================================= */
@media (max-width: 599px) {
  .dd-jcards .wp-block-image.dd-jcard__img {
    margin: -24px -24px 20px !important;
  }
  .wp-block-columns.dd-timeline > .wp-block-column {
    padding-right: 0;
  }
  :is(.post_content, .editor-styles-wrapper) details.dd-qa > p {
    padding-left: 20px;
  }
  .wp-block-columns.dd-contact-cols > .wp-block-column > .wp-block-group,
  .wp-block-group.dd-plans-card,
  .wp-block-group.dd-infobox {
    padding: 24px !important;
  }
}

/* =========================================================
   29. MATCH CENTER v2（トップ）
   - NEXT GAME：ネイビーのスコアボード風パネル
   - 試合結果：[dd_results layout="list"] の行リスト
   ========================================================= */
.wp-block-group.dd-ng {
  position: relative;
  overflow: hidden;
  background: var(--dd-navy);
  color: #fff;
  box-shadow: 0 20px 40px rgba(10, 26, 58, .22);
}
/* 背景の透かし文字 */
.wp-block-group.dd-ng::after {
  content: "NEXT";
  position: absolute;
  right: -8px;
  bottom: -22px;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: 120px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .08);
  pointer-events: none;
}
.dd-ng .simcal-calendar {
  position: relative;
  z-index: 1;
  min-height: 120px;
  padding: 28px 24px 8px !important;
  color: #fff !important;
}
.dd-ng .dd-ng__date {
  color: #fff;
  font-size: 52px;
}
.dd-ng .dd-ng__date small {
  display: block;
  margin: 8px 0 0;
  color: var(--dd-pink);
  font-size: 16px;
  letter-spacing: .08em;
}
.dd-ng .dd-ng__title {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--dd-line-2);
  color: #fff;
  font-size: 18px;
}
.dd-ng .dd-ng__place {
  color: var(--dd-muted);
}
/* 予定がないとき（Simple Calendar の「イベントなし」メッセージ） */
.dd-ng .dd-ng__tba {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-family: var(--dd-font-en);
  font-size: 64px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}
.dd-ng .simcal-calendar :is(p, div, span) {
  color: inherit;
}
/* パネル内のボタン：1つ目は赤、2つ目以降は白線 */
.dd-ng .swell-block-button {
  position: relative;
  z-index: 1;
  margin: 0 24px 12px !important;
}
.dd-ng .swell-block-button:last-child {
  margin-bottom: 24px !important;
}
.dd-ng .swell-block-button:not(.swell-block-button ~ .swell-block-button) {
  margin-top: 20px !important;
}
.dd-ng .swell-block-button .swell-block-button__link {
  border-color: rgba(255, 255, 255, .45) !important;
  background: transparent !important;
}
.dd-ng .swell-block-button .swell-block-button__link:hover {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--dd-navy) !important;
}
.dd-ng .swell-block-button:not(.swell-block-button ~ .swell-block-button) .swell-block-button__link {
  border-color: var(--dd-red) !important;
  background: var(--dd-red) !important;
}
.dd-ng .swell-block-button:not(.swell-block-button ~ .swell-block-button) .swell-block-button__link:hover {
  border-color: var(--dd-red-dark) !important;
  background: var(--dd-red-dark) !important;
  color: #fff !important;
}

/* 試合結果の行リスト */
:is(.post_content, .editor-styles-wrapper) ol.dd-matchlist {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 3px solid var(--dd-navy);
  background: #fff;
  box-shadow: 0 20px 40px rgba(10, 26, 58, .08);
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ol.dd-matchlist > li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--dd-border);
  list-style: none !important;
}
:is(.post_content, .editor-styles-wrapper) ol.dd-matchlist > li::before,
:is(.post_content, .editor-styles-wrapper) ol.dd-matchlist > li::marker {
  content: none !important;
  display: none !important;
}
a.dd-mrow {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto 28px;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  color: var(--dd-ink) !important;
  text-decoration: none !important;
  transition: background-color .2s;
}
a.dd-mrow:hover {
  background: var(--dd-bg);
}
.dd-mrow__date {
  display: flex;
  flex-direction: column;
  padding-right: 20px;
  border-right: 1px solid var(--dd-border);
  font-family: var(--dd-font-en);
  line-height: 1;
}
.dd-mrow__md {
  color: var(--dd-navy);
  font-size: 28px;
  font-weight: 700;
}
.dd-mrow__y {
  margin-top: 6px;
  color: var(--dd-sub);
  font-size: 13px;
  letter-spacing: .1em;
}
.dd-mrow__main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.dd-mrow__comp {
  overflow: hidden;
  color: var(--dd-sub);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.dd-mrow__vs {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  font-size: 17px;
  line-height: 1.35;
}
.dd-mrow__vs b {
  font-weight: 700;
}
.dd-mrow__vs i {
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: 13px;
  font-style: italic;
  font-weight: 700;
  letter-spacing: .06em;
}
.dd-mrow__score {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dd-mrow__runs {
  font-family: var(--dd-font-en);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}
.dd-mrow__runs i {
  margin: 0 6px;
  color: var(--dd-muted);
  font-style: normal;
}
.dd-mrow__report {
  padding: 4px 10px;
  border: 1px solid var(--dd-border);
  color: var(--dd-sub);
  font-family: var(--dd-font-en);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.dd-mrow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--dd-navy);
  color: #fff;
  transition: background-color .2s, transform .2s;
}
a.dd-mrow:hover .dd-mrow__arrow {
  background: var(--dd-red);
  transform: translateX(3px);
}
.dd-matchlist + .swell-block-button {
  margin-top: 24px !important;
}

@media (max-width: 599px) {
  /* スマホ：日付 ｜ 大会名・カード・スコア（2段） ｜ 矢印 */
  a.dd-mrow {
    grid-template-columns: 58px minmax(0, 1fr) 26px;
    grid-template-areas:
      "date main  arrow"
      "date score arrow";
    gap: 8px 14px;
    padding: 16px 14px 16px 16px;
  }
  .dd-mrow__date {
    grid-area: date;
    align-self: stretch;
    justify-content: center;
    padding-right: 12px;
  }
  .dd-mrow__md {
    font-size: 25px;
  }
  .dd-mrow__y {
    margin-top: 5px;
    font-size: 11px;
  }
  .dd-mrow__main {
    grid-area: main;
    gap: 3px;
  }
  .dd-mrow__comp {
    font-size: 11px;
  }
  .dd-mrow__vs {
    gap: 2px 8px;
    font-size: 15px;
  }
  .dd-mrow__vs i {
    font-size: 12px;
  }
  .dd-mrow__score {
    grid-area: score;
    gap: 8px;
  }
  .dd-mrow__runs {
    font-size: 22px;
  }
  .dd-mrow__runs i {
    margin: 0 4px;
  }
  .dd-mrow__report {
    padding: 2px 8px;
    font-size: 10px;
  }
  .dd-mrow__score .dd-score__badge {
    padding: 1px 6px;
    font-size: 10px;
  }
  .dd-mrow__arrow {
    grid-area: arrow;
    align-self: center;
    width: 26px;
    height: 26px;
  }
  .dd-mrow__arrow svg {
    width: 15px;
    height: 15px;
  }
}

/* =========================================================
   30. 詳細ページ 共通（選手 single-member / 試合 single-article）
   ========================================================= */
.single-member #body_wrap,
.single-article #body_wrap {
  overflow-x: clip;
}
.single-member #content,
.single-article #content {
  padding-top: 0;
}
/* タイトル位置が「コンテンツ上」の設定でも、ヒーローに名前・試合名があるので SWELL のタイトルエリアは出さない */
.single-member .l-topTitleArea,
.single-article .l-topTitleArea {
  display: none;
}
.dd-bleed {
  position: relative;
  left: 50%;
  box-sizing: border-box;
  width: 100vw;
  margin-left: -50vw;
}
.dd-single .dd-bleed > .dd-wrap {
  box-sizing: border-box;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
}
.dd-single > section.dd-wrap {
  max-width: 960px;
  margin: 0 auto;
}
.dd-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.dd-single .dd-sublabel {
  margin: 0 0 12px;
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.dd-single .dd-sublabel.is-dark {
  color: var(--dd-pink);
}
.dd-single h2.dd-single__h2 {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--dd-ink);
  font-family: var(--dd-font-ja);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 900;
  line-height: 1.35;
}
.dd-single h2.dd-single__h2::before,
.dd-single h2.dd-single__h2::after {
  content: none;
  display: none;
}
.dd-single .dd-single__back {
  margin: 48px 0 0;
  text-align: center;
}
.dd-single .dd-single__back a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 32px;
  border: 2px solid currentColor;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s, border-color .2s, color .2s;
}
.dd-single .dd-single__back a:hover {
  border-color: var(--dd-red);
  background: var(--dd-red);
  color: #fff;
}
.dd-single .dd-single__content {
  margin-top: 48px;
}
/* 詳細ページ内のカード・リスト（本文 .post_content の外なので個別に初期化） */
.dd-single ul.dd-roster__grid,
.dd-single ol.dd-matchlist {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dd-single ul.dd-roster__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.dd-single :is(ul.dd-roster__grid, ol.dd-matchlist) > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dd-single :is(ul.dd-roster__grid, ol.dd-matchlist) > li::before {
  content: none;
  display: none;
}
.dd-single ol.dd-matchlist {
  border-top: 3px solid var(--dd-navy);
  background: #fff;
}
.dd-single ol.dd-matchlist > li {
  border-bottom: 1px solid var(--dd-border);
}
/* 項目と値の表（プロフィール・バッテリー等） */
.dd-single dl.dd-profile {
  margin: 0;
  border-top: 2px solid var(--dd-navy);
}
.dd-single dl.dd-profile > div {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 16px;
  padding: 18px 4px;
  border-bottom: 1px solid var(--dd-border);
}
.dd-single dl.dd-profile dt {
  color: var(--dd-sub);
  font-size: 14px;
  font-weight: 700;
}
.dd-single dl.dd-profile dd {
  margin: 0;
  color: var(--dd-ink);
  font-size: 16px;
  font-weight: 700;
}

/* =========================================================
   31. 選手プロフィール
   ========================================================= */
.dd-player__hero {
  overflow: hidden;
  padding: 56px 0 72px;
  background: var(--dd-navy);
  color: #fff;
}
.dd-player__hero::after,
.dd-game__hero::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 6px;
  background: var(--dd-red);
}
.dd-player__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 64px;
}
.dd-player__photo {
  position: relative;
  aspect-ratio: 4 / 5;
  margin: 0 16px 16px 0;
}
.dd-player__photo::before {
  content: "";
  position: absolute;
  inset: 16px -16px -16px 16px;
  border: 3px solid var(--dd-red);
  pointer-events: none;
}
.dd-player__photo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.dd-player__photo.is-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--dd-navy-card);
}
.dd-player__photo.is-empty span {
  position: relative;
  z-index: 1;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: 180px;
  font-style: italic;
  font-weight: 700;
  -webkit-text-stroke: 2px rgba(255, 255, 255, .25);
}
.dd-player__info {
  position: relative;
  min-width: 0;
}
.dd-player__bgno {
  position: absolute;
  top: -90px;
  right: -24px;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: clamp(180px, 24vw, 340px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .08);
  pointer-events: none;
}
.dd-player .dd-player__pos {
  position: relative;
  margin: 0 0 18px;
  color: var(--dd-pink);
  font-family: var(--dd-font-en);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.dd-player__pos span {
  margin-left: 14px;
  color: var(--dd-muted);
  font-family: var(--dd-font-ja);
  letter-spacing: .1em;
}
.dd-player__head {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 28px;
}
.dd-player__no {
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: clamp(96px, 11vw, 152px);
  font-style: italic;
  font-weight: 700;
  line-height: .8;
}
.dd-player__badge {
  display: inline-block;
  margin-bottom: 12px;
  padding: 3px 10px;
  background: var(--dd-line-2);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.dd-player__badge.is-cap {
  background: var(--dd-red);
}
.dd-player h1.dd-player__name {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  font-family: var(--dd-font-ja);
  font-size: clamp(34px, 4.6vw, 56px);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .04em;
}
.dd-player .dd-player__en {
  margin: 10px 0 0;
  color: var(--dd-muted);
  font-family: var(--dd-font-en);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.dd-player dl.dd-player__quick {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 1px;
  max-width: 560px;
  margin: 44px 0 0;
  border: 1px solid var(--dd-line-2);
  background: var(--dd-line-2);
}
.dd-player__quick > div {
  padding: 16px 18px;
  background: var(--dd-navy);
}
.dd-player__quick dt {
  margin: 0 0 6px;
  color: var(--dd-muted);
  font-size: 12px;
}
.dd-player__quick dd {
  margin: 0;
  font-family: var(--dd-font-en);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
}
.dd-player__quick small {
  margin-left: 2px;
  font-size: 13px;
}
.dd-player__body {
  padding: 72px 0;
}
.dd-player blockquote.dd-player__message {
  position: relative;
  margin: 0 0 64px;
  padding: 0 0 0 64px;
  border: 0;
  background: none;
}
.dd-player blockquote.dd-player__message::before {
  content: "\201C";
  position: absolute;
  top: -18px;
  left: 0;
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: 104px;
  line-height: 1;
}
.dd-player blockquote.dd-player__message::after {
  content: none;
}
.dd-player blockquote.dd-player__message p {
  margin: 0;
  color: var(--dd-ink);
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 900;
  line-height: 1.6;
}
.dd-player__more {
  padding: 72px 0;
  background: var(--dd-navy-deep);
  color: #fff;
}
.dd-player__more h2.dd-single__h2 {
  color: #fff;
}

/* =========================================================
   32. 試合結果
   ========================================================= */
.dd-game__hero {
  overflow: hidden;
  padding: 56px 0 72px;
  background: var(--dd-navy);
  color: #fff;
  text-align: center;
}
.dd-game__hero::before {
  content: "GAME";
  position: absolute;
  bottom: -40px;
  left: 50%;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: clamp(160px, 26vw, 360px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  transform: translateX(-50%);
  -webkit-text-stroke: 1px rgba(255, 255, 255, .06);
  pointer-events: none;
}
.dd-game .dd-game__comp {
  position: relative;
  display: inline-block;
  margin: 0 0 16px;
  padding: 4px 14px;
  border: 1px solid var(--dd-line-2);
  color: var(--dd-light);
  font-size: 13px;
  font-weight: 700;
}
.dd-game .dd-game__meta {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 6px 20px;
  margin: 0 0 44px;
}
.dd-game__meta time {
  font-family: var(--dd-font-en);
  font-size: 18px;
  letter-spacing: .1em;
}
.dd-game__meta span {
  color: var(--dd-muted);
  font-size: 14px;
}
.dd-game__board {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(12px, 4vw, 48px);
  max-width: 900px;
  margin: 0 auto;
}
.dd-game__team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.dd-game__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(64px, 9vw, 104px);
  height: clamp(64px, 9vw, 104px);
  background: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: clamp(20px, 2.6vw, 30px);
  font-style: italic;
  font-weight: 700;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); /* ホームベース側から見たダイヤモンド */
}
.dd-game__mark.is-opp {
  border: 2px solid var(--dd-line-2);
  border-radius: 50%;
  background: var(--dd-navy-card);
  font-family: var(--dd-font-ja);
  font-style: normal;
  clip-path: none;
}
.dd-game__tname {
  font-size: clamp(14px, 1.8vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.dd-game__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.dd-game__score {
  font-family: var(--dd-font-en);
  font-size: clamp(60px, 10vw, 128px);
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.dd-game__score i {
  margin: 0 .12em;
  color: var(--dd-muted);
  font-style: normal;
}
.dd-game__vs {
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: clamp(44px, 6vw, 72px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}
.dd-game__hero .dd-score__badge {
  padding: 4px 14px;
  font-size: 14px;
}
.dd-game__stats {
  padding: 64px 0 0;
}
.dd-linescore-wrap {
  overflow-x: auto;
  margin-bottom: 28px;
  border: 1px solid var(--dd-border);
  background: #fff;
}
.dd-game table.dd-linescore {
  width: 100%;
  min-width: 640px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-family: var(--dd-font-en);
}
.dd-game .dd-linescore :is(th, td) {
  padding: 12px 6px;
  border: 0;
  border-bottom: 1px solid var(--dd-border);
  background: none;
  color: var(--dd-ink);
  font-size: 18px;
  text-align: center;
}
.dd-game .dd-linescore thead th {
  background: var(--dd-navy);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .1em;
}
.dd-game .dd-linescore .is-team {
  position: relative;
  min-width: 140px;
  padding-left: 20px;
  font-family: var(--dd-font-ja);
  font-size: 15px;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
.dd-game .dd-linescore thead .is-team {
  font-family: var(--dd-font-en);
}
.dd-game .dd-linescore tr.is-us th.is-team::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--dd-red);
}
.dd-game .dd-linescore td.is-r {
  background: var(--dd-bg);
  color: var(--dd-red);
  font-size: 22px;
  font-weight: 700;
}
.dd-game .dd-linescore thead th.is-r {
  background: var(--dd-red);
}
.dd-game .dd-linescore td.is-sum {
  color: var(--dd-sub);
}
.dd-game .dd-linescore tbody tr:last-child :is(th, td) {
  border-bottom: 0;
}
.dd-game__report {
  padding: 64px 0 0;
}
.dd-game__report .dd-single__content {
  margin-top: 0;
}
.dd-game__more {
  margin-top: 80px;
  padding: 72px 0;
  background: var(--dd-bg);
}
.dd-pager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 64px;
}
.dd-pager__link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 24px;
  border: 1px solid var(--dd-border);
  background: #fff;
  color: var(--dd-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color .2s;
}
.dd-pager__link:hover {
  border-color: var(--dd-navy);
  color: var(--dd-ink);
}
.dd-pager__link span {
  color: var(--dd-red);
  font-size: 12px;
  letter-spacing: .1em;
}
.dd-pager__link.is-next {
  grid-column: 2;
  text-align: right;
}
.dd-game__more .dd-single__back {
  color: var(--dd-navy);
}

/* =========================================================
   33. 詳細ページ スマホ
   ========================================================= */
@media (max-width: 781px) {
  .dd-player__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .dd-player__photo {
    aspect-ratio: 1 / 1;
  }
  .dd-player__bgno {
    top: -40px;
  }
}
@media (max-width: 599px) {
  .dd-player dl.dd-player__quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dd-player__quick > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
  .dd-player__hero,
  .dd-game__hero {
    padding: 40px 0 56px;
  }
  .dd-player blockquote.dd-player__message {
    padding-left: 44px;
  }
  .dd-player blockquote.dd-player__message::before {
    font-size: 80px;
  }
  .dd-single dl.dd-profile > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .dd-single ul.dd-roster__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .dd-pager {
    grid-template-columns: 1fr;
  }
  .dd-pager__link.is-next {
    grid-column: auto;
  }
  .dd-game__mark.is-opp {
    font-size: 22px;
  }
}

/* =========================================================
   34. 試合結果：チームロゴ（自チーム＝カスタマイザー / 相手＝試合ごとの ACF）
   ========================================================= */
/* 白いひし形（ダイヤモンド）の中央にロゴ。ロゴはひし形より少し大きく、左右の角からはみ出す
   自チーム＝外側に赤いリング / 相手＝外側に半透明の白いリング */
.dd-game__board .dd-game__mark {
  width: clamp(104px, 14vw, 172px);
  height: clamp(104px, 14vw, 172px);
}
.dd-game__mark.has-logo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  clip-path: none;
}
.dd-game__mark.has-logo::before {
  content: "";
  position: absolute;
  inset: 14%;
  background: #fff;
  box-shadow:
    0 0 0 4px var(--dd-navy),
    0 0 0 6px rgba(255, 255, 255, .4),
    0 16px 36px rgba(0, 0, 0, .4);
  transform: rotate(45deg);
}
.dd-game__team.is-us .dd-game__mark.has-logo::before {
  box-shadow:
    0 0 0 4px var(--dd-navy),
    0 0 0 7px var(--dd-red),
    0 16px 36px rgba(0, 0, 0, .4);
}
.dd-game__mark.has-logo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  object-fit: contain;
  object-position: center;
  transform: none;
}
.dd-game__board .dd-game__team {
  gap: 26px;
}
@media (max-width: 599px) {
  .dd-game__board .dd-game__mark {
    width: 88px;
    height: 88px;
  }
  .dd-game__mark.has-logo::before {
    box-shadow:
      0 0 0 3px var(--dd-navy),
      0 0 0 5px rgba(255, 255, 255, .4),
      0 10px 24px rgba(0, 0, 0, .4);
  }
  .dd-game__team.is-us .dd-game__mark.has-logo::before {
    box-shadow:
      0 0 0 3px var(--dd-navy),
      0 0 0 5px var(--dd-red),
      0 10px 24px rgba(0, 0, 0, .4);
  }
  .dd-game__board .dd-game__team {
    gap: 16px;
  }
}

/* =========================================================
   35. TOP：志木テック紹介（Sponsor Showcase）
   ========================================================= */
:is(.post_content, .editor-styles-wrapper) .dd-promo h2.is-style-section_ttl {
  font-family: var(--dd-font-ja) !important;
  font-size: clamp(30px, 4.4vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
}
.wp-block-group.dd-btnrow {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px !important;
}
.wp-block-group.dd-btnrow > .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.dd-btnrow .swell-block-button {
  margin: 0 !important;
}
.wp-block-group.dd-promo-card {
  position: relative;
  margin: 0 !important;
  padding: 36px !important;
  border-top: 4px solid var(--dd-red);
  background: #fff;
  color: var(--dd-ink);
}
:is(.post_content, .editor-styles-wrapper) .wp-block-group.dd-dark .dd-promo-card p.dd-promo-card__label {
  margin: 0 0 16px !important;
  color: var(--dd-sub) !important;
  font-family: var(--dd-font-en);
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.dd-promo-card .wp-block-image.dd-promo-card__logo {
  margin: 0 0 24px !important;
}
.dd-promo-card .wp-block-image.dd-promo-card__logo img {
  width: auto;
  max-width: 100%;
  max-height: 120px;
}
@media (max-width: 599px) {
  .wp-block-group.dd-promo-card {
    padding: 24px !important;
  }
  .dd-btnrow .swell-block-button,
  .dd-btnrow .swell-block-button__link {
    width: 100%;
  }
}

/* =========================================================
   36. フッター CTA（dd_render_footer_cta）
   ========================================================= */
.dd-fcta {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 104px) 0;
  border-top: 6px solid var(--dd-red);
  background: var(--dd-navy-deep);
  color: #fff;
  font-family: var(--dd-font-ja);
}
.dd-fcta__bg {
  position: absolute;
  right: -2%;
  bottom: -0.18em;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: clamp(120px, 20vw, 300px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .07);
  pointer-events: none;
}
.dd-fcta__inner {
  position: relative;
  box-sizing: border-box;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
}
.dd-fcta__head {
  max-width: 720px;
  margin-bottom: 40px;
}
.dd-fcta .dd-fcta__kicker {
  margin: 0 0 10px;
  color: var(--dd-pink);
  font-family: var(--dd-font-en);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.dd-fcta h2.dd-fcta__title {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  font-family: var(--dd-font-ja);
  font-size: clamp(30px, 4.6vw, 56px);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .03em;
}
.dd-fcta h2.dd-fcta__title::before,
.dd-fcta h2.dd-fcta__title::after {
  content: none;
  display: none;
}
.dd-fcta .dd-fcta__lead {
  margin: 18px 0 0;
  color: var(--dd-light);
  font-size: 15px;
  line-height: 1.9;
}
.dd-fcta ul.dd-fcta__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dd-fcta ul.dd-fcta__cards > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dd-fcta ul.dd-fcta__cards > li::before {
  content: none;
  display: none;
}
a.dd-fcta__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  height: 100%;
  padding: 28px 28px 72px;
  border: 1px solid var(--dd-line-2);
  background: var(--dd-navy);
  color: #fff;
  text-decoration: none;
  transition: background-color .25s, border-color .25s, transform .25s;
}
a.dd-fcta__card:hover {
  transform: translateY(-4px);
  border-color: var(--dd-red);
  background: var(--dd-red);
  color: #fff;
}
.dd-fcta__no {
  display: flex;
  align-items: baseline;
  gap: 12px;
  color: var(--dd-red);
  font-family: var(--dd-font-en);
  font-size: 44px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  transition: color .25s;
}
.dd-fcta__no small {
  color: var(--dd-muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: color .25s;
}
.dd-fcta__ctitle {
  margin-top: 6px;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.4;
}
.dd-fcta__ctext {
  color: var(--dd-light);
  font-size: 14px;
  line-height: 1.8;
  transition: color .25s;
}
.dd-fcta__arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--dd-red);
  color: #fff;
  transition: background-color .25s, color .25s, transform .25s;
}
a.dd-fcta__card:hover :is(.dd-fcta__no, .dd-fcta__no small, .dd-fcta__ctext) {
  color: #fff;
}
a.dd-fcta__card:hover .dd-fcta__arrow {
  background: #fff;
  color: var(--dd-red);
  transform: translateX(4px);
}
.dd-fcta__line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 20px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--dd-line-2);
  color: var(--dd-light);
  font-size: 14px;
}
a.dd-fcta__linebtn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 28px;
  background: #06C755;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s;
}
a.dd-fcta__linebtn:hover {
  background: #05A847;
  color: #fff;
}
.dd-fcta__ctext {
  white-space: pre-line;
}
@media (max-width: 781px) {
  .dd-fcta ul.dd-fcta__cards {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  a.dd-fcta__card {
    padding: 22px 76px 22px 22px;
  }
  .dd-fcta__no {
    font-size: 34px;
  }
  .dd-fcta__arrow {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
  a.dd-fcta__card:hover .dd-fcta__arrow {
    transform: translate(4px, -50%);
  }
  a.dd-fcta__linebtn {
    justify-content: center;
    width: 100%;
  }
}

/* =========================================================
   37. 斜線の背景
   - 自動で入る場所：フッターCTA、選手・試合のヒーロー、NEXT GAME、スマホメニュー
   - 任意の場所：フルワイドやグループの「追加CSSクラス」に
     dd-stripes（濃い背景用・白の斜線）／dd-stripes-light（明るい背景用・紺の斜線）
   ========================================================= */
:root {
  --dd-stripes: repeating-linear-gradient(135deg, rgba(255, 255, 255, .04) 0 14px, transparent 14px 28px);
  --dd-stripes-light: repeating-linear-gradient(135deg, rgba(10, 26, 58, .04) 0 14px, transparent 14px 28px);
}
.dd-fcta,
.dd-player__hero,
.dd-game__hero,
.wp-block-group.dd-ng {
  background-image: var(--dd-stripes);
}
.dd-stripes {
  background-image: var(--dd-stripes) !important;
}
.dd-stripes-light {
  background-image: var(--dd-stripes-light) !important;
}

/* =========================================================
   38. スマホのハンバーガーメニュー（SWELL の SP メニューをスキン）
   クラス名は SWELL の header / sp_menu のテンプレートで要確認（手順書）
   ========================================================= */
/* ボタン：赤い正方形に、長さ違いの3本線 */
.l-header__menuBtn .c-iconBtn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 0;
  background: var(--dd-red);
  color: #fff;
}
.l-header__menuBtn .c-iconBtn__icon {
  position: relative;
  display: block;
  width: 22px;
  height: 2px;
  margin: 0;
  background: currentColor;
  font-size: 0 !important;
  transition: width .2s;
}
.l-header__menuBtn .c-iconBtn__icon::before,
.l-header__menuBtn .c-iconBtn__icon::after {
  content: "" !important;
  position: absolute;
  right: 0;
  height: 2px;
  background: currentColor;
  transition: width .2s;
}
.l-header__menuBtn .c-iconBtn__icon::before {
  top: -7px;
  width: 22px;
}
.l-header__menuBtn .c-iconBtn__icon::after {
  top: 7px;
  width: 14px;
}
.l-header__menuBtn .c-iconBtn:hover .c-iconBtn__icon::after {
  width: 22px;
}
.l-header__menuBtn .c-iconBtn__label {
  margin-top: 9px;
  font-family: var(--dd-font-en);
  font-size: 9px;
  letter-spacing: .14em;
}

/* メニュー本体（ドロワー）
   SWELL は .p-spMenu__inner::before を背景レイヤーにしている（カスタマイザーのメニュー背景色もここ）。
   ネイビーと斜線はその ::before に当て、左端の赤ラインは border で付ける */
.p-spMenu__inner {
  border-left: 5px solid var(--dd-red);
  color: #fff !important;
  box-shadow: -20px 0 40px rgba(0, 0, 0, .35);
}
.p-spMenu__inner::before {
  background-color: var(--dd-navy-deep) !important;
  background-image: var(--dd-stripes) !important;
  opacity: 1 !important;
}
.p-spMenu__inner::after {
  content: "Niiza DD";
  position: absolute;
  right: -6px;
  bottom: -14px;
  color: transparent;
  font-family: var(--dd-font-en);
  font-size: 92px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .07);
  pointer-events: none;
}
.p-spMenu__overlay {
  background: rgba(6, 17, 39, .65) !important;
}
.p-spMenu__closeBtn .c-iconBtn {
  width: 46px;
  height: 46px;
  border: 1px solid var(--dd-line-2);
  border-radius: 0;
  background: transparent;
  color: #fff;
}
.p-spMenu__body {
  position: relative;
  z-index: 1;
}
.p-spMenu .c-widget__title.-spmenu {
  margin: 8px 0 18px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--dd-pink);
  font-family: var(--dd-font-en);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .24em;
  text-align: left;
  text-transform: uppercase;
}
.p-spMenu .c-widget__title.-spmenu::before,
.p-spMenu .c-widget__title.-spmenu::after {
  content: none;
  display: none;
}
.p-spMenu .c-spnav {
  border-top: 1px solid var(--dd-line-2);
}
.p-spMenu .c-spnav .menu-item {
  margin: 0;
  border: 0;
}
.p-spMenu .c-spnav .menu-item > a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 4px;
  border-bottom: 1px solid var(--dd-line-2);
  background: none;
  color: #fff;
  font-family: var(--dd-font-en);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: color .2s, padding-left .2s;
}
.p-spMenu .c-spnav .menu-item > a::before {
  content: none !important;
  display: none !important;
}
.p-spMenu .c-spnav .menu-item > a::after {
  content: "\2192";
  color: var(--dd-red);
  font-size: 18px;
  transition: transform .2s;
}
.p-spMenu .c-spnav .menu-item > a:hover {
  padding-left: 10px;
  color: var(--dd-pink);
}
.p-spMenu .c-spnav .menu-item > a:hover::after {
  transform: translateX(4px);
}
/* サブメニュー（選手募集・スポンサー募集など） */
.p-spMenu .c-spnav .sub-menu .menu-item > a {
  padding: 12px 4px 12px 20px;
  color: var(--dd-light);
  font-family: var(--dd-font-ja);
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
}
.p-spMenu .c-spnav .sub-menu .menu-item > a::after {
  font-size: 14px;
}
/* SWELL のサブメニュー開閉ボタン */
.p-spMenu .c-spnav .c-submenuToggleBtn {
  color: #fff;
}
/* メニューの「入部・体験の相談」（CSSクラス dd-nav-cta）を赤いボタンに */
.p-spMenu .c-spnav .menu-item.dd-nav-cta > a {
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
  padding: 18px;
  border: 0;
  background: var(--dd-red);
  font-family: var(--dd-font-ja);
  font-size: 16px;
  font-weight: 700;
  text-transform: none;
}
.p-spMenu .c-spnav .menu-item.dd-nav-cta > a::after {
  color: #fff;
}
.p-spMenu .c-spnav .menu-item.dd-nav-cta > a:hover {
  padding-left: 18px;
  background: var(--dd-red-dark);
  color: #fff;
}
