@charset "UTF-8";


/*--------------------------------------------------------
解像度1210px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 1210px){








.check-list02 li{
  font-size: 24px;
  padding: 22px 22px 20px 23%;
}
.check-list02 .icon{
  width: 40px;
}



}/*解像度1210px以下*/


/*--------------------------------------------------------
解像度1180px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 1180px){

.mainvisual{
  height: 485px;
}
.mainvisual .image{
  width: 600px;
  bottom: -46px;
}



  .float-box02 .right-item{
    padding: 10px 0 10px 40px;
  }


.action-list01 .item{
  padding: 42px 40px;
}
.action-list01 .big{
  font-size: 24px;
}

.footer-banner{
  width: 20%;
}


}/*解像度1180px以下*/


/*--------------------------------------------------------
解像度1120px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 1120px){

.logo img{
  width: 160px;
}

.mainvisual{
  height: 440px;
}
.mainvisual .title{
  font-size: 32px;
}
.mainvisual .image{
  width: 560px;
  bottom: -44px;
}


.global-nav a{
  font-size: 13.5px;
  padding: 15px 7px;
}


.single-column h1{
  font-size: 25px;
}

.page-title{
  padding: 146px 0 52px;
}
.page-title .title_main{
  font-size: 28px;
}
.page-title .title_sub{
  font-size: 16px;
}

.title-wrap .title-name{
  font-size: 24px;
}


#area-single01{
  padding: 130px 0 70px;
}



  .inner,
  .inner2,
  .inner3,
  .inner4,
  .inner5,
  .site-header-in,
  .main-image-in,
  .main-image-in-text,
  .main-image-in-text-cont,
  .breadcrumbs-in,
  .main-body-in,
  .site-footer-in{
    width: 92%;
    margin: auto;
  }

  .column2-inner{
    width: 92%;
    margin: auto;
  }



.inner-content3{
  width: 92%;
}
.inner-content3 p{
  font-size: 16px;
}


.turn-box01 .title,
.turn-box02 .title{
  font-size: 22px;
}

.tel-box04 .left-item{
  width: 36%;
}
.tel-box04 .right-item{
  width: 64%;
}



.double-box01 .left{
  width: 100%;
  padding: 45px 50px;
}
.double-box01 .right{
  width: 100%;
  padding: 45px 50px;
}
.double-box01 .title{
  margin: 0 0 17px;
}


.article-box02 a{
  padding: 22px;
}
.article-box02 .text{
  padding: 7px 0 0;
}
.article-box02 .title{
  font-size: 18px;
}
.post-cat{
  font-size: 12px;
}




  .ggmap {
    padding-bottom: 320px;
  }



#header{
  padding: 12px 0;
}
.logo{
  margin: 0 0 0 2.6%;
}

.about-nav a,
.recruit-nav a{
  display: block;
}


.global-nav,
.link-nav{
  display: none;
}
.drawer-icon{
  display: block;
}
.recruit-nav a{
  display: block;
}


  
}/*解像度1120px以下*/



