/**************************
파일 만든이 : 이은숙
파일 제작일 : 2020.11.25
파일 최종수정일 :
***************************/

@charset "utf-8";

@font-face {
  font-family: 'noto';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans Regular'), local('Noto-Sans-Regular'), local('NotoSansKR');
  src: url('../fonts/NotoSansKR-Regular.otf') format('opentype'),
      url('../fonts/NotoSansKR-Regular.woff') format('woff'),
      url('../fonts/NotoSansKR-Regular.woff2') format('woff2')
}
@font-face {
  font-family: 'notoM';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans Medium'), local('Noto-Sans-Medium'), local('NotoSansKR');
  src: url('../fonts/NotoSansKR-Medium.otf') format('opentype'),
      url('../fonts/NotoSansKR-Medium.woff') format('woff'),
      url('../fonts/NotoSansKR-Medium.woff2') format('woff2')
}
@font-face {
  font-family: 'notoB';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans Bold'), local('Noto-Sans-Bold'), local('NotoSansKR');
  src: url('../fonts/NotoSansKR-Bold.otf') format('opentype'),
      url('../fonts/NotoSansKR-Bold.woff') format('woff'),
      url('../fonts/NotoSansKR-Bold.woff2') format('woff2')
}
body, input, textarea, select, button, table{ margin:0; font-size:13px; font-family:'noto', AppleGothic; letter-spacing: -0.5px; color:#252525; }
body, h1, h2, h3, h4, h5, dl, dt, dd, ul, li, ol, th, td, p, form, fieldset, legend, button { margin: 0; padding:0; font-weight: normal;}

img, fieldset{ border:0 none; }
dl, ul, ol, li { list-style: none outside none; }
button{ border:0 none; cursor:pointer; display: block; }
table, th, td, div{ border-collapse:collapse; }

a,img,input { outline:none; }
/* 모바일용 */
input[type=image] {
  -webkit-appearance: none;
  border-radius: 0;
}

li img { vertical-align:top; }
td img { vertical-align:middle; }

a { text-decoration:none; color:#252525; }
a:hover, a:active, a:focus { color:#252525; text-decoration:none; }
table a:link, table a:visited { color:#252525; }
table a:hover, table a:active { color:#252525; text-decoration:underline; }
address, caption, cite, code, dfn, em, var { font-style:normal; }

strong, .strong { font-family: 'notoB'; }
.blind, legend, caption { display:none !important; }
.cursor { cursor: pointer; }
.clear { clear:both; }

body {
  min-width: 1263px;
}
body { cursor: auto; }
a { cursor: pointer; }

.cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 50;
  width: 30px;
  height: 30px;
  overflow: hidden;
  background-color:#52a3da;
  border-radius: 100%;
  pointer-events: none;
  will-change: transform;
  -webkit-transition: width 0.5s, height 0.5s, background 0.5s ease-in;
  transition: width 0.5s, height 0.5s, background 0.5s ease-in;
  /* -webkit-transition: background 0.5s ease-in;
  transition: background 0.5s ease-in; */
  opacity: 0.8;
  box-shadow: 0 0 15px rgba(255,255,255, 0.8);
}
.cursor.on {
  z-index: -1;
  width: 424px;
  height: 424px;
  background-color: #aace37;
}
.cursor.active {
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
  /* background-color: #aace37; */
}
.cursor.active::before {
  content: 'VIEW';
  display: inline;
  font-size: 18px;
  font-family: 'notoB';
  color: #fff;
}


header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  padding: 50px 40px;
  box-sizing: border-box;
}
header h1 {
  width: 104px;
}
header .menu {
  display: inline-block;
  position: absolute;
  right: 22px;
  top: 35px;
  width: 65px;
  height: 65px;
  padding: 15px;
  line-height: 9px;
  box-sizing: border-box;
}
header .menu::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 0;
  height: 0;
  background-color: #aace37;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
header .menu:hover:before {
  -webkit-transition: width 0.5s cubic-bezier(0.6,1.91,0.51,0.96), height 0.5s cubic-bezier(0.6,1.91,0.51,0.96);
  transition: width 0.5s cubic-bezier(0.6,1.91,0.51,0.96), height 0.5s cubic-bezier(0.6,1.91,0.51,0.96);
  width: 100%;
  height: 100%;
}
header .menu.on:before {
  z-index: 30;
  -webkit-transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
  transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
  width: 6500%;
  height: 6500%;
}
header .menu.white span {
  background-color: #fff;
}
header .menu span {
  display: inline-block;
  width: 32px;
  height: 4px;
  background-color: #252525;
}
header .menu span:nth-child(2) {
  width: 22px;
}
header .menu:hover span:nth-child(1) {
  animation: stick 0.5s cubic-bezier(0.5, 1, 0.89, 1) 0s forwards;
}
@keyframes stick {
  0% {
    width: 32px;
  }
  50% {
    width: 22px;
  }
  100% {
    width: 32px;
  }
}
header .menu:hover span:nth-child(2) {
  animation: stick2 0.5s cubic-bezier(0.5, 1, 0.89, 1) 0s forwards;
}
@keyframes stick2 {
  0% {
    width: 22px;
  }
  50% {
    width: 32px;
  }
  100% {
    width: 22px;
  }
}
header .menu:hover span:nth-child(3) {
  animation: stick 0.5s cubic-bezier(0.5, 1, 0.89, 1) 0s forwards;
}


header .allMenu {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 40;
  width: 100%;
  height: 100%;
  color: #f0facf;
}
header .allMenu .close {
  position: absolute;
  right: 60px;
  top: 50px;
  z-index: 30;
  width: 40px;
  height: 40px;
  background: url('../img/ico_close.png') no-repeat center center;
}
header .allMenu .inner {
  position: relative;
  padding: 190px 0;
}
header .allMenu .tit {
  position: absolute;
  left: 120px;
  top: 330px;
  font-size: 24px;
  font-family: 'notoB';
  transform: rotate(-90deg);
}
header .allMenu .list {
  margin-left: 350px;
  padding: 60px 0;
}
header .allMenu .list li {
  margin: 45px 0;
  font-size: 80px;
  font-family: 'notoB';
  color: #fff;
}
header .allMenu .list li a {
  color: #fff;
}
header .allMenu .list li a:hover {
  color: #333;
}
header .allMenu .info {
  position: absolute;
  right: 0;
  top: 560px;
  width: 330px;
  font-size: 24px;
  line-height: 32px;
}
header .allMenu .info a {
  display: inline-block;
  color: #f0facf;
  padding-bottom: 5px;
  margin-bottom: 60px;
  border-bottom: 1px solid #f0facf;
}


/* common */
.inner {
  max-width: 1480px;
  padding: 125px 40px;
  margin: 0 auto;
  box-sizing: border-box;
}
.green {
  color: #aace37;
}
.green2 {
  color: #87a81d;
}
.mo {
  display: none !important;
}

.ico_bg01 {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 465px;
  width: 51px;
  height: 54px;
  background: url('../img/ico_bg01.png') no-repeat center top;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0s infinite;
}
@keyframes wings {
  0% {
    margin-top: 0px;
  }
  50% {
    margin-top: 10px;
  }
  100% {
    margin-top: 0px;
  }
}
.ico_bg02 {
  display: inline-block;
  position: absolute;
  left: 1381px;
  top: 570px;
  z-index: -1;
  width: 51px;
  height: 54px;
  background: url('../img/ico_bg02.png') no-repeat center top;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0.2s infinite;
}
.ico_bg02_1 {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 118px;
  z-index: -1;
  width: 51px;
  height: 54px;
  margin-left: 125px;
  background: url('../img/ico_bg02.png') no-repeat center top;
  opacity: 0.5;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0s infinite;
}
.ico_bg03 {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 295px;
  z-index: -1;
  width: 24px;
  height: 73px;
  margin-left: 735px;
  background: url('../img/ico_bg03.png') no-repeat center top;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0.5s infinite;
}
.ico_bg03_1 {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: -17px;
  z-index: -1;
  width: 24px;
  height: 73px;
  margin-left: -685px;
  background: url('../img/ico_bg03.png') no-repeat center top;
  opacity: 0.5;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0.7s infinite;
}
.ico_bg04 {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 510px;
  z-index: -1;
  width: 56px;
  height: 73px;
  margin-left: -450px;
  background: url('../img/ico_bg04.png') no-repeat center top;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0.7s infinite;
}
.ico_bg05 {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: -160px;
  z-index: -1;
  width: 56px;
  height: 73px;
  margin-left: 670px;
  background: url('../img/ico_bg05.png') no-repeat center top;
  opacity: 0.75;
  animation: wings 2s cubic-bezier(0.5, 1, 0.89, 1) 0.2s infinite;
}

.introduce {
  position: relative;
  padding-top: 138px;
  overflow: hidden;
}
.introduce .icolonb {
  font-size: 58px;
  line-height: 76px;
}
.introduce .icolonb .colon {
  display: inline-block;
  width: 0;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}
.introduce.active .icolonb .colon {
  animation: colon 1s ease-in-out 1s forwards;
}
@keyframes colon {
  0% {
    width: 0;
  }
  100% {
    width: 156px;
  }
}
.introduce .icolonb li {
  height: 77px;
  overflow: hidden;
}

.introduce .icolonb .t01 {
  display: inline-block;
  margin-top: 100px;
}
.introduce.active .icolonb .t01 {
  animation: we 1s ease-in-out 0s forwards;
}
@keyframes we {
  0% {
    margin-top: 100px;
  }
  100% {
    margin-top: 0;
  }
}

.introduce .icolonb span[class^="t0"] {
  display: inline-block;
  margin-top: 100px;
  vertical-align: top;
}
.introduce.active .icolonb .t02 {
  animation: we 0.8s ease-in-out 1.6s forwards;
}
.introduce.active .icolonb .t03 {
  animation: we 0.8s ease-in-out 1.68s forwards;
}
.introduce.active .icolonb .t04 {
  animation: we 0.8s ease-in-out 1.76s forwards;
}
.introduce.active .icolonb .t05 {
  animation: we 0.8s ease-in-out 1.94s forwards;
}
.introduce.active .icolonb .t06 {
  animation: we 0.8s ease-in-out 2.02s forwards;
}
.introduce.active .icolonb .t07 {
  animation: we 0.8s ease-in-out 2.1s forwards;
}
.introduce.active .icolonb .t08 {
  animation: we 0.8s ease-in-out 2.18s forwards;
}

.introduce .box {
  position: relative;
  padding-left: 350px;
  margin-top: 190px;
}
.introduce .box .title {
  position: absolute;
  left: 50px;
  top: 46px;
  font-size: 24px;
  font-family: 'notoB';
  transform: rotate(-90deg);
  opacity: 0;
}
.introduce.active .box .title {
  animation: ibTitle 0.5s ease-in-out 2.8s forwards;
}
@keyframes ibTitle {
  0% {
    opacity: 0;
    left: 0;
  }
  100% {
    opacity: 1;
    left: 50px;
  }
}

.introduce .box .txt {
  font-size: 30px;
  line-height: 42px;
}
.introduce .box .txt li {
  height: 42px;
  padding-top: 50px;
  overflow: hidden;
  box-sizing: border-box;
}
.introduce.active .box .txt li {
  animation: ibTxt 0.8s ease-in-out 3.2s forwards;
}
@keyframes ibTxt {
  0% {
    padding-top: 50px;
  }
  100% {
    padding-top: 0;
  }
}

.tagArea {
  position: relative;
  overflow: hidden;
}
.tagArea #circle {
  position: absolute;
  left: 0;
  top: 0;
  width: 60px;
  height: 60px;
  background-color: #aace37;
  border-radius: 50%;
  opacity: 0;
}
.tagArea:hover {
  cursor: none;
}
/* .tagArea:hover #circle {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
  opacity: 1;
  animation: circle 0.5s ease-in-out 0s forwards;
} */
@keyframes circle {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(7.08);
  }
}
.tagList {
  margin: 140px 0 100px;
  overflow: hidden;
}
.tagList li {
  white-space: nowrap;
  padding: 40px 0;
}
.tagList li img {
  margin-left: 180px;
}
/* .tagList li.list01 {
  margin-left: 880px;
} */
.tagList li.list02 {
  margin-left: -950px;
}
.tagList li.list02 img {
  margin-left: 200px;
}
.tagList li.list03 img {
  margin-left: 140px;
}
.tagList img.creativity {
  margin-left: 165px;
}
/* .tagList li.list03 {
  margin-left: 780px;
} */


.board {
  padding: 125px 0;
}
.bbsList li:first-child a {
  border-top: 1px solid #d4d4d4;
}
.bbsList li {
  position: relative;
  top: 50px;
  padding: 0 40px;
  line-height: 148px;
  white-space: nowrap;
  opacity: 0;
}
.bbsList li a {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  color: #a5a5a5;
  font-size: 30px;
  border-bottom: 1px solid #d4d4d4;
}
.bbsList li:hover a {
  color: #252525;
  font-family: 'notoB';
}
.bbsList li .thumb {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  width: 32%;
  opacity: 0;
  transform: translateY(-50%);
}
.bbsList li:hover .thumb {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
  opacity: 1;
}
.bbsList li .date {
  display: inline-block;
  padding: 0 80px;
  font-size: 24px;
  font-family: 'noto';
}
.bbsListWrap {
  position: relative;
}
.bbsListWrap #circle2 {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100px;
  height: 100px;
  text-align: center;
  color: #fff;
  line-height: 100px;
  background-color: #aace37;
  border-radius: 50%;
  opacity: 0;
}
.bbsListWrap:hover {
  cursor: none;
}
.bbsListWrap:hover #circle2 {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
  opacity: 1;
}

