@import url(/css/font.css);
*, ::after, ::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body, html {
  width: 100%;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: #000028;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-scrollbar: none;
  scroll-behavior: smooth;
}
@media (max-width: 992px) {
  body, html {
    width: 100dvw;
    font-size: 16px;
  }
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    text-decoration: none;
    color: inherit;
  }
}
a:focus-visible {
  text-decoration: none;
  color: inherit;
  outline-color: #4747D4;
}

button, input, select, textarea {
  background: 0 0;
  border: 0;
  font: inherit;
  color: inherit;
  outline: 0;
}

button {
  cursor: pointer;
}

img, video {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.main-con {
  word-break: keep-all;
  width: 100%;
}

section {
  position: relative;
  width: 100%;
  min-height: 100vh;
}

.container {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 0 80px;
  width: 100%;
  max-width: 1920px;
  height: 100%;
}

.tit {
  font-size: 64px;
  text-transform: uppercase;
}

.tit-sub {
  font-size: 20px;
  color: #484856;
}

@media (max-width: 1400px) {
  .container {
    padding: 0 60px;
    max-width: 100%;
  }
}
@media (max-width: 992px) {
  section {
    min-height: 0;
  }
  .container {
    padding: 0 40px;
    height: auto;
  }
}
@media (max-width: 768px) {
  .container {
    padding: 0 24px;
  }
}
@media (max-width: 576px) {
  .container {
    padding: 0 16px;
  }
}
.height-up {
  animation: height-up 0.5s ease 1 normal both;
}

@keyframes height-up {
  0% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
}
@keyframes scale-up {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
.visual {
  background-color: #fff;
  height: 200vh;
  overflow-x: hidden;
}
.visual .container {
  justify-content: flex-start;
  padding-top: 5rem;
}
.visual .txt-area {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 80px;
}
.visual .txt-area p {
  margin-right: 12px;
}
.visual .txt-area span {
  opacity: 0.5;
}
.visual .txt-item {
  transform: scaleY(0);
  transform-origin: bottom;
}
@media (max-width: 1920px) {
  .visual .txt-area {
    font-size: 64px;
  }
}
@media (max-width: 1400px) {
  .visual .txt-area {
    font-size: 48px;
  }
}
@media (max-width: 992px) {
  .visual {
    padding: 40px 0;
    height: auto;
  }
  .visual .txt-area {
    width: auto;
    font-size: 32px;
  }
  .visual .txt-area .txt-item {
    width: auto;
    opacity: 1;
  }
  .visual .txt-area p {
    margin-right: 8px;
  }
}
@media (max-width: 768px) {
  .visual .txt-area {
    font-size: 28px;
  }
}

.link {
  background-color: #fff;
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2);
  overflow-x: hidden;
}
.link .container {
  gap: 30px;
}
.link-head {
  display: flex;
  align-items: self-end;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.link-head .tit {
  font-size: 80px;
  text-transform: uppercase;
  line-height: 1;
}
.link-head .line {
  flex: auto;
  position: relative;
  height: 12px;
  margin-bottom: 10px;
  background-color: #000028;
}
.link-head .dot {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 4px solid #fff;
}
.link-list {
  display: flex;
  gap: 24px;
  width: 0;
}
.link-item {
  flex: 1 1 10%;
  transition: flex 0.5s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .link-item:hover {
    flex: 1 1 20%;
  }
}
.link-item:focus-visible {
  flex: 1 1 20%;
}
.link-unit {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  gap: 40px;
  width: 100%;
  height: 100%;
  padding: 3rem;
  background: url(/img/link-img02.jpg) no-repeat center/cover;
  white-space: nowrap;
}
.link-unit::after {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  content: "";
  width: 100%;
  height: 100%;
  backdrop-filter: blur(10px) brightness(0.3);
  transition: backdrop-filter 0.3s;
}
.link-unit .tit-box {
  text-align: right;
}
.link-unit .tit {
  margin-top: 10px;
  font-size: 60px;
  font-weight: 600;
  text-transform: uppercase;
  text-shadow: 0 8px 16px rgba(0, 0, 0, 0.16);
  line-height: 1;
  color: #fff;
}
.link-unit .txt {
  position: relative;
  font-size: 20px;
  font-weight: 300;
  color: #fff;
  text-transform: capitalize;
  opacity: 0.7;
}
.link-unit .info {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 0;
  overflow: hidden;
  color: #fff;
  font-size: 16px;
  text-align: left;
  transition: width 0.7s;
  white-space: nowrap;
}
.link-unit .line {
  display: inline-block;
  flex: 1 1 10%;
  height: 2px;
  vertical-align: super;
  background-color: #fff;
  content: "";
}
@media (hover: hover) and (pointer: fine) {
  .link-unit:hover::after {
    backdrop-filter: blur(2px) brightness(0.5);
  }
  .link-unit:hover .info {
    width: 100%;
    transition: width 1s;
  }
}
.link-unit:focus-visible::after {
  backdrop-filter: blur(2px) brightness(0.5);
}
.link-unit:focus-visible .info {
  width: 100%;
  transition: width 1s;
}
@media (max-width: 1920px) {
  .link-unit .tit {
    font-size: 48px;
  }
}
@media (max-width: 1400px) {
  .link-head .tit {
    font-size: 64px;
  }
  .link-unit {
    padding: 2rem;
  }
  .link-unit .tit {
    font-size: 36px;
  }
}
@media (max-width: 992px) {
  .link {
    box-shadow: none;
  }
  .link .container {
    padding-top: 0;
  }
  .link-list {
    gap: 12px;
  }
  .link-head {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
  .link-head .tit {
    font-size: 48px;
  }
  .link-unit .tit {
    font-size: 32px;
  }
  .link-unit .txt {
    font-size: inherit;
  }
  .link-unit .info {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .link {
    padding: 40px 0;
  }
  .link .container {
    gap: 20px;
  }
  .link-head {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .link-head .tit {
    font-size: 36px;
    letter-spacing: -1px;
  }
  .link-head .line {
    height: 8px;
  }
  .link-head .dot {
    width: 16px;
    height: 16px;
  }
  .link-list {
    flex-direction: column;
  }
  .link-unit {
    gap: 20px;
    padding: 1.5rem 2rem;
  }
  .link-unit .tit-box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
  }
  .link-unit .tit {
    margin-top: 0;
    font-size: 24px;
  }
  .link-unit .txt {
    font-size: 14px;
  }
  .link-unit .info {
    width: 100%;
  }
  .link-unit .info .line {
    height: 1px;
  }
}

.profile {
  background-color: #fff;
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2);
}
.profile .container {
  flex-direction: row;
  align-items: flex-start;
  -moz-column-gap: 10%;
       column-gap: 10%;
  padding-top: 5rem;
}
.profile-head {
  flex: 0 1 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  position: sticky;
  top: 2rem;
  left: 0;
  height: 100%;
}
.profile-head .img {
  margin-bottom: 24px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
.profile-head img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.profile .name {
  margin-bottom: 12px;
  font-size: 32px;
}
.profile .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}
.profile .tag span {
  padding: 6px 20px;
  border-radius: 100px;
  background-color: #E8E8E8;
  font-size: 16px;
  text-align: center;
}
.profile-body {
  flex: 0 1 calc(90% - 240px);
}
.profile-box {
  padding: 30px 60px;
  border: 1px solid #7E7E94;
  margin-bottom: 24px;
}
.profile-tit {
  margin-bottom: 24px;
  font-size: 52px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile .skill-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
}
.profile .skill-item:last-child {
  margin-bottom: 0;
}
.profile .skill-head {
  display: flex;
  align-items: baseline;
  flex: 0 1 240px;
  gap: 8px;
}
.profile .skill .icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
}
.profile .skill img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.profile .skill-body {
  flex: 1 1 10%;
}
.profile .skill .txt {
  font-size: 16px;
  margin-bottom: 12px;
}
.profile .skill .progress {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #7E7E94;
  font-size: 14px;
}
.profile .skill .progress .bar-0 .line {
  width: 0%;
}
.profile .skill .progress .bar-1 .line {
  width: 1%;
}
.profile .skill .progress .bar-2 .line {
  width: 2%;
}
.profile .skill .progress .bar-3 .line {
  width: 3%;
}
.profile .skill .progress .bar-4 .line {
  width: 4%;
}
.profile .skill .progress .bar-5 .line {
  width: 5%;
}
.profile .skill .progress .bar-6 .line {
  width: 6%;
}
.profile .skill .progress .bar-7 .line {
  width: 7%;
}
.profile .skill .progress .bar-8 .line {
  width: 8%;
}
.profile .skill .progress .bar-9 .line {
  width: 9%;
}
.profile .skill .progress .bar-10 .line {
  width: 10%;
}
.profile .skill .progress .bar-11 .line {
  width: 11%;
}
.profile .skill .progress .bar-12 .line {
  width: 12%;
}
.profile .skill .progress .bar-13 .line {
  width: 13%;
}
.profile .skill .progress .bar-14 .line {
  width: 14%;
}
.profile .skill .progress .bar-15 .line {
  width: 15%;
}
.profile .skill .progress .bar-16 .line {
  width: 16%;
}
.profile .skill .progress .bar-17 .line {
  width: 17%;
}
.profile .skill .progress .bar-18 .line {
  width: 18%;
}
.profile .skill .progress .bar-19 .line {
  width: 19%;
}
.profile .skill .progress .bar-20 .line {
  width: 20%;
}
.profile .skill .progress .bar-21 .line {
  width: 21%;
}
.profile .skill .progress .bar-22 .line {
  width: 22%;
}
.profile .skill .progress .bar-23 .line {
  width: 23%;
}
.profile .skill .progress .bar-24 .line {
  width: 24%;
}
.profile .skill .progress .bar-25 .line {
  width: 25%;
}
.profile .skill .progress .bar-26 .line {
  width: 26%;
}
.profile .skill .progress .bar-27 .line {
  width: 27%;
}
.profile .skill .progress .bar-28 .line {
  width: 28%;
}
.profile .skill .progress .bar-29 .line {
  width: 29%;
}
.profile .skill .progress .bar-30 .line {
  width: 30%;
}
.profile .skill .progress .bar-31 .line {
  width: 31%;
}
.profile .skill .progress .bar-32 .line {
  width: 32%;
}
.profile .skill .progress .bar-33 .line {
  width: 33%;
}
.profile .skill .progress .bar-34 .line {
  width: 34%;
}
.profile .skill .progress .bar-35 .line {
  width: 35%;
}
.profile .skill .progress .bar-36 .line {
  width: 36%;
}
.profile .skill .progress .bar-37 .line {
  width: 37%;
}
.profile .skill .progress .bar-38 .line {
  width: 38%;
}
.profile .skill .progress .bar-39 .line {
  width: 39%;
}
.profile .skill .progress .bar-40 .line {
  width: 40%;
}
.profile .skill .progress .bar-41 .line {
  width: 41%;
}
.profile .skill .progress .bar-42 .line {
  width: 42%;
}
.profile .skill .progress .bar-43 .line {
  width: 43%;
}
.profile .skill .progress .bar-44 .line {
  width: 44%;
}
.profile .skill .progress .bar-45 .line {
  width: 45%;
}
.profile .skill .progress .bar-46 .line {
  width: 46%;
}
.profile .skill .progress .bar-47 .line {
  width: 47%;
}
.profile .skill .progress .bar-48 .line {
  width: 48%;
}
.profile .skill .progress .bar-49 .line {
  width: 49%;
}
.profile .skill .progress .bar-50 .line {
  width: 50%;
}
.profile .skill .progress .bar-51 .line {
  width: 51%;
}
.profile .skill .progress .bar-52 .line {
  width: 52%;
}
.profile .skill .progress .bar-53 .line {
  width: 53%;
}
.profile .skill .progress .bar-54 .line {
  width: 54%;
}
.profile .skill .progress .bar-55 .line {
  width: 55%;
}
.profile .skill .progress .bar-56 .line {
  width: 56%;
}
.profile .skill .progress .bar-57 .line {
  width: 57%;
}
.profile .skill .progress .bar-58 .line {
  width: 58%;
}
.profile .skill .progress .bar-59 .line {
  width: 59%;
}
.profile .skill .progress .bar-60 .line {
  width: 60%;
}
.profile .skill .progress .bar-61 .line {
  width: 61%;
}
.profile .skill .progress .bar-62 .line {
  width: 62%;
}
.profile .skill .progress .bar-63 .line {
  width: 63%;
}
.profile .skill .progress .bar-64 .line {
  width: 64%;
}
.profile .skill .progress .bar-65 .line {
  width: 65%;
}
.profile .skill .progress .bar-66 .line {
  width: 66%;
}
.profile .skill .progress .bar-67 .line {
  width: 67%;
}
.profile .skill .progress .bar-68 .line {
  width: 68%;
}
.profile .skill .progress .bar-69 .line {
  width: 69%;
}
.profile .skill .progress .bar-70 .line {
  width: 70%;
}
.profile .skill .progress .bar-71 .line {
  width: 71%;
}
.profile .skill .progress .bar-72 .line {
  width: 72%;
}
.profile .skill .progress .bar-73 .line {
  width: 73%;
}
.profile .skill .progress .bar-74 .line {
  width: 74%;
}
.profile .skill .progress .bar-75 .line {
  width: 75%;
}
.profile .skill .progress .bar-76 .line {
  width: 76%;
}
.profile .skill .progress .bar-77 .line {
  width: 77%;
}
.profile .skill .progress .bar-78 .line {
  width: 78%;
}
.profile .skill .progress .bar-79 .line {
  width: 79%;
}
.profile .skill .progress .bar-80 .line {
  width: 80%;
}
.profile .skill .progress .bar-81 .line {
  width: 81%;
}
.profile .skill .progress .bar-82 .line {
  width: 82%;
}
.profile .skill .progress .bar-83 .line {
  width: 83%;
}
.profile .skill .progress .bar-84 .line {
  width: 84%;
}
.profile .skill .progress .bar-85 .line {
  width: 85%;
}
.profile .skill .progress .bar-86 .line {
  width: 86%;
}
.profile .skill .progress .bar-87 .line {
  width: 87%;
}
.profile .skill .progress .bar-88 .line {
  width: 88%;
}
.profile .skill .progress .bar-89 .line {
  width: 89%;
}
.profile .skill .progress .bar-90 .line {
  width: 90%;
}
.profile .skill .progress .bar-91 .line {
  width: 91%;
}
.profile .skill .progress .bar-92 .line {
  width: 92%;
}
.profile .skill .progress .bar-93 .line {
  width: 93%;
}
.profile .skill .progress .bar-94 .line {
  width: 94%;
}
.profile .skill .progress .bar-95 .line {
  width: 95%;
}
.profile .skill .progress .bar-96 .line {
  width: 96%;
}
.profile .skill .progress .bar-97 .line {
  width: 97%;
}
.profile .skill .progress .bar-98 .line {
  width: 98%;
}
.profile .skill .progress .bar-99 .line {
  width: 99%;
}
.profile .skill .progress .bar-100 .line {
  width: 100%;
}
.profile .skill .progress .bar {
  position: relative;
  width: 100%;
  height: 6px;
  border-radius: 100px;
  background-color: #E8E8E8;
}
.profile .skill .progress .line {
  position: absolute;
  height: 100%;
  border-radius: 100px;
  background-color: #4747D4;
}
.profile .skill .progress .dot {
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 4px solid #4747D4;
  background-color: #fff;
}
.profile .timeline-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 60px;
}
.profile .timeline-item {
  position: relative;
  flex: 0 1 50%;
}
.profile .timeline-item:nth-child(odd) {
  padding-right: 40px;
}
.profile .timeline-item:nth-child(even) {
  padding-left: 40px;
}
.profile .timeline-item::before {
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 100%;
  height: 1px;
  background-color: #000028;
  content: "";
}
.profile .timeline .dot {
  position: relative;
  width: 18px;
  height: 18px;
  margin-bottom: 6px;
}
.profile .timeline .dot::before {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #000028;
  content: "";
}
.profile .timeline .dot::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid #000028;
  content: "";
  animation: scale-up 1.5s linear infinite;
}
.profile .timeline .date {
  margin-bottom: 10px;
  color: #7E7E94;
}
.profile .timeline .place {
  margin-bottom: 24px;
  color: #7E7E94;
  font-size: 24px;
}
.profile .timeline .txt {
  font-size: 24px;
  font-weight: 600;
}
@media (max-width: 1920px) {
  .profile-tit {
    font-size: 48px;
  }
  .profile .skill-head {
    flex: 0 1 200px;
  }
  .profile .timeline-item:nth-child(odd) {
    padding-right: 32px;
  }
  .profile .timeline-item:nth-child(even) {
    padding-left: 32px;
  }
}
@media (max-width: 1400px) {
  .profile .container {
    -moz-column-gap: 5%;
         column-gap: 5%;
  }
  .profile-head {
    flex: 0 1 200px;
  }
  .profile .tag span {
    padding: 6px 16px;
  }
  .profile-box {
    padding: 24px 40px;
  }
  .profile-tit {
    font-size: 36px;
  }
  .profile .skill-head {
    flex: 0 1 160px;
    font-size: 16px;
  }
  .profile .timeline-list {
    row-gap: 50px;
  }
  .profile .timeline-item:nth-child(odd) {
    padding-right: 24px;
  }
  .profile .timeline-item:nth-child(even) {
    padding-left: 24px;
  }
  .profile .timeline-item::before {
    top: 7px;
  }
  .profile .timeline .dot {
    width: 16px;
    height: 16px;
  }
  .profile .timeline .date {
    margin-bottom: 0;
    font-size: 16px;
  }
  .profile .timeline .place {
    margin-bottom: 20px;
    font-size: 18px;
  }
  .profile .timeline .txt {
    font-size: 18px;
  }
}
@media (max-width: 992px) {
  .profile {
    box-shadow: none;
  }
  .profile .container {
    display: block;
  }
  .profile-head {
    position: static;
    margin-bottom: 40px;
  }
  .profile-head .img {
    width: 140px;
    margin-bottom: 16px;
  }
  .profile .name {
    margin-bottom: 10px;
    font-size: 24px;
  }
  .profile .tag {
    flex: 0 1 100%;
  }
  .profile .timeline-list {
    row-gap: 24px;
  }
  .profile .timeline .date {
    font-size: 14px;
  }
  .profile .timeline .place {
    margin-bottom: 12px;
    font-size: inherit;
  }
  .profile .timeline .txt {
    font-size: inherit;
  }
}
@media (max-width: 768px) {
  .profile .container {
    padding-top: 0;
  }
  .profile-head {
    margin-bottom: 30px;
  }
  .profile-head .img {
    width: 100px;
  }
  .profile-box {
    padding: 20px 30px;
  }
  .profile-tit {
    font-size: 24px;
  }
  .profile .skill-item {
    flex-direction: column;
    margin-bottom: 28px;
  }
  .profile .skill-head {
    flex: none;
    align-items: center;
    margin-bottom: 10px;
  }
  .profile .skill-head br {
    display: none;
  }
  .profile .skill .icon {
    width: 26px;
    height: 26px;
  }
  .profile .skill .txt {
    margin-bottom: 10px;
  }
  .profile .timeline-item {
    flex: 0 1 100%;
  }
  .profile .timeline-item:nth-child(odd), .profile .timeline-item:nth-child(even) {
    padding: 0;
  }
  .profile .timeline .place {
    font-size: 14px;
  }
}

.career {
  padding-top: 10rem;
  background-color: #fff;
}
.career .container {
  flex-direction: row;
  align-items: flex-start;
  -moz-column-gap: 10%;
       column-gap: 10%;
}
.career-tit {
  position: sticky;
  top: 2rem;
  font-size: 52px;
  font-weight: 900;
}
.career-list {
  flex: 1 1 10%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 40px;
}
.career-item {
  border-top: 1px solid #000028;
  padding-top: 30px;
}
.career .client {
  font-size: 22px;
}
.career .tit {
  font-size: 22px;
  margin-bottom: 40px;
}
.career .txt {
  color: #7E7E94;
}