/*--------------------------------------------------------
解像度1000px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 1000px){




.mainvisual{
  height: 418px;
}
.mainvisual .image{
  width: 480px;
  bottom: -38px;
}
.mainvisual .text{
  top: 34%;
}
.mainvisual .title{
  font-size: 29px;
}


.page-title{
  padding: 126px 0 52px;
}
.page-title .title_main{
  font-size: 27px;
  margin: 0px;
}
.page-title .title_sub{
  font-size: 14px;
}




#area-single01{
  padding: 105px 0 70px;
}


.title-wrap{
  margin: 0 0 35px;
}
.title-wrap .title-name{
  font-size: 22px;
}
.title-wrap .title-size{
  font-size: 15px;
}

.point-list01 .item{
  width: 100%;
}
.point-list01 .item:not(:nth-child(3n)){
  margin-right: 0;
  margin-bottom: 15px;
}


.point-list03 .item{
  padding: 40px 45px 50px;
}
.point-list03 .item .title{
  font-size: 20px;
  padding: 0 0 0 132px;
  margin: 0 0 27px;
}

.point-list03 .no{
  width: 90px;
  height: 80px;
  font-size: 14px;
}
.point-list03 .no .suuji{
  font-size: 32px;
}


.cp_actab label{
  font-size: 18px;
  padding: 23px 40px 23px 70px;
}
.cp_actab label::before{
  font-size: 23px;
}
.cp_actab label::after{
  font-size: 28px;
  right: 24px;
}
.cp_actab .cp_actab-content p{
  margin: 30px 40px;
}

.check-list02 li{
  font-size: 21px;
  padding: 20px 20px 20px 16%;
}
.check-list02 .icon{
  width: 40px;
}





.single-column .inner-content2 h2{
  font-size: 21px;
}
.single-column .inner-content2 h3{
  font-size: 19px;
}
.single-column .inner-content2 h4{
  font-size: 17px;
}
.single-column .inner-content2 h5{
  font-size: 16px;
}
.single-column .inner-content2 h6{
  font-size: 16px;
}


.balloon-left .faceicon,
.balloon-right .faceicon{
  width: 100px;
}
.balloon-left .says{
  margin: 5px 0 0 125px;
}
.balloon-right .says{
  margin: 5px 125px 0 0;
}









.firststep-box01-wrap{
  padding: 60px 30px;
}
.firststep-box01-wrap .title{
  font-size: 22px;
}
.firststep-box01 .text{
  padding: 25px;
}



.font-effects1{
  font-size: 26px;
}

.font-effects4 .text{
  font-size: 28px;
}
.font-effects5{
  font-size: 18px;
}


.content-titleA{
  font-size: 29px;
}

.content-titleB .main{
  font-size: 37px;
}


.banner02 a{
  width: 100%;
  text-align: center;
}
.banner02 a:not(:nth-child(3n)){
  margin-right: 0;
}
.banner02 a:not(:last-child){
  margin-bottom: 18px;
}


.banner02 img{
  width: 350px;
}

.gallery{
  width: 70%;
}

.action-list01 .item{
  width: 100%;
  padding: 42px 40px 42px 55px;
}
.action-list01 .item:nth-of-type(even){
  margin-left: 0;
}



.tel-box04 .btn-tel{
  font-size: 32px;
}
.tel-box04 .btn-contact{
  font-size: 16px;
  padding: 15px 15px 15px 24px;
}

  .contact-box table th{
    width: 100%;
    padding: 10px 20px;
    display: block;
  }
  .contact-box table td{
    width: 100%;
    padding: 10px 20px;
    display: block;
  }

.price .main{
  font-size: 26px;
}
.price .sub{
  font-size: 14.5px;
  width: 53px;
  height: 28px;
  line-height: 28px;
  margin-right: 15px;
}
.price .main .small{
  font-size: 16px;
}

.article-box02 .thumb{
  width: 32%;
}
.article-box02 .text{
  width: 64%;
  padding: 0;
}






  .float-box02 .right-item{
    padding: 10px 0 10px 30px;
  }


.inner-content{
  width: 92%;
}


.article-box01 li{
  width: 49%;
}
.article-box01 li:not(:nth-child(4n)){
  margin-right: 0%;
}
.article-box01 li:not(:nth-child(2n)){
  margin-right: 2%;
}


.business-box01 .item{
  width: 100%;
  height: 300px;
}
.business-box01 .insurance{
  margin-bottom: 25px;
}
.business-box01 .cancer{
  margin-bottom: 25px;
}



.footer-banner{
  width: 300px;
  margin: auto;
}







  .big1{
    font-size: 20px;
  }
  .big2{
    font-size: 21px;
  }


  .attention{
    padding: 20px 30px;
  }

#fixed-contents{
  display: block;
}
#footer{
  margin-bottom: 48px;
}


}/*解像度1000px以下*/


/*--------------------------------------------------------
解像度900px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 900px){




.balloon-left .faceicon,
.balloon-right .faceicon{
  width: 90px;
}
.balloon-left .says{
  margin: 5px 0 0 115px;
}
.balloon-right .says{
  margin: 5px 115px 0 0;
}







.mainvisual{
  height: 365px;
}
.mainvisual .text{
  top: 31%;
  left: 7%;
}

.mainvisual .image{
  width: 400px;
  bottom: -31px;
}
.arrow-box{
  left: 0px;
}


.inner-content2{
  width: 92%;
  padding: 5%;
}


.text-catch01 .marker{
  font-size: 19px;
}
.text-catch01 .marker.big{
  font-size: 25px;
}

.flow-list01 .title{
  font-size: 18px;
  padding: 22px 40px 22px 80px;
}
.flow-list01 .title:before {
  top: 16px;
  left: 20px;
  font-size: 19px;
  width: 40px;
  height: 40px;
  line-height: 40px;
}
.flow-list01 .content{
  padding: 25px 30px;
}
.flow-list01 .item:not(:last-child){
  margin: 0 0 35px;
}


.point-list03 .item{
  padding: 32px 40px 35px;
}
.point-list03 .item .title{
  font-size: 18px;
  padding: 0 0 0 107px;
}
.point-list03 .no{
  width: 80px;
  height: 70px;
}
.point-list03 .no .suuji{
  font-size: 29px;
}


.point-list04 .item .text{
  padding: 25px 30px 30px;
}
.point-list04 .item .title{
  font-size: 18px;
  padding: 19px 30px 18px 30px;
}



.support-box01{
  padding: 80px 8% 60px;
  margin: 90px 0 0;
}
.support-box01::before{
  top: -58px;
  height: 100px;
}
.support-box01 .list{
  margin: 30px 0 0;
}
.support-box01 .list .item{
  font-size: 22px;
}


.turn-box01 .item:not(:last-child){
  margin-bottom: 50px;
}
.turn-box01 .image{
  width: 100%;
  margin: 0 0 30px;
}
.turn-box01 .text,
.turn-box02 .text{
  width: 100%;
}
.turn-box02 .image{
  width: 300px;
  margin: 0 auto 30px;
}

.greetings-box .image{
  width: 39%;
}
.greetings-box .text{
  width: 56%;
}










  .float-box01 .left-item{
    float: none;
    width: 100%;
    margin: 0 0 45px;
  }
  .float-box01 .right-item{
    float: none;
    width: 100%;
  }


.cp_actab .cp_actab-content p{
  margin: 25px 35px;
}



  .design-list2 li {
    float: none;
    width: 100%;
    margin: 0;
  }


.footer-content{
  padding: 30px 0 40px;
}

.footer-wrap1{
  width: 100%;
  margin: 0 0 25px;
}
.footer-wrap2{
  width: 100%;
  margin: 0;
}

.footer-contact{
  text-align: left;
  margin: 0 0 20px;
}
.footer-copyright p{
  text-align: left;
}

}/*解像度900px以下*/