.service {
  position: relative;
  overflow: hidden;
}
.service .ico_bg01 {
  top: 765px;
}
.service .ico_bg02 {
  top: 870px;
}
.service .ico_bg02_1 {
  top: 418px;
}
.service .ico_bg03 {
  top: 595px;
}
.service .ico_bg03_1 {
  top: 283px;
}
.service .ico_bg04 {
  top: 810px;
}
.service .ico_bg05 {
  top: 140px;
}
.service .inner {
  position: relative;
  padding-bottom: 360px;
}
.service .inner > .title {
  position: absolute;
  left: 50px;
  top: 100px;
  z-index: 9;
  font-size: 24px;
  font-family: 'notoB';
  transform: rotate(-90deg);
}
.service-swiper {
  margin-left: 340px !important;
  overflow: visible !important;
}
.service-swiper .swiper-slide {
  width: 490px;
}
.service-swiper .title {
  margin: 40px 0 20px 0;
  font-size: 36px;
  font-family: 'notoM';
}
.service-swiper .txt {
  font-size: 18px;
  line-height: 26px;
}

.members {
  background-color: #f3f3f3;
}
.members .inner {
  position: relative;
  padding: 140px 40px 80px 40px;
}
.members .inner h2.title {
  position: absolute;
  left: 40px;
  top: -120px;
  font-size: 58px;
  line-height: 76px;
}
.members .list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 110px;
}
.members .list li {
  min-width: 25%;
  text-align: center;
}
.members .list li .job {
  display: inline-block;
  margin: 50px 0 5px;
  font-size: 18px;
}
.members .list li .name {
  font-size: 24px;
  font-family: 'notoB';
}

.contact {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 135px;
  padding-top: 75px;
  font-size: 18px;
  line-height: 28px;
  border-top: 1px solid #d4d4d4;
}
.contact > * {
  min-width: 25%;
  font-size: 18px;
  line-height: 28px;
}
.contact .title {
  font-size: 30px;
  font-family: 'notoB';
}
.contact .tel {
  padding-left: 75px;
  box-sizing: border-box;
}

footer {
  font-size: 18px;
  line-height: 110px;
  font-family: 'notoM';
}
footer .inner {
  padding: 0 40px;
}




