@charset "UTF-8";
@import "/resources/fonts/pretendard/font_pretendard.css";
@import "/resources/fonts/Google-Sans-Flex/font_GoogleSansFlex.css";
@import "/resources/fonts/remixicon/font_remixicon.css";
/* ==========================================================================
공통 스타일 변수
========================================================================== */
/* ─────────────────────────────────────────
   fluid() — clamp 유틸 함수
   최솟값은 디자인 결정값(px 고정), 최댓값은 피그마 PC값
   ─────────────────────────────────────────
   사용법: fluid($min-px, $max-px, $vp-min: 375, $vp-max: 1920)
   예시  : font-size: fluid(16, 22);  → 최소 16px, 최대 22px
           padding  : fluid(20, 60);  → 최소 20px, 최대 60px
   ───────────────────────────────────────── */
:root {
  --header-height: clamp(64px, 5.5262135922rem + 2.3300970874vw, 10rem);
  --layout: 1520px;
  --layout-md: 1760px;
  --layout-lg: 1920px;
  --vh: 1px;
  --font: "Pretendard";
  --font-en: "Google Sans Flex";
  --icon: remixicon;
  --fs-xs: 1.2rem;
  --fs-sm: 1.4rem;
  --fs-md: 1.6rem;
  --fs-lg: 2.4rem;
  --fs-xl: 3.2rem;
  --fs-2xl: 4.8rem;
  --fs-3xl: 6.4rem;
  --lh-sm: 1.25;
  --lh-md: 1.5;
  --lh-lg: 1.6;
  --br-xxs: 0.4rem;
  --br-xs: 0.8rem;
  --br-sm: 1.2rem;
  --br-md: 1.6rem;
  --br-lg: 2rem;
  --br-xl: 2.4rem;
  --trs: 0.3s ease-in-out;
  /* ─────────────────────────────────────────
   Spacing 토큰 — fluid($min-px, $max-px)
   ───────────────────────────────────────── */
  --space-inner-x: clamp(20px, 0.786407767rem + 3.2362459547vw, 7rem);
  --primary: #092844;
  --second: #003768;
  --point: #c21f23;
  --primary-10: #d8e5fd;
  --primary-20: #b1cefb;
  --primary-30: #86aff9;
  --primary-40: #4c87f6;
  --primary-50: #0b50d0;
  --second-10: #d6e0eb;
  --second-20: #bacbde;
  --second-30: #90b0d5;
  --second-40: #6b96c7;
  --second-50: #1c589c;
  --point-10: #fde8e8;
  --point-20: #fac5c5;
  --point-30: #f6a3a3;
  --point-40: #f17272;
  --point-50: #cc2d2d;
  --gray-0: #ffffff;
  --gray-5: #f4f5f6;
  --gray-10: #e6e8ea;
  --gray-20: #cdd1d5;
  --gray-30: #b1b8be;
  --gray-40: #8a949e;
  --gray-50: #6d7882;
  --gray-60: #58616a;
  --gray-70: #464c53;
  --gray-80: #33363d;
  --gray-90: #1e2124;
  --gray-95: #131416;
  --gray-100: #000000;
  --black-950: #111111;
  --black-900: #222222;
  --black-800: #424242;
  --black-700: #616161;
  --black-600: #757575;
  --black-500: #9e9e9e;
  --black-400: #bdbdbd;
  --black-300: #e0e0e0;
  --black-200: #eeeeee;
  --black-100: #f5f5f5;
  --black-50: #fafafa;
  --layer-dim: rgba(0, 0, 0, 0.4);
  --red: #c41d2d;
  --deep-blue: #00326e;
  --dark-blue: #082036;
  --blue: #133d92;
  --cool-gray: #70839a;
  --white: #ffffff;
  --black: #000000;
  --color-success: #1e7e34;
  --color-success-bg: #d1fae5;
  --color-warning: #d97706;
  --color-warning-bg: #fef3c7;
  --color-error: #dc2626;
  --color-error-bg: #fee2e2;
  --color-01: #0f71c8;
  --color-02: #713cbb;
  --color-03: #cd4c65;
  --color-04: #2f9c82;
  --color-05: #70839a;
}

/* ============================================================
   Reset CSS  —  3팀 통합 버전
   최신 CSS 반영 / 브라우저·기기 호환성 고려
   ============================================================ */
/* ─────────────────────────────────────────
   1. Box-sizing
   ───────────────────────────────────────── */
:where(*, *::before, *::after) {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

/* ─────────────────────────────────────────
   2. Root
   ───────────────────────────────────────── */
html {
  font-size: 10px;
  height: 100%;
  scroll-behavior: smooth;
  /* 모바일 회전 시 브라우저의 자동 폰트 크기 조정 방지 */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /*
    OS 다크모드 수용 — 스크롤바·네이티브 input 등 브라우저 UI 자동 조정
    CSS로 명시한 색상에는 영향 없음
  */
  color-scheme: light dark;
}

/* ─────────────────────────────────────────
   3. Body
   ───────────────────────────────────────── */
body {
  margin: 0;
  padding: 0;
  min-width: 320px;
  /*
    svh: iOS Safari 주소창 포함 계산 버그 해결
    100vh 선행 선언 — svh 미지원 브라우저 폴백
  */
  min-height: 100vh;
  min-height: 100svh;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: break-word;
  /* iOS bounce 스크롤로 인한 레이아웃 틀어짐 방지 */
  overscroll-behavior-y: none;
  /* 폰트 안티앨리어싱 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ─────────────────────────────────────────
   4. Semantic block 요소
   ───────────────────────────────────────── */
/*
  구형 브라우저(IE, 구 Android)에서 시맨틱 요소를 inline으로 취급하는 문제 대응
*/
header,
footer,
main,
section,
article,
nav,
aside,
figure,
figcaption,
details,
summary {
  display: block;
}

/* ─────────────────────────────────────────
   5. Margin · Padding 초기화
   ───────────────────────────────────────── */
:where(h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
figcaption,
blockquote,
dl,
dd,
ul,
ol,
form,
fieldset,
hr) {
  margin: 0;
  padding: 0;
}

:where(ul, ol, li) {
  list-style: none;
}

/* ─────────────────────────────────────────
   6. Media 요소
   ───────────────────────────────────────── */
:where(img, svg, video, canvas, audio, iframe) {
  display: block;
  height: auto;
  border: 0;
  vertical-align: middle;
}

svg {
  /* 인라인 SVG 색상 부모 상속 */
  fill: currentColor;
}

iframe {
  /*
    GPU 컴포지팅 레이어 확보 — iframe 렌더링 성능 개선
    blur(0)은 의도적 no-op
  */
  filter: blur(0);
}

/* ─────────────────────────────────────────
   7. Form 요소
   ───────────────────────────────────────── */
:where(input, select, button, textarea, optgroup) {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background: none;
  border: 0;
  outline: none;
  vertical-align: middle;
}

:where(input, select) {
  max-width: 100%;
}

/* 모바일 탭 딜레이(300ms) 제거 */
:where(a, button, input, select, textarea, label) {
  touch-action: manipulation;
}

/* Select 네이티브 화살표 제거 */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* IE 드롭다운 화살표 제거 */
select::-ms-expand {
  display: none;
}

/* Button */
button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

:where(input[type=submit], input[type=button], input[type=search]) {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button:disabled {
  cursor: default;
  opacity: 0.5;
}

/* Textarea */
textarea {
  width: 100%;
  resize: vertical;
  min-height: 4em;
}

/* Placeholder */
:where(input, textarea)::placeholder {
  color: #9e9e9e;
  font-style: normal;
  font-weight: 400;
  opacity: 1;
  /* Firefox 기본 opacity 보정 */
}

/* ─────────────────────────────────────────
   8. Table
   ───────────────────────────────────────── */
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}

th {
  font-weight: 600;
}

/* ─────────────────────────────────────────
   9. 기타
   ───────────────────────────────────────── */
a {
  color: inherit;
  text-decoration: none;
}

:where(address, em, i) {
  font-style: normal;
}

:where(strong, b) {
  font-weight: 700;
}

fieldset {
  border: 0;
  /*
    fieldset 기본 min-width: min-content 로 인해
    flex/grid 레이아웃 깨지는 문제 해결
  */
  min-inline-size: unset;
}

hr {
  border: 0;
}

/* ─────────────────────────────────────────
   10. Accessibility
   ───────────────────────────────────────── */
/*
  clip 단독 사용은 deprecated → clip-path 병행
*/
caption,
legend,
.sr-only,
.hide,
.blind,
.ir {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Skip Navigation  */
#skip,
#skip_nav {
  position: relative;
  z-index: 9999;
}

#skip a,
#skip_nav a {
  position: absolute;
  top: -1000px;
  left: 0;
  width: 100%;
  padding: 0.8rem 0;
  background: #20262c;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3rem;
  text-align: center;
  text-decoration: none;
  transition: top 0.3s;
}

#skip a:focus,
#skip a:hover,
#skip a:active,
#skip_nav a:focus,
#skip_nav a:hover,
#skip_nav a:active {
  top: 0;
}

/* ─────────────────────────────────────────
   11. 라이브러리 예외 처리
   ───────────────────────────────────────── */
.swiper-wrapper,
.swiper-slide {
  box-sizing: border-box;
}

.swiper-notification {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.bx-wrapper .bx-loading {
  display: none;
}

.bx-wrapper .bx-viewport {
  border: 0;
  box-shadow: none;
}

/* ─────────────────────────────────────────
   12. Reduced Motion
   ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  :where(*, *::before, *::after) {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ==========================================================================
스크롤바
========================================================================== */
::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-track {
  background: #eeeeee;
  background: 0 0;
}

::-webkit-scrollbar-thumb {
  background: var(--gray-30);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--second);
}

::-webkit-scrollbar-button {
  display: none;
}

/* ==========================================================================
기본 스타일
========================================================================== */
body {
  font-size: 1.6rem;
  line-height: var(--lh-md);
  font-family: var(--font), var(--font-en);
  color: var(--gray-90);
  background-color: var(--gray-0);
}

*:focus {
  outline: 2px solid var(--primary-50);
  outline-offset: -2px;
  box-shadow: inset 0 0 0 3px var(--gray-0);
}

::selection {
  background: var(--primary-50);
  color: var(--gray-0);
}

/* ==========================================================================
반응형 폰트 기준 크기
========================================================================== */
@media (max-width: 1024px) {
  html {
    font-size: 9px;
  }
}
/* ==========================================================================
유틸리티
========================================================================== */
.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
  display: inline-block;
  max-width: 96%;
}

