@charset "UTF-8";
.s-content:has([data-screen="confirm"], [data-screen="systemerror"]) .contact-section__lead {
  display: none;
}

.contact-section .snow-monkey-form :is(.smf-select-control, .smf-select-control__control, .smf-text-control__control) {
  width: 100%;
}

.contact-section .snow-monkey-form .smf-item__col--label {
  margin-bottom: 0.5rem;
}

.contact-section .snow-monkey-form .smf-item__label {
  font-size: 1.5rem;
  font-weight: var(--fw-bold);
}

.contact-section .snow-monkey-form .smf-item__controls {
  font-size: 1.5rem;
}

.contact-section .snow-monkey-form *::placeholder {
  color: rgb(from var(--color-text-default) r g b / 50%);
}

.contact-section:not(:has([data-screen="confirm"])) .smf-item:has([data-validations*="required"]):not(.--privacy-consent) .smf-item__label::after,
.contact-section:not(:has([data-screen="confirm"])) .smf-item.--privacy-consent .smf-checkbox-control__label::after {
  content: "*";
  display: inline-block;
  margin-left: 0.2rem;
  color: var(--color-project-red);
}

.contact-section .snow-monkey-form :is(.smf-text-control__control, .smf-textarea-control__control, .smf-select-control__control) {
  padding: 1.1rem 1rem 0.9rem;
  font-family: unset;
  font-size: 16px;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.1em;
  background-color: var(--color-white);
  border-radius: 0.5rem;
  border: 1px solid var(--color-project-beige);
}

.contact-section .snow-monkey-form .smf-select-control__control {
  padding-right: 4.5rem;
  background:
    url(../img/icon/arrow_select.svg)
    calc(100% - 1rem) center / 2.5rem
    no-repeat
    var(--color-white);
}

.contact-section .snow-monkey-form .smf-select-control__toggle {
  display: none;
}

.contact-section .snow-monkey-form :is(.smf-item__description, .contact-section__text) {
  font-size: 1.4rem;
  color: unset;
  font-weight: var(--fw-medium);
}

.contact-section .snow-monkey-form .contact-section__text {
  margin-top: 0.6rem;
}

.contact-section .snow-monkey-form .smf-item.--privacy-consent .smf-item__description {
  margin-top: 0.5rem;
}

.contact-section .snow-monkey-form .smf-textarea-control__control {
  resize: vertical;
  min-height: 20rem;
}

.contact-section .snow-monkey-form .smf-checkbox-control__control,
.contact-section .snow-monkey-form .smf-checkbox-control__control:checked {
  border: 1px solid var(--color-project-beige);
}

.contact-section .snow-monkey-form .smf-checkbox-control__control {
  width: 2.4rem;
  height: 2.4rem;
  margin: 0;
  border-radius: 0.5rem;
  box-shadow: none;
}

.contact-section .snow-monkey-form .smf-checkbox-control__control:checked {
  background:
    url(../img/icon/checkbox_checked.svg)
    center / 1.357rem 0.981rem
    no-repeat
    var(--color-project-orange);
}

.contact-section .snow-monkey-form .smf-checkbox-control__control::before {
  content: none !important;
}

.contact-section .snow-monkey-form .smf-checkbox-control {
  align-items: center;
  gap: 1rem;
}

.contact-section .snow-monkey-form .smf-checkbox-control__label {
  font-size: 1.5rem;
}

.contact-section .snow-monkey-form .smf-action {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3rem;
}

.contact-section .snow-monkey-form .smf-button-control {
  flex: 0 1 31rem;
  margin-left: 0 !important;
} 

.contact-section .snow-monkey-form .smf-button-control__control {
  display: block;
  width: 100%;
  padding: 1.575rem 0;
  font-size: 1.6rem;
  color: unset;
  font-weight: var(--fw-bold);
  text-align: center;
  line-height: 1.4063;
  letter-spacing: 0.1em;
  background:
    url(../img/arrow_brown.svg)
    center right 1.5rem / 2.6rem
    no-repeat
    var(--color-white);
  border: 0.3rem solid currentColor;
  border-radius: 100vh;
  transition: none;
}

.contact-section .snow-monkey-form .smf-button-control__control[data-action="back"] {
  background-image: url(../img/arrow_brown--left.svg);
  background-position: center left 1.5rem;
}

.contact-section .snow-monkey-form .smf-button-control__control[data-action="confirm"],
.contact-section .snow-monkey-form .smf-button-control__control[data-action="complete"] {
  color: var(--color-white);
  background-image: url(../img/arrow_white.svg);
  background-color: var(--color-project-orange);
  border-color: var(--color-project-orange);
}

.contact-section .snow-monkey-form .smf-button-control__control .smf-sending {
  display: none;
}

.contact-section .snow-monkey-form .smf-error-messages {
  color: var(--color-project-red);
}

/* 入力ページ
------------------------------------------------------------- */
.contact-section:not(:has([data-screen="confirm"])) .smf-form {
  display: grid;
  grid-template-columns: 100%;
  gap: 2.5rem;
}

.contact-section:not(:has([data-screen="confirm"])) .smf-item.--privacy-consent {
  text-align: center;
}

.contact-section:not(:has([data-screen="confirm"])) .snow-monkey-form .smf-action {
  margin-top: 2.5rem;
}

/* 確認ページ
------------------------------------------------------------- */
.contact-section:has([data-screen="confirm"]) .smf-item {
  padding: 2rem 0;
  border-bottom: 1px solid var(--color-project-beige);
}

.contact-section:has([data-screen="confirm"]) .smf-item__description {
  display: none;
}

.contact-section:has([data-screen="confirm"]) .snow-monkey-form .smf-action {
  margin-top: 2rem;
}

/* 完了ページ
------------------------------------------------------------- */
.contact-section:has([data-screen="complete"]) .contact-section__lead,
.contact-section:has([data-screen="complete"]) .lower-section__body {
  display: none;
}

.contact-section--complete .contact-section__body {
  margin-top: 2rem;
  padding: 0 2rem;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.contact-section--complete .contact-section__body * {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.contact-section--complete .contact-section__body > * + * {
  margin-top: 1.5rem;
}

.contact-section--complete .contact-section__body > *:first-child {
  margin-top: 0;
}

.contact-section--complete .contact-section__body > ul {
  display: grid;
  grid-template-columns: 100%;
  gap: 0.3rem;
}

.contact-section--complete .contact-section__body > ul > li {
  display: flex;
  gap: 0.3rem;
}

.contact-section--complete .contact-section__body > ul > li::before {
  content: "・";
  color: var(--color-project-orange);
}

.contact-section--complete .contact-section__image {
  width: 30rem;
  margin: 0 auto;
}

.contact-section--complete .contact-section__image + * {
  margin-top: 1rem;
}

.contact-section--complete .contact-section__button {
  width: 31rem;
  margin: 3rem auto 0;
  padding: 1.575rem 0;
}
