@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:    2.0.0
*/

/* =========================================================
   ゲームそくほ v6 - B案（はちま/オレ的風）
   大ヒーロー + 2カラムグリッド / 赤(#d63031)アクセント
   ========================================================= */

:root{
  --gs-red: #d63031;
  --gs-red-dark: #a21f20;
  --gs-text: #1a1a1a;
  --gs-sub: #6b7280;
  --gs-border: #e5e7eb;
  --gs-bg: #f7f7fa;
  --gs-card: #ffffff;
}

body, #body{
  background: var(--gs-bg) !important;
  color: var(--gs-text) !important;
  font-family: "Hiragino Kaku Gothic ProN","Noto Sans JP","游ゴシック",system-ui,sans-serif !important;
}

/* ========================================
   ヘッダー（白+赤アクセント）
   ======================================== */
#header,
.header-container,
.header-container-in,
.header-in,
.header-image-wrapper,
.header-wrap,
.header {
  background: #ffffff !important;
  color: var(--gs-text) !important;
  border-bottom: 4px solid var(--gs-red) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
}

#site-name a,
.site-name-text a,
.site-name-text,
.site-name a,
.logo-meta a,
.site-name-logo a,
.logo-header .site-name-text-link,
.logo-text a,
.logo-text .site-name-text {
  color: var(--gs-red) !important;
  font-weight: 900 !important;
  font-size: 28px !important;
  letter-spacing: 1px !important;
  text-shadow: none !important;
}
.logo-header, .logo.logo-header {
  color: var(--gs-red) !important;
}

#site-description,
.site-description,
.tagline {
  color: var(--gs-sub) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* ナビ */
#navi,
.navi-in,
.navi {
  background: #ffffff !important;
  border-top: 1px solid var(--gs-border) !important;
  border-bottom: 1px solid var(--gs-border) !important;
}
#navi .navi-in > ul > li > a,
.navi ul li a {
  color: var(--gs-text) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
}
#navi .navi-in > ul > li:hover > a,
#navi .navi-in > ul > li.current-menu-item > a,
.navi ul li:hover a {
  color: var(--gs-red) !important;
  background: rgba(214,48,49,0.08) !important;
}

/* ========================================
   レイアウト幅
   ======================================== */
#container,
.container,
.wrap,
.main-wrap {
  max-width: 1200px !important;
}

/* メインコンテンツ + サイドバー の2カラム */
#main, .main {
  width: calc(100% - 320px) !important;
  max-width: 840px !important;
}
#sidebar, .sidebar {
  width: 300px !important;
}

/* ========================================
   記事カードグリッド（2列）
   ======================================== */

/* 既存の3カラムも2カラムに強制変更 */
#list.ect-3-columns,
#list.ect-2-columns,
.ect-3-columns,
.ect-2-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

/* 先頭記事をヒーローカードに（2カラム幅を占有） */
.ect-3-columns > .entry-card-wrap:first-child,
.ect-2-columns > .entry-card-wrap:first-child,
#list > .entry-card-wrap:first-child {
  grid-column: span 2 !important;
}

/* カード本体 */
.entry-card-wrap,
.ect-3-columns .entry-card-wrap,
.ect-2-columns .entry-card-wrap {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--gs-card) !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  vertical-align: top !important;
  display: flex !important;
  flex-direction: column !important;
}

.entry-card-wrap:hover {
  transform: translateY(-3px) !important;
  border-color: var(--gs-red) !important;
  box-shadow: 0 8px 20px rgba(214,48,49,0.18) !important;
}

/* サムネイル（2列カード:150-170px） */
.entry-card-thumb,
.card-thumb,
.entry-card-wrap .entry-card-thumb {
  width: 100% !important;
  height: 170px !important;
  overflow: hidden !important;
  display: block !important;
  float: none !important;
  margin: 0 !important;
  position: relative !important;
}

.entry-card-thumb img,
.card-thumb img {
  width: 100% !important;
  height: 170px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .3s ease !important;
}
.entry-card-wrap:hover .entry-card-thumb img {
  transform: scale(1.04) !important;
}

/* ヒーロー（先頭）カードのサムネはもっと大きく */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb,
#list > .entry-card-wrap:first-child .entry-card-thumb,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb img,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb img,
#list > .entry-card-wrap:first-child .entry-card-thumb img {
  height: 320px !important;
}

/* コンテンツエリア */
.entry-card-content,
.card-content {
  padding: 14px 16px !important;
  margin: 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* タイトル */
.entry-card-title,
.card-title {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}
.entry-card-title a,
.card-title a {
  color: var(--gs-text) !important;
}
.entry-card-wrap:hover .entry-card-title a,
.entry-card-wrap:hover .card-title a {
  color: var(--gs-red) !important;
}

/* ヒーローカードのタイトルはもっと大きく */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-title,
#list > .entry-card-wrap:first-child .entry-card-title {
  font-size: 22px !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 2 !important;
}

/* 抜粋 */
.entry-card-snippet,
.card-snippet {
  font-size: 12px !important;
  color: var(--gs-sub) !important;
  line-height: 1.55 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  margin: 0 0 10px !important;
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-snippet,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-snippet,
#list > .entry-card-wrap:first-child .entry-card-snippet {
  font-size: 14px !important;
  -webkit-line-clamp: 3 !important;
}

