@media screen and (max-width:585px) {

    body {
        font-size: 0.9em;
    }

    .ssp {
        display: block;
    }



    a.rec_btn {
        position: fixed;
        z-index: 5000;
        right: 0;
        top: 25%;
        font-family: "Noto Serif JP", serif;
        background-color: #4A8B68;
        color: #fff;
        writing-mode: vertical-rl;
        padding: 1.2em 0.6em;
        font-size: 1em;
        border-radius: 10px 0 0 10px;
    }

    a.rec_btn img {
        width: 25px;
    }

    .flex.achiebements>div {
        font-size: 0.8em;
    }


    .table {
        font-size: 0.95em;
    }

    .title>div img {
        max-width: 100%;
    }

    /*header*/

    menu {
        position: fixed;
        width: 46px;
        height: 28px;
        top: 2.5vw;
        padding: 0;
    }

    menu span {
        position: absolute;
        display: block;
        width: 46px;
        height: 2px;
        background-color: black;
        left: 0;
        transition: 0.5s;
    }

    menu span.first {
        top: 0;
    }

    menu span.first.active {
        transform: translate(-5px, 13px) rotate(30deg);
        width: 50px;
    }

    menu span.second {
        top: 50%;
        transform: translateY(-50%);
    }

    menu span.second.active {
        opacity: 0;
    }

    menu span.last {
        bottom: 0;
    }

    menu span.last.active {
        transform: translate(-5px, -13px) rotate(-30deg);
        width: 50px;
    }

    /*kv*/

    #kv .pr img {
        left: -50px;
    }

    /*exterior*/

    #exterior .small-h {
        font-size: 1.8em;
    }

    /*recruit*/
    #recruit .num span {
        font-size: 7.5vw;
    }


    /*footer*/

    footer .flex .right {
        justify-content: space-between;
        letter-spacing: 0.1em;
    }


}