@charset "UTF-8";

@media screen and (max-width: 600px) {

    .menu {
        position: fixed;
        z-index: 999;
        top: 20px;
        right: 4.5%;
        display: block;
        box-sizing: content-box;
        -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
        transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        border: 0;
        outline: 0;
        background-color: transparent;
    }

    /* ナビボタン */
    #btn_nav {
        border: solid 1px #6B6A6B;
        background-color: #FFF;
        border-radius: 50px;
        padding: 12px;
        height: 42px;
        width: 42px;
    }

    #btn_nav .menu__line:before {
        top: 7.5px;
    }

    #btn_nav .menu__line:after {
        top: 15px;
    }


    /*gnav*/
    .gnav {
        min-width: 300px;
        height: 100vh;
        overflow: scroll;
    }

    .gnav_wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        text-align: left;
        position: static;
        width: 100%;
        min-height: 700px;
        padding: 80px 5% 40px;
    }

    .gnav_wrap h4 {
        font-size: 0.7em;
        width: 25%;
    }

    .gnav_wrap .gnav_menu {
        margin-top: 0;
        text-align: left;
        width: 65%;
    }

    /* contents_list */
    .contents_list {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .gnav_menu li {
        margin-bottom: 1.5em;
    }

    .contents_list .gnav_menu li a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .contents_list .gnav_menu li a .en {
        font-size: 1em;
        width: 7em;
    }

    .contents_list .gnav_menu li a h3 {
        font-size: 0.9em;
    }

    /* sns_list */
    .sns_list {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-left: 0;
        margin-top: 0;
    }

    /* link_list */
    .link_list {
        width: 100%;
        margin-left: auto;
        display: flex;
        justify-content: space-between;
        margin-top: 0;
    }

    .link_list h4 {
        font-size: 0.7em;
        margin-bottom: 2em;
    }

    .link_list .gnav_menu li {
        font-size: 0.9em;
        border-bottom: 1px solid #D9D9D9;
        margin-bottom: 2em;
        padding-bottom: 0.3em;
        width: 100%;
    }

    /* logo_wrap */
    .logo_wrap {
        position: static;
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: flex-end;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 40px 5% 20px;
    }

    .logo_wrap .nav_logo {
        display: none;
    }

    .logo_wrap .caption {
        width: auto;
        text-align: left;
        margin-right: auto;
        display: flex;
        font-size: 0.7em;
    }

    .logo_wrap .caption p {
        margin-left: 0;
        margin-right: 1.5em;
    }



    /*ft_gnav*/
    .ft_gnav {
        min-width: 300px;
        height: auto;
    }

    .ft_gnav .gnav_wrap {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        flex-wrap: wrap;
        text-align: left;
        position: static;
        width: 100%;
        padding: 4em 5% 3em;
        top: 60px;
        left: 0;
    }

    .ft_gnav .logo_wrap {
        position: static;
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: flex-end;
        flex-direction: column;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 0 5% 20px;
    }

    .ft_gnav .logo_wrap .nav_logo {
        display: block;
        width: 100%;
        margin: 5em auto 0;
        order: 2;
    }

    .ft_gnav .logo_wrap .caption {
        width: 100%;
        text-align: left;
        display: block;
        justify-content: flex-start;
        font-size: 0.7em;
        order: 1;
    }


}