/* メタ情報 */
.entry-card-meta,
.card-meta,
.e-card-meta,
.entry-card-info,
.e-card-info {
  font-size: 11px !important;
  color: var(--gs-sub) !important;
  padding: 0 !important;
  margin-top: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.post-date,
.entry-date {
  font-size: 11px !important;
  color: var(--gs-sub) !important;
}

/* PVカウンター非表示（維持） */
.post-views,
.pv-count,
[class*="post-views"],
.entry-card-views,
.e-card-views,
.views {
  display: none !important;
}

/* カテゴリーラベル */
.cat-label,
.entry-category {
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  background: var(--gs-red) !important;
  color: white !important;
  letter-spacing: .5px !important;
  border: none !important;
}

/* 親カテゴリー重複非表示（ソシャゲ、PCゲーム等） */
.entry-category.cat-label-2,
.entry-category.cat-label-3,
.entry-category.cat-label-4,
.entry-category.cat-label-5,
.entry-category.cat-label-6 {
  display: none !important;
}

/* 悲報/ニシ悲報/新作 カテゴリ別色分け */
.cat-label[data-cat*="悲報"],
.entry-category[class*="hiho"] {
  background: var(--gs-red) !important;
}
.cat-label[data-cat*="新作"],
.entry-category[class*="shinsaku"] {
  background: #2196f3 !important;
}

/* ========================================
   フォローボタン完全非表示（維持）
   ======================================== */
.sns-follow,
.sns-follow-buttons,
.sns-follow-message,
.follow-button-wrap,
.author-follow,
.follow-box,
.feedly-follow-button-sq,
.rss-follow-button-sq,
.website-follow-button-sq {
    display: none !important;
}

/* ========================================
   サイドバー
   ======================================== */
.sidebar{
  background: transparent !important;
}
.widget,
.sidebar .widget{
  background: var(--gs-card) !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: 10px !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
}

.widget-title,
.sidebar .widget-title,
.sidebar h3 {
  background: #ffffff !important;
  color: var(--gs-text) !important;
  padding: 12px 14px !important;
  border-left: 4px solid var(--gs-red) !important;
  border-bottom: 1px solid var(--gs-border) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  letter-spacing: .5px !important;
}

/* サイドバー内の中身 */
.widget > ul,
.widget > .textwidget,
.widget > .wp-block-group {
  padding: 10px 12px !important;
}

/* サイドバーの記事リストはコンパクトに */
.sidebar .entry-card-wrap,
.widget_popular_entries .popular-entry-card-wrap,
.widget_recent_entries li,
.sidebar .a-wrap {
  padding: 8px !important;
  margin: 0 0 8px !important;
  border: none !important;
  border-bottom: 1px solid var(--gs-border) !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background .15s !important;
}
.sidebar .entry-card-wrap:hover {
  background: rgba(214,48,49,0.04) !important;
  transform: none !important;
  border-color: var(--gs-border) !important;
  box-shadow: none !important;
}
.sidebar .entry-card-wrap:last-child,
.widget_popular_entries li:last-child {
  border-bottom: none !important;
}
.sidebar .entry-card-thumb,
.sidebar .card-thumb {
  width: 70px !important;
  height: 52px !important;
  float: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  border-radius: 5px !important;
}
.sidebar .entry-card-thumb img,
.sidebar .card-thumb img {
  width: 70px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 5px !important;
}
.sidebar .entry-card-content {
  padding: 0 !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.sidebar .entry-card-title,
.sidebar .card-title {
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  margin: 0 !important;
}
.sidebar .entry-card-snippet,
.sidebar .card-snippet,
.sidebar .entry-card-meta {
  display: none !important;
}

/* 人気記事ランキング（ランキング番号） */
.widget_popular_entries .popular-entry-card-wrap,
.widget_popular_entries .a-wrap {
  position: relative !important;
  padding-left: 34px !important;
}
.widget_popular_entries ol {
  counter-reset: rank !important;
  list-style: none !important;
  padding: 0 !important;
}
.widget_popular_entries ol li::before,
.widget_popular_entries .popular-entry-card-wrap::before {
  counter-increment: rank;
  content: counter(rank);
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: var(--gs-red);
  color: white;
  font-weight: 900;
  font-size: 12px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.widget_popular_entries li:nth-child(1)::before,
.widget_popular_entries .popular-entry-card-wrap:nth-child(1)::before {
  background: linear-gradient(135deg,#fbbf24,#f59e0b);
  color: #1f2937;
}
.widget_popular_entries li:nth-child(2)::before,
.widget_popular_entries .popular-entry-card-wrap:nth-child(2)::before {
  background: linear-gradient(135deg,#d1d5db,#9ca3af);
  color: #1f2937;
}
.widget_popular_entries li:nth-child(3)::before,
.widget_popular_entries .popular-entry-card-wrap:nth-child(3)::before {
  background: linear-gradient(135deg,#c2410c,#9a3412);
  color: white;
}

/* ========================================
   フッター（白ベース）
   ======================================== */
#footer, .footer {
  background: #ffffff !important;
  color: var(--gs-sub) !important;
  border-top: 4px solid var(--gs-red) !important;
  font-size: 12px !important;
}
#footer a, .footer a {
  color: var(--gs-red) !important;
}

/* ========================================
   ページネーション
   ======================================== */
.pagination .page-numbers,
.pagination a {
  background: #ffffff !important;
  color: var(--gs-text) !important;
  border: 1px solid var(--gs-border) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 14px !important;
  margin: 2px !important;
  border-radius: 6px !important;
  transition: all .15s !important;
}
.pagination .page-numbers:hover {
  background: rgba(214,48,49,0.08) !important;
  border-color: var(--gs-red) !important;
  color: var(--gs-red) !important;
}
.pagination .current {
  background: var(--gs-red) !important;
  color: #fff !important;
  border-color: var(--gs-red) !important;
}

/* ========================================
   記事詳細ページ
   ======================================== */
.entry-title,
.article h1,
.article-header h1 {
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  border-left: 5px solid var(--gs-red) !important;
  padding-left: 14px !important;
  margin-bottom: 18px !important;
}

/* ========================================
   まとめスレ記事内スタイル（維持）
   ======================================== */
.matome-wrap {
    margin: 16px 0 24px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    font-size: 0.97em;
    line-height: 1.8;
}
.res {
    display: flex;
    flex-direction: column;
    padding: 10px 16px;
    border-bottom: 1px solid #f2f2f2;
    background: #fff;
    transition: background 0.15s;
}
.res:last-child { border-bottom: none; }
.res:hover { background: #fafbff; }
.res-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
}
.res-no {
    font-size: 0.78em;
    font-weight: bold;
    color: #bbb;
    min-width: 28px;
}
.res-name { font-size: 0.78em; color: #c0c0c0; }
.res-body {
    color: #222;
    font-size: 0.97em;
    padding-left: 36px;
    word-break: break-word;
}
a.res-anchor {
    color: #4a90d9 !important;
    font-weight: bold;
    text-decoration: none;
}
.res-quote { background: #f8f8f8; }
.res-quote .res-body { color: #555; }
.res-laugh {
    background: #fffef5;
    border-left: 3px solid #f5c518;
    padding-left: 13px;
}
.res-summary {
    background: #f5fff8;
    border-left: 3px solid #48bb78;
    padding-left: 13px;
}
.res-summary .res-body { font-weight: 600; }
.res-normal { background: #fff; }
.matome-header {
    background: var(--gs-red);
    color: #fff;
    padding: 10px 16px;
    font-size: 0.9em;
    border-radius: 6px 6px 0 0;
}
.matome-header strong { color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.2); }
.matome-source {
    font-size: 0.75em;
    color: #bbb;
    text-align: right;
    margin: 8px 0 0;
}

/* ========================================
   🔥 ホットトピック（画面上部・横5列）
   ======================================== */
.gs-hot-topics{
  background: linear-gradient(135deg,#fff5f5 0%,#fff 100%) !important;
  border: 1px solid rgba(214,48,49,.2) !important;
  border-radius: 10px !important;
  padding: 12px 16px 16px !important;
  margin-bottom: 20px !important;
}
.gs-hot-topics h3{
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  color: var(--gs-red) !important;
  letter-spacing: .5px !important;
  border: none !important;
}
.gs-hot-topics .wp-block-latest-posts.is-grid{
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.gs-hot-topics .wp-block-latest-posts.is-grid li{
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  list-style: none !important;
  background: #fff !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: transform .15s, box-shadow .15s !important;
}
.gs-hot-topics .wp-block-latest-posts.is-grid li:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(214,48,49,.15) !important;
  border-color: var(--gs-red) !important;
}
.gs-hot-topics .wp-block-latest-posts__featured-image{
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  aspect-ratio: 16/10 !important;
  overflow: hidden !important;
  background: #1f2937 !important;
}
.gs-hot-topics .wp-block-latest-posts__featured-image a,
.gs-hot-topics .wp-block-latest-posts__featured-image span{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.gs-hot-topics .wp-block-latest-posts__featured-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  max-width: 100% !important;
  min-height: 0 !important;
}
/* NO IMAGE時のフォールバック */
.gs-hot-topics .wp-block-latest-posts li:not(:has(img))::before{
  content: "🎮";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 16/10;
  background: linear-gradient(135deg, #1f2937, #374151);
  color: #6b7280;
  font-size: 28px;
}
.gs-hot-topics .wp-block-latest-posts__post-title{
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  padding: 8px 10px !important;
  color: var(--gs-text) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}
.gs-hot-topics .wp-block-latest-posts__post-title:hover{
  color: var(--gs-red) !important;
}

/* ========================================
   🏆 人気記事ランキング（ランキング番号付き）
   ======================================== */
.gs-ranking h2,
.sidebar h2{
  margin: 0 !important;
  padding: 12px 14px !important;
  border-left: 4px solid var(--gs-red) !important;
  border-bottom: 1px solid var(--gs-border) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .5px !important;
  background: #fff !important;
  color: var(--gs-text) !important;
}

.gs-ranking,
.gs-trending{
  background: #fff !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.gs-ranking .wp-block-latest-posts{
  list-style: none !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  counter-reset: gs-rank !important;
}
.gs-ranking .wp-block-latest-posts li{
  position: relative !important;
  padding: 10px 10px 10px 40px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--gs-border) !important;
  list-style: none !important;
  display: flex !important;
  gap: 8px !important;
  align-items: flex-start !important;
  min-height: 56px !important;
  transition: background .15s !important;
}
.gs-ranking .wp-block-latest-posts li:hover{
  background: rgba(214,48,49,.04) !important;
}
.gs-ranking .wp-block-latest-posts li:last-child{
  border-bottom: none !important;
}
.gs-ranking .wp-block-latest-posts li::before{
  counter-increment: gs-rank;
  content: counter(gs-rank);
  position: absolute;
  left: 8px;
  top: 14px;
  width: 24px;
  height: 24px;
  background: var(--gs-text);
  color: #fff;
  font-weight: 900;
  font-size: 12px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gs-ranking .wp-block-latest-posts li:nth-child(1)::before{
  background: linear-gradient(135deg,#fbbf24,#f59e0b) !important;
  color: #1f2937 !important;
}
.gs-ranking .wp-block-latest-posts li:nth-child(2)::before{
  background: linear-gradient(135deg,#d1d5db,#9ca3af) !important;
  color: #1f2937 !important;
}
.gs-ranking .wp-block-latest-posts li:nth-child(3)::before{
  background: linear-gradient(135deg,#c2410c,#9a3412) !important;
  color: #fff !important;
}
.gs-ranking .wp-block-latest-posts__featured-image{
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.gs-ranking .wp-block-latest-posts__featured-image img{
  width: 64px !important;
  height: 44px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  display: block !important;
}
.gs-ranking .wp-block-latest-posts__post-title{
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: var(--gs-text) !important;
  text-decoration: none !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.gs-ranking .wp-block-latest-posts__post-title:hover{
  color: var(--gs-red) !important;
}

/* ========================================
   🎯 親カテゴリー一覧（絵文字付き）
   ======================================== */
.gs-cat-parent .gs-cat-list{
  list-style: none !important;
  padding: 10px 12px !important;
  margin: 0 !important;
}
.gs-cat-parent .gs-cat-list li{
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--gs-border) !important;
}
.gs-cat-parent .gs-cat-list li:last-child{
  border-bottom: none !important;
}
.gs-cat-parent .gs-cat-list li a{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gs-text) !important;
  text-decoration: none !important;
  transition: all .12s !important;
  border-radius: 4px !important;
}
.gs-cat-parent .gs-cat-list li a:hover{
  background: rgba(214,48,49,.06) !important;
  color: var(--gs-red) !important;
  padding-left: 12px !important;
}
.gs-cat-parent .gs-cat-emoji{
  font-size: 18px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}
.gs-cat-parent .gs-cat-count{
  margin-left: auto !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--gs-sub) !important;
  background: var(--gs-bg) !important;
  padding: 2px 8px !important;
  border-radius: 10px !important;
}

/* ========================================
   📈 トレンドタグクラウド
   ======================================== */
.gs-trending .tagcloud,
.gs-trending .wp-block-tag-cloud{
  padding: 12px 14px !important;
  line-height: 2.2 !important;
}
.gs-trending .tagcloud a,
.gs-trending .wp-block-tag-cloud a{
  display: inline-block !important;
  padding: 4px 12px !important;
  margin: 2px !important;
  background: #fff !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: 100px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--gs-sub) !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
.gs-trending .tagcloud a:hover,
.gs-trending .wp-block-tag-cloud a:hover{
  background: var(--gs-red) !important;
  color: #fff !important;
  border-color: var(--gs-red) !important;
  transform: translateY(-1px) !important;
}

/* ========================================
   レスポンシブ（スマホ：1列）
   ======================================== */
@media (max-width: 768px) {
  #list.ect-3-columns,
  #list.ect-2-columns,
  .ect-3-columns,
  .ect-2-columns {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .ect-3-columns > .entry-card-wrap:first-child,
  .ect-2-columns > .entry-card-wrap:first-child,
  #list > .entry-card-wrap:first-child {
    grid-column: span 1 !important;
  }
  .ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb,
  .ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb,
  #list > .entry-card-wrap:first-child .entry-card-thumb,
  .ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb img,
  .ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb img,
  #list > .entry-card-wrap:first-child .entry-card-thumb img {
    height: 200px !important;
  }
  .ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
  .ect-2-columns > .entry-card-wrap:first-child .entry-card-title,
  #list > .entry-card-wrap:first-child .entry-card-title {
    font-size: 18px !important;
  }
  .entry-card-thumb,
  .card-thumb,
  .entry-card-thumb img,
  .card-thumb img {
    height: 200px !important;
  }
  #main, .main {
    width: 100% !important;
  }
  #sidebar, .sidebar {
    width: 100% !important;
  }
  #site-name a,
  .site-name-text a,
  .site-name a {
    font-size: 20px !important;
  }
  /* ホットトピック モバイル: 2列 */
  .gs-hot-topics .wp-block-latest-posts.is-grid{
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .gs-hot-topics .wp-block-latest-posts__featured-image img{
    height: 110px !important;
  }
}
/* =========================================================
   ゲームそくほ v7 - モダン刷新（最初のモック C ベース）
   ヘッダー強化 + グローバルナビ + TRENDING Hero
   HOT/NEWバッジ + ピル型タグ + Discord CTA + 中央配置
   ========================================================= */

/* ---- v7 変数（v6を継承しつつ追加）---- */
:root{
  --gs-red-grad: linear-gradient(135deg, #ff4757 0%, #d63031 60%, #a21f20 100%);
  --gs-dark: #1a1d24;
  --gs-darker: #12141a;
  --gs-accent-gold: #f1c40f;
  --gs-accent-silver: #bdc3c7;
  --gs-accent-bronze: #cd7f32;
  --gs-discord: #5865f2;
}

/* ---- レイアウト: コンテンツ中央寄せ強化 ---- */
body{
  background: linear-gradient(180deg, #f7f7fa 0%, #eef0f5 100%) !important;
}
#wrap, .wrap, .header-in, .main, #main, #container{
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#main{
  padding-right: 24px !important;
  padding-left: 8px !important;
}
@media (max-width: 1024px){
  #main{ padding: 0 12px !important; }
}

/* ---- ヘッダー: ロゴ+GAMEバッジ+タグライン ---- */
.header-container{
  background: #ffffff !important;
  border-bottom: 4px solid transparent !important;
  border-image: var(--gs-red-grad) 1 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.04) !important;
}
.header-container-in.hlt-center-logo{
  padding: 20px 0 14px !important;
}
.header-in{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
}

/* ロゴ本体 */
.logo-header .site-name-text-link,
.logo-text a,
.logo-text .site-name-text,
#site-name a,
.site-name-text a{
  color: var(--gs-red) !important;
  font-weight: 900 !important;
  font-size: 40px !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, #d63031, #ff4757);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* GAMEバッジ（ロゴ右横） */
.logo-header::after,
.logo.logo-header::after{
  content: "GAME";
  display: inline-block;
  margin-left: 10px;
  padding: 4px 10px;
  background: var(--gs-red-grad);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  border-radius: 4px;
  vertical-align: middle;
  transform: translateY(-6px);
  box-shadow: 0 2px 6px rgba(214,48,49,.35);
}

/* タグライン（キャッチフレーズ）強化 */
.tagline, .tagline-message{
  color: var(--gs-sub) !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  margin: 2px 0 0 !important;
  opacity: .85;
}

/* ---- グローバルナビ: 水平バー ---- */
#navi, .navi{
  background: var(--gs-dark) !important;
  border: none !important;
  margin-top: 0 !important;
}
.navi-in{
  max-width: 1240px !important;
  margin: 0 auto !important;
}
.navi-in > .menu-header, .navi-in > ul{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 6px 12px !important;
  margin: 0 !important;
  list-style: none !important;
}
.navi-in .menu-item, .navi-in li{
  list-style: none !important;
  border: none !important;
}
.navi-in .menu-item > a,
.navi-in li > a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 18px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  border-radius: 6px !important;
  transition: all .2s ease !important;
  border: none !important;
  text-decoration: none !important;
}
.navi-in .menu-item > a:hover,
.navi-in li > a:hover,
.navi-in .current-menu-item > a{
  background: var(--gs-red) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(214,48,49,.35) !important;
}

/* ---- TRENDING ヒーロー: 1枚目カードを大胆に ---- */
.ect-3-columns > .entry-card-wrap:first-child,
#list.ect-3-columns > .entry-card-wrap:first-child{
  position: relative !important;
  border: 2px solid transparent !important;
  background: linear-gradient(#fff,#fff) padding-box, var(--gs-red-grad) border-box !important;
  box-shadow: 0 10px 30px rgba(214,48,49,.18) !important;
}
.ect-3-columns > .entry-card-wrap:first-child::before{
  content: "🔥 TRENDING";
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  padding: 6px 14px;
  background: var(--gs-red-grad);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(214,48,49,.5);
  animation: gs-pulse 2s ease-in-out infinite;
}
@keyframes gs-pulse{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.06); }
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
.ect-3-columns > .entry-card-wrap:first-child .card-title{
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  color: var(--gs-text) !important;
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb-image,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb img{
  aspect-ratio: 16/7 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}

/* ---- HOT/NEW バッジ（自動付与）---- */
.entry-card-wrap{
  position: relative !important;
}
/* 新着ラベル: 2枚目・3枚目にNEW */
.ect-3-columns > .entry-card-wrap:nth-child(2)::before,
.ect-3-columns > .entry-card-wrap:nth-child(3)::before{
  content: "🆕 NEW";
  position: absolute;
  top: 10px; left: 10px;
  z-index: 3;
  padding: 4px 10px;
  background: #22c55e;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  border-radius: 14px;
  box-shadow: 0 3px 8px rgba(34,197,94,.4);
}
/* HOT ラベル: 4〜6枚目 */
.ect-3-columns > .entry-card-wrap:nth-child(4)::before,
.ect-3-columns > .entry-card-wrap:nth-child(5)::before,
.ect-3-columns > .entry-card-wrap:nth-child(6)::before{
  content: "🔥 HOT";
  position: absolute;
  top: 10px; left: 10px;
  z-index: 3;
  padding: 4px 10px;
  background: #f97316;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  border-radius: 14px;
  box-shadow: 0 3px 8px rgba(249,115,22,.4);
}

/* ---- サイドバー: ウィジェットを美麗に ---- */
#sidebar .widget{
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.04) !important;
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
  border: 1px solid var(--gs-border) !important;
}
#sidebar .widget h2,
#sidebar .widget .widget-title,
#sidebar .wp-block-heading{
  font-size: 16px !important;
  font-weight: 900 !important;
  color: var(--gs-text) !important;
  margin: 0 0 12px 0 !important;
  padding: 0 0 8px 8px !important;
  border-bottom: 2px solid var(--gs-border) !important;
  border-left: 4px solid var(--gs-red) !important;
  line-height: 1.3 !important;
}

/* ---- 人気記事ランキング: 金銀銅バッジ ---- */
.gs-ranking .wp-block-latest-posts__list,
#sidebar .wp-block-latest-posts{
  list-style: none !important;
  counter-reset: gs-rank !important;
  padding: 0 !important;
}
.gs-ranking .wp-block-latest-posts__list > li,
#sidebar .wp-block-latest-posts > li{
  counter-increment: gs-rank !important;
  position: relative !important;
  padding: 10px 8px 10px 44px !important;
  border-bottom: 1px dashed var(--gs-border) !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
}
.gs-ranking .wp-block-latest-posts__list > li::before,
#sidebar .wp-block-latest-posts > li::before{
  content: counter(gs-rank);
  position: absolute;
  left: 6px; top: 50%;
  transform: translateY(-50%);
  width: 28px; height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  font-weight: 900;
  font-size: 13px;
  color: #fff;
  background: var(--gs-sub);
  box-shadow: 0 2px 5px rgba(0,0,0,.15);
}
.gs-ranking .wp-block-latest-posts__list > li:nth-child(1)::before,
#sidebar .wp-block-latest-posts > li:nth-child(1)::before{
  background: linear-gradient(135deg, #ffd700, #f1c40f);
  color: #fff;
  box-shadow: 0 3px 8px rgba(241,196,15,.5);
}
.gs-ranking .wp-block-latest-posts__list > li:nth-child(2)::before,
#sidebar .wp-block-latest-posts > li:nth-child(2)::before{
  background: linear-gradient(135deg, #ecf0f1, #95a5a6);
  color: #fff;
}
.gs-ranking .wp-block-latest-posts__list > li:nth-child(3)::before,
#sidebar .wp-block-latest-posts > li:nth-child(3)::before{
  background: linear-gradient(135deg, #e67e22, #cd7f32);
  color: #fff;
}

/* ---- ピル型タグクラウド（トレンドタグ）---- */
.gs-trending .tag-cloud-link,
.gs-trending a.tag-cloud-link,
#sidebar .wp-block-tag-cloud a{
  display: inline-block !important;
  margin: 3px 4px 3px 0 !important;
  padding: 5px 12px !important;
  background: #f4f6fa !important;
  color: var(--gs-text) !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .15s ease !important;
}
.gs-trending .tag-cloud-link:hover,
#sidebar .wp-block-tag-cloud a:hover{
  background: var(--gs-red) !important;
  color: #fff !important;
  border-color: var(--gs-red) !important;
  transform: translateY(-1px) !important;
}

