@media screen and (max-width:749px) {
    .pc {
        display: none !important;
    }
    img {
        max-width: 100%;
    }
    /*	reset
----------------------------------------------------*/
    body,
    div,
    dl,
    dt,
    dd,
    ul,
    ol,
    li,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    pre,
    form,
    fieldset,
    input,
    textarea,
    p,
    blockquote,
    th,
    td,
    figure,
    section,
    table {
        font-size: 1rem;
        line-height: 1.7;
    }
    h1 {
        font-size: 5.5vw;
        line-height: 1.3;
    }
    h2 {
        font-size: 5vw;
    }
    h3 {
        font-size: 4vw;
    }
    p,
    ul {
        margin-bottom: 1.7em;
    }
    .front_description {
        text-align: center;
        font-size: 12px;
        color: #2B2B2B;
    }
    .description {
        padding: 0.5em 1em;
    }
    .spleft {
        text-align: left !important;
    }
    /*flex*/
    .flexwrap img {
        max-width: 100%;
    }
    .article .flex4 {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }
    .article .flex4 li {
        width: 50%;
    }
    .flexwrap.Onethird>div {
        width: 48.5%;
        padding-bottom: 36px;
    }
    .flexwrap_sp {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    /* iOSでのデフォルトスタイルをリセット */
    input[type="submit"],
    input[type="button"] {
        border-radius: 0;
        -webkit-box-sizing: content-box;
        -webkit-appearance: button;
        appearance: button;
        border: none;
        box-sizing: border-box;
        cursor: pointer;
    }
    input[type="submit"]::-webkit-search-decoration,
    input[type="button"]::-webkit-search-decoration {
        display: none;
    }
    input[type="submit"]::focus,
    input[type="button"]::focus {
        outline-offset: -2px;
    }
    /*	maincontent
----------------------------------------------------*/
    .article {
        overflow: hidden;
    }
    .article section {
        padding: 36px 5vw;
    }
    .flexwrap.Onethird {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .flexwrap.Onethird>div {
        width: 47%;
    }
    #main img {
        height: inherit;
    }
    .single_general_content {
        padding: 4vw;
    }

    .archive_figure .avatar {
        width:7vw;
        height:7vw !important;
        border:#FFF 1px solid;
    }
    /*	header navi
----------------------------------------------------*/
    #header {
        z-index: 100;
        position: relative;
    }
    #parental_title {
        padding-top: 3em;
        margin-top: 2px;
    }
    #sp_second {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 40px;
        padding: 3%;
    }
    #logo {
        margin: 0;
        padding: 4%;
        text-align: center;
    }
    #logo_sp {
        margin: 0;
        padding: 0 0 0 4%;
        text-align: left;
        line-height: 1;
    }
    #logo_sp a {
        text-decoration: none;
        line-height: 0;
    }
    #logo_sp span {
        font-size: 1.8vw;
    }
    #logo_sp img {
        height: 33px;
    }
    #logo {
        display: none;
    }
    #header .menu {
        display: none;
        z-index: 68;
        position: fixed;
        top: 18vw;
        right: 0;
        overflow-y: scroll;
        height: 100%;
        box-shadow: -4px 4px 17px 0px rgba(0, 0, 0, 0.2);
    }
    .menu {
        width: 100%;
        margin-bottom: 0;
    }
    .menu li {
        border-top: #323232 1px solid;
        align-items: center;
        display: block;
        font-size: 4vw;
    }
    #header .menu li {
        background: #14171F;
    }
    #header .menu li.menu_end {
        border: none;
        background: rgb(0, 0, 0, 0.9);
        height: 40%;
    }
    .menu span {
        font-size: 0.9em
    }
    .menu li a {
        position: relative;
        display: block;
        width: 100%;
        padding: 3vw 5vw 4.5vw 5vw;
        color: #FFF;
        text-align: left !important;
        text-decoration: none;
        line-height: 1.1;
    }
    .menu li a:visited {
        color: #FFF;
    }
    .menu li a:after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        border-top: 3px solid #DDD;
        border-right: 3px solid #DDD;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        right: 5%;
        top: 50%;
        margin-top: -7px;
    }
    .menu li.navi_child a {
        padding-left: 1.5em;
    }
    .menu li.navi_plan a {
        color: #FFF;
        background: #003466;
    }
    .menu li.sp_footer_navi a {
        color: #FFF;
        background: #141414;
    }
    .menu li.active>a:after {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    .menu li>ul {
        margin: 0;
        background: #F7F7F7;
    }
    .menu li>ul li a {
        padding: 0.8em 1.1em 0.8em 1em;
    }
    .menu li img {
        height: 1em;
    }
    #sn_first a,
    #sn_web a {
        display: flex;
        align-items: center;
        background: #232323;
        color: #FFF;
    }
    #sn_first img,
    #sn_web img {
        margin-right: 4px;
    }
    #subnavi {
        margin-bottom: 0;
        text-indent: 1em;
    }
    #subnavi li {
        border-bottom: #DDD;
    }
    #subnavi li a {
        border-bottom: #FFF 1px solid;
        color: #FFF;
        text-align: left !important;
    }
    #subnavi span {
        padding-left: 5px;
    }
    #breadcrumbs {
        padding: 0;
    }
    #breadcrumbs li {
        font-size: 3vw;
    }
    #breadcrumbs ul {
        position: relative;
        bottom: 0;
        width: 100%;
        padding: 0;
        text-align: left;
    }
    
    /*ナビゲーションボタン*/
    #navi_wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        height: 18vw;
        z-index: 50;
        width: 100%;
        top: 0;
    }
    #logo_sp {
        margin-right: auto;
    }
    #menuButton {
        height: 18vw;
    }
    #toggle {
        width: 18%;
        margin: 0;
        padding: 0 4%;
    }
    #menuButton span:last-child::after {
        font-size: 2vw;
    }
    #sidebar {
        top: 18vw;
        padding: 0 5vw;
        overflow-y: scroll;
        width: 100%;
        z-index: 200;
        position: absolute;
        background: #FFF;
        box-sizing: border-box;
    }
    .popup_navi li a:link {
        display: flex;
        flex-wrap: wrap;
        justify-content: left;
        align-items: center;
        padding: 3vw 3vw 3vw 1vw;
        text-decoration: none;
    }
    .popup_navi li span {
        margin-right: 1vw;
    }
    .popup_navi li ul {
        padding-left: 4vw;
        margin: 0 0 1em 0;
    }
    .popup_navi li ul li a:link {
        padding: 0.8em;
        font-size: 0.8em;
        font-weight: normal;
    }
    .popup_li {
        margin: 0;
    }
    .popup_li a {
        border: none;
    }
    .popup_navi_body {
        overflow: hidden;
    }
    #schedule_toggle {
        height: 12vw;
        width: 60vw;
        padding: 3vw;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-left: auto;
        box-shadow: 2px 0px 14px -8px rgb(0 0 0 / 60%);
        z-index: 50;
        position: relative;
    }
    #schedule_popup {
        z-index: 50;
        width: 100vw;
        right: 2vw;
        bottom: 0;
        border-radius: 4px 4px 0 0;
    }
    #schedule_popup_detail {
        bottom: -500px;
        transition-property: bottom;
        transition-duration: 0.7s;
    }
    .active #schedule_popup_detail {
        bottom: 0;
        width: 100%;
        padding: 6vw 6vw 20vw 6vw;
        border-radius: 4px 4px 0 0;
        z-index: 40;
    }
    .schedule_popup_icon {
        margin-right: 1vw;
    }
    .schedule_popup_icon_eject {
        transform: rotate(30deg);
        margin-left: 1vw;
    }
    .active .schedule_popup_icon_eject {
        transform: rotate(92deg);
    }
    .tel_wrap {
        padding: 2vw;
    }
    .tel_text {
        width: 100%;
        text-align: center;
        font-size: 2.3vw;
        padding-right: 0;
        border: none;
    }
    .tel_number {
        font-size: 4.2vw;
    }
    .tel_number .material-icons {
        font-size: 3.2vw;
        margin-right: 1vw;
    }
    .schedule_desc {
        font-size: 3vw;
    }

    .globalnavi {
        display:flex;
        flex-wrap:wrap;
        margin: 0;
    }
    .globalnavi li {
        margin:0;
    }
    /*	footer
----------------------------------------------------*/
    .footer_address {
        width: inherit;
        font-size: 3.6vw;
    }
    .footer_navi {
        display: none;
    }
    .footer_navi.menu {
        display: block;
    }
    .footer_navi>ul>li a {
        display: flex;
        align-items: center;
        padding: 13px;
        padding: 13px;
        font-size: 3.6vw;
        text-decoration: none;
        border-top: #FFF 1px solid;
        color: #000;
    }
    .footer_sns {
        justify-content: center;
    }
    .footer_bottom {
        padding: 4vw;
    }
    #copyright {
        margin: 0;
        padding: 0.5em 0;
        padding: 0.5em;
        font-size: 11px;
    }
    /**/
    .left_img,
    .right_img {
        display: none;
    }
    #menu-item-77 {
        display: none;
    }
    .tel {
        margin: 0;
        padding: 0.8em;
        text-align: center;
        font-size: 2.2em;
        font-weight: bold;
    }
    .tel span {
        display: block;
    }
    .page_title {
        padding: 6vw 5vw 0vw 5vw;
    }
    .footer_navi_wrap {
        margin-top: 1em;
    }
    .footer_navi.menu {
        padding: 0;
        border: none;
    }
    /*home*/
    .front #contents_wrapper {
        margin-top: 0;
    }
    .home_h1 {
        top: 20vw;
        left: 6vw;
        width: 87vw;
        line-height: 1.6;
        font-size: 3vw;
        letter-spacing: 0px;
        background: rgba(255, 255, 255, 0.8);
        position: absolute;
        z-index: 50;
        padding: 5vw;
        font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    }
    .home_tag {
        padding: 10px 20px;
        top: 322px;
        margin: 0 10px;
    }
    .home_tag_h2 {
        font-size: 16px;
    }
    .home_main_wrap {
        border-top: none;
    }
    .front .flexslider {
        border-radius: unset;
    }
    .flexslider .slides,
    .flexslider .slides li {
        height: 240px;
    }
    .link_wrap li {
        width: 100%;
        margin-bottom: 1em;
    }
    .schedule {
        justify-content: space-between;
    }
    .slides li {}
    .slide_special_link {
        min-height: 330px;
    }
    .top_main p {
        text-align: center;
        margin-bottom: 0;
        color: #FFF;
        font-size: 3vw;
        text-shadow: 0px 0px 7px #000000;
    }
    .faq_a {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1em;
    }
    .faq_icon {
        width: 29%;
        margin: 0;
    }
    .faq_figcap {
        width: 67%;
    }
    .faq_desc {
        margin: 0;
    }
    /*archive*/
    .flexwrap_sp {
        display: flex;
        flex-wrap: wrap;
    }
    .archive {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .archive>figure {
        width: 20%;
    }
    .archive_figcap {
        padding-left: 3vw;
        width: 80%;
    }
    .archive_title,
    .yarpp-related h3.archive_title {
        margin: 0;
        font-size: 3.9vw;
    }
    .np::before {
        font-size: 10px;
    }
    .archive_blog_img_blogpre {
        height: 87px;
    }
    .archive_blog {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .archive_blog_box {
        width: 49%;
    }
    .archive_content {
        box-sizing: border-box;
        width: 50%;
        padding: 5px;
    }
    .column_listwrap {
        justify-content: space-between;
    }
    .list_column {
        width: 48%;
        padding-bottom: 1em;
    }
    .list_column .tag_style {
        bottom: 0.3em;
    }
    .list_desc {
        line-height: 1.3;
    }
    /*single*/
    .custom_post_h2 {
        text-align: left;
        font-size: 5.5vw;
    }
    .index_main td {
        padding: 0.5em 1vw;
    }
    /*home*/
    #main_top article {
        padding: 2.2em 0;
    }
    article section.info_wrap {
        margin: 0 auto 4vw auto;
    }
    .info_inner {
        padding: 9vw 4vw 4vw 4vw;
    }
    .info {
        margin: 0;
        padding: 4vw;
        border-bottom: #DDD 1px solid;
    }
    .cat {
        display: flex;
        flex-wrap: wrap;
    }
    .cat li {
        font-size: 11px;
    }
    .big strong {
        font-size: 1.2em;
    }
    .message {
        line-height: 1.5;
        font-size: 15px;
        margin-bottom: 2em;
    }
    .archive_content .post-categories {
        margin-bottom: 0;
        padding: 0;
        font-size: 10px;
    }
    .archive_content h3 a {
        font-size: 12px;
    }
    .archive_content h3 {
        margin-top: 0;
    }
    .works_slide .slides {}
    .works_slide .slides li {}
    .slides>li {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    .slides li {
        background-position: center;
    }
    #main .slides>li img {}
    .works_thumb {
        padding-top: 1px;
    }
    .works_thumb li {
        width: 12%;
    }
    .works_tb {
        margin-bottom: 2em;
    }
    .works_tb th {
        width: 50%;
    }
    #sidebar {
        display: none;
    }
    #aside {
        padding: 0 4vw;
    }
    .search_check {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .search_check li {
        width: 32%;
        padding: 10px;
        border-bottom: #DDD 1px solid;
    }
    /*plan*/
    .plan_intro_img {
        text-align: center;
    }
    .tokuten_branch {
        margin-bottom: 1em;
    }
    #id1533 .main_img {
        background-position: -250px;
    }
    #id1533 .main_img_catch {
        background: rgba(0, 0, 0, 0.3);
        padding: 1em;
    }
    .tokuten_ol {
        padding: 1em;
    }
    .tokuten_ol li {
        display: block;
        width: 100%;
        text-align: center;
    }
    .tokuten_ul_num {
        display: block;
        width: 40px;
        height: 42px;
        padding: 2px;
        text-align: center;
        margin: 0 auto;
    }
    .tokuten_ul_text {
        color: #3d2815;
        display: block;
        text-align: center;
    }
    /*faq*/
    .question_image {
        float: right;
        width: 16%;
        background: #b9052f;
        color: #FFF;
        text-align: center;
        padding: 20px 8px;
        border-radius: 16px;
        font-size: 19px;
        display: block;
        margin: 0;
    }
    .arrow_answer,
    .arrow_question {
        position: relative;
        background: #fff;
        border: 1px solid #c8c8c8;
        border-radius: 10px;
        width: 80%;
        line-height: 1.5;
        font-size: 16px;
        padding: 3%;
        text-align: left;
    }
    .answer_image {
        float: left;
        width: 16%;
        background: #003466;
        color: #FFF;
        text-align: center;
        padding: 10px;
        border-radius: 16px;
        font-size: 19px;
    }
    /*flow*/
    .flow::before {
        content: '';
        display: block;
        position: absolute;
        background: #003466;
        left: -10px;
        top: 0px;
        width: 25px;
        height: 25px;
        border-radius: 100px;
    }
    .flow::after {
        content: '';
        display: block;
        position: absolute;
        background: #003466;
        left: 0px;
        top: 8px;
        width: 5px;
        height: 100%;
    }
    /*contact*/
    .page_tb th {
        width: 30%;
    }
    .contact_tb .tel {
        padding: 0;
        font-size: 16px;
        font-weight: normal;
        text-align: left;
    }
    .contact .ajax-loader {
        width: 8% !important;
    }
    .page_tb.contact_tb th {
        padding: 12px 0 6px 0;
        font-size: 14px;
        display: block;
        width: 100%;
        border: none;
    }
    .page_tb.contact_tb td {
        padding: 0 0 13px 0;
        line-height: 2;
        display: block;
        border-bottom: #d8d8d8 1px solid;
    }
    .wpcf7-form {
        padding: 0;
    }
    .apply_detail {
        padding: 10px;
    }
    /*menu*/
    .tagwrap {
        margin: 0 auto 30px auto;
        padding: 10px;
    }
    .tagwrap p {
        text-align: center;
    }
    .menu_list {
        justify-content: space-between;
    }
    .menu_block {
        width: 49%;
        padding-bottom: 9%;
    }
    .main_img_catch p.main_img_copy1 {
        font-size: 1em;
        padding: 0 14px;
    }
    .main_img_copy2 {
        font-size: 1.6em;
    }
    .main_img_copy3 {
        font-size: 2.7em;
    }
    .main_img_copy4 {
        font-size: 1.6em;
    }
    .main_img_catch p.main_img_copy5 {
        font-size: 1em;
        margin-top: 19px;
        padding: 0 14px;
    }
    .main_img.second_img {
        height: 320px;
    }
    h1.menu_h1 {
        font-size: 5vw;
    }
    .menu_main_img {
        max-height: 310px;
    }
    .mainleft {
        margin-left: -127px;
    }
    .mainright {
        margin-right: -127px;
        max-width: 73%;
    }
    .intro {
        font-size: 4vw;
        letter-spacing: 3px;
    }
    .menu_special {
        justify-content: center;
    }
    .menu_special_li {
        width: 33%;
    }
    .price_box {
        margin-bottom: 1em;
    }
    .price_discount strong {
        font-size: 19px;
    }
    .sns_ul li {
        width: 20%;
    }
    /*campaign*/
    .camp_content {
        border-width: 8px;
        padding: 0;
    }
    .camp_listwrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .camp_column {
        width: 49%;
    }
    /*gallery*/
    .gallery_wrap {
        justify-content: space-between;
    }
    .gallery_wrap li {
        width: 48%;
        padding-bottom: 1em;
    }
    /*item*/
    .item_list {
        width: 48%;
    }
    .item_list dt,
    .item_list dd {
        font-size: 12px;
    }
    /*company*/
    .company_catch {
        font-size: 5vw;
    }
    .company_tb th {
        width: 28%;
    }
    #timeline {
        list-style: none;
        margin: 0px 0 30px -8px;
        padding-left: 31px;
        border-left: 8px solid #eee9dc;
    }
    .relative label {
        position: absolute;
        z-index: 100;
        cursor: pointer;
        top: 40px;
        line-height: 1.2;
        font-size: 0.7em;
        transition: transform 0.2s linear;
    }
    .date,
    .post-categories li,
    .post-tags li,
    .post-tags .tag_icon {
        font-size: 3vw;
    }
    /*order*/
    .order_tb th {
        padding: 10px 10px 10px 15px;
        width: 100%;
        display: block;
    }
    .order_tb td {
        display: block;
        width: 100%;
    }
    .select_k_or_h {
        display: flex;
    }
    /*others*/
    .h2_big {
        font-size: 1.5em;
    }
    .btn a {
        width: 100%;
        box-sizing: border-box;
        font-size: 4vw;
    }
    .btn input[type="submit"] {
        width: 100%;
        font-size: 4vw;
    }
    .nopadding_sp {
        padding: 0 !important;
    }
    .sp_tb th,
    .sp_tb td {
        display: block;
        width: 100%;
    }
    .sp_tb th {
        border-top: #000 1px solid;
    }
    .max-content {
        width: max-content;
    }
    .w100_sp {
        width: 100% !important;
    }
    .call {
        font-size: 4vw;
    }
    .call a {
        font-size: 5vw;
    }
    #pagetop {
        font-size: 12px;
        padding: 11px 14px;
        bottom: 5px;
        right: 5px;
    }
    .cboxPhoto {
        max-width: 100%;
    }
    .gallery-item {
        justify-content: flex-start;
    }
    .gallery-item {
        width: 33% !important;
    }
    .gallery-size-large .gallery-item,
    .gallery-size-full .gallery-item {
        width: 50% !important;
    }
    /*更新コンテンツ用CSS（管理画面・フロント共通）*/
    #blog_section h3,
    .mceContentBody h3 {
        font-size: 6.8vw;
    }
    #blog_section h4,
    .mceContentBody h4 {
        margin: 2em 0 1em 0;
        font-size: 5vw;
    }
    #blog_section p,
    .mceContentBody p,
    #blog_section li,
    .mceContentBody li {
        font-size: 4.2vw;
    }
    .article .camp_content .camp_title section {
        padding: 2em 5vw;
    }
    .camp_title h2 {
        font-size: 6.5vw;
        margin-bottom: 0.4em;
    }
    .camp_title p {
        margin: 0;
    }
}