:root {
  --width-s: min(800px, 100%);
  --width-m: min(1080px, 100%);
  --color-gry-01: #f8f8f8;
  --color-gry-02: #dbdbdb;
  --color-gry-03: #888;
  --color-bl-01: #1456a1;
  --color-bl-02: #13b0ec;
  --color-lbl: #ddf8ff;
  --color-or: #ff6f1a;
  --color-ye: #fee923;
  --color-lye: #fffa9f;
  --color-bgr: #008489;
  --color-lgr: #d2e7d6;
  --color-re: #ff3034;
  --color-pk: #fa4e72;
  --font-lheigh-xs: 1.24;
  --font-lheigh-s: 1.45;
  --font-lheigh-m: 1.68;
  --box-shadow-02: 0 0 0.5rem rgb(0 0 0 / 0.2);
  --box-shadow-03: 0 0 0.5rem rgb(0 0 0 / 0.3);
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
p, figure, ul, ol, li {
  margin: 0;
  padding: 0;
}
picture {
  display: block;
}
li {
  list-style: none;
}

@media only screen and (min-width: 769px) {
  :root {
    --font-size-xs: 12px;
    --font-size-s: 14px;
    --font-size-m: 16px;
    --font-size-l: 20px;
    --font-size-2l: 24px;
    --font-size-3l: 32px;
    --blank-size-xs: 0.8rem;
    --blank-size-s: 1.25rem;
    --blank-size-m: 2rem;
    --blank-size-l: 2.8rem;
    --blank-size-xl: 3.6rem;
  }
  .is-hidden--pc {
    display: none !important;
  }
}

@media only screen and (max-width: 768px) {
  :root {
    --font-size-xs: 10px;
    --font-size-s: 12px;
    --font-size-m: 14px;
    --font-size-l: 18px;
    --font-size-2l: 20px;
    --font-size-3l: 24px;
    --blank-size-xs: 0.6rem;
    --blank-size-s: 1rem;
    --blank-size-m: 1.6rem;
    --blank-size-l: 2.4rem;
    --blank-size-xl: 3.2rem;
  }
  .is-hidden--sp {
    display: none !important;
  }
}

/* u
====================================================*/
.u-dp--b { display: block; }
.u-ta--c { text-align: center; }
.u-fs--s { font-size: var(--font-size-s); }
.u-fc--or { color: var(--color-or); }
.u-fc--gry { color: var(--color-gry-03); }
.u-fw--b { font-weight: 700; }

.u-mtb--m { margin-top: var(--blank-size-m); margin-bottom: var(--blank-size-m); }
.u-mt--xs { margin-top: var(--blank-size-xs); }
.u-mt--s { margin-top: var(--blank-size-s); }
.u-mt--m { margin-top: var(--blank-size-m); }
.u-mb--xs { margin-bottom: var(--blank-size-xs); }
.u-mb--s { margin-bottom: var(--blank-size-s); }
.u-mb--m { margin-bottom: var(--blank-size-m); }

.u-arrow::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
}

@media only screen and (min-width: 769px) {
  .u-row--center {
    display: flex;
    justify-content: center;
  }
  .u-row--between {
    display: flex;
    justify-content: space-between;
  }
  .u-arrow::before {
    position: relative;
    top: -0.1em;
    display: inline-block;
    margin-right: 0.75em;
    transform: rotate(45deg);
  }
}
@media only screen and (max-width: 768px) {
  .u-arrow {
    position: relative;
  }
  .u-arrow::before {
    display: block;
    position: absolute;
    top: 50%;
    left: var(--blank-size-s);
    transform: rotate(45deg) translateY(-50%);
  }
}


/* 汎用
====================================================*/
.l-main {
  line-height: var(--font-lheigh-m);
  font-size: var(--font-size-m);
  font-weight: 500;
  text-align: justify;
}

/* section --------------------------- */
.l-section {
  width: var(--width-m);
  margin: 0 auto;
  padding: var(--blank-size-xl) 0 0;
}
.l-section--white {
  padding-bottom: var(--blank-size-xl);
  background: #fff;
}
.l-section--white + .l-section--white {
  margin-top: 2.8rem;
}
.m-section__inner {
  width: var(--width-s);
  margin: 0 auto;
}
.m-section__sub {
  margin-top: 2.4rem;
}
.m-section__sub::before {
  content: "";
  display: block;
  margin: 0 auto 2.4rem;
  width: 3rem;
  height: 1px;
  background: var(--color-gry-02);
}

/* list --------------------------- */
.m-list--dot {
  margin-left: 1.5em;
}
.m-list--dot li {
  list-style: disc;
  
}
.m-list--shadow .m-list__item {
  overflow: hidden;
  background: #fff;
  border-radius: 1rem;
  box-shadow: var(--box-shadow-02);
}
.m-list--shadow .m-list__item .m-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* table --------------------------- */
.m-table__wrapper {
  width: var(--width-s);
  margin: var(--blank-size-m) auto 0;
}
.m-table__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.m-table__inner table {
  overflow: hidden;
  border-radius: 0.5rem;
  background: var(--color-gry-01);
  box-shadow: var(--box-shadow-02);
}
.m-table__inner th,
.m-table__inner td {
  height: 4rem;
  line-height: var(--font-lheigh-s);
}
.m-table__inner tbody,
.m-table__inner tr + tr {
border-top: 1px solid var(--color-gry-02);
}
.m-table__inner th {
  color: #000;
  font-weight: 700;
}
.m-table__inner .m-field {
  width: 30%;
}
.m-table__inner .m-field th {
  padding: 0 1.5rem;
}
.m-table__inner .m-qq,
.m-table__inner .m-other {
  text-align: center;
}
.m-table__inner .m-qq {
  width: calc(25% - 20px);
  color: var(--color-or);
  font-size: var(--font-size-l);
  font-weight: 700;
  background: var(--color-lye);
}
.m-table__inner .m-qq tbody,
.m-table__inner .m-qq tr + tr {
  border-top-color: #c6c6c6;
}
.m-table__inner .m-other {
  width: 45%;
  table-layout: fixed;
}
.m-table__inner .m-other th + th,
.m-table__inner .m-other td + td {
  border-left: 1px solid var(--color-gry-02);
}