/* ---- Discord CTA ウィジェット ---- */
.gs-discord-cta{
  background: linear-gradient(135deg, #5865f2 0%, #7983f5 100%) !important;
  border: none !important;
  color: #fff !important;
  padding: 18px !important;
  border-radius: 10px !important;
  text-align: center !important;
}
.gs-discord-cta h2,
.gs-discord-cta .wp-block-heading{
  color: #fff !important;
  border-left: none !important;
  border-bottom: 1px solid rgba(255,255,255,.25) !important;
  padding-left: 0 !important;
  padding-bottom: 8px !important;
}
.gs-discord-cta p{
  color: rgba(255,255,255,.9) !important;
  font-size: 13px !important;
  margin: 8px 0 12px !important;
}
.gs-discord-cta .wp-block-button__link,
.gs-discord-cta a.btn-discord{
  display: inline-block !important;
  background: #fff !important;
  color: var(--gs-discord) !important;
  font-weight: 900 !important;
  padding: 10px 24px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.18) !important;
  transition: transform .15s ease !important;
}
.gs-discord-cta .wp-block-button__link:hover,
.gs-discord-cta a.btn-discord:hover{
  transform: translateY(-1px) !important;
}

/* ---- カテゴリー（親のみ）視覚強化 ---- */
.gs-cat-list li a{
  padding: 10px 8px !important;
  border-bottom: 1px solid var(--gs-border) !important;
  font-weight: 700 !important;
  color: var(--gs-text) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background .15s ease !important;
}
.gs-cat-list li a:hover{
  background: #fff5f5 !important;
  color: var(--gs-red) !important;
}
.gs-cat-emoji{ font-size: 18px !important; margin-right: 8px; }
.gs-cat-count{
  background: var(--gs-red);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 999px;
  min-width: 28px;
  text-align: center;
}

/* ---- モバイル調整 ---- */
@media (max-width: 768px){
  .logo-header .site-name-text-link,
  .logo-text a{ font-size: 30px !important; }
  .logo-header::after, .logo.logo-header::after{
    font-size: 10px !important;
    padding: 3px 7px !important;
  }
  .navi-in > ul, .navi-in > .menu-header{
    gap: 2px !important;
    padding: 4px 6px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .navi-in .menu-item > a,
  .navi-in li > a{
    padding: 8px 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .ect-3-columns > .entry-card-wrap:first-child .entry-card-title{
    font-size: 16px !important;
  }
}
/* =========================================================
   ゲームそくほ v8 - mock_B_hachima 忠実再現オーバーライド
   v6/v7 のあとに追記して上書きする（!important 多め）
   ========================================================= */

/* ---- レイアウト: 1100px 幅、右カラム 300px ---- */
#wrap, .wrap, .header-in, #container{
  max-width: 1100px !important;
}
#main-beside{
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#main{
  padding: 20px 0 20px 0 !important;
}
#sidebar{
  max-width: 300px !important;
  padding: 20px 0 !important;
}

/* ---- ヘッダー: 白背景、赤下線4px、左寄せ ---- */
.header-container{
  background: #fff !important;
  border-bottom: 4px solid #d63031 !important;
  border-image: none !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}
/* Cocoon の「中央寄せロゴ」設定を上書き → 左寄せ */
.header-container-in.hlt-center-logo{
  padding: 14px 16px !important;
}
.header-in{
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 14px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.header-in .logo-header,
.header-in .logo{
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ロゴ本体: 単色赤 30px（グラデ解除） */
.logo-header .site-name-text-link,
.logo-text a,
.logo-text .site-name-text,
#site-name a,
.site-name-text a{
  color: #d63031 !important;
  font-weight: 900 !important;
  font-size: 30px !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  line-height: 1 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #d63031 !important;
}

/* GAME バッジ: ロゴの直後にインラインで表示 */
.logo-header::after,
.logo.logo-header::after{
  content: "GAME";
  display: inline-block !important;
  margin-left: 10px !important;
  padding: 2px 8px !important;
  background: #d63031 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  border-radius: 3px !important;
  vertical-align: middle !important;
  transform: none !important;
  box-shadow: none !important;
}

/* タグライン: ロゴの右隣 12px グレー */
.tagline, .tagline-message{
  display: inline-block !important;
  color: #888 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  margin: 0 0 0 6px !important;
  opacity: 1 !important;
  order: 2 !important;
  line-height: 1 !important;
  align-self: center !important;
}

/* ---- ナビ: 黒背景、左寄せ、控えめフォント ---- */
#navi, .navi{
  background: #1a1a1a !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.navi-in{
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}
.navi-in > .menu-header,
.navi-in > ul{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.navi-in .menu-item, .navi-in li{
  list-style: none !important;
  border: none !important;
  margin: 0 !important;
}
.navi-in .menu-item > a,
.navi-in li > a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 10px 18px !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  transition: background .15s ease !important;
  border: none !important;
  text-decoration: none !important;
  background: transparent !important;
}
.navi-in .menu-item > a:hover,
.navi-in li > a:hover,
.navi-in .current-menu-item > a{
  background: #d63031 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ---- ヒーロー: 1枚目カードにオーバーレイ ---- */
.ect-3-columns > .entry-card-wrap:first-child,
#list.ect-3-columns > .entry-card-wrap:first-child,
.ect-3-columns > .entry-card-wrap:first-child{
  position: relative !important;
  background: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}
.ect-3-columns > .entry-card-wrap:first-child::before{
  content: none !important;  /* v7 のパルスバッジを解除 */
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb,
.ect-3-columns > .entry-card-wrap:first-child .card-thumb{
  position: relative !important;
  height: 260px !important;
  overflow: hidden !important;
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb-image,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb img,
.ect-3-columns > .entry-card-wrap:first-child .card-thumb img{
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
}
/* 黒グラデーション・オーバーレイ */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 40%, rgba(0,0,0,0.85));
  pointer-events: none;
  z-index: 1;
}
/* TRENDING バッジ（左下、サムネの中） */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::before{
  content: "🔥 TRENDING";
  position: absolute;
  left: 18px;
  bottom: 70px;
  z-index: 2;
  padding: 3px 10px;
  background: #d63031;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
/* タイトルをサムネの上に重ねる */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-content,
.ect-3-columns > .entry-card-wrap:first-child .card-content,
.ect-3-columns > .entry-card-wrap:first-child .entry-card{
  position: relative !important;
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card{
  padding: 0 !important;
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
.ect-3-columns > .entry-card-wrap:first-child .card-title{
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 2 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #fff !important;
  text-shadow: 0 2px 4px rgba(0,0,0,.5) !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* ヒーローの本文抜粋・日付は非表示（オーバーレイで邪魔なので下へ落とす） */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-snippet,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-meta,
.ect-3-columns > .entry-card-wrap:first-child .card-snippet{
  display: none !important;
}

/* ---- 通常カード: HOT バッジ右上、NEW 緑は削除 ---- */
/* v7 の NEW 緑バッジを解除 */
.ect-3-columns > .entry-card-wrap:nth-child(2)::before,
.ect-3-columns > .entry-card-wrap:nth-child(3)::before{
  content: none !important;
}
/* HOT を 4-6 枚目の右上（コーラル色）に */
.ect-3-columns > .entry-card-wrap:nth-child(4),
.ect-3-columns > .entry-card-wrap:nth-child(5),
.ect-3-columns > .entry-card-wrap:nth-child(6){
  position: relative !important;
}
.ect-3-columns > .entry-card-wrap:nth-child(4)::before,
.ect-3-columns > .entry-card-wrap:nth-child(5)::before,
.ect-3-columns > .entry-card-wrap:nth-child(6)::before{
  content: "HOT";
  position: absolute;
  top: 10px;
  right: 10px;
  left: auto;
  z-index: 3;
  padding: 2px 8px;
  background: #ff7f50 !important;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  border-radius: 12px;
  box-shadow: 0 2px 5px rgba(0,0,0,.2);
}

/* ---- サイドバー: 見出しを赤グラデ full bar に ---- */
#sidebar .widget{
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  border: none !important;
}
#sidebar .widget h2,
#sidebar .widget .widget-title,
#sidebar .widget > .wp-block-group > h2,
#sidebar .wp-block-group > .wp-block-heading,
#sidebar .widget .wp-block-heading{
  background: linear-gradient(90deg, #d63031, #e55a3c) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border: none !important;
  border-left: none !important;
  border-bottom: none !important;
  line-height: 1.3 !important;
  border-radius: 0 !important;
}
/* 見出し以外の中身は padding を付与 */
#sidebar .widget > .wp-block-group{
  padding: 0 !important;
}
#sidebar .widget > .wp-block-group > *:not(.wp-block-heading):not(h2){
  padding: 0 14px !important;
}
#sidebar .widget > .wp-block-group > .wp-block-heading + *{
  padding-top: 10px !important;
}
#sidebar .widget > .wp-block-group > :last-child{
  padding-bottom: 10px !important;
}

/* ---- 検索ウィジェット 見出しが無いので padding ---- */
#sidebar #search-2,
#sidebar .wp-block-search{
  padding: 14px !important;
}

