@charset "utf-8";

/* -------------------------------------------------------------------
#TOP
------------------------------------------------------------------- */
#TOP {
  font-weight: 500;
}
/* scroll-section */
.scroll-section-2 {
  padding-top: 80px;
}
/* 見出し */
.section-title {
  margin-bottom: 40px;
}
.section-title span {
  display: block;
  line-height: 1;
}
.section-title .font-Roboto {
  font-weight: 700;
  letter-spacing: -0.01em;
}
.section-title .top {
  font-size: 4.8rem;
}
.section-title .bottom {
  margin-top: 1em;
  font-size: 1.8rem;
}
/* ボタン */
#TOP .common-button {
  margin: 0 auto;
}
/* スライド */
#TOP .slide-container {
  position: relative;
  -webkit-user-select: none;
  user-select: none;
}
#TOP .swiper .swiper-pagination {
  bottom: 0;
}
#TOP .swiper .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin-right: 10px;
  margin-left: 10px;
}
#TOP .swiper .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #000;
}
#TOP .swiper-button-prev,
#TOP .swiper-button-next {
  width: 38px;
  height: 38px;
  margin-top: 0;
  background-color: #a9a8aa;
}
#TOP .swiper-button-prev {
  left: -19px;
}
#TOP .swiper-button-next {
  right: -19px;
}
#TOP .swiper-button-prev::after,
#TOP .swiper-button-next::after {
  content: "";
  background-size: cover;
  width: 19px;
  height: 19px;
}
#TOP .swiper-button-prev::after {
  background-image: url(../../img/common/icon-arrow-left-white.png);
}
#TOP .swiper-button-next::after {
  background-image: url(../../img/common/icon-arrow-right-white.png);
}
/* アニメーション */
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop-2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@keyframes loop-reverse {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(200%);
  }
}
@keyframes loop-reverse-2 {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}





/* mv */
.mv {
  position: relative;
  z-index: 12;
  height: calc(100vh - 80px);
}
.mv__content {
  position: relative;
  height: calc(100% - 2.14vw - 92px - 2.14vw);
}
/* .mv__content .bg {
  height: 100%;
}
.mv__content .bg video {
  object-fit: cover;
  width: 100%;
  height: 100%;
} */
.mv__content > .bg {
  overflow: hidden;
  position: relative;
  height: 100%;
}
.mv__content .bg video {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-width: 100%;
  min-height: 100%;
}
.mv__content p,
.mv__content > img,
.mv__content .footer__image {
  position: absolute;
}
.mv__content p {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  text-align: center;
  color: #fff;
}
.mv__content > img {
  z-index: 1;
  top: 63%;
  left: 50%;
  transform: translateX(-50%);
  width: 21px;
  animation: arrow-move 1s ease-in-out infinite;
}
.mv__content .footer__image {
  /* right: 0; */
  bottom: 0;
  left: 0;
  width: 100%;
}
.mv__banner {
  padding-top: 2.14vw;
  padding-bottom: 2.14vw;
  background-color: #000;
}
.mv__banner ul {
  display: flex;
  /* align-items: flex-start; */
  /* width: 88%; */
  width: 86%;
  max-width: 1200px;
  margin: 0 auto;
}
.mv__banner ul li {
  width: 273px;
}
.mv__banner ul li + li {
  margin-left: 40px;
}
.mv__banner ul li a:hover {
  opacity: 0.8;
}
.mv__banner ul li a img {
  object-fit: cover;
  object-position: center;
  height: 92px;
}
.mv__opencampus {
  position: absolute;
  right: 9.86vw;
  bottom: 2.71vw;
  width: 14.3%;
  font-weight: 700;
  line-height: 1;
}
.mv__opencampus a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 14.3vw;
  border-radius: 50%;
  background-color: #fff;
}
.mv__opencampus a::after {
  content: "";
  background-image: url(../../img/common/icon-arrow-right-black.png);
  background-size: cover;
  position: absolute;
  right: 24.5%;
  bottom: 7%;
  width: 16%;
  height: 15%;
  transition: all .3s;
}
.mv__opencampus a:hover {
  background-color: #e4e4e4;
}
.mv__opencampus a:hover::after {
  right: 7%;
  bottom: 7%;
}
/* .mv__opencampus a p:not(:first-of-type),
.mv__opencampus a div:not(:first-of-type) {
  display: none;
} */
.mv__opencampus a span {
  display: block;
  text-align: center;
}
.mv__opencampus a p span:first-of-type {
  font-size: 2vw;
}
.mv__opencampus a p span:last-of-type {
  font-size: 1.43vw;
}
.mv__opencampus a div span:first-of-type {
  font-size: 4vw;
}
.mv__opencampus a div span:last-of-type {
  margin-top: 0.2em;
  font-size: 1.43vw;
}





