@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Racing+Sans+One&display=swap');
* {
  font-family: 'Pretendard', sans-serif !important;
  box-sizing: border-box;
  letter-spacing: -0.3px;
}

body,
html {
  height: 100%;
}

.bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.text-primary {
  color: #2e8bf9;
}

.headlogo {
  width: 130px;
}

.logo {
  display: block;
  width: 112px;
  height: 32px;
  background-image: url('/images/logo.png');
}

.buttonbox {
  text-align: center;
}

.btnform,
.border-btn,
.main-btn {
  width: 180px;
  height: 50px;
  border-radius: 50px;
  text-align: center;
  margin-top: 50px;
}

.main-btn {
  background-color: #171717;
  color: #fff;
}

.border-btn {
  background-color: #fff;
  border: 1px solid #000;
  color: #000;
  font-weight: 500;
  margin-left: 8px;
}

.visiblenone {
  width: 128px;
  visibility: hidden;
}

.loginHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border-bottom: 1px solid #dee2e6;
  padding: 15px 8%;
  z-index: 10;
}
.loginHeader ul {
  display: flex;
  align-items: center;
}
.loginHeader ul li a {
  font-size: 13px;
  color: #727272;
}
.loginHeader ul li a:hover {
  color: #005197;
}
.loginHeader .dot {
  width: 2px;
  height: 2px;
  border-radius: 50px;
  background-color: #727272;
  margin: 0 5px;
}

.signHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
}
.signHeader ul {
  display: flex;
  align-items: center;
  justify-content: end;
  padding-right: 10%;
  padding-top: 30px;
}
.signHeader ul li a {
  font-size: 13px;
  color: #727272;
}
.signHeader ul li a:hover {
  color: #005197;
}
.signHeader .dot {
  width: 2px;
  height: 2px;
  border-radius: 50px;
  background-color: #727272;
  margin: 0 5px;
}

.loginWrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.loginWrap-bg {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 888px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url('/images/loginWrap.png');
}

.loginback01 {
  position: absolute;
  left: 0;
  top: 0;
  width: 398px;
  height: 870px;
  background-image: url('/images/loginback01.png');
}

.loginback02 {
  position: absolute;
  right: 5%;
  bottom: 0;
  width: 1158px;
  height: 685px;
  background-image: url('/images/loginback02.png');
}

.login-left {
  position: absolute;
  width: 390px;
  top: 50%;
  transform: translateY(-60%);
  left: 20%;
  z-index: 2;
}

.loginHello {
  font-size: 30px;
  line-height: 38px;
  font-weight: 700;
  margin-top: 10px;
}

.login-p {
  font-size: 18px;
  color: #616161;
  margin-top: 20px;
}

.loginform {
  margin-top: 40px;
}
.loginform .form-group input,
.loginform button {
  width: 390px;
  height: 55px;
  font-size: 16px;
  border: 1px solid #dddddd;
  border-radius: 10px;
  margin-top: 14px;
}
.loginform .form-group input::-moz-placeholder {
  color: #a1a1a1;
}
.loginform .form-group input::placeholder {
  color: #a1a1a1;
}
.loginform button {
  border: none;
  background-color: #005197;
  color: #fff;
}

