
body{
  font-size: 16px;
  padding-top: 115px;
  line-height: 1.75;
  color: #333333;
  font-family: 'Noto Sans JP', sans-serif;
}

/* fonts */
.montserrat{
  font-family: 'Montserrat', sans-serif;
}
.mincho{  
  font-family: 'Noto Serif JP', serif;
}




/****************************************
*　header
****************************************/
header{
  width: 100%;
  padding: 10px 0 4px;
  position: fixed;
  left: 0;
  top: 0;
  background: #ffffff;
  z-index: 10;
}
header a:hover{
  text-decoration: none;
  opacity: 0.7;
  color: #00bfff;
}
header .hdr_btn{  
  width: 223px;
  padding: 10px 15px;
  display: inline-block;
  color: #ffffff;
  text-align: left;
}
header .hdr_btn.first{
  margin-right: 13px;
  background: url(/system_panel/uploads/images/hdr_bg_1.jpg) no-repeat center / 100% auto;  
}
header .hdr_btn.mail{
  background: url(/system_panel/uploads/images/hdr_bg_2.jpg) no-repeat center / 100% auto;  
}
header .tel{
  font-size: 14px;
  margin-left: 25px;
  display: inline-block;
  line-height: 1.2;
  vertical-align: middle;
  font-weight: 500;
}
header .tel strong{
  font-size: 24px;
  color: #00bfff;
  display: block;
}
header .tel strong i{
  font-size: 20px;
}
header .gnav .nav{
  max-width: 841px;
  margin: 13px 0 0 auto;
  padding: 7px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  border-top: 1px solid #c3c3c3
}
header .gnav p{
  padding: 0 9px;
  margin-bottom: 0;
}
header .gnav p:last-child{
  padding-right: 0;
}
header .gnav a{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #333333;
}
header .gnav a:hover{
  color: #00bfff;
}
header .gnav a.active:after{
  margin: 0 auto;
  content: "";
  width: 36px;
  height: 1px;
  background: #00bfff;
  display: block;
}
header .hdr_contact{
  padding-left: 80px;
}
header .hdr_contact .btns{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}


/****************************************
*　footer
****************************************/
.flex{
  display: flex;
  flex-wrap: wrap;
}
footer{
  margin-top: 200px;
  background: #00bfff;
}
footer .ftr1{  
  padding: 80px 0 60px;
  background: url(/system_panel/uploads/images/ftr_bg.jpg) no-repeat center / cover;
}
footer .ftr1 .bg{
  padding: 30px 60px 10px;
  background: rgba(255,250,240,0.87);
}
footer .ftr1 .tt1{
  margin-bottom: 25px;
}
footer .ftr1 .tt1_en{
  letter-spacing: 0.08em;
}
footer .ftr1 .ftr_btn{
  margin-right: 25px;
}
footer .ftr1 span{
  margin-left: 15px;
  padding: 0 35px 0 40px;
  display: inline-block;
  border-left: 1px solid;
  border-right: 1px solid;
}
.tt1_en{
  font-size: 18px;
  margin-bottom: 10px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #030000;
}
.tt1_en:after{
  width: 33px;
  height: 1px;
  margin: 0 auto 5px;
  content: "";
  display: block;
  background: #00bfff;
}
.tt1{
  font-size: 28px;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
  font-family: 'Noto Serif JP', serif;
}
footer .ftr1 .red{
  margin: 25px 0 0;
  padding-top: 10px;
  border-top: 1px solid #949494;
  color: #b30f0f;
  font-weight: 500;
}

footer .ftr2{
  background: #55d4ff;
}
footer .ftr2 .ftr_links{
  padding: 8px 0;
  display: flex;
  justify-content: space-between;
}
footer .ftr2 .ftr_links p{
  margin-bottom: 0;
}
footer .ftr2 .ftr_links p a{
  font-size: 15px;
  color: #ffffff;
  letter-spacing: 0.1em;
}

footer .ftr3{
  padding: 30px 0 0;
}
footer .ftr3 .ftr_logo{
  margin-bottom: 30px;
}
footer .ftr3 .ftr_addr{
  font-size: 15px;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-indent: 0.2em;
}

footer .ftr_copy{
  font-size: 13px;
  margin-top: 50px;
  padding: 0 0 15px;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.1em;
}
footer .ftr_copy a{
  color: #ffffff;
}


/* ページTOPに戻る */
.pagetop{
  display: none;
  position: fixed;
  right: 10px;
  bottom: 66px;
}
.pagetop a{
  display: block;
  font-size: 0;
  width: 42px;
  height: 42px;
  text-align: center;
}
.pagetop a i{
  font-size: 40px;
}



a{
  color: inherit;
}
dl, ol, ul{
  list-style-type: none;
  padding: 0;
  margin-bottom: 0;
}
img {
  max-width: 100%;
}
.tb,
.sp{
  display: none!important;
}
.pc{
  display: block!important;
}

.footer_fix {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #f7f4ef;
  z-index: 10;
}
.footer_fix div {
  /* display: table; */
  width: 100%;
  margin-bottom: 0;
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer_fix div p{
  display: flex;
  margin-bottom: 0;
}
.footer_fix div p.btn1 {
  width: 26%;
}
.footer_fix div p.btn2 {
  width: 22%;
}
.footer_fix div p a{
  width: 100%;
  display: block;
  padding: 8px 3px 3px;
  background: #55d4ff;
  color: #FFF;
  text-decoration: none;
  line-height: 1.3;
  text-align: center;
}
.footer_fix div p.first a{
  background: #00d581;
}
.footer_fix div p.mail a{
  background: #01bffe;
}
.footer_fix div p.tel a{
  background: #ffffff;
  color: #333333;
}
.footer_fix div p a i{
  font-size: 20px;
  margin-bottom: 5px;
  display: block;
}


/****************************************
*　HOME
****************************************/
.mv{
  margin-bottom: 130px;
  background: url(/system_panel/uploads/images/mv.jpg) no-repeat center / cover;
}
.mv .container{  
  height: 822px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mv .mv_txt{
  margin-bottom: 0;
}

.pg_home .section#sec1{
  padding-bottom: 80px;
}
.bg_cream{
  padding: 35px 0;
  background: #fffaf0;
}
.pg_home .section#sec2 .col-lg-4{
  padding: 0 0 0 60px;
}
.pg_home .section#sec2 .col-lg-8{
  padding: 0 0 0 50px;
}
.link_1{  
  width: 270px;
  padding: 10px;
  margin: 20px auto 0;
  display: block;
  border: 1px solid #00bfff;
  color: #00bfff;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-indent: 0.5em;
  position: relative;
}
.link_1:after{
  content: "\f105";
  font-family: FontAwesome;
  font-weight: 900;
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.link_1:hover{
  background: #00bfff;
  color: #ffffff;
}
.pg_home .webgene-blog .item{
  padding: 10px 35px 10px 15px;
  border-bottom: 1px solid #c9c2b5;
  position: relative;
}
.pg_home .webgene-blog .item:after{  
  content: "\f105";
  font-family: FontAwesome;
  font-weight: 900;
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.pg_home .webgene-blog .item + .item{
  margin-top: 10px;
}
.pg_home .webgene-blog .item p{
  margin-bottom: 0;
}
.pg_home .webgene-blog .item a{  
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  letter-spacing: 0.1em;
  color: #333333;
}

.pg_home .section#sec3{
  padding: 100px 0;
}
.top_concept{
  max-width: 411px;
  padding: 15px 0;
  margin: 0 auto 30px;
  border-top: 1px solid #4297b4;
  border-bottom: 1px solid #4297b4;
  color: #4297b4;
}
.top_concept .list{
  font-size: 22px;
  margin-bottom: 0;
  font-weight: 600;
  display: inline-block;
  text-align: left;
  letter-spacing: 0.1em;
  line-height: 2;
}
.top_concept .list p{
  margin-bottom: 0;
}
.pg_home .section#sec3 .text{
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.pg_home .section#sec3 .link_1{
  margin-top: 40px;
}

