@charset "UTF-8";

/* mainページ */

html {
  scroll-behavior: smooth;
}

#main {

  font-family: "M PLUS Rounded 1c",
    sans-serif;


  .pc-only {
    display: none !important;
  }

  .inner {
    padding: 0 2.66vw;
  }

  .hero img {
    width: 100vw;
  }

  .hero {
    position: relative;
  }

  .logo__item {
    display: block;
    width: 18.66vw;
    position: absolute;
    top: 3.33vw;
    left: 4.66vw;
  }

  .campaign {
    padding: 14.3vw 0 8.666vw 0;
    background: url(../img/main/sp/bk_cp.webp);
    background-repeat: no-repeat;
    background-size: 100%;

    .campaign__image img {
      width: 100%;
      margin: 0 auto;
    }

    .campaign__title {
      color: #469DFF;
      font-size: 8vw;
      padding-bottom: 7.33vw;
      font-family: "M PLUS Rounded 1c",
        sans-serif;
      font-weight: 700;
      text-align: center;
    }
  }

  .cta {
    background: url(../img/main/sp/bk_cta.webp);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 8.133vw 0;

    .cta__btn {
      display: block;
      width: 80vw;
      margin: 0 auto;
    }

    .inner {
      display: block;
      text-align: center;
    }

    .cta__txt {
      color: #FFFACD;
      font-weight: 700;
      text-align: center;
      font-size: 6.666vw;
      line-height: 1.5;
      display: inline;
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
      background-image: radial-gradient(circle, currentColor 2px, transparent 2px);
      background-repeat: repeat-x;
      background-position: bottom;
      background-size: 8px 9px;
      padding-bottom: 7px;
      line-height: 2;
    }

    .cta-btn {
      display: block;
      transition: .2s;
      margin-top: 6.4vw;
      font-size: 5.73vw;
      color: #3E3E3E;
      text-decoration: none;
      font-weight: 700;
      letter-spacing: 1px;
      background-color: #FFFACD;
      border-radius: 30vw;
      padding: 3vw 0;
      position: relative;
      box-shadow: 0px 10px 0px 0px rgba(153, 0, 0, 0.5);
      padding-right: 10px;
    }

    .cta-btn::after {
      display: block;
      content: "";
      background: url(../img/cta_icon2.svg);
      background-repeat: no-repeat;
      width: 7.5vw;
      height: 7.5vw;
      background-size: 7.33vw;
      position: absolute;
      right: 3vw;
      top: 50%;
      transform: translateY(-50%);
    }

    .cta-btn:hover {
      transform: translateY(5%);
      transition: .2s;
      box-shadow: 0px 1px 0px 0px rgba(153, 0, 0, 0.5);
    }
  }

  .lesson {
    padding: 21vw 0 0 0;

    .lesson__title {
      width: 57.99vw;
      margin: 0 auto;
      padding-bottom: 10.4vw;
    }

    .lesson__subtitle {
      color: #FF8246;
      font-weight: 700;
      font-size: 8vw;
      text-align: center;
    }

    .lesson__disc {
      background: #FFFACD;
      padding: 10vw 0 0 0;
      border-radius: 50px 50px 0 0;

      p {
        color: #3E3E3E;
        font-weight: 300;
        line-height: 1.91;
        padding-top: 6.133vw;
        padding-bottom: 3.33vw;

        span {
          color: #FF374B;
          font-weight: 500;
        }
      }
    }

    .lesson__image img {
      display: block;
      width: 91.2vw;
      margin: 0 auto;
      /* padding-bottom: 5.3vw; */
    }
  }

  .lesson__slide {
    background: #FFFACD;
    padding: 13.3vw 0 0 0;
  }

  .lesson__slide-title {
    display: block;
    color: #FF8246;
    font-size: 8vw;
    font-weight: 700;
    text-align: center;
    padding-bottom: 4.33vw;
  }

  .lesson__slide-title2 {
    display: block;
    color: #FF8246;
    font-size: 7.19vw;
    font-weight: 700;
    text-align: center;
    padding-top: 8vw;
    padding-bottom: 3.599vw;
  }

  .lesson__txt {
    font-weight: 300;
    font-size: 4.66vw;
    color: #3E3E3E;
    line-height: 1.911;
    padding-bottom: 10.66vw;
  }

  .lesson__sub {
    display: block;
    width: 41.33vw;
    margin: 0 auto;
    padding-bottom: 5.33vw;
  }

  .Swiper1,
  .Swiper2,
  .Swiper3 {
    overflow: hidden;
    padding-bottom: 30px;
  }

  .lesson__media {
    padding-bottom: 5.3vw;
  }

  .swp-pagination1,
  .swp-pagination2,
  .swp-pagination3 {
    bottom: 0 !important;
  }

  .swp-pagination1 .swiper-pagination-bullet,
  .swp-pagination2 .swiper-pagination-bullet,
  .swp-pagination3 .swiper-pagination-bullet {
    background: #FFDC8C;
    opacity: 1;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transition: all 0.3s;
  }

  .swp-pagination1 .swiper-pagination-bullet-active,
  .swp-pagination2 .swiper-pagination-bullet-active,
  .swp-pagination3 .swiper-pagination-bullet-active {
    background: #FF9B46;
    border-radius: 6px;
  }

  .Swiper2 .swiper-slide {
    background: #ffff;
    width: 73.46vw;
    height: 77.46vw;
    border-radius: 30px;
    padding: 5.33vw;

    p {
      display: block;
      text-align: center;
      color: #3E3E3E;
      font-size: 5.33vw;
      line-height: 1.275;
    }

    .swiper__image {
      display: block;
      width: 60%;
      margin: 0 auto;
      padding-top: 3vw;
    }
  }

  .Swiper2 .swiper-slide:nth-of-type(4) {
    .swiper__image {
      display: block;
      width: 90%;
      margin: 0 auto;
      padding-top: 3vw;
    }
  }

  .why {
    padding: 22.4vw 0 0 0;

    .why__title {
      display: block;
      width: 79.33vw;
      margin: 0 auto;
      padding-bottom: 4vw;
    }

    .why__cont {
      background: #FFE6E6;
      border-radius: 30px;
      padding: 5.866vw;
      margin-top: 11.33vw;
      position: relative;
    }

    .why__cont::after {
      position: absolute;
      content: "";
      background: url(../img/main/sp/icon02_why.svg);
      display: block;
      background-size: 16.4vw;
      width: 16.4vw;
      height: 16.4vw;
      z-index: 1;
      top: -3vw;
      left: -1vw;
    }

    .why__cont:nth-of-type(2):after {
      background: url(../img/main/sp/icon03_why.svg);
      display: block;
      background-size: 16.4vw;
      width: 16.4vw;
      height: 16.4vw;
      z-index: 1;
      top: -3vw;
      left: -1vw;
    }

    .why__cont:nth-of-type(3):after {
      background: url(../img/main/sp/icon04_why.svg);
      display: block;
      background-size: 16.4vw;
      width: 16.4vw;
      height: 16.4vw;
      z-index: 1;
      top: -3vw;
      left: -1vw;
    }

    .why__cont .why__image img {
      display: block;
      width: 53.33vw;
      margin: 0 auto;
      margin-top: -41px;
    }

    .why__cont:nth-of-type(2) .why__image img {
      display: block;
      width: 61.46vw;
      margin: 0 auto;
      margin-top: -41px;
    }

    .why__cont:nth-of-type(3) .why__image img {
      display: block;
      width: 56vw;
      margin: 0 auto;
      margin-top: -41px;
    }


    h4 {
      background: url(../img/main/sp/icon01_why.svg);
      background-repeat: no-repeat;
      background-size: 100% auto;
      font-size: 5.333vw;
      color: #3E3E3E;
      font-weight: 500;
      text-align: center;
      line-height: 1.2;
      padding: 2vw 0;
      margin-top: 4.533vw;

      span {
        color: #FF374B;
        font-weight: 700;
      }
    }

    p {
      color: #3E3E3E;
      font-size: 4.533vw;
      line-height: 1.911;
      font-weight: 300;
      padding-top: 5.333vw;

      span {
        color: #FF374B;
        font-weight: 500;
      }
    }
  }

  .classroom {
    padding: 0;
    /* padding: 12vw 4.666vw 0 4.666vw; */
    padding-top: 13vw;

    .classroom__title {
      padding-bottom: 10.4vw;
    }

    .movie {
      display: block;
      margin: 0 auto;
      width: 84.53vw;
      height: 47vw;
      border-radius: 19px;
    }

    .classroom__box {
      display: block;
      margin: 0 auto;
      background: url(../img/main/sp/img_why.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      height: 76.3vw;
      padding-top: 16vw;
    }

    .classroom__wrap:last-of-type {
      padding-top: 10.66vw;
    }

    .classroom__image {
      display: block;
      padding-bottom: 1vw;
    }
  }

  .moment {
    padding: 16vw 0;

    .moment__title {
      width: 81.73vw;
      margin: 0 auto;
      padding-bottom: 8vw;
    }

    .moment__wrap {
      background: #FFFACD;
      color: #ffff;
      border-radius: 50% / 5vw;
      padding: 13.33vw 0 5.6vw 0;
    }

    .moment__txt {
      color: #3E3E3E;
      line-height: 1.911;
      font-weight: 300;
      font-size: 4.533vw;
      padding-bottom: 6vw;

      span {
        color: #FF374B;
        font-weight: 500;
      }
    }

    .moment__txt2 {
      color: #3E3E3E;
      line-height: 1.911;
      font-weight: 300;
      font-size: 5.06vw;
      text-align: center;
      padding-top: 4vw;
      padding-bottom: 3vw;

      span {
        color: #FF374B;
        font-weight: 500;
        font-size: 6.133vw;
      }
    }
  }

  .voices {
    padding: 0 0 13.33vw 0;

    .voices__title {
      padding-bottom: 11.4vw;
      padding: 0 8vw 13vw 8vw;
    }

    .swiper-slide {
      padding: 0 4vw;
    }


    .swiper-item {
      background: #FFFACD;
      padding: 6.66vw;
      border-radius: 30px;
      box-shadow: 0px 10px 0px 0px rgba(211, 200, 102, 0.5);
      margin-bottom: 5vw;
    }

    .swiper-slide:nth-child(odd) .swiper-item {
      background: #BEF0B4;
      padding: 6.66vw;
      border-radius: 15px;
    }


    .sw-tit {
      color: #FF8246;
      font-size: 5.06vw;
      font-weight: 500;
      line-height: 1.421;
      position: relative;
      padding: 5.333vw 0 4vw 0;
    }

    .inner {
      padding: 0 4.2vw;
    }

    .sw-tit::after {
      position: absolute;
      content: "";
      background: url(../img/main/sp/slider_icon.svg);
      width: 81.39vw;
      background-size: 85vw;
      background-repeat: no-repeat;
      height: 3.8vw;
      bottom: 0;
      right: 0;
    }

    .sw-txt {
      color: #3E3E3E;
      line-height: 1.911;
      font-weight: 300;
      padding-top: 2vw;

      span {
        display: block;
        font-size: 3.733vw;
        line-height: 1.2;
        padding-top: .5vw;

      }
    }

    .sw-name {
      color: #3E3E3E;
      font-weight: 300;
      font-size: 4vw;
      text-align: right;
      line-height: 1.1;
      padding-top: 4.73vw;
    }
  }

  .new {
    background: #FFFACD;
    padding: 11vw 0 12.8vw 0;

    .new__wrap {
      padding: 0 2.66vw;
    }

    .new__title {
      width: 56.8vw;
      margin: 0 auto;
      padding-bottom: 7.33vw;
    }

    .new__link {
      display: block;
      padding-bottom: 4.2vw;
      transition: .2s;
      background: #ffff;
      border-radius: 20px;
      padding: 6.4vw;
      text-decoration: none;
      line-height: 1.294;
      box-shadow: 0px 10px 0px 0px rgba(211, 200, 102, 0.5);


      p {
        color: #FF8246;
        border-bottom: 0;
        font-size: 4.53vw;
        text-align: center;
        font-weight: 500;
        padding-bottom: 2.133vw;
      }

      span {
        display: block;
        color: #3E3E3E;
        font-size: 4vw;
        text-align: right;
        padding-top: 1vw;
      }
    }

    .new__link:first-of-type {
      margin-bottom: 6.399vw;
    }

    .new__link:hover {
      transform: translateY(1%);
      transition: .2s;
      box-shadow: 0px 5px 0px 0px rgba(211, 200, 102, 0.5);
    }
  }

  .fees {
    padding: 16.93vw 4.8vw 10.66vw 4.8vw;

    .fees__title {
      width: 86.13vw;
      margin: 0 auto;
      padding-bottom: 13.33vw;
    }
  }

  .fixd-bnr {
    position: fixed;
    display: block;
    width: 100%;
    z-index: 999;
    bottom: 0;
    margin: 0 auto;

    transform: translateY(100%);
    transition: transform 0.4s ease;

    &.is-show {
      transform: translateY(0);
    }

    .fixd-bnr__item {
      height: 16.93vw;
      width: 92vw;
      margin: 0 auto;
      display: flex;
      gap: 1.866vw;
      justify-content: center;
    }
  }

  @media screen and (min-width: 769px) {


    .inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 0;
    }

    .pc-only {
      display: block !important;
    }

    .sp-only {
      display: none !important;
    }

    .hero {
      background: url(../img/main/pc/bk_hero.webp);
      background-repeat: repeat;

      .hero__title {
        max-width: 1440px;
        margin: 0 auto;

      }
    }

    .logo__item {
      display: block;
      max-width: 140px;
      width: 10%;
      position: absolute;
      top: 17px;
      left: 35px;
      transition: .2s;

      img {
        width: 100%;
        max-width: 100%;
      }
    }

    .logo__item:hover {
      opacity: 80%;
      transition: .2s;
    }

    .campaign {
      padding: 78px 0;
      background: url(../img/main/pc/bk_cp.webp);
      background-size: 100%;
      background-repeat: repeat-y;

      .campaign__title {
        font-size: 50px;
        padding-bottom: 35px;
      }
    }

    .cta {
      background: url(../img/main/pc/bk02_cp.webp), #FF374B;
      background-size: cover;
      background-repeat: no-repeat;
      padding: 80px 0;

      .campaign__image img {
        display: block;
        max-width: 100%;
        margin: 0 auto;
      }

      .cta__btn {
        width: 100%;
      }


      .cta-btn {
        margin: 0 auto;
        margin-top: 40px;
        width: 100%;
        max-width: 600px;
        padding-top: 40px;
        display: block;
        transition: .2s;
        font-size: 44px;
        color: #3E3E3E;
        text-decoration: none;
        font-weight: 700;
        letter-spacing: 1px;
        padding: 20px 0;
        box-shadow: 0px 10px 0px 0px rgba(153, 0, 0, 0.5);
        padding-right: 20px;
      }

      .cta-btn::after {
        display: block;
        content: "";
        background-repeat: no-repeat;
        width: 56px;
        height: 56px;
        background-size: 54px;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
      }

      .cta__btn img {
        display: block;
        max-width: 100%;
        margin: 0 auto;
      }

      .cta__txt {
        font-size: 50px;
        line-height: 1.5;
        display: inline;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        background-image: radial-gradient(circle, currentColor 3px, transparent 4px);
        background-repeat: repeat-x;
        background-position: bottom;
        background-size: 17px 17px;
        padding-bottom: 15px;
        line-height: 2;
      }
    }

    .lesson {
      padding: 125px 0 122px 0;
      background: #FFFACD;
      overflow: hidden;

      .lesson__title {
        width: 100%;
        max-width: 388.8px;
        margin: 0 auto;
        padding-bottom: 0;
      }

      .lesson__subtitle {
        font-size: 50px;
      }

      .lesson__disc {
        padding: 79px 0 0 0;
        border-radius: 0;

        p {
          font-size: 30px;
          text-align: center;
          line-height: 1.6;
          padding-top: 35px;
          padding-bottom: 40px;
        }
      }

      .lesson__image img {
        width: 100%;
        max-width: 1000px;
      }

      .lesson__image02 img {
        display: block;
        padding-top: 0;
        padding-bottom: 0;
        width: 100%;
        max-width: 1093px;
        margin: 0 auto;
      }

      .lesson__slide {
        padding: 110px 0 0 0;
      }

      .lesson__sub {
        width: 100%;
        max-width: 259px;
        margin: 0 auto;
        padding-bottom: 28px;
      }

      .lesson__media {
        padding-bottom: 0;
      }

      .lesson__slide-title {
        font-size: 50px;
        padding-bottom: 33px;
      }

      .lesson__slide-title2 {
        font-size: 50px;
        padding-top: 120px;
        padding-bottom: 47px;
      }

      .lesson__txt {
        font-size: 30px;
        line-height: 1.911;
        padding-bottom: 0;
        letter-spacing: -1px;
        text-align: center;
      }

      .pc-only {
        padding-top: 42px;
        display: flex !important;
        justify-content: space-between;
        gap: 12px;
      }

      .lesson__item {
        display: block;
        background: #ffff;
        width: 100%;
        max-width: 358px;
        border-radius: 19px;
        padding: 30px;

        p {
          font-size: 22px;
          text-align: center;
          padding-bottom: 10px;
        }

        img {
          display: block;
          margin: 0 auto;
        }
      }

      .swiper-slide {
        width: 100%;
      }

      .swiper__image img {
        width: 100%;
      }

      .Swiper1 {
        width: 120%;
        margin-left: -10%;
        overflow: hidden;
      }

      .lesson__slide {
        overflow: hidden;
      }
    }

    .why {
      padding: 121px 0 0 0;

      p {
        font-size: 20px;
        line-height: 2;
        font-weight: 400;
        padding-top: 25px;
      }

      h4 {
        background: url(../img/main/sp/icon01_why.svg);
        background-repeat: no-repeat;
        background-size: 100% auto;
        font-size: 34px;
        padding: 0;
        margin-top: 0;
        line-height: 1.58;
        padding: 9px 0 26px 0;
      }

      .why__cont::after {
        display: block;
        background-size: 100px;
        width: 105px;
        height: 105px;
        top: -17px;
        left: -14px;
        background-repeat: no-repeat;
      }

      .why__cont:nth-of-type(2):after {
        display: block;
        background-size: 100px;
        width: 105px;
        height: 105px;
        top: -17px;
        left: -14px;
        background-repeat: no-repeat;
      }

      .txt-box {
        max-width: 610px;
        width: 100%;
      }

      .why__cont:nth-of-type(3):after {
        display: block;
        background-size: 100px;
        width: 105px;
        height: 105px;
        top: -17px;
        left: -14px;
        background-repeat: no-repeat;
      }

      .why__cont {
        border-radius: 9px;
        padding: 37px;
        margin-top: 0;
        position: relative;
        display: flex;
        align-items: center;
        gap: 23px;
        margin-top: 40px;
      }

      .why__cont .why__image img {
        display: block;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        margin-top: 0;
      }

      .why__cont:nth-of-type(2) .why__image img {
        width: 476px;
        margin-top: 0;
        max-width: 117%;
      }

      .why__cont:nth-of-type(3) .why__image img {
        width: 420px;
        max-width: 117%;
        margin-top: 0;
        margin-left: -22px;
      }
    }

    .why__cont:nth-of-type(2) {
      flex-direction: row-reverse;
    }

    .why__cont:first-of-type {
      margin-top: 0;
    }

    .why__title {
      width: 100%;
      max-width: 536.3px;
      margin: 0 auto;
      padding-bottom: 41px;
    }

    .why__image:not(:first-of-type) {
      display: block;
      padding-top: 28px;
    }

    .why__item {
      padding: 0;
    }

    .classroom {
      padding: 0;
      padding-top: 154px;

      .classroom__title {
        width: 100%;
        max-width: 663px;
        margin: 0 auto;
        padding-bottom: 80px;
      }

      .classroom__image {
        padding-bottom: 0;
      }

      .classroom__item {
        display: flex;
        align-items: center;
        justify-content: space-between;
      }

      .classroom__box {
        background: url(../img/main/sp/img_why.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        width: 100%;
        height: 393px;
        padding-top: 80px;
        background-position: bottom;
      }

      .classroom__wrap {
        max-width: 490px;
        width: 100%;
      }

      .classroom__image {
        padding-bottom: 5px;
      }

      .movie {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: 100%x;
        max-width: 454px;
        max-height: 254px;
        border-radius: 30px;
      }

      .classroom__wrap:last-of-type {
        padding-top: 0;
      }
    }

    .moment {
      padding: 0;
      background: #FFFACD;
      color: #ffff;
      border-radius: 50% / 5vw;
      margin-top: 83px;
      padding: 83px 0 90px 0;

      .moment__wrap {
        background: none;
        padding: 0;
      }

      .moment__title {
        width: 100%;
        max-width: 551.9px;
        margin: 0 auto;
        padding-bottom: 60px;
      }

      .moment__txt {
        line-height: 1.8;
        font-weight: 400;
        font-size: 30px;
        padding-bottom: 74px;
      }

      .moment__box {
        display: flex;
        align-items: center;
        gap: 35px;
        padding-top: 54px;
      }

      .moment__txt2 {
        line-height: 1.911;
        font-weight: 400;
        font-size: 31px;
        text-align: center;
        padding-top: 0;
        padding-bottom: 0;
        max-width: 302px;
        line-height: 1.51;
        text-align: left;

        span {
          font-weight: 400;
          font-size: 37px;
        }
      }
    }

    .voices {
      padding: 114px 0 112px 0;
      overflow: hidden;

      .swiper-slide {
        height: auto;
        display: flex;
      }

      .swiper-item {
        height: 100%;
        box-sizing: border-box;

        display: flex;
        flex-direction: column;
      }

      .sw-txt {
        flex-grow: 1;
      }


      .swiper-slide:nth-child(odd) .swiper-item {
        padding: 38px;
        border-radius: 24px;
      }

      .sw-tit {
        font-size: 27px;
        line-height: 1.48;
        position: relative;
        padding: 31px 0;
      }

      .sw-name {
        font-weight: 400;
        font-size: 17px;
        line-height: 1.6;
        padding-top: 0;
      }

      .swiper-item {
        padding: 34px;
        border-radius: 24px;
        margin-bottom: 0;
        color: #3E3E3E;
        /* max-width: 504px; */
      }

      .sw-inner {
        max-width: 1300px;
        margin: 0 auto;
      }

      .sw-tit::after {
        position: absolute;
        content: "";
        background: url(../img/main/sp/slider_icon.svg);
        width: 100%;
        background-size: 352px;
        background-repeat: no-repeat;
        height: 17px;
        bottom: 7px;
        right: 0px;
      }

      .sw-txt {
        font-weight: 400;
        font-size: 17px;
        line-height: 1.94;
        padding-top: 0;


        span {
          font-size: 12px;
          line-height: 1.2;
          padding-top: 0;
        }
      }

      .Swiper3 {
        overflow: hidden;
        padding-bottom: 56px;
      }

      .voices__title {
        padding-bottom: 0;
        padding: 0;
        padding-bottom: 40px;
      }

      .voices__image img {
        display: block;
        width: 100%;
        max-width: 504px;
        margin: 0 auto;
      }

      .swiper-slide {
        padding: 0;

        img {
          width: 100%;
        }
      }

      .Swiper3 {
        width: 100%;
      }
    }

    .new {
      padding: 130px 0 119px 0;

      .new__title {
        width: 100%;
        max-width: 383px;
        margin: 0 auto;
        padding-bottom: 75px;
      }


      .new__wrap {
        padding: 0;
        display: flex;
        justify-content: space-between;
        gap: 36px;
      }

      .new__link:first-of-type {
        margin-bottom: 0;
      }

      .new__link {
        display: block;
        padding-bottom: 0;
        transition: .2s;
        border-radius: 20px;
        padding: 30px;
        text-decoration: none;
        line-height: 1.294;
        width: 100%;
        box-shadow: 0px 20px 0px 0px rgba(211, 200, 102, 0.5);

        p {
          font-size: 34px;
          padding-bottom: 24px;
          letter-spacing: -1px;
        }

        span {
          font-size: 22px;
          text-align: right;
          padding-top: 20px;
        }

        .new__image img {
          width: 100%;
          margin: 0 auto;
        }
      }
    }

    .fees {
      padding: 145px 0;


      .fees__title {
        width: 100%;
        max-width: 581px;
        margin: 0 auto;
        padding-bottom: 75px;
      }
    }

    .fixd-bnr {
      position: fixed;
      display: block;
      width: 82px;
      z-index: 999;
      bottom: 40%;
      right: 0;
      transform: translateY(-50%);
      margin: 0 auto;

      transform: translateX(calc(100% + 30px));

      &.is-show {
        transform: translateX(0);
      }

      .fixd-bnr__item {
        height: 16.93vw;
        width: 82px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 9px;
        justify-content: center;

        a {
          transition: .2s;
        }

        a:hover {
          transform: translateX(3px);
          transition: .2s;
        }

        a[href^="tel:"] {
          pointer-events: none;
          cursor: default;
        }
      }
    }
  }
}

