@charset "UTF-8";

/*!
Theme Name: Simplicity2 child
Template:   simplicity2
Version:    20260510b
*/

/* Simplicity子テーマ用のスタイルを書く */


/* =============================================================================
   2026-11-07 リデザイン: デザイントークン（20261107_ファミコンターミナル再デザイン/実装指示書.md 1章）
   このファイルは WP 側と fc-ranking/lib/header.inc の両方から読まれるので、ここが全サイト共通の置き場。
   ステップ1では定義だけ（どこからも参照していない）。
   ※ 線と角丸は --fc-line-base / --fc-radius-md という名前にしてある。--fc-line / --fc-radius は
     後段「カタログのデザイン改善（案B）」節と fc-rank.css が別の値で使っていて、後から読まれる側が勝つため。
     旧名はカタログ・ランキング側を新トークンへ移すステップで片づける。
   ============================================================================= */
:root{
  /* 地と面 */
  --fc-paper:        #F6F2E9;  /* ページの地 */
  --fc-paper-2:      #EFE9DC;  /* セクションの帯 */
  --fc-card:         #FFFFFF;
  --fc-card-2:       #FAF8F3;  /* カード内の沈めた面 */
  --fc-line-base:    #DED6C6;  /* --fc-line は旧カタログ節が使用中のため別名 */
  --fc-line-2:       #EFE9DC;  /* カード内の細い区切り */
  --fc-border-input: #C9BFAC;

  /* 文字 */
  --fc-ink:          #211D1A;  /* 本文・見出し */
  --fc-ink-sub:      #574F47;  /* 補足（生成り地に 7.2:1） */

  /* 暗部（ヘッダー・ゲーム画面） */
  --fc-ink-bg:       #1C1815;
  --fc-ink-bg-2:     #272120;  /* 暗部の入力欄 */
  --fc-ink-border:   #3A322C;
  --fc-on-ink:       #F6F2E9;
  --fc-on-ink-sub:   #D3C9BC;
  --fc-on-ink-mute:  #B6ABA0;

  /* アクセント（2色のみ） */
  --fc-crimson:      #A3282E;  /* 主アクセント（地に 6.5:1） */
  --fc-crimson-deep: #7E1E24;  /* hover */
  --fc-gold:         #8A5E12;  /* 金・文字用（地に 5.1:1） */
  --fc-gold-fill:    #C9922B;  /* 金・塗り用（文字には使わない） */
  --fc-gold-bg:      #F3EADB;  /* 金のバッジ地 */
  --fc-gold-on-ink:  #E2B45C;  /* 暗部に載せる金 */

  /* 書体（読み込みは functions.php と fc-ranking/lib/header.inc） */
  --fc-font-ui:    'Zen Kaku Gothic New','Hiragino Sans','Noto Sans JP',sans-serif;
  --fc-font-num:   'Roboto Mono',ui-monospace,monospace;
  --fc-font-pixel: 'DotGothic16',monospace;

  /* 文字サイズ */
  --fc-fs-h1:    54px;
  --fc-fs-h1-sub:40px;  /* 詳細ページの H1 */
  --fc-fs-h2:    32px;
  --fc-fs-h3:    24px;
  --fc-fs-h4:    20px;
  --fc-fs-lead:  17px;
  --fc-fs-body:  16px;
  --fc-fs-meta:  14px;
  --fc-fs-note:  13px;  /* これが下限。これ未満を作らない */

  /* 余白（内側ほど狭く、外側ほど広く） */
  --fc-sp-1: 6px;   /* 行間の微調整 */
  --fc-sp-2: 10px;  /* 文字のかたまりの中 */
  --fc-sp-3: 16px;  /* 小さな要素どうし */
  --fc-sp-4: 24px;  /* カードの内側 */
  --fc-sp-5: 32px;  /* カードどうし */
  --fc-sp-6: 48px;  /* 列どうし */
  --fc-sp-7: 56px;  /* ブロックの間 */
  --fc-sp-8: 80px;  /* セクションの間 */

  --fc-tap: 48px;        /* タップ領域の最小 */
  --fc-radius-md: 4px;   /* --fc-radius は旧カタログ節(6px)と fc-rank.css(4px) が使用中のため別名 */
  --fc-radius-sm: 2px;
}

/* スマホ: 親テーマ simplicity2/responsive.css の (max-width:740px) に合わせる（指示書の 834px は暫定値だったため） */
@media screen and (max-width: 740px){
  :root{
    --fc-fs-h1: 28px;
    --fc-fs-h1-sub: 26px;
    --fc-fs-h2: 21px;
    --fc-fs-h3: 19px;
    --fc-fs-lead: 16px;
    --fc-sp-8: 48px;
    --fc-sp-7: 32px;
  }
}


/* base */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

#searchform{
	margin: 0px;
}
#s{
	/*margin: 0px;*/
}


#navi ul{
	border-radius: 0px;
}
#main{
	border-radius: 0px;
}
#sidebar .widget{
	margin-bottom:10px;
	padding:10px;
	background-color: transparent;
	border-bottom: none;
}

/* h2: モックに合わせて burgundy はボーダーのみに使い、文字色はダークグレー（ステップ8: 色を新トークンに） */
.article h2{
	color: var(--fc-ink);
	border: none;
	border-left: 4px solid var(--fc-crimson);
	padding: .1em .8em;
	margin: 1.6em 0 .8em;
	font-weight: 600;
}
/* h2 内のリンク: 見た目は h2 と同色 (#333)、hover で burgundy + 下線 */
.article h2 a{
	color: var(--fc-ink) !important;
	text-decoration: none;
}
.article h2 a:hover{
	color: var(--fc-crimson) !important;
	text-decoration: underline;
}


#sidebar h3{
	margin-top: 0px;
	color: #fff;
}

#sidebar a{
	color: #fff;
}
#sidebar a:hover{
	color: #fff;
	background-color: #a85253;
}


div.menu{
	/* モック準拠: フッターメニューの点線を排除 */
	border-top: none;
}

/* 旧フッターメニュー（#footer-navi）の折り返し調整: 2026-11-07 リデザイン ステップ2 でフッターを作り直したため削除 */

header .post-meta{
	padding: 5px;
	margin-bottom: 30px;
}

.entry .post-meta{
	padding: 3px;
	border-bottom: none;
}

/* 投稿日 / 更新日 を全ページで非表示 */
.post-meta .post-date,
.post-meta .post-update,
header .post-meta,
.footer-post-meta{
	display: none !important;
}
#h-top{
	min-height: 0px;
}

/* 旧フッター（赤帯・中央寄せメニュー・灰色のディスクレイマー帯）: 2026-11-07 リデザイン ステップ2 で末尾の節に置き換えた */

#main .post, #main .page{
	margin-bottom:10px;
}

#header .alignleft{
	margin-left: 0px;
}

/* base */

.linkblock,
.linkblock-r,
.linkblock-c
{
	position: relative;
	display: block;
	padding: 15px 10px;
	text-decoration: none;
}
.linkblock-c{
	border: solid 1px #ccc;
}
.linkblock-r{
	border: dotted 1px #a9171d;
	color: #a9171d;
}
.linkblock-r:hover{
	background-color: #a85253;
	color: #fff;
}


.right-arrow:after{
	/*font-family: 'Font Awesome 5 Free';*/
	font-family: 'FontAwesome';
	content: "\f054";
	/*font-weight: 900;*/
	position: absolute;
	right: 15px;
}

/* 旧ドット字 fcf（サイト名用。後段で上書きされ実際には未使用だった）: 2026-11-07 リデザイン ステップ2 で削除。ロゴは DotGothic16 */

/* h1: burgundy はボーダーのみに使い、文字色は #333 (モック整合) */
.article h1{
	border-top: solid 3px #a9171d;
	border-bottom: solid 3px #a9171d;
	padding: 15px 0px;
	color: #333;
}
a img:hover {
	opacity: 0.5 ;
}


@media screen and (max-width: 1110px){
	div#sidebar {
		padding: 0px 10px;
	}
}


@media screen and (max-width: 639px){
	.entry-read a, .related-entry-read a {
		border-radius: 0px;
	}
}

/* =============================================================================
   2026-05-09 デザイン整理: モック [c:\tmp\fcrank_mockup.html] と一致させる
   - 赤バー右上の RSS/Feedly アイコンをサイト全体で非表示
   - 右サイドバーを「メインコンテンツ下段」に移動 (横並び 2 カラム → 縦並び)
   ============================================================================= */

/* body 背景: WP カスタマイザーの朱色 (#a9171d) を打ち消し、
   メインコンテンツ以外の余白も light gray にしてモックと整合 */
body,
body.custom-background{
	background-color: var(--fc-paper) !important;   /* 2026-11-07 リデザイン ステップ8: 旧 #f7f7f7 */
}

/* wrapper centering — WP top と /fc-ranking/ で同じ動きにする
   親の responsive-pc.css が @media (max-width:1110px) で width: 740px に縮小するので、
   ここで !important で 1070px に揃え直す */
#header-in, #navi-in, #body-in, #footer-in,
div#header-in, div#navi-in, div#body-in, div#footer-in{
	width: 1070px !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	box-sizing: border-box;
}

/* 旧ヘッダー（赤帯・絶対配置）とサブナビ（白）: 2026-11-07 リデザイン ステップ2 で末尾の節に置き換えた */

/* RSS / Feedly / SNS フォローボックスをサイト全体で非表示
   - 赤バー右上 (#h-top .top-sns-follows)
   - サイドバー / 他ウィジェットエリアの「フォローする」ボックス (.sns-pages, .sns-follow-msg, ul.snsp 等)  */
#h-top .alignright.top-sns-follows,
#h-top .top-sns-follows,
.top-sns-follows,
.sns-pages,
.sns-follow-msg,
ul.snsp,
.sns-follow-buttons,
.sns-follows{
	display: none !important;
}

/* カテゴリーウィジェットをサイドバーから非表示 (お知らせのみで利用価値が薄いため) */
#categories-2,
.widget_categories{
	display: none !important;
}

/* タイトル画像 (256x224 ピクセルアート) を拡大表示してもぼやけないように
   ピクセル境界を保ったままレンダリング。fc-db / nes-db 詳細ページの
   メインビューア + サムネ列、結果リストの thumb 等すべてに適用 */
#fc-disp img,
#fc-thum img,
.rlist img,
.fc-rank-card-thumb img,
.fc-rank-theme-card-thumb img,
.fc-rank-row-thumb img,
.fc-t-pop-thumb img,
.fc-t-today-thumb img,
.fc-rank-game-thumb img{
	image-rendering: pixelated;
	image-rendering: -moz-crisp-edges;
	image-rendering: crisp-edges;
}

/* サイドバーを main の右ではなく下段に移動 (デスクトップ含めサイト全体) */
#body-in{
	display: block;
}
#main, #main-in{
	width: 100% !important;
	float: none !important;
	max-width: 1070px;
	margin-left: auto;
	margin-right: auto;
}
#sidebar{
	width: 100% !important;
	float: none !important;
	clear: both;
	max-width: 1070px;
	margin: 2em auto 0;
	padding: 1em;
	background: transparent;   /* ステップ8: 旧 #F7F7F7（ページの地と同じにする） */
	border-top: none;
	box-sizing: border-box;
}
/* sidebar の widget レイアウト
   - widget は左寄せで縦に積む (Simplicity2 親のデフォルトと同じ)
   - 以前 grid 横並びを試したが、AdSense widget が空のとき grid セルが
     残って recent-posts widget が中央に寄る違和感が出たため廃止 (2026-05-10) */
