@charset "utf-8";

header#sp-header{
 display:none;
}

div#sp-header-btn{
    display:none;
}
div#sp-menu{
    display:none;
}
/** ハンバーガーメニュ **/
div#sp-header-btn #sp-close{
    display:inline-block;
    position:absolute;
    width:50px;
    height:25px;
    letter-spacing: 0;
    z-index:200;
    left:0;
    top:13px;
}
#sp-close{
        padding-top:13px;
}
.mean_icon {
    display:block;
    cursor: pointer;
    width:22px;
    height:22px;
    margin:0 auto;
    overflow: visible;
    background-color: transparent;
}
.mean_icon span {
    width: 22px;
    height: 2px;
    border-radius: 2px;
    margin-top:-1px;
    display: block;
    background: #000;
    /*margin-left: -15px;*/
    position: relative;
    transition: 0.3s opacity;
}
.mean_icon.active span{
    background: #000;
}

.mean_icon .top {
    animation: type6-top .5s;
    animation-fill-mode: forwards;
}
.mean_icon .middle {
    transition: .5s opacity;
    transform: translateY(-1px);
    opacity: 1;
}
.mean_icon .bottom {
    animation: type6-bottom .5s;
    animation-fill-mode: forwards;
}

.mean_icon.active .middle {
    opacity: 0;
    transition: .5s opacity;
}
.mean_icon.active .top {
    animation: type6-top-close .5s;
    animation-fill-mode: forwards;
}
.mean_icon.active .bottom {
    animation: type6-bottom-close .5s;
    animation-fill-mode: forwards;
}
@keyframes type6-top {
    0% { transform: translateY(0px) rotate(-45deg);  }
    50% { transform: translateY(0px) rotate(0deg);  }
    100% { transform: translateY(-7px) rotate(0deg); }
}
@keyframes type6-bottom {
    0% { transform: translateY(-1px) rotate(45deg); }
    50% { transform: translateY(0px) rotate(0deg);  }
    100% { transform: translateY(5px) rotate(0deg); }
}
@keyframes type6-top-close {
    0% { transform: translateY(-7px) rotate(0deg); }
    50% { transform: translateY(0px) rotate(0deg); }
    100% { transform: translateY(1px) rotate(-45deg); }
}
@keyframes type6-bottom-close {
    0% { transform: translateY(5px) rotate(0deg); }
    50% { transform: translateY(0px) rotate(0deg); }
    100% { transform: translateY(-1px) rotate(45deg); }
}
/***
 1000
 *****/
@media print, screen and (max-width: 1000px) {
    header#header{
        display:none;
    }
    div#sp-header-btn{
        display:block;
        position: fixed;
        width:100%;
        top:0;
        left:0;
        z-index:999;
    }
    header#sp-header{
        display:block;
        width:100%;
        text-align:center;
        background-color: #FFF;
        position: fixed;
        top:0;
        left:0;
        height:100px;
        transition: .3s;
    }
    header#sp-header img{
        display:inline-block;
        width:100%;
    }
    header#sp-header.is-animation{
        height:50px;
    }
    header#sp-header .header-logo-l{
        display:inline-block;
        width:99px;
        height:76px;
        margin:10px auto;
    }
    header#sp-header.is-animation .header-logo-l{
        display:none;
    }
    header#sp-header .header-logo-s{
        display:none;
    }
    #sp-menu #sp-menu-header .header-logo-s,
    header#sp-header.is-animation .header-logo-s{
        display:inline-block;
        width:30px;
        height:30px;
        margin:10px auto;
    }
    div#sp-header-btn .header_btn_area{
        position:absolute;
        width:100px;
        height:50px;
        top: 0 ;
        right:0;
        display: flex;
    }
    div#sp-header-btn a{
        transition: .3s;
    }
    div#sp-header-btn .sp-header-btn{
        width:50px;height:50px;
        display:inline-block;
    }
    div#sp-header-btn .sp-header-btn img{
        display:block;
        width:100%;
        height:100%;
    }
    div#sp-header-btn a.sp-header-btn-reserve{
        background-color:#7fbe26;
    }
    div#sp-header-btn a.sp-header-btn-reserve:hover{
        background-color:#865f57;
    }
    div#sp-header-btn a.sp-header-btn-tel{
        background-color:#f7f1eb;
    }
    div#sp-header-btn a.sp-header-btn-tel:hover{
        background-color:#7fbe26;
        opacity: .6;
    }
    div#sp-header-btn a.sp-header-btn-tel:hover img{
        filter: sepia(61%) brightness(1000%);
    }
    div#container{
        margin-top:100px;
    }
    a#reserve_sidebtn{
        display:none;
    }
    div#sp-menu{
        display:none;
        width:100%;
        height:100vh;
        background-color: #FFF;
        position:fixed;
        top:0;
        left:0;
        z-index:100;
    }
    div#sp-menu .menu-wrapper{
        width:100%;
        text-align:center;
        border-top:1px solid #f7f1eb;
        height:calc(100vh - 150px );
        display: flex;
        align-items: center;
        justify-content: center;
    }
    div#sp-menu #sp-menu-footer{
        position:absolute;
        bottom:50px;
        left:0;
        width:100%;
        height:50px;
        display:flex;
        justify-content: center;
        align-items: center;
        background-color:#7fbe26;
        transition: .3s;
        z-index:5;
    }
    div#sp-menu #sp-header-copy{
        position:absolute;
        bottom:0px;
        left:0;
        width:100%;
        height:50px;
        z-index:4;
        background-color:#6cb01c;
        font-size: 10px;
        line-height: 50px;
        padding: 0;
        color:#FFF;
        text-align: center;
    }
    div#sp-menu #sp-menu-footer:hover{
        opacity: .6;
    }
    div#sp-menu #sp-menu-footer p{
        padding:0 0.5em;
        color:#FFF;
        fontweight:600;
    }
    div#sp-menu #sp-menu-header{
        text-align: center;
        width:100%;
        height:50px;
    }
    #sp-menu #sp-menu-header .header-logo-s{
        transition: .3s;
    }
    #sp-menu #sp-menu-header .header-logo-s:hover{
        opacity: .6;
    }
    div#sp-menu  img{
        display:inline-block;
        width:100%;
    }
    div#sp-menu  .sp_menu_list li{
        padding-top:calc( 5vh - 20px );
    }
    div#sp-menu  .sp_menu_list li a{
        font-size:1.5em;
        font-weight: 600;
        transition: .3s;
    }
    div#sp-menu  .sp_menu_list li a:hover{
        opacity: .6;
    }

}
/***
 768
 *****/