/****************************** 서브페이지 ******************************/
/* 서브공통 */
#sub .logo {
  display: none;
}
#sub .inner {
  position: relative;
  padding: 175px 40px;
}
#sub .title {
  font-size: 58px;
  font-family: 'notoB';
}
#sub .txt {
  font-size: 24px;
  line-height: 42px;
}
#sub .top {
  height: 898px;
  color: #fff;
}
#sub img {
  max-width: 100%;
}

#sub .top .title {
  margin: 160px 0 27px 0;
  font-size: 80px;
  font-family: 'notoB';
}
#sub .top .txt {
  font-size: 30px;
  line-height: 46px;
}

#sub .concept .title {
  margin-bottom: 60px;
}
#sub .concept > .inner > p.txt {
  padding-right: 430px;
  word-break: keep-all;
}
#sub .concept > .inner > p.txt br {
  display: none;
}
#sub .infoWrap {
  position: absolute;
  left: 50%;
  top: 315px;
  margin-left: 350px;
}
#sub .infoWrap dl.info {
  margin-bottom: 75px;
}
#sub .infoWrap dt {
  font-size: 18px;
  color: #8d8d8d;
  font-family: 'notoB';
}
#sub .infoWrap dd {
  font-size: 24px;
}
#sub .concept .link_area {
  margin: 130px 0 30px;
}

#sub .link_area {
  position: relative;
  margin: 100px 0;
  padding-left: 22px;
  line-height: 70px;
  font-size: 24px;
  font-family: 'notoB';
}
#sub .link_area a {
  position: relative;
  z-index: 1;
}
#sub .link_area::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 70px;
  height: 70px;
  background-color: #aace37;
  border-radius: 50%;
}

#sub .concept .explain {
  padding: 180px 180px 10px 180px;
}
#sub .concept .explain .title {
  margin-bottom: 25px;
}

#sub .website {
  background-color: #f2f3f6;
}
.website .photo_list {
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.website .photo_list li {
  box-shadow: 30px 30px 43px rgba(0, 0, 0, 0.16);
  border-radius: 30px;
  overflow: hidden;
}
.website .photo_list li:nth-child(2) {
  margin: 0 40px;
}

.website .photo_list02 li img {
  box-shadow: 20px 20px 43px rgba(0, 0, 0, 0.12);
}
.website .photo_list02 li:nth-child(2) {
  margin: 150px 0;
  text-align: right;
}

#sub .website .explain {
  padding: 50px 180px 10px 180px;
}
#sub .website .explain .title {
  margin-bottom: 25px;
}

#sub .build .inner {
  max-width: 1050px;
}
#sub .build .txt {
  margin: 25px 0 85px;
}

#sub .btn-area {
  margin: 100px 0;
}
#sub .btn-area .next {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 290px;
  font-size: 58px;
  line-height: 290px;
  text-indent: 25px;
}
#sub .btn-area .next img {
  margin: -10px 0 0 20px;
  vertical-align: middle;
}
#sub .btn-area .next:hover {
  -webkit-transition: width 0.5s, height 0.5s;
  transition: width 0.5s, height 0.5s;
  width: 290px;
  height: 290px;
  border-radius: 50%;
}
#sub .btn-area .next:hover img {
  animation: arrows 1s cubic-bezier(0.5, 1, 0.89, 1) 0s infinite;
}
@keyframes arrows {
  0% {
    margin-left: 10px;
  }
  50% {
    margin-left: 20px;
  }
  100% {
    margin-left: 10px;
  }
}
#sub .btn-area .next:before {
  content:'';
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 0;
  height: 0;
  background-color: #aace37;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
#sub .btn-area .next:hover:before {
  -webkit-transition: width 0.5s cubic-bezier(0.6,1.91,0.51,0.96), height 0.5s cubic-bezier(0.6,1.91,0.51,0.96);
  transition: width 0.5s cubic-bezier(0.6,1.91,0.51,0.96), height 0.5s cubic-bezier(0.6,1.91,0.51,0.96);
  width: 100%;
  height: 100%;
}
#sub footer .inner {
  padding: 0 40px;
}




/***** NH오픈플랫폼 *****/
#sub.NH .top {
  background: url('../img/nh/bg_nh.jpg') no-repeat center top;
}
#sub.NH .concept .link_area {
  margin: 130px 0 200px;
}

#sub.NH .movie {
  padding: 140px 170px;
  background-color: #f2f3f6;
}
#sub.NH .movie iframe {
  border: 15px solid #252525;
  border-radius: 15px;
}

#sub.NH .website .inner {
  padding: 100px 0;
  text-align: center;
}
#sub.NH .website .img_mo {
  margin: 0 80px -105px 0;
}

#sub.NH .dev {
  /* background: #f2f3f6 url('../img/nh/bg_dev.jpg') no-repeat 250px 500px; */
  background-color: #f2f3f6;
}
#sub.NH .dev .inner {
  max-width: 1130px;
  padding-bottom: 0;
  overflow: hidden;
}
#sub.NH .dev .txt {
  margin: 25px 0 65px;
}
#sub.NH .dev .preview {
  max-width: 1400px;
  margin: 0 auto;
  padding: 730px 0 175px;
  text-align: right;
  background: url('../img/nh/bg_dev.jpg') no-repeat 0 0;
}
#sub.NH .dev .preview img {
  box-shadow: -30px 25px 30px rgba(0, 0, 0, 0.26);
}
#sub.NH .dev .preview .txt {
  max-width: 1050px;
  margin: 90px 0 0 auto;
  text-align: left;
}



/***** NH스마트고지서 *****/
#sub.NH2 .top {
  background: url('../img/nh/bg_nh2.jpg') no-repeat center top;
}
#sub.NH2 .concept {
  min-height: 820px;
}



/***** NH디지털혁신캠퍼스 *****/
#sub.DIGITAL .concept {
  min-height: 820px;
}
#sub.DIGITAL .top {
  background: url('../img/nh/bg_digital.jpg') no-repeat center top;
}

#sub.DIGITAL .movie {
  padding: 140px 170px;
  background-color: #f2f3f6;
}
#sub.DIGITAL .movie iframe {
  border: 15px solid #252525;
  border-radius: 15px;
}

#sub.DIGITAL .website .inner {
  padding: 100px 40px;
  text-align: center;
}


/***** 새마을금고 *****/
#sub.MG .top {
  background: url('../img/mg/bg_mg.jpg') no-repeat center top;
}
#sub.MG .concept .link_area {
  margin: 130px 0 200px;
}
#sub.MG .website .inner {
  padding-top: 100px;
}

#sub.MG .interaction {
  background-color: #f2f3f6;
}
#sub.MG .interaction .explain {
  padding: 0 180px 150px 180px;
}
#sub.MG .interaction .explain .title {
  margin-bottom: 25px;
}
#sub.MG .interaction .preview {
  opacity: 0;
}
#sub.MG .interaction .preview:nth-child(odd) {
  width: 1050px;
  margin: 300px 0 300px auto;
}


/***** 광주은행 *****/
#sub.KJ .top {
  background: url('../img/kj/bg_kj.jpg') no-repeat center top;
}
#sub.KJ .website .photo_list li {
  box-shadow: none;
}


/***** 국민건강보험공단 *****/
#sub.NHIS .concept {
  min-height: 850px;
}
#sub.NHIS .top {
  background: url('../img/nhis/bg_nhis.jpg') no-repeat center top;
}
#sub.NHIS .concept .inner {
  padding-bottom: 0;
}




/***** 프로젝트 *****/
.project {
  position: relative;
  margin-top: 175px;
  overflow: hidden;
}
.project .list {
  display: flex;
  /* justify-content: space-between; */
  flex-wrap: wrap;
}
.project .list li {
  position: relative;
  width: calc(33.33% - 44px);
  max-width: 400px;
  margin: 0 0 10% 0;
}
.project .list li:nth-child(3n-1){
  margin: 0 66px 10% 66px;
}
.project .list li a {
  display: block;
  position: relative;
  padding-bottom: 100%;
  font-size: 30px;
  line-height: 36px;
  color: #fff;
}
.project .list li a span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 280px;
  height: 280px;
  text-align: center;
  border-radius: 50%;
}
.project .list li .photo {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  overflow: hidden;
}
.project .list li.nhis .photo {
  background: url('../img/project/p_nhis.png') no-repeat center center;
}
.project .list li.mg .photo {
  background: url('../img/project/p_mg.png') no-repeat center center;
}
.project .list li.nh .photo {
  background: url('../img/project/p_nh.png') no-repeat center center;
}
.project .list li.nh2 .photo {
  background: url('../img/project/p_nh2.png') no-repeat center center;
}
.project .list li.digital .photo {
  background: url('../img/project/p_digital.png') no-repeat center center;
}
.project .list li.kj .photo {
  background: url('../img/project/p_kj.png') no-repeat center center;
}