#sidebar .widget{
	background: transparent !important;
	margin-bottom: 1.2em;
	padding: 0;
}
/* 日本語タイトルが mid-word で折り返されないよう抑止。
   widget 幅が確保できない極端な場合は最終手段で word-break される */
#sidebar .widget li,
#sidebar .widget li a{
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.7;
}
#sidebar .widget h3{
	color: var(--fc-ink) !important;
	background: transparent;
	border-bottom: none;
	padding: 0;
	margin: 0 0 .5em;
	font-size: 1em;
}
#sidebar a{
	color: var(--fc-crimson) !important;   /* ステップ8: 旧 #2098A8 */
}
#sidebar a:hover{
	color: var(--fc-crimson-deep) !important;
	background-color: transparent !important;
}

/* 印刷用: コンテンツ本体だけ印刷できるよう、ナビ・サイドバー・SNS は非表示に */
@media print {
	#h-top,
	#navi-in,
	#sidebar,
	#footer,
	.fc-rank-toast,
	.fc-rank-social,
	.fc-rank-fav-wrap {
		display: none !important;
	}
	body { background: #fff !important; color: #000 !important; }
	#main { width: 100% !important; max-width: none !important; }
	a { color: #000 !important; text-decoration: underline; }
}

/* breakpoint メモ:
   - 720px: 主たるモバイル (タブレット縦/フォン横含む) - fc-rank.css と統一
   - 540px: スモールフォン (Samsung Galaxy 等) のみのレイアウト微調整
   既存の 639px / 1110px は Simplicity2 親テーマの古い breakpoint で、
   個別 element 用 (sidebar padding 等) なので統一せずそのまま残す */

/* =============================================================================
   kdtk-fcsearch (FC ソフトカタログ・ドリルダウン UI) の見た目を整える
   - プラグインファイルは触らず子テーマからの override で完結
   - kdtk-fcsearch.php は inline <style> をボディ内で出力するため、
     特異性を body プレフィックスで上げて cascade を勝たせる
   - 配色は Simplicity2 の burgundy #a9171d / hover #a85253 と一致済み
   - 残課題は radius / 余白 / クラッシュする青色アクセントの 3 点
   ============================================================================= */

/* [stFcCatalogCards]（旧: 3 枚カード + select ドロップダウン）: 2026-11-07 リデザイン ステップ5 で件数つきチップ・行のリストに作り替え、末尾の「リデザイン ステップ5」節へ移した */

/* slist 手風琴: 2026-11-06 に「カタログのデザイン改善」節（ファイル末尾）へ移した */

/* 結果リスト (.rlist)・YouTube バッジ: 2026-11-06 に「カタログのデザイン改善」節（ファイル末尾）へ移した */

/* 詳細ページ画像選択時の inline JS による赤 border を burgundy に上書き */
body #fc-thum-over img{
	transition: border-bottom-color .1s;
}
body #fc-thum-over img[style*="border-bottom"]{
	border-bottom-color: #a9171d !important;
}

/* 詳細ページの主要メタ列（ul.detail-info）: 2026-11-06 に表組み（.fc-spec・ファイル末尾）へ変更 */
/* h-tag 内の罫線も無効化（rlist のカード枠は末尾の節で指定） */
body .article h3,
body .article h4,
body .article h5{
	border-bottom: none !important;
	border-top: none !important;
}

/* 旧スマホヘッダーの重なり修正（2026-05-09）: 2026-11-07 リデザイン ステップ2 で末尾の節に置き換えた */

/* =============================================================================
   2026-06-22 可読性: カタログの行間に余白を持たせる
   テーマ標準の line-height 1.2 が詰まって見えるため、本文コンテンツ(#main)の行間を広げる。
   記事本文(.article p)は別途 1.7 済みで影響なし。カタログ詳細/一覧の発売日・メーカー・
   各種ボタン行はインライン line-height:120% を持つため、#main 配下に限定して上書きする。
   ============================================================================= */
#main{ line-height: 1.7; }
#main li,
#main td{ line-height: 1.7; }
#main .fc-title{ line-height: 1.5 !important; margin-bottom: 6px !important; }
#main [style*="line-height:120%"]{ line-height: 1.6 !important; margin-bottom: 8px !important; }

/* =============================================================================
   2026-07-04 記事(投稿)テンプレの可読性改善
   - 本文列を読みやすい行長(約42字)に制限。single post のみ対象で、
     カタログ/固定ページ (body.page) には影響しない
   - 目次 (.fc-toc): functions.php の目次自動生成フィルタが挿入する
   - 記事用共通コンポーネント: .fc-note (注記box) / .fc-say (会話吹き出し) / 投稿内テーブル
   ============================================================================= */

/* 本文列の行長制限 (デスクトップで 1070px 幅いっぱいに広がるのを防ぐ) */
body.single-post .article{
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}

/* 目次 */
.fc-toc{
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: 4px;
	padding: 16px 20px;
	margin: 1.5em 0 2em;
}
.fc-toc-title{
	font-weight: 600;
	color: var(--fc-ink);
	margin: 0 0 .6em;
	font-size: 1em;
}
.fc-toc ol{
	margin: 0;
	padding-left: 1.4em;
}
.fc-toc li{
	margin: 0;   /* ステップ8: 項目のリンクを 48px の行にしたので間隔はリンク側で取る */
	line-height: 1.6;
}
.fc-toc a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-crimson);
	text-decoration: none;
}
.fc-toc a:hover{
	color: var(--fc-crimson-deep);
	text-decoration: underline;
}

/* 注記ボックス (「この記事について」等の前置き) */
.article .fc-note{
	background: var(--fc-card-2);
	border-left: 4px solid var(--fc-crimson);
	border-radius: 4px;
	padding: 14px 18px;
	margin: 0 0 2em;
	font-size: .95em;
}
.article .fc-note p{ margin: 0 0 .5em; }
.article .fc-note p:last-child{ margin-bottom: 0; }
.article .fc-note .fc-note-title{
	font-weight: 600;
	color: var(--fc-crimson);
}

/* 会話吹き出し (AI審査員シリーズの回答引用など)
   <div class="fc-say"><span class="fc-say-name">PLaMo</span>
     <div class="fc-say-body"><p>…</p></div></div>
   .fc-say-q を足すとこちら側の出題 (burgundy 淡色) */
.article .fc-say{
	margin: 1.2em 0;
}
.article .fc-say .fc-say-name{
	display: inline-block;
	font-size: .8em;
	font-weight: 600;
	color: var(--fc-ink-sub);
	margin: 0 0 4px 8px;
}
.article .fc-say .fc-say-body{
	background: var(--fc-paper-2);
	border-radius: 12px;
	padding: 12px 16px;
}
.article .fc-say .fc-say-body p{ margin: 0 0 .6em; }
.article .fc-say .fc-say-body p:last-child{ margin-bottom: 0; }
.article .fc-say.fc-say-q .fc-say-body{
	background: var(--fc-gold-bg);
}

/* 投稿内テーブル (判定表など)。カタログ側の表は single-post 外なので影響しない */
body.single-post .article table{
	width: 100%;
	border-collapse: collapse;
	font-size: .92em;
	margin: 1.2em 0;
}
body.single-post .article th,
body.single-post .article td{
	border: 1px solid var(--fc-line-base);
	padding: 8px 10px;
	line-height: 1.5;
}
body.single-post .article th{
	background: var(--fc-paper-2);
	font-weight: 600;
}

/* =============================================================================
   2026-11-06 カタログのデザイン改善（案B）
   - 対象: /fc-db/・/nes-db/ トップ（ボタン型リンク・人気40本・開閉式の枠）
   - 余白の段（内側ほど狭く外側ほど広く）: 要素間 8px ＜ まとまりの中 12px ＜ 枠の内側 16〜20px
   - 色: アクセント burgundy #a9171d、文字 #222/#333、補足 #777、線 #e3e3e3
   ============================================================================= */
:root{
	/* 2026-11-07 リデザイン ステップ8: 新トークンの参照に付け替え（旧 #a9171d / #faf3f3 / #e3e3e3 / #777。#777 は白地で 4.48:1 と基準に届かなかった） */
	--fc-accent: var(--fc-crimson);
	--fc-accent-weak: var(--fc-card-2);
	--fc-line: var(--fc-line-base);
	--fc-muted: var(--fc-ink-sub);
	--fc-s-line: 8px;
	--fc-s-inner: 12px;
	--fc-s-pad: 16px;
	--fc-radius: 6px;
}

/* ボタン型リンク（/fc-db/ の「〜から探す」）: <p class="fc-chips"><a>名前<span class="fc-chip-n">件数</span></a> … */
.article .fc-chips{
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-s-line);
	margin: 0 0 var(--fc-s-pad);
}
.article .fc-chips a{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: var(--fc-tap);   /* ステップ8: 旧 38px */
	padding: 7px 16px;
	border: 1px solid var(--fc-line);
	border-radius: 999px;
	background: var(--fc-card);
	color: var(--fc-ink);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: border-color .15s, color .15s, background-color .15s;
}
.article .fc-chips a:hover{
	border-color: var(--fc-accent);
	background: var(--fc-accent-weak);
	color: var(--fc-accent);
}
.article .fc-chips .fc-chip-n{
	font-size: var(--fc-fs-meta);   /* ステップ8: 旧 .8em（12.8px） */
	font-weight: normal;
	color: var(--fc-muted);
}

/* 人気40本（[stFcPopularList]）: 順位バッジ＋タイトル＋2行目に年・メーカー・本数 */
ol.fc-popular-list{
	list-style: none;
	counter-reset: fcrank;
	columns: 2;
	column-gap: 32px;
	margin: 0 0 var(--fc-s-pad);
	padding: 0;
	border-top: 1px solid var(--fc-line);
}
ol.fc-popular-list li{
	counter-increment: fcrank;
	break-inside: avoid;
	display: grid;
	grid-template-columns: 28px 1fr;
	column-gap: var(--fc-s-inner);
	align-items: center;
	padding: 10px 4px;
	margin: 0;
	border-bottom: 1px solid var(--fc-line);
	line-height: 1.5;
}
ol.fc-popular-list li::before{
	content: counter(fcrank);
	grid-row: 1 / span 2;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--fc-paper-2);
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-note);
	font-weight: 700;
	line-height: 28px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
ol.fc-popular-list li:nth-child(-n+3)::before{
	background: var(--fc-accent);
	color: #fff;
}
ol.fc-popular-list li a{
	margin: -12px 0;
	padding: 12px 0;   /* ステップ8: 1 行でも押せる高さを 48px 以上に（上下は負のマージンで相殺して行の高さは変えない） */
	color: var(--fc-ink);
	font-weight: 600;
	text-decoration: none;
}
ol.fc-popular-list li a:hover{
	color: var(--fc-accent);
	text-decoration: underline;
}
ol.fc-popular-list .fc-popular-meta{
	display: block;
	font-size: var(--fc-fs-meta);   /* ステップ8: 旧 .8em（12.8px） */
	color: var(--fc-muted);
	line-height: 1.4;
}
@media screen and (max-width: 639px){
	ol.fc-popular-list{ columns: 1; }
}

