/*--Small~Medium screens--*/
@media only screen and (max-width: 1024px){
    
    /*グローバルナビが出たときの背景*/
    .container{
        -webkit-transition: .3s liner;
        transition: .3s liner;
    }
    .active .container{
        opacity: 0.3;
    }
    /*グローバルナビ*/
    #header .frame{
        position: relative;
    }
    #header #nav{
        position: absolute;
        top: 68px;
        left: -1030px;
        z-index: 1000;
        width: 100%;
        height: 100vh;
    }
    #header ul#menu{
        height: 100vh;
        background-color: rgba(43, 41, 38, 0.95);
        -webkit-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    .active ul#menu{
        -webkit-transform: translateX(1030px);
        transform: translateX(1030px);
    }
    #header li{
        position: relative;
        z-index: 1500;
        width: 100%;
        background-color: rgba(43, 41, 38, 0.95);
        border-bottom: 1px solid #333;
        color: #FFF;
    }
    #header li a,
    #nav li.gn_type span{
        display: block;
        padding: 20px 80px 20px 12px;
        background-color: rgba(43, 41, 38, 0.95);
        font-size: 13px;
        font-weight: bold;
        line-height: 13px;
        text-align: left;
        color: #FFF;
    }
    #header li a:hover{
        background-color: rgba(43, 41, 38, 1);
    }
    /*サブメニュートリガー*/
    #header li .sub-menu{
        position: absolute;
        z-index: 2000;
        top: 0;
        right: 0;
        width: 70px;
        height: 53px;
        background: #111;
        cursor: pointer;
    }
    #header li .sub-menu:after{
        position: absolute;
        content: "";
        top: 50%;
        left: 50%;
        width: 10px;
        height: 10px;
        border-top: 2px solid #CCC;
        border-right: 2px solid #CCC;
        margin: -8px 0 0 -8px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transition: all .4s;
        transition: all .4s;
    }
    #header li.on .sub-menu:after{
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        -webkit-transition: all .4s;
        transition: all .4s;
    }
    /*サブメニュー*/
    #header li ul {
        width: 100%;
        opacity: 0;
        display: none;
        animation-duration: 0.4s;
        animation-name: fade-out;
    }
    #header li.on ul {
        opacity: 1;
        display: block;
        animation-duration: 0.4s;
        animation-name: fade-in;
    }
    @keyframes fade-out {
        0% {
            display: block;
            opacity: 1;
        }
        100% {
            display: none;
            opacity: 0;
        }
    }
    @keyframes fade-in {
        0% {
            display: none;
            opacity: 0;
        }
        50% {
            display: block;
            opacity: 0.5;
        }
        100% {
            display: block;
            opacity: 1;
        }
    }
    #header li ul li{
        width: 100%;
        margin: 0;
        padding: 0;
    }
    #header li ul li:last-child{
        border-bottom: none;
    }
    #header li ul li a{
        display: block;
        margin: 0;
        padding: 18px 15px 18px 30px;
        background: #111;
        font-size: 12px;
        -webkit-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #header li ul li a:hover{
        background-color: rgba(43, 41, 38, 1);
    }
    /*グローバルナビトリガー*/
    .sp-menu{
        position: absolute;
        top: 50%;
        left: 20px;
        width: 30px;
        height: 24px;
        margin-top: -12px;
        cursor: pointer;
    }
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        position: relative;
        z-index: 2000;
        width: 30px;
        height: 24px;
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #000;
        border-radius: 4px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 10px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .active .menu-trigger span:nth-of-type(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    }
    .active .menu-trigger span:nth-of-type(2) {
        opacity: 0;
    }
    .active .menu-trigger span:nth-of-type(3) {
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg);
    }
}

@media only screen and (max-width: 320px){
    #header li a,
    #nav li.gn_type span{
        padding: 20px 80px 20px 10px;
        font-size: 12px !important;
    }
}
