/*
Theme Name: Astra Child (MSK-Design)
Theme URI: https://msk-design.net/
Description: msk-design.net 用の Astra 子テーマ。デザインは mirai.gmsoku.com の子テーマ（astra-child 1.1.0）の style.css をそのまま使う。msk だけの指定は末尾に置く。
Author: ミライ｜MSK-Design
Template: astra
Version: 0.2.0
Text Domain: astra-child-msk
*/

/* Zen Kaku Gothic Antique は 400 しか読み込まれておらず、font-weight:700 が空振りしていた。
   700 を追加。実測で線の量が48%増える（＝本物の太字になる）。
   @import はスタイルシートの先頭でないと無効なので、ここに置く。 */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;700&display=swap');

/*
 * Mirai article design template.
 *
 * 色を変えるときは、このファイルの末尾にある「色と見た目の設定」パネルを書き換える。
 * CSSは後に書いたものが勝つので、下の :root より末尾のパネルが優先される。
 *
 * ※ 2026-08-21、クライアント用のテーマ切替クラス
 *   （mirai-theme-blue / red / orange / green）を削除した。
 *   functions.php が一度もこのクラスを付けておらず、完全に使われていなかった。
 */
:root {
	--mirai-bg: #18151a;
	--mirai-panel: #221c28;
	--mirai-text: #cfc6da;
	--mirai-heading: #f2ecdf;
	--mirai-main: #b89be8;
	--mirai-sub: #9d84c9;
	--mirai-accent: #f2c16d;
	--mirai-line: #3a3244;
	--mirai-soft: #241f2c;
	--mirai-quote: #211c28;
	--mirai-link: var(--mirai-text);
	--mirai-link-line: #4a3f56;
	--mirai-link-hover-bg: #2a2332;
	--mirai-strong-line: #5c4a78;
	--mirai-quote-line: #4a3f2a;
	--mirai-muted: #9a8fa8;
	--mirai-shadow: rgba(0, 0, 0, .45);

	/* トップページの有料記事・無料記事セクション用 */
	--mirai-bg-deep: #100d11;
	--mirai-panel-premium: #241a2a;
	--mirai-gold: #cda866;
	--mirai-gold-dim: #7c6640;
	--mirai-gold-line: rgba(205, 168, 102, .28);
	--mirai-gold-line-hover: rgba(205, 168, 102, .6);
	--mirai-ink-muted: #b6a9c2;
	--mirai-sheet: #211c27;          /* 本文の列の背景。#222222 と同じ明るさで紫寄りに揃えた色 */
	--mirai-free-line: rgba(184, 155, 232, .3);
	--mirai-free-line-soft: rgba(184, 155, 232, .15);
	--mirai-free-line-hover: rgba(184, 155, 232, .6);
	--mirai-font-display: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
	--mirai-font-label: "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
	--mirai-font-code: "SFMono-Regular", Menlo, Consolas, "Hiragino Kaku Gothic ProN", "Noto Sans JP", monospace;

	--mirai-content-start: 26px;
}

/* Astra本体のフッターバーが白いまま残るので、ページ全体と同じ墨色に揃える。 */
body .site-footer,
body .site-primary-footer-wrap,
body .site-below-footer-wrap,
body .site-above-footer-wrap,
body .ast-builder-grid-row-container,
body .ast-footer-copyright {
	background: var(--mirai-bg) !important;
	color: var(--mirai-muted) !important;
}

body .site-below-footer-wrap {
	border-top: 1px solid var(--mirai-line) !important;
}

body .ast-footer-copyright a {
	color: var(--mirai-main) !important;
}

body {
	--limited-main: var(--mirai-main);
	--limited-sub: var(--mirai-sub);
	--limited-text: var(--mirai-text);
	--limited-heading: var(--mirai-heading);
	--limited-line: var(--mirai-line);
	--limited-bg: var(--mirai-bg);
	--limited-panel: var(--mirai-panel);
	--limited-muted: var(--mirai-muted);
	--limited-shadow: var(--mirai-shadow);
	background: var(--mirai-bg) !important;
}

body,
body .entry-content {
	color: var(--mirai-text);
}

body h1.entry-title,
body.single-post h1.entry-title,
body.single-post .entry-title {
	box-sizing: border-box !important;
	color: var(--mirai-heading) !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
	word-break: normal !important;
}

body .entry-content {
	padding-left: var(--mirai-content-start);
}

body .entry-content p {
	margin: 0 0 2em;
}

body .entry-content h2,
body .entry-content h2.wp-block-heading,
body.page .entry-content h2,
body.single-post .entry-content h2,
body .entry-content h3,
body .entry-content h3.wp-block-heading,
body.page .entry-content h3,
body.single-post .entry-content h3,
body .entry-content h4,
body .entry-content h4.wp-block-heading,
body.page .entry-content h4,
body.single-post .entry-content h4 {
	color: var(--mirai-heading) !important;
	font-weight: 400 !important;
	letter-spacing: 0.04em !important;
}

body .entry-content h2,
body .entry-content h2.wp-block-heading,
body.page .entry-content h2,
body.single-post .entry-content h2 {
	background: var(--mirai-soft) !important;
	border: 1px solid var(--mirai-line) !important;
	border-radius: 6px !important;
	box-shadow: inset 5px 0 0 var(--mirai-main) !important;
	font-size: 1.42em !important;
	line-height: 1.7 !important;
	margin: 3.2em 0 1.35em calc(var(--mirai-content-start) * -1) !important;
	padding: 0.72em 0.9em 0.72em var(--mirai-content-start) !important;
}

body .entry-content h3,
body .entry-content h3.wp-block-heading,
body.page .entry-content h3,
body.single-post .entry-content h3 {
	background: transparent !important;
	border: 0 !important;
	font-size: 1.22em !important;
	line-height: 1.75 !important;
	margin: 2.7em 0 1.15em !important;
	padding: 0 0 0.45em !important;
	position: relative;
}

body .entry-content h3::after,
body .entry-content h3.wp-block-heading::after,
body.page .entry-content h3::after,
body.single-post .entry-content h3::after {
	background: linear-gradient(to right, var(--mirai-heading), transparent);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

body .entry-content h4,
body .entry-content h4.wp-block-heading,
body.page .entry-content h4,
body.single-post .entry-content h4 {
	background: transparent !important;
	border: 0 !important;
	color: var(--mirai-link) !important;
	font-size: 1.08em !important;
	line-height: 1.75 !important;
	margin: 2.2em 0 1em !important;
	padding: 0.05em 0 !important;
	position: relative;
}

body .entry-content h4::before,
body .entry-content h4.wp-block-heading::before,
body.page .entry-content h4::before,
body.single-post .entry-content h4::before {
	background: var(--mirai-main);
	border-radius: 999px;
	content: "";
	height: 100%;
	left: calc(var(--mirai-content-start) * -1);
	position: absolute;
	top: 0;
	width: 3px;
}

body .entry-content a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-keyword-cloud__link):not(.mirai-single-related__title):not(.mirai-single-related__thumb):not(.mirai-link-card):not(.mirai-card-link) {
	background-image: repeating-linear-gradient(to right, var(--mirai-link-line) 0 7px, transparent 7px 12px) !important;
	background-position: 0 100% !important;
	background-repeat: repeat-x !important;
	background-size: 12px 1px !important;
	border-bottom: 0 !important;
	color: var(--mirai-link) !important;
	font-weight: 400 !important;
	padding-bottom: 0.08em;
	text-decoration: none !important;
}

body .entry-content a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-keyword-cloud__link):not(.mirai-single-related__title):not(.mirai-single-related__thumb):not(.mirai-link-card):not(.mirai-card-link):hover,
body .entry-content a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-keyword-cloud__link):not(.mirai-single-related__title):not(.mirai-single-related__thumb):not(.mirai-link-card):not(.mirai-card-link):focus {
	background: var(--mirai-link-hover-bg) !important;
	background-image: repeating-linear-gradient(to right, var(--mirai-link-line) 0 7px, transparent 7px 12px) !important;
	border-radius: 4px;
	color: var(--mirai-link) !important;
}

body .entry-content .mirai-category-menu a,
body .entry-content .mirai-category-menu a:hover,
body .entry-content .mirai-category-menu a:focus {
	background-image: none !important;
	padding-bottom: .42em;
}

body .entry-content .mirai-all-category-posts__category,
body .mirai-all-category-posts__category,
body .entry-content .mirai-all-category-posts__category:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
body .entry-content .mirai-all-category-posts__category:hover,
body .entry-content .mirai-all-category-posts__category:focus,
body .mirai-all-category-posts__category:hover,
body .mirai-all-category-posts__category:focus,
body .entry-content .mirai-all-category-posts__category:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
body .entry-content .mirai-all-category-posts__category:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus {
	align-items: center !important;
	background-image: none !important;
	border-bottom: 0 !important;
	display: inline-flex !important;
	justify-content: center !important;
	line-height: 1.1 !important;
	min-height: 42px !important;
	padding: 0 1.2em !important;
	text-decoration: none !important;
}

body .entry-content .mirai-all-category-posts__item a,
body .mirai-all-category-posts__item a,
body .entry-content .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
body .entry-content .mirai-single-related__title,
body .mirai-single-related__title,
body .entry-content .mirai-single-related__title:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__thumb) {
	background-image: none !important;
	border-bottom: 1px dotted var(--mirai-line, #3a3244) !important;
	color: var(--mirai-text) !important;
	text-decoration: none !important;
}

body .entry-content .mirai-all-category-posts__item a:hover,
body .entry-content .mirai-all-category-posts__item a:focus,
body .mirai-all-category-posts__item a:hover,
body .mirai-all-category-posts__item a:focus,
body .entry-content .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
body .entry-content .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus,
body .entry-content .mirai-single-related__title:hover,
body .entry-content .mirai-single-related__title:focus,
body .mirai-single-related__title:hover,
body .mirai-single-related__title:focus,
body .entry-content .mirai-single-related__title:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__thumb):hover,
body .entry-content .mirai-single-related__title:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-single-related__thumb):focus {
	background: var(--mirai-link-hover-bg, #2a2332) !important;
	background-image: none !important;
	color: var(--mirai-text) !important;
}

body .mirai-link-card {
	align-items: center;
	background: var(--mirai-panel, #221c28);
	border: 1px solid var(--mirai-line, #3a3244);
	border-radius: 8px;
	color: var(--mirai-text, #cfc6da) !important;
	display: flex;
	gap: 14px;
	overflow: hidden;
	padding: 10px;
}

body .mirai-link-card:hover,
body .mirai-link-card:focus {
	background: var(--mirai-soft, #241f2c) !important;
}

body .mirai-link-card__thumb {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: var(--mirai-panel, #221c28);
	border-radius: 6px;
	display: flex;
	flex: 0 0 84px;
	justify-content: center;
	overflow: hidden;
	width: 84px;
}

body .mirai-link-card__thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body .mirai-link-card__thumb--empty {
	color: var(--mirai-main, #b89be8);
	font-size: 1.5rem;
}

body .mirai-link-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

body .mirai-link-card__title {
	color: var(--mirai-text, #cfc6da);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: .95rem;
	line-height: 1.5;
	overflow: hidden;
}

body .mirai-link-card__domain {
	color: var(--mirai-muted, #9a8fa8);
	font-size: .78rem;
}

body .entry-content #ez-toc-container a,
body .entry-content #ez-toc-container .ez-toc-link {
	background: transparent !important;
	background-image: none !important;
	border-bottom: 1px solid var(--mirai-line) !important;
	color: var(--mirai-text) !important;
	display: block;
	font-weight: 400 !important;
	line-height: 1.6;
	padding: 0.28em 0 !important;
	text-decoration: none !important;
}

body .entry-content #ez-toc-container a:hover,
body .entry-content #ez-toc-container a:focus,
body .entry-content #ez-toc-container .ez-toc-link:hover,
body .entry-content #ez-toc-container .ez-toc-link:focus {
	background: var(--mirai-soft) !important;
	border-radius: 4px;
	color: var(--mirai-link) !important;
}

body #secondary .ez-toc,
body #secondary [id^="ezw_tco"],
body #secondary .ez-toc-widget-container,
body #secondary .widget.ez-toc {
	background: var(--mirai-panel, #221c28) !important;
	border: 0 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--mirai-text) !important;
	max-height: none !important;
	overflow: visible !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body #secondary .widget-title,
body #secondary .ez-toc-title,
body #secondary .ez-toc-title-container {
	color: var(--mirai-text) !important;
	font-size: .95rem !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
}

body #secondary .ez-toc-list,
body #secondary .ez-toc-list ul,
body #secondary .ez-toc-list ol,
body #secondary .ez-toc-list li {
	background: transparent !important;
}

body #secondary .ez-toc-list a,
body #secondary .ez-toc-link,
body #secondary .ez-toc-widget-container ul.ez-toc-list li a {
	background: transparent !important;
	background-image: none !important;
	border-bottom: 1px solid var(--mirai-line) !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	color: var(--mirai-text) !important;
	display: block !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	margin: 0 !important;
	padding: .34em 4px .34em 1.4em !important;
	position: relative !important;
	text-decoration: none !important;
	width: 100% !important;
}

body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a,
body #secondary .mirai-all-category-posts__item a,
body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__postmeta,
body #secondary .mirai-all-category-posts__postmeta {
	box-sizing: border-box !important;
	padding-right: 10px !important;
	width: calc(100% - 30px) !important;
}

body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__title,
body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__charcount,
body #secondary .mirai-all-category-posts__item a .mirai-all-category-posts__title,
body #secondary .mirai-all-category-posts__item a .mirai-all-category-posts__charcount {
	box-sizing: border-box !important;
	display: block !important;
	margin-left: 0 !important;
	width: 100% !important;
}

body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__charcount,
body #secondary .mirai-all-category-posts__item a .mirai-all-category-posts__charcount {
	padding-right: 0 !important;
	text-align: right !important;
}

body .mirai-front-category-posts .mirai-all-category-posts__item {
	box-sizing: border-box !important;
	display: block !important;
	max-width: 100% !important;
	width: 100% !important;
}

body .mirai-front-category-posts .mirai-all-category-posts__item a,
body .mirai-front-category-posts .mirai-all-category-posts__charcount,
body .mirai-update-feed--front .mirai-all-category-posts__item a,
body .mirai-update-feed--front .mirai-all-category-posts__charcount {
	background-image: none !important;
	box-sizing: border-box !important;
	display: block !important;
	max-width: 100% !important;
	padding: 0 !important;
	width: 100% !important;
}

body .mirai-front-category-posts .mirai-all-category-posts__title,
body .mirai-front-category-posts .mirai-all-category-posts__charcount,
body .mirai-update-feed--front .mirai-all-category-posts__title,
body .mirai-update-feed--front .mirai-all-category-posts__charcount {
	display: block !important;
	margin-left: 0 !important;
	width: 100% !important;
}

body .mirai-front-category-posts .mirai-all-category-posts__charcount,
body .mirai-update-feed--front .mirai-all-category-posts__charcount {
	text-align: right !important;
}

body .mirai-front-category-posts .mirai-all-category-posts__item a:hover,
body .mirai-front-category-posts .mirai-all-category-posts__item a:focus,
body .mirai-update-feed--front .mirai-all-category-posts__item a:hover,
body .mirai-update-feed--front .mirai-all-category-posts__item a:focus {
	background: transparent !important;
	background-image: none !important;
}

body .entry-content .mirai-front-category-posts .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
body .entry-content .mirai-front-category-posts .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
body .entry-content .mirai-front-category-posts .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus,
body .entry-content .mirai-update-feed--front .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
body .entry-content .mirai-update-feed--front .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
body .entry-content .mirai-update-feed--front .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus {
	background-image: none !important;
}

body .entry-content .mirai-keyword-cloud__link,
body .mirai-keyword-cloud__link,
body .entry-content .mirai-keyword-cloud__link:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
body .entry-content .mirai-keyword-cloud__link:hover,
body .entry-content .mirai-keyword-cloud__link:focus,
body .mirai-keyword-cloud__link:hover,
body .mirai-keyword-cloud__link:focus,
body .entry-content .mirai-keyword-cloud__link:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
body .entry-content .mirai-keyword-cloud__link:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus {
	background-image: none !important;
	text-decoration: none !important;
}

body #secondary .ez-toc-list a:hover,
body #secondary .ez-toc-list a:focus,
body #secondary .ez-toc-list a.active,
body #secondary .ez-toc-list a.ez-toc-current,
body #secondary .ez-toc-list a[aria-current],
body #secondary .ez-toc-widget-container ul.ez-toc-list li a:hover,
body #secondary .ez-toc-widget-container ul.ez-toc-list li a:focus,
body #secondary .ez-toc-widget-container ul.ez-toc-list li.active > a,
body #secondary .ez-toc-link:hover,
body #secondary .ez-toc-link:focus,
body #secondary .ez-toc-link.active,
body #secondary .ez-toc-link.ez-toc-current,
body #secondary .ez-toc-link[aria-current] {
	background: var(--mirai-soft) !important;
	color: var(--mirai-link) !important;
}

body #secondary .ez-toc-list a::before,
body #secondary .ez-toc-link::before,
body #secondary .ez-toc-widget-container ul.ez-toc-list li a::before,
body #secondary .ez-toc-widget-container ul.ez-toc-list li a:hover::before,
body #secondary .ez-toc-widget-container ul.ez-toc-list li a:focus::before,
body #secondary .ez-toc-widget-container ul.ez-toc-list li.active > a::before {
	color: var(--mirai-text) !important;
	left: 0 !important;
	line-height: 1.6 !important;
	top: .34em !important;
	text-align: right !important;
	width: 1.3em !important;
}

