/* フッター全体 */
.footer {
    background: #000000;
    padding: 20px;
    color: white;
    text-align: center;
}

/* フッターの最上部ブロック */
.footer-first-block {
    display: flex;
    flex-direction: column; /* SPでは縦並び */
    align-items: center; /* 中央揃え */
    /* gap: 10px; */
}

@media (min-width: 768px) {
    .footer-first-block {
        display: flex;
        flex-direction: row; /* PCでは横並び */
        justify-content: space-between; /* 各セクションを左右端に配置 */
        align-items: center; /* 垂直方向の中央揃え */
        width: 100%; /* フッター幅全体に配置 */
        max-width: 1700px;
        /* gap: 10px; */

    }

    /* 各セクションを1行に配置するための調整 */
    .footer-first-block > div,
    .logo-block,
    .link-block,
    .sns-block {
        display: flex;
        align-items: center; /* 各セクション内でも中央揃え */
    }

    /* ロゴブロックを左端に配置 */
    .logo-block {
        margin-right: auto; /* ロゴを左寄せ */
    }

    /* リンクブロックを中央に配置 */
    .link-block div {
        display: flex;
        flex-direction: row; /* リンクを横並びに */
        justify-content: center; /* 中央揃え */
        gap: 20px; /* リンク間の間隔 */
    }

    /* SNSブロックを右端に配置 */
    .sns-block {
        margin-left: auto; /* SNSアイコンを右寄せ */
        margin-right: 40px;
        max-width: 200px;
        width: 100%;
    }
}

/* ロゴブロック */
.logo-block {
    padding: 40px;
    text-align: center; /* SPの中央揃え */
}

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

/* リンクブロック */
.link-block div {
    display: flex;
    flex-direction: column; /* SPでは縦並び */
    align-items: center;
    gap: 10px; /* 各リンクの間隔を調整 */
}

@media (min-width: 768px) {
    .link-block {
        justify-content: center; /* 横方向の中央揃え */
    }
    .link-block div {
        flex-direction: row; /* PCでは横並び */
        justify-content: center; /* 横方向の中央揃え */
        gap: 20px; /* 各リンク間隔 */
    }
}

.link-block p {
    margin: 0; /* デフォルトの余白を削除 */
}

.link-block a {
    color: white;
    text-decoration: none;
    font-size: 14px;
}

.link-block a:hover {
    text-decoration: underline;
}

/* SNSブロック */
.sns-block {
    margin: 20px 40px;
}

.sns-icons {
    display: flex;
    justify-content: center;
    gap: 35px;
    align-items: center;
    margin:40px 0;
    width: 45px;
    height: 45px;  
}

.sns-icon {
    width: 50px;
    height: 50px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.sns-icon:hover {
    transform: scale(1.1);
}

/* コピーライト */
.footer-last-p {
    font-size: 12px;
    margin-top: 10px;
    text-align: center;
    width: 100%;
}

@media (min-width: 768px) {
    .footer-last-p {
        text-align: left; /* PCでは左揃え */
        margin-left: 40px; /* ロゴ位置に揃える */
    }
}
