@charset "UTF-8";
/*============================================================
	TOP
============================================================*/
/*  headings
-------------------------------------------------*/
.ttl {
  text-align: center;
  font-size: 2.267rem;
  line-height: 1;
  font-weight: bold;
  color: #004EA2;
}
@media only screen and (max-width: 767px) {
  .ttl {
    font-size: 1.429rem;
  }
}

/*  MV
-------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #top__mv {
    background: #f2f2f2;
  }
  #top__mv figure {
    height: 26.667rem;
    position: relative;
  }
  #top__mv figure img {
    position: absolute;
    width: auto;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

/*  お知らせ
-------------------------------------------------*/
#top__news {
  padding: 4.667rem 0;
}
@media only screen and (max-width: 767px) {
  #top__news {
    padding: 3.214rem 0;
  }
}
#top__news .inner {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  #top__news .inner {
    flex-direction: column;
    align-items: center;
  }
}
#top__news .inner .ttl {
  color: #333;
}
@media print, screen and (min-width: 768px) {
  #top__news .inner .ttl {
    width: 16.667%;
    text-align: left;
  }
}
@media print, screen and (min-width: 768px) {
  #top__news .inner .news {
    width: 83.333%;
  }
}
#top__news .inner .news li {
  border-top: 1px solid #ccc;
  padding: 2rem 0;
}
@media only screen and (max-width: 767px) {
  #top__news .inner .news li {
    padding: 1.429rem 0;
  }
}
#top__news .inner .news li .entry-title {
  font-size: 1.333rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  #top__news .inner .news li .entry-title {
    font-size: 1.214rem;
    margin-bottom: 0.714rem;
  }
}
#top__news .inner .news li .entry-title .date {
  font-family: "Akshar", sans-serif;
  font-weight: 500;
  font-size: 0.933rem;
  color: #54C3F1;
  display: block;
}
@media only screen and (max-width: 767px) {
  #top__news .inner .news li .entry-title .date {
    font-size: 0.893rem;
  }
}
#top__news .inner .news li .entry-title .date .category {
  display: inline-block;
  width: 5rem;
  height: 1.333rem;
  line-height: 1.333rem;
  text-align: center;
  background: #004EA2;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  margin-left: 1.333rem;
}
@media only screen and (max-width: 767px) {
  #top__news .inner .news li .entry-title .date .category {
    width: 4.018rem;
    height: 1.125rem;
    line-height: 1.125rem;
    font-size: 0.643rem;
    margin-left: 0.714rem;
  }
}
#top__news .inner .news li .entry-title + p {
  font-size: 1rem;
}
#top__news .inner .news li .entry-title + p a {
  color: #54C3F1;
  text-decoration: underline;
}
#top__news .inner .btn__wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  #top__news .inner .btn__wrap {
    flex-direction: column;
    align-items: center;
    gap: 0.714rem;
  }
}
#top__news .inner .btn__wrap .btn {
  width: 22rem;
  height: 4.667rem;
  border-radius: 2.333rem;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #top__news .inner .btn__wrap .btn {
    width: 16.071rem;
    height: 3.929rem;
    border-radius: 1.964rem;
  }
}