.project .list li.nhis a span {
  background-color: #f75954;
}
.project .list li.mg a span {
  background: url('../img/project/p_mg_hover.png') no-repeat center center;
}
.project .list li.nh a span {
  background-color: #0f2871;
}
.project .list li.nh2 a span {
  background-color: #9663c5;
}
.project .list li.digital a span {
  background-color: #1f75de;
}
.project .list li.kj a span {
  background-color: #3377bc;
}
.project .list li a:hover span {
  -webkit-transition: background 1s, opacity 0.5s;
  transition: background 1s, opacity 0.5s;
  opacity: 1;
}
.project .list li a:hover .photo {
  animation: project 0.15s cubic-bezier(0.5, 1, 0.89, 1) 0s forwards;
}
@keyframes project {
  0% {
    width: 400px;
    height: 400px;
  }
  99% {
    width: 280px;
    height: 280px;
    opacity: 1;
  }
  100% {
    width: 280px;
    height: 280px;
    opacity: 0;
    display: none;
  }
}




/***** 회사소개 *****/
#about .introduce {
  font-size: 64px;
  line-height: 76px;
}
#about .introduce.active .icolonb .t01 {
  animation: we 0.8s ease-in-out 0.3s forwards;
}
#about .introduce.active .icolonb .t02 {
  animation: we 0.8s ease-in-out 0.38s forwards;
}
#about .introduce.active .icolonb .t03 {
  animation: we 0.8s ease-in-out 0.46s forwards;
}
#about .introduce.active .icolonb .t04 {
  animation: we 0.8s ease-in-out 0.54s forwards;
}
#about .introduce.active .icolonb .t05 {
  animation: we 0.8s ease-in-out 0.62s forwards;
}
#about .ci {
  height: 1300px;
  overflow: hidden;
}
#about .ci .inner {
  padding: 0;
}
#about .ci .logo {
  position: relative;
  max-width: 1263px;
}
#about .logo .a {
  position: absolute;
  left: 50%;
  top: -300px;
  z-index: -1;
  transform: translateX(-50%);
}
#about .ci .logo .logo_i {
  position: absolute;
  left: 0;
  top: 0px;
  opacity: 0;
}
#about .ci .logo .logo_b {
  position: absolute;
  right: -20px;
  top: 0;
  opacity: 0;
}
#about .ci .logo .logo_p {
  position: absolute;
  left: calc(50% - 134px);
  top: 0;
  opacity: 0;
}
#about .photo {
  position: relative;
  height: 650px;
  /* background: url('../img/about/bg_about01.jpg') no-repeat center center; */
  overflow: hidden;
}
#about .photo img {
  position: relative;
  left: 50%;
  margin-left: -960px;
}

#about .greetings {
  background-color: #fff;
}
#about .greetings .title {
  margin: 160px 0 27px 0;
  font-size: 64px;
  line-height: 76px;
}
#about .greetings .txt {
  font-size: 30px;
  line-height: 46px;
  word-break: keep-all;
}


#about .service {
  background-color: #fff;
}
#about .service .list {
  position: relative;
  padding: 145px 0 0 350px;
  overflow: hidden;
}
#about .service .list dl {
  position: relative;
  z-index: 1;
}
#about .service .list dt {
  height: 86px;
  padding-top: 100px;
  margin-bottom: 10px;
  font-size: 58px;
  font-family: 'notoB';
  overflow: hidden;
  box-sizing: border-box;
}
#about .service .list dd.subTit {
  height: 76px;
  padding-top: 100px;
  margin-bottom: 80px;
  font-size: 24px;
  line-height: 38px;
  font-style: normal;
}
#about .service .list dd {
  height: 48px;
  padding-top: 100px;
  font-size: 24px;
  line-height: 48px;
  font-style: italic;
  overflow: hidden;
  box-sizing: border-box;
}
#about .service .list.active dt  {
  animation: list 0.5s ease-in-out 0s forwards;
}
#about .service .list.active dd  {
  animation: list 0.5s ease-in-out 0s forwards;
}
@keyframes list {
  0% {
    padding-top: 86px;
  }
  100% {
    padding-top: 0;
  }
}

#about .service .list.biz {
  height: 450px;
  margin-bottom: 200px;
  /* background: url('../img/about/ico_ebiz.png') no-repeat left top; */
}
#about .service .list.biz .icoWrap {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  height: 410px;
  width: 400px;
  background: url('../img/about/ico_ebiz01.png') no-repeat center top;
}
@keyframes icoWrap {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}
@keyframes icoWrap2 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
#about .service .list.biz .icoWrap:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 252px;
  background: url('../img/about/ico_ebiz02.png') no-repeat center top;
  animation: icoWrap2 3s ease-in-out 0s infinite;
}
#about .service .list.biz .icoWrap:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 252px;
  background: url('../img/about/ico_ebiz03.png') no-repeat center top;
  animation: icoWrap 3s ease-in-out 1.5s infinite;
}
#about .service .list.web {
  width: 955px;
  height: 520px;
  padding: 125px 0 0 360px;
  margin: 0 -40px 200px auto;
  margin-bottom: 200px;
  /* background: url('../img/about/ico_web.png') no-repeat left top; */
  box-sizing: border-box;
}
#about .service .list.web .icoWrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 312px;
  padding: 48px;
  /* background-color: rgba(82, 163, 218, 0.4); */
  background-color: #badaf0;
  animation: web1 3s ease-in-out 0.6s alternate infinite;
}
@keyframes web1 {
  0% {
    background-color: #badaf0;
  }
  100% {
    background-color: #fff;
  }
}
#about .service .list.web .icoWrap > div {
  padding: 48px;
  /* background-color: rgba(82, 163, 218, 0.5); */
  background-color: #86bee5;
  animation: web2 3s ease-in-out 0.6s alternate infinite;
}
@keyframes web2 {
  0% {
    background-color: #86bee5;
  }
  100% {
    background-color: #d7eaf7;
  }
}
#about .service .list.web .icoWrap > div > div {
  padding: 48px;
  /* background-color: rgba(82, 163, 218, 0.6); */
  background-color: #66aede;
  animation: web3 3s ease-in-out 0.3s alternate infinite;
}
@keyframes web3 {
  0% {
    background-color: #66aede;
  }
  100% {
    background-color: #badaf0;
  }
}
#about .service .list.web .icoWrap > div > div > div {
  width: 120px;
  height: 120px;
  /* background-color: rgba(82, 163, 218, 0.7); */
  background-color: #58a6db;
  animation: web4 3s ease-in-out 0s alternate infinite;
}
@keyframes web4 {
  0% {
    background-color: #58a6db;
  }
  100% {
    background-color: #badaf0;
  }
}
#about .service .list.media .icoWrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 364px;
  height: 364px;
  padding: 22px;
  background-color: #eae0f3;
  border-radius: 50%;
}
#about .service .list.media .icoWrap:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: calc(50% - 19px);
  top: calc(50% - 19px);
  width: 38px;
  height: 38px;
  background-color: #9f70ca;
  border-radius: 50%;
}
#about .service .list.media .icoWrap > div {
  position: absolute;
  left: 144px;
  top: 22px;
  width: 120px;
  height: 120px;
  background-color: #decded;
  border-radius: 50%;
  animation: media1 5s ease-in-out 0s infinite;
}
@keyframes media1 {
  0% {
    background-color: #decded;
  }
  20% {
    background-color: #ab82d1;
  }
  40% {
    background-color: #b895d8;
  }
  60% {
    background-color: #c4a8de;
  }
  80% {
    background-color: #d0bae5;
  }
  100% {
    background-color: #decded;
  }
}
#about .service .list.media .icoWrap > div:nth-child(2) {
  left: 260px;
  top: 106px;
  background-color: #d0bae5;
  animation: media2 5s ease-in-out 0s infinite;
}
@keyframes media2 {
  0% {
    background-color: #d0bae5;
  }
  20% {
    background-color: #decded;
  }
  40% {
    background-color: #ab82d1;
  }
  60% {
    background-color: #b895d8;
  }
  80% {
    background-color: #c4a8de;
  }
  100% {
    background-color: #d0bae5;
  }
}
#about .service .list.media .icoWrap > div:nth-child(3) {
  left: 215px;
  top: 243px;
  background-color: #c4a8de;
  animation: media3 5s ease-in-out 0s infinite;
}
@keyframes media3 {
  0% {
    background-color: #c4a8de;
  }
  20% {
    background-color: #d0bae5;
  }
  40% {
    background-color: #decded;
  }
  60% {
    background-color: #ab82d1;
  }
  80% {
    background-color: #b895d8;
  }
  100% {
    background-color: #c4a8de;
  }
}
#about .service .list.media .icoWrap > div:nth-child(4) {
  left: 72px;
  top: 243px;
  background-color: #b895d8;
  animation: media4 5s ease-in-out 0s infinite;
}
@keyframes media4 {
  0% {
    background-color: #b895d8;
  }
  20% {
    background-color: #c4a8de;
  }
  40% {
    background-color: #d0bae5;
  }
  60% {
    background-color: #decded;
  }
  80% {
    background-color: #ab82d1;
  }
  100% {
    background-color: #b895d8;
  }
}
#about .service .list.media .icoWrap > div:nth-child(5) {
  left: 28px;
  top: 107px;
  background-color: #ab82d1;
  animation: media5 5s ease-in-out 0s infinite;
}
@keyframes media5 {
  0% {
    background-color: #ab82d1;
  }
  20% {
    background-color: #b895d8;
  }
  40% {
    background-color: #c4a8de;
  }
  60% {
    background-color: #d0bae5;
  }
  80% {
    background-color: #decded;
  }
  100% {
    background-color: #ab82d1;
  }
}
#about .photo2 img {
  max-width: 100%;
}


