@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Rubik&display=swap');

.animation-bg {
  background: #fff;
  content: "";
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  animation-name: Page-fadeOut;
  animation-duration: 0.5s;
  animation-delay: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  pointer-events: none;
}
 
@keyframes Page-fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}


.fadein-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.5s 0s ease-out;
}

.fadein {
   opacity: 0;
   transition: all 0.7s 0.4s ease-in-out;
 }

.fadein-late {
   opacity: 0;
   transition: all 1s 0s ease-out;
 }
.fadein:nth-of-type(2n) {
    transition-delay: 0.2s;
}

.fadein.isshow,
.blog-inner p.isshow,
.blog-inner img.isshow {
    opacity: 1;
}

.fadein-up.isshow {
  transform: translateY(0px);
  opacity: 1;
}

.grecaptcha-badge { 
    visibility: hidden; 
}

header {
    width: 100%;
    height: 12rem;
    position: relative;
}

.header_logo {
  width: 22rem;
  position: fixed;
  left: 2rem;
  top: 1.5rem;
  z-index: 10;
}

.home .header_logo_bg:before {
  content: "";
  width: 26rem;
  height: 7rem;
  background-color: rgba(255,255,255,0.5);
  position: absolute;
  top: 2.4rem;
  left: -2.5rem;
  box-shadow: 0rem 0rem 0.5rem 0.35rem rgba(28,17,17,0.20);
  z-index: -1;
  border-radius: 0.2rem;
}


.header_logo img {
    width: 100%;
}

.menuBox {
  position: fixed;
  top: 1.5rem;
  right:1%;
    height: 3.2rem;
  width: 3.2rem;
  cursor: pointer;
  z-index: 400;
}
.menuBox_inner {
  position: relative;
  transition: all .5s;
  cursor: pointer;
}

.menuBox_btn {
    position: relative;
}

.menuBox_btn span {
    position: absolute;
    display: block;
    width: 3.2rem;
    height: 0.15rem;
    background-color:#34424D;
}

.menuBox_btn span:nth-child(1) {
    top:1rem;
}

.menuBox_btn span:nth-child(2) {
    top:2rem;
}

.menuBox_btn span:nth-child(3) {
    top:3rem;
}


.menuBox_btn.close {
  opacity: 0;
}
/*drawer_contents Start*/
.drawer_nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 25rem;
    height: 100%;
    padding:2.5rem;
  background-color: #35424d;
  z-index: 500;
  display: none;
  opacity: 0;

}

 .drawer_nav::-webkit-scrollbar {
        display:none;
	}

.drawer_nav.open {
  transform: translateY(0%); 
}

.drawer_nav_scroll {
    display: flex;
    flex-direction: column;
    height: 100%;
    
}
.drawer_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding: 0rem;
    border-top: none;
    
}
.drawer_close_btn {
  width: 2.5rem;
  height: 2.5rem;
  transition: all .5s;
  cursor: pointer;
  position: relative;
}
.drawer_close_btn span {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 0.1rem;
    background-color: #ffffff;
  border-radius: 0.2rem;
  transition: all .5s;
}
.drawer_close_btn span:nth-of-type(1) {
  top: 1rem;
}
.drawer_close_btn.is_open span:nth-of-type(1) {
  transform: translateY(0.25rem) rotate(45deg);
}
.drawer_close_btn span:nth-of-type(2) {
  bottom: 1rem;
}
.drawer_close_btn span:nth-of-type(2) {
  transform: translateY(-0.20rem) rotate(-45deg);
}

.ulHmbMenu {
  margin-bottom: 0rem;
    margin-left: 0rem;

}
.ulHmbMenu > li {
  position: relative;
  padding: 1.5rem 3rem 1.5rem;
  font-size: 2.2rem;
  
}

.ulHmbMenu li a {
  padding-right: 2rem;
    color:#ffffff;
      
}


.menu_other {
    display: flex;
    margin-top: auto;
    justify-content:center;
    margin-bottom: 2.5rem;
}

.menu_other__icon {
     width: 3rem;
    height: auto;
    margin: 0rem 1rem;
}

.menu_other__icon img {
    width: 100%;
}

#page-top {
  position: fixed;
  bottom: 2.4rem;
  right: 2rem;
  font-size: 77%;
  z-index: 499;
}
#page-top a {
  background: #666;
  text-decoration: none;
  color: #fff;
    font-size:1.2rem;
    padding: 1.4rem;
  text-align: center;
  display: block;
  border-radius: 0.6rem;
}
#page-top a:hover {
  text-decoration: none;
  background: #999;
}

/*-------
side contents
----------*/

#contact_space {
    width: 16rem;
    padding: 1rem;
    position: fixed;
    top:50%;
    right: 0;
    transform: translateY(-50%);
    background-color:#35424d;
    z-index: 99;
    color:#ffffff;
    
}

#contact_space p {
    font-size: 1.4rem;
    margin:0 0 1.5rem;
    font-weight: 700;
    text-align: center;
}

#contact_space  p span {
    display: block;
}

.contact_box_contents {
    width: 90%;
    margin: 0 auto;
}

.contact_box_contentss div {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;

}

.contact_box_contents > div:first-child {
    margin-bottom: 1rem;
} 



.contact_box_contents span.txt {
    display: inline-block;
    width: 70%;
    font-size:1.5rem;
    font-weight: 600;
}

.contact_box_contents span.icon {
    display: inline-block;
    width: 24%;
}

.contact_box_contents span.icon img {
    width: 100%;
}


#breadcrumb {
    display: inline-block;
    margin:2rem 0 0 5rem;
    font-size:1.5rem;
    
}   
/*-------front-page-----*/



/*-------
key visual
----------*/

/*スクロールダウン全体の場所*/
.scrolldown {
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:1.5rem;
  left:50%;
    transform: translateX(-50%);
    animation:mousemove 1.6s ease-in-out infinite;
}

/*下からの距離が変化して上から下に動く*/
@keyframes mousemove{
      0%{bottom:1rem;}
      50%{bottom:0.5rem;}
     100%{bottom:1rem;}
 }

/*Scrollテキストの描写*/
.scrolldown span{
  position: absolute;
  left:50%;
    transform: translateX(-50%);
  bottom:7.5rem;
    /*テキストの形状*/
  color: #eee;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}

/*マウスの中の線描写 */
.scrolldown span::after{
  content: "";
  position: absolute;
  top:4rem;
    left:50%;
  transform: translateX(-50%);
  width: 0.1rem;
  height: 1.5rem;
  background: #eee;
  animation: mousepathmove 1.4s linear infinite;
  opacity:0;
}

/*上からの距離・不透明度・高さが変化して上から下に流れる*/
@keyframes mousepathmove{
  0%{
    height:0;
    top:1rem;
    opacity: 0;
  }
  50%{
    height:15px;
    opacity: 1;
  }
  100%{
    height:0;
    top:30px;
    opacity: 0;
  }
}

/*マウスの描写 */
.scrolldown:before {
    content: "";
    position: absolute;
    bottom:3rem;
    left:50%;
    transform: translateX(-50%);
  width:2.8rem;
  height:3.7rem;
  border-radius: 1rem;
  border:1px solid #eee;
}


/*マウスの中の丸の描写*/
.scrolldown:after{
  content:"";
  position: absolute;
  bottom:5.5rem;
  left:50%;
    transform: translateX(-50%);
  width:0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  border:0.1rem solid #eee;
}


/*========= レイアウトのためのCSS ===============*/


.key_visual_ttl {
  position: absolute;
    width: 100%;
  top: calc(50% - 12rem);
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color:#fff;
    font-family: 'Rubik';
    font-size:5vw;
    font-size:clamp(5rem , 5vw , 9rem);
    letter-spacing: 2.5px;
  text-shadow: 0.2rem 0.2rem 1.5rem #666;
  text-align: center;
    z-index:-1;
}

.key_visual_ttl span {
    display: block;
}

#key_visual{
  width:100%;
  height: 100vh;
  position: relative;
} 

#key_visual:before{
  content: '';
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100vw;
  height: 100vh;
  /*背景画像設定*/
  background:url("../img/key_visual.jpg") no-repeat center;
  background-size:cover;
}


/*container*/

.container{
  position: relative;
  z-index:1;
    background:#EDECE4;
    padding-top: 4rem;
    width: 100%;
    margin: 0 auto;
}

/*----about-----*/

/*---共通_タイトルのpadding、コンテンツとタイトル間のmargin*/

.ttl_set {
    padding: 6rem 0 0 5rem;
    width: 40%;
    max-width: 64rem;
    box-sizing: content-box;
}

.ttl_set img {
    display: block;
    width: 100%;
}

.ttl_margin_top {
  margin: 10rem auto 0;  
}



#about {
    width: 100%;
}

#about .about_bg {
    width: 100%;
    position: relative;
}


#about .about_bg:before {
    position: absolute;
    content: "";
    top:0;
    left:0;
    width: 80%;;
    max-width: 175rem;
    height:110rem; 
    z-index: -1;
    background-color: #DDDCC4;
    box-shadow: 0.2rem 0.2rem 0.9rem 0.3rem rgba(125,125,125,0.40);
}




.about_inner {
    width: calc(100% - 4rem);
    max-width: 120rem;
    
}



.aboout_head_txt {
    font-size:1.7rem;
    line-height: 1.6;
    padding-bottom: 2rem;
    position: relative;
    text-align: center;
}

.aboout_head_txt:after {
    content: "";
    display: block;
    position: absolute;
    width: 130%;
    height: 0.2rem;
    left:50%;
    transform: translate(-50%);
    bottom: 0;
    background-color: #35424D;
    border-radius: 1rem
}

.about_point_contents {
    margin-top: 5rem;
    box-shadow: 0.2rem 0.2rem 0.9rem 0.3rem rgba(11,16,18,0.30);
}

.about_point_contents.about_point_contents_first {
    margin-top: 8rem;
}

.about_point_contents .point_bg_b {
    background-color: #34424D;
}

 .about_point_contents .point_color_b {
    color:#34424D;
}

.about_point_contents .point_bg_w {
    background-color: #ffffff;
}

.about_point_contents .point_color_w  {
    color: #ffffff;
}

.about_point_list {
    width: 100%;
    display: flex;
    align-items: stretch;
    
}

.about_point_list_txt {
    width: 77%;
    padding: 1.5rem 1.5rem 2rem 3rem;
}


.about_point_list .point_title {
    width: 15%;
    max-width:11rem;
    margin-bottom: 2.5rem;
}

.about_point_list .point_title img {
    width: 100%;
}