.login-plus {
  display: flex;
  align-self: center;
  justify-content: space-between;
  margin-top: 20px;
}
.login-plus .custom-checkbox {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('/images/id-uncheck.png'); /* 체크되지 않은 이미지 */
  cursor: pointer;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.login-plus input[type='checkbox'] {
  display: none; /* 기본 체크박스 숨기기 */
}
.login-plus input[type='checkbox']:checked + .custom-checkbox {
  background-image: url('/images/id-check.png'); /* 체크된 이미지 */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.login-plus label {
  cursor: pointer;
}
.login-plus .checkbox {
  display: flex;
  align-items: center;
}
.login-plus .loginChecked {
  margin-bottom: -1px;
  color: #575757;
  margin-left: 5px;
  font-size: 16px;
}
.login-plus a {
  font-size: 16px;
  color: #575757;
}
.login-plus a:hover {
  color: #005197;
}
.login-plus a:nth-child(1) {
  display: inline-block;
  position: relative;
}

.login-plus-right {
  display: flex;
  align-items: center;
}

.findbar {
  width: 1px;
  height: 10px;
  background-color: #dee2e6;
  margin: 0 8px;
}

.findpasswordWrap {
  text-align: center;
}

.findpasswordWrap-content {
  width: 440px;
  margin: 0 auto;
}

.findpassword-formbox {
  margin-top: 50px;
}

.findform {
  padding-top: 150px;
}
.findform h1 {
  font-size: 32px;
  font-weight: 700;
}
.findform .label-name {
  font-size: 16px;
  color: #222;
  text-align: left;
  font-weight: 600;
}
.findform .inputbox {
  margin-top: 8px;
}
.findform .if-id {
  font-size: 16px;
  margin-top: 40px;
}
.findform .if-id a {
  font-weight: 600;
  color: #005197;
}
.findform .if-id a:hover {
  text-decoration: underline;
  text-underline-position: under;
}
.findform .main-btn {
  margin-top: 50px;
}

.findpassword-tab-content {
  width: 520px;
  margin: 0 auto;
}

.findpassword-tab {
  width: 520px;
  padding: 40px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0px 4px 21.5px 7px rgba(0, 0, 0, 0.05);
  border-radius: 20px;
}
.findpassword-tab ul.nav {
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 10px;
}
.findpassword-tab li.nav-item {
  width: 50%;
}
.findpassword-tab button.nav-link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  color: #aeaeae;
  font-weight: 600;
}
.findpassword-tab li.nav-item:nth-child(1) button {
  padding-right: 40px;
}
.findpassword-tab li.nav-item:nth-child(2) button {
  padding-left: 40px;
}
.findpassword-tab button.nav-link.active {
  background-color: transparent;
  color: #000;
}
.findpassword-tab .findpassword-formbox {
  margin-top: 30px;
}

.certifynumber {
  display: flex;
}

.certifynumber input {
  width: calc(100% - 134px);
}

.certifynumber button {
  width: 125px;
  height: 38px;
  border: 1px solid #005197;
  color: #005197;
  border-radius: 5px;
  padding-left: 7px;
  padding-right: 7px;
  margin-left: 10px;
  transition: all 0.3s;
}

.certifynumber button:hover {
  border: none;
  background-color: #005197;
  color: #fff;
}

.certifynumber-p {
  font-size: 13px;
  line-height: 17px;
  color: #6d6d6d;
  text-align: left;
  margin-top: 8px;
}

.phoneicon {
  font-size: 24px;
}

.mailicon {
  font-size: 22px;
  margin-right: 4px;
}

.findpassword-newpassword-content .findpassword-formbox:nth-child(2) {
  margin-top: 30px !important;
}

.findid-myid {
  width: 456px;
  margin: 0 auto;
  height: 70px;
  line-height: 70px;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 700;
  background-color: #ebf5ff;
  border-radius: 50px;
}

.findid-complete-img {
  margin-top: 40px;
}

.findid-myid span {
  color: #005197;
}

.footer {
  width: 100%;
  margin-top: 140px;
}

.footer-top {
  width: 100%;
  background-color: #1a1a1a;
  display: flex;
  align-self: center;
  justify-content: space-between;
  padding: 25px 240px;
}
.footer-top ul li a {
  font-size: 16px;
  color: #fff;
}
.footer-top .footer-top-left,
.footer-top .footer-top-right {
  display: flex;
  align-items: center;
}
.footer-top .footer-top-left li {
  margin-right: 60px;
}
.footer-top .footer-top-right li {
  margin-right: 30px;
}
.footer-top .footer-top-left li:last-child,
.footer-top .footer-top-right li:last-child {
  margin-right: 0;
}

.footer-bottom {
  display: flex;
  align-self: center;
  justify-content: space-between;
  padding: 50px 240px;
}
.footer-bottom .footer-bottom-left ul {
  display: flex;
  align-items: center;
  margin-top: 22px;
}
.footer-bottom ul li {
  font-size: 14px;
}
.footer-bottom .bar {
  width: 1px;
  height: 10px;
  background-color: #e3e3e3;
  margin: 0 8px;
}
.footer-bottom .copyright {
  font-size: 14px;
  color: #7e7e7e;
  margin-top: 12px;
}

.footer-bottom-right {
  padding-top: 30px;
}
.footer-bottom-right p {
  font-size: 30px;
  font-weight: 600;
}
.footer-bottom-right ul {
  display: flex;
  margin-top: 15px;
}
.footer-bottom-right ul li {
  font-size: 14px;
  color: #7e7e7e;
}

.stepContainer {
  padding-top: 150px;
  max-width: 1440px;
  margin: 0 auto;
}
.stepContainer h1 {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
}

.step-explain {
  font-size: 18px;
  line-height: 28px;
  color: #3f3f3f;
  text-align: center;
  word-break: keep-all;
  width: 498px;
  margin: 24px auto 0;
}

.stepTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 70px;
}

