body {
  background: var(--color-neutral050);
}

.contact-section01 {
  width: 100%;
  max-width: var(--container-width128);
  margin: var(--space-184) auto var(--space-95);
}
.contact-tit {
  text-align: center;
}
.contact-tit h3 {
  font-size: var(--fs-40);
  font-weight: var(--fw-bold);
  color: var(--color-black2);
}
.contact-tit p {
  font-size: var(--fs-18);
  font-weight: var(--fw-medium);
  color: var(--color-neutral600);
  margin: var(--space-24) 0 var(--space-50);
}

.contact-contents {
  display: flex;
  gap: var(--gap-46);
  width: 100%;
  background: var(--color-white);
  border-radius: var(--radius-20);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.08);
  padding: var(--space-16);
  padding-right: var(--space-46);
}
.contact-contents-img {
  width: 100%;
  max-width: 50rem;
  border-radius: var(--radius-20);
  background: url(/assets/images/bg_contact.webp) no-repeat center / cover;
}
.contact-contents-input {
  width: 100%;
}
.contact-contents-input form {
  display: flex;
  flex-direction: column;
  gap: var(--gap-36);
  font-size: var(--fs-16);
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-black2);
  margin-top: var(--space-30);
}
.contact-contents-input .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
  width: 100%;
  max-width: 50%;
}

/* select 커스텀 */
.custom-select-wrapper {
  position: relative;
  display: inline-block;
}
.custom-select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  padding-right: 36px;
  background-color: var(--color-neutral050);
  border: none;
  border-radius: var(--radius-6);
  font-size: var(--fs-14);
  font-weight: var(--fw-regular);
  color: var(--color-neutral400);
  padding: var(--space-12);
}
.custom-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url("/assets/images/ico_arrow-down.svg");
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
  transition: transform 0.3s ease;
}
/* .custom-select-wrapper select:focus + .custom-arrow,
.custom-select-wrapper select:active + .custom-arrow {
  transform: translateY(-50%) rotate(180deg);
} */

.form-textarea {
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
  width: 100%;
}
.contact-contents-input .form-row {
  display: flex;
  gap: var(--gap-16);
}
.contact-contents-input .checkbox-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-20);
}
.contact-contents-input input[type="text"],
.contact-contents-input input[type="tel"],
.contact-contents-input select {
  height: 44px;
  background-color: var(--color-neutral050);
  padding: var(--space-12);
  font-size: var(--fs-14);
  font-weight: var(--fw-regular);
  line-height: var(--lh-20);
  color: var(--color-neutral400);
  border: none;
  border-radius: var(--radius-6);
}
.contact-contents-input input::placeholder,
.contact-contents-input textarea::placeholder {
  font-size: var(--fs-14);
  font-weight: var(--fw-regular);
  line-height: var(--lh-20);
  color: var(--color-neutral400);
}
.contact-contents-input textarea {
  height: 128px;
  background-color: var(--color-neutral050);
  padding: var(--space-12);
  font-size: var(--fs-14);
  line-height: var(--lh-20);
  color: var(--color-neutral400);
  border: none;
  border-radius: var(--radius-6);
  resize: none;
}
.checkbox-group-txt {
  font-size: var(--fs-16);
  font-weight: var(--fw-regular);
  letter-spacing: -0.022rem;
  color: var(--color-neutral600);
}
.checkbox-group-check {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
}
.checkbox-group-check .highlight {
  color: var(--color-Keppel400);
}
.checkbox-group-check .underline {
  display: inline-block;
  text-decoration: underline;
  cursor: pointer;
  color: var(--color-neutral600);
}
.checkbox-group-txt .small-text {
  font-size: var(--fs-12);
  font-weight: var(--fw-regular);
  letter-spacing: -0.05rem;
  color: var(--color-neutral400);
}
.contact-contents-input input[type="checkbox"] {
  width: 20px;
  height: 20px;
  background: transparent;
  border: 1px solid #98a2b3;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  position: relative;
  display: inline-block;
}
.contact-contents-input input[type="checkbox"]:checked {
  background-color: #37b0a7;
  background-image: url("/assets/images/ico_check.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  border: none;
}
.form-submit {
  width: 100%;
  max-width: 14.6rem;
  background: var(--color-Keppel400);
  border-radius: var(--radius-6);
  text-align: center;
  padding: var(--space-10) 0;
}
.form-submit button {
  font-size: var(--fs-18);
  font-weight: var(--fw-bold);
  color: var(--color-white);
  line-height: 1.5;
}

/* 모달 */
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.popup-content {
  background: var(--color-white);
  border-radius: 1.2rem;
  width: 100%;
  max-width: 100rem;
  height: 70rem;
  overflow-y: hidden;
  padding: var(--space-44) var(--space-56);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  scrollbar-width: thin;
  scrollbar-color: #f2f4f7 transparent;
  padding-right: calc(var(--space-56) + 14px);
  position: relative;
}
.scroll-wrapper {
  max-height: calc(70rem - 14rem);
  overflow-y: auto;
  padding-right: 14px;
}
.popup-content::-webkit-scrollbar {
  width: 10px;
  margin-right: 14px;
}
.popup-content::-webkit-scrollbar-track {
  background: transparent;
}
.popup-content::-webkit-scrollbar-thumb {
  background-color: #f2f4f7;
  border-radius: 4px;
}
.popup-content-tit {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--space-40);
}
.popup-content h2 {
  font-size: var(--fs-24);
  font-weight: var(--fw-bold);
  line-height: var(--lh-32);
  color: var(--color-black2);
}
.popup-content .popup-content-tit p {
  font-size: var(--fs-12);
  font-weight: var(--fw-regular);
  line-height: var(--lh-18);
  color: var(--color-neutral600);
}
.policy-wrapper {
  font-size: var(--fs-14);
  font-weight: var(--fw-regular);
  line-height: var(--lh-20);
  color: var(--color-neutral600);
}

