/*
----------------------------------------
post-styles — 記事スタイル
----------------------------------------
*/

/* ======================================================
   書籍レビュー コンバージョン特化スタイル
   方針: 3秒判断・10秒購入決定・最短クリック導線
   ====================================================== */

/* ── セクション共通 ── */
.book-review-section {
	margin-bottom: 48px;
}

.book-section-h2 {
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	font-size: var(--wp--preset--font-size--14-px);
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--dark-gray);
	padding-bottom: 10px;
	margin: 0 0 24px;
	border-bottom: 1px solid var(--wp--preset--color--gray);
}

/* ── FV セクション ── */
.book-fv-section {
	padding: 36px 0 40px;
	border-bottom: 1px solid var(--wp--preset--color--gray);
	margin-bottom: 48px;
}

.book-oneliner {
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	font-size: var(--wp--preset--font-size--24-px);
	font-weight: 600;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 28px;
}

.book-for-quick {
	margin-bottom: 32px;
}

.book-for-quick-label {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 12px;
}

.book-for-quick-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
}

.book-for-quick-list li {
	font-size: var(--wp--preset--font-size--14-px);
	color: var(--wp--preset--color--contrast);
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.5;
}

.book-for-quick-list li::before {
	content: '';
	width: 6px;
	height: 6px;
	background: var(--wp--preset--color--primary);
	border-radius: 50%;
	flex-shrink: 0;
}

/* ── 購入ボタン ── */
.book-purchase-buttons {
	display: flex;
	gap: 10px;
}

.btn-book {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 20px;
	font-size: var(--wp--preset--font-size--14-px);
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .15s, transform .1s;
	min-height: 54px;
	border: none;
}

.btn-book:active {
	transform: translateY(1px);
}

.btn-book-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.btn-amazon {
	background: #1B3A5C;
	color: #fff;
}

.btn-rakuten {
	background: #7A2828;
	color: #fff;
}

.btn-mercari {
	background: transparent;
	color: var(--wp--preset--color--dark-gray);
	border: 1.5px solid var(--wp--preset--color--gray);
}

@media ( min-width: 751px ) {
	.btn-amazon:hover  { opacity: .85; }
	.btn-rakuten:hover { opacity: .85; }
	.btn-mercari:hover {
		border-color: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--contrast);
	}
}

@media ( max-width: 750px ) {
	.book-purchase-buttons {
		flex-direction: column;
		gap: 8px;
	}
	.btn-book {
		width: 100%;
		padding: 18px 20px;
	}
}

/* ── 購入ボタン（繰り返し表示） ── */
.book-purchase-cta {
	padding: 36px 32px;
	background: var(--wp--preset--color--light-gray);
	margin-bottom: 48px;
	text-align: center;
}

.book-purchase-cta-label {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--dark-gray);
	margin: 0 0 18px;
}

/* ── 3行レビュー ── */
.book-3line-review {
	background: var(--wp--preset--color--light-gray);
	padding: 28px 32px;
}

.book-3line-dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.book-3line-row {
	display: flex;
	align-items: baseline;
	gap: 16px;
}

.book-3line-row dt {
	flex-shrink: 0;
	width: 130px;
}

.book-3line-row dd {
	margin: 0;
	font-size: var(--wp--preset--font-size--16-px);
	font-weight: 500;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast);
}

.review-badge {
	display: inline-block;
	font-size: 11px;
	font-family: var(--wp--preset--font-family--roboto);
	letter-spacing: .06em;
	padding: 4px 10px;
	font-weight: 600;
}

