@charset "UTF-8";
/* Mixin */
#form {
  padding: 40px 24px 120px;
  background-color: #FFFFFF;
}
@media screen and (width < 920px) {
  #form {
    padding: 10vw 6vw 30vw;
  }
}

.form__heading--1 {
  margin-bottom: 30px;
}
@media screen and (width < 920px) {
  .form__heading--1 {
    margin-bottom: 7.5vw;
  }
}
.form__text {
  margin-top: 12px;
  margin-bottom: 10px;
  font-weight: 700;
}
@media screen and (width < 920px) {
  .form__text {
    margin-top: 3vw;
    margin-bottom: 2.5vw;
  }
}
.form input,
.form textarea,
.form th,
.form td,
.form ul {
  font-size: 20px;
}
@media screen and (width < 920px) {
  .form input,
  .form textarea,
  .form th,
  .form td,
  .form ul {
    font-size: 5vw;
  }
}
.form input,
.form textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #000000;
  background: none;
  color: #000000;
  font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
@media screen and (width < 920px) {
  .form input,
  .form textarea {
    padding: 2.5vw;
  }
}
.form input:focus,
.form textarea:focus {
  outline: none;
}
.form input[type=date],
.form input[name=item_tel],
.form input[name=item_mail_1] {
  font-family: "Roboto", sans-serif !important;
}
.form input[type=button],
.form input[type=text],
.form input[type=date],
.form input[type=submit],
.form input[type=image],
.form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
}
.form input:-webkit-autofill {
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}
.form label {
  display: inline-block;
}
.form table {
  width: 100%;
  margin: 0;
}
.form tr:first-of-type th {
  margin-top: 10px;
}
@media screen and (width < 920px) {
  .form tr:first-of-type th {
    margin-top: 2.5vw;
  }
}
.form th,
.form td {
  display: block;
  width: 100%;
}
.form th {
  margin-top: 20px;
  padding: 10px 0;
  text-align: left;
}
@media screen and (width < 920px) {
  .form th {
    margin-top: 5vw;
    padding: 2.5vw 0;
  }
}
.form td {
  padding: 0;
}
.form td:has([type=radio]) {
  display: flex;
}
.form__error {
  color: #FF0000;
}
.form__error ul {
  margin: 0;
}
.form__error ul li {
  margin: 5px 0;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (width < 920px) {
  .form__error ul li {
    margin: 1.25vw 0;
    font-size: 4vw;
  }
}
.form [type=radio],
.form [type=checkbox] {
  display: none;
}
.form [type=radio] + label,
.form [type=checkbox] + label {
  position: relative;
  padding: 10px 20px 10px 30px;
  font-weight: 700;
}
@media screen and (width < 920px) {
  .form [type=radio] + label,
  .form [type=checkbox] + label {
    padding: 2.5vw 5vw 2.5vw 7.5vw;
  }
}
.form [type=radio] + label::before,
.form [type=checkbox] + label::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  border: 2px solid #000000;
  content: "";
}
@media screen and (width < 920px) {
  .form [type=radio] + label::before,
  .form [type=checkbox] + label::before {
    width: 5vw;
    height: 5vw;
    border: 0.5vw solid #000000;
  }
}
.form [type=radio]:checked + label::after,
.form [type=checkbox]:checked + label::after {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "";
}
.form [type=radio] + label {
  margin-left: 20px;
}
@media screen and (width < 920px) {
  .form [type=radio] + label {
    margin-left: 5vw;
  }
}
.form [type=radio] + label:first-of-type {
  margin-left: 0;
}
.form [type=radio] + label::before {
  border-radius: 50%;
}
.form [type=radio]:checked + label::after {
  left: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  animation: inputRadio 0.2s forwards ease-in-out;
  background: #FF0000;
}
@media screen and (width < 920px) {
  .form [type=radio]:checked + label::after {
    left: 1vw;
    width: 3vw;
    height: 3vw;
  }
}
.form [type=checkbox] + label::before {
  border-radius: 4px;
}
@media screen and (width < 920px) {
  .form [type=checkbox] + label::before {
    border-radius: 1vw;
  }
}
.form [type=checkbox]:checked + label::after {
  left: 7px;
  width: 7px;
  height: 14px;
  transform: translateY(-50%) rotate(40deg);
  border-bottom: 3px solid #FF0000;
  border-right: 3px solid #FF0000;
  animation: inputCheck 0.2s forwards ease-in-out;
}
@media screen and (width < 920px) {
  .form [type=checkbox]:checked + label::after {
    left: 1.75vw;
    width: 1.75vw;
    height: 3.5vw;
    border-bottom: 0.75vw solid #FF0000;
    border-right: 0.75vw solid #FF0000;
  }
}
.form .red {
  position: relative;
  top: -2px;
  margin-left: 5px;
  padding: 2px 5px 3px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 5px;
  background-color: #FF0000;
  color: #FFFFFF;
}
@media screen and (width < 920px) {
  .form .red {
    top: -0.5vw;
    margin-left: 1.25vw;
    padding: 0.5vw 1.25vw 0.75vw;
    font-size: 3.5vw;
    border-radius: 1.25vw;
  }
}
.form__submit {
  border-color: #FF0000;
}
.form__submit .btn--red {
  position: relative;
  border: 2px solid #000000;
  border-radius: 9999px;
  background-color: #FF0000;
  box-shadow: 0 3px 0 #000000;
  font-weight: bold;
}
@media screen and (width < 920px) {
  .form__submit .btn--red {
    border: 0.5vw solid #000000;
    box-shadow: 0 0.75vw 0 #000000;
  }
}
.form__submit .btn--red:has(:disabled) {
  top: 4px;
  background-color: #D9D9D9;
  box-shadow: none;
}
@media screen and (width < 920px) {
  .form__submit .btn--red:has(:disabled) {
    top: 1vw;
  }
}
.form__submit .btn--red:has(:disabled) input {
  color: #000000;
  font-family: 900;
}
.form__submit input {
  padding: 10px;
  color: #FFFFFF;
  font-weight: 700;
  border: none;
}
@media screen and (width < 920px) {
  .form__submit input {
    padding: 2.5vw;
  }
}
.form__submit--conf {
  display: flex;
  margin-top: 30px;
  justify-content: space-between;
}
@media screen and (width < 920px) {
  .form__submit--conf {
    margin-top: 7.5vw;
  }
}
.form__submit--conf .btn--blue {
  position: relative;
  border: 2px solid #000000;
  border-radius: 9999px;
  background-color: #74DAFF;
  box-shadow: 0 3px 0 #000000;
  color: #000000;
}
.form__submit--conf .btn--blue input {
  font-weight: 900;
  color: #000000;
}
@media screen and (width < 920px) {
  .form__submit--conf .btn--blue {
    border: 0.5vw solid #000000;
    box-shadow: 0 0.75vw 0 #000000;
  }
}
.form__submit--conf p {
  width: 48%;
}
.form__example {
  font-size: 16px;
  margin-top: 5px;
  font-weight: 700;
}
@media screen and (width < 920px) {
  .form__example {
    font-size: 4vw;
    margin-top: 1.25vw;
  }
}
.form__privacy {
  margin-top: 30px;
  text-align: center;
  font-weight: 700;
}
@media screen and (width < 920px) {
  .form__privacy {
    margin-top: 7.5vw;
  }
}
.form__privacy a {
  text-decoration: underline;
  font-weight: 700;
  color: #FF0000;
}
.form__privacy label {
  width: 100%;
  padding-right: 0 !important;
  text-align: left;
}
.form--conf th {
  font-weight: 900;
  color: #FF0000;
}
.form--conf td {
  margin-top: 5px;
  font-weight: 700;
}
@media screen and (width < 920px) {
  .form--conf td {
    margin-top: 1.25vw;
  }
}

@keyframes inputRadio {
  30%, 70% {
    transform: translateY(-50%) scale(0.5);
  }
}
@keyframes inputCheck {
  30%, 70% {
    transform: translateY(-50%) rotate(40deg) scale(0.75);
  }
}/*# sourceMappingURL=form.css.map */