/* 開閉式の枠（[stFcSearchTop] の dl.slist）: 見出し行＋開くと項目が上と同じボタン型で並ぶ（50音だけ5列の表） */
body .slist{
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-s-line);
	margin: 0 0 var(--fc-s-line);
}
body .slist dt,
body .slist dd.list-close{
	flex: 0 0 100%;
}
body .slist dt{
	border: 1px solid var(--fc-line);
	border-radius: var(--fc-radius);
	padding: 14px 48px 14px 18px;
	font-size: 1em;
	font-weight: 600;
	background: #fff;
	color: #222;
	transition: border-color .15s, color .15s, background-color .15s;
}
body .slist dt:hover{
	border-color: var(--fc-accent);
	background: var(--fc-accent-weak);
	color: var(--fc-accent);
}
body .slist dd{
	float: none;
	width: auto;
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	text-align: left;
}
body .slist dd a{
	display: inline-flex;
	align-items: baseline;
	padding: 7px 14px !important;
	border: 1px solid var(--fc-line);
	border-radius: 999px;
	background: #fff;
	color: #222;
	line-height: 1.4;
	text-decoration: none;
	transition: border-color .15s, color .15s, background-color .15s;
}
body .slist dd a.right-arrow:after{
	content: none;
}
body .slist dd a:hover{
	border-color: var(--fc-accent);
	background: var(--fc-accent-weak);
	color: var(--fc-accent);
}
body .slist dd.list-close{
	padding: 4px;
	text-align: center;
	font-size: .85em;
	color: var(--fc-muted);
	cursor: pointer;
}
body .slist.j50{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 6px;
}
body .slist.j50 dt,
body .slist.j50 dd.list-close{
	grid-column: 1 / -1;
}
body .slist.j50 dd a{
	display: block;
	text-align: center;
	border-radius: var(--fc-radius);
}
body .slist.j50 dd.pad5{
	background: #f7f7f7 !important;
	border-radius: var(--fc-radius);
	color: #bbb;
	padding: 8px 0 !important;
	text-align: center;
}
body .slist.j50 dd.row_b_left{
	border-right: none;
}

/* --- 詳細ページ（[stFcDetail]）: 2026-11-07 リデザイン ステップ3 で 2 カラムに組み直したので、末尾の「リデザイン ステップ3」節へ移した --- */

/* --- 一覧のカード（ul.rlist）: 2026-11-07 リデザイン ステップ4 でカードを組み直したので、末尾の「リデザイン ステップ4」節へ移した --- */

/* =============================================================================
   2026-11-07 リデザイン ステップ2: ヘッダー / グローバルナビ / フッター
   （20261107_ファミコンターミナル再デザイン/実装指示書.md 4-1・4-5）
   - マークアップ: header.php / header-logo.php / navi.php / footer.php（子テーマ）と
     fc-ranking/lib/header.inc・footer.inc。スマホの開閉は js/fc-header.js
   - fc-rank.css は style.css より後に読まれ #h-top 系のルールを持つので、ここでは body を前に付けて詳細度で勝たせる
   - スマホの切り替えは他のトークンと同じ 740px
   ============================================================================= */

/* 画面には出さず読み上げにだけ出す */
.fc-vh{
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---- ヘッダー（濃い帯） ---- */
body #header,
body #header-in,
body #h-top{
	background: var(--fc-ink-bg);
}
body #h-top{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--fc-sp-4);
	min-height: 72px;
	height: auto;
	padding: 0 20px;
	overflow: visible;   /* 親テーマの overflow:hidden だと、スマホで下に開くパネルが切れる */
	color: var(--fc-on-ink);
	font-family: var(--fc-font-ui);
}
body #h-top .top-title-catchphrase{
	float: none;
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}
body #h-top #site-title{
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: 1;
}
body #h-top #site-title a.fc-logo{
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: var(--fc-tap);
	padding: 12px 0;
	color: var(--fc-on-ink);
	text-decoration: none;
}
body #h-top #site-title a.fc-logo:hover .fc-logo-name{ text-decoration: underline; }
body #h-top #site-description{ display: none; }

/* ロゴ（フッターでも使う） */
.fc-logo-badge{
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--fc-crimson);
	color: var(--fc-on-ink);
	font-family: var(--fc-font-pixel);
	font-size: 19px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 1;
	border-radius: var(--fc-radius-sm);
}
.fc-logo-text{
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.fc-logo-name{
	font-size: 21px;
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1.2;
	white-space: nowrap;
}
.fc-logo-en{
	font-family: var(--fc-font-pixel);
	font-size: var(--fc-fs-note);   /* 指示書は 12px だが、全ページ共通ルールの下限 13px を優先 */
	letter-spacing: .2em;
	line-height: 1;
	color: var(--fc-on-ink-mute);
	white-space: nowrap;
}

/* ヘッダー内の検索窓 */
body #h-top .fc-hdr-search{
	flex: 1 1 300px;     /* 1024px 幅でも 1 行に収まる基準幅。余れば 380px まで伸ばす */
	max-width: 380px;
	display: flex;
	gap: 10px;
	margin: 0 0 0 auto;
	padding: 10px 0;
}
body #h-top .fc-hdr-search input[type="search"]{
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--fc-ink-border);
	border-radius: 3px;
	background: var(--fc-ink-bg-2);
	color: var(--fc-on-ink);
	font-family: inherit;
	font-size: 16px;   /* iOS の自動ズーム防止を兼ねる */
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
body #h-top .fc-hdr-search input[type="search"]::placeholder{
	color: var(--fc-on-ink-mute);
	opacity: 1;
}
body #h-top .fc-hdr-search input[type="search"]:focus{
	outline: 2px solid var(--fc-gold-on-ink);
	outline-offset: 1px;
}
body #h-top .fc-hdr-search button{
	flex: none;
	height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 3px;
	background: var(--fc-crimson);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}
body #h-top .fc-hdr-search button:hover{ background: var(--fc-crimson-deep); }

/* マイページ / データを引き継ぐ（fcrank_render_user_nav_html の出力） */
body #h-top .fc-hdr-user{
	flex: none;
	display: flex;
	align-items: center;
}
body #h-top .fc-rank-user-nav{
	position: static;
	float: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 0;
	transform: none;
}
body #h-top .fc-rank-user-nav a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	padding: 0 20px;
	border: 1px solid transparent;
	border-radius: 3px;
	background: transparent;
	color: var(--fc-on-ink-sub);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
body #h-top .fc-rank-user-nav a.fc-rank-nav-mypage{
	border-color: var(--fc-ink-border);
	color: var(--fc-on-ink);
	font-weight: 500;
}
body #h-top .fc-rank-user-nav a.fc-rank-nav-mypage::before{
	content: "★";
	margin-right: .45em;
}
body #h-top .fc-rank-user-nav a:hover{
	border-color: var(--fc-on-ink-mute);
	color: var(--fc-on-ink);
	text-decoration: none;
}
body #h-top .fc-rank-user-nav .fc-rank-nav-admin{
	border-color: var(--fc-ink-border);
	color: var(--fc-on-ink) !important;   /* fc-rank.css の color:#fff !important を上書き */
	font-weight: 500;
}
body #h-top .fc-rank-user-nav .fc-rank-nav-username{
	padding: 0 4px;
	border: 0;
	color: var(--fc-on-ink-sub);
	font-size: var(--fc-fs-meta);
}

/* スマホ用の ≡ / 検索アイコン（PC では出さない） */
.fc-hdr-btn{ display: none; }

/* ---- グローバルナビ ---- */
body #navi,
body #navi-in,
body #navi ul,
body #navi ul li{
	background: var(--fc-paper);
	border: 0;
}
body #navi{
	border-bottom: 1px solid var(--fc-line-base);
}
body #navi-in{
	padding: 0 20px;
}
body #navi-in ul.menu{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body #navi-in ul.menu li{
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
body #navi-in ul.menu li a{
	display: inline-flex;
	align-items: center;
	height: 60px;
	padding: 0 18px;
	border: 0;
	background: transparent;
	color: var(--fc-ink);
	font-family: var(--fc-font-ui);
	font-size: var(--fc-fs-body);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
body #navi-in ul.menu li a:hover{
	background: transparent;
	color: var(--fc-crimson);
}
/* 現在地（WP のクラスと aria-current の両方で拾う） */
body #navi-in ul.menu li.current-menu-item > a,
body #navi-in ul.menu li.current-page-ancestor > a,
body #navi-in ul.menu li.current-menu-ancestor > a,
body #navi-in ul.menu li a[aria-current="page"]{
	color: var(--fc-crimson);
	box-shadow: inset 0 -3px 0 var(--fc-crimson);
}
/* タブレット幅: 5 項目が 2 行に折り返さないよう字と余白を詰めて 1 行に。入りきらなければ横スクロール（2026-11-07） */
@media screen and (min-width: 741px) and (max-width: 1023px){
	body #navi-in{
		padding: 0 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	body #navi-in ul.menu{
		flex-wrap: nowrap;
		gap: 2px;
	}
	body #navi-in ul.menu li a{
		padding: 0 8px;
		font-size: 15px;
	}
}

/* ---- フッター ---- */
body #footer{
	clear: both;
	margin: 0;
	padding: 0;
	background: var(--fc-paper);
	border-top: 1px solid var(--fc-line-base);
	color: var(--fc-ink);
	font-family: var(--fc-font-ui);
}
body #footer-in{
	padding: 0 20px;
}
/* トップ: 3 カラム */
.fc-ftr-cols{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	padding: var(--fc-sp-7) 0;
}
.fc-ftr-about{
	flex: 1 1 300px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
body #footer .fc-ftr-brand{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--fc-ink);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.3;
}
body #footer .fc-ftr-brand .fc-logo-badge{
	width: 34px;
	height: 34px;
	font-size: 16px;
}
body #footer .fc-ftr-desc{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.9;
}
.fc-ftr-nav{
	flex: 1 1 200px;
	min-width: 0;
}
body #footer .fc-ftr-list{
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}
body #footer .fc-ftr-list li{
	margin: 0;
	padding: 0;
}
body #footer .fc-ftr-list a{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-ink);
	font-size: var(--fc-fs-body);
	text-decoration: none;
}
body #footer .fc-ftr-list a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
/* 下段（© と注記）。トップは生成り地、下層は濃い帯 1 段 */
body #footer .fc-ftr-bottom{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0;
	padding: var(--fc-sp-4) 0;
	border: 0;
	border-top: 1px solid var(--fc-line-base);
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-note);
	line-height: 1.7;
	text-align: left;
}
body #footer .fc-ftr-copy{
	font-size: var(--fc-fs-note);   /* 等幅にすると日本語が MS ゴシック等に落ちるので本文の書体のまま */
}
body #footer .fc-ftr-note{
	margin-left: auto;
}
body .fc-ftr--slim #footer{
	background: var(--fc-ink-bg);
	border-top: 0;
	color: var(--fc-on-ink-sub);
}
body .fc-ftr--slim #footer .fc-ftr-bottom{
	padding: var(--fc-sp-5) 0;
	border-top: 0;
	color: var(--fc-on-ink-sub);
	font-size: var(--fc-fs-meta);
}
body .fc-ftr--slim #footer .fc-ftr-links{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;   /* リンクの左右 10px（タップ領域）を打ち消して、文字の頭を © と揃える */
}
body .fc-ftr--slim #footer .fc-ftr-links a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	padding: 0 10px;
	color: var(--fc-on-ink);
	text-decoration: none;
}
body .fc-ftr--slim #footer .fc-ftr-links a:hover{ text-decoration: underline; }

/* fc-ranking 固有: Cookie の案内（フッターの直前の帯） */
body .fc-rank-cookie-note{
	margin: 0;
	padding: var(--fc-sp-3) 20px;
	background: var(--fc-paper-2);
	border-top: 1px solid var(--fc-line-base);
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-note);
	line-height: 1.8;
	text-align: center;
}
body .fc-rank-cookie-note a{ color: var(--fc-crimson); }

