/* =========================================================
 * 記事の本文と、記事のブロック（article-pc / article-sp）
 * このファイルはブロックエディタの中でも読み込まれます。
 * （.is-root-container はエディタの本文の入れ物です）
 * ======================================================= */

/* ---------- 本文 ---------- */
.entry-content, .is-root-container { font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink); letter-spacing: .02em; } /* 字の間を少しあけて、詰まって見えないように（2026-11-03） */
.entry-content > * { margin-top: 0; margin-bottom: 0; }
.entry-content > * + * { margin-top: 18px; }
.entry-content > h2,
.entry-content > .post-inject,
.entry-content > .post-inject + *,
.entry-content > .otaku-conclusion,
.entry-content > .otaku-conclusion + * { margin-top: 28px; }
.entry-content > :first-child { margin-top: 0; }

.entry-content h2, .is-root-container h2 {
	background: var(--navy); color: #fff; font-size: 22px; font-weight: 900; line-height: 1.5;
	padding: 14px 20px; border-radius: 6px; word-break: auto-phrase;
}
/* 見出しのデザイン（設定画面の「文字」で選びます。初期は上の帯） */
/* 本文（16px）とひと目で分かるよう、h2 は 24px・太字に（ユーザーの決定 2026-10-28：見出しが本文とあまり変わらない） */
.h2-line .entry-content h2 { background: none; color: var(--ink); font-size: 24px; font-weight: 900; border-left: 6px solid var(--navy); border-radius: 0; padding: 2px 0 2px 14px; }
.h2-under .entry-content h2 { background: none; color: var(--ink); border-bottom: 3px solid var(--navy); border-radius: 0; padding: 0 0 8px; }
.entry-content h3, .is-root-container h3 {
	font-size: 20px; font-weight: 900; line-height: 1.5; display: flex; align-items: flex-start; gap: 10px; /* 2行の見出しでも、赤い四角は1行めの高さに（2026-11-02） */
	padding-bottom: 8px; border-bottom: 2px solid var(--bd); word-break: auto-phrase;
}
.entry-content > h3 { margin-top: 26px; }
.entry-content h3::before, .is-root-container h3::before {
	content: ""; width: 10px; height: 10px; background: var(--red); border-radius: 2px; flex-shrink: 0; margin-top: calc(.75em - 5px);
}
.entry-content h4, .is-root-container h4 { font-size: 17px; font-weight: 900; line-height: 1.6; }
.entry-content p a, .entry-content li a, .is-root-container p a, .is-root-container li a { color: var(--link); text-decoration: underline; }
.entry-content p a:hover, .entry-content li a:hover { color: var(--red); }
.entry-content ul, .entry-content ol, .is-root-container ul, .is-root-container ol { padding-left: 1.5em; }
.entry-content li + li { margin-top: 4px; }
.entry-content strong, .is-root-container strong { font-weight: 900; }
/* 黄色のマーカー（原稿の ==文==。読者がいちばん持ち帰るべき1文だけ。見出し1つに1か所・1記事5か所まで） */
.entry-content mark.otaku-marker, .is-root-container mark.otaku-marker {
	background: linear-gradient(transparent 58%, #ffe866 58%); color: inherit; font-weight: 700; padding: 0 1px;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
/* 編集部のひとこと（編集者の声）の中のマーカーはピンク（ユーザーの決定 2026-10-29） */
.entry-content .otaku-exp mark.otaku-marker, .is-root-container .otaku-exp mark.otaku-marker { background: linear-gradient(transparent 58%, #ffc7dd 58%); }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content img { border-radius: 8px; }
.entry-content .wp-block-table table, .is-root-container .wp-block-table table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.7; }
.entry-content .wp-block-table th, .entry-content .wp-block-table td,
.is-root-container .wp-block-table th, .is-root-container .wp-block-table td { border: 1px solid var(--bd2); padding: 10px 14px; }
.entry-content .wp-block-table thead th, .is-root-container .wp-block-table thead th { background: var(--bg1); font-weight: 900; text-align: left; }
.entry-content blockquote { border-left: 4px solid var(--bd2); margin-left: 0; padding: 4px 0 4px 16px; color: var(--body); }
.otaku-empty { font-size: 13px; color: var(--sub); background: var(--bg2); border-radius: 8px; padding: 10px 14px; }
.em-red { color: var(--red); font-style: normal; }

/* ---------- 編集部のひとこと（型の otaku-exp 段落。点線の枠とメモのアイコン） ---------- */
.otaku-exp { border: 2px dashed #b9c2d3; border-radius: 10px; background: #fbfcfe; padding: 14px 18px 16px; }
.otaku-exp::before {
	content: "編集部のひとこと"; display: block; margin-bottom: 6px; padding-left: 30px; min-height: 24px;
	font-size: 14px; font-weight: 900; line-height: 24px; color: var(--navy);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%231f3a6e'/%3E%3Cpath d='M7 5.5h7.2L17 8.3V18.5H7z' fill='%23fff'/%3E%3Cpath d='M14.2 5.5v2.8H17' fill='%23c9d3e6'/%3E%3Cpath d='M9 10.6h5.6M9 13.1h5.6M9 15.6h3.2' stroke='%231f3a6e' stroke-width='1.1' stroke-linecap='round'/%3E%3Cpath d='M14.6 18.9l.5-2 4.3-4.3 1.5 1.5-4.3 4.3z' fill='%23f0a000'/%3E%3C/svg%3E") no-repeat left center / 24px 24px;
}

/* ---------- この記事の結論 ---------- */
.otaku-conclusion { border: 2px solid var(--red); border-radius: 12px; overflow: hidden; line-height: normal; }
.otaku-conclusion__head { background: var(--red); color: #fff; font-weight: 900; font-size: 15px; padding: 10px 20px; }
.otaku-conclusion__body { padding: 20px 22px; display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; align-items: center; }
.otaku-conclusion__main { display: flex; flex-direction: column; gap: 10px; }
.otaku-conclusion__line { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.otaku-conclusion__label { font-size: 14px; color: var(--body); }
.otaku-conclusion__value { font-size: 24px; font-weight: 900; word-break: auto-phrase; }
.otaku-conclusion__note { font-size: 13px; color: var(--sub); line-height: 1.7; }
.otaku-conclusion__side { display: flex; flex-direction: column; gap: 8px; }
.otaku-conclusion__book { display: flex; gap: 10px; align-items: center; }
.otaku-conclusion__cover {
	width: 52px; aspect-ratio: 3 / 4; border-radius: 3px; flex-shrink: 0; overflow: hidden;
	background: var(--stripe-red);
}
.otaku-conclusion__cover img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.otaku-conclusion__cover.is-logo { width: 44px; aspect-ratio: 1; background: none; border-radius: 10px; } /* サービスのレビュー記事はロゴ */
.otaku-conclusion__cover.is-logo .svc-logo { width: 44px; height: 44px; }
.otaku-conclusion__cover.is-logo img { object-fit: contain; }
.otaku-conclusion__cover.is-logo:has(.is-wordmark) { width: auto; aspect-ratio: auto; } /* 横長の文字のロゴ（base.css の .is-wordmark）は、枠ごと横に広げます */
.otaku-conclusion__book-title { font-size: 12px; line-height: 1.5; font-weight: 700; }
.otaku-conclusion__btn {
	background: var(--btn); color: #fff !important; text-align: center; font-weight: 900; font-size: 14px; padding: 12px;
	border-radius: 999px; box-shadow: 0 3px 0 var(--btn-sh); text-decoration: none !important; transition: transform .1s;
}
.otaku-conclusion__btn:hover { transform: translateY(-2px); }
.otaku-conclusion__pr { font-size: 11px; color: var(--sub); text-align: center; }

/* ---------- 吹き出し ---------- */
.otaku-balloon { display: flex; gap: 14px; align-items: flex-start; }
.otaku-balloon--right { flex-direction: row-reverse; }
.otaku-balloon__who { display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; line-height: normal; }
.otaku-balloon__icon {
	width: 60px; height: 60px; border-radius: 50%; overflow: hidden; display: block;
	background: repeating-linear-gradient(135deg, #eaf1fb 0 5px, #dfe8f6 5px 10px); border: 2px solid var(--blue);
}
.otaku-balloon--editor .otaku-balloon__icon { background: repeating-linear-gradient(135deg, #fdeeed 0 5px, #f8dedb 5px 10px); border-color: var(--red); }
.otaku-balloon__icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.otaku-balloon__name { font-size: 11px; font-weight: 700; color: var(--sub); }
.otaku-balloon__text { background: var(--blue-bg); border-radius: 12px; padding: 14px 18px; font-size: 15px; line-height: 1.85; max-width: 560px; }
.otaku-balloon--editor .otaku-balloon__text { background: var(--red-bg); }

/* ---------- 話数の対応表 ---------- */
.otaku-eptable { border: 1px solid var(--bd2); border-radius: 8px; overflow: hidden; font-size: 14px; line-height: normal; }
.otaku-eptable__row { display: grid; grid-template-columns: 110px 130px minmax(0, 1fr); border-top: 1px solid var(--row); background: #fff; }
.otaku-eptable__row > :is(span, th, td) { padding: 11px 14px; }
.otaku-eptable__row--head { background: var(--bg1); font-weight: 900; font-size: 13px; border-top: 0; }
.otaku-eptable__row--head > :is(span, th, td) { padding: 10px 14px; }
.otaku-eptable__ep, .otaku-eptable__src { font-weight: 700; }
.otaku-eptable__note { color: var(--body); }
.otaku-eptable__row.is-last { background: var(--ebook-bg); }
.otaku-eptable__row.is-last .otaku-eptable__src { color: var(--red); }

/* ---------- 作品データ ---------- */
.otaku-workdata {
	display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 22px; border: 1px solid var(--bd2);
	border-radius: 10px; padding: 20px; line-height: normal;
}
.otaku-workdata__img { border-radius: 6px; }
.otaku-workdata__img .thumb__ph-label { font-size: 10px; bottom: 8px; left: 8px; }
.otaku-workdata__rows { display: flex; flex-direction: column; }
.otaku-workdata__row { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--row); font-size: 14px; }
.otaku-workdata__k { color: var(--sub); font-weight: 700; }
.otaku-workdata__v { font-weight: 500; line-height: 1.6; }

/* ---------- ネタバレ注意 ---------- */
.otaku-spoiler { border: 2px dashed var(--gold); border-radius: 10px; overflow: hidden; line-height: normal; }
.otaku-spoiler__head { background: var(--amber-bg); padding: 12px 18px; display: flex; align-items: center; gap: 10px; }
.otaku-spoiler__tag { background: var(--amber); color: #fff; font-size: 11px; font-weight: 900; padding: 2px 8px; border-radius: 3px; white-space: nowrap; }
/* 記事の型の部品（README_追加3_仕上げと運営.md の 2・article-templates の見た目） */
.otaku-spoil-notice { display: flex; gap: 10px; align-items: center; font-size: 13px; font-weight: 700; background: #fff4e0; border: 1px solid var(--gold); border-radius: 8px; padding: 10px 14px; line-height: 1.6; }
.otaku-spoil-notice__tag { background: var(--gold); color: var(--ink); font-size: 11px; font-weight: 900; padding: 2px 8px; border-radius: 4px; white-space: nowrap; }
.otaku-pv { margin-left: 0; margin-right: 0; margin-bottom: 0; display: flex; flex-direction: column; gap: 6px; max-width: 560px; }
.otaku-pv__play { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: 10px; overflow: hidden; background: var(--ink); cursor: pointer; }
.otaku-pv__play img { width: 100%; height: 100%; object-fit: cover; display: block; }
.otaku-pv__icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 68px; height: 48px; border-radius: 12px; background: var(--red); color: #fff; font-size: 20px; display: flex; align-items: center; justify-content: center; }
.otaku-pv__frame { position: relative; width: 100%; max-width: 560px; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #000; }
.otaku-pv__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.otaku-pv__cap { font-size: 11px; color: var(--sub); }
.otaku-sched { border: 1px solid #d5d9e2; border-radius: 10px; overflow: hidden; }
.otaku-sched__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #eef0f4; font-size: 13px; }
.otaku-sched__row > :is(th, td) { padding: 10px 14px; }
.otaku-sched__row--head { background: var(--ink); color: #fff; font-size: 12px; font-weight: 700; border-top: 0; }
.otaku-sched-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d5d9e2; border-radius: 10px; overflow: hidden; }
.otaku-sched-info__row { display: grid; grid-template-columns: 110px minmax(0, 1fr); border-bottom: 1px solid #eef0f4; font-size: 13px; }
.otaku-sched-info__row > th { background: var(--bg2); padding: 9px 12px; font-weight: 700; color: var(--body); }
.otaku-sched-info__row > td { padding: 9px 12px; }
.otaku-sched-info__list, .entry-content .otaku-sched-info__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.otaku-sched-info__list b { font-weight: 700; margin-right: 6px; }
.otaku-sched-info__list span { color: var(--body); }
@media (max-width: 768px) {
	.otaku-sched-info { grid-template-columns: 1fr; }
	/* スマホ：見出しの列の下に中身を出して、横幅を広く使います（配信の欄が細い列に押し込まれないように。2026-11-03） */
	.otaku-sched-info__row { grid-template-columns: 1fr; }
	.otaku-sched-info__row > th { padding: 6px 12px; font-size: 12px; }
	.otaku-sched-info__row > td { padding: 10px 12px; }
}
.otaku-spoiler-line { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-top: 2px dashed var(--gold); border-bottom: 2px dashed var(--gold); background: var(--amber-bg); line-height: normal; }
.otaku-spoiler-line__tag { background: var(--amber); color: #fff; font-size: 12px; font-weight: 900; padding: 3px 10px; border-radius: 3px; white-space: nowrap; }
.otaku-spoiler-line__note { font-size: 13px; font-weight: 700; color: var(--amber); }
.otaku-spoiler__title { font-size: 14px; font-weight: 700; }
.otaku-spoiler__closed { padding: 20px 18px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.otaku-spoiler__note { font-size: 13px; color: var(--sub); }
.otaku-spoiler__btn {
	border: 1.5px solid var(--amber); background: #fff; color: var(--amber); font-weight: 900; font-size: 14px;
	padding: 10px 26px; border-radius: 999px; cursor: pointer; transition: all .15s;
}
.otaku-spoiler__btn:hover { background: var(--amber); color: #fff; }
.otaku-spoiler__body { display: none; padding: 16px 18px; font-size: 15px; line-height: 1.95; }
.otaku-spoiler__body > * { margin: 0; }
.otaku-spoiler__body > * + * { margin-top: 12px; }
.otaku-spoiler.is-open .otaku-spoiler__body { display: block; }
.otaku-spoiler.is-open .otaku-spoiler__closed { display: none; }

/* ---------- 配信状況の比較表 ---------- */
.otaku-vod { display: flex; flex-direction: column; gap: 18px; line-height: normal; }
.otaku-vod__legend { display: flex; gap: 16px; font-size: 12px; color: var(--body); flex-wrap: wrap; white-space: nowrap; }
.otaku-vod__legend b { font-weight: 900; }
.otaku-vod__date { margin-left: auto; color: var(--sub); }
.otaku-vod__table { border: 1px solid var(--bd2); border-radius: 8px; overflow: hidden; }
.otaku-vod__row { display: grid; grid-template-columns: minmax(0, 1fr) 56px 56px 128px; border-top: 1px solid var(--row); align-items: center; background: #fff; }
.otaku-vod--one .otaku-vod__row { grid-template-columns: minmax(0, 1fr) 56px 128px; } /* 放送が終わった作品：「最新話」の列なし */
.otaku-vod__row.is-top { background: #fffaf0; }
.otaku-vod__row--head { background: var(--ink); color: #fff; font-size: 12px; font-weight: 700; border-top: 0; }
.otaku-vod__row--head > :is(span, th, td) { padding: 10px 14px; }
.otaku-vod__row--head > .c { padding: 10px 0; text-align: center; white-space: nowrap; }
.otaku-vod__svc { padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.otaku-vod__name { font-weight: 900; font-size: 15px; word-break: keep-all; }
.otaku-vod__point { font-size: 12px; color: var(--body); line-height: 1.6; }
.otaku-vod__mark { text-align: center; font-size: 20px; font-weight: 900; }
.otaku-vod__btn {
	margin: 0 12px 0 4px; white-space: nowrap; background: var(--navy); color: #fff !important; text-align: center;
	font-weight: 700; font-size: 13px; padding: 10px 4px; border-radius: 999px; text-decoration: none !important; transition: background .15s;
}
.otaku-vod__btn:hover { background: var(--navy-h); }
.otaku-vod__btn--none { cursor: default; background: none; color: var(--sub) !important; font-size: 12px; }
.otaku-vod__btn--none:hover { background: none; }

/* ---------- 電子書籍アプリのカード ---------- */
.otaku-ebooks { display: flex; flex-direction: column; gap: 18px; line-height: normal; }
.otaku-ebooks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.otaku-ebook {
	border: 1px solid var(--bd); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 10px;
	background: #fff; position: relative;
}
.otaku-ebook.is-top { border: 2px solid var(--red); }
.otaku-ebook__badge {
	position: absolute; top: -11px; left: 14px; background: var(--red); color: #fff; font-size: 11px; font-weight: 900;
	padding: 3px 10px; border-radius: 999px;
}
.otaku-ebook__top { display: flex; align-items: center; gap: 10px; }
.otaku-ebook .svc-logo--40 { width: 40px; height: 40px; }
.otaku-ebook__name-wrap { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.otaku-ebook__name { font-weight: 900; font-size: 15px; }
.otaku-ebook__stars { font-size: 12px; font-weight: 700; }
.otaku-ebook__star-sp { font-size: 12px; font-weight: 900; white-space: nowrap; display: flex; flex-direction: column; align-items: flex-end; }
.otaku-ebook__star-sp small, .otaku-ebook__stars small { font-size: 10px; font-weight: 700; color: var(--sub); }
.otaku-ebook__star-sp span { color: var(--star); }
.otaku-ebook__point { font-size: 13px; color: var(--body); line-height: 1.65; }
.otaku-ebook__btn {
	margin-top: auto; background: var(--btn); color: #fff !important; text-align: center; font-weight: 900; font-size: 14px;
	padding: 11px; border-radius: 999px; box-shadow: 0 3px 0 var(--btn-sh); text-decoration: none !important; transition: transform .1s;
}
.otaku-ebook__btn:hover { transform: translateY(-2px); }
.otaku-ebooks__more { font-size: 14px; font-weight: 700; color: var(--navy); text-decoration: underline; }

/* ---------- サービスの情報（サービスのレビュー記事。中身は比較ページと同じデータ） ---------- */
.otaku-svc { border: 1px solid var(--bd2); border-radius: 12px; background: #fff; line-height: normal; }
.otaku-svc__name { font-weight: 900; font-size: 16px; }
.otaku-svc__star { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.otaku-svc__star small { font-size: 11px; font-weight: 700; color: var(--sub); }
.otaku-svc__star b { font-weight: 900; font-size: 15px; }
.otaku-svc__mark { display: inline-block; min-width: 1.4em; font-weight: 900; font-size: 15px; color: var(--ink); }
.otaku-svc__mark.is-m1 { color: #e0413a; }
.otaku-svc__mark.is-m2 { color: var(--navy); }
.otaku-svc__mark.is-m3, .otaku-svc__mark.is-m4 { color: #9aa0b0; }
/* 項目ごとの評価 */
.otaku-svc--spec { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.otaku-svc__head { display: flex; align-items: center; gap: 12px; }
.otaku-svc__head .svc-logo--40 { width: 40px; height: 40px; }
.otaku-svc__head-main { display: flex; flex-direction: column; gap: 2px; }
.otaku-svc__ranks { display: flex; flex-wrap: wrap; gap: 8px; }
.otaku-svc__rank { font-size: 12px; font-weight: 700; color: var(--navy); background: var(--bg1); border-radius: 999px; padding: 4px 12px; text-decoration: none; }
.otaku-svc__rank b { color: var(--red); font-weight: 900; }
.otaku-svc__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.otaku-svc__table th, .otaku-svc__table td { border-top: 1px solid var(--row); padding: 10px 6px; text-align: left; vertical-align: top; line-height: 1.6; }
.otaku-svc__table th { width: 9.5em; font-weight: 700; color: var(--body); white-space: nowrap; }
.otaku-svc__table .otaku-svc__mark { margin-right: 6px; }
.otaku-svc__foot { margin: 0; font-size: 12px; color: var(--sub); line-height: 1.7; }
/* 良いところ・気になるところ */
.otaku-svc--card { overflow: hidden; display: grid; grid-template-columns: 240px minmax(0, 1fr); }
.otaku-svc__shot { background: var(--bg1); padding: 16px; }
.otaku-svc__shot img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: left top; border-radius: 8px; border: 1px solid var(--bd); display: block; }
.otaku-svc__body { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.otaku-svc--card:not(:has(.otaku-svc__shot)) { grid-template-columns: minmax(0, 1fr); }
.otaku-svc__sum { margin: 0; font-size: 14px; line-height: 1.8; }
.otaku-svc__pc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.otaku-svc__good, .otaku-svc__bad { border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; }
.otaku-svc__good { background: #e9f6ef; }
.otaku-svc__bad { background: #f5f7fa; }
.otaku-svc__pc-head { font-size: 12px; font-weight: 900; }
.otaku-svc__good .otaku-svc__pc-head, .otaku-svc__good .otaku-svc__li b { color: var(--green); }
.otaku-svc__bad .otaku-svc__pc-head, .otaku-svc__bad .otaku-svc__li b { color: var(--sub); }
.otaku-svc__li { font-size: 13px; line-height: 1.6; display: flex; gap: 6px; }
.otaku-svc__li b { font-weight: 900; }
.otaku-svc__who { margin: 0; font-size: 13px; line-height: 1.7; }
.otaku-svc__who b { font-weight: 900; }
.otaku-svc__cta-wrap { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.otaku-svc__cta {
	background: var(--btn); color: #fff !important; font-weight: 900; font-size: 14px; padding: 12px 26px; border-radius: 999px;
	box-shadow: 0 3px 0 var(--btn-sh); text-decoration: none !important; text-align: center; transition: transform .1s;
}
.otaku-svc__cta:hover { transform: translateY(-2px); }
.otaku-svc__pr { font-size: 11px; color: var(--sub); }
.otaku-svc--card .otaku-svc__cta-wrap { align-items: flex-start; }
/* ほかのサービスとの違い */
.otaku-svc--versus { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.otaku-svc__scroll { overflow-x: auto; }
.otaku-svc__vs { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.otaku-svc__vs th, .otaku-svc__vs td { border: 1px solid var(--row); padding: 8px; text-align: center; vertical-align: top; line-height: 1.5; }
.otaku-svc__vs thead th { background: var(--bg1); font-weight: 700; }
.otaku-svc__vs thead .svc-logo { width: 32px; height: 32px; margin: 0 auto 4px; border-radius: 8px; }
.otaku-svc__vs-name { display: block; font-weight: 900; font-size: 13px; }
.otaku-svc__vs-star { display: block; font-size: 12px; color: var(--sub); }
.otaku-svc__vs-corner { font-size: 11px; color: var(--sub); width: 8.5em; }
.otaku-svc__vs tbody th { text-align: left; font-weight: 700; background: #fff; }
.otaku-svc__vs .is-self { background: #fff7f6; }
.otaku-svc__vs thead .is-self { background: #fdeeed; }
.otaku-svc__vs td small { display: block; font-size: 11px; color: var(--sub); }
.otaku-svc__more { font-size: 14px; font-weight: 700; color: var(--navy); text-decoration: underline; }
/* 記事の最後の申し込み */
.otaku-svc--cta { border: 2px solid var(--red); padding: 16px 20px; display: flex; align-items: center; gap: 14px; }
.otaku-svc--cta .svc-logo--40 { width: 48px; height: 48px; }
.otaku-svc__cta-main { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.otaku-svc__who-s { font-size: 13px; color: var(--body); line-height: 1.6; }

/* ---------- 評価 ---------- */
.otaku-rating {
	display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 28px; align-items: center;
	border: 1px solid var(--bd2); border-radius: 10px; padding: 22px; line-height: normal;
}
.otaku-rating__total { display: flex; flex-direction: column; align-items: center; gap: 4px; border-right: 1px solid var(--bd); padding-right: 20px; }
.otaku-rating__label { font-size: 13px; color: var(--sub); font-weight: 700; }
.otaku-rating__score { font-size: 52px; font-weight: 900; line-height: 1; }
.otaku-rating__stars { font-size: 18px; letter-spacing: 2px; }
.otaku-rating__items { display: flex; flex-direction: column; gap: 12px; }
.otaku-rating__row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 36px; gap: 12px; align-items: center; font-size: 14px; }
.otaku-rating__k { font-weight: 700; }
.otaku-rating__bar { height: 8px; border-radius: 4px; background: var(--row); overflow: hidden; display: block; }
.otaku-rating__bar span { display: block; height: 100%; background: var(--star); border-radius: 4px; }
.otaku-rating__v { font-weight: 900; text-align: right; }

/* ---------- よくある質問 ---------- */
.otaku-faq { display: flex; flex-direction: column; gap: 8px; line-height: normal; }
.otaku-faq__item { border: 1px solid var(--bd2); border-radius: 8px; overflow: hidden; }
.otaku-faq__q {
	width: 100%; display: flex; gap: 12px; align-items: center; padding: 14px 18px; cursor: pointer; background: #fff;
	border: 0; text-align: left; font-family: inherit; color: var(--ink);
}
.otaku-faq__q:hover { background: var(--hover); }
.otaku-faq__mark { font-weight: 900; color: var(--navy); font-size: 16px; }
.otaku-faq__mark--a { color: var(--red); }
.otaku-faq__qtext { flex: 1; font-weight: 700; font-size: 15px; line-height: 1.6; }
.otaku-faq__icon::before { content: "＋"; font-size: 18px; color: var(--navy); font-weight: 700; }
.otaku-faq__item.is-open .otaku-faq__icon::before { content: "−"; }
.otaku-faq__a { display: none; gap: 12px; padding: 0 18px 16px; }
.otaku-faq__item.is-open .otaku-faq__a { display: flex; }
.otaku-faq__atext { font-size: 15px; line-height: 1.85; color: var(--body); }

/* ---------- あわせて読みたい ---------- */
.otaku-related {
	display: flex; align-items: center; gap: 12px; border: 2px solid var(--navy); border-radius: 10px; padding: 12px 14px;
	text-decoration: none !important; color: var(--ink) !important; position: relative; line-height: normal;
}
.entry-content > .otaku-related { margin-top: 24px; }
.otaku-related:hover { background: var(--hover); }
.otaku-related__label {
	position: absolute; top: -10px; left: 12px; background: var(--navy); color: #fff; font-size: 11px; font-weight: 900;
	padding: 2px 10px; border-radius: 999px; line-height: 1.5;
}
.otaku-related__img { width: 96px; flex-shrink: 0; border-radius: 6px; }
.otaku-related__title { font-size: 14px; font-weight: 900; line-height: 1.55; word-break: auto-phrase; }
.otaku-rakuten { align-items: flex-start; }
.otaku-rakuten__img { width: 72px; flex-shrink: 0; aspect-ratio: 96 / 136; border-radius: 4px; overflow: hidden; background: var(--bg1); }
.otaku-rakuten__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.otaku-rakuten__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.otaku-rakuten__meta { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--red); flex-wrap: wrap; }
.otaku-rakuten__note { font-size: 11px; color: var(--sub); }

/* =========================================================
 * スマホ
 * ======================================================= */
@media (max-width: 768px) {
	.entry-content { font-size: var(--fs-body-sp); line-height: var(--lh-body-sp); }
	.entry-content > * + * { margin-top: 14px; }
	.entry-content > h2,
	.entry-content > .post-inject,
	.entry-content > .post-inject + *,
	.entry-content > .otaku-conclusion,
	.entry-content > .otaku-conclusion + * { margin-top: 22px; }
	.entry-content > :first-child { margin-top: 0; }
	.entry-content h2 { font-size: 18px; padding: 12px 14px; }
	.h2-line .entry-content h2 { font-size: 21px; padding: 2px 0 2px 12px; border-left-width: 5px; }
	.entry-content h3 { font-size: 18px; gap: 8px; padding-bottom: 6px; }
	.entry-content > h3 { margin-top: 18px; }
	.entry-content h3::before { width: 9px; height: 9px; }
	.otaku-exp { padding: 14px 16px 16px; font-size: 15px; line-height: 1.9; } /* スマホでは一回り小さく（詰まって見えないように。2026-11-03） */

	.otaku-conclusion__head { font-size: 14px; padding: 9px 16px; }
	.otaku-conclusion__body { padding: 16px; display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
	.otaku-conclusion__line { flex-direction: column; gap: 0; }
	.otaku-conclusion__label { font-size: 12px; }
	.otaku-conclusion__value { font-size: 20px; }
	.otaku-conclusion__book { display: none; }
	.otaku-conclusion__btn { font-size: 15px; padding: 14px; }
	.otaku-conclusion__pr { font-size: 10px; }

	.otaku-svc--spec { padding: 14px; }
	.otaku-svc__table th { width: auto; white-space: normal; min-width: 6.5em; }
	.otaku-svc--card { grid-template-columns: minmax(0, 1fr); }
	.otaku-svc__shot { padding: 12px 12px 0; background: none; }
	.otaku-svc__body { padding: 12px 14px 16px; }
	.otaku-svc__pc { grid-template-columns: minmax(0, 1fr); }
	.otaku-svc--card .otaku-svc__cta-wrap { align-items: stretch; }
	.otaku-svc--versus { padding: 10px; }
	.otaku-svc--cta { flex-wrap: wrap; padding: 14px; }
	.otaku-svc--cta .otaku-svc__cta-wrap { width: 100%; align-items: stretch; }
	.otaku-svc__cta { font-size: 15px; padding: 13px; }

	.otaku-balloon { gap: 10px; }
	.otaku-balloon__icon { width: 48px; height: 48px; }
	.otaku-balloon__name { display: none; }
	.otaku-balloon__text { padding: 11px 14px; font-size: 14px; line-height: 1.8; }

	.otaku-eptable { font-size: 13px; }
	.otaku-eptable__row--head { display: none; }
	.otaku-eptable__row {
		grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "ep src" "ep note";
		border-top: 0; border-bottom: 1px solid var(--row);
	}
	.otaku-eptable__row > :is(span, th, td) { padding: 0; }
	.otaku-eptable__ep { grid-area: ep; background: var(--bg2); padding: 10px !important; white-space: nowrap; }
	.otaku-eptable__src { grid-area: src; padding: 10px 12px 2px !important; font-weight: 900; }
	.otaku-eptable__note { grid-area: note; padding: 0 12px 10px !important; color: var(--sub); font-size: 12px; }

	.otaku-workdata { display: block; padding: 0; overflow: hidden; }
	.otaku-workdata__img { display: none; }
	.otaku-workdata__row { grid-template-columns: 92px minmax(0, 1fr); gap: 0; padding: 0; font-size: 13px; }
	.otaku-workdata__k { padding: 10px 12px; background: var(--bg2); }
	.otaku-workdata__v { padding: 10px 12px; font-weight: 400; }

	.otaku-spoiler__head { padding: 10px 14px; gap: 8px; }
	.otaku-spoiler__tag { font-size: 10px; padding: 2px 7px; }
	.otaku-spoiler__title { font-size: 13px; }
	.otaku-spoiler__closed { padding: 14px; }
	.otaku-spoiler__btn { padding: 12px 28px; }
	.otaku-spoiler__body { padding: 14px; font-size: 14px; line-height: 1.9; }

	.otaku-vod { gap: 12px; }
	.otaku-vod__legend { gap: 12px; font-size: 11px; }
	.otaku-vod__cards { display: flex; flex-direction: column; gap: 12px; }
	.otaku-vod__card { border: 1px solid var(--bd); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
	.otaku-vod__card.is-top { border: 2px solid var(--navy); }
	.otaku-vod__card-top { display: flex; align-items: center; gap: 8px; }
	.otaku-vod__card-top .otaku-vod__name { flex: 1; }
	.otaku-vod__cm { font-size: 12px; white-space: nowrap; }
	.otaku-vod__cm b { font-weight: 900; font-size: 16px; }
	.otaku-vod__card-btn {
		background: var(--navy); color: #fff !important; text-align: center; font-weight: 700; font-size: 14px; padding: 12px;
		border-radius: 999px; text-decoration: none !important;
	}

	.otaku-ebooks { gap: 12px; }
	.otaku-ebooks__grid { display: flex; flex-direction: column; gap: 12px; }
	.otaku-ebook { padding: 14px; gap: 8px; }
	.otaku-ebook__point { line-height: 1.6; }
	.otaku-ebook__btn { font-size: 15px; padding: 13px; }

	.otaku-rating { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px; }
	.otaku-rating__total {
		display: grid; grid-template-columns: auto 1fr; grid-template-areas: "score label" "score stars";
		align-items: center; justify-items: start; gap: 0 12px; border-right: 0; padding-right: 0;
	}
	.otaku-rating__score { grid-area: score; font-size: 40px; }
	.otaku-rating__label { grid-area: label; font-size: 12px; }
	.otaku-rating__stars { grid-area: stars; font-size: 16px; }
	.otaku-rating__row { grid-template-columns: 96px minmax(0, 1fr) 30px; gap: 10px; font-size: 13px; }

	.otaku-faq { gap: 10px; }
	.otaku-faq__q { padding: 12px 14px; gap: 10px; }
	.otaku-faq__mark { font-size: 15px; }
	.otaku-faq__qtext { font-size: 14px; line-height: 1.55; }
	.otaku-faq__a { padding: 0 14px 14px; gap: 10px; }
	.otaku-faq__atext { font-size: 14px; line-height: 1.8; }

	.otaku-related { gap: 10px; padding: 14px 12px 12px; }
	.otaku-related__label { font-size: 10px; left: 10px; padding: 2px 9px; }
	.otaku-related__img { width: 80px; }
	.otaku-related__title { font-size: 13px; line-height: 1.5; }
}

/* ---------- ブロックエディタの中だけ（共通の部品を最小限） ---------- */
.is-root-container .sp-only { display: none !important; }
.is-root-container .thumb { position: relative; overflow: hidden; }
.is-root-container .noimg { background: #eef0f4 var(--noimg) center / 56% auto no-repeat; }
.is-root-container .thumb--16x9 { aspect-ratio: 16 / 9; }
.is-root-container .thumb--cover { aspect-ratio: 3 / 4; }
.is-root-container .thumb__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.is-root-container .thumb__ph-label { position: absolute; font-family: var(--mono); font-size: 9px; color: #7a8090; bottom: 6px; left: 6px; }
.is-root-container .svc-logo { width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0; overflow: hidden; display: block; }
.is-root-container .svc-logo.is-empty { background: var(--stripe-red); }
.is-root-container .lbl-top { align-self: flex-start; font-size: 10px; font-weight: 900; color: #fff; background: var(--red); padding: 1px 6px; border-radius: 3px; }
.is-root-container .stars { position: relative; display: inline-block; color: #e3e6ec; letter-spacing: 1px; line-height: 1; font-size: 12px; white-space: nowrap; width: max-content; }
.is-root-container .stars::before { content: "★★★★★"; }
.is-root-container .stars__fill { position: absolute; left: 0; top: 0; overflow: hidden; color: var(--star); white-space: nowrap; }
.is-root-container .stars__fill::before { content: "★★★★★"; }

/* =========================================================
 * 規制比較（block-censor-compare）・店舗特典（block-store-bonus）
 * ======================================================= */
.otaku-censor, .otaku-store { display: flex; flex-direction: column; gap: 18px; line-height: normal; }
.otaku-censor__panel, .otaku-store__panel { display: flex; flex-direction: column; gap: 18px; }
.otaku-censor__panel[hidden], .otaku-store__panel[hidden], .otaku-store__info[hidden] { display: none; }

/* タブ */
.otaku-tabs { display: flex; gap: 6px; background: var(--bg1); padding: 4px; border-radius: 999px; align-self: flex-start; }
.otaku-tabs__btn {
	border: 0; background: transparent; color: var(--body); font-weight: 700; font-size: 13px; padding: 8px 22px; border-radius: 999px;
	white-space: nowrap; cursor: pointer; font-family: inherit;
}
.otaku-tabs__btn.is-active { background: var(--navy); color: #fff; font-weight: 900; cursor: default; }
.otaku-store__tabs .otaku-tabs__btn { padding: 8px 20px; }

/* 結論・編集部のおすすめ */
.otaku-pick {
	border: 2px solid var(--red); border-radius: 12px; padding: 16px 20px; display: grid; grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px; align-items: center; background: var(--ebook-bg);
}
.otaku-store .otaku-pick { padding: 14px 18px; gap: 16px; }
.otaku-pick__text { display: flex; flex-direction: column; gap: 4px; }
.otaku-pick__eyebrow { font-size: 12px; font-weight: 900; color: var(--red); }
.otaku-pick__title { font-size: 18px; font-weight: 900; line-height: 1.5; word-break: auto-phrase; }
.otaku-store .otaku-pick__title { font-size: 17px; }
.otaku-pick__sub { font-size: 13px; color: var(--body); line-height: 1.6; word-break: auto-phrase; }
.otaku-pick__side { display: flex; flex-direction: column; gap: 4px; align-items: center; }
.otaku-pick__btn {
	background: var(--btn); color: #fff !important; font-weight: 900; font-size: 14px; padding: 13px 24px; border-radius: 999px;
	box-shadow: 0 3px 0 var(--btn-sh); white-space: nowrap; text-decoration: none !important; transition: transform .1s;
}
.otaku-pick__btn:hover { transform: translateY(-2px); }
.otaku-pick__pr { font-size: 10px; color: var(--sub); }

/* 表の中のボタン */
.otaku-rowbtn {
	display: block; text-align: center; background: var(--navy); color: #fff !important; font-weight: 900; font-size: 12px; padding: 10px 4px;
	border-radius: 999px; white-space: nowrap; text-decoration: none !important;
}
.otaku-rowbtn.is-red { background: var(--btn); }

/* 規制比較 */
.otaku-censor__notice {
	display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--body); background: var(--bg2); border-radius: 6px; padding: 8px 12px;
}
.otaku-censor__tag { border: 1px solid #9aa0b0; border-radius: 3px; font-size: 10px; padding: 0 5px; font-weight: 700; color: var(--sub); }
.otaku-censor__table { border: 1px solid var(--bd2); border-radius: 10px; overflow: hidden; }
.otaku-censor__row { display: grid; grid-template-columns: minmax(0, 1fr) 116px minmax(0, 1.4fr) 120px; border-top: 1px solid var(--row); align-items: center; background: #fff; }
.otaku-censor__row.is-best { background: var(--ebook-bg); }
.otaku-censor__row--head { background: var(--ink); color: #fff; font-size: 12px; font-weight: 700; border-top: 0; }
.otaku-censor__row--head > :is(span, th, td) { padding: 10px 14px; }
.otaku-censor__row--head > :is(span, th, td):nth-child(2) { padding: 10px 8px; }
.otaku-censor__name { padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.otaku-censor__name b { font-weight: 900; font-size: 15px; word-break: keep-all; }
.otaku-censor__name small { font-size: 11px; color: var(--sub); }
.otaku-censor__lv { padding: 12px 8px; display: flex; flex-direction: column; gap: 4px; }
.otaku-censor__lv > span:last-child { font-size: 12px; font-weight: 900; }
.otaku-meter { display: flex; gap: 3px; }
.otaku-meter i { width: 18px; height: 8px; border-radius: 2px; background: var(--bd); display: block; }
.otaku-meter i.on { background: var(--ink); }
.otaku-meter--s { gap: 2px; }
.otaku-meter--s i { width: 12px; height: 7px; }
.otaku-censor__note { padding: 12px 14px; font-size: 13px; color: var(--body); line-height: 1.6; word-break: auto-phrase; }
.otaku-censor__cta { padding: 0 12px; }
.otaku-censor__foot, .otaku-store__foot { margin: 0; font-size: 12px; color: var(--sub); line-height: 1.7; }

/* 店舗特典 */
.otaku-store__info { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.otaku-store__fact { background: var(--bg2); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.otaku-store__fact span { font-size: 11px; font-weight: 700; color: var(--sub); }
.otaku-store__fact b { font-size: 15px; font-weight: 900; white-space: nowrap; }
.otaku-store__table { border: 1px solid var(--bd2); border-radius: 10px; overflow: hidden; }
.otaku-store__row { display: grid; grid-template-columns: 184px 84px minmax(0, 1fr) 108px 116px; border-top: 1px solid var(--row); align-items: center; background: #fff; }
.otaku-store__row.is-best { background: var(--ebook-bg); }
.otaku-store__row--head { background: var(--ink); color: #fff; font-size: 12px; font-weight: 700; border-top: 0; }
.otaku-store__row--head > :is(span, th, td) { padding: 10px 14px; }
.otaku-store__row--head > :is(span, th, td):nth-child(3) { padding: 10px 12px; }
.otaku-store__row--head > .r { padding: 10px 8px; text-align: right; }
.otaku-store__name { padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; }
.otaku-store__name b { font-weight: 900; font-size: 15px; white-space: nowrap; }
.otaku-store__img-cell { padding: 8px 0; }
.otaku-store__img { width: 76px; aspect-ratio: 1; border-radius: 6px; }
.otaku-store__gift { padding: 12px; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.otaku-store__gift b { font-size: 14px; font-weight: 900; line-height: 1.5; word-break: auto-phrase; }
.otaku-store__tags { display: flex; gap: 4px; flex-wrap: wrap; }
.otaku-store__tag { font-size: 10px; font-weight: 900; padding: 2px 7px; border-radius: 3px; white-space: nowrap; }
.otaku-store__price { padding: 12px 8px; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.otaku-store__price b { font-size: 15px; font-weight: 900; white-space: nowrap; }
.otaku-store__price small, .otaku-store__price-s small { font-size: 11px; font-weight: 900; color: var(--red); white-space: nowrap; }
.otaku-store__cta { padding: 0 12px; }

@media (max-width: 768px) {
	.otaku-censor, .otaku-store, .otaku-censor__panel, .otaku-store__panel { gap: 14px; }
	.otaku-censor__notice { font-size: 11px; padding: 7px 10px; }
	.otaku-tabs { align-self: stretch; display: grid; grid-template-columns: repeat(var(--n, 2), 1fr); gap: 4px; }
	.otaku-tabs__btn, .otaku-store__tabs .otaku-tabs__btn { padding: 11px 4px; }
	.otaku-store__tabs .otaku-tabs__btn { font-size: 12px; padding: 11px 2px; }
	.otaku-pick, .otaku-store .otaku-pick { display: flex; flex-direction: column; align-items: stretch; padding: 14px; gap: 8px; }
	.otaku-pick__eyebrow { font-size: 11px; }
	.otaku-pick__title { font-size: 16px; }
	.otaku-store .otaku-pick__title { font-size: 15px; }
	.otaku-pick__sub { font-size: 12px; }
	.otaku-pick__btn { display: block; text-align: center; font-size: 15px; padding: 13px; }
	.otaku-store .otaku-pick__side { margin-top: 4px; }
	.otaku-pick__side { align-items: stretch; }

	.otaku-censor__cards, .otaku-store__cards { display: flex; flex-direction: column; gap: 14px; }
	.otaku-censor__card { border: 1px solid var(--bd); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
	.otaku-censor__card.is-best { border: 2px solid var(--red); }
	.otaku-censor__card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
	.otaku-censor__card .otaku-censor__name { padding: 0; gap: 2px; }
	.otaku-censor__lv--sp { padding: 0; align-items: flex-end; flex-shrink: 0; gap: 3px; }
	.otaku-censor__lv--sp > span:last-child { font-size: 11px; white-space: nowrap; }
	.otaku-censor__card .otaku-censor__note { padding: 0; }
	.otaku-rowbtn--wide { font-size: 14px; padding: 12px; }
	.otaku-censor__foot, .otaku-store__foot { font-size: 11px; }

	.otaku-store__info { grid-template-columns: 1fr 1fr; gap: 6px; }
	.otaku-store__fact { border-radius: 8px; padding: 9px 11px; gap: 1px; }
	.otaku-store__fact span { font-size: 10px; }
	.otaku-store__fact b { font-size: 13px; }
	.otaku-store__card { border: 1px solid var(--bd); border-radius: 10px; padding: 12px; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
	.otaku-store__card.is-best { border: 2px solid var(--red); }
	.otaku-store__img--s { width: 72px; }
	.otaku-store__card-body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
	.otaku-store__card-top { display: flex; justify-content: space-between; align-items: center; gap: 6px; }
	.otaku-store__card-top b { font-weight: 900; font-size: 14px; white-space: nowrap; }
	.otaku-store__gift-s { font-size: 13px; font-weight: 700; line-height: 1.5; word-break: auto-phrase; }
	.otaku-store__card-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 2px; }
	.otaku-store__price-s { font-size: 14px; font-weight: 900; white-space: nowrap; }
	.otaku-store__card-foot .otaku-rowbtn { padding: 11px 14px; }
}

/* ---------- 口コミ・評判の記事を読みやすく（ユーザーの決定 2026-10-28：文字ばかりで疲れる・何がポイントかわからない） ---------- */
/* 基本の表（「〇〇とは」の最初。月額・初回特典はサービスのデータから） */
.otaku-svc--basic { padding: 14px 18px 8px; }
.otaku-svc__basic-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.otaku-svc__basic-head .svc-logo--32 { width: 32px; height: 32px; }
.otaku-svc__basic { width: 100%; border-collapse: collapse; font-size: 15px; }
.otaku-svc__basic th, .otaku-svc__basic td { border-top: 1px solid var(--row); padding: 10px 8px; text-align: left; vertical-align: top; line-height: 1.6; }
.otaku-svc__basic th { width: 11em; font-weight: 700; color: var(--body); }
/* 評価の表：強いところ・弱いところを先に、◎の行に色 */
.otaku-svc__sw { display: flex; flex-direction: column; gap: 6px; }
.otaku-svc__sw-row { margin: 0; display: flex; gap: 12px; align-items: baseline; font-size: 15px; line-height: 1.6; border-radius: 8px; padding: 8px 12px; }
.otaku-svc__sw-row b { flex-shrink: 0; font-weight: 900; font-size: 13px; }
.otaku-svc__sw-row.is-strong { background: #fff1f0; }
.otaku-svc__sw-row.is-strong b { color: #e0413a; }
.otaku-svc__sw-row.is-weak { background: var(--bg1); }
.otaku-svc__sw-row.is-weak b { color: var(--sub); }
.otaku-svc__table tr.is-m1 th, .otaku-svc__table tr.is-m1 td { background: #fff7f6; }
.otaku-svc__table tr.is-m3, .otaku-svc__table tr.is-m4 { color: var(--sub); }
.otaku-svc__table .otaku-svc__mark { font-size: 17px; }

/* 声のグラフ（出どころごとのタブ・横棒・タップで大きく） */
.otaku-vchart { border: 1px solid var(--bd2); border-radius: 12px; background: #fff; padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.otaku-vchart__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.otaku-vchart__title { font-weight: 900; font-size: 16px; line-height: 1.5; }
.otaku-vchart__zoom { flex-shrink: 0; border: 1px solid var(--bd2); background: #fff; border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 700; color: var(--navy); cursor: pointer; }
.otaku-vchart__tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.otaku-vchart__tab { border: 1.5px solid var(--bd2); background: #fff; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700; color: var(--body); cursor: pointer; display: inline-flex; gap: 6px; align-items: baseline; }
.otaku-vchart__tab small { font-size: 11px; color: var(--sub); }
.otaku-vchart__tab[aria-selected="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.otaku-vchart__tab[aria-selected="true"] small { color: #cfd6e6; }
.otaku-vchart__panel { cursor: zoom-in; }
.otaku-vchart__base { margin: 0 0 8px; font-size: 13px; color: var(--sub); }
.otaku-vchart__rows { list-style: none; margin: 0; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.otaku-vchart__row { display: grid; grid-template-columns: minmax(0, 14em) minmax(0, 1fr) 6.5em; gap: 10px; align-items: center; margin: 0 !important; }
.otaku-vchart__label { font-size: 14px; font-weight: 700; line-height: 1.45; }
.otaku-vchart__bar { height: 14px; background: var(--bg1); border-radius: 999px; overflow: hidden; }
.otaku-vchart__bar i { display: block; height: 100%; border-radius: 999px; background: var(--navy); }
.otaku-vchart__row.is-good .otaku-vchart__bar i { background: #2e9b62; }
.otaku-vchart__row.is-bad .otaku-vchart__bar i { background: #e0413a; }
.otaku-vchart__val { font-size: 13px; text-align: right; white-space: nowrap; }
.otaku-vchart__val b { font-size: 16px; font-weight: 900; }
.otaku-vchart__val small { margin-left: 4px; font-size: 11px; color: var(--sub); }
.otaku-vchart__foot { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: space-between; font-size: 12px; color: var(--sub); line-height: 1.6; }
.otaku-vchart__legend { display: flex; gap: 12px; flex-wrap: wrap; }
.otaku-vchart__legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; vertical-align: -1px; background: var(--navy); }
.otaku-vchart__legend .is-good::before { background: #2e9b62; }
.otaku-vchart__legend .is-bad::before { background: #e0413a; }
.otaku-vchart-dlg { border: 0; border-radius: 14px; padding: 16px; width: min(760px, 94vw); max-height: 90vh; }
.otaku-vchart-dlg::backdrop { background: rgba(20, 24, 36, .6); }
.otaku-vchart-dlg__close { display: block; margin: 0 0 10px auto; border: 0; background: var(--bg1); border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700; color: var(--ink); cursor: pointer; }
.otaku-vchart-dlg .otaku-vchart { margin: 0; border: 0; padding: 0; }
.otaku-vchart-dlg .otaku-vchart__zoom { display: none; }
.otaku-vchart-dlg .otaku-vchart__panel { cursor: default; }
.otaku-vchart-dlg .otaku-vchart__label { font-size: 16px; }
.otaku-vchart-dlg .otaku-vchart__bar { height: 20px; }

/* 本文の表（原稿の「｜」で始まる行）：解約の場所・こんなとき→こうする・トラブルの年表 */
.entry-content .wp-block-table.otaku-rtable { border: 1px solid var(--bd2); border-radius: 10px; overflow: hidden; }
.entry-content .otaku-rtable table { font-size: 15px; }
.entry-content .otaku-rtable th, .entry-content .otaku-rtable td { border: 0; border-top: 1px solid var(--row); vertical-align: top; }
.entry-content .otaku-rtable thead { border-bottom: 0; }
.entry-content .otaku-rtable thead th { border-top: 0; background: var(--navy); color: #fff; font-size: 14px; }
.entry-content .otaku-rtable tbody td:first-child { width: 36%; font-weight: 700; background: var(--bg1); }
/* 手順（原稿の「1. 」の行） */
.entry-content ol.otaku-steps { list-style: none; counter-reset: otaku-step; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.entry-content ol.otaku-steps > li { counter-increment: otaku-step; position: relative; margin: 0; padding: 12px 14px 12px 54px; background: var(--bg1); border-radius: 10px; line-height: 1.75; }
.entry-content ol.otaku-steps > li::before {
	content: counter(otaku-step); position: absolute; left: 14px; top: 12px; width: 28px; height: 28px; border-radius: 50%;
	background: var(--red); color: #fff; font-weight: 900; font-size: 15px; display: flex; align-items: center; justify-content: center;
}
/* 丸数字の下に矢印の線（流れが目で追えるように。丸数字から少し離し、手順の枠の中におさめる。ユーザーの決定 2026-10-28） */
.entry-content ol.otaku-steps > li:not(:last-child)::after {
	content: ""; position: absolute; left: 23px; top: 50px; bottom: 12px; width: 10px; background: #e8837b;
	clip-path: polygon(4px 0, 6px 0, 6px calc(100% - 6px), 10px calc(100% - 6px), 5px 100%, 0 calc(100% - 6px), 4px calc(100% - 6px));
}
/* 向いている人・向いていない人（原稿の「○」「×」の行） */
/* WordPressがグループの中に .wp-block-group__inner-container を足すので、それ（なければグループ自身）を2列にします */
.entry-content .otaku-fit > .wp-block-group__inner-container,
.entry-content .otaku-fit:not(:has(> .wp-block-group__inner-container)) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.entry-content .otaku-fit .wp-block-group__inner-container > * { margin: 0; }
.entry-content .otaku-fit__yes, .entry-content .otaku-fit__no { border-radius: 12px; padding: 14px 16px; }
.entry-content .otaku-fit__yes { background: #e9f6ef; }
.entry-content .otaku-fit__no { background: #f5f7fa; }
.entry-content .otaku-fit__h { margin: 0 0 8px; font-weight: 900; font-size: 15px; }
.entry-content .otaku-fit__yes .otaku-fit__h { color: var(--green); }
.entry-content .otaku-fit__no .otaku-fit__h { color: var(--sub); }
.entry-content .otaku-fit ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.entry-content .otaku-fit li { position: relative; margin: 0; padding-left: 1.6em; line-height: 1.65; }
.entry-content .otaku-fit li::before { position: absolute; left: 0; top: 0; font-weight: 900; }
.entry-content .otaku-fit__yes li::before { content: "○"; color: var(--green); }
.entry-content .otaku-fit__no li::before { content: "×"; color: #e0413a; }

@media (max-width: 768px) {
	.otaku-svc--basic { padding: 12px 14px 6px; }
	.otaku-svc__basic th { width: 6.5em; }
	.otaku-svc__sw-row { flex-direction: column; gap: 2px; }
	.otaku-vchart { padding: 14px; }
	.otaku-vchart__row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label val" "bar bar"; gap: 4px 10px; }
	.otaku-vchart__label { grid-area: label; }
	.otaku-vchart__val { grid-area: val; }
	.otaku-vchart__bar { grid-area: bar; }
	.otaku-vchart__tab { padding: 6px 10px; }
	.entry-content .otaku-rtable tbody td:first-child { width: 40%; }
	/* 3列の表は1行ずつのカードに：1列目を見出し、2・3列目は「列の見出し＋中身」（ユーザーの決定 2026-11-03。data-label はプラグインの blocks.php が付けます） */
	.entry-content .otaku-rtable.is-cards :is(table, tbody, tr, td) { display: block; width: auto; }
	.entry-content .otaku-rtable.is-cards thead { display: none; }
	.entry-content .otaku-rtable.is-cards tr + tr { border-top: 1px solid var(--bd2); }
	.entry-content .otaku-rtable.is-cards td { border: 0; }
	.entry-content .otaku-rtable.is-cards td:first-child { width: auto; background: var(--bg1); font-weight: 900; padding: 10px 14px; border-left: 4px solid var(--navy); }
	.entry-content .otaku-rtable.is-cards td:not(:first-child) { padding: 8px 14px 0; }
	.entry-content .otaku-rtable.is-cards td:nth-child(2) { padding-top: 10px; }
	.entry-content .otaku-rtable.is-cards td:last-child { padding-bottom: 12px; }
	/* 列の見出しは中身の上に小さく（横に並べると、見出しか中身のどちらかが折れるため） */
	.entry-content .otaku-rtable.is-cards td:not(:first-child)::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; color: var(--sub); line-height: 1.5; margin-bottom: 1px; }
	/* 4列以上の表：1列目と2列目をつないで見出しに（例：「2026年 1位」） */
	.entry-content .otaku-rtable.is-wide tr { display: flex; flex-wrap: wrap; }
	.entry-content .otaku-rtable.is-wide td { flex: 0 0 100%; }
	.entry-content .otaku-rtable.is-wide td:first-child { flex: 0 0 auto; padding-right: 8px; }
	.entry-content .otaku-rtable.is-wide td:nth-child(2) { flex: 1 1 0; min-width: 0; background: var(--bg1); font-weight: 900; padding: 10px 14px 10px 0; }
	.entry-content .otaku-rtable.is-wide td:nth-child(2)::before { content: none; }
	.entry-content .otaku-rtable.is-wide td:nth-child(3) { padding-top: 10px; }
	/* サービスのレビュー記事（.otaku-svc がある本文）の4列以上の表（例：ABEMAの無料・広告つき・プレミアム）は、1列目を細くし、残りの列は同じ幅にして「0円」「あり」が途中で折れないように（2026-10-31） */
	.entry-content:has(.otaku-svc) .otaku-rtable:has(thead th:nth-child(4)) table { table-layout: fixed; }
	.entry-content:has(.otaku-svc) .otaku-rtable:has(thead th:nth-child(4)) :is(thead th, tbody td):first-child { width: 31%; }
	.entry-content:has(.otaku-svc) .otaku-rtable:has(thead th:nth-child(4)) :is(th, td) { padding-left: 7px; padding-right: 7px; }
	.entry-content .otaku-fit > .wp-block-group__inner-container,
	.entry-content .otaku-fit:not(:has(> .wp-block-group__inner-container)) { grid-template-columns: minmax(0, 1fr); }
}

/* 「どこで見れる？」の表のスマホの並べ方：いちばんおすすめを1つ大きく、ほかは1行ずつ（2026-11-03 ユーザーの決定。見本どおり） */
.otaku-vod__sp { display: flex; flex-direction: column; gap: 10px; }
.otaku-vod__pick { border: 2px solid var(--red); border-radius: 12px; overflow: hidden; background: #fff; }
.otaku-vod__pick-tag { display: block; background: var(--red); color: #fff; font-size: 12px; font-weight: 900; padding: 5px 12px; }
.otaku-vod__pick-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.otaku-vod__pick-name { display: flex; align-items: baseline; gap: 4px 8px; flex-wrap: wrap; }
.otaku-vod__pick-name > b { font-size: 17px; font-weight: 900; }
.otaku-vod__pick-name > span { font-size: 12px; color: var(--sub); }
.otaku-vod__pick-why { font-size: 13px; color: var(--body); line-height: 1.7; }
.otaku-vod__pick-btn { display: block; text-align: center; background: var(--btn); color: #fff !important; font-weight: 900; font-size: 15px; padding: 13px; border-radius: 999px; box-shadow: 0 3px 0 var(--btn-sh); text-decoration: none !important; transition: transform .12s, box-shadow .12s; }
.otaku-vod__pick-btn:hover, .otaku-vod__pick-btn:focus-visible { transform: translateY(2px); box-shadow: 0 1px 0 var(--btn-sh); }
.otaku-vod__pick-btn:active { transform: translateY(3px); box-shadow: none; }
.otaku-vod__lines { border: 1px solid var(--bd); border-radius: 12px; overflow: hidden; background: #fff; }
.otaku-vod__lines-h { display: block; font-size: 12px; font-weight: 700; color: var(--sub); padding: 8px 12px; background: #f5f7fa; }
.otaku-vod__line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; align-items: center; padding: 10px 12px; border-top: 1px solid var(--row); }
.otaku-vod__line-name { font-size: 14px; font-weight: 700; color: var(--ink); }
.otaku-vod__line-name b { font-weight: 400; font-size: 12px; margin-left: 6px; }
.otaku-vod__line-note { grid-column: 1; font-size: 11px; color: var(--sub); line-height: 1.5; }
.otaku-vod__line-go, .otaku-vod__line-wait { grid-row: span 2; grid-column: 2; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 6px 12px; white-space: nowrap; }
.otaku-vod__line-go { color: var(--navy) !important; border: 1.5px solid var(--navy); text-decoration: none !important; }
.otaku-vod__line-go:hover { background: #eef2fa; }
.otaku-vod__line-wait { color: var(--sub); background: var(--bg2); }
.otaku-vod__none { font-size: 12px; color: var(--sub); text-align: center; padding: 10px; border-top: 1px solid var(--row); }
.otaku-vod__none summary { cursor: pointer; color: var(--navy); font-weight: 700; list-style: none; }
.otaku-vod__none summary::-webkit-details-marker { display: none; }
.otaku-vod__none span { display: block; margin-top: 6px; }
@media (prefers-reduced-motion: reduce) { .otaku-vod__pick-btn { transition: none; } }

/* note の記事の埋め込み（本文に note の URL を1行で貼ったとき。2026-11-03） */
.entry-content iframe.note-embed { max-width: 100% !important; margin: 16px 0 !important; }
