@charset "utf-8";


/* Default */
* {margin: 0; padding: 0;}
html, body, div, input, label, select, textarea, button, h1, h2, h3, h4, h5, h6, strong, p, a, ul, li, dl, dt, dd, a {font-family: 'NotoSansKR', sans-serif; letter-spacing: -0.15px;}
header, footer, section, article, aside, nav, hgroup, details, menu, figure, figcaption {display: block;}
a {text-decoration: none;}
img {max-width: 100% !important; border: 0; vertical-align: top;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ""; content: none;}
table {width: 100%; max-width: 100% !important; border-spacing: 0; table-layout: fixed; word-break: break-all;}
textarea {resize: none; outline: 0;}
button {text-decoration: none; background: transparent; border: none; outline: 0; white-space: nowrap; cursor: pointer;}

.hidden {display: none !important;}
.blind {position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; margin: -1px; overflow: hidden;}


/* html, body */
html.smooth {scroll-behavior: smooth;}

  @media (max-width: 1200px) {
    body.fixed {overflow: hidden;}
  }


/* header */
.header {position: absolute; top: 0; left: 0; padding-top: 60px; width: 100%; z-index: 100;}
.header .logo {}
.header .logo a {display: block; margin: 0 auto; width: 172px; height: 35px; background: url(../images/logo.png) center center no-repeat; background-size: 100% auto !important; transition: all 0.4s;}

