/* ===================================================
   footer.css - サイトフッター
   =================================================== */

/* ---------------------------------------------------
   フッターウィジェットエリア（3カラム）
   --------------------------------------------------- */
.footer-widgets {
    background-color: #2d2d2d;
    color: var(--color-white);
    padding: 56px 0;
}

.footer-widgets__inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

/* ウィジェットタイトル */
.footer-widgets .widget-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-white);
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

/* ウィジェット内リンク */
.footer-widgets .widget a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color var(--transition);
}

.footer-widgets .widget a:hover {
    color: var(--color-white);
}

/* ウィジェット内テキスト */
.footer-widgets .widget p,
.footer-widgets .widget li,
.footer-widgets .widget address {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.8;
}

/* ナビゲーションウィジェット */
.footer-widgets .widget_nav_menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widgets .widget_nav_menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-widgets .widget_nav_menu li a {
    display: flex;
    align-items: center;
    padding: 8px 0;
    font-size: 1.4rem;
}

.footer-widgets .widget_nav_menu li a::before {
    content: '›';
    margin-right: 6px;
    color: var(--color-primary);
}

/* テキストウィジェット */
.footer-widgets .widget_text .textwidget {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.8;
}

/* ---------------------------------------------------
   フッターボトム（コピーライト + フッターナビ）
   --------------------------------------------------- */
.footer-bottom {
    background-color: #1e1e1e;
    padding: 16px 0;
}

.footer-bottom__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-copyright {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.5);
    font-style: normal;
}

/* フッターナビ */
.footer-nav #footer-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav #footer-nav li a {
    display: block;
    padding: 4px 14px;
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color var(--transition);
    border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.footer-nav #footer-nav li:first-child a {
    padding-left: 0;
}

.footer-nav #footer-nav li:last-child a {
    border-right: none;
}

.footer-nav #footer-nav li a:hover {
    color: var(--color-white);
}

/* ---------------------------------------------------
   レスポンシブ
   --------------------------------------------------- */
@media (max-width: 900px) {
    .footer-widgets__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

@media (max-width: 600px) {
    .footer-widgets {
        padding: 40px 0;
    }

    .footer-widgets__inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-bottom__inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-nav #footer-nav {
        justify-content: center;
    }
}
