@charset "utf-8";

/* ==========================================================================
    Animation
   ========================================================================== */
@keyframes fadeUp {
    0% {opacity: 0; transform: translateY(30px);}
    100% {opacity: 1; transform: translateY(0);}
}

@keyframes fadeLeft {
    0% {opacity: 0; transform: translateX(30px);}
    100% {opacity: 1; transform: translateX(0);}
}

@keyframes zoomIn {
    0% {transform: scale(1.2);}
    100% {transform: scale(1);}
}

@keyframes zoomIn2 {
    0% {opacity: 0; transform: scale(1.2);}
    100% {opacity: 1; transform: scale(1);}
}

@keyframes radiusOut {
    0% {border-radius: 150px;}
    100% {border-radius: 5px;}
}

/* ==========================================================================
    Reset
   ========================================================================== */
*, *::before, *::after {margin: 0; padding: 0; box-sizing: border-box;}
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, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0; padding: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
html{scroll-behavior: smooth;}
body{-webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale; -webkit-tap-highlight-color: transparent;}
input, textarea, select, button, fieldset, img {border: 0;}
h1, h2, h3, h4, h5, h6 {font-weight: normal; font-size: 100%; line-height: normal;}
img {max-width: 100%; vertical-align:middle; -webkit-tap-highlight-color: rgba(0,0,0,0);}
legend, caption {visibility: hidden; overflow: hidden; position: absolute; width: 0; height: 0; line-height: 0;}
blockquote, q {quotes: none;}
blockquote::before, blockquote::after,
q::before, q::after {content: none;}
a, a:hover{color: inherit;}
em {font-style: normal;}
a:link, a:visited, a:hover, a:active {text-decoration: none;}
select {-webkit-border-radius: 0; appearance:menulist-text;}
input[type=text], input[type=password], input[type=submit], select {-webkit-border-radius: 0; -webkit-appearance: none;}
input[type="checkbox"], input[type="radio"]{-webkit-appearance: none;}
input[type=checkbox], input[type=radio] {vertical-align: middle;}
input[type=image] {height: auto;}
input[type=file] {border: 0; background: none;}
textarea {overflow-y: auto;}
input[type="checkbox"], input[type="radio"], label{cursor:pointer}
ol, ul, li {padding: 0; margin: 0; list-style: none;}
label, select, input, button {font-family: inherit;}
input, textarea, select {color: inherit; font-family: inherit;}
table {border-collapse: collapse; border-spacing: 0; word-break: break-all;}
a, button, input, select{line-height: normal;}
button {background: none; border: 0; padding: 0; margin:0; color: inherit; text-align: left; cursor: pointer; overflow:visible; white-space:nowrap;}
iframe, video {max-width: 100%; display: block;}
i::before {margin: 0 !important;}

/* ==========================================================================
    Variable
   ========================================================================== */
:root {
    --basic-color: #222;
    --header-height: 100px;
    --view-height100: calc(var(--vh, 1vh) * 100);
    --basic-blue: #2E3192;
    @media (width <= 1024px) {
        --header-height: 80px;
    }
    @media (width <= 860px) {
        --header-height: 60px;
    }
}

/* ==========================================================================
    Common Text
   ========================================================================== */
