@charset "UTF-8";
/* p-mv
---------------------------------------------------------------------------- */
.p-mv {
  margin-top: 17.7rem;
  height: 61.7708333333vw;
  position: relative;
}
.p-mv .m-mv-child-ttl-group {
  margin-top: 0.2083333333vw;
}

.p-mv::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("/assets/images/course/bg_mv_pc.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: absolute;
  inset: 0;
  top: 1.7708333333vw;
  z-index: -1;
}

.p-mv-lead-ttl {
  font-size: 2.8rem;
  line-height: 1.2;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #09237d;
  text-align: center;
  margin-top: 27.9166666667vw;
}

.p-mv-lead-txt {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-weight: 700;
  text-align: center;
  margin-top: 0.8333333333vw;
}

@media screen and (max-width: 767px) {
  .p-mv {
    margin-top: 18.4vw;
    height: 128.5333333333vw;
  }
  .p-mv .m-mv-child-ttl-group {
    margin-top: 5.0666666667vw;
  }
  .p-mv::before {
    width: 100vw;
    height: 97.3333333333vw;
    background-image: url("/assets/images/course/bg_mv_sp.webp");
    top: 13.0666666667vw;
  }
  .p-mv-lead-ttl {
    font-size: 4.5333333333vw;
    line-height: 1.3529411765;
    margin-top: 52.5333333333vw;
  }
  .p-mv-lead-txt {
    font-size: 4vw;
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1.8666666667vw;
    white-space: nowrap;
  }
}
/* p-mv
---------------------------------------------------------------------------- */
.p-course-list._playgroup {
  --col-main: #c74a6d;
  --col-speechBubble: #ab3456;
}

.p-course-list._firstprogram {
  --col-main: #09247f;
  --col-speechBubble: #09247f;
}

.p-course-list._afterschool {
  --col-main: #623391;
  --col-speechBubble: #623391;
}

.p-course {
  margin-top: -16.6666666667vw;
  position: relative;
  z-index: 1;
}

.p-course-ttl {
  width: 14.196875vw;
  margin-inline: auto;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding-block: 0.9895833333vw 1.09375vw;
  background-color: #09237d;
  border-radius: 1.0416666667vw 1.0416666667vw 0 0;
  box-shadow: 0 0 0.5208333333vw rgba(0, 0, 0, 0.25);
}

.p-anime-course-ttl {
  background: linear-gradient(90deg, #ffffff 50%, rgba(255, 255, 255, 0) 68%);
  background-size: 300% 100%;
  background-position: 100% 0%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  animation: none; /* ここが重要：初期は動かさない */
}

.p-anime-course-ttl.is-active {
  animation-name: shineToColor;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}

.p-course-container {
  max-width: 79.1666666667vw;
  margin-inline: auto;
  position: relative;
  padding-block: 4.7395833333vw 5.7291666667vw;
  margin-bottom: 4.53125vw;
}

.p-course-container::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("/assets/images/course/bg_course_container_pc.webp");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  inset: 0;
  filter: drop-shadow(0 0 1.0416666667vw rgba(0, 0, 0, 0.25));
}

.p-course-lists {
  max-width: 68.75vw;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 4.2708333333vw;
}

.p-course-list {
  position: relative;
}

.p-course-list-link {
  position: relative;
  display: block;
  height: 16.71875vw;
  border-radius: 1.0416666667vw;
  background-color: #fff;
  box-shadow: 0 0 0.5208333333vw rgba(0, 0, 0, 0.25);
}

.p-course-list-ttl {
  display: flex;
  align-items: center;
  font-size: 2.5rem;
  line-height: 1.28;
  letter-spacing: 0.03em;
  font-weight: 700;
  font-size: 1.3020833333vw;
  color: #fff;
  width: 100%;
  height: 4.1666666667vw;
  background-color: var(--col-main);
  padding-left: 39.0104166667vw;
  border-radius: 1.0416666667vw 1.0416666667vw 0 0;
}

