@charset "UTF-8";
/* ==========================================================================
 アイジスレガシー財団 v2：追加部品と既存本文の互換調整
 alf.css（2026-10 納品物のデザイン）の後に読み込む。
============================================================================*/

/* ---------- 既存本文（旧テーマ用HTML）の表示調整 ----------
   旧テーマは jQuery でスクロール時にクラスを付けて表示していた。
   v2 はスクリプトに頼らず最初から表示する（動きを抑えたい利用者にも配慮）。 */
body.alf .a-legacy-body .js-fade { opacity: 1; transform: none; visibility: visible; transition: none; }
body.alf .a-legacy-body .p-commitment p > span,
body.alf .a-legacy-body .c-mv__title__ja > span { opacity: 1; transform: none; transition: none; }
body.alf .a-legacy-body { padding-top: clamp(24px, 4vw, 48px); }
body.alf .a-legacy-body img { max-width: 100%; height: auto; }

/* ---------- 冒頭要約 ---------- */
.a-summary-box { margin-top: clamp(24px, 4vw, 40px); padding: 20px 24px; border-left: 4px solid var(--alf-green); background: var(--alf-bg); border-radius: 0 var(--alf-radius) var(--alf-radius) 0; }
.a-summary-box__label { margin: 0 0 6px; font-size: .875rem !important; font-weight: 700; color: var(--alf-green); letter-spacing: .04em; }
.a-summary-box p { margin: 0; }

/* ---------- 関連ページ ---------- */
.a-related { border-top: 1px solid var(--alf-line); }
.a-related .a-h3 { margin-bottom: 16px; }
.a-linklist--cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 32px; }

/* ---------- カード ---------- */
.a-card--report .a-card__meta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font-size: .875rem; color: var(--alf-muted); }
.a-card--accent { border: 2px solid var(--alf-green); }
.a-card--accent .a-card__title { color: var(--alf-green); }

/* ---------- 情報公開 ---------- */
.a-docs__meta { margin-left: .4em; font-size: .875rem; color: var(--alf-muted); }

/* ---------- フォーム準備中 ---------- */
.a-form-result--info { padding: 20px 24px; background: var(--alf-bg); border: 1px solid var(--alf-line); border-radius: var(--alf-radius); }

/* ---------- 基金の写真 ---------- */
.a-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.a-gallery figure { margin: 0; }
.a-gallery img { width: 100%; height: auto; border-radius: var(--alf-radius); }

/* ---------- FAQ のページ内リンク ---------- */
.a-tabs--anchor { margin-bottom: 32px; }

/* ---------- 旧テーマ本文の見出し（h1 は v2 の見出し帯にあるため、本文側の装飾見出しは h2 以下） ---------- */
body.alf .a-legacy-body .c-mv { display: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ---------- 標準本文（ビジュアルエディタで入力する本文）の見出し・強調 ---------- */
.a-richtext h2 { margin-top: 2.4em; padding-bottom: .5em; border-bottom: 1px solid var(--alf-line); font-family: var(--alf-font-head); font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem); font-weight: 600; line-height: 1.5; color: var(--alf-green); }
.a-richtext h3 { margin-top: 2em; padding-left: .75em; border-left: 3px solid var(--alf-green); font-size: clamp(1.125rem, 1rem + .5vw, 1.3125rem); font-weight: 700; line-height: 1.6; color: var(--alf-text); }
.a-richtext h4 { margin-top: 1.6em; font-size: 1.0625rem; font-weight: 700; color: var(--alf-text); }
.a-richtext > h2:first-child, .a-richtext > h3:first-child { margin-top: 0; }
.a-richtext h2 + *, .a-richtext h3 + *, .a-richtext h4 + * { margin-top: .8em; }
.a-richtext strong { font-weight: 700; color: var(--alf-green-deep); }
.a-richtext ul { list-style: disc; }
.a-richtext ol { list-style: decimal; }
.a-richtext li::marker { color: var(--alf-green); }

/* ---------- 図のアイコン（本文にSVGを書かずに、クラス名で表示する） ---------- */
.a-icon::before { content: ""; display: block; width: 34px; height: 34px; background-color: currentColor; -webkit-mask: var(--alf-icon) center / contain no-repeat; mask: var(--alf-icon) center / contain no-repeat; }
.a-icon--check { --alf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203h9l3%203v15H6z%22/%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22/%3E%3C/svg%3E"); }
.a-icon--shield { --alf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%204v5c0%205-3.5%208-8%209-4.5-1-8-4-8-9V7z%22/%3E%3C/svg%3E"); }
.a-icon--coin { --alf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228%22/%3E%3Cpath%20d%3D%22M12%207v10M9%2010h4.5a1.8%201.8%200%20010%203.6H10%22/%3E%3C/svg%3E"); }
.a-icon--cap { --alf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%209l9-5%209%205-9%205z%22/%3E%3Cpath%20d%3D%22M7%2011.5V16c3%202%207%202%2010%200v-4.5%22/%3E%3C/svg%3E"); }
.a-icon--doc { --alf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203h9l3%203v15H6z%22/%3E%3Cpath%20d%3D%22M9%2011h6M9%2015h6M9%207h3%22/%3E%3C/svg%3E"); }

/* ---------- フッター：メールアドレスのリンク ---------- */
body.alf .a-footer .a-footer__contact a { text-decoration: underline !important; text-underline-offset: 3px; }
body.alf .a-footer .a-footer__contact a:hover, body.alf .a-footer .a-footer__contact a:focus-visible { text-decoration-thickness: 2px; }

/* ---------- 節の中の小見出し（寄附ページの新設基準など） ---------- */
body.alf .a-structured .a-container--narrow > .a-h3 { margin-top: 2em; margin-bottom: .6em; }
body.alf .a-structured .a-container--narrow > .a-h2 + .a-h3 { margin-top: 1.2em; }
