/*
 * 自己満足デザイン（F案）の見た目
 * 白地に黒だけ。角丸なし。PCとスマホの切り替えは、yStandard がサイドバーを横に出す 1025px。
 */

:root {
	--jkm-font: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	--jkm-ink: #111111;
	--jkm-sub: #595959;
	--jkm-sub-on-black: #BDBDBD;
	--jkm-ad-label: #767676;
	--jkm-rule: #DDDDDD;
	--jkm-tint: #F2F2F2;
}

/* ---------- フォント（Noto Sans JP）。テーマの --font-family を上書きする ---------- */

body {
	--font-family: var(--jkm-font);
	font-family: var(--jkm-font);
}

/* ---------- 背景は白（テーマの「サイト背景色」の灰色を上書きする） ---------- */

body.has-bg-color,
body {
	--site-bg: #FFFFFF;
	background-color: #FFFFFF;
}

/* ---------- ヘッダーのロゴ（顔アイコン＋サイト名＋英字） ---------- */

.site-branding {
	min-width: 0;
	max-width: 100%;
}
.site-branding .site-title {
	margin: 0;
	font-size: inherit;
	line-height: 1;
}
.jkm-brand {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-brand:hover {
	color: var(--jkm-ink);
	text-decoration: none;
}
/* テーマの「ロゴの表示幅」（img に幅が付く）に負けないよう、.site-header から書く */
.site-header .site-branding img.jkm-brand__icon {
	display: block;
	flex-shrink: 0;
	width: 48px;
	max-width: none;
	height: 48px;
	object-fit: contain;
}
.jkm-brand__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.jkm-brand__name {
	color: var(--jkm-ink);
	font-size: 17px;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.25;
	white-space: nowrap;
}
.jkm-brand__sub {
	color: var(--jkm-sub);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.4;
	white-space: nowrap;
}
/* 幅の狭いスマホ（360px未満。iPhone SE など）では、ロゴを少し小さくして横にはみ出さないようにする */
@media (max-width: 359px) {
	.site-header .site-branding img.jkm-brand__icon {
		width: 40px;
		height: 40px;
	}
	.jkm-brand__name {
		font-size: 15px;
	}
	.jkm-brand__sub {
		font-size: 9px;
		letter-spacing: 0.02em;
	}
}
@media (min-width: 1025px) {
	.jkm-brand {
		gap: 18px;
	}
	.site-header .site-branding img.jkm-brand__icon {
		width: 72px;
		height: 72px;
	}
	.jkm-brand__text {
		gap: 4px;
	}
	.jkm-brand__name {
		font-size: 34px;
		letter-spacing: 0.04em;
		line-height: 1.2;
	}
	.jkm-brand__sub {
		font-size: 13px;
		letter-spacing: 0.18em;
	}
}

/* ---------- 記事ページの上の部分（パンくず・ラベル・タイトル・書き手・メイン画像） ---------- */

.breadcrumbs {
	font-size: 12px;
	color: var(--jkm-sub);
}
.breadcrumbs a {
	color: var(--jkm-sub);
}
.breadcrumbs .breadcrumbs__item::before {
	content: "›";
	margin: 0 8px;
}
.breadcrumbs .breadcrumbs__item:first-child::before {
	content: none;
	margin: 0;
}

.jkm-labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
}
.jkm-labels a {
	position: relative;
}
/* 見た目は小さいまま、押せる範囲を上下に広げる（44px） */
.jkm-labels a::after {
	content: "";
	position: absolute;
	inset: -10px -4px;
}
.jkm-type-label {
	display: inline-block;
	border: 1px solid var(--jkm-ink);
	padding: 3px 8px;
	color: var(--jkm-ink);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-decoration: none;
}
.jkm-cat-label {
	display: inline-block;
	background: var(--jkm-ink);
	color: #FFFFFF;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}
.jkm-type-label:hover,
.jkm-cat-label:hover {
	text-decoration: none;
}
.jkm-cat-label:hover {
	color: #FFFFFF;
}

.singular .singular-header__title {
	margin: 0;
	color: var(--jkm-ink);
	font-size: 24px;
	font-weight: 900;
	line-height: 1.45;
}

.jkm-byline {
	margin: 12px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.jkm-byline__who {
	display: flex;
	align-items: center;
	gap: 8px;
}
.jkm-byline__icon {
	display: block;
	width: 28px;
	height: 28px;
	object-fit: contain;
}
.jkm-byline__text {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--jkm-sub);
}
.jkm-byline__name {
	color: var(--jkm-ink);
	font-weight: 700;
}

.jkm-hero {
	margin: 16px 0 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.jkm-hero__img {
	display: block;
	width: 100%;
	height: auto;
}
.jkm-hero.is-portrait .jkm-hero__img {
	width: auto;
	max-width: 100%;
	max-height: 520px;
	margin: 0 auto;
}
.jkm-hero__caption {
	font-size: 12px;
	color: var(--jkm-sub);
}

.singular-header .jkm-ad--image {
	margin-top: 16px;
}
.entry-content .jkm-ad--body {
	margin: 36px 0;
}

@media (min-width: 1025px) {
	.breadcrumbs {
		font-size: 13px;
	}
	.jkm-labels {
		margin-bottom: 14px;
	}
	.jkm-type-label {
		padding: 4px 10px;
		font-size: 12px;
	}
	.jkm-cat-label {
		padding: 5px 12px;
		font-size: 13px;
	}
	.jkm-series-label {
		font-size: 13px;
	}
	.singular .singular-header__title {
		font-size: 38px;
	}
	.jkm-byline {
		margin-top: 22px;
		padding: 14px 0;
		border-top: 1px solid var(--jkm-rule);
		border-bottom: 1px solid var(--jkm-rule);
	}
	.jkm-byline__who {
		gap: 12px;
	}
	.jkm-byline__icon {
		width: 40px;
		height: 40px;
	}
	.jkm-byline__text {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}
	.jkm-byline__name {
		font-size: 14px;
	}
	.jkm-byline__sep {
		display: none;
	}
	.jkm-hero {
		margin-top: 28px;
	}
	.jkm-hero.is-portrait .jkm-hero__img {
		max-height: 640px;
	}
	.singular-header .jkm-ad--image {
		margin-top: 28px;
	}
}

/* ---------- シェアボタン（X・はてブ・LINE・URLコピー） ---------- */

.jkm-share {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
}
.jkm-share__btn {
	min-height: 44px;
	padding: 0 8px;
	border: 1px solid var(--jkm-ink);
	border-radius: 0;
	background: #FFFFFF;
	color: var(--jkm-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.jkm-share__btn:hover {
	background: var(--jkm-ink);
	color: #FFFFFF;
	text-decoration: none;
}
.jkm-share__btn.is-copied {
	background: var(--jkm-ink);
	color: #FFFFFF;
}
/* スマホでは、書き手の行のシェアは出さない（記事の下に出す） */
.jkm-share--byline {
	display: none;
}

/* ---------- 動画でも見る（サムネイルとタイトルだけ。再生マークは付けない） ---------- */

.jkm-video {
	margin: 32px 0 0;
	display: flex;
	flex-direction: column;
}
.jkm-video .jkm-section-title {
	padding-bottom: 12px;
}
.jkm-video__link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-video__link:hover {
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-video__link:hover .jkm-video__title {
	text-decoration: underline;
}
.jkm-video__thumb {
	display: block;
	aspect-ratio: 16 / 9;
	background: #2B2B2B;
	overflow: hidden;
}
.jkm-video__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-video__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}
.jkm-video__more {
	color: var(--jkm-sub);
	font-size: 12px;
}
@media (min-width: 1025px) {
	.jkm-video {
		margin-top: 48px;
	}
	.jkm-video .jkm-section-title {
		padding: 12px 0 16px;
		font-size: 22px;
	}
	.jkm-video__link {
		gap: 10px;
	}
	.jkm-video__title {
		font-size: 18px;
	}
	.jkm-video__more {
		font-size: 13px;
	}
}

/* ---------- 記事の下：分類とシェア ---------- */

.jkm-post-terms {
	margin: 32px 0 0;
	padding: 16px 0;
	border-top: 1px solid var(--jkm-ink);
	border-bottom: 1px solid var(--jkm-ink);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.jkm-post-terms__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.jkm-post-terms__key {
	width: 64px;
	flex-shrink: 0;
	padding-top: 4px;
	font-size: 12px;
	color: var(--jkm-sub);
}
.jkm-post-terms__val {
	min-width: 0;
}
.jkm-post-terms__series {
	color: var(--jkm-ink);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--jkm-ink);
}
.jkm-post-terms__series:hover {
	text-decoration: none;
}
.jkm-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.jkm-tag {
	padding: 5px 10px;
	background: var(--jkm-tint);
	color: var(--jkm-ink);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
}
.jkm-tag:hover {
	background: var(--jkm-ink);
	color: #FFFFFF;
	text-decoration: none;
}
.jkm-post-terms__row--share {
	flex-direction: column;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid var(--jkm-rule);
}
.jkm-post-terms__row--share .jkm-post-terms__key {
	width: auto;
	padding-top: 0;
	color: var(--jkm-ink);
	font-weight: 700;
}
.jkm-post-terms__row--share .jkm-share {
	width: 100%;
}
.jkm-post-terms__key-pc {
	display: none;
}

@media (min-width: 1025px) {
	.jkm-share--byline {
		display: flex;
		gap: 8px;
		flex-shrink: 0;
	}
	.jkm-share--byline .jkm-share__btn {
		padding: 0 14px;
		font-size: 13px;
	}
	.jkm-post-terms {
		margin-top: 36px;
		padding: 18px 0;
		gap: 14px;
	}
	.jkm-post-terms__row {
		align-items: center;
		gap: 16px;
	}
	.jkm-post-terms__key {
		width: 80px;
		padding-top: 0;
		font-size: 13px;
	}
	.jkm-post-terms__series {
		font-size: 14px;
	}
	.jkm-post-terms__row--share {
		flex-direction: row;
		gap: 16px;
	}
	.jkm-post-terms__row--share .jkm-share {
		display: flex;
		gap: 8px;
		width: auto;
	}
	.jkm-post-terms__row--share .jkm-share__btn {
		padding: 0 18px;
		font-size: 13px;
	}
	.jkm-post-terms__key-pc {
		display: inline;
	}
	.jkm-post-terms__key-sp {
		display: none;
	}
}

/* ---------- セクションの見出し（上に黒の3px線） ---------- */

.jkm-section-title {
	margin: 0;
	padding: 10px 0 6px;
	border: 0;
	border-top: 3px solid var(--jkm-ink);
	background: none;
	color: var(--jkm-ink);
	font-size: 17px;
	font-weight: 900;
	line-height: 1.5;
}
.jkm-section-title::before,
.jkm-section-title::after {
	content: none;
}

/* ---------- 記事カード ---------- */

.jkm-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--jkm-rule);
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-card:hover {
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-card:hover .jkm-card__title {
	text-decoration: underline;
}
.jkm-card__thumb {
	display: block;
	aspect-ratio: 16 / 10;
	background: #D6D6D6;
	overflow: hidden;
}
.jkm-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
}
.jkm-card__meta .jkm-type-label {
	padding: 0 6px;
	font-size: 11px;
	letter-spacing: 0.08em;
}
.jkm-card__cat {
	color: var(--jkm-sub);
}
.jkm-card__title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

/* ---------- あわせて読みたい。スマホは記事の下に2列、PCは本文とサイドバーの下に4列 ---------- */

.jkm-related {
	margin: 32px 0 0;
	display: flex;
	flex-direction: column;
}
.jkm-related__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 14px;
	padding-top: 8px;
}
.jkm-related--wide {
	display: none;
}

@media (min-width: 1025px) {
	.jkm-section-title {
		padding: 12px 0 0;
		font-size: 24px;
	}
	.jkm-related--in-article {
		display: none;
	}
	.jkm-related--wide {
		display: flex;
		margin: 0 0 72px;
		gap: 20px;
	}
	.jkm-related--wide .jkm-related__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
		padding-top: 0;
	}
	.jkm-related--wide .jkm-card {
		gap: 10px;
		padding-bottom: 20px;
	}
	.jkm-related--wide .jkm-card__meta {
		font-size: 12px;
	}
	.jkm-related--wide .jkm-card__title {
		font-size: 16px;
	}
}

/* ---------- 宿泊予約枠（新しい枠 .jkm-booking と、既存のトマレバ .cstmreba を同じ見た目に） ---------- */

.jkm-booking,
.entry-content .cstmreba {
	position: relative;
	width: auto;
	margin: 40px 0;
	padding: 18px 16px;
	border: 2px solid var(--jkm-ink);
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--jkm-ink);
	font-family: var(--jkm-font);
	line-height: 1.6;
}
.jkm-booking__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}
.jkm-booking__title,
.entry-content .cstmreba::before {
	font-size: 13px;
	font-weight: 700;
}
.jkm-booking__pr,
.entry-content .cstmreba::after {
	padding: 1px 8px;
	border: 1px solid #BDBDBD;
	color: var(--jkm-ad-label);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
}
/* トマレバには見出しとPR表記がないので、CSSで足す（HTMLは書き換えない） */
.entry-content .cstmreba::before {
	content: "この記事で泊まったホテル";
	display: block;
	margin-bottom: 14px;
}
.entry-content .cstmreba::after {
	content: "PR";
	position: absolute;
	top: 18px;
	right: 16px;
}
.jkm-booking__body {
	display: flex;
	align-items: center;
	gap: 14px;
}
.jkm-booking__thumb {
	display: block;
	flex-shrink: 0;
	width: 120px;
	aspect-ratio: 3 / 2;
	background: #D6D6D6;
	overflow: hidden;
}
.jkm-booking__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-booking__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.jkm-booking__name {
	font-size: 18px;
	font-weight: 900;
	line-height: 1.45;
}
.jkm-booking__name a {
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-booking__name a:hover {
	text-decoration: underline;
}
.jkm-booking__place {
	color: #444444;
	font-size: 13px;
}
.jkm-booking__btns,
.entry-content .cstmreba .tomarebalink-link1 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
	margin-top: 16px;
}
.jkm-booking__btn,
.entry-content .cstmreba .tomarebalink-link1 > div > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 10px 8px;
	border: 0;
	border-radius: 0;
	background: var(--jkm-ink);
	box-shadow: none;
	box-sizing: border-box;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}
