@charset "utf-8";

/* Unified root variables for all files */
:root {
    --font-family: "Pretendard", sans-serif;
    --color-black: #000000;
    --color-primary: #1a1a1a;
    --color-primary-light: #2a2a2a;
    --color-primary-dark: #0a0a0a;
    --color-secondary: #ffffff;
    --point-color: #589617;
    --color-point: #0054d1;
    --color-gray: #f5f5f5;
    --color-eee: #eeeeee;
    --color-text-secondary: #666;
    --color-text-tertiary: #333;
    --color-text-quaternary: #999;
    --color-text-quinary: #ccc;
    --color-text-senary: #ddd;
    --color-text-nonary: #fafafa;
    --spacing-xs: 5px;
    --spacing-sm: 10px;
    --spacing-md: 15px;
    --spacing-lg: 20px;
    --spacing-xl: 30px;
    --spacing-xxl: 50px;
    --spacing-xxxl: 100px;
    --font-size-xsm: 12px;
    --font-size-sm: 14px;
    --font-size-md: 16px;
    --font-size-lg: 18px;
    --font-size-xlg: 20px;
    --font-size-xxlg: 24px;
    --font-size-xxxlg: 30px;
    --font-size-xxxxlg: 36px;
    --font-size-xxxxxlg: 42px;
    --font-size-xxxxxxlg: 48px;
    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-extrablack: 900;
    --border-radius-sm: 4px;
    --border-radius-md: 10px;
    --border-radius-lg: 15px;
    --border-radius-xl: 20px;
    --border-radius-xxl: 30px;
    --border-radius-xxxl: 50px;
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    --max-width: 1200px;
    --vh: 1vh;
}

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

html,
body {
    width: 100%;
    font-family: var(--font-family);
    color: var(--color-primary);
    font-size: var(--font-size-md);
    line-height: 1.3;
    word-break: keep-all;
    letter-spacing: -1px;
}
body {
    font-weight: var(--font-weight-regular);
    margin: 0 !important;
    box-sizing: border-box;
}

.container {
    position: relative;
    box-sizing: border-box;
}
.inner {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
}

h2 {
    font-size: 30px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    margin: 0 0 10px;
}
h3 {
    font-size: 24px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    margin: 0 0 10px;
}
h4 {
    font-size: 22px;
    font-weight: var(--font-weight-regular);
    line-height: 1.5;
    margin: 0 0 10px;
}
h5 {
    font-size: 20px;
    line-height: 1.4;
    margin: 0 0 8px;
}
h6 {
    font-size: 18px;
    line-height: 1.4;
    margin: 0 0 8px;
}
p {
    font-size: var(--font-size-sm);
    line-height: 1.3;
    margin: 0 0 8px;
}
b {
    font-weight: var(--font-weight-bold);
}
a {
    color: var(--color-primary);
    text-decoration: none;
}
img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}
fieldset {
    border: none;
    margin: 0;
    padding: 0;
}
.mt10 {
    margin-top: var(--spacing-sm);
}
.mt20 {
    margin-top: var(--spacing-lg);
}
.mb10 {
    margin-bottom: var(--spacing-sm);
}
.mb20 {
    margin-bottom: var(--spacing-lg);
}
.title {
    position: relative;
    padding-bottom: var(--spacing-lg);
}
.title p {
    margin-bottom: var(--spacing-sm);
}
/*기타*/
div#ctt {
    max-width: 1200px;
    margin: 0 auto;
}
/*table*/
/* 기본 테이블 스타일 */
table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px; /* 기존 WebKit 속성 대체 */
    border: 1px solid #e9e9e9;
}

table th,
td {
    padding: 10px;
    text-align: center;
    border: 1px solid #e9e9e9;
}

/* Responsive*/
@media screen and (max-width: 1024px) {
    .inner {
        max-width: none;
        padding: 0 var(--spacing-md);
    }
    p {
        font-size: var(--font-size-md);
    }
}

@media screen and (max-width: 768px) {
    .content {
        padding-top: 80px;
    }
    .title {
        padding-bottom: var(--spacing-sm);
    }
    .title-text {
        white-space: pre-line;
    }
    .title-text br {
        display: none;
    }
    .bg-gray {
        margin-top: 80px;
        padding-bottom: 80px;
    }
    table th,
    td {
        padding: 4px 4px;
        width: auto;
    }
}

@media screen and (max-width: 425px) {
    .content {
        padding-top: 60px;
    }

    p {
        font-size: var(--font-size-sm);
    }

    .mt20 {
        margin-top: var(--spacing-sm);
    }
    .mt40 {
        margin-top: var(--spacing-lg);
    }

    .mb20 {
        margin-bottom: var(--spacing-sm);
    }
    .mb40 {
        margin-bottom: var(--spacing-lg);
    }
}

@media screen and (max-width: 425px) {
    .title .title-text {
        font-weight: var(--font-weight-regular);
    }
}
