@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* Global */

:root {
    /* Color */
    --color-white: #ffffff;
    --color-light-white: #eeeeee;
    --color-dark-white: #bdbdbd;
    --color-green: #63C3A9;
    --color-dark-pink: #ff6863;
    --color-dark-grey: #4d4d4d;
    --color-grey: #616161;
    --color-light-grey: #7c7979;
    --color-blue: #73aace;
    --color-yellow: #fff7d1;
    --color-orange: #feb546;
    --color-black: #000000;
    /* Font size */
    --font-title: 70px;
    --font-large: 48px;
    --font-medium: 28px;
    --font-regular: 18px;
    --font-small: 16px;
    --font-micro: 14px;
    /* Font weight */
    --weight-heavy: 800;
    --weight-extra-bold: 700;
    --weight-bold: 600;
    --weight-semi-bold: 500;
    --weight-regular: 400;
    --weight-light: 300;
    --weight-extra-light: 200;
    --weight-thin: 100;
    /* size */
    --size-border-raidus: 4px;
    --swiper-navigation-size: 7.4vw !important;
    --swiper-pagination-color: #63C3A9 !important;
    /* Animation */
    --animation-duration: 300ms;
}


/* universal tags */

html {
    font-size: 15px;
    font-family: "Comfortaa", "Noto Sans KR", -apple-system, BlinkMacSystemFont, Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Apple SD Gothic Neo', 'Apple SD 산돌고딕 Neo', Helvetica, 'Microsoft NeoGothic', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    line-height: 140%;
    font-family: "Noto Sans KR", sans-serif;
    letter-spacing: -1px;
}

a {
    text-decoration: none;
    outline: 0;
    color: #888;
    cursor: pointer;
}

i {
    font-size: 1.8rem;
}

p {
    margin: 8px auto;
}

button {
    background-color: transparent;
    cursor: pointer;
    border: none;
    padding: 0;
    /* for iphone */
}

.sr-only {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0, 0, 0, 0);
}

.clearfix::after {
    content: '';
    display: block;
    clear: both;
}


/* scrollbar style */

::-webkit-scrollbar {
    width: 14px;
}

::-webkit-scrollbar-track {
    background-color: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-green);
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-blue);
}

::-webkit-scrollbar-button:start:document,
::-webkit-scrollbar-button:end:increment {
    width: 14px;
    height: 14px;
    background: #bebebe;
}

.ir_pm {
    /* 의미있는 이미지의
  대체 텍스트(Phark Method) */
    display: block;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
}

.ir_wa {
    display: block;
    overflow: hidden;
    position: relative;
    z-index: -1;
    width: 100%;
    height: 100%;
}


/* 의미있는 이미지의 대체 텍스트로
  이미지가 없어도 대체 텍스트를
  보여주고자 할 때(WA IR) */

.ir_so {
    /* 웹 접근성을 위한 숨김 텍스트 */
    overflow: hidden;
    position: absolute;
    width: 0;
    height: 0;
    line-height: 0;
    text-indent: -9999px;
}

#skip {
    position: relative;
}

#skip a {
    position: absolute;
    z-index: 999;
    left: 0%;
    top: -60px;
    width: 200px;
    padding: 8px 3px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.699);
}

#skip a:active,
#skip a:focus {
    top: 100px;
}


/* Typography */

h1 {
    font-size: var(--font-large);
    font-weight: var(--weight-bold);
    color: var(--color-black);
    margin-bottom: 8px;
    cursor: default;
}

h2 {
    font-size: var(--font-medium);
    font-weight: var(--weight-bold);
    color: var(--color-black);
    margin: 8px 0;
    cursor: default;
}

h3 {
    font-size: var(--font-regular);
    font-weight: var(--weight-semi-bold);
    color: var(--color-black);
    margin: 8px 0;
    cursor: default;
}

h4 {
    font-size: var(--font-small);
    font-weight: var(--weight-regular);
    color: var(--color-white);
    margin: 8px 0;
    cursor: default;
}


/* Section common */

.section {
    margin: auto;
    /*
    padding: 100px 0vmax;
    */
    text-align: center;
    overflow: hidden;
    position: relative;
}

.section_title {
    font-size: var(--font-large);
    font-weight: var(--weight-bold);
    color: var(--color-light-grey);
}

.mt-120 {
    margin-top: 120px;
}

.mb-120 {
    margin-bottom: 120px;
}

.container {
    max-width: 1200px;
    margin: 120px auto;
}

p {
    font-size: var(--font-regular);
    font-weight: var(--weight-regular);
    color: var(--color-black);
    margin: 4px 0;
    cursor: default;
}

.flex {
    display: flex;
    align-items: center;
    margin: 0 auto;
}

.strong {
    font-weight: bold;
    color: #ff6863;
}

small {
    color: #888;
    display: block;
    font-size: 1.1rem;
}

.tit {
    margin-bottom: 6vmax;
    text-align: center;
}


/* Scroll */

.arrow-up,
.arrow-down {
    position: fixed;
    z-index: 999;
    width: 40px;
    height: 40px;
    right: 20px;
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: 3px 2px 8px 0px rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    transition: all 300ms ease-in;
}

.arrow-up {
    bottom: 70px;
    opacity: 0;
    pointer-events: none;
}

.arrow-up.visible {
    opacity: 1;
    pointer-events: auto;
}

.arrow-down {
    bottom: 20px;
}

.arrow-up img,
.arrow-down img {
    width: 80%;
    height: 80%;
}

.modal-content {
    border: none !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5) !important;
}