@charset "UTF-8";
/* ------------------------------ */
/* frontpage: slider */
/* ------------------------------ */
.front-page .jumbotron > .inner {
  max-width: none !important;
  padding: 0 !important;
  position: relative;
}
.front-page .jumbotron .deco {
  left: 0;
  position: absolute;
  top: 0;
  width: 13.3333%;
  z-index: 1;
}
@media (min-width: 768px) {
  .front-page .jumbotron .deco {
    width: 7.8125%;
  }
}
.front-page .jumbotron .swiper {
  width: 100%;
}
.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(3.4rem, 4.5454545455vw + 1.9454545455rem, 7.4rem);
  --catch2FontSize: clamp(1.4rem, 0.9259259259vw + 0.6888888889rem, 1.8rem);
  color: #ffffff;
  left: var(--catch1FontSize);
  padding-right: var(--catch1FontSize);
  position: absolute;
  top: calc(var(--catch1FontSize) * 1.1);
  z-index: 2;
}
@media (min-width: 1200px) {
  .front-page .jumbotron .swiper .catch {
    --catch1FontSize: 74px;
    --catch2FontSize: 18px;
  }
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .catch {
    left: calc(var(--catch1FontSize) * 0.8);
    top: calc(var(--catch1FontSize) * 0.8);
  }
}
.front-page .jumbotron .swiper .catch .catch1 {
  font-size: var(--catch1FontSize);
  letter-spacing: 0.19em;
  line-height: 1.5;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.16);
}
.front-page .jumbotron .swiper .catch .catch1 span {
  white-space: nowrap;
}
.front-page .jumbotron .swiper .catch .catch2 {
  font-size: var(--catch2FontSize);
  letter-spacing: 0.16em;
  line-height: 1.88;
  margin-top: 2.55em;
}
.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 {
  color: #ffffff;
  margin-left: auto;
  margin-top: -130px;
  overflow: hidden;
  padding: 5px 0 5px 5px;
  position: relative;
  width: min(430px, 100%);
  z-index: 1;
}
@media (min-width: 768px) {
  .front-page .notice {
    margin-top: -150px;
  }
}
.front-page .notice > .bg {
  background: transparent linear-gradient(108deg, #56C5D6 0%, #54D1B8 100%) 0% 0% no-repeat padding-box;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0.7;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
.front-page .notice > .inner {
  padding: 15px 25px 0 25px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .notice > .inner {
    padding-top: 25px;
  }
}
.front-page .notice > .inner .line {
  background: #ffffff;
  display: block;
  position: absolute;
}
.front-page .notice > .inner .line.t, .front-page .notice > .inner .line.b {
  height: 1px;
  right: 0;
}
.front-page .notice > .inner .line.t {
  left: 35px;
  top: 0;
}
.front-page .notice > .inner .line.b {
  bottom: 0;
  left: 0;
}
.front-page .notice > .inner .line.l {
  bottom: 0;
  left: 0;
  top: 35px;
  width: 1px;
}
.front-page .notice .deco {
  -webkit-filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(293deg) brightness(106%) contrast(105%);
  aspect-ratio: 1;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(293deg) brightness(106%) contrast(105%);
  left: 1px;
  position: absolute;
  top: 1px;
  width: 40px;
  z-index: 1;
}
.front-page .notice h2 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.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: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  -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-radius: 50%;
  color: #ffffff;
  content: "\e901";
  display: inline-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: #ffffff;
  border-radius: 50%;
  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";
}
.front-page .notice .notice_panel {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .front-page .notice .notice_panel {
    margin-top: 15px;
  }
}
.front-page .notice .notice_panel.multi_items {
  display: grid;
  grid-template-columns: auto 20px;
}
.front-page .notice .notice_items {
  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 {
  overflow: hidden;
  padding: 35px 0 55px 5px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .pickup {
    margin-top: 20px;
  }
}
.front-page .pickup > .inner.bg {
  bottom: 0;
  left: calc(clamp(10px, 5vw, 30px) / 2);
  max-width: none !important;
  position: absolute;
  right: 0;
  top: 0;
}
@media (min-width: 1160px) {
  .front-page .pickup > .inner.bg {
    left: calc((100vw - 1100px) / 2);
  }
}
.front-page .pickup > .inner.bg:before {
  background: transparent linear-gradient(104deg, #98E0EB 0%, #99DED0 100%) 0% 0% no-repeat padding-box;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0.3;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
.front-page .pickup > .inner.bg:after {
  background: transparent url(../img/frontpage/pickup/bg.png) 0% 0% no-repeat padding-box;
  background-repeat: repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  left: 0;
  mix-blend-mode: luminosity;
  opacity: 0.15;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
.front-page .pickup > .inner.narrow {
  position: relative;
}
.front-page .pickup h2 {
  border-bottom: 1px solid #208CA3;
  color: #208CA3;
  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 .deco {
  -webkit-filter: invert(40%) sepia(100%) saturate(344%) hue-rotate(143deg) brightness(96%) contrast(94%);
  filter: invert(40%) sepia(100%) saturate(344%) hue-rotate(143deg) brightness(96%) contrast(94%);
}
.front-page .pickup .pickup_swiper {
  margin-top: 28px;
  overflow: hidden;
}
.front-page .pickup .swiper {
  box-sizing: content-box;
  max-width: 904px;
  overflow: visible;
}
@media (min-width: 768px) {
  .front-page .pickup .swiper {
    overflow: hidden;
  }
}
.front-page .pickup .swiper-slide {
  aspect-ratio: 1.773;
  margin-right: 25px;
  width: 250px;
}
@media (min-width: 768px) {
  .front-page .pickup .swiper-slide {
    margin-right: 32px;
    width: 280px;
  }
  .front-page .pickup .swiper-slide:last-child {
    margin-right: 0;
  }
}
.front-page .pickup .swiper-slide a {
  display: block;
  height: 100%;
  width: 100%;
}
.front-page .pickup .swiper-slide a img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.front-page .pickup .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 {
  color: #98E0EB;
  font-size: 30px;
  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-about {
  border-top-left-radius: 5px;
}
.front-page .tabsp_menu .menu_en-education {
  border-top-right-radius: 5px;
}
.front-page .tabsp_menu .menu_en-education a:before {
  font-size: 25px;
  margin: 2px 0 18px;
}
.front-page .tabsp_menu .menu_en-schoollife {
  border-bottom-left-radius: 5px;
}
.front-page .tabsp_menu .menu_en-admissions {
  border-bottom-right-radius: 5px;
}

/* ------------------------------ */
/* frontpage: features */
/* ------------------------------ */
.front-page .three_features {
  overflow: hidden;
  padding: 20px 0 70px;
}
@media (min-width: 768px) {
  .front-page .three_features {
    padding: 30px 0 90px;
  }
}
.front-page .three_features h2 {
  display: grid;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.75px;
  place-items: center;
}
.front-page .three_features h2:after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  color: var(--aitoku-light-brown);
  content: "\e90c";
  font-family: "icomoon" !important;
  font-size: 17px;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-top: 1.17em;
  speak: never;
  text-transform: none;
}
.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: 992px) {
  .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 {
  border: 1px solid #D9D4CE;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  justify-items: center;
  padding: clamp(40px, 5vw, 60px) clamp(20px, 3.6vw, 44px);
}
.front-page .three_features .three_features_items .order {
  color: var(--aitoku-light-brown);
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: 24px;
  font-style: normal;
  line-height: 1;
}
.front-page .three_features .three_features_items .img {
  margin-top: 40px;
}
.front-page .three_features .three_features_items .img img {
  height: 60px;
  width: auto;
}
.front-page .three_features .three_features_items .catch {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 30px;
  text-align: center;
}
.front-page .three_features .three_features_items .dtl {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.857;
  margin-top: 25px;
}

.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;
  position: relative;
  text-align: center;
  transition: all 0.5s ease-in-out;
}
@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:after {
  background-color: transparent;
  background-repeat: repeat;
  bottom: 0;
  content: "";
  left: 0;
  mix-blend-mode: luminosity;
  position: absolute;
  right: 0;
  top: 0;
}
.front-page .features .text .ja .kind {
  font-size: 13px;
}
@media (min-width: 768px) {
  .front-page .features .text .ja .kind {
    font-size: 14px;
  }
}
.front-page .features .text .ja .detail {
  font-size: 20px;
  font-weight: 500;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .front-page .features .text .ja .detail {
    font-size: 24px;
    margin-top: 15px;
  }
}
.front-page .features .text .en .kind {
  font-size: 13px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .front-page .features .text .en .kind {
    font-size: 14px;
  }
}
.front-page .features .text .en .detail {
  font-size: 10px;
  margin-top: 6px;
}
@media (min-width: 768px) {
  .front-page .features .text .en .detail {
    margin-top: 10px;
  }
}
.front-page .features .f01 .text {
  background: #99A9DF;
}
.front-page .features .f01 .text:after {
  background-image: url("../img/frontpage/features/b01.png");
  opacity: 0.15;
}
.front-page .features .f01:hover .text {
  background: #F5F1EA;
}
.front-page .features .f02 {
  --link-color: var(--aitoku-light-brown);
  --link-color-hover: #ffffff;
  --link-color-visited: var(--aitoku-light-brown);
}
.front-page .features .f02 .text {
  background: #F5F1E9;
}
.front-page .features .f02 .text:after {
  background-image: url("../img/frontpage/features/b02.png");
  opacity: 0.15;
}
@media (min-width: 768px) {
  .front-page .features .f02 {
    grid-template-areas: "text zoom";
  }
}
.front-page .features .f02:hover .text {
  background: #9AD5DE;
}
.front-page .features .f03 .text {
  background: #9ABFDE;
}
.front-page .features .f03 .text:after {
  background-image: url("../img/frontpage/features/b03.png");
  opacity: 0.1;
}
.front-page .features .f03: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;
  }
}