/* ==============================================
   サイトフッター — v2: warm dark, left-aligned
   ============================================== */

.site-footer {
    background: #1E2A25;  /* ダークグリーン寄り（v2の温かみに合わせて） */
    color: var(--color-surface);
    padding: var(--space-lg) var(--space-xl) var(--space-md);
}

.site-footer__inner {
    max-width: var(--content-max);
    margin: 0 auto;
}

/* ========== フッターナビ ========== */

.footer-nav {
    margin-bottom: var(--space-md);
}

.footer-nav ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--space-sm) var(--space-lg);
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-nav a {
    color: rgba(255, 255, 255, 0.55);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    padding: var(--space-xs) 0;
    display: block;
    transition: color 0.2s;
    letter-spacing: 0.01em;
}

.footer-nav a:hover {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
}

/* ========== 法務リンク（プラポリ / 利用規約 / 事業者向け） ========== */

.footer-legal-links {
    list-style: none;
    margin: 0 0 var(--space-sm);
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-lg);
}

.footer-legal-links li {
    position: relative;
}

.footer-legal-links li + li::before {
    content: "|";
    color: rgba(255, 255, 255, 0.2);
    position: absolute;
    left: calc(-1 * var(--space-lg) / 2);
    top: 50%;
    transform: translate(-50%, -50%);
}

.footer-legal-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}

.footer-legal-links a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-contact {
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    margin: var(--space-lg) 0;
}

.footer-contact a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: underline;
}

.footer-contact a:hover {
    color: #fff;
}

/* ========== コピーライト ========== */

.copyright {
    text-align: left;
    color: rgba(255, 255, 255, 0.3);
    font-size: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: var(--space-sm);
    margin: 0;
    letter-spacing: 0.02em;
}