body .mirai-mobile-menu-panel .mirai-mobile-toc-list a,
body .mirai-mobile-menu-panel .ez-toc-link {
	background: var(--mirai-panel, #221c28) !important;
	border-bottom: 0 !important;
	color: var(--mirai-text) !important;
	padding: .5em 0 !important;
}

body .mirai-mobile-menu-panel .mirai-mobile-toc-list a:hover,
body .mirai-mobile-menu-panel .mirai-mobile-toc-list a:focus,
body .mirai-mobile-menu-panel .mirai-mobile-toc-list a.active,
body .mirai-mobile-menu-panel .mirai-mobile-toc-list a.ez-toc-current,
body .mirai-mobile-menu-panel .mirai-mobile-toc-list a[aria-current],
body .mirai-mobile-menu-panel .ez-toc-link:hover,
body .mirai-mobile-menu-panel .ez-toc-link:focus,
body .mirai-mobile-menu-panel .ez-toc-link.active,
body .mirai-mobile-menu-panel .ez-toc-link.ez-toc-current,
body .mirai-mobile-menu-panel .ez-toc-link[aria-current] {
	background: var(--mirai-soft) !important;
	color: var(--mirai-link) !important;
}

body .entry-content strong,
body .entry-content b {
	background: none !important;
	border-bottom: 0 !important;
	color: var(--mirai-text) !important;
	font-weight: 600 !important;
	padding: 0;
}

body .entry-content blockquote,
body .entry-content .wp-block-quote {
	background: var(--mirai-quote) !important;
	border: 1px solid var(--mirai-quote-line) !important;
	border-left: 6px solid var(--mirai-accent) !important;
	border-radius: 6px !important;
	color: var(--mirai-text) !important;
	font-style: normal !important;
	margin: 2.3em 0 !important;
	padding: 1.05em 1.15em !important;
}

body .entry-content blockquote p,
body .entry-content .wp-block-quote p {
	font-style: normal !important;
	margin-bottom: 0 !important;
}

body .entry-content ul:not(#ez-toc-container ul),
body .entry-content ol,
body .entry-content .wp-block-list {
	margin: 0 0 2em !important;
	padding-left: 1.25em !important;
}

body .entry-content li::marker {
	color: var(--mirai-sub);
	font-size: 1.15em;
}

body .entry-content li {
	margin: 0 0 0.65em;
}

@media (max-width: 544px) {
	body h1.entry-title,
	body.single-post h1.entry-title,
	body.single-post .entry-title {
		font-size: 1.32rem !important;
		line-height: 1.75 !important;
		overflow-wrap: anywhere !important;
		padding-right: 64px !important;
		word-break: normal !important;
	}

	body .entry-content h2,
	body .entry-content h2.wp-block-heading,
	body.page .entry-content h2,
	body.single-post .entry-content h2 {
		font-size: 1.28em !important;
		margin-top: 2.6em !important;
		padding: 0.68em 0.75em 0.68em var(--mirai-content-start) !important;
	}

	body .entry-content h3,
	body .entry-content h3.wp-block-heading,
	body.page .entry-content h3,
	body.single-post .entry-content h3 {
		font-size: 1.14em !important;
	}

	body .entry-content h4,
	body .entry-content h4.wp-block-heading,
	body.page .entry-content h4,
	body.single-post .entry-content h4 {
		font-size: 1.04em !important;
	}
}
/* ===================================================================
 * Mirai: カスタマイザーの「追加CSS」から移設（2026-08-21）
 *
 * 35,863文字・211ルールをそのまま移した。削っていない。
 *
 * 経緯：一度は「どの要素にもマッチしないセレクタ220個」を削除したが、
 * 判定に使ったページが6枚しかなく、目次・h4〜h6・箇条書き・引用・太字・
 * アーカイブ・検索結果・404・サブメニュー・ブロックエディターが
 * どれも含まれていなかった。実際には生きている指定まで消していたので戻した。
 *
 * 整理をやり直すときは、判定に使うページを大幅に増やすこと。
 * 記録：11｜WordPress/02｜作業ログ/整理_基準値_20260821/
 *
 * カスタマイザーの追加CSSは空のままにすること。両方に入れると二重になる。
 * =================================================================== */


.ast-site-identity .ast-site-title {
    display: inline-block!important;
}
.ast-logo-img {
    max-width: 80px;
    margin-right: 10px;
}
.site-title a{
	    display: block !important;
}

.sidebar-main {
    font-size: 14px;
}
.widget_tag_cloud .tagcloud a {
    padding: .2em .4em;
}
#secondary li {
    line-height: 1.2em;
}
a.wp-block-latest-posts__post-title {
    font-weight: bold;
	line-height:1.5em;
	    font-size: 0.9em;
}
ul.wp-block-latest-posts__list {
    margin: 0;
}
.wp-block-latest-posts__post-excerpt {
    margin-top: 6px!important;
    margin-bottom:16px!importan;
}
.Category li {
    margin-bottom: 2em;
}
.cat-links.badge a, .tags-links.badge a {
    display: inline-block;
}
h1.entry-title {
	border-bottom:1px dashed #d09a40;
	padding:0 0 10px 0;
	margin:0 0 20px 0;
}

#secondary h2 {
    font-size: 1.3em;
}
p.profile{
	font-size:0.8em;
}
.cat-item a{
	color:#333;
	border-bottom:1px dashed #d09a40;
	margin:0 0 20px 0;
}
.tagcloud a {
    font-size: 14px!important;
}
.main-navigation.ast-inline-flex {
    font-size: 14px;
}
a.ast-button {
    color: #fff;
}


.ast-separate-container .ast-blog-layout-5-grid .post-content{
    font-size: 0.8em;
    line-height: 1.8em;
    letter-spacing: 0.1em;
}
.wp-block-latest-posts__post-excerpt {
    font-size: 0.9em;
}
#secondary li:last-child {
    margin-bottom: 20px;
}
ul.children {
    font-weight: normal;
}
.ast-builder-menu-1 .sub-menu, .ast-builder-menu-1 .inline-on-mobile .sub-menu {
width: 200px !important;
    margin: 0 auto;
    text-align: center;
    padding: 0 10px;
}
.ast-builder-menu-1 .sub-menu li, .ast-builder-menu-1 .inline-on-mobile .sub-menu li{
	padding:0 0 4px 0;

}
.main-header-menu .sub-menu {
    background:#f7e6ca6b;
}
.ast-builder-menu-1 .sub-menu li, .ast-builder-menu-1 .inline-on-mobile .sub-menu li {
    border-bottom: 1px solid #e6d3ab;
    margin: 6px auto 0;
}
.ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu, .ast-builder-menu-1 .main-header-menu > .menu-item > .astra-full-megamenu-wrapper {
    margin-top: 4px!important;
}
.ast-builder-menu-1 .menu-item > .menu-link {
    color: #d49723;
}
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: 30px;
    padding: 0 10px 0 0;
}

.ast-archive-description p {
    font-size: 0.8em!important;
	line-height: 1.5em;
}
.ast-archive-description p {
    font-size: 0.8em!important;
    line-height: 1.5em;
    margin: 30px auto 0;
}

body.archive .ast-archive-description {
background-color: #fcf7ec;
    border: 1px dashed #d09a40;
}
.wp-block-latest-posts > li > *, .wp-block-latest-posts:not(.is-grid) > li {
    margin-top: 12px;
    margin-bottom: 4px;
}
#ez-toc-container {
    padding: 10px 20px 20px 20px;
}
.ast-archive-entry-banner p{
    font-size: 0.8em;
}

@media (min-width: 922px) {
.ast-right-sidebar #secondary {
    padding-left: 30px;
}
}
.ast-terms-link a {
    border-radius: 20px !important;
    padding: 4px 12px !important;     font-weight: 500 !important; }
.cat-links.badge a, .tags-links.badge a {
    border-radius: 20px !important;
    padding: 4px 12px !important;     font-weight: 500 !important; }

/* 記事一覧の各記事の間の隙間を広げる */
.ast-row article {
    margin-bottom: 100px !important; /* 記事と記事の上下の隙間（現在は40px程度が多いです） */
}

/* サイドバーの各ブロック（ウィジェット）の間の隙間を広げる */
.secondary .widget {
    margin-bottom: 50px !important; /* ブロックごとの上下の隙間 */
}


@media (max-width: 921px) {
    .ast-row article {
        margin-bottom: 40px !important;
    }
    .secondary .widget {
        margin-bottom: 40px !important;
    }
}

.entry-content h1 {    color: #4a4a4a; /* 真っ黒すぎない優しいグレー */}
.entry-content h2 {
    padding: 0.6em 0.5em 0.6em 0.8em; /* ほどよい余白 */
    background: #f9f8f4; /* 落ち着いたオフホワイト */
    font-size: 1.45em;
    color: #4a4a4a; /* 真っ黒すぎない優しいグレー */
    line-height: 1.4;
    margin-bottom: 1.5em;
    margin-top: 2em;
}

.entry-content h2 {
    background: #f9f8f4 !important;
    color: #4a4a4a !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0.5em 0.8em !important;
    font-size: 1.25em !important;
    line-height: 1.4 !important;
    margin: 1.8em 0 1em !important;
    position: relative !important;
}
.entry-content h2::after,
.entry-content h2::before {
    display: none !important;
}
.entry-content h3 {
    background: none !important;
    border: none !important;
    color: #4a4a4a !important;
    padding: 0 0 0.3em 0 !important;
    font-size: 1.1em !important;
    line-height: 1.4 !important;
    margin: 1.6em 0 0.8em !important;
}
.entry-content h4 {
    background: none !important;
    border: none !important;
    padding: 0 0 0 0.6em !important;
    color: #5a5a5a !important;
    font-size: 1.05em !important;
    line-height: 1.4 !important;
    margin: 1.4em 0 0.8em !important;
}
.entry-content h5 {
    background: none !important;
    border: none !important;
    font-size: 1em !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    margin: 1.2em 0 0.6em !important;
    padding: 0 !important;
}
/* 1. カテゴリーエリア全体の空間づくり */
.ast-archive-entry-banner,
.ast-archive-description,
header.page-header {
    background-color: transparent !important;
    border: none !important;
    padding: 5em 1em 2em !important;
    margin: 0 auto 1.5em !important;
    text-align: center !important;
    display: block !important;
    max-width: 850px !important;
}

/* 2. タイトルの上に □□□ を配置 */
.ast-archive-entry-banner::before,
.ast-archive-description::before,
header.page-header::before {
    content: "□□□" !important;
    display: block !important;
    font-size: 10px !important;
    letter-spacing: 0.4em !important;
    margin-bottom: 0.8em !important;
    text-align: center !important;
}

/* 3. カテゴリータイトル本体（文字とリンク、線をまとめて緑に固定） */
.ast-archive-title,
.page-title,
.ast-archive-title a,
.page-title a,
h1.ast-archive-title,
h1.page-title {
    font-size: 1.6em !important;
    font-weight: 500 !important;
    letter-spacing: 0.3em !important;
    display: inline-block !important;
    padding: 0.8em 0 !important;
    margin: 0 0 1em 0 !important;
    text-transform: none !important;
    text-decoration: none !important; /* リンクの下線を消す */
}

/* 4. 説明文の調整（セージグリーンで統一） */
.ast-archive-description p,
.page-header p {
    font-size: 0.85em !important;
    letter-spacing: 0.15em !important;
    line-height: 1.8 !important;
    margin: 0 auto !important;
    display: block !important;
}
/* === Codex design adjustments 2026-07-15 === */
/* WordPress全体の共通パーツ + 記事本文デザイン */
:root {
  --limited-main: var(--ast-global-color-0, #b89be8);
  --limited-sub: var(--ast-global-color-1, #f2b6d8);
  --limited-text: var(--ast-global-color-2, #44384d);
  --limited-heading: var(--ast-global-color-3, #2f2636);
  --limited-pale: var(--ast-global-color-4, #fff);
  --limited-line: var(--ast-global-color-5, #e7ddf8);
  --limited-content-left: max(20px, calc((100vw - 1200px) / 2 + 20px));
}

body,
body .entry-content {
  color: var(--limited-text);
}

body .site-title a,
body .site-description,
body .site-header a,
body .main-header-menu .menu-link,
body .ast-builder-menu-1 .menu-item > .menu-link,
body .ast-breadcrumbs,
body .ast-breadcrumbs a,
body .breadcrumb-trail,
body .breadcrumb-trail a,
body .site-footer,
body .site-footer a {
  color: var(--limited-text) !important;
}

body .site-title,
body .site-title a {
  color: var(--limited-main) !important;
  font-size: 19px !important;
  font-weight: 600 !important;
}

body .wp-block-pages-list__item__link,
body .wp-block-page-list a,
body .entry-content .wp-block-latest-posts__post-title,
body .entry-content .wp-block-categories a,
body .entry-content .wp-block-archives a,
body .skip-link {
  color: var(--limited-main) !important;
}

body input.adminbar-button {
  background: var(--limited-main) !important;
  border-color: var(--limited-main) !important;
  color: #fff !important;
}

body .site-header {
  border-bottom-color: var(--limited-line) !important;
}

body .custom-logo-link,
body .site-logo-img {
  display: none !important;
}

body .site-branding,
body .ast-site-identity {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

@media (min-width: 922px) {
  body .site-above-header-wrap .site-header-above-section-center {
    justify-content: flex-start !important;
  }

  body .site-branding,
  body .ast-site-identity {
    margin-left: calc(var(--limited-content-left) - 35px) !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body #primary,
  body .content-area.primary {
    margin-top: 12px !important;
  }

  body .ast-header-breadcrumb .ast-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: calc(var(--limited-content-left) - 20px) !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 921px) {
  body .site-header-above-section-center {
    justify-content: flex-start !important;
  }

  body .site-branding,
  body .ast-site-identity {
    margin-left: 0 !important;
  }

  body .ast-header-breadcrumb .ast-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .ast-header-breadcrumb {
    padding-top: 6px !important;
    padding-bottom: 8px !important;
  }

  body #primary,
  body .content-area.primary {
    margin-top: 24px !important;
  }
}

body .ast-primary-header-bar,
body .main-header-bar {
  min-height: auto !important;
}

body .main-header-bar,
body .ast-header-breadcrumb {
  border-color: #f3eefb !important;
}

body #primary,
body .content-area.primary {
  border-right: 0 !important;
}

body #secondary,
body .widget-area.secondary {
  border-left: 0 !important;
}

body .custom-logo {
  filter: hue-rotate(130deg) saturate(1.25) brightness(1.08);
}

body .ast-builder-social-element,
body .ast-builder-social-element a {
  color: var(--limited-main) !important;
}

body .ast-builder-social-element svg,
body .ast-builder-social-element svg path,
body .ast-header-social-1-wrap svg,
body .ast-header-social-1-wrap svg path {
  fill: var(--limited-main) !important;
}

body .menu-toggle,
body .main-header-menu-toggle,
body .ast-mobile-menu-trigger-fill {
  background: var(--limited-main) !important;
  border-color: var(--limited-main) !important;
  color: #fff !important;
}

body .menu-toggle .mobile-menu-toggle-icon,
body .menu-toggle .mobile-menu-toggle-icon::before,
body .menu-toggle .mobile-menu-toggle-icon::after {
  color: #fff !important;
}

body #ast-scroll-top,
body .ast-scroll-top-icon,
body .ast-scroll-to-top-right {
  background: var(--limited-main) !important;
  border-color: var(--limited-main) !important;
  color: #fff !important;
}

body #ast-scroll-top svg,
body #ast-scroll-top svg path,
body .ast-scroll-top-icon svg,
body .ast-scroll-top-icon svg path {
  fill: #fff !important;
}

body nav,
body .site-navigation {
  color: var(--limited-text) !important;
}

body .site-primary-footer-wrap {
  background: #fff !important;
  border-top-color: var(--limited-line) !important;
}

body .site-below-footer-wrap {
  background: var(--limited-pale) !important;
  border-top-color: var(--limited-line) !important;
}

body .ast-footer-copyright,
body .ast-footer-copyright p {
  color: var(--limited-text) !important;
}

body h1.entry-title {
  color: var(--limited-text) !important;
  border-bottom: 1px solid var(--limited-line) !important;
  border-left: 0 !important;
  border-right-color: var(--limited-line) !important;
  border-top-color: var(--limited-line) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.45 !important;
  overflow-wrap: normal !important;
  padding: 0 0 8px 0;
  margin: 0 0 8px 0;
  position: relative;
  word-break: keep-all !important;
}

body h1.entry-title::before {
  content: none;
}

body .wp-post-image {
  border: 1px solid var(--limited-line);
  border-radius: 6px;
}

body.ast-single-post #main.site-main {
  display: flex;
  flex-direction: column;
}

body.ast-single-post #main.site-main > .ast-single-post-featured-section {
  order: 2;
  margin: 0 0 28px;
}

@media (min-width: 922px) {
  body h1.entry-title {
    margin-top: 24px;
    margin-bottom: 4px;
  }

  body.ast-single-post #main.site-main > .ast-single-post-featured-section {
    margin-top: 0;
  }
}

body.ast-single-post #main.site-main > article.ast-article-single {
  display: contents;
}

body.ast-single-post #main.site-main > article.ast-article-single > .entry-header {
  order: 1;
}

body.ast-single-post #main.site-main > article.ast-article-single > .entry-content {
  order: 3;
}

body .entry-content figcaption,
body .entry-content .wp-caption-text,
body .entry-content .wp-block-image figcaption {
  color: #62566c !important;
  font-size: 85% !important;
  line-height: 1.7 !important;
  margin: 10px 0 28px !important;
  text-align: center !important;
}

body .editor-styles-wrapper {
  color: var(--limited-text) !important;
}

body .editor-styles-wrapper .wp-block-post-title,
body .editor-styles-wrapper .editor-post-title,
body .editor-styles-wrapper .editor-post-title__input,
body .editor-styles-wrapper h1,
body .editor-styles-wrapper h1.wp-block-post-title,
body .editor-styles-wrapper .wp-block-heading h1 {
  color: var(--limited-heading) !important;
  border-bottom: 1px solid var(--limited-line) !important;
}

body .entry-content #ez-toc-container {
  background: #fff;
  border: 1px solid var(--limited-line);
  border-radius: 6px;
  display: block !important;
  font-size: 85%;
  padding: 12px 14px 14px;
  margin: 0 0 30px !important;
  width: 100% !important;
}

body .entry-content #ez-toc-container::before {
  content: "目次";
  display: block;
  color: var(--limited-text);
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 6px;
  padding: 0 0 7px;
  border-bottom: 1px solid var(--limited-line);
}

body .entry-content #ez-toc-container .ez-toc-title-container {
  display: none;
}

body .entry-content #ez-toc-container ul,
body .entry-content #ez-toc-container li {
  margin-top: 0;
  margin-bottom: 0;
}

body .entry-content #ez-toc-container li {
  padding: 0;
}

body .entry-content #ez-toc-container li.ez-toc-heading-level-3 {
  display: none;
}

body .entry-content #ez-toc-container li a {
  display: block;
  color: var(--limited-text);
  line-height: 1.35;
  padding: 2px 0;
  border-bottom: 1px dotted var(--limited-line);
}

body .entry-content #ez-toc-container li a:hover {
  color: var(--limited-main);
}

body .entry-content #ez-toc-container ul ul {
  margin-left: 1em;
  padding-left: 0.7em;
  border-left: 2px solid var(--limited-line);
}

body .entry-content #ez-toc-container ul ul li a {
  padding-top: 2px;
  padding-bottom: 2px;
  color: #62566c;
}

body .entry-content h2,
body .editor-styles-wrapper h2 {
  color: #3f334c !important;
  background: var(--limited-pale) !important;
  border-left: 12px solid #e58abc !important;
  border-bottom: 1px solid var(--limited-main) !important;
  font-size: 1.45em !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 12px 12px !important;
  margin-bottom: 28px !important;
}

