@font-face {
  font-family: 'Pretendard-Regular';
  src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
html {
  font-family: 'Pretendard', "Noto Sans KR", sans-serif;
}

/* 노말라이즈 */
body,
ul,
li,
h1 {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

label[for] {
  cursor: pointer;
  user-select: none;
}

/* 라이브러리 */
.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.absolute-left {
  position: absolute;
  left: 0;
}

.absolute-right {
  position: absolute;
  right: 0;
}

.absolute-bottom {
  position: absolute;
  bottom: 0;
}

.absolute-top {
  position: absolute;
  top: 0;
}

.absolute-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.absolute-middle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.absolute-middle.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.relative {
  position: relative;
}

.cell {
  float: left;
  box-sizing: border-box;
}

.cell-right {
  float: right;
  box-sizing: border-box;
}

.row::after {
  content: "";
  display: block;
  clear: both;
}

.clear-both {
  clear: both;
}

.img-box>img {
  width: 100%;
  display: block;
}

.con {
  margin-left: auto;
  margin-right: auto;
}

.margin-0-auto {
  margin-left: auto;
  margin-right: auto;
}

.text-align-center {
  text-align: center;
}

.text-align-right {
  text-align: right;
}

.line-height-0 {
  line-height: 0;
}

.line-height-0>* {
  line-height: normal;
}

.width-30px {
  width: 30px;
}

.width-35px {
  width: 35px;
}

.width-40px {
  width: 35px;
}

.width-45px {
  width: 35px;
}

.width-50px {
  width: 50px;
}

.width-80px {
  width: 80px;
}

.width-100px {
  width: 100px;
}

.width-100p {
  width: 100%;
}

.width-60p {
  width: 60%;
}

.width-55p {
  width: 55%;
}

.width-50p {
  width: 50%;
}

.width-45p {
  width: 45%;
}

.width-40p {
  width: 40%;
}

.width-30p {
  width: 30%;
}

.width-35p {
  width: 35%;
}

.width-100p-except-30px {
  width: calc(100% - 30px);
}

.width-100p-except-35px {
  width: calc(100% - 35px);
}

.width-100p-except-40px {
  width: calc(100% - 40px);
}

.width-100p-except-50px {
  width: calc(100% - 50px);
}

.width-100p-except-80px {
  width: calc(100% - 80px);
}

.width-100p-except-100px {
  width: calc(100% - 100px);
}

.height-100p {
  height: 100%;
}

.height-50p {
  height: 50%;
}

.border-box {
  box-sizing: border-box;
}

.font-size-dot-8rem {
  font-size: .8rem;
}

.table-row {
  display: table;
}

.table-row.row::after {
  display: inline;
  clear: non;
}

.table-row>.cell {
  float: none;
  display: table-cell;
}

.border-red {
  border: 10px solid red;
}

.border-green {
  border: 10px solid green;
}

.border-blue {
  border: 10px solid blue;
}

.border-gold {
  border: 10px solid gold;
}

.border-pink {
  border: 10px solid pink;
}

/* 라이브러리 - flex */
*>.flex {
  display: flex;
}

*>.flex-grow-1 {
  flex-grow: 1;
}

*>.flex-jc-c {
  justify-content: center;
}

*>.flex-jc-s {
  justify-content: flex-start;
}

*>.flex-jc-e {
  justify-content: flex-end;
}

*>.flex-jc-sb {
  justify-content: space-between;
}

*>.flex-jc-sa {
  justify-content: space-around;
}

*>.flex-ai-c {
  align-items: center;
}

*>.flex-ai-s {
  align-items: flex-start;
}

*>.flex-ai-e {
  align-items: flex-end;
}

*>.flex-as-s {
  align-self: stretch;
}

*>.flex-as-c {
  align-self: center;
}

*>.flex-as-s {
  align-self: flex-start;
}

*>.flex-as-e {
  align-self: flex-end;
}

*>.flex-column-nowrap {
  flex-flow: column nowrap;
}

*>.flex-column-wrap {
  flex-flow: column wrap;
}

*>.flex-row-wrap {
  flex-flow: row wrap;
}

.flex-ch-basis-0>* {
  flex-basis: 0;
}

*>.flex-1-0-0 {
  flex: 1 0 0;
}

/* 커스텀 */

.con {
  max-width: 1194px;
}

body {
  min-width: 320px
}


/* 탑바 */
.top-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  z-index: 100;
  transition: color .3s, background-color .3s;
  font-size: 1rem;
}

.top-bar>.top-bar-container {
  height: 100%;
  margin: 0 50px;
  padding: 30px 80px;
  transition: padding .3s;
}

.top-bar>.top-bar-container>a {
  display: block;
  width: 200px;
}

.top-bar>.top-bar-container>.logo {
  display: block;
}

.top-bar>.top-bar-container>.logo-color {
  display: none;
}
.top-bar>.top-bar-container>.top-bar-menu>li{
  position:relative;
  cursor: pointer;
}

.top-bar>.top-bar-container>.top-bar-menu>li>a {
  display: block;
  padding: 25px 25px;
  transition: color .3s, background-color .3s;
}

.top-bar>.top-bar-container>.top-bar-menu>li:hover>a {
  color: #fff;
  background-color: none;
  color:#357afc;
}
.top-bar>.top-bar-container>.top-bar-menu>li>ul{
  display: none;
  position:absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width:200px;
  background-color: #ffffffea;
  text-align: center;
  box-shadow: 0px 0px 10px #00000028;
  padding: 10px 0;
}
.top-bar>.top-bar-container>.top-bar-menu>li:hover>ul{
  display: block;
}
.top-bar>.top-bar-container>.top-bar-menu>li>ul>li{
  transition:color .1s, background-color .1s;
}
.top-bar>.top-bar-container>.top-bar-menu>li>ul>li>a{
  color:#000000;
}
.top-bar>.top-bar-container>.top-bar-menu>li>ul>li:hover{
  background-color: rgba(16, 100, 255, 0.822);
}
.top-bar>.top-bar-container>.top-bar-menu>li>ul>li:hover>a{
  color:#ffffff;
}
.top-bar>.top-bar-container>.top-bar-menu>li>ul>li>a{
  display: block;
  padding:15px 0px;
}

@media screen and (max-width:1000px) {
  .top-bar {
    display: none;
  }
}

/* 탑바 스크롤 */
.top-bar-fly .top-bar {
  background-color: #fff;
  color: #000;
  box-shadow: 3px 0px 15px rgba(0, 0, 0, 0.15);
}

.top-bar-fly .top-bar>.top-bar-container>.top-bar-menu>li:hover>a{
  background-color: #125fef;
  color:white;
}
.top-bar-fly .top-bar>.top-bar-container {
  padding: 0;
}

.top-bar-fly .top-bar>.top-bar-container>.logo {
  display: none;
}

.top-bar-fly .top-bar>.top-bar-container>.logo-color {
  display: block;
}


/* 모바일 탑바 */
.mobile-top-bar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  width: 100%;
  background-color: #fff;
  padding: 10px 0;
  box-shadow: 3px 0px 15px rgba(0, 0, 0, 0.15);
  flex-grow: 1;
}