/* iframe --------------------------- */
.m-iframe__wrapper {
  position: relative;
  width: var(--width-s);
  margin: 1.5rem auto;
  padding-bottom: 56.2%;
}
.m-iframe__wrapper iframe {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* heading / text --------------------------- */
*[class^="m-heading--"] {
  line-height: var(--font-lheigh-s);
  color: #000;
  font-weight: 700;
}
.m-heading--xl,
.m-heading--l {
  margin: 0 0 1em;
  text-align: center;
}
.m-heading--xl {
  font-size: var(--font-size-3l);
}
.m-heading--l {
  font-size: var(--font-size-2l);
}
.m-heading--m {
  margin: 0 0 0.5em;
  font-size: var(--font-size-l);
}
.m-heading--s {
  margin: 0 0 0.25em;
  font-size: 1em;
}
.m-text--desc {
  margin: -0.5rem 0 var(--blank-size-l);
}
p + .m-heading--s {
  margin-top: 1em;
}

/* btn --------------------------- */
.m-btn--cta {
  width: fit-content;
  margin: 4rem auto;
  font-weight: 700;
  text-align: center;
}
.m-btn--cta__text {
  position: relative;
  width: fit-content;
  margin: 0 auto 30px;
  line-height: var(--font-lheigh-s);
  font-size: var(--font-size-l);
}
.m-btn--cta__text > span {
  display: block;
  padding: 0 0.2em 0.75em;
}
.m-btn--cta__text::before,
.m-btn--cta__text > span::before,
.m-btn--cta__text > span::after {
  content: "";
  position: absolute;
  display: block;
  background: var(--color-or);
}
.m-btn--cta__text::before {
  left: calc(50% + 2px);
  bottom: -16px;
  width: 2px;
  height: 20px;
  transform: rotate(45deg);
}
.m-btn--cta__text > span::before,
.m-btn--cta__text > span::after {
    width: calc(50% - 10px);
    height: 2px;
    bottom: 0;
}
.m-btn--cta__text > span::before {
  left: 0;
}
.m-btn--cta__text > span::after {
  right: 0;
}
.m-btn--cta__link {
  display: block;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 20px 40px 30px;
  color: #fff !important;
  font-size: 2.1875rem;
  background-color: var(--color-or);
  border-radius: 12px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.m-btn--cta__link span {
  display: block;
  width: fit-content;
  margin: 0 auto 0.5em;
  padding-top: 1em;
  letter-spacing: 0;
  font-size: 22px;
  background: radial-gradient(var(--color-ye) 20%, transparent 20%) repeat-x top left;
  background-size: 1em 1em;
}
.m-btn--view {
  margin: 0;
  padding: calc(var(--font-size-l) * 1.5) 0;
  font-weight: 700;
  text-align: center;
  background: var(--color-bl-01);
}
.m-btn--view__text {
  position: relative;
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 1.2em;
  padding: 0 0.2em 0.8em;
  color: #fff;
  font-size: var(--font-size-s);
  border-bottom: 2px solid #fff;
  text-shadow: 0 0 1px rgb(0, 0, 0);
}
.m-btn--view__text::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 16px;
  height: 10px;
  background: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  transform: translateX(-50%);
}
.m-btn--view__link {
  display: flex;
  justify-content: center;
  align-items: center;
  /* letter-spacing: 0.1em; */
  width: min(380px, 90%);
  /* max-width: 340px; */
  height: 60px;
  margin: 0 auto;
  color: #000 !important;
  font-size: var(--font-size-l);
  font-weight: 700;
  border-radius: 30px;
  box-shadow: 0 4px 0 rgb(0 0 0 / 0.5);
  background: var(--color-ye);
}
.m-btn--more,
.m-btn--s {
  display: block;
  padding: 0.8em 0;
  line-height: var(--font-lheigh-s);
  color: #fff !important;
  font-weight: 600;
  text-align: center;
  border-radius: 0.5em;
  box-shadow: var(--box-shadow-03);
}
.m-btn--more.u-arrow::before,
.m-btn--s.u-arrow::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.m-btn--more {
  margin: var(--blank-size-m) auto 0;
  font-size: var(--font-size-2l);
  background: var(--color-bl-02);
}
.m-btn--s {
  background: var(--color-bl-01);
  font-size: var(--font-size-l);
}
.m-btn--s span {
  display: block;
  font-size: var(--font-size-s);
  font-weight: 500;
  text-align: center;
}

/* box --------------------------- */
.m-box__border {
  margin-top: var(--blank-size-m);
  border: 4px solid var(--color-lbl);
}

/* レスポンシブ --------------------------- */
@media only screen and (min-width: 769px) {
  .l-main {
    padding-bottom: 4rem;
  }
  .m-text--desc {
    text-align: center;
  }
  .m-box__border {
    padding: var(--blank-size-m);
  }
}

@media only screen and (max-width: 768px) {
  .l-main {
    padding-bottom: 3rem;
  }
  .m-section__inner {
    padding: 0 var(--blank-size-s);
  }

  .m-list--shadow .m-list__item + .m-list__item {
    margin-top: var(--blank-size-xs);
  }

  .m-btn--cta {
    width: min(340px, 100%);
  }
  .m-btn--cta__text {
    font-size: calc(var(--font-size-m) * 1.2);
  }
  .m-btn--cta__text > span {
    padding: 0 0 0.75em;
  }
  .m-btn--cta__link {
    padding: 20px 0 25px;
    line-height: var(--font-lheigh-xs);
    font-size: 1.8rem;
  }
  .m-btn--cta__link span {
    padding-top: 0.75em;
    font-size: var(--font-size-l);
  }

  .m-box__border {
    padding: var(--blank-size-s);
  }

  
}


/* 各コンテンツ
====================================================*/
/* MV --------------------------- */
.top_mv img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 0 16px rgb(0 0 0 / 0.3);
}
@media only screen and (min-width: 769px) {
  .top_mv {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    /* background: #eb7566; */
    background: #e5fed5;
    /* background-image: linear-gradient(150deg, #fff2d0 30%, #ffe6b6 30%, #ffe6b6 50%, #fff2d0 50%, #fff2d0 80%, #ffe6b6 80%, #ffe6b6 100%); */
    /* background-image: linear-gradient(150deg, #ccf4ff 30%, #e3f9ff 30%, #e3f9ff 50%, #ccf4ff 50%, #ccf4ff 80%, #e3f9ff 80%, #e3f9ff 100%);
    background-size: 10px 5.77px; */
  }
}