/* ---- 人気記事ランキング: 48px サムネ + 28px 円バッジ ---- */
#sidebar .wp-block-latest-posts,
#sidebar .gs-ranking .wp-block-latest-posts__list{
  padding: 0 14px !important;
}
#sidebar .wp-block-latest-posts > li,
#sidebar .gs-ranking .wp-block-latest-posts__list > li{
  padding: 10px 0 10px 44px !important;
  border-bottom: 1px dashed #eee !important;
}
#sidebar .wp-block-latest-posts > li:last-child,
#sidebar .gs-ranking .wp-block-latest-posts__list > li:last-child{
  border-bottom: none !important;
}
/* 金 1 位 */
#sidebar .wp-block-latest-posts > li:nth-child(1)::before{
  background: #ffd700 !important;
  color: #333 !important;
  box-shadow: 0 2px 5px rgba(241,196,15,.35) !important;
}
/* 銀 2 位 */
#sidebar .wp-block-latest-posts > li:nth-child(2)::before{
  background: #c0c0c0 !important;
  color: #333 !important;
}
/* 銅 3 位 */
#sidebar .wp-block-latest-posts > li:nth-child(3)::before{
  background: #cd7f32 !important;
  color: #fff !important;
}
/* 4位以降グレー */
#sidebar .wp-block-latest-posts > li:nth-child(n+4)::before{
  background: #999 !important;
  color: #fff !important;
}

/* ---- ピル型タグクラウド: 中央やや左寄せ、グレーベース ---- */
.gs-trending .tag-cloud-link,
#sidebar .wp-block-tag-cloud a{
  display: inline-block !important;
  margin: 3px 4px 3px 0 !important;
  padding: 4px 10px !important;
  background: #f3f3f3 !important;
  color: #333 !important;
  border: none !important;
  border-radius: 14px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}
.gs-trending .tag-cloud-link:hover,
#sidebar .wp-block-tag-cloud a:hover{
  background: #d63031 !important;
  color: #fff !important;
  transform: none !important;
}

