@charset "UTF-8";
@import "./other/common.css";
@import "./other/fontawesome.min.css";
@import "./other/page.css";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;900&display=swap");
@font-face {
  font-family: "GenJyu";
  src: url("../../../../rwd/font/GenJyuuGothic-Regular.woff") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "GenJyu";
  src: url("../../../../rwd/font/GenJyuuGothic-Medium.woff") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "GenJyu";
  src: url("../../../../rwd/font/GenJyuuGothic-Bold.woff") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "GenJyu";
  src: url("../../../../rwd/font/GenJyuuGothic-Heavy.woff") format("truetype");
  font-weight: 900;
  font-style: normal;
}

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

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

dl {
  margin: 0;
}

dd {
  margin-left: 0;
  display: block;
}

.l-lp main {
  color: #222;
  font-family: "GenJyu", sans-serif;
  letter-spacing: 0;
}

.l-inner {
  width: calc(335 / 375 * 100vw);
  margin: 0 auto;
}

.l-NewFooter_snav {
  display: none;
}

.l-headerLp {
  border: none;
}

.l-headerLp__logo {
  background: #fff;
  position: fixed;
  padding: calc(14.85 / 375 * 100vw) calc(15 / 375 * 100vw);
  width: calc(200 / 375 * 100vw);
  z-index: 999999;
  border-radius: 0 0 calc(10 / 375 * 100vw) 0;
  top: 0;
  left: 0;
}

.l-headerLp__float {
  position: fixed;
  display: flex;
  gap: calc(10 / 375 * 100vw);
  bottom: calc(6 / 375 * 100vw);
  left: 50%;
  transform: translateX(-50%);
  z-index: 99;
}

.l-headerLp__floatCta {
  width: calc(178 / 375 * 100vw);
  height: calc(48 / 375 * 100vw);
  background: #ff8d05;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
  font-family: "GenJyu", sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: calc(14 / 375 * 100vw);
  letter-spacing: 0;
  line-height: 1;
  border-radius: calc(8 / 375 * 100vw);
  transition: all 0.3s ease;
}

.l-headerLp__floatCta:hover {
  background: #ff6d05;
  text-decoration: none;
  color: #fff;
}

.l-headerLp__floatTell {
  width: calc(148 / 375 * 100vw);
  height: calc(48 / 375 * 100vw);
  background: #5bb647;
  padding: calc(8 / 375 * 100vw) 0 calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
  border-radius: calc(8 / 375 * 100vw);
  transition: all 0.3s ease;
}

.l-headerLp__floatTell:hover {
  text-decoration: none;
  background: #176500;
}

.l-headerLp__floatTell:hover i {
  color: #176500;
}

.l-headerLp__floatTellIconTxt {
  width: calc(124 / 375 * 100vw);
  height: calc(21 / 375 * 100vw);
  display: flex;
  gap: calc(10 / 375 * 100vw);
  align-items: center;
  justify-content: center;
}

.l-headerLp__floatTellIcon {
  width: calc(21 / 375 * 100vw);
  height: calc(21 / 375 * 100vw);
  display: inline-block;
  background: #fff;
  border-radius: calc(10.5 / 375 * 100vw);
  position: relative;
}

.l-headerLp__floatTellIcon i {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  color: #5bb647;
  transform: scaleX(-1);
  font-size: calc(12 / 375 * 100vw);
}

.l-headerLp__floatTellIcon i::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(3 / 375 * 100vw);
}

.l-headerLp__floatTellTxt1 {
  color: #fff;
  font-weight: 700;
  font-size: calc(14 / 375 * 100vw);
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
  font-family: "GenJyu", sans-serif;
}

.l-headerLp__floatTellTxt2 {
  display: block;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: calc(10 / 375 * 100vw);
  letter-spacing: 0;
  line-height: 1;
  font-family: "GenJyu", sans-serif;
}

.u-hidden-pc {
  display: none;
}

.u-d-pc {
  display: block;
}

.u-d-sp {
  display: none;
}

.u-marker-yellow20 {
  background: linear-gradient(
    transparent 75%,
    #ffdc26 75%,
    #ffdc26 95%,
    transparent 95%
  );
}

.u-marker-yellow40 {
  background: linear-gradient(
    transparent 60%,
    #ffdc26 60%,
    #ffdc26 95%,
    transparent 95%
  );
}

.u-marker-yellow50 {
  background: linear-gradient(
    transparent 45%,
    #ffdc26 45%,
    #ffdc26 95%,
    transparent 95%
  );
}