/* top_slider --------------------------- */
.top_slider#slider .swiper {
  width: 100%;
  padding-bottom: 0;
}
.top_slider#slider .swiper-wrapper {
  align-items: center;
}
.top_slider#slider .swiper-horizontal>.swiper-pagination-bullets,
.top_slider#slider .swiper-pagination-bullets.swiper-pagination-horizontal,
.top_slider#slider .swiper-pagination-custom, .swiper-pagination-fraction {
  position: static;
  bottom: auto;
  margin-top: 10px;
}

/* reasons --------------------------- */
.m-list--reasons .m-list__item {
  position: relative;
}
.m-list--reasons .m-list__item .m-link {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  color: var(--color-bl-01);
  text-align: center;
  background: var(--color-gry-01);
}
.m-list--reasons .m-list__item .m-link.u-arrow::before {
  border-top: 1px solid var(--color-bl-01);
  border-right: 1px solid var(--color-bl-01);
}

/* mindset --------------------------- */
.m-box--tesol figure {
  width: 150px;
}

/* fee --------------------------- */
.l-section.--fee .m-text--desc {
  margin-bottom: var(--blank-size-m);
  color: var(--color-re);
  font-size: 1.8em;
  font-weight: 900;
}
.l-section.--fee .m-list {
  flex-wrap: wrap;
}
.l-section.--fee .m-list .m-list__item {
  overflow: hidden;
  background: var(--color-bgr);
  border:  2px solid var(--color-bgr);
  border-radius: 1rem;
}
.l-section.--fee .m-list .m-heading--l {
  margin-bottom: 0;
  color: #fff;
  font-size: var(--font-size-l);
}
.l-section.--fee .headding__num {
  position: relative;
  display: inline-block;
  color: var(--color-ye);
}
.l-section.--fee .m-text {
  height: 100%;
  padding: var(--blank-size-s);
  background: #fff;
}
.m-list--fee .m-heading--l,
.m-list--fee .m-list__item {
  line-height: 1;
}
.m-list--fee .m-heading--l {
  padding: var(--blank-size-xs) 0 calc(var(--blank-size-xs) + 2px);
  max-height: 60px;
}
.m-list--fee .headding__num {
  font-size: var(--font-size-3l);
}
.m-list--fee .headding__sub {
  display: inline-block;
  margin-right: -0.5em;
  font-size: var(--font-size-m);
  font-weight: 400;
}
.m-list--fee .fee__text--01 {
  font-size: var(--font-size-l);
}
.m-list--fee .fee__text--02 {
  margin-top: 0.25em;
  color: var(--color-gry-03);
  font-size: var(--font-size-3l);
  font-weight: 700; 
}
.m-list--fee .fee__text--02 .text__fee {
  text-decoration: line-through;
}
.m-list--fee .fee__text--02 .text__tax {
  font-size: 0.5em;
}
.m-list--fee .fee__text--03 {
  position: relative;
  width: fit-content;
  margin: var(--blank-size-s) auto 0;
  padding-bottom: 0.5rem;
  color: var(--color-re);
  font-size: 2.4em;
  font-weight: 900;
}
.m-list--fee .fee__text--03::before,
.m-list--fee .fee__text--03::after {
  content: "";
  display: block;
}
.m-list--fee .fee__text--03::before {
  width: 2rem;
  height: 1rem;
  margin: 0 auto;
  background: var(--color-re);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.m-list--fee .fee__text--03::after {
  position: absolute;
  width: calc(100% + 1rem);
  height: 1.5rem;
  left: -0.5rem;
  bottom: 0;
  background: var(--color-lye);
  z-index: 0;
}
.m-list--fee .fee__text--03 .text__line {
  position: relative;
  z-index: 2;
}
.m-list--fee .fee__text--03 .text__fee {
  position: relative;
  top: 0.05em;
  display: inline-block;
  margin: 0 0.05em;
  font-size: 2em;
}
.m-list--fee .fee__text--03 .text__tax {
  position: absolute;
  right: -0.8em;
  bottom: 3em;
  width: 4em;
  font-size: 0.4em;
  font-weight: 700;
}
.l-section.--fee .m-list .m-list__item.--popular {
  border-color: var(--color-pk);
  background: var(--color-pk);
}
.l-section.--fee .m-list .m-list__item.--popular .headding__num,
.l-section.--fee .m-list .m-list__item.--c40 .headding__num {
  color: var(--color-lye);
}
.l-section.--fee .m-list .m-list__item .headding__no1 {
  position: relative;
  top: -0.5em;
  display: inline-block;
  padding: 0.7em 0.5em 0.8em;
  color: #000;
  font-size: var(--font-size-xs);
  background: var(--color-lye);
  border-radius: 0.5em;
  vertical-align: middle;
}
.l-section.--fee .m-list .m-list__item.--popular .headding__no1 {
  margin: 0 0.25em 0 1em;
}
.l-section.--fee .m-list .m-list__item.--c40 .headding__no1 {
  margin-right: 0.25em;
}
.l-section.--fee .m-list .m-list__item.--c40 {
  background: #6243e0;
  border-color: #6243e0;
  & .sub {
    margin-top: var(--blank-size-xs);
    font-size: var(--font-size-s);
  }
}
.fee_ticket__wrapper {
  position: relative;
  width: min(420px, calc(100% - var(--blank-size-m)));
  margin: var(--blank-size-xs) auto 0;
}
.fee_ticket__wrapper::before {
  content: "＋";
  display: block;
  line-height: 1;
  margin-bottom: var(--blank-size-s);
  color: var(--color-or);
  font-size: 4em;
  font-weight: 700;
  text-align: center;
}
.fee_ticket__benefits {
  position: relative;
  line-height: var(--font-lheigh-xs);
  padding: var(--blank-size-s) var(--blank-size-m);
  color: #fff;
  font-size: var(--font-size-2l);
  font-weight: 900;
  text-align: center;
  background: var(--color-bgr);
  border-radius: 1rem;
  box-shadow: var(--box-shadow-03);
}
.fee_ticket__benefits::before {
  content: "";
  position: absolute;
  top: -20%;
  left: -6%;
  display: block;
  width: 7rem;
  height: 7rem;
  background: url(/assets2/images/top/avatar_bubble.png) no-repeat 50% 50%;
  background-size: contain;
}
.fee_ticket__benefits--more {
  display: block;
  font-size: var(--font-size-m);
  font-weight: 500;
}
.fee_ticket__benefits--more::before {
  content: "＼";
}
.fee_ticket__benefits--more::after {
  content: "／";
}
.fee_ticket__benefits--num {
  color: var(--color-ye);
  font-size: 2em;
}
.m-list--plan .m-heading--l {
  padding: var(--blank-size-s) var(--blank-size-s) var(--blank-size-xs);
}
.m-list--plan .headding__sub {
  display: block;
  margin-bottom: -0.5em;
  padding: 0.25em 0.5em;
  color: #000;
  font-size: var(--font-size-s);
  background: #fff;
}
.m-list--plan .headding__num {
  top: 0.05em;
  margin: 0 0.1em;
  font-size: 2em;
}
.m-list--plan .m-heading--s {
  color: var(--color-bgr);
}
.m-list--plan .m-list--dot {
  font-size: var(--font-size-s);
}

/* method --------------------------- */
.method-list li {
  padding: 1em;
  line-height: 1;
  background: var(--color-lbl);
  border-radius: 0.5em;
}
.method-bnr {
  display: block;
  margin-top: 1.5rem;
}

/* curriculum --------------------------- */
.m-list--curriculum .m-text {
  padding: var(--blank-size-s);
}
.m-list--curriculum .m-text .m-heading--s + p {
  font-size: var(--font-size-s);
}

/* comparison --------------------------- */
.l-section.--comparison .u-row--between {
  margin-top: calc(var(--blank-size-xs) * -1);
}

/* trial --------------------------- */
  .m-box--flow.u-mb--m {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .m-box--trial figure {
    color: #fff;
    background: #000;
  }
  .m-box--trial figure img {
    width: min(490px, 100%);
  }
  .m-box--trial figure figcaption {
    padding: var(--blank-size-s);
  }

/* feedback --------------------------- */
.m-list--feedback {
  flex-wrap: wrap;
}
.m-list--feedback .m-list__item {
  background: var(--color-gry-01);
  border-radius: 1rem;
}
.m-list--feedback .m-img {
  margin-bottom: var(--blank-size-xs);
  color: #000;
  font-size: var(--font-size-l);
  font-weight: 700;
}
.m-list--feedback .m-img img {
  overflow: hidden;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin-right: var(--blank-size-s);
}
.m-list--feedback .m-img span {
  display: block;
  font-size: var(--font-size-s);
}
.survey-box {
  flex-wrap: wrap;
}

/* case --------------------------- */
.case-box {
  position: relative;
  padding: var(--blank-size-m);
  background: #f2f2f2;
}
.m-list--case {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 10px;
  align-items: flex-start;
  justify-content: space-between;
}
.m-list--case .m-list__item img {
  object-fit: contain;
}
.m-list--case .m-list__item figcaption {
  line-height: var(--font-lheigh-xs);
  font-size: 12px;
}
.case-text p {
  line-height: 1.6;
  font-size: var(--font-size-s);
}

/* smile --------------------------- */
.l-section.--smile figcaption {
  color: #fff;
}

/* information --------------------------- */
.l-section.--information {
  padding: var(--blank-size-s) 0;
}
.info-wrapper {
  border-radius: 1rem;
  padding: var(--blank-size-s);
  background: #fff;
  border: 1px solid var(--color-gry-02);
}
#information {
  overflow: auto;
}
#information li + li {
  margin-top: calc(var(--blank-size-xs) / 4);
}
#information time {
  font-weight: 700;
}

