@charset "UTF-8";
/* フォントファミリー
-----------------------------------------------*/
/* フォント
-----------------------------------------------*/
/* カラー
-----------------------------------------------*/
/* インナー幅
-----------------------------------------------*/
/** @format */
/*==============================================
#共通クラス
===============================================*/
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #132449;
  background-color: #fff;
  overflow-x: hidden;
}

body.no-scroll {
  overflow: hidden;
}

.inner {
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1280px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.display-sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .display-sp {
    display: none;
  }
}

.hidden-md {
  display: none;
}
@media screen and (min-width: 768px) {
  .hidden-md {
    display: block;
  }
}

.display-lg {
  display: none;
}
@media screen and (min-width: 1100px) {
  .display-lg {
    display: block;
  }
}

.hidden-lg {
  display: block;
}
@media screen and (min-width: 1100px) {
  .hidden-lg {
    display: none;
  }
}

@media screen and (min-width: 1441px) {
  .hidden-xl {
    display: none;
  }
}

hr {
  display: inline-block;
  width: 100%;
  border-bottom: 1px solid #000;
  margin: 20px 0;
}

/*==============================================
#コンポーネント
===============================================*/
/* セクションタイトル
-----------------------------------------------*/
.section-title {
  position: relative;
}
.section-title::before {
  content: "";
  position: absolute;
  background: url(../img/icon_section-title.png) no-repeat center center/cover;
  width: 55px;
  height: 8px;
  top: calc(100% + 10px);
  left: 0;
}
@media screen and (min-width: 768px) {
  .section-title::before {
    top: calc(100% + 12px);
  }
}

.section-title__main {
  color: #EF5B47;
  font-family: "Rubik", sans-serif;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.64348;
  letter-spacing: 3.15px;
}
@media screen and (min-width: 768px) {
  .section-title__main {
    font-size: 63px;
    line-height: 1.2;
  }
}

.section-title--yellow {
  color: #FFE18E;
}

.section-title--blue {
  color: #006ABA;
}

.section-title__sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.63889;
  letter-spacing: 2.3px;
}
@media screen and (min-width: 768px) {
  .section-title__sub {
    font-size: 23px;
    line-height: 1.5;
  }
}

.feature-body__title {
  color: #ef5b47;
  font-family: "Rubik", sans-serif;
  font-size: clamp(1.875rem, 1.286rem + 2.95vw, 3.938rem);
  font-weight: 500;
  line-height: 1.16883;
  letter-spacing: 2.389px;
  position: relative;
  margin-top: -18px;
}
@media screen and (min-width: 768px) {
  .feature-body__title {
    line-height: 1.2;
    letter-spacing: 5.15px;
    margin-top: -28px;
  }
}
@media screen and (min-width: 1100px) {
  .feature-body__title {
    margin-top: -38px;
  }
}
.feature-body__title::before {
  content: "";
  position: absolute;
  background: url(../img/icon_section-title.png) no-repeat center center/cover;
  width: 25.51px;
  height: 3.711px;
  top: 100%;
  left: 3.7px;
}
@media screen and (min-width: 768px) {
  .feature-body__title::before {
    width: 55px;
    height: 8px;
  }
}

.feature-body__title--yellow {
  color: #FFE18E;
}

.feature-body__title--blue {
  color: #006ABA;
}