.about_point_list .point_sentence {
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.about_point_list .point_sentence img {
    display: inline-block;
    width: 3.5rem;
    width: clamp(1.6rem, 2.7vw, 3.5rem);
    margin-right: 1.5rem;
}

.about_point_contents_first .about_point_list .point_sentence .txt {
    font-size: clamp(1.6rem, 2.1vw, 2.7rem);
}


.about_point_list .point_sentence .txt {
    display: inline-block;
    font-size:2.4rem;
    font-size: clamp(1.6rem, 2.4vw, 2.7rem);
    font-family: "source-han-sans-japanese-S"
}


.about_point_list .about_point_list_img {
    width: 23%;
    position: relative;
  overflow: hidden;
}


.about_point_list .about_point_list_img img {
    width: 100%;
    position: absolute;
}

.about_point_list .arrow_w {
    width: 100%;
    text-align: center;
    margin-top: 2.5rem;
}
.about_point_list .arrow_w img {
    display: inline-block;
    width: 3rem;
    cursor: pointer;
    transition: 0.5s;
}

.about_point_list.is-open .arrow_w img {
    transform: rotate(180deg);
} 

.about_point_list_box_outer {
    display: none;
}


.about_point_contents .about_point_list_box {
    width: 100%;
    padding: 5rem 4rem;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.about_point_contents .about_point_list_box  img {
    display: block;
    width:  15%;
    margin-right: 1.5rem;
}
     

.about_point_contents .about_point_list_box  img.single_img {
    width: 10%;
}

.about_point_contents .about_point_list_box .txt {
    font-size:1.65rem;
    line-height: 1.6;
    display: flex;
     font-family: "source-han-sans-japanese-R"
}

/*-----plans------*/

#plans {
    width: 100%;
    margin: 25rem auto 0;
}

#plans .ttl_set {
    max-width: 43rem;
}

.plans_inner {
    width: calc(100% - 4rem);
        max-width: 140rem;
}

.plans_contents {
    margin-top: 14rem;
}

.plans_contents:first-child {
    margin-top: 0;
}

.plans_contents.plan_1 {
    margin-top: 0;
}

.plans_contents_inner {
    display: flex;
    
}

.plans_contents_txt {
    width: 45%;
    flex:0 1 560px;
    margin-right: 3%;
    padding: 4rem 2.5rem 2rem;
    background-color: #ffffff;
    position: relative;
}

.plans_contents_txt:after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left:1.5rem;
    bottom:-1.5rem;
    background-color: #35424D;
    z-index: -1;
}

.plans_contents__ttl {
    width: 100%;
    padding: 0 5% 2.5rem;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 0.2rem solid #707070;
}

/*
.plans_4 .plans_contents__ttl {
    padding: 0 2% 2.5rem;
}
*/

.plans_contents__ttl .img {
    width: 15%;
    margin-right: 1.6rem;
    display: flex;
    justify-content: center;
}

.plans_contents__ttl .img img {
    width: 100%;
}

.plans_contents__ttl .ttl {
    font-family:"source-han-sans-japanese-B";
    font-size:3.7rem;
    font-size: clamp(1.6rem, 2.9vw ,3.7rem);
    color:#35424D;
    text-align: center;
    line-height: 1.3;
}


.plans_4 .plans_contents__ttl .ttl {
    font-size:3rem;
        font-size: clamp(1.6rem, 2.9vw ,3.4rem);
}

.plans_contents__ttl .comment {
    display: block;
    font-family:"source-han-sans-japanese-M";
    font-size:1.9rem;
    font-size: clamp(1.3rem, 1.6vw ,1.8rem)
}

.plans_contents__list {
    width: 100%;
    margin-top: 3rem;
}

.plans_contents__list ul {
    padding:0
}

.plans_contents__list ul li {
    padding-left: 2.3rem;
    font-size:clamp(1.5rem, 1.15vw, 1.8rem);
    font-family: "source-han-sans-japanese-R";
    position: relative;
    margin-bottom: 2rem;
}

.plans_contents__list ul li:last-child {
    margin-bottom: 0;
}

.plans_contents__list ul li:before {
      position: absolute;
  content: "\f14a";
  font-family: 'font Awesome 5 free';
  font-weight: 400;
/*  color: #9D937D;*/
    color:#C5B99D;
  left: 0%;
  top: 50%;
  transform: translateY(-50%);
}

.plans_contents_img {
    width: 52%;
/*    height: 360px;後で修正*/
    overflow: hidden;
}

.plans_contents_img img {
    width: 100%;
}

.plans_target {
    width: 100%;
    padding: 0 12.5%;
    margin-top: 6rem;
    text-align: center;
    
}

.plans_target .ttl {
    padding-bottom: 2rem;
    font-size:3.2rem;
    font-family:"source-han-sans-japanese-S"; 
    color:#35424D;
    
}

.plans_target .ttl em {
    font-style: normal;
    position: relative;
    display: inline-block;
    padding: 0 4.5rem;
}


.plans_target .ttl em:before , .plans_target .ttl em:after {
              position: absolute;
  content: "\f550";
  font-family: 'font Awesome 5 free';
  font-weight: 700;
  font-size: 2.2rem;
  color: #9D937D;
  left: 0%;
  top: 53%;
  transform: translateY(-50%);
}

.plans_target .ttl em:after {
    left: initial;
    right: 0;
    transform: translateY(-50%) rotate(180deg);
}


.plans_target .ttl span {
    display: block;
    font-size:1.7rem;
    font-family: initial;
    margin-top: 0.5rem;
}

.plans_target_contents {
    width: 100%;

}

.plans_target_contents ul {
    width: 100%;
        display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    padding: 2rem 5rem;
    border-top: 0.1rem solid #707070;
    border-bottom: 0.1rem solid #707070;
}

.plans_2 .plans_target_contents ul {
    padding: 2rem ;
}


.plans_target_contents ul li {
    width: 50%;
    padding-left: 3rem;
    margin-bottom: 1.5rem;
    font-size:1.8rem;
    text-align: left;
    position: relative;
}

.plans_target_contents ul li:nth-child(n+3) {
    margin-bottom: 0;
}

.plans_target_contents ul li:before {
          position: absolute;
  content: "\f058";
  font-family: 'font Awesome 5 free';
  font-weight: 400;
  font-size: clamp(1.3rem, 1.6vw, 2rem);
  color: #C5B99D;
  left: 0%;
  top: 50%;
  transform: translateY(-50%);
}

/*----photo_line---*/

#photo_line {
    width: calc(100% - 5rem);
    margin: 15rem auto 0;
}

#photo_line .ttl_set , #photo_line_2 .ttl_set{
  max-width: 32rem;
}

.photo_line_inner {
    width: 100%;
max-width: 198rem;
}

.photo_main.position_l {
    width: calc(33% - 0rem);
    margin: 0;
}

.photo_main.position_c {
    width: calc(27% - 2rem);
    margin: -15% auto 0;

}

.photo_main.position_r {
    width: calc(27% - 2rem);
    margin: -20% 5% 0 auto;
}

#photo_line_2 {
    width: calc(100% - 10rem);
    margin: 20rem auto 0;    
}

#photo_line_2 .photo_main.position_l {
    width: calc(33% - 2rem);
    margin: -5% 0 0;

}

#photo_line_2 .photo_main.position_c {
    width: calc(33% - 2rem);
    margin: -0% auto 0;

}

#photo_line_2 .photo_main.position_r {
    width: calc(33% - 2rem);
    margin: -15% 0% 0 auto ;
}


.photo_main img {
    width: 100%;
}

.blog-wrap {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
}



/*-----facilities----*/

#facilitie {
    width: 100%;
    margin-top: 20rem;
}

.facilitie_bg {
    background:url("../img/facilities_bg.jpg") no-repeat center;
     background-size:cover;
    padding-bottom: 13rem;
    position: relative;
    z-index: -1;
}


#facilitie .ttl_set {
    max-width: 57rem;
}

.facilitie_inner {
    width: 100%;
    max-width: 128rem;
/*    z-index: 2;*/
}

.facilitie_contents {
    margin: 0 auto;
    width: calc(100% - 4rem);
}

.facilitie_catch_ttl {
    text-align: center;
}

.facilitie_catch_ttl span {
    display: inline-block;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    font-size:2.8rem;
    color:#35424D;
    font-family: "source-han-sans-japanese-B";
    position: relative;
    z-index: 1;
}

.facilitie_catch_ttl span:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 110%;
    background-image: linear-gradient(55deg, rgba(205, 149, 87, 1.0), rgb(242, 213, 123 , 1.0));
    height: 0.8rem;
    border-radius: 2rem;
    z-index: -1;
}


.facilitie_icon_list {
    margin: 8rem auto 0;
    width: 98%;
    display: flex;
    justify-content: space-around;
}

.facilitie_icon_list .icon {
    width: 13%;
    display: flex;
    text-align: center;
    flex-direction: column;
    align-items: stretch;
} 

.facilitie_icon_list .icon img {
    display: block;
    margin-bottom: 3rem;
    padding: 0 1rem;
}

.facilitie_icon_list .icon span {
    display: block;
    margin-top: auto;
    font-size:2.4rem;
    font-size:clamp(2rem , 1.4vw , 2.2rem);
    color:#35424D;
    font-family: "source-han-sans-japanese-S"
}

.facilitie_icon_list .icon:nth-child(7) span {
    font-size:clamp(1.6rem , 2.4vw , 1.8rem);
}

/*----trainer----*/

#trainer {
    margin:20rem auto 0;
    width: 100%;
}

.trainer_inner {
    width: 100%;
}

.trainer_inner_bg.trainer_kato {
    width: 90%;
    max-width: 150rem;
    background-color: #DDDCC4;
    padding-bottom: 8rem;
    margin-right: auto;
    box-shadow: 0.1rem 0.1rem 0.6rem 0rem rgba(125,125,125,0.40);
}

.trainer_inner_bg.trainer_mochitomi {
    width: 90%;
    max-width: 150rem;
    background-color: #DDDCC4;
    padding: 8rem 0;
    margin: -3% 0 0 auto;
    box-shadow: 0.1rem 0.1rem 0.6rem 0rem rgba(125,125,125,0.40);
}


.trainer_contents {
    width: calc(100% - 5rem);
    max-width: 128rem;
    margin-left: 3rem;
    display: flex;
    align-items:flex-start;
}

.trainer_img {
    width:40%;
    margin-right: 3%;
     box-shadow: 0.2rem 0.2rem 0.9rem 0.3rem rgba(94, 82, 70, 0.4);
}

.trainer_mochitomi .trainer_contents {
    margin-left: auto;
    margin-right: 3rem;
}

.trainer_mochitomi .trainer_img {
    margin-right: 0%;
    margin-left:3%;
   
}

.trainer_img img{
    width: 100%;
}

.trainer_detail {
    width: 57%;
    flex-shrink: 0;
}

 
.trainer_detail .catch {
    font-size:2.4rem;
    font-size:clamp(1.5rem , 2.1vw , 2.4rem);
    font-family: "source-han-sans-japanese-B";
    text-align: center;
    color:rgba(205, 149, 87, 1);
    padding-bottom: 1.5rem;
    border-bottom: 0.1rem solid #707070;
} 

