/* contact.css - お問い合わせページ専用スタイル */

.p-contact {
}
.p-contact__content {
  max-width: 940px;
  margin-inline: auto;
  padding-inline: 20px;
}
.p-contact__title-area {
  /* text-align: center; */
  margin-bottom: 40px;
}
.p-contact__lead {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-inline: calc(50% - 50cqi);
  border-top: 1px solid var(--ys-color-gray);
  border-bottom: 1px solid var(--ys-color-gray);
  padding-block: 15px;
  margin-block-end: 70px;
}
@media screen and (max-width: 1023px) {
  .p-contact__lead {
    flex-direction: column;
    gap: 15px;
  }
}

.p-contact__lead-text {
  font-size: 12px;
  color: var(--ys-color-text);
  line-height: 22px;

  .sub1 {
    font-size: 10px;
  }
}
.p-contact__links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.p-contact__link-text {
  font-size: 12px;
  color: var(--ys-color-gray);
  line-height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;

  &::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-size: 100%;
  }

  &[data-type="line"] {
    &::before {
      background-image: url(../image/icon-contact-line.svg);
    }
  }

  &[data-type="instagram"] {
    &::before {
      background-image: url(../image/icon-contact-instagram.svg);
    }
  }

  &[data-type="stores"] {
    &::before {
      height: 22px;
      background-image: url(../image/icon-contact-stores.png);
    }
  }
}
.p-contact__form-area {
  max-width: 700px;
  margin-inline: auto;
  color: var(--ys-color-text);
}

/* Snow Monkey Formsのフォーム要素に合わせて追加調整する場合はここに追記 */
.smf-progress-tracker {
  max-width: 500px;
  margin-inline: auto;
} 
.smf-progress-tracker__item {
  --smf-progress-tracker__item-color: var(--ys-color-gray);
  padding-block: 15px;

  &[aria-current=true] {
    --smf-progress-tracker__item-color: var(--ys-color-text);
    .smf-progress-tracker__item__text {
      color: var(--smf-progress-tracker__item-color);
    }
    
  }

  &::before {
    content: "";
    width: 100%;
    height: 2px;
    top: unset;
    bottom: 0;
    left: 0;
    background-color: var(--smf-progress-tracker__item-color);
  }
  &::after {
    content: "";
    width: 1px;
    height: 20px;
    background-color: var(--ys-color-gray);
    rotate: 20deg;
    top: 0;
    left: unset;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}
.smf-progress-tracker__item--input:before {
  display: block;
}

.smf-progress-tracker__item__number {
  display: none;
}

.smf-progress-tracker__item__text {
  color: var(--smf-progress-tracker__item-color);
  padding-top: 0;
}
@media screen and (max-width: 1023px) {
  .smf-progress-tracker__item__text {
    font-size: 12px;
  }
}

.smf-form--simple-table .smf-item {
  align-items: center;
  padding-block: 25px;
}
@media screen and (max-width: 1023px) {
  .smf-form--simple-table .smf-item {
    padding-block: 15px;
  }
}
.smf-form .smf-textarea-control__control,
.smf-form .smf-text-control__control {
  width: 100%;
  background-color: #f2f5f6;
  border: none;
  border-radius: 0;
  padding: 20px 25px;

  &:hover {
    --_border-color: none;
  }
}

.smf-item__label {
  text-align: right;
}
@media screen and (max-width: 1023px) {
  .smf-item__label {
    text-align: left;
  }
}
.smf-form--simple-table .smf-item__col--label {

}
@media screen and (max-width: 1023px) {
  .smf-form--simple-table .smf-item__col--label {
    padding-bottom: 4px;
  }
}

/* text */
.smf-form {
.ys-checkbox-link,
.smf-textarea-control__control,
.smf-checkbox-control__label,
.smf-text-control__control,
.smf-radio-button-control__label{
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--ys-color-text);
  font-weight: 400;
  font-family: var(--ys-font-family-ja-sub);

  &::placeholder {
    color: color-mix(in srgb, var(--ys-color-text) 28%, transparent 72%);
  }
}
.smf-item__label__text {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--ys-color-text);
  font-weight: 400;
  font-family: var(--ys-font-family-ja);
}
}
/* checkbox, radio */
.smf-item:not(.smf-item--divider) {
  .smf-checkboxes-control__control,
  .smf-radio-buttons-control__control {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;

    .smf-label {
      background-color: #f2f5f6;
    }
    .smf-checkbox-control,
    .smf-radio-button-control {
      width: 100%;
      height: 100%;
      padding: 20px 25px;

      &:has(.smf-checkbox-control__control:checked),
      &:has(.smf-radio-button-control__control:checked) {
        background-color: var(--ys-color-text);

      }
    }
    .smf-checkbox-control__control,
    .smf-radio-button-control__control {
      margin-top: 0;
      border-radius: 50%;
      border: 5px solid #fff;

      &:checked {
        border-color: #fff;
        background-color: var(--ys-color-text);

        &+.smf-checkbox-control__label,
        &+.smf-radio-button-control__label {
          color: #fff;
        }

        &::before {
          content: none;
        }
      }
    }
  }
}
@media screen and (max-width: 1023px) {
  .smf-item:not(.smf-item--divider) {
    .smf-checkboxes-control__control,
    .smf-radio-buttons-control__control {
      grid-template-columns: 1fr;
    }
  }
}
/* checkbox agreement */
.smf-form .smf-item.smf-item--divider .smf-item__controls {
  position: relative;

  &:has(.ys-checkbox-link) {
    width: fit-content;
    margin-inline: auto;
    margin-block: 20px;
  }
}
.smf-form .smf-placeholder[data-name="agree"] .smf-checkbox-control {
  gap: 220px;  
  justify-content: center;

  .smf-checkbox-control__control {
    margin-top: 0;
    border-radius: 0;
    width: 18px;
    height: 18px;
    margin-top: 0;

    &:checked {
      background-color: #fff;

      &::before {
        content: "";
        width: 14px;
        height: 14px;
        background-color: var(--ys-color-text);
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        border: 1px solid var(--ys-color-text-light);
      }
    }
  }
}
@media screen and (max-width: 1023px) {
  .smf-form .smf-placeholder[data-name="agree"] .smf-checkbox-control {
    gap: 180px;
  }
}

