/*
Theme Name: ascension21
Theme URI: https://ascension21.com/
Author: ascension21
Description: 「神性人類として生きる道」とその各国語版のための単独テーマ。夜明け前の星空の帯と、長文を読みやすい本文組み。AdSense の広告枠（ずれ防止の高さ確保つき）、11言語の固定文言、右から左（アラビア語）に対応。
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: ascension21
*/

/* ==========================================================================
   1. 色・書体の決まり（言語ごとの書体は :lang で切り替える）
   ========================================================================== */
:root {
	/* カスタマイザー「色」で変えられる5色（inc/colors.php。既定＝この値） */
	--a21-sky-top: #0e1336;    /* ヘッダーの星空：上端 */
	--a21-sky-bottom: #2c2763; /* ヘッダーの星空：下端（夜明け前のすみれ） */
	--a21-nav-bg: transparent; /* 上部メニューの帯（既定＝敷かない） */
	--a21-nav-text: #e6e8f8;   /* メニューの文字 */
	--a21-dawn: #e9a2b6;       /* アクセント：地平の薄紅（旧デザインの桃色を引き継ぐ） */

	--a21-night: #141943;      /* 夜空の藍 */
	--a21-night-2: var(--a21-sky-bottom);
	--a21-dawn-deep: #a8456f;  /* 白地の上で使う薄紅（文字用） */
	--a21-dawn-pale: #f5d7e1;
	--a21-ink: #25273a;        /* 本文の文字 */
	--a21-ink-soft: #595c72;   /* 日付など */
	--a21-link: #33459a;
	--a21-moon: #eef0f6;       /* ページの地（月明かり） */
	--a21-line: #d9dce8;
	--a21-paper: #ffffff;

	/* ラテン文字（英・西・仏・葡・独・デンマーク・伊）が既定 */
	--a21-font-body: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, -apple-system, sans-serif;
	--a21-font-display: "Cormorant Garamond", "Georgia", "Times New Roman", serif;
	--a21-display-scale: 1.12;   /* Cormorant は字面が小さいので見出しを少し大きく */
	--a21-track-display: 0.01em; /* 見出しの字間 */
	--a21-track-brand: 0.03em;
	--a21-track-catch: 0.08em;
	--a21-fs: clamp(1.125rem, 1.07rem + 0.25vw, 1.1875rem);
	--a21-lh: 1.72;
	--a21-measure: 36em;
	--a21-para: 1.15em;
}

:root:lang(ja) {
	/* 本文＝ユニバーサルデザイン書体（年配の方にも読みやすい）、見出し＝明朝 */
	--a21-font-body: "BIZ UDPGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	--a21-font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	--a21-display-scale: 1;
	--a21-track-display: 0; /* Google Fonts の和文は palt が効かないので、見出しはベタ組み */
	--a21-track-brand: 0.14em;
	--a21-track-catch: 0.32em;
	--a21-fs: clamp(1.1875rem, 1.1rem + 0.3vw, 1.3125rem); /* スマホ19px〜PC21px（旧デザインは22px） */
	--a21-lh: 2;
	--a21-measure: 36em;
	--a21-para: 1.25em;
}

:root:lang(zh) {
	--a21-font-body: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
	--a21-font-display: "Noto Serif TC", "PMingLiU", serif;
	--a21-display-scale: 1;
	--a21-track-display: 0.04em;
	--a21-track-brand: 0.12em;
	--a21-track-catch: 0.28em;
	--a21-fs: clamp(1.125rem, 1.04rem + 0.3vw, 1.1875rem);
	--a21-lh: 1.95;
	--a21-measure: 36em;
	--a21-para: 1.2em;
}

:root:lang(ar) {
	/* アラビア文字は字間を空けると字がつながらなくなるので、字間は常に 0 */
	--a21-font-body: "Noto Naskh Arabic", "Tahoma", sans-serif;
	--a21-font-display: "Amiri", "Noto Naskh Arabic", serif;
	--a21-display-scale: 1.05;
	--a21-track-display: 0;
	--a21-track-brand: 0;
	--a21-track-catch: 0;
	--a21-fs: clamp(1.1875rem, 1.1rem + 0.3vw, 1.3125rem);
	--a21-lh: 2;
	--a21-measure: 34em;
	--a21-para: 1.1em;
}

:root:lang(hi) {
	--a21-font-body: "Noto Sans Devanagari", "Nirmala UI", sans-serif;
	--a21-font-display: "Noto Serif Devanagari", "Noto Sans Devanagari", serif;
	--a21-display-scale: 1;
	--a21-track-display: 0;
	--a21-track-brand: 0.02em;
	--a21-track-catch: 0.04em;
	--a21-fs: clamp(1.125rem, 1.07rem + 0.25vw, 1.1875rem);
	--a21-lh: 1.9;
	--a21-measure: 36em;
	--a21-para: 1.15em;
}

/* 夜空（ヘッダー・フッター・画像の無い記事で使う） */
:root {
	--a21-stars:
		radial-gradient(1.4px 1.4px at 22px 34px, #fff 45%, transparent 100%) 0 0 / 173px 121px,
		radial-gradient(1px 1px at 96px 72px, rgba(255, 255, 255, 0.85) 45%, transparent 100%) 0 0 / 211px 97px,
		radial-gradient(1.8px 1.8px at 150px 22px, #fff 40%, transparent 100%) 0 0 / 263px 151px,
		radial-gradient(1.2px 1.2px at 44px 112px, rgba(245, 215, 225, 0.9) 45%, transparent 100%) 0 0 / 137px 131px,
		radial-gradient(2.2px 2.2px at 300px 64px, rgba(255, 255, 255, 0.95) 35%, transparent 100%) 0 0 / 389px 173px,
		radial-gradient(1px 1px at 62px 50px, rgba(205, 212, 255, 0.75) 45%, transparent 100%) 0 0 / 97px 83px;
}

/* ==========================================================================
   2. 土台
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--a21-moon);
	color: var(--a21-ink);
	font-family: var(--a21-font-body);
	font-size: 1rem;
	line-height: 1.75;
	overflow-wrap: anywhere;
	-webkit-font-smoothing: antialiased;
}

img,
video,
iframe {
	max-inline-size: 100%;
}

img {
	block-size: auto;
}

a {
	color: var(--a21-link);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

a:hover {
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline: 3px solid var(--a21-dawn-deep);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.a21-skip {
	position: absolute;
	inset-inline-start: 8px;
	inset-block-start: -200px;
	z-index: 100;
	padding: 10px 16px;
	background: #fff;
	color: var(--a21-ink);
	border-radius: 6px;
}

.a21-skip:focus {
	inset-block-start: 8px;
}

/* ==========================================================================
   3. ヘッダー：夜明け前の星空の帯（このテーマの見せ場）
   ========================================================================== */
.a21-sky {
	position: relative;
	isolation: isolate; /* またたく星の層（::before）を帯の中に閉じ込める */
	color: #fff;
	background:
		var(--a21-stars),
		radial-gradient(120% 90% at 50% 145%, color-mix(in srgb, var(--a21-dawn) 50%, transparent) 0%, rgba(124, 84, 164, 0.28) 38%, transparent 68%),
		linear-gradient(180deg, var(--a21-sky-top) 0%, color-mix(in oklab, var(--a21-sky-top) 75%, var(--a21-sky-bottom)) 48%, var(--a21-sky-bottom) 100%);
}

.a21-sky::after {
	/* 地平線に差しはじめた光 */
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	block-size: 2px;
	background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--a21-dawn) 70%, transparent) 25%, #f7dcc0 50%, color-mix(in srgb, var(--a21-dawn) 70%, transparent) 75%, transparent 100%);
}