/* ---- タブレット: 1 行に収まらない幅では、検索窓を 2 段目に全幅で置く（ロゴとマイページ類は 1 段目） ---- */
@media screen and (min-width: 741px) and (max-width: 1023px){
	body #h-top .fc-hdr-user{ margin-left: auto; }
	body #h-top .fc-hdr-search{
		order: 3;
		flex: 1 1 100%;
		max-width: none;
		margin: 0;
		padding: 0 0 12px;
	}
}

/* ---- スマホ（4-5）: ヘッダー 60px（≡ / ロゴ / 検索アイコン）、ナビは横スクロールの 48px 行 ---- */
@media screen and (max-width: 740px){
	body #h-top{
		flex-wrap: nowrap;
		gap: 0 6px;
		min-height: 60px;
		padding: 0 8px 0 10px;
	}
	.fc-hdr-btn{
		flex: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 3px;
		background: transparent;
		color: var(--fc-on-ink);
		cursor: pointer;
	}
	.fc-hdr-btn[aria-expanded="true"]{ background: var(--fc-ink-bg-2); }
	.fc-hdr-btn svg{ display: block; }
	body #h-top .top-title-catchphrase{ flex: 1 1 auto; }
	body #h-top #site-title a.fc-logo{
		gap: 9px;
		min-height: var(--fc-tap);
		padding: 0;
	}
	body #h-top .fc-logo-badge{
		width: 32px;
		height: 32px;
		font-size: 15px;
	}
	body #h-top .fc-logo-name{
		font-size: 17px;
		letter-spacing: .02em;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	body #h-top .fc-logo-en{ display: none; }

	/* ≡ と検索で開くパネル（ヘッダーの直下に重ねて出す） */
	body #h-top .fc-hdr-search,
	body #h-top .fc-hdr-user{
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 1000;
		margin: 0;
		padding: 12px 16px 16px;
		background: var(--fc-ink-bg);
		border-top: 1px solid var(--fc-ink-border);
		box-shadow: 0 6px 12px rgba(0,0,0,.25);
	}
	body #h-top .fc-hdr-search.is-open{ display: flex; }
	body #h-top .fc-hdr-user.is-open{ display: block; }
	body #h-top .fc-hdr-user .fc-rank-user-nav{
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		padding: 0;
	}

	body #navi-in{
		padding: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	body #navi-in ul.menu{
		flex-wrap: nowrap;
		gap: 2px;
		padding: 0 12px;
	}
	body #navi-in ul.menu li a{
		height: 48px;
		padding: 0 12px;
		font-size: 15px;
	}

	.fc-ftr-cols{
		gap: 24px;
		padding: var(--fc-sp-5) 0;
	}
	body #footer .fc-ftr-note{ margin-left: 0; }
}

/* =============================================================================
   2026-11-07 リデザイン ステップ3: ソフト詳細ページ（/fc-db/fc-d/・/nes-db/nes-d/）
   （実装指示書 4-4）マークアップは kdtk-fcsearch.php の sc_fc_detail と render_detail_shop_card、
   お気に入り・入っているランキングは fc-ranking/assets/js/fc-rank-detail-button.js が #fc-rank-detail-slot に差し込む。
   - PC (≥1024px): 左＝本文（.fc-d-main-a / .fc-d-main-b）、右＝サイドバー 330px（sticky にしない）
   - それより狭い幅: 1 列で DOM 順（本文前半 → サイドバー → 本文後半）
   - fc-rank.css は後から読まれるので、サイドバーのルールは body を前に付けて詳細度で勝たせる
   ============================================================================= */
body.fc-detail-page .article{
	color: var(--fc-ink);
	font-family: var(--fc-font-ui);
}
/* 見出し（文言はテンプレートのまま）: 線を外して 40px / 900 */
body.fc-detail-page .article h1.entry-title{
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--fc-ink);
	font-size: var(--fc-fs-h1-sub);
	font-weight: 900;
	line-height: 1.4;
}
.fc-d-meta{
	margin: var(--fc-sp-3) 0 0;
	padding: 0 0 var(--fc-sp-5);
	border-bottom: 1px solid var(--fc-line-base);
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-body);
	line-height: 1.7;
}

/* 2 カラム */
.fc-d-layout{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--fc-sp-7);
	padding-top: var(--fc-sp-5);
}
@media screen and (min-width: 1024px){
	.fc-d-layout{
		grid-template-columns: minmax(0, 1fr) 330px;
		column-gap: var(--fc-sp-6);
	}
	.fc-d-main-a{ grid-column: 1; grid-row: 1; }
	.fc-d-main-b{ grid-column: 1; grid-row: 2; }
	.fc-d-side{ grid-column: 2; grid-row: 1 / span 2; align-self: start; }
	.fc-d-layout--single{ grid-template-columns: minmax(0, 1fr); }
}
.fc-d-main{
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-7);
	min-width: 0;
}
.fc-d-main:empty{ display: none; }
.fc-d-side,
.fc-d-side-slot{
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-4);
	min-width: 0;
}
.fc-d-side-slot:empty{ display: none; }

/* 節と見出し */
.fc-d-sec{
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-4);
	margin: 0;
}
.fc-d-sec-head{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
}
body .article h2.fc-d-h2{
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--fc-ink);
	font-size: var(--fc-fs-h3);
	font-weight: 900;
	line-height: 1.4;
}
body .article h2.fc-d-h3{
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--fc-ink);
	font-size: 19px;
	font-weight: 900;
	line-height: 1.4;
}
.fc-d-sec-sub{
	color: var(--fc-ink-sub);
	font-size: 15px;
}
body .article .fc-d-note{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.7;
}
body .article .fc-d-note a{ color: var(--fc-ink-sub); }

/* 最初の3分（クリックで YouTube を読み込む） */
.fc-d-video-btn{
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	padding: 0;
	border: 1px solid var(--fc-ink-border);
	border-radius: var(--fc-radius-md);
	background: var(--fc-ink-bg);
	overflow: hidden;
	cursor: pointer;
}
.fc-d-video-btn img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: opacity .15s;
}
.fc-d-video-btn:hover img{ opacity: .85; }
.fc-d-video-btn:focus-visible{
	outline: 3px solid var(--fc-gold-fill);
	outline-offset: 2px;
}
.fc-d-video-play{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fc-d-video-frame{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--fc-radius-md);
	background: var(--fc-ink-bg);
}

/* このソフトのデータ */
body .article dl.fc-d-spec{
	margin: 0;
	padding: 0;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-d-spec-row{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	padding: 20px 28px;
	border-bottom: 1px solid var(--fc-line-2);
}
.fc-d-spec-row:last-child{ border-bottom: 0; }
body .article .fc-d-spec dt{
	flex: 0 0 8.5em;
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
}
body .article .fc-d-spec dd{
	flex: 1 1 240px;
	min-width: 0;
	margin: 0;
	color: var(--fc-ink);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	overflow-wrap: anywhere;
}
body .article .fc-d-spec dd a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	margin: -9px 0;   /* タップ領域は 48px、行の見た目の高さ（行送り 30px）は変えない */
	color: var(--fc-crimson);
}
.fc-d-spec-sub{ font-size: var(--fc-fs-meta); }

/* 遊ぶには */
body .article ul.fc-d-play{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .article ul.fc-d-play li{
	flex: 1 1 240px;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .article ul.fc-d-play a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 64px;
	padding: 14px 20px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: 3px;
	color: var(--fc-ink);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}
body .article ul.fc-d-play a::after{
	content: "›";
	color: var(--fc-ink-sub);
	font-size: 20px;
	line-height: 1;
}
body .article ul.fc-d-play a:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}

/* シリーズ・関連: 一覧と同じカード（ul.rlist）を本文の幅に合わせて 2 列に */
body .article .fc-d-main ul.rlist{
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	margin: 0;
}

/* NES版 / ファミコン版（濃い帯のカード） */
body .article a.fc-d-rel{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	padding: 24px;
	background: var(--fc-ink-bg);
	border-radius: var(--fc-radius-md);
	color: var(--fc-on-ink);
	text-decoration: none;
}
body .article a.fc-d-rel img.fc-d-rel-thumb,
body .article a.fc-d-rel img.fc-d-rel-thumb:hover{
	flex: none;
	width: 96px;
	height: auto;
	margin: 0;
	border: 1px solid var(--fc-ink-border);
	opacity: 1;
	image-rendering: pixelated;
}
.fc-d-rel-body{
	flex: 999 1 220px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.fc-d-rel-title{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}
body .article a.fc-d-rel:hover .fc-d-rel-title{ text-decoration: underline; }
.fc-d-rel-meta{
	color: var(--fc-on-ink-sub);
	font-size: var(--fc-fs-meta);
}
.fc-d-rel-go{
	flex: none;
	color: var(--fc-gold-on-ink);
	font-size: 16px;
	font-weight: 700;
}

/* サイドバーのカード */
.fc-d-card{
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 28px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-d-card-head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.fc-pr{
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: var(--fc-radius-sm);
	background: var(--fc-paper-2);
	color: var(--fc-ink-sub);
	font-family: var(--fc-font-num);
	font-size: var(--fc-fs-note);
	font-weight: 700;
	line-height: 1.4;
}

/* お気に入り・入っているランキング（JS が差し込むカード）: fc-rank.css の .fc-rank-fav-wrap / .fc-rank-detail-rankings
   （横並び・左の赤線・灰色地）を打ち消して、.fc-d-card と同じ見た目にそろえる */
body .fc-d-side .fc-rank-fav-wrap,
body .fc-d-side .fc-rank-detail-rankings{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 20px;
	margin: 0;
	padding: 28px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
body .fc-d-side .fc-rank-fav-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid var(--fc-crimson);
	border-radius: 3px;
	background: var(--fc-crimson);
	box-shadow: none;
	color: #fff;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}
body .fc-d-side .fc-rank-fav-btn:hover{
	border-color: var(--fc-crimson-deep);
	background: var(--fc-crimson-deep);
}
body .fc-d-side .fc-rank-fav-btn.is-stocked{
	border-color: var(--fc-crimson);
	background: var(--fc-gold-bg);
	color: var(--fc-crimson-deep);
	font-size: 16px;
}
body .fc-d-side .fc-rank-fav-btn:disabled{ opacity: .7; cursor: wait; }
/* ボタンと「N人がお気に入りに登録」は 1 つのまとまり（カード内の他の要素どうし 20px より狭く） */
body .fc-d-side .fc-rank-fav-main{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
body .fc-d-side .fc-rank-fav-count{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: 15px;
	line-height: 1.4;
	text-align: center;
}
body .fc-d-side .fc-rank-fav-count[hidden]{ display: none; }
body .fc-d-side .fc-rank-fav-count strong{
	margin-right: 2px;
	color: var(--fc-ink);
	font-family: var(--fc-font-num);
	font-size: 17px;
	font-weight: 700;
}
body .fc-d-side .fc-rank-stock-link{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: 15px;
	text-decoration: underline;
}
body .fc-d-side .fc-rank-cta-link{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	background: transparent;
	color: var(--fc-ink) !important;   /* fc-rank.css の color:#fff !important を上書き */
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}
body .fc-d-side .fc-rank-cta-link:hover{
	border-color: var(--fc-ink);
	background: transparent;
}

/* このソフトが入っているランキング（JS が差し込むカード。枠は上の .fc-rank-fav-wrap と共通） */
body .fc-d-side ul.fc-rank-detail-ranking-list{
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .fc-d-side .fc-rank-detail-ranking-item{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 18px;
	background: var(--fc-card-2);
	border: 1px solid var(--fc-line-2);
	border-radius: 3px;
	list-style: none;
}
body .fc-d-side .fc-rank-detail-ranking-item .pos-badge{
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 6px 12px;
	border: 0;
	border-radius: var(--fc-radius-sm);
	background: var(--fc-gold-bg);
	color: var(--fc-gold);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	line-height: 1.3;
}
body .fc-d-side a.fc-rank-detail-ranking-card{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--fc-ink);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}
body .fc-d-side a.fc-rank-detail-ranking-card:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
body .fc-d-side .fc-rank-detail-ranking-item .by{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-note);
	line-height: 1.7;
}
body .fc-d-side .fc-rank-detail-rankings .more{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-crimson);
	font-size: 16px;
	font-weight: 700;
}

/* 買う・売る（PR） */
body .article ul.fc-d-shop-list{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .article ul.fc-d-shop-list > li{
	margin: 0;
	padding: 4px 18px 14px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: 3px;
	list-style: none;
}
/* レトログはリンクコード改変不可のため、a には何も足さず li 側のセレクタだけで装飾する */
body .article ul.fc-d-shop-list > li > a{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-ink);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}
body .article ul.fc-d-shop-list > li > a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
body .article ul.fc-d-shop-list > li > a img{
	margin: 0;   /* 計測ピクセル(1×1)にテーマの margin:auto が付き文字がずれるのを防ぐ */
}
body .article .fc-d-shop-note{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.6;
}
body .article .fc-d-shop-disclaimer{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-note);
	line-height: 1.8;
}

@media screen and (max-width: 740px){
	.fc-d-card{ padding: 20px; }
	.fc-d-spec-row{ padding: 16px 20px; }
	body .article a.fc-d-rel{ padding: 20px; }
}

/* =============================================================================
   2026-11-07 リデザイン ステップ4: ソフト一覧（/fc-db/fc-s/・/nes-db/nes-s/）
   （実装指示書 4-3）マークアップは kdtk-fcsearch.php の sc_fc_search_result / render_list_filter / put_list_row、
   並び替え・表示切替（グリッド / リスト）・ページ送りは js/fc-list.js。
   一覧のカード（ul.rlist）は詳細ページのシリーズ・関連ソフトでも同じものを使う。
   余白の段: カードの中 8〜16px ＜ カードどうし・欄どうし 20px ＜ 枠の内側 20〜24px ＜ まとまりどうし 28〜56px
   ============================================================================= */
body.fc-list-page .article{
	color: var(--fc-ink);
	font-family: var(--fc-font-ui);
}
/* 見出し（文言はテンプレートのまま）: 線を外して 36px / 900、「｜」から後ろは 22px */
body.fc-list-page .article h1.entry-title{
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--fc-ink);
	font-size: 36px;
	font-weight: 900;
	line-height: 1.45;
}
body.fc-list-page .article h1.entry-title .fc-h1-sub{
	color: var(--fc-ink-sub);
	font-size: 22px;
	font-weight: 700;
}
body .article .fc-l-lead{
	max-width: 52em;
	margin: var(--fc-sp-3) 0 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-lead);
	line-height: 1.8;
}