.jkm-booking__btn:hover,
.entry-content .cstmreba .tomarebalink-link1 > div > a:hover {
	background: #444444;
	color: #FFFFFF;
	text-decoration: none;
}
.jkm-booking__pixel {
	position: absolute;
	width: 1px;
	height: 1px;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

/* トマレバの中身：二重線の枠・色付きの文字を外し、写真・名前・住所を新しい枠と同じ並びに */
.entry-content .cstmreba .tomarebalink-box {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	column-gap: 14px;
	align-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	overflow: visible;
}
.entry-content .cstmreba .tomarebalink-image {
	float: none;
	width: 120px;
	margin: 0;
}
.entry-content .cstmreba .tomarebalink-image a {
	display: block;
	aspect-ratio: 3 / 2;
	background: #D6D6D6;
	overflow: hidden;
}
.entry-content .cstmreba .tomarebalink-image a img {
	width: 100% !important;
	height: 100%;
	object-fit: cover;
}
.entry-content .cstmreba .tomarebalink-info {
	display: contents;
	color: var(--jkm-ink);
	line-height: 1.6;
}
.entry-content .cstmreba .tomarebalink-name {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	text-align: left;
}
.entry-content .cstmreba .tomarebalink-name > a {
	border: 0;
	color: var(--jkm-ink);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.45;
}
.entry-content .cstmreba .tomarebalink-powered-date,
.entry-content .cstmreba .tomarebalink-powered-date a {
	border: 0;
	color: var(--jkm-ad-label);
	font-size: 10px;
}
.entry-content .cstmreba .tomarebalink-address {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	margin: 4px 0 0 !important;
	text-align: left;
	color: #444444;
	font-size: 13px;
}
.entry-content .cstmreba .tomarebalink-address a {
	color: var(--jkm-sub);
}
.entry-content .cstmreba .tomarebalink-image {
	grid-column: 1;
	grid-row: 1 / span 2;
}
.entry-content .cstmreba .tomarebalink-link1 {
	grid-column: 1 / -1;
	grid-row: 3;
}
.entry-content .cstmreba .tomarebalink-link1 > div {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
}
.entry-content .cstmreba .booklink-footer {
	display: none;
}

@media (min-width: 1025px) {
	.jkm-booking,
	.entry-content .cstmreba {
		margin: 44px 0;
		padding: 24px 26px;
	}
	.entry-content .cstmreba::after {
		top: 24px;
		right: 26px;
	}
	.jkm-booking__head,
	.entry-content .cstmreba::before {
		margin-bottom: 16px;
	}
	.jkm-booking__body {
		gap: 20px;
	}
	.jkm-booking__thumb,
	.entry-content .cstmreba .tomarebalink-image {
		width: 180px;
	}
	.entry-content .cstmreba .tomarebalink-box {
		grid-template-columns: 180px minmax(0, 1fr);
		column-gap: 20px;
	}
	.jkm-booking__name,
	.entry-content .cstmreba .tomarebalink-name > a {
		font-size: 22px;
	}
	.jkm-booking__place,
	.entry-content .cstmreba .tomarebalink-address {
		font-size: 14px;
	}
	.jkm-booking__btns,
	.entry-content .cstmreba .tomarebalink-link1 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}
	.jkm-booking__btn,
	.entry-content .cstmreba .tomarebalink-link1 > div > a {
		font-size: 15px;
	}
}

/* ---------- カテゴリー・タグ一覧（3-9）。スマホが基本、PCは 1025px から ---------- */

