/*
Theme Name: Cocoon Child (AcademyAI)
Description: AcademyAI公式ブログ用 Cocoon子テーマ。デザインシステム「AcademyAI Editorial」、REST用メタ登録、サイト共通構造化データ。
Template: cocoon-master
Version: 2.0.0
*/

/* =============================================================================
   AcademyAI Editorial — 設計方針は docs/08-ブログデザイン方針.md を参照

   原則
   1. 色は一色主義(緑)。オレンジは公式LINE導線のみ
   2. 面ではなく線で区切る(1px #DCE7E1 と余白)
   3. 直角(border-radius: 0)
   4. 階層は書体で示す(見出し=明朝 / 本文=ゴシック / ラベル・数字=Times)
   5. 余白を惜しまない(記事本文幅は約720px)

   Cocoon本体のCSSより後に読み込まれるため、!important はほぼ不要。
   ============================================================================= */

/* -----------------------------------------------------------------------------
   1. トークン
   -------------------------------------------------------------------------- */
:root {
	/* ブランド緑(公式HP assets/css/styles.css より) */
	--acaai-green-deep: #174b36; /* 最も濃い。フッター面 */
	--acaai-green-lms:  #005738; /* LMS主色。濃い面のアクセント */
	--acaai-green-dark: #236b4b; /* 主操作色。リンク・見出しアクセント */
	--acaai-green-logo: #28885e; /* ロゴ実測値 */
	--acaai-green:      #5fae87; /* 罫・装飾のみ。文字色に使わない(コントラスト2.7:1) */
	--acaai-green-soft: #d8f0e4;
	--acaai-green-pale: #edf8f2;
	--acaai-orange:     #f5a452; /* 公式LINE導線のみ */

	/* インクとグレー */
	--acaai-ink:         #3f4744; /* 本文。純黒を使わない */
	--acaai-ink-strong:  #2f3835; /* 見出し */
	--acaai-muted:       #77807c; /* 装飾・大きめ文字 */
	--acaai-muted-text:  #67706c; /* 本文サイズのメタ情報(白地でAA 5.0:1) */
	--acaai-line:        #dce7e1;
	--acaai-line-soft:   #eaf1ed;
	--acaai-paper:       #f7faf8; /* ページ地。純白より一段落ち着く */
	--acaai-white:       #ffffff;

	/* 書体 */
	--acaai-sans:  "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	--acaai-serif: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "Source Han Serif JP", serif;
	--acaai-latin: "Times New Roman", Times, "Hiragino Mincho ProN", serif;

	/* 寸法 */
	--acaai-measure: 44rem;   /* 記事本文の最大幅 = 704px */
	--acaai-shell:   72rem;   /* コンテンツ全体の最大幅 = 1152px */
	--acaai-gutter:  6vw;

	/* モーション */
	--acaai-ease: cubic-bezier(0.22, 1, 0.36, 1);

	/* 意匠プレート — ロゴのノードグラフを六角格子として再構成したもの。
	   アイキャッチ画像を持たない記事の受け皿に使い、空箱に見せない */
	--acaai-plate-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='70' viewBox='0 0 80 70'%3E%3Cg fill='none' stroke='%235fae87' stroke-width='.7' opacity='.5'%3E%3Cpath d='M0 35 20 0 60 0 80 35 60 70 20 70Z M20 0 40 35 20 70 M60 0 40 35 60 70 M0 35 80 35'/%3E%3C/g%3E%3Cg fill='%2328885e' opacity='.4'%3E%3Ccircle cx='40' cy='35' r='2.4'/%3E%3Ccircle cx='20' cy='0' r='1.7'/%3E%3Ccircle cx='60' cy='0' r='1.7'/%3E%3Ccircle cx='20' cy='70' r='1.7'/%3E%3Ccircle cx='60' cy='70' r='1.7'/%3E%3Ccircle cx='0' cy='35' r='1.7'/%3E%3Ccircle cx='80' cy='35' r='1.7'/%3E%3C/g%3E%3C/svg%3E");
	--acaai-plate-deep: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='105' viewBox='0 0 80 70'%3E%3Cg fill='none' stroke='%235fae87' stroke-width='.6' opacity='.55'%3E%3Cpath d='M0 35 20 0 60 0 80 35 60 70 20 70Z M20 0 40 35 20 70 M60 0 40 35 60 70 M0 35 80 35'/%3E%3C/g%3E%3Cg fill='%23d8f0e4' opacity='.45'%3E%3Ccircle cx='40' cy='35' r='2.4'/%3E%3Ccircle cx='20' cy='0' r='1.7'/%3E%3Ccircle cx='60' cy='0' r='1.7'/%3E%3Ccircle cx='20' cy='70' r='1.7'/%3E%3Ccircle cx='60' cy='70' r='1.7'/%3E%3Ccircle cx='0' cy='35' r='1.7'/%3E%3Ccircle cx='80' cy='35' r='1.7'/%3E%3C/g%3E%3C/svg%3E");

	/* プレート中央に置くエンブレム(ロゴのクレストを簡略化したもの) */
	--acaai-emblem-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2328885e' stroke-width='1' opacity='.4'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3Cpath d='M32 32 58 32 M32 32 45 54.5 M32 32 19 54.5 M32 32 6 32 M32 32 19 9.5 M32 32 45 9.5'/%3E%3C/g%3E%3Cg fill='%2328885e' opacity='.45'%3E%3Ccircle cx='32' cy='32' r='3'/%3E%3Ccircle cx='58' cy='32' r='2'/%3E%3Ccircle cx='45' cy='54.5' r='2'/%3E%3Ccircle cx='19' cy='54.5' r='2'/%3E%3Ccircle cx='6' cy='32' r='2'/%3E%3Ccircle cx='19' cy='9.5' r='2'/%3E%3Ccircle cx='45' cy='9.5' r='2'/%3E%3C/g%3E%3C/svg%3E");
	--acaai-emblem-deep: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23d8f0e4' stroke-width='1' opacity='.5'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3Cpath d='M32 32 58 32 M32 32 45 54.5 M32 32 19 54.5 M32 32 6 32 M32 32 19 9.5 M32 32 45 9.5'/%3E%3C/g%3E%3Cg fill='%23d8f0e4' opacity='.55'%3E%3Ccircle cx='32' cy='32' r='3'/%3E%3Ccircle cx='58' cy='32' r='2'/%3E%3Ccircle cx='45' cy='54.5' r='2'/%3E%3Ccircle cx='19' cy='54.5' r='2'/%3E%3Ccircle cx='6' cy='32' r='2'/%3E%3Ccircle cx='19' cy='9.5' r='2'/%3E%3Ccircle cx='45' cy='9.5' r='2'/%3E%3C/g%3E%3C/svg%3E");

	/* --- Cocoon本体の変数を上書き(数千のルールへ一括で効く) --- */
	--cocoon-default-font: var(--acaai-sans);
	--cocoon-text-color: var(--acaai-ink);
	--cocoon-pallid-text-color: var(--acaai-muted-text);
	--cocoon-x-pallid-text-color: var(--acaai-muted-text);
	--cocoon-basic-border-color: var(--acaai-line);
	--cocoon-box-border-color: var(--acaai-line);
	--cocoon-middle-thickness-color: var(--acaai-green);
	--cocoon-thin-color: var(--acaai-line);
	--cocoon-x-thin-color: var(--acaai-line-soft);
	--cocoon-xx-thin-color: #f3f9f5;
	--cocoon-xxx-thin-color: #f8fbf9;
	--cocoon-current-background-color: var(--acaai-green-pale);
	--cocoon-select-background-color: var(--acaai-green-soft);
	--cocoon-basic-border-radius: 0;
	--cocoon-badge-border-radius: 0;
	--cocoon-middle-border-radius: 0;
}