/* ---- Discord CTA: 白カード + 紫ボタン（背景は紫にしない） ---- */
.gs-discord-cta{
  background: #fff !important;
  color: #333 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-align: left !important;
}
.gs-discord-cta .wp-block-heading,
.gs-discord-cta h2{
  background: linear-gradient(90deg, #d63031, #e55a3c) !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.gs-discord-cta p{
  color: #333 !important;
  font-size: 12px !important;
  margin: 0 !important;
  padding: 10px 14px 8px !important;
}
.gs-discord-cta .wp-block-buttons,
.gs-discord-cta .wp-block-button{
  padding: 0 14px 14px !important;
  margin: 0 !important;
}
.gs-discord-cta .wp-block-button__link,
.gs-discord-cta a.btn-discord{
  display: inline-block !important;
  background: #5865F2 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 8px 14px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.gs-discord-cta .wp-block-button__link:hover{
  background: #4752c4 !important;
  transform: none !important;
}

/* ---- カテゴリー（親のみ）: 各行ボーダーだけのシンプル ---- */
.gs-cat-parent{
  padding: 0 !important;
}
.gs-cat-list{
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.gs-cat-list li{
  list-style: none !important;
  margin: 0 !important;
}
.gs-cat-list li a{
  padding: 10px 14px !important;
  border-bottom: 1px solid #eee !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background .15s ease !important;
}
.gs-cat-list li:last-child a{ border-bottom: none !important; }
.gs-cat-list li a:hover{
  background: #fff5f5 !important;
  color: #d63031 !important;
}
.gs-cat-emoji{ font-size: 16px !important; margin-right: 8px !important; }
.gs-cat-count{
  background: #d63031 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 1px 8px !important;
  border-radius: 999px !important;
  min-width: 26px !important;
  text-align: center !important;
}

/* ---- ホットトピック（index 上部）: 横並び5件は維持 ---- */
.gs-hot-topics .wp-block-heading{
  background: linear-gradient(90deg, #d63031, #e55a3c) !important;
  color: #fff !important;
  padding: 8px 14px !important;
  margin: 0 0 10px !important;
  font-size: 13px !important;
  border: none !important;
}

/* ---- モバイル対応 ---- */
@media (max-width: 880px){
  .header-in{
    flex-wrap: wrap !important;
  }
  .navi-in > ul, .navi-in > .menu-header{
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }
  .navi-in .menu-item > a,
  .navi-in li > a{
    padding: 10px 14px !important;
    white-space: nowrap !important;
  }
  #main{ padding: 10px 12px !important; }
  #sidebar{ padding: 10px 12px !important; max-width: 100% !important; }
}
/* =========================================================
   ゲームそくほ v9 パッチ - モックB忠実化（追加 / 上書き）
   ① ナビ1行化
   ② カテゴリラベル(Cocoon .cat-label 系) 赤強制
   ③ thumb_XXX (no-image) サムネ装飾
   ④ HOTバッジ位置調整
   ⑤ ヒーロー（ファースト）の黒グラデーションオーバーレイ強化
   ========================================================= */

/* ① ナビ1行（9項目が max-width:1100px に収まるよう縮小） */
#navi .navi-in > ul,
.navi ul,
.navi-in > .menu-header,
.navi-in > ul.menu {
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
}
#navi .navi-in > ul > li > a,
.navi ul li a,
.navi-in .menu-header a {
  padding: 8px 12px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}
@media (max-width: 900px){
  #navi .navi-in > ul > li > a,
  .navi ul li a {
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
}

/* ② Cocoon が生成するデフォルトのカテゴリラベル色（青色）を赤に統一 */
.cat-label,
.entry-category,
.entry-category a,
a.cat-link,
span.cat-label {
  background: var(--gs-red, #d63031) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.cat-label a,
.entry-category a {
  color: #fff !important;
}

/* ③ thumb_XXX（no-image）装飾
      Cocoon が auto 生成した thumb_XXX.jpg は黄/橙の醜い placeholder なので
      完全に隠し、親要素にグラデ背景 + アイコンを載せる */
.entry-card-thumb img[src*="thumb_"],
.entry-card-thumb img[src*="no-image"],
.entry-card-thumb img[src*="no_image"] {
  opacity: 0 !important;
  visibility: hidden !important;
}
/* thumb_XXX の親カードにランダム風グラデ背景 */
.entry-card-thumb:has(img[src*="thumb_"]),
.entry-card-thumb:has(img[src*="no-image"]),
.entry-card-thumb:has(img[src*="no_image"]) {
  background: linear-gradient(135deg, #2c3e50 0%, #4ca1af 100%) !important;
  position: relative !important;
}
/* 偶数番目のカードは違うグラデで変化をつける（単調回避） */
.entry-card-wrap:nth-child(2n) .entry-card-thumb:has(img[src*="thumb_"]) {
  background: linear-gradient(135deg, #232526 0%, #414345 100%) !important;
}
.entry-card-wrap:nth-child(3n) .entry-card-thumb:has(img[src*="thumb_"]) {
  background: linear-gradient(135deg, #614385 0%, #516395 100%) !important;
}
.entry-card-wrap:nth-child(5n) .entry-card-thumb:has(img[src*="thumb_"]) {
  background: linear-gradient(135deg, #8e2de2 0%, #4a00e0 100%) !important;
}
.entry-card-wrap:nth-child(7n) .entry-card-thumb:has(img[src*="thumb_"]) {
  background: linear-gradient(135deg, #ff6e7f 0%, #bfe9ff 100%) !important;
}
/* 疑似要素で NEWS アイコン */
.entry-card-thumb:has(img[src*="thumb_"])::before,
.entry-card-thumb:has(img[src*="no-image"])::before {
  content: "📰" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 52px !important;
  opacity: 0.35 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* ④ HOT バッジ位置（もし既存にあれば）右上に固定 */
.entry-card-thumb .new-entry-label,
.entry-card-thumb .entry-new-mark,
.entry-card-wrap:nth-child(-n+3) .entry-card-thumb::after {
  content: "HOT" !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: #ff7f50 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 6px !important;
  border-radius: 12px !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

/* ⑤ ヒーロー（ファーストカード）: 黒グラデを強化＋タイトル白字オーバーレイ
      すでに v8 にあるが念のため強制再適用 */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::after,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb::after,
#list > .entry-card-wrap:first-child .entry-card-thumb::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(transparent 40%, rgba(0,0,0,0.88) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-title,
#list > .entry-card-wrap:first-child .entry-card-title {
  position: absolute !important;
  left: 20px !important;
  right: 20px !important;
  bottom: 16px !important;
  color: #fff !important;
  z-index: 2 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.65) !important;
}
/* ヒーローカードのカテゴリバッジ（🔥 TRENDING 相当） */
.ect-3-columns > .entry-card-wrap:first-child::before,
.ect-2-columns > .entry-card-wrap:first-child::before,
#list > .entry-card-wrap:first-child::before {
  content: "🔥 TRENDING" !important;
  position: absolute !important;
  left: 20px !important;
  bottom: 62px !important;
  background: var(--gs-red, #d63031) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  z-index: 3 !important;
  letter-spacing: 0.04em !important;
}

/* ヘッダーのロゴ右「GAME」バッジ（モックB .mark 相当） */
#site-name a::after,
.site-name-text a::after,
.logo-text a::after {
  content: "GAME" !important;
  display: inline-block !important;
  background: var(--gs-red, #d63031) !important;
  color: #fff !important;
  font-size: 12px !important;
  padding: 2px 8px !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
}

/* サイドパネルの h3（見出し）を赤→オレンジグラデに統一 */
.sidebar .widget h3,
.sidebar .widget-sidebar h3,
#sidebar h3,
.sidebar-scroll .widget h3,
.sidebar h3.widget-title {
  background: linear-gradient(90deg, #d63031 0%, #e55a3c 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  margin: 0 0 0 0 !important;
  border: none !important;
  border-radius: 8px 8px 0 0 !important;
}
.sidebar .widget,
#sidebar .widget {
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}
.sidebar .widget > *:not(h3):not(.widget-title) {
  padding: 10px 14px !important;
}

/* タグクラウド（注目ゲーム）をピル型に */
.widget_tag_cloud a,
.wp-block-tag-cloud a {
  display: inline-block !important;
  background: #f3f3f3 !important;
  color: #333 !important;
  padding: 4px 10px !important;
  border-radius: 14px !important;
  font-size: 11px !important;
  margin: 3px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  border: none !important;
}
.widget_tag_cloud a:hover,
.wp-block-tag-cloud a:hover {
  background: var(--gs-red, #d63031) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* フッター黒背景 */
.footer,
#footer,
.footer-in {
  background: #1a1a1a !important;
  color: #888 !important;
  text-align: center !important;
  padding: 24px !important;
  font-size: 12px !important;
}
.footer a,
#footer a {
  color: #ccc !important;
}

/* 記事カードのサムネを relative（HOTバッジ等を正しく載せる） */
.entry-card-thumb {
  position: relative !important;
  overflow: hidden !important;
}
/* =========================================================
   ゲームそくほ v10 パッチ - モックB忠実化 Round 3
   ① ナビ背景を黒 (#1a1a1a) に、リンク白に強制
   ② 壊れていた TRENDING 縦帯 (::before) を除去
      代わりに first-child thumb::before で小さく水平に配置
   ③ HOT バッジは先頭 4 枚のみに制限
   ④ .entry-card-wrap (<a>) に position:relative を付与
      （ヒーロー疑似要素が正しい原点で効くように）
   ========================================================= */

/* v9 で効かなかった TRENDING ::before を無効化 */
.ect-3-columns > .entry-card-wrap:first-child::before,
.ect-2-columns > .entry-card-wrap:first-child::before,
#list > .entry-card-wrap:first-child::before {
  content: none !important;
  display: none !important;
}

/* ① ナビ黒背景、リンク白 */
#navi,
.navi-in,
.navi,
.navi-menu-content,
.navi-in > .menu-header,
.navi-in > ul {
  background: #1a1a1a !important;
  border-top: none !important;
  border-bottom: none !important;
  color: #fff !important;
}
#navi .navi-in > ul > li > a,
.navi ul li a,
.navi-in .menu-header a,
#navi li.menu-item > a {
  color: #fff !important;
  background: transparent !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}
#navi .navi-in > ul > li:hover > a,
#navi .navi-in > ul > li.current-menu-item > a,
.navi ul li:hover a {
  color: #fff !important;
  background: #d63031 !important;
}
/* サブメニュー */
#navi .navi-in > ul ul a {
  background: #2a2a2a !important;
  color: #fff !important;
}

/* ④ <a class="entry-card-wrap"> に position:relative を追加 */
.entry-card-wrap,
a.entry-card-wrap,
a.a-wrap {
  position: relative !important;
  display: block !important;
}

/* ② first-child（ヒーロー）には TRENDING を thumb 内の pseudo で配置
      thumb は既に position:relative */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::before,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb::before,
#list > .entry-card-wrap:first-child .entry-card-thumb::before {
  content: "🔥 TRENDING" !important;
  position: absolute !important;
  left: 16px !important;
  bottom: 16px !important;
  display: inline-block !important;
  background: #d63031 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  border-radius: 3px !important;
  z-index: 4 !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
}

/* ③ HOT バッジは先頭 4 枚のみ */
.entry-card-wrap:nth-child(n+5) .entry-card-thumb::after,
.entry-card-wrap:nth-child(n+5) .new-entry-label {
  display: none !important;
  content: none !important;
}

/* new-entry-label（Cocoon標準「NEW」）の見た目を HOT ピルに統一
   ただし first-child（ヒーロー）は除外 */
.entry-card-wrap:not(:first-child):nth-child(-n+4) .entry-card-thumb::after {
  content: "HOT" !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: #ff7f50 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  z-index: 3 !important;
  pointer-events: none !important;
}
/* Cocoon 実装の new-entry-label があれば HOT 風に統一 */
.entry-card-wrap .new-entry-label {
  background: #ff7f50 !important;
  color: #fff !important;
  border: none !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
}

/* ヒーロー自身には HOT を出さない（TRENDING だけ） */
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::after,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb::after,
#list > .entry-card-wrap:first-child .entry-card-thumb::after,
.entry-card-wrap:first-child .new-entry-label {
  content: none !important;
  display: none !important;
}
/* =========================================================
   ゲームそくほ v11 パッチ - Computed Style 差分ベース精密修正
   ---
   Playwright で getComputedStyle を取得して得た数値差分を
   1項目ずつ埋める。Cocoon 既定値と衝突する箇所のため
   ほぼ全てに !important が必要。
   ========================================================= */

/* ------------------------------------------------------------
   [1] ルート / Body のフォント・色・背景をモックに合わせる
       これが全要素のサイズ感を支配する（最重要）
       mock: html 14px / body color #222 / bg #fafafa / line-height 1.6
       live: html 18px / body color #1a1a1a / bg gradient / line-height 1.8
   ------------------------------------------------------------ */
html {
  font-size: 14px !important;
}
body, #body {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #222 !important;
  background: #fafafa !important;
  background-image: none !important;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo",sans-serif !important;
}

/* ------------------------------------------------------------
   [2] メインラッパー
       mock: .wrap max-width 1100px, padding 20px 16px
             grid-template-columns: 1fr 300px, gap 24px
       live: #main max-width 1240px, display block
   ------------------------------------------------------------ */
#main, .main,
.main-content, .main-wrap,
#primary, #content,
.wrap {
  max-width: 1100px !important;
  width: 100% !important;
  padding: 20px 16px !important;
  margin: 0 auto !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}
/* Cocoon の本体グリッドを 1fr 300px に */
#main-inner, .main-in,
.content-in, .content {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 24px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 20px 16px !important;
  background: transparent !important;
}
/* コンテナが 1 段高いなら override */
#container, .container, #content {
  max-width: 1100px !important;
  margin: 0 auto !important;
}
/* モバイル */
@media (max-width: 880px) {
  #main-inner, .main-in, .content-in, .content {
    grid-template-columns: 1fr !important;
  }
}

/* ------------------------------------------------------------
   [3] ヘッダー
       mock: 80px 相当、h1 30px/bold700/lh 1.6, 左寄せ
       live: 180px（h1 900 / lh 30px / site-desc 別行）
   ------------------------------------------------------------ */
.header-container, #header, .header {
  max-width: none !important;
  width: 100% !important;
  border-bottom: 4px solid #d63031 !important;
  box-shadow: none !important;
  background: #fff !important;
  padding: 0 !important;
}
.header-container-in, .header-in {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  height: auto !important;
}
/* ロゴテキスト */
.site-name-text, #site-name, .logo-header,
.site-name-text-link, .site-name a {
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  color: #d63031 !important;
  letter-spacing: 0.02em !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
}
.site-name-text a,
.site-name-text-link,
#site-name a,
.logo-header a {
  color: #d63031 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}
/* ロゴ右「GAME」バッジ */
.site-name-text a::after,
.site-name-text-link::after,
#site-name a::after,
.logo-header a::after {
  content: "GAME" !important;
  display: inline-block !important;
  background: #d63031 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
  border-radius: 3px !important;
  letter-spacing: 0.05em !important;
  line-height: 1.4 !important;
}
/* タグライン */
.tagline, #site-description, .site-description {
  font-size: 12px !important;
  color: #888 !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
  display: inline-block !important;
}

/* ------------------------------------------------------------
   [4] ナビゲーション
       mock: bg #1a1a1a, a { padding 10px 18px; font-size 13px; color #fff }
       live: 既に v10 で黒化済みだが数値を揃える
   ------------------------------------------------------------ */
#navi, .navi {
  background: #1a1a1a !important;
  width: 100% !important;
  max-width: none !important;
}
.navi-in {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-wrap: wrap !important;
}
#navi .navi-in > ul,
.navi ul.menu {
  display: flex !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: 100% !important;
}
#navi .navi-in > ul > li,
.navi ul li {
  background: transparent !important;
  list-style: none !important;
}
#navi .navi-in > ul > li > a,
.navi ul li a,
#navi li.menu-item > a {
  color: #fff !important;
  background: transparent !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  letter-spacing: 0 !important;
}
#navi .navi-in > ul > li:hover > a,
#navi .navi-in > ul > li.current-menu-item > a,
.navi ul li:hover a {
  background: #d63031 !important;
  color: #fff !important;
}

/* ------------------------------------------------------------
   [5] ヒーロー（first-child entry-card-wrap）
       mock: height 260px, block, background-image, overlay
   ------------------------------------------------------------ */
.entry-card-wrap, a.entry-card-wrap, a.a-wrap {
  position: relative !important;
  display: block !important;
  flex-direction: initial !important;
  border: none !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  overflow: hidden !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  color: #222 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.entry-card-wrap:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

/* 2列グリッド（子テーマが ect-3-columns を吐いても強制2列） */
#list, .list,
.ect-3-columns, .ect-2-columns, .ect-vertical-card-3, .ect-vertical-card {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
  background: transparent !important;
}

/* ヒーローを 1 行全幅に（grid-column: 1 / -1） */
#list > .entry-card-wrap:first-child,
.ect-3-columns > .entry-card-wrap:first-child,
.ect-2-columns > .entry-card-wrap:first-child {
  grid-column: 1 / -1 !important;
  margin-bottom: 4px !important;
}

/* ヒーローのサムネ高 */
#list > .entry-card-wrap:first-child .entry-card-thumb,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb {
  height: 260px !important;
  width: 100% !important;
  max-height: 260px !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
}
#list > .entry-card-wrap:first-child .entry-card-thumb img,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb img,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
  max-height: none !important;
}
/* ヒーローの黒グラデ・オーバーレイ */
#list > .entry-card-wrap:first-child .entry-card-thumb::after,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::after,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(transparent 40%, rgba(0,0,0,0.85) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
}
/* ヒーローのタイトル（白字オーバーレイ） */
#list > .entry-card-wrap:first-child .entry-card-title,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-title {
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
}
#list > .entry-card-wrap:first-child .entry-card-title a,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title a,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-title a {
  color: #fff !important;
}
/* ヒーローのカテゴリラベル = hero-cat（赤インライン） */
#list > .entry-card-wrap:first-child .cat-label,
.ect-3-columns > .entry-card-wrap:first-child .cat-label,
.ect-2-columns > .entry-card-wrap:first-child .cat-label {
  position: absolute !important;
  left: 24px !important;
  bottom: 72px !important;
  top: auto !important;
  right: auto !important;
  display: inline-block !important;
  background: #d63031 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
}
/* ヒーローは本文(content)を隠す（モックは body 無い→タイトルのみ） */
#list > .entry-card-wrap:first-child .entry-card-content,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-content,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-content {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  z-index: 2 !important;
}
#list > .entry-card-wrap:first-child .entry-card-snippet,
#list > .entry-card-wrap:first-child .entry-card-meta,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-snippet,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-meta {
  display: none !important;
}