.jkm-arch-head {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 4px 0 0;
}
.jkm-arch-head__main {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.jkm-arch-head__kind {
	color: var(--jkm-ad-label);
	font-size: 11px;
	letter-spacing: 0.14em;
}
.jkm-arch-head__title {
	margin: -4px 0 0;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 3px solid var(--jkm-ink);
	background: none;
	color: var(--jkm-ink);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.3;
}
.jkm-arch-head__desc,
.jkm-arch-head__desc p {
	margin: 0;
	color: #333333;
	font-size: 14px;
	line-height: 1.8;
}
.jkm-arch-head__count-sp {
	color: var(--jkm-sub);
	font-size: 12px;
}
.jkm-arch-head__tags {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.jkm-arch-head__tags-label {
	font-size: 12px;
	font-weight: 700;
}
.jkm-arch-head__bar {
	display: none;
}

.jkm-new {
	padding: 2px 6px;
	background: var(--jkm-ink);
	color: #FFFFFF;
	font-weight: 700;
	letter-spacing: 0.08em;
}

/* 大きい1本 */
.jkm-afeat {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-afeat:hover {
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-afeat:hover .jkm-afeat__title {
	text-decoration: underline;
}
.jkm-afeat__thumb {
	display: block;
	aspect-ratio: 16 / 10;
	background: #C8C8C8;
	overflow: hidden;
}
.jkm-afeat__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-afeat__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.jkm-afeat__title {
	font-size: 19px;
	font-weight: 900;
	line-height: 1.5;
}
.jkm-afeat__excerpt {
	display: none;
}

/* カードの上の行（NEW・記事タイプ・連載・日付） */
.jkm-acard__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	color: var(--jkm-sub);
	font-size: 11px;
}
.jkm-acard__meta .jkm-type-label {
	padding: 0 5px;
	font-size: 11px;
	letter-spacing: 0.08em;
}
.jkm-acard__series {
	color: var(--jkm-ink);
	font-weight: 700;
}

/* 残りの10本：スマホは写真左の1列 */
.jkm-alist {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--jkm-ink);
}
.jkm-acard {
	display: flex;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--jkm-rule);
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-acard:hover {
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-acard:hover .jkm-acard__title {
	text-decoration: underline;
}
.jkm-acard__thumb {
	display: block;
	flex-shrink: 0;
	width: 112px;
	height: 76px;
	background: #D6D6D6;
	overflow: hidden;
}
.jkm-acard__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-acard__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.jkm-acard__title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
	overflow-wrap: anywhere;
}
/* 広告：スマホは5本目の後（カードの order は 2,4,6…） */
.jkm-alist .jkm-alist__ad {
	order: 11;
	margin: 0;
}

/* ページ送り */
.jkm-pager {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.jkm-pager .page-numbers {
	min-width: 44px;
	height: 44px;
	padding: 0 6px;
	border: 1px solid var(--jkm-ink);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--jkm-ink);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.jkm-pager .page-numbers.current {
	background: var(--jkm-ink);
	color: #FFFFFF;
}
.jkm-pager .page-numbers.dots {
	min-width: 24px;
	border: 0;
	color: var(--jkm-sub);
	font-weight: 400;
}
.jkm-pager .page-numbers.prev,
.jkm-pager .page-numbers.next {
	padding: 0 16px;
	font-size: 14px;
}
.jkm-pager a.page-numbers:hover {
	background: var(--jkm-ink);
	color: #FFFFFF;
}

/* ○○が出てくる連載（スマホは本文の下、PCはサイドバー） */
.jkm-arch-series {
	margin-top: 32px;
	padding: 22px 16px 10px;
	background: var(--jkm-ink);
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
}
.jkm-arch-series__label {
	color: var(--jkm-sub-on-black);
	font-size: 12px;
}
.jkm-arch-series__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	padding: 14px 0;
	border-bottom: 1px solid #333333;
	color: #FFFFFF;
	text-decoration: none;
}
.jkm-arch-series__item:last-child {
	border-bottom: 0;
}
.jkm-arch-series__item:hover {
	color: #FFFFFF;
	text-decoration: none;
}
.jkm-arch-series__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.jkm-arch-series__name {
	font-size: 15px;
	font-weight: 900;
	line-height: 1.45;
}
.jkm-arch-series__count {
	color: var(--jkm-sub-on-black);
	font-size: 12px;
}
.jkm-arch-series__go {
	flex-shrink: 0;
	font-size: 13px;
	font-weight: 700;
}
.sidebar .jkm-arch-series--side.widget {
	display: none;
}

/* ほかのカテゴリー（スマホだけ） */
.jkm-other-cats {
	padding: 28px 0 32px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.jkm-other-cats__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
	font-weight: 900;
}
.jkm-other-cats__title::before,
.jkm-other-cats__title::after {
	content: none;
}
.jkm-other-cats__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.jkm-other-cats__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px;
	border: 1px solid var(--jkm-ink);
	box-sizing: border-box;
	color: var(--jkm-ink);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.jkm-other-cats__item.is-current,
.jkm-other-cats__item:hover {
	background: var(--jkm-ink);
	color: #FFFFFF;
	text-decoration: none;
}

@media (min-width: 1025px) {
	.jkm-arch-head {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 48px;
		row-gap: 0;
		align-items: end;
		padding-top: 8px;
		margin-bottom: 28px;
	}
	.jkm-arch-head__main {
		grid-column: span 8;
		gap: 8px;
	}
	.jkm-arch-head__kind {
		font-size: 12px;
		letter-spacing: 0.16em;
	}
	.jkm-arch-head__title {
		margin: 0;
		padding: 0;
		border-bottom: 0;
		font-size: 48px;
		line-height: 1.2;
	}
	.jkm-arch-head__desc {
		margin-top: 6px;
	}
	.jkm-arch-head__desc,
	.jkm-arch-head__desc p {
		font-size: 15px;
	}
	.jkm-arch-head__count-sp {
		display: none;
	}
	.jkm-arch-head__tags {
		grid-column: span 4;
		padding-bottom: 4px;
	}
	.jkm-arch-head__bar {
		grid-column: 1 / -1;
		margin-top: 20px;
		padding-top: 10px;
		border-top: 3px solid var(--jkm-ink);
		display: flex;
		justify-content: space-between;
		color: var(--jkm-sub);
		font-size: 13px;
	}

	.jkm-afeat {
		margin-top: 0;
		padding-bottom: 28px;
		border-bottom: 1px solid var(--jkm-ink);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		align-items: center;
	}
	.jkm-afeat__body {
		gap: 12px;
	}
	.jkm-afeat__title {
		font-size: 24px;
	}
	.jkm-afeat__excerpt {
		display: block;
		color: #444444;
		font-size: 14px;
		line-height: 1.8;
	}
	.jkm-acard__meta {
		font-size: 12px;
	}

	/* 残りの10本：PCは2列のカード。広告は6本目の後で、横いっぱい */
	.jkm-alist {
		margin-top: 28px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		border-top: 0;
	}
	/* カードの下に区切り線（同じ段の左右で線の高さがそろう） */
	.jkm-acard {
		flex-direction: column;
		gap: 10px;
		padding: 0 0 24px;
		border-bottom: 1px solid var(--jkm-rule);
	}
	.jkm-acard__thumb {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}
	.jkm-acard__body {
		gap: 10px;
	}
	.jkm-acard__title {
		font-size: 17px;
		line-height: 1.5;
	}
	.jkm-alist .jkm-alist__ad {
		order: 13;
		grid-column: 1 / -1;
		margin: 8px 0;
	}

	.jkm-pager {
		margin-top: 48px;
		gap: 8px;
	}
	.jkm-pager .page-numbers {
		min-width: 48px;
		height: 48px;
		font-size: 16px;
	}
	.jkm-pager .page-numbers.prev,
	.jkm-pager .page-numbers.next {
		padding: 0 20px;
		font-size: 15px;
	}

	.jkm-arch-series--main,
	.jkm-other-cats {
		display: none;
	}
	.sidebar .jkm-arch-series--side.widget {
		display: flex;
		margin: 0 0 36px;
		padding: 22px 22px 8px;
		background: var(--jkm-ink);
		color: #FFFFFF;
	}
	.sidebar .jkm-arch-series__item,
	.sidebar .jkm-arch-series__item:hover {
		color: #FFFFFF;
	}
	.sidebar .jkm-arch-series__name {
		font-size: 16px;
	}
}

/* ---------- テーマのままの一覧（新着・記事タイプ・連載・検索結果）。カードの下に区切り線 ---------- */

/* カードの外側の幅が写真と同じ。同じ段の左右で線の高さがそろう。
   テーマの「.has-background .archive__item.is-card { border: 0 }」に負けないよう、.archive__container から書く */
.ystd .archive__container .archive__item.is-card {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--jkm-rule);
}

/* ---------- トップページ（3-8）。スマホが基本、PCは 1025px から ---------- */

/* トップに使う固定ページでは、ページのタイトル・日付・シェアなどを出さない */
.jkm-top-page .singular-header,
.jkm-top-page .singular__footer,
.jkm-top-page .breadcrumbs {
	display: none;
}

.jkm-top,
.entry-content > .jkm-top {
	margin: 32px 0 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.entry-content > .jkm-top:first-child {
	margin-top: 8px;
}
/* 黒や灰色の帯は、画面の横いっぱいに色を広げる（横スクロールは出さない） */
.jkm-top-band {
	position: relative;
	padding: 24px 0 28px;
	box-shadow: 0 0 0 100vmax var(--jkm-band, #111111);
	clip-path: inset(0 -100vmax);
	background: var(--jkm-band, #111111);
}
.jkm-top-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-top: 10px;
	border-top: 3px solid var(--jkm-ink);
}
.entry-content .jkm-top .jkm-top-head__title,
.entry-content .jkm-top-categories__title,
.jkm-top .jkm-top-head__title,
.jkm-top-categories__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.4;
}
.entry-content .jkm-top .jkm-top-head__title::before,
.entry-content .jkm-top .jkm-top-head__title::after,
.entry-content .jkm-top-categories__title::before,
.entry-content .jkm-top-categories__title::after {
	content: none;
}
.jkm-top-head__link {
	color: var(--jkm-ink);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.jkm-top-head__note {
	color: var(--jkm-sub-on-black);
	font-size: 12px;
}
.jkm-top-date {
	color: var(--jkm-sub);
	font-size: 11px;
}
.jkm-top a {
	text-decoration: none;
}

/* 新着 */
.jkm-top-latest > .jkm-top-head .jkm-top-head__link {
	display: none;
}
.jkm-top-big,
.jkm-top-small {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--jkm-ink);
}
.jkm-top-big {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--jkm-rule);
}
.jkm-top-big__thumb,
.jkm-top-small__thumb,
.jkm-top-cat__thumb {
	display: block;
	aspect-ratio: 16 / 9;
	background: #D6D6D6;
	overflow: hidden;
}
.jkm-top-big__thumb img,
.jkm-top-small__thumb img,
.jkm-top-cat__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-top-big__series {
	font-size: 11px;
	font-weight: 700;
}
.jkm-top-big__title {
	font-size: 21px;
	font-weight: 900;
	line-height: 1.4;
}
.jkm-top-big__excerpt {
	display: none;
}
.jkm-top-small {
	gap: 10px;
	padding: 16px 0 18px;
	border-bottom: 1px solid var(--jkm-rule);
}
/* スマホの小さい4本は、タイトル → 写真 → 補足の順（見本 Top-sp） */
.jkm-top-small__title {
	order: -1;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}
.jkm-top-small__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--jkm-sub);
	font-size: 11px;
}
.jkm-top-small__meta .jkm-type-label {
	padding: 0 5px;
	font-size: 11px;
	letter-spacing: 0.08em;
}
.jkm-top-big:hover .jkm-top-big__title,
.jkm-top-small:hover .jkm-top-small__title {
	text-decoration: underline;
}
.jkm-top-latest__more-sp {
	padding: 4px 0 0;
}

