@charset "UTF-8";
@import url("layout.css");
@import url("/resources/fonts/notoserifitalic/font_notoserifitalic.css");
@import url("/resources/css/common/print.css");
/*-------------------------------------------------
title       : 메인
Author      : ㅈㅁㅈ
Create date : 2026-03-17
-------------------------------------------------*/
#wrap::before {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: #111;
  content: "";
  opacity: 1;
  -webkit-animation: wrap 0.5s 0.5s forwards;
          animation: wrap 0.5s 0.5s forwards;
}

#krds-header::after {
  border-top-width: 0;
}

@-webkit-keyframes wrap {
  99% {
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  100% {
    opacity: 0;
    width: 0;
    height: 0;
  }
}

@keyframes wrap {
  99% {
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  100% {
    opacity: 0;
    width: 0;
    height: 0;
  }
}
#visual .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100dvh - 10rem);
  padding: 0 5rem 5rem 5rem;
  word-break: keep-all;
  letter-spacing: -0.07rem;
  -webkit-transition: opacity 0s 1s;
  transition: opacity 0s 1s;
}
#visual .swiper-slide strong {
  font-size: 906.25%;
  position: absolute;
  left: auto;
  bottom: -8rem;
  z-index: 1;
  width: 120rem;
  max-width: calc(100% - 5rem);
  font-family: "Noto Serif";
  font-weight: 400;
  color: #111;
  text-align: left;
  text-transform: uppercase;
  line-height: 110%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#visual .swiper-slide img {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  max-width: initial;
  height: 100%;
}
#visual .swiper-slide span {
  display: block;
  line-height: inherit;
}
#visual .swiper-slide i {
  position: relative;
  width: calc(100% - 26rem);
  max-width: calc(100dvh - 10.6rem);
  height: 100%;
  margin-left: auto;
}
#visual .swiper-slide i span {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}
#visual .swiper-slide i img {
  clip-path: inset(0 0 0 100%);
  -webkit-transition: all 2s 0s;
  transition: all 2s 0s;
}
#visual .swiper-slide i::before, #visual .swiper-slide i::after {
  opacity: 0;
}
#visual .swiper-slide i::before {
  position: absolute;
  top: 0;
  right: calc(100% + 1.15rem);
  font-size: 1.4rem;
  font-weight: 700;
  color: #111;
  content: "sCROLL DOWN";
  text-transform: uppercase;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}
#visual .swiper-slide i::after {
  position: absolute;
  top: 11rem;
  right: calc(100% + 2.15rem);
  width: 1px;
  height: 4rem;
  background-color: #111;
  content: "";
}
#visual .swiper-slide strong span {
  position: relative;
  left: 20rem;
  font-weight: inherit;
  opacity: 0;
  -webkit-transition: all 0s 0s;
  transition: all 0s 0s;
}
#visual .swiper-slide strong span + span {
  left: -20rem;
}
#visual .swiper-slide p {
  font-size: 137.5%;
  position: absolute;
  left: auto;
  top: 8rem;
  z-index: 1;
  width: 25rem;
  color: #999;
  opacity: 0;
  -webkit-transition: opacity 0s 1s;
  transition: opacity 0s 1s;
}
#visual .swiper-slide p span {
  display: inline;
  background: -webkit-gradient(linear, left top, right top, from(rgb(118, 118, 118)), color-stop(50%, rgb(118, 118, 118)), color-stop(0, rgba(118, 118, 118, 0.2)));
  background: linear-gradient(90deg, rgb(118, 118, 118), rgb(118, 118, 118) 50%, rgba(118, 118, 118, 0.2) 0);
  background-size: 200% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  background-position: 100%;
  -webkit-transition: all 1.5s 0.5s;
  transition: all 1.5s 0.5s;
}
#visual .swiper-slide[class*=active] {
  visibility: visible;
  -webkit-transition: opacity 0s 0s;
  transition: opacity 0s 0s;
}
#visual .swiper-slide[class*=active] p {
  opacity: 1;
}
#visual .swiper-slide[class*=active] i img {
  clip-path: inset(0 0 0 0);
}
#visual .swiper-slide[class*=active] i::before, #visual .swiper-slide[class*=active] i::after {
  opacity: 1;
}
#visual.active .swiper-slide strong span {
  left: 0;
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
}
#visual.active .swiper-slide p span {
  background-position: 0%;
}