.trainer_detail .name {
    font-size:2.8rem;
    font-family: "source-han-sans-japanese-M";
    text-align: center;
    padding: 1.6rem 2rem;
    border-bottom: 0.1rem solid #707070;
}

.trainer_detail .name span {
    display: block;
    font-size:1.7rem;
    font-family: "source-han-sans-japanese-R";
    font-weight: 400;
}

.trainer_detail .carrer {
    padding: 2rem;
    border-bottom: 0.1rem solid #707070;
}

.trainer_detail dl dt {
    font-size:1.85rem;
    font-family: "source-han-sans-japanese-M";
    position: relative;
    padding-left: 2.5rem;
    margin: 1.5rem auto;
}


.trainer_detail dl dt:first-child {
    margin-top: 0;
}

.trainer_detail  dl dt:before {
          position: absolute;
  content: "\f192";
  font-family: 'font Awesome 5 free';
  font-weight: 700;
  font-size: clamp(1.3rem, 1vw, 1.8rem);
  color: #35424D;
  left: 0%;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.trainer_detail .message {
    padding: 2rem;
}

.trainer_detail dl dd span {
    font-size:1.8rem;
}
.trainer_detail  dl dd {
    font-size:1.5rem;
    line-height: 1.5;
    letter-spacing: 0.1rem;
    padding-left: 0.5rem;
}

/*----price----*/

#price {
    width: 100%;
    margin-top: 15rem;
}

#price .ttl_set {
    max-width: 43rem;
}

.price_inner {
    width: calc(100% - 2rem);
    max-width: 100rem;
}

.price_contents {
    margin: 0 auto;
    width: 100%;;
}

.price_catch_ttl {
    text-align: center;
}

.price_catch_ttl span {
    display: inline-block;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    font-size:2.2rem;
    font-family: "source-han-sans-japanese-B";
    position: relative;
    z-index: 1;
}

.price_catch_ttl span:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 110%;
    background-image: linear-gradient(55deg, rgba(205, 149, 87, 1.0), rgb(242, 213, 123 , 1.0));
    height: 0.8rem;
    border-radius: 2rem;
    z-index: -1;
}


.price_system {
    width: 100%;
    max-width: 100rem;
    margin-top: 7rem;
}

.price_system.top {
    margin-top: 10rem;
}

.price_system dl dt {
    background-color: #35424D;
    color:#ffffff;
    font-family: "source-han-sans-japanese-B";
    font-size:2.2rem;
    text-align: center;
    padding: 1.7rem 0;
    position: relative;
}

.price_system dl dt em {
    width: 18%;
    display: inline-block;
    text-align: right;
    padding-right: 6rem;
    margin-left: auto;
    position: absolute;
    right: 0;
    top:50%;
    transform: translateY(-50%);
}

.price_system dl dt em img {
    width: 100%;
    font-weight: 700;
}

.price_system dl dt .open_icon__plus {
    display: inline-block;
    position: absolute;
    margin-right: 2rem;
    right: 0%;
    top:50%;
    transform: translateY(-50%);
    width: 2.5rem;
	height: 2.5rem;
    padding: 1rem;
    cursor: pointer;
}

.price_system dl dt div span {
   display: inline;
    position: absolute;
    left: 0;
    top:50%;
    transform: translateY(-50%);
  width: 100%;
  height: 0.2rem;
  background-color: #FFFFFF;
  border-radius: 0.2rem;
  transition: all 0.2s;
}

.price_system dl dt div span:nth-child(2) {
    transform: rotate(90deg);
}

.price_system dt.is-open div span:nth-child(2) {
	opacity: 0;
}

.price_system .open_detail {
    display: none;
} 

.price_system .summary {
    width: 100%;
    background-color: #ffffff;
    display: flex;
    border:0.1rem solid #35424D;
    font-size:2rem;
    font-family: "source-han-sans-japanese-S";
    text-align: center;
}

.price_system .summary span {
    flex:1 1 auto;
    border-right: 0.1rem solid #35424D;
    padding: 2rem 0;
}

.price_system .summary small {
    font-family: "source-han-sans-japanese-R";
}

.price_system .summary em {
    flex: 2 1 auto;
    padding: 2rem 0;
    font-style: normal;
    font-size: 2.2rem;
}

.price_system .summary span:last-child {
    border-right:none;
}

.price_system .open_detail {
    padding: 5rem 8rem;
    background-color: #F0F0F0;
    border:0.1rem solid #35424D;
    border-top:none;
}

.price_system  .open_detail .detail {
    border-bottom: 0.1rem solid #35424D;
    padding:2.3rem 1.5rem;
}

.price_system  .open_detail .detail:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.price_system  .open_detail .detail_flex {
        display: flex;
    justify-content: space-between;
    align-items:baseline;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.price_system  .open_detail .detail_flex:last-child {
    margin-bottom: 0;
} 

.price_system  .open_detail .detail > em {
    margin-bottom: 1.5rem;
}

.price_system  .open_detail .detail p {
    font-size:1.6rem;
    line-height: 1.8;
}

.price_system  .open_detail .detail .detail_flex p {
            font-family: "source-han-sans-japanese-S";
}



.price_system  .open_detail .detail em {
    display: inline-block;
    font-style: normal;
    font-family: "source-han-sans-japanese-B";
    font-size:1.8rem;
    padding-left: 2.5rem;
    position: relative
}

.price_system  .open_detail .detail .detail_flex:last-child em , .price_system  .open_detail .detail > em:last-child {
        margin-bottom: 0rem;
}

.price_system  .open_detail .detail span {
    display: inline-block;
    font-size:1.4rem;
    font-family: "source-han-sans-japanese-R";
    margin: 1.5rem 0 0 1.5rem;
}

.price_system  .open_detail .detail em:before {
          position: absolute;
  content: "\f192";
  font-family: 'font Awesome 5 free';
  font-weight: 700;
  font-size: clamp(1.3rem, 1vw, 1.6rem);
  color: #35424D;
  left: 0%;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}


.price_system .open_detail .detail .detail_flex p strong {
        font-family: "source-han-sans-japanese-B";
    font-size:2.2rem
}

.price_system  .open_detail .detail .detail_flex p strong small {
    font-family: "source-han-sans-japanese-R";
    display: inline-block;
}

.price_system .other {
  width: 100%;
  background-color: #ffffff;
   border: 0.1rem solid #35424D;
  font-size: 2rem;
  font-family: "source-han-sans-japanese-R";
  text-align: center;
    padding: 2rem;
}

.price_system .other p {
    font-size:1.5rem;
    margin:1rem 0 2.2rem;
}

.price_system .other span {
    font-size:1.8rem;
    font-family: "source-han-sans-japanese-S"
}

.card_img {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 40%;
    margin: 0 auto;
}

.card_img img {
    display: block;
    width: 20%;
    padding: 0 1rem;
}


#trial {
    width: 100%;
    margin-top: 15rem;
    position: relative;
}
 
#trial .ttl_set {
 max-width: 60rem
}
.trial_inner {
    width: calc(100% - 4rem);
    
}
.trial_contents {
    position: relative;
    z-index: 1;
}

.trial_contents_list {
    width: 100%;
    max-width: 110rem;
    display: flex;
    justify-content: space-between;
    margin: 3.5rem auto 0;
    
}

.trial_contents_list:first-child {
    margin-top: 0;
}

.trial_contents_list .img {
    width: 25%;
    display: none;/*imagen追加前*/
}

.trial_contents_list .img img {
    width: 100%;
}

.trial_contents_list .right__contents {
    width: 100%;/*imagen追加後75％*/
    padding: 4rem 3rem;
    background-color: #ffffff;
    border:0.1rem solid #707070;
    position: relative;
}

.trial_contents_list .right__contents .right__contents___ttl {
    font-size:2.6rem; /*imagen追加前*/
    font-family:"source-han-sans-japanese-S";
    color:#9D937D;
    margin-bottom: 3rem;
}

.trial_contents_list .right__contents .right__contents___txt {
    font-size:1.5rem;
    width: 90%;
    line-height: 1.5;
    
    
}

.trial_contents_list .right__contents .number_img {
    position: absolute;
    left:1rem;
    top:-2.5rem;
        width: 5rem;
    height: 5rem;
}


.trial_contact {
    margin-top: 12rem;
    text-align: center;
    z-index: 9;
}

.trial_contact .txt {
    max-width: 110rem;
    margin: 0 auto 2.5rem;
        font-size:3.5rem;
    color:#ffffff;
}

.trial_contact .txt span{
    display: block;

}

.trial_contact .img {
    width: 100%;
    max-width: 110rem;
    margin: 3.5rem auto 0;
}
.trial_contact .img img {
    width: 75%;
}


#bacground_img  .contents_bg_img {
    position: absolute;
    width: 100%;
    margin: 0 auto 0;
    z-index: -1;
    bottom:-40rem;
}

#bacground_img  .contents_bg_img img {
    width: 100%;
}

#more {
    width: 100%;
    margin-top: 26rem;
}

.more_inner {
    width: 100%;
    max-width: 110rem;
    margin: 0 auto;
    border-radius: 5rem;
    background-color: rgba(248,252,255,0.87);
    padding: 7rem 6rem;
}

.more_inner .ttl_set {
    padding: 0;
    width: 33%;
    max-width: 25rem
}

#more .ttl_margin_top {
    margin-top: 6rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.more_contents__box___list {
    width: 50%;
    margin-bottom: 5.5rem;
    padding: 0 2.5%;
}

.more_contents__box___list:nth-child(n+5) {
    margin-bottom: 0;
}

.more_contents__box___list .img {
    width: 100%;
}

.more_contents__box___list .img img {
    width: 100%;
}


.more_contents__box___list .txt {
    margin-top: 2rem;
}

/*----instagram-----*/

#instagram {
    margin-top: 8rem;
    width: 100%;
}

.instagram_bg {
    background: #DDDCC4;
}

.instagram_inner {
    width: calc(100% - 4rem);
    max-width: 100rem;
    margin: 0 auto;
}

.instagram_contents {
    padding: 8rem 0 10rem;
    margin: 0 auto;
}

.instagram_contents_ttl {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    
}
.instagram_contents_ttl img {
    display: block;
    width: 45rem;
    margin: 0 auto;
}

.instagram_contents_ttl img:last-child {
    width:25rem;
    margin-top: 2.5rem;
}

.instagram_contents .photo_tiles {
    margin-top: 5rem;
}


footer {
    width: 100%;
    z-index: 11;
    position: relative;
    }

    #access {
        z-index: 2;
    }


.footer_bg {
    background-color: #35424D
}

footer .ttl_set {
    max-width: 41rem
}

footer  .ttl_margin_top {
    margin-top: 12rem;;
}
.footer_inner {
    width: calc(100% - 2rem);
    margin: 0 auto;
}