/* 絞り込みバー（白いカード） */
.fc-l-filter{
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: var(--fc-sp-5) 0 0;
	padding: 20px 24px 24px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-l-filter-sum{
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--fc-tap);
	color: var(--fc-ink);
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.fc-l-filter-sum::-webkit-details-marker{ display: none; }
.fc-l-filter-sum::after{
	content: "";
	width: 10px;
	height: 10px;
	margin: 0 8px 4px 0;
	border-right: 2px solid var(--fc-ink-sub);
	border-bottom: 2px solid var(--fc-ink-sub);
	transform: rotate(45deg);
}
.fc-l-filter-box[open] > .fc-l-filter-sum::after{
	margin-bottom: -4px;
	transform: rotate(-135deg);
}
.fc-l-filter-form{
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 12px 0 0;
}
.fc-l-fields{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: 20px;
}
.fc-l-field{
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
body .article .fc-l-field label{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	line-height: 1.4;
}
body .article .fc-l-field select{
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 40px 0 14px;
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	background: var(--fc-card-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23574F47' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;
	color: var(--fc-ink);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.3;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
body .article .fc-l-field select:focus-visible{
	outline: 2px solid var(--fc-crimson);
	outline-offset: 1px;
}
.fc-l-filter-actions{
	display: flex;
	justify-content: flex-end;
}
body .article .fc-l-submit{
	min-height: 52px;
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: 3px;
	background: var(--fc-crimson);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}
body .article .fc-l-submit:hover{ background: var(--fc-crimson-deep); }

/* 絞り込み中チップ（× は 44px） */
.fc-l-active{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	padding-top: 20px;
	border-top: 1px solid var(--fc-line-2);
}
.fc-l-active-h{
	color: var(--fc-ink-sub);
	font-size: 15px;
	font-weight: 700;
}
body .article ul.fc-l-chips{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .article ul.fc-l-chips > li.fc-l-chip{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 52px;
	margin: 0;
	padding: 0 4px 0 18px;
	border-radius: 999px;
	background: var(--fc-gold-bg);
	color: var(--fc-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
}
body .article a.fc-l-chip-x{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #E2D5BE;
	color: var(--fc-ink-sub);
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}
body .article a.fc-l-chip-x:hover{
	background: var(--fc-crimson);
	color: #fff;
}
body .article a.fc-l-clear{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	padding: 0 8px;
	color: var(--fc-crimson);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
}

/* 件数（常時）・並び替え・表示切替 */
.fc-l-bar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
	padding: 28px 0 20px;
}
body .article .fc-l-count{
	flex: 1 1 auto;
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-lead);
	line-height: 1.5;
}
.fc-l-count strong{
	margin: 0 2px;
	color: var(--fc-ink);
	font-family: var(--fc-font-num);
	font-size: 20px;
	font-weight: 700;
}
.fc-l-tools{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}
.fc-l-tools[hidden]{ display: none; }
.fc-l-seg-wrap{
	display: flex;
	align-items: center;
	gap: 10px;
}
.fc-l-seg-label{
	color: var(--fc-ink-sub);
	font-size: 15px;
}
.fc-l-seg{
	display: flex;
	overflow: hidden;
	background: var(--fc-card);
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
}
body .article .fc-l-seg button{
	min-height: var(--fc-tap);
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-left: 1px solid var(--fc-border-input);
	border-radius: 0;
	background: transparent;
	color: var(--fc-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}
body .article .fc-l-seg button:first-child{ border-left: 0; }
body .article .fc-l-seg button[aria-pressed="true"]{
	background: var(--fc-ink-bg);
	color: var(--fc-on-ink);
}

/* 前後の年・この年の出来事・プレイリスト・PR 注記 */
.fc-l-yearnav{
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
}
.fc-l-results + .fc-l-pager + .fc-l-yearnav,
.fc-l-results + .fc-l-pager[hidden] + .fc-l-yearnav{
	margin: var(--fc-sp-5) 0 0;
}
body .article .fc-l-yearnav a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	padding: 0 18px;
	background: var(--fc-card);
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	color: var(--fc-ink);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}
body .article .fc-l-yearnav a:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}
.fc-l-yearnav-prev{ justify-self: start; }
.fc-l-yearnav-next{ justify-self: end; }
.fc-l-yearnav-cur{
	padding: 0 12px;
	font-size: 18px;
	font-weight: 900;
}
.fc-l-events{
	margin: 0 0 20px;
	padding: 16px 20px;
	background: var(--fc-card-2);
	border: 1px solid var(--fc-line-base);
	border-left: 4px solid var(--fc-gold-fill);
	border-radius: var(--fc-radius-md);
}
body .article .fc-l-events-h{
	margin: 0 0 6px;
	color: var(--fc-ink-sub);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}
body .article .fc-l-events-body{
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
}
.fc-l-playlist{ margin: 0 0 20px; }
body .article .fc-l-playlist-h{
	margin: 0 0 10px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}
.fc-l-playlist .pla{
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	background: var(--fc-ink-bg);
	border-radius: var(--fc-radius-md);
}
.fc-l-playlist .pla iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
body .article .fc-l-pr-note{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 20px;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.7;
}
.fc-l-pr-note .fc-pr{ flex: none; }
body .article .fc-l-empty{
	margin: 0 0 20px;
	padding: 32px 24px;
	background: var(--fc-card-2);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
	font-size: var(--fc-fs-lead);
	text-align: center;
}

/* 一覧のカード（グリッド）: サムネ → タイトル → メーカー・発売日 → ジャンル・3分動画・販売本数 → 楽天で見る */
body .article ul.rlist{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .article ul.rlist[hidden],
body .article ul.rlist > li[hidden]{ display: none !important; }
body .article ul.rlist > li.fc-l-card{
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: auto;
	margin: 0;
	padding: 20px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
	list-style: none;
}
body .article ul.rlist > li.fc-l-card:hover{ border-color: var(--fc-border-input); }
body .article .rlist a.fc-l-thumb{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 160px;
	overflow: hidden;
	background: var(--fc-ink-bg);
	border-radius: var(--fc-radius-sm);
}
body .article .rlist a.fc-l-thumb img{
	width: auto;
	max-width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: contain;
}
body .article .rlist a.fc-l-thumb img.fc-l-disk{
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 30px;
	height: 30px;
}
.fc-l-body{
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
body .article .rlist .fc-title,
#main .rlist .fc-title{
	margin: 0 !important;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5 !important;
}
/* タイトルのリンクは上下 12px ずつ押せる範囲を広げる（見た目の間隔は変えない）→ 1 行でも 48px 以上 */
body .article .rlist .fc-title a{
	display: block;
	margin: -12px 0;
	padding: 12px 0;
	color: var(--fc-ink);
	text-decoration: none;
}
body .article .rlist .fc-title a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
body .article .rlist .fc-l-meta{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.6;
}
.fc-l-sep{ margin: 0 .35em; }
body .article .rlist .fc-l-tags{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin: 0;
	line-height: 1.5;
}
.fc-l-genre,
.fc-l-video{
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: var(--fc-radius-sm);
	font-size: var(--fc-fs-note);
	font-weight: 700;
}
.fc-l-genre{
	background: var(--fc-card-2);
	border: 1px solid var(--fc-line-base);
	color: var(--fc-ink-sub);
}
.fc-l-video{
	background: var(--fc-gold-bg);
	border: 1px solid var(--fc-gold-bg);
	color: var(--fc-gold);
}
.fc-l-sales{
	margin-left: auto;
	color: var(--fc-ink);
	font-size: 15px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
/* 楽天で見る（PR）: カードの下端にそろえる */
body .article .rlist .fc-row-actions{
	display: block;
	margin: auto 0 0;
}
body .article .rlist a.rakuten-search-btn--compact,
body .article .rlist a.rakuten-search-btn--compact:hover{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: var(--fc-tap);
	padding: 0 16px;
	background: transparent;
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	box-shadow: none;
	color: var(--fc-ink) !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
}
body .article .rlist a.rakuten-search-btn--compact:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson) !important;
}

/* リスト表示（表）: js/fc-list.js が作る */
.fc-l-tablewrap{
	overflow-x: auto;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-l-tablewrap[hidden]{ display: none; }
.fc-l-tablewrap:focus-visible{ outline: 2px solid var(--fc-crimson); outline-offset: 2px; }
body .article table.fc-l-table{
	width: 100%;
	min-width: 720px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 16px;
}
body .article table.fc-l-table th,
body .article table.fc-l-table td{
	padding: 4px 20px;
	border: 0;
	border-bottom: 1px solid var(--fc-line-2);
	background: none;
	color: var(--fc-ink-sub);
	line-height: 1.5;
	text-align: left;
	vertical-align: middle;
}
body .article table.fc-l-table th{
	padding: 14px 20px;
	background: var(--fc-card-2);
	border-bottom-color: var(--fc-line-base);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	white-space: nowrap;
}
body .article table.fc-l-table tbody tr:last-child td{ border-bottom: 0; }
body .article table.fc-l-table .fc-l-td-title a{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-ink);
	font-weight: 700;
	text-decoration: none;
}
body .article table.fc-l-table .fc-l-td-title a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
body .article table.fc-l-table .fc-l-td-date{ white-space: nowrap; }
body .article table.fc-l-table .fc-l-num{
	color: var(--fc-ink);
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

/* ページ送り（48px 角） */
.fc-l-pager{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 40px 0 0;
}
.fc-l-pager[hidden]{ display: none; }
body .article .fc-l-pager a,
.fc-l-pg-cur{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: 0 12px;
	border-radius: 3px;
	font-family: var(--fc-font-num);
	font-size: 16px;
	text-decoration: none;
}
body .article .fc-l-pager a{
	background: var(--fc-card);
	border: 1px solid var(--fc-border-input);
	color: var(--fc-ink);
}
body .article .fc-l-pager a:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}
body .article .fc-l-pager a.fc-l-pg-step{
	font-family: var(--fc-font-ui);
	font-weight: 700;
}
.fc-l-pg-cur{
	background: var(--fc-crimson);
	color: #fff;
	font-weight: 700;
}
.fc-l-pg-gap{
	padding: 0 6px;
	color: var(--fc-ink-sub);
}

/* 条件を組み合わせて探す（従来の開閉式の一覧） */
.fc-l-more{
	margin: var(--fc-sp-7) 0 0;
	padding: var(--fc-sp-5) 0 0;
	border-top: 1px solid var(--fc-line-base);
}
body .article h2.fc-l-h2{
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--fc-ink);
	font-size: var(--fc-fs-h3);
	font-weight: 900;
	line-height: 1.4;
}
body .article .fc-l-more-lead{
	margin: 10px 0 var(--fc-sp-4);
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-body);
	line-height: 1.7;
}
/* 開閉式の枠の中の項目も 48px（/fc-db/ トップと共通） */
body .slist dd a{
	align-items: center;
	min-height: var(--fc-tap);
}
body .slist.j50 dd a{
	display: flex;
	justify-content: center;
}
body .slist.j50 dd.pad5{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--fc-tap);
}