/* ------------------------------------------------------------
   [6] 通常カード（2 列目以降）
       mock: thumb 150px / body padding 12px 14px
             title 14px lh 1.45 / excerpt 12px lh 1.5 / meta 11px
   ------------------------------------------------------------ */
.entry-card-wrap:not(:first-child) .entry-card-thumb {
  height: 150px !important;
  max-height: 150px !important;
  width: 100% !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
}
.entry-card-wrap:not(:first-child) .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
  max-height: none !important;
}

/* entry-card-content (body) */
.entry-card-wrap:not(:first-child) .entry-card-content {
  padding: 12px 14px !important;
  display: block !important;
  flex-direction: initial !important;
  background: #fff !important;
}
.entry-card-wrap:not(:first-child) .entry-card-title,
.entry-card-wrap:not(:first-child) .card-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: #222 !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  height: auto !important;
  max-height: 2.9em !important;
}
.entry-card-wrap:not(:first-child) .entry-card-title a,
.entry-card-wrap:not(:first-child) .card-title a {
  color: #222 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.entry-card-wrap:not(:first-child) .entry-card-snippet,
.entry-card-wrap:not(:first-child) .card-snippet {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #666 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.entry-card-wrap:not(:first-child) .entry-card-meta,
.entry-card-wrap:not(:first-child) .card-meta {
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: #999 !important;
  margin-top: 8px !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: auto !important;
  position: static !important;
}

/* カテゴリラベル（通常カード：左上バッジ） */
.entry-card-wrap:not(:first-child) .cat-label {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  bottom: auto !important;
  display: inline-block !important;
  background: rgba(214, 48, 49, 0.95) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
}

/* HOT バッジ：先頭 3 枚のみ（ヒーロー除く） */
.entry-card-wrap:nth-child(n+2):nth-child(-n+4) .entry-card-thumb::after {
  content: "HOT" !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: #ff7f50 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 6px !important;
  border-radius: 12px !important;
  z-index: 3 !important;
  line-height: 1.4 !important;
}
.entry-card-wrap:nth-child(n+5) .entry-card-thumb::after,
.entry-card-wrap:first-child .entry-card-thumb::after {
  /* first-child は黒グラデオーバーレイ（上で再定義）、5枚目以降は消す */
}
.entry-card-wrap:nth-child(n+5) .new-entry-label {
  display: none !important;
}

/* ------------------------------------------------------------
   [7] サイドバー
       mock: .side-panel 300px, bg #fff, radius 8px, shadow, margin 16px
             h3: linear-gradient, 14px, padding 10px 14px
             .content: padding 10px 14px
   ------------------------------------------------------------ */
.sidebar {
  width: 300px !important;
  max-width: 300px !important;
  flex: 0 0 300px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.sidebar .widget,
#sidebar .widget {
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border: none !important;
}
.sidebar .widget h3,
.sidebar .widget .widget-sidebar-scroll-title,
#sidebar h3.widget-title {
  background: linear-gradient(90deg, #d63031 0%, #e55a3c 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
}
.sidebar .widget > *:not(h3):not(.widget-sidebar-scroll-title) {
  padding: 10px 14px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #222 !important;
}
/* ランキングリスト */
.sidebar .entry-card-wrap,
.sidebar a.entry-card-wrap {
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  border-bottom: 1px dashed #eee !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
}
.sidebar .entry-card-wrap:last-child {
  border-bottom: none !important;
}
.sidebar .entry-card-wrap .entry-card-thumb {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  border-radius: 4px !important;
  max-height: 46px !important;
}
.sidebar .entry-card-wrap .entry-card-thumb img {
  width: 46px !important;
  height: 46px !important;
  object-fit: cover !important;
}
.sidebar .entry-card-wrap .entry-card-content {
  padding: 0 !important;
  flex: 1 !important;
}
.sidebar .entry-card-title {
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #222 !important;
  font-weight: 700 !important;
  margin: 0 !important;
  -webkit-line-clamp: 2 !important;
}
.sidebar .entry-card-snippet,
.sidebar .entry-card-meta {
  display: none !important;
}

/* タグクラウド */
.widget_tag_cloud a, .wp-block-tag-cloud a {
  display: inline-block !important;
  background: #f3f3f3 !important;
  color: #333 !important;
  padding: 4px 10px !important;
  border-radius: 14px !important;
  font-size: 11px !important;
  margin: 3px 3px 3px 0 !important;
  text-decoration: none !important;
  border: none !important;
  line-height: 1.4 !important;
}
.widget_tag_cloud a:hover, .wp-block-tag-cloud a:hover {
  background: #d63031 !important;
  color: #fff !important;
}

/* ------------------------------------------------------------
   [8] フッター
       mock: bg #1a1a1a, color #888, padding 24px, font-size 12px, margin-top 40px
   ------------------------------------------------------------ */
.footer, #footer {
  background: #1a1a1a !important;
  color: #888 !important;
  text-align: center !important;
  padding: 24px !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  margin-top: 40px !important;
  border-top: none !important;
  max-width: none !important;
  width: 100% !important;
}
.footer-in, .footer-bottom {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.footer a, #footer a {
  color: #ccc !important;
}

/* =========================================================
   ゲームそくほ v12 パッチ - v11 根本バグ修正
   ---
   v11 で発覚した致命問題:
   ① #content と .content-in に二重で display:grid を当てたため
      .content-in が #content 第1列 (744px) の中にさらに grid
      を作り、#main が 388px に縮んだ
   ② .header-container-in に display:flex を当てたため、
      header / nav / caption-wrap 9個 が横並び flex になり
      nav が 176px に圧縮された
   ③ 上記結果、nav 項目が縦に 540px 伸び、ヘッダーが 568px
      カード幅 170px、ヒーロー 356px、という崩壊状態
   ---
   v12 方針:
   ・grid は .content-in だけに適用 (#content は素の block)
   ・flex は .header-in (ロゴ行) だけに適用
   ・.header-container-in は block に戻す
   ・caption-wrap (Cocoon SNS 等) は非表示
   ・.navi は明示的に full-width block
   ========================================================= */

/* ========== [A] v11 の誤り打ち消し (これ以降のルールで正を上書き) ========== */
#content {
  display: block !important;
  grid-template-columns: none !important;
  padding: 0 !important;
}
.header-container-in {
  display: block !important;
  padding: 0 !important;
}

/* ========== [1] html/body の font-size=14 (v11 は継承) ========== */
html { font-size: 14px !important; }
body {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #222 !important;
  background: #fafafa !important;
  background-image: none !important;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo",sans-serif !important;
}

/* ========== [2] ルートコンテナ (grid は .content-in ひとつに集約) ========== */
#container {
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
#content {
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 20px 16px !important;
  background: transparent !important;
  border: none !important;
}
/* .content-in を唯一の grid 親にする */
.content-in {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 24px !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
@media (max-width: 880px) {
  .content-in { grid-template-columns: 1fr !important; }
}

/* #main は grid 第1列 */
#main, .main {
  max-width: none !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  float: none !important;
}
/* sidebar は grid 第2列 */
#sidebar, .sidebar {
  width: 300px !important;
  max-width: 300px !important;
  min-width: 0 !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  float: none !important;
}

/* ========== [3] ヘッダー: flex は .header-in だけに ========== */
.header-container {
  max-width: none !important;
  width: 100% !important;
  border-bottom: 4px solid #d63031 !important;
  box-shadow: none !important;
  background: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* 中間ラッパ (Cocoon hlt-center-logo) をリセット */
.header-container-in {
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #fff !important;
  display: block !important;
  height: auto !important;
}
/* caption-wrap (SNS等) は非表示 */
.header-container-in > .caption-wrap,
.header-container-in .caption-wrap {
  display: none !important;
}
/* header.header はロゴ行のラッパ */
header.header.cf,
.header.cf {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  position: static !important;
}
/* .header-in = ロゴ横並び (ここだけ flex) */
.header-in, header .header-in {
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  height: auto !important;
}
/* ロゴテキスト */
.site-name-text, #site-name, .logo-header {
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #d63031 !important;
  letter-spacing: 0.02em !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
}
.site-name-text a, #site-name a, .logo-header a,
.site-name-text-link {
  color: #d63031 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
/* GAME バッジ */
.site-name-text a::after,
#site-name a::after,
.site-name-text-link::after {
  content: "GAME" !important;
  display: inline-block !important;
  background: #d63031 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
  border-radius: 3px !important;
  letter-spacing: 0.05em !important;
  line-height: 1.4 !important;
}
/* タグライン */
.tagline, #site-description, .site-description {
  font-size: 12px !important;
  color: #888 !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  display: inline-block !important;
}

/* ========== [4] ナビゲーション (full-width, 水平 menu) ========== */
nav.navi, #navi, .navi.cf, .navi {
  background: #1a1a1a !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  float: none !important;
  border: none !important;
}
.navi-in {
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  display: block !important;
  height: auto !important;
}
#navi .navi-in > ul,
.navi-in .menu,
.navi-in ul.menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: 100% !important;
  height: auto !important;
}
#navi .navi-in > ul > li,
.navi-in .menu > li {
  background: transparent !important;
  list-style: none !important;
  float: none !important;
  width: auto !important;
  flex: 0 0 auto !important;
}
#navi .navi-in > ul > li > a,
.navi-in .menu > li > a {
  color: #fff !important;
  background: transparent !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  letter-spacing: 0 !important;
}
#navi .navi-in > ul > li:hover > a,
#navi .navi-in > ul > li.current-menu-item > a {
  background: #d63031 !important;
  color: #fff !important;
}

/* ========== [5] カードグリッド (強制 2 列, gap 16) ========== */
#list, .list,
.ect-3-columns, .ect-2-columns,
.ect-vertical-card-3, .ect-vertical-card {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* カード共通 */
.entry-card-wrap, a.entry-card-wrap, a.a-wrap {
  position: relative !important;
  display: block !important;
  flex-direction: initial !important;
  border: none !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  overflow: hidden !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  color: #222 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
}
.entry-card-wrap:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

/* ヒーロー = first-child を 1 行全幅 */
#list > .entry-card-wrap:first-child,
.ect-3-columns > .entry-card-wrap:first-child,
.ect-2-columns > .entry-card-wrap:first-child {
  grid-column: 1 / -1 !important;
  margin-bottom: 4px !important;
}

/* ヒーローのサムネ: 高さ 260 */
#list > .entry-card-wrap:first-child .entry-card-thumb,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb {
  height: 260px !important;
  width: 100% !important;
  max-height: 260px !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
}
#list > .entry-card-wrap:first-child .entry-card-thumb img,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb img,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
  max-height: none !important;
}
/* ヒーローの黒グラデ */
#list > .entry-card-wrap:first-child .entry-card-thumb::after,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::after,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: linear-gradient(transparent 40%, rgba(0,0,0,0.85) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  font-size: 0 !important;
  border-radius: 0 !important;
}
/* ヒーロータイトル: 白字オーバーレイ */
#list > .entry-card-wrap:first-child .entry-card-title,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-title {
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
  top: auto !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  -webkit-line-clamp: none !important;
  max-height: none !important;
  overflow: visible !important;
}
#list > .entry-card-wrap:first-child .entry-card-title a,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-title a,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-title a {
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}
/* ヒーローのカテゴリラベル: タイトルの上に */
#list > .entry-card-wrap:first-child .cat-label,
.ect-3-columns > .entry-card-wrap:first-child .cat-label,
.ect-2-columns > .entry-card-wrap:first-child .cat-label {
  position: absolute !important;
  left: 24px !important;
  bottom: 72px !important;
  top: auto !important;
  right: auto !important;
  display: inline-block !important;
  background: #d63031 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
}
/* ヒーローは本文(snippet/meta) 隠す */
#list > .entry-card-wrap:first-child .entry-card-snippet,
#list > .entry-card-wrap:first-child .entry-card-meta,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-snippet,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-meta,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-snippet,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-meta {
  display: none !important;
}
#list > .entry-card-wrap:first-child .entry-card-content,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-content,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-content {
  position: static !important;
  padding: 0 !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
}

