/* JASMR +18 スキン: momonga由来のダーク基調＋末尾の「案C ブラック×アンバー」（2026-09-14 ユーザー決定）で配色を上書き。参考レイアウト=4列縦長サムネグリッド */

:root {
	--mg-pink: #FA2198;
	--mg-accent2: #ff5fb4;
	--mg-bg: #1a1a1a;
	--mg-panel: #222;
	--mg-soft: #2b2b2b;
	--mg-line: rgba(255, 255, 255, 0.12);
	--mg-text: #f0f0f0;
	--mg-muted: rgba(255, 255, 255, 0.55);
}

html {
	background: var(--mg-bg);
}
body {
	background: var(--mg-bg) !important;
	color: var(--mg-text);
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif !important; /* 2026-09-09 端末フォント */
	/* サンプル画像のフルブリード(100vw)がスクロールバー分はみ出すのを防ぐ */
	overflow-x: hidden;
}

/* ===== ヘッダー（非追従・通常スクロール） ===== */
#mg-header {
	width: 100%;
	height: 50px;
	background: var(--mg-pink);
	text-align: center;
}
#mg-header-in {
	max-width: 1024px;
	margin: 0 auto;
	position: relative;
}
#mg-logo {
	display: inline-block;
	line-height: 50px;
	color: #fff !important;
	font-family: 'Ubuntu', -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none !important;
}
#mg-logo span {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
}

/* ===== コンテナ ===== */
#mg-container {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}
#mg-main {
	margin: 20px 16px 40px;
}

/* 固定ページ等は白パネルで可読性を保つ（JIN:Rのコンテンツ配色前提のため） */
#mg-main.mg-light-panel {
	/* 白パネル内では配色変数を明色用に差し替える（末尾の固定ページ用ルールが var(--mg-text) 等を使うため・2026-09-14） */
	--mg-text: #333;
	--mg-muted: #777;
	--mg-line: #e6e6e6;
	--mg-panel: #f5f5f5;
	background: #fff;
	color: #333;
	border-radius: 12px;
	padding: 28px 22px;
}
@media (min-width: 600px) {
	#mg-main.mg-light-panel { padding: 36px 40px; }
}

/* ===== ヒーロー ===== */
.mg-hero {
	background: #000;
	border-radius: 12px;
	text-align: center;
	padding: 34px 16px;
	margin-bottom: 30px;
}
.mg-hero-catch {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 8px;
}
.mg-hero-desc {
	font-size: 13px;
	color: var(--mg-muted);
	margin: 0;
}

.mg-section-title {
	color: var(--mg-pink);
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 18px;
}

.mg-front-note {
	font-size: 11.5px;
	color: var(--mg-muted);
	text-align: center;
	margin-top: 30px;
}

/* ===== 作品カードグリッド（参考: 4列 / モバイル2列・縦長1:1.35） ===== */
.post-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 12px;
	margin-bottom: 30px;
}
@media (min-width: 700px) {
	.post-list { grid-template-columns: repeat(4, 1fr); gap: 34px 16px; }
}
.post-list > a {
	display: block;
	color: var(--mg-text) !important;
	text-decoration: none !important;
}
.post-list-image {
	position: relative;
	width: 100%;
	/* 実測: メイン画像の9割が4:3横長(h/w=0.75)のため枠も4:3に合わせる */
	padding-bottom: 75%;
	background: var(--mg-panel);
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 7px;
}
.post-list-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
/* 背景: 同じ画像をぼかしてcoverで敷き、枠の余白を埋める */
.post-list-image .pl-bg {
	object-fit: cover;
	filter: blur(16px) brightness(0.55) saturate(1.1);
	transform: scale(1.15);
}
/* 前景: 表紙全体が見えるcontain表示 */
.post-list-image .pl-main {
	object-fit: contain;
	object-position: center;
	transition: transform 0.15s ease;
}
.post-list > a:hover .post-list-image .pl-main { transform: scale(1.03); }
.post-list > a > span {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	width: 100%;
	line-height: 1.4;
	font-size: 13.5px;
}
.post-list-time {
	font-size: 10px;
	color: var(--mg-muted);
	text-align: right;
	margin-top: 3px;
}

/* ランキング用: CSSカウンタで順位バッジを重ねる */
.post-list--ranked { counter-reset: mg-rank; }
.post-list--ranked > a { position: relative; }
.post-list--ranked > a::before {
	counter-increment: mg-rank;
	content: counter(mg-rank);
	position: absolute;
	top: -8px;
	left: -6px;
	z-index: 2;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	background: var(--mg-pink);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}
.post-list--ranked > a:nth-child(n+4)::before {
	background: #333;
	color: rgba(255, 255, 255, 0.85);
}