@media screen and (max-width: 740px){
	body.fc-list-page .article h1.entry-title{ font-size: 26px; }
	body.fc-list-page .article h1.entry-title .fc-h1-sub{ font-size: 17px; }
	.fc-l-filter{ padding: 16px 20px 20px; }
	.fc-l-filter-actions{ display: block; }
	body .article .fc-l-submit{ width: 100%; }
	body .article .fc-l-count{ flex-basis: 100%; }
	.fc-l-yearnav{ gap: 8px; }
	body .article .fc-l-yearnav a{ padding: 0 12px; }
	.fc-l-yearnav-cur{ padding: 0 4px; font-size: 17px; }
	/* カードは横長（サムネ左・文字右・楽天で見るは下の段） */
	body .article ul.rlist > li.fc-l-card{
		display: grid;
		grid-template-columns: 120px minmax(0, 1fr);
		grid-template-areas: "thumb body" "act act";
		gap: 14px 16px;
		padding: 16px;
	}
	body .article .rlist a.fc-l-thumb{
		grid-area: thumb;
		align-self: start;
		height: auto;
		aspect-ratio: 8 / 7;
	}
	body .article .rlist a.fc-l-thumb img{
		width: 100%;
		height: auto;
	}
	body .article .rlist a.fc-l-thumb img.fc-l-disk{
		right: 4px;
		bottom: 4px;
		width: 24px;
		height: 24px;
	}
	.fc-l-body{ grid-area: body; }
	body .article .rlist .fc-title,
	#main .rlist .fc-title{ font-size: 17px; }
	body .article .rlist .fc-row-actions{ grid-area: act; margin: 0; }
}
/* 2026-11-07: FC・ディスクのサムネはパッケージ画像（canvas 版）。横長・縦長・正方形が混ざるので正方形の枠に収める。
   パッケージは明るい地、パッケージが無くタイトル画面を出すときは従来の黒地。NES は上の従来の枠のまま。
   スマホの 8:7 より後ろに置いて、どの幅でも正方形にする */
body .article .rlist a.fc-l-thumb--sq{
	height: auto;
	aspect-ratio: 1 / 1;
}
body .article .rlist a.fc-l-thumb--sq img:not(.fc-l-disk){
	width: 100%;
	height: 100%;
}
body .article .rlist a.fc-l-thumb--pk{
	background: var(--fc-paper-2);
}

/* =============================================================================
   2026-11-07 リデザイン ステップ5: トップページ（page-templates/page-top.php）
   （実装指示書 4-2・4-5）マークアップは page-top.php、[stFcCatalogCards]・fc_top_data()（functions.php）、
   [stFcPopularGames]・[stFcRankingTop]（fc-ranking/lib/embed_popular.php・embed_top.php）
   - 本文の白いパネル（#main・幅 1070px）の中で組む（下層ページと同じ）。帯（数字・よくアクセス・読みもの・NES）だけパネルの端まで広げる
   - 余白の段: カードの中 6〜20px ＜ カードどうし 20〜24px ＜ 見出し→中身 32px ＜ セクションどうし 80px（スマホ 48px）
   - ここで使う .fc-t-* は fc-rank.css に無いので、後から読まれる fc-rank.css と競合しない
   ============================================================================= */
body.home{
	--fc-t-pad: 32px;   /* パネルの内側の余白。帯を端まで広げるときにも使う */
}
@media screen and (max-width: 740px){
	body.home{ --fc-t-pad: 16px; }   /* 画面端 16px（親テーマは 10px） */
}
body.home #main{
	padding-top: 0;
	padding-bottom: 0;   /* 最後の NES の帯でパネルを終える */
	padding-left: var(--fc-t-pad);
	padding-right: var(--fc-t-pad);
}
body.home #main .page{ margin-bottom: 0; }
/* トップはヒーローに大きな検索窓があるので、PC ではヘッダーの検索窓を出さない（実装指示書 4-1）。スマホの検索アイコンは残す */
@media screen and (min-width: 741px){
	body.home #h-top .fc-hdr-search{ display: none; }
	body.home #h-top .fc-hdr-user{ margin-left: auto; }
}

/* 親テーマの見出し・リスト・段落の飾りと余白を外す（トップの本文だけ） */
body.home .fc-top{
	color: var(--fc-ink);
	font-family: var(--fc-font-ui);
}
body.home .fc-top p,
body.home .fc-top dl,
body.home .fc-top dd{
	margin: 0;
}
body.home .fc-top ul,
body.home .fc-top ol{
	margin: 0;
	padding: 0;
	list-style: none;
}
body.home .fc-top li{
	margin: 0;
}
body.home .fc-top h1,
body.home .fc-top h2,
body.home .fc-top h3{
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--fc-ink);
	font-family: inherit;
}
body.home .fc-top h1::before, body.home .fc-top h1::after,
body.home .fc-top h2::before, body.home .fc-top h2::after,
body.home .fc-top h3::before, body.home .fc-top h3::after{
	content: none;
}

/* 共通の部品: アイブロウ（日本語）・見出し・リード・ボタン */
.fc-top .fc-t-eyebrow{
	color: var(--fc-crimson);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.5;
}
body.home .fc-top .fc-t-h2{
	font-size: var(--fc-fs-h2);
	font-weight: 900;
	line-height: 1.4;
}
body.home .fc-top .fc-t-h3{
	font-size: var(--fc-fs-h4);
	font-weight: 700;
	line-height: 1.5;
}
.fc-top .fc-t-sec-lead{
	max-width: 44em;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-lead);
	line-height: 1.8;
}
.fc-top .fc-t-head{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 var(--fc-sp-5);
}
.fc-top .fc-t-head--cta{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--fc-sp-4);
}
.fc-top .fc-t-head-text{
	flex: 999 1 420px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
body .fc-top a.fc-t-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 24px;
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	background: var(--fc-card);
	color: var(--fc-ink);
	font-size: var(--fc-fs-body);
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
}
body .fc-top a.fc-t-btn:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}
.fc-top .fc-t-head--cta .fc-t-btn{
	flex: 1 0 auto;   /* 文字の幅は確保して折り返さない（1 行に入らなければボタンごと次の行へ行き、全幅になる） */
	white-space: nowrap;
}

/* セクションと帯 */
.fc-top .fc-t-sec{
	padding: var(--fc-sp-8) 0;
}
/* body.home を付けるのは、上の dl のリセット（margin: 0）より強くするため */
body.home .fc-top .fc-t-band,
body.home .fc-top .fc-t-stats,
body.home .fc-top .fc-t-nes{
	margin-left: calc(-1 * var(--fc-t-pad));
	margin-right: calc(-1 * var(--fc-t-pad));
	padding-left: var(--fc-t-pad);
	padding-right: var(--fc-t-pad);
}
.fc-top .fc-t-band{
	background: var(--fc-paper-2);
	border-top: 1px solid var(--fc-line-base);
	border-bottom: 1px solid var(--fc-line-base);
}

/* ---- ヒーロー ---- */
.fc-top .fc-t-hero{
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-sp-6);
	padding: var(--fc-sp-7) 0;
}
.fc-top .fc-t-hero-main{
	flex: 999 1 480px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-4);
}
body.home .fc-top h1.fc-t-h1{
	font-size: var(--fc-fs-h1);
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .01em;
}
.fc-top .fc-t-lead{
	max-width: 34em;
	color: var(--fc-ink-sub);
	font-size: 18px;
	line-height: 1.8;
}
.fc-top .fc-t-search{
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 640px;
	margin: 0;
}
body .fc-top .fc-t-search label{
	color: var(--fc-ink-sub);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}
