@charset "UTF-8";
/*
Theme Name: ちょんぼりすた
Theme URI: https://chonborista.com/
Author: ちょんぼりすた
Description: ちょんぼりすた専用テーマ。旧SANGO＋子テーマの機能を引き継ぎ、外側をスマホ向けに作り直したもの。
Version: 0.6.8
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: chonborista
*/

/*
 * 目次
 *  1. 共通（色・リセット・レイアウト）
 *  2. ヘッダー
 *  3. トップページ（注目機種・更新情報・記事一覧タブ）
 *  4. 記事一覧・パンくず・ページ送り
 *  5. 記事ページの外側（タイトルまわり・記事下・前後の記事）
 *  6. サイドバー・フッター
 *  7. 右下ボタン・目次シート
 *  8. 記事本文の基本（旧テーマと同じ見た目）
 *  9. 旧子テーマのCSS
 * 10. 旧「追加CSS」（カスタマイザー）
 */

/* =========================================================
   1. 共通
   ========================================================= */
:root {
	--c-bg: #eef0f3;
	--c-card: #ffffff;
	--c-text: #1f2329;
	--c-sub: #626873;
	--c-line: #e3e6ea;
	--c-line-soft: #edf0f3;
	--c-chip: #f0f2f5;
	--c-dark: #2b2d31;
	--c-accent: #2a8279;
	--c-accent-soft: #e4f2f0;
	--c-link: #1d5fa8;
	--c-new: #d63a2f;
	--radius: 14px;
	--radius-l: 18px;
	--shadow: 0 1px 6px rgba(20, 24, 30, 0.07);
	--gutter: 12px;
	--sticky-ad: 200px;
	--font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
/* 右下・左下ボタンの高さは本番の旧メニューボタンと同じ（スマホ200px・PC110px）。広告を×で閉じるとJSで下げる */
body { --sticky-ad: 200px; }
@media (min-width: 769px) {
	body { --sticky-ad: 16px; } /* PCは下部固定広告なし */
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-text);
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.83;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}
#container { overflow-x: clip; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: var(--c-link); text-decoration: none; }
a:hover { color: #143f70; }
h1, h2, h3, h4, h5, h6 { line-height: 1.45; }
figure { margin: 0; }
ul, ol { margin-top: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
/* テーマの線アイコン（記事内・広告のSVGには影響させない） */
.site-header svg, .float-buttons svg, .toc-sheet svg, .chip-btn svg, .searchform svg, .featured svg, .gsource svg {
	width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto;
}
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
[hidden] { display: none !important; }

/* 入力欄（コメント欄なども同じ見た目に） */
input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], input[type="date"], textarea, select {
	display: block;
	width: 100%;
	margin-bottom: 0.7em;
	padding: 0.55em;
	border: 0;
	border-radius: 8px;
	background-color: #eff1f5;
	color: rgba(0, 0, 0, 0.75);
	font-size: 16px; /* 16px未満だとiPhoneで入力時に拡大される */
	line-height: 1.5;
}
textarea { min-height: 120px; }
input[type="checkbox"], input[type="radio"] { margin: 0 4px 0 0; }

/* レイアウト */
.wrap { width: 100%; max-width: 1180px; margin: 0 auto; }
.content { padding: 12px 0 24px; }
.layout { display: block; }
.main { min-width: 0; }
.card {
	background: var(--c-card);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow);
}
.main > * + * { margin-top: 16px; }
.main > .ad2, .main > .ad { margin-top: 16px; }

@media (max-width: 768px) {
	.content { padding-top: 10px; }
	/* スマホは左右の余白をほぼ無くして、表に横幅を回す */
	.main > .card, .main > .entry, .main > .home-pickup, .main > .prev-next { margin-left: 8px; margin-right: 8px; }
	.main > .entry { margin-left: 0; margin-right: 0; border-radius: 0; }
}
@media (min-width: 769px) {
	.content { padding: 24px 16px 40px; }
	.layout { display: flex; gap: 24px; align-items: flex-start; }
	.main { flex: 1 1 auto; }
	.sidebar { flex: 0 0 300px; width: 300px; align-self: stretch; }
}
@media (max-width: 768px) {
	.sidebar { display: none; }
}

