body main {
  overflow: hidden;
}
body img {
  width: 100%;
  height: auto;
  display: block;
}
body picture {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  body main {
    padding-top: 170vw;
  }
}
@media (min-width: 768px) {
  body main {
    padding-top: 53.5714285714vw;
  }
}
body main .mv {
  width: 100%;
  overflow: hidden;
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  body main .mv {
    height: 170vw;
  }
}
@media (min-width: 768px) {
  body main .mv {
    height: 53.5714285714vw;
  }
}
body main .mv .mv-contents {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body main .mv .mv-contents .mv-bk {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
}
body main .mv .mv-contents .mv-title {
  position: absolute;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .mv .mv-contents .mv-title {
    width: 37.875vw;
    height: 35.75vw;
    left: 7.5vw;
    bottom: 47.5vw;
  }
}
@media (min-width: 768px) {
  body main .mv .mv-contents .mv-title {
    width: 21.6428571429vw;
    height: 20.4285714286vw;
    top: 17.8571428571vw;
    left: 7.1428571429vw;
  }
}
body main .mv .mv-contents .mv-title__txt {
  line-height: 1.2;
  font-weight: normal;
  background-color: #fff;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  opacity: 0;
  transition-delay: 3s;
  transition-duration: 0.3s;
}
@media (max-width: 767px) {
  body main .mv .mv-contents .mv-title__txt {
    font-size: 8.125vw;
  }
}
@media (min-width: 768px) {
  body main .mv .mv-contents .mv-title__txt {
    font-size: 4.6428571429vw;
  }
}
body main .mv .mv-contents .mv-title__ten {
  position: absolute;
}
@media (max-width: 767px) {
  body main .mv .mv-contents .mv-title__ten {
    width: 19.25vw;
    height: 11.625vw;
    top: -1.25vw;
    right: -8.75vw;
  }
}
@media (min-width: 768px) {
  body main .mv .mv-contents .mv-title__ten {
    width: 11.0714285714vw;
    height: 6.7142857143vw;
    top: -0.7142857143vw;
    right: -5.7142857143vw;
  }
}
body main .mv .mv-contents .mv-title__ten span {
  border-radius: 50%;
  background-color: #fff;
  display: block;
  position: absolute;
  opacity: 0;
  transition-duration: 0.3s;
}
body main .mv .mv-contents .mv-title__ten span:nth-child(1) {
  transition-delay: 2s;
  bottom: 0;
  left: 0;
}
@media (max-width: 767px) {
  body main .mv .mv-contents .mv-title__ten span:nth-child(1) {
    width: 9.75vw;
    height: 9.75vw;
  }
}
@media (min-width: 768px) {
  body main .mv .mv-contents .mv-title__ten span:nth-child(1) {
    width: 5.2857142857vw;
    height: 5.2857142857vw;
  }
}
body main .mv .mv-contents .mv-title__ten span:nth-child(2) {
  transition-delay: 1s;
}
@media (max-width: 767px) {
  body main .mv .mv-contents .mv-title__ten span:nth-child(2) {
    width: 4.875vw;
    height: 4.875vw;
    top: 0.625vw;
    left: 10vw;
  }
}
@media (min-width: 768px) {
  body main .mv .mv-contents .mv-title__ten span:nth-child(2) {
    width: 2.6428571429vw;
    height: 2.6428571429vw;
    top: 0.3571428571vw;
    left: 5.7142857143vw;
  }
}
body main .mv .mv-contents .mv-title__ten span:nth-child(3) {
  transition-delay: 0s;
  top: 0;
  right: 0;
}
@media (max-width: 767px) {
  body main .mv .mv-contents .mv-title__ten span:nth-child(3) {
    width: 3.25vw;
    height: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .mv .mv-contents .mv-title__ten span:nth-child(3) {
    width: 1.7857142857vw;
    height: 1.7857142857vw;
  }
}
body main .mv.active .mv-title__txt {
  opacity: 1;
}
body main .mv.active .mv-title__ten span:nth-child(1) {
  opacity: 1;
}
body main .mv.active .mv-title__ten span:nth-child(2) {
  opacity: 1;
}
body main .mv.active .mv-title__ten span:nth-child(3) {
  opacity: 1;
}
body main .intro {
  background-size: cover;
  position: relative;
  z-index: 2;
  background-color: #fff;
}
@media (max-width: 767px) {
  body main .intro {
    padding-top: 17.5vw;
    background-image: url(../../../img/classroom/common_classroom/intro/intro_bk_sp.webp);
  }
}
@media (min-width: 768px) {
  body main .intro {
    background-image: url(../../../img/classroom/common_classroom/intro/intro_bk_pc.webp);
  }
}
@media (max-width: 767px) {
  body main .intro .nav-room {
    width: 100%;
    position: absolute;
    left: 0;
    top: -30vw;
  }
}
@media (min-width: 768px) {
  body main .intro .nav-room {
    transform: translateY(-7.1428571429vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .intro .nav-room .room-element--toyonaka .room-contents:hover {
    background-color: rgba(223, 149, 0, 0.8);
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .intro .nav-room .room-element--takatsuki .room-contents:hover {
    background-color: rgba(0, 128, 255, 0.8);
  }
}
body main .intro .nav-room .room-element--momoyama .room-contents .room-contents-open .room-contents-openday__year {
  color: #fff;
}
body main .intro .nav-room .room-element--momoyama .room-contents .room-contents-open .room-contents-openday__month {
  color: #fff;
}
body main .intro .nav-room .room-element--momoyama .room-contents .room-contents-open .room-contents-opentxt__main {
  color: #fff;
}
body main .intro .nav-room .room-element--momoyama .room-contents .room-contents-open .room-contents-opentxt__sub {
  color: #fff;
}
body main .intro .intro-titleline {
  position: relative;
}
@media (min-width: 768px) {
  body main .intro .intro-titleline {
    padding: 0 4.2857142857vw;
    margin-bottom: 5.7142857143vw;
  }
}
body main .intro .intro-titleline .intro-titleline-title {
  z-index: 0;
  display: block;
  font-size: inherit;
}
@media (max-width: 767px) {
  body main .intro .intro-titleline .intro-titleline-title {
    padding-top: 3.75vw;
    margin: 0 auto;
    width: 59vw;
    height: 59vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-titleline .intro-titleline-title {
    position: absolute;
    top: -2.8571428571vw;
    left: 2.1428571429vw;
    width: 33.7142857143vw;
    height: 33.7142857143vw;
    padding-top: 2.1428571429vw;
  }
}
body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2 {
  text-align: center;
  color: #004080;
  line-height: 1.1;
}
body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__top {
  font-weight: lighter;
}
@media (max-width: 767px) {
  body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__top {
    font-size: 6.25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__top {
    font-size: 3.5714285714vw;
  }
}
body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__center {
  font-weight: bold;
}
@media (max-width: 767px) {
  body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__center {
    font-size: 9.25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__center {
    font-size: 5.2857142857vw;
  }
}
body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__bottom {
  font-weight: lighter;
}
@media (max-width: 767px) {
  body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__bottom {
    font-size: 8.375vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-titleline .intro-titleline-title .intro-titleline-h2__bottom {
    font-size: 4.7857142857vw;
  }
}
body main .intro .intro-titleline .intro-titleline-title::after {
  background-image: conic-gradient(from var(--angle), #ff0055, #0099ff, #a600ff, #ff0055);
}
body main .intro .intro-titleline__read {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .intro .intro-titleline__read {
    padding: 0 5vw;
  }
}
body main .intro .intro-titleline__read h3 {
  font-weight: normal;
  line-height: 1.2;
  text-align: right;
}
@media (max-width: 767px) {
  body main .intro .intro-titleline__read h3 {
    font-size: 5.625vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-titleline__read h3 {
    font-size: 4.2857142857vw;
  }
}
@media (max-width: 767px) {
  body main .intro .intro-slide {
    padding-bottom: 15vw;
    margin-top: -25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide {
    padding-bottom: 5.7142857143vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap {
  position: relative;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap {
    width: 100%;
    overflow: hidden;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap {
    width: 91.4285714286vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook {
  position: relative;
  width: 100%;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook {
    width: 143.75vw;
    margin-left: -47.5vw;
    height: 98.75vw;
    filter: drop-shadow(-0.625vw 0.625vw 2.5vw rgba(0, 0, 0, 0.2));
    margin-bottom: 6.25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook {
    height: 57.1428571429vw;
    filter: drop-shadow(-0.3571428571vw 0.3571428571vw 1.4285714286vw rgba(0, 0, 0, 0.2));
    margin-bottom: 3.5714285714vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: 0.3s;
  transform: scale(1, 1);
  z-index: 1;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  background-color: #fff;
  display: grid;
  place-items: center;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-fullimg {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 5;
  mix-blend-mode: multiply;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-fullimg img {
  height: 100%;
  object-fit: cover;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read {
  position: relative;
  height: 100%;
  z-index: 5;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt {
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt {
    font-size: 3vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt {
    white-space: nowrap;
    font-size: 1.4285714286vw;
  }
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt:not(:last-of-type) {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt:not(:last-of-type) {
    margin-bottom: 1.7857142857vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt--underline span {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt--underline span {
    padding: 0 0.3571428571vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-core .slidebook-page-read__txt--underline span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #b1a664;
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transition: 0.3s;
  transition-delay: 1s;
  transform-origin: left center;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline {
  position: absolute;
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline {
    bottom: 2.5vw;
    column-gap: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline {
    bottom: 1.4285714286vw;
    column-gap: 0.7142857143vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline__classname {
  font-weight: bold;
  line-height: 1;
  font-family: "noto-serif", serif;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline__classname {
    font-size: 2.75vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline__classname {
    font-size: 0.7857142857vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline__number {
  font-weight: bold;
  line-height: 1;
  font-family: "kosugi-maru", sans-serif;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline__number {
    font-size: 2.75vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page .slidebook-page-numberline__number {
    font-size: 1.5714285714vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) {
  right: 0;
  transform-origin: top left;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) .slidebook-page-core {
    padding: 0 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) .slidebook-page-core {
    padding: 0 2.8571428571vw;
  }
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) .slidebook-page-numberline {
    right: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) .slidebook-page-numberline {
    right: 1.4285714286vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) .slidebook-page-numberline__number {
  order: 2;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(even) .slidebook-page-numberline__classname {
  order: 1;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(odd) {
  left: 0;
  transform-origin: top right;
  transform: scale(0, 1);
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(odd) .slidebook-page-core {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(odd) .slidebook-page-numberline {
    left: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:nth-of-type(odd) .slidebook-page-numberline {
    left: 1.4285714286vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core {
  position: relative;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle {
  position: absolute;
  z-index: 6;
  top: 50%;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle {
    right: 6.25vw;
    transform: translateY(-50%);
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle figure {
    width: 10.375vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle figure {
    width: 19.7857142857vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle figure img {
  will-change: filter;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle figure img {
    filter: drop-shadow(0.75vw 0.75vw 1vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-core .slidebook-page-pagetitle figure img {
    filter: drop-shadow(0.4285714286vw 0.4285714286vw 0.5714285714vw rgba(0, 0, 0, 0.6));
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-numberline__classname {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--01 .slidebook-page-numberline__number {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--03 .slidebook-page-numberline .slidebook-page-numberline__classname {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--03 .slidebook-page-numberline .slidebook-page-numberline__number {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--07 .slidebook-page-numberline .slidebook-page-numberline__classname {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--07 .slidebook-page-numberline .slidebook-page-numberline__number {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--09 .slidebook-page-numberline .slidebook-page-numberline__classname {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--09 .slidebook-page-numberline .slidebook-page-numberline__number {
  color: #fff;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner {
  position: relative;
  z-index: 5;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner {
    column-gap: 1.875vw;
    padding-top: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner {
    column-gap: 1.0714285714vw;
    padding-top: 1.4285714286vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownertitle p {
  font-weight: bold;
  line-height: 1;
  text-align: right;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownertitle p {
    font-size: 3vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownertitle p {
    font-size: 1.4285714286vw;
  }
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownertitle p:not(:last-of-type) {
    margin-bottom: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownertitle p:not(:last-of-type) {
    margin-bottom: 0.7142857143vw;
  }
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownerimage {
    width: 15.125vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page--10 .slidebook-page-core .slidebook-page-owner .ownerimage {
    width: 8.6428571429vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page:first-of-type {
  transform: scale(1, 1);
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, rgba(173, 173, 173, 0.4588235294) 5%, rgba(219, 219, 219, 0.7294117647) 15%, rgba(238, 238, 238, 0.8705882353) 25%, rgba(255, 255, 255, 0.9411764706) 62%, #ffffff);
}
body main .intro .intro-slide .intro-slide-wrap .slidebook .slidebook-page.open .slidebook-page-core .slidebook-page-read__txt--underline span::after {
  transform: scale(1, 1);
}
body main .intro .intro-slide .intro-slide-wrap .slidebook::after {
  content: "";
  display: block;
  position: absolute;
  background-image: linear-gradient(180deg, rgba(197, 197, 197, 0.5019607843), rgba(255, 255, 255, 0.267));
  width: 50%;
  height: 100%;
  z-index: 0;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook::after {
    top: 0.375vw;
    left: -0.375vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook::after {
    top: 0.2142857143vw;
    left: -0.2142857143vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook::before {
  content: "";
  display: block;
  position: absolute;
  background-image: linear-gradient(180deg, rgba(197, 197, 197, 0.5019607843), rgba(255, 255, 255, 0.267));
  width: 50%;
  height: 100%;
  z-index: 0;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook::before {
    top: 0.375vw;
    right: -0.375vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook::before {
    top: 0.2142857143vw;
    right: -0.2142857143vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 2;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow {
    width: 97.5vw;
    top: 49.375vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% + 7.1428571429vw);
    top: 28.5714285714vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item {
  transition: 0.3s;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item {
    width: 5.75vw;
    height: 5.75vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item {
    width: 2.9285714286vw;
    height: 2.9285714286vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item svg {
  fill: #8a3638;
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item:hover {
    cursor: pointer;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item:hover.slidebook-arrow-item--next {
    transform: translateX(min(0.3571428571vw, 5px));
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item:hover.slidebook-arrow-item--prev {
    transform: translateX(max(-0.3571428571vw, -5px));
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-arrow__item.hide {
  opacity: 0;
  pointer-events: none;
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-nav {
    width: 80%;
    gap: 2.5vw 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-nav {
    gap: 0.7142857143vw 0.3571428571vw;
    width: 57.1428571429vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-nav .slidebook-nav-item {
  background-color: #7b8086;
}
@media (max-width: 767px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-nav .slidebook-nav-item {
    width: 10vw;
    height: 0.75vw;
  }
}
@media (min-width: 768px) {
  body main .intro .intro-slide .intro-slide-wrap .slidebook-nav .slidebook-nav-item {
    width: 5.7142857143vw;
    height: 0.5714285714vw;
  }
}
body main .intro .intro-slide .intro-slide-wrap .slidebook-nav .slidebook-nav-item.active {
  background-color: #0080ff;
}
body main .features {
  background-color: #fff;
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .features {
    padding-top: 10vw;
  }
}
@media (min-width: 768px) {
  body main .features {
    padding: 4.2857142857vw 0 7.1428571429vw;
  }
}
body main .features .features-title {
  background-color: #004080;
  margin: 0 auto;
  display: grid;
  place-items: center;
  position: relative;
}
@media (max-width: 767px) {
  body main .features .features-title {
    width: 87.5vw;
    height: 8.75vw;
    border-radius: 12.5vw;
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .features .features-title {
    width: 89.2857142857vw;
    height: 5vw;
    border-radius: 7.1428571429vw;
    margin-bottom: 2.8571428571vw;
  }
}
body main .features .features-title h2 {
  font-weight: bold;
  line-height: 1;
  color: #fff;
}
@media (max-width: 767px) {
  body main .features .features-title h2 {
    font-size: 4.375vw;
  }
}
@media (min-width: 768px) {
  body main .features .features-title h2 {
    font-size: 3.0714285714vw;
  }
}
body main .features .features-title figure {
  position: absolute;
}
@media (max-width: 767px) {
  body main .features .features-title figure {
    width: 10.375vw;
    left: 3.75vw;
    bottom: 0.625vw;
  }
}
@media (min-width: 768px) {
  body main .features .features-title figure {
    width: 6.7857142857vw;
    left: 2.1428571429vw;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  body main .features .base {
    padding-bottom: 11.25vw;
  }
}
@media (min-width: 768px) {
  body main .features .base {
    padding-bottom: 7.1428571429vw;
  }
}
body main .features .base .base-title {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .features .base .base-title {
    margin-bottom: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-title {
    margin-bottom: 2.1428571429vw;
  }
}
body main .features .base .base-title h3 {
  font-weight: bold;
  text-align: center;
  color: #004080;
}
@media (max-width: 767px) {
  body main .features .base .base-title h3 {
    line-height: 1.4;
    font-size: 5vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-title h3 {
    line-height: 1.2;
    font-size: 3.0714285714vw;
  }
}
body main .features .base .base-contents .base-contentsline {
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .features .base .base-contents .base-contentsline {
    width: 68.75vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline {
    width: 82.1428571429vw;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
  }
}
@media (max-width: 767px) {
  body main .features .base .base-contents .base-contentsline__img {
    width: 100%;
    height: 43.75vw;
    margin-bottom: 5vw;
    aspect-ratio: 550/350;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline__img {
    width: 39.2857142857vw;
    height: 25vw;
  }
}
body main .features .base .base-contents .base-contentsline__img figure {
  width: 100%;
  height: 100%;
}
body main .features .base .base-contents .base-contentsline__img figure img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  body main .features .base .base-contents .base-contentsline__txt {
    width: 100%;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline__txt {
    width: 39.2857142857vw;
  }
}
body main .features .base .base-contents .base-contentsline__txt p {
  line-height: 1.6;
}
@media (max-width: 767px) {
  body main .features .base .base-contents .base-contentsline__txt p {
    font-size: 3.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline__txt p {
    line-height: 1.6;
    font-size: 1.5714285714vw;
  }
}
@media (max-width: 767px) {
  body main .features .base .base-contents .base-contentsline__txt p:not(:last-of-type) {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline__txt p:not(:last-of-type) {
    margin-bottom: 2.1428571429vw;
  }
}
@media (max-width: 767px) {
  body main .features .base .base-contents .base-contentsline:not(:last-of-type) {
    margin-bottom: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline:not(:last-of-type) {
    margin-bottom: 2.8571428571vw;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline:nth-of-type(even) .base-contentsline__img {
    order: 2;
  }
}
@media (min-width: 768px) {
  body main .features .base .base-contents .base-contentsline:nth-of-type(even) .base-contentsline__txt {
    order: 1;
  }
}
body main .features .space {
  background-color: #a13c64;
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .features .space {
    padding-top: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space {
    padding-top: 4.2857142857vw;
  }
}
body main .features .space .space-title {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .features .space .space-title {
    margin-bottom: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-title {
    margin-bottom: 4.2857142857vw;
  }
}
body main .features .space .space-title h3 {
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 1.4;
}
@media (max-width: 767px) {
  body main .features .space .space-title h3 {
    font-size: 5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-title h3 {
    line-height: 1.2;
    font-size: 3.0714285714vw;
  }
}
body main .features .space .space-read {
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .features .space .space-read {
    width: 75vw;
    margin-bottom: 10vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-read {
    width: 70vw;
    margin-bottom: 10vw;
  }
}
body main .features .space .space-read p {
  line-height: 1.6;
  color: #fff;
}
@media (max-width: 767px) {
  body main .features .space .space-read p {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-read p {
    font-size: 1.5714285714vw;
  }
}
body main .features .space .space-map {
  position: relative;
  width: 100%;
}
@media (max-width: 767px) {
  body main .features .space .space-map {
    padding: 18.75vw 0 18.75vw;
    margin-bottom: 12.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map {
    margin-bottom: 4.2857142857vw;
  }
}
body main .features .space .space-map__img {
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .features .space .space-map__img {
    width: 80vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__img {
    width: 57.1428571429vw;
  }
}
body main .features .space .space-map__point {
  line-height: 1;
  font-weight: bold;
  position: absolute;
  color: #fff;
  display: inline-block;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point {
    font-size: 3.25vw;
    padding-bottom: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point {
    font-size: 1.5714285714vw;
    padding-bottom: 0.7142857143vw;
  }
}
body main .features .space .space-map__point::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #fff;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point::after {
    height: 0.25vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point::after {
    height: 0.0714285714vw;
  }
}
body main .features .space .space-map__point::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  background-color: #fff;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point::before {
    height: 0.25vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point::before {
    height: 0.0714285714vw;
  }
}
body main .features .space .space-map__point--01 {
  top: 0;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--01 {
    left: 5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--01 {
    top: 0vw;
    left: 3.5714285714vw;
  }
}
body main .features .space .space-map__point--01:before {
  bottom: 0;
  transform-origin: left center;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--01:before {
    width: 53.75vw;
    left: 0;
    transform: rotate(52deg);
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--01:before {
    width: 32.1428571429vw;
    left: 100%;
    transform: rotate(40deg);
  }
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--02 {
    left: 12.5vw;
    bottom: 0;
    padding-left: 5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--02 {
    top: 35.7142857143vw;
    left: 3.5714285714vw;
  }
}
body main .features .space .space-map__point--02:before {
  bottom: 0;
  transform-origin: left center;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--02:before {
    left: 0;
    width: 35vw;
    transform: rotate(-55deg);
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--02:before {
    left: 100%;
    width: 21.4285714286vw;
    transform: rotate(-40deg);
  }
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--03 {
    top: 6.25vw;
    right: 5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--03 {
    top: -6.4285714286vw;
    right: 3.5714285714vw;
  }
}
body main .features .space .space-map__point--03:before {
  bottom: 0;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--03:before {
    left: 100%;
    width: 20vw;
    transform: rotate(130deg);
    transform-origin: left center;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--03:before {
    transform-origin: right center;
    width: 21.4285714286vw;
    right: 100%;
    transform: rotate(-30deg);
  }
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--04 {
    bottom: 3.75vw;
    right: 3.75vw;
    padding-right: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--04 {
    top: 18.5714285714vw;
    right: 3.5714285714vw;
  }
}
body main .features .space .space-map__point--04:before {
  transform-origin: right center;
  bottom: 0;
}
@media (max-width: 767px) {
  body main .features .space .space-map__point--04:before {
    width: 46.25vw;
    right: 0;
    transform: rotate(65deg);
  }
}
@media (min-width: 768px) {
  body main .features .space .space-map__point--04:before {
    width: 50vw;
    right: 100%;
    transform: rotate(-30deg);
  }
}
body main .features .space .space-details .space-details-list {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 767px) {
  body main .features .space .space-details .space-details-list .space-details-element {
    padding: 0 1.25vw 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-details .space-details-list .space-details-element {
    padding: 0 1.0714285714vw 1.4285714286vw;
  }
}
body main .features .space .space-details .space-details-list .space-details-element .space-details-contents {
  background-color: #fff;
  will-change: filter;
  height: 100%;
}
@media (max-width: 767px) {
  body main .features .space .space-details .space-details-list .space-details-element .space-details-contents {
    aspect-ratio: 630/600;
    border-radius: 1.25vw;
    padding: 7.5vw;
    filter: drop-shadow(0.875vw 0.875vw 1vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .features .space .space-details .space-details-list .space-details-element .space-details-contents {
    aspect-ratio: 700/550;
    border-radius: 0.7142857143vw;
    padding: 4.2857142857vw;
    filter: drop-shadow(0.5vw 0.5vw 0.5714285714vw rgba(0, 0, 0, 0.6));
  }
}
body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__img {
  width: 100%;
  aspect-ratio: 550/320;
}
@media (max-width: 767px) {
  body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__img {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__img {
    margin-bottom: 2.1428571429vw;
  }
}
body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__img figure {
  width: 100%;
  height: 100%;
}
body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__img figure img {
  height: 100%;
  object-fit: cover;
}
body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__txt p {
  font-weight: bold;
  color: #a13c64;
}
@media (max-width: 767px) {
  body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__txt p {
    line-height: 1.4;
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .features .space .space-details .space-details-list .space-details-element .space-details-contents__txt p {
    line-height: 1.4;
    font-size: 1.2857142857vw;
  }
}
body main .overview {
  background-size: cover;
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview {
    background-image: url(../../../img/classroom/common_classroom/overview/bk_sp.jpg);
    padding: 7.5vw 0 13.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview {
    background-image: url(../../../img/classroom/common_classroom/overview/bk_pc.jpg);
    padding: 4.2857142857vw 0 6.4285714286vw;
  }
}
body main .overview .overview-title {
  background-color: #004080;
  margin: 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .overview .overview-title {
    width: 87.5vw;
    height: 8.75vw;
    border-radius: 12.5vw;
    margin-bottom: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .overview-title {
    width: 89.2857142857vw;
    height: 5vw;
    border-radius: 7.1428571429vw;
    margin-bottom: 4.2857142857vw;
  }
}
body main .overview .overview-title h2 {
  font-weight: bold;
  line-height: 1;
  color: #fff;
}
@media (max-width: 767px) {
  body main .overview .overview-title h2 {
    font-size: 4.375vw;
  }
}
@media (min-width: 768px) {
  body main .overview .overview-title h2 {
    font-size: 3.0714285714vw;
  }
}
body main .overview .overview-title figure {
  position: absolute;
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview .overview-title figure {
    width: 13.125vw;
    left: 2.5vw;
    bottom: 0.625vw;
  }
}
@media (min-width: 768px) {
  body main .overview .overview-title figure {
    width: 8.2857142857vw;
    left: 1.4285714286vw;
    top: 50%;
    transform: translateY(-50%);
  }
}
body main .overview .subtitle {
  width: 100%;
  position: relative;
  z-index: 0;
}
body main .overview .subtitle__title {
  font-weight: bold;
  line-height: 1;
  color: #004080;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .overview .subtitle__title {
    font-size: 5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .subtitle__title {
    font-size: 3.0714285714vw;
  }
}
body main .overview .subtitle__futprint {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
@media (max-width: 767px) {
  body main .overview .subtitle__futprint {
    width: 100%;
  }
}
@media (min-width: 768px) {
  body main .overview .subtitle__futprint {
    width: 101.8571428571vw;
  }
}
@media (max-width: 767px) {
  body main .overview .course {
    margin-bottom: 10vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course {
    margin-bottom: 4.2857142857vw;
  }
}
body main .overview .course .subtitle {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview .course .subtitle {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course .subtitle {
    margin-bottom: 2.1428571429vw;
  }
}
body main .overview .course .course-list {
  background-color: #fff;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  body main .overview .course .course-list {
    width: 87.5vw;
    height: 18.75vw;
    column-gap: 1.25vw;
    box-shadow: 0.375vw 0.375vw 0.375vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list {
    width: 89.2857142857vw;
    height: 17.8571428571vw;
    column-gap: 1.0714285714vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
  }
}
body main .overview .course .course-list .course-list-element {
  border-radius: 50%;
  will-change: filter;
  background-color: #fff;
  overflow: hidden;
  opacity: 0.2;
}
@media (max-width: 767px) {
  body main .overview .course .course-list .course-list-element {
    width: 15.25vw;
    height: 15.25vw;
    filter: drop-shadow(0.375vw 0.375vw 0.375vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list .course-list-element {
    width: 14.5714285714vw;
    height: 14.5714285714vw;
    filter: drop-shadow(0.2142857143vw 0.2142857143vw 0.2142857143vw rgba(0, 0, 0, 0.6));
  }
}
body main .overview .course .course-list .course-list-element .course-list-element-head {
  display: grid;
  height: 50%;
  place-items: end center;
}
@media (max-width: 767px) {
  body main .overview .course .course-list .course-list-element .course-list-element-head {
    padding-bottom: 1.875vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list .course-list-element .course-list-element-head {
    padding-bottom: 1.4285714286vw;
  }
}
@media (max-width: 767px) {
  body main .overview .course .course-list .course-list-element .course-list-element-head figure {
    width: 9.875vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list .course-list-element .course-list-element-head figure {
    width: 9.5vw;
  }
}
body main .overview .course .course-list .course-list-element .course-list-element-body {
  height: 50%;
}
@media (max-width: 767px) {
  body main .overview .course .course-list .course-list-element .course-list-element-body {
    padding-top: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list .course-list-element .course-list-element-body {
    padding-top: 0.7142857143vw;
  }
}
body main .overview .course .course-list .course-list-element .course-list-element-body__title {
  line-height: 1;
  font-weight: bold;
  text-align: center;
  font-weight: bold;
  color: #fff;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
@media (max-width: 767px) {
  body main .overview .course .course-list .course-list-element .course-list-element-body__title {
    font-size: 2.875vw;
    margin-bottom: 0.625vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list .course-list-element .course-list-element-body__title {
    font-size: 2.7857142857vw;
    margin-bottom: 0.3571428571vw;
  }
}
body main .overview .course .course-list .course-list-element .course-list-element-body__txt {
  line-height: 1;
  font-weight: normal;
  text-align: center;
  font-weight: bold;
  color: #fff;
}
@media (max-width: 767px) {
  body main .overview .course .course-list .course-list-element .course-list-element-body__txt {
    font-size: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .course .course-list .course-list-element .course-list-element-body__txt {
    font-size: 1.7142857143vw;
  }
}
body main .overview .course .course-list .course-list-element--prenatal .course-list-element-body {
  background-color: #dd3273;
}
body main .overview .course .course-list .course-list-element--bady .course-list-element-body {
  background-color: #f6ab00;
}
body main .overview .course .course-list .course-list-element--infant .course-list-element-body {
  background-color: #c26807;
}
body main .overview .course .course-list .course-list-element--elementary .course-list-element-body {
  background-color: #328082;
}
body main .overview .course .course-list .course-list-element--english .course-list-element-body {
  background-color: #003e82;
}
@media (max-width: 767px) {
  body main .overview .access {
    margin-bottom: 12.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access {
    margin-bottom: 4.2857142857vw;
  }
}
body main .overview .access .subtitle {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview .access .subtitle {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .subtitle {
    margin-bottom: 2.1428571429vw;
  }
}
body main .overview .access .access-contents {
  background-color: #fff;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents {
    width: 87.5vw;
    padding: 5vw 0 7.5vw;
    box-shadow: 0.375vw 0.375vw 0.375vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 2.1428571429vw 0;
    width: 89.2857142857vw;
    column-gap: 3.5714285714vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-map {
    margin: 0 auto 3.75vw;
    width: 79vw;
    height: 70vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-map {
    width: 49.2142857143vw;
    height: 43.5714285714vw;
  }
}
body main .overview .access .access-contents .access-map iframe {
  width: 100%;
  height: 100%;
}
body main .overview .access .access-contents .access-map figure {
  width: 100%;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details {
    width: 62.5vw;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details {
    width: 23.7142857143vw;
  }
}
body main .overview .access .access-contents .access-details .classname {
  position: relative;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classname {
    padding-bottom: 2.5vw;
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classname {
    padding-bottom: 1.4285714286vw;
    margin-bottom: 1.4285714286vw;
  }
}
body main .overview .access .access-contents .access-details .classname h4 {
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classname h4 {
    font-size: 7.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classname h4 {
    font-size: 2.7857142857vw;
  }
}
body main .overview .access .access-contents .access-details .classname h4 span {
  font-weight: normal;
}
body main .overview .access .access-contents .access-details .classname::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-position: left top;
  background-repeat: repeat-x;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classname::after {
    height: 0.625vw;
    background-image: radial-gradient(circle, #000000 0.25vw, transparent 0.25vw);
    background-size: 1.25vw 0.625vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classname::after {
    height: 0.3571428571vw;
    background-image: radial-gradient(circle, #000000 0.1428571429vw, transparent 0.1428571429vw);
    background-size: 0.7142857143vw 0.3571428571vw;
  }
}
body main .overview .access .access-contents .access-details .classview {
  width: 100%;
  position: relative;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classview {
    padding-bottom: 2.5vw;
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classview {
    margin-bottom: 1.4285714286vw;
    padding-bottom: 1.4285714286vw;
  }
}
body main .overview .access .access-contents .access-details .classview figure {
  width: 100%;
}
body main .overview .access .access-contents .access-details .classview::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-position: left top;
  background-repeat: repeat-x;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classview::after {
    height: 0.625vw;
    background-image: radial-gradient(circle, #000000 0.25vw, transparent 0.25vw);
    background-size: 1.25vw 0.625vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classview::after {
    height: 0.3571428571vw;
    background-image: radial-gradient(circle, #000000 0.1428571429vw, transparent 0.1428571429vw);
    background-size: 0.7142857143vw 0.3571428571vw;
  }
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classaddress {
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classaddress {
    margin-bottom: 0.7142857143vw;
  }
}
body main .overview .access .access-contents .access-details .classaddress p {
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classaddress p {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classaddress p {
    font-size: 1.0714285714vw;
  }
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classtel {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classtel {
    margin-bottom: 1.4285714286vw;
  }
}
body main .overview .access .access-contents .access-details .classtel a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classtel a {
    column-gap: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classtel a {
    column-gap: 0.3571428571vw;
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classtel a figure {
    width: 5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classtel a figure {
    width: 1.8571428571vw;
  }
}
body main .overview .access .access-contents .access-details .classtel a p {
  font-family: m-plus-1p, sans-serif;
  font-weight: bold;
  line-height: 1.4;
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .classtel a p {
    font-size: 6.375vw;
  }
}
@media (min-width: 768px) {
  body main .overview .access .access-contents .access-details .classtel a p {
    font-size: 2.4285714286vw;
  }
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .mapbtn .btn-insidelinewave__link {
    width: 62.5vw;
    height: 8.75vw;
  }
}
@media (max-width: 767px) {
  body main .overview .access .access-contents .access-details .mapbtn .btn-insidelinewave__link p {
    font-size: 3.5vw;
  }
}
@media (max-width: 767px) {
  body main .overview .recommended {
    margin-bottom: 8.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended {
    margin-bottom: 4.2857142857vw;
  }
}
body main .overview .recommended .subtitle {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview .recommended .subtitle {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .subtitle {
    margin-bottom: 2.1428571429vw;
  }
}
body main .overview .recommended .recommended-list {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element {
    padding: 0 1.25vw 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element {
    padding: 0 1.0714285714vw 1.4285714286vw;
  }
}
body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents {
  background-color: #fff;
  will-change: filter;
  aspect-ratio: 700/550;
  width: 100%;
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents {
    height: 81.25vw;
    border-radius: 1.25vw;
    padding: 3.75vw 3.125vw 3.125vw;
    filter: drop-shadow(0.875vw 0.875vw 1vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents {
    height: 39.2857142857vw;
    border-radius: 0.7142857143vw;
    padding: 2.1428571429vw 1.7857142857vw 1.7857142857vw;
    filter: drop-shadow(0.5vw 0.5vw 0.5714285714vw rgba(0, 0, 0, 0.6));
  }
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-title {
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-title {
    margin-bottom: 1.4285714286vw;
  }
}
body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-title h4 {
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-title h4 {
    line-height: 1.4;
    font-size: 3.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-title h4 {
    line-height: 1.2;
    font-size: 2.5vw;
  }
}
body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details {
    display: flow-root;
  }
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__img {
    width: 31.5vw;
    height: 38.5vw;
    float: left;
    margin: 0 2.5vw 1.25vw 0;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__img {
    width: 22.5vw;
    height: 27.5vw;
  }
}
body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__img figure {
  width: 100%;
  height: 100%;
}
body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__img figure img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__txt {
    width: 100%;
    padding-left: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__txt {
    width: calc(100% - 18vw);
    padding-left: 2.1428571429vw;
  }
}
body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__txt p {
  line-height: 1.6;
}
@media (max-width: 767px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__txt p {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recommended .recommended-list .recommended-element .recommended-element-contents .recommended-element-details__txt p {
    font-size: 1.4285714286vw;
  }
}
@media (max-width: 767px) {
  body main .overview .recruiting {
    margin-bottom: 15vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting {
    margin-bottom: 6.4285714286vw;
  }
}
body main .overview .recruiting .subtitle {
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview .recruiting .subtitle {
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .subtitle {
    margin-bottom: 4.2857142857vw;
  }
}
body main .overview .recruiting .course-banner {
  background-color: #fff;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner {
    width: 87.5vw;
    box-shadow: 0.375vw 0.375vw 0.375vw 0 rgba(0, 0, 0, 0.45);
    padding: 5vw 0;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner {
    width: 89.2857142857vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
    padding: 2.1428571429vw 0;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline {
  position: relative;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline {
    width: 73.75vw;
    margin: 0 auto 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: end;
    margin-bottom: 0.7142857143vw;
    column-gap: 0.3571428571vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day {
  display: flex;
  flex-wrap: nowrap;
  align-items: end;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day {
    column-gap: 1.25vw;
    margin-bottom: 1.875vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day {
    justify-content: center;
    column-gap: 0.3571428571vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt p {
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt p {
    font-size: 4.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt p {
    font-size: 2.5714285714vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt--yearmonth {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt--yearmonth {
    column-gap: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt--yearmonth {
    column-gap: 0.2142857143vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt--yearmonth p {
  background-color: #fff;
  display: grid;
  place-items: center;
  color: #004080;
  will-change: filter;
  font-family: "futura-pt", sans-serif;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt--yearmonth p {
    width: 8.125vw;
    height: 12.125vw;
    font-size: 12vw;
    border-radius: 0.625vw;
    filter: drop-shadow(0.375vw 0.375vw 0.375vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-day__txt--yearmonth p {
    width: 4.6428571429vw;
    height: 6.9285714286vw;
    font-size: 6.9285714286vw;
    border-radius: 0.3571428571vw;
    filter: drop-shadow(0.2142857143vw 0.2142857143vw 0.2142857143vw rgba(0, 0, 0, 0.6));
  }
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 2.5vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element {
  display: grid;
  place-items: center;
  border-radius: 50%;
  will-change: filter;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element {
    width: 23vw;
    height: 11.5vw;
    filter: drop-shadow(0.875vw 0.875vw 1vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element {
    position: absolute;
    width: 10.5vw;
    height: 5.2857142857vw;
    top: -5vw;
    filter: drop-shadow(0.5vw 0.5vw 0.5714285714vw rgba(0, 0, 0, 0.6));
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element p {
  line-height: 1;
  font-weight: bold;
  color: #fff;
  font-family: m-plus-1p, sans-serif;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element p {
    font-size: 6.375vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element p {
    font-size: 2.9285714286vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element::after {
  content: "";
  display: block;
  position: absolute;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  transform-origin: top center;
  transform: rotate(-30deg);
  z-index: 0;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element::after {
    left: 12.5vw;
    bottom: -3.75vw;
    width: 5vw;
    height: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element::after {
    left: 7.1428571429vw;
    bottom: -1.4285714286vw;
    width: 1.4285714286vw;
    height: 2.1428571429vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--free {
  background-color: #d93273;
  z-index: 1;
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--free {
    left: 39.2857142857vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--free::after {
  background-color: #d93273;
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--order {
  background-color: #004080;
  z-index: 2;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--order {
    margin-left: -2.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--order {
    left: 48.5714285714vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-fukidashi__element--order::after {
  background-color: #004080;
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: end;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson {
    column-gap: 0;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson {
    column-gap: 0.3571428571vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt p {
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt p {
    font-size: 4.5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt p {
    font-size: 2.5714285714vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt--large p {
  color: #004080;
  font-feature-settings: "palt";
  white-space: nowrap;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt--large p {
    font-size: 10.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt--large p {
    font-size: 5.2142857143vw;
  }
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-topline .course-banner-lesson__txt--small {
    margin-left: -2.5vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-underline p {
  font-weight: bold;
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-underline p {
    line-height: 1.4;
    font-size: 4.5vw;
    white-space: nowrap;
    text-align: center;
  }
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-underline p {
    text-align: center;
    line-height: 1;
    font-size: 2.5714285714vw;
  }
}
body main .overview .recruiting .course-banner .course-banner-underline p a {
  color: #df3273;
  position: relative;
}
body main .overview .recruiting .course-banner .course-banner-underline p a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #df3273;
  transition: 0.3s;
}
@media (min-width: 768px) {
  body main .overview .recruiting .course-banner .course-banner-underline p a::after {
    height: 0.1428571429vw;
    width: 0%;
  }
}
@media (max-width: 767px) {
  body main .overview .recruiting .course-banner .course-banner-underline p a:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.25vw;
    width: 100%;
    background-color: #d93273;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .overview .recruiting .course-banner .course-banner-underline p a:hover::after {
    width: 100%;
  }
}
body main .overview .voicebanner {
  width: 100%;
  position: relative;
  background-size: cover;
  overflow: hidden;
}
@media (max-width: 767px) {
  body main .overview .voicebanner {
    height: 100vw;
    background-image: url(../../../img/classroom/common_classroom/overview/voicebanner_bk_sp.jpg);
    padding-top: 5vw;
  }
}
@media (min-width: 768px) {
  body main .overview .voicebanner {
    height: 34.2857142857vw;
    background-image: url(../../../img/classroom/common_classroom/overview/voicebanner_bk_pc.jpg);
    padding-top: 2.1428571429vw;
  }
}
body main .overview .voicebanner .voicebanner-catch {
  position: absolute;
  z-index: 0;
  width: 100%;
}
body main .overview .voicebanner .voicebanner-catch p {
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap;
  font-family: "noto-serif", serif;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  font-feature-settings: "palt";
}
@media (max-width: 767px) {
  body main .overview .voicebanner .voicebanner-catch p {
    font-size: 10.125vw;
  }
}
@media (min-width: 768px) {
  body main .overview .voicebanner .voicebanner-catch p {
    font-size: 10.2142857143vw;
  }
}
body main .overview .voicebanner .voicebanner-catch--top {
  top: 0;
}
body main .overview .voicebanner .voicebanner-catch--top p {
  text-align: center;
}
body main .overview .voicebanner .voicebanner-catch--bottom {
  bottom: 0;
  right: 0;
}
body main .overview .voicebanner .voicebanner-catch--bottom p {
  text-align: right;
}
body main .overview .voicebanner .voicebanner-mainread {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
}
body main .overview .voicebanner .voicebanner-mainread p {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin: 0 auto;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media (max-width: 767px) {
  body main .overview .voicebanner .voicebanner-mainread p {
    font-size: 4.625vw;
  }
}
@media (min-width: 768px) {
  body main .overview .voicebanner .voicebanner-mainread p {
    font-size: 2.6428571429vw;
  }
}
body main .overview .voicebanner .voicebanner-maintitle {
  position: absolute;
}
@media (max-width: 767px) {
  body main .overview .voicebanner .voicebanner-maintitle {
    bottom: 1.25vw;
    left: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .overview .voicebanner .voicebanner-maintitle {
    bottom: -10vw;
    left: 2.1428571429vw;
  }
}
body main .overview .voicebanner .voicebanner-maintitle h2 {
  color: #fff;
}
body main .overview .voicebanner .voicebanner-maintitle h2::after {
  background-color: #fff;
}
body main .overview .voicebanner .voicebanner-link {
  background-color: #fff;
  display: grid;
  align-items: center;
  position: absolute;
  will-change: filter;
  right: 0;
  z-index: 5;
}
@media (max-width: 767px) {
  body main .overview .voicebanner .voicebanner-link {
    width: 54.25vw;
    height: 19.125vw;
    bottom: 12.5vw;
    border-top-left-radius: 12.5vw;
    border-bottom-left-radius: 12.5vw;
    padding: 0 11.25vw;
    filter: drop-shadow(0.375vw 0.375vw 0.375vw rgba(0, 0, 0, 0.6));
    margin-left: auto;
  }
}
@media (min-width: 768px) {
  body main .overview .voicebanner .voicebanner-link {
    width: 26.9285714286vw;
    height: 7.4285714286vw;
    top: 13.5714285714vw;
    border-top-left-radius: 7.1428571429vw;
    border-bottom-left-radius: 7.1428571429vw;
    padding: 0 7.1428571429vw;
    filter: drop-shadow(0.2142857143vw 0.2142857143vw 0.2142857143vw rgba(0, 0, 0, 0.6));
  }
}
body main .overview .voicebanner .voicebanner-link .voicebanner-link-txt .clickwave {
  text-align: left;
}
body main .overview .voicebanner .voicebanner-link .voicebanner-link-txt .clickwave p {
  color: #000;
  transition: color 0.3s linear;
}
body main .overview .voicebanner .voicebanner-link .voicebanner-link-duck {
  position: absolute;
}
@media (max-width: 767px) {
  body main .overview .voicebanner .voicebanner-link .voicebanner-link-duck {
    width: 17.875vw;
    bottom: 0.625vw;
    right: 4.375vw;
  }
}
@media (min-width: 768px) {
  body main .overview .voicebanner .voicebanner-link .voicebanner-link-duck {
    width: 9.2857142857vw;
    top: 50%;
    transform: translateY(-50%);
    right: 2.8571428571vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .overview .voicebanner .voicebanner-link:hover .clickwave p {
    color: #d93273;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .overview .voicebanner .voicebanner-link:hover .voicebanner-link-duck img {
    animation-name: jump;
    animation-duration: 0.3s;
    animation-timing-function: linear;
  }
}
body main .teacher {
  background-color: #e2e2e2;
}
@media (max-width: 767px) {
  body main .teacher {
    padding-bottom: 25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher {
    padding-bottom: 14.2857142857vw;
  }
}
body main .teacher .teacher-titleline {
  background-size: cover;
  width: 100%;
  background-image: url(../../../img/classroom/common_classroom/teacher/title_bk.jpg);
}
@media (max-width: 767px) {
  body main .teacher .teacher-titleline {
    height: 50vw;
    display: grid;
    place-items: center;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-titleline {
    height: 48.9285714286vw;
    padding-top: 2.8571428571vw;
  }
}
body main .teacher .teacher-titleline h2 {
  margin: 0 auto;
}
body main .teacher .teacher-list {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list {
    padding-top: 6.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list {
    margin-top: -6.4285714286vw;
  }
}
body main .teacher .teacher-list .teacher-element {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element {
    padding: 0 1.25vw 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element {
    padding: 0 1.0714285714vw 1.4285714286vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents {
  background-color: #fff;
  will-change: filter;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents {
    width: 78.75vw;
    min-height: 150vw;
    border-radius: 1.25vw;
    padding-top: 3.75vw;
    padding: 3.75vw 0;
    filter: drop-shadow(0.875vw 0.875vw 1vw rgba(0, 0, 0, 0.6));
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents {
    display: flex;
    flex-wrap: nowrap;
    min-height: 39.2857142857vw;
    border-radius: 0.7142857143vw;
    padding: 1.4285714286vw 0;
    filter: drop-shadow(0.5vw 0.5vw 0.5714285714vw rgba(0, 0, 0, 0.6));
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image {
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image {
    width: 100%;
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image {
    height: 100%;
    width: 30.7142857143vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-picture {
  z-index: 0;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-picture {
    width: 62.5vw;
    margin-left: -7.5vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-picture {
    position: absolute;
    right: 0;
    top: 0;
    width: 35.7142857143vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position {
  position: absolute;
  z-index: 1;
  right: 0;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position {
    top: 2.5vw;
    right: 5vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position {
    top: 2.8571428571vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position__icon {
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position__icon {
    width: 18.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position__icon {
    width: 9.5vw;
  }
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position__icon:not(:last-of-type) {
    margin-bottom: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .teacher-element-position__icon:not(:last-of-type) {
    margin-bottom: 0.3571428571vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist {
  position: absolute;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist {
    right: 5vw;
    bottom: 0;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist {
    left: 1.4285714286vw;
    bottom: 1.4285714286vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element {
  border-style: solid;
  border-color: #fff;
  display: grid;
  place-items: center;
  will-change: filter;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element {
    width: 26.25vw;
    height: 6.25vw;
    border-width: 0.5vw;
    border-radius: 3.75vw;
    box-shadow: inset 0.125vw 0.125vw 0.125vw 0 rgba(0, 0, 0, 0.45), 0.125vw 0.125vw 0.125vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element {
    width: 15vw;
    height: 3.5714285714vw;
    border-width: 0.2857142857vw;
    border-radius: 2.1428571429vw;
    box-shadow: inset 0.0714285714vw 0.0714285714vw 0.0714285714vw 0 rgba(0, 0, 0, 0.45), 0.0714285714vw 0.0714285714vw 0.0714285714vw 0 rgba(0, 0, 0, 0.45);
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element p {
  font-weight: bold;
  color: #fff;
  list-style: 1;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element p {
    font-size: 3vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element p {
    font-size: 1.7142857143vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element p span {
  font-weight: lighter;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element:not(:last-of-type) {
    margin-bottom: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element:not(:last-of-type) {
    margin-bottom: 0.3571428571vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element--toyonaka {
  background-color: #df9400;
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element--takatsuki {
  background-color: #0080ff;
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-image .schoollist .schoollist-element--momoyama {
  background-color: #d93273;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details {
    width: 63.75vw;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details {
    width: calc(100% - 30.7142857143vw);
    padding: 1.4285714286vw 2.1428571429vw 0 1.4285714286vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-intro {
  border-bottom-style: solid;
  border-bottom-color: #a6a6a6;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-intro {
    margin-bottom: 3.125vw;
    padding-bottom: 3.125vw;
    border-bottom-width: 0.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-intro {
    padding-bottom: 1.4285714286vw;
    border-bottom-width: 0.0714285714vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-intro p {
  color: #ad9476;
  line-height: 1.4;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-intro p {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-intro p {
    font-size: 1.5714285714vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name {
  border-bottom-style: solid;
  border-bottom-color: #a6a6a6;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name {
    margin-bottom: 3.125vw;
    padding-bottom: 3.125vw;
    border-bottom-width: 0.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name {
    padding: 0.7142857143vw 0;
    border-bottom-width: 0.0714285714vw;
    margin-bottom: 1.4285714286vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__jp {
  display: flex;
  flex-wrap: nowrap;
  align-items: end;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__jp {
    font-size: 6.75vw;
    column-gap: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__jp {
    font-size: 3.2142857143vw;
    column-gap: 0.3571428571vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__jp span {
  display: block;
  line-height: 1.2;
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__jp span:last-of-type {
  white-space: nowrap;
  font-size: 0.57em;
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__en {
  line-height: 1;
  color: #a6a6a6;
  font-family: "futura-pt", sans-serif;
  font-weight: bold;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__en {
    font-size: 5.375vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-name__en {
    font-size: 2.5714285714vw;
  }
}
body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-message p {
  line-height: 1.4;
}
@media (max-width: 767px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-message p {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  body main .teacher .teacher-list .teacher-element .teacher-element-contents .teacher-element-details .teacher-element-message p {
    font-size: 1.5714285714vw;
  }
}
body main .bannerline {
  background-color: #ecbc2e;
}
@media (max-width: 767px) {
  body main .bannerline {
    padding: 12.5vw 0;
  }
}
@media (min-width: 768px) {
  body main .bannerline {
    padding: 7.1428571429vw 0 10vw;
  }
}
body main .bannerline .greetings {
  background-color: #fff;
  display: grid;
  place-items: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .bannerline .greetings {
    width: 75vw;
    height: 75vw;
    box-shadow: 0.75vw 0.75vw 0.75vw 0 rgba(0, 0, 0, 0.45);
    margin-bottom: 10vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings {
    width: 85.7142857143vw;
    height: 28.5714285714vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
    margin-bottom: 4.2857142857vw;
  }
}
body main .bannerline .greetings .greetings-inside {
  background-size: cover;
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside {
    width: 68.75vw;
    height: 68.75vw;
    background-image: url(../../../img/classroom/common_classroom/bannerline/greetings_bk_sp.jpg);
    box-shadow: 0.75vw 0.75vw 1.5vw 0 rgba(0, 0, 0, 0.45);
    padding-top: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside {
    width: 82.1428571429vw;
    height: 25vw;
    background-image: url(../../../img/classroom/common_classroom/bannerline/greetings_bk_pc.jpg);
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
    padding-top: 2.1428571429vw;
  }
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-mainread {
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-mainread {
    margin-bottom: 0.7142857143vw;
  }
}
body main .bannerline .greetings .greetings-inside .greetings-mainread p {
  text-align: center;
  color: #fff;
  transition: 0.3s;
  line-height: 1.2;
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-mainread p {
    font-size: 6vw;
    text-shadow: 0.75vw 0.75vw 0.75vw rgba(0, 0, 0, 0.4);
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-mainread p {
    font-size: 3.5714285714vw;
    text-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw rgba(0, 0, 0, 0.4);
  }
}
body main .bannerline .greetings .greetings-inside .greetings-footicon {
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-footicon {
    width: 3.25vw;
    margin-bottom: 3.75vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-footicon {
    width: 1.7142857143vw;
    margin-bottom: 0.7142857143vw;
  }
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-subread {
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-subread {
    margin-bottom: 0.7142857143vw;
  }
}
body main .bannerline .greetings .greetings-inside .greetings-subread p {
  text-align: center;
  color: #fff;
  line-height: 1;
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-subread p {
    font-size: 3vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-subread p {
    font-size: 1.5714285714vw;
  }
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-title {
    margin-bottom: 16.25vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-title {
    margin-bottom: 0.7142857143vw;
  }
}
body main .bannerline .greetings .greetings-inside .greetings-title h2 {
  line-height: 1;
  font-weight: normal;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  body main .bannerline .greetings .greetings-inside .greetings-title h2 {
    font-size: 6.75vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .greetings .greetings-inside .greetings-title h2 {
    font-size: 3.5714285714vw;
  }
}
body main .bannerline .greetings .greetings-inside .greetings-click p {
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .greetings:hover .greetings-mainread p {
    color: #df9400;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .greetings:hover .greetings-click p {
    color: #d93273;
  }
}
body main .bannerline .photogallery {
  background-color: #fff;
  display: grid;
  place-items: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .bannerline .photogallery {
    width: 75vw;
    height: 75vw;
    box-shadow: 0.75vw 0.75vw 0.75vw 0 rgba(0, 0, 0, 0.45);
    margin-bottom: 10vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery {
    width: 85.7142857143vw;
    height: 28.5714285714vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
    margin-bottom: 4.2857142857vw;
  }
}
body main .bannerline .photogallery .photogallery-inside {
  background-color: #c699ad;
  position: relative;
}
@media (max-width: 767px) {
  body main .bannerline .photogallery .photogallery-inside {
    width: 68.75vw;
    height: 68.75vw;
    box-shadow: 0.75vw 0.75vw 1.5vw 0 rgba(0, 0, 0, 0.45);
    padding-top: 22.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery .photogallery-inside {
    width: 82.1428571429vw;
    height: 25vw;
    padding: 7.1428571429vw 0 0 5.7142857143vw;
  }
}
body main .bannerline .photogallery .photogallery-inside .photogallery-photoimage {
  position: absolute;
}
@media (max-width: 767px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-photoimage {
    width: 62.25vw;
    top: -12.5vw;
    right: 0;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-photoimage {
    width: 43.4285714286vw;
    top: -4.2857142857vw;
    right: -1.7857142857vw;
  }
}
body main .bannerline .photogallery .photogallery-inside .photogallery-title {
  position: relative;
}
@media (max-width: 767px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title {
    margin-bottom: 2.5vw;
    width: 100%;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title {
    margin-bottom: 7.1428571429vw;
    width: 32.1428571429vw;
  }
}
body main .bannerline .photogallery .photogallery-inside .photogallery-title h2 {
  line-height: 1;
  font-weight: normal;
  color: #a83c64;
  font-family: "kosugi-maru", sans-serif;
  white-space: nowrap;
  letter-spacing: 0.2em;
  padding-left: 0.2em;
}
@media (max-width: 767px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title h2 {
    text-align: center;
    font-size: 7.5vw;
    margin-bottom: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title h2 {
    font-size: 3.5714285714vw;
    margin-bottom: 0.7142857143vw;
  }
}
body main .bannerline .photogallery .photogallery-inside .photogallery-title p {
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #a83c64;
}
@media (max-width: 767px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title p {
    font-size: 3.5vw;
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title p {
    font-size: 1.4285714286vw;
  }
}
@media (max-width: 767px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title .photogallery-duckfamily {
    margin: 0 auto;
    width: 41.125vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery .photogallery-inside .photogallery-title .photogallery-duckfamily {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 22.7142857143vw;
    bottom: -12.8571428571vw;
  }
}
body main .bannerline .photogallery .photogallery-inside .photogallery-click p {
  transition: 0.3s;
}
@media (min-width: 768px) {
  body main .bannerline .photogallery:hover .photogallery-photoimage {
    animation-name: zoom;
    animation-duration: 0.2s;
    animation-timing-function: linear;
  }
}
@media (min-width: 768px) {
  body main .bannerline .photogallery:hover .photogallery-click p {
    color: #004080;
  }
}
body main .bannerline .corona {
  display: grid;
  place-items: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body main .bannerline .corona {
    background-color: #fff;
    width: 75vw;
    height: 75vw;
    box-shadow: 0.75vw 0.75vw 0.75vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona {
    background-color: #dc9614;
    width: 85.7142857143vw;
    height: 28.5714285714vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside {
    width: 68.75vw;
    height: 68.75vw;
    box-shadow: 0.75vw 0.75vw 1.5vw 0 rgba(0, 0, 0, 0.45);
    padding-top: 5vw;
    position: relative;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside {
    display: flex;
    flex-wrap: nowrap;
    width: 82.1428571429vw;
    height: 25vw;
    box-shadow: 0.2142857143vw 0.2142857143vw 0.4285714286vw 0 rgba(0, 0, 0, 0.45);
  }
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-image {
    position: absolute;
    left: 0;
    top: 22.5vw;
    width: 25.875vw;
    height: 36.25vw;
    z-index: 0;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-image {
    width: 17.8571428571vw;
  }
}
body main .bannerline .corona .greetings-inside .greetings-image figure {
  width: 100%;
  height: 100%;
}
body main .bannerline .corona .greetings-inside .greetings-image figure img {
  height: 100%;
  object-fit: cover;
}
body main .bannerline .corona .greetings-inside .greetings-details {
  background-color: #fff;
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details {
    width: calc(100% - 17.8571428571vw);
    padding: 2.8571428571vw 2.1428571429vw 0;
  }
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-title {
    margin-bottom: 7.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-title {
    margin-bottom: 1.4285714286vw;
  }
}
body main .bannerline .corona .greetings-inside .greetings-details .greetings-title h2 {
  color: #df9400;
  text-align: center;
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-title h2 {
    line-height: 1.2;
    font-size: 6.25vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-title h2 {
    line-height: 1;
    font-size: 3.5714285714vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-read {
    margin-bottom: 0.7142857143vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-read p {
    line-height: 1.4;
    font-size: 1.8571428571vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-read p span {
    color: #df9400;
  }
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline {
    position: relative;
    z-index: 1;
    padding: 0 1.875vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-click {
    width: 100%;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-click {
    order: 1;
    width: calc(100% - 50.7142857143vw);
  }
}
body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-click p {
  color: #000;
  transition: color 0.3s ease;
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-click p {
    font-size: 3.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-click p {
    font-size: 2vw;
  }
}
body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline {
    flex-wrap: wrap;
    margin-bottom: 3.75vw;
    width: 43.75vw;
    margin-left: auto;
    row-gap: 1.25vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline {
    flex-wrap: nowrap;
    order: 2;
    width: 50.7142857143vw;
  }
}
@media (max-width: 767px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element {
    width: 13.5vw;
  }
}
@media (min-width: 768px) {
  body main .bannerline .corona .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element {
    width: 7.7142857143vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-click p {
    color: #d93273;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element {
    display: inline-block;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element:nth-of-type(1) {
    animation-name: click1;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element:nth-of-type(2) {
    animation-name: click2;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element:nth-of-type(3) {
    animation-name: click3;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element:nth-of-type(4) {
    animation-name: click4;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element:nth-of-type(5) {
    animation-name: click5;
  }
}
@media (hover: hover) and (pointer: fine) {
  body main .bannerline .corona:hover .greetings-inside .greetings-details .greetings-bottomline .greetings-iconline__element:nth-of-type(6) {
    animation-name: click6;
  }
}
body.momoyamadai main .intro .nav-room .room-element--momoyama .room-contents {
  pointer-events: none;
  background-color: rgba(217, 50, 114, 0.8);
}
@media (max-width: 767px) {
  body.momoyamadai main .intro .intro-slide .intro-slide-wrap .slidebook {
    height: 125vw;
  }
}
body.momoyamadai main .preceding {
  background-size: cover;
  width: 100%;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding {
    background-image: url(../../../img/classroom/momoyamadai/preceding/bk_sp.jpg);
    padding: 5vw 0 0 5vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    background-image: url(../../../img/classroom/momoyamadai/preceding/bk_pc.jpg);
    height: 34.2857142857vw;
    padding-left: 4.2857142857vw;
    align-items: center;
  }
}
body.momoyamadai main .preceding .precedingtitle {
  position: relative;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding .precedingtitle {
    width: 52.625vw;
    margin-bottom: 17.5vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .precedingtitle {
    width: 28.5714285714vw;
  }
}
body.momoyamadai main .preceding .precedingtitle figure {
  width: 100%;
}
body.momoyamadai main .preceding .fukidashicircle {
  position: absolute;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding .fukidashicircle {
    top: 3.75vw;
    right: 3.75vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .fukidashicircle {
    top: 1.4285714286vw;
    left: 35vw;
  }
}
body.momoyamadai main .preceding .fukidashicircle p {
  border-color: #fff;
  border-style: solid;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding .fukidashicircle p {
    border-width: 0.125vw;
    width: 28.75vw;
    height: 28.75vw;
    font-size: 4.375vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .fukidashicircle p {
    border-width: 0.0714285714vw;
    width: 16.4285714286vw;
    height: 16.4285714286vw;
    font-size: 2.5vw;
  }
}
body.momoyamadai main .preceding .precedinglink {
  background-color: #0080ff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  will-change: filter;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding .precedinglink {
    width: 81vw;
    height: 22.25vw;
    border-top-left-radius: 12.5vw;
    border-bottom-left-radius: 12.5vw;
    padding: 0 8.75vw;
    filter: drop-shadow(0.375vw 0.375vw 0.375vw rgba(0, 0, 0, 0.6));
    margin-left: auto;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .precedinglink {
    width: 42.2857142857vw;
    height: 11.6428571429vw;
    border-top-left-radius: 7.1428571429vw;
    border-bottom-left-radius: 7.1428571429vw;
    padding: 0 2.8571428571vw;
    filter: drop-shadow(0.2142857143vw 0.2142857143vw 0.2142857143vw rgba(0, 0, 0, 0.6));
  }
}
body.momoyamadai main .preceding .precedinglink .precedinglink-txt h3 {
  line-height: 1.1;
  font-weight: normal;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding .precedinglink .precedinglink-txt h3 {
    letter-spacing: 0.1em;
    font-size: 5.125vw;
    margin-bottom: 0.625vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .precedinglink .precedinglink-txt h3 {
    letter-spacing: 0.1em;
    font-size: 2.9285714286vw;
    margin-bottom: 0.3571428571vw;
  }
}
body.momoyamadai main .preceding .precedinglink .precedinglink-txt h3 span {
  color: #df9400;
}
body.momoyamadai main .preceding .precedinglink .precedinglink-duck {
  position: absolute;
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding .precedinglink .precedinglink-duck {
    width: 17.875vw;
    bottom: 0.625vw;
    right: 4.375vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .precedinglink .precedinglink-duck {
    width: 8.2857142857vw;
    bottom: 0.3571428571vw;
    right: 3.5714285714vw;
  }
}
@media (min-width: 768px) {
  body.momoyamadai main .preceding .precedinglink:hover .precedinglink-duck {
    animation-name: jump;
    animation-duration: 0.3s;
    animation-timing-function: linear;
  }
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding--1 {
    height: 100vw;
  }
}
@media (max-width: 767px) {
  body.momoyamadai main .preceding--2 {
    height: 115.625vw;
  }
}
body.momoyamadai main .overview .course .course-list .course-list-element--infant {
  opacity: 1;
}/*# sourceMappingURL=common_classroom.css.map */