/* 連載を第1話から読む（黒の帯） */
.jkm-top-series {
	color: #FFFFFF;
	gap: 22px;
}
.jkm-top-series .jkm-top-head {
	border-top-color: #FFFFFF;
}
.jkm-top-series__grid {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.jkm-top-series__item {
	display: flex;
	gap: 24px;
}
.jkm-top-series__thumb {
	display: none;
}
.jkm-top-series__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-grow: 1;
	min-width: 0;
}
.jkm-top-series__name,
.jkm-top-series__name:hover {
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.4;
}
.jkm-top-series__status {
	color: var(--jkm-sub-on-black);
	font-size: 12px;
}
.jkm-top-series__eps {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.jkm-top-series__ep {
	width: 44px;
	height: 44px;
	border: 1px solid #666666;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
}
.jkm-top-series__ep:hover {
	background: #FFFFFF;
	color: var(--jkm-ink);
}
.jkm-top-series__start {
	padding: 12px;
	background: #FFFFFF;
	color: var(--jkm-ink);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}
.jkm-top-series__start:hover {
	color: var(--jkm-ink);
	text-decoration: underline;
}

/* YouTubeの最新動画 */
.jkm-top-video__link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--jkm-ink);
}
.jkm-top-video__thumb {
	display: block;
	aspect-ratio: 16 / 9;
	background: #2B2B2B;
	overflow: hidden;
}
.jkm-top-video__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-top-video__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.jkm-top-video__body .jkm-top-date {
	order: 2;
}
.jkm-top-video__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}
.jkm-top-video__more {
	order: 3;
	color: var(--jkm-sub);
	font-size: 12px;
}
.jkm-top-video__link:hover .jkm-top-video__title {
	text-decoration: underline;
}

/* トップの広告：スマホ用とPC用を出し分ける */
.entry-content > .jkm-ad--top {
	margin: 32px 0 0;
}
.jkm-ad.jkm-ad--top-pc {
	display: none;
}

/* カテゴリーから探す */
.jkm-top-categories {
	gap: 28px;
}
.entry-content .jkm-top-categories__title {
	font-size: 20px;
}
.jkm-top-categories__grid {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.jkm-top-cat {
	display: flex;
	flex-direction: column;
}
.jkm-top-cat__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 10px 0 6px;
	border-top: 3px solid var(--jkm-ink);
	color: var(--jkm-ink);
}
.jkm-top-cat__name {
	font-size: 17px;
	font-weight: 900;
}
.jkm-top-cat__arrow,
.jkm-top-cat__all,
.jkm-top-cat__thumb {
	display: none;
}
.jkm-top-cat__all-sp {
	font-size: 13px;
	font-weight: 700;
}
.jkm-top-cat__lead,
.jkm-top-cat__item {
	display: block;
	padding: 11px 0;
	border-bottom: 1px solid var(--jkm-rule);
	color: var(--jkm-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}
.jkm-top-cat__lead:hover,
.jkm-top-cat__item:hover {
	color: var(--jkm-ink);
	text-decoration: underline;
}

/* 過去記事を掘り起こす（灰色の帯） */
.jkm-top-past {
	--jkm-band: #F2F2F2;
	margin-top: 32px;
	color: var(--jkm-ink);
}
.jkm-top-past__grid {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.jkm-top-past__col {
	display: flex;
	flex-direction: column;
}
.entry-content .jkm-top .jkm-top-past__title {
	margin: 0 0 4px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 16px;
	font-weight: 900;
}
.entry-content .jkm-top .jkm-top-past__title::before,
.entry-content .jkm-top .jkm-top-past__title::after {
	content: none;
}
.jkm-top-past__note {
	padding-bottom: 8px;
	color: var(--jkm-sub);
	font-size: 12px;
}
.jkm-rank__item,
.jkm-top-past__item {
	display: flex;
	gap: 12px;
	padding: 11px 0;
	border-top: 1px solid #D0D0D0;
	color: var(--jkm-ink);
}
.jkm-rank__no {
	width: 20px;
	flex-shrink: 0;
	font-size: 24px;
	line-height: 1;
}
.jkm-rank__title,
.jkm-top-past__item-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}
.jkm-top-past__thumb {
	order: 2;
	flex-shrink: 0;
	width: 88px;
	height: 58px;
	background: #D0D0D0;
	overflow: hidden;
}
.jkm-top-past__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jkm-top-past__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-grow: 1;
}
.jkm-rank__item:hover .jkm-rank__title,
.jkm-top-past__item:hover .jkm-top-past__item-title {
	text-decoration: underline;
}
.jkm-top-empty {
	padding: 16px;
	border: 2px dashed #BDBDBD;
}