.iframe {
  display: block;
  width: 100%;
}

/* ==========================================================================
텍스트
========================================================================== */
.text-left {
  text-align: left !important;
}
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
.text-bold {
  font-weight: 700;
}
.text-underline {
  text-decoration: underline !important;
  text-underline-position: under;
}
.text-link {
  text-decoration: underline;
  color: var(--primary-50);
  display: inline-flex;
  gap: 0.6rem;
  align-items: center;
}
.text-link.ico-go::before, .text-link.ico-go::after, .text-link.ico-arr::before, .text-link.ico-arr::after {
  background: var(--primary-50);
  width: 1.7rem;
  height: 1.7rem;
}
.text-primary {
  color: var(--primary) !important;
}
.text-second {
  color: var(--second) !important;
}
.text-point {
  color: var(--point) !important;
}
.text-gray {
  color: var(--gray) !important;
}

/* ==========================================================================
배경색
========================================================================== */
.bg-primary {
  background-color: var(--primary-10);
}

.bg-second {
  background-color: var(--second-10);
}

.bg-point {
  background-color: var(--point-10);
}

.bg-gray {
  background-color: var(--gray-10);
}

/* ==========================================================================
Flex 정렬
========================================================================== */
.jc-center {
  justify-content: center !important;
}

.jc-space-around {
  justify-content: space-around !important;
}

.jc-space-evenly {
  justify-content: space-evenly !important;
}

.jc-space-between {
  justify-content: space-between !important;
}

.jc-flex-end {
  justify-content: flex-end !important;
}

.jc-flex-start {
  justify-content: flex-start !important;
}

.ai-flex-start {
  align-items: flex-start !important;
}

.ai-center {
  align-items: center !important;
}

.ai-flex-end {
  align-items: flex-end !important;
}

/* ==========================================================================
너비
========================================================================== */
.w1 {
  width: 1%;
}

.w2 {
  width: 2%;
}

.w3 {
  width: 3%;
}

.w4 {
  width: 4%;
}

.w5 {
  width: 5%;
}

.w6 {
  width: 6%;
}

.w7 {
  width: 7%;
}

.w8 {
  width: 8%;
}

.w9 {
  width: 9%;
}

.w10 {
  width: 10%;
}

.w11 {
  width: 11%;
}

.w12 {
  width: 12%;
}

.w13 {
  width: 13%;
}

.w14 {
  width: 14%;
}

.w15 {
  width: 15%;
}

.w16 {
  width: 16%;
}

.w17 {
  width: 17%;
}

.w18 {
  width: 18%;
}

.w19 {
  width: 19%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w35 {
  width: 35%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.w50 {
  width: 50%;
}

.w55 {
  width: 55%;
}

.w60 {
  width: 60%;
}

.w65 {
  width: 65%;
}

.w70 {
  width: 70%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.w85 {
  width: 85%;
}

.w90 {
  width: 90%;
}

.w95 {
  width: 95%;
}

.w100 {
  width: 100%;
}

/* ==========================================================================
마진
========================================================================== */
.ml0 {
  margin-left: 0rem !important;
}

.ml1 {
  margin-left: 0.8rem !important;
}

.ml2 {
  margin-left: 1.6rem !important;
}

.ml3 {
  margin-left: 2.4rem !important;
}

.ml4 {
  margin-left: 3.2rem !important;
}

.ml5 {
  margin-left: 4rem !important;
}

.ml6 {
  margin-left: 4.8rem !important;
}

.ml7 {
  margin-left: 5.6rem !important;
}

.ml8 {
  margin-left: 6.4rem !important;
}

.ml9 {
  margin-left: 7.2rem !important;
}

.ml10 {
  margin-left: 8rem !important;
}

.mla {
  margin-left: auto;
}

.mt0 {
  margin-top: 0rem !important;
}

.mt1 {
  margin-top: 0.8rem !important;
}

.mt2 {
  margin-top: 1.6rem !important;
}

.mt3 {
  margin-top: 2.4rem !important;
}

.mt4 {
  margin-top: 3.2rem !important;
}

.mt5 {
  margin-top: 4rem !important;
}

.mt6 {
  margin-top: 4.8rem !important;
}

.mt7 {
  margin-top: 5.6rem !important;
}

.mt8 {
  margin-top: 6.4rem !important;
}

.mt9 {
  margin-top: 7.2rem !important;
}

.mt10 {
  margin-top: 8rem !important;
}

.mta {
  margin-top: auto;
}

.mr0 {
  margin-right: 0rem !important;
}

.mr1 {
  margin-right: 0.8rem !important;
}

.mr2 {
  margin-right: 1.6rem !important;
}

.mr3 {
  margin-right: 2.4rem !important;
}

.mr4 {
  margin-right: 3.2rem !important;
}

.mr5 {
  margin-right: 4rem !important;
}

.mr6 {
  margin-right: 4.8rem !important;
}

.mr7 {
  margin-right: 5.6rem !important;
}

.mr8 {
  margin-right: 6.4rem !important;
}

.mr9 {
  margin-right: 7.2rem !important;
}

.mr10 {
  margin-right: 8rem !important;
}

.mra {
  margin-right: auto;
}

.mb0 {
  margin-bottom: 0rem !important;
}

.mb1 {
  margin-bottom: 0.8rem !important;
}

.mb2 {
  margin-bottom: 1.6rem !important;
}

.mb3 {
  margin-bottom: 2.4rem !important;
}

.mb4 {
  margin-bottom: 3.2rem !important;
}

.mb5 {
  margin-bottom: 4rem !important;
}

.mb6 {
  margin-bottom: 4.8rem !important;
}

.mb7 {
  margin-bottom: 5.6rem !important;
}

.mb8 {
  margin-bottom: 6.4rem !important;
}

.mb9 {
  margin-bottom: 7.2rem !important;
}

.mb10 {
  margin-bottom: 8rem !important;
}

.mba {
  margin-bottom: auto;
}

/* ==========================================================================
Grid
========================================================================== */
.col {
  display: grid !important;
}

.col1 {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr) !important;
}

.colspan1 {
  grid-column: span 1;
}

.rowspan1 {
  grid-row: span 1;
}

.col2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
}

.colspan2 {
  grid-column: span 2;
}

.rowspan2 {
  grid-row: span 2;
}

.col3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
}

.colspan3 {
  grid-column: span 3;
}

.rowspan3 {
  grid-row: span 3;
}

.col4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

.colspan4 {
  grid-column: span 4;
}

.rowspan4 {
  grid-row: span 4;
}

.col5 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
}

.colspan5 {
  grid-column: span 5;
}

.rowspan5 {
  grid-row: span 5;
}