.footer_contents {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    color:#ffffff;
}

.footer_info {
    width: 33%;
    margin-right: 10rem;
}

.footer_map {
    flex-grow: 1;
    filter: grayscale(100%);
}

.footer_info .footer_img_logo {
    width: 70%;
    max-width: 25rem;
}

.footer_info .footer_img_logo img {
    width: 100%;;
}

.footer_info_contents {
    margin-top: 3rem;
}

.footer_info_contents .txt {
    padding: 1.5rem;
    border-bottom: 0.1rem solid #ffffff;;
}

.footer_info_contents .txt span {
    display: inline-block;
    font-size:1.8rem;
    margin-right: 3.5rem;
}

.footer_info_contents .txt span:first-child {
    width: 20%;
}

.footer_info_contents .txt span:nth-child(2){
    margin-right: 0;
}

.footer_info_contents .footer_icon {
    display: flex;
    justify-content: space-around;
    width: 50%;
    margin-top: 2.5rem;;
}

.footer_info_contents .footer_icon .icon {
    width: 25%;
    max-width: 4.3rem;
    max-height: 4.3rem;
    margin: 0 auto;
}

.footer_info_contents .footer_icon .icon img {
    width: 100%;;
}

.footer_map iframe {
    width: 100%;
}

.privacy_policy {
    width: 100%;
    text-align: right;
    color:#ffffff;
    padding: 1rem 4rem 1rem 0;
}

.privacy_policy span {
    display: inline-block;
    font-size:1.6rem;
    margin-right: 1.5rem;
    cursor: pointer;
    
}

.privacy_policy a {
    color: #ffffff;
    
} 

.privacy_policy a span {
    text-decoration: underline;
}

.footer_menu ul li a span:hover {
	text-decoration: underline;
}

.privacy_policy span:nth-child(2) {
    margin-right: 0;
    cursor: initial;
}

.footer_menu {
    width: 100%;
    margin: 0 auto;
    border-top: 0.1rem solid #ffffff;
    color:#ffffff;
    
    

}

.footer_menu ul {
    display: flex;
    justify-content: space-around;
    width: 50%;
    max-width: 80rem;
    margin: 0 auto;
    padding: 3.5rem 0;
}

.footer_menu ul li {
    width: 20rem;
    font-size:2rem;
    font-weight: 700;
    text-align: center;
}

.footer_menu ul li a {
	color: #ffffff;
	cursor: pointer;
}

.footer_menu ul li a:hover {
	text-decoration: underline;
}

/* Contact Form7 */


#contact {
    width: 100%;
    margin: 10rem auto 5rem;
    z-index: 1;
    position: relative;
}


#contact h1 {
    display:none;
}

#contact h2 {
    text-align: center;
    font-size:2.5rem;
    color:#35424d;
    font-family: "source-han-sans-japanese-B";
        margin-bottom: 5rem;
}

/* 必須マーク */
.contact7 .must {
	background: #F25656;
}
 
/* 任意マーク */
.contact7 .optional {
	background: #999;
}
 
.contact7 .must,
.contact7 .optional {
	color: #FFF;
	border-radius: 3px;
	font-size: 10px;
	margin-left: 10px;
	padding: 5px 10px;
	letter-spacing: 2px;
}
.contact7{
	width:100%;
    max-width: 100rem;
	margin:0 auto;
            padding: 5rem;
background-color: #f4f5f7;
}

.contact7_head_txt {
    fotn-size:1.5rem;
}

.contact7_head_txt span {
    display: block;
    margin-top: 2rem;
    color:#DB4C4C;
}

.contact7_head_txt span a {
    display: inline-block;
    text-decoration: underline;
    color:#E26D7E;
    margin: 0 0.5rem;
}
.contact7_contents {
    width: 90%;
    margin: 10rem auto 5rem;
}

.contact7_contents ul {
    padding: 0;
}

.contact7_contents ul li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5rem
}

.contact7 .item_name {
    width: 30%;
}

 
.contact7 .item_contents {
    
    width: 55%;
} 
 
.contact7.item_check {
    display: block;
    width: 100%;
    margin-top: 2rem;
}

p.btn_contact7 input {
    display: block;
    width: 100%;
	background:#35424D;
	color: #FFF;
	font-size: 1.5rem;
    padding:1rem 0;
	letter-spacing: 0.2em;
	transition: 0.5s;
	margin-top:3rem;
}
p.btn_contact7 input:hover {
	background-color: #FCFCFC;
	color: #35424D; 
}

.wpcf7-form-control a {
	color:#1967d2;
}

.wpcf7-form-control a:hover {
	color:#1967d2;
}

.contact7_confirm {
		width:100%;
		margin: 0 auto;
	}

.site-main {
    width: 100%;
}

/*contact7　確認画面*/

.contact7_confirm {
    margin-top: 5rem;
}

.contact7_confirm table {
    margin-bottom: 6rem;
    border-collapse: separate;
    border-spacing: 2rem;
}

.contact7_confirm table tbody tr {
    width: 100%;
    margin:0 0 2.5rem;
    
}

.contact7_confirm table tbody tr th {
    width: 20%;
    padding: 1.5rem;
    border-bottom: 0.1rem solid #707070;
    vertical-align: middle;
    

}

.contact7_confirm table tbody tr th .item_name {
    width: 100%;
}

.contact7_confirm table tbody tr td {
        width: 60%;
    padding: 1.5rem;
    border-bottom: 0.1rem solid #707070;
    vertical-align: middle;
} 

/*plivacy_policy*/
.page-id-2156 .site-page {
    max-width: 120rem;
    margin: 15rem auto 0 ;
    padding: 5rem 3rem;
    position: relative;
    background: #EDECE4;
}

    .page-id-2156 e.site-page ul {
        padding-left: 2rem;
    }
    
    .page-id-2156 .site-page li {
        list-style:initial;
    }


/*----thanks----*/

.page-id-2153 .site-page {
    width: 80rem;
    margin: 15rem auto 0;
} 

/*---404----*/

.error-404 {
    width: 80%;
    max-width: 120rem;
    padding: 5rem;
    margin: 10rem auto 0;
}

.contents_404 {
    margin: 15rem auto 0;
    width: 100%;
}

.contents_404 p {
    font-size:1.7rem
}

.contents_404 .img {
    width: 40%;
    margin: 15rem 0 10rem;
}

.contents_404 .img  img {
    width: 100%;
}

.pc_none {
    display: none;
}

.sp_none {
    display: inline-block;
}
/*ここからスマホ*/


@media screen and (max-width:756px) {

    .pc_none {
        display: block;
    }
    
    .sp_none {
    display: none;
}
    
header {
    width: 100%;
    height: 8rem;
    position: relative;
}

.header_logo {
    width: 12rem;
    position: fixed;
    left:1.5rem;
    top:1.5rem;
    z-index: 0;
}

.home .header_logo_bg:before {
    content: "";
    width: 15rem;
    height: 3.5rem;
    top:1.4rem;
    left:-1.5rem;
    border-radius: 0.15rem;
}



.menuBox {
  position: fixed;
  top: 1.5rem;
  right:2%;
    height: 2.5rem;
  width: 2.5rem;
  z-index: 400;
}
.menuBox_btn span {
        width: 2.5rem;
    height: 0.15rem;
}

/*drawer_contents Start*/
.drawer_nav {
  width: 25rem;
    height: 100%;
    padding:2.5rem;
    z-index: 500;

}

.drawer_head {
  justify-content: flex-end;
    
}
.drawer_close_btn {
  width: 2.5rem;
  height: 2.5rem;
    }
        
.ulHmbMenu > li {
  position: relative;
  padding: 1.5rem 2rem 1.5rem;
  font-size: 1.6rem;
  
}

.ulHmbMenu li a {
  padding-right: 0rem;
      
}


.menu_other {;
    margin-bottom: 0rem;
    padding: 1.5rem 2rem 1.5rem;
    justify-content: space-around;
}

.menu_other__icon {
     width: 3rem;
    height: auto;
    margin: 0rem ;
}

.menu_other__icon img {
    width: 100%;
}

#page-top {
  display: none;
}


    
    
/*-------
contact_space
----------*/

    #contact_space {
    width: 100%;
    padding: 1rem 0.5rem;
    bottom:0;
    right: 0;
    top:initial;
    transform: translateY(0%);
    display: flex
    
}

    .contact_space_inner {
        width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
    
#contact_space .contact_space_inner p {
    width: 40%;
    font-size: 1.1rem;
    font-family: "source-han-sans-japanese-M";
    text-align: center;
    margin:0 ;
}

#contact_space .contact_space_inner p span {
    display: inline-block;
    margin-left: 0.5rem;
}


    .contact_box_contents {
        width: 60%;
        display: flex;
        justify-content: space-between
    }    


    .contact_box_contents > div {
   width: 50%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact_box_contents > div:first-child {
    margin-bottom: 0rem;
} 



.contact_box_contents span.txt {
display: block;
    width: initial;
    margin-right: 6.5%;
    font-size: 1.3rem;
    font-weight: 600;
}

.contact_box_contents span.icon {
    display: block;
    width: 22%;
    margin:0
}  


/*-------front-page-----*/



/*-------
key visual
----------*/

/*スクロールダウン全体の場所*/
.scrolldown {
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:1.5rem;
  left:50%;
    transform: translateX(-50%);
    animation:mousemove 1.6s ease-in-out infinite;
}

/*Scrollテキストの描写*/
.scrolldown span{
  position: absolute;
  left:50%;
    transform: translateX(-50%);
  bottom:7.5rem;
    /*テキストの形状*/
  color: #eee;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

/*マウスの中の線描写 */
.scrolldown span::after{
  content: "";
  position: absolute;
  top:4rem;
    left:50%;
  transform: translateX(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #eee;
  animation: mousepathmove 1.4s linear infinite;
  opacity:0;
}


/*マウスの描写 */
.scrolldown:before {
    content: "";
    position: absolute;
    bottom:3rem;
    left:50%;
    transform: translateX(-50%);
  width:2.5rem;
  height:3.5rem;
  border-radius: 1.3rem;
  border:0.2rem solid #eee;
}


/*マウスの中の丸の描写*/
.scrolldown:after{
  content:"";
  position: absolute;
  bottom:5rem;
  left:50%;
    transform: translateX(-50%);
  width:0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  border:0.2rem solid #eee;
}

#breadcrumb {
    margin:2rem 0 0 2rem;
    font-size:1.35rem;
    
}   
/*========= レイアウトのためのCSS ===============*/


.key_visual_ttl {
    position: absolute;
  top: calc(50% - 8rem);
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
    font-family: 'Rubik';
    font-size:7vw;
    font-weight: 700;
    letter-spacing: 2.5px;
  text-shadow: 0.2rem 0.2rem 0.4rem #666;
  text-align: center;
    z-index:-1;
}

.key_visual_ttl span {
    display: block;
}

#key_visual{
  width:100%;
    height: 95vh;
  position: relative;
    overflow: hidden;
} 

#key_visual:before{
  top:0;
  left:0;
  z-index:-1;
  width:100vw;
  height: 100vh;
  /*背景画像設定*/
    background:url("../img/key_visual_sp.jpg") no-repeat center;
  background-size:cover;
}