@media print, screen and (max-width: 768px) {
    body {
        font-size: 14px;
    }

    footer #page_top {
        position: absolute;
        z-index: 5;
        right: 5px;
        top: -23px;
        width: 60px;
        height: 150px;
        display: inline-block;
    }

    footer #page_top img {
        display: block;
        width: 100%;
    }

    footer .footer-wrapper {
        width: 100%;
        padding: 0 40px;
    }

    footer .footer-inner .footer-row {
    }

    footer .footer-inner .footer-row {
        width: 100%;
        margin-left: 0;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    footer .footer-inner .footer-content {
        display: flex;
        flex-wrap: wrap;
    }

    footer .footer-inner .logo {
        display: block;
        padding: 0 0 25px;
    }

    footer .info {
        padding: 0 0 25px;
    }

    footer .list-sns {
        display: flex;
        justify-content: center;
    }

    footer .schedule {
        padding: 0;
    }

    footer .tit_schedule {
        font-size: 16px;
        font-weight: 600;
        line-height: 2em;
        height: 2em;
        padding-top: 0;
    }

    footer .schedule_table tr.schedule_head td {
        font-size: 16px;
    }

    footer .schedule_table tr.schedule_body td {
        font-size: 18px;
        vertical-align: middle;
        color: #FFF;
    }

    div.section {
        padding-bottom: 40px;
    }

    /* SHARE */
    .row {
        display: block;
    }

    .col-left {
        width: 100%;
    }

    .col-right {
        width: 100%;
    }

    div#container .article-title {
        font-size: 18px;
    }
    body.second-page #main{
        margin-bottom:30px;
        padding-top:300px;
    }
    body.second-page #main .main-inner{
        background-position: 30% center;
        background-size: cover;
    }
    body.second-page .main-inner .info{
        width:100%;
        max-width:500px;

    }
    body.second-page .main-inner .info img{
        display:inline-block;
        width:100%;
    }

    body.second-page.director #main  .main-inner{
        background-position: 50% center;
    }
    body.second-page.menu_price #main  .main-inner{
        background-position: 50% center;
    }

    /* TOP */
    body.top #main {
        padding-top: 400px;
    }

    body.top #main .info img.only_pc {
        display: none;
    }

    body.top #main .info img.info_sp {
        display: block;
        width: 100%;
    }

    body.top #main a.line_circle {
        width: 25vw;
        height: 25vw;
        bottom: -10vw;
    }

    #main .main_footer {
        background-size: 63px 10px;
    }

    body.top div.section01 .article-information {
        width: 100%;
        margin-right: 0;
    }

    body.top div.section01 .article-schedule {

        width: 100%;
        margin: 40px 0 0 0;
    }

    body.top div.section01 .schedule_table tr.schedule_head td {
        font-size: 1em;
        height: 50px;
    }

    body.top div.section01 .schedule_table tr.schedule_body td {
        font-size: 1.3em;
        height: 50px;
    }

    body.top .article-covid-19 {
        padding: 1em;
    }

    body.top .text-covid-19 {
        padding: 1em;
    }

    body.top div.article-circlemenu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    body.top div.article-circlemenu a {
        width: 30vw;
        margin: 0 5vw 5vw;
        flex-grow: 0;

    }