body .entry-content p,
body .entry-content ul:not(#ez-toc-container ul),
body .entry-content ol,
body .entry-content blockquote,
body .entry-content .wp-block-list,
body .entry-content .wp-block-quote {
  margin-left: 16px !important;
}

body .entry-content h3,
body .editor-styles-wrapper h3 {
  color: #6f55a8 !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  font-size: 1.22em !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding-left: 30px !important;
  padding-bottom: 9px !important;
  position: relative;
  margin-bottom: 22px !important;
}

body .entry-content h3::after,
body .editor-styles-wrapper h3::after {
  background: linear-gradient(to right, #6f55a8, transparent);
  bottom: 0;
  content: "";
  height: 1px;
  left: 30px;
  position: absolute;
  right: 0;
}

body .entry-content h4,
body .editor-styles-wrapper h4 {
  color: var(--limited-text) !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  font-size: 1.11em !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding-left: 30px !important;
  padding-bottom: 8px !important;
  position: relative;
  margin-bottom: 18px !important;
}

body .entry-content h4::before,
body .editor-styles-wrapper h4::before {
  background: var(--limited-main);
  content: "";
  height: calc(100% - 8px);
  left: 18px;
  position: absolute;
  top: 0;
  width: 3px;
}

body .entry-content h5,
body .editor-styles-wrapper h5 {
  color: #62566c !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  font-size: 1em !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding-left: 30px !important;
  padding-bottom: 6px !important;
  position: relative;
  margin-bottom: 18px !important;
}

body .entry-content h5::after,
body .editor-styles-wrapper h5::after {
  background: #d8c9f2;
  bottom: 0;
  content: "";
  height: 1px;
  left: 30px;
  position: absolute;
  right: 0;
}

body .entry-content h6,
body .editor-styles-wrapper h6 {
  color: #62566c !important;
  border-bottom: 1px dotted var(--limited-line) !important;
  letter-spacing: 0.08em !important;
  padding-left: 16px !important;
  padding-bottom: 8px !important;
  margin-top: 12px !important;
  margin-bottom: 24px !important;
}

@media (min-width: 922px) {
  body h1.entry-title {
    padding-left: 0;
  }

  body .entry-content h2,
  body .editor-styles-wrapper h2 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .entry-content p,
  body .entry-content ul:not(#ez-toc-container ul),
  body .entry-content ol,
  body .entry-content blockquote,
  body .entry-content .wp-block-list,
  body .entry-content .wp-block-quote {
    margin-left: 24px !important;
  }

  body .entry-content h3,
  body .editor-styles-wrapper h3 {
    padding-left: 30px !important;
  }

  body .entry-content h4,
  body .editor-styles-wrapper h4 {
    padding-left: 30px !important;
  }

  body .entry-content h5,
  body .editor-styles-wrapper h5 {
    padding-left: 30px !important;
  }

  body .entry-content h6,
  body .editor-styles-wrapper h6 {
    padding-left: 24px !important;
  }
}

body .entry-content a {
  color: var(--limited-main);
}

body .entry-content strong,
body .entry-content b,
body .editor-styles-wrapper strong,
body .editor-styles-wrapper b {
  color: var(--limited-heading) !important;
  font-weight: 700 !important;
}

body #ez-toc-widget-container,
body .ez-toc-widget-container {
  color: var(--limited-text);
  font-size: 85% !important;
}

body #ez-toc-widget-container .widget-title,
body .ez-toc-widget-container .widget-title,
body #ez-toc-widget-container .ez-toc-title-container,
body .ez-toc-widget-container .ez-toc-title-container,
body #ez-toc-widget-container .ez-toc-title-toggle,
body .ez-toc-widget-container .ez-toc-title-toggle {
  color: var(--limited-text) !important;
}

body #ez-toc-widget-container a,
body .ez-toc-widget-container a {
  color: var(--limited-text) !important;
  letter-spacing: 0 !important;
  line-height: 1.35;
}

body #ez-toc-widget-container li a::before,
body .ez-toc-widget-container li a::before {
  color: var(--limited-main) !important;
}

body #ez-toc-widget-container li,
body .ez-toc-widget-container li {
  list-style: none !important;
  margin-bottom: 3px !important;
}

body #ez-toc-widget-container li a,
body .ez-toc-widget-container li a {
  display: block;
  letter-spacing: 0 !important;
  line-height: 1.35;
  margin-bottom: 0 !important;
  padding-left: 1.45em;
  position: relative;
}

body #ez-toc-widget-container ul,
body .ez-toc-widget-container ul {
  margin-bottom: 0 !important;
}

body #ez-toc-widget-container ul ul,
body .ez-toc-widget-container ul ul {
  margin-top: 3px !important;
}

body #ez-toc-widget-container li a::before,
body .ez-toc-widget-container li a::before {
  left: 0;
  line-height: 1.35;
  position: absolute;
  text-align: right;
  top: 0;
  width: 1.1em;
}

body #ez-toc-widget-container li.ez-toc-heading-level-3,
body .ez-toc-widget-container li.ez-toc-heading-level-3 {
  display: list-item !important;
}

body #ez-toc-widget-container li.ez-toc-heading-level-4,
body .ez-toc-widget-container li.ez-toc-heading-level-4,
body #ez-toc-widget-container li.ez-toc-heading-level-5,
body .ez-toc-widget-container li.ez-toc-heading-level-5,
body #ez-toc-widget-container li.ez-toc-heading-level-6,
body .ez-toc-widget-container li.ez-toc-heading-level-6 {
  display: none !important;
}

@media (max-width: 544px) {
  body h1.entry-title {
    font-size: 19px !important;
    letter-spacing: 0.03em !important;
    padding-left: 0;
    margin-bottom: 12px;
  }

  body .entry-content p,
  body .entry-content ul:not(#ez-toc-container ul),
  body .entry-content ol,
  body .entry-content blockquote,
  body .entry-content .wp-block-list,
  body .entry-content .wp-block-quote {
    margin-left: 0 !important;
  }

  body .entry-content #ez-toc-container {
    padding: 12px;
    margin-bottom: 30px !important;
  }

  body .entry-content #ez-toc-container li a {
    line-height: 1.35;
    padding: 2px 0;
  }

  body .entry-content #ez-toc-container ul ul {
    margin-left: 0.8em;
    padding-left: 0.7em;
  }

  body .entry-content h2,
  body .editor-styles-wrapper h2 {
    padding: 11px 10px !important;
    margin-bottom: 26px !important;
  }

  body .entry-content h3,
  body .editor-styles-wrapper h3 {
    padding-left: 18px !important;
    margin-bottom: 22px !important;
  }

  body .entry-content h3::after,
  body .editor-styles-wrapper h3::after {
    left: 18px !important;
  }

  body .entry-content h4,
  body .editor-styles-wrapper h4 {
    padding-left: 18px !important;
    margin-bottom: 14px !important;
  }

  body .entry-content h4::before,
  body .editor-styles-wrapper h4::before {
    left: 8px !important;
  }

  body .entry-content h5,
  body .editor-styles-wrapper h5 {
    padding-left: 18px !important;
    margin-bottom: 18px !important;
  }

  body .entry-content h5::after,
  body .editor-styles-wrapper h5::after {
    left: 18px !important;
  }

  body .entry-content h6,
  body .editor-styles-wrapper h6 {
    padding-left: 18px !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
}

/* 関連記事をカテゴリーリンクと同じ見た目に統一 */
.ast-single-related-posts-container {
  background: #fff !important;
  border-top: 1px solid var(--limited-line) !important;
  border-bottom: 1px solid var(--limited-line) !important;
  margin-top: 36px !important;
  padding: 32px 0 !important;
}
.ast-related-posts-title-section,
.ast-related-posts-title {
  display: none !important;
}
.ast-related-posts-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 14px !important;
}
.ast-related-posts-wrapper .ast-related-post {
  width: auto !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.ast-related-posts-wrapper .ast-related-posts-inner-section,
.ast-related-posts-wrapper .ast-related-post-content,
.ast-related-posts-wrapper .related-entry-header,
.ast-related-posts-wrapper .ast-related-post-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.ast-related-posts-wrapper .ast-related-post-title a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  max-width: 100% !important;
  min-height: 41px !important;
  padding: .42em 1.45em !important;
  border: 1px solid var(--limited-main) !important;
  border-radius: 999px !important;
  background: var(--limited-main) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}
.ast-related-posts-wrapper .ast-related-post-title a:hover,
.ast-related-posts-wrapper .ast-related-post-title a:focus {
  background: #fff !important;
  border-color: var(--limited-main) !important;
  color: var(--limited-main) !important;
}
@media (max-width: 544px) {
  .ast-single-related-posts-container {
    padding: 24px 0 !important;
  }
  .ast-related-posts-wrapper {
    align-items: center !important;
    flex-direction: column !important;
  }
  .ast-related-posts-wrapper .ast-related-post,
  .ast-related-posts-wrapper .ast-related-post-title a {
    width: 100% !important;
  }
}

/* サイドバー目次の読みやすさ調整 */
#secondary .ez-toc-widget-container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--limited-text) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 30px !important;
  padding: 0 16px 0 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#secondary .ez-toc-widget-container .ez-toc-title-container {
  border: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
#secondary .ez-toc-widget-container .ez-toc-title {
  color: var(--limited-text) !important;
  display: inline !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
#secondary .ez-toc-widget-container .ez-toc-toggle,
#secondary .ez-toc-widget-container .ez-toc-btn {
  font-size: 13px !important;
}
#secondary .ez-toc-widget-container nav,
#secondary .ez-toc-widget-container ul.ez-toc-list,
#secondary .ez-toc-widget-container ul.ez-toc-list ul {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list ul {
  margin: .34em 0 .9em 1.45em !important;
  width: auto !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li,