/* service --------------------------- */
.m-list--service .m-link {
  display: flex;
  line-height: 1;
}
.m-list--service .service-name__sub {
  color: initial;
  font-weight: 500;
  text-align: center;
}
.m-list--service .service-name__logo {
  margin-top: auto;
}
.m-list--service .--kids .service-name__logo img,
.m-list--service .--coaching .service-name__logo img {
  height: 28px;
}
.m-list--service .--campustop .service-name__logo img {
  height: 36px;
}
.m-list--service .--braintraining .service-name__logo img {
  height: 24px;
}
.m-list--service .--airplane .service-name__logo {
  color: #27aedf;
  font-size: calc(var(--font-size-l) * 1.2);
  font-weight: 700;
}
.m-list--service .--airplane .service-name__logo img {
  display: inline-block;
  position: relative;
  top: -0.05em;
  height: 22px;
  margin-right: 0.2em;
  vertical-align: middle;
}

/* recruit --------------------------- */
.l-section.--recruit {
  width: auto;
  background: #fff;
}
.l-section.--recruit a {
  display: block;
  width: min(780px, calc(100% - var(--blank-size-s)));
  margin: 0 auto;
}

/* レスポンシブ --------------------------- */
@media only screen and (min-width: 769px) {
  .top_slider {
    padding: 3rem 0;
  }
  .top_slider .slider > div:not(.swiper-wrapper) {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top_slider .slider-slide {
    width: 400px;
  }
  .top_slider .slider-slide:not(.swiper-slide) {
    margin: 0 10px;
  }

  .m-list--reasons .m-list__item {
    width: calc(33.33% - var(--blank-size-xs));
    padding: 1.5rem 1.5rem 4em;
  }
  .m-list--reasons .m-list__item .m-img {
    height: 200px;
    margin: 1rem -1.5rem 1rem;
  }
  .m-list--reasons .m-list__item .m-link {
    padding: 0.5em 0;
  }

  .method-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .method-list li {
    margin: 0 0.25em 0.5em;
  }
  .m-box--tesol {
    align-items: center;
  }
  .m-box--tesol div {
    width: calc(100% - 150px - var(--blank-size-m));
  }

  .l-section.--fee .m-list .m-list__item {
    margin-bottom: var(--blank-size-s);
  }
  .l-section.--fee .m-list .m-list__item:not(.--c40) {
    width: calc(50% - var(--blank-size-s) / 2);
  }
  .l-section.--fee .m-list .m-list__item.--c40 {
    width: 100%;
    & .m-text > div {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: center;
      margin-top: -0.5em;
      & .fee__text--01 {
        width: 100%;
      }
      & .fee__text--03 {
        margin: 0 0 0 4rem;
        &::before {
          position: absolute;
          bottom: 10%;
          left: -3rem;
          width: 1rem;
          height: 2rem;
          clip-path: polygon(0 0, 0 100%, 100% 50%);
        }
      }
    }
  }

  .m-list--curriculum .m-list__item + .m-list__item {
    margin-top: var(--blank-size-s);
  }
  .m-list--curriculum .m-img {
    width: 240px;
  }
  .m-list--curriculum .m-text {
    width: calc(100% - 240px);
  }
  .curriculum__wrapper .swiper-button-next,
  .curriculum__wrapper .swiper-button-prev {
    display: none;
  }

  .l-section.--comparison .u-row--between .m-btn--s {
    width: calc(33.33% - calc(var(--blank-size-xs) / 2));
  }

  .m-box--trial figure {
    display: flex;
    align-items: flex-start;
  }

  .m-list--feedback .m-list__item {
    width: calc(50% - var(--blank-size-s) / 2);
    margin-bottom: var(--blank-size-s);
    padding: calc(var(--blank-size-s) * 1.5);
  }
  .m-list--feedback .m-img {
    display: flex;
    align-items: center;
  }
  .survey-box img {
    width: calc(50% - var(--blank-size-s) / 2);
  }
  .survey-box .u-fs--s {
    width: 100%;
  }

  .m-list--case::before,
  .m-list--case::after,
  .m-list--case .m-list__item,
  .m-list--case .m-list__item img {
    width: 100px;
  }
  .m-list--case::before,
  .m-list--case::after {
    content: "";
    display: inline-block;
    order: 1;
  }
  .m-list--case .m-list__item img {
    height: 100px;
  }
  .m-list--case .m-list__item figcaption {
    margin: 0.5em -1em 0;
    text-align: center;
  }
  .m-list--service .m-list__item {
    width: calc(20% - var(--blank-size-xs));
  }
  .case-text {
    position: absolute;
    width: 220px;
    right: 3rem;
    bottom: calc(3rem + 1em);
  }

  .l-section.--smile {
    .m-img {
      position: relative;
      figcaption {
        position: absolute;
        right: 0;
        bottom: 0;
        padding: var(--blank-size-s) var(--blank-size-m);
      }
    }
  }

  #information {
    max-height: calc(var(--font-lheigh-m) * 5.5em);
  }
  #information time {
    display: inline-block;
    width: 8.5em;
  }

  .m-list--service .m-link {
    flex-direction: column;
    height: 100%;
    padding-bottom: var(--blank-size-xs);
  }
  .m-list--service .m-img {
    height: 120px;
  }
  .m-list--service .service-name__sub {
    margin: var(--blank-size-xs) 0;
    color: initial;
    font-size: var(--font-size-xs);
    font-weight: 500;
    text-align: center;
  }
  .m-list--service .--campustop .service-name__sub,
  .m-list--service .--braintraining .service-name__logo {
    margin-bottom: calc(var(--blank-size-xs) / 4);
  }

  .l-section.--recruit {
    padding: 44px 0;
  }
}