.ys-checkbox-link {
  position: absolute;
  top: 0;
  left: 55px;

  a {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    text-decoration-color: var(--ys-color-text-light);
  }
}
@media screen and (max-width: 1023px) {
  .ys-checkbox-link {
    left: 21px;
  }
}

/* button */
.smf-action .smf-button-control__control {
  background-color: #ced7dc;
  background-image: none;
  color: #fff;
  letter-spacing: 0.1em;
  font-size: 12px;
  border-radius: 0;
  border: none;
  width: 225px;
  padding-block: 20px;

  &[data-action="confirm"] {
    /* &.active { */
      background-color: var(--ys-color-text);
    /* } */
  }

  &[data-action="back"] {
    background-color: #ced7dc;
  }

  &[data-action="complete"] {
    background-color: var(--ys-color-text);
  }
}
.smf-form--simple-table+.smf-action {

}
@media screen and (max-width: 1023px) {
  .smf-form--simple-table+.smf-action {
    margin: 0
  }
}

/* error */
.smf-error-messages {
  font-size: 12px;
}

/* confirm */
.snow-monkey-form[data-screen="confirm"] {
  .smf-item--divider {
    display: none;
  }
}

/* complete */
.smf-complete-content {
  padding-inline: 40px;
  width: fit-content;
  margin-inline: auto;

  h2 {
    margin-block-end: 30px;
  }
}
.ys-form-complete-p {
  margin-block-end: 60px;
  font-family: var(--ys-font-family-ja-sub);
  line-height: 1.8;

}
.ys-form-complete-link {
  font-family: var(--ys-font-family-en);
  font-style: italic;
}