:root {
    /* common */
    --MainColor:#4F379D;
    --SubColor:#39F0FF;
    --SubSubColor:#FF6CD1;
    --MainBackColor:#FFFFFF;
    --SubBackColor:#F7F8FC;
    --MainFontColor:#222222;
    --SubFontColor:#6A6A6A;
    --BorderColor:#C7CDD5;
}

/* reset */
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(--BorderColor); 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}

/* base */
body {font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 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:1320px; margin:0 auto; padding:0 15px; box-sizing:border-box;}

.img_pc {display:block;}
.img_m {display:none;}
.table_pc {display:table;}
.table_m {display:none;}

*::selection {
    background-color:var(--MainColor);
    color:var(--MainBackColor);
}

html {
    position:relative;
    min-height:100%;
    margin:0;
}

.wrap {
    width:100%;
    overflow:hidden;
}

header {
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    width:100%;
    height:90px;
    padding:15px 0;
    background-color:transparent;
}

.bg-blur {
    background: rgba( 255, 255, 255, 0.8 );
    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.bg-blur .gnb_pc > ul > li > a {
    color:var(--MainFontColor);
}

header.bg-blur .burger_box .menu-icon_line {
    background-color:var(--MainFontColor);
}

header.bg-blur .gnb_pc > .clear > li > a {
    color:var(--MainFontColor);
}

header.bg-blur .gnb_pc .lang {
    color:var(--MainFontColor);
}

.bg-transparent {
    background-color:transparent;
    box-shadow:0 0 none;
}

header.bg-transparent .gnb_pc > ul > li > a {
    color:var(--MainBackColor);
}

.bg-transparent .burger_box .menu-icon_line {
    background-color:var(--MainBackColor);
}

.bg-transparent .gnb_pc > .clear > li > a {
    color:var(--MainBackColor);
}

.bg-transparent .gnb_pc .lang {
    color:var(--MainBackColor);
}

header .inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    max-width:1320px;
    margin:0 auto;
}

header h1 {
    width:180px;
}