.p-course-item-speechBubble-wrap {
  position: absolute;
  top: 6.6145833333vw;
  left: 29.4270833333vw;
  width: fit-content;
}

.p-course-item-speechBubble {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 400;
  font-size: 0.78125vw;
  font-family: "hanatotyoutyo";
  color: #fff;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  padding-block: 0.265625vw 0.265625vw;
  padding-inline: 3.6458333333vw;
  background-color: var(--col-speechBubble);
  border-radius: 0.2083333333vw;
  position: relative;
}
.p-course-item-speechBubble::before {
  content: "";
  width: 1.0416666667vw;
  height: calc(1.0416666667vw / 2 * 1.7320508076);
  background-color: var(--col-speechBubble);
  clip-path: polygon(0 0, 90% 0, 100% 100%);
  position: absolute;
  bottom: 0.3645833333vw;
  left: 48%;
  translate: -50% 95%;
}

.p-course-item-ttl {
  font-size: 4rem;
  line-height: 1.35;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 2.0833333333vw;
  background: linear-gradient(transparent 60%, #ffff00 60%);
  width: fit-content;
  margin-top: 0.8854166667vw;
}

.p-course-item-img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 27.5vw;
  height: 20vw;
  z-index: 1;
}
.p-course-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-course-item-list-wrap {
  position: absolute;
  top: 5.9895833333vw;
  left: 49.2708333333vw;
  width: fit-content;
}

.p-course-item-list {
  margin-bottom: 1.7708333333vw;
}

.p-course-item-list-item {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 1.75;
  position: relative;
  padding-left: 0.6901041667vw;
}
.p-course-item-list-item span {
  font-size: 0.78125vw;
}

.p-course-item-list-item::before {
  content: "";
  width: 0.3515625vw;
  height: 0.3515625vw;
  border-radius: 50%;
  background-color: var(--col-main);
  position: absolute;
  top: 0.6354166667vw;
  left: 0;
}

.p-course-item-button-wrap {
  padding-left: 0.7291666667vw;
}

.p-course-item-button-wrap .m-button-gradation-arrow {
  width: 16.4401041667vw;
  padding-block: 0.3645833333vw 0.3125vw;
  padding-inline: 1.6666666667vw 0.2604166667vw;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 400;
  font-size: 0.78125vw;
  background: var(--col-main);
  border-color: var(--col-main);
}
.p-course-item-button-wrap .m-button-gradation-arrow ._txt {
  --height: 22;
  height: calc(var(--height) / 1920 * 100 * 1vw);
}
.p-course-item-button-wrap .m-button-gradation-arrow ._arrow {
  width: 1.3020833333vw;
}
.p-course-item-button-wrap .m-button-gradation-arrow ._arrow::before {
  width: 0.6770833333vw;
  height: 0.6770833333vw;
  background-color: var(--col-main);
  left: 25%;
}

@media (any-hover: hover) {
  .p-course-list:hover .p-course-item-button-wrap .m-button-gradation-arrow {
    background: #fff;
    color: var(--col-main);
  }
  .p-course-list:hover .p-course-item-button-wrap .m-button-gradation-arrow ._txt span {
    translate: 0 calc(var(--height) / 1920 * 100 * -1vw);
  }
  .p-course-list:hover .p-course-item-button-wrap .m-button-gradation-arrow ._txt::after {
    translate: 0 calc(var(--height) / 1920 * 100 * -1vw);
  }
  .p-course-list:hover .p-course-item-button-wrap .m-button-gradation-arrow ._arrow {
    background-color: var(--col-main);
  }
  .p-course-list:hover .p-course-item-button-wrap .m-button-gradation-arrow ._arrow::before {
    background-color: #fff;
    animation: arrow 0.5s;
  }
}
.p-course-list._firstprogram .p-course-list-ttl {
  padding-left: 12.0833333333vw;
}
.p-course-list._firstprogram .p-course-item-speechBubble-wrap {
  top: 6.6145833333vw;
  left: 2.7083333333vw;
}
.p-course-list._firstprogram .p-course-item-img {
  left: initial;
  right: 0;
  width: 28.125vw;
  height: 19.84375vw;
}
.p-course-list._firstprogram .p-course-item-list {
  margin-bottom: 2.7083333333vw;
}
.p-course-list._firstprogram .p-course-item-list-wrap {
  top: 7.1354166667vw;
  left: 27.5520833333vw;
}
.p-course-list._firstprogram .p-course-item-list-item {
  line-height: 1.45;
}
.p-course-list._firstprogram .p-course-item-button-wrap {
  padding-left: 0;
  margin-left: -1.40625vw;
}
.p-course-list._firstprogram .p-course-item-button-wrap .m-button-gradation-arrow {
  width: 13.0208333333vw;
  padding-left: 0.8854166667vw;
}