/* またたく星（2026-09-29 Masaharuさん「実際にキラキラ点滅する仕様に」）。
   背景の静かな星の上に、少し大きめの星の層を重ね、明るさを不規則に変える。
   動きを減らす設定の人には、下の prefers-reduced-motion で止まる。 */
.a21-sky::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1; /* 帯の背景のすぐ上・文字やメニューの下 */
	pointer-events: none;
	background:
		radial-gradient(2.4px 2.4px at 64px 40px, #fff 40%, transparent 100%) 0 0 / 331px 187px,
		radial-gradient(2px 2px at 210px 118px, rgba(255, 244, 214, 0.95) 40%, transparent 100%) 0 0 / 419px 211px,
		radial-gradient(2.8px 2.8px at 140px 70px, rgba(255, 255, 255, 0.95) 35%, transparent 100%) 0 0 / 523px 157px,
		radial-gradient(1.8px 1.8px at 30px 150px, rgba(214, 222, 255, 0.9) 40%, transparent 100%) 0 0 / 277px 199px,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='383' height='197' viewBox='0 0 383 197'%3E%3Cpath d='M48 28 C49.32 32.68 49.32 32.68 54 34 C49.32 35.32 49.32 35.32 48 40 C46.68 35.32 46.68 35.32 42 34 C46.68 32.68 46.68 32.68 48 28Z' fill='%23fff'/%3E%3Cpath d='M236 115.5 C236.99 119.01 236.99 119.01 240.5 120 C236.99 120.99 236.99 120.99 236 124.5 C235.01 120.99 235.01 120.99 231.5 120 C235.01 119.01 235.01 119.01 236 115.5Z' fill='%23fff4d6'/%3E%3Cpath d='M322 53 C323.1 56.9 323.1 56.9 327 58 C323.1 59.1 323.1 59.1 322 63 C320.9 59.1 320.9 59.1 317 58 C320.9 56.9 320.9 56.9 322 53Z' fill='%23fff'/%3E%3C/svg%3E") 0 0 / 383px 197px; /* 十字のきらめき星（2026-09-29 スマホで点滅が分かりにくい） */
	filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.8));
	animation: a21-twinkle 5.5s ease-in-out infinite;
}

/* 帯の中身の側にも、時間をずらして明滅するきらめき星をもう1枚 */
.a21-sky__inner {
	position: relative;
}

.a21-sky__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='457' height='173' viewBox='0 0 457 173'%3E%3Cpath d='M140 23 C141.1 26.9 141.1 26.9 145 28 C141.1 29.1 141.1 29.1 140 33 C138.9 29.1 138.9 29.1 135 28 C138.9 26.9 138.9 26.9 140 23Z' fill='%23fff'/%3E%3Cpath d='M390 104 C391.32 108.68 391.32 108.68 396 110 C391.32 111.32 391.32 111.32 390 116 C388.68 111.32 388.68 111.32 384 110 C388.68 108.68 388.68 108.68 390 104Z' fill='%23dde4ff'/%3E%3Cpath d='M60 136 C60.88 139.12 60.88 139.12 64 140 C60.88 140.88 60.88 140.88 60 144 C59.12 140.88 59.12 140.88 56 140 C59.12 139.12 59.12 139.12 60 136Z' fill='%23fff'/%3E%3C/svg%3E") 0 0 / 457px 173px;
	filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.9));
	animation: a21-twinkle 4.3s ease-in-out infinite;
	animation-delay: -1.7s;
}

@keyframes a21-glint {
	0%   { opacity: 0.6; }
	22%  { opacity: 1; }
	45%  { opacity: 0.72; }
	70%  { opacity: 1; }
	100% { opacity: 0.6; }
}

@keyframes a21-twinkle {
	0%   { opacity: 0.25; }
	18%  { opacity: 1; }
	33%  { opacity: 0.45; }
	52%  { opacity: 0.95; }
	70%  { opacity: 0.2; }
	86%  { opacity: 0.8; }
	100% { opacity: 0.25; }
}

.a21-sky__inner {
	max-inline-size: 1180px;
	margin-inline: auto;
	padding: 44px 16px 0;
	display: grid;
	justify-items: center;
	text-align: center;
}

.a21-brand__catch {
	margin: 0 0 0.6em;
	font-family: var(--a21-font-display);
	font-size: 0.95rem;
	letter-spacing: var(--a21-track-catch);
	color: var(--a21-dawn-pale);
	line-height: 1.6;
}

.a21-brand__name {
	margin: 0;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(clamp(1.6rem, 1.05rem + 2.4vw, 2.75rem) * var(--a21-display-scale));
	letter-spacing: var(--a21-track-brand);
	line-height: 1.35;
}

.a21-brand__name a {
	color: #fff;
	text-decoration: none;
}

.a21-brand__name a:hover {
	text-shadow: 0 0 18px rgba(245, 215, 225, 0.55);
}

.a21-menu-btn {
	display: none;
}

.a21-nav {
	inline-size: 100%;
	margin-block-start: 30px;
	border-block-start: 1px solid rgba(255, 255, 255, 0.14);
	/* メニューの帯：画面の端から端まで敷く（既定は透明＝星空が見える） */
	background: var(--a21-nav-bg);
	box-shadow: 0 0 0 100vmax var(--a21-nav-bg);
	clip-path: inset(0 -100vmax);
}

.a21-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.a21-nav__list a {
	display: block;
	padding: 15px 22px 16px;
	color: var(--a21-nav-text);
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.a21-nav__list a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.07);
}

.a21-nav__list .current-menu-item > a {
	color: #fff;
	box-shadow: inset 0 -2px 0 var(--a21-dawn);
}

.a21-nav__search {
	display: none;
}

.a21-sky :focus-visible {
	outline-color: var(--a21-dawn-pale);
}

