@charset "UTF-8";

@media screen and (max-width:1247px) {
    /****************************************
    
        MainLayout
    
    *****************************************/

    .head_wrap,
    .footer_wrap {
        width: 96%;
    }

    .main_visual_wrap,
    .page_key_visual_wrap {
        width: 100%;
        height: auto;

    }

    .wrapper {
        width: 86%;
    }

    #menu-header-navi li a {
        font-size: 16.4px;
        padding: 6px 20px;
    }
}

@media screen and (max-width:1079px) {

    /****************************************
    
        MainLayout
    
    *****************************************/
    body {
        padding-top: 0;
    }

    .wrapper {
        width: 86%;
    }

    /************ ヘッダー1079px ************/
    .head_wrap {
        width: 96%;
    }

    .main-wrap {
        width: 96%;
    }

    /* .header_logo {
        width: 340px;	
        height: 60px;
    }	
    #logo {
        height: 68px;
    }
    #logo a {
        width: 100%;
        background-size: 95%; */
    

    /************ メインヴィジュアル1079px ************/
    .main-visual>.wrapper {
        width: 100%;
    }

    .img-frame {
        width: 100%;
        /* height: 420px; */
    }

    /************ コンテンツ1079px ************/

    .container_2col {
        width: 94%;
    }
}

@media screen and (max-width:979px) {

    /****************************************
        
            MainLayout
        
    *****************************************/
    body {
        font-size: .96em;
    }

    /************ 見出し 979px ************/
    h2.h2main {
        font-size: 26px;
        margin-bottom: 26px;
    }

    h2.h2post {
        font-size: 26px;
        padding-bottom: 0.2em;
    }

    .post_title {
        margin-bottom: 1.2em;
    }
    h3.h3page{
        font-size: 18px;
        padding: 0.5em 1em;
        margin-bottom: 1.2em;
    }
    h3.h3price {
        font-size: 17px;
        padding: 0.3em 1.5em;

    }

    h4.h4page {
        font-size: 15px;
        margin-bottom: 0.4em;
    }

    /************ ヘッダー979px ************/
    .head_wrap {
        width: 94%;
        height: 120px;
    }

    .header_top_area {
        /* margin-bottom: 10px; */
        height: 22px;
        position: relative;
    }

    .site_discript {
        margin-top: 6px;
        line-height: 22px;
        font-size: 0.8em;
    }

    .space_discript {
        margin-top: 6px;
        line-height: 22px;
        font-size: 0.8em;
    }
    
    .map_mark_s {
        margin-top: 0;
  
    }

    .header_middle_area {
        display: block;
    }

    .header_logo {
        width: 340px;	
        height: 70px;
    }	
    #logo {
        height: 70px;
    }
    #logo a {
        width: 100%;
        background-size: 100%;
    }

    /************ メインヴィジュアル 979px ************/

    /***fornt-page-ヘッダ画像＆タイトル ****/
    .page_key_visual {
        margin-bottom: 32px;
    }

    .img-frame {
        /* height: 360px; */
    }

    .msg01,
    .msg02,
    .msg03,
    .msg03_link {
        font-size: 26px;
        margin-left: 3%;
    }

    .msg03 {
        top: 5%;
        margin-left: 3%;
    }
    .msg_link {
        top: 15%;
        margin-left: 3%;
    }
    .slide-01 .msg_link a {
        gap: 0.5em;
        padding: 0.8em 1.2em 0.6em 1.2em;
        margin-top: 12px;
        font-size: 16px;
      }


    /*** 固定＆投稿ページ　ヘッダ画像＆タイトル ****/

    h2.main_vis_h2 {
        /* left: 10%; */
        font-size: 28px;
    }

    h2.main_vis_h2 span {
        font-size: 16px;
        line-height: 180%;
    }


    /************ コンテンツ 979px ************/
    .container_2col {
        display: block;
        margin-bottom: 64px;
    }

    section {
        padding: 28px 0;
        margin-bottom: 64px;
    }

    main {
        width: 100%;
        margin-bottom: 2em;
    }

    .cont_col-2 {
        width: 100%;
        margin-bottom: 64px;
    }

    .card_info {
        flex: 0 0 48%;
    }

    .inner {
        margin-bottom: 6.4em;
    }


    /************ サイドバー 979px ************/

    .sidebar {
        width: 100%;
        /* margin-right: 3%; */
        margin-left: 0;
    }



}