#quick {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  bottom: 7rem;
  right: 2.4rem;
  z-index: 99;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 0.8rem;
}
#quick span {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  left: 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  opacity: 0;
  -webkit-transition: var(--time2);
  transition: var(--time2);
  white-space: nowrap;
  clip-path: inset(0 100% 0 0);
}
#quick a, #quick button {
  display: block;
  position: relative;
  width: 6rem;
  height: 6rem;
  -webkit-box-shadow: 0.4rem 0.4rem 3rem rgba(188, 188, 188, 0.6);
          box-shadow: 0.4rem 0.4rem 3rem rgba(188, 188, 188, 0.6);
  border-radius: 100rem;
  background-color: #fff;
  color: #333;
  text-align: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-transition: var(--time2);
  transition: var(--time2);
}
#quick a:hover, #quick a:focus, #quick button:hover, #quick button:focus {
  background-color: #111;
  color: #fff;
}
#quick a:hover span, #quick a:focus span, #quick button:hover span, #quick button:focus span {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
#quick a::before {
  display: inline-block;
  overflow: hidden;
  width: 6rem;
  height: 6rem;
  text-align: center;
  line-height: 6rem;
  vertical-align: middle;
  font-size: 2.5rem;
}
#quick a:hover, #quick a:focus {
  width: 15rem;
}
#quick a.ri-globe-line:hover, #quick a.ri-globe-line:focus {
  width: 20rem;
}
#quick button {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
}
#quick button::before {
  display: block;
  font-size: 1rem;
  content: "▲";
  -webkit-transform: scaleY(0.7);
          transform: scaleY(0.7);
}

article, .edu {
  position: relative;
  z-index: 1;
}
article h2, .edu h2 {
  font-size: 6rem;
  font-weight: 500;
  color: #111;
  line-height: 110%;
  text-transform: uppercase;
}
article a.more:hover::before, article a.more:hover::after, article a.more:focus::before, article a.more:focus::after, article button.more:hover::before, article button.more:hover::after, article button.more:focus::before, article button.more:focus::after, .edu a.more:hover::before, .edu a.more:hover::after, .edu a.more:focus::before, .edu a.more:focus::after, .edu button.more:hover::before, .edu button.more:hover::after, .edu button.more:focus::before, .edu button.more:focus::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
article .more, .edu .more {
  display: inline-block;
  overflow: hidden;
  width: 4rem;
  height: 4rem;
  text-align: center;
  line-height: 4rem;
  vertical-align: middle;
  position: relative;
  min-width: 4rem;
  color: transparent;
}
article .more::before, article .more::after, .edu .more::before, .edu .more::after {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  background-color: #111;
  content: "";
  -webkit-transition: var(--time2);
  transition: var(--time2);
}
article .more::before, .edu .more::before {
  width: 100%;
  height: 0.2rem;
}
article .more::after, .edu .more::after {
  width: 0.2rem;
  height: 100%;
}