@media (max-width: 959px) {
	.a21-sky__inner {
		position: relative;
		padding: calc(62px + env(safe-area-inset-top, 0px)) 16px 22px; /* 左上の「メニュー」ボタンの分と、iPhone の時計・電池の表示の分だけ下げる */
	}

	.a21-brand__catch {
		font-size: 0.82rem;
	}

	/* メニューボタンはヘッダーの左上の隅（アラビア語は右上）。2026-09-29 Masaharuさん指示 */
	.a21-menu-btn {
		position: absolute;
		inset-block-start: calc(12px + env(safe-area-inset-top, 0px)); /* iPhone の時計の下へ */
		inset-inline-start: calc(12px + env(safe-area-inset-left, 0px));
		z-index: 2;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin: 0;
		min-block-size: 40px;
		padding: 0 14px;
		border: 1px solid rgba(255, 255, 255, 0.4);
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.06);
		color: var(--a21-nav-text);
		font: inherit;
		font-size: 1rem;
		cursor: pointer;
	}

	.a21-menu-btn__icon,
	.a21-menu-btn__icon::before,
	.a21-menu-btn__icon::after {
		display: block;
		inline-size: 18px;
		block-size: 2px;
		background: currentColor;
		border-radius: 1px;
	}

	.a21-menu-btn__icon {
		position: relative;
	}

	.a21-menu-btn__icon::before,
	.a21-menu-btn__icon::after {
		content: "";
		position: absolute;
		inset-inline-start: 0;
	}

	.a21-menu-btn__icon::before {
		inset-block-start: -6px;
	}

	.a21-menu-btn__icon::after {
		inset-block-start: 6px;
	}

	.a21-menu-btn__close,
	.a21-menu-btn[aria-expanded="true"] .a21-menu-btn__open {
		display: none;
	}

	.a21-menu-btn[aria-expanded="true"] .a21-menu-btn__close {
		display: inline;
	}

	.a21-menu-btn[aria-expanded="true"] .a21-menu-btn__icon {
		background: transparent;
	}

	.a21-menu-btn[aria-expanded="true"] .a21-menu-btn__icon::before {
		inset-block-start: 0;
		transform: rotate(45deg);
	}

	.a21-menu-btn[aria-expanded="true"] .a21-menu-btn__icon::after {
		inset-block-start: 0;
		transform: rotate(-45deg);
	}

	.a21-nav {
		margin-block-start: 18px;
		border-block-start: 0;
	}

	.js .a21-nav {
		display: none;
	}

	.js .a21-nav.is-open {
		display: block;
	}

	.a21-nav__list {
		display: block;
		border-block-start: 1px solid rgba(255, 255, 255, 0.14);
	}

	.a21-nav__list li {
		border-block-end: 1px solid rgba(255, 255, 255, 0.14);
	}

	.a21-nav__list a {
		padding: 14px 8px;
		font-size: 1.0625rem;
	}

	.a21-nav__list .current-menu-item > a {
		box-shadow: none;
		color: var(--a21-dawn-pale);
	}

	.a21-nav__search {
		display: block;
		padding-block: 18px 4px;
	}
}

@media (max-width: 599px) {
	/* 縦画面は幅が狭く星が少なく見えるので、きらめき星を詰めて数を増やす（2026-09-29 Masaharuさん「縦画面だとキラキラが弱い」） */
	.a21-sky__inner::before {
		background-size: 229px 104px;
	}

	.a21-sky__inner {
		padding-block-start: calc(58px + env(safe-area-inset-top, 0px)); /* 左上の「メニュー」ボタンの分＋iPhone の時計の分 */
	}
}

@media (max-width: 389px) {
	.a21-brand__name {
		letter-spacing: calc(var(--a21-track-brand) * 0.5);
	}
}

/* ==========================================================================
   4. 2段組み（本文＋サイドバー）
   ========================================================================== */
.a21-layout {
	max-inline-size: 1180px;
	margin-inline: auto;
	padding: 0 24px 64px;
	display: grid;
	gap: 44px;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
	.a21-layout {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 52px;
	}
}

.a21-main {
	min-inline-size: 0;
}

.a21-sheet {
	background: var(--a21-paper);
	border: 1px solid var(--a21-line);
	border-radius: 6px;
	padding: clamp(24px, 4vw, 48px);
}

@media (max-width: 599px) {
	.a21-layout {
		padding-inline: 0;
		gap: 36px;
	}

	.a21-sheet {
		border-inline: 0;
		border-radius: 0;
		padding: 26px 18px;
	}
}

/* パンくず */
.a21-crumbs {
	padding-block: 18px 12px;
	font-size: 0.875rem;
	color: var(--a21-ink-soft);
}

.a21-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.a21-crumbs li + li::before {
	content: "›";
	margin-inline: 0.55em;
	color: #9a9db3;
}

[dir="rtl"] .a21-crumbs li + li::before {
	content: "‹";
}

.a21-crumbs a {
	color: var(--a21-ink-soft);
}

@media (max-width: 599px) {
	.a21-crumbs,
	.a21-archive-head,
	.a21-related,
	.a21-side {
		padding-inline: 16px;
	}
}

/* ==========================================================================
   5. 記事
   ========================================================================== */
.a21-article__head {
	margin-block-end: 2em;
	padding-block-end: 1.3em;
	border-block-end: 1px solid var(--a21-line);
}

.a21-cat {
	margin: 0 0 0.5em;
	font-size: 0.95rem;
}

.a21-cat a {
	color: var(--a21-dawn-deep);
	text-decoration: none;
	letter-spacing: 0.03em;
}

.a21-cat a:hover {
	text-decoration: underline;
}

.a21-title {
	margin: 0 0 0.55em;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(clamp(1.55rem, 1.2rem + 1.3vw, 2.125rem) * var(--a21-display-scale));
	line-height: 1.5;
	letter-spacing: var(--a21-track-display);
	color: var(--a21-ink);
}

/* 見出しは行末に1字だけ残さない。日本語は文節で折り返す */
.a21-title,
.a21-hero__heading,
.a21-archive-head__title,
.a21-entry__title,
.a21-content h2,
.a21-content h3 {
	text-wrap: balance;
}

:lang(ja) .a21-title,
:lang(ja) .a21-hero__lead,
:lang(ja) .a21-hero__heading,
:lang(ja) .a21-archive-head__title,
:lang(ja) .a21-entry__title,
:lang(ja) .a21-content h2,
:lang(ja) .a21-content h3 {
	word-break: auto-phrase;
}

:lang(ja) .a21-title,
:lang(ja) .a21-content h2,
:lang(ja) .a21-content h3,
:lang(ja) .a21-entry__title,
:lang(ja) .a21-archive-head__title {
	font-feature-settings: "palt";
}

.a21-date {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em 1.2em;
	margin: 0;
	font-size: 0.95rem;
	color: var(--a21-ink-soft);
}

/* 本文 */
.a21-content {
	max-inline-size: var(--a21-measure);
	font-size: var(--a21-fs);
	line-height: var(--a21-lh);
	color: var(--a21-ink);
}

.a21-content > :first-child {
	margin-block-start: 0;
}

.a21-content p {
	margin-block: 0 var(--a21-para);
}

.a21-content h2 {
	position: relative;
	margin-block: 2.3em 1em;
	padding-block-end: 0.5em;
	padding-inline-start: 1.15em;
	border-block-end: 1px solid var(--a21-line);
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1.34em * var(--a21-display-scale));
	line-height: 1.55;
	letter-spacing: var(--a21-track-display);
	color: var(--a21-ink);
}

/* 見出しの印：夜空の星ひとつ */
.a21-content h2::before,
.a21-section-title::before,
.a21-widget__title::before {
	content: "\2726";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0.5em;
	font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
	font-size: 0.62em;
	line-height: 1;
	color: var(--a21-dawn-deep);
}

.a21-content h3 {
	margin-block: 2em 0.8em;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1.16em * var(--a21-display-scale));
	line-height: 1.6;
	letter-spacing: var(--a21-track-display);
	color: #2b2f63;
}

.a21-content h4,
.a21-content h5,
.a21-content h6 {
	margin-block: 1.8em 0.6em;
	font-size: 1.05em;
	line-height: 1.6;
}

.a21-content ul,
.a21-content ol {
	margin-block: 0 var(--a21-para);
	padding-inline-start: 1.4em;
}

.a21-content li {
	margin-block-end: 0.35em;
}

.a21-content blockquote {
	margin: 1.6em 0;
	padding: 1em 1.3em;
	background: #f6f5fb;
	border-inline-start: 3px solid var(--a21-dawn);
	border-radius: 0 6px 6px 0;
}

[dir="rtl"] .a21-content blockquote {
	border-radius: 6px 0 0 6px;
}