/*--------------------------------------------------------
解像度850px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 850px){



#area-top00A{
  padding: 85px 0 60px;
}
#area-top00B{
  padding: 45px 0;
}
#area-top00C{
  padding: 55px 0;
}
#area-top01{
  padding: 0 0 35px;
}

#area-top02:before,
#area-top02:after,
#area-top03:before,
#area-top03:after,
#area-top04:before,
#area-top04:after{
  height: 310px;
}


#area-top02{
  padding: 70px 0;
}
#area-top03,
#area-top04{
  padding: 70px 0;
  margin: 25px 0 0;
}
#area-top05,
#area-top06,
#area-top07,
#area-top08,
#area-top09{
  padding: 60px 0;
}

#area-top10{
  padding: 150px 0 110px;
}
#area-top10::before{
  height: 58px;
}
#area-top10::after{
  height: 58px;
  bottom: -34px;
}







#area-about01{
  padding: 70px 0;
}
#area-about02{
  padding: 70px 0;
}
#area-about03{
  padding: 70px 0;
}
#area-about04{
  padding: 70px 0;
}

#area-flow01{
  padding: 50px 0;
}
#area-flow02{
  padding: 70px 0;
}

#area-faq01{
  padding: 50px 0;
}
#area-faq02{
  padding: 70px 0;
}

#area-system01{
  padding: 70px 0;
}
#area-system02{
  padding: 70px 0;
}
#area-system03{
  padding: 70px 0;
}
#area-system04{
  padding: 70px 0;
}

#area-recruit01{
  padding: 50px 0;
}
#area-recruit02{
  padding: 70px 0;
}
#area-recruit03{
  padding: 70px 0;
}
#area-recruit04{
  padding: 70px 0;
}
#area-recruit05{
  padding: 70px 0;
}
#area-recruit06{
  padding: 70px 0;
}

#area-information01{
  padding: 70px 0;
}
#area-information02{
  padding: 70px 0;
}
#area-information03{
  padding: 70px 0;
}

#area-reservation01{
  padding: 70px 0;
}
#area-reservation02{
  padding: 70px 0;
}

#area-cast01{
  padding: 70px 0;
}
#area-cast02{
  padding: 70px 0;
}















#footer::after {
    width: 200px;
    height: 300px;
    transform: skew(37deg);
    left: -254px;
}

.inner-content{
  width: 96%;
  padding: 55px 30px 35px;
}
.inner-content .title{
  top: -40px;
  left: 46px;
  font-size: 15.5px;
  padding: 15px 23px;
}


.check-list li{
  font-size: 15.5px;
  padding: 6px 0 6px 37px;
}
.check-list li::before{
  top: 8px;
  left: 4px;
  font-size: 13px;
  line-height: 1;
  padding: 5px;
}





.content-titleA .text{
  font-size: 22px;
  box-shadow: 4px 4px 0px 0px #318c30;
}
.content-titleA .text:before{
  top: calc(100% + 2px);
  left: calc(50% + 4px);
}


.font-effects4 .text{
  font-size: 25px;
  box-shadow: 3px 3px 0px 0px #47bb61;
}
.font-effects5{
  font-size: 17px;
}


.firststep-box01-wrap .title{
  font-size: 20px;
}



.comment-list .item{
  width: 100%;
}
.comment-list .item:not(:nth-child(3n)){
  margin-right: 0;
  margin-bottom: 20px;
}






/*2カラムレイアウト*/
.column2 #main{
  float: none;
  width: 100%;
  margin-bottom: 50px;
}
.column2 #side{
  float: none;
  width: 100%;
}




.inner-content3{
  width: 96%;
}


  .float-box1 .left-item{
    float: none;
    width: 100%;
    text-align: center;
    margin-bottom: 40px;
  }
  .float-box1 .right-item{
    float: none;
    width: 100%;
  }


  .float-box2 .right-item{
    float: none;
    width: 100%;
    text-align: center;
    margin-bottom: 40px;
  }
  .float-box2 .left-item{
    float: none;
    width: 100%;
  }




  .reserve-box h2{
    font-size: 26px;
  }

  .reserve-box_left{
    width: 100%;
    padding: 0;

  }
  .reserve-box_right{
    width: 100%;
    padding: 0;
    border: none;
  }



  .reserve-box input,
  .reserve-box textarea,
  .reserve-box select{
    width: 100%;
  }





  #page-top {
    bottom: 22px;
  }

  .ggmap {
    padding-bottom: 300px;
  }




}/*解像度850px以下*/