#secondary .ez-toc-widget-container ul.ez-toc-list li.active {
  background: transparent !important;
  list-style: none !important;
  margin: 0 0 .52em !important;
  padding: 0 !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li a {
  border: 0 !important;
  border-radius: 4px !important;
  color: var(--limited-text) !important;
  display: block !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  padding: .08em .25em .24em 2.5em !important;
  position: relative !important;
  text-decoration: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li a::before {
  background: transparent !important;
  border: 0 !important;
  color: var(--limited-text) !important;
  display: block !important;
  font-weight: 400 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  text-align: right !important;
  top: .08em !important;
  width: 2em !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list-level-1 > li > a {
  border-bottom: 1px solid var(--limited-line) !important;
  font-weight: 400 !important;
  padding-bottom: .32em !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list-level-1 > li > ul a {
  border-bottom: 0 !important;
  color: rgba(68, 56, 77, .84) !important;
  font-size: .94em !important;
  font-weight: 400 !important;
  padding: .04em .2em .04em 0 !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list-level-1 > li > ul a::before {
  content: none !important;
  display: none !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li.active > a {
  background: rgba(184, 155, 232, .22) !important;
  color: var(--limited-text) !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li.active > a::before {
  color: var(--limited-text) !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li a:hover,
#secondary .ez-toc-widget-container ul.ez-toc-list li a:focus {
  background: var(--limited-main) !important;
  color: #fff !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li a:hover::before,
#secondary .ez-toc-widget-container ul.ez-toc-list li a:focus::before {
  color: #fff !important;
}

/* 全ページの最大横幅を1000pxに統一 */
.ast-container,
.site-content .ast-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-archive-description,
.ast-separate-container .ast-archive-entry-banner .ast-container,
.ast-separate-container .ast-author-box,
.ast-separate-container .ast-404-layout-1,
.ast-separate-container .no-results,
body.page .site-content > .ast-container,
body.single-post .site-content > .ast-container,
body.archive.category .site-content > .ast-container {
  max-width: 1000px !important;
}
@media (min-width: 922px) {
  body.ast-right-sidebar #primary,
  body.ast-left-sidebar #primary,
  body.ast-separate-container.ast-right-sidebar #primary,
  body.ast-separate-container.ast-left-sidebar #primary {
    width: 70% !important;
  }
  body.ast-right-sidebar #secondary,
  body.ast-left-sidebar #secondary,
  body.ast-separate-container.ast-right-sidebar #secondary,
  body.ast-separate-container.ast-left-sidebar #secondary {
    width: 30% !important;
  }
}

/* パンくずリストを本文幅に揃える */
body.archive.category .main-header-bar.ast-header-breadcrumb {
  display: none !important;
}
body.single-post .main-header-bar.ast-header-breadcrumb,
body.page:not(.home) .main-header-bar.ast-header-breadcrumb {
  display: block !important;
  width: 100% !important;
}
body.single-post .main-header-bar.ast-header-breadcrumb .ast-container,
body.page:not(.home) .main-header-bar.ast-header-breadcrumb .ast-container,
body.single-post .ast-header-breadcrumb .ast-breadcrumbs-wrapper,
body.page:not(.home) .ast-header-breadcrumb .ast-breadcrumbs-wrapper {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.single-post .main-header-bar.ast-header-breadcrumb .ast-container,
body.page:not(.home) .main-header-bar.ast-header-breadcrumb .ast-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
body.single-post .ast-header-breadcrumb .ast-breadcrumbs-wrapper,
body.page:not(.home) .ast-header-breadcrumb .ast-breadcrumbs-wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* カテゴリーページの説明幅と不要リンク調整 */
body.archive.category .ast-archive-entry-banner {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
body.archive.category .ast-archive-entry-banner .ast-container {
  max-width: 425px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
body.archive.category .ast-archive-entry-banner h1 {
  text-align: center !important;
}
body.archive.category .ast-archive-entry-banner p,
body.archive.category .ast-archive-entry-banner .ast-archive-description {
  text-align: left !important;
}
body.archive.category .ast-archive-entry-banner .ast-container::before,
body.archive.category .ast-archive-entry-banner .ast-archive-description::before {
  display: block !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* サイドバーの固定ページリンクを全ページで非表示 */
#secondary .wp-block-pages-list,
#secondary .wp-block-page-list,
#secondary .widget_pages,
#secondary .wp-block-pages-list__item {
  display: none !important;
}

/* トップページの表示調整 */
body.home .main-header-bar.ast-header-breadcrumb {
  display: none !important;
}
body.home .entry-content > h2.wp-block-heading:first-of-type {
  display: none !important;
}
body.home .entry-content > a[href*="/category/"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 220px !important;
  min-height: 41px !important;
  margin: .38rem .42rem !important;
  padding: .42em 1.45em !important;
  border: 1px solid var(--limited-main) !important;
  border-radius: 999px !important;
  background: var(--limited-main) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
body.home .entry-content > a[href$="/category/09/"] {
  margin-left: 128px !important;
}
body.home .entry-content > a[href*="/category/"]:hover,
body.home .entry-content > a[href*="/category/"]:focus {
  background: #fff !important;
  border-color: var(--limited-main) !important;
  color: var(--limited-main) !important;
}
@media (max-width: 544px) {
  body.home .entry-content > a[href*="/category/"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* 目次はH2まで表示 */
#ez-toc-container ul.ez-toc-list ul,
.ez-toc-container ul.ez-toc-list ul,
#secondary .ez-toc-widget-container ul.ez-toc-list ul {
  display: none !important;
}


/* === 2026-07-20: 記事一覧カード修正 === */
/* サムネイル画像は個別の枠線・角丸を外し、カード全体の非対称な角丸（意図的なデザイン）にそのまま任せる */
.ast-article-post .post-thumb-img-content .wp-post-image {
  border: none !important;
  border-radius: 0 !important;
}

/* 記事一覧・アーカイブのタイトル色を個別記事ページと統一する（紫ではなく本文と同じ濃いグレー） */
body .entry-title a {
  color: var(--limited-text) !important;
}

/* 記事一覧カード全体をクリック可能にする（タイトル・画像・カテゴリー・タグは個別にクリック可能なまま） */
.ast-article-post {
  position: relative;
}
.ast-article-post .mirai-archive-card-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: transparent !important;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.ast-article-post .mirai-archive-card-link:hover,
.ast-article-post .mirai-archive-card-link:focus,
.ast-article-post .mirai-archive-card-link:active,
.ast-article-post .mirai-archive-card-link:visited {
  background: transparent !important;
  outline: none !important;
}
.ast-article-post .cat-links,
.ast-article-post .tags-links,
.ast-article-post .entry-title,
.ast-article-post .ast-blog-featured-section {
  position: relative;
  z-index: 2;
}

/* 記事一覧カードの文字数表示（日付・updateと同じ並びで右揃え） */
.mirai-archive-sales-meta__charcount {
  color: #9a96a0;
  display: block;
}


/* === 2026-07-20: フッター・サイドの記事一覧の文字数を右揃えに === */
.mirai-sidebar-category-posts .mirai-all-category-posts__charcount,
.mirai-footer-category-posts .mirai-all-category-posts__charcount,
.mirai-mobile-menu-panel .mirai-all-category-posts__charcount {
  display: block;
  text-align: right;
  margin-left: 0;
}


/* ===================================================================
 * Mirai: functions.php の <style id="mirai-all-category-posts-style"> から移設（2026-08-21）
 *
 * もともとは wp_footer で出力していた1,898行。functions.php の中に
 * PHPと混在していたため、CSSだけをここへ出した。PHPは含まれていない。
 *
 * 読み込み位置がフッター（最後）から style.css（先頭寄り）へ変わる。
 * 6ページ × 375/1280px で全要素の computed style（39項目）と座標を
 * 比較し、差分ゼロを確認してから移した。
 * =================================================================== */

		.mirai-all-category-posts { text-align: left; }
		.mirai-all-category-posts__thumb { aspect-ratio: 16 / 9; background: var(--limited-line, #3a3244); border-radius: 8px; display: block; margin: 0 0 8px; overflow: hidden; width: 100%; }
		.mirai-all-category-posts__thumb img { display: block; height: 100%; object-fit: contain; width: 100%; }
		.mirai-all-category-posts__thumb--empty { align-items: center; color: var(--limited-main, #b89be8); display: flex; font-size: 1.6rem; justify-content: center; }
		.mirai-all-category-posts__title { font-size: .85rem; }
		.mirai-update-feed { margin: 0 0 28px; text-align: left; }
		.mirai-update-feed__heading { color: var(--limited-main, #b89be8) !important; font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0 0 14px; text-align: left; }
		.mirai-update-feed__pager { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; }
		.mirai-update-feed__pager a { background: var(--mirai-panel, #221c28); border: 1px solid var(--limited-main, #b89be8); border-radius: 999px; color: var(--limited-main, #b89be8) !important; font-size: .85rem; padding: .35em 1.1em; text-decoration: none !important; }
		.mirai-update-feed__pager a.is-current { background: var(--limited-main, #b89be8); color: #fff !important; }
		.mirai-update-feed .mirai-all-category-posts__items { display: grid; gap: 20px; }
		.mirai-update-feed--front .mirai-all-category-posts__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.mirai-update-feed--sidebar .mirai-all-category-posts__items,
		.mirai-update-feed--mobile .mirai-all-category-posts__items { grid-template-columns: 1fr; }
		.mirai-update-feed--sidebar .mirai-all-category-posts__item a,
		.mirai-update-feed--sidebar .mirai-all-category-posts__postmeta,
		.mirai-update-feed--mobile .mirai-all-category-posts__item a,
		.mirai-update-feed--mobile .mirai-all-category-posts__postmeta { width: 100% !important; }
		@media (max-width: 780px) {
			.mirai-update-feed--front .mirai-all-category-posts__items { grid-template-columns: 1fr; }
		}
		.mirai-keyword-cloud { margin: 28px 0 0; text-align: left; }
		.mirai-keyword-cloud__title,
		#secondary .widget_tag_cloud .widget-title,
		#secondary .widget_tag_cloud .mirai-keyword-cloud__title { color: var(--limited-main, #b89be8) !important; font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0 0 12px; text-align: left; }
		.mirai-keyword-cloud__links,
		#secondary .wp-block-tag-cloud,
		#secondary .tagcloud { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px; line-height: 1.5; margin: 0; }
		.mirai-keyword-cloud__link,
		#secondary .wp-block-tag-cloud a,
		#secondary .tagcloud a { background: var(--mirai-panel, #221c28) !important; background-image: none !important; border: 1px solid var(--limited-main, #b89be8) !important; border-radius: 999px !important; color: var(--limited-main, #b89be8) !important; display: inline-flex !important; font-size: .92rem !important; line-height: 1.5 !important; padding: .22em .8em !important; text-decoration: none !important; white-space: nowrap; }
		.mirai-keyword-cloud__link:hover,
		.mirai-keyword-cloud__link:focus,
		#secondary .wp-block-tag-cloud a:hover,
		#secondary .wp-block-tag-cloud a:focus,
		#secondary .tagcloud a:hover,
		#secondary .tagcloud a:focus { background: var(--limited-main, #b89be8) !important; background-image: none !important; color: #fff !important; }
		body .entry-content .mirai-keyword-cloud__link,
		body .entry-content .mirai-keyword-cloud__link:hover,
		body .entry-content .mirai-keyword-cloud__link:focus,
		body .entry-content a.mirai-keyword-cloud__link,
		body .entry-content a.mirai-keyword-cloud__link:hover,
		body .entry-content a.mirai-keyword-cloud__link:focus,
		body .entry-content a.mirai-keyword-cloud__link:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
		body .entry-content a.mirai-keyword-cloud__link:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
		body .entry-content a.mirai-keyword-cloud__link:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus { background-image: none !important; text-decoration: none !important; }
		/* Mirai top page width */
		body.home #primary,
		body.page-id-1093 #primary { width: 100% !important; max-width: 100% !important; padding-right: 0 !important; }
		body.home #secondary,
		body.page-id-1093 #secondary { display: none !important; }
		body.home .site-content .ast-container,
		body.page-id-1093 .site-content .ast-container { display: block !important; }
		#secondary { margin-top: 0 !important; }
		#secondary .sidebar-main { margin-top: 0 !important; padding-top: 0 !important; }
		/* Mirai remove empty sidebar widgets */
		#secondary .widget:has(.wp-block-page-list),
		#secondary .widget:has(.wp-block-group:empty),
		#secondary .widget:has(.wp-block-group.is-nowrap:empty) { display: none !important; margin: 0 !important; padding: 0 !important; }
		#secondary .mirai-category-menu { margin-top: 0 !important; }
		body.category #secondary .mirai-sidebar-category-posts { margin-top: 118px !important; }
		body.category #primary > .ast-archive-entry-banner { background: var(--mirai-panel, #221c28); margin: 0 0 42px; padding: 0 0 18px; text-align: center; width: 100%; }
		body.category #primary > .ast-archive-entry-banner .ast-container { display: block !important; margin: 0 auto !important; max-width: 520px !important; padding: 0 !important; text-align: center; width: 100% !important; }
		body.category #primary > .ast-archive-entry-banner h1 { color: var(--limited-main, #b89be8) !important; margin: 0 0 24px; text-align: center; }
		body.category #primary > .ast-archive-entry-banner .taxonomy-description { color: var(--limited-text, #cfc6da); line-height: 1.9; margin: 0 auto; max-width: 520px; text-align: left; }
		body.tag .ast-archive-entry-banner { background: var(--mirai-panel, #221c28); margin: 0 0 42px; padding: 0 0 18px; text-align: center; width: 100%; }
		body.tag .ast-archive-entry-banner .ast-container { display: block !important; margin: 0 auto !important; max-width: 520px !important; padding: 0 !important; text-align: center; width: 100% !important; }
		body.tag .ast-archive-entry-banner h1 { color: var(--limited-main, #b89be8) !important; margin: 0 0 24px; text-align: center; }
		body.tag .ast-archive-entry-banner h1::before { color: var(--limited-main, #b89be8); content: 'タグ'; display: block; font-size: .82rem; font-weight: 500; line-height: 1.4; margin: 0 0 12px; text-align: center; }
		body.tag .ast-archive-entry-banner .taxonomy-description { color: var(--limited-text, #cfc6da); line-height: 1.9; margin: 0 auto; max-width: 520px; text-align: left; }
		body.category article .entry-footer .tags-links,
		body.tag article .entry-footer .tags-links,
		body.category article footer.entry-footer,
		body.tag article footer.entry-footer { display: none !important; }
		#secondary .widget:has(.mirai-sidebar-category-posts) { padding: 0 !important; margin: 0 !important; }
		#secondary .mirai-all-category-posts { margin-top: 0; padding-right: 0; text-align: left !important; }
		#secondary .mirai-sidebar-category-posts,
		#secondary .mirai-all-category-posts__group,
		#secondary .mirai-all-category-posts__items,
		#secondary .mirai-all-category-posts__item { text-align: left !important; }
		.mirai-all-category-posts__group { margin: 0 0 18px; }
		.mirai-all-category-posts__category { align-items: center; background: var(--limited-main, #b89be8); border: 1px solid var(--limited-main, #b89be8); border-radius: 999px; box-sizing: border-box; color: #fff !important; display: flex; font-size: 1rem; justify-content: center; line-height: 1.35; margin: 0 0 9px; min-height: 36px; padding: .28em 1.2em; text-align: center; text-decoration: none !important; white-space: nowrap; width: 100%; }
		.mirai-all-category-posts__category:hover,
		.mirai-all-category-posts__category:focus { background: var(--mirai-panel, #221c28) !important; border-color: var(--limited-main, #b89be8) !important; color: var(--limited-main, #b89be8) !important; }
		.mirai-all-category-posts__items { display: grid; gap: 20px; }
		.mirai-all-category-posts__item { display: block; line-height: 1.55; }
		.mirai-all-category-posts__item a { border-bottom: 1px dotted var(--mirai-line, #3a3244); border-radius: 4px; color: var(--limited-text, #cfc6da) !important; display: block; font-size: 15px; line-height: 1.55; padding: .08em 14px .08em .25em; text-align: left; text-decoration: none !important; width: 100%; box-sizing: border-box; }
			#secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a,
			#secondary .mirai-all-category-posts__item a,
			#secondary .mirai-sidebar-category-posts .mirai-all-category-posts__postmeta,
			#secondary .mirai-all-category-posts__postmeta { box-sizing: border-box !important; padding-right: 10px !important; width: calc(100% - 30px) !important; }
			#secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__title,
			#secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__charcount,
			#secondary .mirai-all-category-posts__item a .mirai-all-category-posts__title,
			#secondary .mirai-all-category-posts__item a .mirai-all-category-posts__charcount { box-sizing: border-box !important; display: block !important; margin-left: 0 !important; width: 100% !important; }
			#secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__charcount,
			#secondary .mirai-all-category-posts__item a .mirai-all-category-posts__charcount { padding-right: 0 !important; text-align: right !important; }
		.mirai-all-category-posts__item a:hover,
		.mirai-all-category-posts__item a:focus { background: var(--mirai-link-hover-bg, #2a2332); color: var(--limited-text, #cfc6da) !important; }
		.mirai-all-category-posts__postmeta { box-sizing: border-box; color: var(--mirai-muted, #9a8fa8); display: block; font-size: .78rem; line-height: 1.55; margin: .25em 0 0; text-align: right; white-space: normal; width: 100%; }
		.mirai-all-category-posts__meta { color: var(--mirai-muted, #9a8fa8); display: block; }
		.mirai-all-category-posts__charcount { color: var(--mirai-muted, #9a8fa8); display: inline; font-size: .78rem; margin-left: .6em; white-space: nowrap; }
		.mirai-total-char-count { color: var(--mirai-muted, #9a8fa8); font-size: .85rem; margin: 0 0 16px; text-align: left; }
		.mirai-all-category-posts__update { color: var(--limited-main, #b89be8); display: block; }
		.mirai-all-category-posts__new,
		.mirai-archive-sales-meta__new,
		.mirai-single-sales-meta__new { background: transparent; border-radius: 0; color: var(--limited-main, #b89be8) !important; display: inline; font-size: inherit; line-height: inherit; margin-right: .55em; padding: 0; text-transform: lowercase; vertical-align: baseline; }
		.mirai-archive-sales-meta,
		.mirai-single-sales-meta { color: var(--mirai-muted, #9a8fa8); display: block; font-size: .82rem; line-height: 1.5; margin: 4px 0 10px; position: static; text-align: right; }
		.mirai-single-sales-meta { margin: 8px 0 18px; }
		.mirai-archive-sales-meta__update,
		.mirai-single-sales-meta__update { color: var(--limited-main, #b89be8); display: block; }
		.mirai-all-category-posts__empty { color: rgba(207, 198, 218, .55); font-size: .9rem; margin: 0; }
		.mirai-front-category-posts { margin: 24px auto 0; max-width: 760px; text-align: left; }
		.mirai-front-category-posts .mirai-all-category-posts { display: block; }
		.mirai-front-category-posts .mirai-all-category-posts__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.mirai-front-category-posts .mirai-all-category-posts__item,
		.mirai-update-feed--front .mirai-all-category-posts__item { box-sizing: border-box !important; display: block !important; max-width: 100% !important; width: 100% !important; }
		.mirai-front-category-posts .mirai-all-category-posts__item a,
		.mirai-front-category-posts .mirai-all-category-posts__charcount,
		.mirai-update-feed--front .mirai-all-category-posts__item a,
		.mirai-update-feed--front .mirai-all-category-posts__charcount { background-image: none !important; box-sizing: border-box !important; display: block !important; max-width: 100% !important; padding: 0 !important; width: 100% !important; }
		.mirai-front-category-posts .mirai-all-category-posts__title,
		.mirai-front-category-posts .mirai-all-category-posts__charcount,
		.mirai-update-feed--front .mirai-all-category-posts__title,
		.mirai-update-feed--front .mirai-all-category-posts__charcount { display: block !important; margin-left: 0 !important; width: 100% !important; }
		.mirai-front-category-posts .mirai-all-category-posts__charcount,
		.mirai-update-feed--front .mirai-all-category-posts__charcount { text-align: right !important; }
		.mirai-front-category-posts .mirai-all-category-posts__item a:hover,
		.mirai-front-category-posts .mirai-all-category-posts__item a:focus,
		.mirai-update-feed--front .mirai-all-category-posts__item a:hover,
		.mirai-update-feed--front .mirai-all-category-posts__item a:focus { background: transparent !important; background-image: none !important; }
		body .entry-content .mirai-front-category-posts .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
		body .entry-content .mirai-front-category-posts .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
		body .entry-content .mirai-front-category-posts .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus,
		body .entry-content .mirai-update-feed--front .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb),
		body .entry-content .mirai-update-feed--front .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):hover,
		body .entry-content .mirai-update-feed--front .mirai-all-category-posts__item a:not(.wp-block-button__link):not(.ez-toc-link):not(#ez-toc-container a):not(.mirai-all-category-posts__category):not(.mirai-single-related__title):not(.mirai-single-related__thumb):focus { background-image: none !important; }
		.mirai-footer-category-posts { border-top: 1px solid var(--limited-line, #3a3244); margin: 32px auto 0; max-width: 1000px; padding: 28px 20px; text-align: left; }
		.mirai-footer-category-posts__heading { border: 0 !important; color: var(--limited-main, #b89be8) !important; font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0 0 18px; padding: 0 !important; text-align: left; }
		.mirai-footer-category-posts .mirai-all-category-posts { display: grid; gap: 22px 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
		.mirai-footer-category-posts .mirai-all-category-posts__category { color: #fff !important; }
		.mirai-footer-category-posts .mirai-all-category-posts__category:visited { color: #fff !important; }
		.mirai-footer-category-posts .mirai-all-category-posts__category:hover,
		.mirai-footer-category-posts .mirai-all-category-posts__category:focus { background: var(--mirai-panel, #221c28) !important; border-color: var(--limited-main, #b89be8) !important; color: var(--limited-main, #b89be8) !important; }
		.mirai-footer-category-posts .mirai-all-category-posts__item a { font-size: .92rem; }
		.mirai-front-category-posts .mirai-all-category-posts__category:hover,
		.mirai-front-category-posts .mirai-all-category-posts__category:focus,
		.mirai-sidebar-category-posts .mirai-all-category-posts__category:hover,
		.mirai-sidebar-category-posts .mirai-all-category-posts__category:focus { background: var(--mirai-panel, #221c28) !important; border-color: var(--limited-main, #b89be8) !important; color: var(--limited-main, #b89be8) !important; }
		.ast-single-related-posts-container { display: none !important; }
		.mirai-single-related { border-top: 1px solid var(--limited-line, #3a3244); margin: 64px 0 0; padding-top: 32px; text-align: left; }
		.mirai-single-related__heading { background: transparent !important; border: 0 !important; color: var(--limited-main, #b89be8) !important; font-size: 1rem !important; font-weight: 600; letter-spacing: 0 !important; line-height: 1.5; margin: 0 0 18px !important; padding: 0 !important; text-align: left; }

		.mirai-single-related .mirai-single-related__heading { background: transparent !important; border: 0 !important; color: var(--limited-main, #b89be8) !important; font-size: 1rem !important; font-weight: 600 !important; letter-spacing: 0 !important; line-height: 1.5 !important; margin: 0 0 18px !important; padding: 0 !important; }
		.mirai-single-related__grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.mirai-single-related__card { align-items: center; display: grid; gap: 14px; grid-template-columns: 96px minmax(0, 1fr); min-width: 0; }
		.mirai-single-related__thumb { align-items: center; aspect-ratio: 1 / 1; background: var(--mirai-panel, #221c28); border: 1px solid var(--limited-line, #3a3244); border-radius: 8px; display: flex; justify-content: center; overflow: hidden; text-decoration: none !important; width: 96px; }
		.mirai-single-related__thumb-img { height: 100%; object-fit: cover; width: 100%; }
		.mirai-single-related__thumb-placeholder { color: var(--limited-main, #b89be8); font-size: 1.6rem; line-height: 1; }
		.mirai-single-related__title { border-bottom: 1px dotted var(--mirai-line, #3a3244); color: var(--limited-text, #cfc6da) !important; font-size: .95rem; line-height: 1.65; text-decoration: none !important; }
		.mirai-single-related__title:hover,
		.mirai-single-related__title:focus { background: var(--mirai-link-hover-bg, #2a2332); color: var(--limited-text, #cfc6da) !important; }
		@media (max-width: 780px) { .mirai-single-related__grid { grid-template-columns: 1fr; } }
		@media (max-width: 780px) {
			.mirai-footer-category-posts .mirai-all-category-posts { grid-template-columns: 1fr; }
			.mirai-front-category-posts .mirai-all-category-posts__items { grid-template-columns: 1fr; }
			.mirai-front-category-posts .mirai-all-category-posts__category { width: 100%; }
		}
		
		/* Mirai category pill normal states: keep text visible. */
		a.mirai-all-category-posts__category,
		a.mirai-all-category-posts__category:visited,
		.mirai-all-category-posts a.mirai-all-category-posts__category,
		.mirai-all-category-posts a.mirai-all-category-posts__category:visited,
		.mirai-front-category-posts a.mirai-all-category-posts__category,
		.mirai-front-category-posts a.mirai-all-category-posts__category:visited,
		.mirai-sidebar-category-posts a.mirai-all-category-posts__category,
		.mirai-sidebar-category-posts a.mirai-all-category-posts__category:visited,
		.mirai-footer-category-posts a.mirai-all-category-posts__category,
		.mirai-footer-category-posts a.mirai-all-category-posts__category:visited {
			align-items: center !important;
			background: var(--limited-main, #b89be8) !important;
			background-image: none !important;
			border: 1px solid var(--limited-main, #b89be8) !important;
			border-radius: 999px !important;
			box-sizing: border-box !important;
			color: #fff !important;
			display: inline-flex !important;
			-webkit-text-fill-color: #fff !important;
			justify-content: center !important;
			line-height: 1.1 !important;
			min-height: 42px !important;
			opacity: 1 !important;
			padding: 0 1.2em !important;
			text-decoration: none !important;
		}

		/* Mirai category pill hover: keep same size and shape. */
		a.mirai-all-category-posts__category:hover,
		a.mirai-all-category-posts__category:focus,
		.mirai-all-category-posts a.mirai-all-category-posts__category:hover,
		.mirai-all-category-posts a.mirai-all-category-posts__category:focus,
		.mirai-front-category-posts a.mirai-all-category-posts__category:hover,
		.mirai-front-category-posts a.mirai-all-category-posts__category:focus,
		.mirai-sidebar-category-posts a.mirai-all-category-posts__category:hover,
		.mirai-sidebar-category-posts a.mirai-all-category-posts__category:focus,
		.mirai-footer-category-posts a.mirai-all-category-posts__category:hover,
		.mirai-footer-category-posts a.mirai-all-category-posts__category:focus {
			align-items: center !important;
			background: var(--mirai-panel, #221c28) !important;
			background-image: none !important;
			border: 1px solid var(--limited-main, #b89be8) !important;
			border-radius: 999px !important;
			box-sizing: border-box !important;
			color: var(--limited-main, #b89be8) !important;
			display: inline-flex !important;
			-webkit-text-fill-color: var(--limited-main, #b89be8) !important;
			justify-content: center !important;
			line-height: 1.1 !important;
			min-height: 42px !important;
			opacity: 1 !important;
			padding: 0 1.2em !important;
			text-decoration: none !important;
		}

		@media (max-width: 780px) {
			.mirai-front-category-posts,
			.mirai-front-category-posts .mirai-all-category-posts,
			.mirai-front-category-posts .mirai-all-category-posts__group { box-sizing: border-box; max-width: 100% !important; width: 100% !important; }
			.mirai-front-category-posts .mirai-all-category-posts__items { box-sizing: border-box; width: 100%; }
			.mirai-front-category-posts .mirai-all-category-posts__category,
			.mirai-front-category-posts .mirai-all-category-posts__item a,
			.mirai-front-category-posts .mirai-all-category-posts__postmeta { box-sizing: border-box; max-width: 100% !important; width: 100% !important; }
		}

		@media (max-width: 780px) {
			body.single-post #secondary .widget.ez-toc,
			body.page #secondary .widget.ez-toc,
			body.single-post #secondary [id^="ezw_tco"],
			body.page #secondary [id^="ezw_tco"],
			body:not(.home):not(.page-id-1093) #secondary .mirai-sidebar-category-posts,
			#secondary .wp-block-page-list { display: none !important; }
			.mirai-mobile-menu-toggle { display: none !important; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle,
			.menu-toggle.mirai-mobile-attached-toggle { align-items: center !important; background: var(--limited-main, #b89be8) !important; border: 1px solid var(--limited-main, #b89be8) !important; border-radius: 8px !important; box-shadow: 0 6px 18px var(--mirai-shadow, rgba(0, 0, 0, .45)) !important; color: #fff !important; display: inline-flex !important; height: 44px !important; justify-content: center !important; line-height: 1 !important; margin: 0 !important; min-width: 44px !important; padding: 0 !important; position: fixed !important; right: 16px !important; top: 14px !important; width: 44px !important; z-index: 2147483647 !important; }
			body.admin-bar .main-header-menu-toggle.mirai-mobile-attached-toggle,
			body.admin-bar .menu-toggle.mirai-mobile-attached-toggle { top: 60px !important; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle.is-open,
			.menu-toggle.mirai-mobile-attached-toggle.is-open { background: var(--mirai-panel, #221c28) !important; color: var(--limited-main, #b89be8) !important; }
			.mirai-mobile-menu-panel { background: var(--mirai-panel, #221c28); border: 1px solid var(--limited-line, #3a3244); border-radius: 8px; box-shadow: 0 10px 28px var(--mirai-shadow, rgba(0, 0, 0, .45)); box-sizing: border-box; max-height: calc(100vh - 128px); opacity: 0; overflow-y: auto; padding: 20px 18px 24px; pointer-events: none; position: fixed; right: 16px; top: 66px; transform: translateY(-8px); transition: opacity .18s ease, transform .18s ease; width: min(340px, calc(100vw - 32px)); z-index: 2147483646; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle,
			.menu-toggle.mirai-mobile-attached-toggle { position: fixed !important; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle .ast-menu-svg,
			.menu-toggle.mirai-mobile-attached-toggle .ast-menu-svg { display: block !important; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle .ast-close-svg,
			.menu-toggle.mirai-mobile-attached-toggle .ast-close-svg { display: none !important; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle.is-open .ast-menu-svg,
			.menu-toggle.mirai-mobile-attached-toggle.is-open .ast-menu-svg,
			.main-header-menu-toggle.mirai-mobile-attached-toggle.is-open .mobile-menu-toggle-icon,
			.menu-toggle.mirai-mobile-attached-toggle.is-open .mobile-menu-toggle-icon,
			.main-header-menu-toggle.mirai-mobile-attached-toggle.is-open svg,
			.menu-toggle.mirai-mobile-attached-toggle.is-open svg { display: none !important; }
			.main-header-menu-toggle.mirai-mobile-attached-toggle.is-open::before,
			.menu-toggle.mirai-mobile-attached-toggle.is-open::before { align-items: center; content: '×'; display: inline-flex; font-size: 28px; height: 44px; justify-content: center; line-height: 1; width: 44px; }
			body.admin-bar .mirai-mobile-menu-panel { max-height: calc(100vh - 174px); top: 112px; }
			.mirai-mobile-menu-panel.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
			.mirai-mobile-menu-panel__title { border-bottom: 1px solid var(--limited-line, #3a3244); color: var(--limited-main, #b89be8); font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0 0 14px; padding: 0 0 8px; }
			.mirai-mobile-menu-panel__title--sub { margin-top: 24px; }
			.mirai-mobile-common-links { display: grid; gap: 10px; margin: 0 0 24px; }
			.mirai-mobile-common-links a { align-items: center; border: 1px solid var(--limited-line, #3a3244); border-radius: 8px; box-sizing: border-box; color: var(--limited-text, #cfc6da) !important; display: flex !important; font-size: .92rem; justify-content: space-between; line-height: 1.6; padding: 10px 12px !important; text-decoration: none !important; width: 100%; }
			.mirai-mobile-common-links a:hover,
			.mirai-mobile-common-links a:focus { background: var(--mirai-link-hover-bg, #2a2332) !important; border-color: var(--limited-line, #3a3244) !important; color: var(--limited-text, #cfc6da) !important; }
			.mirai-mobile-menu-panel .ez-toc,
			.mirai-mobile-menu-panel .ez-toc-widget-container { box-shadow: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
			.mirai-mobile-menu-panel .widget-title { color: var(--limited-main, #b89be8); font-size: 1rem; font-weight: 600; }
			.mirai-mobile-menu-panel nav a,
			.mirai-mobile-menu-panel .ez-toc-link { background: var(--mirai-panel, #221c28) !important; border-bottom: 1px solid var(--limited-line, #3a3244); border-radius: 0 !important; color: var(--limited-text, #cfc6da) !important; display: block; font-size: .92rem; line-height: 1.65; margin: 0 0 6px; padding: .45em .25em !important; text-decoration: none !important; }
			.mirai-mobile-menu-panel nav a:hover,
			.mirai-mobile-menu-panel nav a:focus,
			.mirai-mobile-menu-panel .ez-toc-link:hover,
			.mirai-mobile-menu-panel .ez-toc-link:focus { background: var(--mirai-soft, #241f2c) !important; color: var(--mirai-link, #cfc6da) !important; }

			.mirai-mobile-menu-panel .ez-toc-list li,
			.mirai-mobile-menu-panel .ez-toc-list ul,
			.mirai-mobile-menu-panel .ez-toc-list ol { background: transparent !important; }
			.mirai-mobile-menu-panel .ez-toc-link.ez-toc-current,
			.mirai-mobile-menu-panel .ez-toc-link.active,
			.mirai-mobile-menu-panel .ez-toc-link:visited { background: var(--mirai-panel, #221c28) !important; color: var(--limited-text, #cfc6da) !important; }
			.mirai-mobile-menu-panel .mirai-all-category-posts__category,
			.mirai-mobile-menu-panel .mirai-all-category-posts__item a,
			.mirai-mobile-menu-panel .mirai-all-category-posts__postmeta { width: 100% !important; }
			.mirai-mobile-menu-panel .mirai-all-category-posts__items { padding-left: 14px; }
		}

		@media (max-width: 780px) {
			.mirai-mobile-menu-panel .widget-title,
			.mirai-mobile-menu-panel .ez-toc-title-container,
			.mirai-mobile-menu-panel .ez-toc-title-toggle { display: none !important; }
		}

		@media (max-width: 780px) {
			.mirai-footer-category-posts { box-sizing: border-box; padding-left: 20px; padding-right: 20px; text-align: center; }
			.mirai-footer-category-posts__heading { text-align: left; }
			.mirai-footer-category-posts .mirai-all-category-posts { justify-items: center; width: 100%; }
			.mirai-footer-category-posts .mirai-all-category-posts__group { box-sizing: border-box; max-width: 350px; text-align: center; width: 100%; }
			.mirai-footer-category-posts .mirai-all-category-posts__category,
			.mirai-footer-category-posts .mirai-all-category-posts__item a,
			.mirai-footer-category-posts .mirai-all-category-posts__postmeta { box-sizing: border-box; max-width: 350px !important; width: 100% !important; }
			.mirai-footer-category-posts .mirai-all-category-posts__items { box-sizing: border-box; padding-left: 0; width: 100%; }
		}

		body.archive .ast-related-posts-title,
		body.archive .ast-single-related-posts-container,
		body.archive .ast-related-post,
		body.category .ast-related-posts-title,
		body.category .ast-single-related-posts-container,
		body.category .ast-related-post { display: none !important; }

		@media (max-width: 780px) {
			body .mirai-mobile-menu-toggle { bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important; left: auto !important; position: fixed !important; right: 16px !important; top: auto !important; transform: translateZ(0); z-index: 2147483647 !important; }
			body .mirai-mobile-menu-panel { bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important; left: auto !important; position: fixed !important; right: 16px !important; top: auto !important; transform: translateY(12px) translateZ(0); z-index: 2147483646 !important; }
			body .mirai-mobile-menu-panel.is-open { transform: translateY(0) translateZ(0); }
		}

		@media (max-width: 780px) {
			body.category .site-content .ast-container { padding-top: 0 !important; }
			body.category #primary { margin-top: 0 !important; padding-top: 20px !important; }
			body.category #primary > .ast-archive-entry-banner { margin-bottom: 28px !important; padding-top: 28px !important; padding-bottom: 14px !important; }
			body.category #primary > .ast-archive-entry-banner h1 { margin-bottom: 18px !important; }
		}

	
		body.archive.tag .ast-archive-entry-banner h1,
		body.archive.tag .ast-archive-entry-banner .ast-container h1,
		body.tag .ast-archive-entry-banner h1 { color: var(--limited-main, #b89be8) !important; -webkit-text-fill-color: var(--limited-main, #b89be8) !important; }
		body.archive.tag .ast-archive-entry-banner h1::before,
		body.archive.tag .ast-archive-entry-banner .ast-container h1::before,
		body.tag .ast-archive-entry-banner h1::before { color: var(--limited-main, #b89be8) !important; -webkit-text-fill-color: var(--limited-main, #b89be8) !important; content: 'タグ' !important; display: block; font-size: .82rem; font-weight: 500; line-height: 1.4; margin: 0 0 12px; text-align: center; }

		/* Mirai: archive/tag cards — full-width thumbnail on top, title below, no excerpt. */
		body.category #primary article .ast-article-inner,
		body.tag #primary article .ast-article-inner { display: flex !important; flex-direction: column !important; }
		body.category #primary article .post-content,
		body.tag #primary article .post-content { display: contents !important; }
		body.category #primary article .ast-blog-featured-section,
		body.tag #primary article .ast-blog-featured-section { border-radius: 8px; display: block !important; height: auto !important; margin: 0 0 14px !important; max-width: 100% !important; order: 1; overflow: hidden; width: 100% !important; }
		body.category #primary article .ast-blog-featured-section img,
		body.tag #primary article .ast-blog-featured-section img { aspect-ratio: 16 / 9; border-radius: 8px; display: block; height: auto !important; object-fit: contain; width: 100% !important; }
		body.category #primary article .entry-title,
		body.tag #primary article .entry-title { margin: 0 0 4px !important; order: 2; width: 100%; }
		body.category #primary article .mirai-archive-sales-meta,
		body.tag #primary article .mirai-archive-sales-meta { margin: 4px 0 0 !important; order: 3; text-align: right !important; width: 100% !important; }
		body.category #primary article .entry-content,
		body.category #primary article .entry-summary,
		body.category #primary article .ast-excerpt-container,
		body.tag #primary article .entry-content,
		body.tag #primary article .entry-summary,
		body.tag #primary article .ast-excerpt-container { display: none !important; }
		.mirai-archive-sales-meta__charcount { color: var(--mirai-muted, #9a8fa8); display: inline; font-size: .78rem; margin-left: .6em; white-space: nowrap; }

		body.category .ast-archive-entry-banner h1::before,
		body.archive.category .ast-archive-entry-banner h1::before,
		body.category #primary > .ast-archive-entry-banner h1::before { color: var(--limited-main, #b89be8) !important; -webkit-text-fill-color: var(--limited-main, #b89be8) !important; content: 'カテゴリー' !important; display: block; font-size: .82rem; font-weight: 500; line-height: 1.4; margin: 0 0 12px; text-align: center; }
		body.category article .tags-links,
		body.tag article .tags-links,
		body.category article .cat-links,
		body.tag article .cat-links,
		body.category article .posted-on,
		body.tag article .posted-on,
		body.category article .entry-meta,
		body.tag article .entry-meta,
		body.category article .ast-blog-meta-container,
		body.tag article .ast-blog-meta-container,
		body.category article footer.entry-footer,
		body.tag article footer.entry-footer { display: none !important; }



/* Mirai: keep TOC numbers from overlapping link text on mobile. */
@media (max-width: 780px) {
  .ez-toc-list a.ez-toc-link {
    align-items: flex-start !important;
    display: flex !important;
    gap: 8px !important;
  }
  .ez-toc-list a.ez-toc-link::before {
    flex: 0 0 2.2em !important;
    min-width: 2.2em !important;
    text-align: right !important;
  }
  .ez-toc-list-level-3 a.ez-toc-link::before,
  .ez-toc-list-level-4 a.ez-toc-link::before {
    flex-basis: 1.8em !important;
    min-width: 1.8em !important;
  }
  .ez-toc-list a.ez-toc-link img.emoji {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
  }
}

	

/* Mirai: H3 and deeper TOC items do not use numbers. */
@media (max-width: 780px) {
  .ez-toc-heading-level-3 > a.ez-toc-link::before,
  .ez-toc-heading-level-4 > a.ez-toc-link::before,
  .ez-toc-heading-level-5 > a.ez-toc-link::before,
  .ez-toc-heading-level-6 > a.ez-toc-link::before {
    content: none !important;
    display: none !important;
    flex-basis: 0 !important;
    min-width: 0 !important;
    width: 0 !important;
  }
  .ez-toc-heading-level-3 > a.ez-toc-link,
  .ez-toc-heading-level-4 > a.ez-toc-link,
  .ez-toc-heading-level-5 > a.ez-toc-link,
  .ez-toc-heading-level-6 > a.ez-toc-link {
    gap: 6px !important;
  }
}

	

/* Mirai: archive card corners round only the thumbnail, never clip the title. */
body.category #primary article,
body.tag #primary article {
  border-radius: 0 !important;
  overflow: visible !important;
}
body.category #primary article .entry-title,
body.tag #primary article .entry-title {
  padding-left: 0 !important;
  overflow: visible !important;
}

	

/* Mirai: hamburger menu TOC — same flat, unnumbered look as the in-article TOC. */
@media (max-width: 780px) {
  .mirai-mobile-menu-panel .mirai-mobile-toc-list {
    list-style: none !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
  }
  .mirai-mobile-menu-panel .mirai-mobile-toc-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .mirai-mobile-menu-panel .mirai-mobile-toc-list a {
    background: var(--mirai-panel, #221c28) !important;
    border-bottom: 1px solid var(--limited-line, #3a3244) !important;
    color: var(--limited-text, #cfc6da) !important;
    display: block !important;
    font-size: .92rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    padding: .5em .25em !important;
    text-decoration: none !important;
  }
  .mirai-mobile-menu-panel .mirai-mobile-toc-list a:hover,
  .mirai-mobile-menu-panel .mirai-mobile-toc-list a:focus {
    background: var(--mirai-soft, #241f2c) !important;
    color: var(--mirai-link, #cfc6da) !important;
  }
}

/* Mirai: single post title must wrap inside the viewport on mobile. */
@media (max-width: 780px) {
  body.single-post h1.entry-title,
  body.single-post .entry-title,
  body.ast-single-post h1.entry-title {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    padding-right: 64px !important;
    white-space: normal !important;
    word-break: normal !important;
  }
}

/* Mirai: keep sidebar and drawer TOC calm, matching the in-article TOC. */
#secondary .ez-toc,
#secondary [id^="ezw_tco"],
#secondary .ez-toc-widget-container,
#secondary .widget.ez-toc {
  background: var(--mirai-panel, #221c28) !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--mirai-text, #cfc6da) !important;
  max-height: none !important;
  overflow: visible !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#secondary .widget-title,
#secondary .ez-toc-title,
#secondary .ez-toc-title-container {
  color: var(--mirai-text, #cfc6da) !important;
  font-size: .95rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
#secondary .ez-toc-list a,
#secondary .ez-toc-link,
#secondary .ez-toc-widget-container ul.ez-toc-list li a {
  background: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid var(--mirai-line, #3a3244) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  color: var(--mirai-text, #cfc6da) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: .34em 4px .34em 1.4em !important;
  position: relative !important;
  text-decoration: none !important;
  width: 100% !important;
}
#secondary [id^="ezw_tco"] .ez-toc-widget-container ul.ez-toc-list li a,
#ezw_tco-2 .ez-toc-widget-container ul.ez-toc-list li a {
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.mirai-mobile-menu-panel .ez-toc-link,
.mirai-mobile-menu-panel .mirai-mobile-toc-list a {
  background: transparent !important;
  background-image: none !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  color: var(--mirai-text, #cfc6da) !important;
  font-weight: 400 !important;
  padding: .5em 0 !important;
  text-decoration: none !important;
  width: 100% !important;
}
#secondary .ez-toc-list a:hover,
#secondary .ez-toc-list a:focus,
#secondary .ez-toc-list a.active,
#secondary .ez-toc-list a.ez-toc-current,
#secondary .ez-toc-list a[aria-current],
#secondary .ez-toc-widget-container ul.ez-toc-list li a:hover,
#secondary .ez-toc-widget-container ul.ez-toc-list li a:focus,
#secondary .ez-toc-widget-container ul.ez-toc-list li.active > a,
#secondary .ez-toc-link:hover,
#secondary .ez-toc-link:focus,
#secondary .ez-toc-link.active,
#secondary .ez-toc-link.ez-toc-current,
#secondary .ez-toc-link[aria-current],
.mirai-mobile-menu-panel .ez-toc-link:hover,
.mirai-mobile-menu-panel .ez-toc-link:focus,
.mirai-mobile-menu-panel .ez-toc-link.active,
.mirai-mobile-menu-panel .ez-toc-link.ez-toc-current,
.mirai-mobile-menu-panel .ez-toc-link[aria-current],
.mirai-mobile-menu-panel .mirai-mobile-toc-list a:hover,
.mirai-mobile-menu-panel .mirai-mobile-toc-list a:focus,
.mirai-mobile-menu-panel .mirai-mobile-toc-list a.active,
.mirai-mobile-menu-panel .mirai-mobile-toc-list a.ez-toc-current,
.mirai-mobile-menu-panel .mirai-mobile-toc-list a[aria-current] {
  background: var(--mirai-soft, #241f2c) !important;
  color: var(--mirai-link, #cfc6da) !important;
}
#secondary .ez-toc-widget-container ul.ez-toc-list li a:hover::before,
#secondary .ez-toc-widget-container ul.ez-toc-list li a:focus::before,
#secondary .ez-toc-widget-container ul.ez-toc-list li.active > a::before {
  color: var(--mirai-text, #cfc6da) !important;
  left: 0 !important;
  line-height: 1.6 !important;
  top: .34em !important;
  text-align: right !important;
  width: 1.3em !important;
}



		/* ===================================================================
		 * Mirai サイト全体の統一（ヘッダー・目次・バッジ・サイドバー）
		 * 紫の角丸はやめ、金の四角＋かぎ括弧で高級感・権威性を出す。
		 * =================================================================== */

		/* --- ヘッダー --- */
		body .ast-above-header-bar,
		body .ast-above-header,
		body .ast-below-header-bar,
		body #masthead,
		body .ast-main-header-wrap,
		body .main-header-bar-wrap,
		body .site-header,
		body .ast-primary-header-bar,
		body .main-header-bar,
		body .site-primary-header-wrap,
		body .ast-header-break-point .main-header-bar,
		body .ast-mobile-header-wrap {
			background: var(--mirai-bg-deep, #100d11) !important;
			border-bottom: 1px solid var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
		}
		body .site-title,
		body .site-title a,
		body .site-title a:visited {
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-weight: 400 !important;
			letter-spacing: .06em !important;
		}
		body .site-title a:hover,
		body .site-title a:focus {
			background: transparent !important;
			color: var(--mirai-gold, #cda866) !important;
		}
		body .ast-breadcrumbs-wrapper,
		body .ast-breadcrumbs-inner,
		body .ast-archive-description {
			background: var(--mirai-bg) !important;
			color: var(--mirai-muted) !important;
		}

		/* SNSアイコン：紫の箱をやめ、線画のアイコンだけにする */
		body .header-social-inner-wrap .ast-builder-social-element,
		body .ast-builder-social-element {
			background: transparent !important;
			border: 0 !important;
			border-radius: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-ink-muted, #b6a9c2) !important;
			padding: 0 .6em !important;
		}
		body .ast-builder-social-element:hover,
		body .ast-builder-social-element:focus {
			background: transparent !important;
			color: var(--mirai-gold, #cda866) !important;
		}
		body .ast-builder-social-element svg {
			fill: currentColor !important;
			height: 17px !important;
			width: 17px !important;
		}
		body .ast-builder-social-element .social-item-label { display: none !important; }

		/* --- 目次（本文内・サイドバー・ドロワー共通） --- */
		body #ez-toc-container,
		body .entry-content #ez-toc-container,
		body div#ez-toc-container {
			background: var(--mirai-panel, #221c28) !important;
			border: 1px solid var(--mirai-line) !important;
			border-radius: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-text) !important;
		}
		body #ez-toc-container .ez-toc-title,
		body #ez-toc-container .ez-toc-title-container,
		body #secondary .ez-toc-title {
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			letter-spacing: .06em !important;
		}
		body #ez-toc-container ul,
		body #ez-toc-container li,
		body #ez-toc-container nav { background: transparent !important; }

		/* --- カテゴリーバッジ：紫の角丸ピル → 金の四角 --- */
		body .ast-terms-link a.ast-badge-tax,
		body a.ast-button.ast-badge-tax,
		body .entry-meta a.ast-badge-tax,
		body .ast-terms-link a.ast-badge-tax:visited {
			background: transparent !important;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
			color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .72rem !important;
			font-weight: 400 !important;
			letter-spacing: .14em !important;
			padding: .45em 1.2em !important;
		}
		body .ast-terms-link a.ast-badge-tax:hover,
		body a.ast-button.ast-badge-tax:hover {
			background: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}

		/* --- カテゴリーピル：紫の角丸 → 金の四角 --- */
		body .mirai-all-category-posts__category,
		body a.mirai-all-category-posts__category,
		body a.mirai-all-category-posts__category:visited,
		body .entry-content .mirai-all-category-posts__category,
		body .mirai-footer-category-posts .mirai-all-category-posts__category,
		body .mirai-sidebar-category-posts .mirai-all-category-posts__category {
			background: transparent !important;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
			color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .78rem !important;
			letter-spacing: .12em !important;
			min-height: 0 !important;
			padding: .5em 1.2em !important;
			-webkit-text-fill-color: var(--mirai-gold, #cda866) !important;
		}
		body a.mirai-all-category-posts__category:hover,
		body a.mirai-all-category-posts__category:focus,
		body .mirai-sidebar-category-posts .mirai-all-category-posts__category:hover,
		body .mirai-footer-category-posts .mirai-all-category-posts__category:hover {
			background: var(--mirai-gold, #cda866) !important;
			border-color: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
			-webkit-text-fill-color: var(--mirai-bg-deep, #100d11) !important;
		}

		/* --- キーワードで探す：角丸 → 金の四角 --- */
		body .mirai-keyword-cloud__link,
		body .entry-content .mirai-keyword-cloud__link,
		body #secondary .tagcloud a,
		body #secondary .wp-block-tag-cloud a {
			background: transparent !important;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
			color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .8rem !important;
			letter-spacing: .08em !important;
		}
		body .mirai-keyword-cloud__link:hover,
		body .entry-content .mirai-keyword-cloud__link:hover,
		body #secondary .tagcloud a:hover,
		body #secondary .wp-block-tag-cloud a:hover {
			background: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}
		body .mirai-keyword-cloud__title,
		body #secondary .widget_tag_cloud .widget-title {
			color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .72rem !important;
			letter-spacing: .3em !important;
		}

		/* --- 新着記事カードのカテゴリーバッジ --- */
		.mirai-update-log__badge {
			align-self: flex-start;
			border: 1px solid var(--mirai-gold-dim, #7c6640);
			clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
			color: var(--mirai-gold, #cda866);
			display: inline-block;
			font-family: var(--mirai-font-label);
			font-size: .62rem;
			letter-spacing: .12em;
			margin: 0 0 7px;
			padding: .22em .85em;
		}

		/* --- 新着記事：サイドバー／記事下のバリエーション --- */
		.mirai-update-log-section--sidebar,
		.mirai-update-log-section--footer {
			background: transparent !important;
			border-top: 0 !important;
			padding: 0 !important;
		}
		.mirai-update-log-section--sidebar .mirai-update-log { gap: 14px; grid-template-columns: 1fr; }
		.mirai-update-log-section--sidebar .mirai-update-log__thumb { flex: 0 0 64px; }
		.mirai-update-log-section--footer { margin: 0 0 32px; }
		body #secondary .mirai-update-log__eyebrow,
		body .mirai-update-log-section--sidebar .mirai-update-log__eyebrow,
		body .mirai-update-log-section--footer .mirai-update-log__eyebrow {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .72rem !important;
			letter-spacing: .3em !important;
			padding: 0 !important;
		}

		/* サイドバーの見出しも金のラベル調に揃える */
		body #secondary .widget-title,
		body #secondary .ez-toc-title {
			font-family: var(--mirai-font-label) !important;
			letter-spacing: .2em !important;
		}


		/* --- 残っていた白い箇所をまとめて墨色に --- */

		/* アーカイブ（カテゴリー・タグ・検索）の記事カード */
		body.archive #primary article.post,
		body.category #primary article.post,
		body.tag #primary article.post,
		body.search #primary article.post,
		body.blog #primary article.post,
		body.archive #primary .ast-article-post,
		body.search #primary .ast-article-post {
			background: var(--mirai-panel, #221c28) !important;
			border: 1px solid var(--mirai-line) !important;
			border-radius: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-text) !important;
		}
		body.archive #primary article .entry-title a,
		body.category #primary article .entry-title a,
		body.tag #primary article .entry-title a,
		body.search #primary article .entry-title a {
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-weight: 400 !important;
		}

		/* サイドバーのウィジェット枠 */
		body #secondary .widget,
		body #secondary aside.widget,
		body #secondary .widget_block,
		body #secondary .widget_tag_cloud,
		body #secondary .wp-block-group {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-text) !important;
		}

		/* フッター（Astraのビルダー行がまだ白い） */
		body footer.site-footer,
		body .site-primary-footer-wrap,
		body .site-below-footer-wrap,
		body .site-above-footer-wrap,
		body .ast-builder-grid-row-container,
		body .ast-builder-grid-row-container-inner,
		body .ast-footer-copyright {
			background: var(--mirai-bg, #18151a) !important;
			background-color: var(--mirai-bg, #18151a) !important;
			color: var(--mirai-muted) !important;
		}
		body .site-below-footer-wrap { border-top: 1px solid var(--mirai-line) !important; }

		/* 検索フォーム・入力欄（404ページなど） */
		body input[type="text"],
		body input[type="search"],
		body input[type="email"],
		body input[type="url"],
		body input.search-field,
		body textarea,
		body select {
			background: var(--mirai-panel, #221c28) !important;
			border: 1px solid var(--mirai-line) !important;
			border-radius: 0 !important;
			color: var(--mirai-text) !important;
		}
		body input::placeholder,
		body textarea::placeholder { color: var(--mirai-muted) !important; }
		body .search-submit,
		body .ast-search-submit,
		body form.search-form button {
			background: transparent !important;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			color: var(--mirai-gold, #cda866) !important;
		}

		/* 404・アーカイブ見出し */
		body .page-title,
		body .ast-404-layout-1 .page-title,
		body .ast-archive-description .ast-archive-title {
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-weight: 400 !important;
		}


		/* アーカイブ見出し：紫 → アイボリー明朝、ラベルは金 */
		body.category .ast-archive-entry-banner h1,
		body.tag .ast-archive-entry-banner h1,
		body.archive .ast-archive-entry-banner h1,
		body.category #primary > .ast-archive-entry-banner h1,
		body.archive.tag .ast-archive-entry-banner h1 {
			color: var(--mirai-heading) !important;
			-webkit-text-fill-color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-weight: 400 !important;
			letter-spacing: .06em !important;
		}
		body.category .ast-archive-entry-banner h1::before,
		body.tag .ast-archive-entry-banner h1::before,
		body.archive .ast-archive-entry-banner h1::before,
		body.category #primary > .ast-archive-entry-banner h1::before,
		body.archive.tag .ast-archive-entry-banner h1::before {
			color: var(--mirai-gold, #cda866) !important;
			-webkit-text-fill-color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			letter-spacing: .3em !important;
		}


		/* 404などの検索フォーム：Astra側の指定が強いので詳細度を上げて墨色に */
		body form.search-form input.search-field,
		body .search-form input.search-field,
		body #primary input.search-field,
		body .ast-search-menu-icon input.search-field,
		body input.search-field[type="search"] {
			background: var(--mirai-panel, #221c28) !important;
			background-color: var(--mirai-panel, #221c28) !important;
			border: 1px solid var(--mirai-line) !important;
			border-radius: 0 !important;
			color: var(--mirai-text) !important;
		}


		/* Astraが入力欄・ウィジェット背景に使う変数そのものを墨色に差し替える */
		:root,
		body {
			--ast-widget-bg-color: var(--mirai-panel, #221c28) !important;
			--ast-comment-inputs-background: var(--mirai-panel, #221c28) !important;
			--ast-form-field-bg: var(--mirai-panel, #221c28) !important;
		}
		body .widget_search .search-form input.search-field,
		body .widget .search-form input.search-field,
		body .ast-search-menu-icon .search-form input.search-field {
			background: var(--mirai-panel, #221c28) !important;
			background-color: var(--mirai-panel, #221c28) !important;
			border: 1px solid var(--mirai-line) !important;
			border-radius: 0 !important;
			color: var(--mirai-text) !important;
		}


		/* --- 読めない文字色をまとめて修正（コントラスト検査で検出した箇所） --- */

		/* 前の記事・次の記事ナビ */
		body .post-navigation a,
		body .post-navigation .nav-previous a,
		body .post-navigation .nav-next a,
		body .post-navigation p,
		body .ast-single-post-navigation a,
		body nav.post-navigation .nav-links a {
			color: var(--mirai-text) !important;
		}
		body .post-navigation .ast-post-nav,
		body nav.post-navigation .ast-post-nav {
			color: var(--mirai-gold, #cda866) !important;
		}
		body .post-navigation a:hover,
		body .post-navigation a:hover p,
		body .post-navigation a:focus p {
			color: var(--mirai-gold, #cda866) !important;
		}
		body nav.post-navigation { border-top: 1px solid var(--mirai-line) !important; }

		/* サイドバーのページリスト・メニュー */
		body #secondary a.menu-link,
		body #secondary .wp-block-pages-list__item__link,
		body #secondary .wp-block-page-list a,
		body .wp-block-page-list a {
			color: var(--mirai-text) !important;
		}

		/* コアのタグクラウド（キーワードで探す以外の箇所） */
		body a.tag-cloud-link,
		body #secondary a.tag-cloud-link,
		body .wp-block-tag-cloud a.tag-cloud-link {
			background: transparent !important;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			color: var(--mirai-gold, #cda866) !important;
			font-size: .8rem !important;
			padding: .22em .8em !important;
		}
		body a.tag-cloud-link:hover,
		body a.tag-cloud-link:focus {
			background: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}

		/* 目次のトグル */
		body .ez-toc-title-toggle,
		body .ez-toc-title-toggle span,
		body #ez-toc-container .ez-toc-js-toggle,
		body .ez-toc-toggle {
			color: var(--mirai-muted) !important;
		}

		/* リンクの各状態を明示。visited が暗く沈むのを防ぐ */
		body a:link,
		body a:visited,
		body a:active {
			color: var(--mirai-link);
		}
		body .entry-content a:visited,
		body #secondary a:visited,
		body footer a:visited {
			color: inherit;
		}

		/* noteボタン（本文中の手書きリンクにも同じ見た目を当てる） */
		body .entry-content a.mirai-note-cta__button {
			background: transparent !important;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			color: var(--mirai-gold, #cda866) !important;
			display: inline-block !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .9rem !important;
			letter-spacing: .08em !important;
			padding: .7em 2em !important;
			text-decoration: none !important;
		}
		body .entry-content a.mirai-note-cta__button:hover,
		body .entry-content a.mirai-note-cta__button:focus {
			background: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}


		/* タグクラウド：変数解決を待たずリテラルで指定し、詳細度も上げる */
		body #secondary .wp-block-tag-cloud a.tag-cloud-link,
		body #secondary .tagcloud a.tag-cloud-link,
		body .widget_tag_cloud a.tag-cloud-link,
		body .wp-block-tag-cloud a.tag-cloud-link,
		body a.tag-cloud-link:link,
		body a.tag-cloud-link:visited {
			background: transparent !important;
			border: 1px solid #7c6640 !important;
			border-radius: 0 !important;
			color: #cda866 !important;
			font-size: .8rem !important;
			padding: .22em .8em !important;
			text-decoration: none !important;
		}
		body #secondary .wp-block-tag-cloud a.tag-cloud-link:hover,
		body .wp-block-tag-cloud a.tag-cloud-link:hover,
		body a.tag-cloud-link:hover {
			background: #cda866 !important;
			color: #100d11 !important;
		}


		/* サイドバー付きページの本文／サイドバーの横幅。
		 * もともとサイドバーの旧カスタムHTMLウィジェット内の <style> にあった指定を、
		 * ウィジェット削除にあたって子テーマへ移したもの。 */
		@media (min-width: 922px) {
			body.ast-right-sidebar:not(.home):not(.page-id-1093) #primary,
			body.ast-left-sidebar:not(.home):not(.page-id-1093) #primary,
			body.ast-separate-container.ast-right-sidebar:not(.home):not(.page-id-1093) #primary,
			body.ast-separate-container.ast-left-sidebar:not(.home):not(.page-id-1093) #primary {
				width: 70% !important;
			}
			body.ast-right-sidebar:not(.home):not(.page-id-1093) #secondary,
			body.ast-left-sidebar:not(.home):not(.page-id-1093) #secondary,
			body.ast-separate-container.ast-right-sidebar:not(.home):not(.page-id-1093) #secondary,
			body.ast-separate-container.ast-left-sidebar:not(.home):not(.page-id-1093) #secondary {
				width: 30% !important;
			}
		}


		/* トップページは、ヘッダーのサイト名と重複するのでページタイトルを出さない */
		body.home .entry-title,
		body.page-id-1093 .entry-title,
		body.home .entry-header,
		body.page-id-1093 .entry-header,
		body.home .ast-single-entry-banner,
		body.page-id-1093 .ast-single-entry-banner {
			display: none !important;
		}

		/* トップページはサイドバーを出さないので、本文を全幅に戻す */
		body.home #primary,
		body.page-id-1093 #primary {
			max-width: 100% !important;
			padding-right: 0 !important;
			width: 100% !important;
		}
		body.home #secondary,
		body.page-id-1093 #secondary { display: none !important; }




		/* --- サイドバーの詰まりを解消し、右端にスクロールバーの逃げを作る --- */
		body #secondary,
		body #secondary .sidebar-main {
			box-sizing: border-box !important;
			padding-right: 16px !important;
		}

		/* 目次：行間と上下の余白を広げて窮屈さをなくす */
		body #secondary .ez-toc,
		body #secondary .widget.ez-toc,
		body #secondary [id^="ezw_tco"] {
			padding: 8px 14px 12px !important;
		}
		body #secondary .ez-toc-list a,
		body #secondary .ez-toc-link,
		body #secondary .ez-toc-widget-container ul.ez-toc-list li a {
			line-height: 1.8 !important;
			padding: .62em 8px .62em 1.5em !important;
		}
		body #secondary .ez-toc-list li,
		body #secondary .ez-toc-widget-container ul.ez-toc-list li {
			margin: 0 0 3px !important;
		}
		body #secondary .ez-toc-title,
		body #secondary .ez-toc-title-container {
			margin-bottom: 6px !important;
		}

		/* カテゴリー別の記事：文字数と日付が右に飛び出していたので、他と同じ左寄せに揃える */
		body #secondary .mirai-all-category-posts__postmeta,
		body #secondary .mirai-all-category-posts__meta,
		body #secondary .mirai-all-category-posts__charcount,
		body #secondary .mirai-all-category-posts__item a .mirai-all-category-posts__charcount,
		body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a .mirai-all-category-posts__charcount,
		body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__postmeta {
			padding-right: 0 !important;
			text-align: left !important;
			width: 100% !important;
		}
		body #secondary .mirai-all-category-posts__item a,
		body #secondary .mirai-sidebar-category-posts .mirai-all-category-posts__item a {
			padding-right: 0 !important;
			width: 100% !important;
		}
		body #secondary .mirai-all-category-posts__item { margin: 0 0 4px; }


		/* ===== スマホ表示の調整 ===== */
		@media (max-width: 780px) {
			/* 余白が三重に重なって文字幅が狭くなるので、本文まわりを詰める */
			:root,
			body { --mirai-content-start: 14px; }
			body.single-post #primary,
			body.single #primary,
			body.page:not(.home):not(.page-id-1093) #primary {
				padding: 20px 14px !important;
			}
			body .site-content .ast-container { padding-left: 12px !important; padding-right: 12px !important; }

			/* 記事内の目次：行が潰れて読めないので、字を大きく行間も広げる */
			body .entry-content #ez-toc-container,
			body #ez-toc-container {
				padding: 14px 14px 16px !important;
			}
			body .entry-content #ez-toc-container a,
			body .entry-content #ez-toc-container .ez-toc-link,
			body #ez-toc-container .ez-toc-list a,
			body #ez-toc-container .ez-toc-link {
				font-size: 14px !important;
				line-height: 1.8 !important;
				padding: .5em 0 !important;
			}
			body #ez-toc-container .ez-toc-list li { margin: 0 0 2px !important; }


			/* ドロワーの目次：小見出しは一段下げて親子関係がわかるようにする */
			.mirai-mobile-menu-panel .mirai-mobile-toc-list li.is-h3 a {
				font-size: .86rem !important;
				opacity: .82;
				padding-left: 1.1em !important;
			}

			/* サイドバーとフッターで新着記事が二重に出るので、サイドバー側を出さない
			 * （有料記事はサイドバーに残し、新着記事とキーワードはフッターに任せる） */
			body:not(.home):not(.page-id-1093) .mirai-update-log-section--sidebar {
				display: none !important;
			}
		}

		/* --- 本文の列を、ページ背景より一段明るい「紙」にする --- */
		body.single-post #primary,
		body.single #primary,
		body.page:not(.home):not(.page-id-1093) #primary {
			background: var(--mirai-sheet, #211c27) !important;
			border: 1px solid var(--mirai-line) !important;
			box-sizing: border-box !important;
			padding: 34px 36px !important;
		}
		@media (max-width: 780px) {
			body.single-post #primary,
			body.single #primary,
			body.page:not(.home):not(.page-id-1093) #primary {
				padding: 22px 18px !important;
			}
		}



		/* 有料記事カードの購入ボタン（noteへ飛ぶ） */
		body .entry-content .mirai-premium-card__buy,
		.mirai-premium-card__buy {
			align-items: center;
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			color: var(--mirai-gold, #cda866) !important;
			display: inline-flex;
			font-family: var(--mirai-font-label);
			font-size: .78rem;
			letter-spacing: .06em;
			padding: .4em 1.1em;
			white-space: nowrap;
		}
		body .entry-content .mirai-premium-card__buy:hover,
		body .entry-content .mirai-premium-card__buy:focus {
			background: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}

		/* 1記事に複数カテゴリーが付いた場合、バッジを横に並べる */
		.mirai-premium-badges {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
		}


		/* 見出しそのものを一覧ページへのリンクにする */
		body .entry-content a.mirai-section-heading-link,
		body a.mirai-section-heading-link {
			color: inherit !important;
			text-decoration: none !important;
		}
		body .entry-content a.mirai-section-heading-link:hover {
			color: var(--mirai-gold, #cda866) !important;
		}

		/* 一覧ページへの導線（「もっと見る」ではなく一覧名で出す） */
		.mirai-section-more { margin: 26px 0 0; text-align: center; }
		/* 本文の p 指定（margin: 0 0 36px）に負けて上の余白が消えるので取り戻す */
		body .entry-content p.mirai-section-more,
		body p.mirai-section-more { margin: 30px 0 0 !important; }
		body .entry-content .mirai-free-articles--sidebar p.mirai-section-more,
		body #secondary p.mirai-section-more { margin: 18px 0 0 !important; }
		body .entry-content a.mirai-section-more__link,
		body a.mirai-section-more__link {
			border: 1px solid var(--mirai-gold-dim, #7c6640) !important;
			border-radius: 0 !important;
			color: var(--mirai-gold, #cda866) !important;
			display: inline-block;
			font-family: var(--mirai-font-label);
			font-size: .82rem;
			letter-spacing: .08em;
			padding: .6em 1.8em;
			text-decoration: none !important;
		}
		body .entry-content a.mirai-section-more__link:hover,
		body a.mirai-section-more__link:hover {
			background: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}

		/* サイドバーに置くカード型セクション（有料記事・無料記事） */
		.mirai-free-articles--sidebar {
			background: transparent !important;
			border-top: 0 !important;
			margin: 0 0 28px;
			padding: 0 !important;
		}
		.mirai-free-articles--sidebar .mirai-free-articles-grid { grid-template-columns: 1fr; gap: 16px; }
		.mirai-free-articles--sidebar .mirai-free-article-card { padding: 16px 16px 18px; }
		.mirai-free-articles--sidebar .mirai-section-more { margin: 16px 0 0; }
		body #secondary .mirai-free-articles--sidebar .mirai-free-articles__heading {
			font-size: 1.15rem !important;
			margin: 0 0 16px !important;
		}
		/* サイドバーの有料記事は金、無料記事は紫の枠で見分けられるようにする */
		.mirai-free-articles--premium .mirai-free-article-card {
			border-color: var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
		}
		.mirai-free-articles--premium .mirai-free-article-badge {
			border-color: var(--mirai-gold-dim, #7c6640);
			color: var(--mirai-gold, #cda866);
		}
		.mirai-free-articles--premium .mirai-free-articles__eyebrow { color: var(--mirai-gold, #cda866); }

		/* 管理用一覧の行 */
		.mirai-admin-row { align-items: center; display: flex; gap: 14px; justify-content: space-between; }


		/* 一覧ページ：カテゴリーページと同じ「サムネイル上・タイトル下」の1カラム */
		.mirai-free-articles--list { background: var(--mirai-bg, #18151a) !important; border-top: 0 !important; padding: 0 !important; }
		.mirai-free-articles--list .mirai-free-articles-grid { grid-template-columns: 1fr; gap: 34px; }
		.mirai-free-articles--list .mirai-free-article-card { padding: 0 0 26px; background: transparent !important; border: 0 !important; background-image: none !important; }
		.mirai-free-articles--list .mirai-free-article-card__thumb { border: 0 !important; border-radius: 8px; margin: 0 0 14px; order: 1; }
		.mirai-free-articles--list .mirai-free-article-badge { margin: 0 0 10px; order: 2; }
		body .entry-content .mirai-free-articles--list .mirai-free-article-card__title { font-size: 1.15rem !important; margin: 0 0 8px !important; order: 3; }
		.mirai-free-articles--list .mirai-free-article-card__meta { margin: 0; order: 4; }

		/* セクション内の左端を揃える（ラベルや説明文だけ内側にずれていた） */
		body .entry-content .mirai-section__inner > *,
		body .mirai-section__inner > * {
			margin-left: 0 !important;
			padding-left: 0 !important;
		}


		/* サイドバー内のカードセクション：本文と同じ装飾がかからないので、
		 * トップページと同じ見た目をここで明示する（見出しは明朝のアイボリー、
		 * タイトルは小さめ、紫の既定色は使わない）。 */
		body #secondary .mirai-free-articles__heading,
		body #secondary .mirai-premium__heading,
		body #secondary h2.mirai-free-articles__heading {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-size: 1.05rem !important;
			font-weight: 400 !important;
			letter-spacing: .06em !important;
			margin: 0 0 14px !important;
			padding: 0 !important;
		}
		body #secondary .mirai-free-articles__eyebrow,
		body #secondary .mirai-premium__eyebrow {
			font-size: .64rem !important;
			letter-spacing: .26em !important;
			margin: 0 0 10px !important;
		}
		body #secondary .mirai-free-article-card__title,
		body #secondary h3.mirai-free-article-card__title {
			background: transparent !important;
			border: 0 !important;
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-size: .92rem !important;
			font-weight: 400 !important;
			line-height: 1.7 !important;
			margin: 0 0 10px !important;
			padding: 0 !important;
		}
		body #secondary .mirai-free-article-card__title::after {
			content: none !important;
			display: none !important;
		}
		body #secondary .mirai-free-article-badge {
			font-size: .6rem !important;
			letter-spacing: .1em !important;
			margin-bottom: 10px !important;
			padding: .22em .8em !important;
		}
		body #secondary .mirai-free-article-card__meta {
			font-size: .7rem !important;
			gap: .9em !important;
			margin-bottom: 12px !important;
		}
		body #secondary .mirai-free-article-card { padding: 14px 14px 16px !important; }


		/* --- 紫が残っていた箇所を金に統一 --- */
		body .mirai-free-article-badge,
		body #secondary .mirai-free-article-badge {
			border-color: var(--mirai-gold-dim, #7c6640) !important;
			color: var(--mirai-gold, #cda866) !important;
		}
		body .mirai-free-articles__eyebrow,
		body #secondary .mirai-free-articles__eyebrow,
		body .mirai-update-log__eyebrow,
		body #secondary .mirai-update-log__eyebrow {
			color: var(--mirai-gold, #cda866) !important;
		}
		body .mirai-free-articles__eyebrow::after {
			background: linear-gradient(to right, var(--mirai-gold-dim, #7c6640), transparent) !important;
		}
		body .mirai-update-log__badge {
			border-color: var(--mirai-gold-dim, #7c6640) !important;
			color: var(--mirai-gold, #cda866) !important;
		}
		body .mirai-free-article-card,
		body .entry-content .mirai-free-article-card {
			border-color: var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
		}
		body .mirai-free-article-card:hover,
		body .entry-content .mirai-free-article-card:hover {
			border-color: var(--mirai-gold-line-hover, rgba(205, 168, 102, .6)) !important;
		}
		body .mirai-free-article-card__thumb {
			border-color: var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
		}
		body .mirai-update-log__date .is-new,
		body .mirai-free-article-card__meta .is-new {
			color: var(--mirai-gold, #cda866) !important;
		}

		/* --- サイドバーの左端を見出しに揃える（カードの内側余白を外す） --- */
		body #secondary .mirai-free-article-card {
			background: transparent !important;
			background-image: none !important;
			border: 0 !important;
			border-bottom: 1px dotted var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
			padding: 0 0 18px !important;
		}
		body #secondary .mirai-free-articles-grid { gap: 20px; }

		/* --- ヘッダーのサイト名を、本文の列の左端に固定する ---
		   カスタマイザーの追加CSSに
		   margin-left: calc(var(--limited-content-left) - 35px)
		   が残っていて、--limited-content-left が 100vw から計算されるため、
		   ブラウザ幅を変えるとタイトルだけが横へ動く。しかもこの式は本文幅を
		   1200px と見ているが、実際の本文は最大1000px。ここで打ち消して、
		   本文と同じ「最大1000px・内側20px」の位置に固定する。 */
		@media (min-width: 922px) {
			body .ast-above-header-wrap .ast-builder-grid-row-container.ast-container,
			body .ast-main-header-wrap .ast-builder-grid-row-container.ast-container {
				padding-left: 20px !important;
				padding-right: 20px !important;
			}
			body .site-branding,
			body .ast-site-identity {
				margin-left: 0 !important;
				margin-right: 0 !important;
			}
			/* パンくずも同じ変数で動くので、本文の列に合わせて固定する */
			body .ast-header-breadcrumb .ast-container {
				max-width: 1000px !important;
				margin-left: auto !important;
				margin-right: auto !important;
				padding-left: 20px !important;
				padding-right: 20px !important;
			}
		}

		/* スマホでも、ヘッダーの左端を本文の左端（内側12px）に合わせる */
		@media (max-width: 780px) {
			body .ast-above-header-bar.site-above-header-wrap,
			body .ast-primary-header-bar.site-primary-header-wrap {
				padding-left: 12px !important;
				padding-right: 12px !important;
			}
		}

		/* パンくずの帯は左だけ20pxのパディングが付いていて、
		   中に入る1000pxの箱の中央寄せが10pxずれる。帯側のパディングを外す。 */
		body .main-header-bar.ast-header-breadcrumb {
			padding-left: 0 !important;
			padding-right: 0 !important;
		}
		@media (max-width: 780px) {
			/* カスタマイザー側の body.single-post .main-header-bar… が20pxで勝つので、同じ強さにする */
			body[class] .main-header-bar.ast-header-breadcrumb .ast-container {
				padding-left: 12px !important;
				padding-right: 12px !important;
			}
		}

		/* --- スマホ：ヘッダーのサイト名が中央寄せで右にずれるので左揃えにする --- */
		@media (max-width: 780px) {
			body .site-branding,
			body .ast-site-identity,
			body .ast-mobile-header-wrap .site-branding {
				margin-left: 0 !important;
				margin-right: auto !important;
				text-align: left !important;
			}
			body .ast-mobile-header-wrap .ast-builder-layout-element,
			body .ast-primary-header-bar .ast-builder-layout-element {
				justify-content: flex-start !important;
			}
		}


		/* --- 一覧ページ：左端を1本に揃え、背景は本文の紙と同じにする --- */
		body.mirai-list-page .entry-content { padding-left: 0 !important; }
		body.mirai-list-page .entry-title,
		body.mirai-list-page .ast-single-entry-banner { margin-left: 0 !important; padding-left: 0 !important; }
		body.mirai-list-page .mirai-free-articles--list {
			background: transparent !important;
			border-top: 0 !important;
			padding: 0 !important;
		}
		body.mirai-list-page .mirai-section__inner { max-width: 100% !important; }
		/* カードの内側余白を外して、見出しと同じ左端に揃える */
		body .entry-content .mirai-free-articles--list .mirai-free-article-card,
		body.mirai-list-page .entry-content .mirai-free-article-card {
			background: transparent !important;
			background-image: none !important;
			border: 0 !important;
			border-bottom: 1px dotted var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
			padding: 0 0 28px !important;
		}
		body.mirai-list-page .mirai-free-article-card__thumb { margin: 0 0 14px; }


		/* サイドバーの「一覧」リンクは、見出しに見えないよう控えめにする */
		body #secondary .mirai-section-more { margin: 14px 0 0; text-align: left; }
		body #secondary a.mirai-section-more__link {
			font-size: .68rem !important;
			letter-spacing: .06em !important;
			padding: .35em 1em !important;
		}
		body #secondary .mirai-sidebar-sections > * { margin-bottom: 30px; }

		/* --- 引用・コードブロックが白く残るのを防ぐ --- */
		body .entry-content blockquote,
		body .entry-content .wp-block-quote,
		body .entry-content blockquote.wp-block-quote,
		body.single-post .entry-content blockquote,
		body.page .entry-content blockquote {
			background: var(--mirai-quote, #211c28) !important;
			border: 1px solid var(--mirai-quote-line, #4a3f2a) !important;
			border-left: 6px solid var(--mirai-accent, #f2c16d) !important;
			border-radius: 0 !important;
			color: var(--mirai-text) !important;
		}
		body .entry-content blockquote p,
		body .entry-content blockquote cite,
		body .entry-content .wp-block-quote p,
		body .entry-content .wp-block-quote cite {
			background: transparent !important;
			color: var(--mirai-text) !important;
		}
		body .entry-content pre,
		body .entry-content .wp-block-code,
		body .entry-content .wp-block-preformatted,
		body .entry-content pre.wp-block-code {
			background: var(--mirai-panel, #221c28) !important;
			border: 1px solid var(--mirai-line) !important;
			border-radius: 0 !important;
			color: var(--mirai-text) !important;
		}
		body .entry-content code {
			background: var(--mirai-soft, #241f2c) !important;
			color: var(--mirai-text) !important;
		}

		/* コードブロックは本文より一段階小さく。行間・文字間は本文と同じ感じに揃える。
		   中の code に line-height: normal と背景・余白が付いていて詰まって見えたので、
		   外側の pre に合わせて全部引き継がせる。 */
		body .entry-content pre,
		body .entry-content pre.wp-block-code,
		body .entry-content .wp-block-preformatted {
			background: var(--mirai-bg-deep, #100d11) !important;
			border-top: 0 !important;
			font-family: var(--mirai-font-code, monospace) !important;
			font-size: .78em !important;
			letter-spacing: .01em !important;
			line-height: 1.75 !important;
			margin: 0 !important;
			overflow-x: auto;
			padding: 16px 20px 18px !important;
		}

		/* コードは読むところではなく、コピーして使うところ。
		   上に細い帯を置いて、そこにコピーボタンを入れる。 */
		.mirai-code { margin: 0 0 32px; }
		.mirai-code__bar {
			align-items: center;
			background: var(--mirai-bg-deep, #100d11);
			border: 1px solid var(--mirai-line);
			border-bottom: 0;
			display: flex;
			justify-content: flex-end;
			padding: 6px 8px;
		}
		body .entry-content .mirai-code pre { border-top: 0 !important; }
		body .mirai-code__copy {
			background: transparent;
			border: 1px solid var(--mirai-gold-dim, #7c6640);
			border-radius: 0;
			color: var(--mirai-gold, #cda866);
			cursor: pointer;
			font-family: var(--mirai-font-label);
			font-size: .66rem;
			letter-spacing: .08em;
			line-height: 1;
			padding: .45em 1.1em;
			transition: background-color .15s ease, color .15s ease;
		}
		body .mirai-code__copy:hover,
		body .mirai-code__copy:focus,
		body .mirai-code__copy.is-done {
			background: var(--mirai-gold, #cda866);
			color: var(--mirai-bg-deep, #100d11);
		}
		body .entry-content pre code,
		body .entry-content pre.wp-block-code code {
			background: transparent !important;
			color: inherit !important;
			font-family: inherit !important;
			font-size: 1em !important;
			letter-spacing: inherit !important;
			line-height: inherit !important;
			padding: 0 !important;
		}
		body .entry-content p code,
		body .entry-content li code { font-size: .9em !important; }

		/* --- サイドバーの有料記事セクション --- */
		.mirai-update-log-section--premium {
			background: transparent !important;
			border-top: 0 !important;
			margin: 0 0 28px;
			padding: 0 !important;
		}
		.mirai-update-log-section--premium .mirai-update-log { gap: 14px; grid-template-columns: 1fr; }
		.mirai-update-log-section--premium .mirai-update-log__thumb { flex: 0 0 64px; }
		.mirai-update-log-section--premium .mirai-update-log__item {
			border-bottom: 1px dotted var(--mirai-gold-line, rgba(205, 168, 102, .28)) !important;
		}
		body .mirai-update-log-section--premium .mirai-update-log__eyebrow {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			color: var(--mirai-gold, #cda866) !important;
			font-family: var(--mirai-font-label) !important;
			font-size: .72rem !important;
			letter-spacing: .3em !important;
			padding: 0 !important;
		}

		/* リンクのホバーは、背景を敷かず色だけで反応させる。
		 * （以前ここに、旧ウィジェットの body a:hover を打ち消す記述があった。
		 *   そのウィジェットは削除済みなので、今はこの指定だけが効いている。） */
		body a:hover,
		body a:focus {
			background-color: transparent !important;
			border-color: var(--mirai-line) !important;
			color: var(--mirai-link) !important;
		}

		/* 新しいカードは、ホバーで背景を変えずサムネイルの拡大だけで反応させる。 */
		body .entry-content a.mirai-card-link:hover,
		body .entry-content a.mirai-card-link:focus,
		body.page .entry-content a.mirai-card-link:hover,
		body.home .entry-content a.mirai-card-link:hover {
			background-color: transparent !important;
			background-image: none !important;
			color: inherit !important;
		}
		body .entry-content a.mirai-premium-badge:hover,
		body .entry-content a.mirai-premium-badge:focus {
			background-color: var(--mirai-gold, #cda866) !important;
			color: var(--mirai-bg-deep, #100d11) !important;
		}

		/* ===================================================================
		 * Mirai トップページ：有料記事 → 新着記事 → 無料記事
		 * 「有料記事」はここに置く場所であって、WordPressのカテゴリーではない。
		 * 有料部分（パスワード保護）へのリンクはこのセクションには一切出さない。
		 * 色はすべて style.css の :root で定義したトークンを参照する。
		 * =================================================================== */
		.mirai-section__inner { box-sizing: border-box; margin: 0 auto; max-width: 1000px; }

		/* Astraの見出し装飾・リンク下線を、このセクション内だけ打ち消す */
		body .entry-content h2.mirai-premium__heading,
		body.page .entry-content h2.mirai-premium__heading,
		body.home .entry-content h2.mirai-premium__heading,
		body .entry-content h2.mirai-update-log__eyebrow,
		body.page .entry-content h2.mirai-update-log__eyebrow,
		body.home .entry-content h2.mirai-update-log__eyebrow,
		body .entry-content h2.mirai-free-articles__heading,
		body.page .entry-content h2.mirai-free-articles__heading,
		body.home .entry-content h2.mirai-free-articles__heading,
		body .entry-content h3.mirai-premium-card__title,
		body.page .entry-content h3.mirai-premium-card__title,
		body.home .entry-content h3.mirai-premium-card__title,
		body .entry-content h3.mirai-free-article-card__title,
		body.page .entry-content h3.mirai-free-article-card__title,
		body.home .entry-content h3.mirai-free-article-card__title {
			background: transparent !important;
			border: 0 !important;
			border-radius: 0 !important;
			box-shadow: none !important;
			padding: 0 !important;
		}
		body .entry-content .mirai-premium-card__thumb,
		body .entry-content .mirai-premium-card__title a {
			background-image: none !important;
			border-bottom: 0 !important;
			text-decoration: none !important;
		}
		/* 枠を持つ要素は border-bottom を消さない（四角の下辺が欠けるため） */
		body .entry-content .mirai-premium-badge,
		body .entry-content .mirai-note-cta__button,
		body .entry-content .mirai-premium-card__buy {
			background-image: none !important;
			text-decoration: none !important;
		}

		body .entry-content h3.mirai-premium-card__title::after,
		body.page .entry-content h3.mirai-premium-card__title::after,
		body.home .entry-content h3.mirai-premium-card__title::after,
		body .entry-content h3.mirai-free-article-card__title::after,
		body.page .entry-content h3.mirai-free-article-card__title::after,
		body.home .entry-content h3.mirai-free-article-card__title::after {
			content: none !important;
			display: none !important;
		}

		/* --- 有料記事（無料部分への入り口） --- */
		.mirai-premium { background: var(--mirai-bg-deep, #100d11); padding: 40px 20px 56px; }
		.mirai-premium__eyebrow { align-items: center; color: var(--mirai-gold, #cda866); display: flex; font-family: var(--mirai-font-label); font-size: .72rem; gap: 14px; letter-spacing: .3em; margin: 0 0 16px; }
		.mirai-premium__eyebrow::after { background: linear-gradient(to right, var(--mirai-gold-dim, #7c6640), transparent); content: ""; flex: 1; height: 1px; }
		body .entry-content h2.mirai-premium__heading,
		body.page .entry-content h2.mirai-premium__heading,
		body.home .entry-content h2.mirai-premium__heading { color: var(--mirai-heading) !important; font-family: var(--mirai-font-display) !important; font-size: clamp(1.6rem, 4vw, 2.1rem) !important; font-weight: 400 !important; letter-spacing: .04em !important; margin: 0 0 12px !important; }
		.mirai-premium__lede { color: var(--mirai-ink-muted, #b6a9c2); font-size: .88rem; margin: 0 0 32px; max-width: 46em; }
		.mirai-premium-list { display: flex; flex-direction: column; gap: 20px; }

		.mirai-premium-card {
			align-items: stretch;
			background-color: var(--mirai-panel-premium, #241a2a);
			border: 1px solid var(--mirai-gold-line, rgba(205, 168, 102, .28));
			box-sizing: border-box;
			display: flex;
			flex-direction: row-reverse;
			gap: 28px;
			padding: 22px 26px;
			position: relative;
			transition: border-color .15s ease;
		background-image:
			linear-gradient(to right, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to bottom, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to left, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to bottom, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to right, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to top, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to left, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px),
			linear-gradient(to top, var(--mirai-gold, #cda866) 1.5px, transparent 1.5px);
		background-repeat: no-repeat;
		background-size: 22px 1.5px, 1.5px 22px, 22px 1.5px, 1.5px 22px, 22px 1.5px, 1.5px 22px, 22px 1.5px, 1.5px 22px;
		background-position: top left, top left, top right, top right, bottom right, bottom right, bottom left, bottom left;
		}
		.mirai-premium-card:hover { border-color: var(--mirai-gold-line-hover, rgba(205, 168, 102, .6)); }

		.mirai-premium-card__thumb { align-self: center; aspect-ratio: 1280 / 670; background-color: var(--mirai-panel-premium, #241a2a); border: 1px solid var(--mirai-gold-dim, #7c6640); box-sizing: border-box; display: block; flex: 1 1 50%; min-width: 0; overflow: hidden; position: relative; }
		.mirai-premium-card__thumb img { display: block; height: 100%; object-fit: contain; transition: transform .4s ease; width: 100%; }
		.mirai-premium-card:hover .mirai-premium-card__thumb img { transform: scale(1.08); }
		.mirai-premium-card__thumb.is-empty { align-items: center; color: var(--mirai-gold, #cda866); display: flex; font-size: 1.6rem; justify-content: center; }

		.mirai-premium-card__body { display: flex; flex: 1 1 50%; flex-direction: column; gap: 12px; justify-content: center; min-width: 0; }
		.mirai-premium-badge {
			align-self: flex-start;
			border: 1px solid var(--mirai-gold-dim, #7c6640);
			clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
			color: var(--mirai-gold, #cda866) !important;
			display: inline-block;
			font-family: var(--mirai-font-label);
			font-size: .68rem;
			letter-spacing: .14em;
			padding: .4em 1.1em;
		}
		body .entry-content h3.mirai-premium-card__title,
		body.page .entry-content h3.mirai-premium-card__title,
		body.home .entry-content h3.mirai-premium-card__title { font-family: var(--mirai-font-display) !important; font-size: 1.2rem !important; font-weight: 400 !important; line-height: 1.6 !important; margin: 0 !important; }
		body .entry-content .mirai-premium-card__title a { color: var(--mirai-heading) !important; font-family: var(--mirai-font-display) !important; }
		.mirai-premium-card__meta { align-items: center; color: var(--mirai-ink-muted, #b6a9c2); display: flex; flex-wrap: wrap; font-size: .78rem; gap: 1.2em; }
		.mirai-premium-card__meta .is-new { color: var(--mirai-gold, #cda866); margin-right: .5em; }
		.mirai-premium-card__continues { align-items: center; border: 1px solid var(--mirai-gold-dim, #7c6640); color: var(--mirai-gold, #cda866); display: inline-flex; font-size: .72rem; gap: .4em; padding: .25em .7em; white-space: nowrap; }
		.mirai-premium-foot { color: var(--mirai-ink-muted, #b6a9c2); font-size: .76rem; margin: 28px 0 0; }

		/* --- 新着記事 --- */
		.mirai-update-log-section { background: var(--mirai-bg, #18151a); border-top: 1px solid var(--mirai-free-line-soft, rgba(184, 155, 232, .15)); padding: 48px 20px 56px; }
		body .entry-content h2.mirai-update-log__eyebrow,
		body.page .entry-content h2.mirai-update-log__eyebrow,
		body.home .entry-content h2.mirai-update-log__eyebrow { color: var(--mirai-main) !important; font-family: var(--mirai-font-label) !important; font-size: .95rem !important; font-weight: 600 !important; letter-spacing: .08em !important; margin: 0 0 20px !important; }
		.mirai-update-log { display: grid; gap: 16px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
		body .entry-content .mirai-update-log__item {
			align-items: center;
			background-image: none !important;
			border-bottom: 1px dotted var(--mirai-free-line, rgba(184, 155, 232, .3)) !important;
			color: inherit !important;
			display: flex;
			gap: 12px;
			padding-bottom: 14px;
			text-decoration: none !important;
		}
		.mirai-update-log__item {
			align-items: center;
			border-bottom: 1px dotted var(--mirai-free-line, rgba(184, 155, 232, .3));
			color: inherit;
			display: flex;
			gap: 12px;
			padding-bottom: 14px;
			text-decoration: none;
		}
		.mirai-update-log__body { display: flex; flex-direction: column; min-width: 0; }
		.mirai-update-log__thumb { aspect-ratio: 1280 / 670; background-color: var(--mirai-panel, #221c28); border-radius: 4px; flex: 0 0 80px; overflow: hidden; position: relative; }
		.mirai-update-log__thumb img { display: block; height: 100%; object-fit: contain; transition: transform .4s ease; width: 100%; }
		.mirai-update-log__item:hover .mirai-update-log__thumb img { transform: scale(1.08); }
		.mirai-update-log__thumb.is-empty { align-items: center; color: var(--mirai-main); display: flex; font-size: 1.2rem; justify-content: center; }
		.mirai-update-log__body { display: block; min-width: 0; }
		.mirai-update-log__title { color: var(--mirai-heading); display: block; font-size: .82rem; line-height: 1.6; margin: 0 0 6px; }
		.mirai-update-log__date { color: var(--mirai-ink-muted, #b6a9c2); display: block; font-size: .7rem; }
		.mirai-update-log__date .is-new { color: var(--mirai-main); margin-right: .5em; }

		/* --- 無料記事 --- */
		.mirai-free-articles { background: var(--mirai-bg-deep, #100d11); border-top: 1px solid var(--mirai-free-line-soft, rgba(184, 155, 232, .15)); padding: 48px 20px 56px; }
		.mirai-free-articles__eyebrow { align-items: center; color: var(--mirai-main); display: flex; font-family: var(--mirai-font-label); font-size: .72rem; gap: 14px; letter-spacing: .3em; margin: 0 0 16px; }
		.mirai-free-articles__eyebrow::after { background: linear-gradient(to right, var(--mirai-free-line, rgba(184, 155, 232, .3)), transparent); content: ""; flex: 1; height: 1px; }
		body .entry-content h2.mirai-free-articles__heading,
		body.page .entry-content h2.mirai-free-articles__heading,
		body.home .entry-content h2.mirai-free-articles__heading { color: var(--mirai-heading) !important; font-family: var(--mirai-font-display) !important; font-size: clamp(1.4rem, 3.5vw, 1.8rem) !important; font-weight: 400 !important; letter-spacing: .04em !important; margin: 0 0 28px !important; }
		.mirai-free-articles-grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }

		body .entry-content .mirai-free-article-card {
			background-color: var(--mirai-panel, #221c28);
			border: 1px solid var(--mirai-free-line, rgba(184, 155, 232, .28));
			border-bottom: 1px solid var(--mirai-free-line, rgba(184, 155, 232, .28)) !important;
			box-sizing: border-box;
			color: inherit !important;
			display: flex;
			flex-direction: column;
			padding: 22px 24px;
			position: relative;
			text-decoration: none !important;
			transition: border-color .15s ease;
		background-image:
			linear-gradient(to right, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to bottom, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to left, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to bottom, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to right, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to top, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to left, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px),
			linear-gradient(to top, var(--mirai-main, #b89be8) 1.5px, transparent 1.5px) !important;
		background-repeat: no-repeat !important;
		background-size: 22px 1.5px, 1.5px 22px, 22px 1.5px, 1.5px 22px, 22px 1.5px, 1.5px 22px, 22px 1.5px, 1.5px 22px !important;
		background-position: top left, top left, top right, top right, bottom right, bottom right, bottom left, bottom left !important;
		}
		body .entry-content .mirai-free-article-card:hover { border-color: var(--mirai-free-line-hover, rgba(184, 155, 232, .6)) !important; }
		.mirai-free-article-badge {
			align-self: flex-start;
			border: 1px solid var(--mirai-free-line, rgba(184, 155, 232, .4));
			clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
			color: var(--mirai-main);
			display: inline-block;
			font-family: var(--mirai-font-label);
			font-size: .68rem;
			letter-spacing: .14em;
			margin-bottom: 12px;
			padding: .4em 1.1em;
		}
		body .entry-content h3.mirai-free-article-card__title,
		body.page .entry-content h3.mirai-free-article-card__title,
		body.home .entry-content h3.mirai-free-article-card__title { color: var(--mirai-heading) !important; font-family: var(--mirai-font-display) !important; font-size: 1.05rem !important; font-weight: 400 !important; line-height: 1.6 !important; margin: 0 0 14px !important; }

		/* 記事下（フッター）は .entry-content にも #secondary にも入らないため、
		   上の指定が届かず、Astraの既定の紫・ゴシックのままになっていた。
		   置き場所を問わない形で、同じ見た目に揃える。 */
		body h2.mirai-premium__heading,
		body h2.mirai-free-articles__heading {
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-size: clamp(1.4rem, 3.5vw, 1.8rem) !important;
			font-weight: 400 !important;
			letter-spacing: .04em !important;
			margin: 0 0 28px !important;
		}
		body h3.mirai-premium-card__title,
		body h3.mirai-free-article-card__title {
			color: var(--mirai-heading) !important;
			font-family: var(--mirai-font-display) !important;
			font-size: 1.05rem !important;
			font-weight: 400 !important;
			line-height: 1.6 !important;
			margin: 0 0 14px !important;
		}
		body .mirai-premium-card__title a,
		body .mirai-free-article-card__title a { color: var(--mirai-heading) !important; }
		.mirai-free-article-card__meta { color: var(--mirai-ink-muted, #b6a9c2); display: flex; flex-wrap: wrap; font-size: .76rem; gap: 1.2em; margin-bottom: 16px; }
		.mirai-free-article-card__meta .is-new { color: var(--mirai-main); margin-right: .5em; }
		.mirai-free-article-card__thumb { aspect-ratio: 1280 / 670; background-color: var(--mirai-panel, #221c28); border: 1px solid var(--mirai-free-line, rgba(184, 155, 232, .3)); box-sizing: border-box; display: block; overflow: hidden; position: relative; }
		.mirai-free-article-card__thumb img { display: block; height: 100%; object-fit: contain; transition: transform .4s ease; width: 100%; }
		.mirai-free-article-card:hover .mirai-free-article-card__thumb img { transform: scale(1.08); }
		.mirai-free-article-card__thumb.is-empty { align-items: center; color: var(--mirai-main); display: flex; font-size: 1.6rem; justify-content: center; }

		/* --- 無料部分の記事末尾：noteへの導線 --- */
		.mirai-note-cta { background: var(--mirai-panel-premium, #241a2a); border: 1px solid var(--mirai-gold-dim, #7c6640); margin: 48px 0 0; padding: 28px 24px; text-align: center; }
		.mirai-note-cta__lead { color: var(--mirai-heading); font-family: var(--mirai-font-display); font-size: 1.05rem; margin: 0 0 24px; }
		/* リード → ボタン → 説明文の間隔。本文の p 指定（margin: 0 0 36px）に負けて
		   説明文がボタンにくっついていたので、勝てる形で入れ直す。 */
		body .entry-content p.mirai-note-cta__lead { margin: 0 0 26px !important; }
		body .entry-content p.mirai-note-cta__note { margin: 22px auto 0 !important; max-width: none !important; }
		body .entry-content .mirai-note-cta__button { border: 1px solid var(--mirai-gold-dim, #7c6640); color: var(--mirai-gold, #cda866) !important; display: inline-block; font-family: var(--mirai-font-label); font-size: .9rem; letter-spacing: .08em; padding: .7em 2em; transition: background-color .15s ease, color .15s ease; }
		body .entry-content .mirai-note-cta__button:hover,
		body .entry-content .mirai-note-cta__button:focus { background: var(--mirai-gold, #cda866) !important; color: var(--mirai-bg-deep, #100d11) !important; }
		.mirai-note-cta__note {
			color: var(--mirai-ink-muted, #b6a9c2);
			font-size: .76rem;
			line-height: 1.9;
			margin: 24px auto 0;
			max-width: 26em;
			text-wrap: balance;
		}

		@media (max-width: 640px) {
			.mirai-premium-card { flex-direction: column; padding: 18px; }
			.mirai-premium-card__thumb,
			.mirai-premium-card__body { flex-basis: auto; }
			.mirai-free-articles-grid,
			.mirai-update-log { grid-template-columns: 1fr; }
		}

/* ===================================================================
 *
 *   色と見た目の設定　― 変えるのはここだけ ―
 *
 *   このブロックは style.css の最後にある。CSSは後に書いたものが勝つので、
 *   上のどこかに同じ指定があっても、ここの値が優先される。
 *   色を変えたいときは、上のブロックを探さずに、ここだけ書き換えればいい。
 *
 *   ※ 上の3ブロック（もとの子テーマCSS／追加CSSから移設／functions.phpから移設）は
 *     移設したものなので触らない。
 *
 * =================================================================== */

:root {

	/* ── 背景 ───────────────────────────────────────────── */
	--mirai-bg:            #29241a;  /* ページ全体。記事の列と同じ色に統一した */
	--mirai-bg-deep:       #12100c;  /* ヘッダー・フッター（いちばん暗い） */
	--mirai-sheet:         #29241a;  /* 記事本文の列 */
	--mirai-panel:         #362f21;  /* カード・目次の枠。背景と同化しないよう1段上げた */
	--mirai-panel-premium: #38301e;  /* 有料記事のパネル */
	--mirai-quote:         #362f21;  /* 引用 */
	--mirai-soft:          #3c3425;  /* 少し明るい面 */

	/* ── 文字 ───────────────────────────────────────────── */
	--mirai-body:    #f4f3f1;  /* 記事の本文 */
	--mirai-heading: #f4f3f1;  /* 見出し・記事タイトル */
	--mirai-text:    #cfc6da;  /* サイドバー・フッター・パンくず（※まだ紫寄り。#d7d3cb で暖色に揃う） */
	--mirai-muted:   #9a8fa8;  /* 弱い文字（※まだ紫寄り。#a19d97 で暖色に揃う） */

	/* ── 太字 ───────────────────────────────────────────── */
	/* 色は本文と同じ。太さと下線だけで強調する。
	   font-weight:700 はファイル冒頭の @import で700を読み込んで初めて効く。 */
	--mirai-underline-color:  rgba(244, 243, 241, .45);  /* 下線の色 */
	--mirai-underline-dash:   8px;    /* 線の長さ　→ 長くすると伸びる */
	--mirai-underline-gap:    8px;    /* 隙間の長さ →  長くすると間が空く */
	--mirai-underline-offset: .22em;  /* 文字からの距離 */

	/* ── アクセント ─────────────────────────────────────── */
	--mirai-gold:      #cda866;  /* 金。バッジ・noteボタン・ラベル */
	--mirai-gold-dim:  #7c6640;  /* 金の枠線 */
	--mirai-main:      #b89be8;  /* 紫。リンク・ハンバーガー・上へ戻るボタン */
	--mirai-line:      #473f2e;  /* 罫線 */
}

/* --- 本文の色 -------------------------------------------------------
 * :not([class*="mirai-"] *) で、JSが .entry-content の中に組み立てる
 * カード群（トップ・一覧ページ）を対象から外している。
 * あそこは本文ではなく、金のラベルや淡いリード文など独自の色を持っている。
 * ------------------------------------------------------------------ */

body .entry-content p:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content li:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content dt:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content dd:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content td:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content th:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content blockquote:not([class*="mirai-"]):not([class*="mirai-"] *) { color: var(--mirai-body) !important; }

/* --- 太字 -----------------------------------------------------------
 * 下線は text-decoration ではなく背景で描いている。
 * text-decoration では線の長さと隙間を指定できないため。
 * ------------------------------------------------------------------ */

body .entry-content strong:not([class*="mirai-"]):not([class*="mirai-"] *),
body .entry-content b:not([class*="mirai-"]):not([class*="mirai-"] *) {
	font-weight: 700 !important;
	color: inherit !important;
	text-decoration: none !important;
	background-image: linear-gradient(to right,
		var(--mirai-underline-color) 0 var(--mirai-underline-dash),
		transparent var(--mirai-underline-dash) 100%) !important;
	background-size: calc(var(--mirai-underline-dash) + var(--mirai-underline-gap)) 1px !important;
	background-repeat: repeat-x !important;
	background-position: 0 100% !important;
	padding-bottom: var(--mirai-underline-offset) !important;
}

/* 見出し・リンクの中の太字には、下線を出さない */
body .entry-content h1 strong, body .entry-content h1 b,
body .entry-content h2 strong, body .entry-content h2 b,
body .entry-content h3 strong, body .entry-content h3 b,
body .entry-content h4 strong, body .entry-content h4 b,
body .entry-content h5 strong, body .entry-content h5 b,
body .entry-content h6 strong, body .entry-content h6 b,
body .entry-content a strong,
body .entry-content a b {
	background-image: none !important;
	padding-bottom: 0 !important;
	color: inherit !important;
}

/* 700を読み込んだ副作用で font-weight:600 の要素が太字に化ける。今の見た目を保つ */
body h2.ast-related-posts-title,
body .ast-related-posts-wrapper .ast-related-post-title a,
body .entry-meta,
body .entry-meta *,
body .single .post-navigation a .ast-post-nav,
body .mirai-keyword-cloud__title,
body #secondary .widget_tag_cloud .widget-title,
body .mirai-mobile-menu-panel__title { font-weight: 400 !important; }

/* --- サイドバーの目次 --------------------------------------------- */

/* 1. 出ない ::before のために空けている左余白を詰める */
body #secondary .ez-toc-widget-container ul.ez-toc-list li a { padding-left: 4px !important; }

/* 2. 第2階層の下げ幅を縮める（21.75px → 12px） */
body #secondary .ez-toc-widget-container ul.ez-toc-list ul { margin-left: 12px !important; }

/* 3. 第3階層以下が背景に沈んでいた（コントラスト1.2） */
body #secondary .ez-toc-widget-container ul.ez-toc-list li.ez-toc-heading-level-3 > a,
body #secondary .ez-toc-widget-container ul.ez-toc-list li.ez-toc-heading-level-4 > a,
body #secondary .ez-toc-widget-container ul.ez-toc-list li.ez-toc-heading-level-5 > a,
body #secondary .ez-toc-widget-container ul.ez-toc-list li.ez-toc-heading-level-6 > a { color: var(--mirai-muted) !important; }

/* 4. 開閉ボタンの背景が白のままで、墨色の上に浮いていた */
body #secondary .ez-toc-widget-container a.ez-toc-pull-right,
body #secondary .ez-toc-widget-container a.ez-toc-btn,
body #secondary .ez-toc-widget-container a.ez-toc-toggle {
	background: transparent !important;
	background-image: none !important;
	border: 1px solid var(--mirai-line) !important;
	box-shadow: none !important;
	color: var(--mirai-text) !important;
}
body #secondary .ez-toc-widget-container a.ez-toc-toggle svg,
body #secondary .ez-toc-widget-container a.ez-toc-toggle svg path { fill: var(--mirai-text) !important; }

/* --- スマホ：記事の枠を消して、左右を広げる（2026-08-21） -------------
 * #primary に 1px の枠と左右18px、さらに .entry-content が左に14px 持っていた。
 * 375px幅で文字が左45pxから始まり、横299pxしか使えていなかった。
 * 枠を消し、余白を12pxに詰める。文字の横幅は351pxになる。
 * ------------------------------------------------------------------ */

@media (max-width: 780px) {
	/* 枠を付けている側のセレクタが body.page:not(.home):not(.page-id-1093) #primary
	   （詳細度 1,3,1）なので、同じセレクタで受けないと勝てない。
	   左右の余白は親の .ast-container が12px持っているので、ここでは足さない。
	   足すと #primary の幅（100%）と合わさって右にはみ出す。 */
	body.single-post #primary,
	body.single #primary,
	body.page:not(.home):not(.page-id-1093) #primary,
	body #primary {
		border: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.single-post #primary .entry-content,
	body.single #primary .entry-content,
	body.page:not(.home):not(.page-id-1093) #primary .entry-content,
	body #primary .entry-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* --- アーカイブ系の見出しを配色に合わせる ---------------------------
 * .ast-archive-entry-banner .ast-container h1 に緑 #8daa91 の !important が
 * 効いていて、カテゴリーとタグは後続ルールで上書きされていたが、
 * 検索結果と404だけ緑のまま残っていた。
 * ------------------------------------------------------------------ */

body .ast-archive-entry-banner .ast-container h1,
body .ast-archive-entry-banner[data-post-type="post"] .ast-container h1,
body .ast-archive-title,
body .page-title,
body h1.ast-archive-title,
body h1.page-title {
	color: var(--mirai-heading) !important;
	-webkit-text-fill-color: var(--mirai-heading) !important;
	border-color: var(--mirai-line) !important;
}

/* --- タグ一覧を、カテゴリー一覧と同じ見た目にする -------------------
 * HTML構造は両者まったく同じ。タグ側だけ更新が入っておらず、
 * 見出しとラベルが古い紫 #b89be8、バナー上の余白が82px（カテゴリーは28px）だった。
 * ------------------------------------------------------------------ */

body.tag .ast-archive-entry-banner,
body.archive.tag .ast-archive-entry-banner {
	padding: 28px 1em 14px !important;
	margin: 0 0 28px !important;
}
body.tag .ast-archive-entry-banner h1,
body.archive.tag .ast-archive-entry-banner h1,
body.tag .ast-archive-entry-banner .ast-container h1,
body.archive.tag .ast-archive-entry-banner .ast-container h1 {
	color: var(--mirai-heading) !important;
	-webkit-text-fill-color: var(--mirai-heading) !important;
	margin: 0 0 18px !important;
}
body.tag .ast-archive-entry-banner h1::before,
body.archive.tag .ast-archive-entry-banner h1::before,
body.tag .ast-archive-entry-banner .ast-container h1::before,
body.archive.tag .ast-archive-entry-banner .ast-container h1::before {
	color: var(--mirai-gold) !important;
	-webkit-text-fill-color: var(--mirai-gold) !important;
}

/* アーカイブ見出しの上に出る「□□□」の飾りが、緑 #8daa91 のままだった。
   擬似要素なので querySelectorAll('*') では見つからない。 */
body .ast-archive-entry-banner::before,
body .ast-archive-description::before,
body header.page-header::before {
	color: var(--mirai-gold-dim) !important;
	-webkit-text-fill-color: var(--mirai-gold-dim) !important;
}


/* ===================================================================
   msk-design.net だけの指定
   =================================================================== */

/* 古いページへのリンクを見せない（記事のカテゴリ・タグ・投稿者の表示） */
.single .entry-meta,
.single .cat-links,
.single .tags-links,
.single .ast-terms-link,
.single .entry-footer {
	display: none;
}