@media (min-width: 1025px) {
	.entry-content > .jkm-top {
		margin-top: 48px;
		gap: 20px;
	}
	.entry-content > .jkm-top:first-child {
		margin-top: 32px;
	}
	.entry-content > .jkm-top-band {
		margin-top: 56px;
		padding: 40px 0 48px;
	}
	.entry-content .jkm-top .jkm-top-head__title,
	.entry-content .jkm-top-categories__title {
		font-size: 24px;
	}
	.jkm-top-head {
		padding-top: 12px;
	}
	.jkm-top-head__link {
		font-size: 14px;
	}
	.jkm-top-head__note {
		font-size: 13px;
	}
	.jkm-top-date {
		font-size: 12px;
	}

	.jkm-top-latest > .jkm-top-head .jkm-top-head__link {
		display: inline;
	}
	.jkm-top-latest__more-sp {
		display: none;
	}
	.jkm-top-latest__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
	/* 大きい1本・小さい4本とも下に区切り線（大きい1本の線は、小さい2段目の線とそろう） */
	.jkm-top-big {
		gap: 12px;
		padding-bottom: 20px;
	}
	.jkm-top-big__series {
		font-size: 12px;
	}
	.jkm-top-big__title {
		font-size: 28px;
	}
	.jkm-top-big__excerpt {
		display: block;
		color: #333333;
		font-size: 15px;
		line-height: 1.8;
	}
	.jkm-top-latest__small {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		align-content: start;
	}
	.jkm-top-small {
		gap: 8px;
		padding: 0 0 20px;
	}
	.jkm-top-small__title {
		order: 0;
		font-size: 16px;
	}
	.jkm-top-small__meta {
		color: var(--jkm-ink);
		font-size: 12px;
		font-weight: 700;
	}

	.jkm-top-series__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}
	.jkm-top-series__thumb {
		display: block;
		flex-shrink: 0;
		width: 200px;
		height: 200px;
		background: #3A3A3A;
		overflow: hidden;
	}
	.jkm-top-series__img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.jkm-top-series__body {
		gap: 12px;
	}
	.jkm-top-series__name {
		font-size: 22px;
	}
	.jkm-top-series__status {
		font-size: 13px;
	}
	.jkm-top-series__start {
		margin-top: auto;
		align-self: flex-start;
		padding: 11px 18px;
	}

	.jkm-top-video__link {
		display: grid;
		grid-template-columns: 7fr 5fr;
		gap: 24px;
		align-items: center;
	}
	.jkm-top-video__body {
		gap: 12px;
	}
	.jkm-top-video__body .jkm-top-date {
		order: 0;
	}
	.jkm-top-video__title {
		font-size: 24px;
		font-weight: 900;
		line-height: 1.45;
	}
	.jkm-top-video__more {
		color: var(--jkm-ink);
		font-size: 14px;
		font-weight: 700;
	}

	.jkm-ad.jkm-ad--top-sp {
		display: none;
	}
	.entry-content > .jkm-ad.jkm-ad--top-pc {
		display: flex;
		margin-top: 40px;
	}
	.jkm-ad--top-pc .jkm-ad__box {
		width: 970px;
		height: 90px;
	}

	.jkm-top-categories {
		gap: 24px;
	}
	.jkm-top-categories__grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 48px 32px;
	}
	.jkm-top-cat__head {
		padding: 10px 0 14px;
	}
	.jkm-top-cat__name,
	.jkm-top-cat__arrow {
		font-size: 20px;
	}
	.jkm-top-cat__arrow {
		display: inline;
		font-weight: 400;
	}
	.jkm-top-cat__all-sp,
	.jkm-top-categories__btns {
		display: none;
	}
	.jkm-top-cat__lead {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 0 0 14px;
		font-size: 17px;
		line-height: 1.5;
	}
	.jkm-top-cat__thumb {
		display: block;
	}
	.jkm-top-cat__item {
		padding: 12px 0;
		font-size: 15px;
		font-weight: 400;
	}
	.jkm-top-cat__all {
		display: block;
		padding-top: 14px;
		color: var(--jkm-ink);
		font-size: 14px;
		font-weight: 700;
	}

	.entry-content > .jkm-top-past {
		margin-top: 64px;
		padding: 44px 0 52px;
		gap: 32px;
	}
	.jkm-top-past__grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px;
	}
	.entry-content .jkm-top .jkm-top-past__title {
		font-size: 18px;
	}
	.jkm-top-past__thumb {
		order: 0;
		width: 96px;
		height: 64px;
	}
	.jkm-rank__no {
		font-size: 26px;
	}
}

/* ---------- 広告の箱（テスト表示は灰色の箱）。先に高さを取ってガタつかないようにする ---------- */

.jkm-ad {
	margin: 28px 0 0;
	padding: 20px 0;
	border-top: 1px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	clear: both;
}
.jkm-ad__label {
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--jkm-ad-label);
}
.jkm-ad__box {
	width: 300px;
	max-width: 100%;
	height: 250px;
	background: #F4F4F4;
	border: 1px solid #E6E6E6;
	box-sizing: border-box;
}
@media (min-width: 1025px) {
	.jkm-ad__box {
		width: 336px;
		height: 280px;
	}
}

/* ---------- 連載：タイトルの上のラベル ---------- */

.jkm-series-label {
	color: var(--jkm-ink);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--jkm-ink);
}

/* ---------- 連載：書き出しの後の案内箱 ---------- */

.entry-content .jkm-series-box {
	margin: 20px 0 0;
	padding: 12px 14px;
	border: 1px solid var(--jkm-ink);
	background: #FFFFFF;
	color: var(--jkm-ink);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.6;
	text-decoration: none;
}
.entry-content a.jkm-series-box:hover {
	text-decoration: none;
}
.jkm-series-box__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.jkm-series-box__name,
.jkm-series-box__go-more {
	display: none;
}
.jkm-series-box__go {
	flex-shrink: 0;
	font-weight: 700;
}

/* ---------- 連載ナビ（記事の下）。スマホは黒い帯に前後の話と全話一覧 ---------- */

