@charset "UTF-8";
/* -----------------------------------------------
common
----------------------------------------------- */
@media (max-width: 767px) {
  .mail__wrap {
    margin-top: 70px;
  }
}

@media (min-width: 768px) {
  .mail__wrap {
    margin-top: 110px;
  }
}

/* -----------------------------------------------
description__wrap
----------------------------------------------- */
@media (max-width: 767px) {
  .description__wrap {
    margin-top: 50px;
  }
  .description__wrap p {
    font-size: 14px;
    line-height: 1.88;
    letter-spacing: 0.02em;
  }
}

@media (min-width: 768px) {
  .description__wrap {
    max-width: 810px;
    margin: 92px auto 0;
  }
  .description__wrap p {
    font-size: 18px;
    line-height: 1.88;
    letter-spacing: 0.02em;
  }
}

/* -----------------------------------------------
form__wrap
----------------------------------------------- */
.form__wrap .label {
  font-weight: bold;
}
.form__wrap .label .req__mark {
  color: #FF0000;
  margin-left: 0.2em;
  display: inline-block;
}
.form__wrap input:not([type="submit"]),
.form__wrap textarea {
  font-weight: bold;
}
.form__wrap input:not([type="submit"])::placeholder,
.form__wrap textarea::placeholder {
  color: #C6C6C6;
  opacity: 1;
}
.form__wrap .text p {
  color: #FF0000;
}
.form__wrap input[type="submit"] {
  background-color: #000;
  color: #fff;
  font-weight: bold;
  line-height: 1;
}

@media (max-width: 767px) {
  .form__wrap {
    margin-top: 50px;
  }
  .form__wrap .label {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .form__wrap .label + .form__item {
    margin-top: 4px;
  }
  .form__wrap .form__item + .label {
    margin-top: 20px;
  }
  .form__wrap .form__item.fx__wrap {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0 10px;
  }
  .form__wrap input:not([type="submit"]),
  .form__wrap textarea {
    font-size: 14px;
    line-height: 1.625;
    letter-spacing: 0.02em;
  }
  .form__wrap input:not([type="submit"]) {
    width: 100%;
    height: 27px;
    padding: 0 8px;
  }
  .form__wrap .fx__wrap input {
    width: calc((100% - 10px) / 2);
  }
  .form__wrap textarea {
    width: 100%;
    min-height: 200px;
    padding: 4px 8px;
  }
  .form__wrap .text {
    margin-top: 15px;
  }
  .form__wrap .text p {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.02em;
  }
  .form__wrap .form__button {
    margin-top: 40px;
  }
  .form__wrap input[type="submit"] {
    width: 242px;
    height: 50px;
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    letter-spacing: 0.02em;
  }
}

@media (min-width: 768px) {
  .form__wrap {
    max-width: 605px;
    margin: 98px auto 0;
  }
  .form__wrap .label {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .form__wrap .label + .form__item {
    margin-top: 4px;
  }
  .form__wrap .form__item + .label {
    margin-top: 20px;
  }
  .form__wrap .form__item.fx__wrap {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0 10px;
  }
  .form__wrap input:not([type="submit"]),
  .form__wrap textarea {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.02em;
  }
  .form__wrap input:not([type="submit"]) {
    width: 296px;
    height: 27px;
    padding: 0 15px;
  }
  .form__wrap textarea {
    width: 100%;
    min-height: 300px;
    padding: 8px 15px;
  }
  .form__wrap .text {
    margin-top: 15px;
  }
  .form__wrap .text p {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.02em;
  }
  .form__wrap .form__button {
    margin-top: 40px;
  }
  .form__wrap input[type="submit"] {
    width: 242px;
    height: 50px;
    margin: 0 auto;
    padding: 0;
    font-size: 20px;
    letter-spacing: 0.02em;
  }
}

@media (any-hover: hover) {
  .form__wrap input[type="submit"] {
    transition: all .3s;
  }
  .form__wrap input[type="submit"]:hover {
    opacity: 0.8;
  }
}