.review-badge--good { background: var(--wp--preset--color--accent-light); color: var(--wp--preset--color--primary); }
.review-badge--use  { background: var(--wp--preset--color--gray); color: var(--wp--preset--color--contrast); }
.review-badge--weak { background: #f5ece8; color: #7A2828; }

@media ( max-width: 750px ) {
	.book-3line-review { padding: 20px; }
	.book-3line-row { flex-direction: column; gap: 6px; }
	.book-3line-row dt { width: auto; }
}

/* ── 向いている人 / 向いていない人 ── */
.book-who-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.book-who-label {
	font-size: 13px;
	font-weight: 600;
	padding: 10px 16px;
	margin-bottom: 0;
}

.book-who-label--for {
	background: var(--wp--preset--color--accent-light);
	color: var(--wp--preset--color--primary);
}

.book-who-label--not-for {
	background: var(--wp--preset--color--light-gray);
	color: var(--wp--preset--color--dark-gray);
}

.book-who-list {
	list-style: none;
	padding: 12px 16px;
	margin: 0;
	border: 1px solid var(--wp--preset--color--gray);
	border-top: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.book-who-list li {
	font-size: var(--wp--preset--font-size--14-px);
	line-height: 1.55;
	padding-left: 14px;
	position: relative;
}

.book-who-for .book-who-list li::before {
	content: '';
	width: 5px;
	height: 5px;
	background: var(--wp--preset--color--primary);
	border-radius: 50%;
	position: absolute;
	top: .55em;
	left: 0;
}

.book-who-not-for .book-who-list li::before {
	content: '–';
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--tertiary);
	font-size: 14px;
	line-height: 1.4;
}

@media ( max-width: 750px ) {
	.book-who-grid { grid-template-columns: 1fr; }
}

/* ── 読むべきタイミング ── */
.book-timing-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.book-timing-list li {
	font-size: var(--wp--preset--font-size--16-px);
	line-height: 1.7;
	padding: 14px 18px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--gray);
	border-left: 4px solid var(--wp--preset--color--primary);
}

/* ── できるようになること ── */
.book-cando-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.book-cando-list li {
	font-size: var(--wp--preset--font-size--16-px);
	line-height: 1.7;
	padding: 14px 18px 14px 46px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--gray);
	position: relative;
}

.cando-arrow {
	position: absolute;
	left: 18px;
	top: 14px;
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	line-height: 1.7;
}

/* ── アコーディオン ── */
.book-details-accordion {
	border: 1px solid var(--wp--preset--color--gray);
	margin-bottom: 48px;
}

.book-details-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	cursor: pointer;
	user-select: none;
	list-style: none;
	background: var(--wp--preset--color--light-gray);
	font-size: var(--wp--preset--font-size--14-px);
	font-weight: 600;
	letter-spacing: .06em;
	color: var(--wp--preset--color--contrast);
	transition: background .15s;
}

.book-details-summary::-webkit-details-marker { display: none; }
.book-details-summary::marker { display: none; }

.book-details-summary::after {
	content: '+';
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	flex-shrink: 0;
	margin-left: 16px;
}

details[open] > .book-details-summary::after {
	content: '−';
}

.book-details-summary:hover {
	background: var(--wp--preset--color--gray);
}

.book-details-body {
	padding: 28px 32px;
	border-top: 1px solid var(--wp--preset--color--gray);
}

.accordion-sub {
	margin-bottom: 28px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.accordion-sub:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.accordion-sub-title {
	font-size: var(--wp--preset--font-size--14-px);
	font-weight: 600;
	color: var(--wp--preset--color--dark-gray);
	margin: 0 0 12px;
	letter-spacing: .08em;
}

.accordion-toc {
	padding-left: 20px;
	margin: 0;
}

.accordion-toc li {
	font-size: var(--wp--preset--font-size--14-px);
	line-height: 1.7;
	color: var(--wp--preset--color--dark-gray);
	padding: 4px 0;
}

@media ( max-width: 750px ) {
	.book-details-body { padding: 20px; }
}

/* ── 次に読む本 ── */
.book-next-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.book-next-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--wp--preset--color--gray);
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	transition: all .15s;
	background: var(--wp--preset--color--base);
}

.book-next-purpose {
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--accent-light);
	padding: 4px 10px;
	flex-shrink: 0;
	white-space: nowrap;
}

.book-next-title {
	font-size: var(--wp--preset--font-size--14-px);
	font-weight: 500;
	line-height: 1.5;
	flex: 1;
}

