@charset "UTF-8";

/*基本的なカラー*/

/*テキスト用mixin*/

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 16px;
}

* {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  letter-spacing: 0;
}

body {
  width: 100%;
  font-size: 1.5rem;
}

main {
  overflow: hidden;
}

img {
  width: 100%;
  height: 100%;
  display: block;
}

.parts {
  background-color: gray;
}

.sp-only {
  display: none;
}

.yellow-underline {
  position: relative;
  display: inline-block;
  /* インライン要素に適用するため */
  z-index: 10;
}

.yellow-underline::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 50%;
  /* 下から中央までの高さ */
  background-color: #FDFF8C;
  z-index: -1;
  /* テキストの背面に配置 */
}

.fv-card {
  width: 15rem;
  height: 8.4375rem;
  background-color: #11256A;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 0.25rem;
}

.fv-cardTxt {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.45;
}

.fv-card__num {
  font-size: 1.75rem;
  color: #F0BC02;
}

.txt-orange {
  color: #F0BC02;
}

.btn {
  max-width: 38.625rem;
  height: 5.75rem;
  margin-inline: auto;
  position: relative;
}

.btn__link {
  background: #F0BC02;
  border: 0.25rem solid #F3BF0D;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0px 0.25rem 0.625rem 0 rgba(35, 13, 3, 0.24);
          box-shadow: 0px 0.25rem 0.625rem 0 rgba(35, 13, 3, 0.24);
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  padding: 1.6875rem 9.375rem;
  position: relative;
  text-align: center;
  z-index: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.btn__link--txt {
  text-align: center;
  font-size: 1rem;
  padding-top: 0.375rem;
}

.btn__link::before {
  background: linear-gradient(160deg, #FFF 100%, rgba(255, 255, 255, 0) 7%);
  border-radius: 0.625rem;
  content: "";
  -webkit-filter: blur(10px);
          filter: blur(10px);
  height: 18%;
  left: 50%;
  opacity: 0.7;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 98%;
}

.btn__link::after {
  background: url(../img/arrow-cta.svg) no-repeat center/contain;
  content: "";
  height: 2rem;
  pointer-events: none;
  position: absolute;
  right: 1.6875rem;
  top: 50%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 2rem;
  padding: 1.875rem 0 1.875rem 1rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.btn__link:hover::after {
  -webkit-transform: translate(0.5rem, -50%);
          transform: translate(0.5rem, -50%);
  /* 右に移動させる */
}

.section__ttl {
  position: relative;
  margin-bottom: 1.25rem;
  /* Adjust as needed to make space for the decorative line */
  font-size: 2.5rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.45;
}

.decorative-line {
  position: relative;
  width: 100%;
  height: 0.25rem;
  /* ドットの高さに合わせる */
}

.decorative-line::before {
  content: "";
  display: block;
  width: 4.75rem;
  /* 7つのドットと6つの間隔 */
  height: 0.25rem;
  /* ドットの高さ */
  background: repeating-linear-gradient(90deg, #000, #000 0.25rem, transparent 0.25rem, transparent 0.75rem);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.decorative-line.decorative-line--blue::before {
  background-color: #3355FC;
  background: repeating-linear-gradient(90deg, #3355FC, #3355FC 0.25rem, transparent 0.25rem, transparent 0.75rem);
}

.section__ttl--white .section__ttl {
  color: #FFFFFF;
}

.section__ttl--white .decorative-line::before {
  background: repeating-linear-gradient(90deg, #FFFFFF, #FFFFFF 0.25rem, transparent 0.25rem, transparent 0.75rem);
}

.comment__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 64.4375rem;
  height: auto;
  background-color: #FFFFFF;
  margin: 0 auto;
  position: relative;
}

.comment__img {
  width: 17.5rem;
  height: auto;
  position: absolute;
  left: -5%;
  top: -10%;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
}

.comment__textWrapper {
  padding: 2rem 3.5rem 2.75rem 17.5rem;
}

.comment__ttl {
  font-weight: 700;
  color: #11256A;
  line-height: 1.8;
}

.comment__text {
  font-size: 1.1875rem;
  font-weight: 500;
  padding-top: 0.5rem;
  line-height: 1.5;
}

.comment__name {
  font-size: 1.1875rem;
  font-weight: 500;
  padding-top: 0.5rem;
  line-height: 1.5;
  text-align: right;
}

.txt-blue {
  color: #3355FC;
}

.bg__ttl {
  font-size: 11.25rem;
  font-weight: 700;
  font-family: "Syne", sans-serif;
  color: #A2B3D6;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  bottom: 14%;
  left: -18%;
  opacity: 0.8;
  z-index: -1;
}

.reason__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 50.3125rem;
  row-gap: 3rem;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  margin: 3.5rem auto 0;
}

.reason__item {
  padding: 2.8125rem 1.25rem 0;
  background-color: #F1F4FA;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 15.25rem;
  position: relative;
}

.reason__num {
  font-size: 2rem;
  font-weight: 700;
  font-family: "Syne", sans-serif;
  position: absolute;
  top: -3.125rem;
  color: #3355FC;
  line-height: 1.5;
}

.reason__num--big {
  font-size: 3.5rem;
  font-weight: 700;
  font-family: "Syne", sans-serif;
  color: #3355FC;
  line-height: 1.5;
}

.reason__img {
  width: 5rem;
  height: auto;
  margin: 0 auto;
}

.reason__txt {
  font-size: 1.1875rem;
  font-weight: 500;
  font-family: "Syne", sans-serif;
  line-height: 1.5;
  padding-top: 1.1875rem;
}

.point__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: auto;
}

.point__img {
  max-width: 45rem;
  width: 50%;
  height: auto;
}

.point__contents {
  background-color: #F1F4FA;
  padding-top: 5.5rem;
  padding-left: 3.75rem;
  width: 100%;
}

.point__num {
  font-family: "Syne", sans-serif;
  font-size: 2.75rem;
  font-weight: 700;
  color: #334499;
  opacity: 0.2;
  display: block;
}

.point__num--big {
  opacity: 0.2;
  font-size: 7.5rem;
  font-family: "Syne", sans-serif;
  font-weight: 700;
  color: #334499;
  line-height: 0.6;
}

.point__txtWrapper {
  width: 30rem;
  position: relative;
}

.point__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.point__ttl::after {
  content: "";
  width: 100%;
  height: 0.0625rem;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  background-color: #3355FC;
}

.point__txt {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 1.5rem;
}

.step__item {
  padding: 4.8125rem 3.125rem 0;
  background-color: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 22.25rem;
  width: 20.6875rem;
  position: relative;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem rgba(0, 0, 0, 0.25);
}

.step__numWrapper {
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 0.25rem solid #F0BC02;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.step__num {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Syne", sans-serif;
  display: block;
}

.step__num--big {
  font-size: 2.5rem;
  font-weight: 700;
  font-family: "Syne", sans-serif;
  display: block;
  line-height: 1;
}

.step__ttl {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.step__img {
  width: 4rem;
  height: auto;
  margin: 0 auto;
  padding-top: 1.5rem;
}

.step__txt {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 1.5rem;
}

.campaign__item {
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  padding: 2.5rem 9.75rem;
  position: relative;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem rgba(0, 0, 0, 0.25);
  z-index: 10;
}

.campaign__itemTtl {
  font-size: 2rem;
  font-weight: 700;
  color: #3355FC;
  line-height: 1.5;
  text-align: center;
}

.campaign__itemTxt {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  padding-top: 1.5rem;
}

.campaign__itemTxt.campaign__itemTxt--bottom {
  text-align: center;
}

.campaign__illust {
  width: 14.125rem;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.recommend__item {
  width: 18.75rem;
  height: 18.75rem;
  border-radius: 50%;
  background-color: #F1F4FA;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem rgba(0, 0, 0, 0.25);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.recommend__img {
  width: 6.375rem;
  height: auto;
  position: absolute;
  left: 50%;
  top: -15%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.recommend__txt {
  text-align: center;
  padding: 0 1.4375rem;
  line-height: 1.8;
  font-weight: 700;
}

.recommend__txt span {
  color: #3355FC;
}

.cta {
  width: 100%;
  height: auto;
  padding: 3.5rem 0;
  background-image: url(../img/cta-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #C2E5F5;
}

.cta__container {
  max-width: 38.625rem;
  height: auto;
  margin: 0 auto;
}

.cta__txt {
  font-weight: 700;
  margin: 0 auto;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  display: block;
}

.cta__txt::before {
  content: url("../img/comment-line-left.svg");
  /* 画像のURLを指定 */
  position: absolute;
  top: -0.625rem;
  left: -8%;
  width: 0.875rem;
  height: 1.9375rem;
}

.cta__txt::after {
  content: url("../img/comment-line-right.svg");
  /* 画像のURLを指定 */
  position: absolute;
  top: -0.625rem;
  right: -8%;
  width: 0.875rem;
  height: 1.9375rem;
}

.btn {
  margin-top: 0.875rem;
}

.cta__campainWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1.25rem;
  gap: 0.5rem;
}

.cta__campainImg {
  width: 5.3125rem;
  height: auto;
}

.cta__campainTxt {
  text-align: center;
}

.cta__campainTxt--top {
  font-weight: 700;
  font-size: 1.5rem;
  white-space: nowrap;
}

.cta__campainTxt--top span {
  font-size: 2.5rem;
}

.cta__campainTxt--bottom {
  font-size: 1.25rem;
  line-height: 1.45;
  padding-top: 0.625rem;
}

.faq__container {
  max-width: 41.875rem;
  padding-top: 2rem;
  margin: 0 auto;
}

.accordion {
  width: 100%;
}

.accordion__item {
  width: 100%;
  background-color: #FFFFFF;
  border-radius: 0.625rem;
  padding: 1rem 1.5rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
}

.accordion__title {
  width: 100%;
  font-weight: 700;
  font-size: 1.1875rem;
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.accordion__title:before,
.accordion__title:after {
  content: "";
  position: absolute;
  top: 50%;
}

.accordion__title:before {
  right: 0.9375rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.375rem solid transparent;
  border-left: 0.375rem solid transparent;
  border-bottom: 0.5625rem solid #555555;
  border-top: 0;
  opacity: 0;
}

.accordion__title:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.375rem solid transparent;
  border-left: 0.375rem solid transparent;
  border-top: 0.5625rem solid #555555;
  border-bottom: 0;
  right: 1.40625rem;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

.accordion__title.is-active::after {
  opacity: 0;
}

.accordion__title.is-active::before {
  opacity: 1;
}

.accordion__item + .accordion__item {
  margin-top: 1.5rem;
}

.accordion__content {
  background-color: white;
  padding-top: 1rem;
  display: none;
  border-top: 0.0625rem solid rgba(0, 0, 0, 0.16);
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: -0.04em;
}

.accordion__answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
}

.faq .accordion__title.is-active {
  padding-bottom: 1.1875rem;
}

.faq .accordion__title.is-active::before {
  margin-top: -0.625rem;
}

.question {
  margin-top: -0.1875rem;
}

.question span {
  color: #4AB7D0;
  font-family: "Syne", sans-serif;
  font-size: 1.375rem;
  margin-right: 0.9375rem;
}

.inner {
  width: 100%;
  height: 100%;
  max-width: 1440px;
  padding: 0 11.25rem;
  margin: 0 auto;
}

.section__ttl--questionIcon {
  width: 3.5625rem;
  height: auto;
  -webkit-transform: rotate(11deg);
          transform: rotate(11deg);
  display: inline-block;
}

.about {
  width: 100%;
  height: 100%;
  padding-bottom: 3.5rem;
  overflow: hidden;
}

.about__bg--blue {
  background-color: #F1F4FA;
  text-align: center;
  position: relative;
  height: 50rem;
  padding-top: 4.6875rem;
}

.about__bg--blue::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  border-top: 15rem solid #F1F4FA;
  border-bottom: 0;
  position: absolute;
  bottom: -15rem;
  left: 0;
  z-index: -1;
  display: block;
}

.about__questions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 2.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.about__question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.check-question {
  width: 2.1875rem;
  height: auto;
  margin-right: 0.25rem;
  display: block;
}

.about__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 2rem;
}

.about__txt {
  font-weight: 700;
  line-height: 1.8;
  padding-top: 2rem;
}

.about__bg--none {
  padding-top: 16.5rem;
  text-align: center;
}

.about__bg--small {
  font-weight: 700;
  line-height: 1.8;
}

.about__bg--big {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.45;
  padding-top: 1.3125rem;
  color: #3355FC;
}

.video {
  width: 45.625rem;
  margin: 1rem auto 0;
}

.video__container {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 aspect ratio (9/16 = 0.5625 * 100 = 56.25) */
  height: 0;
  overflow: hidden;
}

.video__container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.benefit {
  padding: 6rem 0 11.375rem;
  position: relative;
  background-image: url(../img/campaign-bg-sky.webp);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

.ohers__arrow {
  background-image: url(../img/arrow-yellow.webp);
  width: 34.5625rem;
  height: 10.125rem;
  background-size: contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 20;
  position: absolute;
  top: -2%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.ohers__arrow span {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 700;
  margin-top: -1.25rem;
}

.campaign__item:not(:first-child) {
  margin-top: 1.5rem;
}

.txt-navy {
  color: #11256A;
}

.campaign {
  padding: 5rem 0;
  background-image: url(../img/campaign-bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 10;
}

.campaign__txt {
  font-size: 4rem;
  line-height: 1.453125;
  font-weight: 700;
  color: #11256A;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.campaign__txt::after {
  content: url(../img/campaign-notice.svg);
  width: 3.625rem;
  height: 3.125rem;
  position: absolute;
  left: -50%;
  z-index: 10;
  top: -40%;
}

.campaign__ttl {
  background-image: url(../img/campaign-ribbon.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 68.375rem;
  height: 7.25rem;
  color: #FFFFFF;
  font-size: 3.875rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 0.5rem;
  position: relative;
}

.campaign__box {
  margin-top: 1.5rem;
  padding: 2.625rem 0;
  background-color: #FFFFFF;
}

.campaign__boxTxt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  color: #11256A;
  text-align: center;
}

.campaign__boxTxt--big {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #11256A;
}

.campaign__img {
  width: 32.5rem;
  height: auto;
  margin: 0 auto;
  padding: 2.5rem 0;
  margin-bottom: 1.25rem;
}

.campaign__sale__wrapper {
  margin: 0 auto;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.campaign__leaf--left {
  width: 5.4375rem;
  height: 13.0625rem;
  position: absolute;
  left: -20%;
  top: -15%;
  display: block;
  z-index: 10;
}

.campaign__leaf--right {
  width: 5.4375rem;
  height: 13.0625rem;
  position: absolute;
  right: 0;
  display: block;
  z-index: 10;
  right: -20%;
  top: -15%;
}

.campaign__sale {
  font-size: 2.5rem;
  font-weight: 700;
}

.campaign__cauion {
  color: #EB0606;
  font-size: 2rem;
  line-height: 1.5;
  padding-top: 3.5rem;
  font-weight: 700;
  text-align: center;
}

.campaign__sale--gold {
  font-size: 4.0625rem;
  line-height: 1.5138888889;
  font-weight: 700;
  -webkit-text-stroke: 0.0625rem #C19906;
  /* 縁取りの太さと色 */
  background: -webkit-gradient(linear, left bottom, right top, from(#F5CD40), color-stop(17%, #FFECA8), color-stop(65%, #DDB838), to(#F5CD40));
  background: linear-gradient(to top right, #F5CD40 0%, #FFECA8 17%, #DDB838 65%, #F5CD40 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.comment {
  padding: 5rem 0;
  background: linear-gradient(194deg, rgb(17, 37, 106) 0%, rgba(65, 83, 158, 0.73) 74%, rgba(124, 140, 222, 0.4) 100%);
  position: relative;
}

.comment__wrapper {
  padding-top: 3.5rem;
}

.comment__item:not(:first-child) {
  margin-top: 4rem;
}

.bg__ttl.bg__ttl--voice {
  bottom: 12%;
}

.curriculum {
  padding: 5rem 0;
  background: linear-gradient(194deg, rgb(17, 37, 106) 0%, rgba(65, 83, 158, 0.73) 74%, rgba(124, 140, 222, 0.4) 100%);
  position: relative;
}

.curriculum__subTtl {
  font-size: 2rem;
  line-height: 1.5;
  padding: 0.25rem 0;
  border-top: 0.125rem solid #FFFFFF;
  border-bottom: 0.125rem solid #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 auto;
}

.curriculum__txt {
  font-size: 1.25rem;
  padding-top: 0.5rem;
  line-height: 1.45;
  color: #FFFFFF;
  text-align: center;
}

.accordion__contentItem {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375;
}

.accordion__contentNum {
  color: #858895;
  margin-right: 1rem;
}

.question span.accordion__titleNum {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1875rem;
}

.accordion__item--curriculum {
  padding: 1rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

#accordion-curriculum.accordion {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 2rem;
  row-gap: 1rem;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}

#accordion-curriculum .accordion__title {
  line-height: 1.4736842105;
}

#accordion-curriculum .accordion__item + .accordion__item {
  margin-top: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

#accordion-curriculum.accordion {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 2rem;
  /* Adjust as needed */
  row-gap: 1rem;
  /* Adjust as needed */
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  /* Adjust as needed */
}

#accordion-curriculum .accordion__content {
  display: none;
}

#accordion-curriculum .accordion__item.active .accordion__content {
  display: block;
}

.bg__ttl--curriculum {
  font-size: 6.25rem;
  bottom: 45%;
  left: -26%;
}

#accordion-curriculum .question span {
  color: #333;
  line-height: 1.4736842105;
}

#accordion-curriculum .accordion__title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.faq {
  padding: 5rem 0;
}

.faq__container {
  padding-top: 3.75rem;
}

.header__wrapper {
  background-color: #11256A;
  width: 100%;
  height: 6.25rem;
  padding: 1.125rem 0;
}

.header__txt {
  text-align: center;
  font-size: 1.375rem;
  line-height: 1.4545454545;
  color: #FFFFFF;
  font-weight: 700;
}

.fv {
  width: 100%;
  height: 65.5625rem;
  margin-bottom: 4.5rem;
}

.mv {
  position: relative;
  text-align: center;
  background-image: url(../img/bg.webp);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  height: 40rem;
  width: 100%;
}

.drone__img {
  position: absolute;
  width: 15.625rem;
  height: auto;
  left: 10%;
  top: 30%;
}

.mv__contentsWrapper {
  padding-top: 3rem;
}

.mv__benefitTxt {
  font-size: 1.5rem;
  line-height: 120%;
  font-weight: 700;
}

.mv__schoolName {
  font-size: 1.625rem;
  line-height: 1.4615384615;
  font-weight: 700;
  margin-top: 3.25rem;
}

.decorative-line--fv {
  top: 1rem;
}

.mv__ttl {
  font-size: 4.5rem;
  line-height: 1.5138888889;
  font-weight: 700;
  -webkit-text-stroke: 0.01875rem #11256A;
  /* 縁取りの太さと色 */
  background: -webkit-gradient(linear, left top, left bottom, from(#6079F4), to(#082094));
  background: linear-gradient(to bottom, #6079F4 0%, #082094 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
}

.fv__cardsWrapper {
  padding-top: 2.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.fv__aboutLesson {
  font-weight: 700;
  line-height: 1.5;
  padding: 0.625rem 2.0625rem;
  background-color: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 3.5rem auto 0;
}

.fv__aboutLesson__Wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  /* 画像の高さに合わせて設定 */
  overflow: hidden;
  white-space: nowrap;
}

.fv__aboutLesson__imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  padding-top: 1rem;
}

.splide {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: 7.1875rem;
  margin-top: 1rem;
}

.splide__track,
.splide__slide {
  width: 100%;
  height: 100%;
}

.splide__track img,
.splide__slide img {
  width: 11.375rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv__aboutLesson__img {
  width: 15.375rem;
  height: auto;
}

.cta__fv {
  padding-top: 3.5rem;
}

.cta__fv .cta__btn {
  width: 38.625rem;
  height: auto;
  margin: 0 auto;
}

.howToLearn {
  padding: 5rem 0;
  background-color: #F1F4FA;
}

.howToLearn--ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0.25rem 0;
  border-top: 0.0625rem solid #333;
  border-bottom: 0.0625rem solid #333;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.howToLearn--txt {
  padding-top: 2rem;
  font-size: 1.1875rem;
}

.howToLearn--txt02 {
  padding-top: 1rem;
  font-size: 1.1875rem;
}

.howToLearn--top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.875rem;
}

.learning-img {
  width: 18.1875rem;
  height: auto;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
}

.learning__box {
  padding: 1.5rem 0 1.5rem 2rem;
  background-color: #FFFFFF;
  border-radius: 0.625rem;
  margin-top: 1rem;
}

.learning__item {
  gap: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.learning__item__txt {
  font-weight: 700;
  line-height: 1.8;
}

.learning__item:not(:first-child) {
  padding-top: 0.5rem;
}

.check-learning {
  width: 1.1875rem;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 0.9375rem;
}

.howToLearn--txt03 {
  padding-top: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
}

.lisk {
  padding: 5rem 0 4.1875rem;
  background-image: url(../img/lisk-bg.webp);
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: relative;
}

.lisk__box {
  padding: 2rem 4rem;
  background-color: #333;
  border-radius: 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.5rem auto 0;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
}

.lisk__item {
  gap: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.lisk__item__txt {
  font-weight: 700;
  line-height: 1.8;
  color: #FFFFFF;
  font-size: 1.1875rem;
}

.lisk__item:not(:first-child) {
  padding-top: 0.5rem;
}

.check-list {
  width: 1.5rem;
  height: auto;
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.lisk__txt {
  padding-top: 2rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  padding-bottom: 1rem;
}

.decorative-line--lengthwise {
  position: relative;
  width: 0.25rem;
  /* ドットの幅に合わせる */
  height: 2.5rem;
  /* 7つのドットと6つの間隔 */
  margin: 0 auto;
  /* 中央揃え */
}

.decorative-line--lengthwise::before {
  content: "";
  display: block;
  width: 0.25rem;
  /* ドットの幅 */
  height: 100%;
  /* 親要素の高さに合わせる */
  background: repeating-linear-gradient(180deg, #000, #000 0.25rem, transparent 0.25rem, transparent 0.75rem);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.section__subttl--lisk {
  padding-top: 1rem;
}

.section__subttl--lisk::before {
  content: url(../img/comment-left.svg);
  width: 1.5rem;
  height: 2.5rem;
  margin-right: 1rem;
}

.section__subttl--lisk::after {
  content: url(../img/comment-right.svg);
  width: 1.5rem;
  height: 2.5rem;
  margin-left: 1rem;
}

.lisk__box02 {
  padding: 2rem 4rem;
  background-color: #F1F4FA;
  border-radius: 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.5rem auto 0;
  -webkit-box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0.25rem 0.25rem 0.8125rem 0 rgba(0, 0, 0, 0.25);
}

.lisk__item02 {
  gap: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.lisk__item__txt02 {
  font-weight: 700;
  line-height: 1.8;
  color: #333;
}

.lisk__item02:not(:first-child) {
  padding-top: 0.5rem;
}

.check-list02 {
  display: block;
  width: 1.5rem;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.lisk__txt03 {
  font-weight: 700;
  line-height: 1.8;
  color: #333;
  text-align: center;
  padding-top: 1rem;
}

.txt-navy--lisk {
  color: #11256A;
  font-size: 2.5rem;
}

.arrow {
  width: 19.0625rem;
  height: auto;
  position: absolute;
  left: 50%;
  bottom: -6%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
}

.point {
  padding: 5rem 0;
  background-color: #F1F4FA;
}

.section__subttl--point {
  font-weight: 700;
  line-height: 1.8;
  padding-bottom: 0.25rem;
  text-align: center;
}

.point__wrapper {
  padding-top: 2rem;
  max-width: 90rem;
  margin: 0 auto;
}

.point__item--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.point__item--reverse .point__contents {
  padding: 5.5rem 3.75rem 0 0;
}

.point__item--reverse .point__txtWrapper {
  margin-left: auto;
}

.point__ttlWrapper {
  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-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.point__numWrapper {
  -webkit-transform: translateY(-34px);
          transform: translateY(-34px);
}

.point__numWrapper.point__numWrapper01 {
  -webkit-transform: inherit;
          transform: inherit;
}

.fees {
  padding: 5rem 0;
}

.fees__wrapper {
  width: 100%;
  height: auto;
  margin-top: 3.75rem;
}

.reason {
  padding: 5rem 0;
}

.reason__Ttl {
  font-size: 2rem;
  width: 20rem;
  height: 3.25rem;
  background-color: #11256A;
  color: #FFFFFF;
  font-weight: 700;
  border-radius: 4.375rem;
  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: 0 auto;
}

.section__ttlWrapper {
  padding-top: 1rem;
}

.section__ttl--big {
  font-size: 4.5rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
}

#reason .section__ttl {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.recommend {
  padding: 5rem 0;
  position: relative;
}

.drone {
  width: 13.125rem;
  height: auto;
  position: absolute;
  top: 10%;
  left: 10%;
}

.recommend__content {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 1fr);
  padding-top: 4.3125rem;
}

.recommend__item01 {
  grid-area: 1/2/2/4;
}

.recommend__item02 {
  grid-area: 1/4/2/6;
}

.recommend__item03 {
  grid-area: 2/1/3/3;
}

.recommend__item04 {
  grid-area: 2/3/3/5;
}

.recommend__item05 {
  grid-area: 2/5/3/7;
}

.teacher {
  padding: 4.5rem 0;
  background: -webkit-gradient(linear, right top, left bottom, from(rgb(17, 37, 106)), color-stop(55%, rgba(65, 83, 158, 0.73)), to(rgba(124, 140, 222, 0.4)));
  background: linear-gradient(to bottom left, rgb(17, 37, 106) 0%, rgba(65, 83, 158, 0.73) 55%, rgba(124, 140, 222, 0.4) 100%);
}

.teacher__box {
  width: 100%;
  padding: 4rem 7.375rem;
  background-color: #FFFFFF;
  border-radius: 0.625rem;
}

.teacher__content {
  padding-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.5rem;
}

.teacher__img {
  width: 25.1875rem;
  height: auto;
}

.teacher__name {
  font-weight: 700;
  line-height: 1.8;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #333;
}

.teacher__prof {
  font-weight: 400;
  line-height: 1.45;
  font-size: 1.25rem;
  padding-top: 0.5rem;
}

.skill {
  padding: 5rem 0;
  background: linear-gradient(194deg, rgb(17, 37, 106) 0%, rgba(65, 83, 158, 0.73) 74%, rgba(124, 140, 222, 0.4) 100%);
  position: relative;
}

.txt-yellow {
  color: #FDFF8C;
}

.section__ttl--skill {
  display: block;
  text-align: center;
}

.section__subttl--skill {
  font-weight: 700;
  line-height: 2.4166666667;
  font-size: 1.5rem;
  color: #FFFFFF;
  text-align: center;
}

.skill__box {
  padding-top: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.bg__ttl.bg__ttl--skill {
  bottom: 29%;
  left: -16%;
}

.skill__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}

.skill__item__txt {
  font-weight: 700;
  line-height: 1.5;
  font-size: 2rem;
  color: #FFFFFF;
}

.skill__item:not(:first-child) {
  padding-top: 0.5rem;
}

.skill__item::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  background-color: #FFFFFF;
  margin-top: 0.5rem;
}

.step {
  padding: 5rem 0;
  background-image: url(../img/step-bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.step__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 5.25rem;
}

.trouble {
  padding-top: 4rem;
  padding-bottom: 5rem;
  background-image: url(../img/trouble-bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.section__ttlWrapper--trouble {
  text-align: center;
}

.trouble__content__ttl {
  color: #FFFFFF;
  text-align: center;
  padding-top: 5.5rem;
  font-weight: 700;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  margin: 0 auto;
}

.trouble__content__top {
  color: #FFFFFF;
  font-size: 2rem;
}

.trouble__content__top--big {
  font-size: 2.5rem;
  color: #FFFFFF;
}

.trouble__content__bottom {
  font-size: 2.5rem;
  color: #FFFFFF;
  line-height: 1.5;
}

.trouble__content__bottom--big {
  font-size: 4rem;
  color: #FFFFFF;
}

.trouble__icon {
  width: 2.6875rem;
  height: auto;
  position: absolute;
  left: 29%;
  top: 27%;
}

.trouble__box {
  padding: 2.6875rem 4.75rem;
  background-color: #333;
  border-radius: 0.625rem;
  margin-top: 1.5rem;
}

.trouble__item {
  gap: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.trouble__item__txt {
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.8;
}

.trouble__item:not(:first-child) {
  padding-top: 0.5rem;
}

.check-trouble {
  display: block;
  width: 1.5rem;
  height: auto;
}

.trouble__txt {
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 2.3125rem;
  text-align: center;
}

.however {
  padding-bottom: 5rem;
}

.however__arrow {
  background-image: url(../img/arrow-blue.webp);
  width: 34.5625rem;
  height: 10.125rem;
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 auto;
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}

.however__arrow span {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 700;
  position: absolute;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.section__ttl--however {
  padding-top: 2.5rem;
  text-align: center;
  position: relative;
}

.section__ttl--howeverIcon {
  width: 6.5rem;
  height: auto;
  -webkit-transform: rotate(11deg);
          transform: rotate(11deg);
  display: inline-block;
  position: absolute;
  right: 5%;
  bottom: 0;
}

.however__txt01 {
  padding-top: 2rem;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.5;
}

.however__txt02,
.however__txt02 span {
  padding-top: 1rem;
  color: #3355FC;
  font-weight: 700;
  line-height: 1.5;
}

.trouble-img {
  width: 35.375rem;
  height: auto;
  margin: 0 auto;
  padding: 2rem 0 2.5rem;
}

.however__txt03 {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.5;
}

.however__txt03:not(:first-child) {
  padding-top: 1rem;
}

@media screen and (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 4.2666666667vw;
  }

  .pc-only {
    display: none;
  }

  .sp-only {
    display: block;
  }

  .fv-card {
    width: 6.875rem;
    height: 8.5rem;
  }

  .fv-cardTxt {
    font-size: 0.9375rem;
  }

  .fv-card__num {
    font-size: 1.375rem;
  }

  .btn__link {
    font-size: 1.1875rem;
    padding: 2.1875rem 2.5rem;
  }

  .btn__link::after {
    width: 1rem;
    height: 1rem;
    right: 1.5625rem;
  }

  .section__ttl {
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: -0.04em;
    text-align: center;
  }

  .comment__item {
    margin-right: calc(50% - 50vw);
    width: 100%;
  }

  .comment__img {
    width: 15.125rem;
    left: -10%;
    top: -40%;
  }

  .comment__img.comment__img-03,
  .comment__img.comment__img-04 {
    top: -45%;
  }

  .comment__textWrapper {
    padding: 4.5rem 1.9375rem 1.375rem 0.9375rem;
  }

  .comment__ttl {
    line-height: 1.3;
    letter-spacing: -0.04em;
  }

  .comment__text {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
  }

  .bg__ttl {
    font-size: 9.375rem;
    bottom: 23%;
    left: -48%;
  }

  .reason__wrapper {
    grid-template-columns: repeat(1, 1fr);
  }

  .reason__item {
    width: 15.0625rem;
    margin: 0 auto;
  }

  .point__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .point__img {
    width: 100%;
  }

  .point__contents {
    padding: 0.25rem 0.9375rem 3rem 0.9375rem;
  }

  .point__txtWrapper {
    width: 100%;
  }

  .point__ttl {
    font-size: 1.5rem;
    letter-spacing: -0.04em;
    margin-right: auto;
    padding-top: 3.1875rem;
  }

  .point__txt {
    font-size: 1.125rem;
    padding-top: 1rem;
    letter-spacing: 0.04em;
  }

  .step__item {
    width: 100%;
  }

  .campaign__item {
    padding: 1.5rem 0.9375rem;
  }

  .campaign__itemTtl {
    font-size: 1.25rem;
    letter-spacing: -0.04em;
  }

  .campaign__itemTxt {
    font-size: 1.125rem;
    padding-top: 1rem;
    letter-spacing: -0.04em;
    text-align: left;
  }

  .recommend__item {
    height: 10rem;
    width: 100%;
  }

  .recommend__img {
    width: 4.5rem;
    top: -25%;
  }

  .recommend__txt {
    font-size: 0.9375rem;
  }

  .cta {
    padding: 3rem 0;
  }

  .cta__txt {
    font-size: 1.125rem;
  }

  .cta__txt::before {
    width: 0.8125rem;
    height: 1.875rem;
  }

  .cta__txt::after {
    width: 0.8125rem;
    height: 1.875rem;
  }

  .cta__campainWrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.25rem;
  }

  .cta__campainImg {
    width: 4.3125rem;
  }

  .cta__campainTxt--top {
    font-size: 1.0625rem;
    letter-spacing: -0.04em;
  }

  .cta__campainTxt--top span {
    font-size: 1.5rem;
    letter-spacing: -0.04em;
  }

  .cta__campainTxt--bottom {
    font-size: 1.0625rem;
    text-align: center;
  }

  .faq__container {
    padding-top: 1.875rem;
  }

  .accordion__title {
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.04em;
  }

  .accordion__title:before {
    right: 0.5rem;
  }

  .accordion__title:after {
    right: 0.75rem;
  }

  .accordion__answer {
    font-size: 0.75rem;
  }

  .question span {
    margin-right: 0.25rem;
  }

  .faq .accordion__title:before {
    right: -0.75rem;
  }

  .faq .accordion__title:after {
    right: -0.5rem;
  }

  .faq .accordion__item {
    padding: 1rem 2.625rem 1rem 1.5rem;
  }

  .inner {
    width: 100%;
    height: 100%;
    padding: 0 0.9375rem;
  }

  .section__ttl--questionIcon {
    width: 2.25rem;
    height: auto;
  }

  .about__bg--blue {
    padding-top: 2.3125rem;
    height: 45.75rem;
  }

  .about__bg--blue::after {
    border-top: 3.125rem solid #F1F4FA;
    bottom: -3.1rem;
  }

  .about__questions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    gap: 0;
  }

  .about__question {
    font-size: 1.125rem;
    font-weight: 700;
  }

  .check-question {
    width: 1.5rem;
  }

  .about__ttl {
    font-size: 1.5rem;
    line-height: 1.3;
    padding-top: 1.5rem;
  }

  .about__txt {
    font-size: 1.125rem;
    padding-top: 1.5rem;
    line-height: 1.5;
  }

  .about__bg--none {
    padding-top: 4.125rem;
  }

  .about__bg--small {
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.04em;
  }

  .about__bg--big {
    font-size: 1.5rem;
    padding-top: 1rem;
  }

  .video {
    width: 100%;
  }

  .benefit {
    padding: 4.125rem 0 2rem;
  }

  .ohers__arrow {
    width: 17.9375rem;
    height: 5.25rem;
    font-size: 1.125rem;
  }

  .ohers__arrow span {
    font-size: 1.125rem;
  }

  .campaign {
    padding: 3rem 0;
  }

  .campaign__txt {
    font-size: 3rem;
    letter-spacing: -0.04em;
  }

  .campaign__txt::after {
    width: 2.5rem;
    height: 2.1875rem;
    left: -50%;
  }

  .campaign__ttl {
    width: 100%;
    height: 4.375rem;
    background-image: url(../img/campaign-ribbon-sp.webp);
    font-size: 1.5rem;
    letter-spacing: -0.04em;
  }

  .campaign__box {
    width: 100vw;
    margin: 1.5rem calc(50% - 50vw) 0;
  }

  .campaign__boxTxt {
    letter-spacing: -0.04em;
  }

  .campaign__boxTxt--big {
    font-size: 3rem;
    letter-spacing: -0.04em;
  }

  .campaign__img {
    width: 100%;
    margin-bottom: 0;
    padding: 1rem 0;
  }

  .campaign__leaf--left {
    width: 2.0625rem;
    height: 6.75rem;
    left: -16%;
    top: -6%;
  }

  .campaign__leaf--right {
    width: 2.0625rem;
    height: 6.75rem;
    right: -16%;
    top: -6%;
  }

  .campaign__sale {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: -0.04em;
    text-align: center;
  }

  .campaign__cauion {
    font-size: 1.5rem;
    padding-top: 1rem;
    line-height: 1.3;
    letter-spacing: -0.04em;
  }

  .campaign__sale--gold {
    font-size: 2.5rem;
  }

  .comment {
    padding: 3rem 0;
  }

  .comment__wrapper {
    padding-top: 14.125rem;
  }

  .comment__item:not(:first-child) {
    margin-top: 13.8125rem;
  }

  .curriculum {
    padding: 3rem 0;
  }

  .curriculum__subTtl {
    font-size: 1.5rem;
    line-height: 1.3;
  }

  .curriculum__txt {
    padding-top: 0;
  }

  #accordion-curriculum.accordion {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 0.5rem;
  }

  #accordion-curriculum .accordion__title {
    font-size: 1.1875rem;
    gap: 1rem;
  }

  .bg__ttl--curriculum {
    bottom: 26%;
    left: -100%;
    font-size: 6.25rem;
  }

  .faq {
    padding: 3rem 0;
  }

  .header__txt {
    font-size: 1.0625rem;
    text-align: left;
  }

  .fv {
    height: 52.1875rem;
    margin-bottom: 6rem;
  }

  .mv {
    background-image: url(../img/mv-bg-sp.webp);
  }

  .drone__img {
    width: 3.9375rem;
    top: 16%;
  }

  .mv__benefitTxt {
    font-size: 1.0625rem;
  }

  .mv__schoolName {
    font-size: 1.1875rem;
    margin-top: 1rem;
  }

  .decorative-line--fvSp::before {
    top: 0.5rem;
  }

  .mv__ttl {
    font-size: 2.5rem;
  }

  .fv__cardsWrapper {
    gap: 0.5rem;
    padding-top: 1rem;
  }

  .fv__aboutLesson {
    font-size: 1rem;
    padding: 0.25rem 0.75rem;
    margin: 2rem auto 0;
  }

  .fv__aboutLesson__img {
    width: 11.375rem;
  }

  .cta__fv {
    padding-top: 5.9375rem;
  }

  .howToLearn {
    padding: 3rem 0;
  }

  .howToLearn--ttl {
    font-size: 1.5rem;
    line-height: 1.3;
    letter-spacing: -0.06em;
  }

  .howToLearn--txt {
    padding-top: 1rem;
    font-size: 1.125rem;
    letter-spacing: -0.04em;
  }

  .howToLearn--txt02 {
    font-size: 1.125rem;
  }

  .howToLearn--top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
  }

  .learning-img {
    width: 100%;
  }

  .learning__box {
    padding: 1.5rem 1rem;
  }

  .learning__item__txt {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
    line-height: 1.5;
  }

  .check-learning {
    padding-top: 0.625rem;
  }

  .howToLearn--txt03 {
    font-size: 1.125rem;
    padding-top: 1rem;
  }

  .lisk {
    padding: 3rem 0;
  }

  .lisk__box {
    padding: 1.5rem 0.9375rem;
  }

  .lisk__item__txt {
    font-size: 1.125rem;
    line-height: 1.5;
  }

  .check-list {
    padding-top: 0.3125rem;
  }

  .lisk__txt {
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.04em;
  }

  .section__subttl--lisk::before {
    width: 1.125rem;
    height: 1.875rem;
  }

  .section__subttl--lisk::after {
    width: 1.125rem;
    height: 1.875rem;
  }

  .lisk__box02 {
    padding: 1.5rem 0.9375rem;
  }

  .lisk__item__txt02 {
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.04em;
  }

  .check-list02 {
    padding-top: 0.5rem;
  }

  .lisk__txt03 {
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.04em;
  }

  .txt-navy--lisk {
    font-size: 2rem;
    letter-spacing: -0.08em;
  }

  .arrow {
    width: 17.9375rem;
  }

  .point {
    padding: 3rem 0;
  }

  .section__subttl--point {
    font-size: 1.125rem;
    padding-bottom: 0;
  }

  .point__item--reverse .point__contents {
    padding: 0.25rem 0.9375rem 3rem 0.9375rem;
  }

  .point__numWrapper {
    -webkit-transform: inherit;
            transform: inherit;
    position: absolute;
    top: 0;
    right: 0;
  }

  .fees {
    padding: 3rem 0;
  }

  .fees__img {
    width: 45.625rem;
    height: auto;
  }

  .reason {
    padding: 3rem 0;
  }

  .reason__Ttl {
    width: 15.0625rem;
    height: 2.1875rem;
    font-size: 1.5rem;
  }

  .recommend {
    padding: 5rem 0 3rem;
  }

  .drone {
    width: 6.4375rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 5%;
  }

  .recommend__content {
    padding-top: 4.3125rem;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 0.375rem;
    grid-row-gap: 2.8125rem;
  }

  .recommend__item01 {
    grid-area: 1/2/2/4;
  }

  .recommend__item02 {
    grid-area: 2/1/3/3;
  }

  .recommend__item03 {
    grid-area: 2/3/3/5;
  }

  .recommend__item04 {
    grid-area: 3/1/4/3;
  }

  .recommend__item05 {
    grid-area: 3/3/4/5;
  }

  .teacher {
    padding: 3rem 0;
  }

  .teacher__box {
    padding: 1.5rem 0.9375rem;
  }

  .teacher__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1.5rem;
    gap: 1.5rem;
  }

  .teacher__img {
    width: 100%;
  }

  .teacher__name {
    font-size: 1.5rem;
    line-height: 1.5;
  }

  .teacher__prof {
    font-size: 1rem;
  }

  .skill {
    padding: 3rem 0;
  }

  .bg__ttl.bg__ttl--skill {
    bottom: 21%;
    left: -51%;
  }

  .skill__item__txt {
    font-size: 1.375rem;
    letter-spacing: -0.04em;
  }

  .skill__item::before {
    width: 1rem;
    height: 1rem;
    margin-top: 0.625rem;
  }

  .step {
    padding: 3rem 0;
    background-image: url(../img/step-bg-sp.webp);
  }

  .step__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.25rem;
  }

  .trouble {
    background-image: url(../img/trouble-bg-sp.webp);
  }

  .trouble__content__ttl {
    padding-top: 5.25rem;
  }

  .section__ttl--trouble {
    font-size: 1.75rem;
  }

  .trouble__content__top {
    font-size: 1.5rem;
  }

  .trouble__content__top--big {
    font-size: 2rem;
  }

  .trouble__content__bottom {
    font-size: 1.75rem;
    line-height: 1.3;
  }

  .trouble__content__bottom--big {
    font-size: 3rem;
  }

  .trouble__icon {
    width: 2.3125rem;
    left: 9%;
  }

  .trouble__box {
    padding: 1.5rem 0.9375rem;
  }

  .trouble__item__txt {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
    line-height: 1.5;
  }

  .check-trouble {
    width: 1.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .trouble__txt {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
  }

  .however {
    padding-bottom: 3rem;
  }

  .however__arrow {
    width: 17.9375rem;
    height: 5.25rem;
    font-size: 1.5rem;
  }

  .however__arrow span {
    font-size: 1.5rem;
  }

  .however__txt02,
  .however__txt02 span {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
    padding-top: 0;
  }

  .however__txt02 {
    padding-top: 1rem;
  }

  .trouble-img {
    width: 100%;
    padding: 1.5rem 0;
  }
}
/*# sourceMappingURL=style.css.map */