@media only screen and (max-width: 768px) {
  .top_slider {
    padding: 4rem 0 1.5rem;
  }
  .top_slider .slider-slide {
    width: 80%;
  }
  .top_slider .slider-slide:not(.swiper-slide) {
    margin: 0 auto;
  }

  .l-section.--reasons,
  .l-section.--service {
    padding: var(--blank-size-xl) var(--blank-size-s) 0;
  }

  .m-list--reasons .m-list__item {
    padding: 1.25rem 1rem 5em;
  }
  .m-list--reasons .m-list__item .m-img {
    height: 180px;
    margin: 1rem -1rem;
  }
  .m-list--reasons .m-list__item .m-link {
    padding: 1em 0;
  }

  .l-section.--fee .m-text--desc {
    line-height: var(--font-lheigh-xs);
    font-size: var(--font-size-2l);
    text-align: center;
  }
  .l-section.--fee .m-list .m-list__item {
    margin-bottom: var(--blank-size-xs);
  }
  .l-section.--fee .m-list .m-list__item .headding__no1 {
    top: -0.4em;
    padding: 0.5em;
    font-size: var(--font-size-s);
  }
  .l-section.--fee .m-list .m-list__item.--popular .m-heading--l,
  .l-section.--fee .m-list .m-list__item.--c40 .m-heading--l {
    padding-bottom: calc(var(--blank-size-xs) / 1.25);
  }
  .fee_ticket__benefits::before {
    width: 5rem;
    height: 5rem;
  }

  .method-list li {
    width: min(320px, calc(100% - var(--blank-size-m)));
    text-align: center;
    margin: 0 auto calc(var(--blank-size-xs) / 2);
  }
  .m-box--tesol figure {
    margin: 0 auto calc(var(--blank-size-xs) / 2);
  }
  .m-box--tesol .m-heading--s {
    margin-bottom: var(--blank-size-xs);
    text-align: center;
  }

  .l-section.--comparison .u-row--between .m-btn--s {
    width: calc(100% - var(--blank-size-m) * 2);
    margin: 0 auto var(--blank-size-xs);
  }

  .m-box--trial figure .m-list--dot {
    margin: 0;
  }
  .m-box--trial figure .m-list--dot li {
    display: inline;
    list-style: none;
  }
  .m-box--trial figure .m-list--dot li + li::before {
    content: "／";
  }

  .curriculum__wrapper {
    position: relative;
    padding: var(--blank-size-xs) 0;
    margin: 0 calc(-1 * var(--blank-size-s));
  }
  .m-list--curriculum .m-list__item + .m-list__item {
    margin: 0;
  }
  .m-list--curriculum .m-img {
    height: 180px;
  }
  .curriculum__wrapper .swiper-wrapper,
  .curriculum__wrapper .swiper-slide {
    height: auto;
  }
  .curriculum__wrapper .swiper-button-next,
  .curriculum__wrapper .swiper-button-prev {
    display: block;
    color: var(--color-bl-01);
  }
  .curriculum__wrapper .swiper-button-next,
  .curriculum__wrapper .swiper-rtl .swiper-button-prev {
    right: calc(var(--blank-size-xs) / 2);
  }
  .curriculum__wrapper .swiper-button-prev,
  .curriculum__wrapper .swiper-rtl .swiper-button-next {
    left: calc(var(--blank-size-xs) / 2);
  }

  .m-table__wrapper {
    overflow-x: auto;
    margin: calc(-2 * var(--blank-size-s)) 0 0;
  }
  .m-table__wrapper::-webkit-scrollbar {
    height: 6px;
  }
  .m-table__wrapper::-webkit-scrollbar-thumb,
  .m-table__wrapper::-webkit-scrollbar-track {
    border-radius: 3px;
  }
  .m-table__wrapper::-webkit-scrollbar-thumb {
    background: var(--color-gry-03);
  }
  .m-table__wrapper::-webkit-scrollbar-track {
    background: var(--color-gry-02);
  }
  .m-table__inner {
    width: min(600px, 130vw);
    font-size: var(--font-size-s);
    padding: var(--blank-size-xs);
  }
  .m-table__inner th,
  .m-table__inner td {
    height: 3.2rem;
  }
  .m-table__inner .m-field th {
    padding: 0 1em;
  }
  .m-table__inner .m-qq {
    font-size: var(--font-size-m);
  }
  .m-table__inner .m-qq th {
    padding: 0 5px;
  }

  .m-list--feedback .m-img {
    display: flex;
    align-items: center;
  }
  .m-list--feedback .m-list__item {
    margin-bottom: var(--blank-size-xs);
    padding: var(--blank-size-s);
  }
  .survey-box img {
    display: block;
    width: min(300px, calc(100% - var(--blank-size-xs)));
    margin: 0 auto;
  }

  .case-box {
    padding: var(--blank-size-s);
  }
  .m-list--case {
    gap: 10px;
  }
  .m-list--case::before,
  .m-list--case::after,
  .m-list--case .m-list__item {
    width: calc(50% - var(--blank-size-xs));
  }
  .m-list--case .m-list__item figure {
    display: flex;
    align-items: center;
    justify-items: flex-start;
  }
  .m-list--case .m-list__item img {
    width: 50px;
    height: 50px;
  }
  .m-list--case .m-list__item figcaption {
    margin: 0 -1em 0 8px;
  }
  .case-text {
    margin-top: var(--blank-size-s);
  }

.l-section.--smile {
  .m-img figcaption {
    padding: var(--blank-size-s);
    background: #0038A8;
  }
}

  #information {
    max-height: 40vh;
  }
  #information li {
    line-height: var(--font-lheigh-s);
  }
  #information li + li {
    margin-top: calc(var(--blank-size-xs));
  }
  #information time {
    display: block;
  }
  
  .m-list--service .m-link {
    height: 75px;
    align-items: center;
  }
  .m-list--service .m-link .m-img {
    width: 120px;
    height: 100%;
  }
  .service-name {
    margin: 0 auto;
  }
  .m-list--service .service-name__sub {
    margin: 0 0 var(--blank-size-xs);
    font-size: var(--font-size-s);
  }

  .l-section.--recruit {
    padding: 17px 0;
  }
}