/*--------------------------------------------------------
解像度775px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 775px){



.balloon-left .faceicon,
.balloon-right .faceicon{
  width: 65px;
}
.balloon-left .faceicon img{
  border: solid 2px #47bb61;
}
.balloon-right .faceicon img{
  border: solid 2px #e8b207;
}
.balloon-left .says{
  padding: 13px 20px;
  margin: 5px 0 0 90px;
  border-radius: 9px;
}
.balloon-right .says{
  padding: 13px 20px;
  margin: 5px 90px 0 0;
  border-radius: 9px;
}





.mainvisual{
  height: 565px;
}
.mainvisual .text{
  top: 20%;
  left: 8%;
}


.cp_actab label{
  font-size: 16px;
  padding: 20px 40px 20px 62px;
}
.cp_actab label::before{
  left: 26px;
}


.single #area-blog01{
  padding: 120px 0 50px;
}






.staff-list01 .item{
  width: 49%;
}
.staff-list01 .item:not(:nth-child(3n)){
  margin-right: 0;
}
.staff-list01 .item:not(:nth-child(2n)){
  margin-right: 2%;
}


.article-box02 .title{
  font-size: 16.5px;
}





  .service_item{
    width: 49%;
  }

  .service_item:not(:nth-child(3n)){
    margin-right: 0;
  }

  .service_item:not(:nth-child(2n)){
    margin-right: 2%;
  }



  .ggmap {
    padding-bottom: 280px;
  }



}/*解像度775px以下*/


/*--------------------------------------------------------
解像度767px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 767px){

.page-title{
  padding: 122px 0 48px;
}
.page-title .title_main{
  font-size: 25px;
}
.page-title .title_sub{
  font-size: 13px;
}


.inner-content2{
  width: 95%;
}



.font-effects1{
  font-size: 25px;
}

.font-effects3{
  font-size: 17px;
  width: 98%;
}


.content-titleA{
  font-size: 25px;
}

.content-titleB .main{
  font-size: 33px;
}


.design-btn01 a{
  padding: 18px 35px 17px;
  font-size: 15px;
}
.contact-btn input{
  padding: 18px 35px 17px;
  font-size: 16px;
}

.float-box03 .left-item,
.float-box04 .right-item{
  float: none;
  width: 100%;
  margin-bottom: 35px;
}
.float-box03 .right-item,
.float-box04 .left-item{
  float: none;
  width: 100%;
  text-align: center;
}



.flow-list01 .title{
  font-size: 17px;
  padding: 16px 30px 16px 70px;
}
.flow-list01 .title:before{
  font-size: 18px;
  top: 11px;
  left: 18px;
  width: 35px;
  height: 35px;
  line-height: 35px;
}
.flow-list01 .content{
  padding: 20px 28px;
}



.flow-list02 .item{
  padding: 30px;
}
.flow-list02 .item:not(:last-child){
  margin: 0 0 30px;
}
.flow-list02 .title{
  font-size: 18px;
  margin: 0 0 18px;
  border-bottom: solid 1px #47bb61;
}
.flow-list02 .no{
  width: 40px;
  margin-right: 10px;
}

.banner02 img{
  width: 300px;
}

.flow-list03 .item{
  padding: 20px 40px 20px;
}
.flow-list03 .item::before{
  left: 25px;
  font-size: 21px;
  width: 40px;
  height: 40px;
  line-height: 38px;
}

.point-list03 .item{
  padding: 25px 30px 26px;
}
.point-list03 .item .title{
  font-size: 17px;
  padding: 0 0 0 91px;
  margin: 0 0 18px;
}
.point-list03 .no{
  width: 70px;
  height: 60px;
  font-size: 12px;
}
.point-list03 .no .suuji{
  font-size: 26px;
}


.point-list04 .item .text{
  padding: 20px 25px 25px;
}
.point-list04 .item .title{
  font-size: 17px;
  padding: 17px 25px 16px 25px;
}



.check-list02 li{
  font-size: 19px;
  padding: 20px 20px 20px 16%;
  margin: 0px 0 16px;
}
.check-list02 .icon{
  width: 32px;
}


.firststep-box01-wrap{
  padding: 35px 15px;
}
.firststep-box01-wrap .title{
  font-size: 19px;
  margin: 0 0 22px;
}
.firststep-box01 .in{
  padding: 90px 20px 45px;
}
.firststep-box01 .text{
  padding: 25px 18px;
}
.firststep-box01 .text p{
  font-size: 15px;
}


.about-box01{
  display: block;
}
.about-box01 .image{
  width: 100%;
  height: 37vw;
}
.about-box01 .text{
  width: 100%;
  border-radius: 0;
}
.about-box01 .in{
  padding: 75px 22px 35px;
  text-align: center;
}


  .post-title{
    margin: 4px 0 12px;
    font-size: 19px;
  }

  table {
    font-size: 16px;
  }

  ol.normal-list1,
  ul.normal-list1 {
    font-size: 16px;
  }


.tab-label{
  font-size: 16px;
  padding: 15px 3px 13px;
}


.support-box01{
  padding: 80px 5% 60px;
}
.text-catch01 .marker.big{
  font-size: 22px;
}
.text-catch01 .marker{
  font-size: 17px;
}

.tel-box02,
.tel-box03{
  padding: 40px;
}
.tel-box02 .title{
  font-size: 20px;
  margin: 0 0 20px;
}
.tel-box03 .title{
  font-size: 20px;
}



.greetings-box .image{
  width: 80%;
  margin: 0 auto 60px;
}
.greetings-box .text{
  width: 100%;
}



.table-overview .h-cell{
  font-size: 17px;
  color: #47bb61;
  display: block;
  width: 100%;
  padding: 30px 10px 6px 15px;
  text-align: left;
}
.table-overview .d-cell{
  display: block;
  width: 100%;
  padding: 6px 10px 30px 15px;
}

.table-history .h-cell{
  font-size: 19px;
  color: #47bb61;
  display: block;
  width: 100%;
  padding: 30px 10px 7px 15px;
  text-align: left;
}
.table-history .d-cell{
  display: block;
  width: 100%;
  padding: 7px 10px 30px 15px;
}
.month-wrap:not(:last-child){
  margin-bottom: 15px;
}

.tel-box04 .left-item{
  width: 100%;
  padding: 0;
  border: none;
}
.tel-box04 .right-item{
  width: 100%;
  padding: 0;
}

.tel-box04 .btn-tel{
  margin: 10px 0 0;
  display: block;
}
.tel-box04 .btn-contact{
  display: inline-block;
  padding: 15px 37px;
}



.design-btn02 a{
  font-size: 15px;
  display: block;
  width: 330px;
  margin: auto;
}
.design-btn02 a:nth-child(2){
  margin-top: 18px;
  margin-left: auto;
}


.gallery{
  margin: 0 auto 15px !important;
}

.sns li {
  width: 32.66666%;
  margin: 0 0 1%;
}

.sns li:not(:last-child) {
  margin-right: 0%;
}

.sns li:not(:nth-child(3n)) {
  margin-right: 1%;
}




.footer-logo{
  text-align: center;
}
.footer-banner{
  width: 200px;
}
.turn-box02 .image{
  width: 200px;
}
  .attention {
    padding: 20px 30px;
    text-align: left;
  }






  .pc{
    display: none;
  }

  .sp{
    display: block;
  }

  .max767-none{
    display: none;
  }





.gallery-columns-5 .gallery-item{
  width: 49%;
  margin-bottom: 10px;
}
.gallery-columns-5 .gallery-item:not(:nth-of-type(5n)){
  margin-right: 0%;
}
.gallery-columns-5 .gallery-item:nth-of-type(even){
  margin-left: 2%;
}




}/*解像度767px以下*/