.book-next-arrow {
	margin-left: auto;
	flex-shrink: 0;
	color: var(--wp--preset--color--primary);
	font-size: 18px;
	font-weight: 600;
	transition: transform .15s;
}

@media ( min-width: 751px ) {
	.book-next-item:hover {
		background: var(--wp--preset--color--light-gray);
		border-color: var(--wp--preset--color--primary);
	}
	.book-next-item:hover .book-next-arrow {
		transform: translateX(4px);
	}
}

/* ── 旧・書籍情報テーブル（互換） ── */
.book-info-compact {
	margin-bottom: 32px;
}

.book-info-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--14-px);
}

.book-info-table th,
.book-info-table td {
	padding: 9px 14px;
	border: 1px solid var(--wp--preset--color--gray);
	text-align: left;
}

.book-info-table th {
	background: var(--wp--preset--color--light-gray);
	white-space: nowrap;
	width: 90px;
	font-weight: 600;
}

.book-application-legacy {
	padding: 20px 24px;
	background: var(--wp--preset--color--light-gray);
	border-left: 4px solid var(--wp--preset--color--secondary);
	margin-bottom: 32px;
}

.book-application-legacy h3 {
	font-size: var(--wp--preset--font-size--14-px);
	font-weight: 600;
	margin: 0 0 10px;
	color: var(--wp--preset--color--dark-gray);
}

.wp-block-image,
.wp-block-table,
.wp-block-embed,
.linkcard,
.wp-block-shortcode {
	margin-block-start: 2em;
	margin-block-end: 0;
}


/* heading
---------------------------------------- */

.post-styles h2.wp-block-heading,
.post-styles h3.wp-block-heading,
.post-styles h4.wp-block-heading,
.post-styles h5.wp-block-heading,
.post-styles h6.wp-block-heading {
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	font-weight: 600;
	margin-block-start: 2em;
}

.post-styles h2.wp-block-heading {
	font-size: var(--wp--preset--font-size--24-px);
	padding: .7em 1em;
	background: var(--wp--preset--color--light-gray);
	border-left: 5px solid var(--wp--preset--color--primary);
}

.post-styles h3.wp-block-heading {
	font-size: var(--wp--preset--font-size--20-px);
	padding: .5em 0 .5em 1em;
	border-left: 3px solid var(--wp--preset--color--primary);
}

.post-styles h4.wp-block-heading {
	font-size: var(--wp--preset--font-size--20-px);
	padding-bottom: .4em;
	border-bottom: 2px solid var(--wp--preset--color--gray);
	position: relative;
}

.post-styles h4.wp-block-heading::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 60px;
	height: 2px;
	background: var(--wp--preset--color--primary);
}

.post-styles h5.wp-block-heading {
	font-size: var(--wp--preset--font-size--16-px);
	padding-left: 20px;
	position: relative;
}

.post-styles h5.wp-block-heading::before {
	content: '';
	width: 10px;
	height: 3px;
	background: var(--wp--preset--color--primary);
	position: absolute;
	top: .75em;
	left: 0;
}

:where(body .is-layout-constrained) > * {
	margin-block-start: 1.5em;
	margin-block-end: 0;
}

@media ( max-width: 1000px ) {
	.post-styles h2.wp-block-heading,
	.post-styles h3.wp-block-heading,
	.post-styles h4.wp-block-heading,
	.post-styles h5.wp-block-heading,
	.post-styles h6.wp-block-heading {
		margin-block-start: 1.5em !important;
	}
}


/* ul / ol
---------------------------------------- */

.post-styles .post ul:not( .ez-toc-list ),
.post-styles .post ol {
	list-style: none;
	padding: 0;
}

.post-styles .post ul:not( .ez-toc-list ) li,
.post-styles .post ol li {
	padding-left: 1.4em;
	position: relative;
	line-height: 1.7;
}

.post-styles .post ul:not( .ez-toc-list ) li + li,
.post-styles .post ol li + li {
	margin-top: var(--wp--preset--spacing--20);
}

