@font-face {
  font-family: "Pretendard";
  font-weight: 900;
  font-display: swap;
  src: local("Pretendard Black"), url(../fonts/Pretendard-Black.subset.woff2) format("woff2"), url(../fonts/Pretendard-Black.subset.woff) format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-weight: 800;
  font-display: swap;
  src: local("Pretendard ExtraBold"), url(../fonts/Pretendard-ExtraBold.subset.woff2) format("woff2"), url(../fonts/Pretendard-ExtraBold.subset.woff) format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-weight: 700;
  font-display: swap;
  src: local("Pretendard Bold"), url(../fonts/Pretendard-Bold.subset.woff2) format("woff2"), url(../fonts/Pretendard-Bold.subset.woff) format("woff");
}
@font-face {
  font-family: "Red Hat Display";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local("Red Hat Display"), local("Red Hat Display");
  src: url(../fonts/RedHatDisplay-Black.woff2) format("woff2");
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Red Hat Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Red Hat Display"), local("Red Hat Display");
  src: url(../fonts/RedHatDisplay-Bold.woff2) format("woff2");
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Red Hat Display";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("Red Hat Display"), local("Red Hat Display");
  src: url(../fonts/RedHatDisplay-Medium.woff2) format("woff2");
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Outfit"), local("Outfit");
  src: url(../fonts/Outfit-Bold.woff2) format("woff2");
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("Outfit"), local("Outfit");
  src: url(../fonts/Outfit-SemiBold.woff2) format("woff2");
  text-rendering: optimizeLegibility;
}
/* Reset */
* {
  box-sizing: border-box;
}

html, body {
  width: 100%;
}