.c-lpTtl {
  font-family: "GenJyu", sans-serif;
  font-weight: 700;
  font-size: calc(24 / 375 * 100vw);
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  margin: calc(14 / 375 * 100vw) auto 0;
  padding-bottom: calc(15 / 375 * 100vw);
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.c-lpTtl::after {
  content: "";
  display: block;
  width: calc(264 / 375 * 100vw);
  height: calc(40 / 375 * 100vw);
  background-image: url("../img/h2_whypeppy.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  bottom: 0;
  left: calc(-8 / 375 * 100vw);
}

.c-lpTtl .u-txtL {
  font-size: calc(32 / 375 * 100vw);
}

.c-lpTtl .u-col_green {
  color: #5bb647;
}

.c-lpTtlTxt1 {
  display: block;
}

.c-lpTtlTxt2 {
  display: block;
  margin-top: calc(8 / 375 * 100vw);
}

.c-lpTtlHead {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: calc(26 / 375 * 100vw);
  line-height: calc(26 / 375 * 100vw);
  text-align: center;
  padding: 0 calc(6 / 375 * 100vw);
  font-family: "GenJyu", sans-serif;
  font-weight: 700;
  font-size: calc(12 / 375 * 100vw);
  background: #5bb647;
  color: #fff;
  min-width: calc(107 / 375 * 100vw);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.c-lpTtlHead::before,
.c-lpTtlHead::after {
  position: absolute;
  content: "";
  width: 0px;
  height: 0px;
  z-index: 1;
}

.c-lpTtlHead::before {
  top: 0;
  left: 0;
  border-width: calc(13 / 375 * 100vw) 0px calc(13 / 375 * 100vw)
    calc(6 / 375 * 100vw);
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.c-lpTtlHead::after {
  top: 0;
  right: 0;
  border-width: calc(13 / 375 * 100vw) calc(6 / 375 * 100vw)
    calc(13 / 375 * 100vw) 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.c-cta__inner {
  padding-top: calc(20 / 375 * 100vw);
}

.c-cta__cont {
  padding: calc(15 / 375 * 100vw) calc(15 / 375 * 100vw) calc(20 / 375 * 100vw);
}

.c-cta__form {
  padding-top: calc(44 / 375 * 100vw);
  position: relative;
}

.c-cta__form::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(22 / 375 * 100vw);
  z-index: -1;
  width: calc(64.98 / 375 * 100vw);
  height: calc(64.98 / 375 * 100vw);
  background: url(../img/cta_img.webp) no-repeat center/contain;
}

.c-cta__form::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-4 / 375 * 100vw);
  width: calc(22 / 375 * 100vw);
  height: calc(19.98 / 375 * 100vw);
  background: url(../img/cta_icon.webp) no-repeat center/contain;
}

.c-cta__form--classroom {
  padding-top: calc(20 / 375 * 100vw);
}

.c-cta__form--classroom::before,
.c-cta__form--classroom::after {
  content: none;
}

.c-cta__form--classroom > .c-cta__catch {
  left: 50%;
  transform: translateX(-50%);
  width: calc(177 / 375 * 100vw);
  white-space: nowrap;
}

.c-cta__form--classroom > .c-cta__btn {
  background: #1bb9db;
}

.c-cta__form--classroom > .c-cta__btn:hover {
  background: #2592f2;
}

.c-cta__form--classroom > .c-cta__btn:hover i::before {
  color: #2592f2;
}

.c-cta__form--classroom .c-cta__btnTxt i::before {
  color: #1bb9db;
}

.c-cta__catch {
  position: absolute;
  top: calc(19.98 / 375 * 100vw);
  right: calc(37.51 / 375 * 100vw);
  font-weight: 700;
  font-size: calc(16 / 375 * 100vw);
  line-height: 1;
  letter-spacing: 0.08em;
}

.c-cta__catch::before,
.c-cta__catch::after {
  position: absolute;
  top: 0;
  content: "";
  width: 3px;
  height: calc(18 / 375 * 100vw);
  border-radius: 3px;
  background: #292929;
}

.c-cta__catch::before {
  left: calc(-13 / 375 * 100vw);
  transform: rotate(-20deg);
}

.c-cta__catch::after {
  right: calc(-13 / 375 * 100vw);
  transform: rotate(20deg);
}

.c-cta__btn {
  border-radius: calc(10 / 375 * 100vw);
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.0784313725);
  overflow: hidden;
  background: #ff8d05;
  transition: all 0.3s ease;
}

.c-cta__btn:hover {
  background-color: #ff5800;
}

.c-cta__btn:hover a {
  text-decoration: none;
}

.c-cta__btn:hover i {
  color: #ff5800;
}

.c-cta__btn--tel {
  background: #5bb647;
  position: relative;
  margin-top: calc(20 / 375 * 100vw);
}

.c-cta__btn--tel i {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  color: #5bb647;
  transform: scaleX(-1);
  font-size: calc(12 / 375 * 100vw);
  background: #fff;
  width: calc(21 / 375 * 100vw);
  height: calc(21 / 375 * 100vw);
  border-radius: calc(10.5 / 375 * 100vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(19.98 / 375 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: calc(3 / 375 * 100vw);
}

.c-cta__btn--tel:hover {
  background-color: #176500;
}

.c-cta__btn--tel:hover i {
  color: #176500;
}

.c-cta__btnTxt {
  position: relative;
  display: block;
}

.c-cta__btnTxt::before {
  content: "";
  position: absolute;
  border-style: dashed;
  border-color: #fff;
  top: 0.8vw;
  left: 0.8vw;
  right: 0.8vw;
  bottom: 0.8vw;
  border-width: 0.53333vw;
  border-radius: 2.66667vw;
}

.c-cta__btnTxt--tel {
  width: calc(305 / 375 * 100vw);
  height: calc(70 / 375 * 100vw);
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: calc(3.12 / 375 * 100vw);
  padding-left: calc(25 / 375 * 100vw);
}

.c-cta__btnTxt__txt1 {
  width: calc(305 / 375 * 100vw);
  height: calc(90 / 375 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 700;
  font-size: calc(20 / 375 * 100vw);
  letter-spacing: 0.08em;
  padding-right: 8vw;
}

.c-cta__btnTxt__txt2 {
  color: #fff;
  font-weight: 700;
  font-size: calc(24 / 375 * 100vw);
  line-height: 1.3329166667;
  letter-spacing: 0.08em;
  text-align: center;
}

.c-cta__btnTxt__txt3 {
  color: #fff;
  font-weight: 700;
  font-size: calc(11 / 375 * 100vw);
  line-height: 1.3327272727;
  letter-spacing: 0.08em;
  text-align: center;
}

.c-cta__btnTxt i {
  color: #ff8d05;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 900;
  background: #fff;
  width: calc(21 / 375 * 100vw);
  height: calc(21 / 375 * 100vw);
  border-radius: calc(10.5 / 375 * 100vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(22 / 375 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
}
@keyframes rotateAnimation {
  0% {
    transform: rotate(0deg);
  }

  20% {
    transform: rotate(0deg);
  }

  40% {
    transform: rotate(0deg);
  }

  70% {
    transform: rotate(-20deg);
  }

  80% {
    transform: rotate(40deg);
  }

  90% {
    transform: rotate(-10deg);
  }

  100% {
    transform: rotate(10deg);
  }
}
@keyframes floatAnimation {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}
@keyframes katakata {
  0% {
    transform: translateY(-2px) rotate(6deg);
  }

  10% {
    transform: translate(0) rotate(0deg);
  }

  20% {
    transform: translate(0) rotate(-6deg);
  }

  30% {
    transform: translateY(-2px) rotate(0deg);
  }

  40% {
    transform: translateY(-2px) rotate(6deg);
  }

  50% {
    transform: translate(2px) rotate(-2deg);
  }

  60% {
    transform: translateY(2px) rotate(0deg);
  }

  70% {
    transform: translate(0) rotate(6deg);
  }

  80% {
    transform: translate(2px) rotate(-2deg);
  }

  90% {
    transform: translate(0) rotate(0deg);
  }

  100% {
    transform: translateY(-2px) rotate(6deg);
  }
}

body.is-fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
  top: var(--scroll-y);
}

.p-mainvisual {
  background: #fff;
  position: relative;
}

.c-menuBtn {
  position: fixed;
  right: 0;
  top: 0;
  width: calc(64 / 375 * 100vw);
  height: calc(64 / 375 * 100vw);
  z-index: 99999;
}

.c-menuBtn button {
  width: 100%;
  height: 100%;
  background: url(../img/menu.svg) no-repeat center/contain;
  border: none;
}

.c-menuBtn button.is-active {
  background: url(../img/close.svg) no-repeat center/contain;
}

.c-menuBody {
  position: fixed;
  top: -100vh;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #f8f4f0;
  z-index: 99998;
  transition: top 0.4s ease;
  overflow-y: auto;
}

.c-menuBody.is-open {
  top: 0;
}

.c-menuBody__nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(20 / 375 * 100vw);
  width: calc(315 / 375 * 100vw);
  margin: calc(87 / 375 * 100vw) auto 0;
}

.c-menuBody__navItem {
  padding-bottom: calc(20 / 375 * 100vw);
  border-bottom: 1px dotted #a8a8a8;
}

.c-menuBody__navLink {
  display: flex;
  width: 100%;
  height: calc(20 / 375 * 100vw);
  align-items: center;
  gap: calc(20 / 375 * 100vw);
  color: #222;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 1.28px;
}

.c-menuBody__navLink::before {
  content: "";
  display: block;
  width: calc(20 / 375 * 100vw);
  height: calc(20 / 375 * 100vw);
  background: url(../img/arrow_gleen.svg) no-repeat center/contain;
}

.c-menuBody__navLink:hover {
  color: inherit;
  text-decoration: none;
}

.c-menuBody__cta {
  width: calc(315 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
}

.c-menuBody__cta__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(54 / 375 * 100vw);
  border-radius: calc(8 / 375 * 100vw);
  background: #ff8d05;
}

.c-menuBody__cta__btn--tel {
  background: #5bb647;
  margin-top: calc(20 / 375 * 100vw);
}

.c-menuBody__cta__btnTxt {
  color: #fff;
}

.c-menuBody__cta__btnTxt--tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(4 / 375 * 100vw);
}

.c-menuBody__cta__btnTxt1 {
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
}

.c-menuBody__cta__btnTxt2 {
  display: flex;
  align-items: center;
  gap: calc(10 / 375 * 100vw);
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  height: calc(21 / 375 * 100vw);
}

.c-menuBody__cta__btnTxt2 i {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  color: #5bb647;
  font-size: calc(12 / 375 * 100vw);
  width: calc(21 / 375 * 100vw);
  height: calc(21 / 375 * 100vw);
  border-radius: calc(10.5 / 375 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: calc(3 / 375 * 100vw);
  background: #fff;
}

.c-menuBody__cta__btnTxt3 {
  font-size: calc(10 / 375 * 100vw);
  font-weight: 700;
}

.p-campaign {
  padding-top: calc(33 / 375 * 100vw);
  padding-bottom: calc(40 / 375 * 100vw);
  position: relative;
}

.p-campaign.campaign2 {
  margin-top: calc(100 / 375 * 100vw);
}

.p-campaign__inner {
  width: calc(335 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  background: #54afff;
  margin: 0 auto;
  padding-top: calc(37 / 375 * 100vw);
  padding-bottom: calc(26 / 375 * 100vw);
}

.p-campaign__ttl {
  width: calc(296 / 375 * 100vw);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.p-campaign__box {
  width: calc(311 / 375 * 100vw);
  margin: 0 auto;
  border-radius: calc(20 / 375 * 100vw);
  border: 1px solid #fff;
  background: #fff;
  padding-bottom: calc(11.76 / 375 * 100vw);
  position: relative;
}

.p-campaign__boxHead {
  background: #54afff;
  display: flex;
  align-items: center;
  position: relative;
  height: calc(48 / 375 * 100vw);
  gap: calc(7 / 375 * 100vw);
  padding-left: calc(38 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw) calc(20 / 375 * 100vw) 0 0;
}

.p-campaign__boxHead::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: calc(8 / 375 * 100vw) solid transparent;
  border-left: calc(8 / 375 * 100vw) solid transparent;
  border-top: calc(8 / 375 * 100vw) solid #54afff;
  border-bottom: 0;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
}

.p-campaign__boxHead h3 {
  color: #fff;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.p-campaign__boxHeadItem {
  width: calc(78.492 / 375 * 100vw);
  height: calc(78.492 / 375 * 100vw);
  border-radius: 50%;
  border: 2px solid #54afff;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.p-campaign__boxHeadItem__txt1 {
  color: #222;
  font-size: calc(15.698 / 375 * 100vw);
  line-height: 1;
  font-weight: 700;
}

.p-campaign__boxHeadItem__txt2 {
  color: #f95942;
  font-size: calc(20.725 / 375 * 100vw);
  font-weight: 700;
  line-height: 142.024%;
}

.p-campaign__boxHeadItem__txt3 {
  color: #f95942;
  font-size: calc(11.514 / 375 * 100vw);
  font-weight: 700;
  line-height: 161.459%;
}

.p-campaign__txt {
  color: #222;
  text-align: center;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 187.5%;
  margin-top: calc(17 / 375 * 100vw);
}

.p-campaign__txt2 {
  font-size: calc(20.571 / 375 * 100vw);
  font-weight: 700;
  line-height: 125%;
  text-align: center;
  margin-top: calc(7.2 / 375 * 100vw);
}

.p-campaign__txt2 .u-underline {
  position: relative;
  z-index: 0;
  padding-left: calc(8 / 375 * 100vw);
}

.p-campaign__txt2 .u-underline::after {
  content: "";
  position: absolute;
  background: #faf613;
  width: 100%;
  height: calc(29.386 / 375 * 100vw);
  top: calc(-4 / 375 * 100vw);
  left: 0;
  z-index: -1;
}

.p-campaign__txt2 .u-item1 {
  display: inline-block;
  margin-right: calc(-3 / 375 * 100vw);
}

.p-campaign__txt2 .u-item2 {
  display: inline-block;
}

.p-campaign__txt2 .u-col_red {
  color: #f95942;
}

.p-campaign__txt2 .u-big {
  font-size: calc(30.856 / 375 * 100vw);
}

.p-campaign__txt2 .u-underline_pc {
  display: none;
}

.p-campaign__gift {
  width: calc(207.5 / 375 * 100vw);
  margin-left: calc(38 / 375 * 100vw);
  margin-top: calc(10 / 375 * 100vw);
}

.p-campaign__arrow {
  position: absolute;
  width: calc(35 / 375 * 100vw);
  right: calc(28.02 / 375 * 100vw);
  bottom: calc(78.09 / 375 * 100vw);
}

.p-campaign__box2 {
  margin-top: calc(22 / 375 * 100vw);
  padding-top: calc(12 / 375 * 100vw);
  border-top: 1px dashed #fff;
}

.p-campaign__box2__txt {
  text-align: center;
  color: #fff;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  line-height: 214.286%;
}

.p-campaign__box2__txt2 {
  color: #fff;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 166.667%;
}

.p-campaign__box2__txt2 span {
  position: relative;
}

.p-campaign__box2__txt2 span::after {
  content: "";
  position: absolute;
  width: calc(185 / 375 * 100vw);
  height: calc(5 / 375 * 100vw);
  background: url(../img/dot.svg) no-repeat center/contain;
  bottom: calc(-8 / 375 * 100vw);
  left: 50%;
  transform: translateX(-50%);
}

.p-campaign__btnWrap {
  display: flex;
  justify-content: center;
  gap: calc(10 / 375 * 100vw);
  margin-top: calc(16 / 375 * 100vw);
}

.p-campaign__btn {
  width: calc(179 / 375 * 100vw);
  height: calc(54 / 375 * 100vw);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: calc(8 / 375 * 100vw);
  background: #ff8d05;
  border-radius: calc(30 / 375 * 100vw);
}

.p-campaign__btn2 {
  width: calc(130 / 375 * 100vw);
  height: calc(54 / 375 * 100vw);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: calc(8 / 375 * 100vw);
  padding-left: calc(15 / 375 * 100vw);
  background: #fff;
  border-radius: calc(30 / 375 * 100vw);
}

.p-campaign__circle {
  width: calc(54 / 375 * 100vw);
  height: calc(54 / 375 * 100vw);
  border-radius: 50%;
  border: 1px solid #ff8d05;
  color: #ff8d05;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(5 / 375 * 100vw);
}

.p-campaign__circleTxt {
  display: flex;
}

.p-campaign__circleTxt1 {
  font-size: calc(14.152 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.p-campaign__circleTxt2 {
  color: #fff;
  width: calc(13.407 / 375 * 100vw);
  height: calc(13.407 / 375 * 100vw);
  border-radius: 50%;
  background: #ff8d05;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: calc(8.938 / 375 * 100vw);
  font-weight: 700;
}

.p-campaign__circleTxt3 {
  font-size: calc(11.917 / 375 * 100vw);
  font-weight: 700;
  line-height: 0.5;
}

.p-campaign__btnTxt {
  color: #fff;
  text-align: center;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: -0.42px;
}

.p-campaign__btnTxt.u-col_blue {
  color: #1bb9db;
}

.p-campaign__btnArrow {
  width: calc(18 / 375 * 100vw);
  height: calc(18 / 375 * 100vw);
}

.p-campaign__img {
  width: calc(256.5 / 375 * 100vw);
  margin: 0 auto;
}

.p-campaign__links {
  width: calc(305 / 375 * 100vw);
  margin: 0 auto;
}

.c-schoolBtn {
  position: fixed;
  z-index: 99997;
  right: 0;
  bottom: calc(180 / 375 * 100vw);
  transition: transform 0.3s ease;
}

.c-schoolBtn.hide-on-scroll {
  transform: translateX(100%);
}

.c-schoolBtn a {
  font-family: "GenJyu", sans-serif;
  border-radius: 8px 0px 0px 8px;
  padding: calc(12 / 375 * 100vw);
  color: #fff;
  background: #1bb9db;
  text-align: center;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 112.5%;
  letter-spacing: 2px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: calc(48 / 375 * 100vw);
}

.c-schoolBtn a__icon {
  display: block;
  width: calc(24 / 375 * 100vw);
  margin-top: calc(4 / 375 * 100vw);
}

.p-magic {
  background: #f7f7d5;
}

.p-magic__inner {
  padding-top: calc(40 / 375 * 100vw);
  padding-bottom: calc(90 / 375 * 100vw);
}

.p-magic__ttl {
  width: calc(257 / 375 * 100vw);
  position: relative;
  margin-left: calc(50 / 375 * 100vw);
}

.p-magic__ttlIcon {
  position: absolute;
  width: calc(50.5 / 375 * 100vw);
  left: 100%;
  bottom: calc(11.13 / 375 * 100vw);
  animation-name: katakata;
  animation-duration: 6000ms;
  animation-iteration-count: infinite;
  animation-timing-function: step-start;
}

.p-magic__cont {
  position: relative;
}

.p-magic__box1 {
  position: relative;
  padding-top: calc(18.65 / 375 * 100vw);
  height: calc(247 / 375 * 100vw);
}

.p-magic__box1__txt1 {
  transform: rotate(10.442deg);
  position: absolute;
  left: calc(80.29 / 375 * 100vw);
  top: calc(18.65 / 375 * 100vw);
}

.p-magic__box1__txt1 span {
  color: #3e3e3e;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 139%;
}

.p-magic__box1__txt1 span::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(30.364 / 375 * 100vw);
  height: 1px;
  background: #000;
  transform: rotate(-107.24deg);
  left: calc(-25 / 375 * 100vw);
  bottom: calc(16 / 375 * 100vw);
}

.p-magic__box1__txt1 span::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(29.07 / 375 * 100vw);
  height: 1px;
  background: #000;
  transform: rotate(-45.93deg);
  right: calc(-24 / 375 * 100vw);
  bottom: calc(10 / 375 * 100vw);
}

.p-magic__box1__img {
  width: calc(166.667 / 375 * 100vw);
  position: absolute;
  z-index: 1;
  left: calc(18.33 / 375 * 100vw);
  top: calc(58 / 375 * 100vw);
}

.p-magic__box1__img::before {
  content: "";
  width: calc(166.667 / 375 * 100vw);
  height: calc(166.667 / 375 * 100vw);
  border-radius: 50%;
  background: #fbec79;
  position: absolute;
  left: calc(-13.33 / 375 * 100vw);
  top: calc(14.17 / 375 * 100vw);
  z-index: -1;
}

.p-magic__box1__txt2 {
  position: absolute;
  z-index: 0;
  top: calc(71.93 / 375 * 100vw);
  right: calc(4 / 375 * 100vw);
  width: calc(196.001 / 375 * 100vw);
  height: calc(99.989 / 375 * 100vw);
}

.p-magic__box1__txt2Bg {
  position: absolute;
  width: calc(196.001 / 375 * 100vw);
  height: calc(99.989 / 375 * 100vw);
  left: 0;
  top: 0;
}

.p-magic__box1__txt2Txt {
  color: #3e3e3e;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 400;
  line-height: 126%;
  position: absolute;
  top: calc(37.07 / 375 * 100vw);
  right: calc(43 / 375 * 100vw);
}

.p-magic__box1__txt2Arrow {
  position: absolute;
  width: calc(42.282 / 375 * 100vw);
  bottom: calc(-47.17 / 375 * 100vw);
  left: calc(27 / 375 * 100vw);
}

.p-magic__box2 {
  position: relative;
  height: calc(152 / 375 * 100vw);
}

.p-magic__box2__txt1Bg {
  position: absolute;
  width: calc(221 / 375 * 100vw);
  height: calc(152 / 375 * 100vw);
  left: calc(-3 / 375 * 100vw);
  top: 0;
}

.p-magic__box2__txt1Txt {
  color: #3e3e3e;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 400;
  line-height: 139%;
  position: absolute;
  top: calc(29 / 375 * 100vw);
  left: calc(30 / 375 * 100vw);
}

.p-magic__box2__txt1Arrow {
  position: absolute;
  width: calc(42.282 / 375 * 100vw);
  top: calc(149 / 375 * 100vw);
  left: calc(147 / 375 * 100vw);
}

.p-magic__box2__img {
  width: calc(166.667 / 375 * 100vw);
  position: absolute;
  z-index: 1;
  right: calc(10 / 375 * 100vw);
  top: calc(-31 / 375 * 100vw);
}

.p-magic__box2__img::before {
  content: "";
  width: calc(166.667 / 375 * 100vw);
  height: calc(166.667 / 375 * 100vw);
  border-radius: 50%;
  background: #ff9494;
  position: absolute;
  left: calc(38.67 / 375 * 100vw);
  top: calc(27 / 375 * 100vw);
  z-index: -1;
}

.p-magic__box3 {
  margin-top: calc(37 / 375 * 100vw);
  height: calc(124 / 375 * 100vw);
  position: relative;
}

.p-magic__box3__circle {
  position: absolute;
  left: calc(4 / 375 * 100vw);
  top: calc(-44 / 375 * 100vw);
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(74 / 375 * 100vw);
  height: calc(74 / 375 * 100vw);
  border-radius: 50%;
  background: #fff100;
}

.p-magic__box3__circle p {
  color: #000;
  text-align: center;
  font-size: calc(13.695 / 375 * 100vw);
  font-weight: 400;
  line-height: 125%;
}

.p-magic__box3__img {
  position: relative;
  z-index: 1;
  width: calc(97.854 / 375 * 100vw);
  margin-left: calc(33 / 375 * 100vw);
}

.p-magic__box3__txt {
  position: absolute;
  right: calc(38 / 375 * 100vw);
  top: calc(29 / 375 * 100vw);
}

.p-magic__box3__txt::after {
  content: "";
  background: url(../img/homeru_shine.webp) no-repeat center/contain;
  width: calc(22.122 / 375 * 100vw);
  height: calc(35.79 / 375 * 100vw);
  position: absolute;
  right: calc(-26.122 / 375 * 100vw);
  top: calc(-12 / 375 * 100vw);
}

.p-magic__box3__txt p {
  color: #3e3e3e;
  text-align: center;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: #1bb9db;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.p-magic__box4 {
  position: relative;
  height: calc(138.08 / 375 * 100vw);
  margin-top: calc(25 / 375 * 100vw);
}

.p-magic__box4__txt1 {
  position: absolute;
  top: 0;
  left: calc(13 / 375 * 100vw);
  width: calc(202 / 375 * 100vw);
}

.p-magic__box4__txt1Bg {
  width: 100%;
}

.p-magic__box4__txt1Txt {
  color: #fff;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 400;
  line-height: 139%;
  position: absolute;
  left: calc(30 / 375 * 100vw);
  top: calc(27 / 375 * 100vw);
}

.p-magic__box4__txt1Arrow {
  width: calc(42.282 / 375 * 100vw);
  position: absolute;
  bottom: 0;
  left: calc(103 / 375 * 100vw);
}

.p-magic__box4__img {
  width: calc(123.243 / 375 * 100vw);
  position: absolute;
  right: calc(30.12 / 375 * 100vw);
  top: calc(-40 / 375 * 100vw);
}

.p-magic__box5 {
  position: relative;
  height: calc(219 / 375 * 100vw);
  margin-top: calc(4.92 / 375 * 100vw);
}

.p-magic__box5__txt1 {
  position: absolute;
  top: calc(56 / 375 * 100vw);
  left: 0;
  width: calc(185 / 375 * 100vw);
}

.p-magic__box5__txt1Bg {
  position: absolute;
  width: calc(185 / 375 * 100vw);
  left: 0;
  top: 0;
}

.p-magic__box5__txt1Txt {
  color: #3e3e3e;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 400;
  line-height: 139%;
  position: absolute;
  top: calc(32 / 375 * 100vw);
  left: calc(21 / 375 * 100vw);
}

.p-magic__box5__txt1Arrow {
  position: absolute;
  width: calc(42.282 / 375 * 100vw);
  left: calc(93 / 375 * 100vw);
  bottom: 0;
}

.p-magic__box5__img {
  width: calc(190 / 375 * 100vw);
  position: absolute;
  z-index: 1;
  right: calc(4.26 / 375 * 100vw);
  top: 0;
}

.p-magic__box5__img::before {
  content: "";
  width: calc(166.667 / 375 * 100vw);
  height: calc(166.667 / 375 * 100vw);
  border-radius: 50%;
  background: #c7e8a4;
  position: absolute;
  left: calc(67 / 375 * 100vw);
  top: calc(2 / 375 * 100vw);
  z-index: -1;
}

.p-magic__box6 {
  position: relative;
  height: calc(232 / 375 * 100vw);
  margin-top: calc(6.93 / 375 * 100vw);
}

.p-magic__box6__img {
  width: calc(193 / 375 * 100vw);
  position: absolute;
  z-index: 1;
  left: calc(12 / 375 * 100vw);
  top: calc(28.99 / 375 * 100vw);
}

.p-magic__box6__img::before {
  content: "";
  width: calc(166.667 / 375 * 100vw);
  height: calc(166.667 / 375 * 100vw);
  border-radius: 50%;
  background: #cdc2ff;
  position: absolute;
  left: calc(-23 / 375 * 100vw);
  bottom: calc(-23.67 / 375 * 100vw);
  z-index: -1;
}

.p-magic__box6__txt1 {
  width: calc(179.982 / 375 * 100vw);
  position: absolute;
  z-index: 1;
  top: 0;
  right: calc(51.02 / 375 * 100vw);
}

.p-magic__box6__txt1Bg {
  width: 100%;
}

.p-magic__box6__txt1Txt {
  position: absolute;
  top: calc(7.99 / 375 * 100vw);
  right: calc(19.98 / 375 * 100vw);
  color: #fff;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 139%;
}

.p-magic__box6__txt2 {
  width: calc(188 / 375 * 100vw);
  position: absolute;
  right: calc(6 / 375 * 100vw);
  top: calc(20.99 / 375 * 100vw);
}

.p-magic__box6__txt2Bg {
  width: 100%;
}

.p-magic__box6__txt2Txt {
  position: absolute;
  right: calc(23 / 375 * 100vw);
  top: calc(30 / 375 * 100vw);
  color: #3e3e3e;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 400;
  line-height: 139%;
}

.p-magic__box6__txt3 {
  position: absolute;
  width: calc(175 / 375 * 100vw);
  right: calc(13 / 375 * 100vw);
  bottom: calc(27 / 375 * 100vw);
}

.p-magic__box6__txt3Bg {
  width: 100%;
}

.p-magic__box6__txt3Txt {
  position: absolute;
  top: calc(11 / 375 * 100vw);
  right: calc(15 / 375 * 100vw);
  color: #3e3e3e;
  text-align: center;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 400;
  line-height: 139%;
}

.p-magic__txtImgs {
  position: relative;
  margin-top: calc(40 / 375 * 100vw);
}

.p-magic__icon1 {
  width: calc(63.5 / 375 * 100vw);
  position: absolute;
  left: calc(27 / 375 * 100vw);
  bottom: 0;
}

.p-magic__icon2 {
  width: calc(50.5 / 375 * 100vw);
  position: absolute;
  bottom: 0;
  right: calc(27.99 / 375 * 100vw);
  animation-name: katakata;
  animation-duration: 6000ms;
  animation-iteration-count: infinite;
  animation-timing-function: step-start;
}

.p-magic__txtImg {
  width: calc(268 / 375 * 100vw);
  margin: 0 auto;
}

.p-episode {
  position: relative;
}

.p-episode::before {
  content: "";
  width: 100vw;
  height: calc(60 / 375 * 100vw);
  bottom: 100%;
  left: 0;
  background: url(../img/wave_bg_sp.svg) no-repeat center/cover;
  position: absolute;
}

.p-episode__inner {
  padding-bottom: calc(20 / 375 * 100vw);
}

.p-episode__ttl {
  text-align: center;
}

.p-episode__ttlTxt {
  font-size: calc(15.772 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 0.473px;
}

.p-episode__ttlImg {
  display: block;
  width: calc(332 / 375 * 100vw);
  margin: 0 auto;
}

.p-episode__swiper {
  max-width: none;
  overflow: visible !important;
}

.p-episode .swiper-slide {
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0.5;
  display: flex;
  justify-content: center;
}

.p-episode .swiper-slide-active {
  opacity: 1;
}

.p-episode .swiper-pagination {
  position: static;
  margin-top: calc(8 / 375 * 100vw);
}

.p-episode .swiper-pagination-bullet-active {
  background: #ff8d05;
}

.p-episode__card {
  width: calc(320 / 375 * 100vw);
  min-height: calc(500 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  background: #fff;
  padding: calc(20 / 375 * 100vw);
  border: 2px solid #ff8d05;
}

.p-episode__cardImg {
  width: calc(240 / 375 * 100vw);
  margin: 0 auto;
  position: relative;
}

.p-episode__cardImg.card1::before {
  content: "";
  width: calc(72 / 375 * 100vw);
  height: calc(34 / 375 * 100vw);
  background: url(../img/ep1.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-13 / 375 * 100vw);
  left: calc(77 / 375 * 100vw);
}

.p-episode__cardImg.card2::before {
  content: "";
  width: calc(93 / 375 * 100vw);
  height: calc(39 / 375 * 100vw);
  background: url(../img/ep2.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-12 / 375 * 100vw);
  left: calc(78 / 375 * 100vw);
}

.p-episode__cardImg.card3::before {
  content: "";
  width: calc(100 / 375 * 100vw);
  height: calc(58 / 375 * 100vw);
  background: url(../img/ep3.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-25 / 375 * 100vw);
  left: calc(38 / 375 * 100vw);
}

.p-episode__cardTxt {
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  margin-top: calc(10 / 375 * 100vw);
}

.p-episode__cardTxt strong {
  font-weight: 700;
}

.p-episode__cardInfo {
  margin-top: calc(10 / 375 * 100vw);
  text-align: right;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
}

.p-cta {
  padding-bottom: calc(40 / 375 * 100vw);
}

.p-cta__inner {
  width: calc(335 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  background: rgba(91, 182, 71, 0.12);
  padding: calc(33 / 375 * 100vw) 0 calc(36 / 375 * 100vw);
  position: relative;
}

.p-cta__ttl {
  text-align: center;
  display: flex;
  justify-content: center;
  color: #5bb647;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 137.5%;
}

.p-cta__ttl::before {
  content: "";
  background: url(../img/cta_l.svg) no-repeat center/contain;
  width: calc(30.5 / 375 * 100vw);
  height: calc(42 / 375 * 100vw);
}

.p-cta__ttl::after {
  content: "";
  background: url(../img/cta_r.svg) no-repeat center/contain;
  width: calc(30.5 / 375 * 100vw);
  height: calc(42 / 375 * 100vw);
}

.p-cta__box {
  position: relative;
}

.p-cta__icon1 {
  position: absolute;
  width: calc(18.046 / 375 * 100vw);
  bottom: 0;
  left: calc(14 / 375 * 100vw);
}

.p-cta__icon2 {
  position: absolute;
  width: calc(40.5 / 375 * 100vw);
  bottom: calc(22.39 / 375 * 100vw);
  right: calc(3.87 / 375 * 100vw);
  animation: floatAnimation 2.5s ease-in-out infinite;
}

.p-cta__icon3 {
  position: absolute;
  bottom: 0;
  left: calc(14 / 375 * 100vw);
  width: calc(54 / 375 * 100vw);
}

.p-cta__btn {
  width: calc(260 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  border-radius: calc(30 / 375 * 100vw);
  background: #ff8d05;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin: calc(32 / 375 * 100vw) auto 0;
  padding-left: calc(110 / 375 * 100vw);
  padding-right: calc(16 / 375 * 100vw);
}

.p-cta__btnImg {
  width: calc(108 / 375 * 100vw);
  position: absolute;
  left: 0;
  bottom: 0;
}

.p-cta__btnTxt {
  color: #fff;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
  text-align: center;
}

.p-cta__btnArrow {
  width: calc(18 / 375 * 100vw);
}

.p-cta__school {
  margin-top: calc(25 / 375 * 100vw);
}

.p-cta__school p {
  color: #3e3e3e;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 146.667%;
  text-align: center;
}

.p-cta__schoolBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(260 / 375 * 100vw);
  height: calc(46 / 375 * 100vw);
  background: #fff;
  border-radius: calc(30 / 375 * 100vw);
  border: 1px solid #1bb9db;
  margin: calc(6 / 375 * 100vw) auto 0;
}

.p-cta__schoolTxt {
  color: #1bb9db;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
  text-align: center;
}

.p-cta__schoolArrow {
  position: absolute;
  width: calc(18 / 375 * 100vw);
  right: calc(14 / 375 * 100vw);
  top: 50%;
  transform: translateY(-50%);
}

.p-course {
  background: #f7f7d5;
  position: relative;
  padding-top: calc(120 / 375 * 100vw);
}

.p-course::before {
  content: "";
  width: 100vw;
  height: calc(60 / 375 * 100vw);
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/wave_bg2_sp.svg) no-repeat center/cover;
}

.p-course__inner {
  padding-bottom: calc(60 / 375 * 100vw);
}

.p-course__ttl {
  text-align: center;
}

.p-course__ttlTxt {
  color: #222;
  font-size: calc(15.772 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 0.473px;
}

.p-course__ttlImg {
  display: block;
  width: calc(226.5 / 375 * 100vw);
  margin: 0 auto;
}

.p-course__note {
  display: block;
  text-align: right;
  color: rgba(62, 62, 62, 0.89);
  font-size: calc(12 / 375 * 100vw);
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.36px;
  margin-top: calc(8 / 375 * 100vw);
}

.p-course__desc {
  color: #3e3e3e;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 0.45px;
  margin-top: calc(20 / 375 * 100vw);
}

.p-course__nav {
  margin-top: calc(20 / 375 * 100vw);
  display: flex;
  flex-wrap: wrap;
  gap: calc(11 / 375 * 100vw);
  justify-content: center;
}

.p-course__navItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(162 / 375 * 100vw);
  height: calc(54 / 375 * 100vw);
  border-radius: calc(12 / 375 * 100vw);
  background: #fff;
  border: 1px solid;
  padding-left: calc(11 / 375 * 100vw);
  padding-right: calc(8 / 375 * 100vw);
}

.p-course__navItem.item1 {
  border-color: #fabf13;
}

.p-course__navItem.item1 a {
  color: #ff8d05;
}

.p-course__navItem.item2 {
  border-color: #f79ab7;
}

.p-course__navItem.item2 a {
  color: #e54a7a;
}

.p-course__navItem.item3 {
  border-color: #9ad0ff;
}

.p-course__navItem.item3 a {
  color: #2592f2;
  letter-spacing: 0.95px;
}

.p-course__navItem.item4 {
  border-color: #fc9799;
  padding-left: calc(4 / 375 * 100vw);
}

.p-course__navItem.item4 a {
  color: #e54a4d;
  letter-spacing: -0.95px;
}

.p-course__navBtn {
  font-size: calc(19 / 375 * 100vw);
  font-weight: 500;
  width: 100%;
  position: relative;
}

.p-course__navBtn:hover {
  text-decoration: none;
}

.p-course__navBtn em {
  font-size: calc(24 / 375 * 100vw);
  font-weight: 500;
  font-style: normal;
}

.p-course__navBtn small {
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
}

.p-course__navBtn span {
  width: calc(18 / 375 * 100vw);
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.p-course__note2 {
  margin-top: calc(20 / 375 * 100vw);
}

.p-course__note2 small {
  display: block;
  text-align: right;
  color: rgba(62, 62, 62, 0.89);
  font-size: calc(12 / 375 * 100vw);
  font-weight: 400;
  letter-spacing: 0.36px;
}

.p-course__swiper {
  margin-top: calc(20 / 375 * 100vw);
}

.p-course__card {
  width: calc(335 / 375 * 100vw);
  padding: calc(20 / 375 * 100vw) calc(9 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  border: 3px solid;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(20 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
  background: #fff;
}

.p-course__card.card1 {
  border-color: #fabf13;
}

.p-course__card.card2 {
  border-color: #f79ab7;
}

.p-course__card.card3 {
  border-color: #9ad0ff;
}

.p-course__card.card4 {
  border-color: #fc9799;
}

.p-course__card h3 {
  width: calc(294 / 375 * 100vw);
  border-radius: calc(26 / 375 * 100vw);
  background: #fff;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 500;
  text-align: center;
  border: 2px solid;
}

.p-course__card h3 em {
  font-size: calc(24.444 / 375 * 100vw);
  font-weight: 500;
  font-style: normal;
}

.p-course__card h3 small {
  font-size: calc(13.333 / 375 * 100vw);
  font-weight: 500;
}

.p-course__card h3.card1 {
  color: #ff8d05;
  border-color: #ff8d05;
}

.p-course__card h3.card2 {
  color: #e54a7a;
  border-color: #e54a7a;
}

.p-course__card h3.card3 {
  color: #1bb9db;
  border-color: #1bb9db;
}

.p-course__card h3.card4 {
  color: #e54a4d;
  border-color: #e54a4d;
}

.p-course__card__lead {
  width: calc(293 / 375 * 100vw);
  color: #3e3e3e;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  letter-spacing: 0.45px;
  line-height: normal;
}

.p-course__oyako {
  width: 100%;
}

.p-course__oyako__ttl {
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 0.54px;
  color: #ff8d05;
  line-height: normal;
  position: relative;
  padding-left: calc(76.84 / 375 * 100vw);
}

.p-course__oyako__ttl span {
  width: calc(128 / 375 * 100vw);
  position: absolute;
  top: calc(4 / 375 * 100vw);
  left: calc(62.84 / 375 * 100vw);
}

.p-course__oyako__ttl.ttl2 {
  width: calc(243 / 375 * 100vw);
  margin-left: calc(31.59 / 375 * 100vw);
  padding: 0;
  text-align: center;
}

.p-course__oyako__ttl.ttl2 span {
  top: auto;
  left: auto;
  right: calc(-12.82 / 375 * 100vw);
  bottom: calc(-15.07 / 375 * 100vw);
  transform: rotateY(180deg);
}

.p-course__oyako__detail {
  position: relative;
  height: calc(155.838 / 375 * 100vw);
  width: 100%;
  margin-top: calc(15.88 / 375 * 100vw);
}

.p-course__oyako__detail p {
  position: absolute;
  width: calc(194 / 375 * 100vw);
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.45px;
  right: calc(6 / 375 * 100vw);
  bottom: calc(12 / 375 * 100vw);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: #ff8d05;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.p-course__oyako__detailImg1 {
  width: calc(131 / 375 * 100vw);
  position: absolute;
  top: 0;
  left: calc(83.84 / 375 * 100vw);
}

.p-course__oyako__detailImg2 {
  width: calc(98.366 / 375 * 100vw);
  position: absolute;
  left: calc(10.53 / 375 * 100vw);
  top: 0;
}

.p-course__oyako__detail2 {
  position: relative;
  height: calc(139 / 375 * 100vw);
  width: 100%;
  margin-top: calc(15.07 / 375 * 100vw);
}

.p-course__oyako__detail2 p {
  position: absolute;
  width: calc(161 / 375 * 100vw);
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.45px;
  left: calc(9 / 375 * 100vw);
  bottom: calc(19 / 375 * 100vw);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: #ff8d05;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.p-course__oyako__detailImg3 {
  width: calc(147 / 375 * 100vw);
  position: absolute;
  right: calc(9 / 375 * 100vw);
  top: 0;
}

.p-course__children__ttl {
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 0.54px;
  color: #e54a7a;
  line-height: normal;
  position: relative;
}

.p-course__children__ttl span {
  width: calc(303 / 375 * 100vw);
  position: absolute;
  top: calc(10 / 375 * 100vw);
  left: 50%;
  transform: translateX(-50%);
}

.p-course__children__detail p {
  width: calc(295 / 375 * 100vw);
  margin: 0 auto;
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.45px;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: #e54a7a;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.p-course__children__detailImg1 {
  width: calc(279 / 375 * 100vw);
  margin-top: calc(15 / 375 * 100vw);
  margin-left: calc(7 / 375 * 100vw);
}

.p-course__children__detailImg2 {
  width: calc(233 / 375 * 100vw);
  margin: calc(8 / 375 * 100vw) auto 0;
}

.p-course__elementary {
  width: 100%;
  position: relative;
}

.p-course__elementary__ttl {
  color: #1bb9db;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 0.54px;
  line-height: 120%;
  position: relative;
  width: calc(205 / 375 * 100vw);
  margin-left: calc(60.96 / 375 * 100vw);
}

.p-course__elementary__ttl span {
  width: calc(127.228 / 375 * 100vw);
  position: absolute;
  top: calc(23 / 375 * 100vw);
  left: calc(-13.96 / 375 * 100vw);
}

.p-course__elementary__ttl.ttl2 {
  width: 100%;
  line-height: normal;
  text-align: center;
  margin: 0;
}

.p-course__elementary__ttl.ttl2 span {
  width: calc(255 / 375 * 100vw);
  left: 50%;
  transform: translateX(-50%);
  top: calc(35.16 / 375 * 100vw);
}

.p-course__elementary__detail {
  position: relative;
  height: calc(133.844 / 375 * 100vw);
  margin-top: calc(3 / 375 * 100vw);
}

.p-course__elementary__detail p {
  width: calc(125 / 375 * 100vw);
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.45px;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: #1bb9db;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  position: absolute;
  right: calc(5 / 375 * 100vw);
  bottom: calc(9.84 / 375 * 100vw);
}

.p-course__elementary__detail2 {
  position: relative;
  height: calc(111.936 / 375 * 100vw);
  margin-top: calc(30.16 / 375 * 100vw);
}

.p-course__elementary__detail2 p {
  width: calc(140 / 375 * 100vw);
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.45px;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: #1bb9db;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  position: absolute;
  left: calc(6.25 / 375 * 100vw);
  bottom: calc(5.97 / 375 * 100vw);
}

.p-course__elementary__detailImg1 {
  width: calc(166.107 / 375 * 100vw);
  position: absolute;
  left: calc(4.54 / 375 * 100vw);
}

.p-course__elementary__detailImg2 {
  width: calc(154 / 375 * 100vw);
  position: absolute;
  right: calc(6.25 / 375 * 100vw);
}

.p-course__highschool__ttl {
  width: calc(215 / 375 * 100vw);
  margin: 0 auto;
  color: #e54a4d;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.6px;
  text-align: center;
}

.p-course__highschool__ttl span {
  width: calc(215 / 375 * 100vw);
  margin: calc(8 / 375 * 100vw) auto 0;
}

.p-course__highschool__detail {
  width: calc(294 / 375 * 100vw);
  margin: calc(8 / 375 * 100vw) auto 0;
}

.p-course__highschool__detail p {
  color: #3e3e3e;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.45px;
  margin-top: calc(8 / 375 * 100vw);
}

.p-course__highschool__detailImg1 {
  width: calc(166.107 / 375 * 100vw);
  margin: 0 auto;
}

.p-course__highschool__detailImg2 {
  width: calc(154 / 375 * 100vw);
  margin: 0 auto;
}

.p-course__fee {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(12 / 375 * 100vw);
  width: calc(295 / 375 * 100vw);
  margin: 0 auto;
}

.p-course__fee h4 {
  width: 100%;
  text-align: center;
  border-bottom: 2px solid;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 153.333%;
  padding-bottom: calc(7 / 375 * 100vw);
}

.p-course__fee.card1 h4 {
  color: #ff8d05;
  border-bottom-color: #ff8d05;
}

.p-course__fee.card2 h4 {
  color: #e54a7a;
  border-bottom-color: #e54a7a;
}

.p-course__fee.card3 h4 {
  color: #1bb9db;
  border-bottom-color: #1bb9db;
}

.p-course__fee.card4 h4 {
  color: #e54a4d;
  border-bottom-color: #e54a4d;
}

.p-course__fee dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-course__fee dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(4 / 375 * 100vw);
  border: 1px solid #dcdcdc;
  background: #fff;
  width: calc(120 / 375 * 100vw);
  height: calc(50 / 375 * 100vw);
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 164.286%;
}

.p-course__fee dl dt span {
  font-size: calc(12 / 375 * 100vw);
}

.p-course__fee dl dt.card1 {
  color: #ff8d05;
}

.p-course__fee dl dt.card2 {
  color: #e54a7a;
}

.p-course__fee dl dt.card3 {
  color: #1bb9db;
}

.p-course__fee dl dt.card4 {
  color: #e54a4d;
}

.p-course__fee dl dd {
  color: #222;
  width: calc(175 / 375 * 100vw);
  text-align: right;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 400;
  line-height: 164.286%;
  padding: 0 calc(12 / 375 * 100vw);
}

.p-course__fee dl dd.left {
  text-align: left;
}

.p-course .swiper-pagination {
  position: static;
  margin-top: calc(8 / 375 * 100vw);
}

.p-course .swiper-pagination-bullet-active {
  background: #5bb647;
}

.p-earlier {
  margin-bottom: calc(40 / 375 * 100vw);
}

.p-earlier__inner {
  padding-bottom: calc(40 / 375 * 100vw);
}

.p-earlier__ttl {
  color: #3e3e3e;
  text-align: center;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.48px;
}

.p-earlier__ttl span {
  display: block;
  width: calc(255 / 375 * 100vw);
  margin: 0 auto;
}

.p-earlier__desc {
  margin-top: calc(20 / 375 * 100vw);
}

.p-earlier__descTxt1 {
  text-align: center;
  color: #222;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.48px;
}

.p-earlier__descTxt2 {
  width: calc(114.5 / 375 * 100vw);
  margin: 0 auto;
}

.p-earlier__img {
  width: calc(335 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
}

.p-earlier__txt {
  color: #222;
  text-align: justify;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 153.333%;
  width: calc(335 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
}

.p-earlier__txt strong {
  font-style: normal;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #faf613;
  text-decoration-thickness: 4px;
  text-underline-offset: -3px;
}

.l-bg1 {
  background: #f7f7d5;
  padding-bottom: calc(60 / 375 * 100vw);
}

.p-lesson {
  position: relative;
}

.p-lesson::before {
  content: "";
  width: 100vw;
  height: calc(60 / 375 * 100vw);
  position: absolute;
  bottom: 100%;
  left: 0;
  background: url(../img/wave_bg_sp.svg) no-repeat center/cover;
}

.p-lesson__inner {
  padding-top: calc(20 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
}

.p-lesson__head {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: calc(11 / 375 * 100vw) calc(14 / 375 * 100vw);
  border-radius: calc(8 / 375 * 100vw);
  background: #5bb647;
  color: #fff;
  font-weight: 700;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1.5333333333;
  letter-spacing: 0.02em;
  text-align: justify;
  margin: 0 auto;
  position: relative;
}

.p-lesson__head::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: calc(4 / 375 * 100vw) solid transparent;
  border-left: calc(4 / 375 * 100vw) solid transparent;
  border-top: calc(5 / 375 * 100vw) solid #5bb647;
  border-bottom: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.p-lesson__ttl {
  text-align: center;
  margin-top: calc(25 / 375 * 100vw);
}

.p-lesson__ttlTxt1 {
  color: #222;
  font-size: calc(24 / 375 * 100vw);
  font-weight: 900;
  line-height: normal;
}

.p-lesson__ttlTxt2 {
  display: block;
  text-align: center;
  color: #5bb647;
  font-size: calc(40 / 375 * 100vw);
  font-weight: 900;
  line-height: normal;
  margin-top: calc(-6 / 375 * 100vw);
}

.p-lesson__lead {
  font-family: "GenJyu", sans-serif;
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1.5333333333;
  letter-spacing: 0;
  text-align: justify;
  margin-top: calc(36 / 375 * 100vw);
}

.p-lesson__flowTtl {
  background: #1bb9db;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(64 / 375 * 100vw);
  font-weight: 700;
  font-size: calc(18 / 375 * 100vw);
  line-height: 1.2777777778;
  letter-spacing: 0.03em;
  position: relative;
  border: 1px solid #1bb9db;
  border-radius: calc(12 / 375 * 100vw) calc(12 / 375 * 100vw) 0 0;
}

.p-lesson__flowTtl::before {
  content: "";
  width: calc(50.88 / 375 * 100vw);
  height: calc(40.88 / 375 * 100vw);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-30 / 375 * 100vw);
  background: url(../img/spcial_img_clip.svg) no-repeat center/contain;
}

.p-lesson__flowInner {
  padding: calc(17 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw);
  border-radius: 0 0 calc(12 / 375 * 100vw) calc(12 / 375 * 100vw);
  border: 1px solid #1bb9db;
}

.p-lesson__flowList {
  border-bottom: 1px dashed #1bb9db;
}

.p-lesson__flowItem {
  position: relative;
}

.p-lesson__flowItem.item1::before {
  content: "";
  width: 1px;
  height: calc(120 / 375 * 100vw);
  background: rgba(27, 185, 219, 0.12);
  position: absolute;
  left: calc(30 / 375 * 100vw);
  top: calc(60 / 375 * 100vw);
  z-index: 0;
}

.p-lesson__flowItem.item2::before {
  content: "";
  width: 1px;
  height: calc(200 / 375 * 100vw);
  background: rgba(27, 185, 219, 0.12);
  position: absolute;
  left: calc(30 / 375 * 100vw);
  top: calc(60 / 375 * 100vw);
  z-index: -1;
}

.p-lesson__flowItem__head {
  display: flex;
  align-items: center;
  gap: calc(10 / 375 * 100vw);
}

.p-lesson__flowItem__headNum {
  width: calc(60 / 375 * 100vw);
  position: relative;
  z-index: 1;
}

.p-lesson__flowItem__headTxt {
  color: #000;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 143.75%;
  letter-spacing: 0.48px;
}

.p-lesson__flowItem__body {
  width: calc(254 / 375 * 100vw);
  margin-left: auto;
}

.p-lesson__flowItem__body.body1 {
  height: calc(120 / 375 * 100vw);
}

.p-lesson__flowItem__body.body2 {
  height: calc(200 / 375 * 100vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(10 / 375 * 100vw);
}

.p-lesson__flowItem__body.body3 {
  height: calc(240 / 375 * 100vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(10 / 375 * 100vw);
}

.p-lesson__flowItem__bodyFlex {
  display: flex;
  align-items: center;
  gap: calc(10 / 375 * 100vw);
}

.p-lesson__flowItem__bodyTxt {
  width: calc(140 / 375 * 100vw);
  color: #000;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 153.333%;
}

.p-lesson__flowItem__bodyTxt a {
  color: #5bb647;
  text-decoration: underline;
  text-decoration-color: #5bb647;
}

.p-lesson__flowItem__bodyImg1 {
  width: calc(100 / 375 * 100vw);
}

.p-lesson__flowItem__bodyImg2 {
  width: 100%;
}

.p-lesson__flowItem__bodyNote {
  display: block;
  color: #000;
  font-size: calc(12 / 375 * 100vw);
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.p-lesson__flowItem ul {
  margin-top: calc(10 / 375 * 100vw);
}

.p-lesson__flowItem li {
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 153.333%;
}

.p-lesson__flowItem li::before {
  content: "・";
  font-weight: 700;
}

.p-lesson__flowFaq {
  padding-top: calc(20 / 375 * 100vw);
}

.p-lesson__flowFaq__q {
  display: flex;
  gap: calc(22 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  align-items: center;
}

.p-lesson__flowFaq__qIcon {
  width: calc(59 / 375 * 100vw);
}

.p-lesson__flowFaq__qTxt {
  background: #f4f4f4;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(216 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  font-weight: 400;
  font-size: calc(14 / 375 * 100vw);
  line-height: 1.2857142857;
  letter-spacing: 0;
  border-radius: calc(8 / 375 * 100vw);
  position: relative;
}

.p-lesson__flowFaq__qTxt::before {
  content: "";
  width: calc(12 / 375 * 100vw);
  height: calc(12 / 375 * 100vw);
  position: absolute;
  top: 50%;
  right: calc(100% - 1px);
  transform: translateY(-50%);
  background: url(../img/flow_q_img.svg) no-repeat center/contain;
}

.p-lesson__flowFaq__a {
  width: calc(279 / 375 * 100vw);
  margin-top: calc(10 / 375 * 100vw);
}

.p-lesson__flowFaq__aTxt {
  background: #fff9e6;
  height: calc(150 / 375 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 calc(20 / 375 * 100vw);
  font-weight: 400;
  font-size: calc(14 / 375 * 100vw);
  line-height: 1.2857142857;
  letter-spacing: 0;
  border-radius: calc(8 / 375 * 100vw);
  position: relative;
}

.p-lesson__flowFaq__aTxt::before {
  content: "";
  width: calc(12 / 375 * 100vw);
  height: calc(12 / 375 * 100vw);
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  background: url(../img/flow_a_img.svg) no-repeat center/contain;
}

.p-lesson__voice {
  margin-top: calc(24 / 375 * 100vw);
}

.p-lesson__voiceTtl {
  background: #e54a7a;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(64 / 375 * 100vw);
  font-weight: 700;
  font-size: calc(18 / 375 * 100vw);
  line-height: 1.2777777778;
  letter-spacing: 0.03em;
  position: relative;
  border: 1px solid #e54a7a;
  border-radius: calc(12 / 375 * 100vw) calc(12 / 375 * 100vw) 0 0;
}

.p-lesson__voiceTtl::before {
  content: "";
  width: calc(50.88 / 375 * 100vw);
  height: calc(40.88 / 375 * 100vw);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-30 / 375 * 100vw);
  background: url(../img/spcial_img_clip.svg) no-repeat center/contain;
}

.p-lesson__voiceInner {
  padding: calc(17 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw);
  border-radius: 0 0 calc(12 / 375 * 100vw) calc(12 / 375 * 100vw);
  border: 1px solid #e54a7a;
}

.p-lesson__voiceList {
  display: flex;
  flex-direction: column;
  gap: calc(17 / 375 * 100vw);
}

.p-lesson__voiceItem__head {
  display: flex;
  align-items: center;
  gap: calc(7 / 375 * 100vw);
  width: 100%;
  height: calc(40 / 375 * 100vw);
  margin: 0;
}

.p-lesson__voiceItem__img {
  width: calc(40 / 375 * 100vw);
}

.p-lesson__voiceItem__name {
  color: #ff6b6b;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 186.667%;
}

.p-lesson__voiceItem__txt {
  width: calc(275 / 375 * 100vw);
  background: #f1f1f1;
  color: #000;
  font-weight: 400;
  font-size: calc(14 / 375 * 100vw);
  line-height: 1.4285714286;
  letter-spacing: 0;
  padding: calc(16 / 375 * 100vw);
  border-radius: calc(8 / 375 * 100vw);
  margin-top: calc(8 / 375 * 100vw);
  margin-left: auto;
  position: relative;
}

.p-lesson__voiceItem__txt::before {
  content: "";
  width: calc(20 / 375 * 100vw);
  height: calc(20 / 375 * 100vw);
  position: absolute;
  right: 99%;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/lesson_comment_img.svg) no-repeat center/contain;
}

.p-lesson__voiceItem__txt span {
  font-weight: 700;
}

.p-lesson__kirakira {
  margin-top: calc(24 / 375 * 100vw);
  display: flex;
  justify-content: center;
}

.p-lesson__kirakiraImg {
  width: calc(138 / 375 * 100vw);
  animation: floatAnimation 2.5s ease-in-out infinite;
}

.p-lesson__kirakiraTxt {
  width: calc(183 / 375 * 100vw);
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 180%;
}

.p-lesson__kirakiraImg2 {
  width: calc(350 / 375 * 100vw);
  margin-left: calc(-7.5 / 375 * 100vw);
}

.p-lesson__kirakiraCta {
  width: calc(305 / 375 * 100vw);
  margin: calc(24 / 375 * 100vw) auto 0;
}

.p-special {
  padding-top: calc(61.56 / 375 * 100vw);
  padding-bottom: calc(36 / 375 * 100vw);
  position: relative;
  margin-top: calc(36 / 375 * 100vw);
}

.p-special__ttl {
  font-weight: 700;
  font-size: calc(20 / 375 * 100vw);
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-align: center;
}

.p-special__ttl::before {
  content: "";
  width: calc(335 / 375 * 100vw);
  height: calc(84.16 / 375 * 100vw);
  background: url(../img/special_h3.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}

.p-special__cont {
  margin-top: calc(20 / 375 * 100vw);
}

.p-special__txt {
  font-weight: 400;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1.5333333333;
  letter-spacing: 0.03em;
  text-align: justify;
  margin-top: calc(20 / 375 * 100vw);
}

.p-special__txt span {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #faf613;
  text-decoration-thickness: 4px;
  text-underline-offset: -3px;
}

.p-special__images {
  display: flex;
  gap: calc(10 / 375 * 100vw);
  margin-top: calc(20 / 375 * 100vw);
}

.p-special__img2 {
  width: calc(162.5 / 375 * 100vw);
}

.p-faq {
  background: #f7f7d5;
}

.p-faq__inner {
  padding-top: calc(60 / 375 * 100vw);
  padding-bottom: calc(120 / 375 * 100vw);
}

.p-faq__ttl {
  width: calc(316 / 375 * 100vw);
  margin-left: calc(27.5 / 375 * 100vw);
}

.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: calc(20 / 375 * 100vw);
  margin-top: calc(39 / 375 * 100vw);
}

.p-faq__q {
  margin-left: calc(16 / 375 * 100vw);
  padding: calc(12 / 375 * 100vw) calc(54 / 375 * 100vw) calc(12 / 375 * 100vw)
    calc(20 / 375 * 100vw);
  background: #fff;
  border-radius: calc(8 / 375 * 100vw);
  position: relative;
}

.p-faq__q:hover {
  cursor: pointer;
}

.p-faq__q::before {
  content: "";
  width: calc(16 / 375 * 100vw);
  height: calc(16 / 375 * 100vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 100%;
  background: url(../img/fukidashi.svg) no-repeat center/contain;
}

.p-faq__q.is-active .p-faq__qIcon::before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.p-faq__q.is-active .p-faq__qIcon::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

.p-faq__q.is-active + .p-faq__a {
  max-height: 100vh;
}

.p-faq__qTxt {
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1.3333333333;
  letter-spacing: 0;
}

.p-faq__qIcon {
  width: calc(24 / 375 * 100vw);
  height: calc(24 / 375 * 100vw);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(20 / 375 * 100vw);
  background: #5bb647;
}

.p-faq__qIcon::before,
.p-faq__qIcon::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: calc(1.5 / 375 * 100vw);
  width: calc(10.5 / 375 * 100vw);
  background-color: #fff;
  transition: all 0.3s ease;
}

.p-faq__qIcon::before {
  opacity: 1;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.p-faq__a {
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s ease;
  padding-left: calc(20 / 375 * 100vw);
}

.p-faq__aTxt {
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1.6;
  letter-spacing: 0;
  padding-top: calc(20 / 375 * 100vw);
}

.p-faq__aTxt span {
  font-weight: 700;
}

.p-classroom {
  background: linear-gradient(
      0deg,
      rgba(27, 185, 219, 0.12) 0%,
      rgba(27, 185, 219, 0.12) 100%
    ),
    #fff;
}

.p-classroom__inner {
  position: relative;
  padding: calc(40 / 375 * 100vw) 0;
}

.p-classroom__head {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-24 / 375 * 100vw);
  border: 1px solid #1bb9db;
  width: calc(319 / 375 * 100vw);
  height: calc(45 / 375 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: calc(8 / 375 * 100vw);
  color: #1bb9db;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: calc(15 / 375 * 100vw);
  letter-spacing: 0.02em;
}

.p-classroom__head::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: calc(5 / 375 * 100vw) solid transparent;
  border-left: calc(5 / 375 * 100vw) solid transparent;
  border-top: calc(6 / 375 * 100vw) solid #1bb9db;
  border-bottom: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.p-classroom__ttl {
  font-weight: bold;
  font-size: calc(32 / 375 * 100vw);
  line-height: 1;
  letter-spacing: 0;
  color: #1bb9db;
  text-align: center;
}

.p-classroom__cont {
  background: #fff;
  border-radius: calc(12 / 375 * 100vw);
  padding: calc(30 / 375 * 100vw) calc(20 / 375 * 100vw);
  margin-top: calc(27 / 375 * 100vw);
}

.p-classroom__search {
  display: flex;
  flex-direction: column;
  gap: calc(20 / 375 * 100vw);
}

.p-classroom__searchInner label {
  display: block;
  font-family: "GenJyu", sans-serif;
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 140%;
  margin: 0 0 calc(8 / 375 * 100vw) 0;
}

.p-classroom__searchInner select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: calc(40 / 375 * 100vw);
  background: #fff;
  width: 100%;
  border: 1px solid #d9d9d9;
  border-radius: calc(8 / 375 * 100vw);
  padding: 0 calc(9 / 375 * 100vw);
  color: #222;
  font-family: "GenJyu", sans-serif;
  font-weight: 400;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1;
  letter-spacing: 0;
  background-image: url("../img/arrow.svg");
  background-repeat: no-repeat;
  background-size: calc(10 / 375 * 100vw) auto;
  background-position: right calc(16 / 375 * 100vw) center;
}

.p-classroom button {
  font-family: "GenJyu", sans-serif;
  background: none;
  border: none;
  width: 100%;
}

.p-classroom button:hover {
  cursor: pointer;
}

.p-classroom button > span {
  height: calc(67 / 375 * 100vw);
}

.p-classroom__results {
  margin-top: calc(20 / 375 * 100vw);
}

.p-classroom__resultItem {
  border-top: 1px solid #b7b7b7;
  padding: calc(20 / 375 * 100vw) 0;
}

.p-classroom__resultItem h3 {
  font-weight: bold;
  font-size: calc(18 / 375 * 100vw);
  line-height: 1;
  letter-spacing: 0.08em;
}

.p-classroom__resultItem p {
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 1.2;
  letter-spacing: 0.08em;
  margin-top: calc(12 / 375 * 100vw);
  width: calc(241 / 375 * 100vw);
  padding-left: calc(28 / 375 * 100vw);
  position: relative;
}

.p-classroom__resultItem p::before {
  content: "";
  background: url(../img/pin.svg) no-repeat center/contain;
  width: calc(20 / 375 * 100vw);
  height: calc(20 / 375 * 100vw);
  position: absolute;
  left: 0;
  top: 0;
}

.p-classroom__resultItem a {
  display: block;
  width: calc(164.5 / 375 * 100vw);
  background: #1bb9db;
  border-radius: calc(8 / 375 * 100vw);
  padding: calc(12 / 375 * 100vw);
  color: #fff;
  font-weight: bold;
  font-size: calc(14 / 375 * 100vw);
  line-height: 1;
  letter-spacing: 0.08em;
  margin-left: auto;
  position: relative;
  margin-top: calc(12 / 375 * 100vw);
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1019607843);
  transition: all 0.3s ease;
}

.p-classroom__resultItem a:hover {
  background: #2592f2;
  text-decoration: none;
}

.p-classroom__resultItem a:hover i::before {
  color: #2592f2;
}

.p-classroom__resultItem a i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(17 / 375 * 100vw);
  height: calc(17 / 375 * 100vw);
  color: #1bb9db;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(12 / 375 * 100vw);
  font-size: calc(10 / 375 * 100vw);
  padding-left: 2px;
}

.p-info {
  background: #5bb647;
  position: relative;
  padding: calc(20 / 375 * 100vw) 0;
}

.p-info::before {
  content: "";
  width: 100vw;
  height: calc(60 / 375 * 100vw);
  bottom: calc(100% - 2px);
  left: 0;
  background: url(../img/phrase_header_sp.svg) no-repeat center/cover;
  position: absolute;
}

.p-info::after {
  content: "";
  width: 100vw;
  height: calc(60 / 375 * 100vw);
  top: calc(100% - 2px);
  left: 0;
  background: url(../img/phrase_footer_sp.svg) no-repeat center/cover;
  position: absolute;
  z-index: 1;
}

.p-info__inner {
  background: #fff;
  border-radius: calc(20 / 375 * 100vw);
  padding-top: calc(40 / 375 * 100vw);
}

.p-info__ttl {
  width: calc(72 / 375 * 100vw);
  margin: 0 auto;
}

.p-info__txt1 {
  font-weight: 500;
  font-size: calc(15 / 375 * 100vw);
  line-height: 2.1333333333;
  letter-spacing: 0;
  text-align: center;
  margin-top: calc(10 / 375 * 100vw);
}

.p-info__txt2 {
  margin-top: calc(10 / 375 * 100vw);
  padding: calc(17.1 / 375 * 100vw);
  position: relative;
  text-align: center;
  font-weight: 500;
  font-size: calc(18 / 375 * 100vw);
  line-height: 1.7777777778;
  letter-spacing: 0;
}

.p-info__txt2::before,
.p-info__txt2::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: calc(252.72 / 375 * 100vw);
  height: calc(7.1 / 375 * 100vw);
  background: url(../img/phrase_line.svg) no-repeat center/contain;
}

.p-info__txt2::before {
  top: 0;
}

.p-info__txt2::after {
  bottom: 0;
}

.p-info__img {
  width: calc(196 / 375 * 100vw);
  margin: calc(10 / 375 * 100vw) auto 0;
}
@media (min-width: 768px) {
  .l-inner {
    width: 100%;
    max-width: 900px;
  }
}
@media screen and (min-width: 768px) {
  .l-headerLp {
    width: 100vw;
    height: 88px;
    background: none;
    position: fixed;
    top: 0;
    z-index: 1000;
  }

  .l-headerLp__inner {
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    padding: 20px 0;
  }

  .l-headerLp__logo {
    display: block;
    margin-right: auto;
    width: 290px;
    padding: 0;
    position: absolute;
    top: 20px;
    left: 4.1666666667%;
    padding: 14.85px 15px;
    border-radius: 0 0 10px 0;
  }

  .l-headerLp__float {
    position: absolute;
    top: 20px;
    right: 5.5555555556%;
    gap: 20px;
    width: 392px;
    left: auto;
    transform: none;
  }

  .l-headerLp__floatCta {
    width: 200px;
    height: 48px;
    padding: 8px 12px;
    font-size: 16px;
    box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1019607843);
    border-radius: 8px;
  }

  .l-headerLp__floatTell {
    box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1019607843);
    width: 172px;
    height: 48px;
    padding: 8px 20px;
    border-radius: 8px;
  }

  .l-headerLp__floatTellIconTxt {
    height: 21px;
    width: 132px;
    gap: 4px;
  }

  .l-headerLp__floatTellIcon {
    width: 21px;
    height: 21px;
  }

  .l-headerLp__floatTellIcon i {
    font-size: 12px;
  }

  .l-headerLp__floatTellIcon i::before {
    left: 3px;
  }

  .l-headerLp__floatTellTxt1 {
    font-size: 16px;
  }

  .l-headerLp__floatTellTxt2 {
    padding-top: 2px;
    font-size: 12px;
  }

  .c-lpTtl {
    font-size: 24px;
    margin-top: 14px;
    padding-bottom: 15px;
  }

  .c-lpTtl::after {
    width: 264px;
    height: 40px;
    left: -8px;
  }

  .c-lpTtl .u-txtL {
    font-size: 32px;
  }

  .c-lpTtlTxt2 {
    margin-top: 8px;
  }

  .c-lpTtlHead {
    height: 26px;
    line-height: 26px;
    font-size: 12px;
    min-width: 107px;
  }

  .c-lpTtlHead::before {
    border-width: 13px 0px 13px 6px;
  }

  .c-lpTtlHead::after {
    border-width: 13px 6px 13px 0px;
  }

  .c-cta__inner {
    padding-top: 20px;
  }

  .c-cta__cont {
    padding: 15px 15px 20px;
  }

  .c-cta__form {
    padding-top: 44px;
    width: 305px;
    margin: 0 auto;
  }

  .c-cta__form::before {
    left: 22px;
    width: 64.98px;
    height: 64.98px;
  }

  .c-cta__form::after {
    left: -4px;
    width: 22px;
    height: 19.98px;
  }

  .c-cta__form--classroom > .c-cta__catch {
    width: 177px;
  }

  .c-cta__catch {
    top: 19.98px;
    right: 37.51px;
    font-size: 16px;
  }

  .c-cta__catch::before,
  .c-cta__catch::after {
    height: 18px;
  }

  .c-cta__catch::before {
    left: -13px;
  }

  .c-cta__catch::after {
    right: -13px;
  }

  .c-cta__btn {
    border-radius: 10px;
  }

  .c-cta__btn--tel {
    margin-top: 20px;
  }

  .c-cta__btn--tel i {
    font-size: 12px;
    width: 21px;
    height: 21px;
    border-radius: 10.5px;
    left: 19.98px;
    padding-right: 3px;
  }

  .c-cta__btnTxt::before {
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    border-width: 2px;
    border-radius: 10px;
  }

  .c-cta__btnTxt--tel {
    width: 100%;
    height: 70px;
    gap: 3.12px;
    padding-left: 25px;
  }

  .c-cta__btnTxt__txt1 {
    width: 100%;
    height: 90px;
    font-size: 20px;
    padding-right: 30.84px;
  }

  .c-cta__btnTxt__txt2 {
    font-size: 24px;
  }

  .c-cta__btnTxt__txt3 {
    font-size: 11px;
  }

  .c-cta__btnTxt i {
    font-size: 12px;
    width: 21px;
    height: 21px;
    border-radius: 10.5px;
    right: 22px;
  }

  .p-mainvisual {
    padding-bottom: 0px;
  }

  .c-menuBtn {
    display: none;
  }

  .c-menuBody {
    display: none;
  }

  .p-campaign {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .p-campaign.campaign2 {
    margin-top: 76px;
  }

  .p-campaign__inner {
    max-width: 1080px;
    border-radius: 20px;
    padding-top: 55px;
    padding-bottom: 28px;
  }

  .p-campaign__ttl {
    width: 399px;
  }

  .p-campaign__box {
    width: 72.2222222222%;
    max-width: 780px;
    border-radius: 20px;
    border-width: 2px;
    padding-bottom: 129px;
  }

  .p-campaign__boxHead {
    height: 48px;
    gap: 0;
    justify-content: center;
    padding-left: 0;
    border-radius: 20px 20px 0 0;
  }

  .p-campaign__boxHead::after {
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-top: 8px solid #54afff;
    top: 99%;
  }

  .p-campaign__boxHead h3 {
    font-size: 20px;
  }

  .p-campaign__boxHeadItem {
    width: 89px;
    height: 89px;
    position: absolute;
    left: 70%;
    transform: translateX(-50%);
  }

  .p-campaign__boxHeadItem__txt1 {
    font-size: 17.8px;
  }

  .p-campaign__boxHeadItem__txt2 {
    font-size: 23.499px;
  }

  .p-campaign__boxHeadItem__txt3 {
    font-size: 13.055px;
  }

  .p-campaign__txt {
    font-size: 18px;
    line-height: 166.667%;
    margin-top: 17px;
  }

  .p-campaign__txt2 {
    width: 185px;
    position: absolute;
    left: 23.5897435897%;
    font-size: 20.571px;
    text-align: left;
    margin-top: 23px;
  }

  .p-campaign__txt2 .u-underline {
    display: none;
  }

  .p-campaign__txt2 .u-underline_pc {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 185px;
  }

  .p-campaign__gift {
    width: 207.5px;
    margin-left: 0;
    bottom: 10.76px;
    right: 21.7948717949%;
    position: absolute;
  }

  .p-campaign__arrow {
    width: 72px;
    left: 40%;
    bottom: 25px;
  }

  .p-campaign__box2 {
    border: none;
    padding: 0;
    margin-top: 16px;
  }

  .p-campaign__box2__txt {
    font-size: 16px;
    line-height: 187.5%;
  }

  .p-campaign__box2__txt2 {
    font-size: 24px;
    line-height: 125%;
  }

  .p-campaign__box2__txt2 span::after {
    background: url(../img/dot_pc.svg) no-repeat center/contain;
    width: 240px;
    height: 11px;
    bottom: -8px;
  }

  .p-campaign__btnWrap {
    gap: 20px;
    margin-top: 28px;
  }

  .p-campaign__btn {
    width: 240px;
    height: 61px;
    padding-right: 13.02px;
    border-radius: 33.856px;
  }

  .p-campaign__btn2 {
    width: 180px;
    height: 61px;
    padding-right: 13.02px;
    border-radius: 33.856px;
    padding-left: 28.22px;
  }

  .p-campaign__circle {
    width: 60.94px;
    height: 60.94px;
    gap: 2.03px;
  }

  .p-campaign__circleTxt1 {
    font-size: 16px;
  }

  .p-campaign__circleTxt2 {
    width: 15.13px;
    height: 15.13px;
    font-size: 10px;
  }

  .p-campaign__circleTxt3 {
    font-size: 14px;
    line-height: 1;
  }

  .p-campaign__btnTxt {
    font-size: 16px;
  }

  .p-campaign__btnArrow {
    width: 20.313px;
    height: 20.313px;
  }

  .p-campaign__img {
    width: 256.5px;
  }

  .p-campaign__links {
    width: 360px;
  }

  .c-schoolBtn {
    bottom: 50%;
    transform: translateY(50%);
  }

  .c-schoolBtn.hide-on-scroll {
    transform: translate(100%, 50%);
  }

  .c-schoolBtn a {
    font-size: 16px;
    padding: 12px;
    max-width: 48px;
  }

  .c-schoolBtn a__icon {
    width: 24px;
    margin-top: 4px;
  }

  .p-magic__inner {
    padding-top: 40px;
    padding-bottom: 9.7222222222vw;
  }

  .p-magic__ttl {
    width: 300.341px;
    padding-right: 62.743px;
    margin: 0 auto;
  }

  .p-magic__ttlIcon {
    width: 50px;
    left: auto;
    right: 11px;
    bottom: 11px;
  }

  .p-magic__cont {
    width: 780px;
    margin: 0 auto;
  }

  .p-magic__box1 {
    padding-top: 24.15px;
    height: 180px;
  }

  .p-magic__box1__txt1 {
    top: 13px;
    left: 70px;
  }

  .p-magic__box1__txt1 span {
    font-size: 14px;
  }

  .p-magic__box1__txt1 span::before {
    width: 30.364px;
    left: -25px;
    bottom: 16px;
  }

  .p-magic__box1__txt1 span::after {
    width: 29.07px;
    right: -24px;
    bottom: 10px;
  }

  .p-magic__box1__img {
    width: 166.667px;
    left: 13.33px;
    top: 58px;
  }

  .p-magic__box1__img::before {
    width: 166.667px;
    height: 166.667px;
    left: -13.33px;
    top: 14.17px;
  }

  .p-magic__box1__txt2 {
    top: 71.93px;
    left: 170px;
    width: 196.001px;
    height: 99.989px;
  }

  .p-magic__box1__txt2Bg {
    width: 196.001px;
    height: 99.989px;
  }

  .p-magic__box1__txt2Txt {
    font-size: 18px;
    top: 37.07px;
    right: 43px;
  }

  .p-magic__box1__txt2Arrow {
    width: 42.282px;
    bottom: -42.99px;
    right: -2.28px;
    left: auto;
    transform: rotateY(180deg);
  }

  .p-magic__box2 {
    height: 132px;
  }

  .p-magic__box2__txt1Bg {
    width: 221px;
    height: 152px;
    right: 186px;
    left: auto;
  }

  .p-magic__box2__txt1Txt {
    font-size: 18px;
    top: 29px;
    right: 213px;
    left: auto;
  }

  .p-magic__box2__txt1Arrow {
    width: 42.282px;
    top: 124px;
    left: 374px;
    transform: rotateY(180deg);
  }

  .p-magic__box2__img {
    width: 166.667px;
    right: 39px;
    top: -31px;
  }

  .p-magic__box2__img::before {
    width: 166.667px;
    height: 166.667px;
    left: 38.67px;
    top: 27px;
  }

  .p-magic__box3 {
    margin-top: 37px;
    height: 74px;
  }

  .p-magic__box3__circle {
    left: 0;
    top: -44px;
    width: 74px;
    height: 74px;
  }

  .p-magic__box3__circle p {
    font-size: 13.695px;
  }

  .p-magic__box3__img {
    width: 97.854px;
    margin-left: 29px;
  }

  .p-magic__box3__txt {
    right: auto;
    left: 133px;
    top: 29px;
  }

  .p-magic__box3__txt::after {
    width: 22.122px;
    height: 35.79px;
    right: -26.122px;
    top: -12px;
  }

  .p-magic__box3__txt p {
    font-size: 20px;
  }

  .p-magic__box4 {
    height: 138.08px;
    margin-top: 25px;
  }

  .p-magic__box4__txt1 {
    left: auto;
    right: 221px;
    width: 202px;
  }

  .p-magic__box4__txt1Txt {
    font-size: 18px;
    left: 30px;
    top: 27px;
  }

  .p-magic__box4__txt1Arrow {
    width: 42.282px;
    right: 356px;
    left: auto;
  }

  .p-magic__box4__img {
    width: 123.243px;
    right: 91px;
    top: -40px;
  }

  .p-magic__box5 {
    height: 115px;
    margin-top: 0;
  }

  .p-magic__box5__txt1 {
    top: 56px;
    left: 205px;
    width: 185px;
  }

  .p-magic__box5__txt1Bg {
    width: 185px;
  }

  .p-magic__box5__txt1Txt {
    font-size: 18px;
    top: 32px;
    left: 21px;
  }

  .p-magic__box5__txt1Arrow {
    width: 42.282px;
    left: 360px;
    bottom: -94px;
  }

  .p-magic__box5__img {
    width: 190px;
    right: auto;
    left: 0;
  }

  .p-magic__box5__img::before {
    width: 166.667px;
    height: 166.667px;
    left: 67px;
    top: 2px;
  }

  .p-magic__box6 {
    height: 232px;
    margin-top: 6.93px;
  }

  .p-magic__box6__img {
    width: 193px;
    left: auto;
    right: 164px;
    top: 28.99px;
  }

  .p-magic__box6__img::before {
    width: 166.667px;
    height: 166.667px;
    left: -23px;
    bottom: -23.67px;
  }

  .p-magic__box6__txt1 {
    width: 179.982px;
    right: 45px;
  }

  .p-magic__box6__txt1Txt {
    font-size: 14px;
    top: 7.99px;
    right: 19.98px;
  }

  .p-magic__box6__txt2 {
    width: 188px;
    right: 0;
    top: 20.99px;
  }

  .p-magic__box6__txt2Txt {
    font-size: 18px;
    right: 23px;
    top: 30px;
  }

  .p-magic__box6__txt3 {
    width: 175px;
    right: 7px;
    bottom: 27px;
  }

  .p-magic__box6__txt3Txt {
    font-size: 16px;
    top: 11px;
    right: 15px;
  }

  .p-magic__txtImgs {
    width: 310px;
    margin: 80px auto 0;
  }

  .p-magic__icon1 {
    width: 63.5px;
    left: -25.01px;
  }

  .p-magic__icon2 {
    width: 50.5px;
    right: -25.01px;
  }

  .p-magic__txtImg {
    width: 100%;
  }

  .p-episode::before {
    background: url(../img/wave_bg_pc.svg) no-repeat center/cover;
    height: 5.5555555556vw;
  }

  .p-episode__inner {
    padding-bottom: 20px;
  }

  .p-episode__ttlTxt {
    font-size: 18px;
    letter-spacing: 0.54px;
  }

  .p-episode__ttlImg {
    width: 332px;
  }

  .p-episode__cont {
    max-width: 1080px;
    margin: 0 auto;
    overflow: hidden;
  }

  .p-episode .swiper-pagination {
    margin-top: 8px;
  }

  .p-episode__card {
    width: auto;
    min-height: 440px;
    border-radius: 20px;
    padding: 20px;
  }

  .p-episode__cardImg {
    width: 240px;
  }

  .p-episode__cardImg.card1::before {
    width: 72px;
    height: 34px;
    top: -13px;
    left: 77px;
  }

  .p-episode__cardImg.card2::before {
    width: 93px;
    height: 39px;
    top: -12px;
    left: 78px;
  }

  .p-episode__cardImg.card3::before {
    width: 100px;
    height: 58px;
    top: -25px;
    left: 38px;
  }

  .p-episode__cardTxt {
    font-size: 15px;
    margin-top: 10px;
  }

  .p-episode__cardInfo {
    font-size: 16px;
    margin-top: 10px;
  }

  .p-cta {
    padding-bottom: 40px;
  }

  .p-cta__inner {
    max-width: 780px;
    border-radius: 20px;
    padding: 33px 0 36px;
  }

  .p-cta__ttl {
    font-size: 18px;
    line-height: 122.222%;
  }

  .p-cta__ttl::before {
    width: 30.5px;
    height: 42px;
  }

  .p-cta__ttl::after {
    width: 30.5px;
    height: 42px;
  }

  .p-cta__box {
    width: 280px;
    margin: 0 auto;
  }

  .p-cta__icon1 {
    width: 18.046px;
    left: -24px;
  }

  .p-cta__icon2 {
    width: 40.5px;
    right: auto;
    left: 100%;
    top: -36.23px;
  }

  .p-cta__icon3 {
    width: 54px;
    left: 23.0769230769%;
  }

  .p-cta__btn {
    width: 280px;
    height: 60px;
    border-radius: 30px;
    margin-top: 48px;
    padding-left: 120px;
    padding-right: 12px;
  }

  .p-cta__btnImg {
    width: 121px;
  }

  .p-cta__btnTxt {
    font-size: 16px;
    line-height: 112.5%;
  }

  .p-cta__btnArrow {
    width: 18px;
  }

  .p-cta__school {
    margin-top: 24px;
  }

  .p-cta__school p {
    font-size: 16px;
    line-height: 137.5%;
  }

  .p-cta__schoolBtn {
    width: 280px;
    height: 46px;
    margin-top: 6px;
  }

  .p-cta__schoolTxt {
    font-size: 16px;
    line-height: 112.5%;
  }

  .p-cta__schoolArrow {
    width: 18px;
    right: 17.23px;
  }

  .p-course {
    padding-top: 8.3333333333vw;
  }

  .p-course::before {
    background: url(../img/wave_bg2_pc.svg) no-repeat center/cover;
    height: 5.5555555556vw;
    top: -1px;
  }

  .p-course__inner {
    max-width: 780px;
    margin: 0 auto;
    padding-bottom: 80px;
  }

  .p-course__ttlTxt {
    font-size: 18px;
    letter-spacing: 0.54px;
  }

  .p-course__ttlImg {
    width: 226.5px;
  }

  .p-course__note {
    font-size: 14px;
    margin-top: 12px;
  }

  .p-course__desc {
    text-align: center;
    font-size: 17px;
    line-height: normal;
    margin-top: 20px;
  }

  .p-course__nav {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: inherit;
    margin-top: 20px;
  }

  .p-course__navItem {
    width: 180px;
    height: 54px;
    padding-left: 12px;
    padding-right: 9px;
    border-radius: 12px;
  }

  .p-course__navItem.item4 {
    padding-left: 4px;
  }

  .p-course__navBtn {
    font-size: 19px;
  }

  .p-course__navBtn em {
    font-size: 24px;
  }

  .p-course__navBtn small {
    font-size: 15px;
  }

  .p-course__navBtn span {
    width: 18px;
  }

  .p-course__note2 {
    margin-top: 20px;
  }

  .p-course__note2 small {
    font-size: 12px;
    line-height: normal;
  }

  .p-course__swiper {
    margin-top: 20px;
  }

  .p-course__card {
    width: 780px;
    padding: 40px;
    border-radius: 20px;
    border: 3px solid;
    gap: 20px;
    margin-top: 20px;
  }

  .p-course__card h3 {
    width: 294px;
    font-size: 20px;
  }

  .p-course__card h3 em {
    font-size: 24.444px;
  }

  .p-course__card h3 small {
    font-size: 13.333px;
  }

  .p-course__card__lead {
    width: 100%;
    font-size: 15px;
  }

  .p-course__oyako {
    margin-top: 25px;
  }

  .p-course__oyako__ttl {
    font-size: 18px;
    padding-left: 225.87px;
  }

  .p-course__oyako__ttl span {
    width: 128px;
    left: 201px;
    top: 4px;
  }

  .p-course__oyako__ttl.ttl2 {
    width: 243px;
    margin-left: 126.35px;
  }

  .p-course__oyako__ttl.ttl2 span {
    right: -12.82px;
    bottom: -15.07px;
  }

  .p-course__oyako__detail {
    height: 129.623px;
    margin-top: 0;
  }

  .p-course__oyako__detail p {
    width: 420px;
    font-size: 15px;
    right: 65px;
    bottom: 30px;
  }

  .p-course__oyako__detailImg1 {
    top: 12px;
    width: 131px;
    left: 195.87px;
  }

  .p-course__oyako__detailImg2 {
    width: 117px;
    left: 72.87px;
    top: -55.91px;
  }

  .p-course__oyako__detail2 {
    height: 191.532px;
    margin-top: 0;
  }

  .p-course__oyako__detail2 p {
    width: 264px;
    font-size: 15px;
    left: 106px;
    bottom: 34.47px;
  }

  .p-course__oyako__detailImg3 {
    width: 202.5px;
    right: 106px;
  }

  .p-course__children__ttl {
    font-size: 18px;
  }

  .p-course__children__ttl span {
    width: 303px;
    top: 10px;
  }

  .p-course__children__detail p {
    width: 561.844px;
    font-size: 15px;
  }

  .p-course__children__detailImg1 {
    width: 279px;
    padding-right: 22.45px;
    margin: 15px auto 0;
  }

  .p-course__children__detailImg2 {
    width: 233px;
    margin: 8px auto 0;
  }

  .p-course__elementary__ttl {
    font-size: 18px;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
    top: 14px;
    right: 61.36px;
    position: absolute;
  }

  .p-course__elementary__ttl span {
    width: 127.228px;
    left: -14.75px;
    top: 1px;
  }

  .p-course__elementary__ttl.ttl2 {
    position: static;
  }

  .p-course__elementary__ttl.ttl2 span {
    width: 255px;
    top: 35.16px;
  }

  .p-course__elementary__detail {
    height: 133.844px;
    margin-top: 3px;
  }

  .p-course__elementary__detail p {
    width: 223px;
    right: 200px;
    bottom: 24.94px;
    font-size: 15px;
  }

  .p-course__elementary__detail2 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 126px;
    margin-top: 30.16px;
  }

  .p-course__elementary__detail2 p {
    width: 265px;
    position: static;
    font-size: 15px;
  }

  .p-course__elementary__detailImg1 {
    width: 191.176px;
    left: 61.36px;
    bottom: 0;
  }

  .p-course__elementary__detailImg2 {
    width: 174px;
    position: static;
  }

  .p-course__highschool__ttl {
    font-size: 20px;
    width: 100%;
  }

  .p-course__highschool__ttl span {
    display: block;
    width: 215px;
    margin: 8px auto 0;
  }

  .p-course__highschool__detail {
    width: 100%;
    margin: 8px auto 0;
  }

  .p-course__highschool__detail p {
    font-size: 15px;
    margin-top: 8px;
  }

  .p-course__highschool__detailImg1 {
    width: 172px;
  }

  .p-course__highschool__detailImg2 {
    width: 177px;
  }

  .p-course__fee {
    width: 100%;
    gap: 20px;
    align-items: baseline;
  }

  .p-course__fee h4 {
    font-size: 15px;
    padding-bottom: 7px;
  }

  .p-course__fee dl dt {
    width: 120px;
    height: 31px;
    font-size: 14px;
    border-radius: 4px;
  }

  .p-course__fee dl dt span {
    font-size: 12px;
  }

  .p-course__fee dl dd {
    width: 440px;
    font-size: 14px;
    padding: 0 12px;
  }

  .p-course__feeDetail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px 0;
  }

  .p-course__feeDetail dd {
    max-width: 220px;
  }

  .p-course .swiper-pagination {
    margin-top: 8px;
  }

  .p-earlier {
    margin-bottom: 80px;
  }

  .p-earlier__inner {
    max-width: 780px;
    margin: 0 auto;
    padding-bottom: 80px;
  }

  .p-earlier__ttl {
    font-size: 18px;
  }

  .p-earlier__ttl span {
    width: 255px;
  }

  .p-earlier__desc {
    margin-top: 20px;
  }

  .p-earlier__descTxt1 {
    font-size: 18px;
    letter-spacing: 0.54px;
  }

  .p-earlier__descTxt2 {
    width: 118px;
  }

  .p-earlier__img {
    width: 780px;
    margin-top: 20px;
  }

  .p-earlier__img.img2 {
    width: 440px;
  }

  .p-earlier__txt {
    text-align: center;
    font-size: 15px;
    line-height: 143%;
    width: 100%;
    margin-top: 20px;
  }

  .l-bg1 {
    padding-bottom: 8.3333333333vw;
  }

  .p-lesson::before {
    background: url(../img/wave_bg_pc.svg) no-repeat center/cover;
    height: 5.5555555556vw;
    bottom: 100%;
  }

  .p-lesson__inner {
    padding-top: 40px;
    padding-bottom: 40px;
    max-width: 780px;
  }

  .p-lesson__head {
    font-size: 15px;
    line-height: 23px;
    padding: 11px 14px;
    border-radius: 8px;
  }

  .p-lesson__head::after {
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 5px solid #5bb647;
  }

  .p-lesson__ttl {
    margin-top: 29px;
  }

  .p-lesson__ttlTxt1 {
    font-size: 28px;
  }

  .p-lesson__ttlTxt2 {
    font-size: 48px;
    margin-top: -6px;
  }

  .p-lesson__lead {
    font-size: 15px;
    line-height: 23px;
    margin-top: 24px;
    text-align: center;
  }

  .p-lesson__flowTtl {
    height: 64px;
    font-size: 18px;
    line-height: 23px;
    border-radius: 12px 12px 0 0;
  }

  .p-lesson__flowTtl::before {
    width: 50.88px;
    height: 40.88px;
    top: -30px;
  }

  .p-lesson__flowInner {
    padding: 25.73px 40px 40px;
    border-radius: 0 0 12px 12px;
  }

  .p-lesson__flowItem.item1::before {
    height: 120px;
    left: 30px;
    top: 60px;
  }

  .p-lesson__flowItem.item2::before {
    height: 200px;
    left: 30px;
    top: 60px;
  }

  .p-lesson__flowItem__head {
    gap: 10px;
  }

  .p-lesson__flowItem__headNum {
    width: 60px;
  }

  .p-lesson__flowItem__headTxt {
    font-size: 16px;
  }

  .p-lesson__flowItem__body {
    width: 100%;
    margin-left: 42px;
  }

  .p-lesson__flowItem__body.body1 {
    height: 120px;
  }

  .p-lesson__flowItem__body.body2 {
    height: 200px;
    gap: 10px;
  }

  .p-lesson__flowItem__body.body3 {
    height: 200px;
    gap: 10px;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    padding-right: 40px;
  }

  .p-lesson__flowItem__bodyFlex {
    gap: 10px;
  }

  .p-lesson__flowItem__bodyTxt {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 15px;
  }

  .p-lesson__flowItem__bodyImg1 {
    width: 100px;
  }

  .p-lesson__flowItem__bodyImg2 {
    width: 324px;
  }

  .p-lesson__flowItem__bodyNote {
    font-size: 12px;
    text-align: right;
    padding-right: 40px;
  }

  .p-lesson__flowItem ul {
    margin-top: 0;
  }

  .p-lesson__flowItem li {
    font-size: 15px;
  }

  .p-lesson__flowFaq {
    padding-top: 20px;
  }

  .p-lesson__flowFaq__q {
    gap: 22px;
    height: 57.53px;
  }

  .p-lesson__flowFaq__qIcon {
    width: 59px;
  }

  .p-lesson__flowFaq__qTxt {
    width: 310px;
    height: 42px;
    font-size: 14px;
    line-height: 18px;
    border-radius: 8px;
  }

  .p-lesson__flowFaq__qTxt::before {
    width: 12px;
    height: 12px;
  }

  .p-lesson__flowFaq__a {
    width: 100%;
    margin-top: 10px;
  }

  .p-lesson__flowFaq__aTxt {
    height: 96px;
    width: 564px;
    margin-left: auto;
    margin-right: 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 18px;
    padding: 12px 20px;
  }

  .p-lesson__flowFaq__aTxt::before {
    width: 16px;
    height: 16px;
  }

  .p-lesson__voice {
    margin-top: 36px;
  }

  .p-lesson__voiceTtl {
    height: 64px;
    font-size: 18px;
    line-height: 23px;
    border-radius: 12px 12px 0 0;
  }

  .p-lesson__voiceTtl::before {
    width: 50.88px;
    height: 40.88px;
    top: -30px;
  }

  .p-lesson__voiceInner {
    padding: 17px 20px 40px;
    border-radius: 0 0 12px 12px;
  }

  .p-lesson__voiceList {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px;
  }

  .p-lesson__voiceItem {
    width: 330px;
    padding: 0 20px;
  }

  .p-lesson__voiceItem__head {
    width: 100%;
    height: 40px;
    gap: 7px;
  }

  .p-lesson__voiceItem__img {
    width: 40px;
  }

  .p-lesson__voiceItem__name {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
  }

  .p-lesson__voiceItem__txt {
    width: 310px;
    font-size: 14px;
    line-height: 20px;
    padding: 16px;
    border-radius: 16px;
    margin-top: 8px;
  }

  .p-lesson__voiceItem__txt::before {
    width: 20px;
    height: 20px;
  }

  .p-lesson__kirakira {
    margin-top: 24px;
    align-items: center;
    gap: 2px;
  }

  .p-lesson__kirakiraImg {
    width: 138px;
  }

  .p-lesson__kirakiraTxt {
    width: 417px;
    font-size: 16px;
    line-height: 168.75%;
  }

  .p-lesson__kirakiraImg2 {
    width: 674px;
    margin: 0 auto;
  }

  .p-lesson__kirakiraCta {
    width: 305px;
    margin: 24px auto 0;
  }

  .p-special {
    padding-top: 74.66px;
    padding-bottom: 36px;
    margin-top: 36px;
  }

  .p-special__ttl {
    font-size: 20px;
    line-height: 23px;
  }

  .p-special__ttl::before {
    width: 438px;
    height: 111px;
    left: 50%;
    transform: translateX(-50%);
  }

  .p-special__cont {
    margin-top: 20px;
  }

  .p-special__img1 {
    width: 560px;
    margin: 0 auto;
  }

  .p-special__txt {
    text-align: center;
    width: 100%;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0.48px;
    margin-top: 20px;
  }

  .p-special__images {
    gap: 20px;
    margin-top: 20px;
  }

  .p-special__img2 {
    width: 530px;
  }

  .p-faq {
    margin-top: 80px;
    padding-bottom: 8.3333333333vw;
  }

  .p-faq__inner {
    max-width: 780px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .p-faq__ttl {
    width: 316px;
    padding-left: 27.5px;
    margin: 0 auto;
  }

  .p-faq__list {
    gap: 20px;
    margin-top: 20px;
  }

  .p-faq__q {
    margin-left: 16px;
    padding: 14px 20px;
    border-radius: 8px;
  }

  .p-faq__q::before {
    width: 16px;
    height: 16px;
    right: calc(100% - 1px);
  }

  .p-faq__q.is-active .p-faq__qIcon::after {
    left: 6.75px;
    top: 50%;
    transform: translateY(-50%);
  }

  .p-faq__qTxt {
    font-size: 15px;
    line-height: 20px;
  }

  .p-faq__qIcon {
    width: 24px;
    height: 24px;
    right: 20px;
  }

  .p-faq__qIcon::before,
  .p-faq__qIcon::after {
    height: 1.5px;
    width: 10.5px;
  }

  .p-faq__a {
    padding-left: 20px;
  }

  .p-faq__aTxt {
    font-size: 15px;
    line-height: 24px;
    padding-top: 20px;
  }

  .p-classroom {
    background: #fff;
    margin-top: 80px;
  }

  .p-classroom__inner {
    max-width: 1080px;
    background: linear-gradient(
        0deg,
        rgba(27, 185, 219, 0.12) 0%,
        rgba(27, 185, 219, 0.12) 100%
      ),
      #fff;
    border-radius: 20px;
    padding: 40px 0;
  }

  .p-classroom__head {
    top: -24px;
    width: 319px;
    height: 45px;
    border-radius: 8px;
    font-size: 15px;
  }

  .p-classroom__head::after {
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 6px solid #1bb9db;
  }

  .p-classroom__ttl {
    font-size: 32px;
  }

  .p-classroom__cont {
    border-radius: 12px;
    max-width: 920px;
    margin: 27px auto 0;
    padding: 30px 60px;
  }

  .p-classroom__search {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }

  .p-classroom__searchInner {
    width: 380px;
  }

  .p-classroom__searchInner label {
    font-size: 15px;
    margin-bottom: 8px;
  }

  .p-classroom__searchInner select {
    font-size: 15px;
    height: 40px;
    padding: 0 9px;
    border-radius: 8px;
    background-image: url("../img/arrow.svg");
    background-repeat: no-repeat;
    background-size: 10px auto;
    background-position: right 16px center;
  }

  .p-classroom button > span {
    height: 67px;
  }

  .p-classroom__results {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    overflow: hidden;
  }

  .p-classroom__resultItem {
    width: 390px;
    position: relative;
    padding: 20px 0;
  }

  .p-classroom__resultItem::before {
    content: "";
    width: 800px;
    height: 1px;
    background: #b7b7b7;
    position: absolute;
    left: 0;
    bottom: 100%;
  }

  .p-classroom__resultItem h3 {
    font-size: 18px;
  }

  .p-classroom__resultItem p {
    font-size: 15px;
    line-height: 18px;
    margin-top: 12px;
    width: 241px;
    padding-left: 28px;
  }

  .p-classroom__resultItem p::before {
    width: 20px;
    height: 20px;
  }

  .p-classroom__resultItem a {
    width: 164.5px;
    border-radius: 8px;
    padding: 12px;
    font-size: 14px;
    margin-top: 12px;
  }

  .p-classroom__resultItem a i {
    width: 17px;
    height: 17px;
    font-size: 10px;
    right: 12px;
    padding-left: 3px;
  }

  .p-info {
    padding: 20px 0;
    margin-bottom: 8.3333333333vw;
  }

  .p-info::before {
    background: url(../img/phrase_header_pc.svg) no-repeat center/cover;
    height: 5.5555555556vw;
  }

  .p-info::after {
    background: url(../img/phrase_footer_pc.svg) no-repeat center/cover;
    height: 5.5555555556vw;
  }

  .p-info__inner {
    max-width: 780px;
    margin: 0 auto;
    padding-top: 40px;
    border-radius: 20px;
  }

  .p-info__ttl {
    width: 72px;
  }

  .p-info__txt1 {
    font-size: 15px;
    line-height: 32px;
    margin-top: 10px;
  }

  .p-info__txt2 {
    font-size: 18px;
    line-height: 32px;
    margin-top: 10px;
    padding: 17.1px;
  }

  .p-info__txt2::before,
  .p-info__txt2::after {
    width: 252.72px;
    height: 8px;
  }

  .p-info__img {
    width: 196px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .u-d-pc {
    display: none;
  }

  .u-hidden-sp {
    display: none;
  }

  .u-d-sp {
    display: block;
  }
}
