@import url(./global/_variable.css);

/* form */
/* ============================================ */

.nav_sp {
  display: none;
}

.box_body {
  padding: 3cqw 4.47cqw;
	@media (width < 896px) {
		padding: 24px;
	}
}

.list_app {
	padding-top: 0px;
}

.form {

}
.formLayout {
  &.input_now {
    .display_check {
      display: none;
    }
  }
  &.check_now {
    .display_input {
      display: none;
    }
  }
}

.errmsg, #errorMessage {
  background: #fff;
  border: 2px solid #FE0000;
  padding: 12px 20px;
  color: #FE0000;
  margin-bottom: 20px;
  li {
    text-indent: -1em;
    padding: 3px 0 3px 1em;
    line-height: 1.4em;
  }
}

.form-wrapper {
  margin-top: 48px;
  @media (width < 896px) {
    margin-top: 32px;
  }
}

.form-catch {
  inline-size: fit-content;
  margin-inline: auto;
  font-size: 2rem;
  @media (width < 896px) {
    font-size: 1.6rem;
  }
}

.form-inner {
  margin-top: 48px;
  @media (width < 896px) {
    margin-top: 32px;
  }
}

.form-block {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.form-item {
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  @media (width < 896px) {
    flex-direction: column;
  }
  dt, dd {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  dt {
    flex-shrink: 0;
    padding: 16px 20px;
    width: 250px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 10px;
    background: var(--main_c);
    color: #fff;
    font-weight: 400;
    position: relative;
    @media (width < 896px) {
      padding: 10px 16px;
      width: 100%;
    }
    .kome {
      font-size: 0.8em;
      line-height: 1.2em;
      padding-left: 1em;
      text-indent: -1em;
      display: block;
      padding-top: 5px;
    }
  }
  dd {
    flex-grow: 1;
    padding: 20px;
    background: #fff;
    @media (width < 896px) {
      padding: 16px;
      width: 100%;
    }
  }
}


.wrap_dt {
  display: block;
  width: calc(100% - 3.5em);
}

label {
  position: relative;
  &:has(> input[type='radio']) {
    display: inline-block;
    margin: 5px 20px 5px 0;
    width: 100%;
  }
  &:has(> input[type='checkbox']) {
    display: inline-block;
    margin: 5px 20px 5px 0;
  }
}
input[type='text'],input[type='email'], input[type='tel'], select, textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  font-size: 1.6rem!important;
  margin: 5px 10px 5px 0;
  &.input__short {
    max-width: 200px;
    margin-left: 3px;
  }
  &.input__middle {
    max-width: 300px;
  }
  &.date_y {
    width: 5em;
    padding: 3px;
    margin: 5px 2px 5px 10px;
  }
  &.date_md {
    width: 3em;
    padding: 3px;
    margin: 5px 2px 5px 10px;
  }
}
textarea {
  height: 200px;
  font-size: 1.6rem!important;
}
input[type='radio'], input[type='checkbox'] {
  margin-right: 5px;
  transform: translateY(-2px);
}

.form-mark {
  margin-right: 5px;
}

.form-search {
  text-align: center;
  padding: 8px 20px;
  margin: 5px 0;
  color: #fff;
  font-family: var(--font_normal);
  font-size: 1.4rem;
  background: var(--main_c);
  border-radius: 9999px;
  cursor: pointer;
  transition: all .3s ease-out;
  @media (width < 896px) {
    font-size: 1.2rem;
  }
  &:hover {
    @media(hover:hover) {
      opacity: .7;
    }
  }
}

.txt_main_form {
  font-size: clamp(1.6rem, 0.21vw + 1.522rem, 1.8rem);
  line-height: 2em;
  text-align: center;
  @media (width < 896px) {
    font-size: 1.4rem;
  }
}

.form-note {
  font-size: 1.4rem;
  margin-top: 5px;
  @media (width < 896px) {
    font-size: 1.2rem;
  }
}

.form-required {
  display: inline-block;
  background: #FE0000;
  padding: 2px 8px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  @media (width < 896px) {
    font-size: 1.2rem;
  }
}

.form-privacy{
  margin-top: 56px;
  @media (width < 896px){
    margin-top: 40px;
  }
}
.form-privacy__txt{
  word-break: keep-all;
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
  @media (width < 896px){
    font-size: 1.5rem;
  }
  a{
    text-decoration: underline;
    text-underline-offset: 0.2em;
    color: var(--main_c);
  }
}
.form-privacy__agree{
  font-size: 2rem;
  margin-top: 24px;
  margin-inline: auto;
  inline-size: fit-content;
  @media (width < 896px){
    font-size: 1.6rem;
    margin-top: 20px;
  }
}

.form-submit {
  margin-top: 56px;
  @media (width < 896px) {
    margin-top: 40px;
  }
}
.form-submit__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  +.form-submit__list {
    margin-top: 24px;
    @media (width < 896px){
      margin-top: 20px;
    }
  }
  >li {
    width: calc((100% - 20px) / 2);
    max-width: 300px;
    @media (width < 480px) {
      width: 100%;
    }
    &.prev {
      .form-submit__btn {
        background: #757575;
      }
    }
  }
}
.form-submit__btn {
  text-align: center;
  padding: 20px;
  width: 100%;
  background: var(--main_c);
  color: #fff;
  font-family: var(--font_normal);
  font-size: 2rem;
  border-radius: 9999px;
  cursor: pointer;
  transition: all .3s ease-out;
  @media (width < 896px) {
    font-size: 1.6rem;
  }
  &:hover {
    @media(hover:hover) {
      opacity: .6;
    }
  }
}
.thanks {
  @media (width < 896px){
    margin-bottom: 100px;
  }
}

input::placeholder,textarea::placeholder {
  color: #999;
  opacity: 1;
}

.mt20 {
  margin-top: 24px;
}

.box_body .check {
  margin-top: -10px;
  margin-left: 24px;
  @media (width < 896px){
    margin: 0px;
  }
}

.box_body .check li {
  position: relative;
  padding-left: 24px;
  @media (width < 896px){
    margin-top: 10px;
  }
}

.box_body .check li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  @media (width < 896px){
    width: 12px;
    height: 12px;
    top: 12px;
    font-size: 10px;
  }
}