/*--------------------------------------------------------
解像度660px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 660px){



.single-column .inner-content2 h2{
  font-size: 18px;
  padding: 17px 18px;
  border-left: solid 7px #277d3a;
}
.single-column .inner-content2 h3{
  font-size: 18px;
  padding: 11px 18px 12px;
  border-left: 6px solid #ccc;
}
.single-column .inner-content2 h3::before{
  left: -6px;
  width: 6px;
}
.single-column .inner-content2 h4{
  font-size: 16px;
  border-bottom: double 6px #47bb61;
}
.single-column .inner-content2 h5{
  padding: 11px 15px 10px;
}






.gallery{
  width: 80%;
}

#area-about01{
  padding: 60px 0;
}
#area-about02{
  padding: 60px 0;
}
#area-about03{
  padding: 60px 0;
}
#area-about04{
  padding: 60px 0;
}

#area-flow01{
  padding: 40px 0;
}
#area-flow02{
  padding: 60px 0;
}

#area-faq01{
  padding: 40px 0;
}
#area-faq02{
  padding: 60px 0;
}

#area-system01{
  padding: 60px 0;
}
#area-system02{
  padding: 60px 0;
}
#area-system03{
  padding: 60px 0;
}
#area-system04{
  padding: 60px 0;
}

#area-recruit01{
  padding: 40px 0;
}
#area-recruit02{
  padding: 60px 0;
}
#area-recruit03{
  padding: 60px 0;
}
#area-recruit04{
  padding: 60px 0;
}
#area-recruit05{
  padding: 60px 0;
}
#area-recruit06{
  padding: 60px 0;
}

#area-information01{
  padding: 60px 0;
}
#area-information02{
  padding: 60px 0;
}
#area-information03{
  padding: 60px 0;
}

#area-reservation01{
  padding: 60px 0;
}
#area-reservation02{
  padding: 60px 0;
}

#area-cast01{
  padding: 60px 0;
}
#area-cast02{
  padding: 60px 0;
}





.article-box02 .title{
  font-size: 15px;
  margin: 9px 0 3px;
}









.inner-content{
  width: 97%;
  padding: 30px 25px 30px;
}
.inner-content .title{
  font-size: 16px;
  background-color: #47bb61;
  position: static;
  padding: 15px 20px 15px;
  margin: 0 0 20px;
  transform: none;
}
.inner-content .title .text{
  transform: none;
}
.inner-content .title br{
  display: none;
}

.inner-content2{
  width: 99%;
  padding: 5% 3%;
}


.cp_actab{
  margin: 7px auto;
}
.cp_actab label{
  font-size: 15px;
  padding: 18px 40px 18px 55px;
}
.cp_actab label::before{
  font-size: 21px;
  left: 21px;
}


.comment-list .item::before{
  left: 0px;
  font-size: 18px;
  width: 41px;
  height: 41px;
  line-height: 43px;
}


#area-page01{
  padding: 60px 0;
}
#area-column01{
  padding: 40px 0;
}

.double-box01 .left{
  padding: 40px;
}
.double-box01 .right{
  padding: 40px;
}



.font-effects1{
  font-size: 20px;
}
.content-titleA .text{
  font-size: 20px;
  padding: 18px 40px;
}




.content-titleB{
  margin: 0 0 25px;
}
.content-titleB .main{
  font-size: 27px;
}
.font-effects4 .text{
  font-size: 23px;
}









.drawer-nav-in{
  width: 99%;
  margin: 70px auto;
}


.font-effects3{
  font-size: 16px;
  width: 100%;
}


.check-list02 li{
  font-size: 18px;
}
.check-list02 .icon{
  width: 30px;
}


.flow-list01 .title{
  font-size: 16px;
  padding: 13px 24px 12px 60px;
}
.flow-list01 .title:before{
  font-size: 17px;
  top: 9px;
  left: 12px;
  width: 32px;
  height: 32px;
  line-height: 32px;
}



.check-list03{
  padding: 30px;
}



.flow-list02 .item{
  padding: 25px;
}
.flow-list02 .item:not(:last-child){
  margin: 0 0 25px;
}
.flow-list02 .title{
  font-size: 17px;
  padding: 0px 0px 6px 0px;
  margin: 0 0 16px;
}
.flow-list02 .no{
  width: 35px;
}

.banner01{
  margin: 40px 0 50px;
}



.business-box01 .item{
  height: 260px;
}


.action-list01 .item{
  padding: 40px 38px 40px 49px;
}
.action-list01 .item::before{
  font-size: 20px;
  width: 36px;
  height: 36px;
  line-height: 37px;
}
.action-list01 .big{
  font-size: 21px;
}

.inner-content3{
  padding: 40px 5%;
}


.footer-contact .btn a{
  padding: 12px 40px 12px;
  font-size: 14px;
}


  .pc{
    display: none;
  }
  .sp{
    display: block;
  }

}/*解像度660px以下*/

