@charset "UTF-8";
/*----------------------------------------------

  CONTACT FORM AUTO CONFIRM

----------------------------------------------*/
.wpcf7-form {
  display: grid;
  gap: min( calc( 30 / var(--screen-width) * 100vw ), 30px );
  /* fields
  ---------------------------------------*/
  /* checkbox radio
  ---------------------------------------*/
  /* buttons
  ---------------------------------------*/
  /* turnstile
  ---------------------------------------*/
  /* thanks-message
  ---------------------------------------*/
  /* wpcf7-response-output
  ---------------------------------------*/
  /* sent
  ---------------------------------------*/
}
.wpcf7-form input, .wpcf7-form button, .wpcf7-form textarea, .wpcf7-form select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px;
  display: block;
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form textarea,
.wpcf7-form select {
  border: 1px solid #999;
  padding: 0.6em 0.8em;
  border-radius: 5px;
  width: 100%;
}
.wpcf7-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' width='10' height='10' fill='transparent' stroke='%23999'><polyline points='9 3 5 7 1 3'/></svg>");
  background-size: 1em;
  background-repeat: no-repeat;
  background-position: right 0.5em center;
  padding-right: 2em;
}
.wpcf7-form .fields {
  display: grid;
  gap: min( calc( 50 / var(--screen-width) * 100vw ), 50px );
}
.wpcf7-form .fields dl {
  display: grid;
  gap: min( calc( 15 / var(--screen-width) * 100vw ), 15px );
  position: relative;
}
.wpcf7-form .fields dl:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #999 0 50%, transparent 50% 100%);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  position: absolute;
  top: max( calc( -25 / var(--screen-width) * 100vw ), -25px );
  left: 0;
}
.wpcf7-form .fields dl:first-child::before {
  content: none;
}
.wpcf7-form .fields dl dt {
  font-size: min( calc( 16 / var(--screen-width) * 100vw ), 16px );
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: max( calc( -5 / var(--screen-width) * 100vw ), -5px );
  display: flex;
  gap: 0.2em;
}
.wpcf7-form .fields dl dd span:has(> .wpcf7-not-valid-tip) {
  position: relative;
}
.wpcf7-form .fields dl dd span:has(> .wpcf7-not-valid-tip) .wpcf7-not-valid-tip {
  font-size: min( calc( 10 / var(--screen-width) * 100vw ), 10px );
  position: absolute;
  background-color: rgba(182, 0, 0, 0.8);
  z-index: 1;
  position: none;
  right: min( calc( 10 / var(--screen-width) * 100vw ), 10px );
  bottom: 0;
  color: #fff;
  padding: min( calc( 3 / var(--screen-width) * 100vw ), 3px );
  line-height: 1.4;
  transform: translateY(40%);
  border-radius: min( calc( 3 / var(--screen-width) * 100vw ), 3px );
  font-weight: bold;
}
.wpcf7-form .fields dl.address dd.your-prefectures span:has(:checked[value=""]) {
  display: block;
  position: relative;
}
.wpcf7-form .fields dl.address dd.your-prefectures span:has(:checked[value=""]):before {
  content: "都道府県";
  display: block;
  position: absolute;
  left: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #999;
  font-size: 16px;
  white-space: nowrap;
}
.wpcf7-form .fields dl:has([aria-required=true]) dt:after, .wpcf7-form .fields dl:has(.wpcf7-validates-as-required) dt:after, .wpcf7-form .fields dl:has(.wpcf7-radio) dt:after {
  content: "*";
  color: red;
}
@media (min-width: 960px) {
  .wpcf7-form .fields dl {
    display: grid;
    grid-template-columns: 10em 1fr;
    width: 100%;
  }
  .wpcf7-form .fields dl dt {
    flex-shrink: 0;
    width: 10em;
    grid-row: 1/-1;
    grid-column: 1/2;
  }
  .wpcf7-form .fields dl dd {
    grid-column: 2/-1;
  }
  .wpcf7-form .fields dl.name {
    grid-template-columns: 10em 1fr 1fr;
  }
  .wpcf7-form .fields dl.name dd.your-name {
    grid-column: 2/3;
  }
  .wpcf7-form .fields dl.name dd.your-name-furigana {
    grid-column: 3/-1;
  }
  .wpcf7-form .fields dl.address {
    grid-template-columns: 10em 1fr 1fr;
  }
  .wpcf7-form .fields dl.address dd.your-zip-code {
    grid-column: 2/3;
  }
  .wpcf7-form .fields dl.address dd.your-prefectures {
    grid-column: 3/-1;
  }
}
.wpcf7-form.--confirm .fields dl.address dd.your-prefectures span:before {
  content: none !important;
}
.wpcf7-form .wpcf7-checkbox,
.wpcf7-form .wpcf7-radio {
  display: grid;
  gap: min( calc( 10 / var(--screen-width) * 100vw ), 10px ) min( calc( 15 / var(--screen-width) * 100vw ), 15px );
}
.wpcf7-form .wpcf7-checkbox > span,
.wpcf7-form .wpcf7-radio > span {
  display: block;
  margin: 0;
}
.wpcf7-form .wpcf7-checkbox label,
.wpcf7-form .wpcf7-radio label {
  font-size: min( calc( 16 / var(--screen-width) * 100vw ), 16px );
  display: flex;
  align-items: center;
  gap: 0.2em;
  line-height: 1.5;
  position: relative;
  cursor: pointer;
}
.wpcf7-form .wpcf7-checkbox label:before,
.wpcf7-form .wpcf7-radio label:before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 1em;
  border: 1px solid #aaa;
}
.wpcf7-form .wpcf7-checkbox label:after,
.wpcf7-form .wpcf7-radio label:after {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: calc(1em - 4px);
  border: 1px solid #000;
  position: absolute;
  left: 2px;
  z-index: 1;
  background-color: var(--color__primary);
  opacity: 0;
  transition: opacity 0.3s;
}
.wpcf7-form .wpcf7-checkbox label:has(:checked):after,
.wpcf7-form .wpcf7-radio label:has(:checked):after {
  opacity: 1;
}
@media (min-width: 960px) {
  .wpcf7-form .wpcf7-checkbox,
.wpcf7-form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
  }
}
.wpcf7-form .wpcf7-radio label:before, .wpcf7-form .wpcf7-radio label:after {
  border-radius: 10em;
}
.wpcf7-form.--confirm .wpcf7-checkbox > span,
.wpcf7-form.--confirm .wpcf7-radio > span {
  display: none;
}
.wpcf7-form .buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  gap: min( calc( 10 / var(--screen-width) * 100vw ), 10px );
}
.wpcf7-form .buttons button,
.wpcf7-form .buttons input {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min( calc( 16 / var(--screen-width) * 100vw ), 16px );
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  background-color: #eee;
  line-height: 1.4;
  letter-spacing: 0.2em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: min( calc( 140 / var(--screen-width) * 100vw ), 140px );
  padding: min( calc( 10 / var(--screen-width) * 100vw ), 10px );
  border-radius: 10em;
  cursor: pointer;
}
.wpcf7-form .buttons button[type=submit],
.wpcf7-form .buttons input[type=submit] {
  background-color: var(--color__primary);
  color: #fff;
}
.wpcf7-form .buttons .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.wpcf7-form .wpcf7-turnstile {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.wpcf7-form .thanks-message {
  display: none;
}
.wpcf7-form .thanks-message p {
  font-size: min( calc( 20 / var(--screen-width) * 100vw ), 20px );
  font-weight: 500;
  text-align: center;
}
.wpcf7-form .thanks-message a {
  display: block;
  font-size: min( calc( 16 / var(--screen-width) * 100vw ), 16px );
  color: #fff;
  font-weight: bold;
  padding: min( calc( 10 / var(--screen-width) * 100vw ), 10px );
  width: min( calc( 200 / var(--screen-width) * 100vw ), 200px );
  border-radius: 10em;
  margin: auto;
  margin-top: min( calc( 20 / var(--screen-width) * 100vw ), 20px );
  background-color: var(--color__primary);
  text-align: center;
}
.wpcf7-form .wpcf7-response-output {
  display: none;
}
.wpcf7-form.sent .fields {
  display: none;
}
.wpcf7-form.sent .buttons {
  display: none;
}
.wpcf7-form.sent .wpcf7-response-output {
  display: none;
}
.wpcf7-form.sent .thanks-message {
  display: block;
}
/*# sourceMappingURL=form.css.map */