/* topics */
.topics {
  padding-top: 50px;
}
.topics .swiper {
  padding-bottom: 80px;
  margin-bottom: 50px;
}
.topics .swiper .swiper-wrapper {
  left: -36px;
}
.topics .swiper .swiper-wrapper .swiper-slide {
  width: 273px;
  margin-left: 36px;
}
.topics-slide .swiper-button-prev,
.topics-slide .swiper-button-next {
  top: 68px;
}
.topics-thumbnail {
  margin-bottom: 20px;
}
.topics-thumbnail img {
  object-fit: cover;
  object-position: center;
  height: 174px;
  border-radius: 10px;
  background-color: #e4e4e4;
}
/* .topics-category {
  margin-bottom: 0.5em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.topics-category a {
  display: inline-block;
  padding-top: 0.375em;
  padding-right: 1.25em;
  padding-bottom: 0.375em;
  padding-left: 1.25em;
  background-color: #e4e4e4;
}
.topics-category a:hover {
  background-color: #000;
  color: #fff;
} */
.topics-title {
  margin-bottom: 1em;
  font-size: 1.8rem;
}
.topics-title a:hover {
  text-decoration: underline;
}
.topics-time {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
.topics-time span {
  color: #c9c9c9;
}





/* news */
.news {
  padding-bottom: 80px;
}
.news .inner {
  max-width: 1000px;
  margin-left: auto;
}
.news__tab {
  margin-bottom: 60px;
}
.news__tab ul {
  display: flex;
  justify-content: space-between;
}
.news__tab ul li {
  width: 23.8%;
  padding-top: 1.125em;
  padding-bottom: calc(1.125em - 4px);
  border-bottom: 4px solid #e4e4e4;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: all .3s;
}
.news__tab ul li.active {
  background-color: #e4e4e4;
  cursor: auto;
}
.news__tab ul li:hover {
  border-color: #000;
}
.news__tab ul li.active:hover {
  border-color: #e4e4e4;
}
.news__content > div {
  display: none;
}
.news__content > div.active {
  display: block;
}
.news__content ul {
  margin-bottom: 60px;
}
/* .news__content ul li {
  display: flex;
  align-items: center;
} */
.news__content ul li + li {
  margin-top: 40px;
}
.news__content ul li .flex {
  display: flex;
}
.news-time {
  margin-right: 30px;
  font-size: 1.6rem;
  /* line-height: 1; */
  letter-spacing: 0.04em;
}
.news-time span {
  display: block;
  color: #c9c9c9;
}
.news-category {
  display: flex;
  flex-wrap: wrap;
  /* margin-right: 30px; */
  margin-left: calc(88.91px + 30px);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.news-category a {
  width: 8.75em;
  padding-top: 0.375em;
  padding-bottom: 0.375em;
  margin-right: 10px;
  margin-bottom: 10px;
  text-align: center;
  background-color: #e4e4e4;
}
.news-category a:hover {
  background-color: #000;
  color: #fff;
}
.news-title {
  flex: 1;
  font-size: 1.6rem;
}
.news-title a:hover {
  text-decoration: underline;
}





/* course */
.course {
  position: relative;
}
.course__background {
  overflow-x: hidden;
  display: flex;
}
.course__background:nth-of-type(even) {
  justify-content: flex-end;
}
.course__background + .course__background {
  margin-top: 5px;
}
.course__background picture img {
  padding-right: 2px;
  padding-left: 2px;
}
.course__background picture img {
  width: auto;
  height: 226px;
}
.course__background:nth-of-type(odd) picture:first-child img {
  animation: loop 150s -75s linear infinite;
}
.course__background:nth-of-type(odd) picture:last-child img {
  animation: loop-2 150s linear infinite;
}
.course__background:nth-of-type(even) picture:first-child img {
  animation: loop-reverse 150s linear infinite;
}
.course__background:nth-of-type(even) picture:last-child img {
  animation: loop-reverse-2 150s -75s linear infinite;
}
.course__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-top: 55px;
  padding-bottom: 50px;
  background-color: #fff;
}
.course__content .container {
  width: 374px;
}
.course__content .section-title {
  text-align: center;
}
.course__content .section-title .bottom {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.course__content p:first-of-type {
  margin-bottom: 0.5em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
.course__content p:nth-of-type(2) {
  padding-right: 2.5em;
  padding-left: 2.5em;
  margin-bottom: 2.5em;
  font-size: 1.6rem;
  line-height: 2;
}





/* pickup */
.pickup {
  padding-top: 50px;
  padding-bottom: 25px;
}
.pickup ul {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  align-items: flex-start;
}
.pickup ul li {
  width: 22.75%;
  margin-bottom: 36px;
  margin-left: calc(9% / 3);
}
.pickup ul li:nth-of-type(4n + 1) {
  margin-left: 0;
}





/* special-contents */
.special-contents {
  padding-top: 50px;
  padding-bottom: 20px;
  background-color: #000;
  color: #fff;
}
.special-contents ul {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  align-items: flex-start;
}
.special-contents ul li {
  width: 31.3%;
  margin-bottom: 40px;
  margin-left: calc(6.1% / 2);
}
.special-contents ul li:nth-of-type(3n + 1) {
  margin-left: 0;
}
.special-contents-thumbnail {
  position: relative;
}
.special-contents-thumbnail::before,
.special-contents-thumbnail::after {
  content: "";
  position: absolute;
}
.special-contents-thumbnail::before {
  right: 0;
  bottom: 0;
  width: 32px;
  height: 32px;
  background-color: #000;
}
.special-contents-thumbnail::after {
  background-image: url(../../img/common/icon-arrow-right-white.png);
  background-size: cover;
  right: 8px;
  bottom: 8px;
  width: 16px;
  height: 16px;
}
.special-contents-thumbnail img {
  object-fit: cover;
  object-position: center;
  height: 220px;
  background-color: #fff;
}
.special-contents-title {
  margin-top: 1em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
.special-contents-text {
  font-size: 1.6rem;
}





/* contents */
.contents {
  padding-top: 80px;
  padding-bottom: 80px;
}
.contents ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.contents ul li {
  width: 31.3%;
}
.contents ul li a:first-of-type {
  overflow: hidden;
  margin-bottom: 30px;
  height: 280px;
}
.contents ul li a:first-of-type img {
  transition: all .3s;
}
.contents ul li a:first-of-type img:hover {
  transform: scale(1.1);
}
.contents ul li .section-title {
  margin-bottom: 20px;
}
.contents ul li .section-title .top {
  font-size: 3.6rem;
}
.contents ul li p {
  margin-bottom: 1.5em;
  font-size: 1.6rem;
  line-height: 1.75;
}





/* about */
.about {
  padding-bottom: 40px;
}
.about__content {
  position: relative;
  margin-top: -205px;
}
.about__content .container .inner {
  max-width: 788px;
  padding-top: 40px;
  padding-right: 40px;
  padding-bottom: 40px;
  padding-left: 40px;
  margin-left: auto;
  background-color: #fff;
}
.about__content .section-title {
  margin-bottom: 25px;
}
.about__content .section-title .bottom {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.about__content .flex {
  display: flex;
  align-items: flex-end;
}
.about__content .flex p {
  flex: 1;
  margin-right: 1.8em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
}
.about__content .flex .common-button {
  margin: 0 !important;
}





/* campus-life */
.campus-life {
  padding-bottom: 100px;
}
.campus-life img {
  width: 63.6%;
  margin-right: 7%;
  margin-left: auto;
}
.campus-life__content .container {
  position: relative;
}
.campus-life__content .container .inner {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40%;
  padding-top: 40px;
  background-color: #fff;
}
.campus-life__content .section-title {
  margin-bottom: 25px;
}
.campus-life__content .section-title .bottom {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.campus-life__content p {
  margin-bottom: 2.5em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
}
.campus-life__content .common-button {
  margin: 0 !important;
}





/* gatun */
.gatun {
  position: relative;
}
.gatun a picture {
  overflow: hidden;
  display: block;
  height: calc(100% / 1400 * 480);
}
.gatun a picture img {
  transition: all .3s;
}
.gatun a:hover picture img {
  transform: scale(1.1);
}
.gatun a p,
.gatun a h2,
.gatun a .common-button {
  position: absolute;
}
.gatun a p {
  top: 5vw;
  left: 14%;
  font-size: 2.57vw;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #fff;
}
.gatun a h2 {
  top: 13.6vw;
  left: 14%;
  width: 72%;
}
.gatun a .common-button {
  top: 26.4vw;
  right: 0;
  left: 0;
  border-color: #fff;
  transition: all .3s;
}
.gatun a:hover .common-button {
  border-color: #000;
  background-color: #000;
  color: #fff;
}
.gatun a:hover .common-button::after {
  background-image: url(../../img/common/icon-common-button-white.png);
}





/* follow-us */
.follow-us {
  padding-top: 80px;
  padding-bottom: 120px;
}
.follow-us .section-title {
  text-align: center;
}
.follow-us h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
.follow-us h3 img {
  width: 32px;
  height: 32px;
}
.follow-us h3 span {
  margin-left: 0.417em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
}
.follow-us__instagram {
  margin-bottom: 80px;
}
.follow-us__instagram .slide-show {
  overflow-x: hidden;
  display: flex;
  margin-bottom: 30px;
}
.follow-us__instagram .slide-show ul {
  display: flex;
  width: auto;
}
.follow-us__instagram .slide-show ul:first-child {
  animation: loop 60s -30s linear infinite;
}
.follow-us__instagram .slide-show ul:last-child {
  animation: loop-2 60s linear infinite;
}
.follow-us__instagram .slide-show ul li {
  display: flex;
  margin-right: 4px;
  margin-left: 4px;
}
.follow-us__instagram .slide-show ul li img {
  object-fit: cover;
  object-position: center;
  width: 273px;
  height: 273px;
}
.follow-us__instagram p {
  margin-bottom: 1.5em;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  text-align: center;
}
.follow-us__youtube .swiper {
  padding-bottom: 60px;
  margin-bottom: 50px;
}
.follow-us__youtube .swiper .swiper-wrapper {
  left: -36px;
}
.follow-us__youtube .swiper .swiper-wrapper .swiper-slide {
  width: 376px;
  margin-left: 36px;
}
.follow-us-youtube-slide .swiper-button-prev,
.follow-us-youtube-slide .swiper-button-next {
  top: 91.75px;
}
.follow-us-youtube-thumbnail {
  cursor: pointer;
  margin-bottom: 10px;
}
.follow-us-youtube-thumbnail img {
  object-fit: cover;
  width: 100%;
  height: 221.5px;
  border-radius: 10px;
  background-color: #e4e4e4;
}
.follow-us-youtube-title {
  -webkit-user-select: text;
  user-select: text;
  font-size: 1.8rem;
}





@media screen and (max-width: 1400px) {
  /* mv */
  .mv__content {
    height: calc(100% - 2.14vw - 88vw * 0.2275 / 273 * 92 - 2.14vw);
  }
  .mv__banner ul li {
    width: 22.75%;
  }
  .mv__banner ul li + li {
    margin-left: 3.17%;
  }
  .mv__banner ul li a img {
    height: calc(88vw * 0.2275 / 273 * 92);
  }
  /* pickup */
  .pickup ul li {
    margin-bottom: calc(86vw * 0.03);
  }
  /* special-contents */
  .special-contents-thumbnail img {
    height: calc(86vw * 0.313 / 376 * 220);
  }
  /* contents */
  .contents ul li a:first-of-type {
    height: calc(86vw * 0.313 / 376 * 280);
  }
  /* about */
  .about__content {
    margin-top: -14.5vw;
  }
}





@media screen and (max-width: 1200px) {
  /* about */
  .about__content .section-title .top {
    font-size: 4.4rem;
  }
  .about__content .flex p {
    font-size: 1.7rem;
  }
  /* campus-life */
  .campus-life__content .section-title .top {
    font-size: 4.4rem;
  }
  .campus-life__content p {
    font-size: 1.7rem;
  }
}





@media screen and (max-width: 1024px) {
  /* scroll-section */
  .scroll-section-2 {
    padding-top: 60px;
  }
  /* mv */
  .mv {
    height: calc(100vh - 60px);
  }
  /* contents */
  .contents ul li .section-title .top {
    font-size: 3.4rem;
  }
  .contents ul li p {
    font-size: 1.5rem;
  }
  .about__content .section-title .top {
    font-size: 3.3rem;
  }
  .about__content .flex p {
    font-size: 1.3rem;
  }
  /* campus-life */
  .campus-life__content .section-title .top {
    font-size: 3.3rem;
  }
  .campus-life__content p {
    font-size: 1.3rem;
  }
}