.pg_home .section#sec4 .flex{
  margin: 70px 0 50px;
}
.pg_home .section#sec4 .box{
  width: 33.33%;
  text-align: center;
}
.pg_home .section#sec4 .box a{
  width: 100%;
  height: 294px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
}
.pg_home .section#sec4 .box.b1 a{
  background: url(/system_panel/uploads/images/top_img_2.jpg) no-repeat center / cover;
}
.pg_home .section#sec4 .box.b2 a{
  background: url(/system_panel/uploads/images/top_img_3.jpg) no-repeat center / cover;
}
.pg_home .section#sec4 .box.b3 a{
  background: url(/system_panel/uploads/images/top_img_4.jpg) no-repeat center / cover;
}
.pg_home .section#sec4 .box a:hover{
  opacity: 0.7;
  text-decoration: none;
}
.pg_home .section#sec4 .box .ttl{
  width: 231px;
  height: 124px;
  padding: 25px 0 0;
  background: url(/system_panel/uploads/images/top_bg_1.png) no-repeat center / cover;
  color: #ffffff;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 5;
  opacity: 1;
}
.pg_home .section#sec4 .box .ttl .montserrat{
  margin-bottom: 0;
}
.pg_home .section#sec4 .box .ttl .mincho{
  font-size: 24px;
  font-weight: 600;
}
.pg_home .section#sec5{
  padding: 175px 0 120px;
}
.pg_home .section#sec5 .row{
  position: relative;
}
.pg_home .section#sec5 .img{
  position: absolute;
  right: 15px;
  top: -85px;
}
.pg_home .section#sec5 .bg{
  padding: 35px 250px 50px 50px;
  background: url(/system_panel/uploads/images/top_bg_2.jpg) no-repeat center / cover;
}
.pg_home .section#sec5 .bg .tt1{
  margin-bottom: 25px;
}
.pg_home .section#sec5 .bg p{
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.pg_home .section#sec5 .bg .link_1{
  margin-top: 30px;
}

.pg_home .section#sec6{
  margin-bottom: -45px;
}
.pg_home .section#sec6 .img{
  width: 100%;
  height: 533px;
  margin-bottom: 50px;
  background: url(/system_panel/uploads/images/top_img_6.jpg) no-repeat center / cover;
}
.pg_home .section#sec6 .tt1{
  margin-bottom: 65px;
}
.pg_home .section#sec6 .medium{
  font-weight: 500;
  letter-spacing: 0.05em;
}
.pg_home .section#sec6 .box{
  margin: 0 -15px 70px;
  border-top: 1px solid #c3c3c3;
  border-bottom: 1px solid #c3c3c3;
}
.pg_home .section#sec6 .box p{
  padding: 8px 0;
  margin: 0;
  line-height: 1.75;
  letter-spacing: 0.2em;
  text-indent: 0.3em;
}
.pg_home .section#sec6 .box p + p{
  border-top: 1px dotted #c9c2b5;
}
.pg_home .section#sec6 .box p span{
  display: inline-block;
}
.pg_home .section#sec6 .box p span + span:before{
  content: "／";
}
.pg_home .section#sec6 .flex{
  margin: 65px 0 0;
  justify-content: center;
}
.pg_home .section#sec6 .flex .link_1{
  margin: 0 14px;
}
.pg_home .section#sec6 .row p{
  line-height: 1.9;
}


/****************************************
*　コンセプト
****************************************/
.pg_header{
  background: #d4f2fc;
}
.pg_header .container{
  height: 250px;
  background: url(/system_panel/uploads/images/c_hdr_bg_1.png?1) no-repeat left -25px,
    url(/system_panel/uploads/images/c_hdr_bg_2.png?1) no-repeat right 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pg_header .txt_box{
  width: 540px;
  height: 167px;
  background: url(/system_panel/uploads/images/c_hdr_bg_3.png) no-repeat center / contain;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pg_header .txt_box .mincho{
  font-size: 26px;
  margin-bottom: 0;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-indent: 0.7em;
}
.breadcrumb{
  font-size: 12px;
  padding: 5px 0;
  margin-bottom: 70px;
  background: 0;
}
.breadcrumb .list{
  padding: 0 3px;
}
.breadcrumb p{
  margin-bottom: 0;
  display: inline-block;
  letter-spacing: 0.05em;
}
.breadcrumb p + p{
  padding-left: 20px;
}
.breadcrumb p + p:before{
  content: ">";
  display: inline-block;
  margin: 0 8px 0 -15px
}

.pg_concept .section#sec1 .text-center p{
  letter-spacing: 0.1em;
}
.pg_concept .section#sec1 .trouble{
  margin: 50px 0 0;
}
.pg_concept .section#sec1 .trouble .large{
  font-size: 22px;
}
.pg_concept .section#sec1 .trouble .col-12 p{
  font-size: 18px;
  padding: 20px 0;
  margin: 0 0 10px;
  border-radius: 10px;
  background: #00bfff;
  color: #ffffff;
  display: block;
}

.pg_concept .section#sec2{
  padding: 30px 0;
  margin: 45px 0 0;
}
.pg_concept .section#sec2 .mincho{
  font-size: 28px;
  margin-bottom: 25px;
  color: #4297b4;
  letter-spacing: 0.1em;
}
.pg_concept .section#sec2 .col-12{
  display: flex;
}
.pg_concept .section#sec2 .bg{
  width: 100%;
  padding: 28px 0 20px;
  border: 1px solid #00bfff;
  background: #fffaf0;
}
.pg_concept .section#sec2 h3{
  max-width: 410px;
  font-size: 16px;
  padding: 12px;
  margin: 0 auto 20px;
  font-weight: 500;
  text-align: center;
  background: #00bfff;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-indent: 0.2em;
  border-radius: 21px;
}
.pg_concept .section#sec2 .list{
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
}
.pg_concept .section#sec2 .list p{
  width: 50%;
  margin-bottom: 0;
}
.pg_concept .section#sec2 .col-6 + .col-6 .list{
  max-width: 464px;
  margin: 0 auto;
  padding: 0;
  letter-spacing: 0.1em;
}
.pg_concept .section#sec2 .col-6 + .col-6 p{
  width: 55%;
}
.pg_concept .section#sec2 .col-6 + .col-6 p:nth-child(even){
  width: 45%;
}
.pg_concept .section#sec3{
  padding: 90px 0 0;
}
.pg_concept .section#sec3 h2{
  font-size: 24px;
  padding: 30px;  
  margin-bottom: 35px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-indent: 0.2em;
  background: url(/system_panel/uploads/images/about_ttl_bg_1.png) no-repeat center / contain;
  text-align: center;
}
.pg_concept .section#sec3 .row > div:nth-child(n+3){
  margin-top: 50px;
}


