body footer #footer_upper {
    background-color: var( --color-frontend_layout_footer_top_bgnd );
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 15px;    
}
body footer #footer_upper #footer_upper_inner {
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-direction: row;
    align-items: center;
    row-gap: 32px;
    column-gap: 32px;
}
body footer #footer_upper #footer_upper_inner #footer_upper_inner_left {
    flex-basis: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
body footer #footer_upper #footer_upper_inner #footer_upper_inner_right {
    flex-basis: 50%;
    display: flex;
    flex-direction: row;
    column-gap: 64px;
    row-gap: 48px;
    align-items: center;
    justify-content: center;
}
body footer #footer_upper #footer_upper_inner #footer_upper_inner_right .footer_upper_inner_right_column {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 16px;
}
body footer #footer_upper #footer_upper_inner #footer_upper_inner_right .footer_upper_inner_right_column a {
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: var( --color-frontend_layout_footer_top_right_color );
}

body footer #footer_lower {
    background-color: var( --color-frontend_layout_footer_bottom_bgnd );
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}
body footer #footer_lower #footer_lower_inner {
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    row-gap: 16px;
}
body footer #footer_lower #footer_lower_inner #footer_lower_inner_left {
    font-weight: 400;
    color: var( --color-frontend_layout_footer_bottom_left_color );
    font-size: 1rem;
}
body footer #footer_lower #footer_lower_inner #footer_lower_inner_right {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 32px;
}
body footer #footer_lower #footer_lower_inner #footer_lower_inner_right a {
    color: var( --color-frontend_layout_footer_bottom_right_color );
    text-decoration: none;
    font-size: 0.9rem;
}

@media( max-width: 600px ) {
    body footer #footer_upper #footer_upper_inner { flex-direction: column; }
    body footer #footer_lower #footer_lower_inner { flex-direction: column; align-items: stretch; }
    body footer #footer_upper #footer_upper_inner #footer_upper_inner_right { flex-direction: column; }
    body footer #footer_lower #footer_lower_inner #footer_lower_inner_left { font-size: 0.85rem; text-align: center; }
    body footer #footer_lower #footer_lower_inner #footer_lower_inner_right { column-gap: 12px; justify-content: space-between; }
    body footer #footer_lower #footer_lower_inner #footer_lower_inner_right a { font-size: 0.75rem; }
}