/*container*/

.container{
  position: relative;
  z-index:1;
    padding-top: 4rem;
    width: 100%;
    margin: 0 auto;
}

/*----about-----*/

/*---共通_タイトルのpadding、コンテンツとタイトル間のmargin*/

.ttl_set {
    padding: 4rem 0 0 3rem;
    width: 75%;
    max-width: 30rem;
    box-sizing: content-box;
}

.ttl_set img {
    display: block;
    width: 100%;
}

.ttl_margin_top {
  margin: 5rem auto 0;  
}



#about {
    width: 100%;
}

#about .about_bg {
    width: 100%;
    position: relative;
}


#about .about_bg:before {
    width: 80%;
    max-width: 30rem;
    height:155rem; 
    z-index: -1;
    box-shadow: 0.2rem 0.2rem 0.9rem 0.3rem rgba(125,125,125,0.40);
}

    #about .ttl_set {
        max-width:35rem;
    }

.about_inner {
    width: 98%;
    max-width: 98%;
    
}



.aboout_head_txt {
    width: 95%;
    font-size:1.4rem;
    line-height: 1.5;
    padding-bottom: 1rem;
    margin: 0 auto;
}

.aboout_head_txt:after {
    width: 100%;
    height: 0.2rem;
    border-radius: 2rem
}

.about_point_contents {
    margin-top: 4    rem;
    box-shadow: 0.2rem 0.2rem 0.9rem 0.3rem rgba(11,16,18,0.30);
}

.about_point_contents.about_point_contents_first {
    margin-top: 4rem;
}


.about_point_list {
    width: 100%;
    display: block
    
}

.about_point_list_txt {
    width: 100%;
    padding: 1.5rem;
}


.about_point_list .point_title {
    width:30%;
    margin-bottom: 2rem;
}
    
    .about_point_list .point_title img {
        width: 100%;
    }

.about_point_list .point_sentence {
    display: block;
}

.about_point_list .point_sentence img {
    display:none
}

.about_point_list .point_sentence .txt {
    display: inline-block;
    font-size:1.7rem;
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    font-family: "source-han-sans-japanese-S"
}

    .about_point_contents_first .about_point_list .point_sentence .txt {
        font-size: clamp(1.4rem, 4.5vw, 1.6rem);
    } 

.about_point_list .about_point_list_img {
    display: none;
    
}


/*
    .about_point_list.is-open .about_point_list_img img {
        display: block;
    width:100%;
    }
*/




.about_point_list .arrow_w {
    width: 100%;
    text-align: center;
    margin-top: 0.5rem;
}
.about_point_list .arrow_w img {
    display: inline-block;
    width: 2.2rem;
}

.about_point_contents .about_point_list_box {
    width: 100%;
    padding: 3rem 2rem;
    display: block;
    }

.about_point_contents .about_point_list_box  img {
    display: inline-block;
    width:  25%;
    margin: 0 1.5rem 1.5rem;
}
     

.about_point_contents .about_point_list_box  img.single_img {
    width: 25%;
}

.about_point_contents .about_point_list_box .txt {
    width: 100%;
    font-size:1.4rem;
    line-height: 1.9;
    display: block;
     font-family: "source-han-sans-japanese-R"
}

/*-----plans------*/

#plans {
    width: 100%;
    margin: 8rem auto 0;
}

#plans .ttl_set {
    max-width: 27rem;
}

.plans_inner {
    width: 98%;
        max-width: 98%;
}

.plans_contents {
    margin-top: 8rem;
}

    
.plans_contents:first-child {
    margin-top: 0;
}    
    
.plans_contents.plan_1 {
    margin-top: 0;
}

.plans_contents_inner {
    display: block;
    
}

.plans_contents_txt {
    width: 95%;
    margin: 0 auto;
    padding: 2.5rem 1.5rem;
}

.plans_contents_txt:after{
    width: 100%;
    height: 100%;
    left:1rem;
    bottom:-1rem;
    z-index: -1;
}

.plans_contents__ttl {
    width: 100%;
    padding: 0 2% 1.5rem;
    margin: 0 auto;
    border-bottom: 0.2rem solid #707070;
    align-items: flex-start;
}

/*
.plans_4 .plans_contents__ttl {
    padding: 0 2% 2.5rem;
}
*/

.plans_contents__ttl .img {
    width: 18%;
    margin-right: 0.7rem;
}

.plans_contents__ttl .img img {
    width: 100%;
}

.plans_contents__ttl .ttl {
    font-family:"source-han-sans-japanese-B";
    font-size:2.3rem;
    font-size: clamp(1.6rem, 7.9vw ,2.8rem);
    line-height: 1.3;
    }

    
.plans_3 .plans_contents__ttl .ttl {
    font-size:3rem;
        font-size:clamp(1.6rem, 7.3vw ,2.8rem);
}
    
.plans_4 .plans_contents__ttl .ttl {
    font-size: clamp(1.6rem, 5.8vw ,2.3rem);
    }    

.plans_contents__ttl .comment {
    font-family:"source-han-sans-japanese-M";
    font-size:1.4rem;
        margin-top: 0;;
}

.plans_contents__list {
    width: 100%;
    margin-top: 2rem;
}

.plans_contents__list ul {
    padding:0
}

.plans_contents__list ul li {
    padding-left: 2.3rem;
    font-size:1.4rem;
    font-family: "source-han-sans-japanese-M";
    margin-bottom: 1.5rem;
}


.plans_contents__list ul li:before {
  font-size: clamp(1.3rem, 1.6vw, 2rem);
}

.plans_contents_img {
    width: 100%;
    margin-top: 2rem;
}

.plans_target {
    width: 100%;
    padding: 0 0;
    margin-top: 2rem;
    
}

.plans_target .ttl {
    padding-bottom: 2rem ;
    font-size: clamp(1.6rem , 6.7vw ,2.5rem);    
    font-family:"source-han-sans-japanese-S"; 
    
}
    .plans_target .ttl em　{
  padding: 0 3rem;
    }
        
.plans_target .ttl span {
    display: block;
    font-size:1.5rem;
    margin-top: 0.5rem;
}

    .plans_target .ttl em::before, .plans_target .ttl em::after {
    font-size:2rem;    
        
    }
    
.plans_target_contents ul {
    width: 100%;
        display: block;
    padding: 2rem ;
    border-top: 0.1rem solid #707070;
    border-bottom: 0.1rem solid #707070;
}

.plans_2 .plans_target_contents ul {
    padding: 2rem 1.5rem;
}


.plans_target_contents ul li {
    width: 100%;
    padding-left: 2rem;
    margin-bottom: 1.5rem;
    font-size:1.4rem;
    font-family: "source-han-sans-japanese-M";
}

.plans_target_contents ul li:nth-child(n+3) {
    margin-bottom: 1.5rem;
}

    .plans_target_contents ul li:last-child {
        margin-bottom: 0;
    }    
    
.plans_target_contents ul li:before {
  font-size: clamp(1.3rem, 1.6vw, 2rem);
}

/*----photo_line---*/

#photo_line {
    width: 98%;
    margin: 8rem auto 0;
}

    
.photo_main.position_l {
    width: calc(55% - 2rem);
    margin: 0;
}

.photo_main.position_c {
    width: calc(50% - 2rem);
    margin: -5% 0 0 auto ;
}

.photo_main.position_r {
    width: calc(50% - 2rem);
    margin: -5% 2rem 0 4%  ;
    text-align: center;
}
    
#photo_line .ttl_set , #photo_line_2 .ttl_set {
        padding: 0rem 0 0 1rem;
        max-width: 22rem
    }    

#photo_line_2 {
    width: 98%;
    margin: 10rem auto 0;
}

#photo_line_2 .photo_main.position_l {
    width: calc(55% - 3rem);
    margin: 4% 0 0;
}

#photo_line_2 .photo_main.position_c {
    width: calc(55% - 3rem);
    margin: -0% auto 0;
}

#photo_line_2 .photo_main.position_r {
    width: calc(55% - 3rem);
    margin: -7% 0 0 auto;
}


.photo_main img {
    width: 100%;
}




/*-----facilities----*/

#facilitie {
    width: 100%;
    margin-top: 8rem;;
}

.facilitie_bg {
    box-shadow: 0.2rem 0.2rem 0.9rem 0.3rem rgba(199,199,199,0.40);
    padding-bottom: 3rem;
}

#facilitie .ttl_set {
    max-width: 30rem;
}

.facilitie_inner {
    width: 98%;
    max-width: 98%;
}

.facilitie_contents {
    margin: 0 auto;
    width: 100%;;
}


.facilitie_catch_ttl span {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    font-size:1.8rem;
    font-family: "source-han-sans-japanese-B";
    }

.facilitie_catch_ttl span:after {
    width: 100%;
    height: 0.5rem;
}


.facilitie_icon_list {
    margin: 2.5rem auto 0;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
}

    .facilitie_icon_list .icon {
        width: 30%;
    }
    
.facilitie_icon_list .icon:nth-child(n+4) {
    width: 30%;
    margin-top: 1.5rem;
    } 

.facilitie_icon_list .icon img {
    margin-bottom: 1.2rem;
    padding: 0 0.7rem;
}

.facilitie_icon_list .icon span {
    font-size:1.8rem;
    font-size:clamp(1.2rem , 4.5vw , 1.4rem);
    font-family: "source-han-sans-japanese-S";
        margin-top: 0;
}

.facilitie_icon_list .icon:nth-child(7) span {
    font-size:clamp(1.3rem , 4.2vw , 1.5rem);
}


/*----trainer----*/

#trainer {
    margin:8rem auto 0;
    width: 100%;
}

.trainer_inner {
    width: 100%;
}

.trainer_inner_bg.trainer_kato {
    padding-bottom: 5rem;
    margin-right: auto;
    width: 95%;
  max-width: 95%;

}

.trainer_inner_bg.trainer_mochitomi {
    padding: 5rem 0 2rem;
    margin: -10% 0 0 auto;
    width: 95%;
  max-width: 95%;

}

    .trainer_mochitomi .trainer_contents {
        display: flex;
        flex-direction: column;
    }
    
.trainer_contents {
    width: 100%;
    margin-left: rem;
    display: block;
    }

.trainer_img {
    width:80%;
    margin: 0 auto
}

.trainer_mochitomi .trainer_contents {
    margin-left: 0;
    margin-right: 0
    
}

.trainer_mochitomi .trainer_img {
    margin:0 auto;
        order:1;
    }