.a21-content blockquote > :last-child {
	margin-block-end: 0;
}

.a21-content hr {
	margin: 2.4em auto;
	border: 0;
	block-size: 1px;
	background: var(--a21-line);
}

.a21-content img {
	border-radius: 4px;
	vertical-align: middle;
}

.a21-content .dashicons,
.a21-content .dashicons-before::before {
	vertical-align: middle;
}

.a21-content figure {
	margin: 1.6em 0;
}

.a21-content figcaption,
.a21-content .wp-caption-text {
	margin-block-start: 0.5em;
	font-size: 0.85em;
	color: var(--a21-ink-soft);
	text-align: center;
}

.a21-content .aligncenter {
	display: block;
	margin-inline: auto;
}

.a21-content .alignleft {
	float: inline-start;
	margin-inline-end: 1.2em;
	margin-block-end: 0.8em;
}

.a21-content .alignright {
	float: inline-end;
	margin-inline-start: 1.2em;
	margin-block-end: 0.8em;
}

.a21-content .wp-caption {
	max-inline-size: 100%;
}

.a21-content table {
	inline-size: 100%;
	margin-block: 1.4em;
	border-collapse: collapse;
	font-size: 0.92em;
}

.a21-content th,
.a21-content td {
	padding: 0.6em 0.8em;
	border: 1px solid var(--a21-line);
	text-align: start;
	vertical-align: top;
}

.a21-content th {
	background: #f4f5fa;
}

.a21-content ruby rt {
	font-size: 0.5em;
	letter-spacing: 0;
}

.a21-content iframe {
	display: block;
	margin-inline: auto;
}

.a21-content::after {
	content: "";
	display: table;
	clear: both;
}

.a21-pagelinks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-block-start: 2em;
	font-size: 1rem;
}

/* 前後の記事 */
.a21-postnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-block-start: 2.6em;
}

.a21-postnav__link {
	display: flex;
	flex-direction: column;
	gap: 0.3em;
	padding: 14px 18px;
	border: 1px solid var(--a21-line);
	border-radius: 6px;
	color: var(--a21-ink);
	text-decoration: none;
}

.a21-postnav__link:hover {
	border-color: #aeb3cf;
	background: #fafaff;
}

.a21-postnav__link--next {
	grid-column: 2;
	text-align: end;
}

.a21-postnav__label {
	font-size: 0.85rem;
	color: var(--a21-ink-soft);
}

.a21-postnav__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 1rem;
	line-height: 1.6;
}

@media (max-width: 599px) {
	.a21-postnav {
		grid-template-columns: 1fr;
	}

	.a21-postnav__link--next {
		grid-column: 1;
	}
}

/* 見出し（関連記事・ウィジェット共通） */
.a21-section-title,
.a21-widget__title {
	position: relative;
	margin: 0 0 14px;
	padding-inline-start: 1.25em;
	font-family: var(--a21-font-display);
	font-weight: 600;
	letter-spacing: var(--a21-track-display);
	line-height: 1.5;
	color: var(--a21-ink);
}

.a21-section-title {
	font-size: calc(1.35rem * var(--a21-display-scale));
}

/* 関連記事 */
.a21-related {
	margin-block-start: 44px;
}

.a21-related__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.a21-related__item a {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	block-size: 100%;
	padding: 10px;
	background: var(--a21-paper);
	border: 1px solid var(--a21-line);
	border-radius: 6px;
	color: var(--a21-ink);
	text-decoration: none;
}

.a21-related__item a:hover {
	border-color: #aeb3cf;
}

.a21-related__item a:hover .a21-related__title {
	color: var(--a21-link);
	text-decoration: underline;
}

.a21-related .a21-thumb {
	aspect-ratio: 1;
}

.a21-related__title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 1rem;
	line-height: 1.6;
}

/* ==========================================================================
   6. 記事一覧（トップ・カテゴリー・検索）
   ========================================================================== */
.a21-archive-head {
	padding-block: 6px 22px;
}

.a21-archive-head__title {
	margin: 0;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(clamp(1.55rem, 1.2rem + 1.3vw, 2.125rem) * var(--a21-display-scale));
	letter-spacing: var(--a21-track-display);
	line-height: 1.45;
}

.a21-archive-head__desc {
	margin-block-start: 0.6em;
	color: var(--a21-ink-soft);
}

.a21-archive-head .a21-search {
	margin-block-start: 16px;
	max-inline-size: 520px;
}

.a21-list.a21-sheet {
	padding-block: 6px;
}

.a21-entry + .a21-entry,
.a21-list > .a21-ad {
	border-block-start: 1px solid var(--a21-line);
}

.a21-entry__link {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	padding-block: 26px;
	color: inherit;
	text-decoration: none;
}

.a21-thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 4px;
	background: #f2f3f8;
}

.a21-thumb img,
.a21-thumb__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: 0;
}

.a21-thumb__none {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	background:
		var(--a21-stars),
		radial-gradient(120% 90% at 50% 150%, color-mix(in srgb, var(--a21-dawn) 45%, transparent), transparent 65%),
		linear-gradient(180deg, var(--a21-night), var(--a21-night-2));
}

.a21-entry__body {
	display: flex;
	flex-direction: column;
	gap: 0.35em;
	min-inline-size: 0;
}

.a21-entry__cat {
	font-size: 0.875rem;
	color: var(--a21-dawn-deep);
	letter-spacing: 0.03em;
}

.a21-entry__title {
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1.3rem * var(--a21-display-scale));
	line-height: 1.55;
	letter-spacing: var(--a21-track-display);
	color: var(--a21-ink);
}

.a21-entry__link:hover .a21-entry__title {
	color: var(--a21-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.a21-entry__date {
	display: block; /* 公開日・更新日を2行に */
	font-size: 0.9rem;
	color: var(--a21-ink-soft);
}

.a21-entry__date--mod {
	margin-block-start: -0.35em;
}

.a21-entry__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-block-start: 0.2em;
	font-size: 1rem;
	line-height: 1.8;
	color: #4a4d63;
}

/* トップの最新の1件 */
.a21-entry.is-lead {
	position: relative;
}

/* 枠の左上の「最新記事」 */
.a21-entry__badge {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	z-index: 1;
	padding: 0.3em 0.9em;
	border-end-end-radius: 10px;
	background: var(--a21-night);
	color: #fff;
	font-size: 0.82rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	pointer-events: none;
}

.a21-entry.is-lead .a21-entry__link {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	padding-block: 30px;
}

.a21-entry.is-lead .a21-entry__excerpt {
	-webkit-line-clamp: 4;
}

.a21-entry.is-lead .a21-entry__title {
	font-size: calc(clamp(1.35rem, 1.15rem + 0.7vw, 1.65rem) * var(--a21-display-scale));
	line-height: 1.5;
}

@media (max-width: 599px) {
	.a21-list.a21-sheet {
		padding-block: 0;
	}

	.a21-entry__link {
		grid-template-columns: 108px minmax(0, 1fr);
		gap: 14px;
		padding-block: 18px;
	}

	.a21-entry__title {
		font-size: calc(1.1rem * var(--a21-display-scale));
	}

	.a21-entry__excerpt {
		-webkit-line-clamp: 2;
		font-size: 0.95rem;
	}

	.a21-entry.is-lead .a21-entry__link {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 40px 22px;
		gap: 14px;
	}

	.a21-entry.is-lead .a21-thumb {
		margin-inline: -18px;
		border-radius: 0;
	}

	.a21-entry.is-lead .a21-entry__excerpt {
		-webkit-line-clamp: 3;
	}
}

/* ページ送り */
.a21-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-block: 28px 0;
}