@media screen and (max-width:677px) {

    /****************************************
        
            MainLayout
        
    *****************************************/
    body {
		/*overflow-x: hidden;*/
    }

    .wrapper {
        width: 90%;
    }
    html {
        scroll-behavior:smooth;
    }
    .space_discript{
        display: none;
    }

    /************ ヘッダー 677px ************/
    .head_wrap {
        height: 100px;
    }

    .header_top_area {
        height: 18px;
    }

    .site_discript {
        line-height: 18px;
        font-size: 0.7em;
    }

    .header_middle_area {
        height: 72px;
    }

    #headlogo {
        width: 70%;
        height:50;
        float:left;
        margin-right:0;
        background-color: #ccc;
    }
    #logo {
        margin: 0px 0px 10px 0px;
        width: 70%;
        height:50px;   
        /* background-color: #ccc; */
    }
    
    .header_logo {
        /* width: 70%; */
        height:50px;
    }	
    #logo {
        margin: 0px 0px 0px 0px;
        width: 100%;
    }   
    #logo a {
        width: 100%;
        height: 100%;
        background-size: 70%;
    }

    /* .header_logo img {
        height: 50px;
    } */

    /************ メインヴィジュアル 677px ************/
    .main_visual_wrap {
        width: 100%;
    }

    .page_key_visual_wrap {
        width: 100%;
    }

    .page_key_visual {
        margin-bottom: 26px;
    }

    .page_head {
        margin-bottom: 0px;
    }

    .img-frame {
        /* height: 240px; */
    }

    .msg01,
    .msg02,
    .msg03,
    .msg03link {
        font-size: 16px;
        /* font-weight: bold; */
    }
    .msg01, .msg02 {
        top: 65%;
        margin-left: 0%;
    }

    .msg03 {
        top: 5%;
        margin-left: 0%;
    }
    .msg_link {
        top: 55%;
        margin-left: 0%;
    }
    .slide-01 .msg_link a {
        gap: 0.5em;
        padding: 0.8em 1.2em 0.6em 1.2em;
        margin-top: 12px;
        font-size: 12px;
      }

    .page_head_bg-blue {
        width: 100%;
        height: 80px;
        background-color: #c5d6ee;
        counter-reset: #fff;
    }

    /*** 固定＆投稿ページ　ヘッダ画像＆タイトル ****/

    h2.main_vis_h2 {
        left: 10%;
        font-size: 23px;
    }

    h2.main_vis_h2 span {
        font-size: 12px;
        line-height: 180%;
    }

    h3.h3price {
        font-size: 16px;
        padding: 0.3em 1.5em;

    }


    /************ コンテンツ 677px ************/

    section {
        padding: 24px 0;
        margin-bottom: 42px;
    }

    .inner {
        margin-bottom: 5.2em;
    }

    .medical_Info {
        margin-bottom: 21px;
    }

    .cont_col-2 {
        margin-bottom: 45px;

    }

    .box_desc_co1 {
        width: 100%;
        flex-direction: column;
    }

    .box_desc_co1_num {
        font-size: 16px;
        width: 100%;
        padding: 0.1em;
        box-sizing: border-box;
    }

    .wrap_col-bnn {
        display: block;
        /* width: 100%; */
        margin: 0 auto;
    }
    .box_banner{
        width: 90%;
        margin-bottom: 20px !important;
    }

    input.wpcf7-submit {
		width: 80%;
	}




    /************ お知らせ 677px ************/
    .feeds {
        display: block;
    }


    /************ 見出し 677px ************/
    h2.h2main {
        font-size: 24px;
        margin-bottom: 26px;
    }

    h2.h2post {
        font-size: 24px;
        padding-bottom: 0.15em;
    }

    .post_title {
        margin-bottom: 0.9em;
    }

    .h3_info {
        font-size: 20px;
        margin-bottom: 0.8em;
    }


    /************ お知らせ ************/
    .newsBox,.timeBox {
        width: 90%;
    }

    .feeds {
        padding: 0.3    em 0;
    }


    .wrap_col-2 {
        display: block;
    }
    .wrap_col-2_harf {
        display: block;
    }
    .wrap_col-2_harf >.textBox {
        width: 100%;
    }
    .wrap_col-2_w80{
        display: block;
        width: 100%;
    }
    .img_2col_w80{
        width: 50%;
        margin-bottom: 2em;
    }
    .wrap_col-2_w80 >.textBox {
        width: 100%;
    }

    .card_info {
        flex: 0 0 100%;
    }
    .card_info2 {
        width: 100%;
    }


    .img_2col {
        width: 100%;
    }

    .wrap_col-2>.textBox {
        width: 100%;
    }

    .wrap_col-3 img {
        width: 100%;
        margin-bottom: 1em;
        }
        .img_set_col2{
            display: block;
        }
        .img_set_col2 img {
            width: 100%;
            }
}

@media screen and (max-width:599px) {

    /****************************************
        
            MainLayout
        
    *****************************************/
    .page_key_visual {
        margin-bottom: 26px;
    }

    /* .img-frame {
    height: 120px;
} */
}

