@charset "UTF-8";
/*----------------------------------
  section-header
----------------------------------*/
.section-header {
  background-image: url(../images/common/section-header_03.webp);
}

.section-header .contents-text {
  font-weight: 500;
  margin-top: 70px;
}

/*----------------------------------
  contact-body
----------------------------------*/
.contact-body {
  margin-bottom: 120px;
}

/*----------------------------------
  contact-info
----------------------------------*/
.contact-info {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  width: 82.719%;
}

.contact-tel {
  border: 1px solid var(--color02);
  padding-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 40px;
}

.contact-tel .contents-text {
  color: var(--color01);
  font-weight: 500;
  text-align: center;
}

.contact-tel__text {
  display: block;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.76;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3em;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.contact-tel__text::before {
  aspect-ratio: 1 / 1;
  background-color: var(--color02);
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf-8, <svg viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.37621 1.46465C8.91361 0.357912 7.70735 -0.227661 6.55965 0.0826926L6.23759 0.170529C2.45485 1.20114 -0.777453 4.86683 0.165303 9.3289C2.33774 19.5764 10.4009 27.6398 20.6483 29.8123C25.1161 30.7609 28.7759 27.5227 29.8065 23.7399L29.8943 23.4178C30.2105 22.2642 29.6191 21.0579 28.5183 20.6012L22.8207 18.2296C21.8545 17.8256 20.7361 18.1066 20.0686 18.9206L17.8083 21.6845C13.6918 19.6408 10.3775 16.2211 8.47444 12.0225L11.0626 9.91447C11.8766 9.25277 12.1518 8.13433 11.7536 7.16227L9.37621 1.46465Z" fill="%23ffffff"/></svg>');
  mask-image: url('data:image/svg+xml;utf-8, <svg viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.37621 1.46465C8.91361 0.357912 7.70735 -0.227661 6.55965 0.0826926L6.23759 0.170529C2.45485 1.20114 -0.777453 4.86683 0.165303 9.3289C2.33774 19.5764 10.4009 27.6398 20.6483 29.8123C25.1161 30.7609 28.7759 27.5227 29.8065 23.7399L29.8943 23.4178C30.2105 22.2642 29.6191 21.0579 28.5183 20.6012L22.8207 18.2296C21.8545 17.8256 20.7361 18.1066 20.0686 18.9206L17.8083 21.6845C13.6918 19.6408 10.3775 16.2211 8.47444 12.0225L11.0626 9.91447C11.8766 9.25277 12.1518 8.13433 11.7536 7.16227L9.37621 1.46465Z" fill="%23ffffff"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: 1em;
  left: 0;
  width: 1.76em;
}

.contact-tel__link {
  font-size: 36px;
  font-weight: 700;
  padding-right: 0.55em;
}

.contact-info__text {
  margin-top: 80px;
}

.contact-text__color {
  color: var(--color17);
}

/*----------------------------------
  contact-main
----------------------------------*/
.contact-main {
  border-top: 1px solid var(--color04);
  margin-top: 40px;
}

.contact-form__inner {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  min-width: 600px;
  width: 65.964%;
}

.contact-form__item:not(:first-child) {
  margin-top: 40px;
}

.contact-form__title {
  font-size: 17px;
  font-weight: 700;
}

.contact-form__input {
  margin-top: 10px;
}

.contact-form__input input,
.contact-form__input textarea,
.contact-form__input .wpcf7-select {
  background-color: var(--color09);
  border: none;
  box-sizing: border-box;
  color: var(--color02);
  font-size: 17px;
  font-weight: 400;
  padding-top: 17px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 17px;
  width: 100%;
}

.contact-form_required {
  color: var(--color17);
  padding-left: 0.29em;
}

/* ドロップダウン */
select.wpcf7-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.contact-form__input__select {
  position: relative;
}

.contact-form__input__select::after {
  background-color: var(--color02);
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf-8, <svg viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.9413 8.62341C8.42067 9.12553 7.57517 9.12553 7.05454 8.62341L0.390472 2.19627C-0.130157 1.69415 -0.130157 0.87871 0.390472 0.37659C0.911102 -0.12553 1.75661 -0.12553 2.27724 0.37659L8 5.89589L13.7228 0.380607C14.2434 -0.121513 15.0889 -0.121513 15.6095 0.380607C16.1302 0.882727 16.1302 1.69817 15.6095 2.20029L8.94547 8.62743L8.9413 8.62341Z" fill="%23231815"/></svg>');
  mask-image: url('data:image/svg+xml;utf-8, <svg viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.9413 8.62341C8.42067 9.12553 7.57517 9.12553 7.05454 8.62341L0.390472 2.19627C-0.130157 1.69415 -0.130157 0.87871 0.390472 0.37659C0.911102 -0.12553 1.75661 -0.12553 2.27724 0.37659L8 5.89589L13.7228 0.380607C14.2434 -0.121513 15.0889 -0.121513 15.6095 0.380607C16.1302 0.882727 16.1302 1.69817 15.6095 2.20029L8.94547 8.62743L8.9413 8.62341Z" fill="%23231815"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: 18px;
  right: 20px;
  height: 16px;
  width: 9px;
}

/* プレスホルダー */
.contact-form__input input::-webkit-input-placeholder,
.contact-form__input textarea::-webkit-input-placeholder {
  color: #bbb;
  font-size: 17px;
}

/* 住所 */
.contact-form__items .contact-form__address {
  margin-top: 40px;
  position: relative;
}

.contact-form__note {
  color: var(--color11);
  font-size: 15px;
  font-weight: 400;
  position: absolute;
  top: 35px;
  left: 290px;
}

.contact-form__address .contact-form__item {
  align-items: center;
  display: flex;
}

.contact-form__address .contact-form__item {
  margin-top: 20px;
}

.contact-form__address .contact-form__item .contact-form__title {
  font-size: 16px;
  font-weight: 400;
  flex-shrink: 0;
  width: 84px;
}

.contact-form__address .contact-form__input {
  flex-grow: 1;
  margin-top: 0;
}

.contact-form__address .contact-form__zip {
  margin-top: 0;
}

.contact-form__address .contact-form__zip .contact-form__input {
  flex-grow: 0;
  width: 190px;
}

/* contact-privacy */
.contact-privacy {
  margin-top: 70px;
  text-align: center;
}

.contact-privacy__text {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.76;
}

.contact-privacy__link {
  color: var(--color01);
  text-decoration: underline;
}

.contact-attention__box {
  display: inline-block;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.76;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.35em;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.contact-attention input {
  height: 1.5em;
  width: 1.5em;
}

.contact-attention__box::before {
  border: 1px solid var(--color02);
  content: "";
  height: 1.17rem;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  width: 1.17rem;
}

.contact-privacy input:checked + .contact-attention__box::after {
  border-bottom: 2px solid var(--color02);
  border-right: 2px solid var(--color02);
  content: "";
  height: 0.7125em;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0.4em;
  top: 0;
  transform: rotate(39deg);
  width: 0.4rem;
}

/* contact-btn */
.contact-btn {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  margin-top: 40px;
  position: relative;
}

.contact-btn__item {
  background: var(--color06);
  border-radius: 2.08em;
  cursor: pointer;
  font-size: 24px;
  padding: 2px;
  width: 14.41em;
}

.contact-btn__inner {
  display: block;
  border-radius: 2.08em;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.contact-btn__inner::before {
  background-color: var(--color05);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  width: 100%;
  z-index: -1;
}

.form .contact-btn__item:hover .contact-btn__inner::before {
  transform: scale(1, 1);
}

.contact-btn .wpcf7-submit,
.contact-btn .wpcf7-previous {
  border: none;
  background-color: transparent;
  color: var(--color05);
  cursor: pointer;
  display: flex;
  font-size: 24px;
  font-weight: 700;
  height: 2.54em;
  padding-left: 1.58em;
  position: relative;
  text-align: left;
  width: 100%;
  z-index: 0;
}

.contact-btn .wpcf7-previous {
  text-align: right;
  padding-left: 0;
  padding-right: 3.58em;
}

.form .contact-btn__item:hover .wpcf7-submit {
  background: var(--color06);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.contact-btn__arrow {
  background-color: var(--color05);
  display: block;
  -webkit-mask-image: url('data:image/svg+xml;utf-8, <svg viewBox="0 0 31 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.9287 0.292745C23.3191 -0.0976805 23.9522 -0.0974828 24.3428 0.292745L30.707 6.657C31.0976 7.04753 31.0976 7.68054 30.707 8.07106L24.3428 14.4353C23.9522 14.8256 23.3191 14.8257 22.9287 14.4353C22.5383 14.0449 22.5385 13.4118 22.9287 13.0213L27.5859 8.36403H0V6.36403H27.5859L22.9287 1.70681C22.5385 1.31626 22.5383 0.68317 22.9287 0.292745Z" fill="%23ffffff"/></svg>');
  mask-image: url('data:image/svg+xml;utf-8, <svg viewBox="0 0 31 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.9287 0.292745C23.3191 -0.0976805 23.9522 -0.0974828 24.3428 0.292745L30.707 6.657C31.0976 7.04753 31.0976 7.68054 30.707 8.07106L24.3428 14.4353C23.9522 14.8256 23.3191 14.8257 22.9287 14.4353C22.5383 14.0449 22.5385 13.4118 22.9287 13.0213L27.5859 8.36403H0V6.36403H27.5859L22.9287 1.70681C22.5385 1.31626 22.5383 0.68317 22.9287 0.292745Z" fill="%23ffffff"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: 50%;
  right: 1.66em;
  transform: translateY(-50%);
  height: 0.613em;
  width: 1.29em;
}

.form .contact-btn__item:hover .contact-btn__arrow {
  background: var(--color06);
}

.contact-btn__item:has(.wpcf7-submit:disabled) {
  background: var(--color04);
  pointer-events: none;
}

.contact-confirm__btn__prev .contact-btn__arrow {
  transform: translateY(-50%) rotate(180deg);
  left: 1.66em;
  right: auto;
}

.wpcf7-turnstile {
  margin-top: 30px;
  text-align: center;
}

.wpcf7-not-valid-tip {
  color: var(--color17);
  font-size: 1em;
  font-weight: 400;
  line-height: 1.76;
}

.wpcf7 form .wpcf7-response-output {
  border: none;
  color: var(--color17);
  font-size: 1em;
  font-weight: 400;
  line-height: 1.76;
  display: block;
  text-align: center;
}

.wpcf7-spinner {
  display: none;
}

.thanks-cap {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  margin-top: 70px;
  text-align: center;
}

/*----------------------------------
  確認画面
----------------------------------*/
.confirm .contact-main {
  border-top: none;
  margin-top: 0;
}

.confirm .contact-form__input {
  margin-top: 10px;
  padding-top: 17px;
  padding-bottom: 17px;
}

.confirm .contact-btn {
  flex-direction: row;
}

.confirm .contact-btn__item {
  transition: var(--transition);
  width: 10em;
}

.confirm .contact-btn__item:hover {
  opacity: 0.5;
}

.confirm .contact-confirm__btn__prev .contact-btn__inner::before {
  transform: scale(1, 1);
}

.confirm .contact-btn__item.contact-confirm__btn__prev .wpcf7-previous {
  background: var(--color06);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.confirm .contact-btn__item.contact-confirm__btn__prev .contact-btn__arrow {
  background: var(--color06);
}

.confirm .contact-form__address .contact-form__input {
  margin-top: 0;
}

/*----------------------------------
  thanks
----------------------------------*/
.thanks-contents {
  margin-top: 80px;
  margin-bottom: 120px;
}

.thanks-contents .contents-text {
  text-align: center;
}

.thanks-btn {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}

/*----------------------------------
  Media Query
----------------------------------*/
/* sp */
@media not all and (min-width: 768px) {
  /* section-header */
  .section-header .contents-text {
    margin-top: 40px;
  }

  /* contact-body */
  .contact-body {
    margin-bottom: 80px;
  }

  /* contact-info */
  .contact-info {
    width: 100%;
  }

  .contact-tel {
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 20px;
  }

  .contact-tel__text {
    font-size: 15px;
    padding-left: 2.3em;
  }

  .contact-tel__link {
    display: block;
    font-size: 32px;
    padding-right: 0;
  }

  .contact-info__text {
    margin-top: 40px;
  }

  /* contact-main */
  .contact-form__inner {
    margin-top: 40px;
    min-width: auto;
    width: 100%;
  }

  .contact-form__item:not(:first-child) {
    margin-top: 20px;
  }

  .contact-form__title {
    font-size: 15px;
  }

  .contact-form__input {
    margin-top: 12px;
  }

  .contact-form__input input,
  .contact-form__input textarea,
  .contact-form__input .wpcf7-select {
    font-size: 15px;
    padding-top: 20px;
    padding-left: 14px;
    padding-right: 14px;
    padding-bottom: 20px;
  }

  /* ドロップダウン */
  .contact-form__input__select::after {
    top: 20px;
  }

  /* プレスホルダー */
  .contact-form__input input::-webkit-input-placeholder,
  .contact-form__input textarea::-webkit-input-placeholder {
    font-size: 15px;
  }

  /* 住所 */
  .contact-form__items .contact-form__address {
    margin-top: 20px;
  }

  .contact-form__note {
    font-size: 12px;
    top: 120px;
    left: 0;
  }

  .contact-form__address .contact-form__zip {
    margin-bottom: 65px;
  }

  /* contact-privacy */
  .contact-privacy {
    margin-top: 60px;
  }

  .contact-privacy__text {
    font-size: 15px;
  }

  /* contact-btn */
  .contact-btn {
    gap: 20px;
  }

  .contact-btn__item {
    font-size: 16px;
    width: 17.12em;
  }

  .form .contact-btn__item:hover .contact-btn__inner::before {
    transform: scale(0, 1);
  }

  .contact-btn .wpcf7-submit,
  .contact-btn .wpcf7-previous {
    font-size: 16px;
    height: 3.25em;
    padding-left: 2.5em;
  }

  .contact-btn .wpcf7-previous {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }

  .contact-btn__arrow {
    right: 2.5em;
    height: 0.937em;
    width: 1.875em;
  }

  .form .contact-btn__item:hover .wpcf7-submit {
    background: none;
    -webkit-text-fill-color: currentColor;
    color: var(--color05);
  }

  .form .contact-btn__item:hover .contact-btn__arrow {
    background: var(--color05);
  }

  .contact-confirm__btn__prev .contact-btn__arrow {
    left: 2.5em;
    right: auto;
  }

  /* 確認画面 */
  .confirm .contact-form__input {
    margin-top: 14px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .confirm .contact-btn {
    flex-direction: column;
  }

  .confirm .contact-btn__item {
    width: 17.12em;
  }

  .confirm .contact-btn__item:hover {
    opacity: 1;
  }

  .confirm .contact-btn .wpcf7-submit {
    padding-left: 0;
    text-align: center;
  }

  .confirm .contact-form__address .contact-form__zip {
    margin-bottom: 0;
  }

  /* thanks */
  .thanks-contents {
    margin-top: 40px;
    margin-bottom: 80px;
  }
}