.jkm-series-nav {
	margin: 32px 0 0;
	padding: 22px 16px 24px;
	background: var(--jkm-ink);
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.jkm-series-nav__head {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.jkm-series-nav__label {
	font-size: 12px;
	color: var(--jkm-sub-on-black);
}
.jkm-series-nav__name,
.jkm-series-nav__name:hover {
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.4;
	text-decoration: none;
}
.jkm-series-nav__pager {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.jkm-series-nav__prev,
.jkm-series-nav__next {
	padding: 12px;
	display: flex;
	gap: 14px;
	align-items: center;
	min-height: 44px;
	box-sizing: border-box;
	text-decoration: none;
}
.jkm-series-nav__prev:hover,
.jkm-series-nav__next:hover {
	text-decoration: none;
}
.jkm-series-nav__prev {
	border: 1px solid #666666;
	color: #FFFFFF;
}
.jkm-series-nav__next {
	grid-column: 2;
	background: #FFFFFF;
	color: var(--jkm-ink);
}
.jkm-series-nav__thumb {
	display: none;
}
.jkm-series-nav__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.jkm-series-nav__dir {
	font-size: 11px;
}
.jkm-series-nav__prev .jkm-series-nav__dir {
	color: var(--jkm-sub-on-black);
}
.jkm-series-nav__next .jkm-series-nav__dir {
	color: var(--jkm-sub);
}
.jkm-series-nav__title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

/* ---------- 全話一覧（スマホは連載ナビの中、PCはサイドバー） ---------- */

.jkm-series-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.jkm-series-list li {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #333333;
}
.jkm-series-list__item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 10px 0;
	box-sizing: border-box;
	color: #FFFFFF;
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
}
a.jkm-series-list__item:hover {
	color: #FFFFFF;
	text-decoration: underline;
}
.jkm-series-list__no {
	min-width: 44px;
	flex-shrink: 0;
	white-space: nowrap;
	font-weight: 700;
	color: #9E9E9E;
}
.jkm-series-list__title {
	color: #D9D9D9;
	overflow-wrap: anywhere;
}
.jkm-series-list .is-current .jkm-series-list__no,
.jkm-series-list .is-current .jkm-series-list__title {
	color: #FFFFFF;
	font-weight: 900;
}

/* ---------- サイドバーの全話一覧（PCだけ）。テーマのウィジェットの白地・余白に負けないよう .sidebar を付ける ---------- */

.sidebar .jkm-series-side.widget {
	display: none;
}

@media (min-width: 1025px) {
	/* 案内箱：黒地に連載名と「第1話から読む」 */
	.entry-content .jkm-series-box {
		margin-top: 28px;
		padding: 16px 20px;
		border: 0;
		background: var(--jkm-ink);
		color: #FFFFFF;
	}
	.entry-content a.jkm-series-box:hover {
		color: #FFFFFF;
	}
	.jkm-series-box__note {
		font-size: 12px;
		color: var(--jkm-sub-on-black);
	}
	.jkm-series-box__quote {
		display: none;
	}
	.jkm-series-box__name {
		display: block;
		font-size: 16px;
		font-weight: 900;
		color: #FFFFFF;
	}
	.jkm-series-box__go-more {
		display: inline;
	}
	.jkm-series-box__go {
		font-size: 14px;
	}

	/* 連載ナビ：前後の話だけ。連載名と全話一覧はサイドバーに出す */
	.jkm-series-nav {
		margin-top: 28px;
		padding: 0;
		background: none;
		color: var(--jkm-ink);
	}
	.jkm-series-nav__head,
	.jkm-series-nav__list {
		display: none;
	}
	.jkm-series-nav__pager {
		gap: 16px;
	}
	.jkm-series-nav__prev,
	.jkm-series-nav__next {
		padding: 18px 20px;
	}
	.jkm-series-nav__prev {
		border-color: var(--jkm-ink);
		color: var(--jkm-ink);
	}
	.jkm-series-nav__next {
		background: var(--jkm-ink);
		color: #FFFFFF;
		flex-direction: row-reverse;
		text-align: right;
	}
	.jkm-series-nav__thumb {
		display: block;
		flex-shrink: 0;
		width: 96px;
		height: 64px;
		background: #D6D6D6;
	}
	.jkm-series-nav__next .jkm-series-nav__thumb {
		background: #3A3A3A;
	}
	.jkm-series-nav__thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.jkm-series-nav__dir {
		font-size: 12px;
	}
	.jkm-series-nav__prev .jkm-series-nav__dir {
		color: var(--jkm-sub);
	}
	.jkm-series-nav__next .jkm-series-nav__dir {
		color: var(--jkm-sub-on-black);
	}
	.jkm-series-nav__title {
		font-size: 15px;
	}

	.sidebar .jkm-series-side.widget {
		display: flex;
		flex-direction: column;
		margin: 0 0 36px;
		padding: 22px 22px 14px;
		background: var(--jkm-ink);
		color: #FFFFFF;
	}
	.sidebar .jkm-series-side__label {
		font-size: 12px;
		color: var(--jkm-sub-on-black);
	}
	.sidebar .jkm-series-side__name,
	.sidebar .jkm-series-side__name:hover {
		padding-bottom: 12px;
		color: #FFFFFF;
		font-size: 18px;
		font-weight: 900;
		line-height: 1.45;
		text-decoration: none;
	}
	.sidebar .jkm-series-side .jkm-series-list li {
		border-top: 1px solid #333333;
	}
	.sidebar .jkm-series-side .jkm-series-list__item {
		color: #FFFFFF;
		padding: 11px 0;
		font-size: 14px;
	}
}

/* ---------- よく読まれている記事・カテゴリー（PCはサイドバー、スマホは記事の下） ---------- */

.jkm-side-sec {
	display: flex;
	flex-direction: column;
}
.jkm-side-sec .jkm-rank__item {
	gap: 14px;
	padding: 12px 0;
	border-top: 0;
	border-bottom: 1px solid var(--jkm-rule);
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-side-sec .jkm-rank__no {
	width: 18px;
	font-size: 24px;
}
.jkm-side-sec .jkm-rank__title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}

/* スマホの記事の下：あわせて読みたい → よく読まれている記事 → カテゴリーから探す */
.jkm-sp-bottom {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
}
.jkm-sp-bottom .jkm-other-cats {
	padding-bottom: 0;
}

/* PCのサイドバー：広告・よく読まれている記事・カテゴリー。スマホでは出さない */
.jkm-side {
	display: none;
}

@media (min-width: 1025px) {
	.jkm-sp-bottom {
		display: none;
	}
	/* テーマがサイドバーの中身に付ける白地と余白（24px）を外し、連載の黒い箱と幅をそろえる */
	.sidebar .sidebar__widget > .jkm-side {
		display: flex;
		flex-direction: column;
		gap: 36px;
		margin: 0 0 36px;
		padding: 0;
		background: none;
	}
	.jkm-side .jkm-ad {
		margin: 0;
		padding: 0;
		border: 0;
	}
	.jkm-side .jkm-ad__box {
		width: 300px;
		height: 250px;
	}
	.sidebar .jkm-side-sec__title {
		font-size: 18px;
	}
	.sidebar .jkm-side-sec .jkm-rank__no {
		width: 20px;
		font-size: 26px;
	}
	.sidebar .jkm-side-cats__item {
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 44px;
		padding: 11px 0;
		border-bottom: 1px solid var(--jkm-rule);
		box-sizing: border-box;
		color: var(--jkm-ink);
		font-size: 15px;
		text-decoration: none;
	}
	.sidebar .jkm-side-cats__item.is-current {
		font-weight: 700;
	}
	.sidebar .jkm-side-cats__item:hover {
		color: var(--jkm-ink);
		text-decoration: underline;
	}
	.sidebar .jkm-side-cats__arrow {
		color: var(--jkm-sub);
	}
}

/* ---------- ヘッダー：下に黒の2px線（影は付けない） ---------- */

body .site-header {
	box-shadow: none;
	border-bottom: 2px solid var(--jkm-ink);
}

/* テーマは 769px からメニューを横に並べ、768px までは「menu」ボタンで黒い画面を開く。
   黒い画面は使わず、ロゴの左の「≡」で開く白いメニュー（.jkm-drawer）にする。ヘッダーまわりの境目は 769px に合わせる */
.global-nav__toggle {
	display: none !important;
}

/* ヘッダーの右側（769px から）は YouTube・このサイトについて・検索 */
@media (min-width: 769px) {
	.global-nav__menu.jkm-menu > li > a {
		color: var(--jkm-ink);
		font-size: 14px;
		font-weight: 500;
		white-space: nowrap;
	}
}

/* ---------- カテゴリーナビ：769px からヘッダーの下に1列、スマホはトップだけ横に流せるボタン ---------- */

.jkm-catnav {
	display: none;
	border-bottom: 1px solid var(--jkm-rule);
	background: #FFFFFF;
}
.jkm-catnav__inner {
	display: flex;
	align-items: center;
	overflow-x: auto;
	scrollbar-width: none;
}
.jkm-catnav__inner::-webkit-scrollbar {
	display: none;
}
.jkm-catnav__item,
.jkm-catnav__item:hover {
	flex-shrink: 0;
	color: var(--jkm-ink);
	text-decoration: none;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.home .jkm-catnav {
		display: block;
	}
	.jkm-catnav .is-pc {
		display: none;
	}
	.jkm-catnav__inner {
		gap: 8px;
		padding: 10px 0;
	}
	.jkm-catnav__item {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 0 14px;
		border: 1px solid var(--jkm-ink);
		box-sizing: border-box;
		font-size: 13px;
		font-weight: 700;
	}
	.jkm-catnav__item.is-current {
		background: var(--jkm-ink);
		color: #FFFFFF;
	}
}

@media (min-width: 769px) {
	.jkm-catnav {
		display: block;
	}
	.jkm-catnav .is-sp {
		display: none;
	}
	.jkm-catnav__inner {
		gap: 24px;
	}
	.jkm-catnav__item {
		padding: 16px 0 13px;
		border-bottom: 3px solid transparent;
		font-size: 15px;
		font-weight: 500;
	}
	.jkm-catnav__item:hover {
		border-bottom-color: #BDBDBD;
	}
	.jkm-catnav__item.is-current {
		border-bottom-color: var(--jkm-ink);
	}
	.jkm-catnav__item.is-strong {
		font-weight: 700;
	}
	.jkm-catnav__sep {
		flex-shrink: 0;
		width: 1px;
		height: 20px;
		background: #CCCCCC;
	}
}
@media (min-width: 1025px) {
	.jkm-catnav__inner {
		gap: 30px;
	}
}

/* ---------- フッター：灰色の地、上に黒の2px線（見本 Footer-*-gray）。テーマのフッターの中身は出さない ---------- */

body .site-footer {
	padding: 0;
	border-top: 2px solid var(--jkm-ink);
	background: #E9E9E9;
	color: var(--jkm-ink);
}
.site-footer .footer-main,
.site-footer .footer-sub {
	display: none;
}
.jkm-foot {
	padding: 28px 0 32px;
}
.jkm-foot__brand,
.jkm-foot__brand:hover {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--jkm-ink);
	text-decoration: none;
}
.jkm-foot__icon {
	display: block;
	width: 40px;
	height: 40px;
}
.jkm-foot__brand-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.jkm-foot__name {
	font-size: 16px;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.25;
}
.jkm-foot__sub {
	display: none;
	color: var(--jkm-sub);
	font-size: 11px;
	letter-spacing: 0.18em;
}
.jkm-foot__cols {
	margin-top: 18px;
}
.jkm-foot__col.is-pc,
.jkm-foot__col--site .jkm-foot__head {
	display: none;
}
/* スマホは「このサイト」のリンクだけを横に並べる */
.jkm-foot__col--site {
	display: flex;
	flex-wrap: wrap;
	column-gap: 18px;
	padding-top: 6px;
	border-top: 1px solid #C4C4C4;
}
.jkm-foot__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--jkm-ink);
	font-size: 12px;
	text-decoration: none;
}
.jkm-foot__link:hover {
	color: var(--jkm-ink);
	text-decoration: underline;
}
.jkm-foot__copy {
	margin: 8px 0 0;
	color: var(--jkm-sub);
	font-size: 11px;
}

@media (min-width: 1025px) {
	.jkm-foot {
		padding: 48px 0 36px;
	}
	.jkm-foot__brand {
		gap: 14px;
	}
	.jkm-foot__icon {
		width: 56px;
		height: 56px;
	}
	.jkm-foot__name {
		font-size: 22px;
		letter-spacing: 0.04em;
		line-height: 1.2;
	}
	.jkm-foot__sub {
		display: block;
	}
	.jkm-foot__cols {
		margin-top: 36px;
		padding-bottom: 32px;
		border-bottom: 1px solid #C4C4C4;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 32px;
	}
	.jkm-foot__col.is-pc,
	.jkm-foot__col--site {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding-top: 0;
		border-top: 0;
	}
	.jkm-foot__col--site .jkm-foot__head {
		display: block;
	}
	.jkm-foot__head {
		color: var(--jkm-sub);
		font-size: 13px;
		font-weight: 700;
	}
	.jkm-foot__link {
		min-height: 0;
		font-size: 14px;
		line-height: 1.5;
	}
	.jkm-foot__copy {
		margin-top: 36px;
		font-size: 12px;
	}
}

/* ---------- 「≡」と、左から開く白いメニュー（BBCを参考に）。PC・スマホ共通 ---------- */

.site-branding {
	display: flex;
	align-items: center;
	gap: 4px;
}
.jkm-menu-btn {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: -10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--jkm-ink);
	cursor: pointer;
}
@media (min-width: 1025px) {
	.site-branding {
		gap: 14px;
	}
}

