@charset "UTF-8";
/*
Theme Name: FRAYA Theme
Author: Flex Planning ,LLC
Author URI: https://www.flex-planning.com/
Version: 1.0
*/

/*共通料金表のサムネイル画像調整*/
.p-card03__img.pickup__img {
  aspect-ratio: 300 / 195;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-card03__img.pickup__img img {
  width: 92%;
  height: 92%;
  object-fit: cover;
}

/*脱毛メニュー・料金調整*/
#vio .p-item06__img img {
  aspect-ratio: 43/20;
}

/*クリニック一覧のテキスト調整*/
.p-clinic-cards .p-clinic-card__access {
  padding-top: 10px;
}
.p-clinic-cards .p-clinic-card__access-item {
  margin-bottom: 0;
}

/*クリニック詳細のレイアウト調整*/
.p-single-clinic-menu + .p-single-clinic-access {
  margin-top: 3.5rem;
}
/*.p-single-clinic-introduction__nav .p-single-clinic-introduction__pagination .swiper-pagination-bullet:nth-child(n+5) {
  display: block;
}*/
  @media screen and (max-width: 767px) {
    .p-single-clinic-menu + .p-single-clinic-access {
      margin-top: 1.875rem;
    }
  }

/*投稿詳細調整*/
.p-news-detail__body img {
  width: auto !important;
  max-width: auto !important;
}
.p-news-detail__body .c-btn07 {
  text-decoration: none!important;
}

/*フッター調整*/
/*.p-footer__nav .p-footer__bottomnav {
  width: 100%;
  max-width: 30rem;
  flex-wrap: wrap;
  margin-top: 3.4375rem;
  gap: 1rem 3.4375rem;
}
.p-footer__nav .p-footer__bottomnav a {
  min-width: 11rem;
}*/
  @media screen and (max-width: 767px) {
    /*.p-footer__nav .p-footer__bottomnav {
      max-width: 100%;
      flex-wrap: nowrap;
      margin-top: 1.875rem;
      gap: 0.625rem;
    }
    .p-footer__nav .p-footer__bottomnav a {
      min-width: auto;
    }*/
  }

/*フォーム調整*/
.p-form .wpcf7-list-item {
  margin: 0.5em 0;
}
.p-form input[type="checkbox"], .p-form input[type="radio"] {
  display: block;
}

/*ラジオボタン*/
.p-form__radio .wpcf7-list-item label {
  display:inline-flex;align-items:center;margin-right:1.875rem;font-size:1rem;cursor:pointer;position:relative;
}
.p-form__radio input[type="radio"] {
  position:absolute;opacity:0;width:0;height:0;
}
.p-form__radio .wpcf7-list-item-label {
  position:relative;padding-left:1.875rem;
}
.p-form__radio .wpcf7-list-item-label::before {
  content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:1.25rem;height:1.25rem;border:1px solid #ccc;border-radius:50%;background:#fff;transition:all .3s;
}
.p-form__radio .wpcf7-list-item-label::after {
  content:"";position:absolute;top:50%;left:0.625rem;transform:translate(-50%,-50%);width:0.625rem;height:0.625rem;border-radius:50%;background:#44b063;display:none;
}
.p-form__radio input[type="radio"]:checked + .wpcf7-list-item-label::before {
  border-color:#44b063;
}
.p-form__radio input[type="radio"]:checked + .wpcf7-list-item-label::after {
  display:block;
}
.p-form__radio .wpcf7-list-item label:hover .wpcf7-list-item-label::before {
  border-color:#44b063;
}
  @media screen and (max-width: 767px) {
    .p-form__radio .wpcf7-list-item label {
      font-size: 0.875rem;
      margin-right: 1.25rem;
    }
  }