.timer.hidden {
  display: none;
}
.timer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 2em;
  background-color: #fff682;
  /* background-color: #ffd682; */
  padding: 1.2rem 0 1.8rem;
  font-weight: bold;
}
.timer__heading {
  color: #df4c3c;
  font-size: 28px;
  margin-bottom: 8px;
}
.timer__body {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 1.5rem;
  line-height: 1;
}
.timer__item {
  text-align: center;
  width: 110px;
  padding: 8px 0;
  color: #fff;
  background: #df4c3c;
  font-weight: bold;
  letter-spacing: .1em;
}
.timer__item__num {
  font-size: 1.2em;
}
@media screen and (max-width: 768px) {
  .timer__body {
    gap: 5px;
  }
  .timer__item {
    min-width: 4.8em;
    width: auto;
    font-size: 0.6em;
  }
  .timer__item__num {
    font-size: 1.5em;
  }
}

/* firstview--mainvisual --------------------------- */
.firstview--mainvisual {
  background: url("/assets2/images/top/mv_2609_bg.png") no-repeat center bottom;
  background-size: cover;
  border-bottom: 4px solid #fff;
  & .l-inner--m {
    position: relative;
    & .m-detail {
      & .__text-01 {
        font-weight: 700;
        font-family: "Zen Maru Gothic", sans-serif;;
      }
      & .__text-02 {
        margin: 0.5em 0 2em;
        line-height: 1.8;
      }
      & .m-btn--view__link {
        color: #fff !important;
        background: var(--color-or);
        box-shadow: 0 4px 0 rgb(0 0 0 / 0.2);
      }
    }
    & .m-img {
      aspect-ratio: 69 / 50;
    }
  }
}
/* .firstview--mainvisual {
  overflow: hidden;
  background: linear-gradient(190deg, #fbfbfb, #f5f8f8 55%, #d3dde4);
}
.firstview--mainvisual .l-inner--m {
  position: relative;
  width: min(1080px, 100%);
  margin: 0 auto;
}
.firstview--mainvisual .l-inner--m::before {
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  background: url("/assets2/images/top/mv.png") no-repeat left bottom;
  background-size: contain;
  aspect-ratio: 1 / 0.841;
}
.firstview--mainvisual .m-detail {
  width: fit-content;
  margin-left: auto;
  line-height: var(--font-lheigh-xs);
  letter-spacing: 0.05em;
  color: #111;
  font-size: 32px;
  font-weight: 700;
}
.firstview--mainvisual .__text-01 {
  position: relative;
  width: fit-content;
  margin: 0 0 8px;
  padding-bottom: 4px;
  border-bottom: 2px solid #22afe1;
}
.firstview--mainvisual .__text-01::before,
.firstview--mainvisual .__text-01::after {
  content: "";
  position: absolute;
  left: 50%;
  display: block;
}
.firstview--mainvisual .__text-01::before {
  bottom: -14.4px;
  width: 16px;
  height: 16px;
  background: #fbfbfb;
  clip-path: polygon(0 100%, 100% 0%, 0 0);
  transform: translateX(-50%);
  z-index: 1;
}
.firstview--mainvisual .__text-01::after {
  bottom: -8px;
  width: 16px;
  height: 2px;
  background: #22afe1;
  transform: translateX(-50%) rotate(-45deg);
  z-index: 2;
}
.firstview--mainvisual .__text-02 {
  margin: 0;
}
.firstview--mainvisual .__text-02 .s-num {
  color: #ff585f;
}
.firstview--mainvisual .__text-02 .s-num span {
  position: relative;
  display: inline-block;
}
.firstview--mainvisual .__text-02 .s-num span::before,
.firstview--mainvisual .__text-02 .s-num span::after {
  content: attr(data-text);
  display: block;
  top: 0;
  left: 0;
  position: absolute;
}
.firstview--mainvisual .__text-02 .s-num span::before {
  -webkit-text-stroke-width: 0;
  z-index: 30;
}
.firstview--mainvisual .__text-02 .s-num span::after {
  color: #fff;
  -webkit-text-stroke-width: 5px;
  z-index: 20;
  text-shadow: 6px 5px 0 rgba(0, 0, 0, 0.3);
}
.firstview--mainvisual .__text-02 .s-num span:nth-of-type(1) {
  font-size: 56px;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}
.firstview--mainvisual .__text-02 .s-square {
  position: relative;
  top: -0.1em;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.4;
  margin-left: 4px;
  text-align: center;
  border: 2px solid #22afe1;
}
.firstview--mainvisual .__text-02 .s-square:nth-of-type(2),
.firstview--mainvisual .__text-02 .s-square:nth-of-type(3) {
  color: #22afe1;
  background: #fff;
}
.firstview--mainvisual .__text-02 .s-square:nth-of-type(n+4) {
  color: #fff;
  background: #22afe1;
} */