.a21-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 48px;
	min-block-size: 48px;
	padding: 0 16px;
	background: var(--a21-paper);
	border: 1px solid var(--a21-line);
	border-radius: 6px;
	color: var(--a21-ink);
	font-size: 1rem;
	text-decoration: none;
}

.a21-pagination a.page-numbers:hover {
	border-color: var(--a21-link);
	color: var(--a21-link);
}

.a21-pagination .page-numbers.current {
	background: var(--a21-night);
	border-color: var(--a21-night);
	color: #fff;
}

.a21-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	min-inline-size: 24px;
	padding: 0;
}

.a21-empty p {
	margin-block: 0 1em;
	font-size: 1.05rem;
}

.a21-404__home {
	margin-block: 1.4em 0;
	font-size: 1.05rem;
}

.a21-404 .a21-search {
	max-inline-size: 520px;
}

/* ==========================================================================
   7. 広告枠（高さを先に確保して、広告が入っても本文がずれないようにする）
   ========================================================================== */
.a21-ad {
	clear: both;
	margin-block: 2.2em;
	text-align: center;
}

.a21-ad__label {
	margin: 0 0 6px;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	color: var(--a21-ink-soft);
	line-height: 1.4;
}

:lang(ar) .a21-ad__label {
	letter-spacing: 0;
}

.a21-ad__slot {
	min-block-size: 280px;
}

.a21-ad__slot > * {
	inline-size: 100%;
}

.a21-ad--sidebar {
	margin-block: 0;
}

.a21-ad--sidebar .a21-ad__slot {
	min-block-size: 250px;
}

.a21-list > .a21-ad {
	margin: 0;
	padding-block: 18px;
}

@media (min-width: 768px) {
	.a21-ad--above .a21-ad__slot,
	.a21-ad--incontent .a21-ad__slot,
	.a21-ad--below .a21-ad__slot,
	.a21-ad--list .a21-ad__slot {
		min-block-size: 250px;
	}
}

/* 広告が配信されなかった枠は畳む */
.a21-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
	display: none;
}

/* ==========================================================================
   8. サイドバー
   ========================================================================== */
.a21-side {
	display: flex;
	flex-direction: column;
	gap: 38px;
	padding-block-start: 18px;
	font-size: 1.0625rem;
	line-height: 1.85;
	min-inline-size: 0;
}

.a21-widget__title {
	font-size: calc(1.15rem * var(--a21-display-scale));
	padding-block-end: 8px;
	border-block-end: 1px solid var(--a21-line);
}

.a21-widget__title::before {
	inset-block-start: 0.55em;
}

.a21-widget p {
	margin-block: 0 0.8em;
}

/* ブロック形式のウィジェットの見出し（各国語版の初期ウィジェット） */
.a21-widget .wp-block-heading,
.a21-widget .wp-block-group > h2 {
	margin: 0 0 12px;
	padding-block-end: 8px;
	border-block-end: 1px solid var(--a21-line);
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1.15rem * var(--a21-display-scale));
	line-height: 1.5;
}

.a21-widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.a21-widget li {
	border-block-end: 1px solid var(--a21-line);
}

.a21-widget li a {
	display: block;
	padding: 10px 2px;
	color: var(--a21-ink);
	text-decoration: none;
}

.a21-widget li a:hover {
	color: var(--a21-link);
	text-decoration: underline;
}

.a21-widget.widget_archive ul {
	max-block-size: 22em;
	overflow-y: auto;
	padding-inline-end: 6px;
}

/* 件数「(647)」をリンクと同じ行に置く（カテゴリー・アーカイブ） */
.a21-widget.widget_archive li,
.a21-widget.widget_categories li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.3em;
	color: var(--a21-ink-soft);
}

.a21-widget.widget_archive li a,
.a21-widget.widget_categories li a {
	flex: 1;
}

.a21-widget.widget_categories li ul {
	flex-basis: 100%;
	padding-inline-start: 1em;
}

/* ==========================================================================
   9. 検索・フォーム
   ========================================================================== */
.a21-search {
	display: flex;
	gap: 8px;
}

.a21-search__input,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
	inline-size: 100%;
	min-inline-size: 0;
	min-block-size: 48px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid #b7bbd0;
	border-radius: 6px;
	color: var(--a21-ink);
	font: inherit;
	font-size: 1.0625rem;
}

.a21-search__input {
	flex: 1;
}

.a21-search__btn,
.wpcf7 input[type="submit"],
.comment-form input[type="submit"] {
	min-block-size: 48px;
	padding: 0 20px;
	background: var(--a21-night);
	border: 0;
	border-radius: 6px;
	color: #fff;
	font: inherit;
	font-size: 1rem;
	cursor: pointer;
	white-space: nowrap;
}

.a21-search__btn:hover,
.wpcf7 input[type="submit"]:hover,
.comment-form input[type="submit"]:hover {
	background: var(--a21-night-2);
}

.a21-sky .a21-search__input {
	border-color: transparent;
}

.a21-sky .a21-search__btn {
	background: var(--a21-dawn);
	color: var(--a21-night);
	font-weight: 700;
}

.wpcf7 p {
	margin-block: 0 1.2em;
}

/* ブロック形式の検索（各国語版の初期ウィジェット） */
.wp-block-search__label {
	display: block;
	margin-block-end: 10px;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1.15rem * var(--a21-display-scale));
}

.wp-block-search__inside-wrapper {
	display: flex;
	gap: 8px;
}

.wp-block-search__input {
	flex: 1;
	min-inline-size: 0;
	min-block-size: 48px;
	padding: 10px 14px;
	border: 1px solid #b7bbd0;
	border-radius: 6px;
	font: inherit;
	font-size: 1.0625rem;
}

.wp-block-search__button {
	min-block-size: 48px;
	margin: 0;
	padding: 0 20px;
	background: var(--a21-night);
	border: 0;
	border-radius: 6px;
	color: #fff;
	font: inherit;
	font-size: 1rem;
	white-space: nowrap;
	cursor: pointer;
}

/* ==========================================================================
   10. フッター（夜空の帯をもう一度）
   ========================================================================== */
.a21-foot {
	position: relative;
	color: #d9dbf0;
	background:
		var(--a21-stars),
		radial-gradient(120% 80% at 50% -40%, color-mix(in srgb, var(--a21-dawn) 28%, transparent), transparent 60%),
		linear-gradient(180deg, var(--a21-sky-bottom) 0%, color-mix(in oklab, var(--a21-sky-top) 75%, var(--a21-sky-bottom)) 45%, var(--a21-sky-top) 100%);
	text-align: center;
}

.a21-foot::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-start: 0;
	block-size: 2px;
	background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--a21-dawn) 60%, transparent) 30%, #f7dcc0 50%, color-mix(in srgb, var(--a21-dawn) 60%, transparent) 70%, transparent 100%);
}

.a21-foot__inner {
	max-inline-size: 1180px;
	margin-inline: auto;
	padding: 44px 16px 36px;
}

.a21-foot__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2px 0;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.a21-foot__list a {
	display: block;
	padding: 8px 16px;
	color: #eceefb;
	font-size: 0.95rem;
	text-decoration: none;
}