/*--------------------------------------------------------
解像度580px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 580px){

.single-column h1{
  font-size: 22px;
  margin-top: 10px;
  margin-bottom: 26px;
}


.mainvisual .text{
  left: 6%;
}

.mainvisual .title{
  font-size: 25px;
  margin: 0 0 16px;
}
.mainvisual .image{
  width: 350px;
  left: 0;
  right: -9px;
  bottom: -27.5px;
  margin: auto;
}

.page-title{
  padding: 116px 0 44px;
}
.page-title .title_main{
  font-size: 22px;
}


.title-wrap .title-name{
  font-size: 20px;
}

.gallery{
  width: 100%;
}


#area-top00A{
  padding: 80px 0 55px;
}
#area-top00B{
  padding: 40px 0;
}
#area-top00C{
  padding: 50px 0;
}

#area-top02{
  padding: 55px 0;
}
#area-top03,
#area-top04{
  padding: 55px 0;
  margin: 20px 0 0;
}

#area-top05,
#area-top06,
#area-top07,
#area-top08,
#area-top09{
  padding: 50px 0;
}
#area-top10{
  padding: 100px 0 100px;
}



#area-single01{
  padding: 100px 0 55px;
}





#header{
  padding: 13.1px 0;
}

.logo img{
  width: 145px;
}

.about-nav a{
  width: 70px;
  height: 70px;
  right: 141.5px;
}
.recruit-nav a{
  width: 70px;
  height: 70px;
  right: 71px;
}
.drawer-icon{
  width: 70px;
  height: 70px;
}





.article-box01 .title{
  font-size: 15px;
}


.article-box02 .thumb{
  float: none;
  width: 100%;
  margin: 0 0 18px;
  text-align: center;
}
.article-box02 .text{
  float: none;
  width: 100%;
}






.content-titleA .text{
  font-size: 18px;
  padding: 18px 30px;
}

.font-effects4 .text{
  font-size: 21px;
}
.font-effects5{
  font-size: 16px;
}

.inner-content .title{
  font-size: 15px;
}

.drawer-menu a{
  font-size: 18px;
}
.drawer-menu label{
  font-size: 18px;
}
.drawer-menu label::after{
  top: 3px;
  font-size: 22px;
  width: 30px;
  height: 30px;
}


.drawer-menu{
  margin: 0 0 25px;
}
.drawer-menu a{
  margin: 1.5px;
  box-shadow: 1px 1px 0px 0px #318c30;
}
.drawer-link li{
  width: auto;
  margin: 0 3px 7px;
}


.comment-list .item::before{
  top: 50%;
  transform: translatey(-50%);
  left: 15px;
  font-size: 16px;
  width: 37px;
  height: 37px;
  line-height: 39px;
}

.cp_actab label{
  padding: 16px 40px 16px 47px;
}
.cp_actab label::before{
  font-size: 20px;
  left: 16px;
}
.cp_actab label::after{
  font-size: 25px;
  right: 15px;
}
.cp_actab .cp_actab-content p{
  margin: 20px 26px;
}



.point-list03 .item{
  padding: 22px 25px 25px;
}
.point-list03 .item .title{
  font-size: 16px;
  padding: 0 0 0 70px;
  margin: 0 0 16px;
}
.point-list03 .item p{
  font-size: 15px;
}
.point-list03 .no{
  left: 12px;
  width: 65px;
  height: 55px;
}


.point-list04 .item .title{
  font-size: 16px;
  padding: 15px 25px 14px 25px;
}
.point-list04 .item .title br{
  display: none;
}

.point-list04 .item p{
  font-size: 15px;
}

.about-box01 .text{
  padding: 18px;
}

.banner02 img{
  width: 200px;
}
.banner02 a:nth-child(3) img{
  width: 202px;
}


.flow-list03 .item::before{
  left: 21px;
  font-size: 19px;
  width: 37px;
  height: 37px;
  line-height: 36px;
}
.flow-list03 p{
  font-size: 18px;
}

.contact-link li:not(:last-child){
  margin-bottom: 12px;
}



.check-list02 li{
  font-size: 17px;
  padding: 20px 20px 20px 9%;
}
.check-list02 .icon{
  width: 26px;
}

.check-list03{
  padding: 24px;
}
.check-list03 li{
  padding-left: 29px;
  font-size: 15px;
}
.check-list03 .icon{
  width: 19px;
}

.slide-pc{
  display: none;
}

.slide-sp{
  display: block;
}


.comment-list .item:not(:nth-child(3n)){
  margin-bottom: 15px;
}



.tab-label{
  padding: 14px 3px 12px;
}

.support-box01 .list .item {
  font-size: 19px;
  width: 100%;
}
.support-box01 .list .item:nth-of-type(even){
  margin-left: 0;
}


.greetings-box .image{
  width: 90%;
  margin: 0 auto 40px;
}

.tel-box04 .btn-tel{
  font-size: 30px;
}


  p,
  table,
  .number-list1 li,
  .design-list2 li{
    font-size: 15px;
  }

  ol.normal-list1,
  ul.normal-list1{
    font-size: 15px;
  }

.contact-box p{
  font-size: 15px;
}


  .normal-list1 li{
    margin: 0 0 2px;
  }


  .check-list li {
    font-size: 15px;
    padding: 9px 0 9px 35px;
    border-bottom: 1px dotted #ccc;
  }
  .check-list li::before{
    top: 11px;
    font-size: 12px;
  }


  .point_item::before {
    top: -6px;
    left: -7px;
    border: solid 2px #A32026;
    font-size: 16px;
    width: 28px;
    height: 28px;
    line-height: 28px;
  }


  .point-catch p{
    font-size: 16px;
  }
  .point-text{
    font-size: 15px;
  }



.single-link a{
  font-size: 14px;
  padding: 13px 15px;
  margin: 0 5px;
  border: solid 1px #47bb61;
}



.inner-content3 p{
  font-size: 15px;
  font-weight: normal;
}

.about-box01 .text p{
  font-weight: normal;
}
.firststep-box01 .text p{
  font-weight: normal;
}
.firststep-box01-wrap{
  padding: 35px 10px;
  margin: 0 0 30px;
}
.firststep-box01-wrap .title{
  font-size: 17px;
}





  .single #main h2 {
    font-size: 22px;
    padding: 10px 17px;
    border-left: solid 5px #47bb61;
  }

  .single #main h3 {
    font-size: 20px;
    padding: 7px 8px;
    border-bottom: solid 3px #47bb61;
  }





  .post-title{
    margin: 4px 0 5px;
    font-size: 15px;
  }


  .reserve-box{
    padding: 40px 25px;
  }

  .reserve-box h2{
    font-size: 22px;
  }




  .design-btn a{
    font-size: 16px;
  }



  .area-links{
    display: none;
  }
  .area-sns{
    width: 100%;
    text-align: center;
  }




  .textalign-center-responsive{
    text-align: left;
  }


  .big1{
    font-size: 17px;
  }
  .big2{
    font-size: 18px;
  }





  .attention{
    padding: 20px 20px;
  }


  #page-top img{
    width: 45px;
  }

.faq-list01 .content{
  text-align: center;
}
.faq-list01 br{
  display: block;
}

  .ggmap {
    padding-bottom: 250px;
  }

.footer-nav a{
  font-size: 14px;
  font-weight: normal;
  padding-left: 15px;
}
.footer-nav a::before{
  font-size: 10px;
  left: 0px;
}

.footer-info{
  text-align: center;
}
.footer-nav li:not(:last-child) {
    margin: 0 0 8px;
}


.small2{
  font-size: 13px;
}







.footer-contact .btn{
  text-align: center;
}
.footer-contact .btn a{
  display: block;
  width: 100%;
}
.footer-contact .btn .line{
  margin: 0 0 8px 0;
}


.footer-nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-nav .list{
  width: 49.5%;
}
.footer-nav li{
  display: block;
}


.footer-copyright p{
  text-align: center;
}



}/*解像度580px以下*/