#contact .introduce {
  font-size: 58px;
  line-height: 76px;
}
#contact .introduce p.txt {
  margin: 50px 0 160px;
  font-size: 24px;
  line-height: 40px;
}
#contact .introduce .mail {
  display: inline-block;
  font-size: 24px;
  line-height: 40px;
  color: #87a81d;
  font-family: 'notoB';
  border-bottom: 1px solid #87a81d;
}
#contact .introduce .address {
  position: relative;
  margin-top: 40px;
  font-size: 24px;
  line-height: 34px;
}
#contact .introduce .address .link_area {
  position: absolute;
  right: 100px;
  bottom: 0;
  padding-left: 22px;
  line-height: 70px;
  font-size: 24px;
  font-family: 'notoB';
}
#contact .introduce .address .link_area a {
  position: relative;
  z-index: 1;
}
#contact .introduce .address .link_area::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 70px;
  height: 70px;
  background-color: #aace37;
  border-radius: 50%;
}

#contact .introduce #map .tips {
  font-size: 12px;
}




/******************************************************************************
  TAB
*******************************************************************************/
@media screen and (max-width: 1280px) {
  body {
    min-width: auto;
  }

  header {
    padding: 30px 25px;
    box-sizing: border-box;
  }
  header .menu {
    right: 7px;
    top: 15px;
  }

  header .allMenu .inner {
    height: 100%;
    padding: 125px 0;
  }
  header .allMenu .close {
    right: 40px;
    top: 40px;
    width: 30px;
    height: 30px;
    background: url('../img/ico_close.png') no-repeat center center;
    background-size: 100% auto;
  }
  header .allMenu .tit {
    position: absolute;
    left: 85px;
    top: 195px;
    font-size: 19px;
  }
  header .allMenu .list {
    margin-left: 220px;
    padding: 0;
  }
  header .allMenu .list li {
    margin: 36px 0;
    font-size: 57px;
  }
  header .allMenu .info {
    position: absolute;
    right: 0;
    top: inherit;
    left: 107px;
    bottom: 123px;
    width: 250px;
    font-size: 19px;
    line-height: 28px;
  }
  header .allMenu .info a {
    padding-bottom: 0px;
    margin-bottom: 20px;
  }

  /* common */
  .inner {
    padding: 85px 25px;
  }
  #sub img.wide {
    width: calc(100% + 50px);
    max-width: none;
    margin: 0 -25px;
  }

  /* 메인화면 */
  .introduce .icolonb {
    font-size: 40px;
    line-height: 54px;
  }
  .introduce .icolonb li {
    height: 59px;
  }
  .introduce.active .icolonb .colon {
    animation: colon 0.5s ease-in-out 1s forwards;
  }
  @keyframes colon {
    0% {
      width: 0;
    }
    100% {
      width: 107px;
    }
  }

  .introduce .box {
    padding-left: 250px;
    margin-top: 89px;
  }
  .introduce .box .title {
    top: 35px;
    font-size: 19px;
  }
  .introduce .box .txt {
    font-size: 22px;
    line-height: 33px;
  }
  .introduce .box .txt li {
    height: 33px;
    padding-top: 33px;
  }
  @keyframes ibTxt {
    0% {
      padding-top: 33px;
    }
    100% {
      padding-top: 0;
    }
  }

  .tagList {
    margin: 90px 0 60px;
  }
  .tagList li {
    height: 65px;
    padding: 25px 0;
  }
  .tagList li img {
    height: 100%;
    margin-left: 100px !important;
  }
  .tagList li.list02 {
    margin-left: -770px;
  }

  .board {
    padding: 100px 0;
  }
  .bbsList li {
    padding: 0 25px;
    line-height: 100px;
  }
  .bbsList li a {
    font-size: 22px;
  }
  .bbsList li .date {
    padding: 0 40px;
    font-size: 22px;
  }

  .service .inner {
    padding-bottom: 220px;
  }
  .service .inner > .title {
    top: 72px;
    font-size: 19px;
  }
  .service-swiper {
    margin-left: 210px !important;
  }
  .service-swiper .swiper-slide {
    width: 330px;
  }
  .service-swiper .swiper-slide img {
    max-width: 100%;
  }
  .service-swiper .title {
    margin: 25px 0 15px 0;
    font-size: 24px;
  }
  .service-swiper .txt {
    font-size: 15px;
    line-height: 24px;
    word-break: keep-all;
  }

  .members .inner {
    padding: 110px 25px 65px 25px;
  }
  .members .inner h2.title {
    left: 25px;
    top: -95px;
    font-size: 42px;
    line-height: 60px;
  }
  .members .list {
    margin-top: 30px;
  }
  .members .list li {
    padding: 0 17px;
    box-sizing: border-box;
  }
  .members .list li .job {
    margin: 28px 0 0;
    font-size: 15px;
  }
  .members .list li img {
    max-width: 100%;
  }

  .contact {
    flex-wrap: wrap;
    margin-top: 60px;
    padding-top: 60px;
    font-size: 13px;
    line-height: 18px;
  }
  .contact > * {
    padding: 0 !important;
    font-size: 15px;
    line-height: 24px;
  }
  .contact .title {
    display: block;
    margin-bottom: 25px;
    min-width: 100%;
    font-size: 24px;
  }

  footer {
    font-size: 14px;
    line-height: 90px;
  }
  footer .inner {
    padding: 0 25px;
  }

  /***** 회사소개 *****/
  #about .ci {
    display: none;
  }
  #about .greetings .title {
    margin: 80px 0 20px 0;
    font-size: 44px;
    line-height: 49px;
  }
  #about .greetings .txt {
    font-size: 22px;
    line-height: 34px;
  }
  #about .photo {
    height: 450px;
    margin-top: 80px;
  }

  #about .service .list {
    padding: 70px 0 0 180px;
  }
  #about .service .list dt {
    height: 60px;
    padding-top: 60px;
    margin-bottom: 5px;
    font-size: 38px;
  }
  #about .service .list dd.subTit {
    height: 55px;
    padding-top: 55px;
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 28px;
  }
  #about .service .list dd.subTit br {
    display: none;
  }
  #about .service .list dd {
    height: 30px;
    padding-top: 30px;
    font-size: 17px;
    line-height: 32px;
  }
  @keyframes list {
    0% {
      padding-top: 55px;
    }
    100% {
      padding-top: 0;
    }
  }

  #about .service .list.biz {
    height: 270px;
    margin-bottom: 170px;
  }
  #about .service .list.biz .icoWrap {
    height: 250px;
    width: 257px;
    background: url('../img/about/ico_ebiz01.png') no-repeat center top;
    background-size: 80% auto;
  }
  #about .service .list.biz .icoWrap:before {
    width: 100%;
    height: 257px;
    background: url('../img/about/ico_ebiz02.png') no-repeat center bottom;
    background-size: 100% auto;
  }
  #about .service .list.biz .icoWrap:after {
    width: 100%;
    height: 257px;
    background: url('../img/about/ico_ebiz03.png') no-repeat center bottom;
    background-size: 50% auto;
  }

  #about .service .list.web {
    width: auto;
    height: 310px;
    padding: 70px 0 0 180px;
    margin: 0;
    margin-bottom: 120px;
  }
  #about .service .list.web .icoWrap {
    width: auto;
    padding: 35px;
  }
  #about .service .list.web .icoWrap > div {
    padding: 35px;
  }
  #about .service .list.web .icoWrap > div > div {
    padding: 35px;
  }
  #about .service .list.web .icoWrap > div > div > div {
    width: 40px;
    height: 40px;
  }


  #about .service .list.media {
    height: 240px;
  }
  #about .service .list.media .icoWrap {
    width: 190px;
    height: 190px;
    padding: 30px;
  }
  #about .service .list.media .icoWrap:before {
    left: calc(50% - 14px);
    top: calc(50% - 14px);
    width: 28px;
    height: 28px;
  }
  #about .service .list.media .icoWrap > div {
    left: 90px;
    top: 13px;
    width: 72px;
    height: 72px;
  }
  #about .service .list.media .icoWrap > div:nth-child(2) {
    left: 162px;
    top: 66px;
  }
  #about .service .list.media .icoWrap > div:nth-child(3) {
    left: 134px;
    top: 151px;
  }
  #about .service .list.media .icoWrap > div:nth-child(4) {
    left: 45px;
    top: 151px;
  }
  #about .service .list.media .icoWrap > div:nth-child(5) {
    left: 17px;
    top: 66px;
  }

  #contact .introduce p.txt {
    margin: 35px 0 90px;
    font-size: 19px;
    line-height: 33px;
  }
  #contact .introduce .mail {
    font-size: 19px;
    line-height: 30px;
  }
  #contact .introduce .address {
    margin-top: 25px;
    font-size: 20px;
    line-height: 29px;
  }
  #contact .introduce .address .link_area {
    position: relative;
    right: 0;
    margin-top: 85px;
    padding-left: 22px;
    line-height: 55px;
    font-size: 18px;
  }
  #contact .introduce .address .link_area::before {
    width: 55px;
    height: 55px;
  }
  #contact .introduce .mapWrap {
    position: relative;
    height: 560px;
    overflow: hidden;
  }
  #contact .introduce #map {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  /***** 프로젝트 *****/
  .project .list li {
    width: 30%;
    margin: 0 0 7% 0;
  }
  .project .list li:nth-child(3n-1) {
    margin: 0 5% ;
  }
  .project .list li a span {
    display: none;
  }
  .project .list li .photo {
    background-size: 100% auto !important;
  }
  .project .list li a:hover .photo {
    animation: none;
  }

  /****************************** 서브페이지 ******************************/
  /* 서브공통 */
  #sub .inner {
    padding: 85px 25px;
  }
  #sub .title {
    font-size: 38px;
  }
  #sub .txt {
    font-size: 18px;
    line-height: 32px;
  }

  #sub .top {
    height: 680px;
    background-size: auto 100% !important;
  }
  #sub .top .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 85px 25px;
  }
  #sub .top .title {
    margin: 0 0 20px 0;
    font-size: 50px;
  }
  #sub .top .txt {
    font-size: 20px;
    line-height: 32px;
  }

  #sub .concept .title {
    margin-bottom: 30px;
    font-size: 38px;
  }
  #sub .concept > .inner {
    padding: 85px 25px 0 25px;
  }
  #sub .concept > .inner > p.txt {
    padding-right: 230px;
  }
  #sub .concept > .inner > p.txt br {
    display: none;
  }
  #sub .infoWrap {
    left: inherit;
    right: 25px;
    top: 170px;
    max-width: 230px;
    min-width: 120px;
    margin-left: 0;
  }
  #sub .infoWrap dl.info {
    margin-bottom: 35px;
  }
  #sub .infoWrap dt {
    font-size: 15px;
  }
  #sub .infoWrap dd {
    font-size: 18px;
  }
  #sub .concept .link_area {
    margin: 60px 0 85px;
  }

  .website .photo_list li {
    box-shadow: 10px 10px 18px rgba(0, 0, 0, 0.16);
    border-radius: 15px;
    overflow: hidden;
  }
  .website .photo_list li:nth-child(2) {
    margin: 0 30px;
  }

  .website .photo_list02 li img {
    box-shadow: 10px 10px 18px rgba(0, 0, 0, 0.12);
  }
  .website .photo_list02 li:nth-child(2) {
    margin: 60px 0;
  }

  #sub .link_area {
    margin: 85px 0;
    padding-left: 22px;
    line-height: 55px;
    font-size: 18px;
  }
  #sub .link_area::before {
    width: 55px;
    height: 55px;
  }

  #sub .concept .explain {
    padding: 80px 0 0 0;
  }

  #sub .website .explain {
    padding: 20px 0 10px 0;
  }
  #sub .website .explain .txt br {
    display: none;
  }

  #sub .build .txt {
    margin: 25px 0 65px;
  }

  #sub .btn-area {
    margin: 60px 0;
  }
  #sub .btn-area .next {
    width: 205px;
    height: 205px;
    font-size: 40px;
    line-height: 205px;
    text-indent: 0;
    text-align: center;
    background-color: #aace37;
    border-radius: 50%;
  }
  #sub .btn-area .next img {
    width: 32px;
    margin: -9px 0 0 10px;
    vertical-align: middle;
  }
  #sub .btn-area .next:hover {
    -webkit-transition: none;
    transition: none;
    width: 205px;
    height: 205px;
  }
  #sub .btn-area .next:hover img {
    animation: none;
  }


  /***** NH오픈플랫폼 *****/
  #sub.NH .concept .inner {
    padding-bottom: 85px;
    overflow: hidden;
  }
  #sub.NH .concept .link_area {
    margin: 60px 0 85px 0;
  }
  #sub.NH .website .inner {
    padding: 85px 25px;
  }
  #sub.NH .website img {
    max-width: calc(74% - 20px);
  }
  #sub.NH .website .img_mo {
    max-width: 25%;
    margin: 0 20px -90px 0;
  }
  #sub.NH .dev .preview {
    padding: 55% 25px 85px 25px;
    background: url('../img/nh/bg_dev.jpg') no-repeat 25px 0;
    background-size: 80% auto;
  }
  #sub.NH .dev .preview img {
    width: 72%;
    box-shadow: -10px 5px 10px rgba(0, 0, 0, 0.26);
  }


  /***** NH디지털혁신캠퍼스 *****/
  #sub.NH2 .concept {
    min-height: 470px;
  }
  #sub.NH2 .concept > .inner {
    padding: 85px 25px;
  }


  /***** NH디지털혁신캠퍼스 *****/
  #sub.DIGITAL .concept {
    min-height: 470px;
  }
  #sub.DIGITAL .concept > .inner {
    padding: 85px 25px;
  }
  #sub.DIGITAL .website .inner {
    padding: 85px 25px;
  }


  /***** 새마을금고 *****/
  #sub.MG .concept .link_area {
    margin: 60px 0 100px;
  }
  #sub.MG .website .inner {
    overflow: hidden;
  }
  #sub.MG .website .inner img {
    max-width: calc(100% + 160px);
    margin: 0 -80px;
  }
  #sub.MG .interaction .explain {
    padding: 0 0 80px 0;
  }
  #sub.MG .interaction .preview:nth-child(odd) {
    width: auto;
    margin: 60px 0;
  }
  #sub.MG .interaction .link_area {
    margin: 80px 0 30px;
  }
  #sub.MG .concept .explain {
    padding: 85px 0;
  }


  /***** 광주은행 *****/
  #sub.KJ .top {
    background: url('../img/kj/bg_kj.jpg') no-repeat center top;
  }
  #sub.KJ .website .photo_list li {
    box-shadow: none;
  }
  #sub.KJ .concept .link_area {
    margin: 60px 0 85px;
  }


  /***** 국민건강보험공단 *****/
  #sub.NHIS .concept {
    min-height: 500px;
  }
  #sub.NHIS .top {
    background: url('../img/nhis/bg_nhis.jpg') no-repeat center top;
  }
  #sub.NHIS .concept .inner {
    padding-bottom: 0;
  }

}