/* -----------------------------------------------------------------------------
   2. ベース
   -------------------------------------------------------------------------- */
body {
	background-color: var(--acaai-paper);
	color: var(--acaai-ink);
	font-family: var(--acaai-sans);
	font-feature-settings: "palt";
	letter-spacing: 0.02em;
	line-height: 1.9;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Cocoonのフォントサイズ設定クラス(.fz-18px 等)より優先させる */
body[class*="fz-"] {
	font-size: 17px;
}

::selection {
	background-color: var(--acaai-green-soft);
}

a {
	color: var(--acaai-green-dark);
}

:focus-visible {
	outline: 2px solid var(--acaai-green-dark);
	outline-offset: 3px;
}

/* 角丸と影を全面的に止める。Cocoonが個別指定している箇所を含む */
.main,
.sidebar,
.header-container,
.footer,
.entry-card-wrap,
.related-entry-card-wrap,
.a-wrap,
.toc,
.author-box,
.appeal,
.notice {
	border-radius: 0;
	box-shadow: none;
}

/* -----------------------------------------------------------------------------
   3. レイアウト
   -------------------------------------------------------------------------- */
.wrap {
	box-sizing: border-box;
	max-width: var(--acaai-shell);
	padding-left: var(--acaai-gutter);
	padding-right: var(--acaai-gutter);
	width: 100%;
}

.content {
	margin-top: 0;
}

.content-in {
	display: block;
}

/* サイドバーは全ページで非表示(Cocoon設定 sidebar_display_type=no_display_all と併用) */
.sidebar {
	display: none;
}

.main,
.no-sidebar .content .main {
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	width: 100%;
}

/* 記事・固定ページ本文は読みやすい幅に絞る */
.main > .article,
.main > .under-entry-content {
	background-color: var(--acaai-white);
	border: 1px solid var(--acaai-line);
	border-top: 0;
	margin: 0;
	padding: 0;
}

.main > .article {
	border-top: 1px solid var(--acaai-line);
	margin-top: 2.5rem;
}

.main > .under-entry-content {
	margin-bottom: 4rem;
	padding: 0 clamp(1.25rem, 5vw, 3.5rem) 3rem;
}

/* -----------------------------------------------------------------------------
   4. ヘッダーとグローバルナビ
   -------------------------------------------------------------------------- */
.header-container {
	background-color: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
	border-bottom: 1px solid var(--acaai-line);
}

.header-container-in.hlt-top-menu {
	align-items: center;
	max-width: var(--acaai-shell);
	min-height: 74px;
}

.header-container-in.hlt-top-menu .header {
	padding: 0;
}

.header .tagline {
	display: none; /* キャッチフレーズはヘッダーに出さず、トップの導入部で見せる */
}

.logo-header,
.logo-header .site-name-text-link {
	padding: 0;
}

.site-name-text {
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.logo-header img {
	max-height: 46px;
	width: auto;
}

/* グローバルナビ: 明朝・小さめ・字間広め(公式HPと同じ作法) */
.navi {
	background-color: transparent;
}

.navi-in > ul {
	justify-content: flex-end;
}

.navi-in > ul li {
	height: auto;
	width: auto;
}

.navi-in > ul li a {
	color: var(--acaai-ink);
	font-family: var(--acaai-serif);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	padding: 0 clamp(0.7rem, 1.4vw, 1.15rem);
	transition: color 180ms ease;
	white-space: nowrap;
}

.navi-in > ul li a:hover,
.navi-in > ul li.current-menu-item > a {
	background-color: transparent;
	color: var(--acaai-green-dark);
}

/* サブメニュー */
.navi-in > ul .sub-menu {
	background-color: var(--acaai-white);
	border: 1px solid var(--acaai-line);
	box-shadow: 0 18px 50px rgba(34, 79, 58, 0.11);
	padding: 0.5rem 0;
	width: 15rem;
}

.navi-in > ul .sub-menu li a {
	font-size: 13px;
	padding: 0.7rem 1.1rem;
}

/* -----------------------------------------------------------------------------
   5. パンくずリスト
   -------------------------------------------------------------------------- */
.breadcrumb {
	color: var(--acaai-muted-text);
	font-size: 12px;
	letter-spacing: 0.06em;
	margin: 0;
	padding: 1.6rem 0 0;
}

.breadcrumb.sbp-main-before,
.breadcrumb.pbp-main-before {
	background-color: transparent;
	box-sizing: border-box;
	margin: 0 auto;
	max-width: var(--acaai-shell);
	padding: 1.6rem var(--acaai-gutter) 0;
}

.breadcrumb a {
	color: var(--acaai-muted-text);
	text-decoration: none;
}

.breadcrumb a:hover {
	color: var(--acaai-green-dark);
	text-decoration: underline;
}

.breadcrumb .fa {
	display: none;
}

.breadcrumb .sp {
	margin: 0 0.6em;
}

/* -----------------------------------------------------------------------------
   6. トップページのマストヘッドと導入部(tmp-user/main-before.php)
   -------------------------------------------------------------------------- */

/* 誌名バンド。刊行物としての枠を最初に見せる */
.acaai-masthead {
	border-bottom: 1px solid var(--acaai-line);
	background-color: var(--acaai-white);
}

.acaai-masthead__in {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.5rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--acaai-shell);
	padding: 0.85rem var(--acaai-gutter);
}

.acaai-masthead__name {
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.26em;
	text-transform: uppercase;
}

.acaai-masthead__meta {
	color: var(--acaai-muted-text);
	font-size: 11px;
	letter-spacing: 0.1em;
}

.acaai-masthead__meta b {
	font-family: var(--acaai-latin);
	font-variant-numeric: tabular-nums;
	font-weight: 400;
}

.acaai-index-intro {
	margin: 0 auto;
	max-width: var(--acaai-shell);
	padding: clamp(2.6rem, 6vw, 4.5rem) var(--acaai-gutter) 0;
}

.acaai-index-intro__eyebrow {
	color: var(--acaai-green-dark);
	display: block;
	font-family: var(--acaai-latin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.24em;
	margin-bottom: 1.1rem;
	text-transform: uppercase;
}

.acaai-index-intro__title {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: clamp(1.6rem, 3.6vw, 2.4rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.55;
	margin: 0;
	text-wrap: balance;
}

.acaai-index-intro__lead {
	color: var(--acaai-muted-text);
	font-size: 0.9375rem;
	line-height: 2;
	margin: 1.4rem 0 0;
	max-width: var(--acaai-measure);
}

.acaai-index-intro::after {
	background-color: var(--acaai-line);
	content: "";
	display: block;
	height: 1px;
	margin-top: clamp(2rem, 4vw, 3rem);
}

/* -----------------------------------------------------------------------------
   7. 記事一覧(エントリーカード → リスト型)
   -------------------------------------------------------------------------- */
.list {
	margin: 0 auto;
	max-width: var(--acaai-shell);
	padding: 0 var(--acaai-gutter);
}

.entry-card-wrap.a-wrap {
	border-bottom: 1px solid var(--acaai-line);
	padding: clamp(1.4rem, 3vw, 2.1rem) 0;
	transition: none;
}

.entry-card-wrap.a-wrap:hover {
	background-color: transparent;
}

.entry-card {
	align-items: start;
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
}

/* Cocoonのクリアフィックス(.cf::after)はグリッド items として数えられ、
   空のセルを1つ占有してレイアウトを崩す。グリッド化した要素では無効にする */
.entry-card::after,
.related-entry-card::after,
.entry-card-content::after,
.related-entry-card-content::after {
	content: none;
}

/* カテゴリーはメタ行のキッカーで見せるため、サムネイル上のラベルは重複 */
.cat-label {
	display: none;
}

.entry-card-thumb {
	aspect-ratio: 16 / 10;
	background-color: var(--acaai-green-pale);
	background-image: var(--acaai-emblem-light), var(--acaai-plate-light);
	background-position: center, center;
	background-repeat: no-repeat, repeat;
	background-size: 74px 74px, auto;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.entry-card-thumb img {
	aspect-ratio: 16 / 10;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms var(--acaai-ease);
	width: 100%;
}

.entry-card-wrap:hover .entry-card-thumb img {
	transform: scale(1.03);
}

/* アイキャッチが無い記事。
   Cocoonはサムネイル枠ごと隠す(.no-thumbnail .card-thumb{display:none})が、
   それだと一覧が文字だけになり手薄に見える。枠は残し、
   「NO IMAGE」画像だけ隠して意匠プレートを見せる */
.no-thumbnail .entry-card-thumb,
.no-thumbnail .related-entry-card-thumb {
	display: block;
}

.entry-card-thumb img.no-image,
.related-entry-card-thumb img.no-image {
	display: none;
}

.no-thumbnail .entry-card-thumb::after,
.entry-card-thumb:has(img.no-image)::after {
	border: 1px solid rgba(40, 136, 94, 0.28);
	content: "";
	inset: 10px;
	position: absolute;
}

/* カード本文は縦フレックス。メタ情報を見出しの上へ回して「キッカー行」にする
   (カテゴリー＋日付が最初に読める＝編集された誌面に見える) */
.entry-card-content {
	display: flex;
	flex-direction: column;
	margin-left: 0;
	padding-bottom: 0;
}

.entry-card-title {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: clamp(1.05rem, 2.2vw, 1.25rem);
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.65;
	margin: 0 0 0.6rem;
	transition: color 180ms ease;
}

.entry-card-wrap:hover .entry-card-title {
	color: var(--acaai-green-dark);
}

.entry-card-snippet {
	color: var(--acaai-muted-text);
	font-size: 0.8125rem;
	line-height: 1.95;
	margin: 0;
}

/* Cocoonはカードのメタ情報を絶対配置で右下に置く。左揃えの通常フローに戻す */
.entry-card-meta,
.related-entry-card-meta {
	bottom: auto;
	line-height: inherit;
	position: static;
	right: auto;
	text-align: left;
}

.entry-card-meta {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.1rem;
	margin: 0 0 0.7rem;
	order: -1; /* 見出しの上へ */
}

.e-card-info,
.entry-card-info,
.related-entry-card-info {
	justify-content: flex-start;
}

.entry-card-info > * {
	font-size: 12px;
	padding: 0;
}

.entry-card-info .fa {
	display: none;
}

.entry-card-info .entry-date {
	color: var(--acaai-muted-text);
	font-family: var(--acaai-latin);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.12em;
	margin-left: 0;
}

.entry-card-info .post-update {
	display: none; /* 投稿日と更新日の二重表示を避ける */
}

/* Cocoonは既定でカード内のカテゴリーを隠す。キッカーとして見せる */
.entry-card-meta .entry-card-categorys {
	display: block;
	order: -1;
}

/* Cocoonはカテゴリーを黒ベタのバッジにする。Timesのキッカーへ作り替える */
.entry-card-meta .entry-card-categorys .cat-link,
.entry-card-meta .entry-card-categorys > span {
	background-color: transparent;
	border-radius: 0;
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	margin: 0 0.9em 0 0;
	padding: 0;
	text-transform: uppercase;
}

.entry-card-meta .entry-card-categorys .fa,
.entry-card-meta .entry-card-categorys .tax-icon {
	display: none;
}

/* Cocoonがアイキャッチ無しのカードにだけ当てる指定を打ち消す */
.no-thumbnail .entry-card-meta {
	margin: 0 0 0.7rem;
}

.no-thumbnail .entry-card-meta .entry-card-categorys > span {
	margin-left: 0;
}

/* --- 巻頭記事(トップ1ページ目の最新記事だけ大きく組む) ---------------------
   すべてのカードを同じ大きさで並べると「テンプレートのまま」に見える。
   誌面と同じく、最新の1本に階層を与えて視線の入口を作る */
.home:not(.paged) .list > .entry-card-wrap:first-of-type {
	border-bottom: 1px solid var(--acaai-line);
	padding: 0 0 clamp(2.4rem, 4vw, 3.4rem);
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card {
	align-items: center;
	gap: clamp(1.6rem, 4vw, 3.4rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-thumb {
	aspect-ratio: 4 / 3;
	background-color: var(--acaai-green-deep);
	background-image: var(--acaai-emblem-deep), var(--acaai-plate-deep);
	background-size: 116px 116px, auto;
	order: 2;
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-content {
	order: 1;
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-meta::before {
	color: var(--acaai-ink-strong);
	content: "Latest";
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	order: -2;
	text-transform: uppercase;
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-title {
	font-size: clamp(1.5rem, 3.2vw, 2.15rem);
	line-height: 1.55;
	margin-bottom: 0.9rem;
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-snippet {
	font-size: 0.9375rem;
	max-width: 34rem;
}

.home:not(.paged) .list > .entry-card-wrap:first-of-type .no-thumbnail .entry-card-thumb::after {
	border-color: rgba(216, 240, 228, 0.35);
	inset: 14px;
}

/* 記事が無いとき(公開直後・検索結果0件) */
.posts-not-found {
	border-top: 1px solid var(--acaai-line);
	padding: clamp(3rem, 7vw, 5rem) 0;
	text-align: left;
}

.posts-not-found h2 {
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.24em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.posts-not-found p {
	color: var(--acaai-muted-text);
	font-family: var(--acaai-serif);
	font-size: 1.0625rem;
	letter-spacing: 0.03em;
	margin: 0;
}

/* ページャー */
.pagination .page-numbers {
	border: 1px solid var(--acaai-line);
	border-radius: 0;
	color: var(--acaai-ink);
	font-family: var(--acaai-latin);
	letter-spacing: 0.08em;
	margin: 0 0.3rem;
	min-width: 2.6rem;
	padding: 0.55rem 0.9rem;
	white-space: nowrap;
}

.pagination {
	margin-top: 2.5rem;
}

.pagination .page-numbers.current,
.pagination a.page-numbers:hover {
	background-color: var(--acaai-green-dark);
	border-color: var(--acaai-green-dark);
	color: var(--acaai-white);
}

/* -----------------------------------------------------------------------------
   8. 記事ヘッダー
   -------------------------------------------------------------------------- */
.article-header {
	padding: clamp(2.2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3.5rem) 0;
}

.article-header > *,
.entry-content > *,
.article-footer > * {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--acaai-measure);
}

.entry-title {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: clamp(1.6rem, 4vw, 2.35rem);
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.55;
	margin: 0 auto 1.4rem;
	text-wrap: balance;
}

/* 投稿日 */
.date-tags {
	border-bottom: 1px solid var(--acaai-line);
	line-height: 1.6;
	margin: 0 auto 0;
	padding-bottom: 1.3rem;
	text-align: left;
}

.date-tags .fa {
	display: none;
}

.date-tags .entry-date {
	color: var(--acaai-muted-text);
	font-family: var(--acaai-latin);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.12em;
	margin-left: 0;
}

.date-tags .post-update::before {
	color: var(--acaai-muted-text);
	content: "更新 ";
	font-family: var(--acaai-sans);
	font-size: 11px;
	letter-spacing: 0.08em;
}

/* 記事上部のカテゴリー */
.entry-categories-tags {
	margin: 0 auto;
}

/* Cocoonは .cat-link を黒ベタのバッジにするため、ラベル表現へ作り替える */
.entry-categories-tags a.cat-link,
.entry-categories-tags a.tag-link {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin-right: 1.1em;
	padding: 0;
	text-decoration: none;
	text-transform: uppercase;
}

.entry-categories-tags a.cat-link:hover,
.entry-categories-tags a.tag-link:hover {
	color: var(--acaai-green-deep);
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.entry-categories-tags .tax-icon,
.entry-categories-tags .fa {
	display: none;
}

/* アイキャッチ */
.eye-catch-wrap {
	margin: 2.2rem auto 0;
	max-width: var(--acaai-measure);
}

.eye-catch img {
	display: block;
	height: auto;
	width: 100%;
}

.read-time {
	color: var(--acaai-muted-text);
	font-size: 12px;
	letter-spacing: 0.06em;
	margin: 0.9rem auto 0;
}

/* -----------------------------------------------------------------------------
   9. 記事本文
   -------------------------------------------------------------------------- */
.entry-content {
	font-size: 1.0625rem;
	line-height: 2.05;
	margin: 2.4rem 0 0;
	padding: 0 clamp(1.25rem, 5vw, 3.5rem) clamp(2rem, 4vw, 3rem);
}

.entry-content p {
	margin: 0 auto 1.5em;
}

/* リード文: 結論先出しの最初の段落。明朝で本文と質感を変える */
.entry-content > p:first-of-type {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: 1.125rem;
	letter-spacing: 0.02em;
	line-height: 2.15;
	margin-bottom: 2.6em;
}

/* 見出し ------------------------------------------------------------------ */
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
	font-family: var(--acaai-serif);
	font-weight: 600;
}

.article .entry-content h2 {
	background-color: transparent;
	border: 0;
	border-top: 1px solid var(--acaai-line);
	border-radius: 0;
	color: var(--acaai-ink-strong);
	font-size: clamp(1.25rem, 2.6vw, 1.5rem);
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin: 3.4em auto 0;
	padding: 1.5rem 0 0;
}

.article .entry-content h3 {
	border: 0;
	color: var(--acaai-green-dark);
	font-size: clamp(1.08rem, 2.1vw, 1.2rem);
	letter-spacing: 0.03em;
	line-height: 1.65;
	margin: 2.8em auto 0.9em;
	padding: 0;
}

.article .entry-content h4 {
	border: 0;
	color: var(--acaai-ink-strong);
	font-size: 1.0625rem;
	letter-spacing: 0.03em;
	margin: 2.2em auto 0.7em;
	padding: 0;
}

.article .entry-content h5,
.article .entry-content h6 {
	border: 0;
	color: var(--acaai-ink-strong);
	font-size: 1rem;
	margin: 2em auto 0.6em;
	padding: 0;
}

/* 各H2直後の段落 = 節の要点先出し(執筆規約と対応) */
.entry-content h2 + p {
	background-color: #f6fbf8;
	border-left: 2px solid var(--acaai-green);
	font-size: 0.9375rem;
	line-height: 1.95;
	margin: 1.6em auto 1.8em;
	padding: 1.1rem 1.3rem;
}

/* リンク ------------------------------------------------------------------ */
.entry-content a {
	color: var(--acaai-green-dark);
	text-decoration: none;
	text-underline-offset: 0.25em;
	background-image: linear-gradient(var(--acaai-green), var(--acaai-green));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	transition: background-size 200ms ease;
}

.entry-content a:hover {
	background-size: 100% 2px;
}

/* リスト ------------------------------------------------------------------ */
.entry-content ul,
.entry-content ol {
	margin: 0 auto 1.6em;
	padding-left: 1.4em;
}

.article .entry-content ul li,
.article .entry-content ol li {
	margin: 0 0 0.6em;
	padding-left: 0.2em;
}

.entry-content ul li::marker {
	color: var(--acaai-green);
}

.entry-content ol li::marker {
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
}

/* 表 ---------------------------------------------------------------------- */
.acaai-table-scroll {
	margin: 0 auto 2em;
	max-width: var(--acaai-measure);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.entry-content table {
	border-collapse: collapse;
	font-size: 0.875rem;
	line-height: 1.8;
	min-width: 30rem;
	width: 100%;
}

.entry-content tbody tr,
.entry-content thead tr {
	background-color: transparent; /* Cocoonの行ストライプを止める */
}

.entry-content th,
.entry-content td {
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid var(--acaai-line);
	padding: 0.85rem 1rem 0.85rem 0;
	text-align: left;
	vertical-align: top;
}

.entry-content thead th {
	background-color: transparent;
	border-bottom: 1px solid var(--acaai-muted);
	color: var(--acaai-muted-text);
	font-family: var(--acaai-latin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
}

.entry-content tbody tr:last-child th,
.entry-content tbody tr:last-child td {
	border-bottom: 1px solid var(--acaai-muted);
}

/* 引用 -------------------------------------------------------------------- */
.entry-content blockquote {
	background-color: transparent;
	border: 0;
	border-left: 2px solid var(--acaai-green);
	color: var(--acaai-muted-text);
	font-family: var(--acaai-serif);
	font-size: 0.9375rem;
	line-height: 2;
	margin: 2em auto;
	padding: 0.2rem 0 0.2rem 1.5rem;
}

.entry-content blockquote::before,
.entry-content blockquote::after {
	content: none;
}

.entry-content blockquote cite {
	color: var(--acaai-muted-text);
	display: block;
	font-family: var(--acaai-sans);
	font-size: 12px;
	font-style: normal;
	margin-top: 0.8em;
}

/* 画像 -------------------------------------------------------------------- */
.entry-content img {
	height: auto;
	max-width: 100%;
}

.entry-content figure {
	margin: 2.4em auto;
}

.entry-content figcaption,
.entry-content .wp-caption-text {
	color: var(--acaai-muted-text);
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 1.8;
	margin-top: 0.8em;
	text-align: left;
}

/* 強調 -------------------------------------------------------------------- */
.entry-content strong,
.entry-content b {
	color: var(--acaai-green-dark);
	font-weight: 700;
}

/* Cocoonのマーカー装飾は使わない方針。誤って入った場合も地味に落とす */
.entry-content .marker,
.entry-content .marker-under,
.entry-content .marker-red,
.entry-content .marker-blue,
.entry-content .marker-yellow {
	background: none;
	border-bottom: 1px solid var(--acaai-green-soft);
}

.entry-content code {
	background-color: var(--acaai-green-pale);
	border: 1px solid var(--acaai-line);
	border-radius: 0;
	font-size: 0.85em;
	padding: 0.12em 0.4em;
}

.entry-content hr {
	background-color: var(--acaai-line);
	border: 0;
	height: 1px;
	margin: 3em auto;
}

/* -----------------------------------------------------------------------------
   10. 記事内コンポーネント(functions.php が意味構造から生成)
   -------------------------------------------------------------------------- */

/* FAQ: 「よくある質問」節を details/summary へ変換したもの */
.acaai-faq {
	border-top: 1px solid var(--acaai-line);
	margin: 1.8em auto 0;
	max-width: var(--acaai-measure);
}

.acaai-faq__item {
	border-bottom: 1px solid var(--acaai-line);
}

.acaai-faq__item > summary {
	align-items: baseline;
	cursor: pointer;
	display: flex;
	font-family: var(--acaai-serif);
	font-size: 1.0625rem;
	font-weight: 600;
	gap: 0.7rem;
	letter-spacing: 0.02em;
	line-height: 1.7;
	list-style: none;
	padding: 1.15rem 2rem 1.15rem 0;
	position: relative;
}

.acaai-faq__item > summary::-webkit-details-marker {
	display: none;
}

.acaai-faq__item > summary::before {
	color: var(--acaai-green-dark);
	content: "Q.";
	flex: 0 0 auto;
	font-family: var(--acaai-latin);
	font-weight: 400;
}

.acaai-faq__item > summary::after {
	color: var(--acaai-green-dark);
	content: "＋";
	font-size: 0.85em;
	position: absolute;
	right: 0;
	top: 1.25rem;
	transition: transform 200ms ease;
}

.acaai-faq__item[open] > summary::after {
	content: "−";
}

.acaai-faq__body {
	padding: 0 0 1.3rem 1.6rem;
}

.acaai-faq__body p {
	color: var(--acaai-ink);
	font-size: 0.9375rem;
	line-height: 2;
	margin: 0 0 0.9em;
}

.acaai-faq__body p:last-child {
	margin-bottom: 0;
}

/* 打消し表示(※ で始まる段落) */
.entry-content p.acaai-disclaimer {
	border-top: 1px solid var(--acaai-line);
	color: var(--acaai-muted-text);
	font-size: 12px;
	letter-spacing: 0.03em;
	line-height: 1.85;
	margin-top: 2.5em;
	padding-top: 0.9rem;
}

/* -----------------------------------------------------------------------------
   11. 目次
   -------------------------------------------------------------------------- */
.toc {
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid var(--acaai-line);
	border-top: 1px solid var(--acaai-line);
	display: block;
	font-size: 0.875rem;
	margin: 2.6em auto;
	max-width: var(--acaai-measure);
	padding: 1.5rem 0;
	width: 100%;
}

.toc-title {
	color: var(--acaai-green-dark);
	display: block;
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.24em;
	padding: 0;
	text-align: left;
	text-transform: uppercase;
}

.toc-title .fa {
	display: none;
}

.toc .toc-list {
	counter-reset: acaai-toc;
	list-style: none; /* Cocoonは ol を使う。番号は ::before で自前に描くため既定マーカーを消す */
	margin-top: 1rem;
	padding-left: 0;
}

/* 目次は .entry-content 内にあるため、本文のリスト指定より高い詳細度で当てる */
.entry-content .toc .toc-list > li {
	counter-increment: acaai-toc;
	margin-bottom: 0.55em;
	padding-left: 2.4rem;
	position: relative;
}

.entry-content .toc .toc-list > li::before {
	color: var(--acaai-green);
	content: counter(acaai-toc, decimal-leading-zero);
	font-family: var(--acaai-latin);
	font-variant-numeric: tabular-nums;
	left: 0;
	position: absolute;
}

.toc .toc-list ul,
.toc .toc-list ol {
	list-style: none;
	margin-top: 0.5em;
	padding-left: 0;
}

.toc .toc-list ul li::before,
.toc .toc-list ol li::before {
	color: var(--acaai-green);
	content: "—";
	margin-right: 0.5em;
}

.toc .toc-list ul li,
.toc .toc-list ol li {
	color: var(--acaai-muted-text);
	font-size: 0.9em;
	margin-bottom: 0.4em;
}

.toc a {
	color: var(--acaai-ink);
	text-decoration: none;
}

.toc a:hover {
	color: var(--acaai-green-dark);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

/* -----------------------------------------------------------------------------
   12. 記事フッター(著者・関連記事)
   -------------------------------------------------------------------------- */
.article-footer {
	padding: 0 clamp(1.25rem, 5vw, 3.5rem) clamp(2rem, 4vw, 3rem);
}

.author-box {
	align-items: center;
	background-color: transparent;
	border: 1px solid var(--acaai-line);
	border-radius: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.2rem;
	margin: 0 auto;
	max-width: var(--acaai-measure);
	padding: 1.5rem;
}

/* 「Editorial Team」等のラベルは1行使って見出しとして置く */
.author-box .author-widget-name {
	flex: 0 0 100%;
	margin-bottom: 0.4rem;
}

.author-box .author-thumb {
	flex: 0 0 56px;
	margin: 0;
	width: 56px;
}

.author-box .author-thumb img {
	border-radius: 50%;
	height: auto;
	width: 100%;
}

.author-box .author-name {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.03em;
}

.author-box .author-description,
.author-box .author-description p {
	color: var(--acaai-muted-text);
	font-size: 0.8125rem;
	line-height: 1.9;
	margin: 0.4rem 0 0;
}

.author-box .author-widget-name {
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-align: left;
	text-transform: uppercase;
}

.author-box .author-content {
	flex: 1 1 12rem;
}

/* 関連記事 */
.related-entries {
	margin: 3.5rem auto 0;
	max-width: var(--acaai-measure);
}

.related-entry-heading,
.related-list-title {
	border: 0;
	border-top: 1px solid var(--acaai-line);
	color: var(--acaai-green-dark);
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.24em;
	margin: 0 0 0.5rem;
	padding: 1.4rem 0 0;
	text-transform: uppercase;
}

.related-entry-card-wrap.a-wrap {
	border-bottom: 1px solid var(--acaai-line);
	padding: 1.2rem 0;
}

.related-entry-card-wrap.a-wrap:hover {
	background-color: transparent;
}

.related-entry-card {
	align-items: start;
	display: grid;
	gap: 1.1rem;
	grid-template-columns: minmax(0, 8rem) minmax(0, 1fr);
}

.related-entry-card-thumb {
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.related-entry-card-thumb img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.related-entry-card-content {
	margin-left: 0;
}

.related-entry-card-title {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.7;
	margin: 0;
}

.related-entry-card-wrap:hover .related-entry-card-title {
	color: var(--acaai-green-dark);
}

.related-entry-card-snippet {
	display: none;
}

.related-entry-card-info .fa {
	display: none;
}

.related-entry-card-info .entry-date {
	color: var(--acaai-muted-text);
	font-family: var(--acaai-latin);
	font-size: 11px;
	letter-spacing: 0.1em;
}

/* ページ送り */
.pager-post-navi a {
	border: 1px solid var(--acaai-line);
	padding: 1rem;
}

.pager-post-navi a:hover {
	background-color: var(--acaai-green-pale);
}

.pager-post-navi .post-navi-title {
	font-family: var(--acaai-serif);
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

/* -----------------------------------------------------------------------------
   12b. フッター手前の濃緑バンド(このブログについて／テーマ索引)
        白一色で終わらせず、面の重みと情報量で「読み物としての厚み」を出す
   -------------------------------------------------------------------------- */
.acaai-about {
	background-color: var(--acaai-green-deep);
	background-image: var(--acaai-plate-deep);
	color: rgba(255, 255, 255, 0.88);
	margin-top: clamp(3rem, 6vw, 5rem);
}

.acaai-about__in {
	margin: 0 auto;
	max-width: var(--acaai-shell);
	padding: clamp(2.8rem, 6vw, 4.5rem) var(--acaai-gutter);
}

.acaai-about__eyebrow {
	color: var(--acaai-green-soft);
	display: block;
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.24em;
	margin-bottom: 1.1rem;
	text-transform: uppercase;
}

.acaai-about__title {
	color: var(--acaai-white);
	font-family: var(--acaai-serif);
	font-size: clamp(1.25rem, 2.6vw, 1.7rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.7;
	margin: 0;
	max-width: 34em;
	text-wrap: balance;
}

.acaai-about__grid {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, 1fr);
	margin: clamp(2rem, 4vw, 3rem) 0 0;
}

.acaai-about__grid > div {
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	padding: 1.6rem 1.8rem 0 0;
}

.acaai-about__grid > div:last-child {
	border-right: 0;
	padding-right: 0;
}

.acaai-about__grid > div:not(:first-child) {
	padding-left: 1.8rem;
}

.acaai-about__grid dt {
	color: var(--acaai-green-soft);
	font-family: var(--acaai-latin);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	margin-bottom: 0.7rem;
	text-transform: uppercase;
}

.acaai-about__grid strong {
	color: var(--acaai-white);
	display: block;
	font-family: var(--acaai-serif);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin-bottom: 0.5rem;
}

.acaai-about__grid dd {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.8125rem;
	line-height: 1.95;
	margin: 0;
}

/* テーマ索引 */
.acaai-subjects {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.8rem;
}

.acaai-subjects__label {
	color: var(--acaai-green-soft);
	display: block;
	font-family: var(--acaai-latin);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	margin-bottom: 1.1rem;
	text-transform: uppercase;
}

.acaai-subjects__list {
	display: grid;
	gap: 0.1rem 2rem;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaai-subjects__list a {
	align-items: baseline;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.88);
	display: flex;
	font-family: var(--acaai-serif);
	font-size: 0.9375rem;
	gap: 0.8rem;
	justify-content: space-between;
	letter-spacing: 0.03em;
	padding: 0.7rem 0;
	text-decoration: none;
	transition: color 180ms ease;
}

.acaai-subjects__list a:hover {
	color: var(--acaai-white);
}

.acaai-subjects__list b {
	color: var(--acaai-green-soft);
	font-family: var(--acaai-latin);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	font-weight: 400;
	letter-spacing: 0.08em;
}

/* -----------------------------------------------------------------------------
   13. フッター
   -------------------------------------------------------------------------- */
.footer {
	background-color: var(--acaai-green-deep);
	color: rgba(255, 255, 255, 0.86);
	margin-top: clamp(3rem, 6vw, 5rem);
	padding: clamp(2rem, 4vw, 3rem) 0 1.5rem;
}

/* 濃緑バンドが直前にある場合は面を続け、境界を罫線1本にする */
.acaai-about + .footer {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	margin-top: 0;
}

.footer a {
	color: rgba(255, 255, 255, 0.86);
}

.footer .logo,
.footer-bottom-logo .logo {
	text-align: left; /* Cocoonの .logo は中央揃え */
}

.footer .site-name-text,
.footer .logo-footer .site-name-text {
	color: var(--acaai-white);
	font-family: var(--acaai-latin);
	font-size: 20px;
	letter-spacing: 0.05em;
}

/* Cocoonはロゴを絶対配置・コンテンツを右フロートにする。左揃えの縦積みへ戻す */
.footer-bottom {
	margin-top: 1.5rem;
	padding: 0;
	position: relative;
}

.footer-bottom-logo {
	bottom: auto;
	float: none;
	margin-bottom: 1.4rem;
	position: static;
}

.footer-bottom-content {
	float: none;
	text-align: left;
	width: 100%;
}

.navi-footer-in > .menu-footer {
	justify-content: flex-start;
	gap: 0 1.8rem;
}

.navi-footer-in > .menu-footer li {
	border: 0;
	width: auto;
}

.navi-footer-in > .menu-footer li:last-child {
	border-right: 0;
}

.navi-footer-in a {
	color: rgba(255, 255, 255, 0.86);
	font-size: 13px;
	letter-spacing: 0.04em;
	padding: 0.35rem 0;
}

.navi-footer-in a:hover {
	background-color: transparent;
	color: var(--acaai-white);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--acaai-latin);
	font-size: 12px;
	letter-spacing: 0.1em;
	margin-top: 2rem;
	padding-top: 1.2rem;
	text-align: left;
}

.footer-widgets .widget-title {
	color: var(--acaai-white);
	font-family: var(--acaai-latin);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.footer-widgets ul {
	list-style: none;
	padding: 0;
}

.footer-widgets li {
	font-size: 13px;
	margin-bottom: 0.5em;
}

/* -----------------------------------------------------------------------------
   14. 補助UI
   -------------------------------------------------------------------------- */
.go-to-top-button {
	background-color: var(--acaai-green-dark);
	border-radius: 0;
	color: var(--acaai-white);
	opacity: 0.9;
}

.go-to-top-button:hover {
	background-color: var(--acaai-green-deep);
	opacity: 1;
}

.mobile-header-menu-buttons,
.mobile-footer-menu-buttons {
	background-color: var(--acaai-white);
	border-top: 1px solid var(--acaai-line);
	box-shadow: none;
}

.mobile-menu-buttons .menu-button {
	color: var(--acaai-ink);
}

.menu-drawer,
.navi-menu-content {
	background-color: var(--acaai-white);
}

.navi-menu-content a {
	font-family: var(--acaai-serif);
	letter-spacing: 0.04em;
}

/* 検索フォーム */
.search-edit,
.search-box input[type="text"] {
	border: 1px solid var(--acaai-line);
	border-radius: 0;
	font-size: 14px;
	padding: 0.7rem 0.9rem;
}

.search-submit {
	background-color: var(--acaai-green-dark);
	border-radius: 0;
	color: var(--acaai-white);
}

/* アーカイブ見出し */
.archive-title {
	color: var(--acaai-ink-strong);
	font-family: var(--acaai-serif);
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 0 0 1.2rem;
}

.archive-title .fa {
	display: none;
}

/* -----------------------------------------------------------------------------
   15. モーション(一覧とセクションのみ。記事本文には適用しない)
   -------------------------------------------------------------------------- */
.acaai-motion-ready .acaai-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition:
		opacity 700ms var(--acaai-ease),
		transform 700ms var(--acaai-ease);
	transition-delay: var(--acaai-reveal-delay, 0ms);
}

.acaai-motion-ready .acaai-reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.acaai-motion-ready .acaai-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.entry-card-thumb img,
	.entry-content a {
		transition: none;
	}
}

/* -----------------------------------------------------------------------------
   16. レスポンシブ
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {
	.main.main,
	div.sidebar {
		margin: 0;
	}

	.main > .article {
		margin-top: 1.5rem;
	}
}

@media screen and (max-width: 834px) {
	:root {
		--acaai-gutter: 5vw;
	}

	.entry-card {
		gap: 1.1rem;
		grid-template-columns: minmax(0, 9.5rem) minmax(0, 1fr);
	}

	.entry-card-snippet {
		display: none;
	}

	/* 巻頭記事は縦積み。プレートを先に見せる */
	.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-thumb {
		aspect-ratio: 16 / 9;
		order: 1;
	}

	.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-content {
		order: 2;
	}

	.home:not(.paged) .list > .entry-card-wrap:first-of-type .entry-card-snippet {
		display: block;
	}

	.acaai-about__grid {
		grid-template-columns: 1fr;
	}

	.acaai-about__grid > div,
	.acaai-about__grid > div:not(:first-child) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		border-right: 0;
		padding: 1.3rem 0;
	}

	.acaai-about__grid > div:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}
}

@media screen and (max-width: 600px) {
	body[class*="fz-"] {
		font-size: 16px;
	}

	.entry-content {
		font-size: 1rem;
		line-height: 2;
	}

	.entry-content > p:first-of-type {
		font-size: 1.0625rem;
	}

	.main > .article,
	.main > .under-entry-content {
		border-left: 0;
		border-right: 0;
	}

	.entry-card {
		gap: 0.9rem;
		grid-template-columns: minmax(0, 7rem) minmax(0, 1fr);
	}

	.related-entry-card {
		grid-template-columns: minmax(0, 6rem) minmax(0, 1fr);
	}

	.acaai-faq__body {
		padding-left: 0;
	}

	.navi-footer-in > .menu-footer {
		gap: 0 1.2rem;
		justify-content: flex-start;
	}
}

/* -----------------------------------------------------------------------------
   17. 印刷
   -------------------------------------------------------------------------- */
@media print {
	body {
		background: #fff;
	}

	.header-container,
	.footer,
	.related-entries,
	.go-to-top,
	.mobile-header-menu-buttons,
	.mobile-footer-menu-buttons {
		display: none;
	}

	.main > .article {
		border: 0;
	}
}