/****************************************
*　美容整骨とは
****************************************/
.tt2{
  font-size: 30px;
  margin-bottom: 60px;
  font-weight: 400;
  line-height: 1.66;
  color: #4297b4;
  letter-spacing: 0.1em;
  text-indent: 0.6em;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
}
.pg_about .section#sec1{
  margin-top: -15px;
}
.pg_about .section#sec1 .text-center{
  letter-spacing: 0.08em;
  text-indent: 0.1em;  
}
.pg_about .section#sec1 .text-center .ttl{
  font-size: 21px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pg_about .section#sec1 .text-center .ttl:before,
.pg_about .section#sec1 .text-center .ttl:after{
  width: 150px;
  height: 5px;
  margin: 0 38px;
  content: "";
  display: inline-block;
  background: url(/system_panel/uploads/images/about_tt_1.png) no-repeat center / contain;
}
.pg_about .section#sec1 .text-center .ttl + p{
  line-height: 2;
}
.pg_about .section#sec1 .box{  
  font-size: 17px;
  padding: 10px;
  margin-top: 22px;
  background: #d4f2fc;
  font-weight: 500;
  line-height: 2;
}
.pg_about .section#sec1 .box .bg{
  padding: 3px 0 10px;
  border: 1px solid #ffffff;
}
.pg_about .section#sec1 .box p{
  margin-bottom: 0;
  letter-spacing: 0;
}
.pg_about .section#sec1 .box .red{
  font-size: 20px;
  margin-bottom: 10px;
  color: #b90202;
  font-weight: 400;
  letter-spacing: 0.05em;
  letter-spacing: 0.1em;  
}

.pg_about .section#sec2{
  padding: 100px 0 0;
}
.pg_about .section#sec2 .list .row{
  margin-top: 85px;
  position: relative;
}
.pg_about .section#sec2 .list .row:nth-child(even){
  justify-content: flex-end;
}
.pg_about .section#sec2 .img{
  position: absolute;
  right: 15px;
  top: -40px;
}
.pg_about .section#sec2 .list .row:nth-child(even) .img{  
  right: inherit;  
  left: 15px;
}
.pg_about .section#sec2 .bg{
  height: 280px;
  padding: 50px 200px 0 50px;
  background: url(/system_panel/uploads/images/about_bg_1.png) no-repeat -30px -30px,
    url(/system_panel/uploads/images/about_bg_2.png) no-repeat 98% 95px;
  background-color: #fffaf0;
}
.pg_about .section#sec2 .list .row:nth-child(even) .bg{
  padding: 45px 50px 50px 220px;  
  background: url(/system_panel/uploads/images/about_bg_1.png) no-repeat 12% -30px, 
    url(/system_panel/uploads/images/about_bg_2.png) no-repeat 124% 79px;
  background-color: #fffaf0;
}
.pg_about .section#sec2 .bg h3{
  font-size: 22px;
  margin-bottom: 25px;
  font-weight: 600;
}

/****************************************
*　施術メニュー
****************************************/
.pg_menu .section#sec1 .row > div{
  display: flex;
}
.pg_menu .section#sec1 .row > div:nth-child(n+3){
  margin-top: 35px;
}
.pg_menu .section#sec1 .bg{
  width: 100%;
  padding: 10px 10px 15px;
  border: 1px solid #c9c9c9;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fffaf0;
}
.pg_menu .section#sec1 .bg:hover{
  opacity: 0.7;
  text-decoration: none;
  color: #333333;
}
.pg_menu .section#sec1 .ttl{
  font-size: 24px;
  margin-bottom: 12px;
  color: #00bfff;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.pg_menu .section#sec1 .ttl + p{
  line-height: 1.625;
  letter-spacing: -0.01em;
  margin-bottom: 0;
}
.link_2{
  width: 160px;
  font-size: 14px;
  padding: 6px;
  margin: 15px auto 0;
  text-align: center;
  background: #d4f2fc;
  display: block;
  border-radius: 18px;
}

/****************************************
*　施術メニュー（詳細）
****************************************/
.pg_menu_d .ttl{
  padding: 16px 0;
  margin-bottom: 40px;
  border-top: 1px solid #00bfff;
  border-bottom: 1px solid #00bfff;
  background: #fffaf0;
  position: relative;
}
.pg_menu_d .ttl h2{
  font-size: 22px;
  margin-bottom: 0;
  letter-spacing: 0.1em;
  text-indent: 0.5em;
  text-align: center;
  font-weight: 400;
}
.pg_menu_d .ttl .ab{
  font-size: 14px;
  margin-bottom: 0;
  letter-spacing: 0.08em;
  position: absolute;
  right: 0;
  bottom: 15px;
}
.pg_menu_d .column{
  height: 100%;
  letter-spacing: 0.075em;
  line-height: 2.19;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pg_menu_d .column .price{
  max-width: 540px;
  width: 100%;
  padding: 15px 10px;
  background: #d4f2fc;
  display: flex;
  align-items: center;
}
.pg_menu_d .column .price .tt{
  width: 210px;
  padding: 8px;
  margin-bottom: 0;
  background: #ffffff;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.pg_menu_d .column .price .con{
  width: calc(100% - 210px);
  padding-left: 58px;
  margin: 0;
  color: #b90202;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.pg_menu_d .column .price .con span{
  font-size: 24px;    
}
.pg_menu_d .col-lg-5 img{
  margin-top: 10px;
}

.pg_menu_d .section#sec2,
.pg_menu_d .section#sec3,
.pg_menu_d .section#sec4{
  margin-top: 150px;
}
.pg_menu_d .sub_tt{
  width: 280px;
  font-size: 16px;
  padding: 14px;
  margin: 0 auto 20px;
  text-align: center;
  letter-spacing: 0.1em;
  background: url(/system_panel/uploads/images/menu_d_ttl_1.jpg) no-repeat center / contain; 
}
.pg_menu_d .list .menu_d:not(:first-child){
  margin-top: 50px;
}
.pg_menu_d .menu_d .row > div{
  display: flex;
}
.pg_menu_d .menu_d .bg{  
  width: 100%;
  min-height: 312px;
  padding: 32px 5px 25px;
  background: url(/system_panel/uploads/images/menu_d_bg_1.png) no-repeat -20px 0 #d4f2fc;
  border-radius: 0 20px 0 20px;
  text-align: center;
  line-height: 2.19;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pg_menu_d .menu_d h4{
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 500;
}
.pg_menu_d .menu_d h4:after{
  content: "";
  width: 220px;
  height: 3px;
  margin: 8px auto 0;
  background: #00bfff;
  display: block;
}
.pg_menu_d .menu_d p{
  margin: 0;
}
.pg_menu_d .menu_d .price{
  width: 220px;
  margin: 15px auto 0;
  background: #ffffff;
  color: #b90202;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.95;
}
.pg_menu_d .menu_d .price span{
  font-size: 24px;      
}
.pg_menu_d .section#sec4 .column{
  letter-spacing: 0.2em;
}
.pg_menu_d .section#sec4 .column .price{
  margin-top: 25px;
}
.pg_menu_d .section#sec4 .column .price .tt{
  letter-spacing: 0;
  padding: 5px 10px;
  line-height: 1.2;
}
.pg_menu_d .section#sec4 .column .rule{
  margin-top: 40px;
}
.pg_menu_d .section#sec4 .column .rule .tt{
  margin-bottom: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  border-bottom: 2px solid #898989;
}
.pg_menu_d .section#sec4 .column .rule .con{
  letter-spacing: 0;
}
.pg_menu_d .section#sec4 .column .rule .red{
  color: #b90202;
}