/* m-box--campaign(index.htmlより移植) --------------------------- */
.m-box--campaign {
  overflow: hidden;
  position: relative;
  width: min(420px, 100%);
  text-align: center;
  background: radial-gradient(circle, #ffe9c9 1px, transparent 1px) #fffaf2;
  background-size: 4px 4px;
  border: 2px solid #FFA726;
  z-index: 1;
}
.m-box--campaign > * {
  position: relative;
  z-index: 1;
}
.m-box--campaign .m-title {
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 8px;
  line-height: 1;
  color: #FFA726;
  border-bottom: 1px solid #FFA726;
}
.m-box--campaign .m-ballon {
  position: absolute;
  top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.5em;
  height: 5.5em;
  margin: 0;
  padding-top: 0.3em;
  color: #fff;
  line-height: var(--font-lheigh-xs);
  font-size: 16px;
  font-weight: 700;
  background: #FFA726;
  border-radius: 50%;
}
.m-box--campaign .m-ballon::before {
  content: "";
  display: block;
  position: absolute;
  right: -6%;
  bottom: 8%;
  width: 22%;
  height: 22%;
  background: #FFA726;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  transform: rotate(-50deg);
}
.m-box--campaign .m-price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0;
  line-height: 1;
  color: #FFA726;
  font-size: 32px;
  font-weight: 700;
}
.m-box--campaign .m-price span[data-text] {
  display: inline-block;
  position: relative;
}
.m-box--campaign .m-price span[data-text]::before,
.m-box--campaign .m-price span[data-text]::after {
  content: attr(data-text);
  display: block;
  top: 0;
  left: 0;
  position: absolute;
}
.m-box--campaign .m-price span[data-text]::before {
  color: #FFA726;
  -webkit-text-stroke-width: 0;
  z-index: 30;
}
.m-box--campaign .m-price span[data-text]::after {
  color: #fff;
  -webkit-text-stroke-width: 5px;
  z-index: 20;
  text-shadow: 6px 5px 0 rgba(0, 0, 0, 0.3);
}
.m-box--campaign .m-price .__first,
.m-box--campaign .m-price .__unit {
  position: relative;
  top: -0.4em;
}
.m-box--campaign .m-price .__first {
  font-size: 40px;
}
.m-box--campaign .m-price .fee-text__price {
  margin: 0 0.02em 0 -0.01em;
  line-height: 100px;
  letter-spacing: 0;
  font-size: 100px;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}
