*{outline: 0}


@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800;900&display=swap');

.eng{ font-family: 'Montserrat', sans-serif; }

*{ margin: 0; padding: 0; }
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, button,
time, mark, audio, video, a, textarea, input{;margin:0;  padding:0;  border:0; font-size:100%; vertical-align:baseline; background:transparent; -webkit-text-size-adjust:none; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; font-family: 'Pretendard', sans-serif; font-style: normal; }
html{ -ms-touch-action:auto;}
html,body, section{width:100%;}

img{}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav, section{}
legend, caption{width:0;height:0;visibility:hidden;font-size:0;line-height:0;}
button{cursor:pointer; border:none; padding:0; }
button::-moz-focus-inner, input::-moz-focus-inner {border:0; padding:0;}
li,dd{list-style:none;}
blockquote, q {quotes:none;}
address, caption, em, cite, i, a {font-weight:normal; font-style:normal; text-decoration: none;color: #333}
table {border-collapse:collapse; border-spacing:0; table-layout:fixed;}
iframe{width:100%;vertical-align:middle;}
caption{display:none;}
figcaption{display:block;}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {-webkit-appearance:none;  margin:0; }

strong {font-weight: bold }

input[type="text"], input[type="number"],input[type="email"], input[type="search"],
input[type="password"], input[type="date"], input[type="tel"], select{display:table-cell; vertical-align:middle; padding:  0 0 0 7px; height: 40px; line-height: 1; box-sizing: border-box; background:#fff; border:1px solid #cccccc;
  border-radius:0; color:#999; font-size:12px;font-family: 'Pretendard', sans-serif;}

input[type="search"] {border-radius:0; -webkit-border-radius:0; -webkit-appearance:textfield;}
input[type="search"]::-webkit-search-results-decoration {-webkit-appearance:none;}

input[type='checkbox'],input[type='radio'] {vertical-align:middle; margin-top:0;  cursor : pointer;}

input.disabled {background:#fff;}

input[type=date]::-webkit-clear-button,
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-calendar-picker-indicator {
    display: none;
}


select::-ms-expand{display:none; }
select{ cursor: pointer; outline :none; overflow :hidden; color:#999; width:100%;;  }
textarea{width:100%;height:100px; resize:none; border:1px solid #cccccc;   padding:10px; color:#999;}


.blind{position:absolute; top:-999999px; width:0; height:0; font-size:0; overflow:hidden;}
.clear:after{content:""; display: table; clear: both;}
.clearfix{overflow:hidden;}
.clearfix:after{clear:both; display:table; content:'';}
.center{text-align:center; display:block; float:none !important;}
.accessibility{display: none}
.hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: none;
    clip: rect(0,0,0,0);
    overflow: hidden;
}


.inner{ width: 1620px; margin: 0 auto; }


/* 헤더 공통 */
#header{ position: fixed; width: 100%; left: 0; top: 0; z-index: 10; height: 100px; transition: background .3s; }
#header.on{ background-color: #fff; }
/* #header.ac{ background-color: #fff; } */
#header .wrap{ max-width: 1920px; margin: 0 auto; position: relative; height: 100%; z-index: 101; }
#header h1{ position: absolute; left: 50px; top: 50%; transform: translate(0,-50%);}
#header h1 a{ display: block ;width: 100%; height: 100%; position: relative; }
#header h1 a svg{ mix-blend-mode: overlay; }
#header h1 a svg *{ transition: color 1s; }
#header.on h1 a svg *{ fill: #000; }
#header.all h1 a svg *{ fill: #000 !important; }
#header.ac1 h1 a svg *{ fill: #fff; }

#header .lang { position: absolute; right: 110px; top: 50%; transform: translate(0,-50%);}
#header .lang button{ width: 40px; height: 40px; background-color: #000; color: #fff; font-size: 16px; font-weight: 500; }
#header .lang svg{ display: inline-block; margin-left: 12px; transform: translateY(-3px);}

#header.on .lang button{ color: #fff; }
#header.on .lang svg path{ stroke:#000; }
#header.ac .lang svg path{ stroke:#000; }

#header.ac1 .lang button{ color: #000; background-color: #fff; }
#header.all .lang button{ color: #fff !important; background-color: #000 !important; }


#header .all_menu_b{ position: absolute; right: 50px; top: 50%; transform: translate(0,-50%); cursor: pointer; }


#header .all_menu{ position: fixed; width: 100%; height: 100%; left: 0; top: 0; z-index: 100; display: none; }

.bg{ position: fixed; left: 50%; top: 50%; width: 2430px; height: 100%; transform: translate(-50%,-50%); z-index: 1; transition: z-index 0;  transition-delay: 1s; display: flex; }

.bg.on{ z-index: 9;  transition: z-index 1s;}

.bg > div{  width: 100%; height: 100%; background-color: #fff; transition: clip-path 1s;
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%); box-sizing: border-box;  position: relative; margin-left: -1px; position: relative;
}

.bg > div:before{ content:""; display: block; width: 1px; height: 100%; position: absolute; background-color: #EEEEEE; right: 1px; top: 0;}

.bg.on > div{
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.bg > div:after{ content:""; display: block; width: 1px; height: 234px; position: absolute; right: 1px; top: 0; background: url('/img/common/line_ac.png') center center no-repeat; transform: translateY(-100%); }

.bg.on > div:after{ animation: bg_on 5s ease-in-out infinite; }

.bg.on > div:nth-child(1):after{ animation-delay: 0s; }
.bg.on > div:nth-child(2):after{ animation-delay: .6s; }
.bg.on > div:nth-child(3):after{ animation-delay: 1.2s; }
.bg.on > div:nth-child(4):after{ animation-delay: 1.8s; }
.bg.on > div:nth-child(5):after{ animation-delay: 2.4s; }


@keyframes bg_on {
  0%{
    transform: translateY(-100%);
  }
  100%{
    transform: translateY(400%);
  }
}


#header.ac1 .all_menu_b #menus *{ fill: #fff;  }

#header .all_menu_b.cl .menu-b{ opacity: 0; }
#header .all_menu_b.cl .close span{ opacity: 1; }

#header .all_menu_b .close{ transition: transform .4s; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#header .all_menu_b .close span{ display: block; position: absolute; left: 0; top: 0; opacity: 0; width: 100%; height: 100%; transition: transform .3s;  }
#header .all_menu_b .close span:nth-child(1){ background: url('/img/main/close_01.png') center center no-repeat;}
#header .all_menu_b .close span:nth-child(2){ background: url('/img/main/close_02.png') center center no-repeat;}
#header .all_menu_b.cl .close span:nth-child(1){ transform: rotate(90deg);}
#header .all_menu_b.cl .close{ transform: rotate(45deg); }

#header .all_menu_b svg #menus #사각형_111{ transition: .4s; }
#header .all_menu_b svg #menus #사각형_112{ transition: .4s; }

#header .all_menu_b:hover svg #menus #사각형_111{ transform: translate(1830px,70px); }
#header .all_menu_b:hover svg #menus #사각형_112{ transform: translate(1830px,70px); }
#header .all_menu_b:hover svg #menus #패스_2161{ opacity: 0; }


#header .all_menu .inner{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}
#header .all_menu .inner .menu{ display: flex; align-items: center; justify-content: center; transform: translateX(-1px);}
#header .all_menu .inner .menu > div{ display: flex; width: 405px; height: 405px; justify-content: center; align-items: center; flex-direction: column; cursor: pointer;
  transition: background .5s, box-shadow .5s, transform .5s; position: relative;
}
#header .all_menu .inner .menu > div:before{ content:""; display: block; width: 0; height: 3px; background-color: #fff; position: absolute; left: 50%; top: 25px; transform: translate(-50%,0); transition: width 1s; }
#header .all_menu .inner .menu > div:after{ content:""; display: block; width: 0; height: 3px; background-color: #fff; position: absolute; left: 50%; bottom: 25px; transform: translate(-50%,0); transition: width 1s; }
#header .all_menu .inner .menu > div:hover:before, #header .all_menu .inner .menu > div:hover:after{ width: 360px; }
#header .all_menu .inner .menu > div:hover{ background-color: #970A2C; box-shadow: 30px 30px 60px rgba(203,113,135,0.3); transform: translateY(-40px); }
#header .all_menu .inner .menu > div strong{ display: block; font-size: 50px; font-weight: 600; color:#040404; transition: color .5s; }
#header .all_menu .inner .menu > div:hover strong{ color: #fff; }
#header .all_menu .inner .menu > div ul { margin-top: 20px; display: none; }
#header .all_menu .inner .menu > div:hover ul{ display: block; }
#header .all_menu .inner .menu > div ul li{ margin-bottom: 20px; text-align: center; }
#header .all_menu .inner .menu > div ul li:last-child{ margin-bottom: 0; }
#header .all_menu .inner .menu > div ul li a{ font-size: 22px; color:rgba(255,255,255,0.3); font-weight: 600; position: relative; transition: color .3s; }
#header .all_menu .inner .menu > div ul li a i{ position: absolute; right: -12px; top: -3px; width: 9px; height: 9px; display: block; border: 1px solid rgba(255,255,255,0.3); opacity: 0; transition: opacity .3s; }
#header .all_menu .inner .menu > div ul li a:hover i{ opacity: 1; }
#header .all_menu .inner .menu > div ul li a:hover{ color: #fff; }

#footer.sub_f{ padding: 56px 50px; background-color: #fff; }


#footer.main_f{ position: fixed; width: 100%; padding: 0 50px; bottom: 65px; }
#footer p{ font-size: 14px; line-height: 28px; font-weight: 100; color: #999999; opacity:  .7; margin-bottom: 10px;
}
#footer p span{ display: inline-block; width: 1px; height: 11px; background-color: #999; opacity: .7; margin: 0 10px; transform: translateY(1px);}
#footer .copy{ font-size: 14px; font-weight: 300; color: #999999; }
#footer .copy a{ color: inherit; transition: .4s; text-decoration: underline; }
#footer .copy a:hover{ color: #aaa; }
#footer .award{ margin-top: 15px; opacity: .7; }


@media (max-width: 1640px){
  #header h1{ left: 20px; }
  #header .lang{ right: 80px; }
  #header .all_menu_b{ right: 20px; }
  .bg > div{ width: 15%; }
  #header .all_menu .inner .menu > div{ width: 25%; }
}

@media (max-width: 1216px){
  #header .all_menu .inner .menu > div strong{ font-size: 30px; }
  #header .all_menu .inner .menu > div ul li{ margin-bottom: 10px; }
  #header .all_menu .inner .menu > div ul li a{ font-size: 16px; }
  #header .all_menu .inner .menu > div ul{ margin-top: 20px; }
  #header .all_menu .inner .menu > div:hover:before{ width: 80%; }
  #header .all_menu .inner .menu > div:hover:after{ width: 80%; }
}

@media (max-width: 850px){
  #header .all_menu .inner .menu{ flex-wrap: wrap; }
  #header .all_menu .inner .menu > div{ width: 50%; height: 250px; }
  .bg{ width: 180%; }
}

@media (max-width: 640px){
  #header .all_menu .inner .menu > div strong{ font-size: 18px; }
  #header .all_menu .inner .menu > div ul li a{ font-size: 14px; }
  #header .all_menu .inner .menu > div ul li a i{ width: 6px; height: 6px; }
  #header{ height: 60px; }
  #header h1 svg{ width: 120px; }
  #header .lang button{ width: 30px; height: 30px; font-size: 14px; }
  #header .all_menu_b svg{ width: 30px; height: auto; }
  #header .lang{ right: 60px; }
  #footer.main_f{ padding: 0 20px; bottom: 20px; }
  #footer.main_f .copy{ font-size: 12px; }
  #footer.sub_f{ padding: 30px 20px; }
  #footer.sub_f .copy{ font-size: 12px; }
  .bg > div:after{ display: none !important; }
  #footer p{ font-size: 11px; line-height: 20px; }
  #footer p span{ width: 1px; margin: 0 5px; }
  #footer .award img{ width: 120px; }
}