.fc-top .fc-t-search-row{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
body .fc-top .fc-t-search input[type="search"]{
	flex: 999 1 260px;
	min-width: 0;
	width: auto;
	height: 60px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	background: var(--fc-card);
	color: var(--fc-ink);
	font-family: inherit;
	font-size: 17px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
body .fc-top .fc-t-search input[type="search"]::placeholder{
	color: var(--fc-ink-sub);
	opacity: 1;
}
body .fc-top .fc-t-search input[type="search"]:focus{
	outline: 2px solid var(--fc-crimson);
	outline-offset: 1px;
}
body .fc-top .fc-t-search button{
	flex: 1 1 120px;
	height: 60px;
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: 3px;
	background: var(--fc-crimson);
	color: #fff;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}
body .fc-top .fc-t-search button:hover{ background: var(--fc-crimson-deep); }

/* よく見られている入口 */
.fc-top .fc-t-quick{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}
.fc-top .fc-t-quick-h{
	color: var(--fc-ink-sub);
	font-size: 15px;
	line-height: 1.5;
}
body.home .fc-top .fc-t-quick ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
body .fc-top .fc-t-quick a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	padding: 0 18px;
	border: 1px solid var(--fc-border-input);
	border-radius: 999px;
	background: var(--fc-card);
	color: var(--fc-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
}
body .fc-top .fc-t-quick a:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}

/* 今日の3分動画 */
.fc-top .fc-t-today{
	flex: 1 1 320px;
	min-width: 0;
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: var(--fc-sp-4);
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-top .fc-t-today-head,
.fc-top .fc-t-today-body{
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-1);
}
.fc-top .fc-t-today-note{
	color: var(--fc-ink-sub);
	font-size: 15px;
	line-height: 1.7;
}
.fc-top a.fc-t-today-thumb{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	background: var(--fc-ink-bg);
	border: 1px solid var(--fc-ink-border);
	border-radius: var(--fc-radius-sm);
	overflow: hidden;
}
.fc-top a.fc-t-today-thumb img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/* 再生の目印（飾り。押すと詳細ページの最上部の動画へ） */
.fc-top .fc-t-play{
	position: absolute;
	right: 12px;
	bottom: 12px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(28, 24, 21, .85);
	box-shadow: 0 0 0 2px var(--fc-on-ink);
}
.fc-top .fc-t-play::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 52%;
	border-style: solid;
	border-width: 9px 0 9px 15px;
	border-color: transparent transparent transparent var(--fc-on-ink);
	transform: translate(-50%, -50%);
}
.fc-top .fc-t-today-title{
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
}
body .fc-top .fc-t-today-title a{
	display: block;
	margin: -10px 0;
	padding: 10px 0;   /* 1 行でも押せる高さを 48px 以上に */
	color: var(--fc-ink);
	text-decoration: none;
}
body .fc-top .fc-t-today-title a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
.fc-top .fc-t-today-meta{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.6;
}

/* ---- 数字の帯 ---- */
.fc-top .fc-t-stats{
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-sp-4);
	padding-top: 28px;
	padding-bottom: 28px;
	background: var(--fc-paper-2);
	border-top: 1px solid var(--fc-line-base);
	border-bottom: 1px solid var(--fc-line-base);
}
.fc-top .fc-t-stats > div{
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;   /* 項目名が 2 行になっても数字の行はそろえる */
	gap: var(--fc-sp-1);
}
body.home .fc-top .fc-t-stats dt{
	margin: 0;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	line-height: 1.5;
}
body.home .fc-top .fc-t-stats dd{
	color: var(--fc-ink);
	font-family: var(--fc-font-num);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}
.fc-top .fc-t-unit{
	margin-left: .2em;
	font-family: var(--fc-font-ui);
	font-size: var(--fc-fs-body);
}

/* ---- ファミコンソフトを探す（[stFcCatalogCards]） ---- */
.fc-top .fc-t-find,
.fc-top .fc-t-find-cols{
	display: flex;
	gap: var(--fc-sp-4);
}
.fc-top .fc-t-find{ flex-direction: column; }
.fc-top .fc-t-find-cols{ flex-wrap: wrap; }
.fc-top .fc-t-find-cols > .fc-t-card{ flex: 1 1 400px; }
.fc-top .fc-t-card{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-top .fc-t-card-head{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
}
.fc-top .fc-t-card-note{
	color: var(--fc-ink-sub);
	font-size: 15px;
	line-height: 1.5;
}
.fc-top .fc-t-n{
	color: var(--fc-ink-sub);
	font-family: var(--fc-font-num);
	font-size: var(--fc-fs-meta);
	font-weight: 500;
}
/* 発売年のチップ・メーカーの残り */
body.home .fc-top ul.fc-t-chips{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
body .fc-top .fc-t-chips a{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: var(--fc-tap);
	padding: 0 18px;
	border: 1px solid var(--fc-line-base);
	border-radius: 3px;
	background: var(--fc-card-2);
	color: var(--fc-ink);
	font-size: var(--fc-fs-body);
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}
body .fc-top .fc-t-chips--sm a{
	padding: 0 14px;
	font-size: 15px;
	font-weight: 500;
}
body .fc-top .fc-t-chips a:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}
/* ジャンル・メーカーの行 */
.fc-top .fc-t-rows li{
	border-bottom: 1px solid var(--fc-line-2);
}
body .fc-top .fc-t-rows a{
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 52px;
	padding: 8px 4px;
	color: var(--fc-ink);
	text-decoration: none;
}
body .fc-top .fc-t-rows a:hover{
	background: var(--fc-card-2);
	color: var(--fc-crimson);
}
.fc-top .fc-t-code{
	flex: none;
	width: 52px;
	color: var(--fc-crimson);
	font-family: var(--fc-font-num);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
}
.fc-top .fc-t-row-name{
	flex: 1 1 auto;
	min-width: 0;
	font-size: var(--fc-fs-lead);
	font-weight: 500;
	line-height: 1.5;
}
.fc-top .fc-t-rows .fc-t-n{ font-size: 15px; }
/* すべてのメーカーを見る（その場で開く） */
.fc-top .fc-t-more > summary{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: var(--fc-tap);
	padding: 0 20px;
	border: 1px solid var(--fc-border-input);
	border-radius: 3px;
	color: var(--fc-ink);
	font-size: var(--fc-fs-body);
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}
.fc-top .fc-t-more > summary::-webkit-details-marker{ display: none; }
.fc-top .fc-t-nowrap{ white-space: nowrap; }   /* 折り返すなら「すべてのメーカーを見る」と「（ほか○社）」の境目で */
.fc-top .fc-t-more > summary::after{
	content: "";
	width: 8px;
	height: 8px;
	margin-bottom: 4px;
	border-right: 2px solid var(--fc-ink-sub);
	border-bottom: 2px solid var(--fc-ink-sub);
	transform: rotate(45deg);
}
.fc-top .fc-t-more[open] > summary::after{
	margin-bottom: -4px;
	transform: rotate(-135deg);
}
.fc-top .fc-t-more > summary:hover{
	border-color: var(--fc-crimson);
	color: var(--fc-crimson);
}
body.home .fc-top .fc-t-more > ul{
	margin-top: 20px;
}

/* ---- よくアクセスされているソフト（embed_popular.php） ---- */
body.home .fc-top ol.fc-t-pop{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
	gap: 20px;
}
.fc-top .fc-t-pop-item{
	position: relative;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-3);
	padding: 20px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
/* 順位: 5 本を横に並べるとカードが細いので、題名の横ではなく画像の左上に重ねる */
.fc-top .fc-t-pop-rank{
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
	min-width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	background: var(--fc-paper);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-sm);
	color: var(--fc-crimson);
	font-family: var(--fc-font-pixel);
	font-size: 36px;
	line-height: 1;
}
.fc-top a.fc-t-pop-thumb{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 132px;
	background: var(--fc-ink-bg);
	border: 1px solid var(--fc-ink-border);
	border-radius: var(--fc-radius-sm);
	overflow: hidden;
}
.fc-top a.fc-t-pop-thumb img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.fc-top .fc-t-pop-body{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--fc-sp-1);
}
.fc-top .fc-t-pop-title,
.fc-top .fc-t-post-title,
.fc-top .fc-t-stats dt{
	word-break: auto-phrase;   /* 細いカードで語の途中で折り返さない（対応ブラウザだけ。ほかは従来どおり） */
}
.fc-top .fc-t-pop-title{
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}
body .fc-top .fc-t-pop-title a{
	display: block;
	margin: -11px 0;
	padding: 11px 0;   /* 1 行でも押せる高さを 48px 以上に */
	color: var(--fc-ink);
	text-decoration: none;
}
body .fc-top .fc-t-pop-title a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
.fc-top .fc-t-pop-meta{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.6;
}
.fc-top .fc-t-empty{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-body);
}