/*--------------------------------------------------------
解像度480px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 480px){

.single-column h1{
    font-size: 20px;
}

.balloon-left .says{
  padding: 13px 15px;
  border-radius: 8px;
}
.balloon-right .says{
  padding: 13px 15px;
  border-radius: 8px;
}





.mainvisual{
  height: 540px;
}
.mainvisual .text{
  top: 18%;
}
.mainvisual .image{
  width: 325px;
  bottom: -26px;
}

#header{
  padding: 10.6px 0;
}
.logo img{
  width: 135px;
}

.about-nav a{
  width: 62px;
  height: 62px;
  right: 125.5px;
  padding: 6px 4px;
}
.recruit-nav a{
  width: 62px;
  height: 62px;
  right: 63px;
  padding: 6px 4px;
}
.drawer-icon{
  width: 62px;
  height: 62px;
}
.drawer-icon-parts,
.drawer-icon-parts:before,
.drawer-icon-parts:after{
  width: 33px;
}

.main-image{
  padding-top: 62px;
}

.content-titleA .text{
  font-size: 17px;
  padding: 15px 30px;
  box-shadow: 3px 3px 0px 0px #318c30;
}
.content-titleA .text:after{
  margin-left: -13px;
  border: 13px solid transparent;
  border-top: 11px solid #68c742;
}
.content-titleA .text:before{
  margin-left: -13px;
  border: 13px solid transparent;
  border-top: 11px solid #318c30;
}


.page-title{
  padding: 106px 0 40px;
}
.page-title .title_main{
  font-size: 20px;
}

.point-list03 .item .title{
  padding: 0 0 0 62px;
}
.point-list03 .no{
  left: 11px;
  width: 60px;
  height: 55px;
}


.comment-list .item::before{
  width: 35px;
  height: 35px;
  line-height: 37px;
}

.contact-link a{
  padding: 10px 30px 10px;
}
.contact-link li:not(:last-child){
  margin-bottom: 9px;
}
.flow-list01 .item:not(:last-child){
  margin: 0 0 30px;
}
.flow-list01 .content{
  padding: 20px 24px;
}


.flow-list02 .title{
  font-size: 16px
}


.flow-list03 p{
  font-size: 17px;
}
.flow-list03 .item{
  padding: 20px 30px 20px;
}
.flow-list03 .item::before{
  top: 6px;
  left: -9px;
}


.check-list02 li{
  font-size: 15px;
  padding: 18px 10px 18px 15px;
  margin: 0px 0 10px;
}
.check-list02 .icon{
  width: 20px;
  margin-right: 8px;
}


.firststep-box01-wrap{
  padding: 35px 7px;
}
.firststep-box01 .text{
  padding: 25px 12px;
}


.double-box01 .title{
  font-size: 17px;
  margin: 0 0 15px;
}
.double-box01 .left{
  padding: 32px;
}
.double-box01 .right{
  padding: 32px;
}
.double-box01 p{
  font-size: 14px;
}

.tel-box01{
  padding: 30px 35px;
}
.tel-box01 a,
.tel-box01 span{
  font-size: 28px;
}
.tel-box02,
.tel-box03{
  padding: 35px;
}
.tel-box02 .title,
.tel-box03 .title{
  font-size: 19px;
}


  .check-list li .red{
    margin-left: 10px;
  }

.action-list01 .item{
  padding: 35px 25px 35px 49px;
}
.action-list01 .big{
  font-size: 19px;
}


.design-btn02 a{
  width: 96%;
  padding: 17px 0 16px;
}


.single-link a {
  display: block;
  margin: 8px 0;
}



.contact-fixed,
.line-fixed{
  font-size: 15px;
}
.contact-fixed img,
.line-fixed img{
  width: 21px;
}




}/*解像度480px以下*/