.a21-foot__list a:hover {
	text-decoration: underline;
}

.a21-foot__name {
	margin: 0 0 6px;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1.25rem * var(--a21-display-scale));
	letter-spacing: var(--a21-track-brand);
}

.a21-foot__name a {
	color: #fff;
	text-decoration: none;
}

.a21-foot__copy {
	margin: 0;
	font-size: 0.8rem;
	color: #a9acca;
}

.a21-foot :focus-visible {
	outline-color: var(--a21-dawn-pale);
}

/* ==========================================================================
   10b. ボタン
   ========================================================================== */
.a21-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 48px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	text-align: center;
}

.a21-btn--dawn {
	background: var(--a21-dawn);
	color: var(--a21-night);
}

.a21-btn--dawn:hover {
	background: var(--a21-dawn-pale);
}

.a21-btn--ghost {
	border-color: rgba(255, 255, 255, 0.55);
	color: #fff;
}

.a21-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
}

.a21-btn--night {
	background: var(--a21-night);
	color: #fff;
}

.a21-btn--night:hover {
	background: var(--a21-night-2);
}

/* ==========================================================================
   12. トップの主役（ソラトの絵）
   ========================================================================== */
body.home:not(.paged) .a21-sky::after {
	display: none; /* 地平の光は主役の下へ移す */
}

.a21-hero {
	position: relative;
	color: #fff;
	background:
		var(--a21-stars),
		radial-gradient(90% 80% at 30% 120%, color-mix(in srgb, var(--a21-dawn) 42%, transparent) 0%, rgba(124, 84, 164, 0.22) 40%, transparent 70%),
		linear-gradient(180deg, var(--a21-night-2) 0%, #342a68 55%, #3d2f6a 100%);
	overflow: hidden;
}

.a21-hero::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	block-size: 2px;
	background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--a21-dawn) 70%, transparent) 25%, #f7dcc0 50%, color-mix(in srgb, var(--a21-dawn) 70%, transparent) 75%, transparent 100%);
}

.a21-hero__inner {
	position: relative;
	z-index: 1;
	max-inline-size: 1180px;
	margin-inline: auto;
	padding: 44px 24px 56px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 400px);
	gap: 48px;
	align-items: center;
}

.a21-hero__heading {
	margin: 0 0 0.6em;
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(clamp(1.6rem, 1.1rem + 1.9vw, 2.5rem) * var(--a21-display-scale));
	line-height: 1.45;
	letter-spacing: var(--a21-track-display);
}

.a21-hero__lead {
	text-wrap: pretty;
	max-inline-size: 30em;
	margin: 0 0 1.6em;
	font-size: clamp(1.05rem, 1rem + 0.25vw, 1.2rem);
	line-height: 1.95;
	color: #e7e8f8;
}

.a21-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

/* 代わりの絵（正方形）は丸い窓に入れる：夜空に浮かぶ月のように */
.a21-hero__frame {
	margin: 0;
	justify-self: center;
	inline-size: 100%;
	max-inline-size: 400px;
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(245, 215, 225, 0.55), 0 0 0 10px rgba(255, 255, 255, 0.05), 0 0 60px color-mix(in srgb, var(--a21-dawn) 35%, transparent);
}

.a21-hero__frame img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

/* Codex の横長の絵（hero.webp 3:2）があるとき：絵を全面に敷く。ソラトは絵の左3分の1にいるので、文字は右の夜空に載せる */
.a21-hero--full {
	min-block-size: clamp(440px, 46vw, 640px);
	display: grid;
	align-items: start;
}

.a21-hero__art img {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: 30% 22%;
}

/* 絵に描かれた明るい星の明滅：星だけの透明な層を絵と同じ切り方で重ね、
   「スクリーン」で足して明るさとにじみを波打たせる（2026-09-29 Masaharuさん「明るい星は明滅しないのね」） */
.a21-hero__stars img {
	position: absolute;
	inset: 0;
	z-index: 1;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: 30% 22%;
	mix-blend-mode: screen;
	filter: brightness(1.6) drop-shadow(0 0 4px rgba(255, 255, 255, 0.9));
	pointer-events: none;
	animation: a21-twinkle 4.2s ease-in-out infinite;
}

/* 男の子の瞳の潤んだ光：絵と同じ切り方で重ね、ほんの少し揺らしながら光らせる
   （2026-09-29 Masaharuさん「男の子の瞳をウルウルと揺れる瞳に」） */
.a21-hero__eyes img {
	position: absolute;
	inset: 0;
	z-index: 1;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: 30% 22%;
	pointer-events: none;
	animation: a21-uru 2.6s ease-in-out infinite;
}

@keyframes a21-uru {
	0%   { transform: translate(0, 0);         opacity: 0.75; }
	20%  { transform: translate(0.6px, -0.4px); opacity: 1; }
	40%  { transform: translate(-0.5px, 0.3px); opacity: 0.6; }
	60%  { transform: translate(0.4px, 0.5px);  opacity: 0.95; }
	80%  { transform: translate(-0.3px, -0.5px); opacity: 0.7; }
	100% { transform: translate(0, 0);         opacity: 0.75; }
}

/* トップの絵の空でまたたく星（2026-09-29 Masaharuさん「男の子の背景の星々にも」）。
   絵の上・文字の影の下。空の部分（上側）だけに出し、丘と男の子にはかけない。 */
.a21-hero__twinkle {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(2.6px 2.6px at 90px 60px, #fff 40%, transparent 100%) 0 0 / 367px 223px,
		radial-gradient(2px 2px at 250px 150px, rgba(255, 244, 214, 0.95) 40%, transparent 100%) 0 0 / 461px 251px,
		radial-gradient(3px 3px at 170px 40px, rgba(255, 255, 255, 0.95) 35%, transparent 100%) 0 0 / 587px 191px,
		radial-gradient(1.8px 1.8px at 40px 170px, rgba(214, 222, 255, 0.9) 40%, transparent 100%) 0 0 / 299px 239px;
	filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.85));
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 42%, transparent 60%);
	mask-image: linear-gradient(180deg, #000 0%, #000 42%, transparent 60%);
	animation: a21-twinkle 6.5s ease-in-out infinite;
	animation-delay: -2s;
}

.a21-hero--full::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(270deg, rgba(14, 19, 54, 0.6) 0%, rgba(14, 19, 54, 0.3) 40%, transparent 62%);
}

.a21-hero--full .a21-hero__inner {
	inline-size: 100%;
	grid-template-columns: minmax(0, 1fr) minmax(0, 600px);
	padding-block: clamp(40px, 5vw, 72px) 48px;
	z-index: 2;
}

.a21-hero--full .a21-hero__text {
	grid-column: 2;
	text-shadow: 0 1px 12px rgba(14, 19, 54, 0.6);
}

/* 絵は裏返さない。右から左の言語でも文字は右の空（そのまま自然な位置） */
[dir="rtl"] .a21-hero--full .a21-hero__inner {
	direction: ltr;
}

[dir="rtl"] .a21-hero--full .a21-hero__text {
	direction: rtl;
}

@media (max-width: 899px) {
	.a21-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding: 32px 20px 40px;
		text-align: center;
	}

	.a21-hero__lead {
		margin-inline: auto;
	}

	.a21-hero__actions {
		justify-content: center;
	}

	.a21-hero__frame {
		grid-row: 1;
		max-inline-size: 280px;
	}
}

