@charset "utf-8";

/* keyVisual
===================================================== */
.kv {
  width: 100%;
}

/* =====================================================
#　flex
===================================================== */
.flex {
  display: flex;
  align-items: center;
  gap: 30px;

  &:first-of-type {
    margin-block-start: 0 !important;
  }

  &:nth-of-type(n + 1) {
    margin-block-start: 15px;
  }

  & span {
    width: 100px;
  }
}

@media screen and (max-width: 767px) {
  .flex {
    gap: 20px;

    &:nth-of-type(n + 1) {
      margin-block-start: 15px !important;
    }

    & span {
      width: 80px;
    }
  }
}

/* =====================================================
#　flex_box
===================================================== */
.flex_box {
  display: block;
  width: calc(100% / 2 - 15px);

  & input {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .flex_box {
    width: calc(100% / 2 - 10px);

    & input {
      width: 100%;
    }
  }
}

/* =====================================================
#　flex_box
===================================================== */
.title_box {
  width: calc(100% - 100px);
}

/* =====================================================
#　textCenter
===================================================== */
.textCenter {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .textCenter {
    text-align: left;
  }
}

/* =====================================================
#　placeholder
===================================================== */
::placeholder {
  color: #9b9b9b;
}

/* =====================================================
#　border none　　　　　
===================================================== */
.border_none {
  border: none !important;
}

/* =====================================================
#　input
===================================================== */
input {
  width: 100%;
  height: 50px;
  padding: 5px 10px;
  border: solid 1px #dddddd;
  border-radius: 5px;
}

input:disabled {
  width: 300px;
  background-color: #f5f5f5;
}

@media screen and (max-width: 767px) {
  input {
    width: 100%;
  }

  input:disabled {
    width: 100%;
    margin-block-start: 10px;
  }
}



/* input[type="checkbox"]
===================================================== */
.inputGroup {
  background-color: #fff;
  display: block;
  margin: 5px 0;
  position: relative;

  label {
    padding: 15px 20px;
    width: 90%;
    display: block;
    text-align: left;
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: color 200ms ease-in;
    overflow: hidden;

    &:before {
      width: 10px;
      height: 10px;
      content: "";
      background-color: #00a9c9;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%) scale3d(1, 1, 1);
      transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
      opacity: 0;
      z-index: -1;
    }

    &:after {
      width: 32px;
      height: 32px;
      content: "";
      border: 2px solid #d1d7dc;
      background-color: #fff;
      background-image: url("/form/form_reqdoc_freedia/assets/img/icon.svg");
      background-repeat: no-repeat;
      background-position: 2px 3px;
      border-radius: 50%;
      z-index: 2;
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer;
      transition: all 200ms ease-in;
    }
  }

  & #participation {
    width: 90%;
  }

  input:checked~label {
    color: #fff;

    &:before {
      transform: translate(-50%, -50%) scale3d(56, 56, 1);
      opacity: 1;
    }

    &:after {
      background-color: #c3a743;
      border-color: #c3a743;
    }
  }

  input {
    width: 32px;
    height: 32px;
    order: 1;
    z-index: 2;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    visibility: hidden;
  }

  & select {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .inputGroup {
    background-color: #fff;
    display: block;
    position: relative;

    label {
      padding: 10px;
      width: 100%;

      &::after {
        right: 15px;
      }
    }

    & #participation {
      width: 100%;
    }

    & select {
      width: 100%;
    }
  }
}

/* select
===================================================== */
select {
  appearance: auto;
  width: 100%;
  height: 50px;
  padding: 5px 10px;
  border: solid 1px #dddddd;
  border-radius: 5px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  select {
    width: 100%;
  }
}


/* submit
===================================================== */
.submit {
  width: 400px;
  padding: 1rem;
  border-radius: 5px;
  background-color: #009bbe;
  color: #ffffff;
  font-weight: bold;
  border: none;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .submit {
    width: 100%;
  }
}

/* back
===================================================== */
.back {
  width: 400px;
  padding: 1rem;
  border-radius: 5px;
  background-color: #aaaaaa;
  color: #fff;
  border: none;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .back {
    width: 100%;
    margin-block-start: 20px;
  }
}

.button_box {
  margin: 2em 0 3em;
  text-align: center;
}

button.submit_button:hover,
button.back_button:hover {
  opacity: 0.8;
  transition: 0.3s;
  cursor: pointer;
}