@charset "UTF-8";

/* form
--------------------------------------------------*/

.entry__form {
  padding: 90rem 0 115rem;
}

.entry__form form {
  display: block;
  margin: 0 auto;
  max-width: 500px;
}

.entry__form input,
.entry__form textarea {
  max-width: 500px;
}

.entry__form textarea {
  height: 170px;
  resize: vertical;
}

.entry__form input[type=text],
.entry__form input[type=email],
.entry__form textarea {
  background-color: white;
  border: max(1rem, 1px) solid #BEBEBE;
  border-radius: 6px;
  display: block;
  padding: 6px 13px;
  width: 100%;
}

.entry__form select {
  background-image: url("../img/entry/select.svg");
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  border: max(1rem, 1px) solid #BEBEBE;
  border-radius: 6px;
  padding: 6px 13px;
  width: 234px;
}

.entry__form input[type=radio] {
  height: 27px;
  width: 27px;
}

.entry__form input[type=file] {
  display: none;
}

.entry__form input[type=checkbox] {
  height: 25px;
  width: 25px;
}

.entry__form input[type=reset],
.entry__form input[type=submit] {
  background-color: #A21B1B;
  color: white;
  font-weight: bold;
  height: 66rem;
  letter-spacing: 0.2em;
  text-align: center;
  width: 237rem;
}

.entry__form input[type=submit] {
  margin-left: 25rem;
}

.entry__form dl:not(:first-of-type) {
  margin-top: 40rem;
}

.entry__form dt {
  margin-bottom: 9px;
  padding-left: 48px;
  position: relative;
}

.entry__form dt::before {
  -webkit-transform: translateY(-50%);
  color: white;
  display: inline-block;
  left: 0;
  padding: 1px 4px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.entry__form dt.required::before {
  background-color: #DE1F1F;
  content: "必須";
}

.entry__form dt.optional::before {
  background-color: #9A9A9A;
  content: "任意";
}

.entry__form label {
  font-weight: bold;
}

.entry__form ul {
  display: flex;
  flex-wrap: wrap;
}

.entry__form .shop ul {
  flex-direction: column;
}

.entry__form li {
  margin-right: 23rem;
  margin-top: 10rem;
}

.entry__form li label {
  padding-left: 4px;
}

.entry__form .fileBox label {
  background-color: #F5F5F5;
  border: 1px solid #BEBEBE;
  border-radius: 6px;
  display: inline-block;
  font-size: 14rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 8rem;
  padding: 8rem 30rem;
}

.entry__form .fileBox .no-file-selected {
  font-size: 14rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-left: 18rem;
}

.entry__form .fileBox p {
  font-size: 14rem;
  font-weight: bold;
  margin-top: 8rem;
}

.entry__form .checkBox {
  margin-top: 40rem;
  max-width: 500px;
  text-align: center;
}

.entry__form .checkBox label {
  display: block;
  margin-bottom: 4px;
}

.entry__form .checkBox span {
  color: #DE1F1F;
  font-weight: bold;
}

.entry__form .checkBox .parsley-custom-error-message {
  text-align: center;
}

.entry__form a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.entry__form a:hover {
  text-decoration: none;
}

.entry__form .sendBtn {
  display: flex;
  justify-content: center;
  margin-top: 20rem;
}

.entry__form .error,
.entry__form .parsley-custom-error-message,
.entry__form #name_error,
.entry__form #post_code_error,
.entry__form #address_1_error,
.entry__form #address_2_error,
.entry__form #address_3_error,
.entry__form #email_error,
.entry__form #tel_error,
.entry__form #agreement_error {
  color: #A21B1B;
  color: #DE1F1F;
  font-size: 14rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

/* thanks
--------------------------------------------------*/

.thxBox {
  background-color: white;
  margin: 0 auto;
  max-width: 1000px;
  padding: 95rem 0 140rem;
}

.thxBox p {
  margin: 0 auto;
  max-width: 790rem;
}

.thxBox .string {
  font-size: 26rem;
  font-weight: bold;
  margin-bottom: 50rem;
  text-align: center;
}

/* entry
--------------------------------------------------*/

.entry__form {
  background-color: white;
  margin: 0 auto;
  max-width: 1000px;
}

@media only screen and (min-width: 769px) {
  .entry__form .checkBox span {
    white-space: nowrap;
  }

  .entry {
    padding: 24rem 0 100rem;
  }
}

@media only screen and (max-width: 768px) {
  .entry__form {
    padding: 27rem 0 70rem;
  }

  .entry__form input[type=text],
  .entry__form input[type=email],
  .entry__form textarea {
    padding: 6rem 13rem;
  }

  .entry__form select {
    width: 234rem;
  }

  .entry__form input[type=radio] {
    height: 27rem;
    width: 27rem;
  }

  .entry__form input[type=checkbox] {
    height: 25rem;
    width: 25rem;
  }

  .entry__form input[type=reset],
  .entry__form input[type=submit] {
    width: 170rem;
  }

  .entry__form input[type=submit] {
    margin-left: 3rem;
  }

  .entry__form dt {
    margin-bottom: 9rem;
    padding-left: 45rem;
  }

  .entry__form dt::before {
    padding: 1rem 3rem;
  }

  .entry__form li label {
    padding-left: 4rem;
  }

  .thxBox {
    padding: 57rem 0 186rem;
  }

  .entry {
    background-color: white;
  }
}