html.jkm-drawer-open {
	overflow: hidden;
}
.jkm-drawer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0s linear 0.25s;
}
.jkm-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}
.jkm-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 17, 17, 0.45);
	opacity: 0;
	transition: opacity 0.2s;
}
.jkm-drawer.is-open .jkm-drawer__backdrop {
	opacity: 1;
}
.jkm-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	width: min(360px, 85vw);
	padding: 0 16px 32px;
	box-sizing: border-box;
	overflow-y: auto;
	background: #FFFFFF;
	color: var(--jkm-ink);
	transform: translateX(-100%);
	transition: transform 0.25s ease;
}
.jkm-drawer.is-open .jkm-drawer__panel {
	transform: none;
}
.jkm-drawer__top {
	display: flex;
	align-items: center;
	min-height: 64px;
}
.jkm-drawer__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: -10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--jkm-ink);
	cursor: pointer;
}

/* 検索欄：黒い枠＋黒い虫めがねのボタン */
.jkm-drawer__search {
	display: flex;
	margin: 0 0 12px;
	border: 2px solid var(--jkm-ink);
}
.jkm-drawer__search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: #FFFFFF;
	color: var(--jkm-ink);
	font-size: 16px;
}
.jkm-drawer__search button {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--jkm-ink);
	color: #FFFFFF;
	cursor: pointer;
}

/* 1行ずつ灰色の線で区切る。今いるページは左に黒い太線 */
.jkm-drawer__list,
.jkm-drawer__sub {
	margin: 0;
	padding: 0;
	list-style: none;
}
.jkm-drawer__row {
	margin: 0;
	border-bottom: 1px solid var(--jkm-rule);
}
.jkm-drawer__row.is-sep {
	margin-top: 20px;
	border-top: 1px solid var(--jkm-rule);
}
.jkm-drawer__link,
.jkm-drawer__summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0 8px 0 16px;
	color: var(--jkm-ink);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	list-style: none;
}
.jkm-drawer__summary::-webkit-details-marker {
	display: none;
}
.jkm-drawer__link:hover,
.jkm-drawer__summary:hover {
	color: var(--jkm-ink);
	text-decoration: underline;
}
.jkm-drawer__link.is-current::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	background: var(--jkm-ink);
}
.jkm-drawer__chevron {
	flex-shrink: 0;
	transition: transform 0.2s;
}
.jkm-drawer__group[open] .jkm-drawer__chevron {
	transform: rotate(180deg);
}
.jkm-drawer__sub {
	padding-bottom: 8px;
}
.jkm-drawer__sub .jkm-drawer__row {
	border-bottom: 0;
}
.jkm-drawer__sub .jkm-drawer__link {
	min-height: 44px;
	padding: 10px 8px 10px 28px;
	box-sizing: border-box;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}

/* ==========================================================================
   記事本文のパーツ（3-10）。見本 Body-sp。本文は書き換えず、CSSだけで今の記事にも当てる
   ========================================================================== */

/* ---------- 見出し：形は今のサイト（yStandard の設定）のまま。大きさだけ整える ---------- */

.entry-content h2 {
	font-size: 19px;
	line-height: 1.5;
}
.entry-content h3 {
	font-size: 17px;
	line-height: 1.5;
}
/* 見出し4はテーマの赤い線を外し、見本どおり太字だけにする（差し色なし） */
.entry-content h4 {
	padding: 0;
	border: 0;
	background: none;
	font-size: 16px;
	line-height: 1.5;
}
@media (min-width: 1025px) {
	.entry-content h2 {
		font-size: 22px;
	}
	.entry-content h3 {
		font-size: 19px;
	}
	.entry-content h4 {
		font-size: 17px;
	}
}

/* 古い記事の色付きの見出し（has-ys-…-background-color、13記事）は色を外し、見出し2・3の形にそろえる（10月22日決定）。
   本文の中の h1（17記事）は見出し2と同じ形・大きさで見せる。WordPress の色のクラスは !important なので、こちらも !important */
.entry-content h1.wp-block-heading,
.entry-content h2.wp-block-heading.has-background {
	padding: 0.55em 0.5em 0.5em;
	border-left: 4px solid #222222;
	background-color: #F6F6F6 !important;
	color: var(--jkm-ink) !important;
	font-size: 19px;
	line-height: 1.5;
}
.entry-content h3.wp-block-heading.has-background,
.entry-content h4.wp-block-heading.has-background {
	padding: 0 0 0.25em;
	background-color: transparent !important;
	color: var(--jkm-ink) !important;
}
.entry-content :is(h1, h2, h3, h4).has-text-color {
	color: var(--jkm-ink) !important;
}
.entry-content :is(h1, h2, h3, h4).has-link-color a {
	color: inherit !important;
}
@media (min-width: 1025px) {
	.entry-content h1.wp-block-heading,
	.entry-content h2.wp-block-heading.has-background {
		font-size: 22px;
	}
}

/* ---------- ブログカード（yStandard Blocks のカード、149記事）→ 見本の「関連記事カード」 ---------- */

.entry-content .ystdb-card {
	margin: 1.5em 0;
}
.entry-content .ystdb-card__container {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	padding: 10px;
	border: 1px solid var(--jkm-ink);
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: none;
}
.entry-content .ystdb-card__container:hover {
	background: #F7F7F7;
}
.entry-content .ystdb-card__image {
	flex-shrink: 0;
	width: 96px;
	height: 64px;
	margin: 0;
	background: #D6D6D6;
	overflow: hidden;
}
.entry-content .ystdb-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.entry-content .ystdb-card__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding: 0;
}
.entry-content .ystdb-card__domain {
	order: -1;
	margin: 0;
	color: var(--jkm-sub);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}
.entry-content .ystdb-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}
.entry-content .ystdb-card__link,
.entry-content .ystdb-card__link:hover {
	color: var(--jkm-ink);
	text-decoration: none;
}
/* カード全体を押せるようにする */
.entry-content .ystdb-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
}
.entry-content .ystdb-card__dscr {
	display: none;
}
@media (min-width: 1025px) {
	.entry-content .ystdb-card__container {
		gap: 16px;
		padding: 12px;
	}
	.entry-content .ystdb-card__image {
		width: 144px;
		height: 96px;
	}
	.entry-content .ystdb-card__title {
		font-size: 16px;
	}
	.entry-content .ystdb-card__dscr {
		display: -webkit-box;
		margin: 0;
		overflow: hidden;
		color: var(--jkm-sub);
		font-size: 13px;
		line-height: 1.6;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

/* ---------- 引用（標準の引用ブロック。必須） ---------- */

.entry-content blockquote,
.entry-content .wp-block-quote {
	position: relative;
	margin: 1.5em 0;
	padding: 34px 16px 14px;
	border: 0;
	background: #F7F7F7;
	color: #333333;
	font-size: 15px;
	line-height: 1.8;
}
.entry-content blockquote::before,
.entry-content .wp-block-quote::before {
	content: "\201C";
	opacity: 1;
	position: absolute;
	top: 14px;
	left: 16px;
	color: var(--jkm-ink);
	font-size: 30px;
	font-weight: 900;
	line-height: 0.6;
}
.entry-content blockquote::after,
.entry-content .wp-block-quote::after {
	content: none;
}
.entry-content blockquote p {
	margin: 0 0 0.6em;
	font-size: inherit;
}
.entry-content blockquote p:last-of-type {
	margin-bottom: 0;
}
.entry-content blockquote cite::before,
.entry-content .wp-block-quote cite::before {
	content: none;
}
.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
	display: block;
	margin-top: 8px;
	color: var(--jkm-sub);
	font-size: 12px;
	font-style: normal;
}

/* ---------- 区切り（場面転換）：黒い小さな四角を3つ ---------- */

.entry-content hr.wp-block-separator {
	width: 100%;
	max-width: none;
	height: 5px;
	margin: 2.5em auto;
	border: 0;
	background:
		linear-gradient(var(--jkm-ink), var(--jkm-ink)) calc(50% - 19px) 0 / 5px 5px no-repeat,
		linear-gradient(var(--jkm-ink), var(--jkm-ink)) 50% 0 / 5px 5px no-repeat,
		linear-gradient(var(--jkm-ink), var(--jkm-ink)) calc(50% + 19px) 0 / 5px 5px no-repeat;
	opacity: 1;
}

/* ---------- 表（料金・時刻など）：上に黒の2px線、行は灰色の線 ---------- */

.entry-content .wp-block-table {
	margin: 1.5em 0;
	overflow-x: auto;
}
.entry-content .wp-block-table table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	border-top: 2px solid var(--jkm-ink);
	background: #FFFFFF;
	font-size: 14px;
}
/* テーマが行（tr）に付ける左右の線を外す */
.entry-content .wp-block-table tr {
	border: 0;
}
.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
	padding: 11px 10px;
	border: 0;
	border-bottom: 1px solid var(--jkm-rule);
	background: none;
	line-height: 1.6;
	text-align: left;
	vertical-align: top;
}
.entry-content .wp-block-table th,
.entry-content .wp-block-table thead td {
	font-weight: 700;
}
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: #F7F7F7;
}
.entry-content .wp-block-table figcaption {
	color: var(--jkm-sub);
	font-size: 12px;
}