.trainer_img img{
    width: 100%;
}

.trainer_detail {
    width: 100%;
    padding-right: 0;
    margin-top: 5rem;
    flex-shrink: 0;
}

.trainer_mochitomi .trainer_detail {
        padding-left: 0%;
    order: 2;
}
 
.trainer_detail .catch {
    font-size:clamp(1.6rem ,6vw ,2.0rem);
    font-family: "source-han-sans-japanese-B";
    padding:0 0rem 1.5rem;
    margin: 0 1rem;
    border-bottom: 0.1rem solid #707070;
} 

.trainer_detail .name {
    font-size:2.5rem;
    font-family: "source-han-sans-japanese-M";
    padding: 1.5rem 0rem;
    margin: 0 1rem;
    border-bottom: 0.1rem solid #707070;
}

.trainer_detail .name span {
    display: block;
    font-size:1.6rem;
    font-family: "source-han-sans-japanese-R";
    font-weight: 400;
}

.trainer_detail .carrer {
    padding: 2rem 0rem;
    margin: 0 1rem;
    border-bottom: 0.1rem solid #707070;
}

.trainer_detail dl dt {
    font-size:1.6rem;
    font-family: "source-han-sans-japanese-M";
    position: relative;
    padding-left: 2.2rem;
    margin: 1.5rem auto;
}


.trainer_detail  dl dt:before {
  font-size: clamp(1.3rem, 3.7vw, 1.8rem);
  color: #35424D;
}

.trainer_detail .message {
    padding: 2rem 0rem;
    margin: 0 1rem;
}

.trainer_detail  dl dd {
    line-height: 1.7;
    font-size:1.35rem;
}

/*----price----*/

#price {
    width: 100%;
    margin-top: 8rem;
}

#price .ttl_set {
    max-width: 28rem;
    padding: 0rem 0 0 3rem;
}

.price_inner {
    width: 98%;
    max-width: 98%;
}

.price_contents {
    margin: 0 auto;
    width: 100%;;
}

.price_catch_ttl {
    text-align: center;
}

.price_catch_ttl span {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    font-size:1.7rem;
    font-family: "source-han-sans-japanese-B";
}

.price_catch_ttl span:after {
    width: 100%;
    height: 0.5rem;
}


.price_system {
    width: 100%;
    max-width: 100%;;
    margin-top: 6.5rem;
}

.price_system.top {
    margin-top: 5rem;
}

.price_system dl dt {
    text-align: left;
    font-family: "source-han-sans-japanese-B";
    font-size:clamp(1.45rem ,4.5vw ,1.8rem);
    padding: 1rem;
}

.price_system dl dt em {
    width: 40%;
    padding-right: 4rem;
    margin-left: auto;
}

    .price_system.hojin dl dt em {
        width: 30%;
    }
    
.price_system dl dt em img {
    width: 100%;
    font-weight: 700;
}

.price_system dl dt .open_icon__plus {
    margin-right: 1rem;
    width: 1.5rem;
	height: 1.5rem;
    padding: 1rem;
    }

.price_system dl dt div span {
  height: 0.1rem;
  border-radius: 0.2rem;
  transition: all 0.2s;
}

.price_system .summary {
    width: 100%;
    border:0.1rem solid #35424D;
    font-size:clamp(1.5rem, 4.8vw , 1.7rem);
    font-family: "source-han-sans-japanese-S";
    line-height: 1.2;
}

    
.price_system.shokuji .summary span:first-child {
        font-size:clamp(1.2rem, 4.0vw , 1.4rem)
    }
    
    
.price_system .summary span {
    padding: 2rem 0;
}

.price_system .summary small {
    font-family: "source-han-sans-japanese-R";
    font-size:1.2rem;
}

.price_system .summary em {
    flex: 2 1 auto;
    padding: 2rem 0;
    font-style: normal;
    font-size: clamp(1.5rem, 5.5vw , 1.9rem);
}

.price_system .summary span:last-child {
    border-right:none;
}

.price_system .open_detail {
    padding: 2.5rem 1rem;
    border:0.1rem solid #35424D;
    border-top: 0;
}

.price_system  .open_detail .detail {
    border-bottom: 0.1rem solid #35424D;
    padding: 2rem 1rem;
}

.price_system  .open_detail .detail_flex {
        display: flex;
    justify-content: space-between;
    align-items:baseline;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

    .price_system  .open_detail .detail > em {
    margin-bottom: 1.5rem;
}
    


.price_system  .open_detail .detail p {
    font-size:clamp(1.2rem, 4vw , 1.4rem);
    line-height: 1.6;
}

.price_system  .open_detail .detail .detail_flex p {
    font-family: "source-han-sans-japanese-S";
    font-size: clamp(1.2rem, 4.1vw , 1.5rem);
  }



.price_system  .open_detail .detail .detail_flex p:nth-child(even) {
    text-align: right;
}

.price_system  .open_detail .detail .detail_flex:last-child em , .price_system  .open_detail .detail > em:last-child {
        margin-bottom: 0rem;
}

.price_system  .open_detail .detail  span {
    display: block;
    font-size:1.2rem;
    margin: 0.7rem 0 0 1.2rem;
}

.price_system  .open_detail .detail em {
    font-style: normal;
    font-family: "source-han-sans-japanese-B";
    font-size:clamp(1.4rem, 5.0vw , 1.6rem);
    padding-left: 2rem;
}
    

.price_system  .open_detail .detail em:before {
  font-size: clamp(1.3rem, 1vw, 1.6rem);
  }


.price_system .open_detail .detail .detail_flex p strong {
        font-family: "source-han-sans-japanese-B";
    font-size:clamp(1.4rem, 5vw , 1.8rem);
    line-height: 0;
    
}

.price_system  .open_detail .detail .detail_flex p strong small {
    font-size:1.1rem;
    font-family: "source-han-sans-japanese-R";
    display: block;
    line-height: 1.5;

}

.price_system .other {
   border: 0.1rem solid #35424D;
  font-family: "source-han-sans-japanese-R";
    padding: 2rem 1rem;
}

.price_system .other p {
    font-size:1.4rem;
    margin:1rem auto 1.5rem;
}

.price_system .other span {
    font-size:1.8rem;
    font-family: "source-han-sans-japanese-S";
    margin-bottom: 1rem;;
}


.card_img {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 80%;
    margin: 0 auto;
}

.card_img img {
    display: block;
}



#trial {
    width: 100%;
    margin-top: 8rem;
}
 
#trial .ttl_set {
 max-width: 30rem
}
.trial_inner {
    width: 98%;
    
}
.trial_contents {
    position: relative;
    z-index: 1;
}

.trial_contents_list {
    width: 100%;
    max-width: 100%;
    margin: 3.5rem auto 0;
    
}


.trial_contents_list .img {
    display: none;
}


.trial_contents_list .right__contents {
    width: 90%;
    margin: 0 auto;
    padding: 2rem ;
    border:0.1rem solid #707070;
}

.trial_contents_list .right__contents .right__contents___ttl {
    font-size:2rem;
    font-family:"source-han-sans-japanese-S";
    margin-bottom: 2rem;
}

.trial_contents_list .right__contents .right__contents___txt {
    font-size:1.3rem;
    width: 100%;
    line-height: 1.5;
    
    
}

.trial_contents_list .right__contents .number_img {
    left:1rem;
    top:-2.5rem;
        width: 4rem;
    height: 4rem;
}


.trial_contact {
    margin-top: 4rem;
    z-index: 9;
}

.trial_contact .txt {
    margin: 0 auto 2.5rem;
    font-size:clamp(1.5rem , 6vw , 2.0rem);
    font-family:"source-han-sans-japanese-S"
}

.trial_contact .img {
    width: 90%;
    max-width: 30rem;
    margin: 2rem auto 0;
}
.trial_contact .img img {
    width: 100%;
}


#bacground_img  .contents_bg_img {
    width: 100%;
    bottom:-3rem;
}

#bacground_img  .contents_bg_img img {
    width: 100%;
}

#more {
    width: 100%;
    margin-top:2rem;
}

.more_inner {
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
    border-radius: 3rem;
    padding: 5rem 2.5rem;
}

.more_inner .ttl_set {
    padding: 0;
    width: 45%;
    max-width: 15rem
}

#more .ttl_margin_top {
    margin-top: 4rem;
    display:block
}

.more_contents__box___list {
    width: 100%;
    margin-bottom: 3rem;
}

.more_contents__box___list:last-child {
    margin-bottom: 0;
}

.more_contents__box___list .img {
    width: 100%;
}

.more_contents__box___list .img img {
    width: 100%;
}

.more_contents__box___list .txt {
    margin-top: 1rem;
    font-size:1.3rem;
}
    
.more_contents__box___list:nth-child(5) {
  margin-bottom: 3rem;
    }
    
.more_contents__box___list:nth-child(6) {
  margin-bottom: 0rem;
    }
    
/*----instagram-----*/

#instagram {
    margin-top: 4rem;
    width: 100%;
}

.instagram_bg {
    background: #DDDCC4;
}


.instagram_contents {
    padding: 5rem 0 3rem;
}

.instagram_contents_ttl {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    
}
.instagram_contents_ttl img {
    display: block;
    max-width: 20rem;
    margin: 0 auto;
}

.instagram_contents_ttl img:last-child {
    max-width:14rem;
    margin-top: 1rem;
}

.instagram_contents .photo_tiles {
    margin-top: 3rem;
}


    
footer .ttl_set {
    max-width: 28rem
}

footer  .ttl_margin_top {
    margin-top: 6rem;;
}


.footer_contents {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap:wrap;
}

.footer_info {
    width: 95%;
    margin: 4rem auto 0;
    order:2;
}

.footer_map {
    flex-grow: 0;
    width: 100%;
    order: 1;
}

.footer_info .footer_img_logo {
    width: 70%;
    max-width: 25rem;
}


.footer_info_contents {
    margin-top: 2rem;
}

.footer_info_contents .txt {
    padding: 1.5rem;
    border-bottom: 0.1rem solid #ffffff;;
}

.footer_info_contents .txt span {
    display: inline-block;
    font-size:1.4rem;
    margin-right: 3rem;
}

.footer_info_contents .txt span:first-child {
    width: 20%;
}

.footer_info_contents .txt span:nth-child(2){
    margin-right: 0;
}

.footer_info_contents .footer_icon {
    width: 40%;
    margin-top: 1.5rem;;
}

.footer_info_contents .footer_icon .icon {
    width: 25%;
    max-width: 3rem;
    max-height: 43rem;
}

.footer_map iframe {
    width: 100%;
}

.privacy_policy {
    width: 100%;
    text-align: center;
    padding: 2rem 0rem 2rem;
}

.privacy_policy span {
    display: inline-block;
    font-size:1.2rem;
    margin-right: 0rem;
}

    .privacy_policy a span {
        text-decoration: underline;
    }

