.p_contact__content .form_item__ttl .tag {
  font-size: 1rem;
}

.p_contact__content .form_item__ttl .ttl {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__ttl .ttl {
    font-size: 1.6rem;
  }
}

.p_contact .heading {
  padding: 30px 0 20px;
}
@media only screen and (min-width: 768px) {
  .p_contact .heading {
    padding: 51px 0 28px;
  }
}
.p_contact__content {
  width: 100%;
  max-width: 880px;
  margin: 0 auto 60px;
  background-color: #e3efff;
  border-radius: 8px;
  padding: 40px 20px;
}
@media only screen and (min-width: 768px) {
  .p_contact__content {
    margin: 0 auto clamp(6rem, 23.4375vw + -12rem, 12rem);
    padding: 80px 0;
  }
}
.p_contact__content form {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}
.p_contact__content .form_item + .form_item {
  margin-top: 30px;
}
.p_contact__content .form_item__ttl {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p_contact__content .form_item__ttl .tag {
  flex-shrink: 0;
  width: 36px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #1771e1;
}
.p_contact__content .form_item__ttl .ttl {
  color: #333333;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p_contact__content .form_item__desc {
  padding-top: 8px;
}
.p_contact__content .form_item__desc input:not([type=radio]):not([type=checkbox]),
.p_contact__content .form_item__desc textarea {
  font-size: 1.6rem;
  width: 100%;
  min-height: 46px;
  background-color: #fff;
  border: 1px solid #a4a4a4;
  padding: 7px 12px 5px;
  letter-spacing: 0.1em;
  outline: 0;
  cursor: auto;
}
.p_contact__content .form_item__desc input:not([type=radio]):not([type=checkbox])::placeholder,
.p_contact__content .form_item__desc textarea::placeholder {
  color: #a8a8a8;
}
.p_contact__content .form_item__desc input:not([type=radio]):not([type=checkbox]).is_error,
.p_contact__content .form_item__desc textarea.is_error {
  color: #e27680;
  background-color: #fde3e6;
  border: 1px solid #e27680;
}
.p_contact__content .form_item__desc textarea {
  min-height: 200px;
  resize: none;
}
.p_registration .form_item__desc select {
  background-color: #fff;
  text-align: center;
  border: 1px solid #a4a4a4;
  padding: 6px 4px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.p_registration .radio_content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  flex-wrap: wrap;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p_registration .radio_content {
    gap: 32px;
  }
}
.p_registration .radio_item {
  letter-spacing: 0.1em;
}
.p_registration .radio_item [type=radio]:checked,
.p_registration .radio_item [type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}
.p_registration .radio_item [type=radio]:checked + label,
.p_registration .radio_item [type=radio]:not(:checked) + label {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
  color: #1771e1;
}
.p_registration .radio_item [type=radio]:checked + label:before,
.p_registration .radio_item [type=radio]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 18px;
  height: 18px;
  border: 1px solid #ddd;
  border-radius: 100%;
  background: #fff;
}
.p_registration .radio_item [type=radio]:checked + label:after,
.p_registration .radio_item [type=radio]:not(:checked) + label:after {
  content: "";
  width: 12px;
  height: 12px;
  background: #1771e1;
  position: absolute;
  top: 4px;
  left: 3px;
  border-radius: 100%;
  transition: all 0.2s ease;
}
.p_registration .radio_item [type=radio]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}
.p_registration .radio_item [type=radio]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__desc textarea {
    min-height: 240px;
  }
}
.p_contact__content .form_item__acceptance {
  display: flex;
  gap: 5px;
  margin-top: 29px;
  color: #333333;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__acceptance {
    gap: 0 17px;
    align-items: center;
  }
}
.p_contact__content .form_item__acceptance input[type=checkbox] {
  width: 16px;
  height: 16px;
  appearance: none;
  border: 1px solid #dddddd;
  border-radius: 2px;
  flex-shrink: 0;
  position: relative;
  top: 5px;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__acceptance input[type=checkbox] {
    top: 0;
  }
}
.p_contact__content .form_item__acceptance input[type=checkbox].is_error {
  border: 1px solid #dddddd;
}
.p_contact__content .form_item__acceptance input[type=checkbox]::after {
  content: "";
  width: 3px;
  height: 6px;
  border: 0;
  border-right: 1px solid #1771e1;
  border-bottom: 1px solid #1771e1;
  position: absolute;
  top: 2px;
  left: 2px;
  rotate: 45deg;
  scale: 0.5;
  opacity: 0;
  transition: 350ms ease-out;
}
.p_contact__content .form_item__acceptance input[type=checkbox]:checked::after {
  opacity: 1;
  scale: 1.4;
  top: 3px;
  left: 6px;
}
.p_contact__content .form_item__acceptance p {
  letter-spacing: 0.1em;
}
.p_contact__content .form_item__acceptance p label {
  cursor: pointer;
  transition: opacity 150ms linear;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__acceptance p label:hover {
    opacity: 0.8;
  }
}
.p_contact__content .form_item__acceptance a {
  color: #1771e1;
}
.p_contact__content .form_item__acceptance .form_error {
  width: 100%;
  margin-top: 0;
}
.p_contact__content .form_item__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0 0;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__submit {
    margin: 52px 0 0;
  }
}
.p_contact__content .form_item__submit .cc_btn {
  width: 100%;
  max-width: 260px;
  min-height: 50px;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__submit .cc_btn.cc_btn__more {
    padding-left: 10px;
    padding-right: clamp(4rem, 6.640625vw + -1.1rem, 5.7rem);
  }
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_item__submit .cc_btn__more::after {
    right: 30px;
  }
}
.p_contact__content .form_error {
  color: #c62828 !important;
  font-weight: 400;
  -webkit-text-fill-color: #c62828 !important;
  font-size: 1.2rem;
  margin-top: 8px;
  line-height: 1.7142857143;
}
@media only screen and (min-width: 768px) {
  .p_contact__content .form_error {
    font-size: 1.4rem;
  }
}

.p_finish__content {
  width: 100%;
  max-width: 880px;
  margin: 40px auto 0;
  background-color: #e3efff;
  border-radius: 8px;
}
@media only screen and (min-width: 768px) {
  .p_finish__content {
    margin: 90px auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_finish__content .cc_finish {
    padding-top: 71px;
  }
}
@media only screen and (min-width: 768px) {
  .p_finish__content .cc_finish__img {
    margin-top: 33px;
  }
}

/*# sourceMappingURL=contact.css.map */