.stepTitle-name-num {
  display: inline-block;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50px;
  background-color: #cccccc;
  text-align: center;
}

.stepTitle-name-name {
  display: inline-block;
  font-weight: 500;
  font-size: 20px;
  color: #939393;
  margin-left: 6px;
}

.stepTitle-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 30px;
}

.stepcircle {
  width: 4px;
  height: 4px;
  border-radius: 50px;
  background-color: #cccccc;
  margin-right: 4px;
}

.stepcircle:nth-child(2) {
  margin-right: 0;
}

.stepTitle-name.active .stepTitle-name-num {
  background-color: #000;
}
.stepTitle-name.active .stepTitle-name-name {
  color: #000;
}

.stepContainer-infobox {
  width: 100%;
  margin-top: 70px;
  border-top: 2px solid #141414;
  border-bottom: 2px solid #141414;
  padding: 40px 10px;
}
.stepContainer-infobox .form-field {
  margin-top: 20px;
}
.stepContainer-infobox .form-field:nth-child(1) {
  margin-top: 0;
}

.form-field {
  display: flex;
  align-items: center;
}
.form-field input {
  width: 204px;
}
.form-field .form-label {
  margin-bottom: 0;
  width: 10rem;
}
.form-field .form-group {
  display: flex;
  align-items: center;
}

.form-field-birth .form-control {
  margin-right: 10px !important;
}

.form-field-phone input {
  width: 144px;
}
.form-field-phone span {
  display: inline-block;
  margin: 0 10px;
}

.form-field-parents {
  margin-top: 20px;
}
.form-field-parents .form-field-parents-flex {
  display: flex;
}
.form-field-parents .form-field-phone {
  margin-top: 0 !important;
}
.form-field-parents .form-field-phone:nth-child(2) {
  margin-left: 70px;
}
.form-field-parents p {
  margin-top: 10px;
  margin-left: 10rem;
  background-color: #eff5ff;
  font-size: 14px;
  color: #2e8bf9;
  padding: 12px 24px;
  border-radius: 4px;
}
.form-field-parents p span {
  font-weight: 600;
}

.form-field-email span {
  margin: 0 10px;
}
.form-field-email select {
  width: 240px;
  margin-right: 10px;
}

.form-field-address {
  align-items: baseline !important;
}
.form-field-address .form-group {
  display: block;
}
.form-field-address button {
  width: 125px;
  height: 38px;
  border: 1px solid #005197;
  color: #005197;
  border-radius: 5px;
  padding-left: 7px;
  padding-right: 7px;
  margin-left: 10px;
  transition: all 0.3s;
}
.form-field-address button:hover {
  border: none;
  background-color: #005197;
  color: #fff;
}
.form-field-address .address-flex {
  display: flex;
}
.form-field-address .address-flex input,
.form-field-address .address-flex02 input {
  width: 480px;
}
.form-field-address .address-flex02 input {
  margin-top: 10px;
}

