body {
    width: 100%;
    padding: 0;
    margin: 0;
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #ffffff;
}
#main{
    z-index: 1000;
}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

ul, li {
    list-style: none;
    margin: 0;
}
a {
    text-decoration: none !important;
    color: inherit;
    text-underline: none !important;
}
a:focus {
    color: inherit;
    text-decoration: none !important;
}

button {
    appearance: none;
    border: none;
}

dl, dt, dd {
    margin: 0;
    padding: 0;
}
/*
|--------------------------------------------------------------------------
| HTML - 컬러 클라스
|--------------------------------------------------------------------------
*/


/*
|--------------------------------------------------------------------------
| 포지션
|--------------------------------------------------------------------------
*/
.relative{ position: relative; }
.absolute{ position: absolute; }


/*
|--------------------------------------------------------------------------
| 사이즈
|--------------------------------------------------------------------------
*/
.w100{ width: 100%; }
.h100{ height: 100%; }
.flex_height{ flex: 1; }
/*
|--------------------------------------------------------------------------
| 마진/패딩
|--------------------------------------------------------------------------
*/
.ma-0 { margin: 0; }
.pa-0 { padding: 0; }

.mt10{
    margin-top: 10px;
}
.mt20{
    margin-top: 20px;
}
.mt30{
    margin-top: 30px;
}
.mb10{
    margin-bottom: 10px;
}
.mb20{
    margin-bottom: 20px;
}
.mb30{
    margin-bottom: 30px;
}
.mb50{
    margin-bottom: 50px;
}
.mb70{
    margin-bottom: 70px;
}

.pa-10 { padding: 10px; }
.pa-20 { padding: 20px; }
.pa_0_10{
    padding: 0 10px;
}
.pa_0_20{
    padding: 0 20px;
}
/*
|--------------------------------------------------------------------------
| 스타일
|--------------------------------------------------------------------------
*/
section {
    position: relative;
    width: 100%;
    height: auto;
}

._full {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
}

._wide {
    position: relative;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

._con {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.row {
    position: relative;
    width: 100%;
}

.row-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.col-contain {
    display: flex;
    width: 100%;
}

.box {
    display: flex;
    box-sizing: border-box;
}

.col1 {
    display: flex;
    width: 100%;
}

.col2 {
    display: flex;
    width: 50%;
}

.col3 {
    display: flex;
    width: calc(100% / 3);
}

.col4 {
    display: flex;
    width: 25%;
}

.col5 {
    display: flex;
    width: 20%;
}

.upper {
    text-transform: uppercase;
}

[class*="con-"] {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 1500px;
    height: 100%;
    margin: 0 auto;
}

[class*="con-"]::after {
    clear: both;
}

[class^="box-"],
[class$="-box"] {
    position: relative;
    display: flex;
}

[class^="bx-"],
[class$="-bx"] {
    position: relative;
    display: flex;
}

.radius {
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
}

.over_h{
    overflow: hidden;
}

/*
|--------------------------------------------------------------------------
| FLEX
|--------------------------------------------------------------------------
*/
.flex{ display: flex; }
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-coll-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.flex-col {
    display: flex;
    flex-direction: column;
}
.flex-wrap {
    display: flex;
    flex-wrap: wrap;
}

/*
|--------------------------------------------------------------------------
| 폰트/텍스트
|--------------------------------------------------------------------------
*/

.p_15_300{
    font-size: 15px;
    font-weight: 300;
    line-height: 24px;
}
.p_15_300_fff{
    font-size: 15px;
    font-weight: 300;
    line-height: 24px;
    color: #ffffff;
}
.tex_a_center{
    text-align: center;
}

.h48_500_frank{
    font-family: "Frank Ruhl Libre", serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 54px;
}
.h42_500_frank{
    font-family: "Frank Ruhl Libre", serif;
    font-size: 42px;
    font-weight: 500;
    line-height: 48px;
}

.h34_500{
    font-size: 34px;
    font-weight: 500;
    line-height: 40px;
}

.br {
    display: block;
    content: " ";
    height: 22px !important;
}
.br_10 {
    display: block;
    content: " ";
    height: 10px !important;
}
.br_20 {
    display: block;
    content: " ";
    height: 20px !important;
}
.br_30 {
    display: block;
    content: " ";
    height: 30px !important;
}
/*
|--------------------------------------------------------------------------
| 백그라운드/박스
|--------------------------------------------------------------------------
*/
.bg-center {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg-top {
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg-lb {
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg-lt {
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
}
.boarder_1_fff{
    border: 1px solid #ffffff;
}

/*
|--------------------------------------------------------------------------
| 톱버튼
|--------------------------------------------------------------------------
*/
.top {
    position: fixed;
    z-index: 500;
    width: 35px;
    height: 35px;
    background-color: #e35694;
    right: 10px;
    bottom: 20px;
    font-size: 12px;
    font-weight: 300;
    text-align: center;
    line-height: 35px;
    color: white;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 50%;
    -webkit-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
.top:hover {
    background-color: rgb(226, 100, 90);
    transition: all 1s ease-in-out;
}

/*//////////////////////*/


#footer{
    z-index: -1;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
}

#main {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
    padding-bottom: 100px;
    background-color: #ffffff;
}

@media only screen and (max-width: 1500px) {
    #main {
        padding-bottom: 70px;
    }

}

@media only screen and (max-width: 1200px) {
    #main {
        padding-left: 0;
        padding-bottom: 70px;
    }
    .mb70{
        margin-bottom: 50px;
    }

}

