@charset "UTF-8";
/* 動き設定 */
@-webkit-keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: hidden;
  }
  100% {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    opacity: 1;
  }
}
@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: hidden;
  }
  100% {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    opacity: 1;
  }
}
@-webkit-keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: hidden;
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    opacity: 1;
  }
}
@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: hidden;
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 15%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 15%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -30%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -30%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.vegas-animation-kenburns {
  -webkit-animation: kenburns ease-out forwards;
  animation: kenburns ease-out forwards;
}

@-webkit-keyframes kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.5);
  }
}

@keyframes kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.5);
  }
}
/*　上に上がる動き　*/
@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*　下に下がる動き　*/
@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/*　タブ切り替え用　*/
@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*　エフェクト　*/
@-webkit-keyframes wave {
  50% {
    top: 55%;
  }
  75% {
    top: 50%;
  }
  100% {
    top: 55%;
  }
}
@keyframes wave {
  50% {
    top: 55%;
  }
  75% {
    top: 50%;
  }
  100% {
    top: 55%;
  }
}
/*時間差(秒)※動的に出力する箇所はnth-of-type使用*/
.d1 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.d2 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.d3 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}

.d4 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.d5 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.d6 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

.d7 {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}

.d8 {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}

.item {
  opacity: 0;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  transition: 0.7s;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.item.sil.is-show {
  -webkit-animation-name: slideInLeft;
          animation-name: slideInLeft;
}

.item.sir.is-show {
  -webkit-animation-name: slideInRight;
          animation-name: slideInRight;
}

.item.fiu.is-show {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
}

.item.fid.is-show {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

.item.fi.is-show {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

.page-top.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}

.page-top.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}

/* Scss Document */
main .section .ttl {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: bold;
  font-size: 4rem;
  position: relative;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 40px;
  letter-spacing: 0.2em;
}
@media (min-width: 769px) {
  main .section .ttl {
    text-align: left;
  }
}
main .section .ttl span {
  display: block;
  font-size: 1.2rem;
  color: #ccc;
  letter-spacing: 0.1em;
}
@media (min-width: 769px) {
  main .section .ttl span {
    margin-left: 1em;
    display: inline-block;
  }
}
main .section .ttl::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, rgb(87, 255, 115) 0%, rgb(125, 185, 255) 100%);
}
main .section__ttl {
  color: #2D9800;
}

.hero {
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .hero {
    height: auto;
    max-height: 880px;
    width: 100%;
    overflow: hidden;
  }
}
.hero .slider {
  margin-bottom: 0;
}
.hero .slider li a img {
  height: 100%;
  min-height: 605px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 769px) {
  .hero .slider li a img {
    -o-object-fit: contain;
       object-fit: contain;
    min-height: 100%;
  }
}
.hero .slider .slick-dots {
  position: absolute;
  bottom: 20px;
}

.bg_wrap {
  background: url("../img/junior/bg_circle_sp.png");
}
@media (min-width: 769px) {
  .bg_wrap {
    background: url("../img/junior/bg_circle_pc.png");
  }
}

main .section.course .inner {
  padding: 0;
}
@media (min-width: 1025px) {
  main .section.course .inner {
    padding: 0 20px;
  }
}

