.sp_menu {
    display: none
}

@media screen and (max-width: 1024px) {
    #header .inner {
        min-width: 95%;
        max-width: 95%
    }

    #header #head_right {
        display: none
    }

    #navi {
        display: none
    }

    #footer {
        background-size: 403px auto;
        padding: 0
    }

    #footer .inner {
        margin: 0 auto;
        padding: 30px 0
    }

    #footer .link_list {
        display: none
    }

    #footer .copyright {
        background-color: transparent;
        padding-bottom: 60px
    }

    .flogo {
        margin: 0 auto
    }

    .foot_tel a {
        font-size: 3rem
    }

    #catch {
        width: 500px
    }

    .slider {
        height: 50vh
    }

    .single_01,
    .single_02,
    .single_03,
    .single_04,
    .single_05,
    .single_06,
    .single_07,
    .single_08 {
        max-width: 95%
    }

    .column3_tab .child {
        width: 48.5%;
        margin: 0 3% 3% 0
    }

    .column3_tab .child:nth-child(3n) {
        margin: 0 3% 3% 0
    }

    .column3_tab .child:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .column4 .child {
        width: 31.3%;
        margin: 0 3% 3% 0
    }

    .column4 .child:nth-child(4n) {
        margin: 0 3% 3% 0
    }

    .column4 .child:nth-child(3n) {
        margin: 0 0 3% 0
    }

    .article .article_image {
        width: 50%
    }

    .article .article_detail {
        width: 50%
    }

    .article .article_detail .inner {
        width: 90%
    }

    .top_main .inner {
        margin: 20px 0 0
    }

    .top_main .inner:before {
        display: none
    }

    .top_main .inner .top_main_contents {
        width: 100%
    }

    .top_main .inner .top_main_contents .top_main_txt {
        margin: -250px auto 0;
        width: 95%;
        background-color: rgba(255, 255, 255, 0.8)
    }

    .top_main .inner .top_main_contents .top_main_img {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: 340px
    }

    .top_sub:before {
        width: 86%;
        height: 75%;
        top: -33px
    }

    .top_sub .top_sub_inner {
        padding: 42px 0;
        margin-bottom: 50px
    }

    .top_sub .sub_detail {
        width: 74%;
        top: 122px;
        background-color: rgba(255, 255, 255, 0.9);
        padding: 70px
    }

    .ggmap {
        padding-bottom: 30.25%
    }

    .ggmap_02 {
        padding-bottom: 80.25%
    }

    .tbl_simple th,
    .tbl_simple td {
        padding: 10px 7px
    }

    .cell_01 {
        width: 30%
    }

    .flex_type {
        width: 100%
    }

    .index_bnr {
        padding-top: 60.75%
    }

    .mbox {
        padding: 50px
    }

    .gallery_ul span {
        font-size: 1.2rem
    }

    .gallery_ul.gallery_ul_01 li,
    .gallery_ul.gallery_ul_02 li {
        width: 48.5%
    }

    .gallery_ul.gallery_ul_01 li:nth-child(3n),
    .gallery_ul.gallery_ul_02 li:nth-child(3n) {
        margin: 0 3% 3% 0
    }

    .gallery_ul.gallery_ul_01 li:nth-child(2n),
    .gallery_ul.gallery_ul_02 li:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .greeting_contents .detail {
        width: 45%
    }

    .top_about_list .top_about_textarea {
        padding: 30px 50px 50px
    }

    .pc-tcenter {
        text-align: left
    }

    .pc {
        display: none
    }

    .tb {
        display: block
    }

    .float_side {
        display: none
    }

    .page_title_box .inner {
        padding: 60px 0;
        width: 95%
    }

    .breadcrumb_box .breadcrumb {
        width: 95%
    }

    #sp_navi {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 4;
        width: 100%
    }

    #sp_navi ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center
    }

    #sp_navi ul li {
        width: 50%;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff
    }

    #sp_navi ul li:last-child {
        border-right: none
    }

    #sp_navi ul li a {
        display: block;
        padding: 5px 0;
        text-align: center;
        background: #90be00;
        color: #fff;
        font-size: 1.8rem;
        line-height: 1.2
    }

    #sp_navi ul li a.sp_home:before {
        font-family: "Font Awesome 5 Free";
        content: "\f015";
        font-weight: 900
    }

    #sp_navi ul li a.sp_tel:before {
        font-family: "Font Awesome 5 Free";
        content: "\f095";
        font-weight: 900
    }

    #sp_navi ul li a.sp_mail:before {
        font-family: "Font Awesome 5 Free";
        content: "\f0e0";
        font-weight: 900
    }

    #sp_navi ul li a.sp_access:before {
        font-family: "Font Awesome 5 Free";
        content: "\f279";
        font-weight: 900
    }

    #sp_navi ul li a.sp_menu:before {
        font-family: "Font Awesome 5 Free";
        content: "\f0c9";
        font-weight: 900
    }

    #sp_navi ul li a span {
        display: block;
        font-size: 1.2rem
    }

    #nav-toggle {
        display: block;
        position: fixed;
        top: 5em;
        right: 5%;
        height: 32px;
        cursor: pointer
    }

    #nav-toggle>div {
        position: relative;
        width: 36px
    }

    #nav-toggle span {
        width: 100%;
        height: 1px;
        left: 0;
        display: block;
        background: #90be00;
        position: absolute;
        transition: transform .6s ease-in-out, top .5s ease
    }

    #nav-toggle span:nth-child(1) {
        top: 0
    }

    #nav-toggle span:nth-child(2) {
        top: 14px
    }

    #nav-toggle span:nth-child(3) {
        top: 28px
    }

    #nav-toggle:hover span:nth-child(1) {
        top: 4px
    }

    #nav-toggle:hover span:nth-child(3) {
        top: 23px
    }

    .open #nav-toggle span {
        background: #90be00
    }

    .open #nav-toggle span:nth-child(1) {
        top: 15px;
        transform: rotate(45deg)
    }

    .open #nav-toggle span:nth-child(2) {
        top: 15px;
        width: 0;
        left: 50%
    }

    .open #nav-toggle span:nth-child(3) {
        top: 15px;
        transform: rotate(-45deg)
    }

    #nav-toggle {
        z-index: 1000
    }

    #container {
        z-index: 900
    }

    #gloval-nav {
        display: block;
        background-image: url(../img/bg_body.gif);
        background-repeat: repeat;
        background-position: center;
        color: #90be00;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 990;
        text-align: center;
        display: flex;
        visibility: hidden;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity .6s ease, visibility .6s ease
    }

    #gloval-nav #gloval_logo {
        margin: 0 auto 30px;
        width: 150px
    }

    #gloval-nav a {
        display: block;
        color: #7a6856;
        text-decoration: none;
        padding: 10px 0;
        transition: color .6s ease
    }

    #gloval-nav a:hover {
        color: #90be00
    }

    #gloval-nav a i {
        display: block;
        background-color: #fff;
        color: #90be00;
        border: 1px solid #90be00;
        border-radius: 50%;
        margin: 0 auto;
        width: 24px;
        line-height: 24px;
        font-size: 1rem
    }

    #gloval-nav a span {
        display: block;
        color: #90be00;
        font-size: 1rem
    }

    #gloval-nav ul {
        list-style: none
    }

    #gloval-nav ul li {
        opacity: 0;
        transform: translateX(200px);
        transition: transform .6s ease, opacity .2s ease
    }

    #gloval-nav ul li:nth-child(2) {
        transition-delay: .15s
    }

    #gloval-nav ul li:nth-child(3) {
        transition-delay: .3s
    }

    #gloval-nav ul li:nth-child(4) {
        transition-delay: .45s
    }

    #gloval-nav ul li:nth-child(5) {
        transition-delay: .6s
    }

    #gloval-nav ul li:nth-child(6) {
        transition-delay: .75s
    }

    #gloval-nav ul li:nth-child(7) {
        transition-delay: .9s
    }

    .open {
        overflow: hidden
    }

    .open #gloval-nav {
        visibility: visible;
        opacity: 1
    }

    .open #gloval-nav li {
        opacity: 1;
        transform: translateX(0);
        transition: transform 1s ease, opacity .9s ease
    }
}

