:root {
    --MainColor:#00C6AD;
    --MainBackColor:#FFFFFF;
    --SubBackColor:#F3F4F5;
    --MainFontColor:#000000;
    --SubFontColor:#666666;
    --BorderColor:#EAEAEA;
}

body, div, header, footer, nav, section, article, aside, h1, h2, h3, h4, h5, h6, ul, li, ol, dl, dt, dd, p, table, th, tr, th, td, form, fieldset, legend, figure {padding:0; margin:0}

ul, ol, li {list-style:none}
h1, h2, h3, h4, h5, h6 {font-size:100%; font-weight:normal}
fieldset, img {border:0 none}
img {width:100%;}
table {border-spacing:0; border-collapse:collapse}
input, select, textarea, button {padding:0; margin:0; font-size:100%; vertical-align:middle; border:0 none;}
button {border:1px solid var(--SubFontColor); background-color:transparent; cursor:pointer}
a, a:hover, a:active {text-decoration:none}
address, em {font-style:normal}
strong {font-weight:normal}
label {margin:0}

body {font-family: "Pretendard Variable", Pretendard, sans-serif; color:var(--MainFontColor); font-size:15px; line-height:1.6; background-color:var(--MainBackColor);min-height:100%;}
a {color:var(--MainFontColor)}
a:hover {color:var(--MainFontColor)}

.hidden {width:0; height:0; font-size:0; line-height:0; text-indent:-9999px}
.inner {max-width:1200px; min-width:900px; margin:0 auto; padding:0 15px; box-sizing:border-box;}
.flex {display:flex; flex-wrap:wrap;}

*::selection {
    background-color:var(--MainColor);
    color:var(--MainBackColor);
}

html {
    position:relative;
    min-height:100%;
    margin:0;
}

header {
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    width:100%;
    height:90px;
    padding:15px 0;
    background-color:transparent;
}

header.bg-blur {
    background:rgba(255, 255, 255, 0.4);
    box-shadow:0 8px 32px 0 rgba(0, 0, 0, 0.08);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
    border-bottom:1px solid rgba(255, 255, 255, 0.18);
    animation-duration:0.7s;
    animation-fill-mode:both;
    animation-name:fadeInDown;
    animation-timing-function:ease;
    transition:0.3s all ease-in-out;
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

header h1 img {
    width:180px;
}

header .inner {
    max-width:1200px;
    align-items:center;
    justify-content:space-between;
}

header .inner .gnb li {
    padding-left:50px;
    font-size:16px;
}

header .inner .gnb li:hover a {
    color:var(--MainColor);
}

.mobile-menu-btn {
    display: none;
    flex-direction: column;
    cursor: pointer;
    width: 30px;
    height: 30px;
    justify-content: space-around;
    z-index: 1001;
}

.mobile-menu-btn span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--MainFontColor);
    transition: all 0.3s ease;
    transform-origin: center;
}

.mobile-menu-btn.active span:nth-child(1) {
    transform: rotate(45deg) translate(7px, 7px);
}

.mobile-menu-btn.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-btn.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

body.menu-open {
    overflow: hidden;
}

.wrap {
    position:relative;
}

.container {
    max-width:1200px;
    min-width:900px;
}

.btn_1 {
    text-decoration: none;
    vertical-align: middle;
    padding: 0 40px;
    margin-top:50px;
    height: 80px;
    border:0 none;
    color: var(--MainBackColor);
    font-size: 20px;
    letter-spacing: 0.03rem;
    font-weight: 400;
    text-align: center;
    line-height: 80px;
    background-color:var(--MainColor);
    border-radius: 60px;
}

.btn_2 {
    text-decoration: none;
    vertical-align: middle;
    padding: 0 40px;
    height: 60px;
    border:0 none;
    color: var(--MainBackColor);
    font-size: 18px;
    letter-spacing: 0.03rem;
    font-weight: 400;
    text-align: center;
    line-height: 60px;
    background-color: var(--MainColor);
    border-radius: 60px;
}

footer {
    padding:40px 0 80px;
    background-color:var(--SubBackColor);
}

footer .row {
    margin-top:40px;
}

footer img {
    width:120px;
}

footer .col-4 p {
    font-size:20px;
    font-weight:bold;
}

footer .col-4 .copy {
    margin-top:15px;
    font-size:12px;
    font-weight:normal;
}

footer .col-8 > .flex {
    justify-content:space-between;
}

footer .col-8 .menu li {
    margin-bottom:15px;
}

footer .col-8 .menu li a {
    display:inline-block;
    width:100%;
    height:100%;
    color:var(--SubFontColor);
    font-size:14px;
}

footer .col-8 .download a {
    display:block;
    padding:10px 15px;
    margin-bottom:15px;
    border:1px solid var(--MainFontColor);
    border-radius:30px;
    font-weight:bold;
    vertical-align:middle;
}

footer .col-8 .download a::before {
    content:'';
    display:inline-block;
    width:22px;
    height:22px;
    margin-right:10px;
    vertical-align:middle;
}