/****************************************
*　ファスティング
****************************************/
.pg_fasting .section#sec1{
  padding: 0 0 50px;
  margin-bottom: 25px;
  background: url(/system_panel/uploads/images/fasting_bg_3.jpg) no-repeat center
}
.pg_fasting .tt2{
  margin-bottom: 30px;
}
.pg_fasting .tt2 span{
  font-size: 24px;
}
.pg_fasting .section#sec1 p{
  line-height: 2.125;
  letter-spacing: 0.08em;
  text-indent: 0.5em;
}
.pg_fasting .section#sec1 .what{
  margin-top: 40px;
}
.pg_fasting .section#sec1 .what .tt2 {
  margin-bottom: 10px;
}
.pg_fasting .section#sec1 .text-center .ttl {
  font-size: 21px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pg_fasting .section#sec1 .text-center .ttl:before, 
.pg_fasting .section#sec1 .text-center .ttl:after {
  width: 150px;
  height: 5px;
  margin: 0 38px;
  content: "";
  display: inline-block;
  background: url(/system_panel/uploads/images/about_tt_1.png) no-repeat center / contain;
}
.pg_fasting .section#sec2{
  background: #fffaf0;
}
.pg_fasting .section#sec2 .container{
  padding: 43px 0 10px;
  position: relative;
}
.pg_fasting .section#sec2 .bg_1{
  position: absolute;
  left: -65px;
  top: 0;
  z-index: 0;
}
.pg_fasting .section#sec2 .bg_2{
  position: absolute;
  right: -100px;
  bottom: 0;
  z-index: 0;
}
.pg_fasting .section#sec2 .text-center{
  position: relative;
  z-index: 5;  
}
.pg_fasting .section#sec2 .blue{  
  font-size: 18px;
  font-weight: 500;
  line-height: 1.94;
  color: #00bfff;
}
.pg_fasting .section#sec2 .row{
  margin: 45px 0 30px;
}
.pg_fasting .section#sec2 h2{
  font-size: 16px;
  font-weight: 500;
}
.pg_fasting .section#sec2 .ttl{
  margin-bottom: 13px;
}
.pg_fasting .section#sec2 .ttl:before,
.pg_fasting .section#sec2 .ttl:after{
  content: "";
  width: 120px;
  height: 10px;
  background: url(/system_panel/uploads/images/fasting_ttl_1.png) no-repeat center / contain;
  display: inline-block;
}
.pg_fasting .section#sec2 .ttl:before{
  margin-right: 10px;
}
.pg_fasting .section#sec2 .ttl:after{
  margin-left: 10px;
}
.pg_fasting .section#sec2 .set{
  padding: 0 10px 0 15px;
}
.pg_fasting .section#sec2 .set div{
  display: flex;
  text-align: left;
  line-height: 1.6;
}
.pg_fasting .section#sec2 .set div + div{
  margin-top: 5px;
}
.pg_fasting .section#sec2 .set .name{
  width: 90%;
  margin-bottom: 0;
  font-weight: 400;
}
.pg_fasting .section#sec2 .set .name span{
  font-size: 12px;
}
.pg_fasting .section#sec2 .set .num{
  width: 10%;
  margin-bottom: 0;
}
.pg_fasting .section#sec2 .red{
  font-size: 15px;
  padding-right: 10px;
  margin-bottom: 0;
  color: #ff0000;
  position: relative;
  z-index: 5;
  letter-spacing: 0.1em;
}

/****************************************
*　初めての方へ
****************************************/
.pg_first .section#sec1{
  padding: 40px 0 0;
}
.pg_first .section#sec1 .row{
  position: relative;
}
.pg_first .section#sec1 .row:not(:first-child){
  margin-top: 90px;
}
.pg_first .section#sec1 .bg{
  min-height: 280px;
  padding: 35px 180px 20px 22px;
  background: url(/system_panel/uploads/images/first_bg_1.jpg) no-repeat center / cover;
  display: flex;
}
.pg_first .section#sec1 .num{
  width: 70px;
}
.pg_first .section#sec1 .txt{
  width: calc(100% - 70px);
  padding-top: 15px;
}
.pg_first .section#sec1 .txt h3{  
  font-size: 22px;
  margin-bottom: 25px;
  font-weight: 600;
}
.pg_first .section#sec1 .txt p{
  line-height: 1.625;
}
.pg_first .section#sec1 .txt a{
  width: 255px;
  font-size: 15px;
  padding: 5px;
  margin: 40px 0 0 10px;
  display: block;
  background: #ffffff;
  border: 1px solid #00bfff;
  border-radius: 19px;
  text-align: center;
}
.pg_first .section#sec1 .col-md-5{
  position: absolute;
  right: 0;
  top: -40px;
}
.pg_first .section#sec2{
  padding: 140px 0 0;
}
.pg_first .section#sec2 .row > div:nth-child(n+3){
  margin-top: 30px;
}
.pg_first .section#sec2 .bg{
  padding: 5px;
  margin: 0 0 0 10px;
  background: #d4f2fc;
}
.pg_first .section#sec2 .faq{
  min-height: 210px;
  padding: 0 15px;
  border: 1px solid #ffffff;
}
.pg_first .section#sec2 .faq .tt{
  font-size: 16px;
  padding: 20px 15px 18px 70px;
  margin-bottom: 0;
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  position: relative;
  border-bottom: 1px solid #c9c9c9;
}
.pg_first .section#sec2 .faq .tt span{
  width: 81.5px;
  height: 45px;
  font-size: 20px;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  position: absolute;
  left: -30px;
  top: 10px;
  background: #00bfff;
  color: #ffffff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pg_first .section#sec2 .faq .tt span:after{
  content: "";
  border-style: solid;
  border-width: 0 10px 6px 0;
  border-color: transparent #024f69 transparent transparent;
  display: block;
  position: absolute;
  left: 0;
  bottom: -6px;
}
.pg_first .section#sec2 .con{
  padding: 15px 0 0 10px;
  margin-bottom: 0;
}

/****************************************
*　スクール情報
****************************************/
.pg_school .course .tt1_en:after{
  display: none;
}
.pg_school .course .tt1{
  margin-bottom: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}
