@charset "UTF-8";

/* contact */
/* ---------------------------------------------
  PC
--------------------------------------------- */
#wrapper .contact__contents {
  padding: min(70 / 1366 * 100vw, 70px) min(196 / 1366 * 100vw, 196px) 0;
}
#wrapper .contact__text {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
}
#wrapper .contact__form {
  margin-top: min(60 / 1366 * 100vw ,60px);
}
#wrapper .contact__form-group:not(:last-of-type) {
  margin-bottom: min(30 / 1366 * 100vw ,30px);
}
#wrapper .contact__form-heading {
  margin-bottom: min(10 / 1366 * 100vw ,10px);
}
#wrapper .contact__form-label {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
}
#wrapper .contact__form-label::before {
  content: "必須";
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 1.666;
  letter-spacing: 0;
  font-weight: 400;
  color: #fff;
  border-radius: 5px;
  padding: 0 min(12 / 1366 * 100vw ,12px);
  text-align: center;
  background-color: #970000;
  display: inline-block;
  margin-right: min(20 / 1366 * 100vw ,20px);
}
#wrapper .contact__form-select {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0;
  font-weight: 400;
  color: #222;
  width: 100%;
  padding: min(7 / 1366 * 100vw ,7px) min(20 / 1366 * 100vw ,20px);
  border: none;
  border-radius: 5px;
  height: min(50 / 1366 * 100vw ,50px);
}
#wrapper .contact__form-input,
#wrapper .contact__form-textarea {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0;
  font-weight: 400;
  width: 100%;
  padding: min(17 / 1366 * 100vw ,17px) min(20 / 1366 * 100vw ,20px);
  appearance: none;
  border: none;
  border-radius: 5px;
  height: min(50 / 1366 * 100vw ,50px);
}
#wrapper .contact__form-textarea {
  height: auto;
}
#wrapper .contact__form-link {
  text-align: center;
  margin-top: min(100 / 1366 * 100vw ,100px);
}
#wrapper .contact__form-link-text {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-decoration: underline;
  color: #fff;
  position: relative;
}
#wrapper .contact__form-link-text::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: max(-20 / 1366 * 100vw, -20px);
  translate: -100% -50%;
  border-radius: 50%;
}
#wrapper .contact__form-link-text::after {
  content: "";
  border-style: solid;
  border-width: min(5 / 1366 * 100vw, 5px) 0 min(5 / 1366 * 100vw, 5px) min(6 / 1366 * 100vw, 6px);
  border-color: transparent transparent transparent #222;
  position: absolute;
  top: 50%;
  left: -12.5%;
  translate: -100% -50%;
}
#wrapper .contact__form-checkbox {
  margin-top: min(50 / 1366 * 100vw ,50px);
}
#wrapper .contact__form-label--checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
#wrapper .contact__form-checkbox-input {
  margin: 0;
  width: min(24 / 1366 * 100vw ,24px);
  height: min(24 / 1366 * 100vw ,24px);
  margin-right: min(22 / 1366 * 100vw ,22px);
}
#wrapper .contact__form-button {
  width: fit-content;
  margin: min(110 / 1366 * 100vw, 110px) auto 0;
  position: relative;
  transition: all 300ms 0s ease;
}
#wrapper .contact__form-button::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 65%;
  translate: 0 -50%;
  border-radius: 50%;
}
#wrapper .contact__form-button::after {
  content: "";
  border-style: solid;
  border-width: min(5 / 1366 * 100vw, 5px) 0 min(5 / 1366 * 100vw, 5px) min(6 / 1366 * 100vw, 6px);
  border-color: transparent transparent transparent #970000;
  position: absolute;
  top: 50%;
  left: 66.75%;
  translate: -50% -50%;
}
#wrapper .contact__form-button:hover {
  opacity: 0.6;
  transition: all 300ms 0s ease;
}
#wrapper .contact__form-button-submit {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.8;
  letter-spacing: 0.04em;
  font-weight: 400;
  color: #fff;
  background-color: #970000;
  border: none;
  cursor: pointer;
  width: min(580 / 1366 * 100vw, 580px);
  padding: 0;
  border-radius: 0px;
}
/* ---------------------------------------------
  SP
--------------------------------------------- */
@media (max-width: 750px) {
  #wrapper .contact__contents {
    padding: min(45 / 750 * 100vw, 45px) 0 0;
  }
  #wrapper .contact__text {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 2;
  }
  #wrapper .contact__form {
    margin-top: min(94 / 750 * 100vw ,94px);
  }
  #wrapper .contact__form-group:not(:last-of-type) {
    margin-bottom: min(45 / 750 * 100vw ,45px);
  }
  #wrapper .contact__form-heading {
    margin-bottom: min(10 / 750 * 100vw ,10px);
  }
  #wrapper .contact__form-label {
    font-size: min(24 / 750 * 100vw ,24px);
  }
  #wrapper .contact__form-label::before {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: 0 min(11 / 750 * 100vw ,11px);
    margin-right: min(10 / 750 * 100vw ,10px);
  }
  #wrapper .contact__form-select {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: min(23 / 750 * 100vw ,23px) min(20 / 750 * 100vw ,20px);
    height: min(70 / 750 * 100vw ,70px);
  }
  #wrapper .contact__form-input,
  #wrapper .contact__form-textarea {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: min(23 / 750 * 100vw ,23px) min(20 / 750 * 100vw ,20px);
    height: min(70 / 750 * 100vw ,70px);
  }
  #wrapper .contact__form-textarea {
    height: auto;
  }
  #wrapper .contact__form-link {
    margin-top: min(100 / 750 * 100vw ,100px);
  }
  #wrapper .contact__form-link-text {
    font-size: min(24 / 750 * 100vw ,24px);
  }
  #wrapper .contact__form-link-text::before {
    width: min(32 / 750 * 100vw, 32px);
    height: min(32 / 750 * 100vw, 32px);
    left: max(-20 / 750 * 100vw, -20px);
  }
  #wrapper .contact__form-link-text::after {
    border-width: min(6 / 750 * 100vw, 6px) 0 min(6 / 750 * 100vw, 6px) min(8 / 750 * 100vw, 8px);
    top: 50%;
    left: -11.5%;
  }
  #wrapper .contact__form-checkbox {
    margin-top: min(50 / 750 * 100vw ,50px);
  }
  #wrapper .contact__form-checkbox-input {
    width: min(30 / 750 * 100vw ,30px);
    height: min(30 / 750 * 100vw ,30px);
    margin-right: min(22 / 750 * 100vw ,22px);
  }
  #wrapper .contact__form-button {
    margin: min(100 / 750 * 100vw, 100px) auto 0;
    width: 100%;
  }
  #wrapper .contact__form-button::before {
    width: min(30 / 750 * 100vw, 30px);
    height: min(30 / 750 * 100vw, 30px);
    left: auto;
    right: min(38 / 750 * 100vw, 38px);
  }
  #wrapper .contact__form-button::after {
    border-width: min(8 / 750 * 100vw, 8px) 0 min(8 / 750 * 100vw, 8px) min(12 / 750 * 100vw, 12px);
    left: auto;
    right: 6%;
  }
  #wrapper .contact__form-button-submit {
    font-size: min(35 / 750 * 100vw, 35px);
    line-height: 2.8;
    width: 100%;
  }
}

