@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 5号機クロニクル専用 プレミアムデザインCSS（完全版）
************************************/

/* ═══════════════════════════════════════════════════════
   1. カラー変数＆基本トーン（ダーク＆ゴールド・クリムゾン）
   ═══════════════════════════════════════════════════════ */
:root {
  --pachi-main: #800000;          /* 深紅・クリムゾンレッド */
  --pachi-gold: #d4af37;          /* プレミアムゴールド */
  --pachi-gold-gradient: linear-gradient(135deg, #bf953f 0%, #fcf6ba 25%, #b38728 50%, #fbf5b7 75%, #aa771c 100%);
  --pachi-dark-bg: #1a1a1d;       /* 重厚なダークベース */
  --pachi-card-bg: #ffffff;
  --pachi-text-dark: #222222;
  --pachi-accent-blue: #1e88e5;
  --pachi-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  --pachi-shadow-heavy: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* ═══════════════════════════════════════════════════════
   2. 見出し（H2, H3）のSWELL級ラグジュアリーデザイン
   ═══════════════════════════════════════════════════════ */
.entry-content h2.pachi-h2,
.article h2 {
  background: linear-gradient(135deg, #800000 0%, #4a0000 100%) !important;
  color: #ffffff !important;
  padding: 14px 20px !important;
  border-radius: 6px !important;
  border-left: 8px solid #d4af37 !important;
  font-size: 1.35em !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  box-shadow: var(--pachi-shadow) !important;
  margin-top: 40px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
}

.entry-content h3.pachi-h3,
.article h3 {
  background: #f8f9fa !important;
  color: #333333 !important;
  padding: 10px 16px !important;
  border-left: 5px solid #800000 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-size: 1.18em !important;
  font-weight: 700 !important;
  margin-top: 30px !important;
  margin-bottom: 15px !important;
}

/* ═══════════════════════════════════════════════════════
   3. 機種ギャラリー（筐体＆リール配列カード）
   ═══════════════════════════════════════════════════════ */
.pachi-gallery-card {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  align-items: flex-end;
  background: linear-gradient(to bottom, #ffffff, #fdfbf7);
  border: 1px solid #ede8df;
  border-radius: 12px;
  padding: 25px 20px;
  margin: 25px 0 35px 0;
  box-shadow: var(--pachi-shadow);
}

.pachi-gallery-item {
  flex: 1;
  min-width: 220px;
  max-width: 320px;
  text-align: center;
}

.pachi-gallery-badge {
  display: inline-block;
  background: #333;
  color: #fcf6ba;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 12px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.pachi-gallery-item img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.pachi-gallery-item img:hover {
  transform: translateY(-3px) scale(1.02);
}

/* ═══════════════════════════════════════════════════════
   4. 機械割テーブル（設定1〜6の美麗カラースケール）
   ═══════════════════════════════════════════════════════ */
.pachi-payout-box {
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--pachi-shadow);
  margin: 25px 0;
  border: 1px solid #e2e8f0;
}

.pachi-payout-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  margin: 0 !important;
}

.pachi-payout-table th {
  background: #2d3748;
  color: #ffffff;
  padding: 12px 10px;
  font-size: 0.95em;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.pachi-payout-table td {
  padding: 12px 10px;
  font-size: 1em;
  border-bottom: 1px solid #edf2f7;
}

/* 設定ごとのバッジ装飾 */
.setting-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 0.9em;
}
.setting-1, .setting-2 { background: #e2e8f0; color: #4a5568; }
.setting-3, .setting-4 { background: #feebc8; color: #7b341e; }
.setting-5 { background: #fed7d7; color: #9b2c2c; font-weight: 800; }
.setting-6, .setting-H { 
  background: var(--pachi-gold-gradient); 
  color: #3d2800; 
  font-weight: 900;
  box-shadow: 0 2px 6px rgba(212, 175, 55, 0.4);
}

.payout-high {
  color: #e53e3e;
  font-weight: 900;
  font-size: 1.15em;
}

/* ═══════════════════════════════════════════════════════
   4. 高成約率！光るアフィリエイトCTAボックス
   ═══════════════════════════════════════════════════════ */
.pachi-cta-container,
.pachi-cta-box {
  display: block !important;
  width: 100% !important;
  background: linear-gradient(135deg, #1c1c24 0%, #2a2a38 100%) !important;
  border: 2px solid #d4af37 !important;
  border-radius: 12px !important;
  padding: 28px 18px !important;
  margin: 20px auto 40px auto !important;
  color: #ffffff !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
  box-sizing: border-box !important;
  text-align: center !important;
  position: relative;
  overflow: hidden;
}

.pachi-cta-title {
  color: #fcf6ba !important;
  font-size: 1.35em !important;
  font-weight: 700 !important;
  margin: 0 auto 15px auto !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.pachi-cta-desc {
  color: #e2e8f0 !important;
  font-size: 0.95em !important;
  margin: 0 auto 20px auto !important;
  text-align: center !important;
  line-height: 1.6 !important;
}

/* WordPressの自動改行（wpautop）による不要な隙間を排除 */
.entry-content p:empty,
.entry-content > p:empty,
.entry-content br:only-child {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pachi-cta-header {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 25px auto !important;
}

.pachi-cta-header h3 {
  color: #fcf6ba !important;
  font-size: 1.35em !important;
  margin: 0 auto 8px auto !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.pachi-cta-header p {
  color: #cbd5e0;
  font-size: 0.92em;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Flexboxで確実に左右2列横並び＆完全中央揃え */
.pachi-cta-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 20px auto 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.pachi-cta-card {
  flex: 1 1 240px !important;
  min-width: 240px !important;
  max-width: 100% !important;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box !important;
  text-align: left !important;
  margin: 0 !important;
}

@media screen and (max-width: 540px) {
  .pachi-cta-card {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

/* 光るアニメーションボタン（SWELL以上の視認性 ＆ 3店舗対応） */
.pachi-btn-shine-gold,
.pachi-btn-shine-blue,
.pachi-btn-shine-slate,
.pachi-btn-shine-amber {
  position: relative;
  display: block;
  text-align: center;
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none !important;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.pachi-btn-shine-gold {
  background: linear-gradient(135deg, #d4af37 0%, #aa771c 100%);
  color: #1a1a1a !important;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

.pachi-btn-shine-blue {
  background: linear-gradient(135deg, #0288d1 0%, #01579b 100%);
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(2, 136, 209, 0.4);
}

.pachi-btn-shine-slate {
  background: linear-gradient(135deg, #475569 0%, #334155 100%);
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(51, 65, 85, 0.4);
}

.pachi-btn-shine-amber {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(180, 83, 9, 0.4);
}

.pachi-btn-shine-gold::after,
.pachi-btn-shine-blue::after,
.pachi-btn-shine-slate::after,
.pachi-btn-shine-amber::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 40%;
  height: 200%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
  transform: rotate(30deg);
  animation: pachi-shine 3.5s infinite;
}

@keyframes pachi-shine {
  0% { left: -60%; }
  20% { left: 140%; }
  100% { left: 140%; }
}

.pachi-btn-shine-gold:hover,
.pachi-btn-shine-blue:hover,
.pachi-btn-shine-slate:hover,
.pachi-btn-shine-amber:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* ボタン内のメインタイトルと特徴サブラベル */
.pachi-btn-main {
  display: block;
  font-size: 0.98em;
  font-weight: 800;
  line-height: 1.35;
}

.pachi-btn-sub {
  display: block;
  font-size: 0.74em;
  font-weight: 600;
  opacity: 0.92;
  margin-top: 2px;
  letter-spacing: 0.02em;
}

/* 実機3店舗リストの縦並びFlexbox */
.pachi-cta-shop-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

/* ═══════════════════════════════════════════════════════
   5. 完全保存版！詳細解析・高密度コンポーネント
   ═══════════════════════════════════════════════════════ */

/* 4連KPIバッジグリッド（互換対応） */
.pachi-kpi-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 20px 0 25px 0 !important;
}
.pachi-kpi-card,
.pachi-kpi-badge {
  flex: 1 1 120px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid #800000 !important;
  border-radius: 8px !important;
  padding: 12px 10px !important;
  text-align: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  box-sizing: border-box !important;
}
.pachi-kpi-label,
.kpi-label {
  display: block !important;
  font-size: 0.78em !important;
  color: #64748b !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
}
.pachi-kpi-val,
.kpi-val {
  display: block !important;
  font-size: 1.15em !important;
  font-weight: 800 !important;
  color: #1e293b !important;
}

/* 天井フローボックス */
.pachi-flow-box {
  background: #fff8f8 !important;
  border: 1px solid #fecaca !important;
  border-left: 5px solid #800000 !important;
  border-radius: 8px !important;
  padding: 18px 22px !important;
  margin: 20px 0 25px 0 !important;
}
.pachi-flow-box h3 {
  margin-top: 0 !important;
  color: #800000 !important;
  font-size: 1.15em !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.pachi-flow-box ul {
  margin: 10px 0 0 0 !important;
  padding-left: 20px !important;
}
.pachi-flow-box li {
  margin-bottom: 8px !important;
  line-height: 1.7 !important;
}

/* スペック・小役確率テーブル */
.pachi-spec-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 15px 0 25px 0 !important;
  font-size: 0.92em !important;
  background: #ffffff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.pachi-spec-table th {
  background: #2d3748 !important;
  color: #ffffff !important;
  padding: 10px 12px !important;
  text-align: center !important;
  font-size: 0.9em !important;
  font-weight: 600 !important;
}
.pachi-spec-table td {
  padding: 10px 12px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  text-align: center !important;
}

/* 機種コンテナ */
.pachi-model-container {
  margin-bottom: 30px;
}

/* 停止形・打ち方ステップカード */
.pachi-reel-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 18px 0 28px 0 !important;
}
.pachi-reel-card {
  background: #fdfdfd !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #3182ce !important;
  border-radius: 6px !important;
  padding: 14px 18px !important;
}
.pachi-reel-card strong {
  color: #2b6cb0;
  font-size: 1.05em;
  display: block;
  margin-bottom: 5px;
}
.pachi-reel-card p {
  margin: 0 !important;
  font-size: 0.93em;
  line-height: 1.65;
  color: #334155;
}

/* 設定確定演出・金枠ゴールドボックス */
.pachi-hissho-box {
  background: linear-gradient(135deg, #fffdfa 0%, #fff9e6 100%) !important;
  border: 2px solid #d4af37 !important;
  border-radius: 10px !important;
  padding: 20px !important;
  margin: 25px 0 !important;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.2) !important;
}
.pachi-hissho-title {
  color: #975a16 !important;
  font-size: 1.15em !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.pachi-hissho-badge {
  background: linear-gradient(135deg, #d4af37, #aa771c);
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 4px;
}

/* 朧BC 月示唆カード */
.pachi-moon-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 18px 0 25px 0 !important;
}
.pachi-moon-card {
  flex: 1 1 calc(50% - 10px) !important;
  min-width: 220px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
}
.pachi-moon-card.hot {
  border: 1.5px solid #e53e3e !important;
  background: #fff5f5 !important;
}
.pachi-moon-name {
  font-weight: bold;
  font-size: 1em;
  color: #1a202c;
  margin-bottom: 4px;
}
.pachi-moon-desc {
  font-size: 0.88em;
  color: #4a5568;
  margin: 0 !important;
}

/* 特化ゾーン＆フリーズカード */
.pachi-zone-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 16px 18px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.pachi-zone-card.freeze {
  border: 2px solid #805ad5 !important;
  background: linear-gradient(to right, #faf5ff, #ffffff) !important;
}
.pachi-zone-card h4 {
  margin: 0 0 8px 0 !important;
  font-size: 1.1em !important;
  color: #2d3748;
}
.pachi-zone-card.freeze h4 {
  color: #6b46c1 !important;
}

/* フリーズボックス（初代まどか等） */
.pachi-freeze-box {
  background: linear-gradient(135deg, #2d1b4e 0%, #1a102f 100%) !important;
  border: 2px solid #a855f7 !important;
  border-radius: 10px !important;
  padding: 20px 22px !important;
  margin: 25px 0 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(168, 85, 247, 0.25) !important;
}
.pachi-freeze-title {
  color: #e9d5ff !important;
  font-size: 1.2em !important;
  font-weight: 700 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* 設定推測チェックリスト */
.pachi-check-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 18px 0 28px 0 !important;
}
.pachi-check-item {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
}
.pachi-check-item strong {
  color: #800000;
  display: inline-block;
  margin-bottom: 4px;
}
.pachi-check-item p {
  margin: 0 !important;
  font-size: 0.9em;
  color: #4a5568;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════
   6. BGMコレクション・演出法則・歴史アーカイブ用スタイル
   ═══════════════════════════════════════════════════════ */

/* 神曲・BGMコレクション */
.pachi-bgm-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin: 20px 0 28px 0 !important;
}
.pachi-bgm-card {
  background: linear-gradient(135deg, #1e1e24 0%, #2d2d38 100%) !important;
  border: 1px solid #d4af37 !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
.pachi-bgm-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.3) !important;
  padding-bottom: 8px !important;
  margin-bottom: 10px !important;
}
.pachi-bgm-title {
  font-size: 1.15em !important;
  font-weight: 800 !important;
  color: #fcf6ba !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.pachi-bgm-artist {
  font-size: 0.85em !important;
  color: #cbd5e0 !important;
  background: rgba(255,255,255,0.1) !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
}
.pachi-bgm-cond {
  font-size: 0.88em !important;
  color: #e2e8f0 !important;
  margin-bottom: 6px !important;
}
.pachi-bgm-effect {
  font-size: 0.9em !important;
  color: #ffd700 !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* 演出法則カード */
.pachi-rule-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 20px 0 28px 0 !important;
}
.pachi-rule-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 5px solid #e53e3e !important;
  border-radius: 6px !important;
  padding: 14px 18px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
}
.pachi-rule-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 6px !important;
}
.pachi-rule-head strong {
  color: #1a202c;
  font-size: 1.05em;
}
.pachi-rule-trust {
  background: #fee2e2;
  color: #991b1b;
  font-size: 0.8em;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 4px;
}
.pachi-rule-card p {
  margin: 0 !important;
  font-size: 0.9em;
  color: #475569;
  line-height: 1.6;
}

/* 設定6の別格挙動ボックス */
.pachi-setting6-box {
  background: linear-gradient(135deg, #fffdf5 0%, #fff7db 100%) !important;
  border: 2px solid #b7791f !important;
  border-radius: 10px !important;
  padding: 22px !important;
  margin: 25px 0 !important;
  box-shadow: 0 4px 15px rgba(183, 121, 31, 0.15) !important;
}
.pachi-setting6-box h3 {
  color: #744210 !important;
  font-size: 1.25em !important;
  margin: 0 0 10px 0 !important;
  border-bottom: 2px solid #d4af37 !important;
  padding-bottom: 8px !important;
}
.pachi-setting6-item {
  background: rgba(255, 255, 255, 0.7) !important;
  border-left: 3px solid #d4af37 !important;
  padding: 10px 14px !important;
  margin-bottom: 10px !important;
  border-radius: 4px !important;
}
.pachi-setting6-item strong {
  color: #975a16;
  display: block;
  margin-bottom: 4px;
  font-size: 0.98em;
}
.pachi-setting6-item p {
  margin: 0 !important;
  font-size: 0.9em;
  color: #451a03;
  line-height: 1.6;
}

/* 歴史的アーカイブ（立ち回り遺産）ボックス */
.pachi-archive-box {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin: 25px 0 !important;
}
.pachi-archive-box h3 {
  color: #334155 !important;
  font-size: 1.15em !important;
  margin: 0 0 8px 0 !important;
}
.pachi-archive-item {
  border-bottom: 1px dashed #cbd5e1;
  padding: 12px 0;
}
.pachi-archive-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.pachi-archive-item strong {
  color: #1e293b;
  display: block;
  margin-bottom: 4px;
}
.pachi-archive-item p {
  margin: 0 !important;
  font-size: 0.9em;
  color: #475569;
  line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════
   7. メーカー一覧（ハブカタログ）専用プレミアムスタイル
   ═══════════════════════════════════════════════════════ */

/* 概要サマリーカード */
.pachi-hub-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 20px 0 25px 0 !important;
}
.pachi-hub-stat {
  flex: 1 1 130px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid #800000 !important;
  border-radius: 8px !important;
  padding: 10px 8px !important;
  text-align: center !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.pachi-hub-stat-label {
  display: block;
  font-size: 0.78em;
  color: #64748b;
  margin-bottom: 3px;
  font-weight: 600;
}
.pachi-hub-stat-val {
  display: block;
  font-size: 1.22em;
  font-weight: 900;
  color: #800000;
  line-height: 1.25;
}
.pachi-hub-stat-sub {
  display: block;
  font-size: 0.72em;
  color: #64748b;
  margin-top: 3px;
  font-weight: 500;
  line-height: 1.2;
}

/* 年代別クイックジャンプナビ */
.pachi-year-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 14px !important;
  margin: 20px 0 30px 0 !important;
}
.pachi-year-btn {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #1e293b !important;
  font-size: 0.88em !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}
.pachi-year-btn:hover {
  background: #800000 !important;
  color: #ffffff !important;
  border-color: #800000 !important;
  transform: translateY(-2px);
}

/* 殿堂入り名機ピックアップ枠 */
.pachi-legend-box {
  background: linear-gradient(135deg, #1c1c24 0%, #2a2a38 100%) !important;
  border: 2px solid #d4af37 !important;
  border-radius: 12px !important;
  padding: 22px 18px !important;
  margin: 25px 0 35px 0 !important;
  color: #ffffff !important;
}
.pachi-legend-title {
  color: #fcf6ba !important;
  font-size: 1.2em !important;
  font-weight: 800 !important;
  margin: 0 0 14px 0 !important;
  text-align: center !important;
}
.pachi-legend-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
}
.pachi-legend-card {
  flex: 1 1 200px !important;
  max-width: 250px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  border-radius: 8px !important;
  padding: 12px !important;
  text-align: center !important;
  text-decoration: none !important;
  color: #ffffff !important;
  transition: transform 0.2s, background 0.2s !important;
}
.pachi-legend-card:hover {
  transform: translateY(-3px) scale(1.02);
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fcf6ba !important;
}
.pachi-legend-img {
  max-width: 90px !important;
  height: auto !important;
  border-radius: 4px !important;
  margin-bottom: 8px !important;
}
.pachi-legend-name {
  font-weight: bold;
  font-size: 0.92em;
  display: block;
}

/* カタログカードグリッド */
.pachi-catalog-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin: 18px 0 35px 0 !important;
}
.pachi-catalog-card {
  flex: 1 1 calc(50% - 16px) !important;
  min-width: 260px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 16px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.pachi-catalog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important;
}
.pachi-catalog-header {
  display: flex !important;
  gap: 14px !important;
  margin-bottom: 12px !important;
}
.pachi-catalog-thumb {
  width: 80px !important;
  min-width: 80px !important;
  height: 120px !important;
  object-fit: contain !important;
  background: #fdfdfd !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 6px !important;
  padding: 4px !important;
}
.pachi-catalog-info {
  flex: 1 !important;
}
.pachi-catalog-badges {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-bottom: 6px !important;
}
.pachi-badge-brand {
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}
.pachi-badge-type {
  background: #e0f2fe;
  color: #0369a1;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}
.pachi-catalog-title {
  font-size: 1.08em !important;
  font-weight: bold !important;
  color: #1e293b !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.4 !important;
}
.pachi-catalog-payout {
  font-size: 0.85em !important;
  color: #64748b !important;
  margin-bottom: 4px !important;
}
.pachi-catalog-desc {
  font-size: 0.85em !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  margin: 0 0 12px 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pachi-catalog-btn {
  display: block !important;
  background: linear-gradient(135deg, #800000 0%, #5a0000 100%) !important;
  color: #ffffff !important;
  text-align: center !important;
  font-size: 0.88em !important;
  font-weight: bold !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
.pachi-catalog-btn:hover {
  background: linear-gradient(135deg, #a00000 0%, #700000 100%) !important;
  color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════
   8. ワンタップ開閉式（アコーディオン）スペック表
   ═══════════════════════════════════════════════════════ */
.pachi-spec-toggle {
  margin: 10px 0 14px 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}
.pachi-spec-toggle[open] {
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.pachi-spec-toggle summary {
  padding: 8px 12px !important;
  font-size: 0.86em !important;
  font-weight: 700 !important;
  color: #334155 !important;
  cursor: pointer !important;
  user-select: none !important;
  outline: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background 0.2s ease !important;
}
.pachi-spec-toggle summary:hover {
  background: #f1f5f9 !important;
  color: #800000 !important;
}
.pachi-spec-toggle summary::-webkit-details-marker {
  display: none !important;
}
.pachi-spec-toggle summary::after {
  content: '▼' !important;
  font-size: 0.8em !important;
  color: #94a3b8 !important;
  transition: transform 0.2s ease !important;
}
.pachi-spec-toggle[open] summary::after {
  transform: rotate(180deg) !important;
  color: #800000 !important;
}
.pachi-spec-toggle[open] summary {
  border-bottom: 1px solid #e2e8f0 !important;
  background: #fdfaf2 !important;
  color: #800000 !important;
}
.pachi-spec-content {
  padding: 12px !important;
}
.pachi-mini-payout-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 0 8px 0 !important;
  font-size: 0.82em !important;
  text-align: center !important;
}
.pachi-mini-payout-table th {
  background: #f1f5f9 !important;
  color: #475569 !important;
  padding: 4px 6px !important;
  font-weight: 600 !important;
  border: 1px solid #e2e8f0 !important;
}
.pachi-mini-payout-table td {
  padding: 5px 6px !important;
  border: 1px solid #e2e8f0 !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}
.pachi-mini-specs {
  font-size: 0.82em !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding-top: 6px !important;
  border-top: 1px dashed #e2e8f0 !important;
}





/* ===================================================
   9. インライン・ゲームフロー図（レスポンシブ完全対応）
   =================================================== */
.pachi-flow-diagram {
  background: linear-gradient(145deg, #ffffff 0%, #fbfbfd 100%) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 24px 18px !important;
  margin: 25px 0 35px 0 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}
.pachi-flow-title {
  text-align: center !important;
  font-size: 1.18em !important;
  font-weight: 800 !important;
  color: #800000 !important;
  margin-bottom: 20px !important;
}
.pachi-flow-main-route {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: center !important;
}
.pachi-flow-node {
  width: 100% !important;
  max-width: 580px !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
  position: relative !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.pachi-flow-node-title {
  font-size: 1.05em !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 6px !important;
}
.pachi-flow-node-desc {
  font-size: 0.88em !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.pachi-flow-node.normal {
  background: #f8fafc !important;
  border: 2px solid #cbd5e1 !important;
  color: #334155 !important;
}
.pachi-flow-node.normal .pachi-flow-node-title { color: #1e293b !important; }
.pachi-flow-node.cz {
  background: #fbf5ff !important;
  border: 2px solid #c084fc !important;
  color: #4a044e !important;
}
.pachi-flow-node.cz .pachi-flow-node-title { color: #7e22ce !important; }
.pachi-flow-node.bonus {
  background: #fffbeb !important;
  border: 2px solid #f59e0b !important;
  color: #78350f !important;
}
.pachi-flow-node.bonus .pachi-flow-node-title { color: #b45309 !important; }
.pachi-flow-node.art {
  background: #fff5f5 !important;
  border: 2px solid #f87171 !important;
  color: #7f1d1d !important;
}
.pachi-flow-node.art .pachi-flow-node-title { color: #b91c1c !important; }
.pachi-flow-node.zone {
  background: linear-gradient(135deg, #fffdf0 0%, #fff8db 100%) !important;
  border: 2px solid #d4af37 !important;
  color: #78350f !important;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2) !important;
}
.pachi-flow-node.zone .pachi-flow-node-title { color: #800000 !important; }
.pachi-flow-arrow {
  text-align: center !important;
  font-size: 0.9em !important;
  font-weight: bold !important;
  color: #64748b !important;
  padding: 2px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.pachi-flow-arrow span {
  background: #f1f5f9 !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  font-size: 0.82em !important;
  border: 1px solid #e2e8f0 !important;
}

/* ===================================================
   10. 激アツ要素専用プレミアムカード
   =================================================== */
.pachi-hot-box {
  background: #ffffff !important;
  border: 2px solid #800000 !important;
  border-radius: 10px !important;
  padding: 20px 22px !important;
  margin: 25px 0 !important;
  box-shadow: 0 4px 15px rgba(128, 0, 0, 0.08) !important;
  position: relative !important;
}
.pachi-hot-box::before {
  content: '激アツ要素' !important;
  position: absolute !important;
  top: -12px !important;
  left: 20px !important;
  background: linear-gradient(135deg, #800000 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  font-size: 0.78em !important;
  font-weight: 800 !important;
  padding: 2px 12px !important;
  border-radius: 12px !important;
  letter-spacing: 0.05em !important;
}
.pachi-hot-box-title {
  font-size: 1.12em !important;
  font-weight: 800 !important;
  color: #800000 !important;
  margin: 5px 0 12px 0 !important;
  border-bottom: 1px dashed #fca5a5 !important;
  padding-bottom: 8px !important;
}

/* ===================================================
   11. アニメVOD ＆ 電子コミック専用公式配信ガイドボックス
   =================================================== */
.pachi-media-box {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%) !important;
  border: 2px solid #818cf8 !important;
  border-radius: 12px !important;
  padding: 24px 20px !important;
  margin: 30px 0 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.25) !important;
  box-sizing: border-box !important;
}
.pachi-media-badge {
  display: inline-block !important;
  background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
  color: #ffffff !important;
  font-size: 0.8em !important;
  font-weight: 800 !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.05em !important;
}
.pachi-media-title {
  font-size: 1.25em !important;
  font-weight: 800 !important;
  color: #f8fafc !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.4 !important;
}
.pachi-media-desc {
  font-size: 0.92em !important;
  color: #cbd5e1 !important;
  line-height: 1.7 !important;
  margin: 0 0 18px 0 !important;
}
.pachi-media-btn-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin-bottom: 16px !important;
}
.pachi-media-section-title {
  font-size: 0.96em !important;
  font-weight: 800 !important;
  color: #fcf6ba !important;
  margin: 14px 0 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.pachi-media-btn-base {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  color: #ffffff !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.pachi-media-btn-base:hover {
  transform: translateY(-2px) !important;
}

/* アニメVOD ボタン */
.pachi-btn-danime {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  border: 1px solid #fdba74 !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.35) !important;
}
.pachi-btn-danime:hover {
  box-shadow: 0 6px 18px rgba(234, 88, 12, 0.5) !important;
}
.pachi-btn-dmmtv {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #93c5fd !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35) !important;
}
.pachi-btn-dmmtv:hover {
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.5) !important;
}
.pachi-btn-prime {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border: 1px solid #7dd3fc !important;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.35) !important;
}
.pachi-btn-prime:hover {
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.5) !important;
}

/* 電子書籍 ボタン */
.pachi-btn-bookwalker {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
  border: 1px solid #fda4af !important;
  box-shadow: 0 4px 12px rgba(225, 29, 72, 0.35) !important;
}
.pachi-btn-bookwalker:hover {
  box-shadow: 0 6px 18px rgba(225, 29, 72, 0.5) !important;
}
.pachi-btn-dmmbooks {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
  border: 1px solid #fde68a !important;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.35) !important;
}
.pachi-btn-dmmbooks:hover {
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.5) !important;
}
.pachi-btn-kindle {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
  border: 1px solid #99f6e4 !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35) !important;
}
.pachi-btn-kindle:hover {
  box-shadow: 0 6px 18px rgba(13, 148, 136, 0.5) !important;
}

/* ===================================================
   12. 音楽サブスク（Amazon Music）視聴ボタン
   =================================================== */
.pachi-music-listen-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 10px !important;
  padding: 7px 14px !important;
  background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%) !important;
  color: #ffffff !important;
  font-size: 0.84em !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 6px rgba(14, 165, 233, 0.3) !important;
  transition: transform 0.2s !important;
}
.pachi-music-listen-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(14, 165, 233, 0.45) !important;
}

/* ===================================================
   CTAボックス下部余白の完全解消＆ボタン下端吸着
   =================================================== */
.pachi-cta-card {
  flex: 1 1 260px !important;
  padding: 20px 18px 18px 18px !important;
}
.pachi-cta-card-content {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.pachi-cta-card h4 {
  margin: 0 0 10px 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-size: 1.1em !important;
  color: #ffffff !important;
}
.pachi-cta-card p {
  margin: 0 0 12px 0 !important;
  font-size: 0.9em !important;
  line-height: 1.65 !important;
  color: #cbd5e1 !important;
}
.pachi-cta-card p:last-child {
  margin-bottom: 0 !important;
}
.pachi-cta-shop-list {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 14px !important;
}
.pachi-cta-app-btn-wrap {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 14px !important;
}