.main-visual .c-ttl-5 {
  margin: 7.2916666667vw 0 3.125vw;
}
@media screen and (max-width: 767px) {
  .main-visual .c-ttl-5 {
    margin: 16vw 0 5.3333333333vw;
  }
}

.p-contact {
  padding: 0 0 10.4166666667vw;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding: 0 0 26.6666666667vw;
  }
}
.p-contact__inner {
  margin: 0 auto;
  width: 55.8333333333vw;
}
@media screen and (max-width: 767px) {
  .p-contact__inner {
    padding: 0 5.3333333333vw;
    width: 100%;
  }
}
.p-contact__lead {
  margin-bottom: 2.8645833333vw;
  color: #010b27;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 0.78125vw;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-contact__lead {
    margin-bottom: 8vw;
    text-align: left;
    font-size: 3.7333333333vw;
  }
}
.p-contact__form {
  margin: 0 auto;
  padding: 2.8645833333vw 0 5.2083333333vw;
  border-top: 2px solid #738be7;
  border-bottom: 2px solid #738be7;
}
@media screen and (max-width: 767px) {
  .p-contact__form {
    padding: 10.6666666667vw 0;
  }
}
.p-contact__table {
  margin: 0 auto;
  width: 52.0833333333vw;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .p-contact__table {
    width: 100%;
  }
}
.p-contact__table tr {
  border-bottom: 1px solid #e3e3e3;
}
.p-contact__table th {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  margin: 0.625vw 0 0;
  padding: 1.3020833333vw 0;
  width: 11.0416666667vw;
  color: #010b27;
  vertical-align: top;
  text-align: left;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.9375vw;
}
@media screen and (max-width: 767px) {
  .p-contact__table th {
    display: block;
    padding: 5.3333333333vw 0 2.6666666667vw;
    width: 100%;
    font-size: 4.2666666667vw;
  }
}
.p-contact__table th .req,
.p-contact__table th .opt {
  display: inline-block;
  margin-left: 0.78125vw;
  margin-left: auto;
  width: 2.0833333333vw;
  height: 1.25vw;
  border-radius: 0.0520833333vw;
  vertical-align: middle;
  text-align: center;
  font-weight: 500;
  font-size: 0.6770833333vw;
  line-height: 1.1458333333vw;
}
@media screen and (max-width: 767px) {
  .p-contact__table th .req,
  .p-contact__table th .opt {
    margin-left: 2.6666666667vw;
    width: 10.6666666667vw;
    height: 5.3333333333vw;
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
  }
}
.p-contact__table th .req {
  border: 1px solid #010b27;
  background: #010b27;
  color: #fff;
}
.p-contact__table th .opt {
  border: 1px solid #707070;
  background: #fff;
  color: #010b27;
}
.p-contact__table td {
  padding: 1.3020833333vw 0;
  width: 39.4791666667vw;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-contact__table td {
    display: block;
    padding: 0 0 5.3333333333vw;
    width: 100%;
  }
}
.p-contact__table td .confirm-text {
  color: #010b27;
  letter-spacing: 0.1em;
  font-size: 0.78125vw;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-contact__table td .confirm-text {
    font-size: 3.7333333333vw;
  }
}
.p-contact__table input[type=text],
.p-contact__table input[type=email],
.p-contact__table input[type=tel] {
  padding: 0 1.0416666667vw;
  width: 100%;
  height: 2.6041666667vw;
  border: none;
  background: #f5f5f5;
  color: #010b27;
  font-size: 0.78125vw;
}
@media screen and (max-width: 767px) {
  .p-contact__table input[type=text],
  .p-contact__table input[type=email],
  .p-contact__table input[type=tel] {
    padding: 0 4vw;
    height: 12vw;
    font-size: 3.7333333333vw;
  }
}
.p-contact__table input[type=text]:focus,
.p-contact__table input[type=email]:focus,
.p-contact__table input[type=tel]:focus {
  outline: 1px solid #010b27;
}
.p-contact__table textarea {
  display: block;
  padding: 0.78125vw 1.0416666667vw;
  width: 100%;
  height: 7.8125vw;
  border: none;
  background: #f5f5f5;
  color: #010b27;
  font-size: 0.78125vw;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .p-contact__table textarea {
    padding: 2.6666666667vw 4vw;
    height: 32vw;
    font-size: 3.7333333333vw;
  }
}
.p-contact__table textarea:focus {
  outline: 1px solid #010b27;
}
.p-contact__table select {
  display: none;
}
.p-contact__table .c-custom-select {
  position: relative;
  width: 14.5833333333vw;
}
@media screen and (max-width: 767px) {
  .p-contact__table .c-custom-select {
    width: 100%;
  }
}
.p-contact__table .c-custom-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.0416666667vw;
  height: 2.6041666667vw;
  background: #f5f5f5;
  color: #010b27;
  font-size: 0.8333333333vw;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media screen and (max-width: 767px) {
  .p-contact__table .c-custom-select__trigger {
    padding: 0 4vw;
    height: 12vw;
    font-size: 3.7333333333vw;
  }
}
.p-contact__table .c-custom-select__trigger::after {
  display: block;
  width: 0;
  height: 0;
  border-top: 0.625vw solid #738be7;
  border-right: 0.5208333333vw solid transparent;
  border-left: 0.5208333333vw solid transparent;
  content: "";
  transition: transform 0.3s;
}
@media screen and (max-width: 767px) {
  .p-contact__table .c-custom-select__trigger::after {
    border-top: 2.6666666667vw solid #738be7;
    border-right: 2.1333333333vw solid transparent;
    border-left: 2.1333333333vw solid transparent;
  }
}
.p-contact__table .c-custom-select__trigger.is-open::after {
  transform: rotate(180deg);
}
.p-contact__table .c-custom-select__options {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 10;
  display: none;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
.p-contact__table .c-custom-select__options.is-open {
  display: block;
}
.p-contact__table .c-custom-select__option {
  padding: 0.6770833333vw 1.0416666667vw;
  border-bottom: 1px solid #f5f5f5;
  color: #010b27;
  font-size: 0.8333333333vw;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-contact__table .c-custom-select__option {
    padding: 4vw;
    font-size: 3.7333333333vw;
  }
}
.p-contact__table .c-custom-select__option:last-child {
  border-bottom: none;
}
.p-contact__table .c-custom-select__option:active, .p-contact__table .c-custom-select__option:hover {
  background: #738be7;
  color: #fff;
}
.p-contact__table.is-confirm {
  width: 100%;
}
.p-contact__table.is-confirm tr:first-child {
  border-top: 1px solid #e3e3e3;
}
.p-contact__table.is-confirm th {
  display: table-cell;
  padding: 2.0833333333vw 0.5208333333vw 2.0833333333vw 1.9791666667vw;
  background: #f4f5fa;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-contact__table.is-confirm th {
    display: block;
    margin: 0;
    padding: 5.3333333333vw 4vw;
    width: 100%;
  }
}
.p-contact__table.is-confirm td {
  padding: 2.0833333333vw 0.5208333333vw 2.0833333333vw 4.4270833333vw;
}
@media screen and (max-width: 767px) {
  .p-contact__table.is-confirm td {
    padding: 5.3333333333vw 4vw;
  }
}
.p-contact__agree {
  margin-top: 2.8645833333vw;
  color: #010b27;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 0.6770833333vw;
}
@media screen and (max-width: 767px) {
  .p-contact__agree {
    margin-top: 10.6666666667vw;
    font-size: 3.2vw;
  }
}
.p-contact__agree label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.p-contact__agree input[type=checkbox] {
  margin: 0 0.5208333333vw 0 0;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  outline: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-contact__agree input[type=checkbox] {
    margin-right: 2.1333333333vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.p-contact__agree a {
  color: #010b27;
  text-decoration: underline;
}
.p-contact__agree a:hover {
  text-decoration: none;
}
.p-contact__submit {
  margin-top: 2.0833333333vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__submit {
    margin-top: 8vw;
  }
}
.p-contact__submit.is-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.0416666667vw;
  margin-top: 4.4270833333vw;
}
@media screen and (max-width: 767px) {
  .p-contact__submit.is-flex {
    flex-direction: column-reverse;
    gap: 4vw;
    margin-top: 8vw;
  }
}
.p-contact__submit .btn,
.p-contact__submit .btn-back {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16.7708333333vw;
  height: 3.75vw;
  border: none;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-size: 0.9895833333vw;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .p-contact__submit .btn,
  .p-contact__submit .btn-back {
    width: 100%;
    height: 14.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.p-contact__submit .btn:hover,
.p-contact__submit .btn-back:hover {
  opacity: 0.8;
}
.p-contact__submit .btn i,
.p-contact__submit .btn-back i {
  position: absolute;
  right: 1.5625vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25vw;
  height: 1.25vw;
  border-radius: 50%;
  background: #fff;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 767px) {
  .p-contact__submit .btn i,
  .p-contact__submit .btn-back i {
    right: 5.3333333333vw;
    width: 6.4vw;
    height: 6.4vw;
  }
}
.p-contact__submit .btn i::before,
.p-contact__submit .btn-back i::before {
  display: block;
  width: 0.6770833333vw;
  height: 0.5208333333vw;
  background: #010b27;
  content: "";
  mask: url(../img/common/ico-arrow.svg) no-repeat center/contain;
  -webkit-mask: url(../img/common/ico-arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-contact__submit .btn i::before,
  .p-contact__submit .btn-back i::before {
    width: 3.4666666667vw;
    height: 2.6666666667vw;
  }
}
.p-contact__submit .btn-back i {
  transform: rotate(180deg);
}
.p-contact__submit .btn {
  background: #010b27;
}
.p-contact__submit .btn i::after {
  border-color: #010b27;
}
.p-contact__submit .btn-back {
  background: #ccc;
  color: #010b27;
}
.p-contact__submit .btn-back i {
  right: auto;
  left: 1.5625vw;
}
@media screen and (max-width: 767px) {
  .p-contact__submit .btn-back i {
    right: auto;
    left: 5.3333333333vw;
  }
}
.p-contact__submit .btn-back i::after {
  border-color: #ccc;
  transform: translate(-35%, -50%) rotate(135deg);
}
.p-contact__complete {
  margin: 10.4166666667vw auto;
  padding: 4.4270833333vw 0;
  width: 73.9583333333vw;
  border: 1px solid #607add;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__complete {
    margin: 16vw auto 0;
    padding: 13.3333333333vw 5.3333333333vw;
    width: calc(100% - 10.6666666667vw);
  }
}
.p-contact__complete-title {
  margin-bottom: 1.0416666667vw;
  color: #010b27;
  letter-spacing: 0.2em;
  font-size: 1.5104166667vw;
  line-height: 1.4482758621;
}
@media screen and (max-width: 767px) {
  .p-contact__complete-title {
    margin-bottom: 8vw;
    font-size: 5.3333333333vw;
  }
}
.p-contact__complete-lead {
  margin-bottom: 2.8645833333vw;
  color: #010b27;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-contact__complete-lead {
    margin-bottom: 10.6666666667vw;
    font-size: 3.7333333333vw;
  }
}/*# sourceMappingURL=p-contact.css.map */