@charset "UTF-8";
/* ------------------------------ */
/* frontpage: slider */
/* ------------------------------ */
.front-page .jumbotron > .inner {
  max-width: none !important;
  padding: 0 !important;
  position: relative;
}
.front-page .jumbotron .swiper {
  width: 100%;
}
.front-page .jumbotron .swiper .mask,
.front-page .jumbotron .swiper .ovl1,
.front-page .jumbotron .swiper .ovl2 {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.front-page .jumbotron .swiper .mask:before, .front-page .jumbotron .swiper .mask:after,
.front-page .jumbotron .swiper .ovl1:before,
.front-page .jumbotron .swiper .ovl1:after,
.front-page .jumbotron .swiper .ovl2:before,
.front-page .jumbotron .swiper .ovl2:after {
  position: absolute;
}
.front-page .jumbotron .swiper .mask {
  z-index: 4;
}
.front-page .jumbotron .swiper .mask:before {
  aspect-ratio: 1.8187;
  background: transparent radial-gradient(closest-side at 50% 44%, #EBAC98 0%, #F0AE9A00 100%) 0% 0% no-repeat padding-box;
  content: "";
  left: 51.28205vw;
  mix-blend-mode: screen;
  opacity: 0.5;
  top: -36.15385vw;
  width: 249.48718vw;
}
.front-page .jumbotron .swiper .ovl1 {
  z-index: 3;
}
.front-page .jumbotron .swiper .ovl1:before {
  aspect-ratio: 1.0833;
  background: transparent linear-gradient(90deg, #B3D941 0%, #B3D94100 85%, #F0AE9A00 100%) 0% 0% no-repeat padding-box;
  content: "";
  left: 0;
  opacity: 0.6;
  top: 0;
  width: 100%;
}
.front-page .jumbotron .swiper .ovl2 {
  z-index: 2;
}
.front-page .jumbotron .swiper .ovl2:before {
  aspect-ratio: 0.6282;
  background: transparent radial-gradient(closest-side at 50% 44%, #B3D941 0%, #B3D94100 85%, #F0AE9A00 100%) 0% 0% no-repeat padding-box;
  content: "";
  left: -8.71795vw;
  opacity: 0.6;
  top: 22.5641vw;
  width: 69.74359vw;
}
.front-page .jumbotron .swiper .ovl2:after {
  aspect-ratio: 0.7921;
  background: transparent radial-gradient(closest-side at 50% 44%, #B3D941 0%, #B6DA4800 100%) 0% 0% no-repeat padding-box;
  content: "";
  left: -17.94872vw;
  mix-blend-mode: overlay;
  opacity: 0.3;
  top: -2.82051vw;
  width: 61.53846vw;
}
.front-page .jumbotron .swiper .smile {
  aspect-ratio: 4.2424;
  bottom: 10.25641vw;
  left: 10px;
  position: absolute;
  width: 71.79487vw;
  z-index: 4;
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .smile {
    bottom: 2.34375vw;
    left: 0px;
    width: 44.6875vw;
  }
}
.front-page .jumbotron .swiper .swiper-slide {
  align-items: center;
  background: #ffffff;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.front-page .jumbotron .swiper .swiper-slide img {
  -o-object-fit: cover;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.front-page .jumbotron .swiper .subimg {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.front-page .jumbotron .swiper .swiper-pagination-bullets {
  align-items: center;
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  justify-content: center;
  left: auto;
  right: 20px;
  top: 0;
  width: auto;
}
.front-page .jumbotron .swiper .swiper-pagination-bullet {
  background: #ffffff;
  border: 1px solid #ffffff;
  opacity: 1;
}
.front-page .jumbotron .swiper .swiper-pagination-bullet-active {
  background: transparent;
  opacity: 1;
}
.front-page .jumbotron .swiper .catch {
  --catch1FontSize: clamp(2.4rem, 2.2727272727vw + 1.6727rem, 4.4rem);
  --catch2FontSize: clamp(1.4rem, 0.9259259259vw + 0.6889rem, 1.8rem);
  bottom: 25vw;
  color: #ffffff;
  left: 11vw;
  position: absolute;
  z-index: 5;
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .catch {
    bottom: 12.5vw;
    left: max(30px, calc((100vw - 1100px) / 2));
  }
}
.front-page .jumbotron .swiper .catch .catch1 {
  font-size: var(--catch1FontSize);
  letter-spacing: 0.1em;
  line-height: 1.75;
  text-shadow: 0px 0px 10px #00000075;
}
.front-page .jumbotron .swiper .catch .catch1 span {
  white-space: nowrap;
}
.front-page .jumbotron .swiper .catch .catch2 {
  font-size: var(--catch2FontSize);
  letter-spacing: 0.12em;
  line-height: 1.8889;
  margin-top: 2.7778em;
  padding-left: 1.2em;
}
.front-page .jumbotron .swiper .catch .catch1-1,
.front-page .jumbotron .swiper .catch .catch1-2,
.front-page .jumbotron .swiper .catch .catch1-3,
.front-page .jumbotron .swiper .catch .catch2-1,
.front-page .jumbotron .swiper .catch .catch2-2,
.front-page .jumbotron .swiper .catch .catch2-3 {
  opacity: 0;
}
.front-page .jumbotron .swiper.slideChanged .grad,
.front-page .jumbotron .swiper.slideChanged .catch1-1,
.front-page .jumbotron .swiper.slideChanged .catch1-2,
.front-page .jumbotron .swiper.slideChanged .catch1-3,
.front-page .jumbotron .swiper.slideChanged .catch2-1,
.front-page .jumbotron .swiper.slideChanged .catch2-2,
.front-page .jumbotron .swiper.slideChanged .catch2-3 {
  opacity: 1;
}
.front-page .jumbotron .swiper.slideChanged .catch1-1,
.front-page .jumbotron .swiper.slideChanged .catch1-2,
.front-page .jumbotron .swiper.slideChanged .catch1-3,
.front-page .jumbotron .swiper.slideChanged .catch2-1,
.front-page .jumbotron .swiper.slideChanged .catch2-2,
.front-page .jumbotron .swiper.slideChanged .catch2-3 {
  transition: all 1000ms ease-in-out;
}
.front-page .jumbotron .swiper.slideChanged .catch1-1 {
  transition-delay: 600ms;
}
.front-page .jumbotron .swiper.slideChanged .catch1-2 {
  transition-delay: 1600ms;
}
.front-page .jumbotron .swiper.slideChanged .catch1-3 {
  transition-delay: 2600ms;
}
.front-page .jumbotron .swiper.slideChanged .catch2-1 {
  transition-delay: 3500ms;
}
.front-page .jumbotron .swiper.slideChanged .catch2-2 {
  transition-delay: 4500ms;
}
.front-page .jumbotron .swiper.slideChanged .catch2-3 {
  transition-delay: 5500ms;
}

/* ------------------------------ */
/* frontpage: carousel (pickup/topics) */
/* ------------------------------ */
.front-page .swiper.carousel {
  padding: 0 15px;
}
.front-page .swiper.carousel .swiper-button-next,
.front-page .swiper.carousel .swiper-button-prev {
  background: #ffffff;
  border: 1px solid #D9D4CE;
  border-radius: 50%;
  height: 30px;
  width: 30px;
}
.front-page .swiper.carousel .swiper-button-next:after,
.front-page .swiper.carousel .swiper-button-prev:after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  border: 1px solid #ffffff;
  border-radius: 50%;
  color: var(--aitoku-light-brown);
  display: flex;
  font-family: "icomoon" !important;
  font-size: 16px;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  height: 19px;
  justify-content: center;
  line-height: 1;
  speak: never;
  text-transform: none;
  width: 19px;
}
.front-page .swiper.carousel .swiper-button-next {
  right: 0;
}
.front-page .swiper.carousel .swiper-button-next:after {
  content: "\e901";
}
.front-page .swiper.carousel .swiper-button-prev {
  left: 0;
}
.front-page .swiper.carousel .swiper-button-prev:after {
  content: "\e906";
}

/* ------------------------------ */
/* frontpage: 重要なお知らせ */
/* ------------------------------ */
.front-page .notice {
  background: #ffffff;
  overflow: hidden;
  padding: 5px 0 5px 5px;
  position: relative;
}
.front-page .notice > .inner {
  border-bottom: 1px solid var(--aitoku-light-brown);
  border-left: 1px solid var(--aitoku-light-brown);
  border-top: 1px solid var(--aitoku-light-brown);
  padding: 25px 20px 25px 25px;
  position: relative;
}
.front-page .notice .deco {
  background: #ffffff;
  height: 40px;
  left: 1px;
  position: absolute;
  top: 1px;
  width: 40px;
  z-index: 1;
}
.front-page .notice h2 {
  color: var(--aitoku-light-brown);
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.front-page .notice .notice_panel {
  margin-top: 15px;
}
.front-page .notice .notice_items {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
}
.front-page .notice .notice_item__date {
  font-size: 12px;
}
@media (min-width: 768px) {
  .front-page .notice .notice_item__date {
    font-size: 13px;
  }
}
.front-page .notice .notice_item__title {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  -moz-column-gap: 8px;
  -webkit-column-gap: 8px;
  align-items: center;
  column-gap: 8px;
  display: grid;
  grid-template-columns: auto 1fr;
}
.front-page .notice .notice_item__title::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  border: 1px solid #ffffff;
  border-color: #99C31E;
  border-radius: 50%;
  color: #99C31E;
  content: "\e901";
  display: flex;
  font-family: "icomoon" !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  height: 19px;
  justify-content: center;
  justify-self: end;
  line-height: 1;
  speak: never;
  text-transform: none;
  width: 19px;
}
@media (min-width: 768px) {
  .front-page .notice .notice_item__title {
    display: block;
    font-size: 16px;
  }
  .front-page .notice .notice_item__title::after {
    display: none;
  }
}
.front-page .notice .notice_btns {
  display: none;
}
.front-page .notice .notice_btns span {
  cursor: pointer;
}
.front-page .notice .notice_btns span.disabled {
  cursor: auto;
  opacity: 0.35;
  pointer-events: none;
}
.front-page .notice .notice_btn__up::before,
.front-page .notice .notice_btn__down::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  border: 1px solid #ffffff;
  border-color: #99C31E;
  border-radius: 50%;
  color: #99C31E;
  display: flex;
  font-family: "icomoon" !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  height: 19px;
  justify-content: center;
  line-height: 1;
  speak: never;
  text-transform: none;
  width: 19px;
}
.front-page .notice .notice_btn__up::before {
  content: "\e905";
}
.front-page .notice .notice_btn__down::before {
  content: "\e904";
}
@media (min-width: 768px) {
  .front-page .notice {
    margin-left: auto;
    margin-top: -150px;
    padding-bottom: 0;
    width: 430px;
    z-index: 1;
  }
  .front-page .notice > .inner {
    padding-bottom: 0;
    padding-right: 25px;
  }
  .front-page .notice .notice_panel.multi_items {
    display: grid;
    grid-template-columns: auto 20px;
  }
  .front-page .notice .notice_items {
    display: block;
    height: 85px;
    overflow: hidden;
    position: relative;
    scroll-behavior: smooth;
  }
  .front-page .notice .notice_item {
    height: 65px;
    margin-bottom: 20px;
  }
  .front-page .notice .notice_item__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
    padding-right: 1em;
    text-overflow: ellipsis;
  }
  .front-page .notice .notice_panel.multi_items .notice_btns {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}

/* ------------------------------ */
/* frontpage: Pickup */
/* ------------------------------ */
.front-page .pickup {
  margin-top: 30px;
  overflow: hidden;
  padding-bottom: 7.69231vw;
}
@media (min-width: 768px) {
  .front-page .pickup {
    margin-top: 50px;
  }
}
.front-page .pickup .pickup_wrapper {
  padding: 35px 0 55px 5px;
  position: relative;
}
.front-page .pickup .pickup_wrapper > .inner.bg {
  bottom: 0;
  left: calc(clamp(10px, 5vw, 30px) / 2);
  max-width: none !important;
  padding: 0 !important;
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
}
@media (min-width: 1160px) {
  .front-page .pickup .pickup_wrapper > .inner.bg {
    left: calc((100vw - 1100px) / 2);
  }
}
.front-page .pickup .pickup_wrapper > .inner.bg:before {
  background: #D5ED8C;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
.front-page .pickup .pickup_wrapper > .inner.bg:after {
  background-image: repeating-linear-gradient(135deg, #ffffff, #ffffff 8px, transparent 8px, transparent 18px);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0.2;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
.front-page .pickup .pickup_wrapper > .inner.bg .mascot {
  bottom: -30px;
  left: -24px;
  position: absolute;
  width: 90px;
  z-index: 3;
}
@media (min-width: 768px) {
  .front-page .pickup .pickup_wrapper > .inner.bg .mascot {
    left: 0;
    width: 110px;
  }
}
.front-page .pickup .pickup_wrapper > .inner.narrow {
  position: relative;
}
.front-page .pickup .pickup_wrapper h2 {
  border-bottom: 1px solid var(--aitoku-light-brown);
  color: var(--aitoku-light-brown);
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: 40px;
  font-style: normal;
  letter-spacing: 0.04em;
  line-height: 1.2;
  padding-bottom: 3px;
  position: relative;
  z-index: 3;
}
.front-page .pickup .pickup_wrapper .deco {
  -webkit-filter: invert(35%) sepia(3%) saturate(4484%) hue-rotate(359deg) brightness(102%) contrast(71%);
  filter: invert(35%) sepia(3%) saturate(4484%) hue-rotate(359deg) brightness(102%) contrast(71%);
}
.front-page .pickup .pickup_wrapper .pickup_swiper {
  margin-left: 30px;
  margin-top: 28px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .front-page .pickup .pickup_wrapper .pickup_swiper {
    margin-left: 90px;
  }
}
.front-page .pickup .pickup_wrapper .swiper {
  box-sizing: content-box;
  max-width: 904px;
  overflow: visible;
}
@media (min-width: 768px) {
  .front-page .pickup .pickup_wrapper .swiper {
    overflow: hidden;
  }
}
.front-page .pickup .pickup_wrapper .swiper-slide {
  aspect-ratio: 1.773;
  margin-right: 25px;
  width: 250px;
}
@media (min-width: 768px) {
  .front-page .pickup .pickup_wrapper .swiper-slide {
    margin-right: 32px;
    width: 280px;
  }
  .front-page .pickup .pickup_wrapper .swiper-slide:last-child {
    margin-right: 0;
  }
}
.front-page .pickup .pickup_wrapper .swiper-slide a {
  display: block;
  height: 100%;
  width: 100%;
}
.front-page .pickup .pickup_wrapper .swiper-slide a img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.front-page .pickup .pickup_wrapper .deco {
  bottom: -35px;
  position: absolute;
  right: 6px;
  z-index: 1;
}

/* ------------------------------ */
/* frontpage: Topics */
/* ------------------------------ */
.front-page .topics {
  --swiper-navigation-top-offset: 30%;
  overflow: hidden;
  padding: 35px 0 55px 5px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .topics {
    margin-top: 20px;
  }
}
.front-page .topics .title {
  align-items: end;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
}
.front-page .topics h2 {
  color: #000000;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: 26px;
  font-style: normal;
  line-height: 1;
}
.front-page .topics .line {
  align-items: center;
  display: grid;
  grid-template-columns: auto 1fr auto;
  margin-top: 7px;
}
.front-page .topics .line .c {
  background: #000000;
  display: block;
  height: 1px;
  width: 100%;
}
.front-page .topics .swiper {
  box-sizing: content-box;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 21px;
  overflow: visible;
}
@media (min-width: 768px) {
  .front-page .topics .swiper {
    margin-top: 34px;
  }
}
.front-page .topics .swiper-slide {
  margin-right: 25px;
  width: 280px;
}
@media (min-width: 768px) {
  .front-page .topics .swiper-slide {
    margin-right: 44px;
    width: 304px;
  }
  .front-page .topics .swiper-slide:last-child {
    margin-right: 0;
  }
}
.front-page .topics .swiper-pagination {
  margin-top: 34px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .topics .swiper-pagination {
    margin-top: 40px;
  }
}
.front-page .topics .swiper-pagination-bullet {
  --swiper-pagination-bullet-inactive-color: rgba(153, 150, 145, 0.4);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-size: 6px;
  border: 1px solid var(--swiper-pagination-bullet-inactive-color);
}
.front-page .topics .swiper-pagination-bullet-active {
  --swiper-pagination-color: #ffffff;
  border-color: var(--aitoku-light-brown);
}
.front-page .topics .deco {
  bottom: -35px;
  position: absolute;
  right: 6px;
  z-index: 1;
}

/* ------------------------------ */
/* frontpage: Tablet/Smartphone menu */
/* ------------------------------ */
.front-page .tabsp_menu {
  background: #F0E9DA;
  padding-bottom: 24px;
  padding-top: 24px;
}
.front-page .tabsp_menu .menu {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, 40%);
}
.front-page .tabsp_menu .menu li {
  background: #ffffff;
  padding: 30px 0;
  width: 100%;
}
.front-page .tabsp_menu .menu_en a {
  --link-color: var(--body-color);
  --link-color-hover: var(--aitoku-school-color);
  --link-color-visited: var(--body-color);
  font-size: 15px;
}
.front-page .tabsp_menu .menu_en a:before {
  margin-bottom: 15px;
}
.front-page .tabsp_menu .menu_en a:after {
  color: var(--aitoku-school-color);
  font-size: 13px;
  margin-top: 4px;
}
.front-page .tabsp_menu .menu_en-introduction {
  border-top-left-radius: 5px;
}
.front-page .tabsp_menu .menu_en-education {
  border-top-right-radius: 5px;
}
.front-page .tabsp_menu .menu_en-admissions {
  border-bottom-left-radius: 5px;
}
.front-page .tabsp_menu .menu_en-access {
  border-bottom-right-radius: 5px;
}

/* ------------------------------ */
/* frontpage: features */
/* ------------------------------ */
.front-page .three_features {
  background: #F0E9DA;
  overflow: hidden;
  padding: 50px 0;
}
@media (min-width: 768px) {
  .front-page .three_features {
    padding: 100px 0;
  }
}
.front-page .three_features h2 {
  display: grid;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.9091;
  place-items: center;
}
.front-page .three_features .h_deco {
  -moz-column-gap: 0.88em;
  -webkit-column-gap: 0.88em;
  color: var(--aitoku-light-brown);
  column-gap: 0.88em;
  display: grid;
  font-size: 17px;
  grid-template-columns: 1fr auto 1fr;
  margin-top: 1.17em;
  place-items: center;
  width: 100%;
}
.front-page .three_features .h_deco:before, .front-page .three_features .h_deco:after {
  border-top: 1px dashed #707070;
  content: "";
  height: 0;
  width: 100%;
}
.front-page .three_features .three_features_items {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 26px;
  padding: 0 0 5px 0;
  row-gap: max(20px, 2.6vw);
}
@media (min-width: 768px) {
  .front-page .three_features .three_features_items {
    margin-top: 36px;
  }
}
@media (min-width: 768px) {
  .front-page .three_features .three_features_items {
    -moz-column-gap: clamp(20px, 2.3vw, 40px);
    -webkit-column-gap: clamp(20px, 2.3vw, 40px);
    column-gap: clamp(20px, 2.3vw, 40px);
    grid-template-columns: repeat(3, 1fr);
    overflow-x: unset;
  }
}
.front-page .three_features .three_features_items > div {
  -moz-column-gap: 20px;
  -webkit-column-gap: 20px;
  background: #ffffff;
  border-radius: 10px;
  column-gap: 20px;
  display: grid;
  grid-template: "order  order" auto "catch    img" auto "  dtl    dtl" 1fr/1fr 1fr;
  padding: clamp(40px, 5vw, 60px) clamp(20px, 3.6vw, 44px);
  row-gap: 28px;
}
@media (min-width: 768px) {
  .front-page .three_features .three_features_items > div {
    -moz-column-gap: unset;
    -webkit-column-gap: unset;
    column-gap: unset;
    grid-row: span 4;
    grid-template: "order" auto "catch" auto "  img" auto "  dtl" 1fr/1fr;
    grid-template-rows: subgrid;
  }
}
@media (min-width: 992px) {
  .front-page .three_features .three_features_items > div {
    -moz-column-gap: 10px;
    -webkit-column-gap: 10px;
    column-gap: 10px;
    grid-row: span 3;
    grid-template: "order  order" auto "catch    img" auto "  dtl    dtl" 1fr/1fr auto;
  }
}
.front-page .three_features .three_features_items .order {
  color: var(--aitoku-light-brown);
  font-size: 32px;
  font-weight: 100;
  grid-area: order;
  justify-self: center;
  letter-spacing: 0.04em;
  line-height: 1.4375;
}
.front-page .three_features .three_features_items .catch {
  align-self: end;
  font-size: 20px;
  font-weight: 500;
  grid-area: catch;
  justify-self: end;
  letter-spacing: 0.04em;
  line-height: 1.55;
}
.front-page .three_features .three_features_items .catch span {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .front-page .three_features .three_features_items .catch {
    align-self: center;
    justify-self: center;
  }
}
@media (min-width: 992px) {
  .front-page .three_features .three_features_items .catch {
    align-self: end;
    justify-self: start;
  }
}
.front-page .three_features .three_features_items .img {
  align-self: center;
  grid-area: img;
  justify-self: start;
}
@media (min-width: 768px) {
  .front-page .three_features .three_features_items .img {
    justify-self: center;
  }
}
@media (min-width: 992px) {
  .front-page .three_features .three_features_items .img {
    justify-self: end;
  }
}
.front-page .three_features .three_features_items .img img {
  height: 100px;
  width: auto;
}
.front-page .three_features .three_features_items .dtl {
  font-size: 14px;
  font-weight: 300;
  grid-area: dtl;
  letter-spacing: 0.04em;
  line-height: 2;
}
.front-page .three_features .three_features_items .item-1 .catch {
  color: #A6CC3D;
}
.front-page .three_features .three_features_items .item-2 .catch {
  color: #CCCC3D;
}
.front-page .three_features .three_features_items .item-3 .catch {
  color: #E6B345;
}

.front-page .features > .inner {
  padding: 0;
}
.front-page .features a {
  --link-color: #ffffff;
  --link-color-hover: var(--aitoku-light-brown);
  --link-color-visited: #ffffff;
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .front-page .features a {
    display: grid;
    grid-template-areas: "zoom text";
    grid-template-columns: 50% 50%;
  }
}
.front-page .features a .icon-sep {
  display: block;
  font-size: 4px;
  margin: 22px 0;
}
@media (min-width: 768px) {
  .front-page .features a .icon-sep {
    margin: 30px 0;
  }
}
.front-page .features a .icon-sep:before {
  color: var(--link-color);
}
.front-page .features a:hover {
  text-decoration: none;
}
.front-page .features a:hover .text:before {
  background: var(--link-color-hover);
}
.front-page .features a:hover .icon-sep:before {
  color: var(--link-color-hover);
}
.front-page .features .zoom {
  aspect-ratio: 1.218;
  grid-area: zoom;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .features .zoom {
    aspect-ratio: auto;
  }
}
.front-page .features .zoom img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.front-page .features .text {
  display: grid;
  grid-area: text;
  padding: 75px 0;
  place-content: center;
  place-items: center;
  position: relative;
  text-align: center;
}
@media (min-width: 768px) {
  .front-page .features .text {
    padding: 95px 0;
  }
}
@media (max-width: 767px) {
  .front-page .features .text:before {
    background: var(--link-color);
    content: "";
    display: block;
    height: 60px;
    left: auto;
    position: absolute;
    right: auto;
    top: -20px;
    width: 1px;
  }
}
.front-page .features .text .ja .kind {
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 1.4286;
}
.front-page .features .text .ja .detail {
  font-size: 24px;
  letter-spacing: 0.12em;
  line-height: 1.5833;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .front-page .features .text .ja .detail {
    font-size: 24px;
    margin-top: 15px;
  }
}
.front-page .features .text .en {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.front-page .features .text .en .kind {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2308;
}
.front-page .features .text .en .detail {
  font-size: 10px;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.front-page .features .item-1 .text {
  background: #B4D941;
}
.front-page .features .item-1:hover .text {
  background: #F5F1EA;
}
.front-page .features .item-2 {
  --link-color: var(--aitoku-light-brown);
  --link-color-hover: #ffffff;
  --link-color-visited: var(--aitoku-light-brown);
}
@media (min-width: 768px) {
  .front-page .features .item-2 {
    grid-template-areas: "text zoom";
  }
}
.front-page .features .item-2 .text {
  background: #F5F1E9;
}
.front-page .features .item-2:hover .text {
  background: #DAD141;
}
.front-page .features .item-3 .text {
  background: #57D95F;
}
.front-page .features .item-3:hover .text {
  background: #F0E9DA;
}

/* ------------------------------ */
/* frontpage: links */
/* ------------------------------ */
.front-page .links > .inner {
  display: grid;
}
@media (max-width: 767px) {
  .front-page .links > .inner {
    padding: 0;
  }
}
@media (min-width: 768px) {
  .front-page .links > .inner {
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    padding-left: clamp(10px, 5vw, 30px);
  }
}
.front-page .links a {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  --link-decoration: none;
  --link-decoration-hover: none;
  display: block;
  padding-bottom: 30px;
  padding-left: clamp(10px, 5vw, 30px);
  padding-right: clamp(10px, 5vw, 30px);
  padding-top: 30px;
  width: 100%;
}
.front-page .links a:not(:last-child) {
  border-bottom: 1px solid rgba(153, 150, 145, 0.5);
}
@media (min-width: 768px) {
  .front-page .links a {
    border-right: 1px solid rgba(153, 150, 145, 0.5);
    display: grid;
    grid-row: span 4;
    grid-template-rows: subgrid;
    padding: 80px 10px 95px;
    text-align: center;
  }
  .front-page .links a:not(:last-child) {
    border-bottom: none;
  }
  .front-page .links a:first-child {
    border-left: 1px solid rgba(153, 150, 145, 0.5);
  }
}
.front-page .links a span {
  white-space: nowrap;
}
.front-page .links a .title {
  display: grid;
  grid-template: "en  chevron" auto "ja  chevron" auto/1fr 30px;
}
@media (min-width: 768px) {
  .front-page .links a .title {
    display: block;
  }
}
.front-page .links a .title:after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\e901";
  font-family: "icomoon" !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  grid-area: chevron;
  line-height: 1;
  place-self: center;
  speak: never;
  text-transform: none;
}
@media (min-width: 768px) {
  .front-page .links a .title:after {
    display: none;
  }
}
.front-page .links a .title .en {
  color: var(--aitoku-school-color);
  font-size: 12px;
  grid-area: en;
}
.front-page .links a .title .ja {
  color: var(--body-color);
  font-size: 18px;
  grid-area: ja;
  margin-top: 5px;
}
@media (min-width: 768px) {
  .front-page .links a .title .ja {
    color: var(--aitoku-school-color);
    font-size: 24px;
    margin-top: 4px;
  }
}
.front-page .links a.for_parents .title .ja .icon-lock {
  font-size: 0.8em;
  margin-left: 0.4em;
}
.front-page .links a .detail {
  display: none;
}
.front-page .links a .detail img {
  margin: 15px auto 0;
  vertical-align: middle;
}
.front-page .links a .detail .text,
.front-page .links a .detail .more {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .front-page .links a .detail {
    display: contents !important;
  }
}
.front-page .links a:hover {
  background: #FAF8F5;
}
.front-page .links a:hover .more {
  color: var(--aitoku-school-color);
  text-decoration: underline;
}
@media (max-width: 767px) {
  .front-page .links a:hover .title .ja {
    text-decoration: underline;
  }
}