html {min-width: 320px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; font-size: 16px;}
html:lang(ko){word-break: keep-all;}
body {font-family: 'Poppins', 'Pretendard', 'Apple SD Gothic Neo', sans-serif; line-height: 1.4; color: var(--basic-color); text-rendering: optimizeLegibility; -ms-overflow-style: none;}
body::-webkit-scrollbar {display: none;}
::selection {background: #222; color: #fff; }


/* ==========================================================================
    Button
   ========================================================================== */


/* ==========================================================================
    Form
   ========================================================================== */
label{height: 44px; line-height: 1.2;}
input{width: 500px; height: 44px; padding: 0 1rem; box-sizing: border-box; border: none; font-size: 1rem; outline: none; color: #222; vertical-align: middle; background: #fff; border: 1px solid #dbdbdb; transition: 0.3s;}
select{width: 500px; height: 44px; padding: 0 2.5rem 0 1rem; border: 1px solid #dbdbdb;
    background: #fff url(/assets/site/img/common/form_sel_arrow.png) no-repeat right 1rem top 50%; font-size: 1rem; vertical-align: middle;}
textarea{width: 100%; box-sizing: border-box; padding: 1rem; border: none; font-size: inherit; resize: none; border-radius: 0; background-color: #fff; border: 1px solid #dbdbdb; color: #222; transition: 0.3s; font-size: 1rem;}
select:focus,
textarea:focus,
input[type=text]:focus,
input[type=password]:focus {outline: none; border: 1px solid #222;; box-shadow: none;}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {-webkit-box-shadow: 0 0 0px 1000px rgba(0,0,0,0) inset !important;}
input:focus,
input:focus + label,
select:focus,
textarea:focus{border-color: #222; background-color: #fff;}
input::placeholder,
textarea::placeholder{font-weight: 300; color: #bbb;}

/* ==========================================================================
    BOOTSTRAP & PLUGIN SETTING
   ========================================================================== */
.btn:focus,
button:focus{box-shadow: none !important; outline: none !important;}
.form-check-input:focus,
.form-control:focus,
.form-select:focus{box-shadow:none;}
.tab-pane{outline: 0;}
.accordion-button:not(.collapsed)::after{transform: rotate(-180deg);}
/*Swiper*/
.swiper{user-select: none;}
.swiper-wrapper{transition-timing-function: ease-out;}
.swiper-slide{transform: translateZ(0); backface-visibility: hidden;}
.swiper-button-next:after,
.swiper-button-prev:after{content:""}
.swiper-button-next,
.swiper-button-prev{width: 35px; height: 70px;}
.swiper-button-next{right: var(--main-gap); background: url('/assets/site/img/common/mv_arr_next_w.png') no-repeat right center / 25px auto;}
.swiper-button-prev{left: var(--main-gap); background: url('/assets/site/img/common/mv_arr_prev_w.png') no-repeat left center / 25px auto;}
.swiper-button-prev:hover,
.swiper-button-prev:focus,
.swiper-button-next:hover,
.swiper-button-next:focus,
.swiper-pagination-bullet,
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet:focus{outline:none}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled{opacity: .5;}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal{bottom: 24px; display: flex; justify-content: center; gap: 8px;}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin: 0; width: 13px; height: 13px; border: 1px solid #fff; background-color: transparent; opacity: .6;}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active{background-color: #fff; opacity: 1;}
/*Aos*/
[data-aos=fade-up]{transform:translate3d(0,50px,0)}
[data-aos=fade-left]{transform:translate3d(50px,0,0)}
[data-aos=fade-right]{transform:translate3d(-50px,0,0)}

/* ==========================================================================
    COMMON RESPONSIVE
   ========================================================================== */
.dsp, .p-dsp, .tl-dsp, .tp-dsp, .m-dsp, .m-dspi{display: none}
.show-mobile{display: none;}

@media only screen and (max-width: 1200px) {
    .p-dsp{display: block}
    .p-dspn{display: none;}
}

@media (width <= 1024px) {
    .tl-dsp{display: block}
    .tl-dspn{display: none;}
}

@media (width <= 860px) {
    .tp-dsp{display: block}
    .tp-dspn{display: none;}
}

@media (width <= 640px) {
    .m-dsp{display: block}
    .m-dspn{display: none;}
    .show-mobile{display: block;}
}

/* ==========================================================================
    Utility Class
   ========================================================================== */
/*Screen Reader Only*/
.sr-only {position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;}
/* scr-none : 모바일 메뉴 사용 시, body scroll 금지 */
.scr-none {overflow-y: hidden; -ms-overflow-style: none; scrollbar-width: none; /* Firefox */}
.scr-none::-webkit-scrollbar {display: none;}
[hidden] {display: none;}
.clearfix::after{ content: ''; display: block; clear: both; }
.pre-box{white-space:pre-wrap; word-break:break-all}
.fit-img{width: 100%; height: 100%; object-fit: cover}
.fit-wimg{width: 100%}
/*유튜브 반응형*/
.video-responsive{position: relative; height: 0; padding-bottom: 56.25%; overflow: hidden;}
.video-responsive iframe{position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

.text_c {text-align:center;}
.text_l {text-align:left;}
.text_r {text-align:right;}
.float_r {float:right;}
.float_l {float:left;}

.clear {clear:both !important;}
.pat0{ padding-top:0 !important;}
.pab0{ padding-bottom:0 !important;}
.mat0{ margin-top:0 !important;}
.mab0{ margin-bottom:0 !important;}

.mat5{ margin-top:5px !important;}
.mar5{ margin-right:5px !important;}
.mab5{ margin-bottom:5px !important;}
.mal5{ margin-left:5px !important;}

.mat10{ margin-top:10px !important;}
.mar10{ margin-right:10px !important;}
.mab10{ margin-bottom:10px !important;}
.mal10{ margin-left:10px !important;}

.mat20{ margin-top:20px !important;}
.mar20{ margin-right:20px !important;}
.mab20{ margin-bottom:20px !important;}
.mal20{ margin-left:20px !important;}

.mat30{ margin-top:30px !important;}
.mar30{ margin-right:30px !important;}
.mab30{ margin-bottom:30px !important;}
.mal30{ margin-left:30px !important;}

.mat40{ margin-top:40px !important;}
.mar40{ margin-right:40px !important;}
.mab40{ margin-bottom:40px !important;}
.mal40{ margin-left:40px !important;}

.mat50{ margin-top:50px !important;}
.mar50{ margin-right:50px !important;}
.mab50{ margin-bottom:50px !important;}
.mal50{ margin-left:50px !important;}

.mat60{ margin-top:60px !important;}
.mar60{ margin-right:60px !important;}
.mab60{ margin-bottom:60px !important;}
.mal60{ margin-left:60px !important;}

.mat70{ margin-top:70px !important}
.mar70{ margin-right:70px !important}
.mab70{ margin-bottom:70px !important}
.mal70{ margin-left:70px !important}

.mat80{ margin-top:80px !important}
.mar80{ margin-right:80px !important}
.mab80{ margin-bottom:80px !important}
.mal80{ margin-left:80px !important}

.mat90{ margin-top:90px !important}
.mar90{ margin-right:90px !important}
.mab90{ margin-bottom:90px !important}
.mal90{ margin-left:90px !important}

.mat100{ margin-top:100px !important}
.mar100{ margin-right:100px !important}
.mab100{ margin-bottom:100px !important}
.mal100{ margin-left:100px !important}
@media screen and (max-width:1024px){
    .mat20{ margin-top:10px !important}
    .mab20{ margin-bottom:10px !important}

    .mat30{ margin-top:15px !important}
    .mab30{ margin-bottom:15px !important}

    .mat40{ margin-top:20px !important}
    .mab40{ margin-bottom:20px !important}

    .mat50{ margin-top:20px !important}
    .mab50{ margin-bottom:20px !important}

    .mat60{ margin-top:30px !important}
    .mab60{ margin-bottom:30px !important}

    .mat70{ margin-top:35px !important}
    .mab70{ margin-bottom:35px !important}

    .mat80{ margin-top:40px !important}
    .mab80{ margin-bottom:40px !important}

    .mat90{ margin-top:45px !important}
    .mab90{ margin-bottom:45px !important}

    .mat100{ margin-top:50px !important}
    .mab100{ margin-bottom:50px !important}
}

/* 너비 */
.w100{width:100% !important;}
.w80{width:80% !important;}
.w75{width:75% !important;}
.w70{width:70% !important;}
.w65{width:65% !important;}
.w60{width:60% !important;}
.w55{width:55% !important;}
.w50{width:50% !important;}
.w45{width:45% !important;}
.w40{width:40% !important;}
.w35{width:35% !important;}
.w30{width:30% !important;}
.w25{width:25% !important;}
.w20{width:20% !important;}
.w15{width:15% !important;}
.w10{width:10% !important;}