@media screen and (max-width: 768px) {
  .header_menu {
    height: 10rem;
    padding: 0;
  }
}
.header_menu_top {
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .header_nav_search {
    top: 10rem;
  }
}

.mv_image {
  background: url(../img/top/kv_bg.png) repeat 50% 0;
  background-size: cover;
}
.mv_image_inner:has(video) {
  display: block;
  max-width: 1040px;
}
@media screen and (min-width: 769px) {
  .mv_image_inner:has(video) .mv_image_link {
    right: -5.8rem;
  }
}
.mv_image_inner video {
  max-width: 100%;
  vertical-align: bottom;
}

@media screen and (min-width: 769px) {
  .kv_slide {
    margin-top: 2rem;
  }
  .kv_slide .slick-initialized .slick-track {
    min-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide {
    margin: 2rem 0;
  }
}

.slider .slide-arrow.next-arrow::before {
  box-sizing: content-box;
}

.fv_buttons {
  flex-wrap: wrap;
}
.fv_buttons > li {
  width: calc((100% - 2px) / 3);
  margin-left: 0 !important;
}
.fv_buttons > li:nth-child(n+4) {
  margin-top: 1px;
}

.concept_wrapper {
  margin-top: 10rem;
}
.concept_inner {
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .concept_inner {
    padding: 10rem 0;
  }
}
.concept_inner::before, .concept_inner::after {
  content: "";
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
.concept_inner::before {
  background-image: url(/kids/assets/img/concept_bg01.png);
}
@media screen and (min-width: 769px) {
  .concept_inner::before {
    width: 48.4rem;
    height: 45rem;
    left: 87.067%;
    top: 2.2rem;
    transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 768px) {
  .concept_inner::before {
    width: 33.8rem;
    height: 31.4rem;
    right: 3rem;
    bottom: 6.4rem;
  }
}
.concept_inner::after {
  background-image: url(/kids/assets/img/concept_bg02.png);
}
@media screen and (min-width: 769px) {
  .concept_inner::after {
    width: 39.4rem;
    height: 37.4rem;
    right: 82.734%;
    bottom: -2.3rem;
    transform: translate(50%, 0);
  }
}
@media screen and (max-width: 768px) {
  .concept_inner::after {
    width: 29.1rem;
    height: 27.6rem;
    left: 5.8rem;
    bottom: 11.9rem;
  }
}
.concept_copy {
  position: relative;
  margin: 0 auto;
  letter-spacing: 0.05em;
  line-height: 0;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", sans-serif;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .concept_copy {
    width: 88.8rem;
    max-width: 888px;
  }
}
@media screen and (max-width: 768px) {
  .concept_copy {
    width: 65rem;
  }
}
@media screen and (min-width: 769px) {
  .concept_copy + .concept_lead {
    margin-top: 6.6rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_copy + .concept_lead {
    margin-top: 8rem;
  }
}
.concept_lead {
  position: relative;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .concept_lead {
    line-height: 2.223em;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_lead {
    line-height: 2.786em;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .concept_lead + .concept_buttons {
    margin-top: 6.7rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_lead + .concept_buttons {
    margin-top: 34rem;
  }
}
.concept_buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .concept_buttons {
    flex-direction: column;
  }
}
.concept_buttons > a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #222;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .concept_buttons > a {
    border-radius: 3.75em;
    width: 17.5em;
    height: 3.75em;
    font-size: 1.6rem;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  .concept_buttons > a {
    border-radius: 3.75em;
    width: 18.438em;
    height: 3.75em;
    font-size: 3.2rem;
    font-weight: 700;
  }
}
.concept_buttons > a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .concept_buttons > a::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
    width: 0.563em;
    height: 0.563em;
    right: 1.25em;
  }
}
@media screen and (max-width: 768px) {
  .concept_buttons > a::after {
    border-right: 0.157em solid;
    border-top: 0.157em solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.375em;
  }
}

.search_wrapper {
  background: #E4F5FD;
  margin-top: 10rem;
}
@media screen and (min-width: 769px) {
  .search_wrapper {
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .search_wrapper {
    padding-bottom: 10rem;
  }
}
.search_inner {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .search_inner {
    max-width: calc(1140px + 6rem);
    padding: 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  .search_inner {
    padding: 0 4rem;
  }
}
.search_buttons {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .search_buttons {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .search_buttons {
    padding-top: 10rem;
  }
}
.search_button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #333;
  border-radius: 3.75em;
  height: 3.75em;
  margin: 0 auto;
  letter-spacing: 0.02em;
  line-height: 1.5em;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .search_button {
    width: 20em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .search_button {
    width: 18.438em;
    font-size: 3.2rem;
  }
}
.search_button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .search_button::after {
    border-right: 2px solid;
    border-top: 2px solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.875em;
  }
}
@media screen and (max-width: 768px) {
  .search_button::after {
    border-right: 0.157em solid;
    border-top: 0.157em solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.25em;
  }
}

.program_wrapper {
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .program_wrapper {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .program_wrapper {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .program_wrapper .main_card01_item.wide .main_card01_thumb, .program_wrapper .main_card01_item.full .main_card01_thumb, .program_wrapper .main_card01_item.flex .main_card01_thumb {
    border-radius: 2.4rem;
    padding-bottom: 10.8rem;
  }
  .program_wrapper .main_card01_item.wide .main_card01_thumb figure img, .program_wrapper .main_card01_item.full .main_card01_thumb figure img, .program_wrapper .main_card01_item.flex .main_card01_thumb figure img {
    border-radius: 2rem;
  }
  .program_wrapper .main_card01_item.wide .main_card01_name, .program_wrapper .main_card01_item.full .main_card01_name, .program_wrapper .main_card01_item.flex .main_card01_name {
    bottom: 5.4rem;
  }
}

@media screen and (min-width: 769px) {
  .banner_wrapper {
    margin-top: -10rem;
    padding: 18rem 0 8rem;
  }
}
@media screen and (max-width: 768px) {
  .banner_wrapper {
    padding: 10rem 0;
  }
}
.banner_inner {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .banner_inner {
    max-width: calc(1140px + 6rem);
    padding: 0 3rem;
  }
}
.banner_inner a {
  display: block;
  margin: 0 auto;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .banner_inner a {
    width: 98rem;
  }
  .banner_inner a.pc_full {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .banner_inner a {
    width: 63rem;
  }
  .banner_inner a.sp_full {
    width: 100%;
  }
}
.banner_inner a + a {
  margin-top: 4rem;
}

.catchup_wrapper {
  margin-top: 4rem;
}

.topics_wrapper {
  border-radius: 0;
}
@media screen and (min-width: 769px) {
  .topics_wrapper {
    margin-top: -4rem;
  }
}

.event_wrapper {
  margin-top: 10rem;
}
.event_wrapper .main_card01_thumb {
  box-shadow: none;
}
@media screen and (max-width: 768px) {
  .event_wrapper .main_card01_thumb figure img {
    border-radius: 1rem;
  }
}

.entry_wrapper {
  background-color: #E4F5FD;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 10rem;
}
@media screen and (min-width: 769px) {
  .entry_wrapper {
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .entry_wrapper {
    padding-bottom: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .entry_button {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .entry_button {
    margin-top: 8rem;
  }
}
.entry_links {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .entry_links {
    justify-content: center;
    padding-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .entry_links {
    flex-direction: column;
    padding-top: 8rem;
  }
}
.entry_link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 2px solid;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .entry_link {
    border-radius: 3.75em;
    width: 20em;
    height: 3.75em;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .entry_link {
    border-radius: 3.75em;
    width: 18.438em;
    height: 3.75em;
    line-height: 1.313em;
    font-size: 3.2rem;
  }
}
.entry_link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .entry_link::after {
    border-right: 2px solid;
    border-top: 2px solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.875em;
  }
}
@media screen and (max-width: 768px) {
  .entry_link::after {
    border-right: 0.157em solid;
    border-top: 0.157em solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.25em;
  }
}
@media screen and (min-width: 769px) {
  .entry_link + .entry_link {
    margin-left: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .entry_link + .entry_link {
    margin-top: 4rem;
  }
}