.privacy_policy a {
	text-decoration: underline;
}


.footer_menu {
    width: 95%;
    max-width: 95%;
    margin: 0 auto;
    border-top: 0.1rem solid #ffffff;
    color:#ffffff;
    
    

}

.footer_menu ul {
    width: 100%;
    margin: 0 auto;
    padding: 2rem 0 ;
    justify-content: space-around;
}

.footer_menu ul li {
    width: auto;
    font-size:1.2rem;
    font-weight: 400;
    ;
}

.footer_menu ul li a {
	color: #ffffff;
	cursor: pointer;
}

.footer_menu ul li a:hover {
	text-decoration: underline;
}

/* Contact Form7 */

.page-id-2146 .header_logo_bg:before ,.page-id-2151 .header_logo_bg:before , .page-id-2153 .header_logo_bg:before {
    background-color: transparent;
    box-shadow:none;
}

.page-id-2146 .grecaptcha-badge , .page-id-2151 .grecaptcha-badge  s{ 
    visibility:visible
    }
    
#contact {
    width: 100%;
    margin: 6rem auto 1.5rem;

}

#contact h1 {
    display:none;
}

#contact h2 {
    text-align: center;
    font-size:2.5rem;
    color:#35424d;
    font-family: "source-han-sans-japanese-B";
        margin-bottom: 5rem;
}

/* 必須マーク */
.contact7 .must {
	background: #F25656;
}
 
/* 任意マーク */
.contact7 .optional {
	background: #999;
}
 
.contact7 .must,
.contact7 .optional {
	color: #FFF;
	border-radius: 3px;
	font-size: 10px;
	margin-left: 10px;
	padding: 5px 10px;
	letter-spacing: 2px;
}
.contact7{
	width:98%;
    max-width: 98%;
	margin:0 auto;
            padding: 2.5rem 1rem;;
}

.contact7_2_head_txt {
    margin-bottom: 5rem;
    font-size:1.4rem;
}

.contact7_contents {
    width: 100%;
    margin: 5rem auto 0;
}

.contact7_contents ul {
    padding: 0;
}

.contact7_contents ul li {
    display: block;
    margin-bottom: 2rem
}

.contact7 .item_name {
    width: 100%;
    margin-bottom: 1.5rem;
}

 
.contact7 .item_contents {
    width: 100%;
} 
    .contact7 .item_contents input {
        width: 100%;
    }
    
.contact7 .item_check {
    display: block;
    width: 100%;
    margin-top: 1rem;
    font-size:1.3rem
}

p.btn_contact7 input:hover {
	background-color: #FCFCFC;
	color: #35424D; 
}

.wpcf7-form-control a {
	color:#1967d2;
}

.wpcf7-form-control a:hover {
	color:#1967d2;
    text-decoration: underline;
}

.contact7_confirm {
		width:100%;
		margin: 0 auto;
	}

.site-page {
    width: 100%;
}

/*contact7　確認画面*/

.contact7_confirm {
    margin-top: 3rem;
    font-size:1.2rem;
}

.contact7_confirm table {
    margin-bottom: 6rem;
    border-spacing: 1rem;
    
}

.contact7_confirm table tbody tr {
    width: 100%;
    margin:0 0 2rem;
    border-bottom: none;
}

.contact7_confirm table tbody tr th {
    width: 37%;
    padding:1.5rem 0.5rem;


}

.contact7_confirm table tbody tr th .item_name {
    width: 100%;
    margin-bottom: 0;
}

.contact7_confirm table tbody tr td {
        width: 60%;
    padding: 0.5rem;

} 
    
.wpcf7 form .wpcf7-response-output {
  margin: 0!important;
  padding: 0!important;
  border: none!important;
}
    

/*plivacy_policy*/
.page-id-2156 .site-page {
    max-width: 98%;
    margin: 10rem auto 0 ;
    
}


.page-id-2156 .site-page {
    width: 96%;    
    max-width: 96%;
    margin: 7rem auto 0 ;
    padding: 5rem 2rem;
}
.page-id-2156 .site-page h1 {
        font-size:2.0rem;
    margin-bottom: 2.5rem;
    }
    
.page-id-2156 .site-page p , #primary_page.site-page li {
        font-size:1.3rem;
    margin-bottom: 1rem;
    }
    .page-id-2156 .site-page ul {
        padding-left: 1.5rem;
    }
    
    .page-id-2156 .site-page li {
        list-style:initial;
    }
    
.page-id-2156 .site-page em {
        font-size:1.7rem
    }
    
    .page-id-2156 .site-page p strong {
        font-size:1.9rem!important;
    }
    /*---404----*/

.error-404 {
    width: 95%;
    max-width: 95%;
    padding: 2rem;
    margin: 5rem auto 0;
}


.contents_404 {
    padding: 10rem auto 0;
    width: 100%;
}

.contents_404 p {
    font-size:1.6rem
}


.contents_404 .img {
    width: 60%;
    margin: 10rem 0 5rem;
}
    
    
}

@media (max-width: 1023px) and (min-width: 768px) {
    
    #contact_space {
    width: 100%;
    padding: 1rem;
    bottom:0;
    right: 0;
    top:initial;
    transform: translateY(0%);
    display: flex
    
}

    .contact_space_inner {
        width: 55%;
        margin: 0 auto;
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
    
#contact_space .contact_space_inner p {
    width: 40%;
    font-size: 1.5rem;
    font-family: "source-han-sans-japanese-M";
    text-align: center;
    margin:0 ;
}

#contact_space .contact_space_inner p span {
    display: inline-block;
    margin-left: 1rem;
}


    .contact_box_contents {
        width: 60%;
        display: flex;
        justify-content: space-between
    }    


    .contact_box_contents > div {
   width: 50%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact_box_contents > div:first-child {
    margin-bottom: 0rem;
} 



.contact_box_contents span.txt {
display: block;
    width: initial;
    margin-right: 10%;
    font-size: 1.5rem;
    font-weight: 600;
}

.contact_box_contents span.icon {
    display: block;
    width: 21%;
    margin:0
}    
    
    .ttl_set {
  width: 50%;
  max-width: 64rem;
}
    
    .plans_contents_inner {
        display: block;
    }
    
    .plans_contents_txt {
        width: 100%;
        
    }
    

    .plans_contents__ttl .ttl {
        font-size:clamp(3rem, 4.5vw ,3.6rem)!important;
}
    .plans_contents__ttl .comment {
        font-size: sclamp(1.6rem, 2.4vw ,2rem);
        line-height: 1.5;
        
    }
    .plans_contents_img {
        width: 100%;
        margin-top: 5rem;
    }
    
    .plans_contents__list ul li {
  padding-left: 3rem;
  font-size: clamp(1.5rem, 2.4vw, 1.8rem);
  font-family: "source-han-sans-japanese-M";

}
    
    
    .plans_target {
  width: 100%;
  padding: 0 2%;
    }

    .plans_target .ttl {
        font-size: 3.5rem;
    }
    
    .plans_target .ttl span {
        font-size: 2rem;
    }
    
    
    .plans_target_contents ul {
        width: 100%;
        padding: 2.5rem 5rem!important;
        display: block;
    }
    
    .plans_target_contents ul li {
        width: 100%;
        font-size:1.8rem;
        margin-bottom: 1.5rem;;
    }
    
    .plans_target_contents ul li:nth-child(n+3) {
        margin-bottom:1.5rem;
    }
    
        .plans_target_contents ul li:last-child {
        margin-bottom:0rem;
    }
    
    
    .plans_target_contents ul li::before {
        font-size:2rem
    }
    

    
    #photo_line {
        width: calc(100% - 2rem);
        margin: 10rem auto 0;
    }
    
    #photo_line .photo_main.position_l {
        
    }
    
    #photo_line .photo_main.position_c {
        width: calc(33% - 2rem);
    }
    
        #photo_line .photo_main.position_r {
        width: calc(33% - 2rem);
        margin: -20% 0% 0 auto;
    }
    
    #facilitie {
        width: 100%;
        margin-top: 10rem;
}
    
    #facilitie .facilitie_icon_list {
        margin: 5rem auto 0;;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    
    #facilitie .facilitie_icon_list .icon {
        width: 25%;
    }
    
    .facilitie_icon_list .icon:nth-child(n+5) {
    margin-top: 5rem;
    } 
    
    
    .facilitie_icon_list .icon img {
        padding: 0 2rem;
        margin-bottom: 2rem;;
    }
    
    .facilitie_icon_list .icon span {
        font-size:2rem;
        font-size:clamp(2rem , 2.7vw , 2.2rem);
        
    }
    .facilitie_icon_list .icon:nth-child(7) span {
        font-size: clamp(1.6rem , 2.5vw , 1.8rem);
    }
    
    #bacground_img .contents_bg_img {
        bottom: -5rem;
    }
    
    #more {
        margin-top: 15rem;
    }
    
    #more .more_inner {
        width: 90%;
        padding: 5rem 3rem;
    
    }
    
    #more .more_contents__box___list .txt {
        width: 96%;
    }
    
    .footer_info {
        width: 35%;
        margin-right: 5rem;
    }
    
    .footer_info .footer_img_logo {
        width: 85%;
        max-width: 25rem;
}
    
    .footer_info_contents .txt {
        padding: 1.3rem 1.8rem;
    }
    
    .footer_info_contents .txt span {
        display: block;
        font-size: 1.9rem;
        margin-right: 0rem;
        margin-bottom: 1rem;
}
    .footer_info_contents .txt span:first-child {
        width: 100%;
    }
    
    .footer_info_contents .txt span:last-child {
        font-size:1.6rem;
        margin-bottom: 0;
    }
    
    .footer_info_contents .footer_icon {
        width: 70%;
        margin-top: 1.5rem;
}
    
    .footer_info_contents .footer_icon .icon {
        width: 20%;
        max-width: 4rem;
        max-height: 4rem;
    }
    
    }

/*=======ブログ一覧========*/

#blog , #blog_contents {
    font-family:"アプリ明朝","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","游明朝","Yu Mincho","游明朝体",YuMincho,"メイリオ",Meiryo,serif;
}

#page_container {
    margin: 2.5rem auto 0;
}

#blog h1{
    width: 100%;
    background: #f4f8ff;
    text-align: center;
    font-size:3.2rem;
    color:#35424d;
    padding: 3rem 0 4.6rem;
    margin-bottom: 8rem;
    position: relative;
        box-shadow: 0.1rem 0.1rem 0.9rem 0.1rem rgba(87,82,68,0.40);
}

#blog h1 small {
    display: block;
    color:#1F7FB7;
    font-size:2.2rem;
    font-weight: 500;

}
#blog h1:after {
content: "";
  position: absolute;
  display: inline-block;
  width: 3rem;
  height: 0.4rem;
  background: rgba(31,127,183,0.8);
  bottom: 2rem;
  left: 50%;
  border-radius: 1rem;
  transform: translateX(-50%);
}