/* ========== [6] 通常カード (non-hero): 高さ 150 + 本文 12/14 pad ========== */
.entry-card-wrap:not(:first-child) .entry-card-thumb {
  height: 150px !important;
  max-height: 150px !important;
  width: 100% !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
}
.entry-card-wrap:not(:first-child) .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
  max-height: none !important;
}

.entry-card-wrap:not(:first-child) .entry-card-content {
  padding: 12px 14px !important;
  display: block !important;
  flex-direction: initial !important;
  background: #fff !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
}
.entry-card-wrap:not(:first-child) .entry-card-title,
.entry-card-wrap:not(:first-child) .card-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: #222 !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  height: auto !important;
  max-height: 2.9em !important;
  position: static !important;
  top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
  text-shadow: none !important;
}
.entry-card-wrap:not(:first-child) .entry-card-title a {
  color: #222 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.entry-card-wrap:not(:first-child) .entry-card-snippet,
.entry-card-wrap:not(:first-child) .card-snippet {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #666 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.entry-card-wrap:not(:first-child) .entry-card-meta,
.entry-card-wrap:not(:first-child) .card-meta {
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: #999 !important;
  margin-top: 8px !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: auto !important;
  position: static !important;
  top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
}

/* カテゴリラベル (通常カード: 左上) */
.entry-card-wrap:not(:first-child) .cat-label {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  bottom: auto !important;
  display: inline-block !important;
  background: rgba(214, 48, 49, 0.95) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
}

/* HOT バッジは先頭 2～4 枚のみ */
.entry-card-wrap:nth-child(n+2):nth-child(-n+4) .entry-card-thumb::after {
  content: "HOT" !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  background: #ff7f50 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 6px !important;
  border-radius: 12px !important;
  z-index: 3 !important;
  line-height: 1.4 !important;
  width: auto !important;
  height: auto !important;
}
.entry-card-wrap:nth-child(n+5) .entry-card-thumb::after {
  content: none !important;
  display: none !important;
}
.entry-card-wrap:nth-child(n+5) .new-entry-label {
  display: none !important;
}

/* ========== [7] サイドバー ========== */
.sidebar .widget, #sidebar .widget {
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
  max-width: 100% !important;
}
.sidebar .widget h3,
.sidebar .widget .widget-sidebar-scroll-title,
.sidebar .widget-title {
  background: linear-gradient(90deg, #d63031 0%, #e55a3c 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
}
.sidebar .widget > *:not(h3):not(.widget-sidebar-scroll-title) {
  padding: 10px 14px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #222 !important;
}

/* ========== [8] フッター ========== */
.footer, #footer {
  background: #1a1a1a !important;
  color: #888 !important;
  text-align: center !important;
  padding: 24px !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  margin-top: 40px !important;
  border-top: none !important;
  max-width: none !important;
  width: 100% !important;
}
.footer a, #footer a { color: #ccc !important; }

/* =========================================================
   ゲームそくほ v13 - 微修正 (v12 で誤って隠したナビラベル復活)
   ---
   v12 で .header-container-in .caption-wrap を子孫セレクタで
   display:none にしたため、nav > ul > li > a > div.caption-wrap >
   div.item-label も消えて、メニュー項目が 36x20 の空ボックス化。
   ---
   v13 方針:
   ・caption-wrap の非表示は .header-container-in の「直接の子」だけに
   ・nav 内の caption-wrap / item-label は明示的に表示＋サイズ回復
   ・ヘッダー右側の残余 caption-wrap (検索etc) はそのまま非表示
   ・ついでに header の min-height と padding を絞って 80px に近づける
   ========================================================= */

/* [V13-A] v12 の過剰非表示を解除 */
nav.navi .caption-wrap,
#navi .caption-wrap,
.navi-in .caption-wrap,
#navi-in .caption-wrap {
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  color: inherit !important;
  position: static !important;
}
nav.navi .item-label,
#navi .item-label,
.navi-in .item-label,
#navi-in .item-label {
  display: inline !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  white-space: nowrap !important;
  background: transparent !important;
}

/* [V13-B] ヘッダー直下の caption-wrap だけ非表示 (v12 の descendant 版を打ち消す) */
.header-container-in .caption-wrap {
  /* 一旦 display を初期化 (継承で nav も display:none になっていたため) */
  display: revert;
}
/* 再度ヘッダー直下の caption-wrap のみ非表示 (direct child 限定) */
.header-container-in > .caption-wrap,
.header-container-in > header > .caption-wrap,
.header-in > .caption-wrap {
  display: none !important;
}

/* [V13-C] nav link padding/size を確実に */
#navi .menu-header > li > a,
#navi .menu-header > li.menu-item > a,
.navi-in .menu-pc > li > a,
.navi-in ul > li.menu-item > a {
  display: flex !important;
  align-items: center !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #fff !important;
  background: transparent !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  white-space: nowrap !important;
}
/* current-menu-item の赤背景は先頭だけ目立ちすぎ、ホバー色に統一 */
#navi .menu-header > li.current-menu-item > a,
.navi-in .menu-pc > li.current-menu-item > a {
  background: #d63031 !important;
  color: #fff !important;
}

/* [V13-D] ヘッダー本体を 80px 前後に：内側 caption-wrap を隠したので
           既に 150px→短くなるはずだが念のため max-height */
.header-container-in {
  min-height: 0 !important;
  padding: 0 !important;
}
header.header.cf {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}
.header-in {
  min-height: 52px !important;
  padding: 14px 16px !important;
}

/* [V13-E] ヒーロー hero-cat の width 超過防止 (right: auto を固定) */
#list > .entry-card-wrap:first-child .cat-label,
.ect-3-columns > .entry-card-wrap:first-child .cat-label,
.ect-2-columns > .entry-card-wrap:first-child .cat-label {
  right: auto !important;
  width: auto !important;
  max-width: max-content !important;
}

/* [V13-F] 通常カードの flex → block 化 (Cocoon 既定 display:flex flex-direction:column を打ち消す) */
.entry-card-wrap, a.entry-card-wrap, a.a-wrap,
#list > .entry-card-wrap, #list > a.entry-card-wrap {
  display: block !important;
  flex-direction: row !important;
}
/* border-radius 8px / border 0 の再確認 */
.entry-card-wrap, a.entry-card-wrap {
  border: none !important;
  border-width: 0 !important;
  border-radius: 8px !important;
}
/* =========================================================
   ゲームそくほ v14 - モックB忠実化（赤線位置 / フッター全幅 / 余白調整）
   ---
   修正点:
   [A] 赤4pxラインを .header-container → .header-in に移動
       （mock では "logo 白背景 | 赤4px | 黒ナビ | (線なし)" の順）
   [B] .navi をフル幅（1440）にスパン（背景黒の見え方を統一）
   [C] フッターを 1440 全幅に（背景黒）、中身は 1100 に centered
   [D] 孤立 .navi-footer を非表示
   [E] entry-card-wrap の border-radius を 8px で確定（既にOK）
   [F] header-container-in の上下 padding を 0 に（ヘッダー全高圧縮）
   ========================================================= */

/* [V14-A] 赤4pxラインを header-in 直下へ移動 */
.header-container {
  border-bottom: 0 !important;
}
.header-in {
  border-bottom: 4px solid #d63031 !important;
}

/* [V14-B] ナビをフル幅に：背景だけ viewport 端まで伸ばす */
/* 既存 .navi は 1068px (wrap) なので、疑似要素で背景を拡張するより
   box-shadow で左右に黒を延伸するのが副作用が少ない */
.navi,
#navi {
  background: #1a1a1a !important;
  box-shadow:
    -9999px 0 0 #1a1a1a,
    9999px 0 0 #1a1a1a !important;
  position: relative !important;
  z-index: 1 !important;
}

/* [V14-C] フッター全幅化 */
#footer,
.footer {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(-50vw + 50%) !important;
  padding-left: calc(50vw - 50%) !important;
  padding-right: calc(50vw - 50%) !important;
  background: #1a1a1a !important;
}
/* 内側は 1100 に収める */
.footer-in,
.footer-bottom {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
}

/* [V14-D] 孤立 .navi-footer（x=1109, h=0）を完全非表示 */
.navi-footer {
  display: none !important;
}

/* [V14-E] 念のため entry-card-wrap の border-radius を 8px に固定 */
.entry-card-wrap,
a.entry-card-wrap,
#list > a.entry-card-wrap,
#list > .entry-card-wrap {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* [V14-F] header-container-in の padding を 0 に（全高圧縮） */
.header-container-in {
  padding: 0 !important;
  min-height: 0 !important;
}
/* header-in 側の padding だけで間隔を取る */
.header-in {
  padding: 12px 16px !important;
  min-height: 0 !important;
}
/* .navi の上マージンも削除 */
.navi,
#navi {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* [V14-G] ナビ行の高さを 44px 程度に圧縮 */
.navi-in > ul,
#navi-in > ul,
#navi .menu-header,
.navi-in .menu-pc {
  min-height: 44px !important;
}
#navi .menu-header > li > a,
.navi-in .menu-pc > li > a {
  padding: 12px 18px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* [V14-H] container / content の max-width を 1100 維持（中央） */
/* mock のフッターだけ全幅、コンテンツは 1100 が想定 */
#container {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* =========================================================
   ゲームそくほ v15 - 特異性(specificity)修正
   ---
   v14 の .header-in パディング/ボーダー指定が、v12 の
   `.header-in, header .header-in` ルール (特異性 0,1,1) に負けて
   無効化されていた。v15 では同等以上の特異性で上書きする。
   ========================================================= */

/* [V15-A] header-in の padding / border-bottom を確実に上書き */
body header .header-in,
body .header-container-in .header-in,
#container header .header-in {
  padding: 12px 16px !important;
  min-height: 0 !important;
  border-bottom: 4px solid #d63031 !important;
  box-sizing: border-box !important;
}

/* [V15-B] header-container-in の padding を 0 に（特異性 boost） */
body .header-container .header-container-in,
#container .header-container-in {
  padding: 0 !important;
  min-height: 0 !important;
}