.pg_school .course .text-center p{
  letter-spacing: 0.08em;
  line-height: 1.85;
  margin: 0;
}
.pg_school .course .text-center .ttl{
  font-size: 21px;
  margin-bottom: 20px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.08em;
}
.pg_school .course .text-center .ttl:before,
.pg_school .course .text-center .ttl:after{
  width: 150px;
  height: 5px;
  margin: 0 34px;
  content: "";
  display: inline-block;
  background: url(/system_panel/uploads/images/about_tt_1.png) no-repeat center / contain;
}
.pg_school .course .recommend{
  margin: 30px 0 55px;
  text-align: center;
}
.pg_school .course .recommend .ttl{
  max-width: 410px;
  margin: 0 auto 25px;
  padding: 9px;
  font-weight: 500;
  background: #00bfff;
  color: #ffffff;
  border-radius: 10px;
  letter-spacing: 0.08em;
}
.pg_school .course .recommend .list{
  display: inline-block;
  text-align: left;
}
.pg_school .course .recommend .list p{
  margin-bottom: 0;
  letter-spacing: 0.08em;
  padding-left: 36px;
  position: relative;
}
.pg_school .course .recommend .list p:before{
  content: "\f14a";
  font-family: FontAwesome;
  font-weight: 900;
  color: #d74179;
  margin-right: 1em;
  position: absolute;
  left: 0;
  top: 0;
}
.pg_school .course h3{
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
.pg_school .course .flow > div{
  display: flex;
}
.pg_school .course .flow > div:nth-child(n+4){
  margin-top: 30px;
}
.pg_school .course .flow .bg{
  width: 100%;
  min-height: 210px;
  padding: 15px 25px;
  border: 1px solid #d4f2fc;
  border-radius: 10px;
}
.pg_school .course .flow .bg p{
  letter-spacing: 0.07em;
  margin-bottom: 0;
}
.pg_school .course .flow .bg .ttl{
  font-size: 18px;
  padding-bottom: 15px;
  margin-bottom: 16px;
  color: #00bfff;
  text-align: center;
  font-weight: 500;
  border-bottom: 1px solid #c9c9c9;
  letter-spacing: 0.08em;
}
.pg_school .course .link{
  width: 350px;
  margin: 60px auto 0;
  padding: 18px;
  display: block;
  text-align: center;
  background: #024f69;
  color: #ffffff;
  letter-spacing: 0.1em;
  border-radius: 10px;
  position: relative;
}
.pg_school .course .link:after{  
  content: "\f105";
  font-family: FontAwesome;
  font-weight: 900;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.pg_school .course .link strong{
  font-size: 18px;
}
.pg_school .section#sec2{
  padding: 140px 0 0;
}
.pg_school .section#sec3{
  padding: 190px 0 0;
}
.pg_school .section#sec3 .row > div:nth-child(n+4){
  margin-top: 30px;
}
.pg_school .section#sec3 .tt1 {
  margin-bottom: 50px;
}

/****************************************
*　アクセス
****************************************/
.pg_access .section#sec1 .info{
  max-width: 600px;
  height: 300px;
  padding: 60px 0;
  margin: 0 auto 50px;
  background: url(/system_panel/uploads/images/access_bg_1_lt.jpg) no-repeat left top,
    url(/system_panel/uploads/images/access_bg_1_rt.jpg) no-repeat right top,
    url(/system_panel/uploads/images/access_bg_1_lb.jpg) no-repeat left bottom,
    url(/system_panel/uploads/images/access_bg_1_rb.jpg?1) no-repeat right bottom,
    url(/system_panel/uploads/images/access_bg_1_t.jpg) repeat-x left top,
    url(/system_panel/uploads/images/access_bg_1_b.jpg) repeat-x left bottom,
    url(/system_panel/uploads/images/access_bg_1_l.jpg) repeat-y left top,
    url(/system_panel/uploads/images/access_bg_1_r.jpg?1) repeat-y right top;
  letter-spacing: 0.08em;
  line-height: 1.85;
}
.pg_access .section#sec1 .info h2{  
  font-size: 20px;
  margin-bottom: 12px;
  font-weight: 500;
}
.pg_access .section#sec1 .info span{
  margin-left: 1em;
  display: inline-block;
}
.pg_access .section#sec2{
  padding: 72px 0 0;
}
.pg_access .section#sec2 .ttl{
  font-size: 21px;
  margin-bottom: 20px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.08em;
  text-indent: 0.2em;
}
.pg_access .section#sec2 .ttl:before,
.pg_access .section#sec2 .ttl:after{
  width: 150px;
  height: 5px;
  margin: 0 20px;
  content: "";
  display: inline-block;
  background: url(/system_panel/uploads/images/about_tt_1.png) no-repeat center / contain;
}
.pg_access .section#sec2 .row > div{
  position: relative;
}
.pg_access .section#sec2 .row > div:nth-child(n+4){
  margin-top: 25px;
}
.pg_access .section#sec2 .row > div:nth-child(2):before,
.pg_access .section#sec2 .row > div:nth-child(3):before{
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 102px;
  background: url(/system_panel/uploads/images/access_arrow_1.png) no-repeat center / contain;
}
.pg_access .section#sec2 .row > div:nth-child(5):before,
.pg_access .section#sec2 .row > div:nth-child(6):before{
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 102px;
  background: url(/system_panel/uploads/images/access_arrow_2.png) no-repeat center / contain;
}
.pg_access .section#sec2 .row > div:nth-child(3):after,
.pg_access .section#sec2 .row > div:nth-child(4):after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -22px;
  transform: translateX(-50%);
  width: 102px;
  height: 16px;
  background: url(/system_panel/uploads/images/access_arrow_3.png) no-repeat center / contain;
}

/****************************************
*　お知らせ
****************************************/
.pg_news .webgene-item{
  padding-bottom: 15px;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px dotted;
}
.pg_news .webgene-item + .webgene-item{
  margin-top: 20px;
}
.pg_news .webgene-item time{
  width: 160px;
}
.pg_news .webgene-item .webgene-item-title{
  width: calc(100% - 160px);
  margin-bottom: 0;
}
.pg_news .webgene-item .webgene-item-title a{
	text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: block;
}
.webgene-pagination{
  margin-top: 100px;
}
.webgene-pagination ul{
  display: flex;
  justify-content: center;
}
.webgene-pagination li{
  margin: 0 4px;
}
.webgene-pagination li a{
  padding: 3px 13px;
  display: block;  
  border: 1px solid #c0c0c0;
  color: #000000;
}
.webgene-pagination li.selected a{
  background: #e5e5e5;
  border: 1px solid #e5e5e5;
}
.webgene-pagination li.next a:after{
  margin-left: 5px;
  content: "\f101";
  font-family: FontAwesome;
  font-weight: 900;
}
.webgene-pagination li.prev a:before{
  margin-right: 5px;
  content: "\f100";
  font-family: FontAwesome;
  font-weight: 900;
}
.webgene-pagination li a:hover{
  text-decoration: none;
  color: #333333;
  background: #e5e5e5;
  border: 1px solid #e5e5e5;
}

/* 詳細 */
.pg_news_d .webgene-item{
  padding: 30px 35px;
  border: 1px solid #d3d3d3;
  border-top: 14px solid #d4f2fc;
}
.pg_news_d time{
  color: #808080;
  font-size: 15px;
}
.pg_news_d .title{ 
  font-size: 24px;
  padding-bottom: 15px;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin: 8px 0 25px;
  border-bottom: 1px solid #d3d3d3;
}
.pg_news_d .go_news{  
  max-width: 333px;
  padding: 12px;
  margin: 50px auto 0;
  text-align: center;
  display: block;
  background: #00bfff;
  color: #ffffff;
  font-weight: 700;
}
  .webgene-item-content a{
  	text-decolation: underline;
  	color: #00bfff;
  }
  .webgene-item-content img{
    display: block;
    margin: 1em auto;
   }

/****************************************
*　お問い合わせ
****************************************/
.contact_tt{
  font-size: 23px;
  margin-bottom: 25px;
  letter-spacing: 0.2em;
  padding-left: 2em;
}


