/* sp nav */

.hamburger {
    position: fixed;
    right: 20px;
    top: 16px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 100;
}

.hamburger span,
.hamburger::before,
.hamburger::after {
    position: absolute;
    width: 40px;
    height: 3px;
    right: 0;
    background-color: #F8FBFB;
    transition: all .5s;
}

/* 2. 詳細ページ（背景が白の時：黒系） */
/* bodyに .single-post クラスがある時だけ色を上書きします */
.customize-support .hamburger span,
.customize-support .hamburger::before,
.customize-support .hamburger::after {
    background-color: #333333;
    /* 濃いグレー */
}

/* 3. メニューが開いている時（背景が黒になるので白に戻す） */
/* .activeがついている時は、詳細ページであっても白く見えるようにします */
.active .hamburger span,
.active .hamburger::after {
    background-color: #F8FBFB !important;
}

.active .hamburger::before {
    background-color: transparent !important;
}

.is-scrolled .hamburger span,
.is-scrolled .hamburger::before,
.is-scrolled .hamburger::after {
    background-color: #333333;
    /* 濃いグレーに変更 */
}

/* メニューが開いている時（.active）は、背景が黒になるので白に戻す */
.active .hamburger span,
.active .hamburger::after {
    background-color: #F8FBFB !important;
}

.hamburger::before,
.hamburger::after {
    content: "";
}

.hamburger span {
    top: 1px;
}

.hamburger::before {
    top: 14px;
}

.hamburger::after {
    top: 27px;
}

.active .hamburger span {
    transform: rotate(-45deg);
    top: 11px;
}

.active .hamburger::before {
    background-color: transparent;
}

.active .hamburger::after {
    transform: rotate(45deg);
    top: 11px;
}

.sp-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #000;
    transition: all .5s;
    z-index: 99;
    /* 画面の右外（100%分）へ飛ばす */
    transform: translateX(100%);
}

.active .sp-nav {
    transform: translateX(0) !important;
}

.sp-nav {
    display: flex;
    justify-content: center;
    padding-top: 90px;
    text-align: left;
}

.sp-nav li {
    margin-bottom: 35px;
}

.sp-nav li a {
    color: #F8FBFB;
    font-size: 1.375em;
}

/* nav end */