body.mobile_menu_active {
    overflow-x: hidden;
}

body.mobile_menu_active #pagewrap #headerwrap {
    padding-top: 18px;
}

@media screen and (max-width: 1024px) {
    body.mobile_menu_active #responsive-btn,
    body.mobile_menu_active #responsive-nav-wrapper,
    body.mobile_menu_active #responsive-nav-container,
    body.mobile_menu_active #global-nav.off-canvas-nav {
        display: none !important;
    }

    body > .hamburger.source-restored {
        display: block !important;
        position: fixed !important;
        /* top: 16px !important;
        right: 18px !important; */
        left: auto !important;
        z-index: 10020 !important;
    }

    body > .hamburger.source-restored .hamburger__icon,
    body > .hamburger.source-restored .hamburger__icon::before,
    body > .hamburger.source-restored .hamburger__icon::after {
        background: rgba(255, 255, 255, 0.92) !important;
    }

    body > .hamburger.source-restored.active .hamburger__icon {
        background: transparent !important;
    }

    body > .hamburger.source-restored.active .hamburger__icon::before,
    body > .hamburger.source-restored.active .hamburger__icon::after {
        background: rgba(255, 255, 255, 0.92) !important;
    }

    body .fat-nav.source-restored {
        display: none;
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        z-index: 10010 !important;
        /* background: rgba(10, 2, 0, 0.92) !important; */
    }

    body .fat-nav.source-restored.active {
        display: block;
    }

    body .fat-nav.source-restored .fat-nav__wrapper {
        display: flex !important;
        align-items: flex-start;
        justify-content: center;
        width: 100% !important;
        height: 100% !important;
        padding: 85px 24px 110px !important;
        overflow-y: auto !important;
        transform: translateY(0) !important;
        box-sizing: border-box;
    }

    body .fat-nav.source-restored .fat-nav_inner {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
    }

    body .fat-nav.source-restored #site-logo {
        position: static !important;
        display: block !important;
        float: none !important;
        /* margin: 0 auto 34px !important; */
        text-align: center !important;
    }

    body .fat-nav.source-restored #site-logo a {
        display: inline-block;
        max-width: 177px;
    }

    body .fat-nav.source-restored #site-logo img {
        display: block;
        margin: 0 auto;
    }

    body .fat-nav.source-restored .menu-globalnav-container,
    body .fat-nav.source-restored #main-nav,
    body .fat-nav.source-restored #main-nav li,
    body .fat-nav.source-restored #main-nav ul {
        display: block !important;
        float: none !important;
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        left: auto !important;
        right: auto !important;
    }

    body .fat-nav.source-restored #main-nav > li {
        margin-bottom: 12px !important;
        font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "メイリオ", Meiryo, serif;
        font-size: 35px !important;
        line-height: 1.2 !important;
        text-align: center;
    }

    body .fat-nav.source-restored #main-nav > li.navi3 {
        margin-bottom: 2px !important;
        padding-bottom: 20px !important;
    }

    body .fat-nav.source-restored #main-nav > li > a {
        position: relative !important;
        display: inline-block !important;
        width: auto !important;
        min-height: 32px;
        margin: 0 !important;
        padding: 6px 0 6px 38px !important;
        color: #fff !important;
        text-decoration: none !important;
        text-indent: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        font-size: inherit !important;
        border-radius: 0 !important;
    }

    body .fat-nav.source-restored #main-nav > li > a::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 5px;
        width: 30px;
        height: 25px;
        background: url(../../uploads/icon_menu.png) center center no-repeat;
        background-size: contain;
    }

    /* body .fat-nav.source-restored #main-nav .sub-menu {
        margin-top: 12px !important;
    } */

    body .fat-nav.source-restored #main-nav .sub-menu li {
        margin-bottom: 0 !important;
        font-size: 30px !important;
        line-height: 1 !important;
        text-align: center;
    }

    body .fat-nav.source-restored #main-nav .sub-menu li:first-child {
        padding-top: 18px;
    }

    body .fat-nav.source-restored #main-nav .sub-menu li a {
        display: inline-block !important;
        width: auto !important;
        padding: 3px 0 !important;
        color: #fff !important;
        background: transparent !important;
        padding-left: 38px !important;
    }

    body .fat-nav.source-restored #main-nav .sub-menu li a::before,
    body .fat-nav.source-restored #main-nav .sub-menu .sub-arrow {
        display: none !important;
    }

    body.mobile_menu_active #footerwrap .f-con {
        position: fixed !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        z-index: 99 !important;
        background: rgba(10, 2, 0, 0.75) !important;
    }

    body.mobile_menu_active #footerwrap .f-con p {
        flex: 1 1 33.333%;
        display: block !important;
        margin: 0 !important;
        border-right: 1px solid rgba(255, 255, 255, 0.4);
    }

    body.mobile_menu_active #footerwrap .f-con p:last-child {
        border-right: 0;
    }

    body.mobile_menu_active #footerwrap .f-con a {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        height: 58px !important;
        padding: 0 !important;
        color: #fff !important;
        text-decoration: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
        background: transparent !important;
    }

    body.mobile_menu_active #footerwrap .f-con .f-tel a::before,
    body.mobile_menu_active #footerwrap .f-con .f-map a::before,
    body.mobile_menu_active #footerwrap .f-con .f-rtt a::before {
        display: block;
        text-align: center;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        transform: none !important;
        will-change: auto;
        opacity: 1 !important;
    }

    body.mobile_menu_active #footerwrap .f-con .f-tel a::before {
        content: "\f095";
        width: 23px;
        height: 23px;
        font-family: "FontAwesome";
        font-size: 23px;
        line-height: 23px;
        color: #ffffff;
        background: none;
    }

    body.mobile_menu_active #footerwrap .f-con .f-map a::before {
        content: "\f041";
        width: 19px;
        height: 25px;
        font-family: "FontAwesome";
        font-size: 25px;
        line-height: 25px;
        color: #ffffff;
        background: none;
    }

    body.mobile_menu_active #footerwrap .f-con .f-rtt {
        position: static !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
        margin: 0 !important;
        z-index: auto !important;
    }

    body.mobile_menu_active #footerwrap .f-con .f-rtt a {
        position: relative;
        font-size: 0 !important;
        transform: none !important;
        opacity: 1 !important;
        transition: none !important;
    }

    body.mobile_menu_active #footerwrap .f-con .f-rtt a::before {
        content: "\f077";
        display: block;
        width: auto;
        height: auto;
        margin: 0 auto;
        background: none;
        color: rgba(255, 255, 255, 0.98);
        font-family: "FontAwesome";
        font-size: 22px;
        font-weight: normal;
        line-height: 1;
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    body.mobile_menu_active #footerwrap .f-con .f-rtt img {
        display: none !important;
        transform: none !important;
        opacity: 1 !important;
        transition: none !important;
    }

    body.mobile_menu_active #footerwrap .copy {
        padding-bottom: 74px !important;
    }

    #pagewrap .module.top_post_1.module-post .post-date {
    background: url(../../uploads/top_arrow_1.png) top 5px left no-repeat !important;
    padding-left: 25px;
    }
}

@media screen and (max-width: 680px) {
    body .fat-nav.source-restored #main-nav > li {
        font-size: 22px !important;
    }

    body .fat-nav.source-restored #main-nav .sub-menu li {
        font-size: 20px !important;
    }

    body .fat-nav.source-restored #main-nav > li > a::before {
        top: 0;
    }

    body .fat-nav.source-restored .fat-nav__wrapper {
        padding-top: 63px !important;
    }
}

@media screen and (min-width: 1025px) {
    #footerwrap .f-con .f-tel,
    #footerwrap .f-con .f-map,
    body > .hamburger.source-restored,
    body .fat-nav.source-restored {
        display: none !important;
    }
}