body {
  font-weight: 500;
  color: #000;
  font-size: 16px;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, form, fieldset, p, button {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h4 {
  font-size: inherit;
}

body, h1, h2, h3, h4, input, button, textarea, pre, a {
  font-family: "Apple SD Gothic Neo", "Pretendard", sans-serif;
  color: inherit;
}

body {
  text-align: left;
  word-break: break-word;
}

img, fieldset, iframe {
  border: 0 none;
}

li {
  list-style: none;
}

input, select, button {
  vertical-align: middle;
  font-size: inherit;
}

img {
  vertical-align: top;
  max-width: 100%;
}

i, em, address {
  font-style: normal;
}

label, button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

hr {
  display: none;
}

legend {
  width: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  font-size: 0;
  line-height: 0;
  height: 0;
}

button {
  border: 0;
  background: transparent;
  color: inherit;
}

input[type=text], input[type=password], input[type=image], input[type=search], input[type=file], textarea, input[type=button], input[type=tel] {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  font-size: inherit;
  line-height: inherit;
  padding: 0;
  outline: none;
  font-weight: 900;
  background-color: transparent;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

::-webkit-input-placeholder {
  color: #cfcfcf;
  opacity: 1;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 900;
}

:-moz-placeholder {
  color: #cfcfcf;
  opacity: 1;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 900;
}

::-moz-placeholder {
  color: #cfcfcf;
  opacity: 1;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 900;
}

:-ms-input-placeholder {
  color: #cfcfcf;
  opacity: 1;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 900;
}

.base-input::-webkit-input-placeholder {
  color: transparent;
}

.base-input:-moz-placeholder {
  color: transparent;
}

.base-input::-moz-placeholder {
  color: transparent;
}

.base-input:-ms-input-placeholder {
  color: transparent;
}

:root {
  --headerHeight: 68px;
  --buttomStickyHeight: 50px;
}

.mt0 {
  margin-top: 0px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt24 {
  margin-top: 24px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb24 {
  margin-bottom: 24px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb48 {
  margin-bottom: 48px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}

.pt0 {
  padding-top: 0px !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt24 {
  padding-top: 24px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt50 {
  padding-top: 50px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb24 {
  padding-bottom: 24px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}

.hidden {
  display: block;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  height: 1px;
  font-size: 1px;
  line-height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}

.al-left {
  text-align: left !important;
}
.al-right {
  text-align: right !important;
}
.al-center {
  text-align: center !important;
}

.header {
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  background: linear-gradient(360deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
}
.header .inner {
  position: relative;
  max-width: 1440px;
  height: 120px;
  padding: 40px;
  margin: 0 auto;
}
.header .logo {
  display: block;
  width: 230px;
  height: auto;
}
.header .menu-wrap {
  position: absolute;
  top: 40px;
  right: 0;
}
.header .menu-item {
  position: relative;
  padding-right: 40px;
  text-align: right;
  color: #000;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 0.1em;
  font-family: "Red Hat Display";
  font-weight: 500;
}
.header .menu-item + .menu-item {
  margin-top: 4px;
}
.header .menu-item.active {
  color: #3048C8;
  font-weight: 900;
}
.header .menu-item.active:before {
  position: absolute;
  right: 0;
  top: 50%;
  width: 24px;
  height: 4px;
  margin-top: -2px;
  background-color: #3048C8;
  content: "";
}

body {
  min-width: 1024px;
}

.section {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 90px;
  position: relative;
}
.section img {
  width: 100%;
  height: auto;
}
.section .text {
  font-size: 42px;
  line-height: 56px;
  font-weight: 900;
  white-space: nowrap;
  text-align: center;
  margin-left: -60px;
  margin-right: -60px;
}
.section-inner {
  width: 100% !important;
  padding: 216px 0 216px;
  will-change: transform;
}
.section-main {
  padding: 0 0 90px;
}
.section-main .section-inner {
  padding: 0;
}
.section-main .section__content {
  position: relative;
  padding: 125px 6.25% 45px;
  margin: 0 auto;
}
.section-main .section__title {
  position: absolute;
  left: 140px;
  top: 50%;
  transform: translateY(calc(-50% + 40px));
  color: #fff;
  font-size: 48px;
  line-height: 52px;
  z-index: 2;
  font-weight: 800;
}
.section-main .main-slide {
  width: 100%;
  height: 50.83%;
  height: calc(100vh - 180px);
  max-height: 732px;
  border-radius: 630px;
}
.section-main .main-slide img {
  width: 100%;
  height: 100%;
}
.section-main .swiper-pagination {
  width: 4px;
  height: 150px;
  left: 3.47%;
  top: 50%;
  transform: translateY(calc(-50% + 40px));
}
.section-main .swiper-pagination-progressbar {
  background-color: rgba(48, 72, 200, 0.3);
  font-family: "Red Hat Display";
  font-size: 16px;
  line-height: 20px;
  color: #3048C8;
  font-weight: 700;
}
.section-main .swiper-pagination-progressbar .current {
  display: block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-bottom: 3px;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 16px;
  line-height: 20px;
}
.section-main .swiper-pagination-progressbar .total {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: 3px;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 16px;
  line-height: 20px;
}
.section-main .swiper-pagination-progressbar-fill {
  background-color: #3048C8;
}
.section-about {
  text-align: center;
}
.section-about .section-inner {
  padding-top: 205px;
}
.section-about .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: 0;
  margin-right: 0;
}
.section-about .text-wrap {
  position: relative;
  padding-bottom: 410px;
}
.section-about .images {
  transform: translateX(0);
  max-width: 1261px;
  margin: 0 auto;
}
.section-about .images ul {
  display: flex;
  gap: 40px;
  justify-content: space-around;
}
.section-about .image {
  position: relative;
  height: 320px;
  border-radius: 160px;
  overflow: hidden;
}
.section-about .image:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.38);
  content: "";
}
.section-about .image-title {
  margin-top: 32px;
  font-size: 32px;
  line-height: 36px;
  color: #000;
  font-weight: 700;
}
.section-about .image-title--multiline {
  margin-top: 20px;
}
.section-about .image img {
  height: 100%;
  object-fit: cover;
}
.section-service .service-wrap {
  position: relative;
  margin-top: 70px;
  height: 560px;
}
.section-service .service-title {
  position: relative;
  width: 500px;
  height: 560px;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  overflow: hidden;
}
.section-service .service-title .number {
  position: absolute;
  top: 52px;
  left: -12px;
  font-weight: 600;
  font-size: 96px;
  font-family: "Outfit";
  overflow: hidden;
  opacity: 0;
}
.section-service .service-title .number-01 {
  opacity: 1;
}
.section-service .service-title .bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}
.section-service .service-title .bg-01 {
  opacity: 1;
}
.section-service .service-title .bg-wrap {
  position: relative;
  width: 500px;
  height: 560px;
}
.section-service .service-title .text {
  padding-top: 80px;
  height: 480px;
  font-size: 32px;
  line-height: 36px;
  opacity: 0;
  font-weight: 700;
}
.section-service .service-title .text-01 {
  opacity: 1;
}
.section-service .service-title .text-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.section-service .service-item {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  opacity: 0;
}
.section-service .service-item-01 .service-item-box {
  background: url("../images/service-01.png") no-repeat 50% 50%/100% auto;
}
.section-service .service-item-box {
  position: relative;
  width: 500px;
  height: 560px;
  margin: 0 auto;
  padding-top: 80px;
  color: #fff;
  text-align: center;
}
.section-service .service-item-box .number {
  position: absolute;
  top: 52px;
  left: -12px;
  font-weight: 700;
  font-size: 104px;
}
.section-service .service-text {
  font-size: 32px;
  line-height: 36px;
  font-weight: 700;
}
.section-service .horizontal-area {
  position: relative;
  display: flex;
  height: 250px;
  transform: translateY(-338px);
}
.section-service .horizontal-lists {
  position: absolute;
  padding-left: 50%;
  padding-right: calc(100% + 90px);
  transform: translate(50vw);
  opacity: 0;
}
.section-service .horizontal-lists ul {
  display: flex;
}
.section-service .horizontal-lists li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 250px;
  height: 250px;
  padding: 0 10px;
  word-break: keep-all;
  border-radius: 50%;
  background-color: #3048C8;
  text-align: center;
}
.section-service .horizontal-lists li + li {
  margin-left: 40px;
}
.section-service .horizontal-lists .inner-text {
  display: inline-block;
  color: #fff;
  font-size: 22px;
  line-height: 28px;
}
.section-service .horizontal-lists.list-01 {
  opacity: 1;
}
.section-process .steps {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 70px auto 0;
  gap: 30px;
  color: #fff;
  text-align: center;
  font-size: 32px;
  line-height: 36px;
}
.section-process .steps .step-box {
  position: relative;
  padding: 40px 0;
  border-radius: 70px;
}
.section-process .steps .step-box .arrow {
  position: absolute;
  background-size: 100% auto;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.section-process .steps .step-box.down .arrow {
  width: 22px;
  height: 30px;
  top: 100%;
  left: 103px;
  background-image: url('data:image/svg+xml,<svg width="22" height="30" viewBox="0 0 22 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.50624 24.7919V0H12.4938V24.7919L19.45 17.6882C20.0333 17.0925 20.9791 17.0925 21.5625 17.6882C22.1458 18.2839 22.1458 19.2498 21.5625 19.8455L12.0562 29.5532C11.4729 30.1489 10.5271 30.1489 9.94375 29.5532L0.437513 19.8455C-0.145838 19.2498 -0.145838 18.2839 0.437513 17.6882C1.02086 17.0925 1.96666 17.0925 2.55001 17.6882L9.50624 24.7919Z" fill="%236F7DC7"/></svg>');
}
.section-process .steps .step-box.length-3 .arrow {
  left: 190px;
}
.section-process .steps .step-box.next .arrow {
  width: 30px;
  height: 22px;
  left: 100%;
  top: 65px;
  background-image: url('data:image/svg+xml,<svg width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.8455 0.437513L29.5532 9.94375C30.1489 10.5271 30.1489 11.4729 29.5532 12.0562L19.8455 21.5625C19.2498 22.1458 18.2839 22.1458 17.6882 21.5625C17.0925 20.9791 17.0925 20.0333 17.6882 19.45L24.7919 12.4938H0V9.50624H24.7919L17.6882 2.55001C17.0925 1.96666 17.0925 1.02086 17.6882 0.437513C18.2839 -0.145838 19.2498 -0.145838 19.8455 0.437513Z" fill="%236F7DC7"/></svg>');
}
.section-process .steps .full {
  width: 100%;
  padding: 37px 0;
  background-color: #65677B;
}
.section-process .steps .length-5 {
  width: calc((100% - 120px) / 5);
  background-color: #000;
}
.section-process .steps .length-5.blue {
  background-color: #3048C8;
}
.section-process .steps .length-3 {
  width: calc((100% - 60px) / 3);
  background-color: #000;
}
.section-partner .horizontal-list {
  margin-top: 91px;
  padding-bottom: 123px;
}
.section-partner .horizontal-list ul {
  display: flex;
  justify-content: center;
}
.section-partner .horizontal-list li {
  width: 228px;
  text-align: center;
  font-size: 32px;
}
.section-partner .horizontal-list li i {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 320px;
  margin-bottom: 32px;
  padding: 0 5px;
  border-radius: 90px;
  background-color: #F1F1EA;
}
.section-partner .horizontal-list li i img {
  display: block;
}
.section-partner .horizontal-list li i .meritz {
  width: 123px;
}
.section-partner .horizontal-list li i .samsung {
  width: 152px;
}
.section-partner .horizontal-list li i .db {
  width: 155px;
}
.section-partner .horizontal-list li i .kb {
  width: 184px;
}
.section-partner .horizontal-list li i .hyundai {
  width: 159px;
}
.section-partner .horizontal-list li + li {
  margin-left: 30px;
}
.section-partner .horizontal-text p {
  transform: translateX(50%);
  font-size: 264px;
  color: #464646;
  font-weight: 700;
  white-space: nowrap;
  transition: transform 3s ease-in-out;
  font-family: "Red Hat Display";
}
.section-partner .horizontal-text p.show-in {
  transform: translateX(-100%);
}

.button-down {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
  background: #3048C8 url('data:image/svg+xml,<svg width="19" height="30" viewBox="0 0 19 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.50008 26.0858V0H10.5001V26.0858L17.293 19.2929L18.7072 20.7071L9.50008 29.9142L0.292969 20.7071L1.70718 19.2929L8.50008 26.0858Z" fill="white"/></svg>') no-repeat 50% 50%/19px auto;
  z-index: 10;
}
.button-down.button-up {
  border: 1px solid #3048C8;
  background: #fff url("data:image/svg+xml,%3Csvg width='19' height='30' viewBox='0 0 19 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.50008 3.82828V29.9141H10.5001V3.82828L17.293 10.6212L18.7072 9.20695L9.50008 -0.000150681L0.292969 9.20695L1.70718 10.6212L8.50008 3.82828Z' fill='%233048C8'/%3E%3C/svg%3E%0A") no-repeat 50% 50%/19px auto;
}

.program-wrap {
  width: 100%;
  margin: 0 auto;
  transform: translateY(200px);
  transition: transform 0.5s linear;
}
.program-wrap.is-show {
  transform: translateY(0);
}

.program-list {
  display: flex;
  gap: 25px;
  margin-top: 70px;
  padding-bottom: 34px;
}
.program-list li {
  position: relative;
  width: 189px;
  height: 320px;
  padding: 0 20px;
  display: inline-flex;
  background-color: #000;
  color: rgba(255, 255, 255, 0.6);
  align-items: center;
  justify-content: center;
  font-size: 32px;
  border-radius: 86px;
}
.program-list li .txt {
  position: relative;
  display: block;
  text-align: center;
}
.program-list li .txt:before {
  display: block;
  width: 48px;
  height: 38px;
  position: absolute;
  bottom: calc(100% + 16px);
  left: 50%;
  margin-left: -24px;
  background: url('data:image/svg+xml,<svg width="48" height="38" viewBox="0 0 48 38" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48 8.43469L18.8556 38L0 18.8721L8.31461 10.4374L18.8556 21.1306L39.6854 0L48 8.43469Z" fill="white"/></svg>');
  content: "";
  opacity: 0;
  transition: opacity 0.3s ease-in;
}
.program-list li:after {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -3px;
  display: block;
  width: 5px;
  height: 0;
  background-color: #3048C8;
  content: "";
  transition: height 0.3s ease-in 0.3s;
}
.program-list li.on {
  background-color: #3048C8;
  color: #fff;
}
.program-list li.on:after {
  transition: height 0.3s;
  height: 34px;
}
.program-list li.on .txt:before {
  transition: opacity 0.5s 0.5s;
  opacity: 1;
}

.program-detail-wrap {
  position: relative;
}

.program-detail {
  opacity: 0;
  width: 0;
  display: flex;
  height: 400px;
  padding: 39px 38px;
  background-color: #3048C8;
  color: #fff;
  border-radius: 54px;
  justify-content: space-between;
  align-items: flex-start;
  gap: 37px;
}
.program-detail-wrap {
  position: relative;
}
.program-detail.is-active {
  width: 100%;
  opacity: 1;
  transition: all 0.8s;
}
.program-detail.is-active .program-title {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s ease-in-out;
}
.program-detail.is-active .cont {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s ease-in-out;
  text-align: center;
}
.program-detail.is-active .inbox:nth-child(1) .program-title {
  transition-delay: 0.5s;
}
.program-detail.is-active .inbox:nth-child(1) .cont {
  transition-delay: 1.3s;
}
.program-detail.is-active .inbox:nth-child(2) .program-title {
  transition-delay: 0.8s;
}
.program-detail.is-active .inbox:nth-child(2) .cont {
  transition-delay: 1.8s;
}
.program-detail.is-active .inbox:nth-child(3) .program-title {
  transition-delay: 1.1s;
}
.program-detail.is-active .inbox:nth-child(3) .cont {
  transition-delay: 2.3s;
}
.program-detail .inbox {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  width: 100%;
}
.program-detail .program-title {
  display: flex;
  width: 100%;
  height: 98px;
  font-size: 32px;
  background-color: #fff;
  color: #3048C8;
  border-radius: 30px;
  align-items: center;
  justify-content: center;
  line-height: 1;
  opacity: 0;
  transform: translateY(70%);
}
.program-detail .cont {
  position: relative;
  display: flex;
  width: 100%;
  margin-top: 23px;
  padding-top: 32px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1.8181818182;
  opacity: 0;
  transform: translateY(70%);
}
.program-detail .cont:before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0px;
  height: 0px;
  margin-left: -15px;
  border-top: 17px solid #9AAAFF;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  content: "";
}

.footer {
  margin: 0;
  background-color: #000;
  color: #fff;
  font-size: 15px;
}
.footer .footer-inner {
  position: relative;
  display: flex;
  max-width: 1440px;
  margin: 0 auto;
  padding: 45px 40px;
  align-items: center;
}
.footer .footer-block {
  border-top: 1px solid #979797;
}
.footer .footer-block:first-child {
  border-top: 0;
}
.footer .inner-cont {
  display: flex;
  flex-direction: column;
}
.footer .inner-side {
  margin-left: auto;
}
.footer .logo {
  display: block;
  width: 150px;
  height: 26px;
  background: url("../images/footer-ci.svg") no-repeat 0 0/100% auto;
  font-size: 0;
}
.footer .company-info {
  display: flex;
  line-height: 1.73;
  align-items: center;
}
.footer .company-info li {
  display: inline-flex;
  align-items: center;
  padding-right: 10px;
}
.footer .company-info li + li:before {
  display: block;
  width: 1px;
  height: 13px;
  margin-right: 10px;
  background-color: rgba(255, 255, 255, 0.7);
  content: "";
}
.footer .company-info a {
  margin-left: 4px;
}
.footer address {
  display: block;
  margin-top: 10px;
  color: #7f7f7f;
}

.btn-top {
  position: absolute;
  top: 50%;
  right: 40px;
}
.btn-top:before {
  display: block;
  width: 25px;
  height: 22px;
  margin: 0 auto;
  background: url("../images/btn-top.svg") no-repeat 0 0/100% auto;
  content: "";
}

@media (max-width: 1024px) {
  .section {
    overflow: hidden;
    padding: 0 6.25%;
  }
  .section-about .text {
    width: 100%;
  }
  .section-about .image-title {
    font-size: 30px;
  }
  .section .text {
    white-space: normal;
    font-size: 42px;
    word-break: keep-all;
    margin-left: 0;
    margin-right: 0;
  }
  .program-list li {
    padding: 0 10px;
    font-size: 22px;
  }
  .program-detail .program-title {
    font-size: 22px;
  }
  .program-detail .cont {
    font-size: 20px;
    word-break: keep-all;
  }
  .section-process .steps {
    gap: 20px;
    font-size: 26px;
  }
  .section-process .steps .step-box {
    padding: 30px 0;
    border-radius: 60px;
  }
  .section-process .steps .step-box.down .arrow {
    left: 70px;
    height: 20px;
    background-size: auto 100%;
  }
  .section-process .steps .step-box.next .arrow {
    top: 54px;
    width: 20px;
  }
  .section-process .steps .step-box.length-3.down .arrow {
    left: 125px;
  }
  .section-process .steps .length-3 {
    width: calc((100% - 40px) / 3);
  }
  .section-process .steps .length-5 {
    width: calc((100% - 80px) / 5);
  }
  .section-partner .horizontal-list li {
    font-size: 26px;
  }
  .section-partner .horizontal-list li + li {
    margin-left: 2.1%;
  }
}/*# sourceMappingURL=style.css.map */