/* セクション見出し行（サブテキスト付き） */
.mg-section-head {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 36px 0 18px;
}
.mg-section-head .mg-section-title { margin: 0; }
.mg-section-sub {
	font-size: 12px;
	color: var(--mg-muted);
}

/* バナー枠（ウィジェット: トップバナー） */
.mg-banner-area {
	margin: 0 0 26px;
	text-align: center;
}
.mg-banner-area img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

/* ===== ハブページ（サークル/ジャンル） ===== */
.fanza-hub {
	max-width: 1024px;
	margin: 0 auto;
	line-height: 1.8;
}
.fanza-hub .fanza-breadcrumb {
	font-size: 12px;
	color: var(--mg-muted);
	margin-bottom: 12px;
}
.fanza-hub .fanza-breadcrumb a { color: var(--mg-muted) !important; }
.fanza-hub .fanza-breadcrumb .sep { margin: 0 6px; }
.fanza-hub-title {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 4px;
}
.fanza-hub-meta {
	font-size: 12.5px;
	color: var(--mg-muted);
	margin: 0 0 14px;
}
.fanza-hub-profile {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	background: #222;
	border-radius: 10px;
	padding: 14px 16px;
	margin: 0 0 18px;
}
.fanza-hub .mg-section-title { margin-top: 34px; }
.fanza-hub .fanza-genre-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.fanza-genre-chips a.chip {
	background: #2b2b2b;
	border-radius: 999px;
	font-size: 12.5px;
	padding: 4px 12px;
	color: rgba(255, 255, 255, 0.8) !important;
	text-decoration: none !important;
}
.fanza-genre-chips a.chip:hover {
	background: var(--mg-pink);
	color: #fff !important;
}

/* ===== フッター ===== */
#mg-footer {
	background: #000;
	text-align: center;
	padding: 30px 16px 40px;
	margin-top: 40px;
}
#mg-footer-nav ul {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 22px;
}
#mg-footer-nav a {
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 12.5px;
	text-decoration: none;
}
#mg-footer-nav a:hover { color: #fff !important; }
.mg-footer-note {
	font-size: 11px;
	color: var(--mg-muted);
	margin: 0 0 6px;
}
.mg-footer-copy {
	font-size: 11px;
	color: var(--mg-muted);
	margin: 0;
}

/* ===== ヘッダー内ナビ（ランキング・新着） ===== */
#mg-header-nav {
	position: absolute;
	right: 8px;
	top: 0;
	height: 50px;
	display: flex;
	align-items: center;
	gap: 2px;
}
#mg-header-nav a {
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	padding: 8px 10px;
	border-radius: 6px;
}
#mg-header-nav a:hover { background: rgba(255, 255, 255, 0.18); }
@media (max-width: 640px) {
	#mg-logo { margin-right: 150px; }
	#mg-logo span { display: none; }
	#mg-header-nav a { font-size: 11px; padding: 8px 5px; }
}

/* セクション見出しの「もっと見る」 */
.mg-section-more {
	margin-left: auto;
	font-size: 12px;
	font-weight: 700;
	color: var(--mg-pink) !important;
	text-decoration: none !important;
	white-space: nowrap;
}
.mg-section-more:hover { text-decoration: underline !important; }

/* ===== /ranking/・/new/ アーカイブページ見出し ===== */
.mg-archive-head { margin: 26px 0 20px; }
.mg-archive-head h1 {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 8px;
}
.mg-archive-desc {
	font-size: 13px;
	color: var(--mg-muted);
	margin: 0;
}
.mg-archive-date { margin-left: 8px; }

/* 3桁順位でもバッジに収まるように */
.post-list--ranked > a:nth-child(n+100)::before { font-size: 11px; }

/* ===== サイト内検索 ===== */
.mg-search {
	display: flex;
	gap: 8px;
	max-width: 560px;
	margin: 0 0 24px;
}
.mg-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.06);
	color: #f0f0f0;
	font-size: 15px;
}
.mg-search input[type="search"]::placeholder { color: rgba(255, 255, 255, 0.35); }
.mg-search input[type="search"]:focus {
	outline: none;
	border-color: var(--mg-pink);
}
.mg-search button {
	padding: 10px 22px;
	border: none;
	border-radius: 8px;
	background: var(--mg-pink);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.mg-search-hero { margin: 18px auto 0; }
.mg-search-count {
	margin-left: 10px;
	font-size: 12px;
	font-weight: 400;
	color: var(--mg-muted);
}
.mg-search-empty { color: var(--mg-muted); }

/* ===== バナー枠（fanza-media: wp fanza banner で設置） ===== */
.fanza-banner {
	text-align: center;
	margin: 30px 0;
}
/* inner は差し込み前から同じ縦横比で高さを確保（inline style の aspect-ratio）。ins/img は block にして行間の隙間を作らない */
.fanza-banner-inner { display: block; margin: 0 auto; }
.fanza-banner ins.widget-banner { display: block; text-decoration: none; }
.fanza-banner img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
	margin: 0 auto;
}
/* --device=sp / pc の出し分けは wp_is_mobile() でサーバー側（Fanza_Banners::pick_html） */
.fanza-banner--home_top { margin: 0 0 26px; }
.fanza-banner--list_mid { margin: 6px 0 36px; }