@media screen and (max-width: 768px) {
    .page_scroll {
        display: none
    }

    .foot_tel a {
        font-size: 2.4rem
    }

    .column2_tab {
        margin-bottom: 0
    }

    .column2_tab .child {
        width: 100%;
        margin: 0 0 20px
    }

    .column2_tab .child:nth-child(2n) {
        margin: 0 0 20px
    }

    .column2_tab .child:last-child {
        margin: 0
    }

    .column3 .child {
        width: 48.5%;
        margin: 0 3% 3% 0
    }

    .column3 .child:nth-child(3n) {
        margin: 0 3% 3% 0
    }

    .column3 .child:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .mtitle {
        font-size: 2rem;
        letter-spacing: .1em
    }

    .mtitle_greeting {
        text-align: center
    }

    .mtitle_greeting:after {
        left: calc(50% - 30px);
        width: 60px
    }

    .top_image {
        height: 270px
    }

    .half_image {
        width: 100%
    }

    .index_contents {
        height: inherit
    }

    .index_contents>div {
        width: 100%
    }

    .index_contents .index_image {
        height: 360px
    }

    .index_contents .index_image .animation-txt {
        height: inherit
    }

    .index_contents .index_detail {
        padding: 40px 5%;
        height: inherit
    }

    .flex_type_01 .flex_image,
    .flex_type_01 .flex_detail {
        width: 100%
    }

    .flex_type_01 .flex_image {
        margin-bottom: 20px;
        text-align: center
    }

    .contact_btn li a,
    .contact_btn li button {
        padding: 1em 2em
    }

    .top_about_list .top_about_image {
        height: 200px
    }

    .top_about_list .top_about_textarea {
        padding: 30px 30px 50px
    }

    .top_about_list .top_about_title {
        font-size: 2rem
    }
}

