* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    /* Common */
    --color-white: #FFFFFF;
    --color-black: #3C3C3C;

    /* BG */
    --bg-color-purple: #D5B2F4;
    --bg-color-root-start: #BDD9F8;
    --bg-color-root-end: #DAC2FF;
    --bg-color-section3: #FFEEE2;
    --bg-color-pink-70: rgba(255, 234, 240, .7);

    /* Font */
    --font-color-purple1: #8E4F68;
    --font-color-purple2: #AF647E;
    --font-color-purple3: #9373B9;
    --font-color-purple4: #4D306F;
    --font-color-purple5: #6E4A57;
    --font-color-gray: #5C5C5C;
    --font-color-pink: #D14676;

    /* Button */
    --button-color-popup: #B18EF5;

    /* Border */
    --border-color-purple: #DA90DD;
    --border-color-gray: #707070;
    --border-color-pink: #FFAABE;

    /* Font Size */
    --font-size-50: 6.6666vw;
    --font-size-46: 6.1333vw;
    --font-size-38: 5.0666vw;
    --font-size-37: 4.9333vw;
    --font-size-36: 4.8vw;
    --font-size-34: 4.5333vw;
    --font-size-30: 4vw;
    --font-size-28: 3.7333vw;
    --font-size-24: 3.2vw;
    --font-size-22: 2.9333vw;
    --font-size-20: 2.6666vw;
    
    /* Font Line Height */
    --font-line-height-50: 6.6666vw;
    --font-line-height-42: 5.6vw;
    --font-line-height-36: 4.8vw;

    /* Font Weigth */
    --font-weight-extra-bold: 800;
    --font-weight-bold: 700;
    --font-weight-regular: 450;

    /* Font Letter Spacing */
    --font-letter-spacing-40: -.2222vw;
}

:root:not(.safari) {
    --font-weight-extra-bold: 900;
    --font-weight-bold: 800;
    --font-weight-regular: 450;
}

html {
    font-size: 10px;
}
body {
    -webkit-font-smoothing: antialiased; /* Safari와 Chrome에서 안티앨리어싱 적용 */
    -moz-osx-font-smoothing: grayscale;  /* macOS에서 텍스트 렌더링 방식 설정 */
}

html,
body {
    height: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
}

html,
body,
a,
input,
button {
    color: var(--color-white);
    text-decoration: none;
    /* font-family: 'NanumSquareRound', sans-serif !important; */
    font-weight: 400;
    font-display: swap;
}

a {
    line-height: 0;
}

img {
    width: 100%;
}

/* addClass */
.blind {
    overflow: hidden;
    position: absolute;
    left: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
}


/* position */
.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

/* /position */


#vueWrap {
    min-height: 100%;
    position: relative;
}



@media (width > 750px) {
    :root {
        /* Font Size */
        --font-size-50: 5rem;
        --font-size-46: 4.6rem;
        --font-size-38: 3.8rem;
        --font-size-37: 3.7rem;
        --font-size-36: 3.6rem;
        --font-size-34: 3.4rem;
        --font-size-30: 3rem;
        --font-size-28: 2.8rem;
        --font-size-24: 2.4rem;
        --font-size-22: 2.2rem;
        --font-size-20: 2rem;

        /* Font Line Height */
        --font-line-height-50: 5rem;
        --font-line-height-42: 4.2rem;
        --font-line-height-36: 3.6rem;

        /* Font Letter Spacing */
        --font-letter-spacing-40: -.1rem;
    }
}