.header .btn-menu {display: none;}

  @media (max-width: 1200px) {
    .header {position: fixed; padding: 0; background-color: #101010; border-bottom: 1px solid #2d2d2d;}
    .header .logo a {width: 218px; height: 110px;}

    .header .btn-menu,
    .header .btn-menu i {display: inline-block; transition: all 0.4s; box-sizing: border-box;}
    .header .btn-menu {position: absolute; top: 0; right: 0; padding: 40px 39px; width: 110px; height: 110px; z-index: 1;}

    .header .i-menu {position: relative; width: 32px; height: 30px;}
    .header .i-menu i {position: absolute; left: 0; width: 32px; height: 3px; background-color: #fff; border-radius: 5px;}
    .header .i-menu i:nth-of-type(1) {top: 0;}
    .header .i-menu i:nth-of-type(2) {top: 13px; left: 8px; width: 24px;}
    .header .i-menu i:nth-of-type(3) {bottom: 0;}

    .header .btn-menu.active .i-menu i:nth-of-type(1) {transform: translateY(14px) rotate(-45deg);}
    .header .btn-menu.active .i-menu i:nth-of-type(2) {left: 100%; opacity: 0;}
    .header .btn-menu.active .i-menu i:nth-of-type(3) {transform: translateY(-13px) rotate(45deg);}
  }
  @media (max-width: 767px) {
    .header .logo a {width: 146px; height: 60px;}

    .header .btn-menu {padding: 20px 17px; width: 60px; height: 60px;}

    .header .i-menu {width: 24px; height: 20px;}
    .header .i-menu i {width: 24px; height: 2px;}
    .header .i-menu i:nth-of-type(1) {top: 0;}
    .header .i-menu i:nth-of-type(2) {top: 9px; left: 6px; width: 18px;}
    .header .i-menu i:nth-of-type(3) {bottom: 0;}

    .header .btn-menu.active .i-menu i:nth-of-type(1) {transform: translateY(9px) rotate(-45deg);}
    .header .btn-menu.active .i-menu i:nth-of-type(2) {left: 100%; opacity: 0;}
    .header .btn-menu.active .i-menu i:nth-of-type(3) {transform: translateY(-9px) rotate(45deg);}
  }


/* nav */
.nav {position: fixed; top: 50%; /* right: 156px; */ right: 8.125%; transform: translateY(-50%); margin-top: -60px; box-sizing: border-box; z-index: 95; transition: all 0.4s;}
.nav ul {list-style: none; transition: all 0.4s;}
.nav li {margin-top: 20px;}
.nav li:first-child {margin-top: 0 !important;}
.nav li a {display: block; position: relative; padding-right: 23px; font-family: 'SBAggro'; line-height: 1.2; font-size: 14px; color: #959595; font-weight: 500;}
.nav li a:after {display: block; content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); margin-top: -3px; width: 12px; height: 12px; border: 1px solid #959595; border-radius: 50%; box-sizing: border-box;}
.nav li.active a {color: #fff;}
.nav li.active a:after {background-color: #fff; border-color: #fff;}

.nav-black .nav li.active a {color: #464646;}
.nav-black .nav li.active a:after {background-color: #464646; border-color: #464646;}

.nav .btn-company {display: none;}

  @media (max-width: 1200px) {
    .nav {display: none; position: fixed; top: 0; right: 0; transform: translateY(0); margin-top: 0; padding: 111px 40px 40px; width: 100%; height: 100%; background-color: #101010; overflow-y: auto;}
    .nav.active {display: block;}
    .nav ul {padding-top: 15.8%;}
    .nav li {margin-top: 60px;}
    .nav li a {display: flex; font-size: 60px; color: #fff;}
    .nav li.active a {color: #fff !important;}
    .nav li a:after {position: static; margin: 5px 0 0 10px; width: 20px; height: 20px; background: rgb(162,0,193); background: linear-gradient(-145deg, rgba(162,0,193,1) 20%, rgba(79,0,217,1) 100%); border: 0;}

    .nav .btn-company {display: flex; gap: 20px; align-items: center; outline: none; margin-top: 20%; padding: 31px 40px; line-height: 34px; font-size: 34px; color: #fff; border: 2px solid #fff; box-sizing: border-box;}
    .nav .btn-company:before {display: block; content: ''; width: 28px; height: 34px; background: url(../images/i-company.png) center center no-repeat; background-size: auto 100%;}
  }
  @media (max-width: 767px) {
    .nav {padding: 61px 20px 20px;}
    .nav li {margin-top: 40px;}
    .nav li a {font-size: 30px;}
    .nav li a:after {margin-left: 5px; width: 12px; height: 12px;}

    .nav .btn-company {margin-top: 100px; gap: 5px; padding: 15px 20px; line-height: 24px; font-size: 17px; border-width: 1px;}
    .nav .btn-company:before {height: 24px; background-size: auto 20px;}
  }


/* footer */
.footer {background-color: #101010;}
.footer .inner {display: flex; justify-content: space-between; align-items: center; align-content: center; margin: 0 auto; width: 1600px; max-width: 100%; height: 100px; box-sizing: border-box;}
.footer .logo {margin-top: -6px;}
.footer .logo a {display: block; width: 164px; height: 33px; background: url(../images/logo.png) center center no-repeat; background-size: 100% auto !important;}
.footer .copyright {margin-top: 8px; font-family: 'SBAggro'; font-size: 14px; font-weight: 300; color: #737373;}

.footer .quick {display: none; position: fixed; bottom: 100px; /* right: 105px; */ right: 5.46875%; z-index: 90;}
.footer .quick button {display: block; outline: none; margin-top: 20px; width: 101px; height: 101px; font-size: 14px; border: 0; border-radius: 50%; box-sizing: border-box; cursor: pointer;}
.footer .quick button:first-child {margin-top: 0 !important;}

.footer .quick .btn-company {color: #fff; font-weight: bold; background: rgb(161,2,193); background: linear-gradient(320deg, rgba(161,2,193,1) 0%, rgba(79,0,217,1) 100%); box-shadow: 12px 16px 18px 2px rgba(0, 0, 0, 0.1);;}
.footer .quick .btn-company:before {display: block; content: ''; margin: 0 auto 6px; width: 24px; height: 30px; background: url(../images/i-company.png) center center no-repeat;}
.footer .quick .btn-top {font-family: 'SBAggro'; font-size: 18px; font-weight: 500; background-color: #fff; border: 1px solid #ddd; box-shadow: 12px 16px 16px 4px rgba(0, 0, 0, 0.1);}
.footer .quick .btn-top:before {display: block; content: ''; margin: 0 auto 10px; width: 25px; height: 26px; background: url(../images/i-top.png) center center no-repeat;}

  @media (max-width: 1700px) {
    .footer .inner {padding-left: 40px; padding-right: 40px; width: 100%;}
  }
  @media (max-width: 1200px) {
    .footer .inner {height: 150px;}
    .footer .copyright {font-size: 20px;}

    .footer .quick {right: 40px;}
  }
  @media (max-width: 767px) {
    .footer .inner {flex-wrap: wrap; justify-content: center; padding-left: 20px; padding-right: 20px;}
    .footer .logo a {width: 146px; height: 60px;}
    .footer .copyright {font-size: 14px;}

    .footer .quick {bottom: 40px; right: 20px;}
    .footer .quick button {width: 80px; height: 80px; font-size: 12px;}
    .footer .quick .btn-company:before {height: 20px; background-size: auto 100%;}
    .footer .quick .btn-top {margin-top: 10px; font-size: 14px;}
    .footer .quick .btn-top:before {height: 18px; background-size: auto 100%;}
  }


/* main */
/* gradient */
.gradient {display: inline-block; margin: 5px 5px 0; width: 65px; height: 65px; border-radius: 50%; vertical-align: text-top;}
br + .gradient {margin-left: 0;}
.green-orange {background: rgb(5,167,64); background: linear-gradient(-145deg, rgba(5,167,64,1) 0%, rgba(249,109,37,1) 80%);}
.magenta-violet {background: rgb(162,0,193); background: linear-gradient(-145deg, rgba(162,0,193,1) 0%, rgba(79,0,217,1) 100%);}

  @media (max-width: 1200px) {
    .gradient {width: 51px; height: 51px;}
  }
  @media (max-width: 767px) {
    .gradient {margin-top: 2px; width: 25px; height: 25px;}
  }


/* container */
.container {}
.container .title {}
.container h2.title {line-height: 1.3; font-family: 'SBAggro'; font-size: 70px; font-weight: 700; color: #fff; text-align: center;}
.container h2.title span {font-weight: 300;}

.container h3.title {line-height: 1.2; font-family: 'SBAggro'; font-size: 45px; font-weight: 700; color: #333; letter-spacing: -0.05em;}

.container p {margin-top: 10px; font-size: 20px; font-weight: 500; color: #707070;}

.container br.tab,
.container br.mobile {display: none;}

  @media (min-width: 1201px) {
    .container br.pc {display: block;}
  }
  @media (max-width: 1200px) {
    .container h2.title {font-size: 60px;}
    .container h3.title {font-size: 50px;}

    .container p {font-size: 24px;}
    .container br.pc {display: none;}
  }
  @media (max-width: 1200px) and (min-width: 768px) {
    .container br.tab {display: block;}
  }
  @media (max-width: 767px) {
    .container h2.title {font-size: 30px;}
    .container h3.title {font-size: 25px;}
    .container p {font-size: 14px;}

    .container br.mobile {display: block;}
  }


/* about */
.about {}
.about .title-box {margin: 0 auto; width: 1600px; max-width: 100%; box-sizing: border-box;}
/*.about .bg-box {position: relative;}*/
.about .bg-box .bg {height: 1200px; background-position: 50% 0; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; }
.about .bg-box .text-box {position: absolute; left: 50%; transform: translateX(-50%); width: 1600px; max-width: 100%; text-align: center; z-index: 1; box-sizing: border-box;}



.about-1 {position: relative; background-color: #101010; overflow: hidden }
.about-1 .title-box {display: flex; align-items: center; justify-content: center; position: relative; /* padding: 480px 0 460px; */ height: 100vh; z-index: 90;}
.about-1 .bg-box .bg {position: absolute; top: 0; left: 0; width: 100%; height: 100vh;}
.about-1 .text-box {bottom: 150px;}
.about-1 .text-box .since {display: block;}
.about-1 .text-box .since img.mobile {display: none;}

.about-2 {position: relative; background-color: #fff;}
.about-2 .title-box {padding: 200px 0 335px;}
.about-2 .bg-box {position: relative;}
.about-2 h2.title {color: #333; text-align: left;}
.about-2 .bg-box .bg:after {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 0 0 / 50%);}

.about-2 .text-box {top: 335px;}
.about-2 .text-box .title {line-height: 1.5; font-size: 40px; color: #fff; font-weight: 500; letter-spacing: -0.01em;}
.about-2 .text-box ul {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-top: 80px; list-style: none;}
.about-2 .text-box ul li {display: flex; align-items: center; justify-content: center; margin: 0 -10px; width: 320px; height: 320px; font-family: 'SBAggro'; font-size: 26px; color: #fff; font-weight: 500; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; box-sizing: border-box; letter-spacing: -0.01em; transition: all 0.4s;}
.about-2 .text-box ul li span {display: block; position: relative;}
.about-2 .text-box ul li span:before {display: block; content: ''; margin: 0 auto 25px; width: 128px; height: 81px; background-position: center center; background-repeat: no-repeat;}
.about-2 .text-box ul li span.i-strategy:before {background-image: url(../images/i-strategy.png); background-position: 60% center;}
.about-2 .text-box ul li span.i-development:before {background-image: url(../images/i-development.png); background-position: right center;}
.about-2 .text-box ul li span.i-design:before {background-image: url(../images/i-design.png);}


  @media (max-width: 1700px) {
    .about .title-box {padding-left: 40px; padding-right: 40px; width: 100%;}
    .about .bg-box .text-box {padding: 0 40px;}
  }
  @media (max-width: 1200px) {
    .about-1 .title-box h2.title {font-size: 52px;}
    .about-1 .text-box .since img.pc {display: none;}
    .about-1 .text-box .since img.mobile {display: inline-block; vertical-align: top;}
    .about-2 .text-box .title {font-size: 38px; font-weight: 400;}
  }
  @media (max-width: 1023px) {
    .about .bg-box .bg {height: 1440px;}

    .about-2 .text-box {top: 180px;}
    .about-2 .text-box ul {flex-direction: column;}
    .about-2 .text-box ul li {margin: -10px 0; width: 300px; height: 300px; font-size: 24px;}
  }
  @media (max-width: 767px) {
    .about .title-box {padding-left: 20px; padding-right: 20px;}
    .about .bg-box .text-box {padding: 0 20px;}

    .about-1 .title-box h2.title {font-size: 26px;}
    .about-1 .bg-box .bg {height: 100vh;}
    .about-1 .text-box {bottom: 70px;}
    .about-1 .text-box img {max-width: 80% !important;}

    .about-2 .title-box {padding-top: 150px; padding-bottom: 250px;}
    .about-2 .text-box .title {font-size: 20px;}
    .about-2 .bg-box .bg {height: 900px;}
    .about-2 .text-box {top: 100px;}
    .about-2 .text-box ul {margin-top: 50px;}
    .about-2 .text-box ul li {margin: -7px 0; width: 200px; height: 200px; font-size: 16px;}
    .about-2 .text-box ul li span:before {height: 55px; background-size: auto 100%;}
    .about-2 .text-box ul li span.i-strategy:before {background-position: 55% center;}
    .about-2 .text-box ul li span.i-development:before {background-size: auto 90%; background-position: 65% center;}
    .about-2 .text-box ul li span.i-design:before {background-position: 55% center;}
  
  }



/* technology */
.technology {padding: 200px 0 210px; background-color: #fff;}
.technology .inner {margin: 0 auto; width: 1200px; max-width: 100%; box-sizing: border-box;}

.technology-slider {display: flex; margin-top: 65px;}
.technology .slider {width: calc(100% - 350px);}
.technology .slider ul {list-style: none;}
.technology .slider li {}
.technology .slider li .img {}
.technology .slider li .img img.mobile {display: none;}
.technology .slider li .txt {position: absolute; bottom: 0; left: 540px; width: max-content;}
.technology .slider li .txt .em {display: none;}
.technology .slider li .txt span {display: block; line-height: 1.4; font-size: 16px; color: #707070;}
.technology .slider li .txt span strong {display: block; color: #000; font-weight: 500;}
.technology .slider li .txt .flex {display: flex; gap: 30px; margin-top: 40px;}


.technology .pager {width: 350px;}
.technology .pager ul {display: flex; flex-wrap: wrap; padding: 10px 0; height: 100%; list-style: none; box-sizing: border-box;}
.technology .pager li {position: relative; margin: 0 !important; width: 100%; height: 20%; background: transparent; border-radius: 0; box-sizing: border-box; opacity: 1;}
.technology .pager li:after {display: block; content: ''; position: absolute; bottom: 0; left: 40px; width: calc(100% - 120px); height: 1px; background-color: #b7b7b7;}
.technology .pager .box {display: flex; flex-wrap: wrap; align-items: center; align-content: center; position: absolute; top: -1px; left: 0; padding: 0 80px 0 40px; width: 100%; height: 100%; color: #959595; border: 1px solid transparent; box-sizing: border-box;}
.technology .pager .box:after {display: block; content: ''; position: absolute; top: 50%; right: 40px; transform: translateY(-50%); width: 25px; height: 8px; background: url(../images/i-arrow.png) center center no-repeat; opacity: 0;}
.technology .pager .box strong {display: block; margin-bottom: 5px; line-height: 1; font-family: 'SBAggro'; font-size: 24px; font-weight: 500; white-space: nowrap; letter-spacing: -0.04em;}
.technology .pager .box span {font-size: 16px;}

.technology .pager .swiper-pagination-bullet-active .box {padding-right: 110px; width: calc(100% + 30px); background-color: #fff; border-color: #333; z-index: 20;}
.technology .pager .swiper-pagination-bullet-active .box:after {opacity: 1;}
.technology .pager .swiper-pagination-bullet-active .box strong {color: #333;}
.technology .pager .swiper-pagination-bullet-active .box span {color: #707070;}

  @media (max-width: 1400px) {
    .technology .slider li .txt {width: fit-content;}
  }
  @media (max-width: 1300px) {
    .technology .inner {padding-left: 40px; padding-right: 40px; width: 100%;}
  }
  @media (max-width: 1200px) {
    .technology {padding: 160px 0 110px;}
    .technology-slider {flex-wrap: wrap;}
    .technology .slider {margin-top: 30px; width: 100%;}    
    .technology .slider li .img img {width: 100%;}
    .technology .slider li .img img.pc {display: none;} 
    .technology .slider li .img img.mobile {display: inline-block;}
    .technology .slider li .txt {position: relative; left: 0; margin-top: 60px; width: 100%;}
    .technology .slider li .txt .em {display: block; margin-bottom: 60px; font-size: 36px; color: #333; font-weight: bold;}
    .technology .slider li .txt span {line-height: 1.6; font-size: 26px;}
    .technology .slider li .txt span strong {font-size: 30px; font-weight: bold;}
    .technology .slider li .txt .flex {flex-wrap: wrap; margin-top: 60px; padding-top: 65px; border-top: 2px solid #ddd;}
    .technology .slider li .txt .flex span {width: 100%;}

    .technology .pager {margin: 0 -40px; width: calc(100% + 80px); box-sizing: border-box;}
    .technology .pager ul {gap: 55px; flex-wrap: nowrap; padding: 20px 40px; overflow-x: auto;}
    .technology .pager ul::-webkit-scrollbar {display: none;}
    .technology .pager li {width: auto; height: auto;}
    .technology .pager li:after {display: none;}
    .technology .pager .box {position: relative; top: 0; padding: 0; border: 0;}
    .technology .pager .box:after {display: none;}
    .technology .pager .box strong {position: relative; margin-bottom: 0; font-family: 'NotoSansKR', sans-serif; font-size: 36px;}
    .technology .pager .box strong:after {display: block; content: ''; position: absolute; top: 100%; left: 0; margin-top: 15px; width: 100%; height: 5px; background-color: #333; opacity: 0;}
    .technology .pager .box span {display: none;}
    .technology .pager .swiper-pagination-bullet-active .box {padding: 0; width: auto; border: 0;}
    .technology .pager .swiper-pagination-bullet-active .box strong:after {opacity: 1;}
  }
  @media (max-width: 767px) {
    .technology {padding: 80px 0 60px;}
    .technology .inner {padding-left: 20px; padding-right: 20px;}
    .technology-slider {margin-top: 30px;}
    .technology .slider li .txt {margin-top: 30px;}
    .technology .slider li .txt .em {margin-bottom: 30px; font-size: 20px;}
    .technology .slider li .txt span {font-size: 16px;}
    .technology .slider li .txt span strong {font-size: 18px;}
    .technology .slider li .txt .flex {margin-top: 30px; padding-top: 30px; border-top-width: 1px;}

    .technology .pager {margin: 0 -20px; width: calc(100% + 40px);}
    .technology .pager ul {gap: 30px; padding: 20px;}
    .technology .pager .box strong {font-size: 18px;}
    .technology .pager .box strong:after {height: 3px;}
  }


/* portfolio */
.portfolio {background-color: #101010;}
.portfolio > .title-box:first-child {position: relative; padding: 220px 0 930px; overflow-x: hidden;}
.portfolio > .title-box:first-child:after {display: block; content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: url(../images/bg-portfolio-wave.png) center bottom no-repeat;}
.portfolio > .title-box h2.title {position: relative; z-index: 1;}
.portfolio > .title-box .title-img {display: inline-block; width: 140px; line-height: 1; vertical-align: middle;}


.portfolio .tag-box {margin-top: 430px;}
.portfolio .tag-box .tag {padding: 30px 0; border-bottom: 1px solid rgb(255 255 255 / 10%); overflow-x: hidden;}
.portfolio .tag-box .tag:first-child {border-top: 1px solid rgb(255 255 255 / 10%);}
.portfolio .tag-box .swiper-wrapper {transition-timing-function: linear;}
.portfolio .tag-box ul {display: flex; align-items: center; list-style: none;}
.portfolio .tag-box li {flex-shrink: unset; white-space: nowrap;}
.portfolio .tag-box li span {display: block; padding: 25px 0 15px; line-height: 1; font-family: 'SBAggro'; font-size: 70px; color: #fff; font-weight: 500; letter-spacing: -0.05em;}
.portfolio .tag-box .swiper-rtl span {color: transparent; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: #fff;}
.portfolio .tag-box li .em {padding: 25px 40px 15px; color: #fff; font-weight: 700; background: rgb(161,2,193); background: linear-gradient(320deg, rgba(161,2,193,1) 0%, rgba(79,0,217,1) 100%); border-radius: 60px; -webkit-text-stroke-width: 0; -webkit-text-stroke-color: transparent;}


.portfolio .scrolly {position: relative; padding: 460px 0 100px;}
.portfolio .scrolly:after {display: block; content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1920px; max-width: 100%; height: 100%; background: url(../images/bg-portfolio-scrolly.png) 0 35% no-repeat;}
.portfolio .scrolly .title-box {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; align-content: center; position: absolute; top: 0; left: 0; padding: 0 40px; width: 100%; height: 100%; box-sizing: border-box; z-index: 10;}
.portfolio .scrolly h2.title {font-size: 80px;}

.portfolio .scrolly .img-box {margin: 0 auto; width: 1600px; max-width: 100%; box-sizing: border-box;}
.portfolio .scrolly .img-box ul {display: flex; flex-wrap: wrap; justify-content: space-between;}
.portfolio .scrolly .img-box li {position: relative; box-sizing: border-box; z-index: 5;}
.portfolio .scrolly .img-box li:nth-child(1) {width: 100%; text-align: right;}
.portfolio .scrolly .img-box li:nth-child(2) {margin-top: -370px; width: 50%; text-align: left;}
.portfolio .scrolly .img-box li:nth-child(3) {margin-top: -230px; padding-left: 200px; width: 100%; text-align: center;}


.portfolio .more {position: relative;}
.portfolio .more:after {display: block; content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; height: 100%; background: url(../images/bg-portfolio-more.png) center 250% no-repeat;}
.portfolio .more .title-box {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; align-content: center; position: relative; padding: 0 40px; height: 100vh; background: url(../images/img-portfolio-more.png) center center no-repeat; box-sizing: border-box; z-index: 5;}
.portfolio .more h2.title {width: 100%; font-size: 80px; font-weight: 500;}
.portfolio .more p {width: 100%; font-size: 26px; color: #fff; text-align: center;}

  @media (max-width: 1700px) {
    .portfolio .scrolly .img-box {padding-left: 40px; padding-right: 40px; width: 100%;}
  }
  @media (max-width: 1200px) {
    .portfolio {padding-bottom: 275px;}
    .portfolio > .title-box:first-child {padding: 360px 40px 630px;}
    .portfolio > .title-box:first-child:after {background-size: 130% auto;}
    .portfolio > .title-box h2.title {font-weight: 500;}
    .portfolio > .title-box .title-img {width: 100px;}

    .portfolio .tag-box {margin-top: 350px;}
    .portfolio .tag-box .tag {padding: 40px 0;}
    .portfolio .tag-box li span {padding: 18px 0 8px; font-size: 60px; letter-spacing: -0.04em;}
    .portfolio .tag-box li .em {padding: 18px 30px 8px;}

    .portfolio .scrolly {padding-bottom: 330px;}
    .portfolio .scrolly:after {background-size: 50% auto;}
    .portfolio .scrolly h2.title {font-size: 64px;}
    .portfolio .scrolly .img-box img {width: 230px;}
    .portfolio .scrolly .img-box li:nth-child(1) {padding-right: 90px;}
    .portfolio .scrolly .img-box li:nth-child(2) {margin-top: 0;}
    .portfolio .scrolly .img-box li:nth-child(3) {margin-top: -60px; padding-left: 0; text-align: right;}

    .portfolio .more:after {background-image: url(../images/bg-portfolio-more-mobile.png); background-position: center 230%;}
    .portfolio .more .title-box {background-image: url(../images/img-portfolio-more-mobile.png); background-position: center 68%;}
    .portfolio .more h2.title {font-size: 64px;}
    .portfolio .more p {font-size: 24px;}
  }
  @media (max-width: 767px) {
    .portfolio {padding-bottom: 130px;}
    .portfolio > .title-box:first-child {padding: 180px 20px 315px;}
    .portfolio > .title-box h2.title {font-size: 35px;}
    .portfolio > .title-box .title-img {width: 65px;}

    .portfolio .tag-box {margin-top: 170px;}
    .portfolio .tag-box .tag {padding: 20px 0;}
    .portfolio .tag-box li span {font-size: 30px; letter-spacing: -0.02em;}
    .portfolio .tag-box li .em {padding: 18px 15px 8px;}

    .portfolio .scrolly {padding: 230px 0 150px;}
    .portfolio .scrolly .title-box {padding: 0 20px; /*height: calc(100vh - 61px);*/}
    .portfolio .scrolly h2.title {font-size: 32px;}
    .portfolio .scrolly .img-box {padding-left: 20px; padding-right: 20px;}
    .portfolio .scrolly .img-box img {width: 130px;}
    .portfolio .scrolly .img-box li:nth-child(1) {padding-right: 45px;}
    .portfolio .scrolly .img-box li:nth-child(3) {margin-top: -30px;}

    .portfolio .more:after {background-position: center center; background-size: cover;}
    .portfolio .more .title-box {height: 100vh; background-position: center 62%; background-size: auto 60%;}
    .portfolio .more h2.title {font-size: 32px;}
    .portfolio .more p {margin-top: 5px; font-size: 14px;}
  }



/* contact us */
.contactus {padding: 200px 0; background-color: #fff;}
.contactus .inner {margin: 0 auto; width: 1600px; max-width: 100%; box-sizing: border-box;}
.contactus h2.title {line-height: 1; color: #333; text-align: left;}
.contactus p {margin-top: 5px; font-family: 'SBAggro'; font-size: 32px; color: #ddd; font-weight: 500;}
.contactus .map-box {display: flex; gap: 30px; justify-content: space-between; align-items: end; flex-wrap: wrap; flex-direction: row-reverse; margin-top: 60px;}
.contactus .map {width: 768px; max-width: 100%; border: 1px solid #d9d9d9; box-sizing: border-box;}
.contactus .info {flex: 1;}
.contactus .info dl {display: flex; margin-top: 30px;}
.contactus .info dl:first-child {margin-top: 0;}
.contactus .info dt {padding-top: 3px; width: 105px; line-height: 1; font-family: 'SBAggro'; font-size: 22px; color: #464646; font-weight: 500;}
.contactus .info dd {flex: 1; line-height: 1.4; font-size: 18px; color: #959595;}

  @media (max-width: 1700px) {
    .contactus .inner {padding-left: 40px; padding-right: 40px; width: 100%;}
  }
  @media (max-width: 1200px) {
    .contactus h2.title {font-size: 84px;}
    .contactus h2.title .gradient {margin-top: 10px; width: 68px; height: 68px;}
    .contactus p {font-size: 34px;}
    .contactus .map-box {gap: 60px;}
    .contactus .map {width: 100%;}
    .contactus .map img {width: 100%;}
    .contactus .info dl {flex-wrap: wrap;}
    .contactus .info dt {margin-bottom: 15px; padding-top: 0; width: 100%; font-size: 26px;}
    .contactus .info dd {font-size: 22px;}
  }
  @media (max-width: 767px) {
    .contactus {padding-top: 100px;}
    .contactus .inner {padding-left: 20px; padding-right: 20px;}
    .contactus h2.title {font-size: 42px;}
    .contactus h2.title .gradient {margin-top: 5px; width: 34px; height: 34px;}
    .contactus p {font-size: 17px;}
    .contactus .map-box {gap: 30px; margin-top: 30px;}
    .contactus .info dt {font-size: 18px;}
    .contactus .info dd {font-size: 16px;}
  }




/* 231024 */

.contactus .map-box {flex-direction: row;}

/** 2023.11.22 함한욱 애니메이션 효과 추가 **/
/** 지도 API 호출시 이미지 노출 오류 수정 **/
#map img{max-width: unset !important;}
/** 메인화면 검은 배경에서 동그라미 커지는 부분 **/
.circle {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 250px;
  min-height: 250px;
  border-radius: 50%;
  background-color: transparent;
  transform: translate(-50%, -50%);
  border: 5000px solid #000;
  z-index: 55;
  transition-property: width, height;
  transition-duration: 1s;
}

/** 텍스트 및 이미지 슬라이드 업 **/
.delighter {transform: translateY(100px);opacity: 0;transition: 0.5s;}
.delighter.started {transform: translateY(0);opacity: 1;}
.about-2 .bg-box {left: 10%;right: 10%;top: 0;width: 80%;transition: .3s .3s cubic-bezier(.455, .03, .515, .955);}
.about-2 .bg-box.active {left: 0;width: 100%;}


/* 231123 */
.bg-fix {position: fixed; top: 0; left: 0; width: 100%; height: 100vh; ;background-position: 50% 0; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; transform: translateZ(0); will-change: transform;}
.bg-fix:after {display: block; content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 306px; background: url(../images/bg-fix-mask.png) 0 0 repeat-x;}

.about {overflow: hidden;}
.about-1 {overflow: visible;}
.about-1 {background-color: transparent;}
.about-1 .bg-box {display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-end; height: calc(60vh + 200px); padding-bottom: 300px; box-sizing: border-box;}
.about-1 .bg-box .text-box {position: static; transform: translate(0, 0);}

.technology,
.portfolio,
.contactus,
.footer {position: relative;}

.portfolio .more .title-box {height: 1200px;}


/* 231124 */ 
.footer .quick .btn-top {color: #000;}
.contactus .info dd a {color: #959595;}

  @media (min-width: 1201px) {
    .contactus .info dt {width: 140px;}
  }
  @media (max-width: 1200px) {
    .circle {display: none;}
    .about-1 .bg-box {height: calc(80vh + 200px);}
    .about-1 .title-box {background-color: #101010;}
  }
  @media (max-width: 767px) {
    .about-2 .title-box {padding-bottom: 150px;}
    .portfolio .more .title-box {height: 750px;}
  }


/* 231201 */
.portfolio .scrolly h2.title span {display: inline-block; vertical-align: top;}
.portfolio .scrolly .img-box li {list-style: none;}
.portfolio .scrolly .img-box li span {display: inline-block; position: relative; padding: 18px 18px 21px 23px; vertical-align: top;}
.portfolio .scrolly .img-box li span:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../images/img-phone.png) center center no-repeat; background-size: 100% 100%;}
.portfolio .scrolly .img-box li img {position: relative; border-radius: 38px; z-index: 1;}

  @media (min-width: 1201px) {
    .portfolio .scrolly h2.title {font-size: 60px;}
    .portfolio .scrolly h2.title span {margin-bottom: 70px;}
  }
  @media (max-width: 1200px) and (min-width: 768px)  {
    .portfolio .scrolly h2.title {font-size: 48px;}
  }
  @media (max-width: 1200px) {
    .portfolio .scrolly h2.title span {margin-bottom: 0;}
    .portfolio .scrolly .img-box li span {padding: 15px 14px 15px 16px;}
    .portfolio .scrolly .img-box li img {border-radius: 22px;}
  }
  @media (max-width: 767px) {
    .portfolio .scrolly .img-box li:nth-child(1) {padding-right: 0;}
    .portfolio .scrolly .img-box li span {padding: 9px 8px 9px 10px;}
    .portfolio .scrolly .img-box li img {border-radius: 15px;}
  }