@media screen and (max-width: 667px) {
    body {
        font-size: 1.3rem
    }

    #header .inner {
        padding: 10px 0 20px
    }

    #header #logo {
        width: 70%
    }

    #footer .inner {
        padding: 20px 0
    }

    #footer .link_list {
        display: none
    }

    .slider {
        height: 60vh
    }

    #catch {
        width: 90%
    }

    canvas {
        height: 100px
    }

    .bg_b {
        margin-bottom: 30px
    }

    .half {
        margin-bottom: 40px
    }

    .half .child {
        width: 100%
    }

    .column2 {
        margin-bottom: 0
    }

    .column2 .child {
        width: 100%;
        margin: 0 0 20px
    }

    .column2 .child:nth-child(2n) {
        margin: 0 0 20px
    }

    .column2 .child:last-child {
        margin: 0
    }

    .column3 {
        margin-bottom: 0
    }

    .column3 .child {
        width: 100%;
        margin: 0 0 40px
    }

    .column3 .child:nth-child(3n) {
        margin: 0 0 40px
    }

    .column3 .child:nth-child(2n) {
        margin: 0 0 40px
    }

    .column3 .child:last-child {
        margin: 0
    }

    .column4 .child {
        width: 48.5%;
        margin: 0 3% 3% 0
    }

    .column4 .child:nth-child(3n) {
        margin: 0 3% 3% 0
    }

    .column4 .child:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .column5 .child {
        width: 30%
    }

    .column5 .child:nth-child(5n) {
        margin: 0 2% 2% 0
    }

    .column5 .child:nth-child(3n) {
        margin: 0 0 2% 0
    }

    .mtitle_page {
        font-size: 2.4rem
    }

    .mtitle_big {
        margin-bottom: 30px;
        letter-spacing: .1em;
        font-size: 2.4rem
    }

    .mtitle_vertical {
        font-size: 2.4rem;
        letter-spacing: .1em
    }

    .mtitle_greeting {
        font-size: 2rem;
        letter-spacing: .1em
    }

    .mtitle_small {
        padding: 10px 24px;
        font-size: 1.6rem
    }

    .mtitle_top {
        font-size: 2rem;
        text-align: center
    }

    .mtitle_sub {
        font-size: 1.6rem
    }

    .mtitle_greeting {
        margin-bottom: 20px
    }

    .mtitle_point {
        font-size: 1.8rem
    }

    .mtitle_treatment span {
        font-size: 2.4rem
    }

    .contact_btn li a,
    .contact_btn li button {
        padding: 1em 2em
    }

    .contact_btn li .contact_w_01 {
        width: 100%
    }

    .scroll_table {
        overflow: auto;
        white-space: nowrap
    }

    .scroll_table::-webkit-scrollbar {
        height: 5px
    }

    .scroll_table::-webkit-scrollbar-track {
        background: #F1F1F1
    }

    .scroll_table::-webkit-scrollbar-thumb {
        background: #BCBCBC
    }

    .tbl_list {
        font-size: 1.3rem
    }

    .company th {
        width: 32%
    }

    .article {
        display: block
    }

    .article .article_image,
    .article .article_detail {
        width: 100%
    }

    .article .article_image {
        display: none
    }

    .article .article_detail {
        padding: 40px 0 50px
    }

    .news_list li {
        padding: 20px 10px
    }

    .sns_list {
        display: block
    }

    .sns_list li {
        width: 100%;
        margin: 0 0 15px
    }

    .sns_list li:nth-child(3n) {
        margin: 0 0 15px
    }

    .sns_list li:last-child {
        margin: 0
    }

    .feature_image {
        width: 100%
    }

    .feature_image img {
        width: 100%
    }

    .feature_num {
        font-size: 2rem;
        text-align: center
    }

    .feature_num span {
        font-size: 3.5rem
    }

    .top_main .inner .top_main_contents .top_main_img {
        height: inherit
    }

    .top_main .inner .top_main_contents .top_main_img .animation-txt {
        height: inherit
    }

    .top_main .inner .top_main_contents .top_main_txt {
        margin: -100px auto 0;
        padding: 30px 20px
    }

    .top_sub .sub_detail {
        width: 95%;
        padding: 30px 20px
    }

    .ggmap {
        padding-bottom: 76.25%
    }

    .flex_type .flex_image,
    .flex_type .flex_detail {
        width: 100%
    }

    .flex_type .flex_image {
        margin-bottom: 30px
    }

    .order {
        order: inherit
    }

    .vertical.vertical_01 .title {
        width: 15%
    }

    .vertical.vertical_01 .contents {
        width: 80%
    }

    .blog_contents .blog_main,
    .blog_contents .blog_side {
        width: 100%
    }

    .blog_contents .blog_side {
        margin-top: 50px
    }

    .pages {
        margin-top: 30px
    }

    .pages .page_next,
    .pages .page_prev {
        display: block;
        float: none
    }

    .pages .page_next {
        margin-bottom: 10px
    }

    .gallery_ul a {
        height: 140px
    }

    .top_image {
        height: 200px
    }

    .vertical_image {
        height: 190px
    }

    .feature_image {
        height: 190px
    }

    .calendar_box>.calendar {
        width: 100%;
        margin-bottom: 30px
    }

    .calendar_box>.calendar:last-child {
        margin-bottom: 0
    }

    .feature_txt {
        font-size: inherit
    }

    .greeting_contents {
        display: block
    }

    .greeting_contents .image {
        width: 100vw
    }

    .greeting_contents .image img {
        height: inherit
    }

    .greeting_contents .detail {
        margin: 0 auto;
        margin-top: 5.33333vw;
        width: 84vw
    }

    .greeting_contents .title {
        font-size: 2rem
    }

    .index_contents .index_image {
        height: 240px
    }

    .new_bnr {
        flex-wrap: wrap
    }

    .new_bnr li {
        width: 100%;
        height: 180px;
        margin-bottom: 15px
    }

    .new_bnr li:last-child {
        margin-bottom: 0
    }

    .new_bnr li .bg {
        height: 180px
    }

    .new_bnr li .text {
        bottom: 15px;
        left: 5%
    }

    .new_bnr li .text span {
        font-size: 2rem
    }

    .new_bnr li .btn {
        bottom: 12px;
        right: 12px
    }

    .flow>li dl {
        padding-left: 40px
    }

    .flow>li dl dt {
        font-size: 1.6rem
    }

    .top_about_list .top_about_item {
        width: 100%
    }

    .top_about_list .top_about_textarea {
        padding: 30px 30px 36px
    }

    .top_about_list .top_about_title {
        font-size: 2rem
    }

    .img_contents {
        padding-top: 150px;
        margin-bottom: 0
    }

    .img_contents .img_area {
        margin-left: -90px;
        left: 0
    }

    .img_contents .img_container .txt {
        display: inline-block;
        background: rgba(255, 255, 255, 0.8);
        padding: 30px;
        width: 100%
    }

    .img_contents .img_container .txt_01 {
        margin-bottom: 30px
    }

    .fleft0,
    .fleft1,
    .fleft2,
    .fright0,
    .fright1,
    .fright2 {
        display: block;
        float: none;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px
    }

    .w200,
    .w300,
    .w350,
    .w400 {
        width: 100%
    }

    .pc {
        display: none
    }

    .sp {
        display: block
    }

    .mbox,
    .sbox {
        padding: 30px
    }

    .page_title_box .inner {
        padding: 50px 0
    }

    .form .form-contents form dl dt:not(.pattern-exclusion) {
        width: 100%;
        margin-bottom: 10px;
    }

    .form .form-contents form dl dd:not(.pattern-exclusion) {
        width: 100%;
        padding-left: 0;
    }

    .form_dl {
        border-bottom: none
    }

    .form_dl dt,
    .form_dl dd {
        width: 100%
    }

    .form_dl dt {
        padding: 2% 2% 2.5%
    }

    .form_dl dd {
        padding: 15px 0
    }

    .form .textarea_03 {
        width: 30%
    }
}

/*# sourceMappingURL=smartphone.css.map */