@charset "UTF-8";
.hide {
  display: none;
}

.fc-calendar-container {
  background: #fff;
}

.custom-header {
  position: relative;
  margin-bottom: 1em;
}

.custom-month {
  font-family: "Neuton", serif;
  font-size: clamp(3.5rem, 1.6772151899rem + 2.3734177215vw, 5rem);
  font-weight: 300;
  text-align: center;
  line-height: 1;
}
.custom-month .en {
  margin-left: 0.5em;
  font-size: 0.56em;
}

.custom-next,
.custom-prev {
  position: absolute;
  bottom: 0;
  width: 3.5em;
  height: 3.5em;
  border: 1px solid currentColor;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.custom-next:hover,
.custom-prev:hover {
  background: #3e3a39;
}
.custom-next:hover::after,
.custom-prev:hover::after {
  background: #fff;
}
.custom-next::after,
.custom-prev::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30%;
  height: 24%;
  background: #3e3a39;
  -webkit-mask-image: url(/assets/img/share/icon-arrow.svg);
  mask-image: url(/assets/img/share/icon-arrow.svg);
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  content: "";
}

.custom-next {
  right: 0;
}

.custom-prev {
  left: 0;
}
.custom-prev::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}

.fc-calendar {
  background: #f8f8f8;
}

.fc-head,
.fc-body {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.fc-body {
  display: table;
  width: 100%;
  border-collapse: collapse;
}

.fc-head {
  display: table;
  width: 100%;
  background: #3e3a39;
  text-align: center;
}
.fc-head > div {
  padding: 0.5em 0;
  display: table-cell;
  vertical-align: top;
  width: 10%;
  color: #fff;
  font-size: clamp(1rem, 0.7569620253rem + 0.3164556962vw, 1.2rem);
  text-transform: uppercase;
}
.fc-head div:nth-child(1) {
  color: #e9b3b3;
}
.fc-head div:nth-child(7) {
  color: #95c7d5;
}

.fc-row {
  display: table-row;
  width: 100%;
  height: 85px;
}
.fc-row > div {
  display: table-cell;
  vertical-align: top;
  width: 14.2%;
  min-height: 54px;
  padding: 0.2em 0.5em;
  border: 1px solid #ddd;
  font-size: clamp(1.2rem, 0.9569620253rem + 0.3164556962vw, 1.4rem);
}
.fc-row > div:nth-child(1) {
  color: #e9b3b3;
}
.fc-row > div:nth-child(7) {
  color: #95c7d5;
}
.fc-row > div .icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.1em 12%;
}
.fc-row > div .icons li {
  width: clamp(15px, 40%, 19px);
}
.fc-row > div .icons a {
  display: block;
}
.fc-row > div .icons a.consultation, .fc-row > div .icons a.web_campus {
  display: none;
}
.fc-row > div .icons img {
  width: 100%;
}
.fc-row > div .fc-weekday {
  display: none;
}
.fc-row .holiday {
  color: #e9b3b3;
}

.event-categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8em 1em;
  margin-top: 1em;
}
.event-categories > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(1rem, 0.7569620253rem + 0.3164556962vw, 1.2rem);
  font-weight: bold;
  line-height: 1.2;
}
.event-categories > li > span {
  margin-right: 0.3em;
}

.home-header {
  position: fixed;
}
.home-header .header-container {
  background: none;
}
.home-header.scrolled .header-container {
  background: #fff;
}
.home-header.open:not(.scrolled) .header-container {
  background: #fff;
}