#blog.container_blog_list {
    width: 100%;
    margin: 0 auto;
}

.container_inner {
    width: 100%;
    margin: auto;
}

.blog_list_page__contents {
    width: 100%;
    max-width: 140rem;
    margin: 0rem auto ;
    padding: 10rem 4rem 0;
}
.category_menu {
position: relative;
  width: 60%;
  max-width: 35rem;
  margin: 0 auto;
    text-align: center;
  z-index: 1;
}
.category_menu select {
cursor: pointer;
  background: #35424d    ;
    color:#ffffff;
  position: relative;
  font-size: 1.5rem;
  text-align: center;
  padding: 1rem 2.5rem 1rem ;
    line-height: 1.7;
}


    
.wrapper_detail {
    width: 100%;
    margin: 0 auto 6rem;
    flex: 1 1 0%;
}

.flex {
    display: flex;
}

.blog_detail__contents.flex {
    display: flex;
    flex-wrap: wrap;
}

.flex-a-sta {
    align-items: flex-start;
}


.flex-a-str {
    align-items: stretch;
}

.flex-a-ctr {
    align-items: center;
}

.blog_list_page__contents .wrapper_detail article {
width: 48%;
  padding: 2rem;
  border-bottom: 0.1rem solid #CBCBCB;
  position: relative;
  transition: 0.3s all;
  z-index: 1;
  margin: 0rem 1% 8rem;
}

.blog_list_page__contents .wrapper_detail article:hover {
    background: #ffffff;
} 

.blog_list_page__contents .wrapper_detail .article_card .img {
/*    width: 22rem;
    max-width: 30rem;*/
/*
    width: 30rem;
    aspect-ratio: 4/3;
*/
    margin-right: 2rem;
} 

/*
.wrapper_detail .article_card .img img {
    width: 100%;
    height: 100%;
}
*/

.blog_list_page__contents .wrapper_detail .article_card .txt_area {
    display: block;
    

}

.blog_list_page__contents .wrapper_detail .article_card .txt_area_head {
    justify-content: flex-start;
    margin-bottom: 1.5rem
}


.wrapper_detail .article_card .txt_area .txt_area_head .date {
    color:brown;
    font-size:1.4rem;
    margin-right: 1.5rem;
}

.wrapper_detail .category {
    margin-top: 1rem;
}

.wrapper_detail .category a {
    display: inline-block;
    border: 0.1rem solid rgba(121,116,57,1.00);
    color:rgba(121,116,57,1.00);
    margin-right: 1rem ;
    font-size:1.4rem;
    padding: 0.3rem 0.5rem ;
    position: relative;
    z-index:10;
}

.wrapper_detail .category a:hover {
    background: rgba(121,116,57,1.00);
    border: none;
    color:#ffffff;
}


.wrapper_detail .category:last-child {
    margin-right: 0rem;
}



.blog_list_page__contents .wrapper_detail .article_card .txt_area h2.ttl {
    display: block;
    width: 100%;
    font-size:2.2rem;
    color:#4E4D4D;
}

.blog_list_page__contents .wrapper_detail .article_card .txt_area h2.ttl a:before {
   content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}


.wrapper_detail .blog_tag  {
    margin-top: 1.8rem;
    flex-wrap: wrap;
    width: 100%;
}

.wrapper_detail .tag_list {
    margin: 4.5rem auto 0;
    width: 70%; 
}

.wrapper_detail .tag_list ul {
    flex-wrap: wrap;
    padding: 0;
}

.wrapper_detail .tag_list h3 {
    font-size:1.9rem;
    font-weight: 600;
    margin-bottom: 3rem;
}

.wrapper_detail .blog_tag a , .wrapper_detail .tag_list ul li{
    display: inline-block;
    color:brown;
    font-size:1.3rem;
    border: 0.1rem solid brown;
    border-radius: 4rem;
  padding: 0.3rem 0.8rem;
    margin-right: 1rem;
    z-index:10;
    transition: all 0.3s ease-in-out;
}

.blog_list_page__contents .wrapper_detail .tag_list ul li a {
    color:brown;
}

.blog_list_page__contents .wrapper_detail .article_card .txt_area .blog_tag a:hover , .wrapper_detail .tag_list ul li:hover {
    background: brown;
    border: none;
    color:#ffffff;
}

.blog_list_page__contents .wrapper_detail .tag_list ul li:hover a {
    color:#ffffff;
}

.navigation.pagination {
    width: 100%;
    margin: 0 auto;
    text-align: center;
} 

.nav-links {
    display: inline-block;
}

.nav-links .page-numbers {
    margin: 0 0.3rem;
    color:#686868;
} 

.nav-links .page-numbers.current {
    text-decoration: underline;
    
} 


@media screen and (max-width:756px) {

    #page_container {
    margin: 2.5rem auto 0;
}

#blog h1{
    font-size:2.5rem;
    padding: 1.5rem 0 3rem;
    margin-bottom: 5rem;
        box-shadow: 0.1rem 0.1rem 0.9rem 0.1rem rgba(87,82,68,0.40);
}

#blog h1 small {
    font-size:1.6rem;
    font-weight: 500;

}
#blog h1:after {
  width: 2rem;
  height: 0.3rem;
  bottom: 2rem;
  border-radius: 1rem;
}

#blog.container_blog_list {
    width: 100%;
    margin: 0 auto;
}

.container_inner {
    width: 100%;
    margin: auto;
}

.blog_list_page__contents {
    width: 100%;
    max-width: 100%;
    margin: 0rem auto ;
    padding: 2.5rem 1.5% 0;
}
.category_menu {
position: relative;
  width: 70%;
  max-width: 70%;
  margin: 0 auto;
    font-size: 1.4rem;
}
.category_menu select {
  font-size: 1.4rem;
  text-align: center;
  padding: 1rem 1.5rem 1rem ;
    line-height: 1.7;
}


    
.blog_list_page__contents .wrapper_detail {
    width: 100%;
    margin: 0 auto 5rem;
}

.flex {
    display: flex;
}

.blog_detail__contents.flex {
    display: block;
    flex-wrap: nowrap;
}

.flex-a-sta {
    align-items: flex-start;
}


.flex-a-str {
    align-items: stretch;
}

.flex-a-ctr {
    align-items: center;
}

.blog_list_page__contents .wrapper_detail article {
width: 100%;
  padding: 2rem 1.5rem;
  border-bottom: 0.1rem solid #CBCBCB;
  margin: 0rem 1% 4rem;
}

.blog_list_page__contents .wrapper_detail article:hover {
    background: #ffffff;
} 

    .article_card.flex {
        display: block!important;
    }    
    
.blog_list_page__contents .wrapper_detail .article_card .img {
    width: 100%!important;
    margin: 0 auto;
    padding: 0;
} 

.blog_list_page__contents .wrapper_detail .article_card .img img {
    width: 100%;
    
}


.blog_list_page__contents .wrapper_detail .article_card .txt_area {
    margin-top: 2rem;
    

}

.blog_list_page__contents .wrapper_detail .article_card .txt_area_head {
    justify-content: flex-start;
    margin-bottom: 2rem
}


.blog_list_page__contents .wrapper_detail .article_card .txt_area .txt_area_head .date {
    color:initial;
    font-size:1.35rem;
    margin-right: 1.5rem;
}

.wrapper_detail .category a {
    border: 0.1rem solid rgba(121,116,57,1.00);
    margin-right: 1rem ;
    font-size:1.25rem;
    padding: 0.2rem ;
}



.blog_list_page__contents .wrapper_detail .article_card .txt_area h2.ttl {
    font-size:2.0rem;
    }

.wrapper_detail .blog_tag  {
    margin-top: 4rem;
    flex-wrap: wrap;
    width: 100%;
}

.wrapper_detail .tag_list {
    margin:2.5rem auto ;
    width: 95%; 
}

.wrapper_detail .tag_list h3 {
    font-size:1.6rem;
    margin-bottom: 1.6rem;
}

.wrapper_detail .blog_tag a , .wrapper_detail .tag_list ul li{
    font-size:1.25rem;
    border: 0.1rem solid brown;
    border-radius: 4rem;
  padding: 0.2rem 0.8rem;
    margin-right: 1rem;
}

.navigation.pagination {
    width: 100%;
    margin: 0 auto;
    text-align: center;
} 

.nav-links {
    display: inline-block;
}

.nav-links .page-numbers {
    margin: 0 0.3rem;
    color:#686868;
} 

.nav-links .page-numbers.current {
    text-decoration: underline;
    
} 
    
    .category_menu_footer {
    margin: 0 auto 3rem;
}
    }

/*blog_contents*/

.blog_page_contents {
    width: 100%;
    max-width: 140rem;
    min-width: 75rem;
    margin: 8rem auto 0;
}

.entry-meta {
    margin-top: 2rem;
    font-size:1.4rem;
}

.blog_page_contents .category {
    margin: 2rem 0 2.5rem;
}

#blog_contents h1 {
    font-size:2.4rem;
    font-weight: 600;
}

#blog_contents .entry-content {
    width: 90%;
    margin: 6rem auto 0;
    padding-bottom: 5rem;
    border-bottom: 0.1rem solid #777777;
}

.entry-content p {
    line-height: 1.75;
    font-size:1.5rem;
}

#blog_contents .post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    width: 50%;
    margin: 5rem auto 0;
    font-size:1.6rem;
}

#blog_contents .tag_name {
    font-size:2rem;
    font-weight: 600;
    margin-top: 3rem;
}

#blog_contents .blog_tag {
    margin-top: 2rem;
}


@media screen and (max-width:756px) {
   .blog_page_contents {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    margin: 3rem auto 0;
    padding: 0 4%;
}

.entry-meta {
    margin-top: 0rem;
    font-size:1.4rem;
}

.blog_page_contents .category {
    margin: 1.5rem 0 2rem;
}

#blog_contents h1 {
    font-size:2.3rem;
    font-weight: 600;
}

#blog_contents .entry-content {
    width: 96%;
    margin: 2rem auto 0;
    padding-bottom: 3rem;
    border-bottom: 0.1rem solid #777777;
}

.entry-content p {
    line-height: 1.5;
    font-size:1.4rem;
}

#blog_contents .post-navigation .nav-links {
    width: 95%;
    display: block;
    margin: 2.5rem auto 0;
    font-size:1.5rem;
}

    #blog_contents .post-navigation .nav-links .nav-previous {
        text-align: left;
        margin-bottom: 1.5rem;
    }
    
    #blog_contents .post-navigation .nav-links .nav-next {
        text-align: right;
    }
    
#blog_contents .tag_name {
    font-size:1.7rem;
    font-weight: 600;
    margin-top: 3rem;
}

#blog_contents .blog_tag {
    margin-top: 2rem;
} 
}