@charset "UTF-8";
.fade-in {
  opacity: 0;
  transform: translateY(50px);
  transition: 0.7s all;
}
.fade-in.fade-in-on {
  opacity: 1;
  transform: translateY(0);
}

.button-ellipse {
  font-weight: 500;
  text-align: center;
  line-height: 1;
  display: block;
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  width: 500px;
  max-width: 100%;
  padding: 50px 0;
  border-radius: 9999px;
  background-color: #fff;
  transition: all 0.3s;
}
.button-ellipse.center {
  margin: 0 auto;
}
.button-ellipse.red {
  color: #fff;
  background-color: #c3181e;
}
@media screen and (min-width: 769px) {
  .button-ellipse:hover {
    transform: translate(5px, 5px);
    box-shadow: none;
  }
}

.chat {
  width: 585px;
  max-width: 100%;
  margin: 0 auto;
}
.chat .chat-item {
  display: flex;
  align-items: flex-start;
  column-gap: 6.6666666667%;
}
.chat .chat-item:not(:last-of-type) {
  margin-bottom: 40px;
}
.chat .chat-item .chat-icon {
  flex-shrink: 0;
}
.chat .chat-item .chat-text {
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  position: relative;
  width: 100%;
  background-color: #fff;
  padding: 35px 7.6086956522%;
}
.chat .chat-item .chat-text::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: 33px;
  left: 0;
  transform: translateX(-100%);
  background-color: #000;
  clip-path: polygon(0 50%, 100% 100%, 100% 0);
}
.chat .chat-item .chat-text p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
.chat .chat-item .chat-text p .strong {
  font-size: 22px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #fff100;
  text-decoration-thickness: 10px;
  text-underline-offset: -5px;
}
.chat .chat-item:nth-of-type(even) {
  flex-direction: row-reverse;
}
.chat .chat-item:nth-of-type(even) .chat-text::before {
  left: auto;
  right: -5px;
  transform: translateX(100%);
  clip-path: polygon(100% 50%, 0 100%, 0 0);
}

.step-head {
  text-align: center;
  margin-bottom: 80px;
}
.step-head img {
  opacity: 0;
}
.step-head img.bounce {
  animation-name: bounce;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.step-head .en {
  font-size: 28px;
  line-height: 1;
  font-weight: 600;
  display: inline-block;
  margin: 40px 0 28px;
}
.step-head .jp {
  font-size: 42px;
  line-height: 1.4;
  font-weight: 700;
}

.step-slider .slick-track {
  float: none;
  display: flex;
  align-items: stretch;
  gap: 40px;
  left: -280px;
  padding-bottom: 5px;
}
.step-slider .slick-track .step-box {
  height: auto;
  background-color: #fff;
}
.step-slider .slick-prev,
.step-slider .slick-next {
  width: 70px;
  height: 70px;
  background-color: #000;
  border: 3px solid #fff;
  border-radius: 50%;
  z-index: 2;
  transition: all 0.3s;
}
.step-slider .slick-prev::before,
.step-slider .slick-next::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  border-top: 3px solid #fff;
  opacity: 1;
  top: 50%;
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .step-slider .slick-prev:hover,
  .step-slider .slick-next:hover {
    background-color: #fff;
  }
  .step-slider .slick-prev:hover::before,
  .step-slider .slick-next:hover::before {
    border-color: #000;
  }
}
.step-slider .slick-prev {
  left: calc((100vw - 1080px) / 2);
  transform: translate(-75%, -50%);
}
.step-slider .slick-prev::before {
  left: calc(50% + 3.75px);
  border-left: 3px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.step-slider .slick-next {
  right: calc((100vw - 1080px) / 2);
  transform: translate(75%, -50%);
}
.step-slider .slick-next::before {
  left: calc(50% - 3.75px);
  border-right: 3px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

.interview-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  border-radius: 30px;
  background-color: #b2e8e8;
  padding: 40px 5.5555555556% 60px;
}
.interview-box .interview-head {
  position: absolute;
  width: 29.8148148148%;
  top: 0;
  left: 9.1666666667%;
  transform: translateY(-35%);
}
.interview-box .interview-left {
  width: 40.8805031447%;
}
.interview-box .interview-right {
  width: 53.4591194969%;
}
.interview-box .interview-right .name {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  padding-bottom: 30px;
  margin-bottom: 50px;
  border-bottom: 2px solid #000;
}
.interview-box .interview-right .name .status {
  font-size: 20px;
  font-weight: 500;
  display: inline-block;
  border-radius: 9999px;
  background-color: #fff;
  padding: 7px 15px;
  margin-bottom: 15px;
}
.interview-box .interview-right .lead {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  line-height: 1.7857142857;
  margin-bottom: 50px;
}
.interview-box .interview-right .message {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 50px;
  display: none;
}
.interview-box .interview-right .button {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
  position: relative;
  width: 70.5882352941%;
  background-color: #000;
  border: 3px solid #000;
  border-radius: 9999px;
  padding: 30px 0;
  margin: 0 auto;
  transition: all 0.3s;
  pointer-events: all;
  cursor: pointer;
}
.interview-box .interview-right .button::before {
  content: "体験談を読む";
}
.interview-box .interview-right .button .arrow {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 50%;
  right: 6.9444444444%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff;
  transition: all 0.3s;
}
.interview-box .interview-right .button .arrow::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: calc(50% - 2px);
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .interview-box .interview-right .button:hover .arrow::before {
    transform: translate(-50%, calc(-50% + 5px)) rotate(-45deg);
  }
}
.interview-box .interview-right .button.open {
  color: #000;
  background-color: #fff;
}
.interview-box .interview-right .button.open::before {
  content: "閉じる";
}
.interview-box .interview-right .button.open .arrow {
  background-color: #000;
}
.interview-box .interview-right .button.open .arrow::before {
  border-color: #fff;
  top: calc(50% + 2px);
  transform: translate(-50%, -50%) rotate(-225deg);
}
@media screen and (min-width: 769px) {
  .interview-box .interview-right .button.open:hover .arrow::before {
    transform: translate(-50%, calc(-50% - 5px)) rotate(-225deg);
  }
}

