#mv {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}

#mv .my-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#mv .my-slider_sp {
  display: none;
}

.main-catch {
  color: var(--main-color2);
  font-family:
    "Shippori Mincho", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Noto Sans", Meiryo, sans-serif;
  font-size: var(--fs26);
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.5);
  letter-spacing: 0.15em;
  position: absolute;
  top: 50%;
  right: 5%;
  translate: 0 -50%;
}

.main-catch span {
  display: block;
  font-size: 16px;
}

section {
  padding: 200px 0;
}

.container {
  margin-bottom: 170px;
}

.menu_list {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-bottom: 140px;
}

.menu_category .sub_title {
  margin-bottom: 30px;
  text-align: left;
}

.menu_list_item {
  text-align: center;
  width: calc(100% / 3);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.menu_list .img-wrap {
  width: 300px;
  height: 225px;
  border-radius: 10px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}

.menu_list_img {
  width: 100%;
  height: 100%;
}

#top-school {
  background-image: url(../images/bg-section.png);
  background-repeat: no-repeat;
  background-size: cover;
}

#top-school .main_title {
  border-bottom: 1px solid #fff;
}

.top-school_content {
  display: flex;
  justify-content: space-around;
  padding: 0 100px;
}

.school_catch {
  color: var(--main-color2);
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  margin-bottom: 40px;
  line-height: 2;
}

.school-right {
  width: 200px;
  height: 150px;
  margin: auto;
}

.school-right img {
  width: 100%;
  height: 100%;
}

.container .main_title {
  margin-top: 200px;
}

.staff_list {
  display: flex;
  justify-content: center;
  gap: 80px;
  margin-bottom: 100px;
}

.staff_list_item {
  width: 300px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}

.staff_list_img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.staff_list_text {
  padding: 16px 16px 40px 16px;
  background-color: var(--main-color2);
}

.staff_list_text p {
  margin-top: 20px;
}

.access_content {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 0 60px;
  box-sizing: border-box;
}

.access_list {
  width: 50%;
}

.access_image {
  width: 50%;
}

.access_list_box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: solid 1px var(--sub-color1);
  box-sizing: border-box;
}

.access_list_box:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.list_item {
  width: 25%;
}

.list_desc {
  width: 75%;
}

.list_desc span {
  display: block;
}

.list_desc p {
  margin-bottom: 0;
}

.list_desc:has(img) {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.list_desc:has(img) p {
  width: 100%;
  margin-bottom: 5px;
}

.list_desc:has(img) img {
  width: calc((100% / 4) - 20px);
  margin-bottom: 5px;
  background: #fff;
  border-radius: 3px;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 4px;
}

.gallery_content:first-of-type {
  margin-bottom: 100px;
}

.gallery_list {
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  margin: 0 auto 100px auto;
}

.gallery_list_item {
  width: calc((100% / 4) - 20px);
  height: 180px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
  object-fit: cover;
}

@media (max-width: 767px) {
  #mv .my-slider {
    display: none;
  }

  #mv .my-slider_sp {
    display: block;
    width: 100%;
    height: 100vh;
  }

  #mv .my-slider_sp .slick-slide {
    width: 100%;
    height: 100vh;
  }

  #mv .my-slider_sp .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .my-slider img {
    /* object-fit: contain; */
  }

  .main-catch {
    font-size: var(--fs24);
    bottom: 20px;
    translate: 0 50%;
  }

  section {
    padding: 120px 0;
  }

  .menu_list {
    flex-direction: column;
    gap: 80px;
    margin-bottom: 140px;
  }

  .menu_list_item {
    width: 100%;
    align-items: center;
  }

  .top-school_content {
    flex-direction: column;
    padding: 0 10px;
  }

  .school_catch {
    text-align: center;
  }

  .school-left {
    margin-bottom: 50px;
  }

  .staff_list {
    flex-direction: column;
    align-items: center;
  }

  .access_list {
    width: 100%;
  }

  .access_image {
    width: 100%;
  }

  .access_content {
    flex-direction: column;
    gap: 30px;
    padding: 0;
  }

  .access_list_box {
    flex-direction: column;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }

  .list_item {
    width: 100%;
    margin-bottom: 1em;
  }

  .list_desc:has(img) img {
    width: calc((100% / 5) - 10px);
  }

  .list_desc {
    width: 100%;
  }

  .gallery_list_item {
    width: calc((100% / 2) - 10px);
    height: 130px;
  }
}