@media screen and (min-width: 769px) and (max-width: 1130px) {
  #main {
    .inner {
      padding: 0 20px;
    }

    & .classroom {
      .classroom__item {
        gap: 21px;
      }

      .classroom__box {
        padding-top: 108px;
      }
    }

    & .classroom {
      .movie {
        max-width: 414px;
        max-height: 224px;
      }

      .classroom__box {
        padding-top: 140px;
      }
    }

    .cta02 {
      padding-right: 20px;
      padding-left: 20px;
    }

    & .why {
      h4 {
        br {
          display: none;
          background-size: cover;
        }
      }
    }

    .sw-inner {
      padding: 0 30px;
    }
  }

  .footer {
    background: #FF9B46;
    color: #ffff;
    padding: 11.2vw 0;

    img {
      display: block;
      width: 33.6vw;
      margin: 0 auto;
      padding-bottom: 8.266vw;
    }

    small {
      display: block;
      font-size: 2.666vw;
      text-align: center;
    }
  }
}

@media screen and (min-width: 769px) {
  .footer {
    background: #FF9B46;
    color: #ffff;
    padding: 52px 0 30px 0;

    img {
      display: block;
      width: 200px;
      margin: 0 auto;
      padding-bottom: 58px;
    }

    small {
      font-size: 20px;
    }
  }
}

.popup {
  transition: opacity ease-out 1.0s, transform cubic-bezier(0.22, 1, 0.36, 1) 1.2s;
  opacity: 0;
  transform: translateY(6rem);
  will-change: transform, opacity;
}

.popup.is-visible {
  opacity: 1;
  transform: translateY(0);
}

body.is-anchor-jumping .popup {
  transition: none !important;
  animation: none !important;
  transform: none !important;
}