.news {
  overflow: hidden;
  padding: 11rem 0 10.9rem;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
}
.news h2 {
  width: calc(var(--width1) + 2rem);
  max-width: var(--width2);
  margin-left: auto !important;
  margin-right: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 4.1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.news .swiper-wrapper {
  gap: 1.4rem;
}
.news .more {
  display: none;
}
.news .swiper-slide {
  width: auto;
}
.news .swiper-slide a {
  display: block;
  overflow: hidden;
  height: 37.5rem;
  border-radius: 1.4rem;
}
.news .swiper-slide a > i:first-child:last-child img {
  max-width: initial;
  height: 100%;
}
.news .swiper-slide.type1 a {
  position: relative;
  width: 37.5rem;
  padding: 4rem;
  border: 1px solid #ddd;
}
.news .swiper-slide.type1 a strong {
  overflow: hidden;
  line-height: 3.3rem;
  text-overflow: ellipsis;
  display: -webkit-box;
  max-height: 9.9rem;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  box-orient: vertical;
  -webkit-box-orient: vertical;
  font-size: 2.2rem;
  color: #333;
  word-break: keep-all;
}
.news .swiper-slide.type1 a span {
  position: absolute;
  left: auto;
  bottom: 4rem;
  color: #666;
}
.news .swiper-slide.type1 a p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6rem;
}
.news .swiper-slide.type1 a p + strong {
  margin-top: 1.8rem;
}
.news .swiper-slide.type1 a p i {
  height: 3.6rem;
  border: 1px solid #ddd;
  line-height: calc(3.6rem - 2px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 1.2rem;
  border-radius: 0.6rem;
  font-weight: 600;
  color: #111;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.value {
  width: calc(var(--width1) + 2rem);
  max-width: var(--width2);
  margin-left: auto !important;
  margin-right: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 0;
  margin-top: 13.9rem;
  padding-bottom: 14rem;
  gap: 2rem;
  --img: 48rem;
}
.value a {
  font-size: 112.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 13.7rem;
  height: 5.1rem;
  border: 1px solid #ddd;
  color: #111;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: var(--time2), -webkit-transform 0s;
  transition: var(--time2), -webkit-transform 0s;
  transition: var(--time2), transform 0s;
  transition: var(--time2), transform 0s, -webkit-transform 0s;
}
.value a:hover, .value a:focus {
  border-color: #111;
  background-color: #111;
  color: #fff;
}
.value a::after {
  font-family: "remixicon";
  content: "\ea70";
  display: inline-block;
  position: relative;
  top: -0.1rem;
  vertical-align: middle;
  position: relative;
  top: 0.2rem;
  margin-left: 0.4rem;
  margin-right: -0.5rem;
  font-size: 111%;
  opacity: 0.6;
  vertical-align: middle;
}
.value .group1 {
  position: relative;
  width: 37.7rem;
  height: calc(var(--img) + 4.3rem);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.value .group1 h2 {
  letter-spacing: -0.06rem;
}
.value .group1 p {
  font-size: 112.5%;
  margin: 1.4rem 0 3rem;
  font-weight: 500;
}
.value .group1 ul {
  font-size: 150%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 0;
  bottom: 0;
  padding-left: 2.1rem;
  border-left: 0.3rem solid rgba(0, 0, 0, 0.1);
  font-weight: 700;
  color: rgba(0, 0, 0, 0.2);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.value .group1 ul::before {
  position: absolute;
  left: -0.3rem;
  top: 0;
  width: 0.3rem;
  height: 3.2rem;
  background-color: #111;
  content: "";
  -webkit-transition: all 0.2s 0s linear;
  transition: all 0.2s 0s linear;
}
.value .group1 ul.type1::before {
  top: 0rem;
}
.value .group1 ul.type2::before {
  top: 4.7rem;
}
.value .group1 ul.type3::before {
  top: 9.4rem;
}
.value .group1 ul.type4::before {
  top: 14.1rem;
}
.value .group1 li.active {
  color: #111;
}
.value .group1 button {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.value .group1 button:hover, .value .group1 button:focus {
  color: #111;
}
.value .group2 {
  width: calc(100dvw - 40rem);
  max-width: 94rem;
  margin-left: auto;
}
.value .group2 ul {
  counter-reset: value;
}
.value .group2 i {
  width: var(--img);
  height: var(--img);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.value .group2 a {
  display: none;
}
.value .group2 img {
  position: absolute;
  top: auto;
  left: auto;
  width: var(--img);
  border-radius: 100%;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(15%, transparent), color-stop(30%, black), color-stop(85%, transparent));
  -webkit-mask-image: linear-gradient(to bottom, transparent 15%, black 30% 70%, transparent 85%);
          mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(15%, transparent), color-stop(30%, black), color-stop(85%, transparent));
          mask-image: linear-gradient(to bottom, transparent 15%, black 30% 70%, transparent 85%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-position: 0 50%;
          mask-position: 0 50%;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 0.2;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  -webkit-transition: opacity 0.5s, -webkit-mask 0.5s, -webkit-filter 0.5s, -webkit-transform 0.2s linear;
  transition: opacity 0.5s, -webkit-mask 0.5s, -webkit-filter 0.5s, -webkit-transform 0.2s linear;
  transition: mask 0.5s, opacity 0.5s, filter 0.5s, transform 0.2s linear;
  transition: mask 0.5s, opacity 0.5s, filter 0.5s, transform 0.2s linear, -webkit-mask 0.5s, -webkit-filter 0.5s, -webkit-transform 0.2s linear;
}
.value .group2 .item {
  width: 38.4rem;
  max-width: calc(100dvw - 50rem);
  margin-left: auto;
  opacity: 0;
}
.value .group2 .item::before {
  font-size: 125%;
  display: block;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #bbb;
  content: "0" counter(value);
}
.value .group2 h3 {
  font-size: 200%;
  color: #000;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), color-stop(50%, rgb(0, 0, 0)), color-stop(0, rgba(0, 0, 0, 0.2)));
  background: linear-gradient(90deg, rgb(0, 0, 0), rgb(0, 0, 0) 50%, rgba(0, 0, 0, 0.2) 0);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
  -webkit-transition: background-position 0.5s linear;
  transition: background-position 0.5s linear;
  will-change: background-position;
}
.value .group2 p {
  font-size: 112.5%;
  margin: 1.6rem 0 0;
  color: #767676;
  line-height: 150%;
  letter-spacing: -0.05rem;
}
.value .group2 p span {
  background: -webkit-gradient(linear, left top, right top, from(#888), color-stop(50%, #888), color-stop(0, rgba(136, 136, 136, 0.2)));
  background: linear-gradient(90deg, #888, #888 50%, rgba(136, 136, 136, 0.2) 0);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
  -webkit-transition: background-position 1s 0.2s linear;
  transition: background-position 1s 0.2s linear;
  will-change: background-position;
}
.value .group2 li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(var(--img) + 4.3rem);
  counter-increment: value;
}
.value .group2 li > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 94rem;
  max-width: calc(100dvw - 40rem);
  height: calc(var(--img) + 4.3rem);
  padding-top: 4.3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.value .group2 li:last-child {
  height: calc((var(--img) + 4.3rem) * 2);
}
.value .group2 li:nth-child(2) img {
  top: calc(var(--img) * 1 + 4.3rem);
}
.value .group2 li:nth-child(3) img {
  top: calc(var(--img) * 2 + 4.3rem);
}
.value .group2 li:nth-child(4) img {
  top: calc(var(--img) * 3 + 4.3rem);
}
.value .group2 li.active > div {
  z-index: 1;
}
.value .group2 li.active > div .item {
  opacity: 1;
}
.value .group2 li.active > div img {
  opacity: 1;
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}
.value .group2 li.active + li img {
  opacity: 0.2;
  -webkit-mask-position: 0 100%;
          mask-position: 0 100%;
}
.value .group2 li.active + li ~ li img {
  opacity: 0;
}
.value .group2.type2 img {
  -webkit-transform: translateY(calc(var(--img) * -1));
          transform: translateY(calc(var(--img) * -1));
}
.value .group2.type2 li:nth-child(1) img {
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}
.value .group2.type2 li:nth-child(0) img {
  opacity: 0;
}
.value .group2.type3 img {
  -webkit-transform: translateY(calc(var(--img) * -2));
          transform: translateY(calc(var(--img) * -2));
}
.value .group2.type3 li:nth-child(2) img {
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}
.value .group2.type3 li:nth-child(1) img {
  opacity: 0;
}
.value .group2.type4 img {
  -webkit-transform: translateY(calc(var(--img) * -3));
          transform: translateY(calc(var(--img) * -3));
}
.value .group2.type4 li:nth-child(3) img {
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}
.value .group2.type4 li:nth-child(2) img {
  opacity: 0;
}
.value.active .group2 li.active h3, .value.prev .group2 li.active h3, .value.active .group2 li.active p span, .value.prev .group2 li.active p span {
  background-position: 0%;
}
.value.active .group2 li.active i, .value.prev .group2 li.active i {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.value.active .group2 li.active:nth-child(2) img, .value.prev .group2 li.active:nth-child(2) img {
  top: calc(var(--img) * 1);
}
.value.active .group2 li.active:nth-child(3) img, .value.prev .group2 li.active:nth-child(3) img {
  top: calc(var(--img) * 2);
}
.value.active .group2 li.active:nth-child(4) img, .value.prev .group2 li.active:nth-child(4) img {
  top: calc(var(--img) * 3);
}
.value.active .group1 {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  position: fixed;
  left: auto;
}
.value.active .group2 li > div {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  position: fixed;
  left: auto;
}
.value.disable .group1, .value.disable .group2 li > div {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 50dvh;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.value.disable .group2 li > div {
  left: auto;
  right: 0;
}

.edu {
  width: 182rem;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  min-height: 22rem;
  color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.edu::before {
  position: absolute;
  top: 0;
  z-index: -1;
  height: 100%;
  content: "";
  left: 0;
  width: 100%;
  background: url("/resources/images/mps/main/edu.png") no-repeat center center;
  background-size: auto 100%;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: var(--time2);
  transition: var(--time2);
}
.edu h2, .edu p {
  width: 130rem;
  max-width: var(--width2);
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}
.edu p {
  font-size: 112.5%;
  margin-top: 1.2rem;
}
.edu h2 {
  font-size: 312.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: inherit;
  letter-spacing: -0.15rem;
}
.edu .more::before, .edu .more::after {
  background-color: #fff;
}
.edu:hover, .edu:focus {
  color: #fff;
}
.edu:hover::before, .edu:focus::before {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.edu:hover .more::before, .edu:hover .more::after, .edu:focus .more::before, .edu:focus .more::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}

.program {
  width: calc(var(--width1) + 2rem);
  max-width: var(--width2);
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative;
  margin: 10rem 0 3rem;
}
.program .more {
  position: absolute;
  right: 0;
  top: 1.3rem;
}
.program span {
  font-size: 112.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  width: 55rem;
  max-width: calc(100% - 42rem);
  height: 1.9rem;
  margin: 3rem 0;
  color: #767676;
  opacity: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 160%;
  letter-spacing: -0.02rem;
  -webkit-transition: var(--time2), opacity 0.2s 0.2s;
  transition: var(--time2), opacity 0.2s 0.2s;
}
.program strong {
  font-size: 150%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  right: 0;
  color: #111;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  letter-spacing: -0.01rem;
}
.program strong::before {
  width: 4.4rem;
  margin-right: 0.6rem;
  font-size: 2.2rem;
  font-weight: 500;
  color: #aaa;
  content: "0" counter(program);
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: all 0s 0.2s;
  transition: all 0s 0.2s;
}
.program strong::after {
  font-family: "remixicon";
  content: "\ea70";
  display: inline-block;
  position: relative;
  top: -0.1rem;
  vertical-align: middle;
  width: 0;
  margin-left: 0.2rem;
  font-size: 85.714%;
  font-weight: 400;
  text-align: center;
  -webkit-transition: all 0s 0.2s;
  transition: all 0s 0.2s;
}
.program ul {
  height: 39rem;
  margin-top: 2rem;
  border-top: 0.15rem solid #111;
  counter-reset: program;
  -webkit-transition: var(--time2);
  transition: var(--time2);
}
.program li + li {
  border-top: 1px solid #ddd;
}
.program li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
  -webkit-transition: var(--time2);
  transition: var(--time2);
  counter-increment: program;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.program li a.type1 strong {
  animation: program 0.5s reverse;
}
.program li a:hover strong, .program li a:focus strong {
  -webkit-animation: program 0.5s forwards;
          animation: program 0.5s forwards;
  letter-spacing: -0.03rem;
}
.program li a:hover strong::before, .program li a:focus strong::before {
  width: 3.8rem;
  margin-right: 0.2rem;
  font-size: 2rem;
  font-weight: 600;
  color: #bbb;
}
.program li a:hover strong::after, .program li a:focus strong::after {
  width: 2.6rem;
}
.program li a:hover span, .program li a:focus span {
  height: 9rem;
  opacity: 1;
}

@-webkit-keyframes program {
  0% {
    font-size: 150%;
    right: 0;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  40% {
    font-size: 150%;
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
  50% {
    font-size: 150%;
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
    opacity: 0;
  }
  60% {
    font-size: 175%;
    right: 100%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 0;
  }
  100% {
    font-size: 175%;
    right: 100%;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
    opacity: 1;
  }
}

@keyframes program {
  0% {
    font-size: 150%;
    right: 0;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  40% {
    font-size: 150%;
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
  50% {
    font-size: 150%;
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
    opacity: 0;
  }
  60% {
    font-size: 175%;
    right: 100%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 0;
  }
  100% {
    font-size: 175%;
    right: 100%;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
    opacity: 1;
  }
}
.bn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 11rem;
  background-color: #F7F7F7;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.bn li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 28rem;
  padding: 0 1rem;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bn img {
  max-height: 6.1rem;
}