/* ボタン
-----------------------------------------------*/
.btn__link {
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* 大きさ別
-----------------------------------------------*/
.btn__link--sp {
  width: 315px;
  height: 67px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.71043;
  letter-spacing: 0.56px;
  border-radius: 64.299px;
}
@media screen and (max-width: 374px) {
  .btn__link--sp {
    width: 240px;
    font-size: 12px;
  }
}

.btn__link--md {
  width: 389px;
  height: 76px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6875;
  letter-spacing: 0.64px;
  border-radius: 72.5px;
}

.btn__link--sm {
  width: 290px;
  height: 76px;
  border-radius: 72.5px;
}

/* 種別
-----------------------------------------------*/
.lesson,
.line {
  color: #006ABA;
  background-color: #fff;
}
.lesson::before,
.line::before {
  content: "";
  position: absolute;
  background: url(../img/icon_btn-fukidashi-blue.svg) no-repeat center center/cover;
  width: 32.815px;
  height: 24.849px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 16.93px;
}
@media screen and (max-width: 374px) {
  .lesson::before,
  .line::before {
    width: 16.815px;
    height: 13.849px;
    left: 10.93px;
  }
}
.lesson::after,
.line::after {
  content: "";
  position: absolute;
  background: url(../img/icon_arrow-blue.svg) no-repeat center center/cover;
  width: 30.864px;
  height: 30.864px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 5.31px;
}
.lesson:hover,
.line:hover {
  background-color: #006ABA;
  color: #fff;
}
.lesson:hover::before,
.line:hover::before {
  background: url(../img/icon_btn-fukidashi-white.svg) no-repeat center center/cover;
}
.lesson:hover::after,
.line:hover::after {
  background: url(../img/icon_arrow-white.svg) no-repeat center center/cover;
}

.entry {
  color: #fff;
  background-color: #006ABA;
  border: 1px solid #006ABA;
}
.entry::before {
  content: "";
  position: absolute;
  background: url(../img/icon_btn-document-white.svg) no-repeat center center/cover;
  width: 22.32px;
  height: 28px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 24px;
}
.entry::after {
  content: "";
  position: absolute;
  background: url(../img/icon_arrow-white.svg) no-repeat center center/cover;
  width: 30.864px;
  height: 30.864px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 5.31px;
}
.entry:hover {
  background-color: #fff;
  color: #006ABA;
  border: 1px solid #006ABA;
}
.entry:hover::before {
  background: url(../img/icon_btn-document-blue.svg) no-repeat center center/cover;
}
.entry:hover::after {
  background: url(../img/icon_arrow-blue.svg) no-repeat center center/cover;
}

.lesson-spLine {
  border: 1px solid;
}
.lesson-spLine:hover {
  border: 1px solid #006ABA;
}

/* 矢印アイコンの位置
-----------------------------------------------*/
.lesson-md::before,
.line-md::before {
  left: 36px;
}
.lesson-md::after,
.line-md::after {
  right: 19.2px;
}

.entry-sm::after {
  right: 19.2px;
}

/* ボタンラージ
-----------------------------------------------*/
.btn__link--lg {
  max-width: 588px;
  width: 100%;
  height: 104.8px;
  border-radius: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.btn-lg__ja {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
}

.btn-lg__en {
  font-family: "Quicksand", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.65px;
}

.lesson-lg {
  border: 4px solid #fff;
}
.lesson-lg:hover {
  border: 4px solid #006ABA;
}
.lesson-lg::before {
  width: 43px;
  height: 32.561px;
  left: 50px;
}
.lesson-lg::after {
  width: 43.401px;
  height: 43.401px;
  right: 52px;
}

.entry-lg {
  border: 4px solid #006ABA;
}
.entry-lg::before {
  width: 31px;
  height: 38.89px;
  left: 64px;
}
.entry-lg::after {
  width: 43.401px;
  height: 43.401px;
  right: 52px;
}

/*==============================================
#スワイパー
===============================================*/
.swiper-container {
  position: relative;
}

.swiper {
  position: relative;
}

.swiper-wrapper {
  position: relative;
}

.swiper-pagination-bullet {
  opacity: 1;
  background: gray;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  cursor: pointer;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #ef5b47;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.swiper-button-prev {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 20px;
}
@media screen and (max-width: 374px) {
  .swiper-button-prev {
    left: 0;
  }
}
.swiper-button-prev::after {
  content: "";
  position: absolute;
  width: 24.5px;
  height: auto;
  aspect-ratio: 43/70;
  background: url(../img/icon_teacher-left.webp) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev::after {
    width: 43px;
  }
}

.swiper-button-next {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px;
}
@media screen and (max-width: 374px) {
  .swiper-button-next {
    right: 0;
  }
}
.swiper-button-next::after {
  content: "";
  position: absolute;
  width: 24.5px;
  height: auto;
  aspect-ratio: 43/70;
  background: url(../img/icon_teacher-right.webp) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .swiper-button-next::after {
    width: 43px;
  }
}

.fade-in-up {
  opacity: 0;
  -webkit-transform: translateY(24px);
          transform: translateY(24px);
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
  transition: opacity 1s, transform 1s, -webkit-transform 1s;
}
.fade-in-up.is-in-view {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/** @format */
/*==============================================
header
===============================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  height: 80px;
  background: #fff;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1100px) {
  .header {
    padding-left: 30px;
    padding-right: 30px;
    height: 100px;
    padding-top: 0;
  }
}

.logo__link {
  display: block;
  width: 153px;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 1100px) {
  .logo__link {
    width: 194px;
    height: auto;
  }
}
.logo__link img {
  width: 100%;
}
.logo__link:hover {
  opacity: 0.7;
}

.header-nav {
  display: none;
}
@media screen and (min-width: 1100px) {
  .header-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 7px;
  }
}
@media screen and (min-width: 1441px) {
  .header-nav {
    gap: 30px;
  }
}

.header-list {
  display: contents;
}

.header-item__link {
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 2px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-block: 5px;
  font-size: clamp(0.875rem, 0.471rem + 0.59vw, 1rem);
}
.header-item__link:hover {
  color: #006ABA;
  text-decoration: underline;
  text-decoration-color: #006ABA;
}

.header-itemLine__link {
  color: #006ABA;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.header-itemLine__link:hover {
  color: #FFE18E;
  text-decoration: none;
}

.drawer-icon {
  padding: 30px 27px;
  width: 80px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #006ABA;
  border-radius: 50%;
}
.drawer-icon .bar {
  display: block;
  width: 100%;
  height: 3px;
  background: #fff;
  border-radius: 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.drawer-icon:hover {
  cursor: pointer;
}

.drawer-icon.js-open .bar1 {
  -webkit-transform: translateY(8px) rotate(45deg);
          transform: translateY(8px) rotate(45deg);
}
.drawer-icon.js-open .bar2 {
  -webkit-transform: translateY(-8px) rotate(-45deg);
          transform: translateY(-8px) rotate(-45deg);
}

.drawer-menu {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background-color: #fff;
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .drawer-menu {
    padding-top: 100px;
  }
}
.drawer-menu.js-open {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.drawer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10%;
  margin-top: 32px;
  position: sticky;
  margin-inline: auto;
  width: auto;
  padding-left: 30px;
  padding-right: 30px;
}

.drawer-item {
  min-height: 40px;
}
.drawer-item + .drawer-item {
  margin-top: 20px;
}

.drawer-item__line {
  margin-top: 20px;
}

.drawer-item__link {
  padding-block: 5px;
  font-size: 16px;
  line-height: 1.45;
}

.header-lesson__btn {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.header-entry__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 40px;
}

.drawer-bg {
  position: fixed;
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  display: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.drawer-bg.js-open {
  display: block;
}

/** @format */
/*==============================================
mv
===============================================*/
.mv {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .mv {
    margin-top: 100px;
  }
}

.mv__inner {
  width: 100vw;
  margin-inline: auto;
  padding-inline: 30px;
  position: relative;
  padding-top: 2px;
  padding-bottom: 2px;
}
@media screen and (min-width: 1100px) {
  .mv__inner {
    padding-inline: 30px;
    margin-top: 0;
  }
}
@media screen and (max-width: 374px) {
  .mv__inner {
    padding-inline: 12px;
  }
}

.mv__image {
  border-radius: 20px;
  overflow: hidden;
}
.mv__image img {
  height: 550px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1648/1100;
  -o-object-position: 66% bottom;
     object-position: 66% bottom;
  width: 100%;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .mv__image img {
    height: 670px;
    aspect-ratio: 1280/670;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
@media screen and (min-width: 1441px) {
  .mv__image img {
    height: 800px;
    -o-object-position: center 15%;
       object-position: center 15%;
  }
}

.mv__message {
  position: absolute;
  top: 57%;
  left: 7px;
  padding-left: 3px;
}
@media screen and (min-width: 768px) {
  .mv__message {
    padding-left: 7px;
    top: 50%;
  }
}
@media screen and (min-width: 1100px) {
  .mv__message {
    top: 52%;
  }
}

.mv__text {
  font-size: clamp(1.313rem, 0.894rem + 1.78vw, 2.5rem);
  font-weight: 700;
  line-height: 1.15464;
  letter-spacing: 2.457px;
  border-radius: 10.103px;
  background: #FFE18E;
  padding-left: 22px;
  padding-right: 15px;
  padding-top: 13px;
  padding-bottom: 13px;
}
@media screen and (min-width: 768px) {
  .mv__text {
    line-height: 1.2;
    letter-spacing: 4.864px;
    padding-top: 26px;
    padding-bottom: 26px;
    padding-left: 35px;
    padding-right: 30px;
    border-radius: 20px;
  }
}

.mv-text__span {
  font-size: clamp(1.313rem, 0.894rem + 1.78vw, 2.5rem);
  font-weight: 700;
  line-height: 1.15464;
  letter-spacing: 2.457px;
}
@media screen and (min-width: 768px) {
  .mv-text__span {
    line-height: 1.2;
    letter-spacing: 4.864px;
  }
}

.mv__text--top {
  position: relative;
  text-align: right;
}
.mv__text--top::before {
  content: "";
  position: absolute;
  width: 66.68px;
  background: url(../img/icon_mv-raku.webp) no-repeat center center/cover;
  height: 66.68px;
  top: 50%;
  left: 33%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .mv__text--top::before {
    width: 132px;
    height: 132px;
    left: 34%;
  }
}
.mv__text--top::after {
  content: "";
  position: absolute;
  width: 58.285px;
  height: 28.289px;
  -webkit-transform: rotate(6.737deg);
          transform: rotate(6.737deg);
  background: url(../img/deco_mv.webp) no-repeat center center/cover;
  bottom: calc(100% + 3px);
  left: 33%;
}
@media screen and (min-width: 768px) {
  .mv__text--top::after {
    width: 115.384px;
    height: 56px;
    left: 34%;
  }
}

.mv__text--bottom {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 11px;
}
@media screen and (min-width: 768px) {
  .mv__text--bottom {
    margin-top: 22px;
    padding-inline: 42px;
  }
}

.left {
  padding-right: 20px;
}

.right {
  padding-left: 45px;
}
@media screen and (min-width: 768px) {
  .right {
    padding-left: 125px;
  }
}

.btn-circle__wrapper {
  position: fixed;
  z-index: 100;
  bottom: 35px;
  left: 12px;
}
@media screen and (min-width: 576px) {
  .btn-circle__wrapper {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) {
  .btn-circle__wrapper {
    bottom: 175px;
    left: calc(100% - 132px);
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

.btn-circle__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
@media screen and (min-width: 768px) {
  .btn-circle__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 20px;
  }
}

.btn-circle__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  opacity: 0.85;
  line-height: 1.53846;
}
@media screen and (min-width: 768px) {
  .btn-circle__item {
    width: 120px;
    height: 120px;
  }
}

.btn-circle__book {
  background-color: #FFE18E;
}
.btn-circle__book img {
  width: 37.363px;
  aspect-ratio: 37.363/31.83;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .btn-circle__book img {
    width: 63.386px;
    aspect-ratio: 63.386/54;
  }
}
.btn-circle__book a {
  padding-inline: 10px;
}
@media screen and (min-width: 768px) {
  .btn-circle__book a {
    padding-inline: 20px;
    padding-block: 5px;
  }
}

.btn-circle__pencil {
  background-color: #FFEBEB;
}
.btn-circle__pencil img {
  width: 27.868px;
  aspect-ratio: 27.868/30.062;
  -o-object-fit: contain;
     object-fit: contain;
  padding-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .btn-circle__pencil img {
    width: 40px;
    aspect-ratio: 47.278/51;
  }
}
@media screen and (min-width: 768px) {
  .btn-circle__pencil a {
    padding-inline: 5px;
    padding-block: 5px;
  }
}

.btn-circle__link {
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.btn-circle__link:hover {
  opacity: 0.7;
}

.btn-circle__text {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.179px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .btn-circle__text {
    font-size: 13px;
    line-height: 1.53846;
    letter-spacing: 2px;
  }
}

/** @format */
/*==============================================
result
===============================================*/
.result {
  margin-top: 80px;
  padding-bottom: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .result {
    margin-top: 120px;
  }
}
.result::before {
  content: "";
  position: absolute;
  width: calc(50vw + 34%);
  height: 100%;
  background-color: #FFF8E5;
  top: 0;
  right: 0;
  border-radius: 20px;
  z-index: -1;
}
@media screen and (min-width: 1100px) {
  .result::before {
    width: calc(50vw + 36%);
  }
}
@media screen and (min-width: 1441px) {
  .result::before {
    width: calc(50vw + 27%);
  }
}

@media screen and (min-width: 768px) {
  .result__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 53px;
    padding-bottom: 53px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1100px) {
  .result__inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  .result-title {
    display: none;
  }
}

.result-image {
  margin-top: 66px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.188%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .result-image {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 33px;
    margin-top: -34px;
  }
}
@media screen and (min-width: 1100px) {
  .result-image {
    margin-top: 0;
  }
}

.result-image__graph01 {
  width: 151.218px;
  height: 147.895px;
  background: url(../img/graph_result01.webp) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .result-image__graph01 {
    width: 286.995px;
    height: 286.995px;
  }
}

.result-image__graph02 {
  width: 151.158px;
  height: 147.895px;
  background: url(../img/graph_result02.webp) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .result-image__graph02 {
    width: 286.995px;
    height: 286.995px;
  }
}

.result-image__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.6887;
  letter-spacing: 0.36px;
  text-align: center;
  margin-top: 47px;
}
@media screen and (min-width: 768px) {
  .result-image__text {
    font-size: 24px;
    letter-spacing: 0.72px;
    margin-top: 94px;
  }
}

.result-image__data {
  color: #EF5B47;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 35px;
  font-weight: 900;
  line-height: 2.01879;
  text-align: center;
  margin-top: -20px;
}
@media screen and (min-width: 768px) {
  .result-image__data {
    font-size: 68px;
    margin-top: -43px;
  }
}

.result-image__note {
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.5px;
  margin-top: 11px;
  padding-right: 14px;
}
@media screen and (min-width: 768px) {
  .result-image__note {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.7px;
    padding-right: 0;
    margin-top: 7px;
    text-align: center;
  }
}

.result-body {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .result-body {
    margin-left: 5.8593%;
    margin-top: 0;
    padding-right: 70px;
  }
}
@media screen and (min-width: 1441px) {
  .result-body {
    padding-right: 0;
  }
}

.result-text__wrap {
  margin-top: 84px;
}
@media screen and (min-width: 768px) {
  .result-text__wrap {
    margin-top: 60px;
  }
}

.result-text {
  font-weight: 600;
  line-height: 2.125;
  letter-spacing: 4px;
  margin-top: 20px;
}
.result-text + .result-text {
  margin-top: 33px;
}
@media screen and (min-width: 768px) {
  .result-text + .result-text {
    margin-top: 67px;
  }
}

.loop-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  gap: 1.5rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
  display: contents;
}

.loop-slider .swell-block-columns__inner {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-animation: infinity-scroll-left 20s infinite linear;
          animation: infinity-scroll-left 20s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
  width: 400px; /* 画像の横幅を指定（パソコン） */
  position: relative;
}

.loop-slider .swell-block-column figure::before {
  padding-top: 66.6%; /* 画像の縦横比を指定 */
  display: block;
  content: "";
}

.loop-slider .swell-block-column figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 959px) {
  .loop-slider .swell-block-column figure {
    width: 200px; /* 画像の横幅を指定（スマホ） */
  }
}
@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.result2-swiper-container {
  margin-top: 52px;
}

@media screen and (min-width: 768px) {
  .result2-swiper-container {
    margin-top: 100px;
  }
}
.result2-swiper__slide {
  padding-bottom: 36px;
  min-width: 315px;
  width: 100%;
}

.result-card {
  margin-inline: auto;
  min-width: 315px;
  width: 100%;
  border-radius: 14.157px;
  border: 0.708px solid #ddd;
  background: #fff;
  -webkit-box-shadow: 7.079px 7.079px 24.775px 0px rgba(203, 203, 203, 0.35);
  box-shadow: 7.079px 7.079px 24.775px 0px rgba(203, 203, 203, 0.35);
  padding: 32px 37px;
  text-align: center;
}

@media screen and (min-width: 500px) {
  .result-card {
    width: 360px;
  }
}
@media screen and (min-width: 768px) {
  .result-card {
    width: 410px;
    border-radius: 20px;
    border: 1px solid #ddd;
    -webkit-box-shadow: 10px 10px 35px 0px rgba(203, 203, 203, 0.35);
    box-shadow: 10px 10px 35px 0px rgba(203, 203, 203, 0.35);
    padding: 43px 54px;
  }
}
.result-card__title {
  font-family: "Noto Sans JP";
  font-size: 21px;
  font-weight: 700;
  line-height: 1.1351;
  letter-spacing: 0.84px;
  padding: 0 8px;
  background: radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), #FFE18E 7px, transparent 7px), radial-gradient(circle at 7px calc(100% - 7px), #FFE18E 7px, transparent 7px), linear-gradient(to bottom, #fff calc(100% - 14px), transparent calc(100% - 14px)), linear-gradient(to right, transparent 7px, #FFE18E 7px, #FFE18E calc(100% - 7px), transparent calc(100% - 7px));
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media screen and (min-width: 768px) {
  .result-card__title {
    font-size: 30px;
    line-height: 1.1225;
    letter-spacing: 1.2px;
  }
}
.result-card__title span {
  color: #EF5B47;
  font-size: 35px;
  line-height: 23.837px;
  letter-spacing: 1.4px;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .result-card__title span {
    font-size: 50px;
    line-height: 33.675px;
    letter-spacing: 2px;
  }
}
.result-card__img {
  margin-top: 10px;
  border-radius: 20px;
}

@media screen and (min-width: 768px) {
  .result-card__img {
    margin-top: 28px;
  }
}
.result-card__name {
  font-family: "Noto Sans JP";
  font-size: 21px;
  font-weight: 500;
  line-height: 1.60357;
  letter-spacing: 1.05px;
  text-align: center;
  margin-top: 5px;
}

.result-card__name span {
  font-size: 16px;
  line-height: 23.837px;
  letter-spacing: 0.55px;
  margin-top: 10px;
}

/* スライドの動き等速 */
.swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

/** @format */
/*==============================================
about
===============================================*/
.about {
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .about {
    padding-top: 100px;
  }
}

@media screen and (min-width: 768px) {
  .about__inner {
    max-width: 1280px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1100px) {
  .about__inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}

.about-image {
  width: 341px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .about-image {
    width: 43%;
    margin-inline: 0;
  }
}
@media screen and (max-width: 374px) {
  .about-image {
    width: 300px;
  }
}
.about-image img {
  width: 100%;
  height: auto;
}

.about-body {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .about-body {
    width: 51%;
    margin-top: 0;
  }
}

.about-body__lead {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.52;
  letter-spacing: 1.08px;
  margin-top: 66px;
}
@media screen and (min-width: 768px) {
  .about-body__lead {
    font-size: 24px;
    line-height: 1.43;
    letter-spacing: 1.68px;
  }
}
.about-body__lead em {
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.52;
  letter-spacing: 1.32px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(40%, #FFE18E));
  background: linear-gradient(transparent 75%, #FFE18E 40%);
}
@media screen and (min-width: 768px) {
  .about-body__lead em {
    font-size: 30px;
    line-height: 1.43;
    letter-spacing: 1.8px;
  }
}

.about-body__text {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.9375;
  letter-spacing: 4px;
  margin-top: 30px;
}

/** @format */
/*==============================================
feature
===============================================*/
.feature {
  font-family: "Lato", sans-serif;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .feature {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.feature__inner {
  max-width: 1280px;
  margin-inline: auto;
}

.feature-title {
  text-align: center;
}
.feature-title::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.feature--title__main {
  color: #006aba;
}
@media screen and (min-width: 768px) {
  .feature--title__main {
    color: #ef5b47;
  }
}

.feature-list {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .feature-list {
    margin-top: 100px;
  }
}

@media screen and (min-width: 768px) {
  .feature-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .feature-item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.feature-item + .feature-item {
  margin-top: 57px;
}
@media screen and (min-width: 768px) {
  .feature-item + .feature-item {
    margin-top: 100px;
  }
}

.feature__image {
  overflow: hidden;
  border-radius: 9.28px;
  width: 360px;
}
@media screen and (min-width: 768px) {
  .feature__image {
    width: 52%;
    position: relative;
    z-index: 3;
  }
}
@media screen and (max-width: 374px) {
  .feature__image {
    width: 300px;
  }
}
.feature__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .feature__image01 {
    margin-bottom: 80px;
    margin-right: -32px;
  }
}

@media screen and (min-width: 768px) {
  .feature__image02 {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .feature__image03 {
    margin-bottom: 80px;
    margin-right: -32px;
    position: relative;
  }
}

.feature-body {
  width: 345px;
  border-radius: 9.28px;
  margin-left: auto;
  padding: 30px;
  position: relative;
}
@media screen and (max-width: 374px) {
  .feature-body {
    width: 300px;
  }
}
@media screen and (min-width: 768px) {
  .feature-body {
    border-radius: 20px;
    width: 52%;
    margin-left: 0;
    padding: 60px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media screen and (min-width: 1100px) {
  .feature-body {
    padding-bottom: 70px;
  }
}
@media screen and (min-width: 1441px) {
  .feature-body {
    padding-bottom: 80px;
  }
}

.feature-body__title--wrap {
  position: absolute;
  top: 0;
  left: 60px;
}
@media screen and (min-width: 768px) {
  .feature-body__title--wrap {
    left: 100px;
  }
}

@media screen and (min-width: 768px) {
  .feature-body__title--wrapPoint02 {
    left: 60px;
  }
}

.feature-body01 {
  background-color: #FFEBEB;
}
@media screen and (min-width: 768px) {
  .feature-body01 {
    margin-top: 80px;
    padding-right: 106px;
  }
}
@media screen and (min-width: 1441px) {
  .feature-body01 {
    padding-right: 60px;
    padding-left: 100px;
  }
}

.feature-body02 {
  background-color: #FFF8E5;
}
@media screen and (min-width: 768px) {
  .feature-body02 {
    margin-right: -32px;
    margin-bottom: 80px;
    padding-right: 100px;
  }
}

.feature-body03 {
  background-color: #EFF6FF;
}
@media screen and (min-width: 768px) {
  .feature-body03 {
    margin-top: 80px;
    padding-right: 106px;
  }
}
@media screen and (min-width: 1441px) {
  .feature-body03 {
    padding-right: 60px;
    padding-left: 100px;
  }
}

.feature-body__lead {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4444;
  letter-spacing: 0.9px;
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .feature-body__lead {
    font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
  }
}

.feature-body__text {
  line-height: 1.6875;
  letter-spacing: 0.8px;
  margin-top: 20px;
}

/** @format */
/*==============================================
result2
===============================================*/
.result2 {
  padding-top: 80px;
  padding-bottom: 36px;
  background-color: #EFF6FF;
}
@media screen and (min-width: 768px) {
  .result2 {
    padding-top: 120px;
    padding-bottom: 100px;
  }
}

.result2-title {
  text-align: center;
}
.result2-title::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.result2-swiper-container {
  margin-top: 52px;
  max-width: 1280px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .result2-swiper-container {
    margin-top: 100px;
  }
}

.result2-swiper__slide {
  padding-bottom: 36px;
  min-width: 315px;
  width: 100%;
}

.result-card {
  margin-inline: auto;
  width: 315px;
  border-radius: 14.157px;
  border: 0.708px solid #ddd;
  background: #fff;
  -webkit-box-shadow: 7.079px 7.079px 24.775px 0px rgba(203, 203, 203, 0.35);
          box-shadow: 7.079px 7.079px 24.775px 0px rgba(203, 203, 203, 0.35);
  padding: 32px 37px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .result-card {
    width: 444px;
    border-radius: 20px;
    border: 1px solid #ddd;
    -webkit-box-shadow: 10px 10px 35px 0px rgba(203, 203, 203, 0.35);
            box-shadow: 10px 10px 35px 0px rgba(203, 203, 203, 0.35);
    padding: 43px 54px;
  }
}

.result-card__title {
  font-family: "Noto Sans JP";
  font-size: 21px;
  font-weight: 700;
  line-height: 1.1351;
  letter-spacing: 0.84px;
  padding: 0 8px;
  background: radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), #FFE18E 7px, transparent 7px), radial-gradient(circle at 7px calc(100% - 7px), #FFE18E 7px, transparent 7px), linear-gradient(to bottom, #fff calc(100% - 14px), transparent calc(100% - 14px)), linear-gradient(to right, transparent 7px, #FFE18E 7px, #FFE18E calc(100% - 7px), transparent calc(100% - 7px));
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media screen and (min-width: 768px) {
  .result-card__title {
    font-size: 30px;
    line-height: 1.1225;
    letter-spacing: 1.2px;
  }
}
.result-card__title span {
  color: #EF5B47;
  font-size: 35px;
  line-height: 23.837px;
  letter-spacing: 1.4px;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .result-card__title span {
    font-size: 50px;
    line-height: 33.675px;
    letter-spacing: 2px;
  }
}

.result-card__img {
  margin-top: 10px;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .result-card__img {
    margin-top: 28px;
  }
}

.result-card__name {
  font-family: "Noto Sans JP";
  font-size: 21px;
  font-weight: 500;
  line-height: 1.60357;
  letter-spacing: 1.05px;
  text-align: center;
  margin-top: 5px;
}
.result-card__name span {
  font-size: 16px;
  line-height: 23.837px;
  letter-spacing: 0.55px;
  margin-top: 10px;
}

/* スライドの動き等速 */
.swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

/** @format */
/*==============================================
cta
===============================================*/
.cta {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .cta {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.cta-card {
  background-color: #FFF8E5;
  border-radius: 20px;
  -webkit-box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
  padding-inline: 14px;
  padding-top: 54px;
  padding-bottom: 71px;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .cta-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 60px;
    padding-right: 222px;
    padding-top: 70px;
    padding-bottom: 40px;
    margin-inline: auto;
    max-width: 1220px;
    width: 100%;
  }
}
@media screen and (min-width: 1100px) {
  .cta-card {
    padding-right: 340px;
  }
}
@media screen and (max-width: 374px) {
  .cta-card {
    margin-inline: 0;
  }
}
.cta-card::before {
  content: "";
  position: absolute;
  background: url(../img/text_cta.webp) no-repeat center center/cover;
  width: 160.2px;
  height: 150.645px;
  -webkit-transform: rotate(6.554deg);
          transform: rotate(6.554deg);
  top: -65px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .cta-card {
    right: 20px;
  }
}

.cta-card__message-wrap {
  padding-inline: 3px;
}
@media screen and (max-width: 374px) {
  .cta-card__message-wrap {
    padding-inline: 0;
  }
}
@media screen and (min-width: 576px) {
  .cta-card__message-wrap {
    padding-inline: 50px;
  }
}
@media screen and (min-width: 768px) {
  .cta-card__message-wrap {
    padding-inline: 0;
  }
}
@media screen and (min-width: 1100px) {
  .cta-card__message-wrap {
    padding-inline: 50px;
  }
}
@media screen and (min-width: 1441px) {
  .cta-card__message-wrap {
    padding-inline: 65px;
  }
}

.cta-card__message {
  font-size: 18px;
  font-weight: 700;
  line-height: 2.3333;
  letter-spacing: 4px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .cta-card__message {
    font-size: 24px;
    line-height: 1.95833;
    letter-spacing: 5px;
  }
}

.cta-card__note {
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.5px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .cta-card__note {
    font-size: 14px;
    letter-spacing: 0.7px;
  }
}

.btn__cta {
  display: inline-block;
}
.btn__cta + .btn__cta {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .btn__cta + .btn__cta {
    margin-left: 23px;
  }
}

.marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(40%, #FFE18E));
  background: linear-gradient(transparent 75%, #FFE18E 40%);
  font-size: 20px;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: 4px;
}
@media screen and (min-width: 768px) {
  .marker {
    font-size: 32px;
    line-height: 47px;
    letter-spacing: 5px;
  }
}

.marker.quo {
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .marker.quo {
    font-size: 34px;
  }
}

.cta-card__note {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.5px;
  margin-top: 7px;
}
@media screen and (min-width: 768px) {
  .cta-card__note {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.7px;
    margin-top: 25px;
  }
}

.cta-btn__sp {
  margin-top: 41px;
}

.cta-btn__pc {
  margin-top: 24px;
}

@media screen and (min-width: 768px) {
  .cta-image {
    position: absolute;
    bottom: 165px;
    right: 0px;
    width: 220px;
  }
}
@media screen and (min-width: 1100px) {
  .cta-image {
    bottom: 0;
    right: 0;
    width: 404px;
  }
}

/** @format */
/*==============================================
service
===============================================*/
.service {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #EFF6FF;
}
@media screen and (min-width: 1100px) {
  .service {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

@media screen and (min-width: 1100px) {
  .service__inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media screen and (min-width: 1100px) {
  .service-title__wrap {
    text-align: right;
  }
}

@media screen and (min-width: 1100px) {
  .service-title {
    display: inline-block;
    text-align: left;
  }
}

.service-content {
  margin-top: 73px;
  max-width: 1220px;
  width: 100%;
}

@media screen and (min-width: 1100px) {
  .service-card__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 3.125%;
  }
}

.service-card__list--bottom {
  margin-top: 83px;
}
@media screen and (min-width: 1100px) {
  .service-card__list--bottom {
    margin-top: 0;
  }
}

.service-card {
  width: 314px;
  border-radius: 18.105px;
  border: 0.905px solid #ddd;
  background: #fff;
  -webkit-box-shadow: 9.052px 9.052px 31.683px 0px rgba(203, 203, 203, 0.35);
          box-shadow: 9.052px 9.052px 31.683px 0px rgba(203, 203, 203, 0.35);
  padding-top: 45px;
  padding-inline: 24px;
  padding-bottom: 30px;
  position: relative;
  margin-inline: auto;
}
@media screen and (min-width: 1100px) {
  .service-card {
    width: 346.92px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-inline: 26px;
  }
}
@media screen and (max-width: 374px) {
  .service-card {
    width: 280px;
  }
}
.service-card + .service-card {
  margin-top: 86px;
}
@media screen and (min-width: 1100px) {
  .service-card:nth-child(2) {
    margin-top: 75px;
  }
  .service-card:nth-child(3) {
    margin-top: 150px;
  }
}

.service-card__title {
  font-family: "Noto Sans JP";
  font-weight: 700;
  line-height: 1.90525;
  letter-spacing: 0.64px;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .service-card__title {
    font-size: 18px;
    line-height: 1.87083;
    letter-spacing: 0.72px;
  }
}

.service-card__img {
  width: 162.038px;
  height: 162.038px;
  background: url(../img/img_service-card-circle.webp) no-repeat center center/cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  margin-top: 20px;
}
.service-card__img img {
  width: 100px;
  height: auto;
}
@media screen and (min-width: 1100px) {
  .service-card__img {
    margin-top: 23px;
  }
}

.service-card__img04 img {
  width: 53px;
}

.service-card__text {
  font-family: "Noto Sans JP";
  font-size: 14px;
  line-height: 1.92041;
  letter-spacing: 0.7px;
  margin-top: 16px;
}
@media screen and (min-width: 1100px) {
  .service-card__text {
    font-size: 15px;
    line-height: 1.98;
    letter-spacing: 0.75px;
  }
}

.service-card__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 16px;
}

.service-card__link {
  position: relative;
  display: inline-block;
  padding-right: 50px;
  font-family: "Noto Sans JP";
  color: #006ABA;
  font-weight: bold;
  text-decoration: none;
  outline: none;
  font-size: 14px;
  letter-spacing: 0.75px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1100px) {
  .service-card__link {
    font-size: 16px;
  }
}

.service-card__link::before {
  content: "";
  position: absolute;
  bottom: 2px;
  right: 0;
  width: 40px;
  height: 1px;
  background: #006ABA;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.service-card__link::after {
  content: "";
  position: absolute;
  bottom: 7px;
  right: 0;
  width: 15px;
  height: 1px;
  background: #006ABA;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.service-card__link:hover {
  color: #333;
}

.service-card__link:hover::before {
  right: -5px;
  background: #333;
}

.service-card__link:hover::after {
  right: -5px;
  background: #333;
}

.service-card__badge {
  width: 42.5px;
  position: absolute;
  top: -4.5px;
  right: -4.5px;
}
@media screen and (min-width: 1100px) {
  .service-card__badge {
    width: 47px;
    top: -5px;
    right: 0;
  }
}

/** @format */
/*==============================================
teacher
===============================================*/
.teacher {
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .teacher {
    padding-top: 100px;
  }
}

.teacher-swiper__container {
  margin-top: 34px;
  padding-left: 50px;
  padding-right: 50px;
  padding-bottom: 60px;
  max-width: 1280px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 374px) {
  .teacher-swiper__container {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 576px) {
  .teacher-swiper__container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (min-width: 768px) {
  .teacher-swiper__container {
    margin-top: 20px;
    padding-left: 80px;
    padding-right: 80px;
  }
}

.teacher-swiper__slide {
  padding-left: 15px;
  padding-right: 15px;
  height: auto;
  margin-inline: auto;
  min-width: 280px;
  width: 100%;
}
@media screen and (max-width: 374px) {
  .teacher-swiper__slide {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 768px) {
  .teacher-swiper__slide {
    padding-left: 30px;
    padding-right: 30px;
  }
}

.teacher-card {
  max-width: 315px;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  margin-inline: auto;
  height: auto;
}
@media screen and (min-width: 768px) {
  .teacher-card {
    max-width: 328px;
  }
}

.teacher-card__img {
  width: 100%;
  height: 295px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .teacher-card__img {
    height: 229px;
  }
}
@media screen and (max-width: 374px) {
  .teacher-card__img {
    height: 200px;
  }
}
.teacher-card__img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  bottom: 0;
  left: 0;
  border-radius: 20px;
  -webkit-box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
  height: 45%;
}
@media screen and (min-width: 768px) {
  .teacher-card__img::before {
    height: 60%;
  }
}
@media screen and (max-width: 374px) {
  .teacher-card__img::before {
    height: 55%;
  }
}
.teacher-card__img img {
  position: absolute;
  bottom: 0;
}

.teacher-card__img--yellow::before {
  background-color: #FFF8E5;
}

.teacher-card__img--blue::before {
  background-color: #EFF6FF;
}

.teacher-card__img--pink::before {
  background-color: #FFEBEB;
}

.teacher-card__name {
  margin-top: 48px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.60357;
  letter-spacing: 1.05px;
}
@media screen and (min-width: 768px) {
  .teacher-card__name {
    margin-top: 39px;
  }
}
.teacher-card__name span {
  font-size: 16px;
  font-weight: 500;
  line-height: 33.675px;
  letter-spacing: 0.8px;
}

.teacher-card__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  margin-top: 21px;
}
@media screen and (min-width: 768px) {
  .teacher-card__text {
    margin-top: 19px;
  }
}

/** @format */
/*==============================================
plan
===============================================*/
.plan {
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../img/bg_plan.webp) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .plan {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.plan-title {
  text-align: center;
}
.plan-title::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.plan-description {
  margin-top: 47px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .plan-description {
    margin-top: 51px;
  }
}

.plan-description__title {
  font-family: "Noto Sans JP";
  font-weight: 700;
  line-height: 2;
  font-size: 18px;
}

.plan-description__list {
  margin-top: 14px;
  text-align: left;
  display: inline-block;
}

.plan-description__item {
  font-family: "Noto Sans JP";
  font-size: 16px;
  line-height: 2;
}

.plan__container {
  margin-top: 35px;
}

@media screen and (min-width: 768px) {
  .plan-top__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.plan-pair {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .plan-pair {
    margin-top: 0;
  }
}

.plan-middle {
  margin-top: 34px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .plan-middle {
    margin-top: 25px;
  }
}

.plan-bottom {
  margin-top: 34px;
}
@media screen and (min-width: 768px) {
  .plan-bottom {
    width: 50%;
    margin-inline: auto;
    margin-top: 25px;
  }
}

/** @format */
/*==============================================
area
===============================================*/
.area {
  padding-top: 80px;
  background-color: #EFF6FF;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .area {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.area-title {
  text-align: center;
}
.area-title::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.area-list {
  margin-top: 51px;
}
@media screen and (min-width: 768px) {
  .area-list {
    margin-top: 90px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 50px 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .area-list::after {
    content: "";
    position: absolute;
    display: block;
    width: calc((100% - 50px) / 2);
  }
}
@media screen and (min-width: 1100px) {
  .area-list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.area-item {
  max-width: 343px;
  width: 100%;
  -webkit-filter: drop-shadow(13px 13px 25px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(13px 13px 25px rgba(0, 0, 0, 0.1));
  margin-inline: auto;
}
@media screen and (min-width: 576px) {
  .area-item {
    max-width: 363px;
  }
}
@media screen and (min-width: 768px) {
  .area-item {
    width: calc((100% - 50px) / 2);
    margin-inline: 0;
  }
}
@media screen and (min-width: 1100px) {
  .area-item {
    max-width: 389px;
    width: calc((100% - 50px) / 3);
    margin-inline: 0;
  }
}
.area-item + .area-item {
  margin-top: 33px;
}
@media screen and (min-width: 768px) {
  .area-item + .area-item {
    margin-top: 0;
  }
}

.area-item__title {
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 700;
  line-height: 2.66;
  letter-spacing: 0.9px;
  color: #fff;
  background-color: #006ABA;
  border-radius: 20px 20px 0px 0px;
  padding-block: 3px;
  padding-inline: 15px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .area-item__title {
    padding-block: 6px;
    padding-inline: 35px;
  }
}

.area-item__text {
  font-family: "Noto Sans JP";
  font-size: 13px;
  font-weight: 500;
  line-height: 2.46154;
  letter-spacing: 0.65px;
  background-color: #fff;
  border: 1px solid #ddd;
  padding-top: 20px;
  padding-bottom: 10px;
  padding-inline: 12px;
}
@media screen and (max-width: 374px) {
  .area-item__text {
    height: 100px;
  }
}
@media screen and (min-width: 768px) {
  .area-item__text {
    padding-inline: 14px;
    height: 122px;
    font-size: 16px;
  }
}
@media screen and (min-width: 1441px) {
  .area-item__text {
    padding-inline: 20px;
  }
}

/*==============================================
cta2
===============================================*/
.cta2 {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .cta2 {
    padding-top: 120px;
    padding-bottom: 120px;
    background: url(../img/bg_cta2.webp) no-repeat center center/cover;
  }
}

/** @format */
/*==============================================
environment
===============================================*/
.environment {
  padding-top: 80px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #fff), color-stop(50%, #FFEBEB), to(#FFEBEB));
  background: linear-gradient(180deg, #fff 0%, #fff 50%, #FFEBEB 50%, #FFEBEB 100%);
}
@media screen and (min-width: 768px) {
  .environment {
    padding-top: 140px;
  }
}

.environment-title {
  text-align: center;
}
.environment-title::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.environment-swiper__container {
  margin-top: 97px;
  position: relative;
  padding-bottom: 50px;
  padding-left: 50px;
  padding-right: 50px;
  max-width: 1280px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .environment-swiper__container {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media screen and (max-width: 374px) {
  .environment-swiper__container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

.environment-swiper__slide {
  padding-top: 20px;
  padding-bottom: 40px;
  height: auto;
  padding-left: 15px;
  padding-right: 15px;
  min-width: 250px;
  width: 100%;
}

.environment-card {
  position: relative;
  background-color: #fff;
  max-width: 315px;
  width: 100%;
  border-radius: 10.825px;
  -webkit-box-shadow: 7.036px 7.036px 13.531px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 7.036px 7.036px 13.531px 0px rgba(0, 0, 0, 0.1);
  padding: 27.6px 22px 18px;
  margin-inline: auto;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .environment-card {
    max-width: 582px;
    width: 100%;
    border-radius: 20px;
    border: 1px solid #ddd;
    background: #fff;
    -webkit-box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
    padding: 51px 42px 40px;
  }
}

.environment-card__title {
  color: #fff;
  text-align: center;
  font-size: 13.168px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.658px;
  border-radius: 59.258px;
  padding-block: 2.6px;
  padding-inline: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .environment-card__title {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 1px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-block: 4px;
    padding-inline: 7px;
    border-radius: 90px;
    top: -18px;
  }
}

.environment-card__title--blue {
  background-color: #006ABA;
}

.environment-card__title--red {
  background-color: #EF5B47;
}

.environment-card__title--yellow {
  background-color: #FFE18E;
}

.environment-card__img {
  overflow: hidden;
  border-radius: 10.825px;
}
@media screen and (min-width: 768px) {
  .environment-card__img {
    border-radius: 20px;
  }
}
.environment-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 498/251;
}

.environment-card__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.62;
  margin-top: 10.55px;
}
@media screen and (min-width: 768px) {
  .environment-card__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 8px;
  }
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -60px;
}

/** @format */
/*==============================================
lineCta
===============================================*/
.lineCta {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .lineCta {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.lineCta-card {
  max-width: 1060px;
  width: 100%;
  margin-inline: auto;
  background-color: #EFF6FF;
  border-radius: 20px;
  -webkit-box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
  padding-inline: 14px;
  padding-top: 48px;
  padding-bottom: 45px;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .lineCta-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 50px;
    padding-right: 361px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.lineCta-card::before {
  content: "";
  position: absolute;
  background: url(../img/text_ctaLine.webp) no-repeat center center/cover;
  width: 160.2px;
  height: 150.645px;
  -webkit-transform: rotate(6.554deg);
          transform: rotate(6.554deg);
  top: -77px;
  right: 0px;
}

.lineCta-card__content {
  position: relative;
  z-index: 2;
}

.lineCta-card__message-wrap {
  padding-inline: 7px;
}
@media screen and (max-width: 374px) {
  .lineCta-card__message-wrap {
    padding-inline: 0;
  }
}
@media screen and (min-width: 576px) {
  .lineCta-card__message-wrap {
    padding-inline: 50px;
  }
}
@media screen and (min-width: 768px) {
  .lineCta-card__message-wrap {
    padding-inline: 0;
  }
}
@media screen and (min-width: 1100px) {
  .lineCta-card__message-wrap {
    padding-inline: 50px;
  }
}
@media screen and (min-width: 1441px) {
  .lineCta-card__message-wrap {
    padding-inline: 65px;
  }
}

.lineCta-card__message {
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  line-height: 2.3333;
  letter-spacing: 4px;
}
@media screen and (min-width: 768px) {
  .lineCta-card__message {
    font-size: 34px;
    line-height: 1.76471;
    letter-spacing: 5px;
  }
}

.lineCta-card__note {
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.5px;
  margin-top: 17px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .lineCta-card__note {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.7px;
    margin-top: 20px;
  }
}

.lineCta-btn__sp {
  margin-top: 35px;
}

.btn__lineCta {
  display: inline-block;
}

.lineCta-btn__pc {
  margin-top: 21px;
}

@media screen and (min-width: 768px) {
  .lineCta-image {
    position: absolute;
    bottom: 0;
    right: 10px;
    width: 39.15%;
  }
}
@media screen and (min-width: 1100px) {
  .lineCta-image {
    bottom: 0;
    right: 10px;
    width: 49.15%;
  }
}

/** @format */
/*==============================================
qa
===============================================*/
.qa {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .qa {
    padding-top: 120px;
    padding-bottom: 120px;
    background: url(../img/bg_qa.webp) no-repeat center center/cover;
  }
}

.qa__inner {
  max-width: 1220px;
}

.menu-wrap {
  max-width: 900px;
  margin-inline: auto;
  margin-top: 63px;
}
@media screen and (min-width: 768px) {
  .menu-wrap {
    margin-top: 50px;
  }
}

.menu {
  border-radius: 13.311px;
  border: 1px solid #ddd;
  background: #fff;
  -webkit-box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 13px 13px 25px 0px rgba(0, 0, 0, 0.1);
  position: relative;
}
.menu:hover {
  cursor: pointer;
}
.menu + .menu {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .menu + .menu {
    margin-top: 34px;
  }
}
.menu .question__wrapper {
  position: relative;
}
.menu .question__wrapper::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 32px;
  background: url(../img/icon_qa-q.webp) no-repeat center center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 30px;
}
@media screen and (max-width: 374px) {
  .menu .question__wrapper::before {
    left: 24px;
  }
}

.question {
  padding: 24px 60px 24px 75px;
  font-weight: 600;
  line-height: 1.69096;
  position: relative;
}
@media screen and (min-width: 768px) {
  .question {
    font-size: 24px;
    line-height: 1.49747;
    letter-spacing: 0.96px;
    padding: 24px 60px 24px 85px;
  }
}
@media screen and (max-width: 374px) {
  .question {
    padding: 24px 60px 24px 65px;
  }
}
.question::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 34px;
  width: 2px;
  height: 21px;
  background: #FFE18E;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .question::before {
    right: 80px;
  }
}
@media screen and (min-width: 1100px) {
  .question::before {
    right: 54px;
  }
}
.question::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 24px;
  width: 21px;
  height: 2px;
  background: #FFE18E;
}
@media screen and (min-width: 768px) {
  .question::after {
    right: 70px;
  }
}
@media screen and (min-width: 1100px) {
  .question::after {
    right: 45px;
  }
}

.answer {
  padding: 24px 24px 24px 75px;
  font-weight: 500;
  line-height: 1.69096;
  display: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  .answer {
    font-size: 24px;
    line-height: 1.99583;
    padding: 24px 65px 24px 85px;
  }
}
@media screen and (max-width: 374px) {
  .answer {
    padding: 24px 24px 24px 65px;
  }
}
.answer::before {
  content: "";
  position: absolute;
  width: 92%;
  height: 5px;
  background-color: rgba(176, 190, 195, 0.5);
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.answer::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 32px;
  background: url(../img/icon_qa-a.webp) no-repeat center center/contain;
  top: 32px;
  left: 30px;
}
@media screen and (max-width: 374px) {
  .answer::after {
    left: 24px;
  }
}

.menu.js-open .question::before {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

/** @format */
/*==============================================
ctaBtn
===============================================*/
.ctaBtn {
  background-color: #FFF8E5;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .ctaBtn {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.ctaBtn__inner {
  padding-inline: 40px;
}

.ctaBtn--sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (min-width: 1100px) {
  .ctaBtn--sp {
    display: none;
  }
}

.ctaBtn--pc {
  display: none;
}
@media screen and (min-width: 1100px) {
  .ctaBtn--pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/** @format */
/*==============================================
form
===============================================*/
.form {
  background-color: #EFF6FF;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .form {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.form__content {
  max-width: 1000px;
  width: 100%;
  margin-top: 50px;
  margin-inline: auto;
}

/** @format */
/*==============================================
footer
===============================================*/
.footer {
  padding-top: 80px;
  padding-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-top: 110px;
  }
}

@media screen and (min-width: 768px) {
  .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 80px;
    padding-right: 80px;
  }
}

.footer-logo {
  width: 194px;
}

.footer-logo__link {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  display: block;
}
.footer-logo__link:hover {
  opacity: 0.7;
}

.footer-info {
  margin-top: 61px;
  font-size: 13px;
  font-weight: 500;
  line-height: 2.21538;
}
@media screen and (min-width: 768px) {
  .footer-info {
    padding-left: 30px;
    padding-right: 40px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    margin-top: 0;
  }
}

.footer-address {
  font-style: normal;
}

.footer-info__text {
  margin-top: 20px;
}

.footer-copyright {
  font-size: 12px;
  font-weight: 350;
  line-height: 1.58;
  letter-spacing: 1.2px;
  margin-top: 114px;
  padding-left: 15px;
}
@media screen and (min-width: 768px) {
  .footer-copyright {
    text-align: right;
    margin-top: 109px;
    padding-right: 110px;
  }
}

.to-top {
  width: 80px;
  position: fixed;
  z-index: 100;
  bottom: 35px;
  right: 12px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
@media screen and (min-width: 768px) {
  .to-top {
    width: 120px;
  }
}
.to-top.is-show {
  opacity: 1;
  visibility: visible;
}

/** @format */
/*==============================================
voice
===============================================*/
.voice {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #FFEBEB;
}
@media screen and (min-width: 768px) {
  .voice {
    padding-top: 120px;
    padding-bottom: 100px;
  }
}

.voice-title {
  text-align: center;
}
.voice-title::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.voice-swiper-container {
  margin-top: 52px;
}
@media screen and (min-width: 768px) {
  .voice-swiper-container {
    margin-top: 100px;
  }
}

.voice-swiper__slide {
  width: 300px;
}
@media screen and (min-width: 1441px) {
  .voice-swiper__slide {
    width: 400px;
  }
}

/*==============================================
#voice-yellow
===============================================*/
.voice-yellow {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #FFF8E5;
}
@media screen and (min-width: 768px) {
  .voice-yellow {
    padding-top: 120px;
    padding-bottom: 100px;
  }
}

/*==============================================
#voice-white
===============================================*/
.voice-white {
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../img/bg_plan.webp) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .voice-white {
    padding-top: 120px;
    padding-bottom: 100px;
  }
}