/* ============================================================
   Web Fonts - self hosted (S-3, 2026-08-27)
   외부 CDN(fonts.googleapis.com / cdn.jsdelivr.net) 의존 제거
   원본: 홈페이지/2026 08-27 웹폰트 자체호스팅/ (README.md 참조)
   ============================================================ */

/* Roboto */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-100.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-100italic.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-300italic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-500italic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-700italic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/roboto-v51-latin-900italic.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Open Sans */
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Montserrat */
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-100.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-200.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v31-latin-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Play */
@font-face {
    font-family: 'Play';
    src: url('../fonts/play/play-v21-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Play';
    src: url('../fonts/play/play-v21-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Chakra Petch */
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-300italic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-500italic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-600italic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Chakra Petch';
    src: url('../fonts/chakra-petch/chakra-petch-v13-latin-700italic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Pretendard */
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/pretendard/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/*body*/
.body {
	font-family: 'Roboto', 'Pretendard', 'malgun gothic', Arial, sans-serif !important;
}
div, h1, h2, h3, h4, h5, h6, p {
    letter-spacing: inherit;
    font-family: inherit;
    letter-spacing: -0.04em;
}

/*font*/
.f_mon {
	font-family: 'Montserrat', sans-serif !important;
}
.f_play {
	font-family: 'Play', sans-serif !important;
}
.f_robo {
	font-family: "Roboto", sans-serif !important;
}
.f_cp {
    font-family: 'Chakra Petch', sans-serif !important;
    letter-spacing: 0em !important;
}

/*dft*/
.dft {
    word-break: keep-all;
}
h1.dft {
    font-size: 45px;
    color: #0d0a0a;
    line-height: 1.1em;
    text-transform: none;
}
h1.dft.bigsize {
    font-size: 55px;
}
h2.dft {
    font-size: 35px;
    color: #0d0a0a;
    line-height: 1.2em;
    text-transform: none;
}
h3.dft {
    font-size: 28px;
    color: #0d0a0a;
    line-height: 1.4em;
    text-transform: none;
}
h4.dft {
    font-size: 24px;
    color: #0d0a0a;
    line-height: 1.4em;
    text-transform: none;
}
h5.dft {
    font-size: 20px;
    color: #0d0a0a;
    line-height: 1.6em;
    text-transform: none;
}
h6.dft {
    font-size: 14px;
    color: #0d0a0a;
    line-height: 1.4em;
    text-transform: none;
}
p.dft {
    font-size: 17px;
    line-height: 1.6em;
    color: #0d0a0a;
}
@media (max-width:1200px) and (min-width:768px){
    h1.dft,
    h1.dft.bigsize {
        font-size: 35px;
    }
    h2.dft {
        font-size: 25px;
    }
    h3.dft {
        font-size: 24px;
    }
    h4.dft {
        font-size: 21px;
    }
    h5.dft {
        font-size: 18px;
    }
    h6.dft {
        font-size: 14px;
    }
    p.dft {
        font-size: 15px;
    }
}
@media (max-width:768px){
    h1.dft,
    h1.dft.bigsize {
        font-size: 27px;
    }
    h2.dft {
        font-size: 22px;
    }
    h3.dft {
        font-size: 20px;
    }
    h4.dft {
        font-size: 18px;
    }
    h5.dft {
        font-size: 16px;
    }
    h6.dft {
        font-size: 13px;
    }
    p.dft {
        font-size: 14px;
    }
}
/* word-keep */
.word-keep {
    word-break: keep-all;
}
.word-break {
    word-break: break-all;
}
/* font-weight */
.font-Thin {
    font-weight: 100 !important;
}
.font-ExtraLight {
    font-weight: 200 !important;
}
.font-Light {
    font-weight: 300 !important;
}
.font-Regular {
    font-weight: 400 !important;
}
.font-Medium {
    font-weight: 500 !important;
}
.font-Bold {
    font-weight: 600 !important;
}
.font-ExtraBold {
    font-weight: 700 !important;
}
.font-Heavy {
    font-weight: 800 !important;
}
.font-Black {
    font-weight: 900 !important;
}

/* subP */
.subP {
    font-weight: 300;
    letter-spacing: -0.08em;
}
.en {
    letter-spacing: -0.01em !important;
}