nav {
    margin: 0 0 0 auto;
}

nav.ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.sp {
    display: none;
}

/**********************************　
  以下、ハンバーガーメニューの設定　
  ************************************/

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

    .pc {
        display: none;
    }

    /*　ハンバーガーボタン　*/
    #hamburger {
        display: block;
        position: relative;
        margin: 0 0 0 auto;
        z-index: 3;
        right: 13px;
        top: 12px;
        width: 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
    }

    #hamburger span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: rgb(255, 255, 255);
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    #hamburger span:nth-child(1) {
        top: 10px;
    }

    #hamburger span:nth-child(2) {
        top: 20px;
    }

    #hamburger span:nth-child(3) {
        top: 30px;
    }

    /* ナビ開いてる時のボタン */
    #hamburger.active span:nth-child(1) {
        top: 16px;
        left: 6px;
        background: #fff;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #hamburger.active span:nth-child(2),
    #hamburger.active span:nth-child(3) {
        top: 16px;
        background: #fff;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sp.active {
        z-index: 1;
        left: 0;
        width: 100%;
        height: 100vh;
        display: flex;
        justify-content: center;
        left: 0;
        position: absolute;
        background-color: rgba(19, 22, 23, 0.9);
        transition: all .2s ease-in-out;
    }

    .sp.active ul {
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
    }

    .sp.active li {
        margin: 0;
        padding: 0;
    }

    .sp.active li span {
        font-size: 20px;
        color: #fff;
    }

    .sp li a, nav.sp li span {
        display: block;
        padding: 20px 0;
        font-size: 20px;
        color: #fff;
    }

    .toggle {
        transform: translateY(0);
        opacity: 1;
    }

    .main-visual {
        padding: 0 4%;
    }

    h2 {
        line-height: 1.6;
        text-align: center;
    }
}
