.lp_main{
  font-family: var(--NotoSans);
}


.lp_top{
  padding: .1px 2rem;
  aspect-ratio: 1280/780;
  width: 100%;
  background-image: url(../img/555039578386858173.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.lp_text{
  margin-top: 47.5rem;
  color: white;
  font-size: 5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: calc(65em/50);
}

.lp_top_buttons{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  margin-top: 2.3rem;
  width: 100%;
  height: fit-content;
}

.lp_top_button{
  aspect-ratio: 280/50;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28rem;
  border-radius: 2.5rem;
  color: white;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.lp_top_button:hover{
  animation: poyo 2s ease-out infinite;
}

.lp_top_button.tel{
  background-color: #F3CE00;
}

.lp_top_button.contact_button{
  background-color: #F38200;
}


/* 不安 */
.anxiety{
  padding: .1px 0 26.8rem;
  position: relative;
  width: 100%;
  background-image: url(../img/moyamoya.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.anxiety_fukidashi_wrap{
  position: absolute;
  top: 0;
  left: 0;
  padding: 11.51rem 6.5rem 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.anxiety_fukidasi_vertical{
  aspect-ratio: 348/475;
  width: 34.8rem;
}

.anxiety_fukidasi{
  aspect-ratio: 275/228.7;
  width: 27.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/fukidashi.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.anxiety_fukidasi:last-child {
  margin-top: 1.79rem;
}

.anxiety_fukidasi_vertical:first-child .anxiety_fukidasi:first-child,
.anxiety_fukidasi_vertical:last-child .anxiety_fukidasi:last-child{
  margin-left: auto;
}


.anxiety_fukidasi_vertical:first-of-type .anxiety_fukidasi{
  transform:scale(-1, 1);
} 

.anxiety_fukidasi_text{
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: calc(35em/16);
}

.anxiety_fukidasi_vertical:first-of-type .anxiety_fukidasi_text{
  transform:scale(-1, 1);
}

.anxiety_birds{
  margin: 7.1rem auto 0;
  width: 45rem;
  height: fit-content;
  text-align: center;
}

.anxiety_mini_text,
.anxiety_mini_text .orange{
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.anxiety_mini_text .orange{
  color: #F38200;
}

.anxiety_text{
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.anxiety_text .orange{
  color: #F38200;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
  padding: .5rem;
}

.anxiety_text:first-of-type{
  margin-top: 1.5rem;
}

.anxiety_text:last-of-type{
  margin-top: -3rem;
}


.anxiety_bird{
  margin: 6.9rem auto 0;
  aspect-ratio: 309/428;
  width: 30.9rem;
}

/* 強み */
.strengths{
  padding: 6.1rem .1px 31.5rem;
  margin-top: -24.2rem;
  position: relative;
  width: 100%;
  background-image: url(../img/str_bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.strengths_title{
  color: white;
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.strengths_contents{
  margin: 12.3rem auto;
  width: 115rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12.2rem 5rem;
}

.strengths_content{
  position: relative;
  padding: 6rem 2.5rem 3.7rem;
  aspect-ratio: 350/480;
  width: 35rem;
  background-color: white;
}

.strengths_content_num{
  position: absolute;
  top: -5.2rem;
  left: -2.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  aspect-ratio: 1/1;
  width: 13rem;
  background-image: url(../img/point_outer.svg);
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
  text-align: center;
}

.strengths_content_num .num_top{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.strengths_content_num .num_buttom{
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.strengths_content_img{
  aspect-ratio: 3/2;
  width: 30rem;
  overflow: hidden;
}

.strengths_content_title{
  margin-top: 2rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.strengths_content_desc{
  margin-top: 1.2rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(25em/15);
}

/* facility */
.facility{
  position: relative;
  padding: 0.1px 0 5rem;
  margin-top: -21.2rem;
  width: 100%;
  background-image: url(../img/facility_bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.facility_title{
  margin: 8rem auto 0;
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.facility_slide{
  margin-top: 7.3rem;
  width: 100%;
  overflow: hidden;
}

.facility_slide_content{
  padding: 0 3.5rem;
  aspect-ratio: 97/48;
  width: 97rem;

} 

.swiper_slide_inner{
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 2rem;
}

.facility_slide_pagination{
  margin: 3.5rem auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
}

.swiper-pagination-bullet{
  display: block;
  margin: 0!important;
  aspect-ratio: 1/1;
  width: 1.5rem;
  height: auto;
  border-radius: 50%;
  border: .1rem solid black;
  background: white;
  opacity: 1;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active{
  background: #000;
}

.swiper_nav{
  position: absolute;
  top: 41rem;
  aspect-ratio: 1/1;
  width: 8rem;
  background-image: url(../img/nav_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 2;
}

.swiper_nav.prev{
  left: 8rem;
}

.swiper_nav.next{
  right: 8rem;
  transform: scale(-1,1);
}

/* toex */
.toex{
  position: relative;
  width: 100%;
  padding: .1px 0 14rem;
}

.toex_title{
  margin-top: 6rem;
  color: #F38201;
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
  position: relative;
}
.toex_title::before {
  content: '';
  width: 3.848rem;
  height: 0.3rem;
  background-color: #F38201;
  transform: rotate(70deg);
  position: absolute;
  top: 2.2rem;
  left: 39.5rem;
}
.toex_title::after {
  content: '';
  width: 3.848rem;
  height: 0.3rem;
  background-color: #F38201;
  transform: rotate(-70deg);
  position: absolute;
  top: 2.2rem;
  right: 40.3rem;
}

.toex_content{
  margin-top: 12rem;
  padding: 0 8rem;
  display: flex;
  gap: 6rem;
  align-items: center;
}

.toex_content.rev{
  flex-direction: row-reverse;
  margin-top: 1.5rem;
}

.toex_image{
  position: relative;
  aspect-ratio: 540/420;
  width: 54rem;
}

.toex_image::after{
  content: "";
  position: absolute;
  top: -.4rem;
  left: -.4rem;
  aspect-ratio: 547.98/427.87;
  width: 54.798rem;
  background-image: url(../img/toex_image_outer.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.toex_image_inner{
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.toex_details{
  width: 51rem;
}

.toex_detail_title{
  display: flex;
  align-items: center;
  padding-left: 1.5rem;
  aspect-ratio: 120/58;
  width: 12rem;
  background-image: url(../img/toex_title_bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.doex_detail_text{
  margin-top: 3.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/16);
}

.toex_detail_button{
  margin-top: 5.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F38200;
  border-radius: 2.5rem;
  aspect-ratio: 280/50;
  width: 28rem;
  color: white;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.toex_detail_button:hover {
  animation: poyo 2s ease-out infinite;
}

.toex_snake_arrow{
  margin: 1.5rem auto 0;
  aspect-ratio: 36/20;
  width: 36rem;
  background-image: url(../img/snake_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

/* fee */
.fee{
  position: relative;
  margin-top: -4.3rem;
  padding: .1px 0 7.7rem;
  width: 100%;
  background-image: url(../img/fee_bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.fee_title_outer{
  margin: 7.2rem auto 0;
  aspect-ratio: 534/140;
  width: 53.4rem;
  background-image: url(../img/title_outer.svg);
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fee_title{
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.fee_emphasis{
  margin-top: 2.3rem;
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/30);
}

.fee_emphasis span{
  color: red;
  font-weight: 500;
}

.fee_emphasis_small{
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/16);
}

.fee_table{
  margin: 2.7rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  width: 74.5rem;
}

.fee_table_line{
  display: flex;
  gap: 2rem;
  font-size: 2rem;
}

.fee_table_head{
  display: flex;
  justify-content: center;
  padding: 2.2rem 0;
  background-color: #F38201;
  width: 20rem;
  text-align: center;
  color:white;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.fee_table_line:nth-child(n+2) .fee_table_head{
  align-items: center;
}

.fee_table_cell{
  background-color: #fff;
  display: flex;
  align-items: center;
  padding: 2.1rem 5rem;
  width: 52.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/20);
}

.supplement{
  margin: 1.4rem auto 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/16);
}

/* feedback */

.feedback{
  position: relative;
  margin-top: 7.5rem;
  width: 100%;
  padding: .1px;
}

.feedback::before,
.feedback::after{
  content: "";
  position: absolute;
  aspect-ratio: 641/75;
  width: 64.1rem;
  top: -7.5rem;
  z-index: -1;
}

.feedback::before{
  background-color: #FFF2A7;
  left: 0;
}

.feedback::after{
  background-color: #FFA43C;
  right: 0;
}

.feedback_inner{
  background-color: #FFFAE0;
  width: 100%;
  padding: .1px 0 9.7rem;
}

.feedback_title{
  padding: .1px;
  margin: -3.75rem auto 0;
  aspect-ratio: 708/151.98;
  width: 70.8rem;
  background-image: url(../img/ribbon.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.feedback_title_text{
  margin-top: 1.5rem;
  text-align: center;
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(51em/35);
}

.feedback_users{
  margin: 3.15rem 7.7rem 0;
  display: flex;
  align-items: start;
  gap: 8.9rem;
}

.feedback_user{
  width: 51.5rem;
}

.feedback_user:nth-child(n+2){
  margin-top: 6.9rem;
}

.feedback_user_texts{
  padding: 4rem 3.4rem 2.6rem;
  width: 100%;
  background-color: #fff;
  border-radius: 5rem;
  border-bottom-left-radius: 0;
}

.feedback_user_title{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/20);
}

.feedback_user_text{
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(36em/16);
}

.feedback_user_datas{
  margin-top: 2rem;
  display: flex;
  align-items: end;
  gap: 1.3rem;
}

.feedback_user_icon{
  width: 10rem;
  overflow: hidden;
}

.feedback_user_data{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

/* flow */
.flow{
  position: relative;
  margin: -7.1rem auto 0;
  padding: .1px 0 8.4rem;
  width: 100%;
  background-image: url(../img/flow_bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.flow_title{
  position: relative;
  margin: 11.8rem auto 0;
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(58em/40);
  z-index: 1;
}

.flow_title::before{
  content: "ご利用までの流れ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  text-align: center;
  -webkit-text-stroke: 1rem #FFF;
  z-index: -1;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(58em/40);
}

.flow_contents{
  display: flex;
  flex-direction: column;
  gap: 4.5rem;
  margin: 3.57rem auto 0;
  width: 88.2rem;
}


.flow_content{
  position: relative;
  width: 100%;
}

.flow_content::before{
  content: "";
  position: absolute;
  left: 3.6rem;
  top: 7.4rem;
  height: 15rem;
  border-left: .6rem dotted black;
}

.flow_content:last-child::before{
  height: 11rem;
}

.flow_content_title{
  display: flex;
  align-items: start;
  width: 100%;
}

.flow_step_nums{
  position: relative;
  z-index: 1;
  outline: .6rem solid #FFD562;
  aspect-ratio: 1/1;
  width: 8.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  border-radius: 50%;
  background: #000;
  color: #FFF;
  text-align: center;
}

.step_num_top{
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.step_num_bottom{
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.flow_title_bar{
  aspect-ratio: 882/85;
  width: 88.2rem;
  display: flex;
  align-items: center;
  margin-left: -2rem;
  padding-left: 9.2rem;
  background-color: #F38200;
  border-top-right-radius: 9rem;
  border-bottom-right-radius: 9rem;
}

.flow_title_text{
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.flow_texts{
  margin: .7rem 0 0 6.5rem;
  padding: 2.1rem 8.4rem 1rem 12rem;
  background-color: white;
  aspect-ratio: 78/10;
  width: 78rem;
}

.flow_text{
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;  
  line-height: calc(30em/16);
}

.flow_tel{
  display: block;
  width: fit-content;
  margin-top: .5rem;
  color: black;
  text-decoration: none;
}

.tel_inner{
  display: flex;
  align-items: center;
  gap: 1rem;
}

.tel_icon{
  aspect-ratio: 1/1;
  width: 4rem;
  background-image: url(../img/tel_icon.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.flow_tel_num{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

/* Q&A */
.qaa{
  position: relative;
  padding: 6.5rem 20rem 4.5rem;
  background-color: #F2F2F2;

}

.qaa_title{

  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(51em/40);
}

.qaa_minititle{
  text-align: center;
  color: #F38200;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.qaa_minititle span{
  color:black;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.accordion_contents{
  margin-top:4.5rem;
  display: flex;
  flex-direction: column;
  gap: 4.5rem;
}

.accordion_content{
  width: 88rem;
  position: relative;
}

.accordion_head{
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 3.8rem;
  aspect-ratio: 880/100;
  width: 100%;
  border-radius: 1rem;
  background-color: #fff;
}

.accordion_head.active{
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.accordion_head_arrow{
  position: absolute;
  right: 4.23rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1.58rem;
  height: 1.58rem;
  border-left: solid .3rem black;
  border-bottom: solid .3rem black;
  border-radius: .2rem;
  transform:rotate(-45deg);
  transition: all ease .3s;
}

.accordion_head_arrow.active{
  border-color: #F38200;
  transform: rotate(135deg);
}

.accordion_head_text{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.accordion_head_texts span{
  color: #F38201;
  font-weight: 500;
}

.accordion_main{
  display: none;
  padding: 2rem 3.8rem;
  background-color: #FFFAE0;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}

.accordion_text{
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(26em/18);
}

.accordion_link{
  font-weight: 500;
  color: #F38200;
}

/* about */
.about{
  padding: 6.5rem 20rem 4rem;
}

.about_title{
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(58em/40);
}

.about_table{
  margin: 5.5rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.table_line{
  display: flex;
  align-items: start;
  width: 100%;
  min-height: 5rem;
  padding: 0 2.5rem 2rem;
  border-bottom: .2rem solid black;
}

.table_text{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(29em/20);
}

.table_head{
  width: 23.5rem;
}

.about_buttons{
  margin: 3rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6rem;
}

.about_button{
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 36/8;
  width: 36rem;
  background-color: #FFF3A7;
  color: #535353;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
  box-shadow: 0 .3rem .6rem 0 rgba(0, 0, 0, 0.45);
}

.about_button:hover{
  animation: poyo 2s ease-out infinite;
}


/* contact */
.contact{
  background-color: #F38201;
  padding: 5.5rem 11.5rem 11.2rem;
}

.contact_title{
  color: white;
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(58em/40);
}

.contact_inner{
  margin-top: 5.5rem;
  background-color: #fff;
  padding: 9.7rem 14.8rem 6.8rem;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 3.3rem;
  border-radius: 1rem;
}

.contact_forms{
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-between;
}

.contact_form_label{
  margin-top: 1.1rem;
  display: block;
  width: 16.6rem;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(29em/20);
}

.contact_form_required{
  background: #DB0000;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 53/24;
  width: 5.3rem;
  border-radius: .2rem;
  color: white;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
  margin-top: 1.1rem;
  margin-right: auto;
}

.contact_form{
  margin-left: auto;
  background: white;
  border: solid #707070 .1rem;
  border-radius: 2rem;
  width: 49.5rem;
  height: 4rem;
  padding: .5rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.contact_textarea{
  min-height: 20rem;
  resize: none;
  padding: 1.5rem 2rem;
}

.contact_buttons{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.contact_button{
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 28/5;
  width: 28rem;
  border-radius: 2.5rem;
  color: white;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
  cursor: pointer;
}

.contact_button:hover {
  animation: poyo 2s ease-out infinite;
}

@media screen and (max-width: 699.98px) {
  .lp_top {
    padding: .1px 1rem;
    aspect-ratio: 375/667;
    background-position-x: -34rem;
  }

  .lp_text {
    margin-top: 42rem;
    font-size: 2.8rem;
    line-height: calc(36em/28);
  }

  .lp_top_buttons {
    gap: 1.5rem;
    margin-top: 3.2rem;
    width: 100%;
    height: fit-content;
  }

  .lp_top_button {
    aspect-ratio: 17/4;
    width: 17rem;
    font-size: 1.6rem;
    line-height: 1em;
  }


  /* 不安 */
  .anxiety {
    padding: .1px 1rem 12.3rem;
    background-size: 161.3rem 129.5rem;
    background-position-x: -91rem;
  }

  .anxiety_fukidashi_wrap {
    position: absolute;
    top: 14.3rem;
    left: 0;
    padding: 0 1rem;
    flex-direction: column;
    height: 95.5rem;
  }

  .anxiety_fukidasi_vertical {
    aspect-ratio: 355/327;
    width: 100%;
  }

  .anxiety_fukidasi {
    aspect-ratio: 200/166.33;
    width: 20rem;
  }

  .anxiety_fukidasi:last-child {
    margin-top:0;
  }

  .anxiety_fukidasi_vertical:first-child .anxiety_fukidasi:first-child,
  .anxiety_fukidasi_vertical:last-child .anxiety_fukidasi:first-child {
    margin-left: unset;
    margin-right: auto;
  }

  .anxiety_fukidasi_vertical:first-child .anxiety_fukidasi:last-child,
  .anxiety_fukidasi_vertical:last-child .anxiety_fukidasi:last-child {
    margin-right: unset;
    margin-left: auto;
  }
  

  .anxiety_fukidasi_vertical:first-of-type .anxiety_fukidasi:first-child{
  transform: scale(-1, 1);
  }
  
  .anxiety_fukidasi_vertical:first-of-type .anxiety_fukidasi:last-child{
  transform: scale(1, 1);
  }
  
  .anxiety_fukidasi_vertical:last-of-type .anxiety_fukidasi:first-child{
  transform: scale(-1, -1);
  }
  
  .anxiety_fukidasi_vertical:last-of-type .anxiety_fukidasi:last-child{
  transform: scale(1, -1);
  }


  .anxiety_fukidasi_text {
    font-size: 1.2rem;
    line-height: calc(26em/12);
  }

    .anxiety_fukidasi_vertical:first-of-type .anxiety_fukidasi:first-child .anxiety_fukidasi_text{
      transform: scale(-1, 1);
    }
  
    .anxiety_fukidasi_vertical:first-of-type .anxiety_fukidasi:last-child .anxiety_fukidasi_text{
      transform: scale(1, 1);
    }
  
    .anxiety_fukidasi_vertical:last-of-type .anxiety_fukidasi:first-child .anxiety_fukidasi_text{
      transform: scale(-1, -1);
    }
  
    .anxiety_fukidasi_vertical:last-of-type .anxiety_fukidasi:last-child .anxiety_fukidasi_text{
      transform: scale(1, -1);
    }

  .anxiety_birds {
    margin: 4.5rem auto 0;
    width: 100%;
  }

  .anxiety_mini_text,
  .anxiety_mini_text .orange {
    font-size: 1.5rem;
    line-height: 1em;
  }

  .anxiety_text {
    font-size: 2.2rem;
    line-height: 1em;
  }

  .anxiety_text .orange {
    color: #F38200;
    font-size: 3.1rem;
    line-height: 1em;
    padding: .8rem;
  }

  .anxiety_text:first-of-type {
    margin-top: .8rem;
  }

  .anxiety_text:last-of-type {
    margin-top: calc(37.9rem + 2.97rem);
  }


  .anxiety_bird {
    margin: 35.5rem auto 0;
    width: 19.6rem;
  }

  /* 強み */
  .strengths {
    padding: 4.42rem .1px 20rem;
    margin-top: .4rem;
    background-image: none;
    background-color: #F38200;
  }
  
  .strengths::before{
    content: "";
    left: 0;
    top: -8.8rem;
    position: absolute;
    width: 100%;
    height: 18rem;
    border-radius: 50%;
    background-color: #F38200;
    
  }

  .strengths_title {
    position: relative;
    margin-top: -8.8rem;
    font-size: 2.6rem;
    line-height: 1em;
    z-index: 1;
  }

  .strengths_contents {
    margin: 6rem auto;
    width: 100%;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: 6.6rem;
  }

  .strengths_content {
    aspect-ratio: 330/475;
    width: 33rem;
  }

  .strengths_content_num {
    position: absolute;
    top: -5rem;
    left: -1.5rem;
    gap: .5rem;
    width: 10rem;
    color: white;
    text-align: center;
  }

  .strengths_content_num .num_top {
    font-size: 1.4rem;
    line-height: 1em;
  }

  .strengths_content_num .num_buttom {
    font-size: 2.1rem;
    line-height: 1em;
  }

  .strengths_content_img {
    aspect-ratio: 28/20;
    width: 28rem;
  }

  .strengths_content_title {
    margin-top: 1.6rem;
    font-size: 1.8rem;
    line-height: 1em;
  }

  .strengths_content_desc {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: calc(25em/14);
  }

  /* facility */
  .facility {
    margin-top: 0;
    padding: .1px 0 5.9rem;
    background-image: none;
    background-color: #FFF1A7;
  }

  .facility::before{
    content: "";
    left: 0;
    top: -11.2rem;
    position: absolute;
    width: 100%;
    height: 22.4rem;
    border-radius: 50%;
    background-color: #FFF1A7;
  }

  .facility_title {
    position: relative;
    margin: -5.3rem auto 0;
    font-size: 2.6rem;
    line-height: 1em;
    z-index: 1;
  }

  .facility_slide {
    margin-top: 4.4rem;
  }

  .facility_slide_content {
    padding: 0 1rem;
    aspect-ratio: 375/237;
    width: 100%;
  }

  .facility_slide_pagination {
    margin: 2.5rem auto 0;
    gap: .8rem;
  }

  .swiper-pagination-bullet {
    width: 1rem;
  }

  .swiper_nav {
    top: unset;
    bottom: 4.4rem;
    width: 4rem;
  }

  .swiper_nav.prev {
    left: 1rem;
  }

  .swiper_nav.next {
    right: 1rem;
  }

  /* toex */
  .toex {
    position: relative;
    aspect-ratio: unset;
    width: 100%;
    height: fit-content;
    padding: .1px .1px 8.4rem;
  }

  .toex_title {
    margin-top: 4.4rem;
    font-size: 2.6rem;
    line-height: 1em;
  }

  .toex_title::before {
    width: 2.711rem;
    height: 0.3rem;
    position: absolute;
    top: 1.4rem;
    left: 3rem;
  }

  .toex_title::after {
    width: 2.711rem;
    height: 0.3rem;
    position: absolute;
    top: 1.4rem;
    right: 3.2rem;
  }

  .toex_content {
    margin-top: 4rem;
    padding: 0 1rem;
    flex-direction: column;
    gap: 2.8rem;
    align-items: start;
  }

  .toex_content.rev {
    flex-direction: column;
    margin-top: 1.5rem;
  }

  .toex_image {
    aspect-ratio: 350/232;
    width: 35rem;
  }

  .toex_image::after {
    top: -.25rem;
    left: -.25rem;
    background-image: url(../img/toex_image_outer_sp.png);
    aspect-ratio: 355/237;
    width: 35.5rem;
    background-size: 100%;
  }

  .toex_image_inner {
    aspect-ratio: 350/232;
  }

  .toex_details {
    width: 100%;
  }

  .toex_detail_title {
    padding-left: .98rem;
    aspect-ratio: 78.74/38.06;
    width: 7.874rem;
    font-size: 2.6rem;
    line-height: 1em;
  }

  .doex_detail_text {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    line-height: calc(36em/14);
  }

  .toex_detail_button {
    margin-top: 2.4rem;
    margin-left: auto;
  }
  .toex_snake_arrow {
    margin: 0 0 0 2.8rem;
    aspect-ratio: 258/142;
    width: 25.8rem;
  }

  /* fee */
  .fee {
    position: relative;
    margin-top: -2.2rem;
    padding: .1px 1rem 6.6rem;
    aspect-ratio: unset;
    height: fit-content;
  }

  .fee_title_outer {
    margin: 6.6rem auto 0;
    width: 34.2rem;
  }

  .fee_title {
    font-size: 2.6rem;
    line-height: 1em;
  }

  .fee_emphasis {
    margin-top: 4.47rem;
    font-size: 2rem;
    line-height: calc(36em/20);
  }

  .fee_emphasis_small {
    margin-top: 1.2rem;
    font-size: 1.3rem;
    line-height: calc(36em/13);
  }

  .fee_table {
    margin: 4.4rem auto 0;
    gap: 1rem;
    width: 100%;
  }

  .fee_table_line {
    display: flex;
    gap: 1rem;
    font-size: 1.5rem;
  }

  .fee_table_head {
    padding: 1.6rem 0;
    width: 12rem;
    line-height: 1em;
  }

  .fee_table_cell {
    padding: 1.6rem 1.1rem;
    width: 22.5rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: calc(36em/20);
  }

  .supplement {
    margin: 3.2rem auto 0;
    font-size: 1.4rem;
    line-height: calc(36em/14);
  }

  /* feedback */

  .feedback {
    position: relative;
    margin-top: 4rem;
    width: 100%;
    padding: .1px;
  }

  .feedback::before,
  .feedback::after {
    aspect-ratio: 187.5/40;
    width: 18.75rem;
    top: -4rem;
  }

  .feedback_inner {
    width: 100%;
    height: 100%;
    padding: .1px 1rem 10rem;
  }
  
  .feedback_title {
    padding: .1px;
    margin: -1.4rem auto 0;
    aspect-ratio: 350.58/88.96;
    width: 35.058rem;
    background-size:100%;
  }

  .feedback_title_text {
    margin-top:.3rem;
    font-size: 2.3rem;
    line-height: calc(34em/23);
  }

  .feedback_users {
    margin: 2.4rem auto 0;
    flex-direction: column;
    gap: 6rem;
  }

  .feedback_user {
    width: 100%;
  }

  .feedback_user:nth-child(n+2) {
    margin-top: unset;
  }

  .feedback_user_texts {
    padding: 2.8rem 2.3rem;
  }

  .feedback_user_title {
    font-size: 1.8rem;
    line-height: calc(36em/18);
  }

  .feedback_user_text {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: calc(32em/14);
  }

  .feedback_user_datas {
    gap: .6rem;
  }

  .feedback_user_icon {
    width: 8rem;
  }

  .feedback_user_data {
    font-size: 1.5rem;
    line-height: 1em;
  }

  /* flow */
  .flow {
    margin: .82rem auto 0;
    padding: .1px 1rem 6.08rem;
    width: 100%;
    background-image: none;
    background-color: #FFD562;
  }

  .flow::before{
    content: "";
    position: absolute;
    top: -6.422rem;
    left: 0;
    width: 37.5rem;
    height: 6.617rem;
    background-image: url(../img/flow_sp_wave.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .flow_title {
    margin: 1.2rem auto 0;
    font-size: 2.6rem;
    line-height: calc(37em/26);
  }

  .flow_title::before {
    font-size: 2.6rem;
    line-height: calc(37em/26);
  }

  .flow_contents {
    gap: 2.4rem;
    margin: 2.8rem auto 0;
    width: 100%;
  }


  .flow_content {
    position: relative;
    width: 100%;
  }

  .flow_content::before {
    left: 3.5rem;
    top: 8.2rem;
    height: 13.7rem;
  }

  .flow_content:last-child::before {
    height: 7.5rem;
  }


  .flow_step_nums {
    width: 7rem;
    gap: 0;
  }

  .step_num_top {
    font-size: 1.3rem;
    line-height: 1em;
  }

  .step_num_bottom {
    font-size: 2.8rem;
    line-height: 1em;
  }

  .flow_title_bar {
    aspect-ratio: 298/70;
    width: 29.8rem;
    margin-left: -1.3rem;
    padding-left: 2.9rem;
  }

  .flow_title_text {
    font-size: 2.2rem;
    line-height: 1em;
  }

  .flow_texts {
    margin: .7rem 0 0 5.7rem;
    padding: 2rem 0 2rem 1rem;
    aspect-ratio: 288/91;
    width: 28.8rem;
  }

  .flow_text {
    font-size: 1.4rem;
    line-height: calc(28em/14);
  }

  .flow_tel {
    margin-top: 1rem;
  }

  .tel_inner {
    gap: .85rem;
  }

  .tel_icon {
    width: 3.5rem;
  }

  .flow_tel_num {
    font-size: 1.8rem;
    line-height: 1em;
  }

  /* Q&A */
  .qaa {
    position: relative;
    padding: 6.1rem 1rem 6.5rem;
  }

  .qaa_title {
    font-size: 2.6rem;
    line-height: calc(37em/26);
  }

  .qaa_minititle {
    margin-top: 1rem;
    font-size: 2rem;
    line-height: 1em;
  }

  .qaa_minititle span {
    font-size: 1.3rem;
    line-height: 1em;
  }

  .accordion_contents {
    margin-top: 3.2rem;
    gap: 2.8rem;
  }

  .accordion_content {
    width: 100%;
    position: relative;
  }

  .accordion_head {
    padding: 0 .95rem;
    aspect-ratio: 355/68;
  }

  .accordion_head_arrow {
    right: 4.23rem;
    border-left: solid .2rem black;
    border-bottom: solid .2rem black;
  }

  .accordion_head_text {
    font-size: 1.5rem;
    line-height: 1em;
    width: 26rem;
    line-height: calc(20em/15);
    text-indent: -1em;
    padding-left: 1em;
  }

  .accordion_main {
    padding: 1.2rem 1.1rem;
  }

  .accordion_text {
    font-size: 1.5rem;
    line-height: calc(21em/15);
  }
  
  /* about */
  .about {
    padding: 4rem 1rem 8.6rem;
  }

  .about_title {
    font-size: 2.6rem;
    line-height: calc(37em/26);
  }

  .about_table {
    margin: 3.6rem auto 0;
    gap: 2.9rem;
  }

  .table_line {
    flex-direction: column;
    gap: 1.12rem;
    min-height: 8.27rem;
    padding: 0 0 2.8rem;
    border-bottom: .2rem solid black;
  }

  .table_text {
    font-size: 1.5rem;
    line-height: calc(21em/15);
  }


  .about_buttons {
    margin: 4.4rem auto 0;
    flex-direction: column;
    gap: 2.42rem;
  }

  .about_button {
    aspect-ratio: 242.76/55;
    width: 24.276rem;
    font-size: 1.6rem;
    line-height: 1em;
  }


  /* contact */
  .contact {
    padding: 3.4rem 1rem 4.4rem;
  }

  .contact_title {
    font-size: 2.6rem;
    line-height: calc(37em/26);
  }

  .contact_inner {
    margin-top: 3.6rem;
    padding: 4rem 1rem;
    gap:  2rem;
  }
  
  .contact_forms {
    width: 100%;
    flex-wrap: wrap;
    gap: .95rem 0;
  }

  .contact_form_label {
    margin-top: 0;
    width: fit-content;
    font-size: 1.5rem;
    line-height: calc(21em/15);
  }

  .contact_form_required {
    aspect-ratio: 39.13/17.72;
    width: 3.913rem;
    font-size: 1.1rem;
    line-height: 1em;
    margin-top:auto;
    margin-left: 1.6rem;
  }

  .contact_form {
    width: 100%;
    height: 3.8rem;
    font-size: 1.5rem;
    line-height: calc(21em/15);
  }


  .contact_buttons {
    flex-direction: column;
    margin-top: 1rem;  
  }

  .contact_button {
    background: #000;
    font-size: 1.6rem;
    line-height: 1em;
  }
}


@keyframes poyo {

  0%,
  40%,
  60%,
  80% {
    transform: scale(1.0);
  }

  50%,
  70% {
    transform: scale(0.95);
  }
}