.post-styles .post ul:not( .ez-toc-list ) li::before {
	content: '';
	width: 6px;
	height: 6px;
	background: var(--wp--preset--color--primary);
	border-radius: 50%;
	position: absolute;
	top: .65em;
	left: .4em;
}

.post-styles .post ol {
	counter-reset: ol;
}

.post-styles .post ol li::before {
	content: counters( ol, '.' ) '. ';
	counter-increment: ol;
	display: inline-block;
	min-width: 1em;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 1.1em;
	position: absolute;
	top: -.1em;
	left: .2em;
}


/* table
---------------------------------------- */

.wp-block-table thead {
	border-bottom: none !important;
}

.wp-block-table td,
.wp-block-table th {
	border-color: var(--wp--preset--color--gray);
}


/* blockquote
---------------------------------------- */

.post-styles blockquote {
	position: relative;
	border: none;
	background: var(--wp--preset--color--light-gray);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	margin: 3.2em 0 0 !important;
}

.post-styles blockquote::before {
	content: '"';
	position: absolute;
	top: -24px;
	left: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--primary);
	font-size: 112px;
	line-height: 1;
	font-family: serif;
}


/* pagination
---------------------------------------- */

.pagination.wp-block-query-pagination {
	width: initial;
	position: relative;
	padding: 0 120px;
}

.pagination .wp-block-query-pagination-previous,
.pagination .wp-block-query-pagination-next {
	position: absolute;
	top: 0;
	margin: 0;
	line-height: 48px;
	color: var(--wp--preset--color--contrast);
}

.pagination .wp-block-query-pagination-previous { left: 0; padding-left: 20px; }
.pagination .wp-block-query-pagination-next     { right: 0; padding-right: 20px; }

.pagination .wp-block-query-pagination-numbers { margin: 0; }

.pagination .wp-block-query-pagination-previous::before,
.pagination .wp-block-query-pagination-next::before {
	font-family: 'Material Symbols Outlined';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	color: var(--wp--preset--color--contrast);
	transition: all .2s;
}

.pagination .wp-block-query-pagination-previous::before { content: '\e5cb'; left: 0; }
.pagination .wp-block-query-pagination-next::before     { content: '\e5cc'; right: 0; }

.pagination .wp-block-query-pagination-numbers .page-numbers {
	display: inline-block;
	width: 48px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	background: var(--wp--preset--color--light-gray);
}

.pagination .wp-block-query-pagination-numbers a.page-numbers {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

@media ( min-width: 751px ) {
	.pagination .wp-block-query-pagination-numbers a.page-numbers:hover {
		background: var(--wp--preset--color--primary);
	}
	.pagination .wp-block-query-pagination-previous:hover,
	.pagination .wp-block-query-pagination-next:hover {
		color: var(--wp--preset--color--primary);
	}
	.pagination .wp-block-query-pagination-previous:hover::before { left: -5px; color: var(--wp--preset--color--primary); }
	.pagination .wp-block-query-pagination-next:hover::before     { right: -5px; color: var(--wp--preset--color--primary); }
}


/* prev / next ナビゲーション
---------------------------------------- */

.prev-btn a,
.next-btn a {
	display: block;
	color: var(--wp--preset--color--contrast);
	position: relative;
	line-height: 1.5;
}

.prev-btn a::after,
.next-btn a::after {
	font-family: 'Material Symbols Outlined';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	color: var(--wp--preset--color--primary);
	transition: all .2s;
}

.prev-btn a { padding-left: 20px; }
.next-btn a { padding-right: 20px; }
.prev-btn a::after { content: '\e5cb'; left: 0; }
.next-btn a::after { content: '\e5cc'; right: 0; }

@media ( max-width: 750px ) {
	.page-nav { gap: 0 !important; }
	.prev-btn, .next-btn {
		border-top: 1px solid var(--wp--preset--color--gray);
	}
	.prev-btn a,
	.next-btn a {
		display: block;
		padding-top: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--40);
	}
	.back-btn { order: 3; }
	.back-btn * { width: 100%; }
}