.sharebar {
  width: 100%;
  height: 1px;
  background-color: #d6d6d6;
  margin: 40px 0;
}

.form-field-where input {
  width: 1em !important;
}
.form-field-where .custom-checkbox {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('/images/id-uncheck.png'); /* 체크되지 않은 이미지 */
  background-size: cover;
  cursor: pointer;
}
.form-field-where input[type='checkbox'] {
  display: none; /* 기본 체크박스 숨기기 */
}
.form-field-where input[type='checkbox']:checked + .custom-checkbox {
  background-image: url('/images/id-check.png'); /* 체크 이미지 */
}
.form-field-where label {
  cursor: pointer;
}
.form-field-where .checkDiv {
  display: flex;
  align-items: center;
  margin-right: 40px;
}
.form-field-where .checkDiv:last-child {
  margin-right: 0;
}
.form-field-where .wherename {
  margin-left: 6px;
}

.subjectChoice {
  /* 체크박스를 숨김 */
  /* 체크 상태에 따라 라벨 스타일 변경 (옵션) */
}
.subjectChoice .form-check {
  padding: 0;
  margin-right: 10px;
}
.subjectChoice .form-check:last-child {
  margin-right: 0;
}
.subjectChoice .form-check-input {
  display: none;
}
.subjectChoice .form-check-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 46px;
  border: 1px solid #dddddd;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
}
.subjectChoice .form-check-input:checked + .form-check-label {
  border: 1px solid #005197 !important;
  color: #005197 !important;
}
.subjectChoice .form-check-label:hover {
  border: 1px solid #005197 !important;
  color: #005197 !important;
}

.tipAadplus {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
}
.tipAadplus button {
  margin-top: 0;
}

.tipbox {
  position: relative;
  padding: 20px;
  padding-right: 40px;
  background-color: #f9f9f9;
  border-radius: 8px;
  height: 78px;
}

.tipbox ul li {
  font-size: 16px;
  color: #1c1c1c;
  margin-top: 10px;
}

.tipbox ul li:nth-child(1) {
  margin-top: 0;
}

.tipbox ul li span {
  font-weight: 700;
}

.tipbadge {
  position: absolute;
  text-align: center;
  line-height: 20px;
  top: -10px;
  left: 20px;
  display: inline-block;
  font-family: 'Racing Sans One', sans-serif !important;
  background-color: #005197;
  width: 51px;
  height: 21px;
  color: #fff;
  font-size: 15px;
  border-radius: 6px;
}

.subjectlistBox {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  padding-top: 40px;
  margin-top: 25px;
  border-top: 1px solid #d6d6d6;
}
.subjectlistBox .form-check {
  position: relative;
  border-radius: 6px;
  width: calc(25% - 14px);
  background-color: #eff5ff;
  padding: 25px 20px;
}
.subjectlistBox .form-check-input {
  width: 25px;
  height: 25px;
  border: none;
  position: absolute;
  right: 20px;
  top: 16px;
}
.subjectlistBox .classArea {
  display: inline-block;
  font-size: 15px;
  color: #fff;
  background-color: #2e8bf9;
  border-radius: 50px;
  text-align: center;
  padding: 8px 20px 6px;
}
.subjectlistBox .form-check-label {
  display: block;
  font-size: 24px;
  line-height: 29px;
  color: #1a1a1a;
  font-weight: 600;
  margin-top: 14px;
}
.subjectlistBox .classTime,
.subjectlistBox .classSpot {
  font-size: 16px;
  color: #545454;
}
.subjectlistBox .classTime {
  margin-top: 24px;
}
.subjectlistBox .classSpot {
  margin-top: 14px;
} /*# sourceMappingURL=style.css.map */

#global-upload-spinner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999; /* 모달보다 위에 */
  background: rgba(255, 255, 255, 0.6); /* 약간 반투명 */
  display: flex;
  align-items: center;
  justify-content: center;
}

.global-spinner-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
}