@media screen and (max-width:376px) {

    /****************************************
        
            MainLayout
        
    *****************************************/
	body {
        font-size: .9em;
    }

	.header_logo {
       width: 96%; 
    }
	
	/************ スライド 376px ************/
	.msg01,
    .msg02,
    .msg03,
    .msg03link {
        font-size: 14px;
    }
    .msg01, .msg02 {
        top: 65%;
        margin-left: 0%;
    }

    .msg03 {
        top: 5%;
        margin-left: 0%;
    }
    .msg_link {
        top: 50%;
        margin-left: 0%;
    }
    .slide-01 .msg_link a {
        gap: 0.5em;
        padding: 0.4em 0.6em 0.3em 0.6em;
        margin-top: 12px;
        font-size: 11px;
      }
	  
	  
	/************ 見出し 376px ************/
    h2.h2main {
        font-size: 21px;
        margin-bottom: 21px;
    }

    h2.h2post {
        font-size: 21px;
        padding-bottom: 0.16em;
    }
}

@media screen and (max-width:300px) {

    /****************************************
        
            MainLayout
        
    *****************************************/
    .page_navBox {
        flex-flow: column;
        justify-content: space-around;
    }
}


@media screen and (max-width:979px) {

    /****************************************

         SmPhone-Navi

*****************************************/
    .hamburger-menu {
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        flex-direction: column;
        width: 36px;
        height: 40px;
        cursor: pointer;
        z-index: 9999;
        padding: 24px 12px 10px 12px;
        background-color: #ff9933;
        /* background-color:#ff914f; */
        margin: 10px;
        box-shadow:
            0 0.2px 0.3px rgba(0, 0, 0, 0.057),
            0 0.4px 0.6px rgba(0, 0, 0, 0.076),
            0 1px 1.2px rgba(0, 0, 0, 0.086),
            0 2px 2px rgba(0, 0, 0, 0.092),
            0 4px 3px rgba(0, 0, 0, 0.1),
            0 8px 7px rgba(0, 0, 0, 0.13);
    }

    .hamburger-menu__line {
        display: block;
        width: 100%;
        height: 4px;
        border-radius: 4px;
        background-color: #fff;
        position: relative;
        transition: all 0.5s;
    }

    .hamburger-menu__line::before,
    .hamburger-menu__line::after {
        content: '';
        display: block;
        width: 100%;
        height: 4px;
        border-radius: 4px;
        background-color: #fff;
        position: absolute;
        transition: all 0.5s;
    }

    .hamburger-menu__line::before {
        transform: translateY(-12px);
    }

    .hamburger-menu__line::after {
        transform: translateY(12px);
    }

    .hamburger-menu.open .hamburger-menu__line {
        background-color: transparent;
    }

    .hamburger-menu.open .hamburger-menu__line::before {
        transform: rotate(45deg);
    }

    .hamburger-menu.open .hamburger-menu__line::after {
        transform: rotate(-45deg);
    }

    .spMenu {
        font-size: 12px;
        color: #fff;
        margin-top: 16px;
    }

    .nav-sp {
        box-sizing: border-box;
        position: fixed;
        /* ↓スクロールさせるため */
        overflow: auto;
        top: 0;
        left: -80%;
        width: 80%;
        height: 100%;
        padding: 0px 10px;
        background-color: #fff;
        transition: left 0.5s;
        z-index: 9990;
        box-shadow:
            0 1px 3px rgba(0, 0, 0, 0.057),
            0 2px 5px rgba(0, 0, 0, 0.076),
            0 3px 6px rgba(0, 0, 0, 0.086),
            0 4px 8px rgba(0, 0, 0, 0.092),
            0 6px 10px rgba(0, 0, 0, 0.1),
            0 10px 14px rgba(0, 0, 0, 0.13);
    }

    .nav-sp.open {
        left: 0;
    }

    .nav-sp-wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .nav-sp-logo {
        margin: 20px auto;
    }

    .nav-sp-logo img {
        height: 38px;
    }

    .nav-sp-menu {
        width: 90%;
        /* text-align: center; */
        margin-bottom: 3em;
        border-top: 1px solid #ccc;
    }

    .nav-sp-menu li {
        border-bottom: 1px solid #ccc;
        position: relative;
        text-indent: 0.6em;
    }

    .nav-sp-menu li a {
        display: block;
        width: 100%;
        font-size: 1em;
        padding: .7em 0;
    }

    .nav-sp-menu li a::after{
        position: absolute;
        font-family: 'Material Icons';
        content: "\e5e1";
        margin-right: 0.1em;
        right: 3%;
        /* color: #c5d6ee; */
        }

    .nav-sp-menu li a:hover {
        background-color: #fff6ea;
        /* opacity: 1 !important; */
    }

    .nav-sp-menu-sub li {
        border-bottom: none !important;
    }

    .nav-sp-menu-sub {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 0.5em;
    }
    
    .nav-sp-menu-sub li {
        font-size: 0.9em;
        width: 48%;
        margin: 4px 1%;
        /* text-align: center; */
        background-color: #fff6ea;
    }
    .nav-sp-wrap > .h2main {
        margin-bottom: 0.5em;
    }
    .nav-sp-wrap > .timetable {
        margin-bottom: 80px;
    }
}