@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: 16px;
        line-height: 1.7;
    }

    h1 {
        font-size: 6.5vw;
    }

    h1,
    h1 span.h1_border {
        font-size: 5vw;
    }

    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 2vw;
    }

    .article section.studio_listwrap {
        padding: 36px 4vw;
    }

    .article section.case_section {
        padding-top: 1em;
        padding-bottom: 1em;
    }

    .article section.case_section.case_image_wrap {
        padding-bottom: 2em;
    }

    .case_section:last-of-type {
        padding-bottom: 4em !important;
    }

    .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;
    }

    /*	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 {
        text-align: center;
        padding: 0.6em 0;
    }

    #logo a {
        text-decoration: none;
        line-height: 0;
    }

    #logo span {
        font-size: 1.8vw;
    }

    #logo img {
        height: 8vw;
    }

    #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);
    }

    #header .menu li {
        background: #14171F;
    }

    #header .menu li.menu_end {
        border: none;
        background: rgb(0, 0, 0, 0.9);
        height: 40%;
    }

    #sn_first a,
    #sn_web a {
        display: flex;
        align-items: center;
        background: #232323;
        color: #FFF;
    }

    #sn_first img,
    #sn_web img {
        margin-right: 4px;
    }

    #s {
        padding: 22px;
    }

    #breadcrumbs {
        padding: 0;
    }

    #breadcrumbs li {
        font-size: 3vw;
    }

    #breadcrumbs ul {
        position: relative;
        bottom: 0;
        width: 100%;
        padding: 0;
        text-align: left;
    }

    #sidebar {
        display: none;
    }

    #sidebar_search {
        padding: 4vw;
    }

    .tablenav {
        padding: 0 1vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    a.page-numbers,
    .tablenav .current {
        color: #FFF;
        padding: 1vw;
        margin: 0 0.5vw;
        display: flex;
        font-size: 3vw;
        width: 8vw;
        height: 8vw;
        align-items: center;
        justify-content: center;
        border: #FFF 1px solid;
        border-radius: 100px;
        text-decoration: none;
    }

    .tablenav .next,
    .tablenav .prev {
        border: 0 none;
        background: transparent;
        text-decoration: underline;
        font-size: 3vw;
        font-weight: bold;
        width: 14vw;
    }

    /*ナビゲーションボタン*/
    #navi_wrap {
        position: relative;
        height: 13vw;
        z-index: 50;
        width: 100%;
    }

    #logo_sp {
        margin-right: auto;
    }

    #menuButton {
        height: 6vw;
    }

    #toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 13%;
        margin: 0;
        padding: 3vw 4vw;
    }

    #menuButton span:last-child::after {
        font-size: 6vw;
    }

    #header_fav {
        position: absolute;
        right: 12vw;
        top: 2.7vw;
    }

    #popup_navi_wrap {
        top: 0;
        padding: 5vw;
        overflow-y: scroll;
    }

    .popup_navi li a:link {
        display: flex;
        flex-wrap: wrap;
        justify-content: left;
        align-items: center;
        padding: 3vw 3vw 3vw 1vw;
        text-decoration: none;
        font-weight: bold;
    }

    .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_navi_body {
        overflow: hidden;
    }


    /*	footer
----------------------------------------------------*/
    .footer_top {
        padding: 6vw;
    }

    .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_logo {
        text-align: center;
    }

    .footer_title {
        text-align: center;
    }

    #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 7vw 5vw;
    }

    .footer_navi_wrap {
        margin-top: 1em;
    }

    .footer_navi.menu {
        padding: 0;
        border: none;
    }

    /*home*/
    #video-area {
        height: 40vh;
    }

    .front #contents_wrapper {
        margin-top: 0;
    }

    .home_h1 {
        top: 20vw;
        left: 6vw;
        width: 87vw;
        line-height: 1.6;
        font-size: 5vw;
        letter-spacing: 0px;
        position: absolute;
        z-index: 50;
        padding: 5vw;
        color: #FFF;
        text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
        font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    }

    h2 span.h2_border {
        font-size: 5.4vw;
    }

    .home_main_wrap {
        border-top: none;
    }

    .top_main .slide {
        height: 326px;
    }


    .plan_list {
        padding: 4vw;
    }
    .plan_list_inner {
        padding: 4vw;
    }
    #plan_slide .plan_list {
        margin: 0 1vw;
    }
    .plan_list_desc {
        font-size: 4vw;
    }

    .article .instagram_wrap section {
        padding: 2em 1vw;
    }

    .link_wrap li {
        width: 100%;
        margin-bottom: 1em;
    }

    .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;
    }

    .furisode_list {
        width: 49.7%;
        margin-bottom: 2px;
    }

    /*archive*/
    .flexwrap_sp {
        display: flex;
        flex-wrap: wrap;
    }

    .case {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }

    .case .figure {
        width: 32%;
    }

    .case .caption {
        width: 65%;
    }

    .case .caption h3 {
        font-size: 3.5vw;
    }

    .archive {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .archive>figure {
        width: 25%;
    }

    .archive>figcaption {
        width: 70%;
    }

    .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 {
        padding: 0 !important;
    }

    .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;
    }

    /*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.news_wrap {
        margin: 0 auto 4vw auto;
    }

    .news_inner {
        padding: 9vw 4vw 4vw 4vw;
    }

    .news {
        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_thumb {
        padding-top: 1px;
    }

    .works_thumb li {
        width: 12%;
    }

    #aside {
        padding: 0 4vw;
    }

    .search_check {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .search_check li {
        width: 32%;
        padding: 8px 1px;
        border-bottom: #515151 1px solid;
    }

    .sidebar_search_h2 {
        text-align: center;
        font-size: 5vw;
        padding-top: 0.6em;
        border-top: #464646 1px solid;
    }

    /*plan*/
    .plan_intro {
        padding: 0 4vw;
    }
    .plan_intro_img {
        text-align: center;
    }
    .ps .intro {
        font-size: 3.8vw;
    }

    .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%;
        color: #FFF;
        text-align: center;
        padding: 11px;
        font-size: 19px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        max-height: 54px;
        max-width: 54px;
        aspect-ratio: 1 / 1;
    }

    .arrow_answer,
    .arrow_question {
        position: relative;
        background: #fff;
        border-radius: 10px;
        width: 80%;
        line-height: 1.5;
        font-size: 15px;
        padding: 3%;
        text-align: left;
    }

    .answer_image {
        float: left;
        width: 16%;
        color: #FFF;
        text-align: center;
        padding: 10px;
        font-size: 19px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        max-height: 54px;
        max-width: 54px;
        aspect-ratio: 1 / 1;
    }

    /*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*/
    .tb_page th {
        width: 30%;
    }

    .tb_contact .tel {
        padding: 0;
        font-size: 16px;
        font-weight: normal;
        text-align: left;
    }

    .contact .ajax-loader {
        width: 8% !important;
    }

    .tb_page.tb_contact th {
        padding: 12px 0 6px 0;
        font-size: 14px;
        display: block;
        width: 100%;
        border: none;
    }

    .tb_page.tb_contact 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 {
        height: 380px;
    }

    .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;
    }

    #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 {
        font-size: 0.95em;
    }

    /*others*/
    .h2_big {
        font-size: 1.5em;
    }

    a.btn {
        width: 100%;
        box-sizing: border-box;
        font-size: 4vw;
    }

    input[type="submit"].btn {
        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;
    }

    .plan_text {
        padding: 3em 4vw;
    }

    .collection_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .collection_list li {
        width: 49%;
    }

    .ps h2 {
        font-size: 7vw;
    }

    .plan_icon li {
        width: 33%;
        margin-bottom: 2em;
    }

    .h2_home {
        font-size: 5vw;
    }

    #plan.ps #home {
        justify-content: flex-start;
    }

    .plan_main_text {
        width: 100%;
        padding-top: 2em;
    }

    .plan_main_text h1 img {
        height: 94px;
    }

    #plan #home {
        aspect-ratio: 1 / 1.3;
    }
    .bg {
        aspect-ratio: 1.2 / 1;
    }
    .div_light .bg {
        aspect-ratio: 1 / 1.3;
    }

    .bs64 {
        background-size: 90% !important;
    }
}