/*  トピックス
-------------------------------------------------*/
#top__topics {
  background: #D6F8FF;
  padding: 4.667rem 0;
}
@media only screen and (max-width: 767px) {
  #top__topics {
    padding: 3.214rem 0;
  }
}
@media only screen and (max-width: 767px) {
  #top__topics .inner {
    width: 100%;
    max-width: 100%;
  }
}
#top__topics .inner .ttl {
  margin-bottom: 2.667rem;
}
@media only screen and (max-width: 767px) {
  #top__topics .inner .ttl {
    margin-bottom: 1.429rem;
  }
}
#top__topics .inner .swiper-outer {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #top__topics .inner .swiper-outer {
    padding: 0 6.25%;
  }
}
@media only screen and (max-width: 767px) {
  #top__topics .inner .swiper {
    padding: 0 16.667vw;
  }
}
#top__topics .inner .swiper .swiper-wrapper .swiper-slide a {
  display: block;
}
#top__topics .inner .swiper .swiper-wrapper .swiper-slide a img {
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
}
#top__topics .inner .swiper .swiper-wrapper .swiper-slide a p {
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  #top__topics .inner .swiper .swiper-wrapper .swiper-slide a p {
    font-size: 1rem;
    font-weight: normal;
  }
}
#top__topics .inner div[class^=swiper-button] {
  position: absolute;
  width: 3.333rem;
  height: 3.333rem;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #top__topics .inner div[class^=swiper-button] {
    width: 2.857rem;
    height: 2.857rem;
  }
}
#top__topics .inner div[class^=swiper-button]::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/top/swiper_arrow.svg) no-repeat center center/contain;
  left: 0;
  top: 0;
}
#top__topics .inner div[class^=swiper-button] svg {
  display: none;
}
#top__topics .inner .swiper-button-prev {
  left: 0;
}
@media only screen and (max-width: 767px) {
  #top__topics .inner .swiper-button-prev {
    left: 0.804rem;
  }
}
#top__topics .inner .swiper-button-next {
  right: 0;
}
#top__topics .inner .swiper-button-next::after {
  transform: rotate(180deg);
}
@media only screen and (max-width: 767px) {
  #top__topics .inner .swiper-button-next {
    right: 0.804rem;
  }
}

/*  講習会会場
-------------------------------------------------*/
#top__venue {
  background: #D6F8FF;
  padding: 4.667rem 0;
}
@media only screen and (max-width: 767px) {
  #top__venue {
    padding: 3.214rem 0;
  }
}
#top__venue .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#top__venue .inner .ttl {
  margin-bottom: 4.667rem;
}
@media only screen and (max-width: 767px) {
  #top__venue .inner .ttl {
    margin-bottom: 2.679rem;
  }
}
@media print, screen and (min-width: 768px) {
  #top__venue .inner figure {
    width: 50.467rem;
  }
}
#top__venue .inner .btn {
  margin-top: 3.333rem;
}
@media only screen and (max-width: 767px) {
  #top__venue .inner .btn {
    margin-top: 1.429rem;
  }
}

/*  パンフレット
-------------------------------------------------*/
#top__brochure {
  padding: 4.667rem 0;
}
@media only screen and (max-width: 767px) {
  #top__brochure {
    padding: 3.214rem 0;
  }
}
#top__brochure .inner .ttl {
  margin-bottom: 4.667rem;
}
@media only screen and (max-width: 767px) {
  #top__brochure .inner .ttl {
    margin-bottom: 1.429rem;
  }
}
#top__brochure .inner ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5%;
}
@media only screen and (max-width: 767px) {
  #top__brochure .inner ul {
    grid-template-columns: 66.667vw;
    gap: 2.143rem;
    justify-content: center;
  }
}
#top__brochure .inner ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#top__brochure .inner ul li figure {
  width: 100%;
  background: #F5F5F5;
  padding: 1.267rem;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 767px) {
  #top__brochure .inner ul li figure {
    padding: 0.929rem;
  }
}
#top__brochure .inner ul li figure img {
  width: 15.2rem;
}
@media only screen and (max-width: 767px) {
  #top__brochure .inner ul li figure img {
    width: 11.286rem;
  }
}
#top__brochure .inner ul li .dl {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  #top__brochure .inner ul li .dl {
    margin-top: 1.429rem;
  }
}
#top__brochure .inner small {
  display: block;
  text-align: right;
  font-size: 0.933rem;
  font-weight: 500;
  margin-top: 1.333rem;
}
@media only screen and (max-width: 767px) {
  #top__brochure .inner small {
    text-align: center;
    margin-top: 1.071rem;
    font-size: 0.786rem;
  }
}