.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}


.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.top_view_sp_img{
  display: none;
}
.top_view_img {
  display: block;
  margin:-0.4rem auto -0.1rem;
  /* margin-left: 3rem; */
  object-fit: cover;
  width: 107.9rem;
  height: 47.8rem;

}

.first_view {
  position: relative;
}

.top_view {
  text-align: center;
  margin-top: 2.7rem;
}
.main_title_left{
 writing-mode: vertical-lr;
  font-size: 3rem;
  line-height: calc(40em / 30);
  letter-spacing: calc(10.1em / 30);
  background: linear-gradient(to bottom, #3FBCD6, #51CFA2);
  color: #FFFFFF;
  padding: 1rem;
  padding-top: 2.2rem;
  animation: fadeIn 3s ease 1s 1 normal backwards;
}
.main_title_right {
  writing-mode: vertical-lr;
  font-size: 3rem;
  line-height: calc(40em / 30);
  letter-spacing: calc(10.1em / 30);
  background: linear-gradient(to bottom, #3FBCD6, #51CFA2);
  color: #FFFFFF;
  padding: 1rem;
  padding-top: 2.2rem;
  animation: fadeIn 3s ease 1s 1 normal backwards;
  height: 27.4rem;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateX(2rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.main_title_box {
  display: flex;
  gap: 1rem;
  position: absolute;
  top: 2.5rem;
  right: 7.1rem;
}

.counseling_wrap {
  text-align: center;

  width: 15rem;
  height: 15rem;
  border-radius: 50%;
  background-color: #FFE57F;
  padding-top: 3.9rem;
  position: absolute;
  bottom: 0.7rem;
  left: 13.9rem
}

.counseling_top {
  font-size: 2.2rem;
  font-weight: 500;
  color: #4A4A4A;
  line-height: calc(40em / 22);
  letter-spacing: calc(0.66em / 22);
  margin-top: -0.6rem;
}

.counseling_bottom {
  font-size: 2.8rem;
  color: #4A4A4A;
  line-height: calc(51em / 22);
  letter-spacing: calc(0.84em / 22);
  margin-top: -1.7rem;
}

.center {
  font-size: 3.5rem;
  line-height: calc(51em / 35);
  margin-left: 4rem;
  margin-top: 5rem;
}

.for_center {
  object-fit: cover;
  width: 9.481rem;
  height: 10.5rem;
  margin-left: 10.519rem;
  margin-top: 3.9rem;
}

.center_box {
  background-color: #B5E2F3;
  color: #000000;
  width: 54rem;
  height: 15rem;
  transition: background-color 0.5s , color 0.5s;
  border: solid 0.1rem #000000;
  border-radius: 0.9rem;
}

.center_box:hover {
  background-color: #50B2D6;
  color: #ffffff;
  transition: background-color 1s, color 0.5s;
}

.center_flex {
  display: flex;
}

.finding {
  font-size: 3.5rem;
  line-height: calc(51em / 35);
  margin-left: 4rem;
  margin-top: 2.4rem;
}

.finding_top {
  margin-left: 4rem;
  margin-top: 2.4rem;
}

.finding_wrap {
  text-align: center;
}

.in_finding {
  object-fit: cover;
  width: 15.729rem;
  height: 11.26rem;
  position: absolute;
  bottom: 0.37rem;
  right: 0.435rem;
}

.finding_box {
  background-color: #B5F3DD;
  width: 54rem;
  height: 15rem;
  transition: background-color 0.5s;
  border: solid 0.1rem #000000;
  border-radius: 0.9rem;
}



.finding_flex {
  color: #000000;
  transition: background-color 0.5s ,color 0.5s;
  display: flex;
  position: relative;
}
.finding_flex:hover {
  background-color: #4ECEA1;
  transition: background-color 1s;
  transition: background-color 1s ,color 0.5s;
  color: #FFFFFF;
}
.order{
  font-size: 3.5rem;
  line-height: calc(51em / 35);
  text-align: center;
  margin-left: 5rem;
  margin-top: 2.8rem;
}
.order_box {
  background-color: #F3B5B5;
  color: #000000;
  width: 54rem;
  height: 15rem;
  transition: background-color 0.5s ,color 0.5s;
  border: solid 0.1rem #000000;
  border-radius: 0.9rem;
  display: flex;
}

.order_box:hover {
  background-color: #DE5A5A;
  transition: background-color 1s ,color 0.5s;
  color: #FFFFFF;

}

.to_order {
  object-fit: cover;
  width: 15.498rem;
  height: 12.419rem;
  margin-left: 7.002rem;
  margin-top: 2.581rem;
}
.info{
  font-size: 3.5rem;
  line-height: calc(51em / 35);
  padding-left: 4rem;
  padding-top: 5rem;
}

.at_info{
  object-fit: cover;
  width: 8rem;
  height: 8.1rem;
  margin-left: 2.7rem;
  margin-top: 3.5rem;
  pointer-events: none;
}
.info_box {
  background-color: #F1F3B5;
  color: #000000;
  width: 54rem;
  height: 15rem;
  transition: background-color 0.5s , color 0.5s;
  border: solid 0.1rem #000000;
  border-radius: 0.9rem;
  display: flex;
}
.info_box:hover {
  background-color: #C8CD35;
  transition: background-color 1s ,color 0.5s;
  color: #ffffff;
}
.top_wrap{
  display: flex;
  gap: 1.5rem;
}
.bottom_wrap{
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.for_container{
 width: 109.5rem;
 margin: 11.8rem auto 0rem;
}
.announcement{
  font-size: 2.5rem;
  line-height: calc(36em / 25);
  color: #000000;
  text-align: center;
  margin-bottom: 2.5rem;
}
.announcement_sub_text{
  font-size: 1.7rem;
  line-height: calc(25em / 17);
  color: #000000;
  text-align: left;
  width: 57.6rem;
  margin: 0 auto 4.1rem;
  position: relative;
}
.announcement_sub_text::after{
  content: "";
  height: 0.1rem;
  width: 99.7rem;
  background-color: #3FBCD6;
  position: absolute;
  bottom: -2rem;
  left: -21.05rem;
}
.announcement_wrap{
  text-align: center;
  margin-top: 14.2rem;
}
.announcement_list{
  font-size: 2.5rem;
  line-height: calc(36em / 25);
  color: #FFFFFF;
  width: 30rem;
  height: 6rem;
  justify-content: center;
  align-items: center;
  display: flex;
  margin-top: 0.1rem;

   background: linear-gradient(270deg, #3FBCD6 0%, #51CFA2 25%, #51CFA2 50%, #3FBCD6 100%);
    background-position: 0% 50%;
     background-size: 200% auto;
     transition: all 0.3s ease;
}
.announcement_list:hover{
  background-position: 100% 50%;
}
.announcement_box{
  width: 99.75rem;
  display: flex;
  justify-content: end;
  margin-left: 14.1rem;
}
.news_list:nth-of-type(1)::after{
  display: none;

}
.free{
  font-size: 2.5rem;
  line-height: calc(36em / 25);
  font-weight: bold;
  color: #000000;
  text-align: center;
  position: relative;
  margin-bottom: 5.2rem;
  margin-top: 14.1rem;
}
.free::after{
  content: "";
  width: 99.7rem;
  height: 0.2rem;
  background-color: #3FBCD6;
  position: absolute;
  bottom: -2rem;
  left: 14.2rem;
}
.free_text{
  font-size: 1.7rem;
  line-height: calc(34em / 17);
  text-align: center;
  color: #000000;
  margin-top: -0.4rem;
}
.fade_in_img{
opacity: 0;
  /* visibility: hidden; */
  transition: all 1s;
  transform: translateY(5rem);
}
.active{
  /*要素を表示させる*/
  opacity: 1;
  /* visibility: visible; */
  /*元の位置に戻す*/
  transform: translateY(0);
}

.free_text_bottom{
  margin-top: 2.4rem;
}
.color_green{
  font-size: 2rem;
  line-height: calc(29em / 20);
  color: #0CBFBA;
  margin-top: -0.2rem;
}
.free_sub_text{
  font-size: 1.7rem;
  line-height: calc(34em / 17);
  color: #000000;
  margin-top: 0.3rem;
}
.contract{
  object-fit: cover;
  width: 18rem;
  height: 13.5rem;
 margin-left: 16.8rem;
 margin-top: -0.3rem;
}
.contract_box{
  width: 48.1rem;
  height: 27.1rem;
  border: solid 0.2rem #0CBFBA;
  border-radius: 1rem;
  margin-top: -0.2rem;
  margin-left: -0.9rem;
}
.contract_text_box{
  margin-top: 2rem;
  margin-left: 2rem;
}

.creward_box{
  width: 46.6rem;
  height: 27.1rem;
  border: solid 0.2rem #0CBFBA;
  border-radius: 1rem;
  margin-top: -0.3rem;
}
.creward{
  object-fit: cover;
  width: 18rem;
  height: 13.5rem;
  margin-top: 1.6rem;
  margin-left: 14.2rem;
}
.creward_text_box{
  margin-top: 2rem;
  margin-left: 2rem;
}
.contract_creward_container{
  display: flex;
  gap: 4rem;
  justify-content: center;
  margin-top: 5.8rem;
}
.prohibition_box{
  width: 49.9rem;
  height: 15.3rem;
  border: solid 0.2rem #0CBFBA;
  border-radius: 1rem;
  display: flex;
  margin: 2.8rem auto 0;
}
.prohibition{
  object-fit: cover;
  width: 15rem;
  height: 11.25rem;
  margin-top: 1.7rem;
  margin-left: 2rem;
}

.prohibition_text_box{
  margin-top: 2rem;
  margin-left: 2rem;
}
.detail{
  font-size: 2.5rem;
  line-height: calc(36em / 25);
  color: #FFFFFF;
  background: linear-gradient(to right, #3FBCD6,#51CFA2);
  width: 30rem;
  height: 6rem;
  justify-content: center;
  align-items: center;
  display: flex;
  margin-top: 3.6rem;
  margin-left: 83.9rem;
}

/* お問合せフォーム */

.contact_us_form{
  font-size: 2.5rem;
  line-height: calc(36em / 25);
  color: #000000;
  text-align: center;
  margin-top: 13rem;
  margin-bottom: 7rem;
}
.form_text{
  font-size: 2rem;
  line-height: calc(29em / 20);
  color: #000000;
  width: 31.2rem;
  display: inline-block;
  text-align: left;
  position: relative;
  vertical-align: super;
  margin-top: 0rem;
  margin-left: 14rem;
}
.form_text::after{
  content: "";
  width: 99.7rem;
  height: 0.2rem;
  background-color: #3FBCD6;
  position: absolute;
  bottom: -2.5rem;
  left: 0rem;
}
.underline:last-of-type .form_text::after{
  bottom: -20.6rem;
}
.req{
  color: #EC0000;
  margin-left: 2.8rem;
}
.form_box{
  width: 68.5rem;
  height: 5.3rem;
  color: #000000;
  font-size: 2rem;
  line-height: calc(29em / 20);
  padding-left: 2.4rem;
  padding-top:0rem;
  border: solid 0.1rem #000000;
  margin-bottom: 6rem;
}
.form_box_textarea{
  width: 68.5rem;
  height: 23.5rem;
  resize: none;
}
.content{
  vertical-align: top;
  margin-top: 1.2rem;
}

.contact_form{
  text-align: center;
  margin-top: 4.5rem;
}
.submit_btn{
  font-size: 2.5rem;
  line-height: calc(36em / 25);
  color: #ffffff;
  background: linear-gradient(to right, #3FBCD6,#51CFA2);
  width: 30rem;
  height: 6rem;
}
.submit_btn_box{
  /* text-align: center; */
  margin-bottom: 15.8rem;
  margin-left: 49rem;
}
.underline{
  display: flex;
}
.name{
  margin-top: -0.5rem;
}
.name_box{
margin-bottom: 6.2rem;
}
.name_wrap{
  margin-top: -2rem;
}
.adress{
  margin-top: 1.2rem;
}
.ad_box{
  margin-bottom: 6.2rem;
}
.tel{
  margin-top: 1rem;
}
.tel_box{ 
  margin-bottom: 6.2rem;
  margin-top: -0.4rem;
}
.email{
  margin-top: 1rem;
}
.email_box{
  margin-bottom: 6rem;
  
}
.form_box_textarea{
  margin-bottom: 4.9rem;

}
/* 入力してください */
.wpcf7-not-valid-tip{
  font-size: 2rem;
  margin-top: -4rem;
  margin-bottom: 4rem;
}
.wpcf7-form-control-wrap{
  padding-bottom: 0.5rem;
}
.br_sp{
  display: block;
}
.br_pc{
  display: none;
}

@media screen and (max-width:699.98px) {
.top_view{
  margin-top: 0rem;
}
.top_view_sp_img{
  display: block;
  width: 37.5rem;
  height: 59.3rem;
  /* object-position: 80% 0%; */
  margin-bottom: -5.8rem;
}
.top_view_img{
  display: none;
  /* border: solid 0.1rem #000000; */
}

.main_title_box{
  left: 25.9rem;
  top: 2rem;
  gap: 0.7rem;
  overflow: hidden;
  width: 11.4rem;

}

.counseling_wrap{
  width: 13.2rem;
  height: 13.8rem;
  left: 1.4rem;
  bottom: 1.4rem;
}
.counseling_top{
  margin-top: -0.8rem;
}
.counseling_bottom{
  font-size: 2.3rem;

  letter-spacing: calc(0.64em / 23);
  margin-top: -1.3rem;
}
.top_wrap{
  display: block;
}
.bottom_wrap{
  display: block;
}
.for_container{
  width: 35.6rem;
}
.center{
  font-size: 2rem;
  line-height: calc(29em / 20);
  margin-top: 3.4rem;
  margin-left: 2.9rem;
}
.for_center{
  width: 5.418rem;
  height: 6rem;
  margin-left: 8.024rem;
  margin-top: 1.6rem;
}
.center_box{
  margin-bottom: 1.6rem;
  width: 35.5rem;
  height: 9.2rem;
}
.finding{
   font-size: 2rem;
  line-height: calc(29em / 20);
  margin-top: 1.5rem;
}
.in_finding{
  width: 8.218rem;
  height: 6rem;
  margin-left: 8.024rem;
  margin-top: 1.6rem;
  bottom: 1.3rem;
  right: 3rem;
}
.finding_top{
  margin-left: 2.9rem;
}
.finding_box{
  margin-bottom: 1.3rem;
  width: 35.5rem;
  height: 9.2rem;
}
.order{
  font-size: 2rem;
  line-height: calc(29em / 20);
  margin-top: 2.1rem;
  margin-left: 2.9rem;
}
.to_order{
   width: 7.518rem;
  height: 6rem;
  margin-left: 7.924rem;
  margin-top: 1.6rem;
}
.order_box{
   margin-bottom: 1.3rem;
  width: 35.5rem;
  height: 9.2rem;
}
.info{
  font-size: 2rem;
  line-height: calc(29em / 20);
  padding-top: 0rem;
  padding-left: 2.8rem;
  margin-top: 3.1rem;
}
.at_info{
   width: 5.918rem;
  height: 6rem;
  margin-left: 3.524rem;
  margin-top: 1.5rem;
}
.info_box{
   margin-bottom: 1.3rem;
   margin-top: 1.7rem;
  width: 35.5rem;
  height: 9.2rem;
}
/* お知らせ */
.announcement{
  font-size: 2rem;
  line-height: calc(29em / 20);
  margin-bottom: 3.7rem;
}
.announcement_wrap{
  margin-top: 8.1rem;
}
.announcement_sub_text{
  font-size: 1.5rem;
  line-height: calc(28em / 15);
  width: 33.2rem;
  margin-top: -1.3rem;
}
.announcement_sub_text::after{
  width: 35.5rem;
  left: -0.95rem;
  bottom: -1.5rem;
}
.announcement_box{
  margin-left: -67.988rem;
}

.detail{
  margin-left: 5.8rem;
  margin-top: 2.3rem;
  width: 26.075rem;
  height: 5.215rem;
  font-size: 1.8rem;
  line-height: calc(26em / 18);
}
.br_sp{
  display: none;
}
.br_pc{
  display: block;
}
.free{
  font-size: 2rem;
  line-height: calc(29em / 20);
  margin-top: 8.085rem;
  margin-bottom: 3rem;
}
.free::after{
  left: 1.5rem;
  width: 35.5rem;
  bottom: -1.4rem;
}
.free_text{
  font-size: 1.4rem;
  line-height: calc(32em / 14);
  width: 35.5rem;
}
.free_text_top{
  text-align: left;
  margin-left: 1rem;
}
.free_text_bottom{
  width: 35.5rem;
  margin-top: 0.8rem;
  margin-left: 1rem;
}
.contract{
  width: 17.25rem;
  margin-left: 8.9rem;
  margin-top: -1.7rem;
  transform: scale(0.7)
}
.contract_title{
  margin-left: -1.2rem;
}
.contract_creward_container{
  display: block;
}
.contract_box{
  width: 35.5rem;
  height: 23rem;
  margin-bottom: 2rem;
  margin-left: 1.1rem;
  margin-top: -1.3rem;
}
.creward{
  margin-top: 0.7rem;
  margin-left: 12.2rem;
  width: 11rem;
  height: 9.5rem;
}
.creward_text{
  margin-left: -1.2rem;

}
.creward_box{
  width: 35.5rem;
  height: 19.9rem;
  margin-left: 1.1rem;
  margin-bottom: 2.6rem;
}
.prohibition_box{
  width: 35.5rem;
  height: 23.5rem;
  margin-top: 1.6rem;
  display: block;
}
.prohibition_text{
  margin-left: -1.2rem;
}
.prohibition{
  width: 13rem;
  height: 9.25rem;
  margin-top: 0.7rem;
  margin-left: 11rem;
}
.color_green{
  font-size: 1.7rem;
  line-height: calc(25em / 17);
}
.free_sub_text{
  font-size: 1.3rem;
  line-height: calc(32em / 13);
  margin-left: -1.2rem;
  margin-top: 0.4rem;
}
.name{
  margin-bottom: 3rem;
}
.name_box{
  margin-bottom: 1.4rem;
}
.name_wrap{
  margin-bottom: 1.7rem;
}
.adress{
  margin-top: 2.1rem;
  margin-bottom: 1.2rem;
}
.contact_form{
  margin-top: 3.2rem;
}
.contact_us_form{
  font-size: 2rem;
  line-height: calc(29em / 20);
  margin-bottom: 0rem;
  margin-top: 8.1rem;
}
.form_text{
  font-size: 1.6rem;
  line-height: calc(24em / 16);
  margin-left: -4.2rem;
}
.form_box{
  font-size: 1.5rem;
  line-height: calc(21em / 15);
}
.main_title_right{
  font-size: 2.2rem;
  line-height: calc(32em / 22);
  letter-spacing: calc(10.16em / 22);
  padding-bottom: 0rem;
  height: 22.1rem;
}
.main_title_left{
  padding: 2.2rem 0.8rem 0.4rem 0.8rem ;
  font-size: 2.2rem;
  line-height: calc(32em / 22);
  letter-spacing: calc(10.16em / 22);
}
.announcement_list{
  font-size: 1.8rem;
  line-height: calc(26em / 18);
  width: 26.075rem;
  height: 5.215rem;
  margin-top: 1.1rem;
}
.tel{
  margin-top: -1rem;
  margin-bottom: 1.4rem;
}
.tel_box{
  margin-bottom: 3.9rem;
}
.email{
  margin-bottom: 1.4rem;
}
.email_box{
  margin-bottom: 3.6rem;
}
.content{
  margin-bottom: 1.3rem;
}

.submit_btn{
  font-size: 1.8rem;
  line-height: calc(26em / 18);
}
.form_box{
  width: 35.6rem;
  height: 4.6rem;
}
.form_text::after{
  width: 35.6rem;
  bottom: -7.8rem;
  left: 0rem;
}
.form_box_textarea{
  height: 25.6rem;
}
.underline:last-of-type .form_text::after{
  bottom: -29rem;
}
.underline{
  display: block;
}
.submit_btn{
  width: 26.075rem;
  height: 5.215rem;
  margin-top: 0.3rem;
  margin-left: auto;
  margin-right: auto;
  
}
.submit_btn_box{
  text-align: center;
  margin-left: auto;
  margin-bottom: 8rem;
}
.req{
  margin-left: 1.6rem;
}

.wpcf7-spinner{
  display: none;
}

.name_wrap .wpcf7-not-valid-tip{
  font-size: 1rem;
  margin-top: -1.2rem;
}
.ad_wrap .wpcf7-not-valid-tip{
  font-size: 1rem;
  margin-top: -6.1rem;
}
.tel_wrap .wpcf7-not-valid-tip{
  font-size: 1rem;
  margin-top: -3.6rem;
}
.email_wrap .wpcf7-not-valid-tip{
  font-size: 1rem;
  margin-top: -3.6rem;
  
}.textarea_wrap .wpcf7-not-valid-tip{
  font-size: 1rem;
  margin-top: -5rem;
  
}

}