@media (max-width: 768px) {
  .col4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .m-col {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .m-col .colspan2 {
    grid-column: span 1;
  }
  .m-col .rowspan2 {
    grid-row: span 1;
  }
  .m-col .colspan3 {
    grid-column: span 1;
  }
  .m-col .rowspan3 {
    grid-row: span 1;
  }
  .m-col .colspan4 {
    grid-column: span 1;
  }
  .m-col .rowspan4 {
    grid-row: span 1;
  }
  .m-col .colspan5 {
    grid-column: span 1;
  }
  .m-col .rowspan5 {
    grid-row: span 1;
  }
  .m-col2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* ============================================================
   Utils — 유틸리티 클래스
   fw- / fs- / mt- / mb- / pt- / pb- / txt-
   @for · @each 루프 생성 — 직접 편집하지 말 것
   ============================================================ */
@layer utils {
  /* Text Align */
  .txt-left {
    text-align: left !important;
  }
  .txt-center {
    text-align: center !important;
  }
  .txt-right {
    text-align: right !important;
  }
  /* Font Weight */
  .fw-300 {
    font-weight: 300 !important;
  }
  .fw-400 {
    font-weight: 400 !important;
  }
  .fw-500 {
    font-weight: 500 !important;
  }
  .fw-600 {
    font-weight: 600 !important;
  }
  .fw-700 {
    font-weight: 700 !important;
  }
  /* Font Size : 10px ~ 75px (1rem ~ 7.5rem) */
  .fs-10 {
    font-size: 1rem !important;
  }
  .fs-11 {
    font-size: 1.1rem !important;
  }
  .fs-12 {
    font-size: 1.2rem !important;
  }
  .fs-13 {
    font-size: 1.3rem !important;
  }
  .fs-14 {
    font-size: 1.4rem !important;
  }
  .fs-15 {
    font-size: 1.5rem !important;
  }
  .fs-16 {
    font-size: 1.6rem !important;
  }
  .fs-17 {
    font-size: 1.7rem !important;
  }
  .fs-18 {
    font-size: 1.8rem !important;
  }
  .fs-19 {
    font-size: 1.9rem !important;
  }
  .fs-20 {
    font-size: 2rem !important;
  }
  .fs-21 {
    font-size: 2.1rem !important;
  }
  .fs-22 {
    font-size: 2.2rem !important;
  }
  .fs-23 {
    font-size: 2.3rem !important;
  }
  .fs-24 {
    font-size: 2.4rem !important;
  }
  .fs-25 {
    font-size: 2.5rem !important;
  }
  .fs-26 {
    font-size: 2.6rem !important;
  }
  .fs-27 {
    font-size: 2.7rem !important;
  }
  .fs-28 {
    font-size: 2.8rem !important;
  }
  .fs-29 {
    font-size: 2.9rem !important;
  }
  .fs-30 {
    font-size: 3rem !important;
  }
  .fs-31 {
    font-size: 3.1rem !important;
  }
  .fs-32 {
    font-size: 3.2rem !important;
  }
  .fs-33 {
    font-size: 3.3rem !important;
  }
  .fs-34 {
    font-size: 3.4rem !important;
  }
  .fs-35 {
    font-size: 3.5rem !important;
  }
  .fs-36 {
    font-size: 3.6rem !important;
  }
  .fs-37 {
    font-size: 3.7rem !important;
  }
  .fs-38 {
    font-size: 3.8rem !important;
  }
  .fs-39 {
    font-size: 3.9rem !important;
  }
  .fs-40 {
    font-size: 4rem !important;
  }
  .fs-41 {
    font-size: 4.1rem !important;
  }
  .fs-42 {
    font-size: 4.2rem !important;
  }
  .fs-43 {
    font-size: 4.3rem !important;
  }
  .fs-44 {
    font-size: 4.4rem !important;
  }
  .fs-45 {
    font-size: 4.5rem !important;
  }
  .fs-46 {
    font-size: 4.6rem !important;
  }
  .fs-47 {
    font-size: 4.7rem !important;
  }
  .fs-48 {
    font-size: 4.8rem !important;
  }
  .fs-49 {
    font-size: 4.9rem !important;
  }
  .fs-50 {
    font-size: 5rem !important;
  }
  .fs-51 {
    font-size: 5.1rem !important;
  }
  .fs-52 {
    font-size: 5.2rem !important;
  }
  .fs-53 {
    font-size: 5.3rem !important;
  }
  .fs-54 {
    font-size: 5.4rem !important;
  }
  .fs-55 {
    font-size: 5.5rem !important;
  }
  .fs-56 {
    font-size: 5.6rem !important;
  }
  .fs-57 {
    font-size: 5.7rem !important;
  }
  .fs-58 {
    font-size: 5.8rem !important;
  }
  .fs-59 {
    font-size: 5.9rem !important;
  }
  .fs-60 {
    font-size: 6rem !important;
  }
  .fs-61 {
    font-size: 6.1rem !important;
  }
  .fs-62 {
    font-size: 6.2rem !important;
  }
  .fs-63 {
    font-size: 6.3rem !important;
  }
  .fs-64 {
    font-size: 6.4rem !important;
  }
  .fs-65 {
    font-size: 6.5rem !important;
  }
  .fs-66 {
    font-size: 6.6rem !important;
  }
  .fs-67 {
    font-size: 6.7rem !important;
  }
  .fs-68 {
    font-size: 6.8rem !important;
  }
  .fs-69 {
    font-size: 6.9rem !important;
  }
  .fs-70 {
    font-size: 7rem !important;
  }
  .fs-71 {
    font-size: 7.1rem !important;
  }
  .fs-72 {
    font-size: 7.2rem !important;
  }
  .fs-73 {
    font-size: 7.3rem !important;
  }
  .fs-74 {
    font-size: 7.4rem !important;
  }
  .fs-75 {
    font-size: 7.5rem !important;
  }
  /* Spacing : 0 ~ 100 (단위 0.1rem = 0 ~ 10rem) */
  .mt-0 {
    margin-top: 0rem !important;
  }
  .mb-0 {
    margin-bottom: 0rem !important;
  }
  .pt-0 {
    padding-top: 0rem !important;
  }
  .pb-0 {
    padding-bottom: 0rem !important;
  }
  .mt-1 {
    margin-top: 0.1rem !important;
  }
  .mb-1 {
    margin-bottom: 0.1rem !important;
  }
  .pt-1 {
    padding-top: 0.1rem !important;
  }
  .pb-1 {
    padding-bottom: 0.1rem !important;
  }
  .mt-2 {
    margin-top: 0.2rem !important;
  }
  .mb-2 {
    margin-bottom: 0.2rem !important;
  }
  .pt-2 {
    padding-top: 0.2rem !important;
  }
  .pb-2 {
    padding-bottom: 0.2rem !important;
  }
  .mt-3 {
    margin-top: 0.3rem !important;
  }
  .mb-3 {
    margin-bottom: 0.3rem !important;
  }
  .pt-3 {
    padding-top: 0.3rem !important;
  }
  .pb-3 {
    padding-bottom: 0.3rem !important;
  }
  .mt-4 {
    margin-top: 0.4rem !important;
  }
  .mb-4 {
    margin-bottom: 0.4rem !important;
  }
  .pt-4 {
    padding-top: 0.4rem !important;
  }
  .pb-4 {
    padding-bottom: 0.4rem !important;
  }
  .mt-5 {
    margin-top: 0.5rem !important;
  }
  .mb-5 {
    margin-bottom: 0.5rem !important;
  }
  .pt-5 {
    padding-top: 0.5rem !important;
  }
  .pb-5 {
    padding-bottom: 0.5rem !important;
  }
  .mt-6 {
    margin-top: 0.6rem !important;
  }
  .mb-6 {
    margin-bottom: 0.6rem !important;
  }
  .pt-6 {
    padding-top: 0.6rem !important;
  }
  .pb-6 {
    padding-bottom: 0.6rem !important;
  }
  .mt-7 {
    margin-top: 0.7rem !important;
  }
  .mb-7 {
    margin-bottom: 0.7rem !important;
  }
  .pt-7 {
    padding-top: 0.7rem !important;
  }
  .pb-7 {
    padding-bottom: 0.7rem !important;
  }
  .mt-8 {
    margin-top: 0.8rem !important;
  }
  .mb-8 {
    margin-bottom: 0.8rem !important;
  }
  .pt-8 {
    padding-top: 0.8rem !important;
  }
  .pb-8 {
    padding-bottom: 0.8rem !important;
  }
  .mt-9 {
    margin-top: 0.9rem !important;
  }
  .mb-9 {
    margin-bottom: 0.9rem !important;
  }
  .pt-9 {
    padding-top: 0.9rem !important;
  }
  .pb-9 {
    padding-bottom: 0.9rem !important;
  }
  .mt-10 {
    margin-top: 1rem !important;
  }
  .mb-10 {
    margin-bottom: 1rem !important;
  }
  .pt-10 {
    padding-top: 1rem !important;
  }
  .pb-10 {
    padding-bottom: 1rem !important;
  }
  .mt-11 {
    margin-top: 1.1rem !important;
  }
  .mb-11 {
    margin-bottom: 1.1rem !important;
  }
  .pt-11 {
    padding-top: 1.1rem !important;
  }
  .pb-11 {
    padding-bottom: 1.1rem !important;
  }
  .mt-12 {
    margin-top: 1.2rem !important;
  }
  .mb-12 {
    margin-bottom: 1.2rem !important;
  }
  .pt-12 {
    padding-top: 1.2rem !important;
  }
  .pb-12 {
    padding-bottom: 1.2rem !important;
  }
  .mt-13 {
    margin-top: 1.3rem !important;
  }
  .mb-13 {
    margin-bottom: 1.3rem !important;
  }
  .pt-13 {
    padding-top: 1.3rem !important;
  }
  .pb-13 {
    padding-bottom: 1.3rem !important;
  }
  .mt-14 {
    margin-top: 1.4rem !important;
  }
  .mb-14 {
    margin-bottom: 1.4rem !important;
  }
  .pt-14 {
    padding-top: 1.4rem !important;
  }
  .pb-14 {
    padding-bottom: 1.4rem !important;
  }
  .mt-15 {
    margin-top: 1.5rem !important;
  }
  .mb-15 {
    margin-bottom: 1.5rem !important;
  }
  .pt-15 {
    padding-top: 1.5rem !important;
  }
  .pb-15 {
    padding-bottom: 1.5rem !important;
  }
  .mt-16 {
    margin-top: 1.6rem !important;
  }
  .mb-16 {
    margin-bottom: 1.6rem !important;
  }
  .pt-16 {
    padding-top: 1.6rem !important;
  }
  .pb-16 {
    padding-bottom: 1.6rem !important;
  }
  .mt-17 {
    margin-top: 1.7rem !important;
  }
  .mb-17 {
    margin-bottom: 1.7rem !important;
  }
  .pt-17 {
    padding-top: 1.7rem !important;
  }
  .pb-17 {
    padding-bottom: 1.7rem !important;
  }
  .mt-18 {
    margin-top: 1.8rem !important;
  }
  .mb-18 {
    margin-bottom: 1.8rem !important;
  }
  .pt-18 {
    padding-top: 1.8rem !important;
  }
  .pb-18 {
    padding-bottom: 1.8rem !important;
  }
  .mt-19 {
    margin-top: 1.9rem !important;
  }
  .mb-19 {
    margin-bottom: 1.9rem !important;
  }
  .pt-19 {
    padding-top: 1.9rem !important;
  }
  .pb-19 {
    padding-bottom: 1.9rem !important;
  }
  .mt-20 {
    margin-top: 2rem !important;
  }
  .mb-20 {
    margin-bottom: 2rem !important;
  }
  .pt-20 {
    padding-top: 2rem !important;
  }
  .pb-20 {
    padding-bottom: 2rem !important;
  }
  .mt-21 {
    margin-top: 2.1rem !important;
  }
  .mb-21 {
    margin-bottom: 2.1rem !important;
  }
  .pt-21 {
    padding-top: 2.1rem !important;
  }
  .pb-21 {
    padding-bottom: 2.1rem !important;
  }
  .mt-22 {
    margin-top: 2.2rem !important;
  }
  .mb-22 {
    margin-bottom: 2.2rem !important;
  }
  .pt-22 {
    padding-top: 2.2rem !important;
  }
  .pb-22 {
    padding-bottom: 2.2rem !important;
  }
  .mt-23 {
    margin-top: 2.3rem !important;
  }
  .mb-23 {
    margin-bottom: 2.3rem !important;
  }
  .pt-23 {
    padding-top: 2.3rem !important;
  }
  .pb-23 {
    padding-bottom: 2.3rem !important;
  }
  .mt-24 {
    margin-top: 2.4rem !important;
  }
  .mb-24 {
    margin-bottom: 2.4rem !important;
  }
  .pt-24 {
    padding-top: 2.4rem !important;
  }
  .pb-24 {
    padding-bottom: 2.4rem !important;
  }
  .mt-25 {
    margin-top: 2.5rem !important;
  }
  .mb-25 {
    margin-bottom: 2.5rem !important;
  }
  .pt-25 {
    padding-top: 2.5rem !important;
  }
  .pb-25 {
    padding-bottom: 2.5rem !important;
  }
  .mt-26 {
    margin-top: 2.6rem !important;
  }
  .mb-26 {
    margin-bottom: 2.6rem !important;
  }
  .pt-26 {
    padding-top: 2.6rem !important;
  }
  .pb-26 {
    padding-bottom: 2.6rem !important;
  }
  .mt-27 {
    margin-top: 2.7rem !important;
  }
  .mb-27 {
    margin-bottom: 2.7rem !important;
  }
  .pt-27 {
    padding-top: 2.7rem !important;
  }
  .pb-27 {
    padding-bottom: 2.7rem !important;
  }
  .mt-28 {
    margin-top: 2.8rem !important;
  }
  .mb-28 {
    margin-bottom: 2.8rem !important;
  }
  .pt-28 {
    padding-top: 2.8rem !important;
  }
  .pb-28 {
    padding-bottom: 2.8rem !important;
  }
  .mt-29 {
    margin-top: 2.9rem !important;
  }
  .mb-29 {
    margin-bottom: 2.9rem !important;
  }
  .pt-29 {
    padding-top: 2.9rem !important;
  }
  .pb-29 {
    padding-bottom: 2.9rem !important;
  }
  .mt-30 {
    margin-top: 3rem !important;
  }
  .mb-30 {
    margin-bottom: 3rem !important;
  }
  .pt-30 {
    padding-top: 3rem !important;
  }
  .pb-30 {
    padding-bottom: 3rem !important;
  }
  .mt-31 {
    margin-top: 3.1rem !important;
  }
  .mb-31 {
    margin-bottom: 3.1rem !important;
  }
  .pt-31 {
    padding-top: 3.1rem !important;
  }
  .pb-31 {
    padding-bottom: 3.1rem !important;
  }
  .mt-32 {
    margin-top: 3.2rem !important;
  }
  .mb-32 {
    margin-bottom: 3.2rem !important;
  }
  .pt-32 {
    padding-top: 3.2rem !important;
  }
  .pb-32 {
    padding-bottom: 3.2rem !important;
  }
  .mt-33 {
    margin-top: 3.3rem !important;
  }
  .mb-33 {
    margin-bottom: 3.3rem !important;
  }
  .pt-33 {
    padding-top: 3.3rem !important;
  }
  .pb-33 {
    padding-bottom: 3.3rem !important;
  }
  .mt-34 {
    margin-top: 3.4rem !important;
  }
  .mb-34 {
    margin-bottom: 3.4rem !important;
  }
  .pt-34 {
    padding-top: 3.4rem !important;
  }
  .pb-34 {
    padding-bottom: 3.4rem !important;
  }
  .mt-35 {
    margin-top: 3.5rem !important;
  }
  .mb-35 {
    margin-bottom: 3.5rem !important;
  }
  .pt-35 {
    padding-top: 3.5rem !important;
  }
  .pb-35 {
    padding-bottom: 3.5rem !important;
  }
  .mt-36 {
    margin-top: 3.6rem !important;
  }
  .mb-36 {
    margin-bottom: 3.6rem !important;
  }
  .pt-36 {
    padding-top: 3.6rem !important;
  }
  .pb-36 {
    padding-bottom: 3.6rem !important;
  }
  .mt-37 {
    margin-top: 3.7rem !important;
  }
  .mb-37 {
    margin-bottom: 3.7rem !important;
  }
  .pt-37 {
    padding-top: 3.7rem !important;
  }
  .pb-37 {
    padding-bottom: 3.7rem !important;
  }
  .mt-38 {
    margin-top: 3.8rem !important;
  }
  .mb-38 {
    margin-bottom: 3.8rem !important;
  }
  .pt-38 {
    padding-top: 3.8rem !important;
  }
  .pb-38 {
    padding-bottom: 3.8rem !important;
  }
  .mt-39 {
    margin-top: 3.9rem !important;
  }
  .mb-39 {
    margin-bottom: 3.9rem !important;
  }
  .pt-39 {
    padding-top: 3.9rem !important;
  }
  .pb-39 {
    padding-bottom: 3.9rem !important;
  }
  .mt-40 {
    margin-top: 4rem !important;
  }
  .mb-40 {
    margin-bottom: 4rem !important;
  }
  .pt-40 {
    padding-top: 4rem !important;
  }
  .pb-40 {
    padding-bottom: 4rem !important;
  }
  .mt-41 {
    margin-top: 4.1rem !important;
  }
  .mb-41 {
    margin-bottom: 4.1rem !important;
  }
  .pt-41 {
    padding-top: 4.1rem !important;
  }
  .pb-41 {
    padding-bottom: 4.1rem !important;
  }
  .mt-42 {
    margin-top: 4.2rem !important;
  }
  .mb-42 {
    margin-bottom: 4.2rem !important;
  }
  .pt-42 {
    padding-top: 4.2rem !important;
  }
  .pb-42 {
    padding-bottom: 4.2rem !important;
  }
  .mt-43 {
    margin-top: 4.3rem !important;
  }
  .mb-43 {
    margin-bottom: 4.3rem !important;
  }
  .pt-43 {
    padding-top: 4.3rem !important;
  }
  .pb-43 {
    padding-bottom: 4.3rem !important;
  }
  .mt-44 {
    margin-top: 4.4rem !important;
  }
  .mb-44 {
    margin-bottom: 4.4rem !important;
  }
  .pt-44 {
    padding-top: 4.4rem !important;
  }
  .pb-44 {
    padding-bottom: 4.4rem !important;
  }
  .mt-45 {
    margin-top: 4.5rem !important;
  }
  .mb-45 {
    margin-bottom: 4.5rem !important;
  }
  .pt-45 {
    padding-top: 4.5rem !important;
  }
  .pb-45 {
    padding-bottom: 4.5rem !important;
  }
  .mt-46 {
    margin-top: 4.6rem !important;
  }
  .mb-46 {
    margin-bottom: 4.6rem !important;
  }
  .pt-46 {
    padding-top: 4.6rem !important;
  }
  .pb-46 {
    padding-bottom: 4.6rem !important;
  }
  .mt-47 {
    margin-top: 4.7rem !important;
  }
  .mb-47 {
    margin-bottom: 4.7rem !important;
  }
  .pt-47 {
    padding-top: 4.7rem !important;
  }
  .pb-47 {
    padding-bottom: 4.7rem !important;
  }
  .mt-48 {
    margin-top: 4.8rem !important;
  }
  .mb-48 {
    margin-bottom: 4.8rem !important;
  }
  .pt-48 {
    padding-top: 4.8rem !important;
  }
  .pb-48 {
    padding-bottom: 4.8rem !important;
  }
  .mt-49 {
    margin-top: 4.9rem !important;
  }
  .mb-49 {
    margin-bottom: 4.9rem !important;
  }
  .pt-49 {
    padding-top: 4.9rem !important;
  }
  .pb-49 {
    padding-bottom: 4.9rem !important;
  }
  .mt-50 {
    margin-top: 5rem !important;
  }
  .mb-50 {
    margin-bottom: 5rem !important;
  }
  .pt-50 {
    padding-top: 5rem !important;
  }
  .pb-50 {
    padding-bottom: 5rem !important;
  }
  .mt-51 {
    margin-top: 5.1rem !important;
  }
  .mb-51 {
    margin-bottom: 5.1rem !important;
  }
  .pt-51 {
    padding-top: 5.1rem !important;
  }
  .pb-51 {
    padding-bottom: 5.1rem !important;
  }
  .mt-52 {
    margin-top: 5.2rem !important;
  }
  .mb-52 {
    margin-bottom: 5.2rem !important;
  }
  .pt-52 {
    padding-top: 5.2rem !important;
  }
  .pb-52 {
    padding-bottom: 5.2rem !important;
  }
  .mt-53 {
    margin-top: 5.3rem !important;
  }
  .mb-53 {
    margin-bottom: 5.3rem !important;
  }
  .pt-53 {
    padding-top: 5.3rem !important;
  }
  .pb-53 {
    padding-bottom: 5.3rem !important;
  }
  .mt-54 {
    margin-top: 5.4rem !important;
  }
  .mb-54 {
    margin-bottom: 5.4rem !important;
  }
  .pt-54 {
    padding-top: 5.4rem !important;
  }
  .pb-54 {
    padding-bottom: 5.4rem !important;
  }
  .mt-55 {
    margin-top: 5.5rem !important;
  }
  .mb-55 {
    margin-bottom: 5.5rem !important;
  }
  .pt-55 {
    padding-top: 5.5rem !important;
  }
  .pb-55 {
    padding-bottom: 5.5rem !important;
  }
  .mt-56 {
    margin-top: 5.6rem !important;
  }
  .mb-56 {
    margin-bottom: 5.6rem !important;
  }
  .pt-56 {
    padding-top: 5.6rem !important;
  }
  .pb-56 {
    padding-bottom: 5.6rem !important;
  }
  .mt-57 {
    margin-top: 5.7rem !important;
  }
  .mb-57 {
    margin-bottom: 5.7rem !important;
  }
  .pt-57 {
    padding-top: 5.7rem !important;
  }
  .pb-57 {
    padding-bottom: 5.7rem !important;
  }
  .mt-58 {
    margin-top: 5.8rem !important;
  }
  .mb-58 {
    margin-bottom: 5.8rem !important;
  }
  .pt-58 {
    padding-top: 5.8rem !important;
  }
  .pb-58 {
    padding-bottom: 5.8rem !important;
  }
  .mt-59 {
    margin-top: 5.9rem !important;
  }
  .mb-59 {
    margin-bottom: 5.9rem !important;
  }
  .pt-59 {
    padding-top: 5.9rem !important;
  }
  .pb-59 {
    padding-bottom: 5.9rem !important;
  }
  .mt-60 {
    margin-top: 6rem !important;
  }
  .mb-60 {
    margin-bottom: 6rem !important;
  }
  .pt-60 {
    padding-top: 6rem !important;
  }
  .pb-60 {
    padding-bottom: 6rem !important;
  }
  .mt-61 {
    margin-top: 6.1rem !important;
  }
  .mb-61 {
    margin-bottom: 6.1rem !important;
  }
  .pt-61 {
    padding-top: 6.1rem !important;
  }
  .pb-61 {
    padding-bottom: 6.1rem !important;
  }
  .mt-62 {
    margin-top: 6.2rem !important;
  }
  .mb-62 {
    margin-bottom: 6.2rem !important;
  }
  .pt-62 {
    padding-top: 6.2rem !important;
  }
  .pb-62 {
    padding-bottom: 6.2rem !important;
  }
  .mt-63 {
    margin-top: 6.3rem !important;
  }
  .mb-63 {
    margin-bottom: 6.3rem !important;
  }
  .pt-63 {
    padding-top: 6.3rem !important;
  }
  .pb-63 {
    padding-bottom: 6.3rem !important;
  }
  .mt-64 {
    margin-top: 6.4rem !important;
  }
  .mb-64 {
    margin-bottom: 6.4rem !important;
  }
  .pt-64 {
    padding-top: 6.4rem !important;
  }
  .pb-64 {
    padding-bottom: 6.4rem !important;
  }
  .mt-65 {
    margin-top: 6.5rem !important;
  }
  .mb-65 {
    margin-bottom: 6.5rem !important;
  }
  .pt-65 {
    padding-top: 6.5rem !important;
  }
  .pb-65 {
    padding-bottom: 6.5rem !important;
  }
  .mt-66 {
    margin-top: 6.6rem !important;
  }
  .mb-66 {
    margin-bottom: 6.6rem !important;
  }
  .pt-66 {
    padding-top: 6.6rem !important;
  }
  .pb-66 {
    padding-bottom: 6.6rem !important;
  }
  .mt-67 {
    margin-top: 6.7rem !important;
  }
  .mb-67 {
    margin-bottom: 6.7rem !important;
  }
  .pt-67 {
    padding-top: 6.7rem !important;
  }
  .pb-67 {
    padding-bottom: 6.7rem !important;
  }
  .mt-68 {
    margin-top: 6.8rem !important;
  }
  .mb-68 {
    margin-bottom: 6.8rem !important;
  }
  .pt-68 {
    padding-top: 6.8rem !important;
  }
  .pb-68 {
    padding-bottom: 6.8rem !important;
  }
  .mt-69 {
    margin-top: 6.9rem !important;
  }
  .mb-69 {
    margin-bottom: 6.9rem !important;
  }
  .pt-69 {
    padding-top: 6.9rem !important;
  }
  .pb-69 {
    padding-bottom: 6.9rem !important;
  }
  .mt-70 {
    margin-top: 7rem !important;
  }
  .mb-70 {
    margin-bottom: 7rem !important;
  }
  .pt-70 {
    padding-top: 7rem !important;
  }
  .pb-70 {
    padding-bottom: 7rem !important;
  }
  .mt-71 {
    margin-top: 7.1rem !important;
  }
  .mb-71 {
    margin-bottom: 7.1rem !important;
  }
  .pt-71 {
    padding-top: 7.1rem !important;
  }
  .pb-71 {
    padding-bottom: 7.1rem !important;
  }
  .mt-72 {
    margin-top: 7.2rem !important;
  }
  .mb-72 {
    margin-bottom: 7.2rem !important;
  }
  .pt-72 {
    padding-top: 7.2rem !important;
  }
  .pb-72 {
    padding-bottom: 7.2rem !important;
  }
  .mt-73 {
    margin-top: 7.3rem !important;
  }
  .mb-73 {
    margin-bottom: 7.3rem !important;
  }
  .pt-73 {
    padding-top: 7.3rem !important;
  }
  .pb-73 {
    padding-bottom: 7.3rem !important;
  }
  .mt-74 {
    margin-top: 7.4rem !important;
  }
  .mb-74 {
    margin-bottom: 7.4rem !important;
  }
  .pt-74 {
    padding-top: 7.4rem !important;
  }
  .pb-74 {
    padding-bottom: 7.4rem !important;
  }
  .mt-75 {
    margin-top: 7.5rem !important;
  }
  .mb-75 {
    margin-bottom: 7.5rem !important;
  }
  .pt-75 {
    padding-top: 7.5rem !important;
  }
  .pb-75 {
    padding-bottom: 7.5rem !important;
  }
  .mt-76 {
    margin-top: 7.6rem !important;
  }
  .mb-76 {
    margin-bottom: 7.6rem !important;
  }
  .pt-76 {
    padding-top: 7.6rem !important;
  }
  .pb-76 {
    padding-bottom: 7.6rem !important;
  }
  .mt-77 {
    margin-top: 7.7rem !important;
  }
  .mb-77 {
    margin-bottom: 7.7rem !important;
  }
  .pt-77 {
    padding-top: 7.7rem !important;
  }
  .pb-77 {
    padding-bottom: 7.7rem !important;
  }
  .mt-78 {
    margin-top: 7.8rem !important;
  }
  .mb-78 {
    margin-bottom: 7.8rem !important;
  }
  .pt-78 {
    padding-top: 7.8rem !important;
  }
  .pb-78 {
    padding-bottom: 7.8rem !important;
  }
  .mt-79 {
    margin-top: 7.9rem !important;
  }
  .mb-79 {
    margin-bottom: 7.9rem !important;
  }
  .pt-79 {
    padding-top: 7.9rem !important;
  }
  .pb-79 {
    padding-bottom: 7.9rem !important;
  }
  .mt-80 {
    margin-top: 8rem !important;
  }
  .mb-80 {
    margin-bottom: 8rem !important;
  }
  .pt-80 {
    padding-top: 8rem !important;
  }
  .pb-80 {
    padding-bottom: 8rem !important;
  }
  .mt-81 {
    margin-top: 8.1rem !important;
  }
  .mb-81 {
    margin-bottom: 8.1rem !important;
  }
  .pt-81 {
    padding-top: 8.1rem !important;
  }
  .pb-81 {
    padding-bottom: 8.1rem !important;
  }
  .mt-82 {
    margin-top: 8.2rem !important;
  }
  .mb-82 {
    margin-bottom: 8.2rem !important;
  }
  .pt-82 {
    padding-top: 8.2rem !important;
  }
  .pb-82 {
    padding-bottom: 8.2rem !important;
  }
  .mt-83 {
    margin-top: 8.3rem !important;
  }
  .mb-83 {
    margin-bottom: 8.3rem !important;
  }
  .pt-83 {
    padding-top: 8.3rem !important;
  }
  .pb-83 {
    padding-bottom: 8.3rem !important;
  }
  .mt-84 {
    margin-top: 8.4rem !important;
  }
  .mb-84 {
    margin-bottom: 8.4rem !important;
  }
  .pt-84 {
    padding-top: 8.4rem !important;
  }
  .pb-84 {
    padding-bottom: 8.4rem !important;
  }
  .mt-85 {
    margin-top: 8.5rem !important;
  }
  .mb-85 {
    margin-bottom: 8.5rem !important;
  }
  .pt-85 {
    padding-top: 8.5rem !important;
  }
  .pb-85 {
    padding-bottom: 8.5rem !important;
  }
  .mt-86 {
    margin-top: 8.6rem !important;
  }
  .mb-86 {
    margin-bottom: 8.6rem !important;
  }
  .pt-86 {
    padding-top: 8.6rem !important;
  }
  .pb-86 {
    padding-bottom: 8.6rem !important;
  }
  .mt-87 {
    margin-top: 8.7rem !important;
  }
  .mb-87 {
    margin-bottom: 8.7rem !important;
  }
  .pt-87 {
    padding-top: 8.7rem !important;
  }
  .pb-87 {
    padding-bottom: 8.7rem !important;
  }
  .mt-88 {
    margin-top: 8.8rem !important;
  }
  .mb-88 {
    margin-bottom: 8.8rem !important;
  }
  .pt-88 {
    padding-top: 8.8rem !important;
  }
  .pb-88 {
    padding-bottom: 8.8rem !important;
  }
  .mt-89 {
    margin-top: 8.9rem !important;
  }
  .mb-89 {
    margin-bottom: 8.9rem !important;
  }
  .pt-89 {
    padding-top: 8.9rem !important;
  }
  .pb-89 {
    padding-bottom: 8.9rem !important;
  }
  .mt-90 {
    margin-top: 9rem !important;
  }
  .mb-90 {
    margin-bottom: 9rem !important;
  }
  .pt-90 {
    padding-top: 9rem !important;
  }
  .pb-90 {
    padding-bottom: 9rem !important;
  }
  .mt-91 {
    margin-top: 9.1rem !important;
  }
  .mb-91 {
    margin-bottom: 9.1rem !important;
  }
  .pt-91 {
    padding-top: 9.1rem !important;
  }
  .pb-91 {
    padding-bottom: 9.1rem !important;
  }
  .mt-92 {
    margin-top: 9.2rem !important;
  }
  .mb-92 {
    margin-bottom: 9.2rem !important;
  }
  .pt-92 {
    padding-top: 9.2rem !important;
  }
  .pb-92 {
    padding-bottom: 9.2rem !important;
  }
  .mt-93 {
    margin-top: 9.3rem !important;
  }
  .mb-93 {
    margin-bottom: 9.3rem !important;
  }
  .pt-93 {
    padding-top: 9.3rem !important;
  }
  .pb-93 {
    padding-bottom: 9.3rem !important;
  }
  .mt-94 {
    margin-top: 9.4rem !important;
  }
  .mb-94 {
    margin-bottom: 9.4rem !important;
  }
  .pt-94 {
    padding-top: 9.4rem !important;
  }
  .pb-94 {
    padding-bottom: 9.4rem !important;
  }
  .mt-95 {
    margin-top: 9.5rem !important;
  }
  .mb-95 {
    margin-bottom: 9.5rem !important;
  }
  .pt-95 {
    padding-top: 9.5rem !important;
  }
  .pb-95 {
    padding-bottom: 9.5rem !important;
  }
  .mt-96 {
    margin-top: 9.6rem !important;
  }
  .mb-96 {
    margin-bottom: 9.6rem !important;
  }
  .pt-96 {
    padding-top: 9.6rem !important;
  }
  .pb-96 {
    padding-bottom: 9.6rem !important;
  }
  .mt-97 {
    margin-top: 9.7rem !important;
  }
  .mb-97 {
    margin-bottom: 9.7rem !important;
  }
  .pt-97 {
    padding-top: 9.7rem !important;
  }
  .pb-97 {
    padding-bottom: 9.7rem !important;
  }
  .mt-98 {
    margin-top: 9.8rem !important;
  }
  .mb-98 {
    margin-bottom: 9.8rem !important;
  }
  .pt-98 {
    padding-top: 9.8rem !important;
  }
  .pb-98 {
    padding-bottom: 9.8rem !important;
  }
  .mt-99 {
    margin-top: 9.9rem !important;
  }
  .mb-99 {
    margin-bottom: 9.9rem !important;
  }
  .pt-99 {
    padding-top: 9.9rem !important;
  }
  .pb-99 {
    padding-bottom: 9.9rem !important;
  }
  .mt-100 {
    margin-top: 10rem !important;
  }
  .mb-100 {
    margin-bottom: 10rem !important;
  }
  .pt-100 {
    padding-top: 10rem !important;
  }
  .pb-100 {
    padding-bottom: 10rem !important;
  }
}
/* ===========================================================================
   Empty state
========================================================================== */
.content-empty {
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 12rem;
  padding: 1.6rem;
  border-radius: var(--br-md);
  background: #eaebed;
  color: var(--black-700);
  font-size: clamp(17px, 1.5300970874rem + 0.4530744337vw, 2.4rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-align: center;
}
.content-empty-text {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html body {
  top: 0 !important;
}
html .VIpgJd-ZVi9od-ORHb-OEVmcd {
  box-shadow: none;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
html.translated-ltr .mobile-nav .gnb-menu {
  width: 100%;
  transform: scaleX(1);
}
html.translated-ltr:not([lang|=ko]) .gnb-menu.full > li, html.translated-rtl:not([lang|=ko]) .gnb-menu.full > li {
  min-width: 0;
}
html.translated-ltr:not([lang|=ko]) .gnb-menu.full .gnb-main-trigger, html.translated-rtl:not([lang|=ko]) .gnb-menu.full .gnb-main-trigger {
  width: clamp(16rem, 14vw, 20rem);
}
html.translated-ltr:not([lang|=ko]) .gnb-menu.full .gnb-toggle-wrap, html.translated-rtl:not([lang|=ko]) .gnb-menu.full .gnb-toggle-wrap {
  min-width: 0;
  contain: inline-size;
}
html.translated-ltr:not([lang|=ko]) .gnb-main-trigger, html.translated-rtl:not([lang|=ko]) .gnb-main-trigger {
  text-align: center;
  line-height: 1.2;
}
html.translated-ltr:not([lang|=ko]) .breadcrumb, html.translated-rtl:not([lang|=ko]) .breadcrumb {
  flex-wrap: wrap;
}
html.translated-ltr:not([lang|=ko]) .visual-info-title br,
html.translated-ltr:not([lang|=ko]) .business-title-cont br,
html.translated-ltr:not([lang|=ko]) .academy-info-title br, html.translated-rtl:not([lang|=ko]) .visual-info-title br,
html.translated-rtl:not([lang|=ko]) .business-title-cont br,
html.translated-rtl:not([lang|=ko]) .academy-info-title br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .business-item-info, html.translated-rtl:not([lang|=ko]) .business-item-info {
  padding-right: 0;
  word-break: auto-phrase;
  text-wrap: balance;
}
html.translated-ltr:not([lang|=ko]) .academy .section-title br, html.translated-ltr:not([lang|=ko]) .academy-hero-content br, html.translated-rtl:not([lang|=ko]) .academy .section-title br, html.translated-rtl:not([lang|=ko]) .academy-hero-content br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .notice-item-category, html.translated-rtl:not([lang|=ko]) .notice-item-category {
  text-align: center;
}
html.translated-ltr:not([lang|=ko]) .contents-bg, html.translated-rtl:not([lang|=ko]) .contents-bg {
  height: auto;
  min-height: calc(100dvh - var(--header-height) - clamp(20px, 1.0291262136rem + 2.5889967638vw, 6rem));
  padding-block: clamp(120px, 10.0582524272rem + 5.1779935275vw, 20rem);
}
html.translated-ltr:not([lang|=ko]) .contents-bg-content .display1,
html.translated-ltr:not([lang|=ko]) .contents-bg-content .display2, html.translated-rtl:not([lang|=ko]) .contents-bg-content .display1,
html.translated-rtl:not([lang|=ko]) .contents-bg-content .display2 {
  text-wrap: balance;
  word-break: auto-phrase;
}
html.translated-ltr:not([lang|=ko]) .contents-bg-content .display1 br,
html.translated-ltr:not([lang|=ko]) .contents-bg-content .display2 br, html.translated-rtl:not([lang|=ko]) .contents-bg-content .display1 br,
html.translated-rtl:not([lang|=ko]) .contents-bg-content .display2 br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .contents-section, html.translated-rtl:not([lang|=ko]) .contents-section {
  column-gap: 40px;
}
html.translated-ltr:not([lang|=ko]) .contents-section-title, html.translated-rtl:not([lang|=ko]) .contents-section-title {
  text-wrap: balance;
  word-break: auto-phrase;
}
html.translated-ltr:not([lang|=ko]) .contents-section-title br, html.translated-rtl:not([lang|=ko]) .contents-section-title br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .academy-growth-panel .title1, html.translated-rtl:not([lang|=ko]) .academy-growth-panel .title1 {
  line-height: 120%;
}
html.translated-ltr:not([lang|=ko]) .academy-growth-panel .title1 br, html.translated-rtl:not([lang|=ko]) .academy-growth-panel .title1 br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .academy-lead .title2 br, html.translated-rtl:not([lang|=ko]) .academy-lead .title2 br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark, html.translated-rtl:not([lang|=ko]) .ci-wordmark {
  --ci-wordmark-row-gap: clamp(36px, 3.1145631068rem + 1.2944983819vw, 5.6rem);
  display: grid;
  container-type: normal;
  grid-template-areas: "korea logo-space shipbuilding" "logo logo logo" "bottom-space us bottom-space-right";
  grid-template-columns: minmax(0, 1fr) minmax(0, 47rem) minmax(0, 1fr);
  aspect-ratio: auto;
  column-gap: clamp(24px, 2.0116504854rem + 1.0355987055vw, 4rem);
  row-gap: var(--ci-wordmark-row-gap);
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note {
  position: relative;
  inset: auto;
  min-width: 0;
  width: auto;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note br, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note::before, html.translated-ltr:not([lang|=ko]) .ci-wordmark-note::after, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note::before, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note::after {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note--korea, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note--korea {
  grid-area: korea;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note--shipbuilding, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note--shipbuilding {
  grid-area: shipbuilding;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note--us, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note--us {
  grid-area: us;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note > .subtext2 br, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note > .subtext2 br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .ci-wordmark-note > .subtext2, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note > .subtext2 {
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
html.translated-ltr:not([lang|=ko]) .purpose-function-image .title3,
html.translated-ltr:not([lang|=ko]) .purpose-function-text, html.translated-rtl:not([lang|=ko]) .purpose-function-image .title3,
html.translated-rtl:not([lang|=ko]) .purpose-function-text {
  white-space: normal;
}
html.translated-ltr:not([lang|=ko]) .purpose-function-image .title3 br,
html.translated-ltr:not([lang|=ko]) .purpose-function-text br, html.translated-rtl:not([lang|=ko]) .purpose-function-image .title3 br,
html.translated-rtl:not([lang|=ko]) .purpose-function-text br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .purpose-roadmap-tasks br, html.translated-rtl:not([lang|=ko]) .purpose-roadmap-tasks br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .location-info > .title3 br, html.translated-rtl:not([lang|=ko]) .location-info > .title3 br {
  display: none;
}
html.translated-ltr:not([lang|=ko]) .location-details dl dt, html.translated-rtl:not([lang|=ko]) .location-details dl dt {
  padding-right: 1rem;
}
html.translated-ltr:not([lang|=ko]) .calendar-list-body > li > a, html.translated-rtl:not([lang|=ko]) .calendar-list-body > li > a {
  flex-wrap: wrap;
  text-wrap: balance;
}
html.translated-ltr:not([lang|=ko]) .board-category.fill, html.translated-rtl:not([lang|=ko]) .board-category.fill {
  min-height: 25px;
  height: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
}
html.translated-ltr:not([lang|=ko]) .board-view-page-category, html.translated-rtl:not([lang|=ko]) .board-view-page-category {
  flex: 0 0 clamp(130px, 11.3009708738rem + 4.5307443366vw, 20rem);
}
html.translated-ltr:not([lang|=ko]) .organization, html.translated-rtl:not([lang|=ko]) .organization {
  word-break: auto-phrase;
  text-wrap: balance;
}
html.translated-ltr:not([lang|=ko]) .sub-visual-info,
html.translated-ltr:not([lang|=ko]) .contents-bg-content,
html.translated-ltr:not([lang|=ko]) .contents-article,
html.translated-ltr:not([lang|=ko]) .center-overview-heading,
html.translated-ltr:not([lang|=ko]) .purpose-roadmap-section,
html.translated-ltr:not([lang|=ko]) .error,
html.translated-ltr:not([lang|=ko]) .academy-hero-content,
html.translated-ltr:not([lang|=ko]) .email-content,
html.translated-ltr:not([lang|=ko]) .search-list-top-info, html.translated-rtl:not([lang|=ko]) .sub-visual-info,
html.translated-rtl:not([lang|=ko]) .contents-bg-content,
html.translated-rtl:not([lang|=ko]) .contents-article,
html.translated-rtl:not([lang|=ko]) .center-overview-heading,
html.translated-rtl:not([lang|=ko]) .purpose-roadmap-section,
html.translated-rtl:not([lang|=ko]) .error,
html.translated-rtl:not([lang|=ko]) .academy-hero-content,
html.translated-rtl:not([lang|=ko]) .email-content,
html.translated-rtl:not([lang|=ko]) .search-list-top-info {
  overflow-wrap: anywhere;
  text-wrap: balance;
  word-break: auto-phrase;
}
@media (max-width: 1400px) {
  html.translated-ltr:not([lang|=ko]) .ci-wordmark, html.translated-rtl:not([lang|=ko]) .ci-wordmark {
    grid-template-areas: "logo" "korea" "shipbuilding" "us";
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
  }
  html.translated-ltr:not([lang|=ko]) .ci-wordmark-note, html.translated-rtl:not([lang|=ko]) .ci-wordmark-note {
    align-items: flex-start;
    width: 100%;
    text-align: left;
  }
  html.translated-ltr:not([lang|=ko]) .academy-growth, html.translated-rtl:not([lang|=ko]) .academy-growth {
    display: flex;
    flex-direction: column;
  }
  html.translated-ltr:not([lang|=ko]) .academy-growth::before, html.translated-rtl:not([lang|=ko]) .academy-growth::before {
    display: none;
  }
  html.translated-ltr:not([lang|=ko]) .academy-growth > img, html.translated-rtl:not([lang|=ko]) .academy-growth > img {
    position: static;
    flex: none;
    height: auto;
    aspect-ratio: 1520/700;
  }
  html.translated-ltr:not([lang|=ko]) .academy-growth-panel, html.translated-rtl:not([lang|=ko]) .academy-growth-panel {
    position: relative;
    inset: auto;
    width: 100%;
    background: var(--primary);
    backdrop-filter: none;
  }
  html.translated-ltr:not([lang|=ko]) .archive, html.translated-rtl:not([lang|=ko]) .archive {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  html.translated-ltr:not([lang|=ko]) .archive .section-title br, html.translated-rtl:not([lang|=ko]) .archive .section-title br {
    display: none;
  }
  html.translated-ltr:not([lang|=ko]) .archive-cont, html.translated-rtl:not([lang|=ko]) .archive-cont {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    max-height: none;
  }
  html.translated-ltr:not([lang|=ko]) .archive-title, html.translated-rtl:not([lang|=ko]) .archive-title {
    position: relative;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    top: auto;
    gap: 30px;
    width: 100%;
  }
}
@media (max-width: 1024px) {
  html.translated-ltr:not([lang|=ko]) .contents-section, html.translated-rtl:not([lang|=ko]) .contents-section {
    column-gap: 0;
  }
}
@media (max-width: 768px) {
  html.translated-ltr:not([lang|=ko]) .location-details dl > div, html.translated-rtl:not([lang|=ko]) .location-details dl > div {
    gap: 20px;
  }
}
html:not([lang|=ko], [lang|=en]) .gnb-main-trigger {
  width: clamp(12rem, 14vw, 20rem);
  padding-inline: 0;
}
html:not([lang|=ko], [lang|=en]) .gnb-menu.full .gnb-main-trigger {
  width: clamp(12rem, 14vw, 20rem) !important;
}
html .gt-en {
  display: none;
}
html[lang|=en] .gt-ko {
  display: none;
}
html[lang|=en] .gt-en {
  display: block;
}
html[lang|=en] .gt-en br {
  display: block !important;
}
@media (prefers-reduced-motion: no-preference) {
  html[lang|=en] .header-gnb .gnb-menu.full .gnb-toggle-wrap {
    transition: opacity 0.15s ease 0.45s, visibility 0s linear 0.45s;
  }
}
html.translated-ltr:not([lang|=ko], [lang|=en]) .gnb-main-trigger, html.translated-rtl:not([lang|=ko], [lang|=en]) .gnb-main-trigger {
  white-space: normal;
  text-align: center;
  line-height: 1.2;
  font-size: 1.7rem;
  word-break: auto-phrase;
  text-wrap: balance;
}
html[lang=ja] .gnb-toggle-wrap .depth2 > li > a {
  overflow-wrap: anywhere;
}
html[lang=ja] .footer-sites .drop-menu a {
  text-wrap: balance;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
html[lang=ja] .calendar-list-head span {
  word-break: auto-phrase;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

@container ci-wordmark-box (max-width: 90rem) {
  html:not([lang|=ko]) .ci-wordmark {
    grid-template-areas: "logo" "korea" "shipbuilding" "us";
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
  }
  html:not([lang|=ko]) .ci-wordmark-note {
    align-items: flex-start;
    width: 100%;
    text-align: left;
  }
  html:not([lang|=ko]) .ci-wordmark-logo {
    position: relative;
    inset: auto;
    grid-area: logo;
    justify-self: center;
    transform: none;
    width: min(100%, 38rem);
  }
}
.tooltip-layer {
  position: fixed;
  z-index: 10000;
  max-width: calc(100vw - 1.6rem);
  padding: 0.5rem 0.8rem;
  border-radius: var(--br-xxs);
  background: var(--black-900);
  color: var(--white);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 0.4rem);
  transition: visibility 0s linear 0.2s, opacity 0.2s, transform 0.2s;
}
.tooltip-layer.is-tooltip-visible {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

/*-------------------------------------------------
레이아웃
-------------------------------------------------*/
.inner {
  max-width: var(--layout);
  margin: 0 auto;
}
@media (max-width: 1600px) {
  .inner {
    padding: 0 var(--space-inner-x);
  }
}

.drop-wrap .drop-menu {
  display: none;
  position: absolute;
}
.drop-wrap.active .drop-menu {
  display: block;
}

html:has(.header-all-menu[aria-expanded=true]) {
  overflow: hidden;
}
html:has(.is-search-open):after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 5;
}
html.lenis, html.lenis body {
  height: auto;
  scroll-behavior: auto;
}
html.translated-ltr body {
  min-height: auto !important;
  top: 0 !important;
}

.header {
  --header-layer-duration: 0.3s;
  --header-layer-easing: ease-out;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  transition: 0.5s;
  z-index: 10;
  background-color: transparent;
  backdrop-filter: blur(0px);
  transform-origin: top center;
  --header-load-y: calc(-100%);
  --header-scroll-y: 0px;
  transform: translateY(calc(var(--header-load-y) + var(--header-scroll-y)));
}
.header.is-scroll-down {
  --header-scroll-y: calc(-100%);
}
@media (prefers-reduced-motion: no-preference) {
  .header {
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease, transform 0.3s ease;
  }
}
.header-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 clamp(20px, -0.2857142857rem + 2.9761904762vw, 4rem);
}
.header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-bg-height, var(--header-height));
  overflow: hidden;
  background: var(--color-bg, var(--white));
  background: rgb(255, 255, 255);
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.08);
  z-index: -1;
  pointer-events: none;
  transform: scaleY(0);
  transform-origin: top center;
}
@media (prefers-reduced-motion: no-preference) {
  .header-bg {
    transition: transform var(--header-layer-duration) var(--header-layer-easing);
  }
}
.header.is-open .header-bg, .header.is-search-open .header-bg {
  transform: scaleY(1);
  pointer-events: auto;
  background: #fff;
  backdrop-filter: blur(50px);
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.15);
}
.header.is-open .header-inner:after, .header.is-search-open .header-inner:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.header.is-open .header-logo img.logo-default, .header.is-search-open .header-logo img.logo-default {
  display: none;
}
.header.is-open .header-logo img.logo-active, .header.is-search-open .header-logo img.logo-active {
  display: block;
}
.header.is-sub, .header.is-fixed:not(.is-scroll-down):not(.is-open):not(.is-search-open) {
  background: #fff;
  backdrop-filter: blur(50px);
}
.header.is-sub .header-logo .logo-default, .header.is-fixed:not(.is-scroll-down):not(.is-open):not(.is-search-open) .header-logo .logo-default {
  display: none;
}
.header.is-sub .header-logo .logo-active, .header.is-fixed:not(.is-scroll-down):not(.is-open):not(.is-search-open) .header-logo .logo-active {
  display: block;
}
.header.is-sub .gnb-main-trigger, .header.is-fixed:not(.is-scroll-down):not(.is-open):not(.is-search-open) .gnb-main-trigger {
  color: var(--primary);
}
.header.is-fixed.is-open, .header.is-fixed.is-search-open {
  background: transparent;
  backdrop-filter: blur(0px);
}
.header.is-open .header-util i[class*=ri-],
.header.is-open .header-util-search .header-search-btn:before, .header.is-search-open .header-util i[class*=ri-],
.header.is-search-open .header-util-search .header-search-btn:before, .header.is-sub .header-util i[class*=ri-],
.header.is-sub .header-util-search .header-search-btn:before, .header.is-fixed:not(.is-scroll-down):not(.is-open):not(.is-search-open) .header-util i[class*=ri-],
.header.is-fixed:not(.is-scroll-down):not(.is-open):not(.is-search-open) .header-util-search .header-search-btn:before {
  color: var(--primary);
}
.header.is-search-open .header-bg {
  height: var(--header-search-bg-height, var(--header-height));
}
.header.is-search-open .header-gnb {
  display: none;
}
.header-container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
}
.header-logo a {
  display: block;
}
.header-logo a img {
  display: block;
  width: clamp(110px, 4.5384615385rem + 8.4134615385vw, 18rem);
}
.header-logo a .logo-active {
  display: none;
}
.header-gnb {
  flex: 1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
}
.header-util {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  color: var(--primary);
}
.header-util i[class*=ri-] {
  color: var(--white);
  font-size: 2.5rem;
}
.header-util-lang > a {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.header-util-search .header-search-btn {
  position: relative;
}
.header-util-search .header-search-btn:before {
  content: "\f0d1";
  width: clamp(20px, 1.9029126214rem + 0.2588996764vw, 2.4rem);
  height: clamp(20px, 1.9029126214rem + 0.2588996764vw, 2.4rem);
  font-family: var(--icon);
  color: var(--white);
  font-size: clamp(20px, 1.9029126214rem + 0.2588996764vw, 2.4rem);
}
.header-util-search .header-search-btn[aria-expanded=true]::before {
  content: "\f4c7";
}
.header-util-sitemap {
  display: none;
}
.header-btn-wrap {
  display: flex;
  gap: 1.6rem;
}
.goog-te-gadget {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 32px;
  border: 0 !important;
  border-radius: 3.4rem;
  background: #fff;
  padding: 0 12px;
  color: transparent !important;
  font-size: 0 !important;
}
.goog-te-gadget::before {
  content: "";
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: url(/resources/images/common/icon/icon_google.png) no-repeat center/contain;
}
.goog-te-gadget > div {
  position: relative;
  display: flex !important;
  align-items: center;
}
.goog-te-gadget > div::after {
  content: "\ea4d";
  position: absolute;
  right: 0;
  pointer-events: none;
  color: var(--dark-blue);
  font-family: var(--icon);
  font-size: 17px;
}
.goog-te-gadget > span {
  display: none !important;
}
.goog-te-gadget .goog-te-combo {
  height: 32px;
  margin: 0 !important;
  border: 0;
  outline: 0;
  appearance: none;
  background: transparent;
  padding: 0 25px 0 0;
  color: var(--dark-blue);
  font-family: var(--font);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.goog-te-gadget-simple {
  display: flex !important;
  align-items: center;
  gap: 8px;
  height: 32px;
  border: 0 !important;
  background: #fff;
  padding: 0 12px;
  border-radius: 3.4rem;
}
.goog-te-gadget-simple:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(/resources/images/common/icon/icon_google.png) no-repeat center/contain;
}
.goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed {
  display: flex;
  margin: 0;
}
.goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 400;
  position: relative;
  letter-spacing: -0.02em;
  color: var(--dark-blue) !important;
}
.goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed span::after {
  content: "\ea4d";
  font-family: var(--icon);
  font-size: 17px;
}
.goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed span:nth-of-type(2), .goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed span:nth-of-type(3) {
  display: none;
}
.goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed > img {
  display: none;
}
.goog-te-gadget-icon {
  display: none;
}

.gnb-menu.full .gnb-toggle-wrap, .gnb-menu > li.active .gnb-toggle-wrap {
  opacity: 1;
  visibility: visible;
  overflow: visible;
  height: fit-content;
  transition: 0.2s ease 0.1s;
}
.gnb-menu.full .gnb-toggle-wrap::before, .gnb-menu > li.active .gnb-toggle-wrap::before {
  display: block;
}

.gnb-menu {
  display: flex;
  justify-content: center;
  height: 100%;
}
.gnb-menu > li {
  transition: 0.2s;
}
.gnb-menu.full {
  position: relative;
}
.gnb-menu.full > li {
  display: flex;
  flex-direction: column;
  align-self: stretch;
}
.gnb-menu.full > li:hover .gnb-main-trigger, .gnb-menu.full > li:focus-within .gnb-main-trigger {
  color: var(--point);
}
.gnb-menu.full > li:hover .gnb-main-trigger > span, .gnb-menu.full > li:focus-within .gnb-main-trigger > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.gnb-menu.full > li:hover .gnb-main-trigger > span::after, .gnb-menu.full > li:focus-within .gnb-main-trigger > span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--point);
}
.gnb-menu.full .gnb-main-trigger {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: clamp(12rem, 12vw, 16rem);
  padding-inline: 0;
  color: var(--primary);
}
.gnb-menu.full .gnb-toggle-wrap {
  position: static;
  background: transparent;
  z-index: 1;
}
.gnb-menu.full .gnb-toggle-wrap .depth2 {
  width: 100%;
}
.gnb-main-trigger {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding-block: 0;
  padding-inline: 3rem;
  height: 100%;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--white);
}
@media (prefers-reduced-motion: no-preference) {
  .gnb-main-trigger {
    transition: color 0.2s ease, width 0.45s ease-out, padding-inline 0.45s ease-out;
  }
}
.gnb-toggle-wrap {
  visibility: hidden;
  overflow: hidden;
  width: 100%;
  height: 0;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
}
.gnb-toggle-wrap .depth2 {
  width: var(--layout);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  padding: 3.2rem 1rem 4.8rem;
}
.gnb-toggle-wrap .depth2 > li {
  text-align: center;
}
.gnb-toggle-wrap .depth2 > li > a {
  display: block;
  color: var(--primary);
  font-size: clamp(14px, 1.3514563107rem + 0.1294498382vw, 1.6rem);
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.02em;
  line-height: 1.5;
  word-break: auto-phrase;
  text-wrap: balance;
}
.gnb-toggle-wrap .depth2 > li > a:hover, .gnb-toggle-wrap .depth2 > li > a:focus {
  text-decoration: underline;
}
.gnb-sub-content .sub-title {
  display: none;
}
.gnb-sub-content .depth3 li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}
.gnb-sub-content .depth3 li::before {
  content: "ㆍ";
}

.search-layer {
  visibility: hidden;
  overflow: hidden;
  width: 100%;
  height: 0;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (prefers-reduced-motion: no-preference) {
  .search-layer {
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  }
}
.search-layer.is-open {
  visibility: visible;
  opacity: 1;
  height: fit-content;
  padding: clamp(40px, 3.0291262136rem + 2.5889967638vw, 8rem) 24px;
}
@media (prefers-reduced-motion: no-preference) {
  .search-layer.is-open {
    transition: opacity 0.25s ease 0.12s, visibility 0s;
  }
}

.total_search {
  position: relative;
  width: 80rem;
  max-width: 100%;
  margin: 0 auto;
}
.total_search input {
  width: 100%;
  height: clamp(48px, 4.2174757282rem + 1.5533980583vw, 7.2rem);
  padding: 0 calc(clamp(8px, 0.7029126214rem + 0.2588996764vw, 1.2rem) * 2 + 3.2rem) 0 clamp(8px, 0.7029126214rem + 0.2588996764vw, 1.2rem);
  color: #111;
  font-size: clamp(20px, 1.8058252427rem + 0.5177993528vw, 2.8rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}
.total_search input::placeholder {
  color: #aaa;
}
.total_search input:focus {
  outline: none;
  box-shadow: none;
}
.total_search input:not(:placeholder-shown) {
  border-bottom-color: var(--point);
}
.total_search input:focus:not(:placeholder-shown) {
  border-bottom-color: var(--point);
}
.total_search .btn.icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(24px, 2.2058252427rem + 0.5177993528vw, 3.2rem);
}

.mobile-nav {
  display: none;
  position: fixed;
  height: 100vh;
  inset: 0;
  padding: 12px;
  background-color: #f3f4f5;
  z-index: 1000;
}
.mobile-nav.is-open {
  display: block;
}
.mobile-nav .gnb-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}
.mobile-nav .gnb-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
  padding: 0 16px;
  border-radius: 8px;
  background: #fff;
  backdrop-filter: blur(50px);
}
.mobile-nav .btn-close {
  padding: 0;
  color: var(--primary);
}
.mobile-nav .btn-close i {
  font-size: 20px;
  line-height: 1;
}
.mobile-nav .gnb-utils-list {
  display: flex;
  align-items: center;
  gap: 16px;
}
.mobile-nav .gnb-utils-list > li {
  display: flex;
  align-items: center;
}
.mobile-nav .gnb-utils-list > li:not(:last-child) {
  position: relative;
}
.mobile-nav .gnb-utils-list > li:not(:last-child):after {
  content: "";
  position: absolute;
  left: calc(100% + 8px);
  width: 1px;
  height: 10px;
  border-left: 1px solid #ddd;
}
.mobile-nav .gnb-utils-list > li > a {
  color: rgba(9, 40, 68, 0.4);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.02em;
}
.mobile-nav .gnb-utils-list > li > a.active {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--primary);
  font-weight: 600;
}
.mobile-nav .gnb-utils-list > li > a.active:before {
  content: "\edcf";
  font-family: var(--icon);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  color: var(--primary);
}
.mobile-nav .gnb-body .submenu-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-height: calc(100vh - var(--header-height) - 36px);
  padding: 8px 0;
  border-radius: 8px;
  background: #fff;
  overflow-y: auto;
}
.mobile-nav .gnb-body .submenu-wrap .gnb-sub-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 16px;
}
.mobile-nav .gnb-body .submenu-wrap .gnb-sub-list .sub-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 53px;
  color: var(--primary);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.mobile-nav .gnb-body .submenu-wrap .gnb-sub-list .sub-title > a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: inherit;
}
.mobile-nav .gnb-body .submenu-wrap .gnb-sub-list > a.sub-title::after {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  margin-right: 2px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.3s ease;
}
.mobile-nav .gnb-body .submenu-wrap .gnb-sub-list.active > a.sub-title {
  color: var(--point);
}
.mobile-nav .gnb-body .submenu-wrap .gnb-sub-list.active > a.sub-title::after {
  transform: rotate(225deg) translateY(-2px);
}
.mobile-nav .gnb-body .submenu-wrap .mdepth2 {
  display: none;
  flex-direction: column;
  gap: 16px;
  padding: 8px 12px;
}
.mobile-nav .gnb-body .submenu-wrap .mdepth2 > li > a {
  padding: 0;
  color: #333;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.02em;
  transition: color 0.2s;
}
.mobile-nav .gnb-body .submenu-wrap .mdepth2 > li > a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mobile-nav .gnb-body .submenu-wrap .mdepth3 {
  display: none;
}