.mobile-top-bar>div:first-child {
  width: 55px;
}

.mobile-top-bar>.mobile-logo {
  width: 30px;
}

.mobile-top-bar>.mobile-menu {
  width: 25px;
  height: 18px;
  margin-right: 30px;
  position: relative;
}

.mobile-top-bar>.mobile-menu>div {
  width: 100%;
  height: 3px;
  background-color: #484b5c;
  position: absolute;
  top: 0;
  left: 0;
}

.mobile-top-bar>.mobile-menu>div {
  transition: top .3s .3s, transform .3s;
}

.mobile-top-bar>.mobile-menu>div:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0s .3s;
}

.mobile-top-bar>.mobile-menu>div:last-child {
  top: calc(100% - 3px);
  transition: top .3s .3s, transform .3s;
}

.mobile-top-bar>.mobile-menu-active>div:first-child {
  top: 50%;
  transform: rotate(45deg);
  transition: top .3s, transform .3s .3s;
}

.mobile-top-bar>.mobile-menu-active>div:nth-child(2) {
  opacity: 0;
  transition: opacity 0s .3s;
}

.mobile-top-bar>.mobile-menu-active>div:last-child {
  top: 50%;
  transform: rotate(-45deg);
  transition: top .3s, transform .3s .3s;
}

@media screen and (min-width:1000px) {
  .mobile-top-bar {
    display: none;
  }

}

.mobile-top-bar>.mobile-menu-pop-up {
  position: absolute;
  top: -100vh;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: white;
  z-index: -1;
  transition: top .3s;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-80%);
  text-align: center;
  font-size: 26px;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>.img-box {
  width: 100px;
  padding-top: 30%;
  margin: 0 auto;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li {
  color: #2B2C3E;
  cursor: pointer;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li:not(:first-child) {
  border-top: 1px solid #cccccc;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li:hover {
  color: #125FEF;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li>a{
  display: block;
  padding: 20px;
}
.main-page .mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>.main-page-btn {
  color:#125FEF;
}

.history-page .mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>.history-page-btn{
  color:#125FEF;
}

.portfolio-page .mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>.portfolio-page-btn {
  color:#125FEF;
}
.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li>ul{
  height: 0;
  font-size: 1.2rem ;
  color:#000000;
  overflow: hidden;
  transition:height .3s;
}
.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li.active>ul{
  height: 136px;
}

.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li>ul>li>a{
  display: block;
  padding:10px;
}
.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li>ul>li:last-child{
  padding-bottom: 10px;
}
.mobile-top-bar>.mobile-menu-pop-up>.mobile-content-box>li>ul>li:hover{
  color:#125FEF
}


/* footer 시작 */
.footer {
  background-color: black;
  color: white;
}

.footer>.footer-box {
  padding: 80px 100px;
  opacity: .8;
  padding-left: 100px;
  padding-right: 100px;
}

.footer>.footer-box>.footer-title {
  font-size: 1.2rem;
}

.footer>.footer-box>.footer-title>img {
  display: block;
  width: 50px;
  font-weight: 200;
}

.footer>.footer-box>.footer-text-box {
  line-height: 2rem;
}

.footer>.footer-box>.footer-text-box>div>div {
  padding-right: 20px;
}

.footer>.footer-box>.footer-address {
  line-height: 2rem;
}

@media screen and (max-width:700px) {

  .footer>.footer-box {
    padding:20px 30px;
  }
  .footer>.footer-box>.footer-text-box{
    display: block;
    margin:0 auto;
  }
  .footer>.footer-box>.footer-title{
    justify-content: center;
    font-size: 1rem;
  }
  .footer>.footer-box>.footer-title>img{
    width:30px;
  }
  .footer>.footer-box>.footer-text-box{
    line-height: 1.5rem;
  }
  .footer>.footer-box>.footer-text-box>div{
    justify-content: center;
    text-align: center;
    font-size: .8rem;
  }
  .footer>.footer-box>.footer-text-box>div:last-child{
    display: none;
  }
  .footer>.footer-box>.footer-text-box>div>div{
    padding-right: 0px;
    padding-left: 10px;
  }
  .footer>.footer-box>.footer-address{
    display: none;
  }
}