/* confirm */
/* ---------------------------------------------
  PC
--------------------------------------------- */
#wrapper .confirm__contents {
  padding: min(70 / 1366 * 100vw, 70px) min(196 / 1366 * 100vw, 196px) 0;
}
#wrapper .confirm__form-group:not(:last-of-type) {
  margin-bottom: min(30 / 1366 * 100vw ,30px);
  padding-bottom: min(20 / 1366 * 100vw ,20px);
  border-bottom: 1px solid #fff;
}
#wrapper .confirm__form-heading {
  margin-bottom: min(15 / 1366 * 100vw ,15px);
}
#wrapper .confirm__form-label {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
}
#wrapper .confirm__form-label::before {
  content: "必須";
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 1.666;
  letter-spacing: 0;
  font-weight: 400;
  color: #fff;
  border-radius: 5px;
  padding: 0 min(12 / 1366 * 100vw ,12px);
  text-align: center;
  background-color: #970000;
  display: inline-block;
  margin-right: min(20 / 1366 * 100vw ,20px);
}
#wrapper .confirm__form-text {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0;
  font-weight: 400;
  width: 100%;
  color: #fff;
}
#wrapper .confirm__form-button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(50 / 1366 * 100vw, 50px);
  margin-top: min(125 / 1366 * 100vw, 125px);
}
#wrapper .confirm__form-button-input {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.8;
  letter-spacing: 0.04em;
  font-weight: 400;
  color: #fff;
  border: none;
  cursor: pointer;
  padding: 0;
  border-radius: 0px;
}
#wrapper .confirm__form-button-previous,
#wrapper .confirm__form-button-submit {
  position: relative;
  transition: all 300ms 0s ease;
}
#wrapper .confirm__form-button-previous::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: min(15 / 1366 * 100vw, 15px);
  translate: 0 -50%;
  border-radius: 50%;
}
#wrapper .confirm__form-button-previous::after {
  content: "";
  border-style: solid;
  border-width: min(5 / 1366 * 100vw, 5px) min(6 / 1366 * 100vw, 6px) min(5 / 1366 * 100vw, 5px) 0;
  border-color: transparent #898989 transparent transparent;
  position: absolute;
  top: 50%;
  left: 11.5%;
  translate: -50% -50%;
}
#wrapper .confirm__form-button-previous:hover {
  opacity: 0.6;
  transition: all 300ms 0s ease;
}
#wrapper .confirm__form-button-previous-input {
  background-color: #898989;
  width: min(200 / 1366 * 100vw, 200px);
}
#wrapper .confirm__form-button-submit::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  right: min(15 / 1366 * 100vw, 15px);
  translate: 0 -50%;
  border-radius: 50%;
}
#wrapper .confirm__form-button-submit::after {
  content: "";
  border-style: solid;
  border-width: min(5 / 1366 * 100vw, 5px) 0 min(5 / 1366 * 100vw, 5px) min(6 / 1366 * 100vw, 6px);
  border-color: transparent transparent transparent #970000;
  position: absolute;
  top: 50%;
  right: 5.5%;
  translate: -50% -50%;
}
#wrapper .confirm__form-button-submit:hover {
  opacity: 0.6;
  transition: all 300ms 0s ease;
}
#wrapper .confirm__form-button-submit-input {
  background-color: #970000;
  width: min(300 / 1366 * 100vw, 300px);
}
/* ---------------------------------------------
  SP
--------------------------------------------- */
@media (max-width: 750px) {
  #wrapper .confirm__contents {
    padding: min(45 / 750 * 100vw, 45px) 0 0;
  }
  #wrapper .confirm__form-group:not(:last-of-type) {
    margin-bottom: min(30 / 750 * 100vw ,30px);
    padding-bottom: min(25 / 750 * 100vw ,25px);
  }
  #wrapper .confirm__form-heading {
    margin-bottom: min(20 / 750 * 100vw ,20px);
  }
  #wrapper .confirm__form-label {
    font-size: min(24 / 750 * 100vw ,24px);
  }
  #wrapper .confirm__form-label::before {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: 0 min(11 / 750 * 100vw ,11px);
    margin-right: min(10 / 750 * 100vw ,10px);
  }
  #wrapper .confirm__form-text {
    font-size: min(24 / 750 * 100vw ,24px);
  }
  #wrapper .confirm__form-button {
    gap: min(20 / 750 * 100vw, 20px);
    margin-top: min(100 / 750 * 100vw, 100px);
  }
  #wrapper .confirm__form-button-input {
    font-size: min(35 / 750 * 100vw, 35px);
    line-height: 2.715;
  }
  #wrapper .confirm__form-button-previous::before {
    width: min(30 / 750 * 100vw, 30px);
    height: min(30 / 750 * 100vw, 30px);
    left: min(38 / 750 * 100vw, 38px);
  }
  #wrapper .confirm__form-button-previous::after {
    border-width: min(8 / 750 * 100vw, 8px) min(12 / 750 * 100vw, 12px) min(8 / 750 * 100vw, 8px) 0;
    left: 20.5%;
  }
  #wrapper .confirm__form-button-previous-input {
    width: min(250 / 750 * 100vw, 250px);
  }
  #wrapper .confirm__form-button-submit::before {
    width: min(30 / 750 * 100vw, 30px);
    height: min(30 / 750 * 100vw, 30px);
    right: min(38 / 750 * 100vw, 38px);
  }
  #wrapper .confirm__form-button-submit::after {
    border-width: min(8 / 750 * 100vw, 8px) 0 min(8 / 750 * 100vw, 8px) min(12 / 750 * 100vw, 12px);
    right: 10%;
  }
  #wrapper .confirm__form-button-submit-input {
    width: min(400 / 750 * 100vw, 400px);
  }
}

/* thanks */
/* ---------------------------------------------
  PC
--------------------------------------------- */
#wrapper .thanks__contents {
  padding: min(70 / 1366 * 100vw, 70px) min(196 / 1366 * 100vw, 196px) 0;
}
#wrapper .thanks__text {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
  text-align: center;
}
/* ---------------------------------------------
  SP
--------------------------------------------- */
@media (max-width: 750px) {
  #wrapper .thanks__contents {
    padding: min(45 / 750 * 100vw, 45px) 0 0;
  }
  #wrapper .thanks__text {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 2;
    text-align: left;
  }
}