@font-face {
    font-family: 'yg-jalnan';
    src: url('../fonts/Jalnan2.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SBAggroB';
    src: url('../fonts/SA-B.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SBAggroL';
    src: url('../fonts/SA-L.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SBAggroM';
    src: url('../fonts/SA-M.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'UhBeeJJIBBABBA';
    src: url('../fonts/UhBee-JJIBBABBA.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Usan';
    src: url('../fonts/HakgyoansimUsanOTFR.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'KCCChassam';
    src: url('../fonts/KCCChassam.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
*{
    -webkit-box-sizing: border-box;
    -moz-box-size: border-box; 
    box-sizing: border-box;
    
    font-weight: 500;
    font-family: 'yg-jalnan';
}
html{
    width: 100%;
}
body {
   line-height: 1;
   font-family: 'yg-jalnan' ;
   width: 100%;
   /* height: 100%; */
   min-height: 100%;
   height: auto;
   -webkit-text-size-adjust: 100%;
}


body.dark{
background-color: #000;
}
ol, ul {
   list-style: none;
}
blockquote, q {
   quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
   content: '';
   content: none;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}
th, h1, h2, h3, h4, h5, h6, th {font-weight:normal;}
fieldset legend {display:none;}
ul:after {clear: both;display: block;content: ''}
dl:after {clear: both;display: block;content: ''}
caption {display:none;}

/* text link */
a, a:link, a:active, a:hover {text-decoration:none;}
input, select {vertical-align:middle;}
h1,h2,h3,h4,h5,h6,p,span {word-break:break-all;}
button {border:0; padding:0; margin:0; cursor:pointer;}

*:focus {
  outline: none;
}


hr{
    margin: 0;
    border: 0;
    width: 100%;
    height: 1px;
    background-color: #DDDDDD;
}
hr.hhr{
    margin-top: 15px;
    margin-bottom: 25px;
}
pre{
    white-space: pre-wrap;
    word-break: break-all;
}
br{
    font-family: 'Dotum';
}

button{
    background-color: transparent;
}

a{
    color: #000;
    cursor: pointer;
}

/* input[type=search] x버튼 없애기 */
input::-ms-clear,
input::-ms-reveal{
	display:none;
}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration{
	display:none;
}
/* input[type=number] 화살표 없애기
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/****************************** padding  */
.pd_0{
    padding: 0;
}
.pd_30{
    padding: 30px;
}
.plr_30{
    padding: 0 30px;
}
.pt_30{
    padding-top: 30px;
}
/****************************** margin  */
.mt_0{
    margin-top: 0;
}
.mt_5{
    margin-top: 5px;
}
.mt_10{
    margin-top: 10px;
}
.mt_20{
    margin-top: 20px;
}
.mt_30{
    margin-top: 30px;
}
.mt_60{
    margin-top: 60px;
}

.mb_5{
    margin-bottom: 5px;
}
.mb_7{
    margin-bottom: 7px;
}
.mb_10{
    margin-bottom: 10px;
}
.mb_15{
    margin-bottom: 15px;
}
.mb_20{
    margin-bottom: 20px;
}
.mb_30{
    margin-bottom: 30px;
}
.mb_40{
    margin-bottom: 40px;
}
.mb_50{
    margin-bottom: 50px;
}
.mb_60{
    margin-bottom: 60px;
}
.mr_10{
    margin-right: 10px;
}
/****************************** 텍스트 정렬 */
.t_left{
  text-align: left;
}
.t_right{
  text-align: right;
}
.t_center{
  text-align: center;
}

/****************************** float 지정 */
.f_left{
  float: left!important;
}
.f_right{
  float: right;
}

.c_left{
    clear: left;
}
.c_right{
    clear: right;
}
.c_both{
    clear: both;
}
/****************************** 배경색 지정 */
.bg_white{
    background-color: #FFFFFF;
}
/****************************** 글자색깔 지정 */
.co_fff{
	color: #ffffff!important;
}
.co_333{
	color: #333333;
}
.co_666{
	color: #666666;
}
.co_999{
	color: #999999;
}
.co_aaa{
    color: #AAAAAA;
}
/** wedream **/
.co_blue  {
    color: #5E78D0; 
}

/****************************** 글자크기, 무게 지정 */
.fs_12{
    font-size: 12px;
    line-height: 130%;
}
.fs_13{
    font-size: 13px;
    line-height: 130%;
}
.fs_14{
    font-size: 14px;
    line-height: 130%;
}
.fs_16{
    font-size: 16px;
    line-height: 130%;
}
.fs_18{
    font-size: 18px;
    line-height: 130%;
}
.fs_20{
    font-size: 20px;
    line-height: 130%;
}
body.mobile .contact .fs_20{
    font-size: 16px;
}
.fs_28{
    font-size: 28px;
    line-height: 130%;
}

.fw_9{
    
    font-weight: 900;
}
.fw_7{
    
    font-weight: 700;
}
.fw_5{
    
    font-weight: 500;
}
.fw_3{
    
    font-weight: 300;
}

/**************** a ***************/
a.link{
    text-decoration: underline;
    text-underline-position: under;
}


/**************** 버튼 ***************/
.btn{
    box-sizing: border-box;
    display: inline-block;
    border: 1px solid #fff;
    background-color: #fff;
    
    font-weight: 500;
    font-size: 18px;
    font-weight: 700;
    line-height: 16px;
    color: #111;
    flex-shrink: 0;
    line-height: 54px;
    padding: 0 20px;
    box-sizing: border-box;
}
.btn svg{
    float: right;
    margin-top: 27px;
}

.btn_o_w{
    background-color: rgba(0,0,0,0);
    color: #fff;
}

.rl0{
    border-radius: 0 10px 10px 0!important;
}
.rr0{
    border-radius: 10px 0 0 10px!important;
}



/*새 스타일*/

/*배경*/
.bgff{
    background-color: #fff;
}
.bgf1{
    background-color: #f1f1f1;
}
.bgf3{
    background-color: #f1f1f1;
}
.bgf6{
    background-color: #f6f6f6;
}
.bg3DD7DC{
    background-color: #3DD7DC;
}
/*글자크기*/
h3.h3{
    font-size: 20px;
    line-height: 150%;
}
h4.h4{
    font-size: 16px;
    line-height: 150%;
}
h5.h5{
    font-size: 26px;
    line-height: 150%;
}
/*글자색깔*/

.co3DD7DC{
    color:#3DD7DC;   
}
.coff{
    color:#fff;   
}
.coFEEF49{
    color:#FEEF49;   
}

/*문단*/
.tl{
    text-align: left;
}
.tr{
    text-align: right;
}
.tc{
    text-align: center;
}

/*패딩*/
.pr0{
    padding-right: 0px;
}
.pr10{
    padding-right: 10px;
}
.pr20{
    padding-right: 20px;
}
.pr30{
    padding-right: 30px;
}
.pr40{
    padding-right: 40px;
}
.pr50{
    padding-right: 50px;
}
.pr60{
    padding-right: 60px;
}
.pr70{
    padding-right: 70px;
}

/*공간*/
.blank{
    display: block;
    width: 100%;
}
.blank.h100{
    height: 100px;
}
.blank.h200{
    height: 200px;
}
.blank.h300{
    height: 300px;
}
.blank.h400{
    height: 400px;
}


/*흐림*/
.blur10{
    filter: blur(10px)!important;
}

.op0{
    opacity: 0;
}

/**** contents commmon ****/
.text-group{
    width: 100%;   
}
.graphic-group{
    width: 100%;
    display: block;
    position: relative;
}
.char-group{
    width: 100%;
    height: 100%;
}
.char-group .char{
    display: inline-block;
    height: 350px;
    width: 100%;
    max-width: 500px;
    display: inline-block;    
    background-position: 50% calc(100% - 17px);
    background-repeat: no-repeat;
    background-size: auto 400px;
    -webkit-box-reflect: below 0 -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0, transparent), to(rgba(255, 255, 255, 0.1)));
}
.char-group .char.no{
    -webkit-box-reflect:unset;
}
.bubble{
    display: inline-block;
    text-align: center;
    border-radius: 40px;
    height: 40px;
    background-color: #fff;
    padding: 0 20px;
    position: absolute;
    top:0;
}
.bubble p{
    font-family: "SBAggroL";
    font-size: 14px;
    line-height: 40px;
    font-weight: 300;
}
.bubble i.bubble-arrow{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65.308' height='28.223' viewBox='0 0 65.308 28.223'%3E%3Cpath id='패스_2765' data-name='패스 2765' d='M65.308,28.223,0,0H53Z' fill='%23fff'/%3E%3C/svg%3E%0A");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 26px;
    height: 15px;
    display: block;
    position: absolute;
    left: 80px;
    bottom:-15px;
}
.bubble i.bubble-arrow.right{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65.308' height='28.223' viewBox='0 0 65.308 28.223'%3E%3Cpath id='패스_2765' data-name='패스 2765' d='M0,28.223,65.308,0h-53Z' fill='%23fff'/%3E%3C/svg%3E%0A");
    left: auto;
    right: 100px;
}
.bubble.mint i.bubble-arrow{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65.308' height='28.223' viewBox='0 0 65.308 28.223'%3E%3Cpath id='패스_2765' data-name='패스 2765' d='M65.308,28.223,0,0H53Z' fill='%233DD7DC'/%3E%3C/svg%3E%0A");
    left: 100px;
    bottom:-15px;
}

/*버블 배경*/
.bubble.mint{
    background-color: #3DD7DC;
    color: #fff;
}
.bubble.blue{
    background-color: #4B98F6;
    color: #fff;
}


/*모눈 버블*/
.bubble.monun{
    background-image: url(../img/char/monun.png);
    background-size: 200%;
    background-repeat: no-repeat;
    box-shadow: 0 3px 3px rgba(0,0,0,0.1);
    background-position: 50% 50%!important;
}
.bubble.monun p{
    color:#F48D8D;
    font-size: 20px;
    font-family: 'Usan';
    font-weight: 400;
}


.bubble.mint i.bubble-arrow.right{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65.308' height='28.223' viewBox='0 0 65.308 28.223'%3E%3Cpath id='패스_2765' data-name='패스 2765' d='M0,28.223,65.308,0h-53Z' fill='%233DD7DC'/%3E%3C/svg%3E%0A");
    left: auto;
    right: 100px;
}

.bubble.blue i.bubble-arrow{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65.308' height='28.223' viewBox='0 0 65.308 28.223'%3E%3Cpath id='패스_3021' data-name='패스 3021' d='M65.308,28.223,0,0H53Z' fill='%234b98f5'/%3E%3C/svg%3E%0A");
    left: 100px;
    bottom:-28px;
}
.bubble.blue i.bubble-arrow.right{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65.308' height='28.223' viewBox='0 0 65.308 28.223'%3E%3Cpath id='패스_3021' data-name='패스 3021' d='M0,28.223,65.308,0h-53Z' fill='%234b98f5'/%3E%3C/svg%3E%0A");
    left: auto;
    right: 100px;
}

.autoplay-progress {
    position: absolute;
    left: calc(50% - 30px);
    bottom: 80px;
    z-index: 10;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    stroke: #1DA78D;
}
.autoplay-progress svg {
    --progress: 0;
    position: absolute;
    left: 0;
    top: 0px;
    z-index: 10;
    width: 100%;
    height: 100%;
    stroke-width: 4px;
    stroke: #1DA78D;
    fill: none;
    stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
    stroke-dasharray: 125.6;
    transform: rotate(-90deg);
}
.autoplay-progress span{
    color:#1DA78D;
}
img.down{
    animation: down 1s ease-in;
    animation-iteration-count: infinite;
    opacity: 0;
}
.swiper-slide-active img.down{
    transition: all .5s;
    opacity: 1;
    transition-delay: 1s;
}
@keyframes down {
    0%{ 
        transform: translateY(-10px);
    }
    50%{ 
        transform: translateY(0px);
    }
    100%{ 
        transform: translateY(-10px);
    }
}
.down_arrow{
    position: fixed;
    left: calc(50% - 25px);
    z-index: 100;
    width: 50px;
}

img.right{
    animation: right1 1s ease-in;
    animation-iteration-count: infinite;
    opacity: 0;
}
.swiper-slide-active .swiper-slide-active img.right{
    transition: all .5s;
    opacity: 1;
    transition-delay: 1s;
}
@keyframes right1 {
    0%{ 
        transform: translateX(0px);
    }
    50%{ 
        transform: translateX(-30px);
    }
    100%{ 
        transform: translateX(0px);
    }
}
.right_arrow{
    position: fixed;
    right:30px;
    z-index: 100;
    height: 120px;
}