header .gnb_pc {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

header .gnb_pc ul {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

header .gnb_pc li {
    position:relative;
}

header .gnb_pc > ul > li > a {
    display:inline-block;
    width:100%;
    height:100%;
    padding:0 15px;
    line-height:60px;
    color:var(--MainBackColor);
    font-weight:bold;
    -webkit-transition:.5s;
    -moz-transition:.5s;
    -ms-transition:.5s;
    -o-transition:.5s;
    transition:.5s;
}

header .gnb_pc > ul > li.on > a {
    color:var(--MainColor);
}

header .gnb_pc > ul > li:hover > a {
    color:var(--MainColor);
}

header .gnb_pc .lang {
    display:inline-block;
    margin-right:15px;
    color:#ffffff;
    line-height:60px;
    font-weight:bold;
    -webkit-transition:.5s;
    -moz-transition:.5s;
    -ms-transition:.5s;
    -o-transition:.5s;
    transition:.5s;
}

header .gnb_pc .lang i {
    margin:0 10px 0 20px;
}

header .gnb_pc .lang:hover {
    color:var(--MainColor);
}

header .side_menu {
    display:none;
    padding:0 0 80px;
}

header .side_menu .gnb_m .logo {
    padding:20px;
    border-bottom:1px solid var(--BorderColor);
}

header .side_menu .gnb_m .logo img {
    width:60px;
}

header .side_menu .gnb_m .menu li a {
    display:inline-block;
    width:100%;
    height:100%;
    padding:20px;
    border-bottom:1px solid var(--BorderColor);
    color:var(--MainFontColor);
    font-weight:bold;
    font-size:20px;
}

header .side_menu .gnb_m .menu li.on a {
    color:var(--MainColor);
}

header .side_menu .gnb_m .menu li:focus a {
    color:var(--MainColor);
}

header .side_menu .lang {
    display:inline-block;
    margin-bottom:30px;
    font-weight:bold;
    font-size:20px;
}

header .side_menu .lang i {
    margin-right:10px;
}

header .side_menu {
    position:fixed;
    transition:all 300ms ease-in-out;
    right:-100vw;
    top:0;
    width:100vw;
    height:100vh;
    padding:80px 0;
    box-shadow:0px 3px 6px rgb(0 0 0 / 16%);
    background-color:rgba(255,255,255,0.95);
    text-align:center;
}

header .side_menu .container {
    padding:0 1em;
}

header .burger_box {
    display:block;
    position:fixed; 
    top:25px;
    right:25px;
}

header .burger_box a.menu-icon {
    display:inline-block;
    float:none;
    height:25px;
    padding:10px;
    opacity:.5;
    width:25px;
    z-index:100;
}

header .burger_box a.menu-icon, header .burger_box a.menu-icon.opened {
    opacity:1;
}

header .burger_box .menu-icon_box {
    display:inline-block;
    height:25px;
    position:relative;
    text-align:left;
    width:25px;
}

header .burger_box .menu-icon_line {
    background:var(--MainBackColor);
    border-radius:2px;
    display:inline-block;
    height:2px;
    position:absolute;
    width:100%;
    box-shadow:2px 2px 3px rgb(0 0 0 / 0.5);
}

header .burger_box .menu-icon_line--1 {
    top:2px;
}

header .burger_box .menu-icon_line--2 {
    top:10px;
}

header .burger_box .menu-icon_line--3 {
    top:18px;
}

header .burger_box .menu-icon_line--1 {
    transition:top 200ms 250ms, transform 200ms;
    -webkit-transition:top 200ms 250ms, -webkit-transform 200ms;
}

header .burger_box .menu-icon_line--2 {
    transition:opacity 0ms 300ms;
    -webkit-transition:opacity 0ms 300ms;
}

header .burger_box .menu-icon_line--3 {
    transition:top 100ms 300ms, transform 200ms;
    -webkit-transition:top 100ms 300ms, -webkit-transform 200ms;
}

header .burger_box .menu-icon.opened .menu-icon_box {
    transform:scale3d(0.9, 0.9, 0.9);
    -webkit-transform:scale3d(0.9, 0.9, 0.9);
}

header .burger_box .menu-icon.opened .menu-icon_line {
    top:10px;
}

header .burger_box .menu-icon.opened .menu-icon_line--1 {
    transform:rotate3d(0, 0, 1, 45deg);
    -webkit-transform:rotate3d(0, 0, 1, 45deg);
    transition:top 100ms, transform 200ms 250ms;
    -webkit-transition:top 100ms, -webkit-transform 200ms 250ms;
}

header .burger_box .menu-icon.opened .menu-icon_line--2 {
    opacity:0;
    transition:opacity 200ms;
    -webkit-transition:opacity 200ms;
}

header .burger_box .menu-icon.opened .menu-icon_line--3 {
    transform:rotate3d(0, 0, 1, -45deg);
    -webkit-transform:rotate3d(0, 0, 1, -45deg);
    transition:top 200ms, transform 200ms 250ms;
    -webkit-transition:top 200ms, -webkit-transform 200ms 250ms;
}

/* footer */
footer {
    padding:20px 0;
    background-color:var(--MainFontColor);
    color:var(--MainBackColor);
}

footer h6 {
    margin-bottom:10px;
    font-weight:bold;
    font-size:16px;
}

footer ul {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

footer ul li {
    position:relative;
    padding-right:20px;
    font-size:13px;
    word-break:keep-all;
}

footer ul li::after {
    position:absolute;
    right:10px;
    bottom:5px;
    content:'';
    display:inline-block;
    width:1px;
    height:10px;
    background-color:var(--BorderColor);
}

footer ul li:last-child {
    padding-right:0;
}

footer ul li:last-child::after {
    display:none;
}

footer ul li a {
    color:var(--MainBackColor);
    -webkit-transition:.5s;
    -moz-transition:.5s;
    -ms-transition:.5s;
    -o-transition:.5s;
    transition:.5s;
}

footer ul li:hover a {
    color:var(--MainBackColor);
} 


footer .copy {
    margin-top:20px;
    font-size:12px;
    font-weight:300;
    letter-spacing:2px;
}

/* .btn_top */
.btn_top {
    display:none;
    position:fixed;
    right:50px;
    bottom:50px;
    z-index:1000;
    width:50px;
    height:50px;
    background:linear-gradient(45deg, var(--SubColor)0%, var(--MainColor) 55%, var(--SubSubColor) 100%);
    color:var(--MainBackColor);
    font-size:20px;
    text-align:center;
    line-height:50px;
    border-radius:50px;
    box-shadow: 0px 0px 10px rgb(0 0 0 / 15%);
    transition: all .3s ease-out 0s;
}

.btn_top:hover {
    color:var(--MainBackColor);
    transform: translate3d(0, -5px, 0);
}