/* ---- ランキングメーカー（embed_top.php） ---- */
body.home .fc-top ul.fc-t-rk-list{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: var(--fc-sp-4);
}
.fc-top .fc-t-rk{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: var(--fc-sp-4);
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-top .fc-t-rk-theme{
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: var(--fc-radius-sm);
	background: var(--fc-gold-bg);
	color: var(--fc-gold);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	line-height: 1.5;
}
body.home .fc-top h3.fc-t-rk-title{
	font-size: var(--fc-fs-h4);
	font-weight: 700;
	line-height: 1.5;
}
body .fc-top .fc-t-rk-title a{
	display: block;
	margin: -9px 0;
	padding: 9px 0;   /* 1 行でも押せる高さを 48px 以上に */
	color: var(--fc-ink);
	text-decoration: none;
}
body .fc-top .fc-t-rk-title a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
body.home .fc-top ul.fc-t-rk-top3{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fc-top .fc-t-rk-top3 li{
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: var(--fc-tap);
	padding: 8px 14px;
	background: var(--fc-card-2);
	border: 1px solid var(--fc-line-2);
	border-radius: 3px;
}
.fc-top .fc-t-rk-pos{
	flex: none;
	min-width: 1.2em;
	color: var(--fc-crimson);
	font-family: var(--fc-font-pixel);
	font-size: 18px;
	line-height: 1;
	text-align: center;
}
.fc-top .fc-t-rk-game{
	min-width: 0;
	color: var(--fc-ink);
	font-size: 15px;
	line-height: 1.5;
}
.fc-top .fc-t-rk-by{
	margin-top: auto;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.5;
}

/* ---- 読みもの ---- */
body.home .fc-top ul.fc-t-posts{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 20px;
}
.fc-top .fc-t-post{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: var(--fc-sp-4);
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: var(--fc-radius-md);
}
.fc-top .fc-t-post-cat{
	color: var(--fc-gold);
	font-size: var(--fc-fs-meta);
	font-weight: 700;
	line-height: 1.5;
}
body.home .fc-top h3.fc-t-post-title{
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}
body .fc-top .fc-t-post-title a{
	display: block;
	margin: -10px 0;
	padding: 10px 0;
	color: var(--fc-ink);
	text-decoration: none;
}
body .fc-top .fc-t-post-title a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}

/* ---- NES の帯 ---- */
.fc-top .fc-t-nes{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--fc-sp-5);
	padding-top: var(--fc-sp-7);
	padding-bottom: var(--fc-sp-7);
	background: var(--fc-ink-bg);
	color: var(--fc-on-ink);
}
.fc-top .fc-t-nes-text{
	flex: 999 1 420px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.fc-top .fc-t-nes .fc-t-eyebrow{ color: var(--fc-gold-on-ink); }
body.home .fc-top .fc-t-nes .fc-t-h2{
	color: var(--fc-on-ink);
	font-size: 28px;
	line-height: 1.5;
}
.fc-top .fc-t-nes-lead{
	max-width: 40em;
	color: var(--fc-on-ink-sub);
	font-size: var(--fc-fs-lead);
	line-height: 1.8;
}
body .fc-top a.fc-t-btn--gold{
	flex: 1 1 240px;
	border-color: var(--fc-gold-fill);
	background: var(--fc-gold-fill);
	color: var(--fc-ink-bg);
}
body .fc-top a.fc-t-btn--gold:hover{
	border-color: var(--fc-gold-on-ink);
	background: var(--fc-gold-on-ink);
	color: var(--fc-ink-bg);
}

/* /fc-db/ の「人気のファミコンソフト40本」へ飛んできたとき、見出しとリード文まで見えるように */
#fc-popular{ scroll-margin-top: 11em; }

/* ---- スマホ（実装指示書 4-5） ---- */
@media screen and (max-width: 740px){
	.fc-top .fc-t-hero{
		gap: var(--fc-sp-5);
		padding: var(--fc-sp-5) 0;
	}
	.fc-top .fc-t-hero-main{ gap: 20px; }
	.fc-top .fc-t-lead{ font-size: var(--fc-fs-body); }
	body .fc-top .fc-t-search input[type="search"],
	body .fc-top .fc-t-search button{ height: 52px; }
	body .fc-top .fc-t-search input[type="search"]{ flex-basis: 180px; }
	body .fc-top .fc-t-search button{ flex: 0 0 auto; padding: 0 22px; }
	/* 入口のチップは横スクロール（画面の端から端まで） */
	.fc-top .fc-t-quick{
		flex-direction: column;
		flex-wrap: nowrap;   /* 折り返しありの縦並びだと、行の幅がチップ全体の長さに引っ張られて横にはみ出す */
		align-items: stretch;
	}
	body.home .fc-top .fc-t-quick ul{
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 0 calc(-1 * var(--fc-t-pad));
		padding: 0 var(--fc-t-pad) 4px;
		scrollbar-width: none;
	}
	body.home .fc-top .fc-t-quick ul::-webkit-scrollbar{ display: none; }
	.fc-top .fc-t-quick li{ flex: none; }
	.fc-top .fc-t-today{ padding: 20px; }
	.fc-top a.fc-t-today-thumb{ height: 180px; }
	/* 数字は 2 項目だけ */
	.fc-top .fc-t-stats{
		gap: var(--fc-sp-3);
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.fc-top .fc-t-stats > div{ flex-basis: 120px; }
	.fc-top .fc-t-stats-more{ display: none !important; }
	body.home .fc-top .fc-t-stats dd{ font-size: 24px; }
	.fc-top .fc-t-head{ margin-bottom: var(--fc-sp-4); }
	.fc-top .fc-t-card{ padding: 20px; }
	.fc-top .fc-t-find-cols > .fc-t-card{ flex-basis: 100%; }
	/* よくアクセス: 1 列の行（順位・画像・題名） */
	body.home .fc-top ol.fc-t-pop{
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.fc-top .fc-t-pop-item{
		display: grid;
		grid-template-columns: 32px 104px minmax(0, 1fr);
		align-items: center;
		gap: 14px;
		padding: 14px 16px 14px 12px;
	}
	.fc-top .fc-t-pop-rank{
		position: static;
		min-width: 0;
		height: auto;
		padding: 0;
		background: none;
		border: 0;
		font-size: 28px;
	}
	.fc-top a.fc-t-pop-thumb{ height: 91px; }
	.fc-top .fc-t-pop-title{ font-size: 17px; }
	body .fc-top .fc-t-pop-title a{ margin: -12px 0; padding: 12px 0; }
	.fc-top .fc-t-rk{ padding: 20px; }
	.fc-top .fc-t-post{ padding: 20px; }
	body.home .fc-top .fc-t-nes .fc-t-h2{ font-size: 22px; }
}

/* =============================================================================
   2026-11-07 リデザイン ステップ6: トップページの「売る前に、相場を確かめる」（実装指示書 4-2 の 5）
   マークアップは page-templates/page-top.php。駿河屋・レトログのリンクは kdtk-fcsearch.php のクラス定数。
   - レトログのリンクコードは改変不可なので、a には何も足さず li.retrog-kaitori-block 側のセレクタだけで装飾する
   - 余白の段はステップ5と同じ（カードの中 12〜14px ＜ カードどうし 24px ＜ 枠の内側 28px）
   ============================================================================= */
/* 白地のセクションが続くところ（売る前に… → ランキングメーカー）の境目の線。パネルの端まで引く */
body.home .fc-top .fc-t-sec--rule{
	margin-left: calc(-1 * var(--fc-t-pad));
	margin-right: calc(-1 * var(--fc-t-pad));
	padding-left: var(--fc-t-pad);
	padding-right: var(--fc-t-pad);
	border-top: 1px solid var(--fc-line-base);
}

/* 記事 2 本のカード（上辺に金の線） */
body.home .fc-top ul.fc-t-resale{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: var(--fc-sp-4);
	margin-bottom: var(--fc-sp-4);
}
body .fc-top a.fc-t-resale-card{
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	padding: 28px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-top: 4px solid var(--fc-gold-fill);
	border-radius: var(--fc-radius-md);
	color: var(--fc-ink);
	text-decoration: none;
}
body .fc-top a.fc-t-resale-card:hover{
	border-color: var(--fc-crimson);
	border-top-color: var(--fc-gold-fill);
}
body .fc-top a.fc-t-resale-card:hover .fc-t-resale-title{ text-decoration: underline; }
.fc-top .fc-t-resale-title{
	font-size: 22px;
	font-weight: 900;
	line-height: 1.45;
}
.fc-top .fc-t-resale-note{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-body);
	line-height: 1.75;
}
.fc-top .fc-t-resale-cta{
	margin-top: auto;
	color: var(--fc-crimson);
	font-size: var(--fc-fs-body);
	font-weight: 700;
	line-height: 1.5;
}

/* そのまま無料査定に出す（PR） */
.fc-top .fc-t-sell .fc-t-card-head{ align-items: center; }
body.home .fc-top ul.fc-t-sell-list{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 14px;
}
body.home .fc-top ul.fc-t-sell-list > li{
	padding: 4px 20px 14px;
	background: var(--fc-card);
	border: 1px solid var(--fc-line-base);
	border-radius: 3px;
}
body.home .fc-top ul.fc-t-sell-list > li > a{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-ink);
	font-size: var(--fc-fs-body);
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}
body.home .fc-top ul.fc-t-sell-list > li > a:hover{
	color: var(--fc-crimson);
	text-decoration: underline;
}
body.home .fc-top ul.fc-t-sell-list > li > a img{
	margin: 0;   /* 計測ピクセル(1×1)にテーマの margin:auto が付き文字がずれるのを防ぐ */
}
.fc-top .fc-t-sell-note{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.6;
}
.fc-top .fc-t-sell-disclaimer{
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-note);
	line-height: 1.8;
}

@media screen and (max-width: 740px){
	body .fc-top a.fc-t-resale-card{ padding: 20px; }
	.fc-top .fc-t-resale-title{ font-size: 20px; }
	body.home .fc-top ul.fc-t-sell-list > li{ padding: 4px 16px 12px; }
}

/* =============================================================================
   2026-11-07 リデザイン ステップ8: 全ページの最終調整（実装指示書 3章・4-5・6章）
   ステップ2〜7で作り直した画面以外（記事・固定ページ・/fc-db/・/nes-db/ トップ・サイドバー・パンくず）も
   同じ書体・色・押せる高さ・画面端の余白にそろえる。色の置き換えはそれぞれの節でその場で行った（「ステップ8」のコメント）
   ============================================================================= */

/* 書体と文字色: 親テーマの body（ヒラギノ・メイリオ）を新しい UI 書体に。記事・固定ページ・サイドバーにも効く */
html body{
	font-family: var(--fc-font-ui);
	color: var(--fc-ink);
}
/* 本文パネルの枠線 */
body #main{
	border-color: var(--fc-line-base);
}
/* 本文中のクラスの無いリンク（記事・固定ページの文中リンク）は深紅に。
   :where() で詳細度を下げ、部品ごとの指定（/fc-db/ のボタン型リンク・人気40本など）が必ず勝つようにしている */
:where(.entry-content) a:not([class]){
	color: var(--fc-crimson);
}
:where(.entry-content) a:not([class]):hover{
	color: var(--fc-crimson-deep);
}

/* 見出し: 作り直していないページ（記事・固定ページ・/fc-db/・/nes-db/ トップ）の H1 も、一覧と同じく線を外して 900 に（文言はそのまま）。
   トップ・一覧・詳細はそれぞれの節のより強いセレクタが優先される */
body .article h1.entry-title{
	margin: 0 0 var(--fc-sp-4);
	padding: 0;
	border: 0;
	color: var(--fc-ink);
	font-size: 32px;
	font-weight: 900;
	line-height: 1.45;
}

/* パンくず（指示書 4-3: 14px）: リンクを 48px の高さに。上下の余白は行が高くなった分だけ詰めて、見出しまでの間隔は以前と同じくらいに */
body #breadcrumb{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: -12px 0 8px;
	color: var(--fc-ink-sub);
	font-size: var(--fc-fs-meta);
	line-height: 1.5;
}
body #breadcrumb .breadcrumb-home,
body #breadcrumb .breadcrumb-item{
	display: inline-flex;
	align-items: center;
	gap: 2px;
}
body #breadcrumb a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	color: var(--fc-ink-sub);
}
body #breadcrumb a:hover{ color: var(--fc-crimson); }

/* 目次（固定ページの TOC プラグイン #toc_container）: 項目を 48px の行に。記事の .fc-toc は「記事(投稿)テンプレ」節 */
body #toc_container{
	background: var(--fc-card-2);
	border-color: var(--fc-line-base);
}
body #toc_container .toc_list li{ margin: 0; }
body #toc_container .toc_list a{
	display: inline-flex;
	align-items: center;
	gap: .4em;
	min-height: var(--fc-tap);
	color: var(--fc-crimson);
}
body #toc_container .toc_list a:hover{ color: var(--fc-crimson-deep); }
/* 目次の開閉（[hide] / [show]）も押せる高さを 48px に（文字はプラグインの設定のまま） */
body #toc_container .toc_toggle a{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	padding: 0 6px;
}

/* サイドバー（本文の下）: 最近の投稿などの項目を 48px の行に */
/* 記事下の「前の記事 / 次の記事」（親テーマの .navigation。旧 #2098A8 は白地で 3.4:1） */
body .navigation a{ color: var(--fc-crimson); }
body .navigation a:hover{ color: var(--fc-crimson-deep); }

body #sidebar .widget li{ margin: 0; }
body #sidebar .widget li a{
	display: flex;
	align-items: center;
	min-height: var(--fc-tap);
}
/* 最近の投稿（2026-11-07）: スマホで題名が折り返すと、投稿どうしの間（4px）が題名の中の行間（3px）と同じで
   どこから次の投稿か分からなかった。投稿ごとに上下 12px と区切り線を入れ、全行の下線は消す（区切り線で項目を見せる）。
   左の字下げも外して見出しと揃える */
body #sidebar .widget_recent_entries ul{
	margin: 0;
	padding: 0;
	list-style: none;
}
body #sidebar .widget_recent_entries li + li{
	border-top: 1px solid var(--fc-line-base);
}
body #sidebar .widget_recent_entries li a{
	padding: 12px 0;
	text-decoration: none;
}
body #sidebar .widget_recent_entries li a:hover{
	text-decoration: underline;
}

/* 本文直下のリストで、項目がリンクだけのもの（about の「関連ページ」など）は 48px に。
   文中にリンクが 1 つだけある項目にも当たるが、inline-flex なので改行はせず、その行が少し高くなるだけ */
body .entry-content > ul > li > a:only-child,
body .entry-content > ol > li > a:only-child{
	display: inline-flex;
	align-items: center;
	min-height: var(--fc-tap);
	vertical-align: middle;
}

/* 本文中のフォーム（/nes-db/ の検索・お問合せ）: 入力欄とボタンを 48px に、入力欄の文字は 16px（iOS の自動ズーム防止を兼ねる） */
body .entry-content input[type="text"],
body .entry-content input[type="email"],
body .entry-content input[type="search"],
body .entry-content input[type="tel"],
body .entry-content input[type="url"],
body .entry-content input[type="number"],
body .entry-content input[type="password"],
body .entry-content select,
body .entry-content textarea{
	min-height: var(--fc-tap);
	box-sizing: border-box;
	font-size: 16px;
}
body .entry-content input[type="submit"],
body .entry-content input[type="button"],
body .entry-content button{
	min-height: var(--fc-tap);
	box-sizing: border-box;
}

@media screen and (max-width: 740px){
	/* 画面端の余白 16px（親テーマは 10px。トップはステップ5で同じ値にしてある） */
	body #main,
	body #sidebar{
		padding-left: 16px;
		padding-right: 16px;
	}
	body .article h1.entry-title{ font-size: 24px; }
	/* 記事の表: 親テーマのスマホ用 85%（12.5px）を打ち消して、表の基本サイズ（.92em）のままに */
	body.single-post .article th,
	body.single-post .article td{
		font-size: inherit;
	}
}