@media ( min-width: 751px ) {
	.prev-btn a:hover,
	.next-btn a:hover { color: var(--wp--preset--color--primary); }
	.prev-btn a:hover::after { left: -6px; }
	.next-btn a:hover::after { right: -6px; }
}


/* post-header
---------------------------------------- */

.post-header { width: 100%; }

.wp-block-group:has( > .wp-block-post-date ) {
	flex-wrap: wrap !important;
}

.post-header .wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.post-header .wp-block-post-terms a { padding: 5px 14px; }

.post-header .wp-block-post-terms .wp-block-post-terms__separator {
	display: none;
}

.wp-block-post-date__modified-date time::before {
	content: '更新: ';
	font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
	font-size: var(--wp--preset--font-size--12-px);
}

.post-archive .thumb {
	overflow: hidden;
	line-height: .5;
	margin: 0 0 var(--wp--preset--spacing--20);
}

.post-archive .thumb img {
	width: 100%;
	transition: transform .5s;
}

@media ( max-width: 750px ) {
	.wp-block-group:has( > .wp-block-post-date ) {
		gap: var(--wp--preset--spacing--20);
	}
	.post-header .wp-block-post-terms { width: 100%; gap: 6px; }
	.post-header .wp-block-post-terms a { padding: 4px 8px; }
}

@media ( min-width: 751px ) {
	.post-archive .post:hover {
		background: var(--wp--preset--color--light-gray);
	}
	.post-archive .post:hover .thumb img { transform: scale( 1.06 ); }
	.post-archive .post:hover .ttl { color: var(--wp--preset--color--primary); }
}


/* rank-list — サイドバーランキング
---------------------------------------- */

.sidebar .post-list .post + .post {
	margin-top: var(--wp--preset--spacing--40);
}

.sidebar .rank-list .post {
	padding: 0 0 0 44px !important;
}

.sidebar .rank-list .post::before {
	content: '01';
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 12px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.sidebar .rank-list .post:nth-child( 2 )::before {
	content: '02';
	background: var(--wp--preset--color--secondary);
}

.sidebar .rank-list .post:nth-child( 3 )::before {
	content: '03';
	background: var(--wp--preset--color--tertiary);
}

@media ( max-width: 750px ) {
	.sidebar .post-list .post {
		display: flex;
		align-items: center;
		gap: 0;
		padding: var(--wp--preset--spacing--30) 0;
	}
	.sidebar .post-list .post::before {
		width: 28px;
		height: 28px;
		line-height: 28px;
		font-size: 11px;
	}
	.sidebar .post-list .post + .post {
		margin: 0;
		border-top: 1px solid var(--wp--preset--color--gray);
	}
	.sidebar .post-list .post .thumb {
		width: 100px;
		margin: 0;
	}
	.sidebar .post-list .post .txt {
		width: calc( 100% - 100px );
		padding-left: var(--wp--preset--spacing--20);
	}
}


/* relation-box — 関連記事
---------------------------------------- */

.relation-box .main-ttl {
	font-size: var(--wp--preset--font-size--20-px);
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	font-weight: 600;
	text-align: center;
	margin: 0 0 var(--wp--preset--spacing--40);
}

.relation-box .relation-list {
	display: flex;
	gap: var(--wp--preset--spacing--40);
}

.relation-box .relation-list .post {
	width: calc( ( 100% - var(--wp--preset--spacing--40) * 2 ) / 3 );
	padding: 0 !important;
}

@media ( max-width: 750px ) {
	.relation-box .relation-list { flex-direction: column; }
	.relation-box .relation-list .post {
		width: 100% !important;
		display: flex;
		align-items: center;
		gap: var(--wp--preset--spacing--30);
		border-bottom: 1px solid var(--wp--preset--color--gray);
		padding: var(--wp--preset--spacing--30) 0;
	}
	.relation-box .relation-list .post + .post { margin: 0 !important; }
	.relation-box .relation-list .thumb { width: 100px; margin: 0; }
}


/* writer-box — 執筆者情報
---------------------------------------- */

.writer-box {
	border: 1px solid var(--wp--preset--color--gray);
	padding: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--light-gray);
}

