/* Font Face */
@font-face {
    font-family: 'AlpenFontFree';
    src: url('fonts/AlpenFontFree.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Nanum DarEuiGweDo';
    src: url('fonts/DarEuiGweDo.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Zen Kaku Gothic Antique', 'NanumSquareNeo', sans-serif;
    background-color: #ffffff;
    color: #000000;
    line-height: 1.6;
}

/* nyanstudio common */

.title-underline {
    width: 340px;
    height: 6px;
    background: url('images/d07f7f4d2f0b0e8d4e3add6dba9ecb85307110e3.svg') no-repeat center;
    background-size: contain;
}

.title-underline.small {
    width: 160px;
    height: 4px;
}

/* Footer */
.footer {
    width: 100%;
    max-width: 1280px;
    min-width: 380px;
    margin: 0 auto;
    background-color: #e6aebb;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer p {
    font-family: 'Rounded Mplus 1c', sans-serif;
    font-size: 10px;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    padding: 10px;
}

.copyright {
    font-family: 'Rounded Mplus 1c', sans-serif;
    font-size: 10px;
    line-height: normal;
    color: #ffffff;
    text-align: center;
    margin: 0;
}

/* Animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.concept-section,
.point-section,
.case-section,
.contact-section {
    animation: fadeIn 0.6s ease-out;
}