/* ---------- 写真のキャプション ---------- */

.entry-content figcaption,
.entry-content .wp-element-caption {
	margin-top: 6px;
	color: var(--jkm-sub);
	font-size: 12px;
	line-height: 1.6;
}

/* ---------- 商品カード：Pochipp（5記事）を白黒に。HTMLは書き換えない ---------- */

.entry-content .pochipp-box {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 10px 12px;
	width: auto;
	max-width: none;
	margin: 1.5em 0;
	padding: 12px;
	border: 1px solid var(--jkm-ink);
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: none;
}
.entry-content .pochipp-box::before {
	content: "PR";
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 0 5px;
	border: 1px solid #BDBDBD;
	color: var(--jkm-ad-label);
	font-size: 11px;
	line-height: 1.6;
}
.entry-content .pochipp-box__image {
	grid-column: 1;
	width: 96px;
	margin: 0;
}
.entry-content .pochipp-box__image img {
	display: block;
	width: 96px;
	height: 96px;
	object-fit: contain;
}
.entry-content .pochipp-box__body {
	grid-column: 2;
	padding: 0 34px 0 0;
}
.entry-content .pochipp-box__title,
.entry-content .pochipp-box__title a {
	color: var(--jkm-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}
.entry-content .pochipp-box__price {
	margin-top: 6px;
	color: var(--jkm-sub);
	font-size: 12px;
}
.entry-content .pochipp-box__btns {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 8px;
	margin: 0;
}
.entry-content .pochipp-box__btnwrap {
	width: auto;
	margin: 0;
	padding: 0;
}
.entry-content .pochipp-box__btn,
.entry-content .pochipp-box__btn:hover {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 8px;
	border: 0;
	border-radius: 0;
	background: var(--jkm-ink) !important;
	box-shadow: none;
	color: #FFFFFF !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	opacity: 1;
}
.entry-content .pochipp-box__logo {
	display: none;
}

/* ---------- 検索結果・404：一覧と同じ形に、検索欄を足す ---------- */

.jkm-arch-head__search {
	margin-top: 16px;
}
.jkm-arch-head__search .jkm-search-form {
	margin: 0;
}
.jkm-empty {
	margin: 24px 0 0;
	font-size: 15px;
	line-height: 1.8;
}
.jkm-404__latest {
	margin-top: 8px;
}
.jkm-404__latest .jkm-alist {
	margin-top: 8px;
}
.jkm-404 .jkm-other-cats {
	padding-top: 32px;
}
/* 404 の見出しの下は、すぐ「新着」の見出し（上に黒の3px線）なので、線は引かない */
.jkm-404-head {
	margin-bottom: 24px;
}
@media (min-width: 1025px) {
	.jkm-arch-head__search {
		grid-column: span 4;
		align-self: end;
		margin-top: 0;
		padding-bottom: 4px;
	}
	.jkm-404-head {
		margin-bottom: 36px;
	}
}

/* ---------- 目次（3-2 の9。仕組みはテーマのまま、見た目だけ。見本 Body-sp） ---------- */

.entry-content .ys-toc {
	margin: 28px 0;
	padding: 16px 16px 6px;
	border: 1px solid var(--jkm-ink);
	border-radius: 0;
	background: #FFFFFF;
}
.entry-content .ys-toc__title {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	color: var(--jkm-ink);
	font-size: 14px;
	font-weight: 900;
	line-height: 1.5;
}
.entry-content .ys-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: jkm-toc;
}
.entry-content .ys-toc__list > .ys-toc__item {
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #EEEEEE;
	counter-increment: jkm-toc;
}
.entry-content .ys-toc__list > .ys-toc__item > .ys-toc__link {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	color: var(--jkm-ink);
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
}
.entry-content .ys-toc__list > .ys-toc__item > .ys-toc__link::before {
	content: counter(jkm-toc);
	flex-shrink: 0;
	/* 10以上（2けた）でも縦に折れないよう、2けた分の幅を取って折り返さない */
	min-width: 1.4em;
	font-weight: 700;
	white-space: nowrap;
}
.entry-content .ys-toc__children {
	margin: -4px 0 0;
	padding: 0 0 8px 26px;
	list-style: none;
}
.entry-content .ys-toc__children .ys-toc__item {
	margin: 0;
	padding: 0;
	border: 0;
}
.entry-content .ys-toc__children .ys-toc__item::before {
	content: none;
}
.entry-content .ys-toc__children .ys-toc__link {
	display: block;
	padding: 4px 0;
	color: var(--jkm-sub);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
}
.entry-content .ys-toc__link:hover {
	color: var(--jkm-ink);
	text-decoration: underline;
}

/* ---------- サイドバー：新着（5本）と、追いかけてくる目次（PCの記事ページ。10月24日） ---------- */

.jkm-side-toc {
	display: none;
}

@media (min-width: 1025px) {
	.sidebar .jkm-side-latest__item {
		display: flex;
		gap: 12px;
		padding: 12px 0;
		border-bottom: 1px solid var(--jkm-rule);
		color: var(--jkm-ink);
		text-decoration: none;
	}
	.sidebar .jkm-side-latest__item:hover .jkm-side-latest__title {
		text-decoration: underline;
	}
	.sidebar .jkm-side-latest__thumb {
		flex-shrink: 0;
		width: 72px;
		height: 48px;
		background: #D6D6D6;
		overflow: hidden;
	}
	.sidebar .jkm-side-latest__img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.sidebar .jkm-side-latest__text {
		display: flex;
		flex-direction: column;
		gap: 4px;
		min-width: 0;
	}
	.sidebar .jkm-side-latest__title {
		font-size: 14px;
		font-weight: 700;
		line-height: 1.5;
		overflow-wrap: anywhere;
	}
	.sidebar .jkm-side-latest__date {
		color: var(--jkm-sub);
		font-size: 12px;
	}
	.sidebar .jkm-side-latest__more,
	.sidebar .jkm-side-latest__more:hover {
		align-self: flex-end;
		padding-top: 12px;
		color: var(--jkm-ink);
		font-size: 13px;
		font-weight: 700;
		text-decoration: none;
	}

	/* テーマの「追従」の場所（position: sticky）の中。目次が長いときは枠の中だけスクロール */
	/* テーマが「追従」の場所の中身に付ける白地と余白を外し、上の枠と幅をそろえる */
	.sidebar .sidebar__fixed > .jkm-side-toc:not([hidden]) {
		display: flex;
		flex-direction: column;
		max-height: calc(100vh - 64px);
		margin: 0;
		padding: 36px 0 0;
		background: none;
	}
	/* 本文の目次（テーマ）を写しているので、テーマが項目に付ける左の線と余白を外す */
	.sidebar .jkm-side-toc li {
		margin: 0;
		padding: 0;
		border-left: 0;
	}
	.sidebar .jkm-side-toc li::before {
		content: none;
	}
	.sidebar .jkm-side-toc__list {
		min-height: 0;
		overflow-y: auto;
		scrollbar-width: thin;
	}
	.sidebar .jkm-side-toc ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.sidebar .jkm-side-toc .ys-toc__list > li {
		border-bottom: 1px solid var(--jkm-rule);
	}
	.sidebar .jkm-side-toc a {
		position: relative;
		display: block;
		padding: 9px 0 9px 12px;
		color: var(--jkm-ink);
		font-size: 14px;
		line-height: 1.5;
		text-decoration: none;
	}
	.sidebar .jkm-side-toc .ys-toc__children {
		padding: 0 0 6px 12px;
	}
	.sidebar .jkm-side-toc .ys-toc__children a {
		padding-top: 4px;
		padding-bottom: 4px;
		color: var(--jkm-sub);
		font-size: 13px;
	}
	.sidebar .jkm-side-toc a:hover {
		text-decoration: underline;
	}
	/* 今読んでいる見出し：太字＋左に黒い線 */
	.sidebar .jkm-side-toc a.is-current {
		color: var(--jkm-ink);
		font-weight: 700;
	}
	.sidebar .jkm-side-toc a.is-current::before {
		content: "";
		position: absolute;
		top: 8px;
		bottom: 8px;
		left: 0;
		width: 3px;
		background: var(--jkm-ink);
	}
}

/* ---------- トップ：カテゴリーの欄の「連載」「タグ」の箱（10月31日） ---------- */

.jkm-top-cat .jkm-top-cat__head:is(div) {
	cursor: default;
}
.jkm-top-cat--series .jkm-top-cat__lead,
.jkm-top-cat--series .jkm-top-cat__item {
	font-weight: 700;
}
.jkm-top-cat__tags {
	padding: 12px 0 0;
	gap: 8px;
}
/* 押せる高さを44pxに */
.jkm-top-cat__tags .jkm-tag {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 12px;
	box-sizing: border-box;
	font-size: 14px;
}
@media (min-width: 1025px) {
	.jkm-top-cat__tags {
		padding-top: 0;
	}
}