.p-course-list._afterschool .p-course-list-ttl {
  padding-left: 39.6354166667vw;
}
.p-course-list._afterschool .p-course-item-speechBubble-wrap {
  top: 6.6145833333vw;
  left: 26.9791666667vw;
}
.p-course-list._afterschool .p-course-item-img {
  width: 25.8854166667vw;
  height: 20.4166666667vw;
}
.p-course-list._afterschool .p-course-item-list {
  margin-bottom: 0.9895833333vw;
}
.p-course-list._afterschool .p-course-item-list-wrap {
  top: 7.1354166667vw;
  left: 47.3958333333vw;
}
.p-course-list._afterschool .p-course-item-button-wrap {
  padding-left: 2.8645833333vw;
}

@media screen and (max-width: 767px) {
  .p-course {
    margin-top: -13.8666666667vw;
  }
  .p-course-ttl {
    width: 84vw;
    font-size: 4.5333333333vw;
    line-height: 1.0588235294;
    letter-spacing: 0;
    padding-block: 3.4666666667vw 4.8vw;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
    box-shadow: 0 0 2.6666666667vw rgba(0, 0, 0, 0.25);
  }
  .p-course-container {
    max-width: 100%;
    padding-block: 11.7333333333vw 53.3333333333vw;
    padding-inline: 5.3333333333vw;
    margin-bottom: -30.1333333333vw;
  }
  .p-course-container::before {
    background-image: url("/assets/images/course/bg_course_container_sp.webp");
    filter: drop-shadow(0 0 5.3333333333vw rgba(0, 0, 0, 0.25));
    margin-top: -1.3333333333vw;
  }
  .p-course-lists {
    max-width: 100%;
    gap: 10.1333333333vw;
  }
  .p-course-list-link {
    height: 125.0666666667vw;
    border-radius: 2.6666666667vw;
    box-shadow: 0 0 2.6666666667vw rgba(0, 0, 0, 0.25);
  }
  .p-course-list-ttl {
    justify-content: center;
    font-size: 4vw;
    line-height: 1;
    height: 10.6666666667vw;
    padding-left: 0;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
  }
  .p-course-item-speechBubble-wrap {
    top: 17.0666666667vw;
    left: 22.4vw;
  }
  .p-course-item-speechBubble {
    font-size: 3.2vw;
    padding-block: 0.5333333333vw 0.5333333333vw;
    padding-inline: 9.6vw;
    border-radius: 1.0666666667vw;
  }
  .p-course-item-speechBubble::before {
    width: 3.2vw;
    height: calc(3.2vw / 2 * 1.7320508076);
    bottom: 1.0666666667vw;
    left: 49%;
    translate: -50% 95%;
  }
  .p-course-item-ttl {
    font-size: 6.1333333333vw;
    line-height: 1;
    margin-top: 2.1333333333vw;
  }
  .p-course-item-img {
    top: 28vw;
    left: 0vw;
    width: 89.3333333333vw;
    height: 50.6666666667vw;
  }
  .p-course-item-list-wrap {
    top: 82.6666666667vw;
    left: 9.3333333333vw;
  }
  .p-course-item-list {
    margin-bottom: 6.4vw;
  }
  .p-course-item-list-item {
    font-size: 4.2666666667vw;
    padding-left: 3.7333333333vw;
  }
  .p-course-item-list-item span {
    font-size: 3.4666666667vw;
  }
  .p-course-item-list-item::before {
    width: 1.6vw;
    height: 1.6vw;
    top: 2.6666666667vw;
  }
  .p-course-item-button-wrap {
    padding-left: 0;
    margin-left: -6.6666666667vw;
  }
  .p-course-item-button-wrap .m-button-gradation-arrow {
    width: 82.9333333333vw;
    padding-block: 0.5333333333vw 0.8vw;
    padding-inline: 8.5333333333vw 1.3333333333vw;
    font-size: 4vw;
  }
  .p-course-item-button-wrap .m-button-gradation-arrow ._txt {
    --height: 22;
    height: calc(var(--height) / 375 * 100 * 1vw);
  }
  .p-course-item-button-wrap .m-button-gradation-arrow ._arrow {
    width: 5.3333333333vw;
  }
  .p-course-item-button-wrap .m-button-gradation-arrow ._arrow::before {
    width: 2.4vw;
    height: 2.4vw;
  }
}
@media screen and (max-width: 767px) and (any-hover: hover) {
  .p-course-list:hover .p-course-item-button-wrap .m-button-gradation-arrow ._arrow::before {
    animation: arrow 0.5s;
  }
}
@media screen and (max-width: 767px) {
  .p-course-list._firstprogram .p-course-list-link {
    height: 113.8666666667vw;
  }
  .p-course-list._firstprogram .p-course-list-ttl {
    padding-left: 0;
  }
  .p-course-list._firstprogram .p-course-item-speechBubble-wrap {
    top: 17.0666666667vw;
    left: 12.5333333333vw;
  }
  .p-course-list._firstprogram .p-course-item-speechBubble {
    padding-inline: 6.4vw;
  }
  .p-course-list._firstprogram .p-course-item-img {
    top: 28vw;
    left: 0vw;
    width: 89.3333333333vw;
    height: 50.6666666667vw;
  }
  .p-course-list._firstprogram .p-course-item-list {
    margin-bottom: 5.3333333333vw;
  }
  .p-course-list._firstprogram .p-course-item-list-wrap {
    top: 82.6666666667vw;
    left: 13.6vw;
  }
  .p-course-list._firstprogram .p-course-item-button-wrap {
    padding-left: 0;
    margin-left: -10.4vw;
  }
  .p-course-list._firstprogram .p-course-item-list-item {
    line-height: 1.45;
  }
  .p-course-list._firstprogram .p-course-item-button-wrap .m-button-gradation-arrow {
    width: 82.9333333333vw;
    padding-inline: 8.5333333333vw 1.3333333333vw;
  }
  .p-course-list._afterschool .p-course-list-link {
    height: 114.6666666667vw;
  }
  .p-course-list._afterschool .p-course-list-ttl {
    padding-left: 0;
  }
  .p-course-list._afterschool .p-course-item-speechBubble-wrap {
    top: 17.0666666667vw;
    left: 18.9333333333vw;
  }
  .p-course-list._afterschool .p-course-item-speechBubble {
    padding-inline: 7.2vw;
  }
  .p-course-list._afterschool .p-course-item-img {
    top: 28vw;
    left: 0vw;
    width: 89.3333333333vw;
    height: 50.6666666667vw;
  }
  .p-course-list._afterschool .p-course-item-list {
    margin-bottom: 3.7333333333vw;
  }
  .p-course-list._afterschool .p-course-item-list-wrap {
    top: 82.6666666667vw;
    left: 4.5333333333vw;
  }
  .p-course-list._afterschool .p-course-item-button-wrap {
    padding-left: 0;
    margin-left: -1.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .m-relation {
    position: relative;
    z-index: 2;
  }
  .m-relation-container {
    box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.25);
  }
}