.mv-container {
  margin-bottom: min(22.3076923077vw, 100px);
}
.mv-container.js-anime.action .mv-swiper,
.mv-container.js-anime.action .mv-catch {
  opacity: 1;
}
.mv-container.js-anime.action .mv-swiper {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.mv-container.js-anime .mv-swiper {
  -webkit-transition: 0.6s ease-in;
  transition: 0.6s ease-in;
  opacity: 0;
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
}
.mv-container.js-anime .mv-catch {
  -webkit-transition: 0.6s ease-in 0.3s;
  transition: 0.6s ease-in 0.3s;
  opacity: 0;
}

.home-mv-box {
  position: relative;
}
@media screen and (min-width: 640px) {
  .home-mv-box {
    left: 50%;
    width: min(108.5714285714%, 1520px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.mv-swiper {
  width: 93.5897435897%, 1040px;
  margin: 0;
  -webkit-mask-image: url("/assets/img/home/mv-mask-sp.png");
  mask-image: url("/assets/img/home/mv-mask-sp.png");
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
@media screen and (min-width: 640px) {
  .mv-swiper {
    width: 68.4210526316%;
    -webkit-mask-image: url("/assets/img/home/mv-mask.png");
    mask-image: url("/assets/img/home/mv-mask.png");
  }
}
.mv-swiper img {
  width: 100%;
}

.mv-catch {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 68.5897435897%;
  -webkit-transform: translate(18.691588785%, 16.3498098859%);
          transform: translate(18.691588785%, 16.3498098859%);
}
@media screen and (min-width: 640px) {
  .mv-catch {
    right: 10.5263157895%;
    width: 32.2368421053%;
    -webkit-transform: translateY(-10.3519668737%);
            transform: translateY(-10.3519668737%);
  }
}
.mv-catch .catch-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 50%;
  width: 64.1499164107%;
  height: 100%;
  -webkit-transform: translateX(calc(-50% - 1em));
          transform: translateX(calc(-50% - 1em));
}
@media screen and (min-width: 640px) {
  .mv-catch .catch-link {
    width: 90%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.mv-catch .catch-link .icon-circle-arrow {
  width: 2em;
  height: 2em;
  margin-top: 1em;
  border-color: #95c7d5;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
.mv-catch .catch-link .icon-circle-arrow::after {
  background-color: #95c7d5;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
.mv-catch .catch-link:hover .catch-ja {
  color: #95c7d5;
}
.mv-catch .catch-link:hover .icon-circle-arrow {
  background-color: #95c7d5;
}
.mv-catch .catch-link:hover .icon-circle-arrow::after {
  background-color: #fff;
}
.mv-catch .catch-en {
  width: 100%;
  margin-bottom: min(5.1282051282vw, 30px);
}
@media screen and (min-width: 640px) {
  .mv-catch .catch-en {
    width: min(69.8412698413%, 308px);
  }
}
.mv-catch .catch-ja {
  font-size: clamp(1.2rem, -0.0151898734rem + 1.582278481vw, 2.2rem);
  font-weight: bold;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.mv-catch .catch-bg img {
  width: 100%;
}

.main {
  min-height: 100vh;
  padding-top: 8.9743589744vw;
  background-color: hsl(195, 49%, 77%);
  background-image: radial-gradient(at 100% 100%, hsl(217, 44%, 79%) 0px, transparent 50%), radial-gradient(at 0% 0%, hsl(191, 75%, 84%) 0px, transparent 50%), radial-gradient(at 0% 100%, hsl(202, 53%, 78%) 0px, transparent 50%), radial-gradient(at 100% 0%, hsl(161, 56%, 82%) 0px, transparent 50%);
  overflow: hidden;
}
@media screen and (min-width: 640px) {
  .main {
    padding-top: 0;
  }
}

.main-container {
  padding: 0;
}

.block-title {
  margin-bottom: 1em;
  font-size: clamp(3.5rem, 1.6772151899rem + 2.3734177215vw, 5rem);
  line-height: 1.4;
}
.block-title.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.block-title.white {
  color: #fff;
}
.block-title.white .sub {
  color: inherit;
}
.block-title:not(.center) .sub {
  margin-left: 0.5em;
}
.block-title .sub {
  color: #a9a9a9;
  font-size: clamp(1.2rem, 0.7139240506rem + 0.6329113924vw, 1.6rem);
  letter-spacing: 0.1em;
}
.block-title.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
}
.block-title.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.pickup-block {
  margin: min(17.9487179487vw, 100px) 0 min(17.9487179487vw, 140px);
}

.pickup-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pickup-container.js-anime.action .pickup-swiper,
.pickup-container.js-anime.action .pickup-thumb-swiper {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.pickup-container.js-anime .pickup-swiper,
.pickup-container.js-anime .pickup-thumb-swiper {
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.pickup-container.js-anime .pickup-thumb-swiper {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.pickup-swiper {
  margin: 0;
  color: #fff;
}
@media screen and (min-width: 640px) {
  .pickup-swiper {
    width: 47.265625%;
  }
}
.pickup-swiper a {
  display: block;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.pickup-swiper a:hover {
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
  -webkit-filter: brightness(90%);
          filter: brightness(90%);
}
.pickup-swiper .banner-img {
  border-radius: 10px;
  overflow: hidden;
}
.pickup-swiper .banner-img img {
  width: 100%;
}
.pickup-swiper .banner-label {
  margin-top: 1em;
  font-size: clamp(1.2rem, 0.7139240506rem + 0.6329113924vw, 1.6rem);
  font-weight: bold;
}

.pickup-thumb-swiper {
  margin-top: 7.6923076923vw;
}
@media screen and (min-width: 640px) {
  .pickup-thumb-swiper {
    width: 45.60546875%;
    margin: 0 0 0 auto;
  }
}
.pickup-thumb-swiper .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 1.4em;
  height: auto;
}
.pickup-thumb-swiper .swiper-slide {
  width: 48%;
  border-radius: 5px;
  overflow: hidden;
  -webkit-filter: brightness(70%);
          filter: brightness(70%);
  cursor: pointer;
  -webkit-transition: -webkit-filter 0.8s ease;
  transition: -webkit-filter 0.8s ease;
  transition: filter 0.8s ease;
  transition: filter 0.8s ease, -webkit-filter 0.8s ease;
}
.pickup-thumb-swiper .swiper-slide:not(.swiper-slide-thumb-active):hover {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}
.pickup-thumb-swiper .swiper-slide img {
  width: 100%;
}
.pickup-thumb-swiper .swiper-slide-thumb-active {
  cursor: auto;
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}
.pickup-container02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.pickup-container02.js-anime.action .pickup-col {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.pickup-container02.js-anime .pickup-col {
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.pickup-container02.js-anime .pickup-col.sm {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.pickup-container02 .pickup-col.lg {
  width: 100%;
}
@media screen and (min-width: 640px) {
  .pickup-container02 .pickup-col.lg {
    width: 47.265625%;
  }
}
.pickup-container02 .pickup-col.sm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 1.4em;
  width: 100%;
  margin-top: 7.6923076923vw;
}
@media screen and (min-width: 640px) {
  .pickup-container02 .pickup-col.sm {
    width: 45.60546875%;
    margin-top: 0;
  }
}
.pickup-container02 .pickup-col.sm .pickup-item {
  width: 48%;
}
.pickup-container02 .pickup-col.sm .pickup-item img {
  border-radius: 5px;
}
.pickup-container02 .pickup-item img {
  border-radius: 10px;
}
.pickup-container02 .pickup-link {
  display: block;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.pickup-container02 .pickup-link:hover {
  -webkit-filter: drop-shadow(0 0 1rem #4ca0b8);
          filter: drop-shadow(0 0 1rem #4ca0b8);
}

.pickup-news {
  background: #fff;
  border-radius: 10px;
  padding: min(3.8461538462vw, 30px) min(3.8461538462vw, 30px);
  margin-bottom: 3em;
  border: 3px #95c7d5 solid;
}
.pickup-news.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.pickup-news.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.pickup-news .title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(2rem, 1.0278481013rem + 1.2658227848vw, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 1em;
  padding-bottom: 0.2em;
  color: #95c7d5;
  border-bottom: 3px solid #95c7d5;
}
.pickup-news .text {
  margin-top: 0.8em;
}
.pickup-news .button {
  margin-top: 1.5em;
}
.pickup-news .button .base-btn {
  margin-left: auto;
  margin-right: auto;
}

.bg-block::before, .bg-block::after {
  display: block;
  position: relative;
  width: 100%;
  background: no-repeat center;
  background-size: contain;
  content: "";
}
.bg-block::before {
  top: 1px;
  height: 9.6153846154vw;
  background-image: url(/assets/img/home/top-shape-sp.png);
}
@media screen and (min-width: 640px) {
  .bg-block::before {
    height: 6.2857142857vw;
    background-image: url(/assets/img/home/top-shape.png);
  }
}
.bg-block::after {
  bottom: 2px;
  height: 11.2820512821vw;
  background-image: url(/assets/img/home/bottom-shape-sp.png);
}
@media screen and (min-width: 640px) {
  .bg-block::after {
    height: 9.5vw;
    background-image: url(/assets/img/home/bottom-shape.png);
  }
}
.bg-block .bg-block-inner {
  padding: min(13.5897435897vw, 113px) 0 min(11.7948717949vw, 80px);
  background: #fff;
}

.event-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.event-container.js-anime.action .calendar,
.event-container.js-anime.action .event-links {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.event-container.js-anime .calendar,
.event-container.js-anime .event-links {
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.event-container.js-anime .event-links {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.event-container .calendar {
  max-width: 496px;
}
@media screen and (min-width: 640px) {
  .event-container .calendar {
    width: 48.4375%;
  }
}
.event-container .event-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2em 4.5714285714%;
  margin-top: 10.2564102564vw;
}
@media screen and (min-width: 640px) {
  .event-container .event-links {
    -webkit-column-gap: 6.4516129032%;
       -moz-column-gap: 6.4516129032%;
            column-gap: 6.4516129032%;
    width: 48.4375%;
    margin: 0 0 0 3.125%;
  }
}
.event-container .event-link-item {
  width: 47.7142857143%;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-filter: drop-shadow(0 0.4em 1.25em rgba(111, 111, 128, 0.1));
          filter: drop-shadow(0 0.4em 1.25em rgba(111, 111, 128, 0.1));
}
@media screen and (min-width: 640px) {
  .event-container .event-link-item {
    width: 46.7741935484%;
  }
}
.event-container .event-link-item.oc {
  --oc-color: #f2afb3;
}
.event-container .event-link-item.tour {
  --oc-color: #95c7d5;
}
.event-container .event-link-item.repeat {
  --oc-color: #b4cc8b;
}
.event-container .event-link-item.career {
  --oc-color: #eeb977;
}
.event-container .event-link-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  padding: 14.371257485% 7.4850299401% 11.9760479042%;
  background: #fff;
  border-radius: 0.4em;
  font-size: clamp(1.1rem, 0.735443038rem + 0.4746835443vw, 1.4rem);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  overflow: hidden;
}
.event-container .event-link-item a:hover {
  background: var(--oc-color);
}
.event-container .event-link-item a:hover::after {
  right: 0.7em;
  bottom: 0.7em;
  border-right-color: #fff;
}
.event-container .event-link-item a:hover .title {
  color: #fff;
}
.event-container .event-link-item a .en {
  font-size: clamp(1rem, 0.5139240506rem + 0.6329113924vw, 1.4rem);
}
.event-container .event-link-item a::after {
  display: block;
  position: absolute;
  bottom: 1em;
  right: 1em;
  border-top: 0.8em solid transparent;
  border-right: 0.8em solid var(--oc-color);
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  content: "";
}
.event-container .event-link-item .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.3em;
  height: 3.3em;
  margin: 0 auto 1em;
  background: var(--oc-color);
  border: 2px solid #fff;
  border-radius: 50%;
}
.event-container .event-link-item .icon img {
  width: 43%;
}
.event-container .event-link-item .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5em;
  color: var(--oc-color);
  font-size: clamp(1.8rem, 1.0708860759rem + 0.9493670886vw, 2.4rem);
  line-height: 1.3;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.event-container .event-link-item .title .small {
  font-size: 0.66em;
}

.course-block {
  margin: min(17.9487179487vw, 140px) 0;
}

.course-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: min(89.7435897436vw, 1084px);
  margin: auto;
}
@media screen and (min-width: 640px) {
  .course-container {
    gap: 2.9465930018%;
  }
}
.course-container.js-anime.action .course-item {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.course-container.js-anime .course-item {
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.course-container.js-anime .course-item:last-child {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.course-item {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 640px) {
  .course-item {
    width: 48.5239852399%;
  }
}
.course-item + .course-item {
  margin-top: 12.8205128205vw;
}
@media screen and (min-width: 640px) {
  .course-item + .course-item {
    margin: 0;
  }
}
@media screen and (min-width: 640px) {
  .course-item:nth-child(even) a {
    margin: 0 auto 0 0;
  }
}
.course-item:nth-child(even) .course-info {
  right: 0;
  left: auto;
}
.course-item:nth-child(even) .course-title {
  right: auto;
  left: 0;
}
@media screen and (min-width: 640px) {
  .course-item:nth-child(even) .course-title {
    right: 0;
    left: auto;
  }
}
.course-item.morning {
  --course-color: #eeb977;
}
.course-item.morning .title {
  width: 49.8571428571vw;
}
@media screen and (min-width: 640px) {
  .course-item.morning .title {
    width: 53.0418250951%;
  }
}
.course-item a {
  display: block;
  width: 85.7142857143%;
  margin: auto;
}
@media screen and (min-width: 640px) {
  .course-item a {
    width: 94.2965779468%;
    margin: 0 0 0 auto;
  }
}
.course-item a:hover .course-info {
  background: #fff;
  color: var(--course-color);
}
.course-item a:hover .course-info::after {
  border-right-color: var(--course-color);
}
.course-item a:hover .course-bg img {
  -webkit-transform: scale(1.1) ；；;
          transform: scale(1.1) ；；;
}
.course-item .course-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(-8%);
          transform: translateY(-8%);
  padding: 6.4102564103vw 2.5641025641vw;
  background: var(--course-color);
  border: 2px solid var(--course-color);
  border-radius: 0.4em;
  color: #fff;
  font-weight: bold;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  font-size: clamp(1.3rem, 0.6924050633rem + 0.7911392405vw, 1.8rem);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 640px) {
  .course-item .course-info {
    padding: 7.6045627376% 3.8022813688%;
  }
}
.course-item .course-info::after {
  display: block;
  position: absolute;
  bottom: 0.6em;
  right: 0.6em;
  border-top: 0.6em solid transparent;
  border-right: 0.6em solid #fff;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  content: "";
}
.course-item .course-info .vertical-write {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}
.course-item .course-info .program {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.8em;
  font-size: clamp(1.1rem, 0.2493670886rem + 1.1075949367vw, 1.8rem);
  line-height: 1.4;
}
.course-item .course-info .large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 2em;
  font-size: 2.2em;
}
.course-item .course-info .grade {
  width: 100%;
  margin-bottom: 1em;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  font-size: clamp(1.2rem, 0.4708860759rem + 0.9493670886vw, 1.8rem);
  text-align: center;
}
.course-item .course-bg {
  overflow: hidden;
}
.course-item .course-bg img {
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.course-item .course-title {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 46.1428571429vw;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
@media screen and (min-width: 640px) {
  .course-item .course-title {
    right: auto;
    left: 0;
    width: 49.2395437262%;
  }
}

.line-banner {
  margin-top: min(15.3846153846vw, 120px);
}
.line-banner.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.line-banner.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.line-banner img {
  width: 100%;
}

.bg-parallax {
  position: relative;
  height: min(69.2307692308vw, 540px);
  margin: min(17.9487179487vw, 140px) 0;
  background: url(/assets/img/home/parallax-img-sp.jpg) no-repeat top center;
  background-size: cover;
}
@media screen and (min-width: 640px) {
  .bg-parallax {
    background: none;
    overflow: hidden;
  }
}
@media screen and (min-width: 640px) {
  .bg-parallax-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: min(69.2307692308vw, 540px);
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  }
  .bg-parallax-inner::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100vw;
    height: 100vh;
    background: url(/assets/img/home/parallax-img.jpg) no-repeat top center/cover;
  }
}

.sns-block {
  margin: min(17.9487179487vw, 140px) 0 min(23.0769230769vw, 120px);
}

.sns-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.125%;
}
.sns-container .sns-item {
  width: 100%;
}
@media screen and (max-width: 639px) {
  .sns-container .sns-item + .sns-item {
    margin-top: 17.9487179487vw;
  }
}
.sns-container .sns-item .block-title .sub {
  font-size: clamp(1.2rem, 0.9569620253rem + 0.3164556962vw, 1.4rem);
}
.sns-container .button-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: min(7.6923076923vw, 50px);
}

.twitter-box iframe {
  width: 100% !important;
}

.newsList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(4.1025641026vw, 32px) 4.1025641026%;
}
@media screen and (min-width: 640px) {
  .newsList {
    grid-template-columns: repeat(4, 1fr);
    gap: 0 2.34375%;
  }
}
.newsList .sns-img {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 0.4em;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.newsList .sns-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.newsList .sns-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 1em;
}
.newsList .sns-txt h4 {
  font-weight: normal;
}
.newsList .icon {
  display: none;
}
.newsList a {
  text-decoration: none;
}
.newsList a:hover .sns-img {
  -webkit-filter: brightness(90%);
          filter: brightness(90%);
}
.newsList a:hover .sns-img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.newsList .date {
  color: #ababab;
  font-size: clamp(1.1rem, 0.735443038rem + 0.4746835443vw, 1.4rem);
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
}

.youtube-block {
  margin: min(17.9487179487vw, 140px) auto;
}
.youtube-block.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.youtube-block.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.youtube-block .inner {
  position: relative;
}
.youtube-block .icon {
  position: absolute;
  top: 0;
  left: 5.7142857143%;
  z-index: 1;
  width: 30.7692307692%;
  -webkit-transform: translateY(-41.6666666667%);
          transform: translateY(-41.6666666667%);
}
@media screen and (min-width: 640px) {
  .youtube-block .icon {
    left: 1.953125%;
    width: 18.1640625%;
  }
}
.youtube-block .icon .front {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.youtube-block .icon .bg {
  -webkit-animation: rotateAnimation 10s linear infinite;
          animation: rotateAnimation 10s linear infinite;
}
.youtube-block .yt-banner img {
  width: 100%;
}

.instagram-block {
  margin: min(15.3846153846vw, 120px) auto;
}
.instagram-block.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.instagram-block.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.instagram-block .inner {
  position: relative;
}
.instagram-block .instagram-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8333333333em 2.8571428571%;
}
@media screen and (min-width: 640px) {
  .instagram-block .instagram-gallery {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.666666em 2%;
  }
}
.instagram-block .instagram-gallery.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.instagram-block .instagram-gallery.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.instagram-block .instagram-gallery .item {
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (min-width: 640px) {
  .instagram-block .instagram-gallery .item {
    border-radius: 10px;
  }
}
.instagram-block .instagram-gallery .item.sp-hidden {
  display: none;
}
@media screen and (min-width: 640px) {
  .instagram-block .instagram-gallery .item.sp-hidden {
    display: block;
  }
}
.instagram-block .instagram-gallery .item a {
  display: block;
}
.instagram-block .instagram-gallery .item img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.instagram-block .instagram-gallery .item:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.follow-block.js-anime.action .follow-list-title,
.follow-block.js-anime.action .follow-list {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.follow-block.js-anime .follow-list-title {
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
  opacity: 0;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}
.follow-block.js-anime .follow-list {
  -webkit-transition: 0.8s ease 0.6s;
  transition: 0.8s ease 0.6s;
  opacity: 0;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}

.follow-list-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(2.5rem, 0.6772151899rem + 2.3734177215vw, 4rem);
  text-align: center;
  line-height: 1;
}
.follow-list-title::before, .follow-list-title::after {
  display: block;
  width: 0;
  border-right: 4px dotted #95c7d5;
  height: 1.2em;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  content: "";
}
@media screen and (min-width: 640px) {
  .follow-list-title::before, .follow-list-title::after {
    border-width: 5px;
  }
}
.follow-list-title::before {
  margin-right: 0.5em;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.follow-list-title::after {
  margin-left: 0.5em;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

.follow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 min(7.1428571429%, 40px);
  margin-top: min(7.6923076923vw, 50px);
}
.follow-list > li {
  width: min(10.2564102564vw, 70px);
}

.home-footer-banner-block {
  margin: min(15.3846153846vw, 120px) 0;
}
.home-footer-banner-block .footer-banner-swiper {
  width: min(69.2307692308vw, 328px);
  margin: auto;
}
.home-footer-banner-block .footer-banner-swiper .swiper-dot-pagination {
  position: static;
  margin-top: 1em;
}
.home-footer-banner-block .footer-banner-swiper .swiper-dot-pagination .swiper-pagination-bullet {
  width: 0.8em;
  height: 0.8em;
  background: none;
  border: 2px solid #fff;
  opacity: 1;
}
.home-footer-banner-block .footer-banner-swiper .swiper-dot-pagination .swiper-pagination-bullet-active {
  background: #fff;
}
.home-footer-banner-block .footer-banner-swiper .footer-banner {
  display: block;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.home-footer-banner-block .footer-banner-swiper .footer-banner:hover {
  -webkit-filter: brightness(110%) drop-shadow(0 0 1.5rem #fff);
          filter: brightness(110%) drop-shadow(0 0 1.5rem #fff);
}

.ao-block {
  margin-top: min(16.6666666667vw, 130px);
  position: relative;
}
.ao-block::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(149, 199, 213, 0.15);
  position: absolute;
  left: 0;
  bottom: -12.8205128205vw;
  z-index: 0;
  -webkit-transform: translate();
          transform: translate();
}
@media screen and (min-width: 640px) {
  .ao-block::before {
    bottom: max(-7.8125vw, -80px);
  }
}
.ao-block .ao-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (min-width: 640px) {
  .ao-block .ao-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.ao-block .ao-content.js-anime {
  -webkit-transition: 0.8s ease-in;
  transition: 0.8s ease-in;
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}
.ao-block .ao-content.js-anime.action {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.ao-block .ao-content .mv {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  border-radius: 0.625em;
  overflow: hidden;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
}
@media screen and (min-width: 640px) {
  .ao-block .ao-content .mv {
    width: 60.7421875%;
  }
}
.ao-block .ao-content .mv img {
  width: 100%;
}
.ao-block .ao-content .body {
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  background: #fff;
  border-radius: 0.625em;
  margin: -6.4102564103vw 5.1282051282vw 0;
  padding: min(6.4102564103vw, 40px);
  -webkit-box-shadow: 0 min(0.48828125vw, 5px) min(1.953125vw, 20px) rgba(111, 111, 128, 0.1);
          box-shadow: 0 min(0.48828125vw, 5px) min(1.953125vw, 20px) rgba(111, 111, 128, 0.1);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 640px) {
  .ao-block .ao-content .body {
    margin: 0 0 0 max(-5.859375vw, -60px);
  }
}
.ao-block .ao-content .lead {
  font-size: clamp(1.2rem, 0.7139240506rem + 0.6329113924vw, 1.6rem);
  line-height: 1.6;
  font-weight: bold;
  text-align: center;
}
.ao-block .ao-content .lead strong {
  color: #95c7d5;
  font-size: clamp(1.8rem, 1.0708860759rem + 0.9493670886vw, 2.4rem);
  font-weight: bold;
}
.ao-block .ao-content .lead:not(:first-child) {
  margin-top: 1em;
}
.ao-block .ao-content .button {
  margin-top: 2em;
}
.ao-block .ao-content .base-btn,
.ao-block .ao-content .btn-blank {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.reason-block {
  margin: min(26.9230769231vw, 210px) auto min(17.9487179487vw, 140px);
}