/* 足元。AMATERAS 統一ルール 4 の組み方（銘 → 方針 3 点 → 法的表記 → リンクの組 → 署名）。中身は scripts/footer.html */
.sf { max-width: 760px; margin: 40px auto 0; padding: 28px 16px calc(40px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--border); font-size: .85rem; line-height: 1.7; color: var(--sub); }
.sf p { margin: 0; word-break: auto-phrase; line-break: strict; }
/* 見出し・数と単位・固有の語の途中で折らない。auto-phrase は Chrome だけなので、句ごとに .nw で包む（全ページ共通） */
.nw { display: inline-block; white-space: nowrap; }
.sf .mark { font-size: .95rem; color: var(--text); }
.sf .mark strong { margin-left: .3em; }
.sf .policy { margin: 10px 0 0; padding: 0; list-style: none; }
.sf .policy li { margin: 2px 0; word-break: auto-phrase; }
.sf .flegal { display: flex; flex-wrap: wrap; gap: 0 20px; }
.sf .flegal a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sub); }
.sf .fnav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
.sf .fh { margin: 0 0 4px; font-size: .72rem; font-weight: 700; letter-spacing: .08em; color: var(--sub); opacity: .8; }
.sf .fnav ul { margin: 0; padding: 0; list-style: none; }
.sf .fnav a { display: flex; flex-direction: column; justify-content: center; min-height: 44px; padding: 4px 0; line-height: 1.4; color: var(--text); text-decoration: none; }
.sf .fnav a small { display: block; margin-top: 2px; font-size: .72rem; color: var(--sub); }
.sf .fnav a:hover { color: var(--accent); }
.sf .sig { margin-top: 20px; font-size: .72rem; letter-spacing: .04em; color: var(--sub); opacity: .8; }
.sf .sig a { color: inherit; }
