.login-form dt {
  font-family: 'Noto Sans KR';
  font-weight: 500;
  font-size: 1.3rem;
  font-weight: bold;
  color: #000;
  letter-spacing: -2px;
  text-align: left;
  position: relative;
  padding-left: 1.1em;
}
.login-form dt:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900;
  font-size: 0.8em;
  color: #3284cd;
  line-height: 1.5;
  content: '\f32b';
}
.login-form dd {
  position: relative;
  margin: 5px 0 20px;
  padding: 20px;
  border: 1px solid #d0d0d0;
}
.login-form dd * {
  font-size: 1rem;
  line-height: 1.5;
}
.login-form dd:before {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900;
  font-size: 5rem;
  color: #f0f0f0;
  line-height: 1em;
}
@media only screen and (min-width: 768px) {
  .login-form dd:before {
    display: block;
  }
}
.epki-login {
  text-align: center;
}
.epki-login #epki_login_form {
  display: inline-block;
  text-align: left;
}
.epki-login #epki_login_form legend {
  margin-bottom: 10px;
}
.epki-login .epki-field,
.epki-login .epki-button {
  display: inline-block;
  vertical-align: top;
}
.epki-login .epki-field p:not(:last-child) {
  margin-bottom: 3px;
}
.epki-login .epki-field label {
  display: inline-block;
  width: 6rem;
}
.epki-login .epki-field input {
  width: 8rem;
}
@media only screen and (min-width: 577px) {
  .epki-login .epki-field input {
    width: 13rem;
  }
}
.epki-login .epki-field select {
  width: 8rem;
}
@media only screen and (min-width: 577px) {
  .epki-login .epki-field select {
    width: 13rem;
  }
}
.epki-login .epki-button button {
  width: 80px;
  padding: 17px 0;
}
@media only screen and (min-width: 577px) {
  .epki-login .epki-button button {
    width: 170px;
  }
}
.epki-login:before {
  content: '\f13e';
}
.gpin-login {
  text-align: center;
}
.gpin-login .gpin-comment,
.gpin-login .gpin-button {
  display: inline-block;
  vertical-align: top;
}
.gpin-login .gpin-comment a {
  display: inline-block;
}
.gpin-login .gpin-button {
  margin-left: 10px;
}
.gpin-login .gpin-button a {
  width: 170px;
  padding: 20px 0;
}
.gpin-login:before {
  content: '\f021';
}
.sns-login > p {
  width: 90%;
  margin: 0 auto;
}
@media only screen and (min-width: 576px) {
  .sns-login > p {
    width: 60%;
  }
}
@media only screen and (min-width: 768px) {
  .sns-login > p {
    width: 45%;
  }
}
.sns-login > p > a {
  display: table;
  width: 100%;
  height: 50px;
  margin: 1rem 0;
  font-family: 'Noto Sans KR';
  font-weight: 400;
  color: #fff;
}
.sns-login > p > a .icon {
  display: table-cell;
  width: 65px;
  text-align: center;
  vertical-align: middle;
}
.sns-login > p > a .icon i {
  font-size: 1.8rem;
}
.sns-login > p > a .title {
  display: table-cell;
  font-size: 1rem;
  padding-left: 0.8rem;
  vertical-align: middle;
}
@media only screen and (min-width: 576px) {
  .sns-login > p > a .title {
    font-size: 1.2rem;
    padding-left: 2rem;
  }
}
.sns-login > p .naver {
  color: #000;
  border: 1px solid #01aa00;
  background: #1ec100;
}
.sns-login > p .naver .icon {
  border-right: 1px solid #01aa00;
}
.sns-login > p .kakao {
  color: #000;
  border: 1px solid #e0cb00;
  background: #fbe300;
}
.sns-login > p .kakao .icon {
  border-right: 1px solid #e0cb00;
}
.sns-login:before {
  content: '\f4b0';
}
.mobile-login {
  text-align: center;
}
.mobile-login fieldset {
  display: inline-block;
  text-align: left;
}
.mobile-login fieldset legend {
  margin-bottom: 10px;
}
@media only screen and (max-width: 575px) {
  .mobile-login fieldset legend {
    display: none;
  }
}
.mobile-login .mobile-field-1 {
  margin-bottom: 3px;
}
.mobile-login .mobile-field-1 label {
  display: inline-block;
  width: 4rem;
  font-size: 0.9rem;
}
@media only screen and (min-width: 576px) {
  .mobile-login .mobile-field-1 label {
    width: 5rem;
    font-size: 1rem;
  }
}
.mobile-login .mobile-field-1 input {
  width: 8rem;
}
@media only screen and (min-width: 576px) {
  .mobile-login .mobile-field-1 input {
    width: 13rem;
  }
}
.mobile-login .mobile-field-1 button {
  font-size: 0.8rem;
  width: 80px;
  padding: 4px 0;
}
@media only screen and (min-width: 576px) {
  .mobile-login .mobile-field-1 button {
    width: 170px;
    font-size: 1rem;
  }
}
.mobile-login .mobile-field-2,
.mobile-login .mobile-button {
  display: inline-block;
  vertical-align: top;
}
.mobile-login .mobile-field-2 p:first-child {
  margin-bottom: 3px;
}
.mobile-login .mobile-field-2 label {
  display: inline-block;
  width: 4rem;
  font-size: 0.9rem;
}
@media only screen and (min-width: 576px) {
  .mobile-login .mobile-field-2 label {
    width: 5rem;
    font-size: 1rem;
  }
}
.mobile-login .mobile-field-2 input {
  font-size: 0.8rem;
  width: 8rem;
}
@media only screen and (min-width: 576px) {
  .mobile-login .mobile-field-2 input {
    font-size: 1rem;
    width: 13rem;
  }
}
.mobile-login .mobile-button button {
  width: 80px;
  padding: 13px 0;
}
@media only screen and (min-width: 576px) {
  .mobile-login .mobile-button button {
    width: 170px;
    padding: 17px 0;
  }
}
.mobile-login:before {
  content: '\f3cd';
}
.member-login {
  text-align: center;
}
.member-login #member_login_form {
  display: inline-block;
  text-align: left;
}
.member-login #member_login_form legend {
  margin-bottom: 10px;
}
.member-login .member-field,
.member-login .member-button {
  display: inline-block;
  vertical-align: top;
}
.member-login .member-field p:first-child {
  margin-bottom: 3px;
}
.member-login .member-field label {
  display: inline-block;
  width: 5rem;
}
.member-login .member-field input {
  width: 8rem;
}
@media only screen and (min-width: 576px) {
  .member-login .member-field input {
    width: 14rem;
  }
}
.member-login .member-button button {
  width: 80px;
  padding: 17px 0;
}
@media only screen and (min-width: 576px) {
  .member-login .member-button button {
    width: 170px;
  }
}
.member-login .member-join {
  margin-top: 5px;
  text-align: left;
}
.member-login .member-join span {
  display: inline-block;
}
.member-login .member-join a {
  width: 170px;
  padding: 10px 0;
}
.member-login:before {
  content: '\f13e';
}
