.box_sp {
    display: none;
}

.box_pc {
    display: block;
}

/* responsive */
@media screen and (max-width: 1500px) {
    #header .close_btn {
        top: 1vh;
        right: 1%;
    }
}

@media screen and (max-width: 1250px) {
    #header .h_menu {
        padding-left: 0;
    }

    #idx_mainvisual h2 {
        font-size: 4.32vw;
    }
}

@media screen and (min-width: 1025px) {

    #header #gnavi li a:hover::before,
    .menu_overlay .nav_container dl dd .nav li a:hover::after {
        width: 100%;
    }

    #header .h_contact:hover {
        padding-bottom: 7px;
    }
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 14px;
    }

    #totop {
        width: 50px;
    }

    #header {
        height: 60px;
        justify-content: flex-end;
        background: none;
        padding: 0 3%;
        top: 0;
    }

    #header .h_menu,
    #header .h_group_btn .h_contact {
        display: none;
    }

    #header .h_group_btn {
        width: auto;
        max-width: inherit;
    }

    #header .toggle_btn {
        height: 60px;
    }

    #header .toggle_txt {
        font-size: 14px;
    }

    #header .hamburger span {
        height: 2px;
    }

    #header .close_btn {
        width: 60px;
        top: 0;
        right: 3%;
    }

    #header .close_btn .close_txt {
        font-size: 14px;
        margin-bottom: 0;
    }

    #header .close_btn .close_hamburger span {
        height: 2px;
    }

    .menu_overlay {
        padding: 65px 0 30px;
    }

    .menu_overlay .inner {
        width: 94%;
        height: 100%;
        overflow: auto;
    }

    .menu_overlay .nav_container {
        height: auto;
        margin-bottom: 40px;
    }

    .menu_overlay .nav_container .nav_wrap dl dt {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .menu_overlay .nav_container .nav_wrap dl dt span {
        padding-right: 25px;
    }

    .menu_overlay .nav_container .nav_wrap dl dd .nav li {
        width: 100%;
    }

    .menu_overlay .nav_container .nav_wrap dl dd .nav li a,
    .menu_overlay .nav_container .nav_wrap dl dd .nav li .sub_title {
        width: 100%;
        height: 45px;
        display: flex;
        align-items: center;
        font-size: 18px;
        color: #04b52e;
        background: var(--white-color);
        padding: 0 15px;
    }

    .menu_overlay .nav_container .nav_wrap dl dd .nav li .sub_menu {
        padding: 0 20px;
    }

    .menu_overlay .nav_container .nav_wrap dl dd .nav li .sub_menu li a {
        height: 40px;
    }

    .menu_overlay .h_bottom {
        display: block;
        font-size: 16px;
        text-align: center;
    }

    .menu_overlay .h_bottom .h_add {
        margin-bottom: 0;
    }

    .menu_overlay .h_bottom .h_phone span {
        margin-left: 10px;
    }

    .menu_overlay .h_bottom .h_companyname {
        font-size: 14px;
        margin-top: 20px;
    }

    #idx_mainvisual .mv_logo {
        width: 170px;
        top: 20px;
        left: 3%;
    }

    #idx_mainvisual .mv_tag {
        width: 100px;
        height: 100px;
        border-width: 10px;
        bottom: 20px;
        left: 15px;
    }

    #idx_mainvisual .mv_tag .mv_tag_title {
        font-size: 16px;
    }

    #idx_mainvisual .mv_tag .mv_tag_title span {
        font-size: 17px;
    }

    #idx_mainvisual .mv_tag .mv_tag_effect {
        width: 120px;
        height: 123px;
        top: -21px;
        left: -21px;
    }

    #loading figure {
        width: 200px;
    }
}

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

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

    #wrapper,
    #header,
    #main,
    #footer,
    .pages .pages_inner {
        width: 100% !important;
        min-width: inherit !important;
    }

    .box_sp {
        display: block;
    }

    .box_pc {
        display: none;
    }

    #idx_mainvisual h2 {
        font-size: 30px;
    }
}

@media screen and (max-width: 576px) {
    .menu_overlay .nav_container {
        height: auto;
        display: block;
    }

    .menu_overlay .nav_container .nav_wrap {
        display: block;
    }

    .menu_overlay .nav_container .nav_wrap dl {
        width: 100%;
        max-width: 100%;
        margin-bottom: 25px;
    }

    .menu_overlay .nav_container .nav_wrap dl:last-child {
        margin-bottom: 0;
    }

    #idx_mainvisual h2 {
        font-size: 26px;
    }
}

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

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

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