/* 一覧を list_mid で分割した続きのグリッド: 順位は21以降なので全てグレー、100位は3桁 */
.post-list--ranked-cont > a::before {
	background: #333;
	color: rgba(255, 255, 255, 0.85);
}
.post-list--ranked-cont > a:nth-child(n+80)::before { font-size: 11px; }

/* 収録内容（音声サイト・Phase 2a） */
.fanza-tracks-body{font-size:14px;line-height:1.8;color:var(--mg-text);background:var(--mg-panel);border:1px solid var(--mg-line);border-radius:10px;padding:14px 16px;max-height:520px;overflow:auto;white-space:pre-wrap;word-break:break-word}
.fanza-tracks-meta{margin:8px 0 0;font-size:12px;color:var(--mg-muted)}
/* 正規誘導の注意喚起（作品ページ末尾・2026-09-13） */
.fanza-legit-notice{margin:30px 0 0;padding:16px 18px;background:var(--mg-panel);border:1px solid var(--mg-line);border-radius:10px}
.fanza-legit-notice h2{font-size:16px;margin:0 0 8px;border-left:4px solid var(--mg-pink);padding-left:10px;line-height:1.4}
.fanza-legit-notice p{margin:0;font-size:13.5px;line-height:1.75;color:var(--mg-text)}
/* 固定ページ（運営者情報・プライバシー等）の見出し/段落/表の余白を整理（2026-09-13 ユーザー指摘: JIN:R 既定は h2 行高47px＋直下の p に上余白33px で h2 直下が間延び） */
#mg-main.mg-light-panel h2{font-size:21px;line-height:1.45;margin:38px 0 12px;padding:0 0 8px;border-bottom:2px solid var(--mg-line);color:var(--mg-text)}
#mg-main.mg-light-panel h2:first-child{margin-top:4px}
#mg-main.mg-light-panel h1,#mg-main.mg-light-panel .entry-title{font-size:26px;line-height:1.4;margin:0 0 18px;padding:0}
#mg-main.mg-light-panel h1+*{margin-top:0}
#mg-main.mg-light-panel>*:first-child{margin-top:0}
/* JIN:R の本文コンテナ（#mainContentInner 上45px・#postContent 上45px）が h1 の前後に足されて間延びするので固定ページ内では0に */
#mg-main.mg-light-panel #mainContentInner{padding-top:0}
#mg-main.mg-light-panel #postHeader{margin:0 0 22px}
#mg-main.mg-light-panel #postContent{margin-top:0}
#mg-main.mg-light-panel h1,#mg-main.mg-light-panel .entry-title{margin-bottom:0}
#mg-main.mg-light-panel h3{font-size:16.5px;line-height:1.5;margin:22px 0 8px;padding:0 0 0 10px;border-left:4px solid var(--mg-pink);color:var(--mg-text)}
#mg-main.mg-light-panel h2+*,#mg-main.mg-light-panel h3+*{margin-top:0}
#mg-main.mg-light-panel p{margin:0 0 16px;line-height:1.85;font-size:15px}
#mg-main.mg-light-panel table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14.5px}
#mg-main.mg-light-panel th,#mg-main.mg-light-panel td{border-bottom:1px solid var(--mg-line);padding:9px 10px;text-align:left;vertical-align:top;line-height:1.6}
#mg-main.mg-light-panel th{width:8.5em;color:var(--mg-muted);font-weight:600;white-space:nowrap;background:var(--mg-panel)}
#mg-main.mg-light-panel ul,#mg-main.mg-light-panel ol{margin:0 0 16px;padding-left:1.4em}
#mg-main.mg-light-panel li{margin:0 0 4px;line-height:1.8}