.writer-box .main-ttl {
	font-size: var(--wp--preset--font-size--14-px);
	font-family: var(--wp--preset--font-family--roboto);
	letter-spacing: .15em;
	text-transform: uppercase;
	text-align: center;
	color: var(--wp--preset--color--primary);
	margin: 0 0 var(--wp--preset--spacing--40);
}

.writer-box > .writer-wrap {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
}

.writer-box > .writer-wrap + .writer-wrap {
	padding-top: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--gray);
}

.writer-box .thumb {
	width: 80px;
	height: 80px;
	padding: 0;
	margin: 0;
	line-height: .5;
	border-radius: 50%;
	flex-shrink: 0;
	overflow: hidden;
}

.writer-box .thumb img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
}

.writer-box .txt { width: 100%; }

.writer-box .name {
	font-size: var(--wp--preset--font-size--16-px);
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	font-weight: 600;
	margin: 0 0 6px;
}

.writer-box .read {
	margin: 0;
	font-size: var(--wp--preset--font-size--14-px);
	color: var(--wp--preset--color--dark-gray);
}

@media ( max-width: 1000px ) {
	.writer-box { padding: var(--wp--preset--spacing--40); }
	.wp-block-columns:has( > .main-contents ) { flex-direction: column; }
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.main-contents,
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.sidebar {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.sidebar .post-list {
		display: flex;
		gap: 2em;
		flex-wrap: wrap;
	}
	.sidebar .post-list .post {
		width: calc( ( 100% - 4em ) / 3 );
		margin-top: 0 !important;
		padding: 0 !important;
	}
}

@media ( max-width: 750px ) {
	.writer-box .read { font-size: var(--wp--preset--font-size--12-px); line-height: 1.5; }
	.sidebar .post-list { flex-direction: column; gap: 0; }
	.sidebar .post-list .post { width: 100%; padding: 1em 0 !important; }
}


/* ======================================================
   書籍レビュー専用スタイル
   ====================================================== */

/* book-review-header — 書籍ヘッダー
---------------------------------------- */

.book-review-header {
	margin-bottom: 2.5em;
}

.book-info-layout {
	display: flex;
	gap: var(--wp--preset--spacing--50);
	align-items: flex-start;
	margin-bottom: 2em;
}

.book-cover {
	flex-shrink: 0;
	width: 180px;
}

.book-cover-img {
	width: 100%;
	height: auto;
	object-fit: contain;
	box-shadow: 0 4px 16px rgba( 0, 0, 0, .12 );
	display: block;
}

.book-rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	justify-content: center;
}

.star-filled {
	color: var(--wp--preset--color--secondary);
	font-size: 20px;
}

.star-empty {
	color: var(--wp--preset--color--gray);
	font-size: 20px;
}

.book-info-table-wrap {
	flex: 1;
}

.book-info-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--14-px);
}

.book-info-table th,
.book-info-table td {
	padding: 10px 14px;
	border: 1px solid var(--wp--preset--color--gray);
	vertical-align: middle;
	text-align: left;
}