/* --------------------------------------------------
 art01
-------------------------------------------------- */
.art01 {
  padding-bottom: 280px;
}
.art01 .mainvisual {
  position: relative;
  padding: 51.5945330296vh 5% 33.0296127563vh;
}
.art01 .mainvisual h1 {
  font-size: 3.0208333333vw;
  font-weight: 700;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.3793103448;
}
.art01 .mainvisual .cloud01 {
  position: absolute;
  width: 24.1666666667%;
  top: 10.9339407745%;
  left: 15.9895833333%;
}
.art01 .mainvisual .cloud02 {
  position: absolute;
  width: 17.7604166667%;
  top: 19.2482915718%;
  left: 52.2395833333%;
}
.art01 .mainvisual .cloud03 {
  position: absolute;
  width: 27.65625%;
  top: 15.3758542141%;
  left: 0%;
  left: auto;
  right: 0;
}
.art01 .mainvisual .cloud04 {
  position: absolute;
  width: 30.5208333333%;
  top: 44.4191343964%;
  left: 0%;
}
.art01 .mainvisual .cloud05 {
  position: absolute;
  width: 17.65625%;
  top: 71.867881549%;
  left: 30.9375%;
}
.art01 .mainvisual .cloud06 {
  position: absolute;
  width: 26.3020833333%;
  top: 62.7562642369%;
  left: 60.3125%;
}
.art01 .mainvisual .cloud:nth-of-type(odd) {
  animation: floating-y 2.4s ease-in-out infinite alternate-reverse;
}
.art01 .mainvisual .cloud:nth-of-type(even) {
  animation: floating-y-reverse 2.4s ease-in-out infinite alternate-reverse;
}
.art01 .mainvisual .item01 {
  position: absolute;
  width: 7.1875%;
  top: 21.0706150342%;
  left: 41.25%;
}
.art01 .mainvisual .item02 {
  position: absolute;
  width: 6.5625%;
  top: 42.1412300683%;
  left: 67.8125%;
}
.art01 .mainvisual .item03 {
  position: absolute;
  width: 7.4479166667%;
  top: 55.8086560364%;
  left: 25.9375%;
}
.art01 .mainvisual .item04 {
  position: absolute;
  width: 9.0104166667%;
  top: 73.8041002278%;
  left: 53.125%;
}
.art01 .lead {
  padding-top: 50px;
  margin-bottom: 130px;
}
.art01 .lead p {
  font-weight: 500;
  text-align: center;
  line-height: 2;
}
.art01 .talk {
  margin-bottom: 170px;
}
.art01 .talk .talk-list {
  width: 585px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 95px;
}
.art01 .contents {
  position: relative;
}
.art01 .contents .contents-head {
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  position: absolute;
  width: fit-content;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 9999px;
  background-color: #000;
  padding: 14px 22px;
}
.art01 .contents .contents-list {
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 40px 7.5%;
}
.art01 .contents .contents-list .contents-list-item {
  display: flex;
  align-items: center;
  width: 45.8333333333%;
  padding: 30px 0;
}
.art01 .contents .contents-list .contents-list-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 10px;
  width: 100%;
}
.art01 .contents .contents-list .contents-list-item a p {
  font-size: 20px;
  font-weight: 700;
}
.art01 .contents .contents-list .contents-list-item a .arrow {
  position: relative;
  flex-shrink: 0;
  width: 30px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #000;
  border: 3px solid #000;
}
.art01 .contents .contents-list .contents-list-item a .arrow::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  top: 50%;
  left: calc(50% - 1.5px);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .art01 .contents .contents-list .contents-list-item a:hover .arrow::before {
    transform: translate(calc(-50% + 5px), -50%) rotate(45deg);
  }
}
.art01 .contents .contents-list .contents-list-item01 {
  background-image: linear-gradient(to right, #000 4px, transparent 2px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  order: 1;
}
.art01 .contents .contents-list .contents-list-item02 {
  background-image: linear-gradient(to right, #000 4px, transparent 2px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  order: 3;
}
.art01 .contents .contents-list .contents-list-item03 {
  order: 5;
}
.art01 .contents .contents-list .contents-list-item04 {
  background-image: linear-gradient(to right, #000 4px, transparent 2px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  order: 2;
}
.art01 .contents .contents-list .contents-list-item05 {
  background-image: linear-gradient(to right, #000 4px, transparent 2px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  order: 4;
}
.art01 .contents .contents-list .contents-list-item06 {
  order: 6;
}

@keyframes floating-y {
  0% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(10%);
  }
}
@keyframes floating-y-reverse {
  0% {
    transform: translateY(10%);
  }
  100% {
    transform: translateY(-10%);
  }
}
@keyframes bounce {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  50% {
    transform: translateY(-70%);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* --------------------------------------------------
 art02
-------------------------------------------------- */
.art02 {
  margin-bottom: 250px;
}
.art02 .step-box {
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  width: 520px;
  max-width: 90vw;
  border-radius: 30px;
  overflow: hidden;
}
.art02 .step-box .step-box-image {
  position: relative;
}
.art02 .step-box .step-box-image figcaption {
  position: absolute;
  left: 7.6923076923%;
  bottom: 0;
  transform: translateY(25%);
}
.art02 .step-box .step-box-image figcaption span {
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  display: inline-block;
  padding: 15px 20px;
  border-radius: 9999px;
}
.art02 .step-box .step-box-image figcaption span:not(:last-of-type) {
  margin-bottom: 5px;
}
.art02 .step-box .step-box-text {
  background-color: #fff;
  padding: 50px 7.6923076923% 40px;
}
.art02 .step-box .step-box-text p {
  font-weight: 500;
  line-height: 2;
}
.art02 .step-subtitle {
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  width: fit-content;
  background-color: #fff;
  padding: 15px 20px;
  margin: 0 auto 40px;
}
.art02 .step01 {
  padding: 40px 0 280px;
  position: relative;
  background-image: url(../image/step-01-bg.jpg);
  background-repeat: repeat;
}
.art02 .step01::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 96px;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background-image: url(../image/step-01-wave.png);
  background-size: auto 100%;
  background-position: bottom center;
}
.art02 .step01 .step-head {
  color: #fff;
}
.art02 .step01 .step-box {
  max-width: 100%;
  margin: 0 auto;
}
.art02 .step01 .step-box .step-box-image figcaption span {
  background-color: #0068b7;
}
.art02 .step02 {
  padding: 40px 0 280px;
  position: relative;
  background-image: url(../image/step-02-bg.jpg);
  background-repeat: repeat;
}
.art02 .step02::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 96px;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background-image: url(../image/step-02-wave.png);
  background-size: auto 100%;
  background-position: bottom center;
}
.art02 .step02 .slider01 {
  margin-bottom: 150px;
}
.art02 .step02 .slider01 .step-box .step-box-image figcaption span {
  background-color: #eb6100;
}
.art02 .step02 .interview-box {
  margin-bottom: 150px;
}
.art02 .step02 .slider02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 30px;
}
.art02 .step02 .slider02 .step-box {
  width: 48.1481481481%;
  background-color: #fff;
}
.art02 .step02 .slider02 .step-box .step-box-image figcaption span {
  background-color: #22ac38;
}
.art02 .step03 {
  padding: 40px 0 150px;
  position: relative;
  background-image: url(../image/step-03-bg.jpg);
  background-repeat: repeat;
}
.art02 .step03::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 96px;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background-image: url(../image/step-03-wave.png);
  background-size: auto 100%;
  background-position: bottom center;
}
.art02 .step03::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 96px;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background-image: url(../image/step-03-wave.png);
  background-size: auto 100%;
  background-position: bottom center;
  top: auto;
  bottom: 0;
  transform: translateY(100%) rotate(180deg);
}
.art02 .step03 .slider01 {
  margin-bottom: 150px;
}
.art02 .step03 .slider01 .step-box .step-box-image figcaption span {
  background-color: #ea68a2;
}
.art02 .step03 .interview-list .interview-box:not(:last-of-type) {
  margin-bottom: 100px;
}