@media (max-width: 599px) {
	.a21-hero__frame {
		max-inline-size: 220px;
	}

	.a21-hero__actions .a21-btn {
		flex: 1 1 40%;
		padding-inline: 12px;
	}

	.a21-hero__actions .a21-btn--dawn {
		flex-basis: 100%;
	}

	/* スマホ：文字を上に、縦長の絵（hero-mobile.webp）を下に並べる。絵の上部は夜空なので帯とつながる */
	.a21-hero--full {
		display: flex;
		flex-direction: column;
		min-block-size: 0;
	}

	.a21-hero--full::before {
		display: none;
	}

	.a21-hero--full .a21-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 30px 8px;
	}

	.a21-hero--full .a21-hero__text {
		grid-column: 1;
	}

	.a21-hero__art {
		order: 2;
	}

	.a21-hero__art img {
		position: static;
		display: block;
		aspect-ratio: 1;
		block-size: auto;
		object-position: 50% 82%;
	}

	/* 星と瞳の層も、絵と同じ「幅いっぱいの正方形・下寄せ・50% 82%」で重ねる（2026-09-29 スマホでも明滅・うるうる） */
	.a21-hero--full {
		position: relative;
	}

	.a21-hero__stars img,
	.a21-hero__eyes img {
		inset: auto 0 0 0;
		block-size: auto;
		aspect-ratio: 1;
		object-position: 50% 82%;
	}

	/* 小さな星の層も絵の夜空（正方形の上半分）にだけ重ね、スマホの絵は星が少ないので数を増やす（2026-09-29 Masaharuさん「星の数がスマホ版の方が少ない」） */
	.a21-hero__twinkle {
		inset: auto 0 0 0;
		aspect-ratio: 1;
		background:
			radial-gradient(1.4px 1.4px at 40px 30px, rgba(255, 255, 255, 0.75) 40%, transparent 100%) 0 0 / 139px 113px,
			radial-gradient(1.2px 1.2px at 90px 70px, rgba(255, 244, 214, 0.7) 40%, transparent 100%) 0 0 / 197px 131px;
		-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 38%, transparent 52%);
		mask-image: linear-gradient(180deg, #000 0%, #000 38%, transparent 52%);
		animation: a21-glint 6.2s ease-in-out infinite; /* 入れ物ごと暗くならないように（中のきらめき星がくすむため） */
		animation-delay: -1s;
	}

	/* 文字の欄（絵の上）にも、明滅する星ときらめき星（2026-09-29 Masaharuさん「縦で見たときこの部分にキラキラが反映されていない」→「増やしすぎたかな」で半分ほどに） */
	.a21-hero--full .a21-hero__inner {
		position: relative;
	}

	.a21-hero--full .a21-hero__inner::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		pointer-events: none;
		background:
			radial-gradient(2.2px 2.2px at 40px 30px, #fff 40%, transparent 100%) 0 0 / 151px 127px,
			radial-gradient(2.6px 2.6px at 110px 40px, rgba(255, 255, 255, 0.95) 35%, transparent 100%) 0 0 / 223px 149px,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='457' height='173' viewBox='0 0 457 173'%3E%3Cpath d='M140 23 C141.1 26.9 141.1 26.9 145 28 C141.1 29.1 141.1 29.1 140 33 C138.9 29.1 138.9 29.1 135 28 C138.9 26.9 138.9 26.9 140 23Z' fill='%23fff'/%3E%3Cpath d='M390 104 C391.32 108.68 391.32 108.68 396 110 C391.32 111.32 391.32 111.32 390 116 C388.68 111.32 388.68 111.32 384 110 C388.68 108.68 388.68 108.68 390 104Z' fill='%23dde4ff'/%3E%3Cpath d='M60 136 C60.88 139.12 60.88 139.12 64 140 C60.88 140.88 60.88 140.88 60 144 C59.12 140.88 59.12 140.88 56 140 C59.12 139.12 59.12 139.12 60 136Z' fill='%23fff'/%3E%3C/svg%3E") 0 0 / 383px 173px;
		filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.9));
		animation: a21-twinkle 4.6s ease-in-out infinite;
		animation-delay: -0.8s;
	}

	/* 十字に光るきらめき星（絵の中の大きな星に合わせた形）。少しずらして明滅 */
	.a21-hero__twinkle::before,
	.a21-hero__twinkle::after {
		content: "";
		position: absolute;
		inset: 0;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 0 0 / 8px 8px no-repeat;
		filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255, 255, 255, 0.75)); /* 横向きの絵の星と同じ、やわらかな光のにじみ */
		animation: a21-glint 4.8s ease-in-out infinite; /* 消えずに、明るさだけが揺れる */
	}

	.a21-hero__twinkle::before {
		background:
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 18% 8% / 9px 9px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 62% 14% / 7px 7px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 86% 30% / 8px 8px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 40% 26% / 5px 5px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 8% 20% / 5px 5px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 94% 6% / 6px 6px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 52% 44% / 7px 7px no-repeat;
	}

	.a21-hero__twinkle::after {
		background:
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 8% 34% / 7px 7px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 74% 6% / 8px 8px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 52% 38% / 5px 5px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 28% 16% / 5px 5px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 34% 4% / 7px 7px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 70% 40% / 5px 5px no-repeat,
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 C10.8 7 13 9.2 20 10 C13 10.8 10.8 13 10 20 C9.2 13 7 10.8 0 10 C7 9.2 9.2 7 10 0Z' fill='%23fff'/%3E%3C/svg%3E") 96% 46% / 5px 5px no-repeat;
		animation-delay: -2.4s;
	}
}

/* ==========================================================================
   13. 本の棚と YouTube（ブログ＝本＝動画をつなぐ帯）
   ========================================================================== */
.a21-band {
	max-inline-size: 1180px;
	margin-inline: auto;
	padding: 0 24px 64px;
}

.a21-band .a21-shelf {
	margin-block-start: 0;
}

.a21-shelf {
	margin-block-start: 48px;
	container-type: inline-size;
}

.a21-shelf__grid {
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr);
}

@container (min-width: 900px) {
	.a21-shelf__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.a21-shelf__books,
.a21-shelf__videos {
	border-radius: 6px;
	padding: clamp(22px, 3vw, 34px);
}

.a21-shelf__books {
	background: var(--a21-paper);
	border: 1px solid var(--a21-line);
}

.a21-shelf__videos {
	position: relative;
	color: #e7e8f8;
	background:
		var(--a21-stars),
		radial-gradient(100% 70% at 50% 120%, color-mix(in srgb, var(--a21-dawn) 35%, transparent), transparent 65%),
		linear-gradient(180deg, var(--a21-night) 0%, var(--a21-night-2) 100%);
}

.a21-shelf__videos .a21-section-title {
	color: #fff;
}

.a21-shelf__videos .a21-section-title::before {
	color: var(--a21-dawn);
}

.a21-shelf__desc {
	margin: -4px 0 20px;
	font-size: 1rem;
	line-height: 1.8;
}

.a21-shelf__books .a21-shelf__desc {
	color: var(--a21-ink-soft);
}

.a21-shelf__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 28px 40px;
}

.a21-shelf__art {
	display: block;
	flex: 0 0 auto;
	inline-size: 150px;
	block-size: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}

.a21-shelf__art--yt {
	inline-size: 100%;
	max-inline-size: 260px;
	margin: 0 auto 18px;
}