/*
    body.top div.article-circlemenu div.str {
        top: 20%;
    }
    */

    body.top div.article-circlemenu a:first-child {
        margin-left: 5vw;
    }
    body.top div.article-circlemenu a:last-child{
        margin-bottom:0;
    }

    body.top div.article-circlemenu div.str .en {
        font-size: 6px;
    }

    body.top div.article-circlemenu div.str .jp {
        font-size: 12px;
    }

    body.top div.section03 {
        padding: 30px 0;
    }

    body.top div.section04 {
        padding: 40px 0;
    }

    body.top div.section.section05 div.section-inner {
        flex-wrap: wrap;
    }

    body.top div.section05 .inner-right,
    body.top div.section05 .inner-left {
        width: 100%;
    }

    body.top div.article-access,
    body.top div.section05 div.article-blog {
        padding: 2em 0;
        margin: 0 auto;
    }

    body.top div.section05 div.article-blog .blog-list {
        margin-top: 1.5em;
    }

    body.top div.section05 .inner-right {
        padding-bottom: 50px;
    }

    a.btn-green {
        transform: scale(0.8, 0.8);
    }

    /* DIRECTOR */
    body.director .article-director01 {
        width: 70%;
        margin: 0 auto 1em;
        padding:0;
    }

    body.director .article-director02 {
        width: 100%;
        padding: 0;
    }

    body.director .article-director02 .name {
        font-size: 1.1em;
        padding-bottom: 1.5em;
    }
    body.director div.director03,
    body.director div.director02 {
        padding: 40px 0 40px;
    }

    div.director02 .article-info p {
        padding-bottom:20px;
    }
    div.director03 .row{
        padding-top:1em;
    }
    div.director03 .col-right,
    div.director03 .col-left{
        width:100%;
        padding:0;
    }
    div.director03 .col-left{
        padding-bottom:1em;
    }
    div.director04 div.section-inner .box-director04{
        display:block;
        padding:1em;
        height:auto;
    }
    div.symptoms01 p, div.about01 p {
        padding-bottom: 20px;
    }
    div.symptoms01 p.bottom60 {
        padding-bottom: 30px;
    }
    div.symptoms01 .box-symptoms{
        padding:1em;
        margin-bottom:2em;
    }
    /* MENU */
    .box-menu_price{
        padding:1em;
    }
    .box-menu_price .list-price dt{
        height:auto;
        background-image:none;
        border-bottom:solid 1px #b2d87d;
    }
    .box-menu_price .list-price dd{
        border-bottom:solid 1px #b2d87d;
    }
    .box-menu_price .first{
        font-size:1.3em;
        line-height: 1.5em;
        height:auto;
        padding:0.5em 0.1em;
    }
    body.menu_price div.menu_price02 .row{
        padding:25px 0 30px;
    }
    div.menu_price02 .row .col-right,
    div.menu_price02 .row .col-left{
        width:100%;
        padding-left:0;
        padding-right:0;
    }
    div#container div.menu_price02 .row h5.article-title{
        padding-bottom:20px;
        font-size:18px;
    }
    div.menu_price03 .box{
        padding:1em;
    }
    body.reservation .box-green{
        padding:2em 1em 1em;
    }
    body.reservation .box-green h4{
        padding-bottom:20px;
        font-size:18px;
    }
    body.reservation .box-green .box-white{
        padding:1em;
    }
    body.reservation .box-green .box-white .tel{
        font-size:1.5em;
    }
    body.reservation .box-green .box-white.box-line-reserve .col-right,
    body.reservation .box-green .box-white.box-line-reserve .col-left{
        width:100%;
        padding:0 0 1.2em;
    }
    body.reservation .reservation02 .box-white{
        padding:1em;
    }
    body.reservation .reservation02 .schedule_table tr.schedule_head td{
        font-size:1.1em;
        height:50px;
    }
    body.reservation .reservation02 .schedule_table tr.schedule_body td{
        font-size:1.3em;
        height:50px;
    }
    body.reservation .reservation02 .schedule-attention{
        font-size:12px;
    }
    body.access .access01{
        padding:0 0 20px;
    }
    body.access .access02 .box-white{
        padding:1em;
    }
    body.access .access01 p.address{
        padding:0.5em 0 0;
    }
    body.access .access02 .box-white h5{
        font-size:18px;
    }
}