/*チェックボックス*/
.p-form__checkbox .wpcf7-list-item label {
  display:inline-flex;
  align-items:center;
  font-size:1rem;
  cursor:pointer;
  position:relative;
}
.p-form__checkbox input[type="checkbox"] {
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}
.p-form__checkbox .wpcf7-list-item-label {
  position:relative;
  padding-left:2.125rem;
}
.p-form__checkbox .wpcf7-list-item-label::before {
  content:"";
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:1.375rem;
  height:1.375rem;
  background-color:#fff;
  border:1px solid #ccc;
  border-radius:0.1875rem;
  transition:all 0.3s;
}
.p-form__checkbox .wpcf7-list-item-label::after {
  content:"";
  position:absolute;
  display:none;
  left:0.4375rem;
  top:50%;
  width:0.375rem;
  height:0.75rem;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:translateY(-65%) rotate(45deg);
}
.p-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color:#44b063;
  border-color:#44b063;
}
.p-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  display:block;
}
.p-form__checkbox .wpcf7-list-item label:hover .wpcf7-list-item-label::before {
  border-color:#44b063;
}
  @media screen and (max-width: 767px) {
    .p-form__checkbox .wpcf7-list-item label {
      font-size: 0.875rem;
      margin-right: 1.25rem;
    }
  }

/*送信ボタン*/
.p-contact__submit {
  width: 100%;
  position: relative;
}
.wpcf7-submit.wpcf7-submit {
  display: inline-block;
  width: min(100%, 29.3125rem);
  text-align: center;
  padding: 1.65625rem 0.625rem;
  border-radius: 2.5rem;
  background: #c9a453;
  border: 1px solid #c9a453;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  transition: 0.3s ease-out;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("assets/img/icon_arrow_white01.png");
  background-repeat: no-repeat;
  background-position: right 1.6875rem center;
  background-size: 1.6875rem auto;
}
.p-contact__submit:hover .wpcf7-submit.wpcf7-submit {
  background: #fff;
  color: #c9a453;
  background-image: url("assets/img/icon_arrow_gold01.png");
  background-repeat: no-repeat;
  background-position: right 1.6875rem center;
  background-size: 1.6875rem auto;
}
.p-contact__submit .wpcf7-submit.wpcf7-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.p-contact__submit:has(.wpcf7-submit.wpcf7-submit:disabled):hover .wpcf7-submit.wpcf7-submit {
  background: #c9a453;
  color: #fff;
  background-image: url("assets/img/icon_arrow_white01.png");
  background-repeat: no-repeat;
  background-position: right 1.6875rem center;
  background-size: 1.6875rem auto;
}
.p-contact__submit .wpcf7-spinner {
  position: absolute;
  left: 50%;
  bottom: -28px;
  margin: 0;
  transform: translateX(-50%);
}
  @media screen and (max-width: 767px) {
    .wpcf7-submit.wpcf7-submit {
      width: min(100%, 17.3125rem);
      border-radius: 1.5rem;
      padding: 0.875rem 0.3125rem;
      background-repeat: no-repeat;
      font-size: 1.125rem;
      background-position: right 1rem center;
      background-size: 1rem auto;
    }
    .p-contact__submit:hover .wpcf7-submit.wpcf7-submit {
      background-repeat: no-repeat;
      background-position: right 1rem center;
      background-size: 1rem auto;
    }
    .p-contact__submit:has(.wpcf7-submit.wpcf7-submit:disabled):hover .wpcf7-submit.wpcf7-submit {
      background-repeat: no-repeat;
      background-position: right 1rem center;
      background-size: 1rem auto;
    }
  }

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
  display: none;
}
.wpcf7-response-output {
  text-align: center;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output:empty {
  display: none;
}

.confirm_lead {
  text-align: center;
}
.Form-Item--branch.is-empty {
  display: none;
}

/*ボタン*/
.confirm_submit {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.confirm_submit > div {
  display: inline-flex!important;
  justify-content: center;
  width: auto;
  margin: 0.625rem 1rem;
  min-width: 25rem;
}
.form_area {
  margin-top: 1.875rem;
}
.form_area table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.875rem;
}
.Form-Item th {
  width: 24rem;
  background: #eee;
  font-weight: 500;
  text-align: left;
  padding: 1.5625rem 1rem;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
}
.Form-Item th span {
  position: relative;
  display: block;
  padding-right: 3.2rem;
}
.Form-Item th .require {
  right: 0;
  top: 0.1rem;
  font-style: normal;
  position: absolute;
  background-color: #44b063;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.125rem 0.5rem;
  border-radius: 0.1875rem;
}
.Form-Item td {
  padding: 1.5625rem 1rem;
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee;
}
  @media screen and (max-width: 767px) {
    .confirm_submit > div {
      min-width: 25rem;
    }
    .form_area {
      margin-top: 1.5625rem;
    }
    .confirm_lead {
      font-size: 0.875rem;
    }
    .form_area table,
    .form_area tbody,
    .form_area tr,
    .form_area th,
    .form_area td {
      display: block;
      width: 100%!important;
    }
    .form_area table {
      margin-bottom: 1.5625rem;
      font-size: 0.875rem;
    }
    .Form-Item th {
      padding: 1.25rem 1rem;
      border-top: none;
    }
    .Form-Item td {
      padding: 1.25rem 0;
      border-top: none;
    }
  }

.return-btn {
  position: relative;
}
.return-btn input {
  display: inline-block;
  width: min(100%, 29.3125rem);
  text-align: center;
  padding: 1.65625rem 0.625rem;
  border-radius: 2.5rem;
  background: #777;
  border: 1px solid #777;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  transition: 0.3s ease-out;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-repeat: no-repeat;
  background-position: right 1.6875rem center;
  background-size: 1.6875rem auto;
}
.return-btn input:hover {
  opacity: 0.8;
}
  @media screen and (max-width: 767px) {
    .return-btn input {
      width: min(100%, 17.3125rem);
      border-radius: 1.5rem;
      padding: 0.875rem 0.3125rem;
      background-repeat: no-repeat;
      font-size: 1.125rem;
      background-position: right 1rem center;
      background-size: 1rem auto;
    }
  }

.is-invalid {
  border-color: #c00;
}
.js-not-valid-tip {
  display: block;
  margin-top: 0.5em;
  color: #c00;
  font-size: 0.875rem;
}

/*スマホフッターCTAボタン追加*/
#footer-cta-wrap {
  display: none;
}
@media screen and (max-width: 767px) {
  footer.p-footer {
    padding-bottom: 5rem;
  }
  #footer-cta-wrap {
    z-index: 1000;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
  }
  #footer-cta-link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background-color: #C9A453;
    color: #fff;
    font-weight: 500;
    font-size: 1.125rem;
    letter-spacing: 0.4px;
    text-align: center;
  }
  #footer-cta-link img {
    width: auto;
    height: 1.6875rem;
  }
}

