@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#loading {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    transition: opacity 500ms;
    pointer-events: auto;
}

#loading.hide {
    pointer-events: none;
    opacity: 0;
}

#loading .loading-inner {
    position: absolute;
    left: calc(50% - 26px);
    top: calc(50% - 26px);
    width: 52px;
    height: 52px;
    border: 3px solid #ccaa5e;
    border-right-color: transparent;
    border-radius: 100%;
    animation: spin .75s linear infinite;
    transform: translate(-50%, -50%);
    z-index: 3;
}

#loading .bg-loading {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
}

.header nav .float-global-navi {
    display: block;
    transform: translate(0, -101%);
    opacity: 0;
    transition: all 150ms;
    transform-timing-function: ease-out;
}

.header nav .float-global-navi #btn_navi_close {
    z-index: 3;
}

.header nav .float-global-navi.open {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 280ms;
    transform-timing-function: ease-out;
}

.head-snavi-menu.sp > p {
    cursor: pointer;
}

#btn-pagetop {
    opacity: 0;
    pointer-events: none;
    transition: all 400ms;
}

#btn-pagetop.show {
    opacity: 1;
    pointer-events: auto;
}

@media screen and (min-width: 768px) {
    #loading .loading-inner {
        left: calc(50% - 13px);
        top: calc(50% - 13px);
        width: 26px;
        height: 26px;
        border: 2px solid #ccaa5e;
        border-right-color: transparent;
        border-radius: 100%;
    }
}
