.footer {
    display: grid;
    place-items: center;
    padding: 0;

    .footer--top {
        width: 100%;
        padding: 40px 5%;
        display: grid;
        place-items: center;
    }

    .footer--logo {
        display: block;
        height: 80px;
    }

    .footer--addressBox {
        display: grid;
        justify-content: center;
        row-gap: 8px;
        text-align: center;
        margin-top: 32px;
    }

    .footer--middle {
        width: 100%;
        padding: 0;
        line-height: 1;
    }

    .footer--menu {
        margin-top: 32px;
    }

    .footer--menuList {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        text-align: center;
        row-gap: 8px;
    }

    .footer--menuItem {
        /* サブメニューを使用する為の設定 */
        /* 使用しない場合は不要 */
        display: block;
        position: relative;
    }

    .footer--menuItem-hasButton {
        margin-left: 16px;
    }

    .footer--menuLink {
        color: var(--black);
        padding: 8px 16px;
        font-size: 1.6rem;
        font-weight: bold;
    }

    .footer--menuLink-button {
        display: block;
        color: var(--white);
        padding: 8px 16px;
        font-size: 1.6rem;
        background-color: var(--primary-bland-color);
    }

    .footer--bottom {
        width: 100%;
        background-color: var(--light-grey);
    }

    .footer--copyrightbox {
        padding: 16px;
        font-size: 1.4rem;
        text-align: center;
    }
}

@media screen and (max-width: 1024px) {
    /* 1024pxまでの幅の場合に適応される */
    .footer {
        padding-bottom: 88px;
    }
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    .footer {
        padding-bottom: 72px;
    }

    .footer--copyrightbox {
        padding: 8px;
    }
}