/* フォーム */
.formWrap{
  
}
.formRow{
  
}
.formRow:not(.formNoBdr){
  border-left: 1px solid #b2b2b2;
  border-right: 1px solid #b2b2b2;
  border-bottom: 1px solid #b2b2b2;
}
.formRow:first-child:not(.formNoBdr){
  border-top: 1px solid #b2b2b2;
}
.formRow+.formRow{
}
.formRow.formNoBdr{
  border: 0;
}
.formRow .formTh,
.formRow .formTd{
  padding-top: 12px;
  padding-bottom: 12px;
}
.formRow .formTh{
  padding-top: 15px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: #f0f0f0;
}
.formRow .formTd .label + .radio{
  margin-left: 20px;
}
.formRow .formTh label{
  margin-bottom: 0;
}
.formRow .formTd .radio{
  margin-right: 1em;
}
.formRow .requiredText{
  /*float: right;*/
  background: #b80000;
  color: #FFF;
  font-size: 13px;
  font-weight: 700;
  padding: 2px 12px;
  margin-bottom: 0;
}
.formRow input[type="text"],
.formRow input[type="email"],
.formRow input[type="tel"]{
  width: 460px;
  max-width: 100%;
  height: 40px;
  padding: 0 10px;
}
.formWrap .radioArea{
  
}
.formWrap .radioArea>div{
  /*margin-right: 50px;*/
  width: 220px;
}
.formWrap .radioArea>div input{
  margin-right: 15px;
}
.formRow textarea{
  width: 100%;
  height: 280px;
  padding: 10px;
}
.formRow .formSend{
  border: 0;
  background: #00bfff;
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  width: 314px;
  max-width: 100%;
  padding: 10px;
  cursor: pointer;
}
.formRow .formSend:hover{
  opacity: 0.9;
}
.formRow .accept_txt{
  font-size: 17px;
  letter-spacing: 0.1em;
}
.formRow .accept_txt .check{
   margin-right: 10px;
 }
.formRow .accept_txt a{
  color: #1a3e9b;
}


/* プライバシーポリシー */
#privacy-policy{
  margin-top: 150px;
}
.privacy_tt{
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 30px;
}

.privacy_tt .dots{
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.privacy_tt .dots i{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #c1c1c1;
  margin: 0 8px;
}

.privacy_items{
  
}
.privacy_items .item{
  line-height: 1.6;
}
.privacy_items .item + .item{
  margin-top: 40px;
}
.privacy_items .item h4{
  font-size: 18px;
  
  border-left: 6px solid #6495ed;
  padding-left: 15px;
  margin-bottom: 10px;
  line-height: 2.33;
}
.privacy_items .item .txt{
  line-height: 1.875;
}
.privacy_items .item ul{
  list-style: none;
}
.privacy_items .item ul.latin{
  list-style: lower-latin;
}

.privacy_items .item ul li{
  text-indent: -1em;
  padding-left: 1em;
}
.privacy_items .item ol{
}




@media only screen and (max-width: 1199px){
  header .gnav{
    padding-bottom: 5px;
  }
  header .gnav p{
    padding: 0 5px;
  }
  header .hdr_contact{
    padding-left: 0;
  }
  
  footer .ftr1 .ftr_btn {
    width: 35%;
    margin-right: 1%;
  }
  footer .ftr1 .ftr_btn img{
    width: 100%;
  }
  footer .ftr1 span {
    width: 26%;
    padding: 0 18px;
    margin-left: 2%;
  }
  footer .ftr1 span img{
    width: 100%;
  }
  
  
  /****************************************
  *　HOME
  ****************************************/
  .mv .container {
    height: 60vw;
  }
  .pg_home .section#sec6 .img {
    height: 35vw;
  }
.pg_home .section#sec5 .bg {
    padding: 35px 180px 50px 50px;
  }
  

  /****************************************
  *　コンセプト
  ****************************************/
  .pg_concept .section#sec2 .list p {
    width: 100%;
  }
  
  /****************************************
  *　美容整骨とは
  ****************************************/
  .pg_about .section#sec2 .img {
    width: 42%;
  }

  /****************************************
  *　施術メニュー
  ****************************************/
  .pg_menu .section#sec1 .bg .pc{
    display: none!important;
  }

  /****************************************
  *　ファスティング
  ****************************************/
  .pg_fasting .section#sec2 .container{
    overflow-x: hidden; 
  }
  .pg_fasting .section#sec2 .row > div:nth-child(n+3){
    margin-top: 30px;
  }
  
  /****************************************
  *　スクール情報
  ****************************************/
  .pg_school .course .text-center .ttl:before, 
  .pg_school .course .text-center .ttl:after {
    width: 100px;
  }
}

@media only screen and (max-width: 991px){
  body{
    padding-top: 181px;
  }
  header{
    padding: 10px 0;
  }
  header .hdr_logo{
    margin-bottom: 20px;
    text-align: center;
  }
  
  header .gnav{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FFF;
    padding: 0;
    z-index: 10;
    overflow-y: scroll;

    /*transition: all 0.2s;*/
    transform: translateX(100%);
    padding: 15px;
  }
  header .gnav.active{
    transform: translateX(0%);
  }
  header .gnav .nav{
    display: block;
    border-top: 0;
    margin: 50px 0 0 auto;
  }
  header .gnav > .nav > p{
    width: 100%;
    padding: 0;
    border: 0;
    border-bottom: 1px dashed #CCC;
    text-align: center;
  }
  header .gnav > .nav > p + p,
  header .gnav > .nav > p:first-child,
  header .gnav > .nav > p:last-child{
    border-left: 0;
    border-right: 0;
  }
  header .gnav > .nav > p a{
  	width: 100%;
    font-size: 16px;
    padding: 15px 0;
    display: block;
  }
  header .tb.menu{
    font-size: 38px;
    position: absolute;
    right: 40px;
    top: 20px;
    z-index: 999;
  }
  
  footer .ftr1 .bg {
    padding: 30px 30px 40px;
  }
  footer .ftr2 .ftr_links p a {
    font-size: 12px;
  }
  
  .pc{
    display: none!important;
  }
  .tb{
    display: block!important;
  }
  
  /****************************************
  *　HOME
  ****************************************/
  .mv .mv_txt{
    width: 70%;
  }  
  .pg_home .section#sec2 .col-lg-4,
  .pg_home .section#sec2 .col-lg-8{
    padding: 0;
  }
  .pg_home .section#sec2 .link_1{
    margin-top: 40px;
  }
  .pg_home .section#sec3{
    text-align: center;
  }
  .pg_home .section#sec4 .box a {
    height: 180px;
    padding: 0 10px;
  }
  .pg_home .section#sec4 .box .ttl {
    width: 201px;
    height: 104px;
    padding: 20px 0 0;
  }
  .pg_home .section#sec5 .img {
    width: 42%;
  }
  .pg_home .section#sec5 .bg {
    padding: 35px 80px 50px 30px;
  }

  /****************************************
  *　コンセプト
  ****************************************/
  .pg_concept .section#sec2 .bg {
    padding: 28px 10px 20px;
  }
  .pg_concept .section#sec2 .col-6 + .col-6 p,
  .pg_concept .section#sec2 .col-6 + .col-6 p:nth-child(even){
    width: 100%;
    padding: 0 10px;
  }
  
  /****************************************
  *　美容整骨とは
  ****************************************/
  .pg_about .section#sec2 .bg,
  .pg_about .section#sec2 .list .row:nth-child(even) .bg{
    height: auto;
    padding: 30px 10px;    
    background-position: 1% -30px, 104% 130%;
    background-size: 100px auto, 120px auto;
  }
  .pg_about .section#sec2 .img {
    width: 100%;
    margin: 0 15px 10px;
    text-align: center;
    position: inherit;
    right: 0;
    top: 0;
    order: 1;
  }
  .pg_about .section#sec2 .list .row:nth-child(even) .img {
    right: inherit;
    left: 0;
  }
  .pg_about .section#sec2 .col-12{
    order: 2;
  }
  .pg_about .section#sec2 .list .row {
    margin-top: 55px;
  }
  
  /****************************************
  *　施術メニュー（詳細）
  ****************************************/
  .pg_menu_d .column .price{
    margin: 0 auto;
  }
  .pg_menu_d .col-lg-5{
    margin-top: 30px;
    text-align: center;
  }
  .pg_menu_d .menu_d .row > div:nth-child(n+3){
    margin-top: 30px;
  }

  /****************************************
  *　ファスティング
  ****************************************/
  .pg_fasting .tt2{
    font-size: 24px;
  }
  .pg_fasting .tt2 span {
    font-size: 18px;
  }
  .pg_fasting .section#sec2 .ttl:before, 
  .pg_fasting .section#sec2 .ttl:after {
    width: 100px;
  }
  .pg_fasting .section#sec1 .text-center .ttl:before, 
  .pg_fasting .section#sec1 .text-center .ttl:after {
    margin: 0 20px;
  }

  /****************************************
  *　初めての方へ
  ****************************************/
  .pg_first .section#sec1 .bg {
    min-height: 240px;
    padding: 35px 100px 20px 22px;
  }
  .pg_first .section#sec2 .row > div:not(:first-child),
  .pg_first .section#sec2 .row > div:nth-child(n+3) {
    margin-top: 20px;
  }
  
  /****************************************
  *　スクール情報
  ****************************************/
  .pg_school .course .flow > div:nth-child(n+3),
  .pg_school .section#sec3 .row > div:nth-child(n+3){
    margin-top: 20px;
  }

}

