@charset "UTF-8";
/*==========================================
 회원가입 - signin, login, id, password
===========================================*/
.form-box-style-heading__title {
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: -0.02em;
  font-size: 2em;
  color: #2d6a2f;
}

.login-form-wrapper .form-box-style__form-input {
  width: 100%;
}

.form-box-style__form-wrapper {
  border: 1px solid #d6e8b4;
  border-radius: 16px;
  padding: 30px 40px;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  font-size: 1.5rem;
  background: #fafdf6;
}
.form-box-style__form-wrapper .border-none {
  border-width: 0px;
}
.form-box-style__form-wrapper .form-control {
  border: 1.5px solid #c8dfa0;
  border-radius: 10px;
  padding: 13px 20px;
  width: 100%;
  color: #333;
  background: #fff;
  box-shadow: none;
  margin-bottom: 10px;
  transition: border-color 0.2s;
}
.form-box-style__form-wrapper .form-control:focus, .form-box-style__form-wrapper .form-control:focus-visible {
  border-color: #33ad36;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(51, 173, 54, 0.15);
}
.form-box-style__form-wrapper .form-control::-moz-placeholder {
  color: #aaa;
}
.form-box-style__form-wrapper .form-control::placeholder {
  color: #aaa;
}
.form-box-style__form-wrapper .form-control.textarea {
  height: 150px;
  border-radius: 10px;
}
.form-box-style__form-wrapper .form-box-style__form-input {
  margin-bottom: 12px;
}
.form-box-style__form-wrapper .form-box-style__form-input:last-child {
  margin-bottom: 0px;
}
.form-box-style__form-wrapper .form-box-style-title {
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1.55;
  margin-bottom: 8px;
  color: #4a8a4c;
}
.form-box-style__form-wrapper .form-box-style__form-input-group {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.form-box-style__form-wrapper .form-box-style__condition {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-weight: 600;
  font-size: 1.3em;
  line-height: 1.43;
  color: #4a8a4c;
}
.form-box-style__form-wrapper fieldset {
  margin-bottom: 30px;
}
.form-box-style__form-wrapper fieldset .policy_scrollbox {
  margin-bottom: 10px;
}
.form-box-style__form-wrapper fieldset.section-padding-bottom {
  padding-bottom: 30px;
}
.form-box-style__form-wrapper fieldset.section-padding-top {
  padding-top: 30px;
}

.member-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  line-height: 1.43;
  justify-content: center;
  align-items: center;
}
.member-nav .btn-member-login {
  color: #333;
  background: none;
  border: none;
  padding: 8px 18px;
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
  transition: color 0.2s, background 0.2s;
  border-radius: 4px;
}
.member-nav .btn-member-login + .btn-member-login::before {
  content: "";
  display: block;
  width: 1px;
  height: 12px;
  background: #ccc;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.member-nav .btn-member-login:hover {
  color: #222;
}

@media (min-width: 1025px) {
  .form-box-style-heading__title {
    font-size: 2.4em;
  }
  .form-box-style__form-wrapper {
    row-gap: 40px;
  }
  .form-box-style__form-inner {
    display: flex;
    flex-wrap: wrap;
  }
  .form-box-style__form-input {
    margin-bottom: 15px;
  }
  .form-box-style__form-input:has(input[name*=_name]) {
    width: 100%;
  }
  .form-box-style__form-input:has(input[name*=_hp]),
  .form-box-style__form-input:has(input[name*=_email]) {
    width: calc(50% - 10px);
  }
  .form-box-style__form-input:has(input[name*=_with]),
  .form-box-style__form-input:has(input[name*=_department]) {
    width: calc(50% - 10px);
  }
  .form-box-style__form-input:has(.form-check) {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .form-box-style-heading__title {
    font-size: 2.2em;
  }
  .form-box-style__form-input {
    margin-bottom: 10px;
  }
}
@media (min-width: 480px) {
  .form-box-style-title {
    font-size: 1.8em;
  }
}
/* 가입하기 버튼 */
.form-box-style__form-input-button .btn-masco {
  --btn-bg: #ffbd05;
  --btn-border-color: #ffbd05;
  --btn-color: #333;
  --btn-hover-bg: #e5aa00;
  --btn-hover-border-color: #e5aa00;
  --btn-hover-color: #222;
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* style.css의 label.basic-* 가상요소·패딩 리셋 (이중 표시 방지) */
label.basic-checkbox {
  padding-left: 0 !important;
}

label.basic-checkbox span::before {
  display: none !important;
}

label.basic-radio {
  padding-left: 0 !important;
}

label.basic-radio span::before {
  display: none !important;
}

label.basic-radio span::after {
  display: none !important;
}

/* 라디오 버튼 */
.basic-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 1.5rem;
}
.basic-radio input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.basic-radio span {
  order: -1;
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #c8dfa0;
  background: #fff;
  flex-shrink: 0;
  transition: all 0.2s;
}
.basic-radio input[type=radio]:checked ~ span {
  background: #ffbd05;
  border-color: #e5aa00;
  box-shadow: inset 0 0 0 4px #fff;
}

/* 체크박스 */
.basic-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1.5;
}
.basic-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.basic-checkbox span {
  order: -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 5px;
  border: 2px solid #c8dfa0;
  background: #fff;
  transition: all 0.2s;
}
.basic-checkbox span::after {
  content: "";
  display: none;
  width: 5px;
  height: 9px;
  border: 2px solid #333;
  border-top: none;
  border-left: none;
  transform: rotate(45deg) translateY(-1px);
}
.basic-checkbox input[type=checkbox]:checked ~ span {
  background: #ffbd05;
  border-color: #e5aa00;
}
.basic-checkbox input[type=checkbox]:checked ~ span::after {
  display: block;
}

.member {
  margin-top: 0px;
}
.member .avatar-line img {
  width: 50px;
  margin: 5px;
}

@media (max-width: 767px) {
  .member .avatar-line img {
    width: 40px;
  }
}
@media (max-width: 479px) {
  .member .avatar-line img {
    width: 30px;
  }
}