.policy-wrapper h2 {
  font-size: 20px;
  margin-bottom: 1.5rem;
}

.bullet-item {
  position: relative;
  padding-left: var(--space-20);
}
.bullet-item::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 8px;
  width: 4px;
  height: 4px;
  background-color: var(--color-neutral600);
  border-radius: 50%;
}
.indent-item {
  position: relative;
  padding-left: var(--space-40);
}
.indent-item::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 28px;
  width: 4px;
  height: 4px;
  background-color: var(--color-neutral600);
  border-radius: 50%;
}
.policy-num {
  margin-bottom: var(--space-20);
}
.policy-bold {
  display: block;
  font-size: var(--fs-16);
  font-weight: var(--fw-semibold);
  margin-bottom: var(--space-6);
}
.policy-medium {
  display: block;
  font-weight: var(--fw-semibold);
  margin-bottom: var(--space-4);
}
.policy-indent {
  padding-left: 1.5rem;
}
.policy-section {
  margin-top: var(--space-10);
  margin-bottom: var(--space-6);
}
.policy-section-step1 {
  margin-bottom: var(--space-6);
}
.regular {
  font-weight: var(--fw-regular);
}
.mb8 {
  margin-bottom: var(--space-8);
}
.privacy-foot p {
  margin: var(--space-40) 0;
}
.policy-list {
  background: var(--color-neutral050);
  padding: var(--space-24);
  border-radius: var(--radius-10);
  margin-bottom: var(--space-30);
}
.policy-list .contents {
  font-size: var(--fs-20);
  font-weight: var(--fw-semibold);
  color: var(--color-black2);
  padding-bottom: var(--space-12);
}
.contents-flex {
  display: flex;
  align-items: center;
  gap: var(--gap-60);
}
.policy-list-tit {
  font-size: var(--fs-18);
  font-weight: var(--fw-semibold);
  color: var(--color-black2);
  padding-bottom: var(--space-12);
}
.policy-list-con {
  display: flex;
  align-items: center;
  gap: var(--gap-46);
}

@media (max-width: 1440px) {
  .contact-section01 {
    padding: 0 var(--space-40);
  }
  .checkbox-group-check {
    margin-bottom: var(--space-4);
  }
}
@media (max-width: 1110px) {
  .contact-contents-input .checkbox-group {
    gap: var(--gap-10);
    flex-wrap: wrap;
  }
  .form-submit {
    max-width: 100%;
  }
  .br-on-laptop-l::after {
    display: none;
  }
}

@media (max-width: 1024px) {
  .contact-contents {
    gap: var(--gap-20);
  }
  .contact-contents-img {
    max-width: 40rem;
  }
  .popup-content {
    max-width: calc(100% - 4rem);
    padding: var(--space-44);
  }
}

@media (max-width: 840px) {
  .contact-section01 {
    padding: 0 var(--space-24);
    margin-top: var(--space-90);
  }
  .contact-contents {
    background: transparent;
    padding: 0;
    box-shadow: none;
    flex-direction: column;
  }
  .contact-tit {
    display: none;
  }
  .contact-contents-img {
    width: 100%;
    max-width: 768px;
    height: 220px;
    border-radius: var(--radius-10);
    background-position: center 70%;
  }
  .contact-contents-input input[type="text"],
  .contact-contents-input input[type="tel"],
  .contact-contents-input select,
  .contact-contents-input textarea {
    background: var(--color-white);
  }
  .contact-contents-input .form-row {
    flex-wrap: wrap;
  }
  .contact-contents-input,
  .contact-contents-input .form-group,
  .contact-contents-input .checkbox-group,
  .form-submit {
    max-width: initial;
  }
  .contact-contents-input .checkbox-group {
    flex-direction: column;
    align-items: flex-start;
  }
  .form-submit {
    margin-top: var(--space-16);
  }

  /* 팝업창 */
  .popup-content {
    padding: var(--space-32);
  }
  .contents-flex {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }
}
