@charset "UTF-8";
html {
  font-size: 2.6666666667vw;
}

@media screen and (min-width: 769px) {
  html {
    font-size: 0.7806401249vw;
  }
}
@media screen and (min-width: 1281px) {
  html {
    font-size: 10px;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

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

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

[id] {
  scroll-margin-top: 13rem;
}
@media screen and (max-width: 768px) {
  [id] {
    scroll-margin-top: 9.8rem;
  }
}

@-webkit-keyframes move-y {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
}

@keyframes move-y {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
}
.flipDown,
.flipLeft,
.flipLeftTop,
.flipRight,
.flipRightTop {
  opacity: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-animation: none;
          animation: none;
}

.animated.flipDown {
  -webkit-animation-name: flipDownAnime;
          animation-name: flipDownAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.animated.flipLeft {
  -webkit-animation-name: flipLeftAnime;
          animation-name: flipLeftAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.animated.flipLeftTop {
  -webkit-animation-name: flipLeftTopAnime;
          animation-name: flipLeftTopAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.animated.flipRight {
  -webkit-animation-name: flipRightAnime;
          animation-name: flipRightAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.animated.flipRightTop {
  -webkit-animation-name: flipRightTopAnime;
          animation-name: flipRightTopAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes flipDownAnime {
  from {
    -webkit-transform: perspective(2500px) rotateX(100deg);
            transform: perspective(2500px) rotateX(100deg);
    opacity: 0;
  }
  to {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0);
    opacity: 1;
  }
}

@keyframes flipDownAnime {
  from {
    -webkit-transform: perspective(2500px) rotateX(100deg);
            transform: perspective(2500px) rotateX(100deg);
    opacity: 0;
  }
  to {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes flipLeftAnime {
  from {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }
  to {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
@keyframes flipLeftAnime {
  from {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }
  to {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
@-webkit-keyframes flipLeftTopAnime {
  from {
    -webkit-transform: translate(-20px, 80px) rotate(-15deg);
            transform: translate(-20px, 80px) rotate(-15deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
@keyframes flipLeftTopAnime {
  from {
    -webkit-transform: translate(-20px, 80px) rotate(-15deg);
            transform: translate(-20px, 80px) rotate(-15deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
@-webkit-keyframes flipRightAnime {
  from {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
    opacity: 0;
  }
  to {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
@keyframes flipRightAnime {
  from {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
    opacity: 0;
  }
  to {
    -webkit-transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
            transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
@-webkit-keyframes flipRightTopAnime {
  from {
    -webkit-transform: translate(-20px, 80px) rotate(25deg);
            transform: translate(-20px, 80px) rotate(25deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate(0, 1) rotate(0deg);
            transform: translate(0, 1) rotate(0deg);
    opacity: 1;
  }
}
@keyframes flipRightTopAnime {
  from {
    -webkit-transform: translate(-20px, 80px) rotate(25deg);
            transform: translate(-20px, 80px) rotate(25deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate(0, 1) rotate(0deg);
            transform: translate(0, 1) rotate(0deg);
    opacity: 1;
  }
}
.swiper-button-next::after,
.swiper-button-prev::after {
  color: transparent;
}

.pink {
  color: #f45894;
  font-weight: 700;
}

.sky {
  color: #45b3e7;
}

.orange {
  color: #f7931e;
}

.cta-wrap {
  margin-top: 3.4rem;
  max-width: 77rem;
  margin-inline: auto;
  background-color: #ffff00;
  -webkit-box-shadow: 0 1.2rem 0 0 #ffe401;
          box-shadow: 0 1.2rem 0 0 #ffe401;
  border-radius: 100vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .cta-wrap {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .cta-wrap {
    max-width: 31.5rem;
    -webkit-box-shadow: 0 0.7rem 0 0 #ffe401;
            box-shadow: 0 0.7rem 0 0 #ffe401;
  }
}

.cta-btn {
  display: block;
  width: 100%;
  font-size: 4.2rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
  padding: 1.75rem 0;
  position: relative;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .cta-btn {
    font-size: 1.8rem;
    padding: 1.65rem 0;
  }
}
.cta-btn::before {
  position: absolute;
  content: "";
  width: 4rem;
  height: 4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 3.5rem;
  background-image: url(../images/icon_arrow_01.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .cta-btn::before {
    width: 2.3rem;
    height: 7.7rem;
    right: 1.7rem;
  }
}
.cta-btn::after {
  position: absolute;
  content: "";
  width: 5.2rem;
  height: 7.7rem;
  bottom: -1rem;
  right: 11.5rem;
  background-image: url(../images/icon_finger.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-animation: move-y 1s infinite alternate ease-in-out;
          animation: move-y 1s infinite alternate ease-in-out;
}
@media screen and (max-width: 768px) {
  .cta-btn::after {
    width: 2.7rem;
    height: 3.9rem;
    right: 3.2rem;
  }
}

.shine {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.shine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-transform: skewX(-20deg);
          transform: skewX(-20deg);
  -webkit-animation: shine 2s infinite;
          animation: shine 2s infinite;
}

@-webkit-keyframes shine {
  0% {
    -webkit-transform: translateX(-100%) skewX(-20deg);
            transform: translateX(-100%) skewX(-20deg);
    opacity: 0;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    -webkit-transform: translateX(150%) skewX(-20deg);
            transform: translateX(150%) skewX(-20deg);
    opacity: 0;
  }
}

@keyframes shine {
  0% {
    -webkit-transform: translateX(-100%) skewX(-20deg);
            transform: translateX(-100%) skewX(-20deg);
    opacity: 0;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    -webkit-transform: translateX(150%) skewX(-20deg);
            transform: translateX(150%) skewX(-20deg);
    opacity: 0;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 13rem;
  background-color: transparent;
  background-color: #fff;
  display: grid;
}
@media screen and (max-width: 768px) {
  .header {
    height: 9.8rem;
  }
}

.header__banner {
  background-color: #666666;
  text-align: center;
  height: 4.2rem;
  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;
}
@media screen and (max-width: 768px) {
  .header__banner {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    height: 3.8rem;
  }
}

.header__banner-text {
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .header__banner-text {
    font-size: 1.1rem;
  }
}

.header__banner-link {
  color: #ffff00;
}

.header__inner {
  width: 100%;
  max-width: 122.9rem;
  margin-inline: auto;
  height: 8.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .header__inner {
    height: 6rem;
    padding-right: 6rem;
    padding-left: 1.8rem;
  }
}

.header__name {
  max-width: 19rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .header__name {
    max-width: 17rem;
  }
}

.header__nav {
  height: inherit;
}

.header__nav-items {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__nav-item {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 3rem;
}

.header__nav-link {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  font-weight: 700;
  font-size: 1.5rem;
  position: relative;
}
.header__nav-link:hover {
  opacity: 1;
}
.header__nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0.3rem;
  background-color: #008dd7;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.header__nav-link:hover::after {
  width: 100%;
}

.header__nav-link.header__nav-link--contact {
  max-width: 25.1rem;
  width: 100vw;
  max-height: 5.2rem;
  background-color: #ffff00;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100vw;
  margin-left: 0.5rem;
  position: relative;
  padding-left: 3rem;
  color: #008dd7;
}
.header__nav-link.header__nav-link--contact:hover {
  opacity: 0.8;
}
.header__nav-link.header__nav-link--contact::before {
  position: absolute;
  content: "";
  width: 1.7rem;
  height: 1.4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 2.2rem;
  background-image: url(../images/icon_mail.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.header__nav-link.header__nav-link--contact::after {
  display: none;
}

.tel__button {
  background-color: #fff;
  width: 6rem;
  height: 6rem;
  position: relative;
}
.tel__button::before {
  position: absolute;
  content: "";
  width: 1.9rem;
  height: 2.2rem;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-image: url(../images/icon_tel.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.tel__button:hover {
  opacity: 1;
}

.tel__button span {
  font-size: 1.1rem;
  color: #1958a3;
  font-weight: 700;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0.6rem;
}

.hamburger {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  width: 6rem;
  height: 6rem;
  cursor: pointer;
  background-image: linear-gradient(45deg, #66ccff, #ff70a1);
}

.hamburger span {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #000;
  width: 2.1rem;
  height: 0.3rem;
  display: inline-block;
  background-color: #fff;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}

.hamburger span:nth-child(1) {
  top: 1.5rem;
}

.hamburger span:nth-child(2) {
  top: 2.25rem;
}

.hamburger span:nth-child(3) {
  top: 3rem;
}

.hamburger.is-active span:nth-child(1) {
  top: 2.25rem;
  left: 2rem;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
  top: 2.25rem;
  left: 2rem;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.hamburger__text {
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
  position: absolute;
  bottom: 0.6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-weight: 700;
}

.hamburger__text--close {
  display: none;
}

.hamburger.is-active .hamburger__text--close {
  display: block;
}

.hamburger.is-active .hamburger__text--menu {
  display: none;
}

.drawer-menu {
  width: 100%;
  height: calc(100dvh - 9.8rem);
  background-color: #efefef;
  position: fixed;
  top: 9.8rem;
  left: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
  opacity: 0;
  visibility: hidden;
  z-index: 5000;
  padding-bottom: 2rem;
  overflow-y: auto;
}

.drawer-menu.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  visibility: visible;
}

.drawer-menu__inner {
  padding-top: 2rem;
  width: 100%;
}

.drawer-menu__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  width: 32rem;
  margin-inline: auto;
  gap: 1.5rem;
}

.drawer-menu__item {
  display: inline-block;
  border-bottom: 0.1rem solid #fff;
}

.drawer-menu__item:last-child {
  border-bottom: none;
}

.drawer-menu__link {
  color: #008dd7;
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block;
  width: 32rem;
  text-align: left;
  margin-bottom: 1.5rem;
}

.drawer-menu__cta {
  margin-top: 1.5rem;
  width: 32rem;
  margin-inline: auto;
}

.drawer-menu__cta-btn {
  width: 100%;
  background-color: #ffff00;
  display: inline-block;
  padding: 1.55rem 0;
  font-size: 1.8rem;
  color: #008dd7;
  font-weight: 700;
  text-align: center;
  border-radius: 100vw;
  position: relative;
}
.drawer-menu__cta-btn::before {
  position: absolute;
  content: "";
  width: 2.6rem;
  height: 2.6rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.25rem;
  background-image: url(../images/icon_arrow_01.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.drawer-menu__cta-btn.drawer-menu__cta-btn--blue {
  margin-top: 2rem;
  background-color: #0071b3;
  background-image: none;
}
.drawer-menu__cta-btn.drawer-menu__cta-btn--blue::before {
  background-image: url(../images/icon_arrow_circle_blue.svg);
}

.drawer-menu__cta-caption {
  margin-top: 1rem;
  font-size: 1.2rem;
  text-align: center;
  color: #1958a3;
}

.mv {
  margin-top: 13rem;
  height: 62.4rem;
  overflow-x: clip;
  background-image: -webkit-gradient(linear, left top, right top, from(#bee8ff), to(#f0c7d3));
  background-image: linear-gradient(to right, #bee8ff, #f0c7d3);
}
@media screen and (max-width: 768px) {
  .mv {
    margin-top: 9.8rem;
    height: 41rem;
  }
}

.mv__inner {
  max-width: 128rem;
  margin-inline: auto;
  position: relative;
  height: inherit;
}

.mv__main {
  position: absolute;
  max-width: 128rem;
  top: 1rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .mv__main {
    top: 0;
    width: 100%;
  }
}

.mv__catch-wrap {
  position: absolute;
  top: 3.4rem;
  left: 18rem;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .mv__catch-wrap {
    top: 33.5rem;
    left: initial;
    right: 3rem;
  }
}

.mv__catch {
  width: 23.2rem;
}
@media screen and (max-width: 768px) {
  .mv__catch {
    width: 13.6rem;
  }
}

.mv__medal-wrap {
  position: absolute;
  top: 41rem;
  left: 18rem;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .mv__medal-wrap {
    top: 29rem;
    left: 1rem;
  }
}

.mv__medal {
  width: 34.8rem;
}
@media screen and (max-width: 768px) {
  .mv__medal {
    width: 18.8rem;
  }
}

.mv__medal-text {
  margin-top: 0.5rem;
  font-size: 1.3rem;
  color: #008dd7;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .mv__medal-text {
    margin-top: 0.5rem;
    margin-left: 0.5rem;
    font-size: 1.07rem;
  }
}

.benefit {
  background-color: #ebebeb;
  padding-top: 2.85rem;
  padding-bottom: 8rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .benefit {
    padding-top: 1rem;
    padding-bottom: 4rem;
  }
}

.benefit__inner {
  max-width: 93rem;
  margin-inline: auto;
  position: relative;
}
.benefit__inner::before {
  position: absolute;
  content: "";
  width: 120.2rem;
  height: 42.4rem;
  top: -4.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/benefit_deco.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .benefit__inner::before {
    width: 37.1rem;
    height: 13rem;
    top: -2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .benefit__inner {
    max-width: 35rem;
  }
}

.benefit__title {
  width: 65.6rem;
  margin-inline: auto;
  position: relative;
  z-index: 10;
  margin-bottom: 5.3rem;
}
@media screen and (max-width: 768px) {
  .benefit__title {
    width: 34.1rem;
    margin-inline: auto;
    margin-bottom: 6.3rem;
  }
}

.benefit__body {
  margin-top: -8rem;
  max-width: 93rem;
  margin-inline: auto;
  width: 100%;
  display: block;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .benefit__body {
    margin-top: -5.5rem;
    position: relative;
  }
  .benefit__body::before {
    display: none;
  }
}

.benefit__lists {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .benefit__lists {
    margin-top: 1rem;
    max-width: 34.2rem;
    margin-inline: auto;
  }
}

.benefit__list {
  font-size: 1.4rem;
  color: #666666;
  font-weight: 700;
  text-indent: -2.5em;
  padding-left: 2.5em;
}
@media screen and (max-width: 768px) {
  .benefit__list {
    font-size: 1rem;
  }
}

.benefit__list:not(:first-child) {
  margin-top: 0.2rem;
}

.about {
  background-image: -webkit-gradient(linear, right top, left top, from(#bee8ff), to(#f0c7d3));
  background-image: linear-gradient(to left, #bee8ff, #f0c7d3);
  padding-top: 6rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .about {
    padding-top: 3rem;
  }
}

.title {
  text-align: center;
  letter-spacing: 0.1em;
}

.main-title {
  font-size: 7.2rem;
  font-family: "orbitron", sans-serif;
  font-weight: 700;
  color: #fff;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .main-title {
    font-size: 3.6rem;
  }
}

.main-title.main-title--gradient {
  background: -webkit-linear-gradient(0deg, #bee8ff, #f0c7d3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sub-title {
  margin-top: -2rem;
  font-size: 1.9rem;
  color: #808080;
  display: block;
}
@media screen and (max-width: 768px) {
  .sub-title {
    margin-top: -0.4rem;
    font-size: 1rem;
  }
}

.about__swiper.swiper {
  margin-top: 3.5rem;
  max-width: 128rem;
  margin-inline: auto;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .about__swiper.swiper {
    margin-top: 2rem;
  }
}

.about__swiper.about__swiper--result {
  margin-top: 3.5rem;
}

.about__swiper-slide {
  width: 48rem;
  height: 25rem;
  background-image: url(../images/bg_deco-box.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 3.25rem;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide {
    width: 34.5rem;
    height: 19rem;
    gap: 2rem;
    margin: 0 1.5rem;
  }
}

.about__swiper-slide-info-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.about__swiper-slide-text-wrap {
  line-height: 1.1;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-text-wrap {
    line-height: 1.2;
  }
}

.about__swiper-slide-img {
  max-width: 10.7rem;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-img {
    max-width: 7.5rem;
  }
}

.about__swiper-slide-text {
  margin-top: 1rem;
  font-size: 1.4rem;
  color: #808080;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-text {
    font-size: 1rem;
  }
}

.about__swiper-slide-name {
  font-size: 2rem;
  color: #808080;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-name {
    font-size: 1.4rem;
  }
}

.about__swiper-slide-name span {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-name span {
    font-size: 1rem;
  }
}

.about__swiper-slide-sub-text {
  font-size: 3.4rem;
  color: #808080;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-sub-text {
    font-size: 2.4rem;
  }
}

.about__swiper-slide-sub-text.about__swiper-slide-sub-text--long {
  font-size: 2.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-sub-text.about__swiper-slide-sub-text--long {
    font-size: 1.7rem;
  }
}

.about__swiper-slide-main-text {
  font-size: 6rem;
  color: #f45894;
  font-weight: 700;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-main-text {
    font-size: 4.3rem;
  }
}

.about__swiper-slide-score-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  margin-top: 1.5rem;
}

.about__swiper-slide-score {
  font-size: 3.1rem;
  color: #008dd7;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-score {
    font-size: 2.2rem;
  }
}

.about__swiper-slide-score.about__swiper-slide-score--after {
  color: #f45894;
  text-decoration: underline;
  position: relative;
}
.about__swiper-slide-score.about__swiper-slide-score--after::before {
  position: absolute;
  content: "";
  width: 1.4rem;
  height: 1.9rem;
  top: 50%;
  left: -3rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../images/icon_arrow_blue02.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .about__swiper-slide-score.about__swiper-slide-score--after::before {
    width: 1rem;
    height: 1.3rem;
  }
}

.about__swiper-button-next.swiper-button-next {
  right: 35.5rem;
  top: 13rem;
}
@media screen and (max-width: 768px) {
  .about__swiper-button-next.swiper-button-next {
    top: 10rem;
    right: 0.7rem;
  }
}
.about__swiper-button-next.swiper-button-next::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .about__swiper-button-next.swiper-button-next::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.about__swiper-button-prev.swiper-button-prev {
  left: 35.5rem;
  top: 13rem;
}
@media screen and (max-width: 768px) {
  .about__swiper-button-prev.swiper-button-prev {
    top: 10rem;
    left: 0.7rem;
  }
}
.about__swiper-button-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .about__swiper-button-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.about__swiper-caption {
  margin-top: 1.5rem;
  max-width: 48rem;
  margin-inline: auto;
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .about__swiper-caption {
    margin-top: 1rem;
    max-width: 34.5rem;
    font-size: 1rem;
  }
}

.about__swiper-caption.about__swiper-caption--center {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about__swiper-caption.about__swiper-caption--center {
    text-align: left;
  }
}

.about__table {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .about__table {
    margin-top: 3rem;
  }
}

.about__table-title {
  max-width: 50.6rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .about__table-title {
    max-width: 34.5rem;
  }
}

.about__table-wrap {
  margin-top: 9.1rem;
  background-color: #fff;
  max-width: 98rem;
  margin-inline: auto;
  position: relative;
  padding-top: 24.5rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .about__table-wrap {
    margin-top: 4rem;
    max-width: 34.5rem;
    padding-top: 11rem;
    padding-bottom: 4rem;
  }
}
.about__table-wrap::before {
  position: absolute;
  content: "";
  width: 6.5rem;
  height: 5.1rem;
  top: -1rem;
  left: 4rem;
  background-image: url(../images/icon_quotation.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .about__table-wrap::before {
    width: 2.7rem;
    height: 2.1rem;
    left: 1.5rem;
  }
}
.about__table-wrap::after {
  position: absolute;
  content: "";
  width: 6.5rem;
  height: 5.1rem;
  bottom: -1.7rem;
  right: 4rem;
  background-image: url(../images/icon_quotation.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .about__table-wrap::after {
    width: 2.7rem;
    height: 2.1rem;
    bottom: -1rem;
    right: 1.5rem;
  }
}

.about__table-head {
  position: absolute;
  top: -6.3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 56.2rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .about__table-head {
    top: -1.8rem;
    max-width: 22.7rem;
  }
}

.about__table-head-text {
  font-size: 3.4rem;
  color: #008dd7;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .about__table-head-text {
    font-size: 1.6rem;
  }
}
.about__table-head-text::before {
  position: absolute;
  content: "";
  width: 4.1rem;
  height: 5.9rem;
  top: 2rem;
  left: 19.5rem;
  background-image: url(../images/icon_slash.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (max-width: 768px) {
  .about__table-head-text::before {
    width: 2rem;
    height: 3rem;
    top: 1rem;
    left: 3rem;
  }
}
.about__table-head-text::after {
  position: absolute;
  content: "";
  width: 4.1rem;
  height: 5.9rem;
  top: 2rem;
  right: 19.5rem;
  background-image: url(../images/icon_slash.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .about__table-head-text::after {
    width: 2rem;
    height: 3rem;
    top: 1rem;
    right: 3rem;
  }
}

.about__table-head-text span {
  color: #808080;
}

.about_table-img {
  margin-top: 2.8rem;
  max-width: 86.1rem;
  margin-inline: auto;
}

.about__swiper-table {
  margin-top: 1.7rem;
  max-width: 31.5rem;
}

.about__swiper-table-next.swiper-button-next {
  right: 35.5rem;
  top: 50%;
}
@media screen and (max-width: 768px) {
  .about__swiper-table-next.swiper-button-next {
    top: 30rem;
    right: -0.7rem;
  }
}
.about__swiper-table-next.swiper-button-next::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .about__swiper-table-next.swiper-button-next::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.about__swiper-table-prev.swiper-button-prev {
  left: 35.5rem;
  top: 50%;
}
@media screen and (max-width: 768px) {
  .about__swiper-table-prev.swiper-button-prev {
    top: 30rem;
    left: -0.7rem;
  }
}
.about__swiper-table-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .about__swiper-table-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .about__swiper-table-pagination.swiper-pagination {
    bottom: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
  .about__swiper-table-pagination .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
    background-color: #008dd7;
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .about__swiper-table-pagination .swiper-pagination-bullet-active {
    background-color: #fff;
    border: 0.1rem solid #008dd7;
    opacity: 1;
  }
}

.feature {
  margin-top: 8rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .feature {
    margin-top: 5rem;
  }
}

.feature__wrap-inner {
  padding-top: 8rem;
  padding-bottom: 4rem;
  width: 96.7rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .feature__wrap-inner {
    padding-top: 3.5rem;
    padding-bottom: 4.3rem;
    width: 32.8rem;
  }
}

.feature.feature--recommend {
  margin-top: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#bee8ff), to(#f0c7d3));
  background-image: linear-gradient(to right, #bee8ff, #f0c7d3);
}

.feature__wrap-inner.feature__wrap-inner--recommend {
  padding-top: 4.3rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .feature__wrap-inner.feature__wrap-inner--recommend {
    padding-top: 3.5rem;
    padding-bottom: 4.3rem;
  }
}

.feature__title-img {
  width: 52.2rem;
  margin-left: 2.2rem;
}
@media screen and (max-width: 768px) {
  .feature__title-img {
    width: 24.8rem;
    margin-left: 0;
  }
}

.feature__items {
  margin-top: 2.5rem;
  gap: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .feature__items {
    margin-top: 1.5rem;
    gap: 1.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  .feature__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
  }
}

.feature__item-img {
  width: 16.9rem;
  height: 16.9rem;
}
@media screen and (max-width: 768px) {
  .feature__item-img {
    width: 10.4rem;
    height: 10.4rem;
    margin-left: 0.5rem;
  }
}

.feature__title-img.feature__title-img--recommend {
  width: 85.9rem;
}
@media screen and (max-width: 768px) {
  .feature__title-img.feature__title-img--recommend {
    width: 32.8rem;
  }
}

.feature__item-text {
  margin-top: 0.7rem;
  font-size: 1.6rem;
  color: #008dd7;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.3;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .feature__item-text {
    font-size: 1.6rem;
    margin-top: 0;
    text-align: left;
    letter-spacing: 0.075em;
  }
}

.achievement {
  background-color: #ebebeb;
  padding-top: 5rem;
  padding-bottom: 8rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .achievement {
    padding-top: 3rem;
    padding-bottom: 4.5rem;
  }
}

.main-title.main-title--achievement {
  background: -webkit-linear-gradient(0deg, #bee8ff, #f0c7d3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.achievement_sub-read {
  margin-top: 2.5rem;
  max-width: 48.8rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .achievement_sub-read {
    max-width: 31.2rem;
  }
}

.achievement__main-read {
  font-size: 4.4rem;
  font-weight: 700;
  text-align: center;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .achievement__main-read {
    margin-top: 0;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}

.achievement__result {
  margin-top: 6.5rem;
  max-width: 128rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .achievement__result {
    margin-top: 3.5rem;
  }
}

.achievement__result-wrap.achievement__result-wrap--02 {
  margin-top: 6.3rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-wrap.achievement__result-wrap--02 {
    margin-top: 3.2rem;
  }
}

.achievement__result-wrap.achievement__result-wrap--03 {
  margin-top: 11.5rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-wrap.achievement__result-wrap--03 {
    margin-top: 4.2rem;
  }
}

.achievement__result-wrap.achievement__result-wrap--04 {
  margin-top: 8.5rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-wrap.achievement__result-wrap--04 {
    margin-top: 4.2rem;
  }
}

.achievement__result-wrap-inner {
  max-width: 98rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .achievement__result-wrap-inner {
    max-width: 34.5rem;
  }
}

.achievement__result-head {
  background-image: -webkit-gradient(linear, left top, right top, from(#dce8ff), to(#f0c7d3));
  background-image: linear-gradient(to right, #dce8ff, #f0c7d3);
  position: relative;
  padding-top: 4.8rem;
  padding-bottom: 2.3rem;
  padding-left: 4rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-head {
    padding-top: 2.8rem;
    padding-left: 1.5rem;
    padding-bottom: 1.6rem;
  }
}
.achievement__result-head::before {
  position: absolute;
  content: "";
  width: 28.8rem;
  height: 12.6rem;
  top: -3rem;
  right: 1.5rem;
  background-image: url(../images/bg_decoration.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .achievement__result-head::before {
    width: 12rem;
    height: 5.3rem;
    top: -0.6rem;
    right: 0.3rem;
  }
}

.achievement__result-title {
  position: absolute;
  top: -2.4rem;
  left: 6rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-title {
    left: 1.5rem;
    top: -1.25rem;
  }
}

.achievement__result-title.achievement__result-title--01 {
  max-width: 43.6rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-title.achievement__result-title--01 {
    max-width: 23.5rem;
  }
}

.achievement__result-title.achievement__result-title--02 {
  max-width: 51.8rem;
  position: relative;
  top: initial;
  left: 21rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-title.achievement__result-title--02 {
    max-width: 27.5rem;
    left: 3rem;
  }
}

.achievement__result-title.achievement__result-title--03 {
  max-width: 42.9rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-title.achievement__result-title--03 {
    max-width: 22.8rem;
  }
}

.achievement__result-title.achievement__result-title--04 {
  max-width: 56.3rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-title.achievement__result-title--04 {
    max-width: 30.5rem;
  }
}

.achievement__result-head-info {
  max-width: 83rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.6rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-head-info {
    gap: 0.8rem;
  }
}

.achievement__result-head-teacher {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.achievement__result-head-teacher-img {
  width: 15.2rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-head-teacher-img {
    width: 8.3rem;
  }
}

.achievement__result-head-teacher-name {
  font-size: 2rem;
  color: #008dd7;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .achievement__result-head-teacher-name {
    margin-top: 0.6rem;
    font-size: 1.1rem;
  }
}

.achievement__result-head-point-img {
  max-width: 18.8rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-head-point-img {
    width: 11.5rem;
  }
}

.achievement__result-head-point-text {
  margin-top: 1.3rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: #008dd7;
  letter-spacing: -0.01em;
}
@media screen and (max-width: 768px) {
  .achievement__result-head-point-text {
    margin-top: 0.4rem;
    font-size: 1.4rem;
    max-width: 22.1rem;
  }
}

.achievement__result-head-point-text.achievement__result-head-point-text--04 {
  letter-spacing: 0;
}

.achievement__result-body {
  background-color: #fff;
  padding: 1.1rem 6rem 4rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-body {
    padding: 1.5rem 1.5rem 2rem;
  }
}

.achievement__result-case-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-case-wrap {
    gap: 1.2rem;
  }
}

.achievement__result-case-title {
  font-size: 2rem;
  color: #008dd7;
  font-weight: 700;
  font-family: "din-2014", sans-serif;
  background-color: #d5ebf0;
  border-radius: 0.4rem;
  padding: 0.25rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-case-title {
    font-size: 1.2rem;
    padding: 0.2rem 0.85rem;
  }
}

.achievement__result-case-text {
  font-size: 2.4rem;
  color: #008dd7;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .achievement__result-case-text {
    font-size: 1.4rem;
  }
}

.achievement__result-case-img {
  max-width: 7.2rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-case-img {
    max-width: 3.5rem;
  }
}

.achievement__result-before-after-wrap {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .achievement__result-before-after-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.achievement__result-before-after-wrap::before {
  position: absolute;
  content: "";
  width: 7rem;
  height: 1.9rem;
  top: 4.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/icon_arrow_dots.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .achievement__result-before-after-wrap::before {
    top: 49%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 1.9rem;
    height: 3.9rem;
    background-image: url(../images/icon_arrow_dots_sp.svg);
  }
}

.achievement__result-before-wrap {
  background-color: #d5ebf0;
  max-width: 42rem;
  width: 100%;
  padding: 3rem 3.7rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-before-wrap {
    max-width: 31.5rem;
    padding: 1.5rem 2.5rem 2rem;
  }
}

.achievement__result-before-title {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  max-width: 28.2rem;
  background-color: #008dd7;
  margin-inline: auto;
  padding: 0.9rem 0;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  .achievement__result-before-title {
    max-width: 15.1rem;
    font-size: 1.2rem;
    padding: 0.6rem 0;
  }
}

.achievement__result-before-after-img {
  margin-top: 2.4rem;
}

.achievement__result-items {
  margin-top: 2rem;
  padding-left: 4rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-items {
    margin-top: 1.6rem;
    padding-left: 3.5rem;
  }
}

.achievement__result-items--before .achievement__result-item {
  color: #008dd7;
  position: relative;
}
.achievement__result-items--before .achievement__result-item::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  top: 0;
  left: -4.5rem;
  background-image: url(../images/icon_before.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .achievement__result-items--before .achievement__result-item::before {
    width: 1.87rem;
    height: 1.87rem;
    left: -3.5rem;
  }
}

.achievement__result-item {
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .achievement__result-item {
    font-size: 1.2rem;
  }
}

.achievement__result-item:not(:first-child) {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-item:not(:first-child) {
    margin-top: 1rem;
  }
}

.achievement__result-after-wrap {
  background-color: #f3dee8;
  max-width: 42rem;
  width: 100%;
  padding: 3rem 3.7rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-after-wrap {
    max-width: 31.5rem;
    padding: 1.5rem 2.5rem 2rem;
  }
}

.achievement__result-after-title {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  max-width: 28.2rem;
  background-color: #f45894;
  margin-inline: auto;
  padding: 0.9rem 0;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  .achievement__result-after-title {
    max-width: 15.1rem;
    font-size: 1.2rem;
    padding: 0.6rem 0;
  }
}

.achievement__result-items--after .achievement__result-item {
  color: #f45894;
  position: relative;
}
.achievement__result-items--after .achievement__result-item::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  top: 0;
  left: -4.5rem;
  background-image: url(../images/icon_after.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .achievement__result-items--after .achievement__result-item::before {
    width: 1.87rem;
    height: 1.87rem;
    left: -3.5rem;
  }
}

.achievement__result-check-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
  padding: 3rem 3rem 0;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    gap: 7rem;
  }
}

.achievement__result-check-img-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.achievement__result-check-img {
  width: 38.8rem;
}

.achievement__result-check-img.achievement__result-check-img--04 {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-img.achievement__result-check-img--04 {
    width: 24rem;
  }
}

.achievement__result-check-text-wrap {
  padding-top: 9.7rem;
  max-width: 34.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-text-wrap {
    padding-top: 0;
    max-width: 31.6rem;
  }
}
.achievement__result-check-text-wrap::before {
  position: absolute;
  content: "";
  width: 15.8rem;
  height: 8.2rem;
  top: 0.6rem;
  left: 0.3rem;
  background-image: url(../images/icon_check.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-text-wrap::before {
    width: 9rem;
    height: 4.8rem;
    top: -5.8rem;
  }
}

.achievement__result-check-text-wrap.achievement__result-check-text-wrap--04 {
  max-width: 34.7rem;
  padding-top: 11.5rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-text-wrap.achievement__result-check-text-wrap--04 {
    max-width: 31.5rem;
    padding-top: 0;
  }
}
.achievement__result-check-text-wrap.achievement__result-check-text-wrap--04::before {
  top: 1.7rem;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-text-wrap.achievement__result-check-text-wrap--04::before {
    top: -5.8rem;
  }
}

.achievement__result-check-text {
  font-size: 1.8rem;
  font-weight: 700;
  color: #008dd7;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768px) {
  .achievement__result-check-text {
    font-size: 1.4rem;
  }
}

.achievement__result-check-text span {
  color: #f45894;
}

.reason {
  padding-top: 4rem;
  padding-bottom: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason {
    padding-top: 3rem;
    padding-bottom: 7rem;
  }
}

.main-title.main-title--reason {
  background: -webkit-linear-gradient(0deg, #bee8ff, #f0c7d3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.reason_title-img {
  max-width: 30.2rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .reason_title-img {
    max-width: 21.1rem;
  }
}

.reason__swiper-container {
  margin-top: 4.5rem;
  max-width: 105.5rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__swiper-container {
    max-width: 34.5rem;
    margin-top: 3rem;
  }
}

.reason__swiper {
  max-width: 98rem;
  margin-inline: auto;
  overflow-x: clip;
  overflow-y: initial;
}

.reason__swiper-slide {
  background-color: #ebebeb;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__swiper-slide {
    max-width: 34.5rem;
    margin-inline: auto;
  }
}

.reason__swiper-slide-inner {
  max-width: 89rem;
  padding-top: 2.3rem;
  padding-left: 5.4rem;
  padding-bottom: 6.3rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-slide-inner {
    max-width: 31.6rem;
    padding-top: 1.7rem;
    padding-bottom: 5.5rem;
    margin-inline: auto;
    padding-left: initial;
  }
}

.reason__swiper-title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__swiper-title-wrap {
    gap: 1rem;
  }
}
.reason__swiper-title-wrap::before {
  position: absolute;
  content: "";
  width: 100%;
  max-width: 74.3rem;
  height: 0.4rem;
  bottom: -0.5rem;
  right: 0;
  background-image: url(../images/bg_dots_blue.png);
  background-size: contain;
  background-position: left;
  background-repeat: repeat-x;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .reason__swiper-title-wrap::before {
    max-width: 31.6rem;
    height: 0.25rem;
    bottom: -1.5rem;
    z-index: 10;
  }
}

.reason__swiper-title-img {
  max-width: 9rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-title-img {
    max-width: 5rem;
  }
}

.reason__swiper-title {
  font-size: 3rem;
  font-weight: 700;
  color: #008dd7;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .reason__swiper-title {
    font-size: 1.8rem;
  }
}

.reason__swiper-title.reason__swiper-title--double {
  margin-top: -1.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-title.reason__swiper-title--double {
    margin-top: 0;
  }
}

.reason__swiper-text-wrap {
  margin-left: 3.3rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-text-wrap {
    margin-left: 0;
  }
}

.reason__swiper-text-wrap.reason__swiper-text-wrap--flex {
  margin-left: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 39.5rem;
}

@media screen and (max-width: 768px) {
  .reason__swiper-text-wrap.reason__swiper-text-wrap--flex .reason__swiper-head {
    margin-top: 0;
  }
}

.reason__swiper-text-wrap.reason__swiper-text-wrap--column {
  margin-left: 0;
  max-width: 54.4rem;
}

.reason__swiper-head {
  margin-top: 2.7rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: #f45894;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .reason__swiper-head {
    margin-top: 3rem;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .reason__swiper-body-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.reason__swiper-body {
  margin-top: 1.1rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: #008dd7;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .reason__swiper-body {
    margin-top: 0.5rem;
    font-size: 1.4rem;
  }
}

.reason__swiper-body.reason__swiper-body--bold {
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .reason__swiper-body-wrap .reason__swiper-body {
    max-width: 14rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.reason__swiper-body.reason__swiper-body--single {
  margin-top: 2.5rem;
}

.reason__swiper-img-01 {
  margin-top: 1.2rem;
  max-width: 67rem;
  margin-left: 13.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-img-01 {
    margin-top: 0.5rem;
    max-width: 22rem;
    margin-left: 7rem;
  }
}

.reason__swiper-img-02 {
  margin-top: 1.5rem;
  max-width: 42.6rem;
  margin-left: 22rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-img-02 {
    margin-top: 1rem;
    max-width: 30rem;
    margin-inline: auto;
  }
}

.reason__swiper-img-03 {
  margin-top: 1rem;
  max-width: 39.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-img-03 {
    max-width: 16rem;
    height: 8.9rem;
  }
}

.reason__swiper-img-04,
.reason__swiper-img-05 {
  max-width: 24rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-img-04,
  .reason__swiper-img-05 {
    max-width: 16rem;
  }
}

.reason__swiper-img-06-01 {
  max-width: 21.7rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .reason__swiper-img-06-01 {
    max-width: 10.2rem;
  }
}

.reason__swiper-img-06-02 {
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .reason__swiper-img-06-02 {
    max-width: 10.5rem;
  }
}

.reason__swiper-voice-contents {
  position: relative;
  background-color: #008dd7;
  padding: 4rem 9rem 3.3rem 8.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-contents {
    padding: 3rem 0;
  }
}

.reason__swiper-voice-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 10;
  max-width: 78.8rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 31.6rem;
    margin-inline: auto;
    gap: 2.5rem;
  }
}

.reason__swiper-voice-icon {
  max-width: 25rem;
  position: absolute;
  top: -5.8rem;
  left: 8rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-icon {
    max-width: 16.5rem;
    top: -3.8rem;
    left: 1.2rem;
  }
}

.reason__swiper-voice-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.7rem;
}

.reason__swiper-voice-img {
  max-width: 9.1rem;
  height: 9.1rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-img {
    max-width: 7.5rem;
    height: 7.5rem;
  }
}

.reason__swiper-voice-text-wrap {
  max-width: 26rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-text-wrap {
    max-width: 22.3rem;
  }
}

.reason__swiper-voice-text-wrap.reason__swiper-voice-text-wrap--single {
  max-width: 69.2rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-text-wrap.reason__swiper-voice-text-wrap--single {
    max-width: 22.3rem;
  }
}

.reason__swiper-voice-head {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  padding-bottom: 0.3rem;
  border-bottom: 0.1rem solid #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-head {
    font-size: 1.2rem;
    width: 100%;
  }
}

.reason__swiper-voice-head span {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-head span {
    font-size: 1.4rem;
  }
}

.reason__swiper-voice-body {
  margin-top: 0.7rem;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .reason__swiper-voice-body {
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
  }
}

.reason__swiper-caption {
  position: absolute;
  bottom: -6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .reason__swiper-caption {
    font-size: 1rem;
    bottom: -4rem;
  }
}

.reason__swiper-button-prev.swiper-button-prev {
  position: absolute;
  top: 40%;
  left: -0.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-button-prev.swiper-button-prev {
    left: -1rem;
  }
}
.reason__swiper-button-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 2.3rem;
  height: 4.7rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .reason__swiper-button-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.reason__swiper-button-next.swiper-button-next {
  position: absolute;
  top: 40%;
  right: -0.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-button-next.swiper-button-next {
    right: -1rem;
  }
}
.reason__swiper-button-next.swiper-button-next::after {
  position: absolute;
  content: "";
  width: 2.3rem;
  height: 4.7rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .reason__swiper-button-next.swiper-button-next::after {
    width: 1.5rem;
    height: 3rem;
  }
}

.reason__swiper-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .reason__swiper-flex {
    margin-top: 2.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}

.reason__swiper-flex.reason__swiper-flex--06 {
  max-width: 76rem;
  gap: 11rem;
  margin-inline: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__swiper-flex.reason__swiper-flex--06 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
}
.reason__swiper-flex.reason__swiper-flex--06::before {
  position: absolute;
  content: "";
  width: 0.5rem;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/bg_dots_reason.png);
  background-size: contain;
  background-position: top;
  background-repeat: repeat-y;
}
@media screen and (max-width: 768px) {
  .reason__swiper-flex.reason__swiper-flex--06::before {
    top: -1rem;
    width: 0.22rem;
    height: 13.8rem;
  }
}

@media screen and (max-width: 768px) {
  .reason__swiper-flex.reason__swiper-flex--06 .reason__swiper-body {
    max-width: 13.6rem;
    margin-inline: auto;
  }
}

.reason__swiper-flex-wrap {
  max-width: 40rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-flex-wrap {
    max-width: 31.5rem;
  }
}

.reason__swiper-column {
  margin-top: 3rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .reason__swiper-column {
    margin-top: 3rem;
    margin-bottom: 0;
  }
}

.reason__swiper-column-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .reason__swiper-column-wrap {
    gap: 1.5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.reason__swiper-column-wrap .reason__swiper-body {
  margin-top: 0;
}

.reason__swiper-column-wrap:not(:first-child) {
  margin-top: 1.5rem;
}

.reason__swiper-point-img {
  max-width: 32.2rem;
}

.reason__swiper-read {
  margin-top: 3rem;
  margin-bottom: 3rem;
  margin-left: 4rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .reason__swiper-read {
    margin-left: 0;
    font-size: 1.6rem;
    letter-spacing: -0.02em;
  }
}

.reason__swiper-point-img-06 {
  margin-top: 1rem;
  margin-bottom: 1rem;
  max-width: 68.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .reason__swiper-point-img-06 {
    margin-top: 2rem;
  }
}

.cta {
  padding-top: 17rem;
  padding-bottom: 14rem;
}
@media screen and (max-width: 768px) {
  .cta {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.cta.cta--teacher {
  padding-top: 7rem;
  padding-bottom: 10rem;
  background-image: -webkit-gradient(linear, left top, right top, from(#bee8ff), to(#f0c7d3));
  background-image: linear-gradient(to right, #bee8ff, #f0c7d3);
}
@media screen and (max-width: 768px) {
  .cta.cta--teacher {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }
}

.cta__inner {
  max-width: 77rem;
  margin-inline: auto;
  position: relative;
  z-index: 10;
}
.cta__inner::before {
  position: absolute;
  content: "";
  width: 98rem;
  height: 45.4rem;
  top: -8.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/bg_cta_deco.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .cta__inner::before {
    background-image: url(../images/bg_cta_deco_sp.png);
    width: 34.5rem;
    height: 26.7rem;
    top: -4rem;
  }
}

.cta.cta--teacher .cta__inner::before {
  display: none;
}

.cta__title-img {
  width: 47.1rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .cta__title-img {
    width: 23.1rem;
  }
}

.cta__title {
  font-size: 3.7rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .cta__title {
    font-size: 1.8rem;
  }
}

.cta__title span {
  font-size: 4.8rem;
  color: #f45894;
}
@media screen and (max-width: 768px) {
  .cta__title span {
    font-size: 2.2rem;
  }
}

.cta__wrap.cta-wrap {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .cta__wrap.cta-wrap {
    margin-top: 1.5rem;
  }
}

.cta__caption {
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cta__caption {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
}

.cta.cta--result {
  padding-top: 7.3rem;
  padding-bottom: 8rem;
  background-image: -webkit-gradient(linear, right top, left top, from(#bee8ff), to(#f0c7d3));
  background-image: linear-gradient(to left, #bee8ff, #f0c7d3);
}
@media screen and (max-width: 768px) {
  .cta.cta--result {
    padding-top: 3.5rem;
    padding-bottom: 2.7rem;
  }
}

.cta__inner.cta__inner--result {
  max-width: 98rem;
}
.cta__inner.cta__inner--result::before {
  top: 12rem;
}
@media screen and (max-width: 768px) {
  .cta__inner.cta__inner--result::before {
    top: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .cta__inner.cta__inner--result {
    max-width: 34.5rem;
  }
}

.cta__white-wrap {
  padding-top: 3.5rem;
  padding-bottom: 4.5rem;
  border-radius: 4rem;
}
@media screen and (max-width: 768px) {
  .cta__white-wrap {
    padding: 2rem 1.4rem 2.5rem;
    border-radius: 2rem;
  }
}

.cta__head-img {
  max-width: 71.1rem;
  margin-inline: auto;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .cta__head-img {
    max-width: 25.4rem;
    margin-bottom: 2.7rem;
  }
}

.voice {
  background-color: #f8f6f1;
  padding-top: 3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .voice {
    padding-top: 3rem;
  }
}

.voice__inner {
  max-width: 128.1rem;
  margin-inline: auto;
  position: relative;
}

.voice__read-img {
  margin-top: 3rem;
  max-width: 49rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .voice__read-img {
    margin-top: 2rem;
    max-width: 34.5rem;
  }
}

.voice__swiper.swiper {
  margin-top: 2.2rem;
}

.voice__swiper-slide.swiper-slide {
  width: 49rem;
  height: 40.5rem;
  background-image: url(../images/bg_file_01.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 2.75rem;
  padding-top: 2.5rem;
  padding-left: 3.7rem;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide.swiper-slide {
    width: 34.5rem;
    height: 39.1rem;
    background-image: url(../images/bg_file_01_sp.png);
    padding-top: 2.5rem;
    padding-left: 1.4rem;
  }
}

.voice__swiper-slide-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 1.3rem;
}

@media screen and (max-width: 768px) {
  .voice__swiper-slide-head.voice__swiper-slide-head--ml {
    margin-left: 1rem;
  }
}

.voice__swiper-slide-img {
  max-width: 10.7rem;
  height: 10.7rem;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-img {
    max-width: 7.5rem;
    height: 7.5rem;
  }
}

.voice__swiper-slide-head-info {
  font-size: 1.4rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-head-info {
    font-size: 1.2rem;
  }
}

.voice__swiper-slide-head-info.voice__swiper-slide-head-info--guardian {
  color: #fff;
}

.voice__swiper-slide-head-name {
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-head-name {
    font-size: 1.4rem;
  }
}

.voice__swiper-slide-head-name.voice__swiper-slide-head-name--guardian {
  color: #fff;
}

.voice__swiper-slide-head-name span {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-head-name span {
    font-size: 1.1rem;
  }
}

.voice__swiper-slide-body {
  margin-top: 4rem;
  max-width: 41.8rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-body {
    max-width: 31.6rem;
  }
}

.voice__swiper-slide-body-title {
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-body-title {
    font-size: 1.6rem;
  }
}

.voice__swiper-slide-body-text {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide-body-text {
    font-size: 1.4rem;
  }
}

.voice__swiper-button-next.swiper-button-next {
  right: 35.5rem;
  top: 21rem;
}
@media screen and (max-width: 768px) {
  .voice__swiper-button-next.swiper-button-next {
    top: 20rem;
    right: 0.7rem;
  }
}
.voice__swiper-button-next.swiper-button-next::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .voice__swiper-button-next.swiper-button-next::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.voice__swiper-button-prev.swiper-button-prev {
  left: 35.5rem;
  top: 21rem;
}
@media screen and (max-width: 768px) {
  .voice__swiper-button-prev.swiper-button-prev {
    top: 20rem;
    left: 0.7rem;
  }
}
.voice__swiper-button-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .voice__swiper-button-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.voice__caption {
  margin-top: 1rem;
  max-width: 49rem;
  margin-inline: auto;
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .voice__caption {
    max-width: 34.5rem;
    font-size: 1rem;
  }
}

.voice__guardian {
  margin-top: 8rem;
  background-color: #fff;
  padding-top: 6rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  .voice__guardian {
    margin-top: 4rem;
    padding-top: 3.5rem;
    padding-bottom: 4rem;
  }
}

.voice__guardian-inner {
  max-width: 128.1rem;
  margin-inline: auto;
}

.voice__guardian-read-img {
  max-width: 49rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .voice__guardian-read-img {
    max-width: 34.5rem;
  }
}

.voice__guardian-read {
  margin-top: 1rem;
  font-size: 3.8rem;
  font-weight: 700;
  text-align: center;
  color: #008dd7;
  display: block;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .voice__guardian-read {
    font-size: 2rem;
  }
}

.voice__swiper.voice__swiper--guardian.swiper {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .voice__swiper.voice__swiper--guardian.swiper {
    margin-top: 2rem;
  }
}

.voice__swiper-slide.voice__swiper-slide--guardian {
  background-image: url(../images/bg_file_02.png);
  height: 24.5rem;
  padding-top: 4.5rem;
}
@media screen and (max-width: 768px) {
  .voice__swiper-slide.voice__swiper-slide--guardian {
    height: 18.1rem;
    padding-top: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .voice__swiper-slide.voice__swiper-slide--guardian .voice__swiper-slide-body {
    margin-top: 3rem;
  }
}

.voice__swiper-button-prev.voice__swiper-button-prev--guardian.swiper-button-prev {
  top: 13rem;
}

.voice__swiper-button-next.voice__swiper-button-next--guardian.swiper-button-next {
  top: 13rem;
}

.voice__movie {
  background-color: #ebebeb;
  padding-top: 19.5rem;
  padding-bottom: 14rem;
  position: relative;
}
.voice__movie::before {
  position: absolute;
  content: "";
  width: 120.2rem;
  height: 42.4rem;
  top: -3.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/movie_deco.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .voice__movie::before {
    width: 37.1rem;
    height: 13rem;
    top: -1.8rem;
    background-image: url(../images/benefit_deco.png);
  }
}
@media screen and (max-width: 768px) {
  .voice__movie {
    padding-top: 8.5rem;
    padding-bottom: 7rem;
  }
}

.voice__movie-inner {
  max-width: 78rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .voice__movie-inner {
    max-width: 34.5rem;
  }
}

.voice__movie-title {
  position: absolute;
  top: -19rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 71.3rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .voice__movie-title {
    top: -12.2rem;
    max-width: 20.6rem;
  }
}

.voice__movie-wrap {
  margin-top: 4rem;
  width: 78rem;
  height: 43.7rem;
}
@media screen and (max-width: 768px) {
  .voice__movie-wrap {
    margin-top: 1rem;
    width: 34.5rem;
    height: 19.4rem;
  }
}

.voice__movie-wrap iframe {
  width: 100%;
  height: 100%;
  border-width: 0.4rem;
  border-style: solid;
  border: 0.4rem solid;
  -o-border-image: linear-gradient(45deg, #66ccff, #ff70a1) 1;
     border-image: linear-gradient(45deg, #66ccff, #ff70a1) 1;
}
@media screen and (max-width: 768px) {
  .voice__movie-wrap iframe {
    border-width: 0.4rem;
  }
}

.voice__movie-caption {
  margin-top: 2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .voice__movie-caption {
    margin-top: 1rem;
    font-size: 1rem;
  }
}

.voice__cta {
  background-image: -webkit-gradient(linear, left top, right top, from(#bee8ff), to(#f0c7d3));
  background-image: linear-gradient(to right, #bee8ff, #f0c7d3);
  padding-top: 8.5rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .voice__cta {
    padding-top: 2.8rem;
    padding-bottom: 3.5rem;
  }
}

.voice__cta-inner {
  max-width: 98rem;
  margin-inline: auto;
  padding-top: 3.6rem;
  padding-bottom: 4.5rem;
  position: relative;
  z-index: 10;
  border-radius: 4rem;
}
.voice__cta-inner::before {
  position: absolute;
  content: "";
  width: 98rem;
  height: 45.4rem;
  top: -4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/bg_cta_deco.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .voice__cta-inner::before {
    background-image: url(../images/bg_cta_deco_sp.png);
    width: 34.5rem;
    height: 26.7rem;
    top: -1rem;
  }
}
@media screen and (max-width: 768px) {
  .voice__cta-inner {
    max-width: 34.5rem;
    padding-top: 2.5rem;
    padding-bottom: 2.8rem;
    border-radius: 2rem;
  }
}

.voice__cta-title {
  font-size: 3.7rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
  line-height: 1.4;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .voice__cta-title {
    font-size: 1.8rem;
  }
}

.voice__cta-title span {
  font-size: 4.8rem;
  color: #f45894;
  margin: 0 0.5rem;
}
@media screen and (max-width: 768px) {
  .voice__cta-title span {
    font-size: 2.2rem;
  }
}

.cta__caption.cta__caption--voice {
  margin-top: 2.7rem;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .cta__caption.cta__caption--voice {
    margin-top: 1.5rem;
  }
}

.cta__wrap.cta__wrap--voice.cta-wrap {
  position: relative;
}
@media screen and (max-width: 768px) {
  .cta__wrap.cta__wrap--voice.cta-wrap {
    max-width: 31.5rem;
  }
}
.cta__wrap.cta__wrap--voice.cta-wrap::after {
  position: absolute;
  content: "";
  width: 7.4rem;
  height: 16.7rem;
  top: -13rem;
  left: initial;
  right: 5rem;
  background-image: url(../images/bg_student.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .cta__wrap.cta__wrap--voice.cta-wrap::after {
    display: none;
  }
}

.teacher {
  padding-top: 8.5rem;
  padding-bottom: 7rem;
  position: relative;
  background-color: #f8f6f1;
}
@media screen and (max-width: 768px) {
  .teacher {
    padding-top: 5rem;
    padding-bottom: 4rem;
  }
}

.teacher__inner {
  max-width: 128.1rem;
  margin-inline: auto;
}

.teacher_read-img {
  margin-top: 2.8rem;
  max-width: 49rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .teacher_read-img {
    margin-top: 1.5rem;
    max-width: 34.5rem;
  }
}

.teacher__read {
  margin-top: 1rem;
  font-size: 3.8rem;
  font-weight: 700;
  text-align: center;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .teacher__read {
    margin-top: 0;
    font-size: 2rem;
  }
}

.teacher__swiper.swiper {
  margin-top: 1.5rem;
}

.teacher__swiper-slide.swiper-slide {
  width: 49rem;
  height: 40.5rem;
  background-image: url(../images/bg_file_03.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 2.75rem;
  padding-top: 2.5rem;
  padding-left: 3.7rem;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide.swiper-slide {
    width: 34.5rem;
    height: 34.2rem;
    background-image: url(../images/bg_file_03_sp.png);
    padding-top: 2.5rem;
    padding-left: 1.4rem;
  }
}

.teacher__swiper-slide-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 1.3rem;
}

@media screen and (max-width: 768px) {
  .teacher__swiper-slide-head.teacher__swiper-slide-head--ml {
    margin-left: 1rem;
  }
}

.teacher__swiper-slide-img {
  max-width: 10.7rem;
  height: 10.7rem;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-img {
    max-width: 7.5rem;
    height: 7.5rem;
  }
}

.teacher__swiper-slide-head-info {
  font-size: 1.4rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-head-info {
    font-size: 1.2rem;
  }
}

.teacher__swiper-slide-head-name {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-head-name {
    font-size: 1.4rem;
  }
}

.teacher__swiper-slide-head-name span {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-head-name span {
    font-size: 1.1rem;
  }
}

.teacher__swiper-slide-body {
  margin-top: 4rem;
  max-width: 41.8rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-body {
    max-width: 31.6rem;
  }
}

.teacher__swiper-slide-body-title {
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-body-title {
    font-size: 1.6rem;
  }
}

.teacher__swiper-slide-body-text {
  margin-top: 6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #008dd7;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-slide-body-text {
    margin-top: 4rem;
    font-size: 1.4rem;
  }
}

.teacher__swiper-button-next.swiper-button-next {
  right: 35.5rem;
  top: 21rem;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-button-next.swiper-button-next {
    top: 20rem;
    right: 0.7rem;
  }
}
.teacher__swiper-button-next.swiper-button-next::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-button-next.swiper-button-next::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.teacher__swiper-button-prev.swiper-button-prev {
  left: 35.5rem;
  top: 21rem;
}
@media screen and (max-width: 768px) {
  .teacher__swiper-button-prev.swiper-button-prev {
    top: 20rem;
    left: 0.7rem;
  }
}
.teacher__swiper-button-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .teacher__swiper-button-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.result {
  padding-top: 8.5rem;
  padding-bottom: 7.7rem;
  background-color: #f8f6f1;
}
@media screen and (max-width: 768px) {
  .result {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
}

.result__inner {
  max-width: 128.1rem;
  margin-inline: auto;
}

.result__read {
  margin-top: 3rem;
  font-size: 2.8rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .result__read {
    margin-top: 1rem;
    font-size: 2rem;
    line-height: 1.2;
  }
}

.result__buttons {
  margin-top: 2rem;
  width: 80rem;
  gap: 1rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .result__buttons {
    margin-top: 1.5rem;
    width: 33.5rem;
    row-gap: 1rem;
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.result__button {
  border-radius: 100vw;
  background-color: #fff;
  position: relative;
  border: 0.1rem solid #008dd7;
}
@media screen and (max-width: 768px) {
  .result__button {
    border-radius: 1.6rem;
  }
}
.result__button::before {
  position: absolute;
  content: "";
  width: 1.5rem;
  height: 1rem;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../images/icon_arrow_triangle.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .result__button::before {
    width: 1rem;
    height: 0.7rem;
    right: 0.7rem;
  }
}

.result__button button {
  font-size: 1.8rem;
  padding: 1.65rem 3.5rem 1.65rem 1.5rem;
  font-weight: 700;
  color: #008dd7;
  display: inline-block;
  width: 100%;
  min-width: 18.8rem;
}
@media screen and (max-width: 768px) {
  .result__button button {
    font-size: 1.6rem;
    padding: 0.5rem 2.3rem 0.5rem 1.7rem;
    min-width: initial;
  }
}

.result_read-img {
  margin-top: 2.8rem;
  max-width: 49rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .result_read-img {
    margin-top: 2.5rem;
    max-width: 34.5rem;
  }
}

.result__swiper.swiper {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .result__swiper.swiper {
    margin-top: 1rem;
  }
}

.result__swiper-slide.swiper-slide {
  width: 49rem;
  height: 40.5rem;
  background-image: url(../images/bg_file_01.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 2.75rem;
  padding-top: 3.5rem;
  padding-left: 3.7rem;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide.swiper-slide {
    width: 34.5rem;
    height: 39.1rem;
    background-image: url(../images/bg_file_01_sp.png);
    padding-top: 3rem;
    padding-left: 1.4rem;
  }
}

.result__swiper-slide-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 1.3rem;
}

.result__swiper-slide-head-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.result__swiper-slide-img {
  width: 10.7rem;
  height: 10.7rem;
  border-radius: 100vw;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  -o-object-position: center top;
     object-position: center top;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-img {
    width: 7.5rem;
    height: 7.5rem;
  }
}

.result__swiper-slide-head-success {
  font-size: 2.2rem;
  color: #f45894;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-head-success {
    font-size: 1.8rem;
  }
}

.result__swiper-slide-head-success.result__swiper-slide-head-success--small {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-head-success.result__swiper-slide-head-success--small {
    font-size: 1.4rem;
  }
}

.result__swiper-slide-head-info {
  font-size: 1.4rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-head-info {
    font-size: 1.2rem;
  }
}

.result__swiper-slide-head-name {
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-head-name {
    font-size: 1.4rem;
  }
}

.result__swiper-slide-head-name span {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-head-name span {
    font-size: 1.1rem;
  }
}

.result__swiper-slide-body {
  margin-top: 3.5rem;
  max-width: 41.8rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-body {
    margin-top: 3rem;
    max-width: 31.6rem;
  }
}

.result__swiper-slide-body-title {
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-body-title {
    font-size: 1.6rem;
  }
}

.result__swiper-slide-body-text {
  margin-top: 1rem;
  font-size: 1.55rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .result__swiper-slide-body-text {
    font-size: 1.4rem;
  }
}

.result__swiper-button-next.swiper-button-next {
  right: 35.5rem;
  top: 21rem;
}
@media screen and (max-width: 768px) {
  .result__swiper-button-next.swiper-button-next {
    top: 20rem;
    right: 0.7rem;
  }
}
.result__swiper-button-next.swiper-button-next::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .result__swiper-button-next.swiper-button-next::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.result__swiper-button-prev.swiper-button-prev {
  left: 35.5rem;
  top: 21rem;
}
@media screen and (max-width: 768px) {
  .result__swiper-button-prev.swiper-button-prev {
    top: 20rem;
    left: 0.7rem;
  }
}
.result__swiper-button-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 4.9rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_slide.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .result__swiper-button-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.result__swiper-caption {
  margin-top: 2rem;
  max-width: 49rem;
  margin-inline: auto;
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .result__swiper-caption {
    max-width: 34.5rem;
    font-size: 1rem;
  }
}

.result__copy-wrap {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .result__copy-wrap {
    margin-top: 3rem;
  }
}

.result__copy-top {
  font-size: 2.7rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .result__copy-top {
    font-size: 1.6rem;
  }
}

.result__copy-bottom {
  margin-top: 1.5rem;
  font-size: 3.8rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .result__copy-bottom {
    margin-top: 1rem;
    font-size: 2rem;
  }
}

.result__copy-bottom--small {
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .result__copy-bottom--small {
    font-size: 1.6rem;
  }
}

.result__contents {
  margin-top: 4.5rem;
  padding-top: 2.5rem;
  padding-bottom: 4.5rem;
  width: 98rem;
  background-color: #fff;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .result__contents {
    margin-top: 2rem;
    padding-top: 2rem;
    padding-bottom: 3rem;
    width: 35.1rem;
  }
}
.result__contents::before {
  position: absolute;
  content: "";
  width: 21.5rem;
  height: 23rem;
  bottom: 1rem;
  right: 3rem;
  background-image: url(../images/trophy.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .result__contents::before {
    width: 8.5rem;
    height: 9.1rem;
    bottom: -5rem;
    right: 1.5rem;
  }
}

.result__contents-year {
  width: 20rem;
  font-size: 2.4rem;
  border-radius: 100vw;
  padding: 0.55rem 0;
  margin-inline: auto;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: #008dd7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .result__contents-year {
    width: 10.4rem;
    font-size: 1.6rem;
    padding: 0.3rem 0;
  }
}

.result__wrap-title {
  margin-top: 2.5rem;
  font-size: 3.4rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .result__wrap-title {
    margin-top: 2rem;
    font-size: 2rem;
    width: auto;
  }
}

.result__wrap-title.result__wrap-title--best {
  position: relative;
}
.result__wrap-title.result__wrap-title--best::before {
  position: absolute;
  content: "";
  width: 8.6rem;
  height: 7.4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -11rem;
  background-image: url(../images/icon_best.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .result__wrap-title.result__wrap-title--best::before {
    width: 5rem;
    height: 4.4rem;
    right: -0.5rem;
    top: 40%;
  }
}

.result__wrap {
  width: 87.5rem;
  padding-bottom: 3rem;
  border-bottom: 0.5rem dotted #808080;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .result__wrap {
    width: 32rem;
    padding-bottom: 1.8rem;
    border-bottom: 0.2rem dotted #808080;
  }
}

.result__wrap-last {
  width: 86.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .result__wrap-last {
    width: 32rem;
  }
}

.result__text {
  margin-top: 2.5rem;
  font-size: 2.2rem;
  font-weight: 700;
  color: #808080;
  letter-spacing: 0.09em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .result__text {
    margin-top: 1rem;
    font-size: 1.6rem;
    word-break: auto-phrase;
  }
}

.result__caption-wrap {
  margin-top: 3rem;
  width: 86.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .result__caption-wrap {
    margin-top: 1.5rem;
    width: 31rem;
  }
}

.result__caption-detail {
  font-size: 1.6rem;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .result__caption-detail {
    font-size: 1.4rem;
  }
}

.result__caption {
  margin-top: 0;
  font-size: 1.4rem;
  color: #808080;
  line-height: 1.8;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .result__caption {
    margin-top: 0;
    font-size: 0.92rem;
    padding-left: 1em;
    text-indent: -1em;
  }
}

.result__caption.result__caption--first {
  margin-top: 1rem;
}

.info {
  background-color: #ebebeb;
  padding-top: 8.55rem;
  padding-bottom: 2rem;
  position: relative;
}
.info::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 15rem;
  bottom: -14.9rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #ebebeb;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .info::before {
    height: 4.5rem;
    bottom: -4.4rem;
  }
}
@media screen and (max-width: 768px) {
  .info {
    padding-top: 3rem;
    padding-bottom: 2rem;
  }
}

.info__inner {
  max-width: 98rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__inner {
    max-width: 34.5rem;
  }
}

.info__wrap.info__wrap--first {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .info__wrap.info__wrap--first {
    margin-top: 1.8rem;
  }
}

.info__wrap {
  margin-top: 7.8rem;
}
@media screen and (max-width: 768px) {
  .info__wrap {
    margin-top: 3rem;
  }
}

.info__sub-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .info__sub-title {
    font-size: 1.6rem;
  }
}

.info__sub-title span {
  font-size: 1.4rem;
  padding-left: 0.5rem;
}
@media screen and (max-width: 768px) {
  .info__sub-title span {
    font-size: 1.3rem;
    padding-left: 0.2rem;
  }
}

.info__body {
  margin-top: 2rem;
  padding: 4rem 0 3rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .info__body {
    margin-top: 1.5rem;
    padding: 2rem 0;
  }
}

.info__schedule-inner {
  max-width: 83rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__schedule-inner {
    max-width: 31.7rem;
  }
}

.info__table {
  max-width: 53.5rem;
  width: 100%;
  border: 0.1rem solid #008dd7;
  margin-inline: auto;
  border-collapse: collapse;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .info__table {
    max-width: 30rem;
  }
}

.info__table.info__table--schedule {
  max-width: 46.6rem;
  width: 100%;
}

.info__table thead th {
  font-size: 1.8rem;
  padding: 1rem 0;
  border-left: 0.1rem solid #fff;
  font-weight: 700;
  color: #fff;
  background-color: #008dd7;
}
@media screen and (max-width: 768px) {
  .info__table thead th {
    font-size: 1.2rem;
    padding: 1.05rem 0;
  }
}

.info__table th:nth-child(1),
.info__table td:nth-child(1) {
  width: 24rem;
}
@media screen and (max-width: 768px) {
  .info__table th:nth-child(1),
  .info__table td:nth-child(1) {
    width: 10.3rem;
  }
}

.info__table-first-td {
  font-size: 1.8rem;
  padding: 1.7rem 0;
  border: 0.1rem solid #fff;
  font-weight: 700;
  line-height: 1.4;
  background-color: #008dd7;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .info__table-first-td {
    font-size: 1.3rem;
    padding: 0;
    height: 7rem;
  }
}

@media screen and (max-width: 768px) {
  .info__table.info__table--schedule .info__table-first-td {
    height: 4rem;
  }
}

.info__table-first-td span {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .info__table-first-td span {
    font-size: 1rem;
  }
}

.info__table.info__table--price .info__table-first-td {
  height: 7rem;
}

.info__table-td {
  font-size: 1.8rem;
  padding: 1.7rem 0;
  border-left: 0.1rem solid #008dd7;
  font-weight: 700;
  color: #008dd7;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .info__table-td {
    font-size: 1.3rem;
    padding: 1rem 0;
  }
}

.info__table tbody tr:nth-child(even) {
  background-color: #def4fc;
}

.info__table.info__table--schedule tbody tr:nth-child(odd) {
  background-color: #def4fc;
}

.info__table.info__table--schedule tbody tr:nth-child(even) {
  background-color: #fff;
}

.info__table.info__table--price tbody tr:nth-child(even) {
  background-color: #def4fc;
}

.info__table-captions {
  margin-top: 1.5rem;
  width: 53.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__table-captions {
    margin-top: 1rem;
    width: 30rem;
  }
}

.info__table-caption {
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .info__table-caption {
    font-size: 1rem;
  }
}

.info__select {
  width: 83rem;
  border: 0.2rem solid #008dd7;
  border-radius: 1rem;
  background-color: #def4fc;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .info__select {
    width: 30rem;
    border: 0.1rem solid #008dd7;
    border-radius: 0.5rem;
  }
}
.info__select::before {
  position: absolute;
  content: "";
  width: 2.1rem;
  height: 1.05rem;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../images/select_arrow.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .info__select::before {
    width: 1.5rem;
    height: 0.75rem;
    right: 1rem;
  }
}

.info__select select {
  font-size: 1.8rem;
  padding: 1.25rem 2.5rem;
  font-weight: 700;
  color: #008dd7;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .info__select select {
    font-size: 1.3rem;
    padding: 1rem 1.3rem;
  }
}

.info__schedule-head {
  margin-top: 3.5rem;
  font-size: 2rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .info__schedule-head {
    margin-top: 1.8rem;
    font-size: 1.4rem;
  }
}

.info__schedule-head.info__schedule-head--mt {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .info__schedule-head.info__schedule-head--mt {
    margin-top: 2.6rem;
  }
}

.info__schedule-img {
  margin-top: 1rem;
}

.info__schedule-caption {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #808080;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .info__schedule-caption {
    margin-top: 1.2rem;
    font-size: 1rem;
  }
}

.info__schedule-caption a {
  color: #f45894;
  text-decoration: underline;
}

.info__schedule-pop-wrap {
  margin-top: 7rem;
  width: 53.5rem;
  border-radius: 3rem;
  margin-inline: auto;
  background-color: #f2f2f2;
  position: relative;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-wrap {
    margin-top: 4rem;
    width: 30rem;
    border-radius: 1.5rem;
  }
}
.info__schedule-pop-wrap::before {
  position: absolute;
  content: "";
  width: 8.4rem;
  height: 8.2rem;
  top: -2.5rem;
  left: -3rem;
  background-image: url(../images/icon_boy.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-wrap::before {
    width: 4.5rem;
    height: 4.4rem;
    top: -1rem;
    left: 0.5rem;
  }
}

.info__schedule-pop-title {
  font-size: 2.5rem;
  border-radius: 3rem 3rem 0 0;
  padding: 1.4rem 0;
  color: #fff;
  font-weight: 700;
  background-image: -webkit-gradient(linear, left top, right top, from(#66c8ff), to(#ff709d));
  background-image: linear-gradient(to right, #66c8ff, #ff709d);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-title {
    font-size: 1.4rem;
    padding: 1rem 0 1rem 3rem;
    border-radius: 1.5rem 1.5rem 0 0;
  }
}

.info__schedule-pop-head {
  margin-top: 1.3rem;
  font-size: 2.3rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-head {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
}

.info__schedule-pop-items {
  width: 42rem;
  margin-top: 1.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-items {
    width: 27.5rem;
    margin-top: 0.8rem;
  }
}

.info__schedule-pop-item {
  font-size: 1.8rem;
  font-weight: 600;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-item {
    font-size: 1.2rem;
  }
}

.info__schedule-pop-link-wrap {
  width: 30.3rem;
  padding-top: 1.8rem;
  padding-bottom: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-link-wrap {
    width: 25rem;
    padding-top: 1rem;
    padding-bottom: 1.2rem;
  }
}

.info__schedule-pop-link {
  font-size: 1.8rem;
  padding: 0.9rem 0;
  border-radius: 4rem;
  font-weight: 700;
  color: #008dd7;
  display: inline-block;
  background-color: #ffff00;
  width: 100%;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-link {
    font-size: 1.4rem;
    padding: 1rem 0;
  }
}
.info__schedule-pop-link::before {
  position: absolute;
  content: "";
  width: 1.35rem;
  height: 1.5rem;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../images/arrow_blue_right.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .info__schedule-pop-link::before {
    width: 1.2rem;
    height: 1.35rem;
    right: 1.5rem;
  }
}

.accordion {
  margin-top: 3rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .accordion {
    margin-top: 1.5rem;
  }
}

.accordion__item:not(:first-child) {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .accordion__item:not(:first-child) {
    margin-top: 0.6rem;
  }
}

.accordion__title {
  font-size: 2rem;
  padding: 1.3rem 6.6rem 1.3rem 5.6rem;
  border-radius: 1rem;
  cursor: pointer;
  position: relative;
  color: #fff;
  background-color: #008dd7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .accordion__title {
    font-size: 1.4rem;
    padding: 1rem 3.6rem 1rem 3rem;
    border-radius: 1rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.accordion__title div p span {
  font-size: 1.6rem;
  font-weight: 600;
  display: block;
}
@media screen and (max-width: 768px) {
  .accordion__title div p span {
    font-size: 1.3rem;
  }
}

.accordion__title-area {
  position: relative;
}
@media screen and (max-width: 768px) {
  .accordion__title-area {
    max-width: 20rem;
  }
}
.accordion__title-area::before {
  position: absolute;
  content: "●";
  font-size: 1.5rem;
  left: -3.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #ffeea9;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .accordion__title-area::before {
    font-size: 1rem;
    left: -2rem;
  }
}

.accordion__icon {
  width: 10.5rem;
}
@media screen and (max-width: 768px) {
  .accordion__icon {
    width: 5.1rem;
  }
}

.accordion__title::before,
.accordion__title::after {
  position: absolute;
  top: 50%;
  right: 2.1rem;
  width: 1.9rem;
  height: 0.3rem;
  border-radius: 1rem;
  content: "";
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .accordion__title::before,
  .accordion__title::after {
    right: 1rem;
    width: 1rem;
    height: 0.2rem;
  }
}

.accordion__title::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.accordion__title.is-open::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

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

.accordion__content {
  display: none;
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .accordion__content {
    padding: 1.6rem 0;
  }
}

.info__table.info__table--schedule td:nth-child(1) {
  width: 17rem;
}
@media screen and (max-width: 768px) {
  .info__table.info__table--schedule td:nth-child(1) {
    width: 10rem;
  }
}

.info__table.info__table--schedule td {
  font-weight: 600;
  padding: 1.3rem 0;
}
@media screen and (max-width: 768px) {
  .info__table.info__table--schedule td {
    padding: 1.1rem 0;
  }
}

.info_detail {
  display: none;
}

.info__price-title-img {
  max-width: 51.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__price-title-img {
    max-width: 30rem;
  }
}

.info__price-inner {
  max-width: 83rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .info__price-inner {
    max-width: 30rem;
  }
}

.info__price-copy {
  max-width: 51.3rem;
  margin-inline: auto;
}
.info__table.info__table--price {
  margin-top: 3.2rem;
  max-width: 83rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .info__table.info__table--price {
    margin-top: 1.5rem;
  }
}

.info__table-captions.info__table-captions--price {
  max-width: 83rem;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .info__table-captions.info__table-captions--price .info__table-caption {
    text-indent: -3em;
    padding-left: 3rem;
  }
}

.price-big {
  font-size: 4.6rem;
}
@media screen and (max-width: 768px) {
  .price-big {
    font-size: 2.3rem;
  }
}

.price-small {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .price-small {
    font-size: 1.4rem;
  }
}

.through {
  text-decoration: line-through;
}
@media screen and (max-width: 768px) {
  .through {
    font-size: 1rem;
  }
}

.info__table thead th span {
  font-size: 1.4rem;
  padding-left: 0.5rem;
}
@media screen and (max-width: 768px) {
  .info__table thead th span {
    font-size: 1.3rem;
    padding-left: 0.2rem;
  }
}

.info__table-td.info__table-td--price {
  line-height: 1;
  padding: 1.3rem 0;
}
@media screen and (max-width: 768px) {
  .info__table-td.info__table-td--price {
    line-height: 1.2;
    padding: 0;
  }
}

.info__table.info__table--price th {
  width: 27.6rem;
}
@media screen and (max-width: 768px) {
  .info__table.info__table--price th {
    width: auto;
  }
}

.special {
  padding-top: 18.5rem;
  padding-bottom: 10rem;
  background-color: #e2e4e4;
  position: relative;
}
.special::before {
  position: absolute;
  content: "";
  width: 120.2rem;
  height: 42.4rem;
  top: 5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/benefit_deco.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .special::before {
    width: 37.1rem;
    height: 13rem;
    top: -0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .special {
    padding-top: 6rem;
    padding-bottom: 3.5rem;
  }
}

.special__inner {
  width: 88rem;
  margin-inline: auto;
  position: relative;
  z-index: 30;
}
@media screen and (max-width: 768px) {
  .special__inner {
    width: 34.5rem;
  }
}

.special__title {
  width: 53.8rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .special__title {
    width: 34.5rem;
  }
}

.special__items {
  margin-top: 2rem;
  width: 88rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .special__items {
    margin-top: 1.6rem;
    width: 34.5rem;
  }
}

.special__item:not(:first-child) {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .special__item:not(:first-child) {
    margin-top: 0.6rem;
  }
}

.special__caption {
  margin-top: 1.7rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #008dd7;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .special__caption {
    margin-top: 1.1rem;
    font-size: 1rem;
  }
}

.special__benefit {
  margin-top: 3rem;
  max-width: 75rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .special__benefit {
    max-width: 32rem;
  }
}

.special__benefit-captions {
  margin-top: 1rem;
}

.special__benefit-caption {
  font-size: 1.4rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .special__benefit-caption {
    font-size: 1rem;
  }
}

.cta.cta--special {
  padding-top: 12rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  .cta.cta--special {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.cta__now {
  margin-top: 7rem;
  width: 40.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .cta__now {
    margin-top: 4.5rem;
    width: 19.6rem;
  }
}

.contact {
  padding-top: 1rem;
  padding-bottom: 4.5rem;
  background-image: -webkit-gradient(linear, left top, right top, from(#e5f2fd), to(#f2e3e8));
  background-image: linear-gradient(to right, #e5f2fd, #f2e3e8);
  position: relative;
}
.contact::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 23.6rem;
  top: -16rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: -webkit-gradient(linear, left top, right top, from(#e5f2fd), to(#f2e3e8));
  background-image: linear-gradient(to right, #e5f2fd, #f2e3e8);
  -webkit-clip-path: polygon(50% 65%, 100% 0, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(50% 65%, 100% 0, 100% 100%, 0 100%, 0 0);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .contact::before {
    height: 5.5rem;
    top: -5.49rem;
  }
}
@media screen and (max-width: 768px) {
  .contact {
    padding-top: 1rem;
    padding-bottom: 2.5rem;
  }
}

.contact__title {
  font-size: 3rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .contact__title {
    font-size: 1.8rem;
  }
}
.contact__title::before {
  position: absolute;
  content: "";
  width: 8.7rem;
  height: 3.3rem;
  top: -4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/contact_en.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .contact__title::before {
    width: 7rem;
    height: 3rem;
    top: -3rem;
    background-image: url(../images/contact_en_sp.png);
  }
}

.contact__wrap {
  margin-top: 3.8rem;
  width: 98rem;
  padding: 4rem 5.2rem 5.8rem 7rem;
  background-color: #fff;
  margin-inline: auto;
  border-radius: 4rem;
}
@media screen and (max-width: 768px) {
  .contact__wrap {
    margin-top: 2.2rem;
    width: 34.5rem;
    padding: 2rem 1rem 4rem 1rem;
    border-radius: 2rem;
  }
}

.contact-form__field {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .contact-form__field {
    margin-bottom: 2.5rem;
  }
}

.contact-form__field > dt {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 700;
  color: #666666;
}
@media screen and (max-width: 768px) {
  .contact-form__field > dt {
    margin-bottom: 1rem;
    font-size: 1.4rem;
  }
}

.contact-form__field > dd {
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .contact-form__field > dd {
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .form_li-margin {
    margin-top: 0.8rem !important;
  }
}

.contact-form__required {
  font-size: 1.6rem;
  color: #f45894;
}
@media screen and (max-width: 768px) {
  .contact-form__required {
    font-size: 1.2rem;
  }
}

.form-el__list--small > li {
  margin-top: 0;
}

.form-el__list--small > li:first-child {
  margin-top: 0;
}

.contact-custom__control_1 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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;
  bottom: 0.15rem;
  width: 2.8rem;
  height: 2.8rem;
  margin-right: 0.8rem;
  border: 0.1rem solid #4d4d4d;
  border-radius: 0.5rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #fff;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .contact-custom__control_1 {
    bottom: 0.15rem;
    width: 2.8rem;
    height: 2.8rem;
    margin-right: 0.8rem;
    border: 0.1rem solid #4d4d4d;
    border-radius: 0.5rem;
  }
}

input[type=checkbox]:checked + .contact-custom__control_1,
input[type=radio]:checked + .contact-custom__control_1 {
  border: 0.2rem solid #008dd7;
}

input[type=checkbox]:checked + .contact-custom__control_1::after,
input[type=radio]:checked + .contact-custom__control_1::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -70%) rotate(-45deg);
          transform: translate(-50%, -70%) rotate(-45deg);
  width: 1.2rem;
  height: 0.6rem;
  border-bottom: 0.2rem solid #008dd7;
  border-left: 0.2rem solid #008dd7;
  content: "";
}

.form-select {
  position: relative;
}

.form-el__list.form-el__list--small.form-el__list--gender {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--small.form-el__list--gender {
    gap: 5.5rem;
  }
}

.form-el__list--date > li > .form-select--size1,
.form-el__list--date > li > .form-select--size2 {
  width: 23rem;
}
@media screen and (max-width: 768px) {
  .form-el__list--date > li > .form-select--size1,
  .form-el__list--date > li > .form-select--size2 {
    width: 8.5rem;
  }
}

.form-select::after {
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-70%) rotate(-135deg);
          transform: translateY(-70%) rotate(-135deg);
  right: 2rem;
  width: 1rem;
  height: 1rem;
  border-top: 0.2rem solid #4d4d4d;
  border-left: 0.2rem solid #4d4d4d;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .form-select::after {
    right: 1rem;
  }
}

.form-select select {
  padding: 1rem 1rem 1rem 2rem;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  border: 0.1rem solid #4d4d4d;
  width: 100%;
  background-color: #fff;
  color: #666666;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
@media screen and (max-width: 768px) {
  .form-select select {
    padding: 0.75rem 1rem 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 1.6rem;
    border: 0.1rem solid #4d4d4d;
  }
}

.form-el__list.form-el__list--2col > li {
  width: 100%;
}

.form-el__list.form-el__list--2col > li:first-child {
  margin-top: 0;
}

input[type=text],
textarea {
  display: block;
  width: 100%;
  padding: 1rem 1rem 1rem 2rem;
  font-size: 1.6rem;
  border: 0.1rem solid #4d4d4d;
  border-radius: 0.5rem;
  background-color: #fff;
  color: #666666;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
@media screen and (max-width: 768px) {
  input[type=text],
  textarea {
    padding: 0.75rem 1rem 0.75rem 1.5rem;
    font-size: 1.6rem;
    border-radius: 0.5rem;
  }
}

input[type=text]::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  opacity: 0.6;
}

input[type=text]::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 0.6;
}

input[type=text]:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 0.6;
}

input[type=text]::-ms-input-placeholder, textarea::-ms-input-placeholder {
  opacity: 0.6;
}

input[type=text]::placeholder,
textarea::placeholder {
  opacity: 0.6;
}

textarea {
  height: 18.7rem;
  resize: vertical;
  resize: none;
}
@media screen and (max-width: 768px) {
  textarea {
    height: 19.1rem;
  }
}

textarea::-webkit-input-placeholder {
  font-size: 1.6rem;
  color: #8a99a1;
}

textarea::-moz-placeholder {
  font-size: 1.6rem;
  color: #8a99a1;
}

textarea:-ms-input-placeholder {
  font-size: 1.6rem;
  color: #8a99a1;
}

textarea::-ms-input-placeholder {
  font-size: 1.6rem;
  color: #8a99a1;
}

textarea::placeholder {
  font-size: 1.6rem;
  color: #8a99a1;
}
@media screen and (max-width: 768px) {
  textarea::-webkit-input-placeholder {
    color: transparent;
  }
  textarea::-moz-placeholder {
    color: transparent;
  }
  textarea:-ms-input-placeholder {
    color: transparent;
  }
  textarea::-ms-input-placeholder {
    color: transparent;
  }
  textarea::placeholder {
    color: transparent;
  }
}

.contact-custom_input input {
  opacity: 0;
  width: 0;
  height: 0;
}

input[type=text]:focus,
textarea:focus {
  border-color: #264571;
}

input[type=text]::-webkit-input-placeholder {
  color: #8a99a1;
}

input[type=text]::-moz-placeholder {
  color: #8a99a1;
}

input[type=text]:-ms-input-placeholder {
  color: #8a99a1;
}

input[type=text]::-ms-input-placeholder {
  color: #8a99a1;
}

input[type=text]::placeholder {
  color: #8a99a1;
}

.contact-custom__label {
  font-size: 1.8rem;
  color: #666666;
}
@media screen and (max-width: 768px) {
  .contact-custom__label {
    font-size: 1.6rem;
  }
}

.contact-custom__control_2 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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;
  bottom: 0.15rem;
  width: 3.1rem;
  height: 3.1rem;
  margin-right: 1rem;
  border: 0.1rem solid #4d4d4d;
  border-radius: 50%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #fff;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .contact-custom__control_2 {
    bottom: 0.15rem;
    width: 3.1rem;
    height: 3.1rem;
    margin-right: 1rem;
  }
}

input[type=radio]:checked + .contact-custom__control_2::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 50%;
  background-color: #008dd7;
  content: "";
}
@media screen and (max-width: 768px) {
  input[type=radio]:checked + .contact-custom__control_2::after {
    width: 3.1rem;
    height: 3.1rem;
  }
}

input[type=radio]:checked + .contact-custom__control_2::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: #fff;
  content: "";
  z-index: 10;
}
@media screen and (max-width: 768px) {
  input[type=radio]:checked + .contact-custom__control_2::before {
    width: 1.2rem;
    height: 1.2rem;
  }
}

.form-el__list--date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form-el__list.form-el__list--date > li {
  position: relative;
  margin-right: 2.5rem;
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--date > li {
    margin-right: 1.1rem;
    padding-right: 1.1rem;
  }
}

.form-el__list.form-el__list--date > li:nth-child(1)::after {
  display: inline-block;
  position: absolute;
  top: 1.5rem;
  right: -0.7rem;
  font-size: 1.6rem;
  content: "年";
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--date > li:nth-child(1)::after {
    top: 1.5rem;
    right: -0.7rem;
    font-size: 1.6rem;
  }
}

.form-el__list.form-el__list--date > li:nth-child(2)::after {
  display: inline-block;
  position: absolute;
  top: 1.5rem;
  right: -0.7rem;
  font-size: 1.6rem;
  content: "月";
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--date > li:nth-child(2)::after {
    top: 1.5rem;
    right: -0.7rem;
    font-size: 1.6rem;
  }
}

.form-el__list.form-el__list--date > li:nth-child(3)::after {
  display: inline-block;
  position: absolute;
  top: 1.5rem;
  right: -0.7rem;
  font-size: 1.6rem;
  content: "日";
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--date > li:nth-child(3)::after {
    top: 1.5rem;
    right: -0.7rem;
    font-size: 1.6rem;
  }
}

.tel-wrap > input[type=text] {
  display: inline-block;
  width: 16.9rem;
}
@media screen and (max-width: 768px) {
  .tel-wrap > input[type=text] {
    width: 9.7rem;
  }
}

.form-el__list.form-el__list--2col {
  gap: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--2col {
    gap: 0.4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--2col.form-el__list--name {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.form-el__list.form-el__list--2col.form-el__list--mail {
  gap: 0;
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--2col.form-el__list--mail {
    gap: 0.4rem;
  }
}

.notes_tel {
  margin-top: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #008dd7;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .notes_tel {
    margin-top: 0.6rem;
    font-size: 1rem;
    font-weight: normal;
    letter-spacing: -0.1em;
  }
}

.form-el__list.form-el__list--mail > li:first-child {
  padding-right: 3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--mail > li:first-child {
    padding-right: 2.5rem;
  }
}

.form-el__list.form-el__list--mail > li:first-child::after {
  display: inline-block;
  position: absolute;
  top: 1rem;
  right: 0.7rem;
  font-size: 1.8rem;
  content: "@";
}
@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--mail > li:first-child::after {
    font-size: 1.6rem;
    right: 0.25rem;
  }
}

.form-el__list--domain {
  display: none;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .form-el__list--domain {
    margin-top: 1rem;
  }
}

.form-el__list--domain.custom {
  display: block;
}

.contact-custom {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.contact-custom__input input {
  opacity: 0;
  width: 0;
  height: 0;
}

.privacy-policy {
  text-align: center;
  font-size: 1.8rem;
  color: #666666;
}
@media screen and (max-width: 768px) {
  .privacy-policy {
    font-size: 1.6rem;
  }
}

.privacy-policy > a {
  color: #264571;
  text-decoration: underline;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.privacy-policy > a:hover {
  opacity: 0.7;
  text-decoration: none;
}

.submit-button {
  font-size: 3.5rem;
  width: 63.8rem;
  height: 9rem;
  margin: 3rem auto 0;
  border-radius: 100vw;
  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;
  max-width: 100%;
  border: none;
  color: #008dd7;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  .submit-button {
    font-size: 1.8rem;
    width: 32rem;
    height: 5.5rem;
    margin: 2rem auto 0;
  }
}

.submit__wrap {
  width: 63.8rem;
  margin-inline: auto;
  position: relative;
  background-color: #ffff00;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  .submit__wrap {
    width: 32rem;
  }
}
.submit__wrap::before {
  position: absolute;
  content: "";
  width: 4rem;
  height: 4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 4.5rem;
  background-image: url(../images/icon_arrow_01.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .submit__wrap::before {
    width: 2.3rem;
    height: 0.9rem;
    right: 2rem;
  }
}
.submit__wrap:has(input:disabled)::before {
  opacity: 0.5;
}

.submit-button:hover {
  opacity: 0.7;
}

.non-click {
  opacity: 0.4;
  pointer-events: none;
}

.txt-error {
  font-size: 1.2rem;
  margin-top: 0.8rem;
  color: #ff776b;
}
@media screen and (max-width: 768px) {
  .txt-error {
    font-size: 1rem;
    margin-top: 0.5rem;
  }
}

.txt-error {
  display: none;
}

.privacy-policy a {
  color: #f45894;
  text-decoration: underline;
}

.footer {
  padding-top: 3rem;
  padding-bottom: 6rem;
  background-image: -webkit-gradient(linear, left top, right top, from(#e5f2fd), to(#f2e3e8));
  background-image: linear-gradient(to right, #e5f2fd, #f2e3e8);
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: 0;
    padding-bottom: 8rem;
  }
}

.footer__inner {
  max-width: 128.1rem;
  margin-inline: auto;
}

.footer__logo {
  width: 27.7rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    width: 19rem;
  }
}

.copyright {
  margin-top: 2rem;
  font-size: 1.5rem;
  text-align: center;
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .copyright {
    margin-top: 1.2rem;
    font-size: 1rem;
  }
}

.float__wrap {
  position: fixed;
  z-index: 100;
  top: 25%;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 768px) {
  .float__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 0;
    bottom: 0;
    right: initial;
    top: initial;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.float__wrap a:hover {
  opacity: 1;
}

.float__img {
  width: 5.5rem;
}
@media screen and (max-width: 768px) {
  .float__img {
    width: 6rem;
  }
}

.float__img.float__img--top {
  border-radius: 0 0 0 1rem;
}
@media screen and (max-width: 768px) {
  .float__img.float__img--top {
    border-radius: 0;
  }
}

@media screen and (max-width: 768px) {
  .float__link {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.float__contact {
  background-color: #ffff00;
  font-weight: 700;
  color: #008dd7;
  position: relative;
  height: 26rem;
  width: 5.5rem;
  font-size: 1.6rem;
  padding-top: 4rem;
  border-radius: 1rem 0 0 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  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;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .float__contact {
    height: 6rem;
    width: 25.5rem;
    font-size: 1.8rem;
    padding-left: 7.5rem;
    padding-top: 0;
    -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
            writing-mode: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 0;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
    border-radius: 0;
  }
}
.float__contact::before {
  position: absolute;
  content: "";
  width: 3.3rem;
  height: 3.3rem;
  top: 2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../images/icon_mail_02.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .float__contact::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 2.5rem;
  }
}

.contact.contact--inquiry {
  padding-top: 16rem;
}
@media screen and (max-width: 768px) {
  .contact.contact--inquiry {
    padding-top: 10rem;
  }
}

.contact__wrap.contact__wrap--inquiry {
  margin-top: 3.8rem;
  width: 98rem;
  padding: 7rem 5.2rem 5.8rem 7rem;
  background-color: #fff;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .contact__wrap.contact__wrap--inquiry {
    margin-top: 2.2rem;
    width: 34.5rem;
    padding: 2rem 1rem 4rem 1rem;
  }
}

.inquiry_title {
  font-size: 3.2rem;
  margin-bottom: 3.5rem;
  color: #008dd7;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .inquiry_title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}

.inquiry_text {
  font-size: 1.8rem;
  margin-bottom: 5rem;
  font-weight: 600;
  color: #666666;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .inquiry_text {
    max-width: 30rem;
    margin-inline: auto;
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .form-el__list.form-el__list--inquiry.form-el__list--2col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.submit__wrap.submit__wrap--inquiry {
  border-radius: 100vw;
}
.submit__wrap.submit__wrap--inquiry::before {
  width: 4.6rem;
  height: 4.6rem;
  right: 3rem;
  background-image: url(../images/arrow_submit.png);
}
@media screen and (max-width: 768px) {
  .submit__wrap.submit__wrap--inquiry::before {
    width: 2.4rem;
    height: 2.4rem;
    right: 2rem;
  }
}

.zip-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .zip-wrap {
    margin-bottom: 1.5rem;
  }
}

.zip-wrap input[type=text] {
  width: 18rem;
  margin-right: 3rem;
}
@media screen and (max-width: 768px) {
  .zip-wrap input[type=text] {
    width: 12rem;
    margin-right: 2rem;
  }
}

.zip-wrap > span {
  margin-right: 0.5rem;
}
@media screen and (max-width: 768px) {
  .zip-wrap > span {
    margin-right: 0.5rem;
  }
}

.postcode-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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;
  font-size: 1.8rem;
  padding: 1.5rem 2rem;
  border-radius: 5rem;
  border: none;
  background-color: #264571;
  color: #ffffff;
  font: inherit;
  line-height: 1.2;
  text-decoration: none;
  vertical-align: middle;
  outline: none;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  .postcode-btn {
    font-size: 1.3rem;
    padding: 0.5rem 2rem;
    border-radius: 5rem;
  }
}

.form-select.form-select--half {
  max-width: 50%;
}

.input-mt1 {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .input-mt1 {
    margin-top: 1rem;
  }
}

.thanks {
  margin-top: 10rem;
  padding-top: 3rem;
  background-image: -webkit-gradient(linear, left top, right top, from(#e5f2fd), to(#f2e3e8));
  background-image: linear-gradient(to right, #e5f2fd, #f2e3e8);
}
@media screen and (max-width: 768px) {
  .thanks {
    margin-top: 8.5rem;
    padding-top: 1rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

.thanks > .section_inner {
  margin-top: 7rem;
  padding: 10rem 9rem;
  max-width: 98rem;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 4rem 4rem 0 0;
}
@media screen and (max-width: 768px) {
  .thanks > .section_inner {
    margin-top: 2rem;
    padding: 3rem 1.5rem;
  }
}

.thanks_text01 {
  font-size: 3.2rem;
  font-weight: 700;
  color: #008dd7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .thanks_text01 {
    font-size: 2rem;
  }
}

.thanks_text02 {
  margin-top: 3rem;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 600;
  color: #808080;
}
@media screen and (max-width: 768px) {
  .thanks_text02 {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.7;
  }
}

.thanks_text02 a {
  font-weight: 700;
  color: #f45894;
}

.thanks_campaign {
  margin-top: 6.5rem;
}
@media screen and (max-width: 768px) {
  .thanks_campaign {
    margin-top: 5rem;
  }
}

.thanks_campaign_title {
  font-size: 3.2rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .thanks_campaign_title {
    font-size: 2rem;
  }
}

.thanks_campaign_title span {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .thanks_campaign_title span {
    font-size: 1.8rem;
  }
}

.thanks_campaign_contents {
  margin-top: 1.8rem;
}

.thanks_campaign_contents p,
.thanks_campaign_contents ol li,
.thanks_campaign_contents ul li {
  font-size: 1.8rem;
  color: #808080;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .thanks_campaign_contents p,
  .thanks_campaign_contents ol li,
  .thanks_campaign_contents ul li {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.thanks_campaign_contents ol li span {
  color: #f45894;
}

@media screen and (max-width: 768px) {
  .thanks_campaign_contents ul li {
    font-size: 1.2rem;
  }
}

.thanks_line-share-wrap {
  margin: 3rem 0;
  width: 100%;
  text-align: center;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .thanks_line-share-wrap {
    margin-bottom: 2rem;
  }
}

.thanks_line-share {
  max-width: 65rem;
  width: 100%;
  margin-inline: auto;
  background-color: #4cc264;
  color: #fff;
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  display: inline-block;
  padding: 2.65rem 0;
  border-radius: 100vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .thanks_line-share {
    max-width: 31.5rem;
    font-size: 1.8rem;
    padding: 1.25rem 0;
  }
}
.thanks_line-share::before {
  position: absolute;
  content: "";
  width: 4.6rem;
  height: 4.6rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 3rem;
  background-image: url(../images/arrow_submit.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .thanks_line-share::before {
    width: 2.4rem;
    height: 2.4rem;
    right: 2rem;
  }
}

.thanks_caution01 {
  margin-top: 3rem;
  max-width: 76.9rem;
}
@media screen and (max-width: 768px) {
  .thanks_caution01 {
    margin-top: 1rem;
  }
}

.thanks_caution01 li {
  font-size: 1.4rem !important;
}
@media screen and (max-width: 768px) {
  .thanks_caution01 li {
    font-size: 1rem !important;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.thanks_campaign_contents h3 {
  font-size: 2rem;
  margin-top: 4rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #008dd7;
}
@media screen and (max-width: 768px) {
  .thanks_campaign_contents h3 {
    font-size: 1.8rem;
    margin-top: 3rem;
    margin-bottom: 0.5rem;
  }
}

.thanks_campaign_contents > p > span {
  font-weight: 900;
  color: #f45894;
}

@media screen and (max-width: 768px) {
  .thanks_campaign_contents > a {
    display: block;
    margin: 2rem auto;
    padding: 1rem 0;
    background-color: #06c755;
    color: #ffffff;
    text-align: center;
    border-radius: 2rem;
    font-weight: 700;
    font-size: 1.6rem;
  }
}

.thanks_flow {
  margin-top: 0.5rem;
  padding-left: 1em;
  text-indent: -1em;
  text-align: justify;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .thanks_flow {
    margin-top: 1rem;
    padding-left: 1.75em;
    text-indent: -1.75em;
  }
}

.thanks_flow a {
  font-weight: 600;
  color: #f45894;
  text-decoration: underline;
}

.thanks_flow a:hover {
  opacity: 0.7;
  text-decoration: none;
}

@-webkit-keyframes shiny {
  0% {
    -webkit-transform: scale(0) rotate(25deg);
            transform: scale(0) rotate(25deg);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale(1) rotate(25deg);
            transform: scale(1) rotate(25deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(25deg);
            transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}

@keyframes shiny {
  0% {
    -webkit-transform: scale(0) rotate(25deg);
            transform: scale(0) rotate(25deg);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale(1) rotate(25deg);
            transform: scale(1) rotate(25deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(25deg);
            transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}
.footer.footer--thanks {
  background-color: #e2d9c3;
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .footer.footer--thanks {
    padding-bottom: 3rem;
  }
}

.thanks_line-register-wrap {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .thanks_line-register-wrap {
    margin-top: 4rem;
  }
}

.thanks_line-register {
  max-width: 65rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .thanks_line-register {
    max-width: 30rem;
  }
}

.thanks__kyoiku {
  max-width: 98rem;
  margin-inline: auto;
  background-color: #f8f5ef;
  padding-top: 3.5rem;
  padding-bottom: 5rem;
  border-radius: 0 0 4rem 4rem;
}
@media screen and (max-width: 768px) {
  .thanks__kyoiku {
    max-width: 34.5rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.thanks__kyoiku-inner {
  max-width: 88rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .thanks__kyoiku-inner {
    max-width: 30.5rem;
  }
}

.thanks__kyoiku-logo {
  max-width: 43.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .thanks__kyoiku-logo {
    max-width: 30rem;
  }
}

.thanks__kyoiku-text {
  margin-top: 4rem;
  font-size: 1.8rem;
  font-weight: 600;
  max-width: 80rem;
  margin-inline: auto;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .thanks__kyoiku-text {
    font-size: 1.6rem;
    margin-top: 3rem;
  }
}

.kyoiku__swiper-wrap {
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.kyoiku__swiper {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .kyoiku__swiper {
    margin-top: 3rem;
  }
}

.kyoiku__swiper-slide {
  background-color: #fff;
  width: 27.5rem;
  margin: 0 1.375rem;
}

.kyoiku__swiper-slide-body {
  padding: 1.8rem 2rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .kyoiku__swiper-slide-body {
    padding: 1.8rem 1.8rem 2.5rem;
  }
}

.kyoiku__swiper-slide-text {
  font-size: 1.4rem;
  font-weight: 600;
  color: #575757;
  line-height: 1.8;
  min-height: 5rem;
}

.kyoiku__swiper-slide-link {
  background-color: #f58155;
  display: inline-block;
  width: 100%;
  margin-top: 1rem;
  border-radius: 100vw;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 0.85rem 0;
  position: relative;
}
.kyoiku__swiper-slide-link::before {
  position: absolute;
  content: "";
  width: 0.6rem;
  height: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2rem;
  background-image: url(../images/icon_arrow_white_thin.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.kyoiku__swiper-button-next.swiper-button-next {
  right: 28rem;
  top: 15rem;
}
@media screen and (max-width: 768px) {
  .kyoiku__swiper-button-next.swiper-button-next {
    top: 15rem;
    right: -1rem;
  }
}
.kyoiku__swiper-button-next.swiper-button-next::before {
  position: absolute;
  content: "";
  width: 1.5rem;
  height: 3rem;
  top: 0;
  right: 0;
  background-image: url(../images/icon_arrow_gray_thin.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kyoiku__swiper-button-next.swiper-button-next::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.kyoiku__swiper-button-prev.swiper-button-prev {
  left: 28rem;
  top: 15rem;
}
@media screen and (max-width: 768px) {
  .kyoiku__swiper-button-prev.swiper-button-prev {
    top: 15rem;
    left: -1rem;
  }
}
.kyoiku__swiper-button-prev.swiper-button-prev::before {
  position: absolute;
  content: "";
  width: 1.5rem;
  height: 3rem;
  top: 0;
  left: 0;
  background-image: url(../images/icon_arrow_gray_thin.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .kyoiku__swiper-button-prev.swiper-button-prev::before {
    width: 1.5rem;
    height: 3rem;
  }
}

.thanks__sns {
  padding-top: 4rem;
  padding-bottom: 4rem;
  max-width: 98rem;
  margin-inline: auto;
}

.thanks__sns-title {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #666666;
}
@media screen and (max-width: 768px) {
  .thanks__sns-title {
    font-size: 1.6rem;
  }
}

.thanks__sns-items {
  margin-top: 1.5rem;
  max-width: 19.5rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.thanks__sns-item {
  width: 100%;
  height: auto;
}

.thanks__sns-icon {
  max-width: 4rem;
}

img[src*="mobadme.jp"] {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#botbonnie-chatbox {
  position: fixed !important;
  pointer-events: auto !important;
}/*# sourceMappingURL=style.css.map */