@charset "UTF-8";
/* Button */
.btn {
  display: inline-block;
  text-align: center;
  transition: 0.35s;
}
.btn-sm {
  height: 40px;
  line-height: 40px;
  font-size: 16px;
  border-radius: 4px;
}
.btn-md {
  height: 44px;
  line-height: 44px;
}
.btn-lg {
  height: 52px;
  line-height: 52px;
  font-size: 18px;
}
.btn-big {
  height: 56px;
  line-height: 56px;
  font-size: 18px;
  font-weight: 600;
}
.btn-w100p {
  width: 100%;
}
.btn-textType {
  text-decoration: underline;
  font-size: 14px;
  font-weight: 400;
  color: var(--info_text);
}
.btn_p16 {
  padding: 0 16px;
}
.btn_white {
  background-color: #fff;
  color: #111;
}
.btn_white:hover {
  background-color: #111;
  color: #fff;
}
.btn_black {
  background-color: #111;
  color: #fff;
}
/* #### Modal #### */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: -1;
  opacity: 0;
}
.modal.open {
  z-index: 1000;
  opacity: 1;
}
.modal__inner {
  position: absolute;
  top: 47.5%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  background-color: #fff;
  transition: 0.45s;
  opacity: 0;
}
.modal.open .modal__inner {
  top: 50%;
  opacity: 1;
}
.modal_popup .modal__inner {
  max-width: 420px;
  width: calc(100% - 40px);
}
.modal_popup .modal__content {
  min-height: 312px;
}
.modal__btns {
  display: flex;
  align-items: center;
}
.modal__btns .btn {
  flex: 1;
  height: 48px;
  line-height: 48px;
  font-size: 14px;
  font-weight: 500;
}
/* Form */
.form-control {
  width: 100%;
  border: 1px solid #E5E5EC;
  border-radius: 0px;
  background-color: #fff;
  padding: 0 16px;
  font-size: 16px;
  height: 56px;
  color: #111;
}
.form-control::placeholder {
  font-size: 16px;
  font-weight: 400;
  color: #BBBBBB;
}
.input_flex_box {
  display: flex;
  gap: 20px;
}
.select {
  -o-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 56px;
  color: #111;
  padding: 0 16px;
  border: 1px solid #E5E5EC;
  background: #fff url('../_img/icon/icon_select_arrow.svg') no-repeat center right 16px / 20px;
}
.c_gray {
  color: #999999;
}
.asterisk {
  color: #F04444;
}
/* Radio */
.radio_list {
  display: flex;
  align-items: center;
}
.radio_list .radio {
  flex: 1;
}
.radio label {
  display: inline-block;
  width: 100%;
}
.radio label input[type=radio] {
  display: none;
}
.radio label input[type=radio]+em.radio_txt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 56px;
  border: 1px solid #E5E5EC;
  background-color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: #111;
  font-style: normal;
}
.radio label input[type=radio]:checked+em.radio_txt {
  background-color: #111;
  color: #fff;
  border: 1px solid #111;
}
/* Checkbox */
.checkbox label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.checkbox label input[type=checkbox] {
  display: none;
}
.checkbox label input[type=checkbox]+em {
  display: inline-block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background: url(../_img/icon/icon_checkbox.svg) no-repeat center / contain;
}
.checkbox label input[type=checkbox]:checked+em {
  background-image: url(../_img/icon/icon_checkbox_on.svg);
}
.checkbox label p {
  color: #111;
}
/* Textarea */
.textarea {
  width: 100%;
  border: 1px solid #E5E5EC;
  height: 224px;
  padding: 16px;
  font-size: 18px;
  color: #111;
}
.textarea::placeholder {
  font-size: 18px;
  color: #999;
}
@media screen and (max-width:767px) {
  .btn-big {
    height: 44px;
    line-height: 44px;
    font-size: 14px;
  }
  .form-control {
    height: 44px;
    font-size: 14px;
    padding: 0 12px;
  }
  .select {
    height: 44px;
    font-size: 14px;
  }
  .input_flex_box {
    flex-direction: column;
    align-items: flex-start;
  }
  .radio_list {
    flex-direction: column;
  }
  .radio_list .radio {
    flex: auto;
    width: 100%;
  }
  .radio label input[type=radio]+em.radio_txt {
    height: 44px;
    font-size: 14px;
  }
}