/* [V15-C] navi 行の高さ圧縮（特異性 boost） */
body #navi .menu-header > li > a,
body .navi-in .menu-pc > li > a {
  padding: 10px 18px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
body #navi,
body .navi {
  min-height: 44px !important;
}
body #navi-in,
body .navi-in {
  min-height: 44px !important;
}
/* =========================================================
   ゲームそくほ v16 - ナビ行 60px→44px 圧縮
   ---
   原因: ブラウザが <li>/<a> の natural height を 60px に膨らませて
   いる（おそらく古い Cocoon base CSS に残る height もしくは flex の
   align-items 相互作用）。明示的に height を 44px に固定する。
   ========================================================= */

body #navi,
body .navi {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  line-height: 1 !important;
}
body #navi-in,
body .navi-in {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 16px !important;
}
body #navi .menu-header,
body .navi-in .menu-pc,
body #navi-in > ul,
body .navi-in > ul {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  align-items: center !important;
}
body #navi .menu-header > li,
body .navi-in .menu-pc > li,
body .navi-in > ul > li {
  height: 44px !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
}
body #navi .menu-header > li > a,
body .navi-in .menu-pc > li > a,
body .navi-in > ul > li > a {
  height: 44px !important;
  min-height: 0 !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  line-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  color: #fff !important;
}
body #navi .menu-header > li > a > .caption-wrap,
body .navi-in .menu-pc > li > a > .caption-wrap {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}
body #navi .menu-header > li > a .item-label,
body .navi-in .menu-pc > li > a .item-label {
  line-height: 1 !important;
  display: inline-block !important;
}
/* =========================================================
   ゲームそくほ v17 - 翔貴さん指摘 6 件の根治 patch
   ---
   [1] ヘッダー: "ゲームそくほ" と "GAME" の間の赤矩形
       = h1.logo-header::after と a::after の両方で GAME バッジが
       二重発火していた。h1 側の ::after を殺す。
   [2] ヒーロー: TRENDING 位置 + タイトル二重表示
       = figure.entry-card-thumb 内の .cat-label が記事タイトル相当の
       polluted category 名を表示していた。サムネ上のラベルを隠す。
       TRENDING バッジは .entry-card-content 直下に移動。
   [3] 週間ランキング: 2,4,6,8... の偶数問題
       = counter-increment: gs-rank が 2 ルールで二重発火。
       古い方（.gs-ranking .wp-block-latest-posts li::before）を無効化。
   [4] ページネーション: 1,2,…,1,〼 表示
       = .pagination-next（冗長）と、.fa-angle-right（フォント読込失敗で
       〼 化）の合成。.pagination-next を隠し、.fa アイコンをテキスト矢印化。
   [5] フッター: モックB デザインとの差異
       = footer-bottom-logo を隠し、copyright を中央寄せ、
       引用元テキストを追加。
   [6] Discord: URL 未設定（別作業。CSS では未対応）。
   ========================================================= */

/* ==================== [V17-1] ヘッダー GAME バッジ重複 ==================== */
/* h1.logo-header::after を完全に殺す (anchor::after 側だけ残す) */
.logo-header::after,
.logo.logo-header::after,
.header-in .logo-header::after,
body .logo-header::after {
  content: none !important;
  display: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ==================== [V17-2] ヒーロー cat-label 誤表示 ==================== */
/* figure の中の .cat-label は Cocoon が "category name" として出すが、
   import 時のカテゴリ汚染で記事タイトルが入っているため完全に隠す。
   meta エリアの .entry-category は残す（そちらは短いカテゴリ名）。 */
figure.entry-card-thumb .cat-label,
.entry-card-thumb > .cat-label,
figure.card-thumb .cat-label {
  display: none !important;
}

/* ヒーロー（1枚目）の TRENDING バッジは .cat-label として出している
   仕組みのため、代替として 1枚目のサムネに擬似 "TRENDING" を絶対配置 */
#list > .entry-card-wrap:first-child figure.entry-card-thumb::before,
.ect-3-columns > .entry-card-wrap:first-child figure.entry-card-thumb::before,
.ect-2-columns > .entry-card-wrap:first-child figure.entry-card-thumb::before {
  content: "🔥 TRENDING";
  position: absolute;
  top: 16px;
  left: 16px;
  background: #d63031;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 3px;
  letter-spacing: .08em;
  z-index: 2;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
#list > .entry-card-wrap:first-child figure.entry-card-thumb,
.ect-3-columns > .entry-card-wrap:first-child figure.entry-card-thumb {
  position: relative !important;
}

/* ==================== [V17-3] 週間ランキング 2,4,6,8 問題 ==================== */
/* 旧セレクタでの counter-increment を明示的に 0 に上書き（増分停止） */
.gs-ranking .wp-block-latest-posts li::before,
.gs-ranking .wp-block-latest-posts > li::before,
.widget .gs-ranking .wp-block-latest-posts li::before {
  counter-increment: none !important;
}
/* 正式セレクタだけをカウント対象に */
.gs-ranking .wp-block-latest-posts__list {
  counter-reset: gs-rank 0 !important;
}
.gs-ranking .wp-block-latest-posts__list > li {
  counter-increment: gs-rank !important;
}
.gs-ranking .wp-block-latest-posts__list > li::before {
  content: counter(gs-rank) !important;
}

/* ==================== [V17-4] ページネーション 1,2,…,1,〼 ==================== */
/* (a) .pagination-next （「次のページ」ボタン）は .pagination に包含されるので非表示 */
.pagination-next,
#main > .pagination-next,
article + .pagination-next {
  display: none !important;
}
/* (b) .fa-angle-right がフォント読込失敗で 〼 化する → テキスト矢印で確実に描画 */
.pagination .next.page-numbers .fa,
.pagination .next.page-numbers .fa-angle-right,
.pagination .prev.page-numbers .fa,
.pagination .prev.page-numbers .fa-angle-left {
  display: none !important;
}
.pagination .next.page-numbers::after {
  content: "›" !important;
  font-family: "Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.pagination .prev.page-numbers::before {
  content: "‹" !important;
  font-family: "Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
/* スクリーンリーダーテキスト（"次へ"）を視覚非表示 */
.pagination .screen-reader-text,
.pagination-next .screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
/* ページ番号間の隙間を確保（11 が "1 1" に見えないように） */
.pagination .page-numbers {
  margin: 0 4px !important;
  padding: 6px 12px !important;
  min-width: 32px !important;
  text-align: center !important;
  border-radius: 4px !important;
  display: inline-block !important;
}

/* ==================== [V17-5] フッター モック忠実化 ==================== */
/* ロゴを隠し、コピーライト行を中央寄せ一本化 */
.footer-bottom-logo,
.footer-bottom .logo-footer,
.footer-bottom .logo.logo-footer {
  display: none !important;
}
.footer-bottom {
  display: block !important;
  text-align: center !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.footer-bottom-content {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
}
.source-org.copyright {
  text-align: center !important;
  color: #888 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}
/* 引用元表記を擬似要素で追加（WP 本文を触らずに mock に合わせる） */
.source-org.copyright::after {
  content: " ／ 引用元: 5ちゃんねる（2ch.sc）";
  color: #888 !important;
}
/* 空の navi-footer を非表示 (v14 で既に対応済みだが念のため) */
#navi-footer,
.navi-footer {
  display: none !important;
}
/* =========================================================
   ゲームそくほ v18 - v17 QA で発覚したバグの修正
   ---
   [1] GAME バッジ文字「GAME」が赤赤同色で不可視
       = 親アンカーに -webkit-text-fill-color: #d63031 が当たっており、
         ::after の color: #fff を上回っている。
       → ::after に -webkit-text-fill-color: #fff を明示。
   [2] copyright 引用元追加の重複保険
       = v17 ::after が複製されないよう specificity 補強。
   ========================================================= */

/* [V18-1] GAME バッジ文字を確実に白で描画 */
.site-name-text a::after,
.site-name-text-link::after,
#site-name a::after,
.logo-header a::after,
.logo-text a::after,
body .site-name-text-link::after,
body .logo-header a::after {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
}

/* [V18-2] copyright ::after の specificity 強化 & 重複防止 */
body .footer .source-org.copyright::after,
body .footer-bottom .source-org.copyright::after,
#footer .source-org.copyright::after {
  content: " ／ 引用元: 5ちゃんねる（2ch.sc）" !important;
  color: #888 !important;
  -webkit-text-fill-color: #888 !important;
}
/* =========================================================
   ゲームそくほ v19 - Sprint 04 #24 TRENDING バグ根治
   ---
   [1] ヒーローカードの cat-label が v17-2 で非表示にできていなかった
       = v17-2: .cat-label (0,1,0) が既存の
         #list > .entry-card-wrap:first-child .cat-label (1,1,1) に
         specificity 負けし、display:inline-block が勝っていた。
       → body 付け + figure 子孫指定で 1,2,2 に引き上げ。

   [2] TRENDING ::before が縦に 220px まで伸びて巨大赤矩形化
       = line 1552 の旧 TRENDING ::before が bottom: 70px を指定、
         v17-2 の top: 16px と同時適用で height が auto 解決で
         「ヒーロー縦サイズ - 16 - 70」に引き伸ばされていた。
       → bottom/height/width を明示して badge サイズに固定。

   [3] タイトル文字の重複・途切れ
       = 巨大赤矩形が H2 タイトルの左側を覆い、後半のみ露出して
         二重表示に見えていた。[1][2] 解消により連動解決する
         (視認済み: rect 計算より title 全域 696px は赤矩形の右側に出る)。
   ========================================================= */

/* [V19-1] ヒーロー cat-label を確実に非表示 (specificity 1,2,2) */
body #list > .entry-card-wrap:first-child .cat-label,
body .ect-3-columns > .entry-card-wrap:first-child .cat-label,
body .ect-2-columns > .entry-card-wrap:first-child .cat-label,
body #list > .entry-card-wrap:first-child figure .cat-label,
body #list > .entry-card-wrap:first-child .entry-card-thumb .cat-label,
body .ect-3-columns > .entry-card-wrap:first-child figure .cat-label,
body .ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb .cat-label {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* [V19-2] TRENDING ::before を badge サイズにロック
   - bottom / height / width を明示し、text 長ぴったりに固定
   - 競合する .ect-3-columns > ... .entry-card-thumb::before (line 1552) と
     #list > .entry-card-wrap:first-child figure.entry-card-thumb::before (v17-2)
     どちらに対しても specificity 同等以上 + 明示リセット */
#list > .entry-card-wrap:first-child figure.entry-card-thumb::before,
#list > .entry-card-wrap:first-child .entry-card-thumb::before,
.ect-3-columns > .entry-card-wrap:first-child figure.entry-card-thumb::before,
.ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::before,
.ect-2-columns > .entry-card-wrap:first-child figure.entry-card-thumb::before,
.ect-2-columns > .entry-card-wrap:first-child .entry-card-thumb::before,
body #list > .entry-card-wrap:first-child .entry-card-thumb::before,
body .ect-3-columns > .entry-card-wrap:first-child .entry-card-thumb::before {
  content: "🔥 TRENDING" !important;
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1.4 !important;
  background: #d63031 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.3) !important;
  z-index: 3 !important;
  white-space: nowrap !important;
  display: inline-block !important;
  box-sizing: content-box !important;
  animation: none !important; /* .entry-card-wrap:first-child::before の gs-pulse と混同されないように */
}

/* [V19-3] .entry-card-wrap:first-child::before (wrap 側の重複 TRENDING) を抑止
   (thumb 側の badge だけ残す) */
#list > .entry-card-wrap:first-child::before,
.ect-3-columns > .entry-card-wrap:first-child::before,
.ect-2-columns > .entry-card-wrap:first-child::before {
  content: none !important;
  display: none !important;
}

/* ============================================================
   Sprint06 #42 本文内埋込み (embed-image / embed-youtube / twitter-tweet)
   ============================================================ */
.matome-wrap .embed-image {
  margin: 14px 0;
  text-align: center;
}
.matome-wrap .embed-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
  background: #f5f5f5;
}
.matome-wrap .embed-youtube {
  margin: 14px 0;
  position: relative;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.matome-wrap .embed-youtube iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.matome-wrap blockquote.twitter-tweet {
  margin: 14px auto !important;
  max-width: 550px !important;
}
/* レス内の画像は少し小さめに */
.matome-wrap .res .embed-image img {
  max-width: 420px;
}
@media (max-width: 640px) {
  .matome-wrap .res .embed-image img { max-width: 100%; }
}