.course {
  padding: 100px 15px;
  background: url("../img/junior/img_junior_bg-course.jpg") no-repeat center center;
  background-size: cover;
}
.course h2 {
  color: #fff;
}
.course h2 span {
  color: #fff;
}
.course ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 40px;
  max-width: 1000px;
}
.course ul li {
  width: 100%;
  position: relative;
  background: #fff;
  border-radius: 12px;
  margin-bottom: 20px;
  overflow: hidden;
  height: 280px;
}
@media (min-width: 769px) {
  .course ul li {
    width: 47%;
    margin-bottom: 20px;
  }
}
@media (min-width: 1025px) {
  .course ul li {
    width: 47%;
    height: 388px;
  }
  .course ul li::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
}
.course ul li.spcl {
  color: #804798;
}
.course ul li.toku {
  color: #23B8C5;
}
.course ul li a {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  position: absolute;
}
.course ul li a::after {
  content: "";
  border: 15px solid;
  width: 80px;
  height: 80px;
  border-radius: 80px;
  position: absolute;
  bottom: -40px;
  transition: 0.3s;
}
@media (min-width: 1025px) {
  .course ul li a:hover::after {
    bottom: 20px;
  }
}
@media (min-width: 1025px) {
  .course ul li a:hover p {
    max-width: 350px;
    text-align: center;
    color: #707070;
    font-size: 2rem;
    margin: 10px 0 0;
    padding-bottom: 30px;
  }
}
@media (min-width: 1025px) {
  .course ul li a {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s;
  }
}
.course ul li a h3 {
  font-size: 2.6rem;
  text-align: center;
  letter-spacing: 0.15em;
  font-weight: bold;
  margin-top: -100px;
}
@media (min-width: 769px) {
  .course ul li a h3 {
    font-size: 3rem;
  }
}
@media (min-width: 1025px) {
  .course ul li a h3 {
    font-size: 4rem;
    margin-top: 0;
  }
}
@media (min-width: 1440px) {
  .course ul li a h3 {
    font-size: 4rem;
  }
}
.course ul li a h3 span {
  font-size: 1.6rem;
  letter-spacing: 0;
  padding-right: 10px;
}
@media (min-width: 769px) {
  .course ul li a h3 span {
    display: block;
    padding-right: 0;
  }
}
@media (min-width: 1025px) {
  .course ul li a h3 span {
    margin-bottom: 15px;
  }
}
.course ul li a p {
  font-size: 1.6rem;
  height: 0;
  color: #707070;
  text-align: center;
  max-width: 280px;
  padding-top: 20px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (min-width: 769px) {
  .course ul li a p {
    opacity: 1;
    font-size: 1.6rem;
    padding: 20px;
    text-align: center;
  }
}
@media (min-width: 1025px) {
  .course ul li a p {
    opacity: 0;
    padding-top: 0;
    line-height: 1.6;
    font-size: 2rem;
  }
}
@media (min-width: 1025px) {
  .course ul li a:hover h3 {
    opacity: 0.5;
  }
  .course ul li a:hover p {
    opacity: 1;
    height: auto;
  }
}

main .section.life {
  padding: 100px 0;
  background: url("../img/junior/bg_grid.png");
  background-position: 0 0;
}
main .section.life .inner {
  max-width: 1000px;
  padding: 0 20px;
  margin: 0 auto;
}
main .section.life .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
main .section.life .inner ul li {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 769px) {
  main .section.life .inner ul li {
    width: 49%;
  }
}
main .section.life .inner ul li a {
  overflow: hidden;
  display: block;
}
main .section.life .inner ul li a img {
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  transition: 0.3s;
}
main .section.life .inner ul li a:hover img {
  transform: scale(1.1);
}

.section.examination {
  padding: 100px 0;
}
.section.examination .overview_list_exam {
  margin-bottom: 40px;
}

.news {
  padding: 100px 0 70px;
  margin-bottom: 0;
  background: #f7f7f7;
}
@media (min-width: 769px) {
  .news {
    margin-bottom: 100px;
  }
}

.topSection.banners a {
  margin-bottom: 20px;
}
@media (min-width: 769px) {
  .topSection.banners {
    max-width: 1440px;
    margin: 0 auto 175px;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
  }
  .topSection.banners a {
    width: 32.1%;
  }
}

.section.study__area {
  padding: 0;
  background: #f7f7f7;
}
@media (min-width: 769px) {
  .section.study__area {
    padding: 50px 0 100px;
    letter-spacing: 0.12rem;
  }
}
.section.study__area p {
  line-height: 1.6;
}
.section.study__area .hero_txt.inner {
  max-width: 1240px;
  padding: 80px 20px 15px;
  margin: 0 auto 30px;
  background: #f7f7f7;
}
@media (min-width: 769px) {
  .section.study__area .hero_txt.inner {
    background: none;
    padding-top: 0;
  }
}
.section.study__area .hero_txt.inner h1 {
  margin-bottom: 55px;
}
.section.study__area .hero_txt.inner h1 span {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 3rem;
  position: relative;
}
@media (min-width: 769px) {
  .section.study__area .hero_txt.inner h1 span {
    font-size: 3.8rem;
    letter-spacing: 0.1em;
  }
}
.section.study__area .hero_txt.inner h1 span::after {
  content: "";
  background: linear-gradient(90deg, rgb(87, 255, 115) 0%, rgb(125, 185, 255) 100%);
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 200px;
}
.section.study__area .hero_txt + p {
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 2;
  padding: 0 20px;
  margin-bottom: 30px;
}
@media (min-width: 769px) {
  .section.study__area .hero_txt + p {
    margin-bottom: 70px;
    padding: 0;
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
.section.study__area .hero_txt + p br {
  display: none;
}
@media (min-width: 769px) {
  .section.study__area .hero_txt + p br {
    display: block;
  }
}
@media (min-width: 769px) {
  .section.study__area .hero_txt + p {
    text-align: center;
    font-size: 2rem;
    line-height: 2;
  }
}
.section.study__area .underlineWrap {
  position: relative;
  text-align: center;
  padding-block: 0 4rem;
}
.section.study__area .underlineWrap::after {
  content: "";
  background: #b6ff98;
  width: 96px;
  height: 3px;
  display: inline-block;
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
}
.section.study__area .underlineWrap .marker {
  font-size: clamp(2rem, 2vw, 3rem);
}
.section.study__area .underlineWrap + p {
  line-height: 1.8;
  font-size: clamp(1.6rem, 1.5vw, 1.8rem);
}
.section.study__area .dsc {
  margin-block: 0 2rem;
}
@media (min-width: 769px) {
  .section.study__area .dsc {
    margin-block: 0;
  }
}
.section.study__area hgroup {
  font-weight: bold;
  margin-block: 0 2rem;
}
.section.study__area hgroup .sub_ttl {
  display: inline-block;
  font-size: 1.6rem;
}
@media (min-width: 769px) {
  .section.study__area hgroup .sub_ttl {
    font-size: 2rem;
  }
}
.section.study__area hgroup .sub_ttl.new {
  position: relative;
}
.section.study__area hgroup .sub_ttl.new::after {
  content: "";
  display: block;
  position: absolute;
  width: 70px;
  height: 63px;
  background: url("../img/junior/feature/icon_new.svg") no-repeat center center;
  background-size: contain;
  top: -40px;
  right: -90px;
}
.section.study__area hgroup h2 {
  color: #3bc700;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: clamp(3rem, 5vw, 5rem);
}
.section.study__area hgroup h2 span {
  font-size: 1.2rem;
  display: block;
}
.section.study__area .marker {
  margin: 0 5px;
  margin-block: 0 2rem;
  font-size: 1.66rem;
}
@media (min-width: 769px) {
  .section.study__area .marker {
    font-size: 2.1rem;
  }
}
.section.study__area .marker span {
  display: inline;
  font-weight: bold;
  background: linear-gradient(transparent 40%, #FFFF9C 40%);
}
.section.study__area .marker.serif {
  font-size: 2.1rem;
}
.section.study__area .marker--ttl {
  font-size: 2.4rem;
  font-weight: bold;
  margin-block: 0 2rem;
}
@media (min-width: 769px) {
  .section.study__area .marker--ttl {
    font-size: 3rem;
  }
}
.section.study__area .min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.section.study__area .btm15 {
  margin-bottom: 15px;
}
.section.study__area .btm30 {
  margin-bottom: 30px;
}
.section.study__area .color_ttl {
  color: #2D9800;
  font-size: 1.8rem;
  font-weight: bold;
  margin-block: 0 1.5rem;
}
@media (min-width: 769px) {
  .section.study__area .color_ttl {
    font-size: 2.8rem;
  }
}
.section.study__area .fs--large {
  font-size: 1.5em;
}
.section.study__area .fs--medium {
  font-size: 1.25em;
}
.section.study__area .fs--small {
  font-size: 0.85em;
}
.section.study__area .tag {
  display: inline-block;
  margin-block: 0 1rem;
}
@media (min-width: 769px) {
  .section.study__area .tag {
    margin-left: atuo;
    margin-block: 0 2rem;
  }
}
.section.study__area .tag li {
  display: inline-block;
  font-size: 1.4rem;
}
.section.study__area .tag li + li {
  margin-inline: 1rem 0;
}
.section.study__area .bg {
  background-color: rgba(59, 199, 0, 0.1);
  padding-block: 20px;
  padding-inline: 20px;
  margin-block: 3rem;
  max-width: 1200px;
  margin-inline: auto;
}
@media (min-width: 769px) {
  .section.study__area .bg.col--2 {
    display: flex;
    gap: 4%;
  }
}
@media (min-width: 769px) {
  .section.study__area .bg.col--2 .col__box {
    width: 48%;
  }
}
.section.study__area .bg.col--2 .img {
  margin-block: 0 1.8rem;
}
.section.study__area .bg.col--2 .img img {
  width: 100%;
}
.section.study__area .bg.col--2 h3 {
  color: #2D9800;
  font-weight: bold;
  margin-block: 0 0.8rem;
  font-size: clamp(1.6rem, 2.5vw, 2.8rem);
}
@media (min-width: 769px) {
  .section.study__area .bg.col--2 h3 {
    margin-block: 0 1.5rem;
  }
}
.section.study__area .bg.col--2 p {
  margin-block: 0 1.5rem;
}
.section.study__area .defaultList {
  margin-block: 0 2rem;
}
.section.study__area .defaultList li {
  position: relative;
  padding-left: 2rem;
  margin-block: 0 0.8rem;
}
.section.study__area .defaultList li::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: black;
  vertical-align: middle;
  border-radius: 50%;
  margin-inline: -1.2rem 5px;
}
.section.study__area .blue_line.inner {
  background: #fff;
  border: 2px solid #b6ff98;
  margin: 20px;
  padding: 20px;
  max-width: 1400px;
}
@media (max-width: 768px) {
  .section.study__area .blue_line.inner {
    padding: 15px;
  }
}
@media (min-width: 1440px) {
  .section.study__area .blue_line.inner {
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .section.study__area .blue_line.inner {
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) {
  .section.study__area .col__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 40px auto;
    max-width: 1200px;
  }
}
.section.study__area .col__wrap.rev {
  flex-direction: row-reverse;
}
@media (min-width: 769px) {
  .section.study__area .col__wrap.rev .col__box-txt {
    padding-inline: 40px 0;
  }
}
@media (min-width: 1025px) {
  .section.study__area .col__wrap.rev .col__box-txt {
    padding-inline: 80px 0;
  }
}
@media (min-width: 769px) and (max-width: 1025px) {
  .section.study__area .col__wrap {
    align-items: flex-start;
  }
}
.section.study__area .col__wrap .col__box-txt {
  margin-block: 0 2rem;
}
@media (min-width: 769px) {
  .section.study__area .col__wrap .col__box-txt {
    margin-block: 0;
  }
}
@media (min-width: 769px) {
  .section.study__area .col__wrap .col__box-txt {
    width: 50%;
    padding-inline: 0 40px;
  }
}
@media (min-width: 1025px) {
  .section.study__area .col__wrap .col__box-txt {
    padding-inline: 0 80px;
  }
}
@media (min-width: 769px) {
  .section.study__area .col__wrap .col__box-txt.pr--20 {
    padding-inline: 20px 40px;
  }
}
@media (min-width: 1025px) {
  .section.study__area .col__wrap .col__box-txt.pr--20 {
    padding-inline: 20px 80px;
  }
}
@media (min-width: 769px) {
  .section.study__area .col__wrap .col__box-img {
    width: 50%;
  }
}
.section.study__area .col__wrap .col__box-img img {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 769px) {
  .section.study__area .col__wrap .col__box-img img {
    max-width: 620px;
  }
}