footer .col-8 .download a:nth-child(1)::before {
    background:url(../images/icons/icon_android.png) no-repeat 50% 50%;
    background-size:100%;
}

footer .col-8 .download a:nth-child(2)::before {
    background:url(../images/icons/icon_ios.png) no-repeat 50% 50%;
    background-size:100%;
}

footer .col-8 .download a:nth-child(3)::before {
    background:url(../images/icons/icon_kakao.png) no-repeat 50% 50%;
    background-size:100%;
}

footer .col-8 .download a:nth-child(4)::before {
    background:url(../images/icons/icon_naver.svg) no-repeat 50% 50%;
    background-size:100%;
}

footer .col-8 .footer_list {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

footer .col-8 .footer_list li {
    position:relative;
    padding-right:15px;
    font-size:13px;
    color:var(--SubFontColor);
}

footer .col-8 .footer_list li a {
    font-size:12px;
    color:var(--SubFontColor);
}

footer .col-8 .footer_list li::after {
    position:absolute;
    right:7px;
    top:4px;
    content:'';
    display:inline-block;
    width:1px;
    height:10px;
    background-color:var(--SubFontColor);
}

footer .col-8 .footer_list li:last-child::after {
    display:none;
}

footer .row:last-child .col-8 .flex {
    margin-top:10px;
}

footer .col-8 .flex li {
    font-size:12px;
    color:var(--SubFontColor);
}

@media screen and (max-width: 1024px) {
    .inner {
        min-width: auto;
        max-width: none;
        padding: 0 20px;
    }

    .container {
        min-width: auto;
        max-width: none;
        padding: 0 20px;
    }

    header .inner .gnb li {
        padding-left: 30px;
        font-size: 15px;
    }

    header h1 img {
        width: 150px;
    }
}

@media screen and (max-width: 768px) {
    .inner {
        padding: 0 15px;
    }

    header {
        height: 70px;
        padding: 10px 0;
    }

    header h1 img {
        width: 120px;
    }

    .mobile-menu-btn {
        display: flex;
    }

    header .inner .gnb {
        position: fixed;
        top: 0;
        right: -300px;
        width: 280px;
        height: 100vh;
        background-color: var(--MainBackColor);
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
        flex-direction: column;
        padding: 80px 20px 20px;
        transition: right 0.3s ease;
        z-index: 1000;
        overflow-y: auto;
    }

    header .inner .gnb.active {
        right: 0;
    }

    header .inner .gnb li {
        padding: 0;
        margin-bottom: 20px;
        font-size: 16px;
        border-bottom: 1px solid var(--BorderColor);
        padding-bottom: 15px;
    }

    header .inner .gnb li:last-child {
        border-bottom: none;
    }

    header .inner .gnb li a {
        display: block;
        padding: 10px 0;
        color: var(--MainFontColor);
    }

    .mobile-menu-overlay {
        display: block;
    }

    footer {
        padding: 30px 0 50px;
    }

    .container {
        padding: 0 15px;
    }

    footer .row {
        margin-top: 30px;
    }

    footer .col-4,
    footer .col-8 {
        width: 100%;
        margin-bottom: 30px;
    }

    footer .col-4 {
        text-align: center;
    }

    footer .col-4 img {
        width: 100px;
    }

    footer .col-8 > .flex {
        flex-direction: column;
        gap: 30px;
    }

    footer .col-8 .menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px 30px;
    }

    footer .col-8 .menu li {
        margin-bottom: 0;
    }

    footer .col-8 .menu li a {
        font-size: 13px;
    }

    footer .col-8 .download a.download-mobile {
        display: none;
    }

    footer .col-8 .download {
        text-align: center;
    }

    footer .col-8 .download a:not(.download-mobile) {
        display: inline-block;
        margin: 0 10px 15px;
        padding: 8px 15px;
        font-size: 14px;
    }

    footer .col-8 .footer_list {
        justify-content: center;
        margin-bottom: 15px;
    }

    footer .col-8 .footer_list li {
        font-size: 11px;
        padding-right: 10px;
    }

    footer .col-8 .footer_list li::after {
        right: 5px;
    }

    footer .row:last-child .col-8 .flex {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    footer .col-8 .flex li {
        font-size: 11px;
        margin-bottom: 10px;
    }

    .btn_1 {
        padding: 0 30px;
        margin-top: 30px;
        height: 60px;
        line-height: 60px;
        font-size: 18px;
    }

    .btn_2 {
        padding: 0 30px;
        height: 50px;
        line-height: 50px;
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    header h1 img {
        width: 100px;
    }

    header .inner .gnb {
        width: 260px;
        padding: 70px 15px 15px;
    }

    footer .col-8 .menu {
        gap: 10px 20px;
    }

    footer .col-8 .footer_list li {
        font-size: 10px;
    }

    footer .col-8 .flex li {
        font-size: 10px;
    }

    .btn_1 {
        padding: 0 20px;
        height: 50px;
        line-height: 50px;
        font-size: 16px;
    }

    .btn_2 {
        padding: 0 20px;
        height: 45px;
        line-height: 45px;
        font-size: 15px;
    }
}