/* 共通の小さいボタン */
.chip-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 6px 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--c-chip);
	color: #3d434c;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
	text-decoration: none;
}
.chip-btn:hover { color: #3d434c; filter: brightness(0.97); }
.chip-btn svg { width: 18px; height: 18px; }
.chip-btn b { font-weight: 700; }
.chip-btn--comment { background: #eef5fd; color: var(--c-link); }
.chip-btn--comment:hover { color: var(--c-link); }
.chip-btn--rating { background: #fff6e8; color: #a05a00; }
.chip-btn--rating svg { color: #e0912a; fill: #e0912a; }
.chip-btn--rating:hover { color: #a05a00; }
.btn-more {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 16px;
	border-radius: 12px;
	background: var(--c-dark);
	color: #fff;
	font-weight: 700;
	font-size: 15px;
}
.btn-more:hover { color: #fff; opacity: 0.9; }

/* お気に入りボタン（記事上・目次シート共通） */
.fav-toggle { border: 1px solid #f3c6cf; background: #fff5f7; color: #c2185b; }
.fav-toggle:hover { color: #c2185b; }
.fav-toggle .fav-toggle__on { display: none; }
.fav-toggle.favorited { background: #c2185b; border-color: #c2185b; color: #fff; }
.fav-toggle.favorited svg { fill: currentColor; }
.fav-toggle.favorited .fav-toggle__on { display: inline; }
.fav-toggle.favorited .fav-toggle__off { display: none; }


/* =========================================================
   2. ヘッダー
   ========================================================= */
.site-header {
	background: var(--c-dark);
	color: #fff;
	padding: 8px 12px 0;
}
.site-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	max-width: 1180px;
	margin: 0 auto;
}
.site-logo { display: flex; align-items: center; min-width: 0; color: #fff; }
.site-logo img { display: block; width: auto; height: 44px; max-width: 58vw; object-fit: contain; }
.site-logo__text { font-size: 20px; font-weight: 900; letter-spacing: 0.02em; }
.header-tools { display: flex; gap: 2px; flex: 0 0 auto; }
.header-tool {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 56px;
	height: 50px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}
.header-tool:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
.header-tool svg { width: 22px; height: 22px; }
.header-tool__badge {
	position: absolute;
	top: 3px;
	right: 6px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: #fff;
	color: var(--c-dark);
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}
.site-header__bar { flex-wrap: wrap; }
.site-logo { order: 1; }
.header-tools { order: 2; }
.header-search { order: 3; flex: 1 0 100%; margin: 0 0 4px; }
.header-search .searchform { margin: 0; }

.global-nav { max-width: 1180px; margin: 4px auto 0; }
.global-nav__list {
	display: flex;
	gap: 2px;
	margin: 0 -12px;
	padding: 0 6px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.global-nav__list::-webkit-scrollbar { display: none; }
.global-nav__list li { flex: 0 0 auto; }
.global-nav__list a {
	display: block;
	padding: 10px 11px 9px;
	border-bottom: 3px solid transparent;
	color: #c9ccd1;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.4;
}
.global-nav__list a:hover { color: #fff; }
.global-nav__list .current-menu-item > a,
.global-nav__list .current-post-ancestor > a,
.global-nav__list .current-menu-parent > a { color: #fff; border-bottom-color: #4fc3b6; }

.header-info a {
	display: block;
	padding: 8px 12px;
	background: linear-gradient(95deg, #738bff, #85e3ec);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

/* 検索フォーム */
.searchform { position: relative; display: flex; align-items: center; }
.searchform__input {
	height: 44px;
	margin: 0 !important;
	padding: 0 48px 0 14px !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--c-line);
	-webkit-appearance: none;
	appearance: none;
}
.searchform__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.searchform__submit {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 44px;
	border: 0;
	background: transparent;
	color: #555b64;
}
.site-header .searchform__input { box-shadow: none; }

@media (min-width: 769px) {
	.site-header { padding: 12px 16px 0; }
	.site-header__bar { flex-wrap: nowrap; gap: 16px; }
	.site-logo img { height: 64px; max-width: 420px; }
	.header-search { order: 2; flex: 0 1 360px; margin: 0 0 0 auto; }
	.header-tools { order: 3; }
	.header-tool { width: 72px; height: 56px; font-size: 11px; }
	.global-nav__list { margin: 0; padding: 0; justify-content: center; }
	.global-nav__list a { padding: 12px 18px 10px; font-size: 16px; }
}


/* =========================================================
   3. トップページ
   ========================================================= */
.card__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 16px 8px;
}
.card__title { margin: 0; font-size: 18px; font-weight: 900; line-height: 1.4; }
.card__more { font-size: 13px; font-weight: 700; white-space: nowrap; }

/* 注目機種 */
.featured { overflow: hidden; }
.featured__link { display: block; color: var(--c-text); }
.featured__link:hover { color: var(--c-text); }
.featured__img { position: relative; display: flex; align-items: center; justify-content: center; min-height: 52px; }
.featured__img img { display: block; width: 100%; height: auto; }
.featured__label {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #e8603c;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}
.featured__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; }
.featured__title { margin: 0; font-size: 18px; font-weight: 900; line-height: 1.45; }
.featured__desc { margin: 0; color: #555b64; font-size: 14px; line-height: 1.65; }
.featured__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 6px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--c-dark);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

/* 更新情報 */
.news { overflow: hidden; }
.news__list { margin: 0; padding: 0; list-style: none; }
.news__item { padding: 12px 16px; border-top: 1px solid var(--c-line-soft); }
/* パチスロ・パチンコを背景色で見分けられるように（ごく薄く） */
.news__item.cat_0 { background: #f3f7ff; }
.news__item.cat_1 { background: #fff6ef; }
.news__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--c-sub); font-size: 12px; line-height: 1.5; }
.news__type { padding: 1px 8px; border-radius: 6px; font-size: 11px; font-weight: 700; }
.news__type--0 { background: #e3ecfa; color: #1d4f9a; }
.news__type--1 { background: #fdebd8; color: #9a4a0a; }
.news__type--2 { background: #e5f4e8; color: #23733a; }
.news__type--3 { background: #f1e8fb; color: #6a3aa0; }
.news .new_mark { color: var(--c-new); font-weight: 700; }
.news_List_Title { margin-top: 4px; font-size: 14px; font-weight: 500; line-height: 1.6; }
.news_List_Title a { color: var(--c-text); }
.news_List_Title a:hover { color: var(--c-link); }
.news__copyright { padding: 4px 16px 10px; color: #9aa0a8; font-size: 11px; text-align: right; }
.news__copyright a { color: inherit; }

/* 注目のスロット等（スマホのみ。PCはサイドバーに出る） */
.home-pickup { display: flex; flex-direction: column; gap: 16px; }
.home-pickup .pickup { overflow: hidden; }
.home-pickup .textwidget { padding: 0 12px 14px; }
@media (min-width: 769px) {
	.home-pickup { display: none; }
}

/* 記事一覧タブ */
.post-tabs { overflow: hidden; }
.post-tab {
	display: flex;
	margin: 0;
	border-bottom: 1px solid var(--c-line);
	overflow-x: auto;
	scrollbar-width: none;
}
.post-tab::-webkit-scrollbar { display: none; }
.post-tab > div {
	flex: 1 0 auto;
	padding: 13px 10px 10px;
	border-bottom: 3px solid transparent;
	color: #6b7079;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	line-height: 1.4;
}
.post-tab > div.tab-active { color: var(--c-text); border-bottom-color: var(--c-accent); }
.post-tab__content { display: none; }
.post-tab__content.tab-active { display: block; }
.post-tab__more { padding: 4px 12px 14px; }
.post-tabs .pagination { padding-bottom: 12px; }


/* =========================================================
   4. 記事一覧・パンくず・ページ送り
   ========================================================= */
.sidelong { display: block; }
.sidelong__article { position: relative; border-top: 1px solid var(--c-line-soft); }
.sidelong__article:first-child { border-top: 0; }
.sidelong__link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; color: var(--c-text); }
.sidelong__link:hover { color: var(--c-text); background: #fafbfc; }
.sidelong__img { flex: 0 0 auto; width: 80px; margin: 0; }
.sidelong__img img { display: block; width: 80px; height: 80px; border-radius: 12px; object-fit: cover; background: #f0f2f5; }
.sidelong__article-info { flex: 1 1 auto; min-width: 0; }
.sidelong__article-info h2 { margin: 2px 0 0; font-size: 15px; font-weight: 700; line-height: 1.55; }
.sidelong__article-info time { color: #8a9099; font-size: 12px; }
.sidelong .newmark {
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 0 6px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--c-new);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
}
.archive-header, .content--search .archive-header { padding: 14px 16px; }
.archive-title { margin: 0; font-size: 19px; font-weight: 900; }
.archive-header .breadcrumb { margin-bottom: 4px; }
.archive-header .searchform { margin-top: 10px; }
.archive-desc { margin-top: 6px; color: var(--c-sub); font-size: 14px; }
.content--archive .main > .sidelong,
.content--search .main > .sidelong,
.content--home .main > .sidelong,
.main > .sidelong { background: #fff; border-radius: var(--radius-l); box-shadow: var(--shadow); overflow: hidden; }
@media (max-width: 768px) {
	.main > .sidelong { margin-left: 8px; margin-right: 8px; }
}

.breadcrumb ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.breadcrumb li { color: #8a9099; font-size: 12px; line-height: 1.6; }
.breadcrumb li:not(:last-child)::after { content: "›"; padding: 0 6px; color: #b5bac1; }
.breadcrumb a { color: #6b7079; }

.pagination { margin: 16px 0 4px; text-align: center; }
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; padding: 0; list-style: none; }
.pagination li { margin: 0; padding: 0; }
.pagination a.page-numbers, .pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	margin: 3px;
	padding: 0 6px;
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--shadow);
	color: var(--c-text);
	font-weight: 700;
}
.pagination .page-numbers.current { background: var(--c-dark); color: #fff; }
.pagination .page-numbers.dots { background: transparent; box-shadow: none; }
.post-tabs .pagination a.page-numbers, .post-tabs .pagination span.page-numbers { box-shadow: none; background: var(--c-chip); }
.post-tabs .pagination span.page-numbers.current { background: var(--c-dark); color: #fff; }
.post-tabs .pagination span.page-numbers.dots { background: transparent; }

.not-found { padding: 20px 16px; }
.not-found__title { margin: 0 0 8px; font-size: 19px; }
.not-found__home { margin-top: 16px; }


/* =========================================================
   5. 記事ページの外側
   ========================================================= */
.entry { background: #fff; box-shadow: var(--shadow); }
.entry-header { padding: 12px 12px 10px; }
.entry-header .breadcrumb { margin-bottom: 4px; }
.entry-title { margin: 0; color: var(--c-text); font-size: 21px; font-weight: 900; line-height: 1.45; }
.entry-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; color: #8a9099; font-size: 12px; line-height: 1.5; }
.entry-meta time::before { padding-right: 4px; font-family: FontAwesome; opacity: 0.7; }
.entry-meta time.pubdate::before { content: "\f017"; }
.entry-meta time.updated::before { content: "\f021"; }
.entry-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.entry-actions .wpcr3_rating_style1 { display: inline-block; vertical-align: middle; }
.post-thumbnail { margin: 12px 0 0; }
.post-thumbnail img { display: block; width: 100%; border-radius: 12px; }

.entry-annotation { margin: 10px; color: #999; }
.entry-footer { margin-top: 24px; padding: 0 0 8px; }
.entry-terms { display: flex; flex-direction: column; gap: 8px; margin: 20px 12px 0; }
.entry-terms__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.entry-terms__label { margin-right: 4px; color: #8a9099; font-size: 12px; font-weight: 700; }
.term-chip { padding: 4px 12px; border-radius: 999px; background: var(--c-chip); color: #3d434c; font-size: 13px; font-weight: 700; line-height: 1.5; }
.term-chip:hover { color: #3d434c; background: #e6e9ed; }
.term-chip--tag { background: #fff; border: 1px solid var(--c-line); }

/* シェアボタン */
.sns-btn { margin: 16px 12px 0; text-align: center; }
.sns-btn__title { display: block; margin-bottom: 8px; color: #a5aab2; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; }
.sns-btn ul { display: flex; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sns-btn li a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}
.sns-btn li a:hover { color: #fff; opacity: 0.85; }
.sns-btn__x a { background: #111; }
.sns-btn__fb a { background: #3b78e7; }
.sns-btn__hatebu a { background: #00a4de; }
.sns-btn__line a { background: #06c755; }

/* 前後の記事 */
.prev-next { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.prev-next__item { display: flex; flex-direction: column; gap: 6px; padding: 10px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); color: var(--c-text); }
.prev-next__item:hover { color: var(--c-text); }
.prev-next__item.is-empty { visibility: hidden; }
.prev-next__item--next { text-align: right; }
.prev-next__label { color: #8a9099; font-size: 12px; font-weight: 700; }
.prev-next__body { display: flex; gap: 8px; align-items: center; }
.prev-next__item--next .prev-next__body { flex-direction: row-reverse; }
.prev-next__body img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; }
.prev-next__title { font-size: 13px; font-weight: 700; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

@media (min-width: 769px) {
	.entry { border-radius: var(--radius-l); overflow: hidden; }
	.entry-header { padding: 24px 32px 12px; }
	.entry-title { font-size: 26px; }
	.entry-terms, .sns-btn { margin-left: 32px; margin-right: 32px; }
}


/* =========================================================
   6. サイドバー・フッター
   ========================================================= */
.sidebar .widget { margin-bottom: 20px; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.sidebar .widget_search { background: transparent; box-shadow: none; overflow: visible; }
.sidebar .widgettitle { margin: 0; padding: 8px 14px; background: #006699; color: #fff; font-size: 15px; line-height: 1.5; }
.sidebar .textwidget { padding: 10px; }
.sidebar .textwidget::after { content: ""; display: table; clear: both; }
.sidebar__toc {
	position: sticky;
	top: 12px;
	max-height: calc(100vh - 24px - var(--sticky-ad));
	overflow-y: auto;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.sidebar__toc ul { margin: 0; padding: 6px 0; list-style: none; }
.sidebar__toc li a { display: block; padding: 7px 14px; color: var(--c-text); font-size: 16px; font-weight: 700; line-height: 1.5; }
.sidebar__toc li.lv2 a { padding-left: 28px; color: #3d434c; font-size: 15px; font-weight: 400; }
.sidebar__toc li a:hover, .sidebar__toc li a.is-current { background: var(--c-accent-soft); color: var(--c-accent); }

.site-footer { padding: 24px 16px calc(24px + var(--sticky-ad)); background: var(--c-dark); color: #c9ccd1; text-align: center; }
.footer-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin: 0 0 12px; padding: 0; list-style: none; }
.footer-nav a { color: #fff; font-size: 13px; }
.copyright { margin: 0; font-size: 12px; }


/* Google検索の「優先するニュース提供元」案内 */
.sp-only { display: inline; }
@media (min-width: 769px) {
	.sp-only { display: none; }
}
.gsource {
	margin: 24px 12px 8px;
	padding: 16px;
	border: 1px solid #d7e9e5;
	border-left: 5px solid var(--c-accent);
	border-radius: 12px;
	background: #f6fbfa;
}
.main > .gsource { margin-left: 8px; margin-right: 8px; background: #fff; }
.gsource__top { display: flex; gap: 12px; align-items: flex-start; }
.gsource__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--c-dark);
	color: #fff;
}
.gsource__icon svg { width: 24px; height: 24px; }
.gsource__text { min-width: 0; }
.gsource__title { margin: 0; color: var(--c-text); font-size: 16px; font-weight: 900; line-height: 1.45; }
.gsource__desc { margin: 4px 0 0; color: #555b64; font-size: 13px; line-height: 1.65; }
.gsource__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 46px;
	margin-top: 12px;
	padding: 8px 16px;
	border-radius: 12px;
	background: var(--c-dark);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.gsource__btn:hover { color: #fff; opacity: 0.9; }
.gsource__btn svg { width: 18px; height: 18px; }
@media (min-width: 769px) {
	.gsource { display: flex; align-items: center; gap: 20px; margin: 32px 32px 8px; padding: 18px 20px; }
	.main > .gsource { margin-left: 0; margin-right: 0; }
	.gsource__top { flex: 1 1 auto; }
	.gsource__btn { flex: 0 0 auto; margin-top: 0; }
}

/* 記事上部の「最新の更新」 */
.entry-update {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 10px;
	background: #fdf3ee;
	color: #5a3a2c;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
}
.entry-update:hover { color: #5a3a2c; background: #fbe9e0; }
.entry-update__badge { flex: 0 0 auto; padding: 0 8px; border-radius: 6px; background: #c4532e; color: #fff; font-size: 11px; line-height: 20px; }
.entry-update.is-new .entry-update__badge { background: var(--c-new); }
.entry-update__date { flex: 0 0 auto; color: #b0532f; }
.entry-update__text { min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.entry-meta time.updated { color: var(--c-text); font-weight: 700; }

/* 同じシリーズ・同じメーカーの機種 */
.shelves { margin: 24px 0 0; }
.shelf + .shelf { margin-top: 16px; }
.shelf__head { display: flex; align-items: baseline; justify-content: space-between; padding: 0 12px 6px; }
.shelf__title { margin: 0; font-size: 16px; font-weight: 900; }
.shelf__more { font-size: 13px; font-weight: 700; }
.shelf__list {
	display: flex;
	gap: 10px;
	padding: 2px 12px 8px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scroll-padding-left: 12px;
	scrollbar-width: thin;
}
.shelf__item { flex: 0 0 104px; scroll-snap-align: start; color: var(--c-text); font-size: 12px; font-weight: 700; line-height: 1.4; }
.shelf__item:hover { color: var(--c-link); }
.shelf__item img { display: block; width: 104px; height: 104px; margin-bottom: 4px; border-radius: 12px; object-fit: cover; background: var(--c-chip); }
.shelf__item span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 769px) {
	.shelf__head, .shelf__list { padding-left: 32px; padding-right: 32px; }
}

/* ホーム画面に追加の案内 */
.a2hs { position: fixed; inset: 0; z-index: 2147483640; display: flex; align-items: flex-end; justify-content: center; background: rgba(20, 22, 26, 0.45); }
.a2hs__panel { width: 100%; max-width: 480px; padding: 20px 18px calc(20px + env(safe-area-inset-bottom, 0px)); border-radius: 20px 20px 0 0; background: #fff; }
.a2hs__panel h2 { margin: 0 0 8px; font-size: 17px; }
.a2hs__panel ol { margin: 0 0 12px; padding-left: 1.4em; font-size: 14px; line-height: 1.8; }
.a2hs__panel p { margin: 0 0 12px; color: var(--c-sub); font-size: 13px; }
.a2hs__close { width: 100%; min-height: 44px; border: 0; border-radius: 12px; background: var(--c-chip); font-weight: 700; }
@media (min-width: 769px) {
	.a2hs { align-items: center; }
	.a2hs__panel { border-radius: 20px; }
}
.footer-a2hs { margin: 0 0 12px; }
.footer-a2hs button, .toc-nav-item.toc-nav-item--a2hs {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(110deg, #2a8279, #3a6fd8);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 3px 10px rgba(42, 130, 121, 0.35);
}
.footer-a2hs button::before, .toc-nav-item--a2hs::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2'/%3E%3Cpath d='M12 7v8M8 11h8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2'/%3E%3Cpath d='M12 7v8M8 11h8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.toc-nav-item.toc-nav-item--a2hs:hover { color: #fff; opacity: 0.92; }

/* 注目のスロット・パチンコの「最新台」などの帯を画像の幅に合わせる */
.list-box .absolutep { left: 5px; right: 5px; width: auto; }

/* =========================================================
   7. 右下ボタン・目次シート
   ========================================================= */
.float-buttons {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: calc(var(--sticky-ad) + env(safe-area-inset-bottom, 0px));
	z-index: 9990;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	pointer-events: none;
	transition: bottom 0.2s ease;
}
/* 目次は左下（右手で打ちながら左手で見られるように）、先頭へは右下 */
.float-toc { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; }
.float-toc > * { pointer-events: auto; }
.float-top {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(43, 45, 49, 0.82);
	color: #fff;
	box-shadow: 0 3px 10px rgba(20, 24, 30, 0.25);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.float-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.float-top svg { width: 22px; height: 22px; stroke-width: 2.6; }

.toc-open {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: var(--toc-max, calc(100vw - 80px));
	height: 50px;
	padding: 0 18px 0 15px;
	border: 0;
	border-radius: 999px;
	background: var(--c-dark);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(20, 24, 30, 0.32);
}
.toc-open svg { width: 21px; height: 21px; stroke-width: 2.4; }
.toc-open__label { white-space: nowrap; }
.toc-open__current {
	overflow: hidden;
	max-width: 40vw;
	padding: 1px 9px;
	border-radius: 999px;
	background: var(--c-accent);
	font-size: 12px;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.toc-open.is-pulse { animation: tocPulse 1.6s ease-out 2; }
@keyframes tocPulse {
	0% { box-shadow: 0 0 0 0 rgba(42, 130, 121, 0.55), 0 4px 14px rgba(20, 24, 30, 0.32); }
	100% { box-shadow: 0 0 0 16px rgba(42, 130, 121, 0), 0 4px 14px rgba(20, 24, 30, 0.32); }
}

.toc-hint {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 6px;
	width: min(220px, var(--toc-max, 220px));
	padding: 10px 8px 10px 12px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(20, 24, 30, 0.22);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
}
.toc-hint::after {
	content: "";
	position: absolute;
	left: 36px;
	bottom: -6px;
	width: 12px;
	height: 12px;
	background: #fff;
	transform: rotate(45deg);
}
.toc-hint button {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin: -4px 0 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #6b7079;
	font-size: 20px;
	line-height: 1;
}

/* 目次シート */
.toc-sheet { position: fixed; inset: 0; z-index: 2147483600; }
.toc-sheet__backdrop { position: absolute; inset: 0; background: rgba(20, 22, 26, 0.45); opacity: 0; transition: opacity 0.2s; }
.toc-sheet__panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	max-height: calc(100% - 48px);
	border-radius: 20px 20px 0 0;
	background: #fff;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.25);
	transform: translateY(100%);
	transition: transform 0.25s ease;
}
.toc-sheet.is-open .toc-sheet__backdrop { opacity: 1; }
.toc-sheet.is-open .toc-sheet__panel { transform: none; }
.toc-sheet__head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 8px 8px 16px;
	border-bottom: 1px solid var(--c-line-soft);
}
.toc-sheet__grip { position: absolute; top: 6px; left: 50%; width: 40px; height: 5px; margin-left: -20px; border-radius: 999px; background: #d5d9df; }
.toc-sheet__head h2 { margin: 0; font-size: 17px; font-weight: 900; }
.toc-sheet__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--c-chip);
	color: #3d434c;
}
.toc-sheet__body {
	flex: 1 1 auto;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: 10px 12px calc(16px + env(safe-area-inset-bottom, 0px));
}
.toc-sheet__nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--c-line-soft); }
.toc-nav-item { padding: 6px 12px; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; color: var(--c-text); font-size: 13px; font-weight: 700; line-height: 1.5; }
.toc-nav-item:hover { color: var(--c-text); background: var(--c-chip); }
.toc-sheet__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.toc-group { margin-top: 12px; }
.toc-group__title {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 6px;
	padding: 8px 12px;
	border-radius: 10px;
	background: var(--c-dark);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}
.toc-group__title:hover { color: #fff; }
.toc-group__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.toc-group__items:empty { display: none; }
.toc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
	min-height: 44px;
	padding: 6px 10px;
	border: 1px solid #dbeee9;
	border-radius: 10px;
	background: #f2f9f7;
	color: var(--c-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}
.toc-item:hover { color: var(--c-text); background: #e4f2ee; }
.toc-item.is-current, .toc-group__title.is-current { outline: 2px solid var(--c-accent); outline-offset: -2px; }
.toc-new {
	flex: 0 0 auto;
	padding: 1px 6px;
	border-radius: 999px;
	background: #d4502c;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.5;
}
.toc-sheet__search { margin-top: 18px; }
.toc-sheet__search .searchform__input { background: #f3f5f8 !important; box-shadow: none; }
.toc-sheet__widget { margin-top: 16px; border-radius: var(--radius); overflow: hidden; }
.toc-sheet__widget .widgettitle { margin: 0; padding: 8px 12px; color: #fff; font-size: 15px; }
.toc-sheet__widget .textwidget { padding: 10px; }
.toc-sheet__widget .textwidget::after { content: ""; display: table; clear: both; }
body.toc-sheet-open { overflow: hidden; }

@media (min-width: 769px) {
	.toc-sheet__panel { left: auto; right: 16px; bottom: 16px; width: 420px; max-height: calc(100% - 32px); border-radius: 20px; transform: translateY(24px); opacity: 0; transition: transform 0.2s, opacity 0.2s; }
	.toc-sheet.is-open .toc-sheet__panel { opacity: 1; }
	/* PCはサイドバーに目次があるので、右下ボタンは小さめ */
	/* PCはサイドバーに目次があるので、目次ボタンは出さない */
	.toc-open, .toc-hint { display: none !important; }
}

/* 注目機種ウィジェットの色（旧サイドバーと同じ） */
#pickup-8, #toc-widget-8, .sidebar #custom_html-8 { background-color: #f2f6ff; }
#pickup-8 a, #toc-widget-8 a, #pickup-10 a, #toc-widget-10 a { color: #005FFF; }
#pickup-8 .card__head { background-color: #5D99FF; }
#toc-widget-8 .widgettitle { background-color: #5D99FF; }
#pickup-10, #toc-widget-10, .sidebar #custom_html-10 { background-color: #fff5ef; }
#pickup-10 .card__head { background-color: #FF773E; }
#toc-widget-10 .widgettitle { background-color: #FF773E; }
#pickup-8 .card__title, #pickup-10 .card__title { color: #fff; font-size: 16px; }
#pickup-8 .card__head, #pickup-10 .card__head { padding: 10px 14px; margin-bottom: 10px; }

body.toc-narrow .toc-open__current { display: none !important; }

/* =========================================================
   8. 記事本文の基本（旧テーマと同じ見た目になるように）
   ========================================================= */
.entry-content { padding: 10px 20px 0; line-height: 1.83; color: #252525; }
.entry-content > *:first-child { margin-top: 0.1em; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content a, .entry-comments a { color: #4f96f6; }
.entry-content p { margin: 0 0 1.5em; }
.entry-content > p { line-height: 1.93; }
.entry-content p a { text-decoration: underline; }
.entry-content p a:hover { text-decoration: none; }
.entry-content h2 { margin: 2.5em 0 0.7em; font-size: 1.4em; line-height: 1.6; }
.entry-content h3 { margin: 2.6em 0 0.7em; padding: 10px 0 10px 10px; border-left: 4px solid #3a3a3a; font-size: 1.2em; line-height: 1.5; }
.entry-content h4 { margin: 2.3em 0 0.7em; font-size: 1.1em; }
.entry-content h5 { margin: 1.5em 0 0.5em; }
.entry-content hr { margin: 2em 0; border: 0; border-top: 2px solid #eaedf2; }
.entry-content hr.dotted { border-top-style: dotted; }

/* 表 */
.entry-content table { width: 100%; margin: 1em 0; border: 2px solid #e0e0e0; border-collapse: collapse; border-spacing: 0; }
.entry-content tr:not(:last-child) { border-bottom: 2px solid #e0e0e0; }
.entry-content td { padding: 7px; border-right: 2px solid #e0e0e0; word-break: break-all; }
.entry-content th { padding: 7px; border-right: 2px solid #e0e0e0; border-bottom: 2px solid #e0e0e0; background: #f8f9fa; }
.entry-content td:last-child, .entry-content th:last-child { border-right: 0; }
.entry-content table caption { margin: 0 0 7px; color: #9fa6b4; font-size: 0.75em; letter-spacing: 1px; }
.entry-content tfoot { border-top: 2px dotted #c5c7ca; background: #f8f9fa; }
.entry-content table.tb-responsive { display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
@media (min-width: 769px) {
	.entry-content table.tb-responsive { display: table; overflow-x: visible; width: auto; white-space: normal; }
}

/* 引用・リスト */
.entry-content blockquote { position: relative; margin: 1.5em 0; padding: 13px 16px 13px 50px; border: 2px solid #464646; color: #464646; }
.entry-content blockquote::before { content: "\f10d"; position: absolute; top: 20px; left: 16px; color: #3a3a3a; font-family: FontAwesome; font-size: 25px; line-height: 1; }
.entry-content blockquote p { margin: 10px 0; padding: 0; line-height: 1.7; }
.entry-content blockquote cite { display: block; color: #888; font-size: 0.9em; text-align: right; }
.entry-content :where(ul:not([class])), .entry-content :where(ol:not([class])) { margin-bottom: 1.5em; padding: 1em 1em 1em 2.5em; border: 2px solid #e8e8e8; }
.entry-content ul { list-style-type: disc; }
.entry-content ol { list-style-type: decimal; }
.entry-content li { padding: 5px 0; }
.entry-content li ul li, .entry-content li ol li { padding: 0; }
.entry-content ul li ul, .entry-content ul li ol, .entry-content ol li ul, .entry-content ol li ol { margin: 0; padding: 0.5em 0 0.5em 1.3em; border: none; }
.entry-content dd { margin: 0 0 1.5em; color: #787878; font-size: 0.9em; }

/* 画像 */
.entry-content img { max-width: 100%; height: auto; }
.entry-content .aligncenter, .entry-content img.aligncenter { clear: both; margin-right: auto; margin-left: auto; }
.entry-content img.aligncenter { display: block; }
.entry-content img.alignleft, .entry-content .alignleft { float: left; margin: 0.5em 1.2em 0.5em 0; }
.entry-content img.alignright, .entry-content .alignright { float: right; margin: 0.5em 0 0.5em 1em; }
.entry-content .wp-caption { max-width: 100%; margin: 0 0 1.5em; padding: 8px; border: 2px solid #eaedf2; }
.entry-content .wp-caption.aligncenter { margin: 0 auto 1em; }
.entry-content .wp-caption img { width: 100%; margin-bottom: 0; }
.entry-content .wp-caption p.wp-caption-text, .entry-content .wp-caption-text { margin: 10px 0 0; font-size: 0.85em; text-align: center; }
.entry-content .gallery-caption { margin: 5px 0; color: gray; font-size: 0.75em; text-align: center; }
.entry-content iframe { max-width: 100%; }
.entry-content code { margin: 0 0.2em; padding: 0.2em 0.3em; border-radius: 5px; background: #f1f2f3; color: #404040; font-size: 0.9em; }
.entry-content pre { margin: 0 0 1.5em; padding: 1em; border: 1px solid #eaedf2; background: #f3f6fc; color: #54687c; overflow-x: auto; }

/* 文字装飾（旧テーマのクラス） */
.strong { font-weight: bold; }
.small { font-size: 0.75em; }
.big { font-size: 1.3em; }
.keiko_blue { background: linear-gradient(transparent 50%, rgba(107, 182, 255, 0.24) 50%); }
.keiko_yellow { background: linear-gradient(transparent 50%, rgba(255, 252, 107, 0.69) 50%); }
.keiko_green { background: linear-gradient(transparent 50%, rgba(161, 232, 164, 0.69) 50%); }
.keiko_red { background: linear-gradient(transparent 50%, rgba(255, 88, 88, 0.24) 50%); }
.center { text-align: center; }
.blue-bc { background: #4f9df4; }
.red-bc { background: #f88080; }
.green-bc { background: #90d581; }
.main-bc { background-color: #3a3a3a; }
.accent-bc { background-color: #ffb36b; }
.main-c { color: #3a3a3a; }
.accent-c { color: #ffb36b; }
.pastel-bc { background-color: #c8e4ff; }

/* 目次（記事内） */
#toc_container {
	position: relative;
	display: block;
	width: 100% !important;
	margin: 2.5em 0;
	padding: 20px 16px;
	border-top: 5px solid #3a3a3a;
	background: #f9f9f9;
	box-shadow: 0 1.5px 2.4px rgba(0, 0, 0, 0.15);
	font-size: 0.95em;
}
#toc_container .toc_title { display: inline-block; position: relative; margin: 0; padding: 5px 0 5px 58px; color: #3a3a3a; font-size: 23px; font-weight: bold; line-height: 40px; }
#toc_container .toc_title::before {
	content: "\f0ca";
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #3a3a3a;
	color: #fff;
	font-family: FontAwesome;
	font-size: 20px;
	font-weight: normal;
	line-height: 50px;
	text-align: center;
}
#toc_container ul { margin: 0; padding: 0; border: none; list-style: none; }
#toc_container .toc_list { margin: 1em 0 0 18px; color: #585858; list-style: disc; }
#toc_container.no_bullets .toc_list, #toc_container.no_bullets ul { list-style: none; }
#toc_container .toc_list li { padding: 0; font-weight: bold; }
#toc_container .toc_list li a { color: #555; text-decoration: none; }
#toc_container .toc_list li a:hover { text-decoration: underline; }
#toc_container .toc_list li ul { margin: 5px; padding-left: 16px; }
#toc_container .toc_list li ul li { margin: 0; font-size: 0.95em; font-weight: normal; }
@media (min-width: 769px) {
	#toc_container { padding: 20px 25px; }
}

/* ボタン */
.btn { display: inline-block; border-radius: 4px; text-decoration: none !important; }
.entry-content .btn { margin: 0.5em 0.5em 0.5em 0; }
.raised { display: inline-block; margin: 0.5em 0; padding: 0.4em 1.3em; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.18); color: #fff !important; text-decoration: none !important; vertical-align: middle; }
.raised:hover { box-shadow: 0 6px 12px rgba(0, 0, 0, 0.22); }
.grad1 { display: inline-block; padding: 0.5em 1em; border-radius: 3px; background: linear-gradient(45deg, #709dff 0%, #92e6ff 100%); color: #fff !important; }
.cubic1 { display: inline-block; padding: 0.5em 1em; border-bottom: 4px solid rgba(0, 0, 0, 0.27); border-radius: 3px; color: #fff !important; }
.cubic2 { display: inline-block; position: relative; padding: 6px 16px 4px; border: 0; border-bottom: 2px solid rgba(0, 0, 0, 0.2); border-radius: 4px; box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.19); color: #fff !important; font-weight: bold; }
.cubic3 { display: inline-block; position: relative; padding: 0.25em 0.5em; border: 1px solid rgba(0, 0, 0, 0.19); border-radius: 4px; color: #fff !important; }

/* 記事リンク（[kanren]・[catpost]） */
.linkto { display: table; max-width: 550px; width: 100%; margin: 1em 0 1.5em; padding: 10px; border: 2px solid #eaedf2; border-radius: 3px; background: #fff; color: #555 !important; font-weight: bold; text-decoration: none !important; }
.linkto:hover { background: #eaedf2; }
.tbcell { display: table-cell; vertical-align: middle; }
.linkto .tbimg { width: 100px; }
.linkto .tbimg img { width: 100%; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25); }
.linkto .tbtext { padding-left: 10px; line-height: 1.5; text-align: left; }
.linkto time { display: block; color: #9fa6b4; font-size: 0.8em; font-weight: normal; }

/* MEMO・注意 */
.memo { margin-bottom: 1.5em; padding: 1em; background: #fff9e5; color: #545454; }
.memo_ttl { margin-bottom: 5px; color: #ffb36b; font-size: 1.2em; font-weight: bold; }
.memo_ttl::before {
	content: "\f040";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 3px 0 0;
	border-radius: 50%;
	background: #ffb36b;
	color: #fff;
	font-family: FontAwesome;
	font-weight: normal;
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
}
.memo p { margin: 0 0 5px; }
.memo.alert { background: #ffebeb; }
.memo.alert .memo_ttl { color: #ff8376; }
.memo.alert .memo_ttl::before { content: "\f12a"; background: #ff8376; }
.sc ul, .sc ol, .sng-box ul, .sng-box ol, .memo ul, .memo ol { margin: 5px 0; padding: 0 0 0 1.4em; border: none; background: transparent; }

/* BOX（[box class="box28"] など） */
.sng-box p { margin: 0; padding: 0; }
.entry-content .sng-box > *:first-child { margin-top: 0; }
.box-title { font-weight: bold; }
.box26 .box-title, .box27 .box-title { display: inline-block; position: relative; top: -14px; left: 10px; margin: 0 7px; padding: 0 9px; background: #fff; color: #95ccff; font-size: 19px; line-height: 1.4; }
.box26, .box27 { margin: 2em 0; border: 2px solid #95ccff; border-radius: 3px; }
.box27 { border-color: #ed8583; }
.box26 .box-content, .box27 .box-content { padding: 0 1.5em 24px; }
.box26 .box-title::before, .box27 .box-title::before { padding-right: 4px; font-family: FontAwesome; content: "\f02e"; }
.box27 .box-title { color: #ed8583; }
.box27 .box-title::before { content: "\f071"; }
.box28 { margin: 2em 0; }
.box28 .box-title { display: inline-block; padding: 5px 9px 3px; border-radius: 5px 5px 0 0; background: #62c1ce; color: #fff; font-size: 17px; line-height: 1.5; }
.box28 .box-content { padding: 1.3em 1em; border: 3px solid #62c1ce; }
.box29 { margin: 2em 0; border-top: 2px solid #ffc107; background: #fff8e1; }
.box29 .box-title { display: inline-block; position: relative; top: -2px; padding: 2px 9px; background: #ffc107; color: #fff; font-size: 17px; line-height: 1.5; }
.box29 .box-title::before { padding-right: 4px; font-family: FontAwesome; content: "\f0eb"; }
.box29 .box-content { padding: 16px; }
.box30, .box31, .box32, .box33 { margin: 2em 0; padding: 0 16px 10px; background: #edf6ff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); }
.box30 p, .box31 p { margin: 0 0 5px; }
.box30 .box-title, .box31 .box-title, .box32 .box-title, .box33 .box-title { margin: 0 -16px 16px; padding: 8px 4px; background: #5fc2f5; color: #fff; font-size: 1.2em; line-height: 1.5; text-align: center; }
.box30 .box-title::before { padding-right: 4px; font-family: FontAwesome; content: "\f00c"; }
.box32 .box-title { background: #f5a15f; }
.box33 .box-title { background: #f46b6b; }

/* 番号付きリスト（[list class="ol-circle ..."]） */
.entry-content .ol-circle ol { list-style-type: none !important; padding: 1em 0.7em; counter-reset: number; }
.entry-content .li-mainbdr ol, .entry-content .li-mainbdr ul { border: 2px solid #3a3a3a; }
.entry-content .ol-circle li { position: relative; padding: 0.5em 0 0.5em 34px; line-height: 1.5em; list-style: none; }
.entry-content .ol-circle li::before {
	content: counter(number);
	counter-increment: number;
	position: absolute;
	left: 0;
	display: inline-block;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #5c9ee7;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 25px;
	text-align: center;
}
.entry-content .main-bc-before li::before { background-color: #3a3a3a; }
.sng-box .ol-circle ol, .memo .ol-circle ol { padding-left: 0; }

/* 見出し風の段落（class="hh hh18"） */
.entry-content .hh { margin: 2.5em 0 1em; padding: 0; border: 0; background: transparent; font-weight: bold; }
.entry-content p.hh { font-size: 1.1em; }
.entry-content .hh18 { position: relative; border-bottom: 3px solid #c8e4ff; }
.entry-content .hh18::after { content: " "; position: absolute; bottom: -3px; display: block; width: 30%; border-bottom: 3px solid #6bb6ff; }
@media (min-width: 769px) {
	.entry-content p.hh { font-size: 1.3em; }
}

/* 会話（[say]） */
.say { display: table; overflow: hidden; width: 100%; margin: 1.5em 0; }
.faceicon { display: table-cell; width: 100px; padding-right: 20px; text-align: center; vertical-align: top; }
.faceicon img { width: 100%; height: auto; border: 3px solid #eaedf2; border-radius: 50%; }
.faceicon span { display: block; margin-top: 8px; font-size: 11px; font-weight: bold; line-height: 1.4; }
.chatting { display: table-cell; position: relative; width: calc(100% - 100px); font-size: 0.95em; vertical-align: top; }
.sc { display: inline-block; padding: 13px; border: 2px solid #d5d5d5; border-radius: 12px; background: #fff; text-align: left; word-break: break-word; }
.sc::before { content: ""; position: absolute; top: 18px; left: -23px; border: 12px solid transparent; border-right: 12px solid #d5d5d5; }
.sc::after { content: ""; position: absolute; top: 18px; left: -20px; border: 12px solid transparent; border-right: 12px solid #fff; }
.sc p { margin: 5px 0; padding: 0; }
.right .faceicon { padding: 0 0 0 20px; }
.right .sc::before, .right .sc::after { right: -23px; left: auto; border: 12px solid transparent; border-left: 12px solid #d5d5d5; }
.right .sc::after { right: -20px; border-left-color: #fff; }

/* 横並び（[yoko2][yoko3]） */
.shtb2, .shtb3 { display: flex; gap: 10px; margin: 0 0 1.5em; }
.shtb2 > .cell, .shtb3 > .cell { flex: 1 1 0; min-width: 0; }
@media (max-width: 768px) {
	.shtb2.tbrsp, .shtb3.tbrsp { flex-direction: column; }
}

/* タイムライン（[timeline]） */
.entry-content .tl { margin: 1em 0; }
.tl-content { position: relative; padding: 0 0 1.5em 1.8em; }
.tl-content::before { content: ""; position: absolute; top: 24px; bottom: 0; left: 6px; display: block; width: 3px; background: #ccd5db; }
.tl_marker { position: absolute; top: 6px; left: 0; display: block; width: 14px; height: 14px; border: 3px solid #3a3a3a; border-radius: 50%; background: #3a3a3a; }
.tl-content:not(:first-of-type):not(:last-of-type) .tl_marker { background: transparent; }
.tl-content:last-of-type::before { content: none; }
.tl_label { padding-top: 2px; color: #90969a; font-size: 14px; font-weight: bold; }
.tl_title { font-size: 1.1em; font-weight: bold; line-height: 1.5; }
.tl_main { margin-top: 0.5em; padding: 0 0 1.5em; border-bottom: 1px dashed #ccd5db; font-size: 0.9em; line-height: 1.6; }
.entry-content .tl_main > * { margin: 0.7em 0 0; }

/* 分割ページのリンク */
.post-page-links { margin: 1.5em 0; text-align: center; }
.post-page-links > span, .post-page-links a span { display: inline-block; width: 42px; height: 42px; margin: 3px; border-radius: 50%; background: #eaedf2; font-weight: bold; line-height: 42px; }
.post-page-links > span { background: #3a3a3a; color: #fff; }

/* CTA */
.cta { margin: 25px 0; padding: 25px 16px; font-weight: bold; }
.cta h3 { margin: 0; font-size: 1.5em; line-height: 1.45; text-align: center; }
.cta-img { margin: 16px 0; text-align: center; }
.cta-descr { margin: 16px 0; font-size: 1.1em; white-space: pre-wrap; }
.cta-btn { text-align: center; }
.cta-btn a { padding: 0.5em 1em; border-radius: 4px; color: #fff; }

/* おすすめ・関連記事 */
.h-undeline { position: relative; margin: 24px 0 0; padding: 12px 10px; background: #eef0f3; font-size: 16px; font-weight: bold; text-align: center; }
.recommended { margin: 1.5em 0; }
.recommended a { display: table; width: 90%; margin: 5%; color: #333; font-weight: bold; line-height: 1.55; }
.recommended a figure, .recommended a div { display: table-cell; vertical-align: middle; }
.recommended a figure { width: 90px; height: 90px; }
.recommended figure img { width: 100%; border-radius: 10px; }
.recommended a div { width: calc(100% - 90px); padding-left: 16px; }
.related-posts ul { margin: 0; padding: 0; list-style: none; }
.related-posts li { padding: 0; }
.related-posts li a { display: flex; align-items: center; gap: 12px; padding: 12px; border-bottom: 1px solid var(--c-line-soft); color: var(--c-text); }
.related-posts li a:hover { background: #fafbfc; color: var(--c-text); }
.related-posts .rlmg { flex: 0 0 auto; width: 90px; height: 90px; margin: 0; }
.related-posts .rlmg img { width: 90px; height: 90px; border-radius: 10px; object-fit: cover; }
.related-posts .rep { flex: 1 1 auto; min-width: 0; }
.related-posts .rep p { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.55; }
.related-posts .rep time { color: #8a9099; font-size: 12px; }
@media (min-width: 769px) {
	.entry-content { padding-left: 20px; padding-right: 20px; }
	.recommended { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2em; }
	.recommended a { width: 100%; margin: 0; font-size: 0.95em; }
}

/* コメント欄（旧テーマと同じ見た目） */
.entry-comments { margin-top: 16px; }
#comments-title { margin: 0; padding: 0.75em; border-top: 1px solid #f8f9fa; font-size: 1.2em; }
.commentlist { margin: 0; padding: 0; list-style: none; font-size: 0.9em; }
.comment { position: relative; overflow: hidden; clear: both; padding: 1em; }
.no-comments { padding: 14px; font-size: 0.95em; }
.comment .comment-author { padding: 7px 0 2px; border: 0; }
.comment .vcard { margin-left: 50px; }
.comment .vcard cite.fn { font-style: normal; font-weight: bold; }
.comment .vcard time { display: block; font-size: 0.8em; font-style: italic; }
.comment .vcard time a { color: #9fa6b4; text-decoration: none; }
.comment .vcard .avatar { position: absolute; left: 16px; border-radius: 50%; }
.comment .children { margin: 0; padding: 0; list-style: none; }
.comment.depth-1 { margin-top: 0; margin-left: 0; }
.comment:not(.depth-1) { margin-top: 0; padding: 13px; }
.comment.odd { background-color: #fff; }
.comment.even { background: #f8f9fa; }
.comment_content p { margin: 0.7335em 0 1.5em; line-height: 1.5em; }
.comment-reply-link, #submit, .blue-btn {
	display: inline-block;
	position: relative;
	padding: 0 24px;
	border: 0;
	border-radius: 4px;
	background-color: #4f96f6;
	color: #fff !important;
	font-size: 0.9em;
	font-weight: normal;
	line-height: 34px;
	text-decoration: none;
	cursor: pointer;
}
.comment-reply-link { margin: 10px 0 10px 10px; background-color: #c1c7cc; font-size: 0.85em; font-weight: bold; }
.comment-edit-link { margin: 0 7px; font-size: 0.9em; font-style: italic; }
.comment-navigation { display: flex; justify-content: space-between; }
.comment-nav-prev, .comment-nav-next { padding: 10px; font-weight: bold; }
.entry .comment-respond { padding: 1em 1.5em 2em; border-top: 1px solid #eaedf2; }
#reply-title { font-weight: bold; }
#reply-title::before { content: "\f040"; padding-right: 5px; color: #3a3a3a; font-family: FontAwesome; font-weight: normal; }
.comment-notes { color: #7b7e82; font-size: 0.9em; }
.logged-in-as { margin: 0; color: #9fa6b4; font-style: italic; }
.comment-form-comment { margin: 1.5em 0 0.75em; }
.form-submit { text-align: right; }
.comment-form-cookies-consent { position: relative; font-size: 0.9em; line-height: 1.6; }
.comment-form-cookies-consent input { position: absolute; top: 5px; left: 0; }
.comment-form-cookies-consent label { display: block; padding-left: 25px; }
/* コメント欄の中のタブ（新着順・参考になった順） */
.entry-comments .post-tab { border-bottom: 1px solid var(--c-line); }
.entry-comments .post-tab > div { font-size: 13px; }
@media (min-width: 769px) {
	.entry .comment-respond { padding: 10px 40px 30px; }
}

/* 広告の枠 */
.ad2 { margin: 16px 0; }

/* =========================================================
   9. 旧子テーマのCSS（sango-theme-child/style.css から、ヘッダー・旧メニュー関係を除いて移植）
   ========================================================= */


/*--------------------------------
news
---------------------------------*/

.h2top{
	background:#000;
	color:#fff;
	border:none;
	padding:10px;
	line-height:18px;
	margin:0;
	font-size:18px;
}

.to_list1 {
	margin-top: 0;
}

.to_list1 a {
	display: block;
	border-bottom: 1px solid #a1a1a1;
	border-right: 1px solid #a1a1a1;
	border-left: 1px solid #a1a1a1;
	margin: 0;
	padding: 2px 5px 0;
	font-size: 14px;
	text-align: right;
	background: #fff4f4;
}

/*--------------------------------
review
---------------------------------*/
.wpcr3_review {
	margin: 10px;
	padding: 10px;
	border-left: 6px solid #6bb6ff;
	background: #f9f9f9;
	color: #232323;
}

div.wpcr3_review div.wpcr3_review_datePublished {
	font-style: normal;
	color: #878787;
}

div.wpcr3_review div.wpcr3_review_author {
	display: block!important;
	font-weight: 700;
	font-style: normal;
}

.wpcr3_review:nth-child( n+13 ) {
    display: none;
}

/*--------------------------------
cmenu widget
---------------------------------*/

.list-box {
  padding: 5px;
  box-sizing:border-box;
  position:relative;
  width:25%;
  float:left;
  height:115px;
}
.list-text {
    font-size: 11px;
}
.absolutep {
    position: absolute;
    top: 12px;
    color: #fff;
    background: rgba(0,0,0,.6);
    width: 66px;
    padding: 0;
}
.absolutep p {
    margin: 0 0 0 2px;
    padding: 0;
	font-size: 9px;
	line-height: 16px;
}
.kijikabu {
	overflow: hidden;
	width: 100%;
}
.kijikabu h4 {
    margin: 0 0 15px;
    border: none;
    background: #1f323a;
    padding: 10px;
    font-size: 14px;
    color: #fff;
}
#searchform div {
    margin: 10px auto;
}

/** 目次：TOC+とEasyTableOfContentsに対応 **/
/* END 目次 */

/*--------------------------------
追加
---------------------------------*/
.buttonWrapper {
	text-align: center;
}
.comment .vcard {
	margin-left:0;
}

.comment-image {
	width: 50%;
}
.entry-content h3 {
	background-color: #7dc8c3;
	color: #fff;
	border: 0;
	padding: 5px 10px;

}

.h3-content h3 {
	margin-top: 0;
}

.h3-content {
	border: 10px solid #ebebf0;
	padding: 10px;
	position: relative;
}
.h3-content:before {
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.12), 0 2px 3px 0 rgba(0, 0, 0, 0.22);
}

.h3-content table:last-child,.h3-content p:last-child {
	margin-bottom:0;
}

.entry-content {
	padding-left: 20px;
	padding-right: 20px;
}

.h3-content h4 {
    font-size: 15px;
    margin: 0;
    background: #eef7ff;
    border-top: 1px solid #6cb7ff;
    border-bottom: 1px solid #6cb7ff;
    margin-top: -1px;
    padding: 5px 30px 5px 15px;
    position: relative;
    color: #000;
}

.h3-content h4:before {
	content: "\f106";
	font-family: fontawesome;
	color: #085dac;
	font-weight: 700;
	margin-right: 0;
	font-size: 30px;
	position: absolute;
	right: 10px;
	top: 2px;
	line-height: 1;
}

.h3-content h4.h4_close:before {
	content: "\f107";
}

.h3-content h4.h4_open:before,.h4_content_close .h3-content h4.h4_open:before {
	content: "\f106";
}

.h4-content {
	padding: 10px 5px;
}

table.wpcr3_table_2 tr {
	border-bottom: 0!important;
}

.new:after {
	content: "NEW!";
	font-size: .75em;
	background: #ff9f80;
	color: #fff;
	padding: 3px 7px;
	margin-left: 5px;
	margin-bottom: 2px;
	border-radius: 10px;
}

.ad {
	max-width: 300px;
	margin: auto;
	text-align: center;
	width: 100%;
}

.entry-content h2 {
    margin-top: 30px;
}

/* iframeのレスポンシブ */
.youtube-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.youtube-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#custom_html-5 {
    display: none;
}

h3#hyouka {
	background-color: #7dc8c3;
	color: #fff;
	border: 0;
	padding: 5px 10px;
	margin: 20px 20px 10px;
}

.wpcr3_respond_2 {
	margin: 0 10px!important;
}
.wpcr3_div_2 {
	width: auto;
}

html #comment-image-wrapper {
	margin-bottom: 0;
}

#list77 ul {
    list-style: none;
    padding: 0;
    font-size: 15px;
    line-height: 24px;
}

#list77 ul li {
    padding: 0;
}

#list77 ul li img {
    float: left;
    height: 50px;
    width: 50px;
    margin-right: 10px;
}

#list77 ul li a strong {
    color: #000;
    display: block;
    font-weight: bold;
    padding-top: 5px;
}

.comment > .comment {
	border-left: 3px solid #999999;
}

.ad_menu_bottom {
	text-align: center;
	margin-bottom: 20px;
	margin-top: -20px;
}

.commentlist .wpcr3_respond_2 {
	display: none!important;
}

.comment_bottom {
	text-align: right;
	display: flex;
	justify-content: end;
	align-items: start;
}

.sankou_btn {
	background-color: #ffb36b;
	font-size: 0.85em;
	font-weight: bold;
	color: #fff;
	border: 0;
	display: inline-block;
	position: relative;
	padding: 0 14px;
	border-radius: 4px;
	line-height: 34px;
	margin-right: 5px;
}

.comment-reply-link {
	margin-bottom: 15px;
}

.sankou_btn[disabled] {
    background-color: #e58020;
	cursor: not-allowed;
}

.comment-navigation {
	height: 55px;
}

.delete_request_btn {
	font-size: 13px;
	background-color: #efefef;
	border: 1px solid #767676;
	color: #4b4b4b;
	clear: both;
	display: block;
	margin-left: auto;
	width: 70px;
	padding: 1px;
}

.delete_request_btn[disabled] {
    background-color: #bebebe;
	cursor: not-allowed;
}

.comment > .comment:first-of-type {
    margin-top: 10px;
}

.wpcr3_rating_stars label {
	cursor: pointer;
}

.r2_rating {
    display: inline-block;
    border: 2px solid;
    font-weight: bold;
    font-size: 14px;
    padding: 3px 10px;
    border-radius: 10px;
    margin-top: 5px;
}

.r2_rating_a {
    color: #5D99FF;
}

.r2_rating_b {
	color: #9e9e9e;
}
.r2_rating_c {
	color: #ff5858;
}

.r2_wrapper {
    display: flex;
	border-top: solid 1px #eaedf2;
}

.r2_wrapper .r2_wrapper_left {
    width: 50%;
    text-align: center;
}

.r2_wrapper .r2_wrapper_right {
    width: 50%;
}

.r2_wrapper {
    padding: 15px;
    align-items: center;
}

#r2_chart {
    max-width: 300px;
    margin: auto;
}

.comment-reply-link2 {
	float: right;
	margin: 10px 0 15px 10px;
	background-color: #c1c7cc;
	font-size: 0.85em;
	font-weight: bold;
	display: inline-block;
	position: relative;
	padding: 0 24px;
	border: 0;
	border-radius: 4px;
	color: white;
	text-decoration: none;
	line-height: 34px;
	cursor: pointer;
	transition: background-color 0.14s ease-in-out;
}

.comment-reply-link2:hover {
	text-decoration: none;
}

.post-tab__content .ad {
	margin-bottom: 20px;
}

/* 202603追加 */
/*
.wpcr3_respond_2 label:has([type="radio"]) {
    font-size: 80%;
}*/
input[name="comment_cat"] {
	vertical-align: middle;
}
.comment_cat_tab {
    display: flex;
    text-align: center;
    justify-content: space-between;
    font-size: 12px;
    margin: 0;
	font-weight: bold;
}
.comment_cat_tab li.active {
    background-color: #f8f9fa;
    color: #070f15;
}

.comment_cat_tab li {
    background-color: #32a0ff;
    padding: 8px 0;
    color: #fff;
    border-right: 2px solid #f8f9fa;
	cursor: pointer;
	line-height: 1.2;
	flex-grow: 1;
}

.comment_cat_tab li:last-child {
    border-right: 0;
}

#comment::placeholder {
    opacity: 0.6;
}

.commentlist > .comment > .comment {
    display: none;
}

.comment.thread-even {
	background: #f8f9fa;
}
.comment.thread-even > .comment:nth-of-type(odd) {
	background: #fff;
}
.comment.thread-even > .comment:nth-of-type(even) {
	background: #f8f9fa;
}
.comment.thread-even > .comment > .comment:nth-of-type(odd) {
	background: #f8f9fa;
}
.comment.thread-even > .comment > .comment:nth-of-type(even) {
	background: #fff;
}
.comment.thread-even > .comment > .comment > .comment:nth-of-type(odd) {
	background: #fff;
}
.comment.thread-even > .comment > .comment > .comment:nth-of-type(even) {
	background: #f8f9fa;
}

.comment.thread-odd {
    background: #fff;
}
.comment.thread-odd > .comment:nth-of-type(odd) {
	background: #f8f9fa;
}
.comment.thread-odd > .comment:nth-of-type(even) {
	background: #fff;
}
.comment.thread-odd > .comment > .comment:nth-of-type(odd) {
	background: #fff;
}
.comment.thread-odd > .comment > .comment:nth-of-type(even) {
	background: #f8f9fa;
}
.comment.thread-odd > .comment > .comment > .comment:nth-of-type(odd) {
	background: #f8f9fa;
}
.comment.thread-odd > .comment > .comment > .comment:nth-of-type(even) {
	background: #fff;
}
.comment-reply-link {
    float: none;
    margin: 0;
}
.good_btn, .bad_btn {
    background-color: transparent;
    border: 0;
    color: #555555;
    min-width: 50px;
    text-align: left;
    padding: 0;
    margin-right: 10px;
    display: flex;
    font-size: 14px;
    line-height: 1.2;
    font-feature-settings: "palt";
}
.good_btn *, .bad_btn * {
    color: #555555;
}
.good_btn > svg, .bad_btn > svg{
	fill: #555555;
	width: 30px;
	margin-right: 5px;
}

.good_btn.clicked *, .bad_btn.clicked *{
	color: #ffb36b;
}
.good_btn.clicked > svg, .bad_btn.clicked > svg{
	fill: #ffb36b;
}

.good_btn > span > span, .bad_btn > span > span {
	display: block;
}

.disp_reply {
	margin-top: 10px;
	display: inline-block;
}

.good_btn ._txt, .bad_btn ._txt {
	font-size: 12px;
}
/* //202603追加 */

#submit[disabled] {
	pointer-events: none;
	opacity: 0.5;
}

@media (max-width: 1029px) {
	.entry-content {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	#r2_chart {
		max-width: 100%;
	}
}

@media (min-width: 769px) {
	.close_h4content_area {
		display: none!important;
	}
}

@media (max-width: 768px) {
	.h4_content_close .h4-content{
		display: none;
	}
	.h4_content_close .h3-content  h4:before {
		content: "\f107";
	}
	.h3-content {
		margin: 0 -10px;
	}
	.wpcr3_aggregateRating_wrapper {
		width: auto;
		margin: 0 10px;
	}

	.ad_menu_bottom {
		margin-top: 0px;
		margin-bottom: 0;
		padding-top: 20px;
		background-color: #f4f4f4;
	}

	.r2_wrapper {
		flex-direction: column;
		border-top: solid 1px #eaedf2;
	}

	.r2_wrapper .r2_wrapper_left {
		width: 100%;
	}

	.r2_wrapper .r2_wrapper_right {
		width: 100%;
	}

	.good_btn > svg, .bad_btn > svg {
		fill: #9d9d9d;
	}
}

/* 202610追加 記事内のワード検索 */
#cs-box {
	margin: 15px 0;
}
#cs-form {
	display: flex;
	margin: 0;
}
#cs-input {
	flex: 1;
	min-width: 0;
	height: 40px;
	margin: 0;
	padding: 0 10px;
	border: 2px solid #6cb7ff;
	border-right: 0;
	border-radius: 4px 0 0 4px;
	font-size: 16px; /* 16px未満だとiPhoneで入力時に画面が拡大されるため */
	background: #fff;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
}
#cs-submit {
	height: 40px;
	padding: 0 16px;
	border: 0;
	border-radius: 0 4px 4px 0;
	background: #6cb7ff;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	cursor: pointer;
}
#cs-msg {
	margin: 5px 0 0;
	font-size: 13px;
	color: #c00;
}
#cs-msg:empty {
	display: none;
}
mark.cs-hit {
	background: #fff176;
	color: inherit;
	padding: 0;
}
mark.cs-hit.cs-current {
	background: #ff9800;
	color: #fff;
}
#cs-bar {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000000;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	background: rgba(31, 50, 58, 0.95);
	color: #fff;
	font-size: 14px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
#cs-bar.show {
	display: flex;
}
#cs-word {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: bold;
}
#cs-count {
	white-space: nowrap;
	margin-right: 4px;
}
#cs-bar button {
	width: 38px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: #fff;
	color: #1f323a;
	font-size: 15px;
	line-height: 34px;
	cursor: pointer;
}
#cs-bar #cs-close {
	background: transparent;
	color: #fff;
	font-size: 22px;
}
/* //202610追加 */



/* =========================================================
   10. 旧「追加CSS」（カスタマイザー）から、ヘッダー・旧メニュー関係を除いて移植
       ※テーマを切り替えると追加CSSは引き継がれないため、ここに入れてある
   ========================================================= */
.sidelong__article-info h2 {
	margin-top: 0;
}

.huto {
	font-weight: bold;
	color:#FF3689;
}

.h3-content h4 {
	font-size: 1em;
}

.h3-content h5 {
	font-size: 1em;
	padding: 0 ;
	border-bottom:2px solid #EBEBEB;
	color:#7dc8c3;
}

.list-box {
	 line-height: 0.7em;
}
	
.list-box img {
	margin-bottom: 4px;
	border-radius: 10px;
}

.widgettitle {
	font-size: 1.0em;
	margin-bottom: 10px;
}

h4.widgettitle{
	background-color:#006699;
	padding:3px 10px;
}

P.hiduke {
	background-color:#252525;
	color:#FFF;
	font-size: 0.8em;
	padding-left:10px;
	margin:0;
}

#kar a {
	font-size: 0.8em;
	margin-left: 10px;
}

#custom_html-8 {
	background-color:#D9E5FF;
}

#custom_html-8 a {
	color:#005FFF;
}

#custom_html-8 h4.widgettitle {
	background-color:#5D99FF;
}

#custom_html-10 {
	background-color:#FFDBC9;
}

#custom_html-10 a {
	color:#005FFF;
}

#custom_html-10 h4.widgettitle {
	background-color:#FF773E;
}

.absolutep {
	background: #FF0000;
	font-weight:bold;
	top: 10px;
	width: 70px;
	opacity: 0.8;
}

.h3-content h5:before {
	content: "\f13a";
	font-family: "FontAwesome";
	color:#7dc8c3;
	font-weight: normal;
	margin-right: 5px;
	font-size: 1.1em;
}

.box24 {
	margin: 1em 0;
	color: #000;
}

.entry-content table {
	margin-bottom: 1em;
}

.entry-content table th,
.entry-content table td {
	text-align: center;
	padding: 6px 1px !important;
	word-break: normal !important; /* 不自然な途中改行を防ぐ */
}

.comment .vcard time {
	margin-top: 15px
}

.comment .vcard cite.fn {
	margin-left: 45px;
}

#list77 ul {
	list-style: none;
	padding: 0;
	font-size: 15px;
	line-height: 24px;
}

#list77 ul li {
	padding: 0;
}

#list77 ul li img {
	float: left;
	height: 50px;
	width: 50px;
	margin-right: 10px;
}

#list77 ul li a strong {
	color: #000;
	display: block;
	font-weight: bold;
	padding-top: 5px;
}

#custom_html-13 {
	display: none;
}

#inner-content .hh {
	margin: 1em 0;
}

#inner-content p.hh {
	font-size: 0.9em;
}

input[type="file"] {
	max-width: 100%;
}

.display_reviews .wpcr3_review {
	display:block!important;
}

.commentlist.display_comments > div {
	display:block!important;
}

/*評価機能追加*/
.wpcr3_respond_2 div.wpcr3_rating_style1 {
	vertical-align: sub;
}

.wpcr3_respond_2 div.wpcr3_rating_style1_base,
.wpcr3_respond_2 div.wpcr3_rating_style1_score, .wpcr3_respond_2 div.wpcr3_rating_style1_status, .wpcr3_respond_2 wpcr3_rating_style1 {
	background-size: cover;
	width: 162px;
	height: 30px;
	line-height: 30px;
	display: inline-block;
}

.wpcr3_respond_2 div.wpcr3_rating_style1_average {
	height: 32px;
	background: url(//chonborista.com/wp-content/plugins/wp-customer-reviews-c/css/newstars.png) 0 -30px no-repeat;
	background-size: 166px;
}

.wpcr3_respond_2 div.wpcr3_rating_style1_score div {
	height: 32px;
	background-size: 166px;
}

.rating-btn {
	display: inline-block;
	vertical-align: middle;
	line-height: 1.4;
	color: #444;
	text-decoration: none!important;
	margin-right: 5px;
	text-align: center;
}
.rating-btn div.wpcr3_rating_style1{
	vertical-align: top;
}

.related-posts.type_c li {
	border-bottom: 0;
}

.related-posts.type_c .rlmg {
	width: 90px;
	height: 90px;
	vertical-align: top;
	padding-right: 0;
}

.related-posts.type_c .rlmg img {
	border-radius: 10px;
}

.related-posts.type_c .rep {
	width: calc(100% - 110px);
	height: calc(100% - 110px);
	padding-left: 10px;
}

/*テーブル右線*/
.entry-content td:last-child, .entry-content th:last-child {
	border-right: 2px solid #e0e0e0;
}

.ad {
	min-height:293px;
}

.entry-content img:not(.lazyload),img.lazyloaded {
	height: auto!important;
}

.recommended figure img, .related-posts.type_c .rlmg img {
	height: 90px;
	max-height: 90px;
}

.list-img {
	min-height: 74px;
}

.cta-img {
	min-height: 172.5px;
}

@media (max-width: 768px) {
	.wpcr3_aggregateRating_wrapper, div.wpcr3_review_item div.wpcr3_item_name {
		margin: 0 10px;
		width: auto;
	}
	

	.entry-content table {
		font-size: 90%;
	}
	
	.entry-content .sumatable8 {
		font-size: 80%;
	}
	
	.entry-content .sumatable7 {
		font-size: 70%;
	}
	
	.entry-content .sumatable6 {
		font-size: 60%;
	}
	
	.entry-content .sumatable5 th{
		padding: 7px 0;
	}
	
	.entry-content .sumatable4 th{
		padding: 0;
	}
	
	.entry-content p {
		margin: 0 0 1em;
	}
	.related-posts.type_c ul {
		padding: 0;
	}
	.related-posts.type_c li a {
		width: 90%;
		margin: auto;
	}
}

/* --- 新規追加：スマホ専用・表をキュッと1画面に収めるクラス（バリエーション追加版） --- */
@media (max-width: 768px) {
	/* テーブルの幅を100%にする（追加クラスも対象に含める） */
	.entry-content table.table-compact,
	.entry-content table.table-compact-fixed,
	.entry-content table.table-compact1,
	.entry-content table.table-compact2,
	.entry-content table.table-compact3 {
		width: 100% !important;
	}

	/* 固定レイアウトの設定 */
	.entry-content table.table-compact-fixed {
		table-layout: fixed !important;
	}

	/* ▼既存：table-compact / table-compact-fixed */
	.entry-content table.table-compact th,
	.entry-content table.table-compact td,
	.entry-content table.table-compact-fixed th,
	.entry-content table.table-compact-fixed td {
		font-size: 12px !important;
		line-height: 1.3 !important;
		word-wrap: break-word !important;
	}

	/* ▼追加1：table-compact1 (14px / 12px 5px) */
	.entry-content table.table-compact1 th,
	.entry-content table.table-compact1 td {
		font-size: 14px !important;
		line-height: 1.5 !important;
		word-wrap: break-word !important;
	}

	/* ▼追加2：table-compact2 (13px / 11px 4px) */
	.entry-content table.table-compact2 th,
	.entry-content table.table-compact2 td {
		font-size: 13px !important;
		line-height: 1.6 !important;
		word-wrap: break-word !important;
	}

	/* ▼追加3：table-compact3 (12px / 9px 4px) */
	.entry-content table.table-compact3 th,
	.entry-content table.table-compact3 td {
		font-size: 12px !important;
		line-height: 1.7 !important;
		word-wrap: break-word !important;
	}
}

==========================================
   画像＋説明文のレスポンシブテーブル
   ========================================== */

/* テーブル直上の余白詰め */
* + .responsive-img-table {
	margin-top: 0 !important;
}

/* 共通・PCテーブル基本設定 */
.entry-content table.responsive-img-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #ccc !important; /* 標準のグレー枠 */
	margin-bottom: 0.5em !important;
	margin-top: 0 !important;
}

.entry-content table.responsive-img-table th,
.entry-content table.responsive-img-table td {
	border: none !important;
	padding: 0 !important;
}

/* 一番上の大見出しヘッダー（真っ黒） */
.entry-content table.responsive-img-table th {
	background-color: #000 !important;
	color: #fff !important;
	text-align: center !important;
	padding: 10px !important;
	font-size: 1.1em !important;
	font-weight: bold !important;
	border-bottom: 1px solid #ccc !important; /* 唯一の境界線 */
}

/* --- PC専用スタイル（PCは安全なGridで等高化） --- */
@media (min-width: 769px) {
	.entry-content table.responsive-img-table tbody tr {
		display: grid !important;
		grid-template-columns: 45% 55% !important;
		border-bottom: 1px solid #ccc !important; /* 行を区切るグレー線 */
	}
	.entry-content table.responsive-img-table tbody tr:last-child {
		border-bottom: none !important;
	}

	/* 左側：画像セル */
	.entry-content table.responsive-img-table .cell-img {
		grid-column: 1 / 2 !important;
		border-right: 1px solid #ccc !important; /* 左右を分けるグレー線 */
		display: flex !important;
		align-items: center !important;
		padding: 0 !important;
	}
	.entry-content table.responsive-img-table .cell-img img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}

	/* 右側：テキストセル */
	.entry-content table.responsive-img-table .cell-text {
		grid-column: 2 / 3 !important;
		display: flex !important;
		flex-direction: column !important;
	}

	/* 右側上：画像タイトル */
	.entry-content table.responsive-img-table .pattern-title {
		flex: 0 0 auto !important;
		background-color: #ededed !important; /* 薄いグレー */
		color: #333 !important;
		text-align: center !important;
		font-weight: bold !important;
		padding: 10px 5px !important;
		border-bottom: 1px solid #ccc !important; /* タイトル下のグレー線 */
		font-size: 1em !important; /* 1.1emから1emに縮小 */
	}

	/* 右側下：説明文（中央揃え） */
	.entry-content table.responsive-img-table .pattern-desc {
		flex: 1 1 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 15px 10px !important;
		text-align: center !important;
		line-height: 1.5 !important;
	}
}

/* --- スマホ専用スタイル（768px以下で1列・完璧な線と余白） --- */
@media (max-width: 768px) {
	/* 横スクロール干渉対策 */
	.entry-content .sango-table-wrap,
	.entry-content .table-wrap {
		overflow-x: visible !important;
	}

	.entry-content table.responsive-img-table,
	.entry-content table.responsive-img-table thead,
	.entry-content table.responsive-img-table tbody {
		display: block !important;
		width: 100% !important;
	}

	.entry-content table.responsive-img-table thead tr {
		display: block !important;
		width: 100% !important;
	}
	.entry-content table.responsive-img-table th {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 8px !important;
	}

	/* スマホの各項目をFlex化し、枠線を管理 */
	.entry-content table.responsive-img-table tbody tr {
		display: flex !important;
		flex-direction: column !important;
		border-bottom: 1px solid #ccc !important; /* 項目同士を区切る1pxの線 */
	}
	.entry-content table.responsive-img-table tbody tr:last-child {
		border-bottom: none !important;
	}

	/* セル（td）のデフォルト枠線を消す */
	.entry-content table.responsive-img-table td {
		border: none !important;
		padding: 0 !important; 
	}

	/* 右側エリアの枠組みを解除して並び替え可能にする */
	.entry-content table.responsive-img-table .cell-text {
		display: contents !important;
	}

	/* 【WP対策】自動挿入された透明なブロックを抹殺する */
	.entry-content table.responsive-img-table .cell-text > p:empty,
	.entry-content table.responsive-img-table .cell-text > br {
		display: none !important;
	}

	/* マイナスの順番を使うことで、残った透明な余白を下へ追いやる魔法 */
	/* 【順番1】タイトル */
	.entry-content table.responsive-img-table .pattern-title {
		order: -3 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		background-color: #ededed !important;  
		color: #333 !important; 
		font-weight: bold !important; /* ★スマホでも確実に太字にする */
		padding: 8px 10px !important;
		margin: 0 !important;
		text-align: center !important; 
		border: none !important;
		border-bottom: 1px solid #ccc !important; 
	}

	/* 【順番2】画像 */
	.entry-content table.responsive-img-table .cell-img {
		order: -2 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		border: none !important;
		border-bottom: 1px solid #ccc !important; 
		padding: 0 !important;
	}

	/* 【順番3】説明文 */
	.entry-content table.responsive-img-table .pattern-desc {
		order: -1 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 6px 10px !important; /* ★上下の余白をさらに狭めました（12px → 6px） */
		text-align: center !important;
		border: none !important; 
	}
}

/* ==========================================
   画像＋説明文のレスポンシブテーブル（v2: div不使用版）
   ========================================== */

/* テーブル直上の余白詰め */
* + .responsive-img-table-v2 {
	margin-top: 0 !important;
}

/* 共通・PCテーブル基本設定 */
.entry-content table.responsive-img-table-v2 {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #ccc !important;
	margin-bottom: 0.5em !important;
	margin-top: 0 !important;
}

.entry-content table.responsive-img-table-v2 th,
.entry-content table.responsive-img-table-v2 td {
	border: none !important;
	padding: 0 !important;
}

/* 【WP対策】勝手に入る改行や段落の余白を強制リセット */
.entry-content table.responsive-img-table-v2 td br {
	display: none !important;
}
.entry-content table.responsive-img-table-v2 td p {
	margin: 0 !important;
	padding: 0 !important;
}

/* 一番上の大見出しヘッダー（真っ黒） */
.entry-content table.responsive-img-table-v2 th {
	background-color: #000 !important;
	color: #fff !important;
	text-align: center !important;
	padding: 10px !important;
	font-size: 1.1em !important;
	font-weight: bold !important;
	border-bottom: 1px solid #ccc !important;
}

/* --- PC専用スタイル（PCは安全なGridで等高化） --- */
@media (min-width: 769px) {
	.entry-content table.responsive-img-table-v2 tbody tr {
		display: grid !important;
		grid-template-columns: 45% 55% !important;
		border-bottom: 1px solid #ccc !important;
	}
	.entry-content table.responsive-img-table-v2 tbody tr:last-child {
		border-bottom: none !important;
	}

	/* 左側：画像セル */
	.entry-content table.responsive-img-table-v2 .cell-img {
		grid-column: 1 / 2 !important;
		border-right: 1px solid #ccc !important;
		display: flex !important;
		align-items: center !important;
		padding: 0 !important;
	}
	.entry-content table.responsive-img-table-v2 .cell-img img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
	}

	/* 右側：テキストセル */
	.entry-content table.responsive-img-table-v2 .cell-text {
		grid-column: 2 / 3 !important;
		display: flex !important;
		flex-direction: column !important;
	}

	/* 右側上：画像タイトル (spanをブロック化) */
	.entry-content table.responsive-img-table-v2 .pattern-title-v2 {
		display: block !important;
		flex: 0 0 auto !important;
		background-color: #ededed !important;
		color: #333 !important;
		text-align: center !important;
		font-weight: bold !important;
		padding: 10px 5px !important;
		border-bottom: 1px solid #ccc !important;
		font-size: 1em !important;
		margin: 0 !important;
	}

	/* 右側下：説明文（中央揃え） (spanをブロック化) */
	.entry-content table.responsive-img-table-v2 .pattern-desc-v2 {
		display: flex !important;
		flex: 1 1 auto !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 15px 10px !important;
		text-align: center !important;
		line-height: 1.5 !important;
		margin: 0 !important;
	}
}

/* --- スマホ専用スタイル（768px以下で1列・完璧な線と余白） --- */
@media (max-width: 768px) {
	/* 横スクロール干渉対策 */
	.entry-content .sango-table-wrap,
	.entry-content .table-wrap {
		overflow-x: visible !important;
	}

	.entry-content table.responsive-img-table-v2,
	.entry-content table.responsive-img-table-v2 thead,
	.entry-content table.responsive-img-table-v2 tbody {
		display: block !important;
		width: 100% !important;
	}

	.entry-content table.responsive-img-table-v2 thead tr {
		display: block !important;
		width: 100% !important;
	}
	.entry-content table.responsive-img-table-v2 th {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 8px !important;
	}

	/* スマホの各項目をFlex化し、枠線を管理 */
	.entry-content table.responsive-img-table-v2 tbody tr {
		display: flex !important;
		flex-direction: column !important;
		border-bottom: 1px solid #ccc !important;
	}
	.entry-content table.responsive-img-table-v2 tbody tr:last-child {
		border-bottom: none !important;
	}

	.entry-content table.responsive-img-table-v2 td {
		border: none !important;
		padding: 0 !important; 
	}

	/* 右側エリアの枠組みを解除して並び替え可能にする */
	.entry-content table.responsive-img-table-v2 .cell-text {
		display: contents !important;
	}

	/* 【順番1】タイトル */
	.entry-content table.responsive-img-table-v2 .pattern-title-v2 {
		order: -3 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		background-color: #ededed !important;  
		color: #333 !important; 
		font-weight: bold !important;
		padding: 8px 10px !important;
		margin: 0 !important;
		text-align: center !important; 
		border: none !important;
		border-bottom: 1px solid #ccc !important; 
	}

	/* 【順番2】画像 */
	.entry-content table.responsive-img-table-v2 .cell-img {
		order: -2 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		border: none !important;
		border-bottom: 1px solid #ccc !important; 
		padding: 0 !important;
	}

	/* 【順番3】説明文 */
	.entry-content table.responsive-img-table-v2 .pattern-desc-v2 {
		order: -1 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 6px 10px !important;
		text-align: center !important;
		border: none !important; 
		margin: 0 !important;
	}
}

/* ==========================================
   終了画面・示唆まとめ用 2列ギャラリーテーブル
   ========================================== */
.entry-content table.gallery-2col {
	width: 100% !important;
	table-layout: fixed !important;
	border-collapse: collapse !important;
	border: none !important;
}

.entry-content table.gallery-2col tr,
.entry-content table.gallery-2col th,
.entry-content table.gallery-2col td {
	border: none !important;
	background: transparent !important;
	vertical-align: top;
}

.entry-content table.gallery-2col td {
	width: 50%;
	padding-bottom: 0px !important;
}

.entry-content table.gallery-2col td:nth-child(odd) {
	padding-left: 0 !important;
	padding-right: 10px !important;
}

.entry-content table.gallery-2col td:nth-child(even) {
	padding-left: 10px !important;
	padding-right: 0 !important;
}

.gallery-2col .g-title {
	background-color: #000;
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 2px;
	font-size: 17px;
}

.gallery-2col .g-img img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

.gallery-2col .g-desc {
	text-align: center;
	font-weight: bold;
	padding: 8px 5px 5px;
	font-size: 16px;
	line-height: 1.5;
}

.text-pink { color: #e600aa !important; }

@media (max-width: 768px) {
	.entry-content table.gallery-2col td:nth-child(odd) {
		padding-right: 4px !important;
	}
	.entry-content table.gallery-2col td:nth-child(even) {
		padding-left: 4px !important;
	}
	.entry-content table.gallery-2col td {
		padding-bottom: 3px !important;
	}
	
	.gallery-2col .g-title {
		font-size: 13px;
		padding: 0px;
	}
	.gallery-2col .g-desc {
		font-size: 13px;
		padding: 2px 2px 2px;
	}
}
/* ==========================================
   終了画面・示唆まとめ用（ピンポイント!important版 v3.3）
   ========================================== */
/* テーブル全体の初期化 */
.entry-content table.gallery-2col-v3 {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border: none;
	background: transparent;
	margin-bottom: 1.5em;
}

/* セル（td, th, tr）の初期化 */
.entry-content table.gallery-2col-v3 tr,
.entry-content table.gallery-2col-v3 th,
.entry-content table.gallery-2col-v3 td {
	border: none;
	background: transparent;
	vertical-align: top;
	padding: 0; 
}

.entry-content table.gallery-2col-v3 td {
	width: 50%;
}

/* 🔴ここだけ SANGO に打ち勝つために !important を使用 */
.entry-content table.gallery-2col-v3 td:nth-child(odd) {
	padding-right: 10px !important;
}
.entry-content table.gallery-2col-v3 td:nth-child(even) {
	padding-left: 10px !important;
}

/* 🔴WP自動整形（ビジュアルエディタの改行・段落）の無効化（ここも念のため必須） */
.entry-content table.gallery-2col-v3 td br {
	display: none !important;
}
.entry-content table.gallery-2col-v3 td p {
	margin: 0 !important;
	padding: 0 !important;
}

/* タイトル部分 */
.entry-content table.gallery-2col-v3 .g-title {
	display: block;
	background-color: #000;
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 2px;
	font-size: 17px;
	margin: 0;
}

/* 画像 */
.entry-content table.gallery-2col-v3 td img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	box-shadow: none;
	border-radius: 0;
}

/* 説明文部分 */
.entry-content table.gallery-2col-v3 .g-desc {
	display: block;
	text-align: center;
	font-weight: bold;
	padding: 8px 5px 5px;
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
}

/* スマホ表示用（ブレイクポイント768px） */
@media (max-width: 768px) {
	.entry-content table.gallery-2col-v3 td:nth-child(odd) {
		padding-right: 4px !important;
	}
	.entry-content table.gallery-2col-v3 td:nth-child(even) {
		padding-left: 4px !important;
	}
	.entry-content table.gallery-2col-v3 td {
		padding-bottom: 3px !important;
	}
	
	.entry-content table.gallery-2col-v3 .g-title {
		font-size: 13px;
		padding: 0;
	}
	.entry-content table.gallery-2col-v3 .g-desc {
		font-size: 13px;
		padding: 2px;
	}
}
/* ==========================================
   終了画面・示唆まとめ用 3列ギャラリーテーブル
   ========================================== */
.entry-content table.gallery-3col {
	width: 100% !important;
	table-layout: fixed !important;
	border-collapse: collapse !important;
	border: none !important;
}

.entry-content table.gallery-3col tr,
.entry-content table.gallery-3col th,
.entry-content table.gallery-3col td {
	border: none !important;
	background: transparent !important;
	vertical-align: top;
}

.entry-content table.gallery-3col td {
	width: 33.333%;
	padding-bottom: 0px !important;
}

/* 1列目 (左端) */
.entry-content table.gallery-3col td:nth-child(3n+1) {
	padding-left: 0 !important;
	padding-right: 6px !important;
}

/* 2列目 (中央) */
.entry-content table.gallery-3col td:nth-child(3n+2) {
	padding-left: 4px !important;
	padding-right: 4px !important;
}

/* 3列目 (右端) */
.entry-content table.gallery-3col td:nth-child(3n) {
	padding-left: 6px !important;
	padding-right: 0 !important;
}

.gallery-3col .g-title {
	background-color: #000;
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 2px;
	font-size: 15px; /* 3列用に少し縮小（元は17px） */
}

.gallery-3col .g-img img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

.gallery-3col .g-desc {
	text-align: center;
	font-weight: bold;
	padding: 8px 3px 5px;
	font-size: 14px; /* 3列用に少し縮小（元は16px） */
	line-height: 1.5;
}

/* スマホ用設定 */
@media (max-width: 768px) {
	/* 1列目 (左端) */
	.entry-content table.gallery-3col td:nth-child(3n+1) {
		padding-right: 5px !important;
	}
	/* 2列目 (中央) */
	.entry-content table.gallery-3col td:nth-child(3n+2) {
		padding-left: 3px !important;
		padding-right: 3px !important;
	}
	/* 3列目 (右端) */
	.entry-content table.gallery-3col td:nth-child(3n) {
		padding-left: 5px !important;
	}
	
	.entry-content table.gallery-3col td {
		padding-bottom: 3px !important;
	}
	
	.gallery-3col .g-title {
		font-size: 12px; /* スマホ表示用に縮小 */
		padding: 0px;
	}
	.gallery-3col .g-desc {
		font-size: 11px; /* スマホ表示用に縮小 */
		padding: 2px 1px 2px;
	}
}
/* PC：Sticky広告とTOPに戻るボタンが重ならないように */

/* ===== 複数画像ギャラリー ===== */
.cbg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;margin:1.5em 0;align-items:stretch}
.cbg.col3{grid-template-columns:repeat(3,1fr)}
.cbg figure{display:flex;flex-direction:column;margin:0;height:100%}

/* タイトル */
.cbg-t{display:flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:bold;font-size:.85em;line-height:1.3;text-align:center;padding:.3em .3em}
.cbg-t:empty{display:none}

/* 画像：基本は枠いっぱい（わずかな比率差は端を切って揃える） */
.cbg-i{flex:1 1 auto;display:flex;background:#f3f3f3;overflow:hidden}
.cbg-i img{display:block;width:100%;height:100%!important;max-height:none;object-fit:cover;margin:0!important}
/* fit="contain"：切り取らず余白で揃える（比率が大きく違う画像用） */
.cbg.contain .cbg-i img{height:auto!important;object-fit:contain;margin:auto 0!important}
.cbg.black .cbg-i{background:#000}

/* 説明 */
.cbg figcaption{text-align:center;font-weight:bold;font-size:.9em;line-height:1.5;padding:.6em .2em 0}
.cbg figcaption:empty{display:none}

/* SANGOの自動整形対策 */
.cbg br{display:none}
.cbg p{margin:0;padding:0}

@media (max-width:480px){.cbg.col3{grid-template-columns:repeat(2,1fr)}}
/* ===== 複数画像ギャラリー：スマホ用に詰める ===== */
@media (max-width: 767px) {
  .cbg{gap:8px 6px;margin:.8em 0}
  .cbg-t{font-size:.78em;line-height:1.25;padding:.25em .2em;letter-spacing:-.02em}
  .cbg figcaption{font-size:.78em;line-height:1.3;padding:.25em .1em 0}
}
/* ===== 印刷・PDF保存用：画像や表をページの境目で切らない ===== */
@media print {
  .cbg figure, .entry-content img, .entry-content table { break-inside: avoid; page-break-inside: avoid; }
  .entry-content h2, .entry-content h3, .entry-content h4 { break-after: avoid; page-break-after: avoid; }
  .cbg-t { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}


/* =========================================================
   11. 旧CSSより後に効かせたい調整
   ========================================================= */
/* h4（折りたたみ見出し）を少しゆったり */
.h3-content h4 {
	padding: 10px 40px 10px 12px;
	line-height: 1.5;
}
.h3-content h4:before {
	top: 50%;
	transform: translateY(-50%);
	font-size: 26px;
}

/* コメント欄の「みんなの評価」の前に★ */
.r2_text::before { content: "★"; margin-right: 4px; color: #e0912a; }

/* コメントのカテゴリー切り替え（すべて・…）の黒丸を消す */
.comment_cat_tab { padding: 0; list-style: none; }
.comment_cat_tab li { list-style: none; }

/* コメント送信まわりの余白を詰める */
.entry .comment-respond { padding-bottom: 16px; }
.comment-form-cookies-consent { margin: 8px 0; }
.comment-form .form-submit { margin: 12px 0 0; }
.comment-form p { margin-top: 0; }

/* コメント読み込み中のくるくる */
.comments-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	border-radius: 14px;
	background: rgba(43, 45, 49, 0.92);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	transform: translate(-50%, -50%);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
	opacity: 0;
	animation: chonboShow 0.2s ease 0.3s forwards; /* すぐ読み込めたときはチラつかないよう少し待ってから出す */
}
@keyframes chonboShow { to { opacity: 1; } }
.comments-loading::before {
	content: "";
	width: 22px;
	height: 22px;
	border: 3px solid rgba(255, 255, 255, 0.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: chonboSpin 0.8s linear infinite;
}
@keyframes chonboSpin { to { transform: rotate(360deg); } }

/* 目次ボタンを小さく表示（目次シートの中で読者が切り替え） */
.toc-compact-switch { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 10px 12px; border-radius: 10px; background: var(--c-chip); font-size: 13px; font-weight: 700; cursor: pointer; }
.toc-compact-switch input { width: 18px; height: 18px; margin: 0; }
body.toc-compact .toc-open { width: 46px; height: 46px; padding: 0; justify-content: center; opacity: 0.85; }
body.toc-compact .toc-open__label, body.toc-compact .toc-open__current { display: none !important; }

/* 本文の［更新情報］：4件目以降を折りたたむボタン */
.update-more { display: block; margin: 8px auto 0; padding: 6px 16px; border: 1px solid #62c1ce; border-radius: 999px; background: #fff; color: #2a8a97; font-size: 13px; font-weight: 700; }

/* 関連記事を詰める（画像小さめ・余白少なめ） */
.entry-footer .h-undeline { margin-top: 20px; padding: 8px 10px; font-size: 15px; }
.related-posts.type_c li a, .related-posts li a { width: auto; margin: 0; gap: 10px; padding: 8px 12px; }
.related-posts.type_c .rlmg, .related-posts .rlmg { width: 64px; height: 64px; }
.related-posts.type_c .rlmg img, .related-posts .rlmg img { width: 64px; height: 64px; max-height: 64px; border-radius: 10px; }
.related-posts.type_c .rep, .related-posts .rep { width: auto; height: auto; padding-left: 0; }
.related-posts .rep p { font-size: 14px; line-height: 1.5; }
@media (min-width: 769px) {
	.related-posts ul { display: grid; grid-template-columns: 1fr 1fr; }
	.related-posts li a { padding-left: 32px; }
	.related-posts li:nth-child(even) a { padding-left: 12px; }
}

/* ---------- v0.6 ---------- */
/* スマホの記事ページ：「先頭へ」は目次シートの中に移したので、右下（左下）のボタンは出さない */
@media (max-width: 768px) {
	.float-buttons.has-toc .float-top { display: none; }
}
/* PCの「先頭へ」は右下 */
@media (min-width: 769px) {
	.float-buttons { left: auto; right: 16px; }
}

/* 目次シートを閉じるボタン（目次ボタンと同じ位置＝左手の親指で押せる位置） */
.toc-sheet__fab-close {
	position: fixed;
	left: 12px;
	bottom: calc(var(--sticky-ad) + env(safe-area-inset-bottom, 0px));
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 6px;
	height: 50px;
	padding: 0 18px 0 14px;
	border: 0;
	border-radius: 999px;
	background: var(--c-dark);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(20, 24, 30, 0.35);
	opacity: 0;
	transition: opacity 0.2s;
}
.toc-sheet__fab-close svg { width: 20px; height: 20px; stroke-width: 2.6; }
.toc-sheet.is-open .toc-sheet__fab-close { opacity: 1; }
/* 閉じるボタンの下に隠れた項目もスクロールで出せるように */
.toc-sheet__body { padding-bottom: calc(var(--sticky-ad) + 70px); }
@media (min-width: 769px) {
	.toc-sheet__fab-close { display: none; }
	.toc-sheet__body { padding-bottom: 16px; }
}

/* 注目のスロット・パチンコ：アイコンと文字の間隔をそろえる */
.textwidget:has(> .list-box), .textwidget :is(div, p):has(> .list-box) {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.textwidget .list-box {
	float: none;
	flex: 0 0 25%;
	width: 25%;
	height: auto;
	padding: 4px 4px 10px;
	line-height: 1.35;
}
.textwidget .list-box a { display: block; }
.textwidget .list-box img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 0 6px;
	border-radius: 12px;
}
.textwidget .list-box .list-text, .textwidget .list-box {
	font-size: 12px;
}
.textwidget .list-box .absolutep { top: 4px; left: 4px; right: 4px; width: auto; border-radius: 12px 12px 0 0; }
.textwidget .list-box br { display: none; }
@media (min-width: 769px) {
	.sidebar .textwidget .list-box { padding: 4px 3px 10px; }
	.sidebar .textwidget .list-box .absolutep { left: 3px; right: 3px; }
	.sidebar .textwidget .list-box, .sidebar .textwidget .list-box .list-text { font-size: 11.5px; }
}

/* 記事内の余白をそろえる（四角い枠の中・折りたたみの中）
   文字の大きさに合わせて広がるよう em で指定（PCは文字が大きい設定のため） */
.entry-content p:empty { display: none; }
.sng-box p:empty { display: none; }
.h3-content { padding: 12px; }
.h3-content > h3 { margin: 0 0 0.75em; }
.h3-content > h3 + *, .h4-content > *:first-child { margin-top: 0; }
.h3-content table, .h3-content .cbg, .h3-content .responsive-img-table, .h3-content .responsive-img-table-v2 { margin-top: 0; margin-bottom: 0.9em; }
.h3-content p { margin-top: 0; margin-bottom: 0.9em; }
.h3-content > *:last-child, .h4-content > *:last-child { margin-bottom: 0; }
/* 本文のあとに続くh4は少し離す。h4どうし（閉じた状態で並ぶとき）は今までどおりくっつける */
.h3-content > h4 { margin-top: 0; }
.h3-content > *:not(h4):not(.h4-content) + h4 { margin-top: 0.9em; }
.h3-content > h4 + h4, .h3-content > .h4-content + h4 { margin-top: -1px; }
.h4-content { padding: 0.75em 0 0.9em; }
@media (min-width: 769px) {
	.h3-content { padding: 16px 18px; }
	/* PCでは「閉じる」が隠れるので、その1つ前を最後として扱う */
	.h4-content > :nth-last-child(2) { margin-bottom: 0; }
}

/* 箱（更新情報など）の中の余白：PCでも広がりすぎないよう固定値にし、最初と最後の余白を消す */
.box28 .box-content { padding: 12px 14px; }
.sng-box .box-content > :first-child { margin-top: 0 !important; }
.sng-box .box-content > :last-child { margin-bottom: 0 !important; }
.sng-box .box-content > ul:first-child, .sng-box .box-content > ol:first-child { padding-top: 0 !important; }
.sng-box .box-content > ul:last-child, .sng-box .box-content > ol:last-child { padding-bottom: 0 !important; }
.sng-box .box-content > br:first-child { display: none; }

/* PCは文字が大きい設定（140%）のため、段落・箱・画像ギャラリーの上下の空きが広がりすぎる。PCだけ詰める */
@media (min-width: 769px) {
	.entry-content p { margin-bottom: 1em; }
	.entry-content .sng-box, .entry-content .memo { margin-top: 1em; margin-bottom: 1em; }
	.entry-content .cbg { margin-top: 0.6em; margin-bottom: 0.8em; }
	.entry-content .cbg + p, .entry-content p + .sng-box { margin-top: 0.6em; }
	.entry-content h5 { margin-top: 1em; margin-bottom: 0.4em; }
	.entry-content p:has(> .btn), .entry-content div[style*="center"]:has(.btn) { margin-bottom: 0.6em; }
}

/* 箱の見出しタブ（更新情報・関連など）と枠の間にできるすき間を消す（文字の下の余白が原因） */
.sng-box .box-title { vertical-align: bottom; }
.box28 .box-title { display: block; width: fit-content; }