/*--------------------------------------------------------
解像度420px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 420px){

.mainvisual .text{
  left: 4%;
}

.mainvisual .title{
  font-size: 22px;
  padding: 6px 10px 8px 16px;
  box-shadow: 4px 4px 0px 0px #47bb61;
}
.mainvisual .item{
  box-shadow: 3px 3px 0px 0px #47bb61;
}
.mainvisual .item br{
  display: block;
}


.comment-list .item{
  display: block;
  text-align: left;
  padding: 20px 20px 20px 75px;
}

.attention2{
  padding: 30px 25px;
}


.article-box01 .title-size{
  font-size: 13px;
}


}/*解像度420px以下*/

/*--------------------------------------------------------
解像度380px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 380px){




.design-btn01 a{
  font-size: 14px;
}






.tab-label{
  font-size: 14.5px;
  padding: 12px 3px 10px;
}

.business-box01 .text{
  font-size: 19px;
}

.point-list01 .item{
  padding: 24px 18px;
  border: solid 3px #47bb61;
}
.point-list01 .item .title{
  font-size: 18px;
  padding: 0 0 0 39px;
}
.point-list01 .item::before{
  left: 22px;
  font-size: 33px;
}



.sns li {
  width: 49%;
  margin: 0 0 2%;
}

.sns li:not(:nth-child(3n)) {
  margin-right: 0%;
}

.sns li:nth-child(odd) {
  margin-right: 2%;
}


.footer-copyright p{
  font-size: 13px;
}


.contact-fixed,
.line-fixed{
  font-size: 14px;
}


}/*解像度380px以下*/


/*--------------------------------------------------------
解像度340px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 340px){

#header{
  padding: 12px 0;
}
.logo img{
  width: 120px;
}

.about-nav a{
  width: 60px;
  height: 60px;
  right: 121.5px;
}
.recruit-nav a{
  width: 60px;
  height: 60px;
  right: 61px;
}
.drawer-icon{
  width: 60px;
  height: 60px;
}


}/*解像度340px以下*/