@media only screen and (max-width: 767px){
  body{
    font-size: 14px!important;
    padding-top: 0;
    padding-bottom: 66px;
    position: relative;
  }
  header{
    position: inherit;
  }
  header .hdr_logo {
    margin-bottom: 0;
  }
  header .hdr_contact .btns{
    display: none;
  }
  header .box2{
    text-align: center!important;
  }  
  header .gnav .nav {
    margin: 0;
  }
  
  
  .footer_fix{
    display: block;
  }
  
  footer .ftr1 {
    padding: 50px 0 40px;
  }
  .tt1_en {
    font-size: 14px;
  }
  .tt1 {
    font-size: 20px;
    margin-bottom: 25px;
  }
  footer {
    margin-top: 100px;
  }
  footer .ftr1 .ftr_btn {
    width: 100%;
    margin-right: 0;
  }
  footer .ftr1 .ftr_btn.mail{
    margin: 15px 0;
  }
  footer .ftr1 span {
    width: 100%;
    margin-left: 0;
  }
  footer .ftr2 .ftr_links {
    margin: 0 -8px;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  footer .ftr2 .ftr_links p{
    padding: 0 8px;
  } 
  footer .ftr3 .ftr_addr {
    font-size: 13px;
  }
  footer .ftr_copy {
    font-size: 11px;
  }
  
  .pc,
  .tb{
    display: none!important;
  }
  .sp{
    display: block!important;
  }
  
  /****************************************
  *　HOME
  ****************************************/
  .mv {
    margin-bottom: 60px;
  }
  .pg_home .section#sec1 {
    padding-bottom: 40px;
  }
  .pg_home .section#sec2 .row{
  	padding: 0 15px;
  }
  .pg_home .section#sec3 {
    padding: 55px 0;
  }
  .top_concept .list {
    font-size: 18px;
  }
  .pg_home .section#sec4 .flex {
    margin: 40px 0 10px;
  }
  .pg_home .section#sec4 .box {
    width: 100%;
  }
  .pg_home .section#sec4 .box a {
    height: 65vw;
  }
  .pg_home .section#sec5 {
    padding: 50px 0;
  }
  .pg_home .section#sec5 .bg {
    padding: 25px 10px;
  }
  .pg_home .section#sec5 .img {
    width: 100%;
    position: inherit;
    right: 0;
    top: 0;
    margin: 0 15px;
  }
  .pg_home .section#sec6 .img {
    height: 55vw;
  }
  .pg_home .section#sec6 .tt1 {
    margin-bottom: 30px;
  }
  .pg_home .section#sec6 .box {
    margin: 0 -5px 30px;
  }
  .pg_home .section#sec6 .flex {
    margin: 40px 0 0;
  }
  .pg_home .section#sec6 .flex .link_1 + .link_1{
    margin-top: 20px;
  }

  /****************************************
  *　コンセプト
  ****************************************/
  .pg_header .container {
    height: 150px;
    background: url(/system_panel/uploads/images/c_hdr_bg_1.png?1) no-repeat left -25px / 80px auto, 
      url(/system_panel/uploads/images/c_hdr_bg_2.png?1) no-repeat right 110px / 80px auto;
  }
  .pg_header .txt_box {
    width: 300px;
    height: 87px;
  }
  .pg_header .txt_box .mincho {
    font-size: 21px;
    text-indent: 0;
  }
  
  .pg_concept .section#sec1 .trouble .large {
    font-size: 18px;
  }
  .pg_concept .section#sec1 .trouble .col-12 p {
    font-size: 16px;
    padding: 15px 0;
  }
  .pg_concept .section#sec2 {
    padding: 10px 0;
    margin: 25px 0 0;
  }
  .pg_concept .section#sec2 .mincho {
    font-size: 20px;
  }
  .pg_concept .section#sec2 .col-12 + .col-12{
    margin-top: 15px;
  }
  .pg_concept .section#sec3 {
    padding: 50px 0 0;
  }
  .pg_concept .section#sec3 h2 {
    font-size: 18px;
    padding: 18px;
    margin-bottom: 25px;
  }
  .pg_concept .section#sec3 .col-12 + .col-12,
  .pg_concept .section#sec3 .row > div:nth-child(n+3){
    margin-top: 15px;
  }
  
  /****************************************
  *　美容整骨とは
  ****************************************/
  .tt2 {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .pg_about .section#sec1 .text-center .ttl {
    font-size: 18px;
  }
  .pg_about .section#sec1 .text-center .ttl:before, 
  .pg_about .section#sec1 .text-center .ttl:after {
    width: 70px;
    height: 2px;
    margin: 0 5px;
  }
  .pg_about .section#sec1 .box .bg{
    font-size: 15px;
    padding: 10px;
  }
  .pg_about .section#sec1 .box p {
    text-align: left;
  }
  .pg_about .section#sec1 .box .red {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
  }
  .pg_about .section#sec2 {
    padding: 50px 0 0;
  }
  .pg_about .section#sec2 .list .row {
    margin-top: 35px;
  }
  .pg_about .section#sec2 .bg h3 {
    font-size: 20px;
    margin-bottom: 15px;
  }
  .pg_about .section#sec2 .bg p{
    text-align: left;
    margin-bottom: 0;
  }

  /****************************************
  *　施術メニュー
  ****************************************/
  .pg_menu .section#sec1 .ttl {
    font-size: 20px;
  }
  .pg_menu .section#sec1 .row > div:not(:first-child),
  .pg_menu .section#sec1 .row > div:nth-child(n+3) {
    margin-top: 25px;
  }
  
  /****************************************
  *　施術メニュー（詳細）
  ****************************************/
  .pg_menu_d .ttl h2 {
    font-size: 20px;
  }
  .pg_menu_d .ttl {
    padding: 16px 0 5px;
    margin-bottom: 20px;
  }
  .pg_menu_d .ttl .ab {
    font-size: 12px;
    position: inherit;
    bottom: 0;
    text-align: right;
    margin-top: 10px;
  }
  .pg_menu_d .column .price {
    padding: 15px 10px;
    background: #d4f2fc;
    display: block;
  }
  .pg_menu_d .column .price .tt {
    width: 100%;
  }
  .pg_menu_d .column .price .con{
    width: 100%;
    padding-left: 0;
    text-align: center;
  }
  .pg_menu_d .col-lg-5 {
    margin-top: 10px;
  }
  .pg_menu_d .section#sec2, 
  .pg_menu_d .section#sec3, 
  .pg_menu_d .section#sec4 {
    margin-top: 60px;
  }
  .pg_menu_d .menu_d .bg{
    min-height: inherit;
  }
  .pg_menu_d .menu_d .row > div:not(:first-child),
  .pg_menu_d .menu_d .row > div:nth-child(n+3) {
    margin-top: 15px;
  }
  .pg_menu_d .section#sec4 .column .price {
    margin-top: 10px;
  }
  .pg_menu_d .section#sec4 .column .rule {
    margin-top: 20px;
  }

  /****************************************
  *　ファスティング
  ****************************************/
  .pg_fasting .tt2 {
    font-size: 20px;
  }
  .pg_fasting .tt2 span {
    font-size: 14px;
    line-height: 1.5;
    display: inline-block;
  }
  .pg_fasting .section#sec1 .text-center .ttl {
    font-size: 16px;
    line-height: 1.5;
  }
  .pg_fasting .section#sec1 .text-center .ttl:before, 
  .pg_fasting .section#sec1 .text-center .ttl:after {
    width: 50px;
    margin: 0 5px;
  }
  .pg_fasting .section#sec1 {
    padding: 0 0 30px;
    margin-bottom: 5px;
  }
  .pg_fasting .section#sec2 .blue {
    font-size: 16px;
  }
  .pg_fasting .section#sec2 .row > div:nth-child(n+2),
  .pg_fasting .section#sec2 .row > div:nth-child(n+3) {
    margin-top: 30px;
  }
  .pg_fasting .section#sec2 .red {
    font-size: 13px;
    padding-right: 0;
  }

  /****************************************
  *　初めての方へ
  ****************************************/
  .pg_first .section#sec1 {
    padding: 0;
  }
  .pg_first .section#sec1 .col-md-5 {
    position: inherit;
    right: 0;
    top: 0;
    margin-top: 10px;
    text-align: center;
  }
  .pg_first .section#sec1 .bg {
    min-height: inherit;
    padding: 25px 10px;
  }
  .pg_first .section#sec1 .num {
    width: 50px;
  }
  .pg_first .section#sec1 .txt {
    width: calc(100% - 50px);
    padding-left: 10px;
  }
  .pg_first .section#sec1 .txt h3 {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .pg_first .section#sec1 .txt p{
    margin-bottom: 0;
  }
  .pg_first .section#sec1 .row:not(:first-child) {
    margin-top: 30px;
  }
  .pg_first .section#sec1 .txt a {
    width: 225px;
    margin: 20px auto 0;
  }
  .pg_first .section#sec2 {
    padding: 80px 0 0;
  }
  .pg_first .section#sec2 .faq .tt span {
    width: 71.5px;
    height: 40px;
    left: -26px;
  }
  .pg_first .section#sec2 .faq .tt{
    font-size: 16px;
    padding: 15px 15px 13px 54px;
  }
  .pg_first .section#sec2 .faq{
    min-height: inherit;
    padding: 0 10px 20px;
  }
  
  /****************************************
  *　スクール情報
  ****************************************/
  .pg_school .course .text-center .ttl {
    font-size: 16px;
  }
  .pg_school .course .text-center .ttl:before, 
  .pg_school .course .text-center .ttl:after {
    width: 35px;
    margin: 0 5px;
  }
  .pg_school .course h3 {
    font-size: 18px;
  }
  .pg_school .course .flow > div:nth-child(n+2), 
  .pg_school .section#sec3 .row > div:nth-child(n+2) {
    margin-top: 20px;
  }
  .pg_school .course .link {
    width: 300px;
    margin: 40px auto 0;
    padding: 14px;
  }
  .pg_school .course .link strong{
    font-size: 16px;
  }
  .pg_school .section#sec2 {
    padding: 80px 0 0;
  }
  .pg_school .section#sec3 {
    padding: 100px 0 0;
  }
  .pg_school .section#sec3 .tt1 {
    margin-bottom: 30px;
  }
  .pg_school .section#sec3 .row > div{
    text-align: center;
  }
  .pg_school .course .flow .bg {
    min-height: inherit;
  }
  
  /****************************************
  *　アクセス
  ****************************************/
  .pg_access .section#sec1 .info {
    height: auto;
    padding: 40px 30px;
  }
  .pg_access .section#sec1 .info h2 {
    font-size: 18px;
  }
  .pg_access .section#sec1 .info span{
    margin-left: 0;
    display: block;
  }
  .pg_access .section#sec1 .info p{
    margin-bottom: 0;
  }
  .pg_access .section#sec2 .ttl {
    font-size: 18px;
  }
  .pg_access .section#sec2 .ttl:before, 
  .pg_access .section#sec2 .ttl:after {
    width: 80px;
    margin: 0 10px;
  }
  .pg_access .section#sec2 .row > div{
    text-align: center;
  }
  .pg_access .section#sec2 .row > div:nth-child(n+2){
    margin-top: 25px;
  } 
  .pg_access .section#sec2 .row > div:not(:last-child):after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);
    width: 102px;
    height: 16px;
    background: url(/system_panel/uploads/images/access_arrow_3.png) no-repeat center / contain;
  }
  .pg_access .section#sec2 .row > div:nth-child(2):before, 
  .pg_access .section#sec2 .row > div:nth-child(3):before,
  .pg_access .section#sec2 .row > div:nth-child(5):before, 
  .pg_access .section#sec2 .row > div:nth-child(6):before{
    display: none;
  }
  
  /****************************************
  *　お知らせ
  ****************************************/
  .pg_news .webgene-item time,
  .pg_news .webgene-item .webgene-item-title{
    width: 100%;
  }
  .pg_news .webgene-item {
    padding-bottom: 10px;
  }
  .pg_news .webgene-item + .webgene-item {
    margin-top: 15px;
  }
  .pg_news .webgene-pagination {
    margin-top: 50px;
  }
  .pg_news .webgene-pagination li a {
    padding: 3px 11px;
  }
  
  /* 詳細 */
  .pg_news_d .webgene-item {
    padding: 20px 10px;
  }
  .pg_news_d .title {
    font-size: 18px;
    line-height: 1.5;
  }
  .pg_news_d .go_news{  
    margin: 30px auto 0;
  }
  
/****************************************
*　お問い合わせ
****************************************/
  .contact_tt {
    font-size: 20px;
    padding-left: 0;
  }
  #privacy-policy {
    margin-top: 100px;
  }
  .formWrap{
    padding: 015px;
  }
}