/* CSS Document */
.pc_none{
  display: none;
}
@media screen and (max-width: 768px){

/*
-------------------------------
共通
-------------------------------
*/
html{
  font-size:41.6%;
}

.pc_none{
  display: block;
}
.sp_none{
  display: none !important;;
}
/* ---kv--- */
.kv{
  height:fit-content;
}
.kv_sp{
  margin-top:-23vw;
}
/* ---section1--- */
.section1{
  padding:0 5% 80px;
  margin-top:-20px;
  overflow: hidden;
}
.section1_table_content h4{
  margin:25px auto 15px;
}
[class^="section1_image"]{
  position:static;
}
.section1_image2{
  top:0;
  right:0;
  width:120%;
  margin-left:-13%;
}
.section1_head h3{
  margin-top:-1em;
  text-align: center;
}
.section1_head p{
  width:100%;
  margin:1em auto;
  text-align: center;
}
.section1_head p span{
  font-size:1.8rem;
  margin-top:1rem;
}
h4.shop_name{
  position:static;
  font-size:4.6rem;
  bottom:0;
  left:0;
  transform: none;
}
.section1_table_content{
  margin-top:0;
}
.section1_table_content h3{
  font-size:2.8rem;
}
.table_wrapper{
  width:calc(100% - 10px);
  margin:0 auto;
  overflow-x: scroll;
  position:relative;
}
.sp_scroll_icon{
  color:#fff;
  text-align: center;
  width:60%;
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  background-color: rgba(0, 0, 0, 0.6);
  padding:30px;
  font-size: 2.4rem;
}
.sp_scroll_icon img{
  width:50%;
}
table.comparison{
  width:260vw;
  font-size:16px;
}
.section1_table_content p{
  padding-left:10px;
  font-size:1.8rem;
}
/* ---section2--- */

.section2 h3.clinic_subtitle{
  width:74%;
}
.section2 img{
  width:100%;
}
.clinic_detail_head{
  display: block;
  width:90%;
  margin:0 auto;
}
.clinic_detail_head p{
  padding:3rem;
}
.clinic_detail_head p::before{
  content:"";
  position:absolute;
  width:0;
  height:0;
  top:0;
  left:-160px;
  background: rgba(39,57,129,0.5);
  display: none;
}
.clinic_detail_top{
  background: url(../images/sp/section2_bg1.png) top center no-repeat;
  background-size: cover;
}
.clinic_detail_bottom p{
  padding:2rem 5%;
}
.clinic_detail_bottom p.bold{
  padding:0;
}
span.attention{
  font-size:1.8rem;
  padding-right:0;
  display: block;
}
.clinic_detail_btn{
  display: block;
  width:80%;
  margin:30px auto 0;
}
.clinic_detail_btn a{
  width:100%;
  margin-bottom:10px;
}

/* ---reason--- */
.reason{
  padding:0 3%;
}
.reason_head {
  height:250px;
}
.reason_title{
  width:100%;
  bottom:0;
}
.reason_title h3 span{
  padding:0.4rem 1rem;
}
.reason_title h3 span.fc_white{
  margin-left: 1rem;
  font-size:5.8rem
}
.reason_head img {
  width:80%;
  right:0;
}
.reason_content.re{
  padding-top:50px;
  width:calc(100% - 20px);
  margin:0 0 0 auto;
}
.reason_content.th{
  padding-top:50px;
}
.reason_content h4.reason_content_title{
  right:-25%;
  top:200px;
  font-size:4rem;
}
.reason_content.re h4.reason_content_title{
  left:-25%;
  top:370px;
  font-size:4rem;
}
.reason_content.th h4.reason_content_title{
  top:370px;
}
.reason_inner{
  display: block;
  width:100%;
  margin:0 auto;
  background: transparent;
  box-shadow: none;
}
.reason_content.re .reason_inner{
  margin:120px auto 0;
}
.reason_inner img{
  width:95%;
}
.reason_detail{
  width:calc(100% - 20px);
  margin:-70px auto;
  display: flex;
  padding:64px 20px 20px;
  background: url(../images/reason_content_bg.jpg) bottom right no-repeat;
  background-size: cover;
  box-shadow: 3px 3px 7px 0px rgba(0, 0, 0, 0.2);
  display: block;
}
.reason_detail h4.reason_inner_title{
  font-size:3rem;
}
.reason_detail p{
  margin-top:25px;
}

/* ---section3--- */
.section3{
  padding:60px 5%;
  margin-top:120px;
  background: url(../images/sp/section3_bg.png) top center no-repeat;
  background-size: cover;
}
.section3_head,.section3_content{
  display: block;
}
.section3_head{
  text-align: center;
}
.section3_head p{
  width:100%;
}
.section3_inner{
  display: block;
  width:100%;
  margin-bottom:20px;
}
.section3_inner img{
  width:100%;
}
.section3_detail{
  padding:20px;
  margin-right:0;
  text-align: center;
}
.section3_inner h4{
  width:100%;
}
.section3_inner h5{
  font-size:2.6rem;
  font-weight: var(--font-bold);

}
.section3_inner p{
  font-size:2.3rem;
}
.section3_inner p span{
  font-size:1.4rem;
  text-align: left;
}
.clinic_detail_under h3{
  text-decoration: none;
  line-height: 2;
}
.clinic_detail_under h3 span.under_line{
  font-weight:var(--font-bold);
  text-decoration: underline;
  text-underline-offset: 0.4em;
  text-decoration-thickness: 3px;
  margin-bottom:2.4rem;
}
.clinic_detail_under h3 span.under_line::after{
  display: none;

}
/* ---point--- */
.point{
  padding:0;

}
.point ul{
  display: block;
  padding:40px 5%;
}

.point ul li{
  width:100%;
  margin-top:20px;
  display: flex;
  flex-direction: row;
}
.point ul li h3{
  margin:-12px -5% 6px auto;
  position: relative;
  z-index: 1;
  width:76px;
  height:20px;
  line-height: 20px;
}
.point_detail{
  width:60%;
}
.card_image{
  width:40%;
  margin-top: 0;
}
.section2.mid .clinic_detail_under{
  background: url(../images/sp/section2_bg2.png) center center no-repeat;
  background-size: cover;
}
/* ---point--- */
.price{
  padding:60px 5%;
}

/* ---flow--- */
.flow h2{
  margin-bottom:40px;
}
.flow-step{
  position:static;
  display: flex;
  height:100%;
  padding-bottom: 20px;
}

.flow-number-container{
  width:70px;
}
.flow-number{
  height:60px;
  width:60px;
  border-radius: 30px;
  padding-top:12px;
}
.flow-number.line::after{
  height:280px;
  bottom:-270px;
}
.flow-content-container{
  display: block;
  position: static;
  padding-right:10px;
}
.flow-text{
  padding-top:0;
  width:100%;
  padding-right:0;
}
.flow-text h3{
  font-size:2.5rem;
}
.flow-text p{
  margin-top:10px;
  font-size:2rem;
  margin-bottom:1em;
}
.flow-image{
  width:100%;
}
/* ---faq--- */
.faq dl{
  font-size:2.2rem;
}
.faq dl dt, .faq dl dd{
  padding:10px 8px;
}
.faq dl dd span:nth-child(2){
  font-size:2rem;
}
/* ---guidance--- */
.guidance{
  padding:60px 5%;
}
.guidance_content{
  padding:40px 0;
  margin-top:40px;
}
.guidance_head{
  display: block;
}
.guidance_info{
  text-align: center;
  padding-bottom:30px;
}
.guidance_info h3{
  font-size:3rem;
  color:#39B6FA;
  margin-bottom: 50px;
}
.address,.tel{
  text-align: center;
  font-size: 1.8rem;;
}
.calender{
  width:100%;
  background-color: #E9EBF2;
  padding-top:30px;
}
.calender h4{
  font-size:2rem;
}
.calender_wrap{
  background-color: #E9EBF2;
  padding:0 10px 30px;
  margin-top:1.5rem;
}
.calender_wrap table{
  width:100%;
  font-size:2rem;
}
.calender_wrap table tr th{
  padding:0.4em 0;
}
.calender_wrap table tr th.date{
  text-align: center;
}
.calender_wrap table tr:nth-child(2){
  border-top:1px solid #293B82;
  border-bottom:1px solid #293B82;
}
.calender_wrap table tr th:first-child{
  width:146px;
  font-size:1.8rem;
}
.guidance_content iframe{
  margin:0 auto 30px;
  width:100%;
  height:200px;
}
.reserve_btn{
  display: block;
}
.reserve_btn a{
  display: block;
  margin-bottom:10px;
}
.calender_wrap table tr.exec{
  border-bottom:1px solid #293B82;
}
.calender_info{
  display: flex;
  justify-content: space-between;
  margin-top:8px;
}
.calender_info p{
  font-size:1.4rem;
  color:#293B82;
  display: inline;
}
/* 固定追従ボタン */

.fixed-buttons_wrap{
  max-width:814px;
  margin:0 auto;
  display: flex;
  gap:7px;
  align-items: center;
  justify-content: space-around;
  padding:0 2%;
}
.fixed-buttons.show {
  opacity: 1;
  pointer-events: auto;
}
.fixed-buttons a.btn:first-child{
  background-color: #191F39;
}
.fixed-buttons a.btn {
  display: flex;
  font-size:2.2rem;
  line-height: 1.5;
  width: 50%;
  padding: 12px 0;
  text-align: center;
  background: #273981;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  margin:24px auto;
  flex-direction: column
}
.fixed-buttons a.btn span{
  font-size:1.8rem;

}

}