/* --------------------------------------------------
 art03
-------------------------------------------------- */
.art03 {
  padding-bottom: 150px;
}
.art03 .about .about-content:not(:last-of-type) {
  margin-bottom: 120px;
}
.art03 .about .about-content.sec-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-right: auto;
  margin-left: auto;
  width: 880px;
  max-width: 100%;
  row-gap: 100px;
}
.art03 .about .about-content.sec-wrap .sec-child {
  width: 47.7272727273%;
}
.art03 .about .about-head {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 70px;
}
.art03 .about .about-head .en {
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  color: #22ac38;
  line-height: 1;
  display: inline-block;
  margin-bottom: 30px;
}
.art03 .about .about-head .mega {
  font-size: 42px;
}
.art03 .about .about-subtitle {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 40px;
}
.art03 .about .about-campus {
  text-align: center;
  margin-bottom: 80px;
}
.art03 .about .about-lead {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  line-height: 2;
  margin-bottom: 90px;
}
.art03 .loop-wrap {
  overflow: hidden;
  display: flex;
  column-gap: 10px;
  width: 100%;
  margin-bottom: 120px;
}
.art03 .loop-wrap .loop-list {
  display: flex;
  justify-content: space-between;
  column-gap: 10px;
  animation: loop-slide 32s infinite linear 1s both;
}
.art03 .loop-wrap .loop-list .loop-image {
  width: 375px;
}
.art03 .movie-wrap {
  width: 612px;
  max-width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  margin: 0 auto 40px;
}
.art03 .movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.art03 .movie-lead {
  line-height: 1.6;
  text-align: center;
}
.art03 .instagram {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .art03 .instagram a img {
    transition: all 0.3s;
  }
  .art03 .instagram a:hover img {
    opacity: 0.7;
  }
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/* --------------------------------------------------
 art04
-------------------------------------------------- */
.art04 {
  position: relative;
  padding: 90px 0 120px;
  background-image: url(../image/ins-bg.jpg);
  background-repeat: repeat;
}
.art04::before, .art04::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 31px;
  left: 0;
  background-image: url(../image/ins-triangle.jpg);
  background-repeat: repeat-x;
  background-position: top right;
}
.art04::before {
  top: 0;
  transform: translateY(-100%);
}
.art04::after {
  bottom: 0;
  transform: translateY(100%) rotate(180deg);
}
.art04 .institution {
  margin-bottom: 120px;
}
.art04 .institution .inner {
  background-image: url(../image/ins-map.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.art04 .institution .inst-head {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 70px;
}
.art04 .institution .inst-head .en {
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  color: #ff0000;
  line-height: 1;
  display: inline-block;
  margin-bottom: 30px;
}
.art04 .institution .inst-head .mega {
  font-size: 42px;
}
.art04 .institution .inst-blue {
  display: flex;
  justify-content: space-between;
  width: 680px;
  max-width: 100%;
  margin: 0 auto 120px;
}
.art04 .institution .inst-blue .inst-blue-item {
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  color: #fff;
  text-align: center;
  width: 47.0588235294%;
  border: none;
  background-color: #00479d;
  padding: 20px 0 40px;
}
.art04 .institution .inst-blue .inst-blue-item dt {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 2.5% 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #fff;
}
.art04 .institution .inst-blue .inst-blue-item dd p {
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}
.art04 .institution .inst-blue .inst-blue-item dd p span {
  font-family: "Poppins", sans-serif;
  font-size: 80px;
  color: #fff100;
  vertical-align: baseline;
}
.art04 .program .prog-head {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 60px;
}
.art04 .program .prog-head-sub {
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: #1d2088;
  display: flex;
  align-items: center;
  column-gap: 37px;
  margin-bottom: 40px;
}
.art04 .program .prog-head-sub span {
  flex-shrink: 0;
}
.art04 .program .prog-head-sub::before, .art04 .program .prog-head-sub::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #1d2088;
}
.art04 .program .prog-contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.art04 .program .prog-contents .prog-contents-item {
  border: 3px solid #000;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px rgb(0, 0, 0);
  width: 48.1481481481%;
  overflow: hidden;
}
.art04 .program .prog-contents .prog-contents-item dt {
  font-size: 26px;
  font-weight: 700;
  color: #fff100;
  line-height: 1.4;
  text-align: center;
  background-color: #1d2088;
  padding: 15px 7.6923076923%;
}
.art04 .program .prog-contents .prog-contents-item dd {
  padding: 30px 7.6923076923% 40px;
  background-color: #fff;
}
.art04 .program .prog-contents .prog-contents-item dd .detail-item .detail-head {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  width: fit-content;
  background-color: #fff100;
  border-radius: 9999px;
  padding: 5px 20px;
  margin-bottom: 15px;
}
.art04 .program .prog-contents .prog-contents-item dd .detail-item .detail-head span {
  font-size: 20px;
  vertical-align: baseline;
}
.art04 .program .prog-contents .prog-contents-item dd .detail-item p {
  font-weight: 500;
  line-height: 2;
}
.art04 .program .prog-contents .prog-contents-item dd .detail-item:not(:last-of-type) {
  background-image: linear-gradient(to right, #000 4px, transparent 2px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.art04 .program .prog-button .button-head {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 40px;
}

/* --------------------------------------------------
 art05
-------------------------------------------------- */
.art05 {
  margin-top: 181px;
  padding-bottom: 200px;
}
.art05 .question .ques-head {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 70px;
}
.art05 .question .ques-head .en {
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  color: #8957a1;
  line-height: 1;
  display: inline-block;
  margin-bottom: 30px;
}
.art05 .question .ques-head .mega {
  font-size: 42px;
}
.art05 .question .ques-lead {
  line-height: 2;
  font-weight: 500;
  text-align: center;
  width: 700px;
  max-width: 100%;
  padding: 40px 0;
  margin: 0 auto 78px;
  border-top: 2px solid #000000;
  border-bottom: 2px solid #000000;
}
.art05 .question .ques-modal .ques-modal-item {
  width: 880px;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 30px;
  border: 3px solid #000;
  overflow: hidden;
}
.art05 .question .ques-modal .ques-modal-item:not(:last-of-type) {
  margin-bottom: 40px;
}
.art05 .question .ques-modal .ques-modal-item dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 20px;
  background-color: #fff100;
  padding: 10px 4.5454545455%;
  cursor: pointer;
  pointer-events: all;
}
.art05 .question .ques-modal .ques-modal-item dt figure {
  display: flex;
  align-items: center;
  column-gap: 30px;
}
.art05 .question .ques-modal .ques-modal-item dt figure img {
  flex-shrink: 0;
}
.art05 .question .ques-modal .ques-modal-item dt figure span {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.art05 .question .ques-modal .ques-modal-item dt .arrow {
  flex-shrink: 0;
  position: relative;
  width: 40px;
  height: 40px;
  background-color: #000;
  border-radius: 50%;
}
.art05 .question .ques-modal .ques-modal-item dt .arrow::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: calc(50% - 2px);
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transition: all 0.3s;
}
.art05 .question .ques-modal .ques-modal-item dt.open .arrow::before {
  top: calc(50% + 2px);
  transform: translate(-50%, -50%) rotate(-225deg);
}
@media screen and (min-width: 769px) {
  .art05 .question .ques-modal .ques-modal-item dt:hover .arrow::before {
    transform: translate(-50%, calc(-50% + 5px)) rotate(-45deg);
  }
  .art05 .question .ques-modal .ques-modal-item dt:hover.open .arrow::before {
    transform: translate(-50%, calc(-50% - 5px)) rotate(-225deg);
  }
}
.art05 .question .ques-modal .ques-modal-item dd {
  display: none;
}
.art05 .question .ques-modal .ques-modal-item dd .flex-wrap {
  display: flex;
  align-items: flex-start;
  column-gap: 30px;
  background-color: #fff;
  border-top: 3px solid #000;
  padding: 40px 4.5454545455%;
}
.art05 .question .ques-modal .ques-modal-item dd .flex-wrap .icon {
  flex-shrink: 0;
}
.art05 .question .ques-modal .ques-modal-item dd .flex-wrap .text .head {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  margin: 10px 0;
}
.art05 .question .ques-modal .ques-modal-item dd .flex-wrap .text .head .mini {
  font-size: 16px;
}
.art05 .question .ques-modal .ques-modal-item dd .flex-wrap .text .lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

@media screen and (max-width: 1200px) {
  .step-slider .slick-track {
    left: 0;
  }
  .step-slider .slick-prev {
    left: calc((100vw - 520px) / 2);
  }
  .step-slider .slick-next {
    right: calc((100vw - 520px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .step-head {
    margin-bottom: 40px;
  }
  .step-head img {
    transform: scale(0.7);
  }
  .step-head .en {
    font-size: 16px;
    margin: 15px 0;
  }
  .step-head .jp {
    font-size: 28px;
  }
  .interview-box {
    display: block;
  }
  .interview-box .interview-head {
    display: none;
  }
  .interview-box .interview-left {
    width: 100%;
    text-align: center;
    margin-top: -19.313304721%;
  }
  .interview-box .interview-left.interview {
    margin-top: -32.1888412017%;
  }
  .interview-box .interview-right {
    width: 100%;
    margin-top: -20px;
  }
  .interview-box .interview-right:not(:has(.status)) {
    margin-top: 20px;
  }
  .interview-box .interview-right .name {
    font-size: 18px;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  .interview-box .interview-right .name .status {
    font-size: 14px;
  }
  .interview-box .interview-right .lead {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .interview-box .interview-right .message {
    margin-bottom: 30px;
  }
  .interview-box .interview-right .button {
    width: 100%;
    padding: 20px 0;
  }
  .button-ellipse {
    padding: 25px 0;
  }
  .chat .chat-item .chat-icon {
    width: 60px;
  }
  .chat .chat-item .chat-text {
    padding: 20px 5.2083333333%;
  }
  .chat .chat-item .chat-text::before {
    top: 20px;
  }
  .chat .chat-item .chat-text p {
    font-size: 14px;
  }
  .chat .chat-item .chat-text p .strong {
    font-size: 18px;
  }
  /* --------------------------------------------------
   art01
  -------------------------------------------------- */
  .art01 {
    padding-bottom: 100px;
  }
  .art01 .mainvisual {
    padding: 7.3003802281vh 0 0 0;
  }
  .art01 .mainvisual h1 {
    font-size: 9.3333333333vw;
    position: absolute;
    width: max-content;
    top: 48.6692015209%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
  }
  .art01 .mainvisual .cloud02,
  .art01 .mainvisual .cloud05 {
    display: none;
  }
  .art01 .mainvisual .cloud01 {
    width: 41.6%;
    position: static;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 40.3041825095vh;
  }
  .art01 .mainvisual .cloud03 {
    position: static;
    width: 56.1333333333%;
  }
  .art01 .mainvisual .cloud04 {
    width: 66.8%;
    top: 13.7642585551%;
  }
  .art01 .mainvisual .cloud06 {
    width: 43.8666666667%;
    top: 64.2585551331%;
    left: auto;
    right: 0;
  }
  .art01 .mainvisual .item01 {
    width: 18.4%;
    top: 27.8326996198%;
    left: auto;
    right: 3.3333333333%;
  }
  .art01 .mainvisual .item02 {
    width: 18.4%;
    top: 65.0950570342%;
    left: 5.3333333333%;
  }
  .art01 .mainvisual .item03 {
    width: 18.9333333333%;
    top: 10.0380228137%;
    left: 37.3333333333%;
  }
  .art01 .mainvisual .item04 {
    width: 25.3333333333%;
    top: 85.7794676806%;
    left: 62.2666666667%;
  }
  .art01 .lead {
    padding-top: 45px;
    margin-bottom: 75px;
  }
  .art01 .talk {
    margin-bottom: 90px;
  }
  .art01 .talk .talk-list {
    column-gap: 10px;
    margin-bottom: 40px;
  }
  .art01 .contents .contents-list {
    display: block;
  }
  .art01 .contents .contents-list .contents-list-item {
    width: 100%;
    padding: 15px 3.4129692833%;
  }
  .art01 .contents .contents-list .contents-list-item:not(:last-of-type) {
    background-image: linear-gradient(to right, #000 4px, transparent 2px);
    background-size: 6px 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
  }
  .art01 .contents .contents-list .contents-list-item a p {
    font-size: 18px;
  }
  @keyframes bounce {
    0% {
      transform: translateY(0) scale(0.7);
      opacity: 0;
    }
    50% {
      transform: translateY(-25%) scale(0.7);
      opacity: 1;
    }
    100% {
      transform: translateY(0) scale(0.7);
      opacity: 1;
    }
  }
  /* --------------------------------------------------
   art02
  -------------------------------------------------- */
  .art02 {
    margin-bottom: 100px;
  }
  .art02 .step-subtitle {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .art02 .step-box .step-box-image figcaption span {
    font-size: 19px;
  }
  .art02 .step01 {
    padding: 25px 0 150px;
  }
  .art02 .step01::before {
    height: 50px;
    background-image: url(../image/step-01-wave-sp.png);
  }
  .art02 .step02 {
    padding: 25px 0 150px;
  }
  .art02 .step02::before {
    height: 50px;
    background-image: url(../image/step-02-wave-sp.png);
  }
  .art02 .step02 .slider01 {
    margin-bottom: 200px;
  }
  .art02 .step02 .interview-box {
    margin-bottom: 40px;
  }
  .art02 .step02 .slider02 {
    justify-content: center;
  }
  .art02 .step02 .slider02 .step-box {
    width: 520px;
    max-width: 100%;
  }
  .art02 .step03 {
    padding: 25px 0 100px;
  }
  .art02 .step03::before, .art02 .step03::after {
    height: 50px;
    background-image: url(../image/step-03-wave-sp.png);
  }
  .art02 .step03 .slider01 {
    margin-bottom: 200px;
  }
  /* --------------------------------------------------
   art03
  -------------------------------------------------- */
  .art03 {
    padding-bottom: 131px;
  }
  .art03 .about .about-head {
    font-size: 21px;
    margin-bottom: 30px;
  }
  .art03 .about .about-head .mega {
    font-size: 26px;
  }
  .art03 .about .about-head .en {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .art03 .about .about-campus {
    margin-bottom: 30px;
  }
  .art03 .about .about-lead {
    text-align: left;
    margin-bottom: 40px;
  }
  .art03 .about .loop-wrap {
    margin-bottom: 50px;
  }
  .art03 .about .about-subtitle {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .art03 .about .about-content.sec-wrap {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 50px;
  }
  .art03 .about .about-content.sec-wrap .sec-child {
    width: 100%;
  }
  .art03 .about .about-content.sec-wrap .sec-child .button-ellipse {
    margin: 0 auto;
  }
  .art03 .about .about-content:not(:last-of-type) {
    margin-bottom: 40px;
  }
  /* --------------------------------------------------
   art04
  -------------------------------------------------- */
  .art04 {
    padding: 50px 0 100px;
  }
  .art04 .institution {
    margin-bottom: 50px;
  }
  .art04 .institution .inst-head {
    font-size: 21px;
    margin-bottom: 30px;
  }
  .art04 .institution .inst-head .mega {
    font-size: 26px;
  }
  .art04 .institution .inst-head .en {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .art04 .institution .inst-blue {
    margin-bottom: 50px;
  }
  .art04 .institution .inst-blue .inst-blue-item {
    padding: 15px 0 20px;
  }
  .art04 .institution .inst-blue .inst-blue-item dt {
    font-size: 18px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
  .art04 .institution .inst-blue .inst-blue-item dd p {
    font-size: 14px;
  }
  .art04 .institution .inst-blue .inst-blue-item dd p span {
    font-size: 50px;
  }
  .art04 .program .prog-head {
    font-size: 21px;
    margin-bottom: 30px;
  }
  .art04 .program .prog-head-sub {
    font-size: 18px;
    column-gap: 22.5px;
    margin-bottom: 20px;
  }
  .art04 .program .prog-contents {
    row-gap: 20px;
    margin-bottom: 40px;
  }
  .art04 .program .prog-contents .prog-contents-item {
    width: 100%;
  }
  .art04 .program .prog-contents .prog-contents-item dt {
    font-size: 17px;
  }
  .art04 .program .prog-contents .prog-contents-item dd {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .art04 .program .prog-contents .prog-contents-item dd .detail-item .detail-head {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .art04 .program .prog-contents .prog-contents-item dd .detail-item .detail-head span {
    font-size: 14px;
  }
  .art04 .program .prog-contents .prog-contents-item dd .detail-item p .ib {
    display: inline;
  }
  .art04 .program .prog-contents .prog-contents-item dd .detail-item:not(:last-of-type) {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .art04 .program .prog-button .button-head {
    font-size: 18px;
    margin-bottom: 25px;
  }
  /* --------------------------------------------------
   art05
  -------------------------------------------------- */
  .art05 {
    margin-top: 81px;
    padding-bottom: 100px;
  }
  .art05 .question .ques-head {
    font-size: 21px;
    margin-bottom: 30px;
  }
  .art05 .question .ques-head .mega {
    font-size: 26px;
  }
  .art05 .question .ques-head .en {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .art05 .question .ques-lead {
    padding: 20px 0;
    margin-bottom: 40px;
  }
  .art05 .question .ques-modal .ques-modal-item {
    border-radius: 20px;
  }
  .art05 .question .ques-modal .ques-modal-item:not(:last-of-type) {
    margin-bottom: 20px;
  }
  .art05 .question .ques-modal .ques-modal-item dt figure {
    column-gap: 10px;
  }
  .art05 .question .ques-modal .ques-modal-item dt figure span {
    font-size: 16px;
  }
  .art05 .question .ques-modal .ques-modal-item dd .flex-wrap {
    column-gap: 20px;
  }
  .art05 .question .ques-modal .ques-modal-item dd .flex-wrap .text .head {
    font-size: 16px;
  }
  .art05 .question .ques-modal .ques-modal-item dd .flex-wrap .text .head .mini {
    font-size: 14px;
  }
  .art05 .question .ques-modal .ques-modal-item dd .flex-wrap .text .lead {
    font-size: 14px;
  }
}
@media screen and (max-width: 640px) {
  .step-slider .slick-prev,
  .step-slider .slick-next {
    width: 40px;
    height: 40px;
  }
  .step-slider .slick-prev::before,
  .step-slider .slick-next::before {
    width: 8px;
    height: 8px;
  }
  .step-slider .slick-prev {
    left: 6vw;
    transform: translate(-50%, -50%);
  }
  .step-slider .slick-prev::before {
    left: calc(50% + 2px);
  }
  .step-slider .slick-next {
    right: 6vw;
    transform: translate(50%, -50%);
  }
  .step-slider .slick-next::before {
    left: calc(50% - 2px);
  }
  .art02 .step02 .slider01,
  .art02 .step03 .slider01 {
    margin-bottom: 130px;
  }
  .art04 .institution .inst-blue {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 20px;
  }
  .art04 .institution .inst-blue .inst-blue-item {
    width: 80%;
  }
}/*# sourceMappingURL=style.css.map */