/******************************************************************************
  MOBILE
*******************************************************************************/
@media screen and (max-width: 768px) {
  .cursor.on {
    z-index: -1;
    width: 30px;
    height: 30px;
    background-color: #aace37;
  }

  header {
    padding: 14px 17px;
    box-sizing: border-box;
  }
  header h1 {
    width: auto;
    line-height: 16px;
  }
  header h1 img {
    height: 31px;
    vertical-align: middle;
  }
  header .menu {
    right: -4px;
    top: 0;
    width: 26px;
    height: 26px;
    padding: 17px;
    line-height: 4px;
    box-sizing: content-box;
  }
  header .menu span {
    width: 20px;
    height: 3px;
  }
  header .menu span:nth-child(2) {
    width: 13px;
  }

  header .allMenu .inner {
    height: 100%;
    padding: 70px 0;
  }
  header .allMenu .close {
    right: 20px;
    top: 20px;
    width: 21px;
    height: 21px;
    background: url('../img/ico_close.png') no-repeat center center;
    background-size: 100% auto;
  }
  header .allMenu .tit {
    position: absolute;
    left: 25px;
    top: 115px;
    font-size: 14px;
  }
  header .allMenu .list {
    margin-left: 120px;
    padding: 7px 0;
  }
  header .allMenu .list li {
    margin: 16px 0;
    font-size: 37px;
  }
  header .allMenu .info {
    position: absolute;
    right: 0;
    top: inherit;
    left: 40px;
    bottom: 53px;
    width: 150px;
    font-size: 13px;
    line-height: 18px;
  }
  header .allMenu .info a {
    padding-bottom: 0px;
    margin-bottom: 20px;
  }

  /* common */
  .inner {
    padding: 42px 17px;
  }
  .pc {
    display: none !important;
  }
  .mo {
    display: block !important;
  }
  img.mo {
    display: inline-block !important;
  }

  .ico_bg01,
  .ico_bg02,
  .ico_bg02_1,
  .ico_bg03,
  .ico_bg03_1,
  .ico_bg04,
  .ico_bg05 {
    display: none;
  }

  #sub img.wide {
    width: calc(100% + 34px);
    max-width: none;
    margin: 0 -17px;
  }

  /* 메인화면 */
  .introduce {
    padding-top: 59px;
  }
  .introduce .icolonb {
    font-size: 20px;
    line-height: 29px;
  }
  .introduce .icolonb li {
    height: 29px;
  }

  @keyframes colon {
    0% {
      width: 0;
    }
    100% {
      width: 52px;
    }
  }

  .introduce .box {
    padding-left: 50px;
    margin-top: 89px;
  }
  .introduce .box .title {
    left: 0;
    top: 24px;
    font-size: 13px;
  }
  @keyframes ibTitle {
    0% {
      opacity: 0;
      left: -50px;
    }
    100% {
      opacity: 1;
      left: -20px;
    }
  }
  .introduce .box .txt {
    font-size: 15px;
    line-height: 23px;
  }
  .introduce .box .txt li {
    height: 23px;
    padding-top: 23px;
  }
  @keyframes ibTxt {
    0% {
      padding-top: 23px;
    }
    100% {
      padding-top: 0;
    }
  }

  .tagList {
    margin: 70px 0 50px;
  }
  .tagList li {
    height: 28px;
    padding: 10px 0;
    margin-left: 180px;
  }
  .tagList li img {
    margin-left: 40px !important;
  }
  .tagList li.list02 {
    margin-left: -300px;
  }
  .tagList li.list03 {
    margin-left: 0;
  }

  .board {
    padding: 65px 0;
  }
  .bbsList li {
    padding: 0 17px;
    line-height: 17px;
  }
  .bbsList li a {
    padding: 10px 0;
    font-size: 13px;
    color: #252525;
  }
  .bbsList li .thumb {
    display: none;
  }
  .bbsList li .date {
    display: block;
    padding: 0;
    font-size: 13px;
  }

  .service .inner {
    padding-bottom: 163px;
  }
  .service .inner > .title {
    left: -9px;
    top: 32px;
    font-size: 13px;
  }
  .service-swiper {
    margin-left: 0 !important;
  }
  .service-swiper .swiper-slide {
    width: 217px;
  }
  .service-swiper .title {
    margin: 17px 0 10px 0;
    font-size: 17px;
  }
  .service-swiper .txt {
    font-size: 13px;
    line-height: 20px;
  }

  .members .inner {
    position: relative;
    padding: 81px 17px 50px 17px;
  }
  .members .inner h2.title {
    left: 17px;
    top: -46px;
    font-size: 20px;
    line-height: 29px;
  }
  .members .list {
    flex-wrap: wrap;
    margin-top: 0;
  }
  .members .list li {
    min-width: auto;
    width: 50%;
    padding: 0 23px;
    box-sizing: border-box;
  }
  .members .list li .job {
    margin: 8px 0 46px;
    font-size: 11px;
  }

  .contact {
    display: block;
    margin-top: 0;
    padding-top: 38px;
    font-size: 13px;
    line-height: 18px;
  }
  .contact > * {
    display: block;
    min-width: auto;
    padding: 0 !important;
    font-size: 13px;
    line-height: 18px;
  }
  .contact .title {
    margin-bottom: 15px;
    font-size: 17px;
  }
  .contact .tel {
    margin: 15px 0;
  }

  footer {
    font-size: 10px;
    line-height: 60px;
  }
  footer .inner {
    padding: 0 17px !important;
  }

  /***** 회사소개 *****/
  #about .inner {
    padding: 60px 17px
  }
  #about .photo {
    height: 202px;
    margin-top: 40px;
  }
  #about .photo img {
    left: 0;
    max-width: 100%;
    margin-left: 0;
  }
  #about .greetings .title {
    margin: 6px 0 20px 0;
    font-size: 20px;
    line-height: 29px;
  }
  #about .greetings .txt {
    font-size: 13px;
    line-height: 22px;
  }

  #about .service .list {
    padding: 100px 0 0 60px;
  }
  #about .service .list dt {
    height: 30px;
    padding-top: 30px;
    margin-bottom: 3px;
    font-size: 20px;
  }
  #about .service .list dd.subTit {
    height: 66px;
    padding-top: 66px;
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 22px;
  }
  #about .service .list dd {
    height: 22px;
    padding-top: 30px;
    font-size: 13px;
    line-height: 22px;
  }
  @keyframes list {
    0% {
      padding-top: 66px;
    }
    100% {
      padding-top: 0;
    }
  }
  #about .service .list.biz {
    height: 207px;
    margin-bottom: 120px;
  }
  #about .service .list.biz .icoWrap {
    height: 150px;
    width: 157px;
  }
  #about .service .list.biz .icoWrap:before {
    width: 100%;
    height: 157px;
  }
  #about .service .list.biz .icoWrap:after {
    width: 100%;
    height: 157px;
  }

  #about .service .list.web {
    width: auto;
    height: 280px;
    padding: 100px 0 0 60px;
    margin: 0;
    margin-bottom: 120px;
  }
  #about .service .list.web .icoWrap {
    padding: 20px;
  }
  #about .service .list.web .icoWrap > div {
    padding: 20px;
  }
  #about .service .list.web .icoWrap > div > div {
    padding: 20px;
  }
  #about .service .list.web .icoWrap > div > div > div {
    width: 30px;
    height: 30px;
  }

  #about .service .list.media {
    height: 185px;
  }
  #about .service .list.media .icoWrap {
    width: 110px;
    height: 110px;
    padding: 20px;
  }
  #about .service .list.media .icoWrap:before {
    left: calc(50% - 9px);
    top: calc(50% - 9px);
    width: 18px;
    height: 18px;
  }
  #about .service .list.media .icoWrap > div {
    left: 54px;
    top: 8px;
    width: 40px;
    height: 40px;
  }
  #about .service .list.media .icoWrap > div:nth-child(2) {
    left: 97px;
    top: 39px;
  }
  #about .service .list.media .icoWrap > div:nth-child(3) {
    left: 80px;
    top: 91px;
  }
  #about .service .list.media .icoWrap > div:nth-child(4) {
    left: 27px;
    top: 91px;
  }
  #about .service .list.media .icoWrap > div:nth-child(5) {
    left: 10px;
    top: 40px;
  }

  #contact .introduce p.txt {
    margin: 20px 0 30px;
    font-size: 15px;
    line-height: 23px;
  }
  #contact .introduce .mail {
    font-size: 15px;
    line-height: 17px;
    font-family: 'noto';
    border-bottom: 1px solid #87a81d;
  }
  #contact .introduce .address {
    margin-top: 10px;
    font-size: 13px;
    line-height: 22px;
  }
  #contact .introduce .address .link_area {
    margin-top: 60px;
    padding-left: 20px;
    line-height: 40px;
    font-size: 13px;
  }
  #contact .introduce .address .link_area::before {
    width: 40px;
    height: 40px;
  }
  #contact .introduce .mapWrap {
    height: 320px;
  }

  /***** 프로젝트 *****/
  .project {
    margin-top: 40px;
  }
  .project .list li {
    width: calc(50% - 10px);
    margin: 0 0 7% 0;
  }
  .project .list li:nth-child(3n-1){
    margin: 0;
  }
  .project .list li:nth-child(even){
    margin: 0 0 0 20px;
  }

  /****************************** 서브페이지 ******************************/
  /* 서브공통 */
  #sub .inner {
    padding: 70px 17px;
  }
  #sub .title {
    font-size: 20px;
  }
  #sub .txt {
    font-size: 13px;
    line-height: 23px;
  }
  #sub p.txt br {
    display: none;
  }

  #sub .top {
    height: 503px;
  }
  #sub .top .inner {
    padding: 70px 17px;
  }
  #sub .top .title {
    margin: 0 0 15px 0;
    font-size: 30px;
    line-height: 37px;
  }
  #sub .top .txt {
    width: 75%;
    font-size: 15px;
    line-height: 23px;
    word-break: keep-all;
  }
  #sub .top .txt br {
    display: none;
  }

  #sub .concept .title {
    margin-bottom: 20px;
    font-size: 20px;
  }
  #sub .concept > .inner {
    padding: 60px 17px 0 17px;
  }
  #sub .concept > .inner > p.txt {
    padding-right: 0;
    font-size: 13px;
    line-height: 23px;
    word-break: break-all;
  }
  #sub .concept > .inner > p.txt br {
    display: none;
  }

  #sub .concept .link_area {
    margin: 60px 0 0 0;
  }
  #sub .link_area {
    margin: 60px 0;
    padding-left: 18px;
    line-height: 40px;
    font-size: 13px;
  }
  #sub .link_area::before {
    width: 40px;
    height: 40px;
  }

  #sub .concept .explain {
    padding: 70px 0 0 0;
  }
  #sub .concept .explain .title {
    margin-bottom: 20px;
  }

  #sub .infoWrap {
    position: static;
    margin: 60px 0 0 0;
  }
  #sub .infoWrap dl.info {
    margin-bottom: 30px;
  }
  #sub .infoWrap dt {
    font-size: 13px;
    line-height: 22px;
  }
  #sub .infoWrap dd {
    font-size: 13px;
  }
  #sub .concept .link_area {
    margin: 10px 0 60px;
  }

  .website .photo_list li {
    box-shadow: 5px 5px 13px rgba(0, 0, 0, 0.16);
    border-radius: 5px;
  }
  .website .photo_list li:nth-child(2) {
    margin: 0 20px;
  }

  .website .photo_list02 li img {
    box-shadow: 5px 5px 13px rgba(0, 0, 0, 0.12);
  }
  .website .photo_list02 li:nth-child(2) {
    margin: 45px 0;
  }



  #sub .website .explain {
    padding: 20px 17px 10px 17px;
  }
  #sub .website .explain .title {
    margin-bottom: 25px;
  }

  #sub .build .txt {
    margin: 20px 0;
  }

  #sub .btn-area {
    margin: 37px 0 20px 0;
  }
  #sub .btn-area .next {
    width: 107px;
    height: 107px;
    font-size: 20px;
    line-height: 107px;
  }
  #sub .btn-area .next:hover {
    width: 107px;
    height: 107px;
  }
  #sub .btn-area .next img {
    width: 18px;
    margin: -3px 0 0 5px;
  }


  /***** NH오픈플랫폼 *****/
  #sub.NH .top {
    background: url('../img/nh/bg_m_nh.png') no-repeat center center;
    background-size: cover !important;
  }
  #sub.NH .concept .inner {
    padding-bottom: 70px;
  }
  #sub.NH .website .inner {
    padding: 70px 15px;
  }
  #sub.NH .dev .preview {
    background: url('../img/nh/bg_dev.jpg') no-repeat 17px 0;
    background-size: 80% auto;
  }


  /***** NH스마트고지서 *****/
  #sub.NH2 .top {
    background: url('../img/nh/bg_m_nh2.png') no-repeat center center;
    background-size: cover !important;
  }
  #sub.NH2 .concept {
    min-height: auto;
  }
  #sub.NH2 .concept > .inner {
    padding: 60px 17px 30px 17px;
  }


  /***** NH디지털혁신캠퍼스 *****/
  #sub.DIGITAL .concept {
    min-height: auto;
  }
  #sub.DIGITAL .concept > .inner {
    padding: 60px 17px 30px 17px;
  }
  #sub.DIGITAL .website .inner {
    padding: 70px 15px;
  }


  /***** 새마을금고 *****/
  #sub.MG .top {
    background: url('../img/mg/bg_m_mg.png') no-repeat center center;
    background-size: cover !important;
  }
  #sub.MG .concept > .inner {
    padding: 60px 17px 70px 17px;
  }
  #sub.MG .concept .link_area {
    margin: 60px 0 85px;
  }
  #sub.MG .website .inner {
    padding: 70px 0;
  }
  #sub.MG .website .inner img {
    max-width: calc(100% + 60px);
    margin: 0 -30px;
  }
  #sub.MG .interaction .inner {
    padding: 70px 15px 1px 15px;
  }
  #sub.MG .interaction .explain {
    padding: 0 0 30px 0;
  }
  #sub.MG .interaction .explain .title {
    margin-bottom: 20px;
  }
  #sub.MG .interaction .preview:nth-child(odd) {
    margin: 45px 0;
  }
  #sub.MG .interaction .link_area {
    margin: 40px 0;
  }
  #sub.MG .concept .explain {
    padding: 60px 0 0 0;
  }


  /***** 광주은행 *****/
  #sub.KJ .top {
    background: url('../img/kj/bg_m_kj.png') no-repeat center center;
    background-size: cover !important;
  }


  /***** 국민건강보험공단 *****/
  #sub.NHIS .top {
    background: url('../img/nhis/bg_m_nhis.png') no-repeat center center;
    background-size: cover !important;
  }
  #sub.NHIS .concept .inner {
    padding-bottom: 30px;
  }


}