@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Sans+KR:wght@300;400&family=Playfair+Display:wght@400;700;900&display=swap');

/* reset */
* {margin: 0;padding: 0;}
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, font, 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, tbody, tfoot, thead, tr, th, td{margin:0;padding:0;}
h1, h2, h3, h4, h5, h6 {font-weight: 700; font-size: inherit;}
a {color: inherit; text-decoration: inherit;}
img {vertical-align: middle;}
a img {border: none;}
li {list-style: none;}
address, em, i {font-style: normal;}
a:focus {outline: none}
button:focus {outline: none}

/* layout */
body {font-family: 'Noto Sans KR', sans-serif; font-size: 16px; color: #2e2e2e;}
.ko {font-family: 'Noto Sans KR', sans-serif;}
.en {font-family: 'Playfair Display', serif;}
.wrap {width: 100%; margin: 0 auto; overflow: hidden; position: relative;}
.en_b {font-family: 'DM Serif Display', serif; font-weight: normal;}

/* header ----------------------------------------------------------------------------------------------------------------------------------------- */
header {width: 100%;  position: fixed; z-index: 100;}
header .innerHeader {max-width: 1800px; padding: 30px 20px; margin: 0 auto; overflow: hidden;}
header .innerHeader h1.logo {float: left; width: 100px; }
header .innerHeader h1.logo a {display: block; width: 100%; height: 100%;}
header .innerHeader h1.logo img {width: 100%; }
header .innerHeader h1.logo img img {width: 100%;}
header .innerHeader a.menu {float: right; font-size: 26px; transition: all 0.4s; }
header .innerHeader a.menu:hover,header .innerHeader a.menu:focus {transform: translateX(0px); color: #d4c8be; transition: all 0.3s; }
header .innerHeader a.menu::after {content: ''; width: 0%; height: 1px; background: #d4c8be; position: absolute; bottom: -5px; left: 0; transition: all 0.3s;}
header .innerHeader a.menu:hover::after,header .innerHeader a.menu:focus::after {width: 100%; }


/* menuOpen ----------------------------------------------------------------------------------------------------------------------------------------- */
.menuOpen {background: #947C6B; display: block; width: 700px; position: absolute; top: 0; right: -100%; color: #eee; height: 100vh; font-size: 30px; text-align: center; padding: 30px; box-sizing: border-box; float: right;  z-index: 200; transition: all 0.8s;} 
.menuOpen a.close {display: block; font-size: 35px; color: #eee; float: right; margin-right: 20px; transition: all ease 0.3s;}
.menuOpen a.close:hover,.menuOpen a.close:focus {transform: rotate(181deg); transition: all ease 0.3s; color: #d4c8be }
.menuOpen ul {margin-top: 170px;}
.menuOpen ul li a {display: inline-block; margin-bottom: 130px; transition: all 0.3s;}
.menuOpen ul li a.sub {font-size: 20px; display: block; width: 9%; padding: 0; margin-top: -120px; margin-left: 270px;}
.menuOpen ul li a:hover,.menuOpen ul li a:focus {transform: translateX(0px); color: #d4c8be; transition: all 0.3s;}
.menuOpen ul li a::after {content: ''; width: 0%; height: 1px; background: #d4c8be; position: absolute; bottom: -5px; left: 0; transition: all 0.3s;}
.menuOpen ul li a:hover::after,.menuOpen ul li a:focus::after {width: 100%;}
.menuOpen.on {right: 0; transition: all 0.8s;}


/* visual ----------------------------------------------------------------------------------------------------------------------------------------- */
section.visual {width: 100%; background: #F5F1ED; z-index: -50; position: relative; padding: 180px 0; }
section.visual .inner {width: 1471px; margin: 0 auto; position: relative; }
section.visual .txtBox {transform: rotate(-90deg);  display: block;  z-index: 1; position: absolute; left: -114px; bottom: 189px; }
section.visual .txtBox .en {font-size: 25px; font-weight: normal;}
section.visual .txtBox .en_b {font-size: 110px;  }
section.visual .txtBox .en_b.a {position: absolute; right: -80px; top: 140px; }
section.visual video {width: 932px; height: 622px; display: block; margin: 0 0 0 auto;  }
section.visual .bg:after { content: ''; width: 932px; height: 524px; opacity: 0.4;  background: #B7AAA1;  position: absolute; right: 0; top: 50px;}
section.visual .bg:before {z-index: -1; content: ''; width: 932px; height: 590px;  background: #B7AAA1;  position: absolute; right: 0; top: 20px; transform: rotate(7deg);}

.tit.motion span { transform:  translate3d(0,0,0) skewY(0deg); overflow: hidden;}
.tit.motion span.en b {overflow: hidden; display: block; animation-name: textAni; animation-duration: 0.3s; font-weight: normal;}
.tit.motion span b {overflow: hidden; display: block; animation-name: textAni; animation-duration: 0.6s; font-weight: normal;}
.tit.motion span.a b {overflow: hidden; display: block; animation-name: textAni; animation-duration: 0.8s; font-weight: normal;}
@keyframes textAni {
    0% {opacity: 0;}
    30% {opacity: 0; transform:  translate3d(0, 40px,0) skewY(8deg);  transform-origin: top left;}
}


/* section.story ----------------------------------------------------------------------------------------------------------------------------------------- */
section.story {width: 100%; padding: 105px 0; position: relative;}
section.story .en_b.tit {font-size: 300px; color: #eee; text-align: right; margin-right: 40px;}
section.story p.img {padding: 90px 0 150px;}
section.story .txtBox {width: 1443px; margin-left: 220px; margin-top: 100px; overflow: hidden; text-align: left;}
section.story .txtBox p.ko { display: inline-block;}
section.story .txtBox p.address {float: right; width: 150px; text-align: right;}
section.story .txtBox p.address .ko {font-size: 25px; }
section.story .txtBox p.address .en {font-size: 20px; }
section.story .en_b.tit.motion {animation-name: slide_r; animation-duration: 0.8s;}
@keyframes slide_r {
    0%{transform: translateX(200px); opacity: 0;}
    30%{transform: translateX(200px); opacity: 0;}
}

/* story.svg -------------------------------------------------------------------------------------------------------------- */
.inner {fill: none; stroke: #2e2e2e; width: 90%; position: relative;}
.inner.motion .st0 {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 1.3s linear forwards; }
.inner.motion .st0.l {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 0.6s linear forwards; }
.inner.motion .st0.a {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 0.9s linear forwards; }
.inner.motion .st0.b {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 0.9s linear forwards; }
.inner.motion .st0.d {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 6s linear forwards; }
.inner.motion .st0.e {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 6.5s linear forwards; }
.inner.motion .st0.f {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 7s linear forwards; }
.inner.motion .st0.g {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 7.5s linear forwards; }
.inner.motion .st0.h {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 8s linear forwards; }
.inner.motion .st0.i {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 8.5s linear forwards; }
.inner.motion .st0.j {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 9s linear forwards; }
.inner.motion .st0.k {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 2s linear forwards; }
.inner.motion .st1 {stroke-dasharray: 400; stroke-dashoffset: 400; animation: dash 2s linear forwards; }
.inner.motion .st2 {stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: dash 1s linear forwards; }
.inner.motion .st3 {fill: #2e2e2e; stroke-dasharray: 50; stroke-dashoffset: 50; animation: dots 1s linear forwards; }
@keyframes dash {
  form {stroke-dashoffset: 1400; }
  to {stroke-dashoffset: 0;}
} 
@keyframes dots {
  0% {opacity: 0; }
  100% {opacity: 1;}
} 

/* svg.txt */

section.story ul {text-align: center; position: relative; }
section.story ul li p.num {font-size: 15px; color: #aaa; }
section.story ul li.a {position: absolute; bottom: 415px; left: 125px;}
section.story ul li.b {position: absolute; bottom: 460px; left: 267px;}
section.story ul li.c {position: absolute; bottom: 380px; left: 455px;}
section.story ul li.d {position: absolute; bottom: 450px; left: 670px;}
section.story ul li.e {position: absolute; bottom: 430px; left: 855px;}
section.story ul li.f {position: absolute; bottom: 480px; left: 1000px;}
section.story ul li.g {position: absolute; bottom: 380px; right: 555px;}
section.story ul li.h {position: absolute; bottom: 480px; right: 230px;}

section.story ul.motion li.a {animation-name: slide-right; animation-duration: 0.6s; animation-timing-function: ease-in-out;}
section.story ul.motion li.b {animation-name: slide-right; animation-duration: 0.7s; animation-timing-function: ease-in-out;}
section.story ul.motion li.c {animation-name: slide-right; animation-duration: 0.8s; animation-timing-function: ease-in-out;}
section.story ul.motion li.d {animation-name: slide-right; animation-duration: 0.9s; animation-timing-function: ease-in-out;}
section.story ul.motion li.e {animation-name: slide-right; animation-duration: 1s; animation-timing-function: ease-in-out;}
section.story ul.motion li.f {animation-name: slide-right; animation-duration: 1.1s; animation-timing-function: ease-in-out;}
section.story ul.motion li.g {animation-name: slide-right; animation-duration: 1.2s; animation-timing-function: ease-in-out;}
section.story ul.motion li.h {animation-name: slide-right; animation-duration: 1.3s; animation-timing-function: ease-in-out;}
@keyframes slide-right {
  0% {opacity: 0; transform: translateX(0px);}
  10% {opacity: 0; transform: translateX(-10px);}
  20% {opacity: 0; transform: translateX(-20px);}
  30% {opacity: 0; transform: translateX(-30px);}
  40% {opacity: 0; transform: translateX(-40px);}
  50% {opacity: 0; transform: translateX(-50px);}
  60% {opacity: 0; transform: translateX(-60px);}
}
/* ing */
section.story ul .txt {font-size: 30px; font-weight: bold; position: absolute; top: 20px; right: 575px;  }
section.story ul .txt span {display: inline-block; }
section.story ul .txt.motion span:nth-child(1) {animation-name: txt; animation-duration: 1s; color: #806D60;}
section.story ul .txt.motion span:nth-child(2) {animation-name: txt; animation-duration: 1.3s;  color: #806D60;}
section.story ul .txt.motion span:nth-child(3) {animation-name: txt; animation-duration: 1.5s; color: #806D60;}
section.story ul .txt.motion span:nth-child(4) {animation-name: txt; animation-duration: 1.8s;  color: #806D60;}
@keyframes txt {
  0%,100% {transform: translate(0);}
  25% {transform: rotateX(20deg) translateY(2px) rotate(-3deg);}
  50% {transform: translateY(-20px) rotate(3deg) scale(1.2);}
}
section.story .txtBox.motion {animation-name: slide-up; animation-duration: 0.6s; }
@keyframes slide-up {
  0%{transform: translateY(100px); opacity: 0;}
  30%{transform: translateY(100px); opacity: 0;}
}


/* section.skills ----------------------------------------------------------------------------------------------------------------------------------------- */
section.skills {width: 100%; margin-top: 200px; overflow: hidden;}
section.skills .title {text-align: center; width: 545px; margin: 0 auto; }
section.skills .title .en {text-align: left; font-size: 20;}
section.skills .title .en_b {font-size: 90px;}
section.skills .en_b.tit {font-size: 300px; color: #eee; text-align: left; margin-left: 40px;}
section.skills .txtBox {width: 1403px;  margin: 0 auto; text-align: right;}
section.skills .txtBox .en.tit {font-size: 20px; font-weight: bold; margin-bottom: 20px; }
section.skills .txtBox .en.tit .ko.txt {font-size: 17px; font-weight: normal; margin-top: 10px; }

section.skills .title.motion .char {display: inline-block; animation: slide-up2  0.3s cubic-bezier(.5, 0, .5, 1) both; animation-delay: calc(30ms * var(--char-index));}
@keyframes slide-up2 {
    0%{transform: translateY(30px); opacity: 0;}
    30%{transform: translateY(30px); opacity: 0;}
}

section.skills .en_b.tit.motion {animation-name: slide_l; animation-duration: 0.7s;}
@keyframes slide_l {
    0%{transform: translateX(-200px); opacity: 0;}
    30%{transform: translateX(-200px); opacity: 0;}
}
section.skills .txtBox.motion .en.tit {animation-name: slide_r; animation-duration: 0.5s;}
section.skills .txtBox.motion .en.tit .ko.txt {animation-name: slide_r; animation-duration: 0.8s;}


/* chart */
.pie-chart {position: relative; display:inline-block; width: 200px; height: 200px; border-radius: 50%; transition: 0.3s;}
span.center{background: #fff; display : block; position: absolute; top:50%; left:50%; width:150px; height:150px; line-height: 150px; border-radius: 50%; text-align:center;  font-size:30px; transform: translate(-50%, -50%); }
section.skills .inner {width: 1403px;  margin: 90px auto; overflow: hidden; position: relative;}
section.skills ul {width: 970px; float: right; display: inline-block; margin: 50px 0 100px;}
section.skills ul li {float: left; margin-right: 5.8%; }
section.skills ul li:last-child {margin-right: 0%;}
section.skills ul li p.en {text-align: center; margin-top: 0px; width: 60%; font-size: 20px; position: absolute; top: -24%; left: 50%; transform: translateX(-50%);  }
section.skills .inner ul li.motion {animation-name: slide_r; animation-duration: 0.7s;}

section.skills .mockp {width: 100%; height: 500px; background: url(../img/about-mockup.png) no-repeat center/cover; background-attachment: fixed; margin-bottom: 200px;}


/* section.ncs ----------------------------------------------------------------------------------------------------------------------------------------- */
section.ncs {width: 100%; height: 900px;  margin-top: 100px; position: relative;}
section.ncs .inner {width: 900px; background: #B09582; padding: 120px 0; overflow: hidden; position: relative;}
section.ncs .inner .txtBox { margin-left: 100px; text-align: left; float: left; color: #fff;}
section.ncs .inner .txtBox .en_b {font-size: 100px; line-height: 1.1;}
section.ncs .inner .txtBox .ko.l{font-size: 17px; }
section.ncs .inner .txtBox .ko.s {margin-top: 22px; font-size: 15px;}
section.ncs .inner .btn {font-size: 25px;  position: absolute; right: 300px; bottom: 50px;}
section.ncs .inner .btn a.left {margin-right: 20px;}
section.ncs.motion .inner {animation-name: slide_l; animation-duration: 0.5s;}
section.ncs.motion .inner .txtBox .en_b {animation-name: slide_l; animation-duration: 0.8s;}
section.ncs.motion .inner .txtBox .ko {animation-name: slide_l; animation-duration: 1s;}
section.ncs.motion button {animation-name: slide_l; animation-duration: 1.5s;}

section.ncs .slideBox { margin: 0 auto; height: 0px; position: relative; }
section.ncs .slideBox .slide {width: 1070px; float: right; position: absolute; bottom: -130px; right: 100px;  height: 500px;}
section.ncs .slideBox .slide li {margin-right: 30px; margin: 20px;}
section.ncs .slideBox .slide li:last-child {margin-right: 0px;}
section.ncs .slideBox .slide li p.img {filter: drop-shadow(5px 7px 5px rgba(0, 0, 0, 0.2)); position: relative; overflow: hidden;}
section.ncs .slideBox .slide li p.img img {width: 100%; transition: all 0.3s;}

button {text-indent: -9999px; position: absolute;  width: 29px; height: 30px; cursor: pointer; }
button.slick-prev {position: absolute; top: 50%; left: -14%; background-color: rgba( 255, 255, 255, 0.0 ); border: none; }
button.slick-next {position: absolute; top: 50%; left: -9%;  background-color: rgba( 255, 255, 255, 0.0 ); border: none; }
button.slick-prev::after {content: '<'; font-family: 'Playfair Display', serif; position: absolute; left: 5px; top: 3px; width: 0%; height: 30px;line-height: 30px;  color: #FFF; font-size: 40px; text-indent: 0; transition: all 0.2s;}
button.slick-next::before {content: '>'; font-family: 'Playfair Display', serif; position: absolute; left: 3px; top: -10px; width: 0%; height: 0%; color: #FFF; font-size: 40px; text-indent: 0; transition: all 0.2s;}
button.slick-prev:hover:after {color: #ddd; transition: all 0.2s;}
button.slick-next:hover:before {color: #ddd; transition: all 0.2s;}

section.ncs .slideBox .slide li a:hover img {transform: scale(1.1);}
section.ncs .slideBox .slide li .img span::before {content: ''; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); position: absolute; left: 0; top: 0; opacity: 0; transition: all 0.3s; z-index: 1;}
section.ncs .slideBox .slide li .img span:hover:before {opacity: 1;}
section.ncs .slideBox .slide li .img span::after {content: 'MORE'; color: #555; font-size: 30px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); transition: all 0.3s; transition-delay: 0.15s; z-index: 2; opacity: 0;}
section.ncs .slideBox .slide li .img span:hover:after {transform: translate(-50%, -50%); opacity: 1;}
section.ncs .slideBox.motion .slide li {animation-name: slide_l; animation-duration: 0.7s;}



/* footer ------------------------------------------------------------------------------------ */
/* contact */
footer {width: 100%; overflow: hidden; }
footer .contact {width: 50%; float: left; background: #B09582; overflow: hidden; position: relative; height: 962px;}
footer .contact .left {width: 478px; margin: 0 auto; }
footer .contact .left p.en {color: #eee; font-size: 20px; letter-spacing: 1px; text-align: center; margin-top: 150px; z-index: 1;}
footer .contact .left .mail {margin-top: 150px;}
footer .contact .left .mail p.img {display: block; margin: 0 20%; transform: rotate(8deg); transition: all 0.2s; z-index: -1;} 
footer .contact .left .mail p.en.mail {font-size: 50px; font-weight: normal; position: absolute; bottom: 43%;}

footer .contact .left .mail p.en.mail::after {content: ''; width: 0%; height: 1px; background: #eee; position: absolute; bottom:-5px; left: 0px; transition: all 0.2s;}

footer .contact .left .mail p.en.mail:hover::after {width: 100%; transition: all 0.2s; }
footer .contact .left .mail a:hover + p.img{transform: rotate(0deg); transition: all 0.2s;}
footer .contact .left .mail p.img.motion {animation-name: pop-up; animation-duration: 0.8s;}
@keyframes pop-up {
  0%{transform: scale(0.5); opacity: 0;}
  30%{transform: scale(1.2); opacity: 1;}
}

/* info ------------------------------------------------------------------------------------ */
footer .info  {width: 50%; float: right; background: #EDE7E3; height: 962px; }
footer .info .right {width: 100%; }
footer .info .right .txtBox {width: 689px; margin: 0 auto; border-bottom: 1px solid #2e2e2e; padding-bottom: 50px;}

footer .info .right h1.logo {width: 100px; margin-top: 176px; margin-bottom: 100px;}
footer .info .right h1.logo a {display: block; width: 100%; height: 100%;}
footer .info .right h1.logo img {width: 100%;}
footer .info .right h1.logo img img {width: 100%;}

footer .info .right p.ko {font-size: 25px; margin-bottom: 35px;}
footer .info .right p.ko span.en {font-size: 18px;}
footer .info .right p.tel {margin-bottom: 40px; font-size: 18px;}

footer .info .right .txtBox .btn.en {font-size: 30px; text-align: right;}
footer .info .right .txtBox .btn.en a {display: inline-block; transition: all 0.3s; }
footer .info .right .txtBox .btn.en span {margin-left: 5px; font-size: 26px; transition: all 0.3s; display: inline-block; transform: rotate(45deg);}
footer .info .right .txtBox .btn.en a:hover span,footer .info .right .txtBox .btn.en a:focus span {transform: rotate(226deg); display: inline-block; transition: all ease 0.3s; color: #777 }
footer .info .right .txtBox .btn.en a:hover,footer .info .right .txtBox .btn.en a:focus {transform: translateX(0px); color: #777; transition: all 0.3s;}
footer .info .right .txtBox .btn.en a::after {content: ''; width: 0%; height: 1px; background: #777; position: absolute; bottom:0px; left: 0px; transition: all 0.3s;}
footer .info .right .txtBox .btn.en a:hover::after,footer .info .right .txtBox .btn.en a:focus::after {width: 100%; transition: all 0.3s;}

footer .info .right p.copy {font-size: 18px; margin-top: 200px; text-align: center;}
footer .info .right p.txt {font-size: 14px; text-align: center; color: #555; margin-top: 10px;}

/* gotop btn */
footer .goTop {position: absolute; color: #eee; bottom: -45px; right: -80px; width: 180px; height: 100px; background: #806D60; font-size: 18px; transform: rotate(-45deg); padding-top: 13px; display: block; text-align: center; transition: all 0.3s; }
footer .goTop:hover {transition: all 0.3s; color: #d4c8be;}


/* 반응형 */

@media screen and (max-width:1870px) {
  section.story ul li.a {position: absolute; bottom: 400px; left: 120px;}
  section.story ul li.b {position: absolute; bottom: 453px; left: 255px;}
  section.story ul li.c {position: absolute; bottom: 361px; left: 447px;}
  section.story ul li.d {position: absolute; bottom: 438px; left: 659px;}
  section.story ul li.e {position: absolute; bottom: 414px; left: 839px;}
  section.story ul li.f {position: absolute; bottom: 474px; left: 980px;}
  section.story ul li.g {position: absolute; bottom: 374px; right: 540px;}
  section.story ul li.h {position: absolute; bottom: 469px; right: 216px;}
}



@media screen and (max-width:1640px) {
  section.story ul li.a {position: absolute; bottom: 394px; left: 102px;}
  section.story ul li.b {position: absolute; bottom: 436px; left: 212px;}
  section.story ul li.c {position: absolute; bottom: 350px; left: 384px;}
  section.story ul li.d {position: absolute; bottom: 422px; left: 575px;}
  section.story ul li.a {position: absolute; bottom: 394px; left: 102px;}
  section.story ul li.a {position: absolute; bottom: 394px; left: 102px;}
}