.book-info-table th {
	background: var(--wp--preset--color--light-gray);
	white-space: nowrap;
	width: 100px;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.book-info-table td {
	background: var(--wp--preset--color--base);
}

@media ( max-width: 750px ) {
	.book-info-layout {
		flex-direction: column;
		align-items: center;
		gap: var(--wp--preset--spacing--40);
	}
	.book-cover {
		width: 140px;
	}
	.book-info-table-wrap {
		width: 100%;
	}
}


/* book-summary-box — 3行感想
---------------------------------------- */

.book-summary-box {
	background: var(--wp--preset--color--accent-light);
	border-left: 5px solid var(--wp--preset--color--primary);
	padding: 20px 24px;
	margin-bottom: 2em;
}

.book-summary-label {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 10px;
}

.book-summary-text {
	font-size: var(--wp--preset--font-size--16-px);
	line-height: 1.8;
	font-style: italic;
	color: var(--wp--preset--color--contrast);
	margin: 0;
}


/* book-section-block — 汎用セクションブロック
---------------------------------------- */

.book-section-block {
	margin-bottom: 2em;
	background: var(--wp--preset--color--base);
}

.book-section-title {
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	font-size: var(--wp--preset--font-size--16-px);
	font-weight: 600;
	padding: 12px 16px;
	margin: 0;
}

.book-section-title--gain {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.book-section-title--for {
	background: var(--wp--preset--color--accent-light);
	color: var(--wp--preset--color--primary);
	border-left: 4px solid var(--wp--preset--color--primary);
}

.book-section-title--not-for {
	background: var(--wp--preset--color--light-gray);
	color: var(--wp--preset--color--dark-gray);
	border-left: 4px solid var(--wp--preset--color--tertiary);
}

.book-section-title--application {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
}

.book-section-title--affiliate {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--dark-gray);
	background: none;
	padding: 0 0 12px;
	margin-bottom: 16px;
	border-bottom: 2px solid var(--wp--preset--color--gray);
}

.book-section-body {
	padding: 16px;
	font-size: var(--wp--preset--font-size--14-px);
	line-height: 1.8;
	border: 1px solid var(--wp--preset--color--gray);
	border-top: none;
}


/* book-for-who-section — 向いている人/いない人
---------------------------------------- */

.book-for-who-section {
	margin-bottom: 2em;
}

.book-for-who-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.book-for-who-box {
	background: var(--wp--preset--color--base);
}

.book-for-who-box p {
	padding: 14px 16px;
	font-size: var(--wp--preset--font-size--14-px);
	line-height: 1.8;
	border: 1px solid var(--wp--preset--color--gray);
	border-top: none;
	margin: 0;
}

.book-for-box .book-section-title {
	background: var(--wp--preset--color--accent-light);
	color: var(--wp--preset--color--primary);
	border-left: 4px solid var(--wp--preset--color--primary);
}

.book-not-for-box .book-section-title {
	background: var(--wp--preset--color--light-gray);
	color: var(--wp--preset--color--dark-gray);
	border-left: 4px solid var(--wp--preset--color--tertiary);
}

@media ( max-width: 750px ) {
	.book-for-who-grid {
		grid-template-columns: 1fr;
	}
}


/* book-application-section — 実務・副業活用
---------------------------------------- */

.book-application-section {
	margin-bottom: 2em;
}

.book-application-body {
	padding: 16px;
	font-size: var(--wp--preset--font-size--14-px);
	line-height: 1.9;
	background: var(--wp--preset--color--light-gray);
	border-left: 4px solid var(--wp--preset--color--secondary);
}


/* book-affiliate-section — 購入ボタン
---------------------------------------- */

.book-affiliate-section {
	margin: 2em 0;
	padding: 28px 24px;
	background: var(--wp--preset--color--light-gray);
	text-align: center;
}

.book-affiliate-buttons {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 16px;
}

.btn-affiliate {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 32px;
	font-size: var(--wp--preset--font-size--16-px);
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all .2s;
	min-width: 200px;
	justify-content: center;
}

.btn-affiliate-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.btn-amazon {
	background: #FF9900;
	color: #111;
}

.btn-rakuten {
	background: #BF0000;
	color: #fff;
}

@media ( min-width: 751px ) {
	.btn-amazon:hover  { background: #e68a00; opacity: .9; }
	.btn-rakuten:hover { background: #a00000; opacity: .9; }
}

@media ( max-width: 750px ) {
	.btn-affiliate {
		width: 100%;
		padding: 16px 24px;
	}
}


/* yoast
---------------------------------------- */

.wp-block-group:has( > .yoast-breadcrumbs ) {
	margin-top: var(--wp--preset--spacing--30) !important;
}

.yoast-breadcrumbs {
	font-size: var(--wp--preset--font-size--12-px);
	color: var(--wp--preset--color--dark-gray);
}

.yoast-breadcrumbs span span + span {
	padding-left: 20px;
	position: relative;
}

.yoast-breadcrumbs span span + span::before {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	width: 16px;
	line-height: 14px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
