footer{
    padding: 80px 0 30px;
    background: #fff;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif;
}
footer .flex,
footer .flex02{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
footer .flex01{
    display: flex;
    justify-content: space-between;
    max-width: 798px;
    width: 100%;
}
footer .nav_top{
    font-size: 14px;
    font-weight: bold;
}
footer .nav_top li:not(:last-child){
    margin: 0 0 41px;
}
footer .nav_top .nav_inner li:not(:last-child){
    margin: 0 0 11px;
}
footer li span.icon{
    margin-left: 10px;
    position: relative;
    top: -0.5px;
}
footer .nav_inner{
    font-size: 12px;
    font-weight: 500;
    line-height: 1.9;
    margin: 26px 0 0;
}
footer .flex02{
    display: flex;
    justify-content: flex-end;
    margin: 50px auto 0;
}
footer .flex02 ul{
    display: flex;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.9;
}
footer .flex02 ul li:not(:last-child){
    margin-right: 40px;
}


@media (min-width: 769px) and (max-width: 1100px) {
    footer{
        max-width: 768px;
    }
    footer .flex .logo{
        margin-right: 30px;
    }
    footer .flex01{
        margin-top: 25px;
    }
    footer .flex, footer .flex02{
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}


/* ====================
    SP
==================== */
@media(max-width: 768px) {
    footer{
        padding: 18.66vw 5.33vw;
        background: #fff;
        min-width: auto;
    }
    footer .flex{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-direction: column;
    }
    footer .flex > p img{
        width: 54.93vw;
        height: auto;
    }
    footer .flex01{
        display: flex;
        justify-content: flex-start;
        max-width: none;
        width: 100%;
        flex-wrap: wrap;
        margin: 13.6vw 0 0;
    }
    footer .nav_top{
        font-size: 3.73vw;
        width: 33.6vw;
    }
    footer .nav_top li:not(:last-child){
        margin: 0;
    }
    footer .nav_top .nav_inner li:not(:last-child){
        margin: 0 0 2.66vw;
    }
    footer li span.icon{
        margin-left: 2.93vw;
        top: -0.53vw;
    }
    footer li span.icon img{
        width: 2.93vw;
        height: 2.93vw;
    }
    footer .nav_inner{
        font-size: 3.2vw;
        margin: 6.66vw 0 0;
    }
    footer .nav_top:nth-of-type(1){
        order: 0;
    }
    footer .nav_top:nth-of-type(2){
        order: 2;
        margin: 10.66vw 0 0;
    }
    footer .nav_top:nth-of-type(3){
        order: 5;
        margin: 6.66vw 0 0;
    }
    footer .nav_top:nth-of-type(4){
        order: 1;
    }
    footer .nav_top:nth-of-type(5){
        order: 3;
        margin: 10.66vw 0 0;
    }
    footer .nav_top:nth-of-type(5) li:nth-child(1){
        margin: 0 0 10.66vw;
    }
    footer .nav_top:nth-of-type(1),
    footer .nav_top:nth-of-type(2),
    footer .nav_top:nth-of-type(3){
        margin-right: 13.33vw;
    }
    footer .flex02{
        margin: 16vw auto 0;
    }
    footer .flex02 ul{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        font-size: 3.2vw;
    }
    footer .flex02 ul li{
        min-width: 33.6vw;
    }
    footer .flex02 ul li:not(:last-child){
        margin-right: 0;
    }
    footer .flex02 ul li:first-child{
        margin-right: 15.2vw;
    }
    footer .flex02 ul li:nth-child(1),
    footer .flex02 ul li:nth-child(2),
    footer .flex02 ul li:nth-child(3){
        margin-bottom: 8vw;
    }
}