/*--- before/after ---*/
.beaf{
  padding: 2vw 0;
  background: #d5ecf7;
}
.beaf-slide .menu-item,
.beaf-slide2 .menu-item{
  padding: 1.5vw;
  background: #fff;
  border-radius: 20px;
  text-align: center !important;
}
.beaf-slide .menu-slide,
.beaf-slide2 .menu-slide{
  margin-bottom: 0px;
}
.beaf-slide img,
.beaf-slide2 img{
  max-width: 100%;
}

/*--- 料金 ---*/
p.price{
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
p.price span.post-type {
  padding: 0 10px;
  border-radius: 4px;
  font-size: 14px;
  text-align: center;
  color: #fff;
}



.voice-frt{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.voice-frt article{
  flex: 0 0 calc(33.333% - 20px); /* 3列分の幅（gapを考慮） */
}
.request-head div{
  text-align: center;
}

.faq-frt{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

h2.mh2{
  margin-bottom: 50px !important;
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}

/*--- 他社との違いreview ---*/
.review_base{
  margin-bottom: 40px;
  display: flex;
  color: #fff;
}
.review_base .review_block{
    margin: 10px;
    text-align: center;
}
.review_base .review_block img{
  margin: 10px 0;
  max-width: 100%;
}
.review_base .review_block p{
  line-height: 1.6;
  margin-bottom: 10px;
}
.review_base .review_block h3{
  font-size: 2.3rem;
  margin-bottom: 20px;
}


@media (max-width: 768px) {
  .box:after {
  top: 57.3333333333vw;
  left: 30vw;
  }
  .voice-frt article{
    flex: 0 0 100%;  /* 幅100% → 1列表示 */
  }
  .message:before {
  content: "";
  position: absolute;
  top: -48.6666666667vw;
  left: 0;
  width: 100%;
  background-image: url(../img/message/message_img.jpg);
  }
  .faq-frt-image > div:nth-child(1) {
    width: 100%;
    height: 100%;
    background-position: right top;
  }
  .faq-frt-image > div:nth-child(2) {
    background: none;
  }
  .faq-frt-content{
    width: 100%;
  }
  .faq-frt .faq{
    width: 100%;
  }

  /*お問い合わせ*/
  .request-label {
    left: -3vw;
    font-size: 30px;
    font-weight: 900;
  }
  .request-label span {
    font-size: 36px;
  }
  .request-text {
    margin-left: 1vw;
    font-size: 30px;
  }
  .request-ttl {
    font-size: 26px;
  }
  .request-form input[type=checkbox] + span {
  padding-left: 4vw;
  height: 2vw;
  font-size: 3vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  }
  .review_base{
    display: block;
  }
  .review_base .review_block img{
    width: 100%;
  }
  .request-form dt {
    margin-top: 30px;
  }
  .request-form-label {
    font-size: 3vw;
  }


  .request-form input[type=text],
  .request-form input[type=email],
  .request-form input[type=tel] {
    padding: 1em;
    height: 3.3333333333vw;
    font-size: 4vw;
  }
  .request-form-btn {
    margin-top: 30px;
    height: 7vw;
    width: 100%;
  }
  .request-form-submit {
    font-size: 4vw;
    font-weight: 900;
    letter-spacing: 0.05em;
  }

}