/*追加修正調整*/
.p-item06__td--small {
  display: inline-block;
  margin-bottom: 0.3175rem;
}
.c-headline07__sub--black {
  color: #E3E3E3!important;
}
.p-card06 { height: 100%; }
.p-single-menu-point__note {
  font-size: 0.75rem!important;
}
.fz10 {
  font-size: 0.75rem;
}
.zh_txt {
  font-family: "Noto Sans SC", "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.p-privacy-content__list:not(.p-privacy-content__list--red) {
  background: #F4F4F4;
  padding: 1.5625rem 1.5625rem 1.5625rem 3rem!important;
}
  @media screen and (max-width: 767px) {
    .p-privacy-content__list:not(.p-privacy-content__list--red) {
      padding: 1.25rem 1.25rem 1.25rem 2.5rem!important;
    }
  }
.p-privacy-content__list:not(.p-privacy-content__list--red)  li::marker {
  color: #44b063;
  font-weight: 600;
}
.p-privacy-content__list.p-privacy-content__list--red li::marker {
  font-weight: 600;
}

/*4/28 追記*/
.p-cards02 .p-card02__item:first-child .p-card02__header {
  padding-top: 1.0625rem;
  padding-bottom: 1.0625rem;
}
.p-cards02 .p-card02__title span {
  display: block;
  margin-bottom: 0.625rem;
}
.p-card02__item .p-card03 {
  height: 100%;
}
.p-guide-trial__item .p-card08__header span {
  display: block;
  margin-bottom: 0.75rem;
}
.p-guide-trial__item .p-card08__header {
  padding-top: 1.9375rem;
  padding-bottom: 1.9375rem;
}
  @media screen and (max-width: 767px) {
    .p-guide-trial__item .p-card08__header {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem;
    }
  }

.p-single-menu-price__card .p-item08__title {
  font-feature-settings: "palt";
}
.p-single-menu-price__card .p-item08__header {
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}
  @media screen and (max-width: 767px) {
    .p-single-menu-price__card .p-item08__title {
      line-height: 1.4;
      margin-bottom: 0.5rem;
      text-align: center;
    }
    .p-single-menu-price__card .p-item08__title span {
      display: block;
    }
    .p-single-menu-price__card .p-item08__header {
      padding: 1rem;
    }
    
  }
