/*----------------------------------------
    common
----------------------------------------*/
body {
  font-family: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', sans-serif;
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.6;
  word-break: keep-all;
}

h1, h2, h3 {
  font-weight: 700;
}

a {
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

button {
  cursor: pointer;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  overflow: hidden;
}


/*----------------------------------------
    skip navigation
----------------------------------------*/
.skip-nav {
  position: absolute;
  top: -9999px;
  left: 0;
}

.skip-nav:focus {
  top: 0;
  z-index: 1000;
  width: 100%;
  padding: 8px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
}

@media (max-width: 1319px) {
  .skip-nav {
    display: none;
  }
}


/*----------------------------------------
    form
----------------------------------------*/
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type=search] {
  height: 42px;
  padding: 0 13px;
  border-radius: 3px;
  border: 1px solid #cfcfcf;
  font-family: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', sans-serif;
  font-size: var(--font-base);
  color: var(--color-text);
  letter-spacing: -0.48px;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-gray);
  opacity: 1;
}

input[type="text"]:focus-visible,
input[type="password"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="email"]:focus-visible,
input[type=search]:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

input[type="radio"],
input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.a11y-check-control {
  position: relative;
  display: inline-block;
}

.a11y-check-control > input[type="radio"],
.a11y-check-control > input[type="checkbox"] {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  clip: auto;
  opacity: 0;
  cursor: pointer;
}

.form-radio label {
  position: relative;
  margin-right: 21px;
  padding-left: 22px;
  font-size: var(--font-base);
  font-weight: 500;
  letter-spacing: -0.48px;
  cursor: pointer;
}

.form-radio label:last-child {
  margin-right: 0;
}

.form-radio .a11y-check-control {
  margin-right: 21px;
}

.form-radio .a11y-check-control label {
  margin-right: 0;
}

.form-radio .a11y-check-control:last-child {
  margin-right: 0;
}

.form-radio label::before {
  position: absolute;
  top: 2px;
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid #252525;
  background-color: #fff;
  content: "";
}

.form-radio input:checked + label::after {
  position: absolute;
  top: 6px;
  left: 4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #252525;
  content: "";
}

.form-radio > input:focus-visible + label::before {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

.form-radio input:disabled + label {
  color: #aaa;
  cursor: not-allowed;
}

.form-radio input:disabled + label::before {
  border-color: #ccc;
}

.form-radio input:disabled + label::after {
  background-color: #ccc;
}

.form-checkbox label {
  position: relative;
  margin-right: 27px;
  padding-left: 26px;
  font-size: var(--font-base);
  font-weight: 500;
  letter-spacing: -0.48px;
  cursor: pointer;
}

.form-checkbox label .desc {
  font-size: 14px;
  color: var(--color-gray);
}

.form-checkbox label:last-child {
  margin-right: 0;
}

.form-checkbox .a11y-check-control {
  margin-right: 27px;
}

.form-checkbox .a11y-check-control label {
  margin-right: 0;
}

.form-checkbox .a11y-check-control:last-child {
  margin-right: 0;
}

.form-radio .a11y-check-control:focus-within,
.form-checkbox .a11y-check-control:focus-within {
  outline: var(--focus-outline);
  outline-offset: 2px;
  border-radius: 2px;
}

.form-checkbox label::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 2px;
  border: 1px solid #929292;
  background-color: #fff;
  content: "";
}

.form-checkbox input:checked + label::before {
  border: none;
  background: url(../images/bg-chk-checked.png) no-repeat;
  background-size: cover;
}

.form-checkbox > input:focus-visible + label::before {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

select {
  height: 42px;
  padding: 0 47px 0 13px;
  border-radius: 3px;
  border: 1px solid #cfcfcf;
  background: url(../images/ico-dropdown.svg) no-repeat right 17px center;
  font-family: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', sans-serif;
  font-size: var(--font-base);
  color: var(--color-text);
  letter-spacing: -0.48px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

textarea {
  padding: 13px;
  border-radius: 3px;
  border: 1px solid #cfcfcf;
  font-family: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', sans-serif;
  font-size: var(--font-base);
  color: var(--color-text);
  line-height: 24px;
  letter-spacing: -0.48px;
}

textarea:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}


/*----------------------------------------
    color style
----------------------------------------*/
.text-primary {
  color: var(--color-primary);
}


/*----------------------------------------
    animation
----------------------------------------*/
.fade-item {
  opacity: 0;
}

/* .fade-group .fade-item {
  opacity: 0;
  transform: translateY(180px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.fade-group.active .fade-item {
  opacity: 1;
  transform: translateY(0);
} */
table .links:hover,
table .links:focus {
  text-underline-offset: 4px;

}
table .links::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url(/static/homepage/images/ico-shortcut.svg) no-repeat center 0 / 14px 14px;
  margin-left: 4px;
  width: 14px;
  height: 15px;
}