.footbanner ~ .footer {
  margin-top: 0;
}

.footer {
  background: #082036;
  color: #fff;
}
.footer-sites .drop-wrap {
  position: relative;
}
.footer-sites .drop-wrap.active .drop-menu {
  height: auto;
  padding: 0.8rem 0;
}
.footer-sites .drop-btn {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  min-width: 18rem;
  height: 48px;
  padding: 12px 16px;
  border-radius: var(--br-xxs);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.footer-sites .drop-btn:after {
  content: "\ea77";
  display: block;
  width: 2rem;
  height: 2rem;
  color: #fff;
  font-size: 2rem;
  font-family: var(--icon);
}
.footer-sites .drop-btn > span {
  flex-shrink: 0;
  text-align: left;
  color: #fff;
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.footer-sites .drop-menu {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  transition: padding 0.3s ease;
  background: #fff;
  border-radius: var(--br-xxs);
  color: var(--dark-blue);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
}
.footer-sites .drop-menu a {
  display: inline-block;
  padding: 0 16px;
  font-size: clamp(13px, 1.227184466rem + 0.1941747573vw, 1.6rem);
  font-weight: 500;
}
.footer-sites .drop-menu a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.footer-sites .drop-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  max-height: clamp(140px, 13.5145631068rem + 1.2944983819vw, 16rem);
}
.footer-logo {
  display: block;
}
.footer-logo img {
  width: clamp(135px, 9.3461538462rem + 5.4086538462vw, 18rem);
}
.footer-cont {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 1.5262135922rem + 2.3300970874vw, 6rem);
  padding: 10rem 0 8rem;
}
.footer-cont-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 20px;
}
.footer-cont-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}
.footer-cont-info {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  color: #d9d9d9;
  font-size: clamp(13px, 1.227184466rem + 0.1941747573vw, 1.6rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.footer-cont-info-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}
.footer-cont-info-contact > * {
  position: relative;
}
.footer-cont-info-contact > *:not(:last-child)::before {
  content: "";
  position: absolute;
  left: calc(100% + 1.2rem);
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 0.9rem;
  border-left: 1px solid #d9d9d9;
}
.footer-cont-info-contact .email {
  padding-bottom: 0;
}

@media print {
  * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  #header-top,
  #header,
  #snb,
  .lnb,
  .sub-visual,
  .breadcrumb-wrap,
  .contents-util,
  .print-btn,
  .board-search-wrap,
  .pagination,
  .board-view .file,
  .page-contents .btns,
  .prevnext,
  #footer {
    display: none !important;
  }
}
@media (max-width: 1460px) {
  .header-util {
    gap: 16px;
  }
  .gnb-main-trigger {
    font-size: 16px !important;
  }
}
@media (max-width: 1180px) {
  .header-gnb {
    display: none;
  }
  .header-util #gt-host-desktop {
    display: none;
  }
  .header-util #gt-host-desktop.is-gt-mounting {
    display: block !important;
    position: absolute !important;
    left: -9999px !important;
    top: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .header-util-sitemap {
    display: block;
  }
  .goog-te-gadget {
    padding: 0;
  }
  .goog-te-gadget-simple {
    padding: 0;
  }
}
@media (max-width: 1024px) {
  .footer-cont {
    padding: 48px 0;
  }
  .footer-cont-top {
    flex-direction: column-reverse;
    align-items: start;
    gap: 60px;
  }
  .footer-cont-link {
    flex-direction: column;
    align-items: start;
    gap: 16px;
    width: 100%;
  }
  .footer-cont-info {
    gap: 8px;
  }
  .footer-cont-info-contact .address {
    width: 100%;
  }
  .footer-cont-info-contact .address::before {
    display: none;
  }
  .footer-sites {
    width: 100%;
  }
  .footer-sites .drop-btn {
    justify-content: space-between;
    width: 100%;
  }
}