/* 多言語セクション（Phase 2b・2026-09-13）: 言語切替バー・言語版作品ページ */
.fanza-langbar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;font-size:12.5px}
.fanza-langbar a,.fanza-langbar .cur{display:inline-block;padding:4px 10px;border:1px solid var(--mg-line);border-radius:999px;background:var(--mg-panel);color:var(--mg-muted)!important;text-decoration:none}
.fanza-langbar .cur{background:var(--mg-pink);border-color:var(--mg-pink);color:#fff!important}
.fanza-langbar a:hover{color:var(--mg-text)!important;border-color:var(--mg-pink)}
.fanza-edition-badge{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:999px;background:var(--mg-panel);color:var(--mg-text);font-size:12px;border:1px solid var(--mg-line)}
.fanza-lwork-desc{white-space:pre-wrap;font-size:14px;line-height:1.85;color:var(--mg-text);background:var(--mg-panel);border:1px solid var(--mg-line);border-radius:10px;padding:14px 16px;max-height:520px;overflow:auto}
.fanza-lwork-note{font-size:12.5px;color:var(--mg-muted);margin:0 0 8px}
.fanza-lhub-lead{margin:0 0 16px;font-size:14px;line-height:1.8}
.fanza-lhub-about{margin:28px 0 0;padding:14px 16px;background:var(--mg-panel);border:1px solid var(--mg-line);border-radius:10px;font-size:13.5px;line-height:1.8}
.fanza-lhub-about h2{font-size:15px;margin:0 0 6px}

/* ===== JASMR +18（2026-09-14）: 一覧ページ（声優・ジャンル・サークル）と「無料・体験版」ページ ===== */
.mg-hub-index .fanza-genre-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 24px}
.mg-hub-index .chip .n,.mg-chip-list .chip .n{margin-left:4px;font-size:11px;color:var(--mg-muted)}
.mg-hub-index .chip:hover .n,.mg-chip-list .chip:hover .n{color:#fff}
.mg-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.mg-free-note{font-size:12.5px;color:var(--mg-muted);margin:6px 0 20px;line-height:1.7}
.mg-free-counts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.mg-free-counts span{background:var(--mg-panel);border:1px solid var(--mg-line);border-radius:8px;padding:6px 12px;font-size:13px}
.mg-free-counts b{color:var(--mg-pink);font-size:15px;margin:0 2px}

/* ===== 案C ブラック×アンバー（2026-09-14 ユーザー決定）: momonga 由来のダーク基調の配色を上書き ===== */
:root{--mg-pink:#f5b301;--mg-accent2:#ff8a00;--mg-bg:#101010;--mg-panel:#1b1b1b;--mg-soft:#242424;--mg-line:rgba(255,255,255,.10);--mg-text:#f3f0ea;--mg-muted:rgba(243,240,234,.58)}
html,body{background:var(--mg-bg)!important}
body{color:var(--mg-text)}
#mg-header{background:#0a0a0a;border-bottom:2px solid var(--mg-pink)}
#mg-logo{color:var(--mg-pink)!important}
#mg-header-nav a{color:var(--mg-text)!important}
#mg-header-nav a:hover{background:rgba(245,179,1,.14);color:var(--mg-pink)!important}
.mg-hero{background:linear-gradient(135deg,#1c1710,#121212);border:1px solid rgba(245,179,1,.25)}
.mg-hero-catch{color:var(--mg-pink)}
.mg-section-title{border-left:5px solid var(--mg-pink);padding-left:10px;line-height:1.25}
.post-list--ranked>a::before{color:#111}
.fanza-genre-chips a.chip{background:var(--mg-soft)}
.fanza-genre-chips a.chip:hover{background:var(--mg-pink);color:#111!important}
.mg-hub-index .chip:hover .n,.mg-chip-list .chip:hover .n{color:#111}
.mg-search button{color:#111}
#mg-footer{background:#0a0a0a;border-top:1px solid var(--mg-line)}
#mg-footer-nav a:hover{color:var(--mg-pink)!important}
.fanza-langbar .cur{color:#111!important}
/* 固定ページ（白パネル）内はアクセントを濃いアンバーにして白地でも読めるように */
#mg-main.mg-light-panel{--mg-pink:#a97800}
#mg-main.mg-light-panel a{color:#8a6100}
/* スマホ: 見出し行のサブテキストを2行目へ回し、見出しが「新着作／品」のように折り返さないように（2026-09-14） */
@media (max-width:600px){
	.mg-section-head{flex-wrap:wrap;row-gap:4px}
	.mg-section-head .mg-section-title{white-space:nowrap;font-size:21px}
	.mg-section-sub{order:3;flex-basis:100%}
}
/* スマホ: 固定ページの表（運営者情報など）は見出しセルが幅を取り本文が細く折り返すので、見出し→本文の縦積みにする（2026-09-14） */
@media (max-width:600px){
	#mg-main.mg-light-panel table,#mg-main.mg-light-panel tbody,#mg-main.mg-light-panel tr,#mg-main.mg-light-panel th,#mg-main.mg-light-panel td{display:block;width:auto}
	#mg-main.mg-light-panel tr{border-bottom:1px solid var(--mg-line)}
	#mg-main.mg-light-panel th{border-bottom:none;padding:9px 10px 3px;white-space:normal;background:transparent;font-size:12.5px}
	#mg-main.mg-light-panel td{border-bottom:none;padding:0 10px 10px}
}