.m-box--campaign .m-price .__unit span {
  display: block;
  width: fit-content;
}
.m-box--campaign .m-price .__unit span[data-text="%"] {
  font-size: 140%;
}

@media only screen and (min-width: 769px) {
  .firstview--mainvisual {
    & .l-inner--m {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: min(1080px, 100%);
      height: 500px;
      margin: 0 auto;
      & .m-detail {
        position: relative;
        z-index: 1;
        & .__text-01 {
          margin-top: -0.25em;
          font-size: calc(var(--font-size-3l) * 1.85);
        }
        & .__text-02 {
          font-size: var(--font-size-l);
        }
        & .m-btn--view__link {
          margin: 0;
        }
      }
      & .m-img {
        position: absolute;
        right: 0;
        bottom: 0;
        height: 92.5%;
        z-index: 0;
      }
    }
  }
  /* .firstview--mainvisual .l-inner--m {
    height: 480px;
    padding: 5% 6% 0 0;
  }
  .firstview--mainvisual .l-inner--m::before {
    left: 3%;
    width: 55%;
    height: 95%;
  } */
  .m-box--campaign {
    margin: 20px auto 0;
    padding: 16px 16px 14px 20%;
    box-shadow: 4px 4px 12px 0 rgba(0, 0, 0, 0.25);
  }
  .m-box--campaign .m-title {
    font-size: 24px;
  }
  .m-box--campaign .m-ballon {
    left: 14px;
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .firstview--mainvisual {
    & .l-inner--m {
      padding: var(--blank-size-l) 0 var(--blank-size-m) var(--blank-size-l);
      & .m-detail {
        & .__text-01 {
          margin-top: -0.25em;
          font-size: 9vw;
        }
        & .__text-02 {
          margin-bottom: 0;
          font-size: 4vw;
        }
        & .m-btn--view__link {
          position: absolute;
          left: 50%;
          bottom: 0;
          width: 90vw;
          transform: translate(-50%, 50%);
        }
      }
      & .m-img {
        width: 75vw;
        margin: calc(4vw * 1.8 * 3 * -1) var(--blank-size-m) 0 auto;
      }
    }
  }
  /* .firstview--mainvisual .l-inner--m {
    height: min(380px, 80lvh);
    padding: 6% 0 0;
    overflow: hidden;
  }
  .firstview--mainvisual .l-inner--m::before {
    left: 55%;
    bottom: -3%;
    width: 90%;
    height: 70%;
    transform: translateX(-50%);
    background-position: center bottom;
  }
  .firstview--mainvisual .m-detail {
    margin: 0 auto;
    font-size: 18px;
  }
  .firstview--mainvisual .__text-02 .s-num span:nth-of-type(1) {
    font-size: 40px;
  }
  .firstview--mainvisual .__text-02 .s-square {
    font-size: 24px;
  } */
  .m-box--campaign {
    margin: 0;
    padding: 16px 0 8px;
  }
  .m-box--campaign .m-ballon {
    left: 8px;
    font-size: 14px;
  }
  .m-box--campaign .m-link--opacity {
    display: inline-block;
    width: fit-content;
    margin: -8px 0;
    padding: 8px;
    color: #0052AF;
    font-size: 14px;
  }
  .m-box--campaign .m-link--opacity::after {
    content: "";
    position: relative;
    top: 0.01em;
    display: inline-block;
    width: 16px;
    height: 10px;
    margin-left: 4px;
    mask: url(/assets2/images/top/icon_arrow.svg) no-repeat center;
    background: #0052AF;
    transition: background 0.2s;
  }
}