.a21-shelf__cta {
	margin: 18px 0 0;
}

.a21-books {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.a21-book {
	inline-size: 150px;
}

.a21-book__link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--a21-ink);
	text-decoration: none;
}

.a21-book__cover {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 5 / 8;
	margin-block-end: 8px;
	border-radius: 2px 4px 4px 2px;
	box-shadow: 0 1px 2px rgba(20, 25, 67, 0.2), 0 8px 18px rgba(20, 25, 67, 0.18);
}

a.a21-book__link:hover .a21-book__title {
	color: var(--a21-link);
	text-decoration: underline;
}

.a21-book__vol {
	font-size: 0.85rem;
	color: var(--a21-ink-soft);
}

.a21-book__title {
	font-family: var(--a21-font-display);
	font-weight: 600;
	font-size: calc(1rem * var(--a21-display-scale));
	line-height: 1.5;
}

.a21-book__buy {
	margin-block-start: 4px;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--a21-link);
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

.a21-book__soon {
	align-self: flex-start;
	margin-block-start: 6px;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--a21-dawn-pale);
	color: var(--a21-dawn-deep);
	font-size: 0.85rem;
	font-weight: 700;
}

/* YouTube：押すまでは画像だけ（動画のプレーヤーは押したときに読み込む） */
.a21-yt__poster {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 6px;
	background: #000;
}

.a21-yt__poster img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.a21-yt__play {
	position: absolute;
	inset: 50% auto auto 50%;
	inline-size: 68px;
	block-size: 68px;
	margin: -34px 0 0 -34px;
	border-radius: 50%;
	background: rgba(14, 19, 54, 0.78);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85);
}

.a21-yt__play::before {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	margin: -12px 0 0 -7px;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #fff;
}

.a21-yt__poster:hover .a21-yt__play {
	background: var(--a21-dawn-deep);
}

.a21-yt__frame {
	display: block;
	inline-size: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 6px;
}

.a21-yt__title {
	margin: 10px 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #fff;
}

@media (max-width: 599px) {
	.a21-band {
		padding-inline: 0;
	}

	.a21-shelf {
		margin-block-start: 36px;
	}

	.a21-shelf__books,
	.a21-shelf__videos {
		border-radius: 0;
		border-inline: 0;
		padding: 26px 18px;
	}

	.a21-shelf__row {
		align-items: flex-start;
	}

	.a21-shelf__art {
		inline-size: 110px;
	}

	.a21-book {
		inline-size: 132px;
	}
}

/* サイドバーの小さな案内 */
.a21-books--side {
	justify-content: center;
}

.a21-books--side .a21-book {
	inline-size: 160px;
}

.a21-side-links__yt {
	margin: 20px 0 0;
	text-align: center;
}

/* 記事上部の画像（各国語版） */
.a21-article__image {
	margin: 0 0 2em;
}

.a21-article__image img {
	display: block;
	inline-size: 100%;
	max-block-size: 440px;
	object-fit: cover;
	border-radius: 4px;
}

/* 404 */
.a21-404__art {
	display: block;
	inline-size: 200px;
	block-size: 200px;
	margin: 0 auto 24px;
	border-radius: 50%;
	object-fit: cover;
}

.a21-404 .a21-title {
	text-align: center;
}

/* 言語の切り替え（フッター） */
.a21-langs {
	margin: 0 auto 26px;
	padding-block-start: 22px;
	max-inline-size: 760px;
	border-block-start: 1px solid rgba(255, 255, 255, 0.14);
}

.a21-langs__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2px 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.a21-langs__list a,
.a21-langs__cur {
	display: block;
	padding: 6px 12px;
	font-size: 0.95rem;
	color: #cfd2ee;
	text-decoration: none;
}

.a21-langs__list a:hover {
	color: #fff;
	text-decoration: underline;
}

.a21-langs__cur {
	color: #fff;
	box-shadow: inset 0 -2px 0 var(--a21-dawn);
}

/* 言語の切り替え（サイドバーのウィジェット「各国語版」） */
.a21-widget .a21-langs {
	margin: 0;
	padding: 0;
	max-inline-size: none;
	border: 0;
}

.a21-widget .a21-langs__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-content: start;
	gap: 2px 12px;
}

.a21-widget .a21-langs__list li {
	margin: 0;
	padding: 0;
	border: 0;
}

.a21-widget .a21-langs__list a,
.a21-widget .a21-langs__cur {
	display: inline-block; /* アラビア語（dir=rtl）のリンクも、並びはページの向きにそろえる */
	padding: 6px 2px;
	color: var(--a21-link);
}

.a21-widget .a21-langs__cur {
	color: var(--a21-ink);
	font-weight: 700;
	box-shadow: none;
}

/* ==========================================================================
   11. プラグインの表示を本文に合わせる
   ========================================================================== */
/* WordPress Popular Posts（ランキング） */
.a21-content .wpp-list {
	padding-inline-start: 0;
	list-style: none;
}

.a21-content .wpp-list li {
	margin-block-end: 1em;
	overflow: hidden;
}

.a21-content .wpp-list img {
	float: inline-start;
	margin-inline-end: 12px;
}

/* 目次（st-toc）：本文の文字に揃える */
.a21-content .st_toc_container {
	font-size: 0.92em;
}

/* リンクカード（pz-linkcard）は本文幅いっぱいまで */
.a21-content .linkcard {
	max-inline-size: 100%;
}

/* コメント（全記事で閉じているが、開いたとき用） */
.a21-comments {
	margin-block-start: 32px;
}

.a21-comments__list {
	padding-inline-start: 1.2em;
}

/* 動きを減らす設定の人には何も動かさない */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}

/* 印刷 */
@media print {
	.a21-sky,
	.a21-foot,
	.a21-side,
	.a21-ad,
	.a21-crumbs,
	.a21-related,
	.a21-postnav {
		display: none;
	}

	body {
		background: #fff;
	}

	.a21-layout {
		display: block;
		padding: 0;
	}

	.a21-sheet {
		border: 0;
		padding: 0;
	}
}

/* ==========================================================================
   14. ページの先頭へ戻るボタン（右下。右から左の言語では左下）
   ========================================================================== */
.a21-totop {
	position: fixed;
	inset-inline-end: 16px;
	inset-block-end: calc(var(--a21-totop-bottom, 20px) + env(safe-area-inset-bottom, 0px));
	z-index: 60;
	display: grid;
	place-items: center;
	inline-size: 52px;
	block-size: 52px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	background: var(--a21-night);
	color: #fff;
	box-shadow: 0 4px 14px rgba(14, 19, 54, 0.3);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

.a21-totop.is-shown {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.a21-totop.is-shown.is-dodging {
	opacity: 0;
	visibility: hidden;
}

.a21-totop:hover {
	background: var(--a21-night-2);
}

.a21-totop:focus-visible {
	outline: 3px solid var(--a21-dawn);
	outline-offset: 3px;
}

@media (min-width: 960px) {
	.a21-totop {
		inset-inline-end: 28px;
		inline-size: 56px;
		block-size: 56px;
	}
}

@media print {
	.a21-totop {
		display: none;
	}
}

/* 「近日公開」の札（YouTube の枠・サイドバー） */
.a21-soon {
	display: inline-block;
	margin: -2px 0 12px;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--a21-dawn-pale);
	color: var(--a21-dawn-deep);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.7;
}

.a21-soon--center {
	display: table;
	margin: 18px auto 0;
}
