@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-sefif;
  letter-spacing: 0;
}

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

.l-NewFooter_snav {
  display: none;
}

.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%
  );
}
@keyframes spiderSwing {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(calc(18 / 375 * 100vw));
  }
}
@keyframes threadSwing {
  0% {
    height: calc(25 / 375 * 100vw);
  }

  100% {
    height: calc(45 / 375 * 100vw);
  }
}
@keyframes yurayura {
  0%,
  100% {
    transform: rotate(10deg);
  }

  50% {
    transform: rotate(-10deg);
  }
}
@keyframes katakata {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

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

  35% {
    transform: translate(0, 0) rotate(-5deg);
  }

  40% {
    transform: translate(0, -2px) rotate(0deg);
  }

  45% {
    transform: translate(0, -2px) rotate(5deg);
  }

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

  55% {
    transform: translate(0, 2px) rotate(0deg);
  }

  60% {
    transform: translate(0, 0) rotate(4deg);
  }

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

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }

  50% {
    transform: translate(0, -7px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
@keyframes ctaAnime {
  50% {
    transform: translate(0px, -8px);
  }
}
@keyframes shine {
  50% {
    left: 125%;
  }

  100% {
    left: 125%;
  }
}

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

.l-headerLp__floatCta {
  width: calc(206 / 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-sefif;
  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-sefif;
}

.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-sefif;
}

.flow_menu {
  display: none;
}

.p-mainvisual {
  max-width: calc(335 / 375 * 100vw);
  margin: calc(17.6 / 375 * 100vw) auto 0;
  position: relative;
}

.p-mainvisual__imgWrap {
  position: absolute;
  top: 0;
  left: 0;
}

.p-mainvisual__imgWrap__item1 {
  position: absolute;
  left: calc(128 / 375 * 100vw);
  top: calc(-15.32 / 375 * 100vw);
  width: calc(40.637 / 375 * 100vw);
  animation-delay: 0s;
}

.p-mainvisual__imgWrap__item2 {
  position: absolute;
  left: calc(176.83 / 375 * 100vw);
  top: calc(-17.6 / 375 * 100vw);
  width: calc(40.336 / 375 * 100vw);
}

.p-mainvisual__imgWrap__item3 {
  position: absolute;
  left: calc(221.07 / 375 * 100vw);
  top: calc(19.57 / 375 * 100vw);
  width: calc(34.674 / 375 * 100vw);
}

.p-lead {
  width: calc(365 / 375 * 100vw);
  margin: calc(6 / 375 * 100vw) auto 0;
}

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

.p-campaign__inner {
  width: calc(335 / 375 * 100vw);
  background: #3f2c61;
  border-radius: calc(24 / 375 * 100vw);
  padding: calc(23 / 375 * 100vw) 0 calc(29 / 375 * 100vw);
  margin: 0 auto;
  position: relative;
}

.p-campaign__ttl {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-6 / 375 * 100vw);
  width: calc(254 / 375 * 100vw);
  z-index: 1;
}

.p-campaign__cont {
  color: #3f2c61;
  background: url(../img/cta_bg_sp.svg) no-repeat center/cover;
  width: calc(335 / 375 * 100vw);
  height: calc(306 / 375 * 100vw);
  padding-top: calc(28 / 375 * 100vw);
  position: relative;
}

.p-campaign__cont::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(25 / 375 * 100vw);
  background: #3f2c61;
  position: absolute;
  left: calc(29.74 / 375 * 100vw);
  top: 0;
  animation: threadSwing 3s ease-in-out infinite alternate;
}

.p-campaign__cont::after {
  content: "";
  width: calc(31 / 375 * 100vw);
  height: calc(27 / 375 * 100vw);
  background: url(../img/cta_spider.svg) no-repeat center/contain;
  position: absolute;
  top: calc(13 / 375 * 100vw);
  left: calc(15 / 375 * 100vw);
  animation: spiderSwing 3s ease-in-out infinite alternate;
}

.p-campaign__text1 {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #3f2c61;
  border-radius: calc(2 / 375 * 100vw);
  width: calc(46 / 375 * 100vw);
  height: calc(22 / 375 * 100vw);
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 1.4px;
  margin: 0 auto;
}

.p-campaign__text2 {
  font-size: calc(14.636 / 375 * 100vw);
  font-weight: 700;
  line-height: 82.175%;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  margin: calc(8 / 375 * 100vw) auto 0;
}

.p-campaign__text2::after {
  content: "";
  width: 100%;
  height: calc(2.744 / 375 * 100vw);
  background: #fabf13;
  position: absolute;
  bottom: calc(-0.38 / 375 * 100vw);
  left: 0;
  z-index: -1;
}

.p-campaign__text2 span {
  font-size: calc(20.125 / 375 * 100vw);
}

.p-campaign__text3 {
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.23px;
  margin-top: calc(18 / 375 * 100vw);
}

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

.p-campaign__textBox {
  color: #3f2c61;
}

.p-campaign__text4 {
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.23px;
  padding-left: calc(34 / 375 * 100vw);
}

.p-campaign__text4 .u-line {
  position: relative;
  z-index: 1;
}

.p-campaign__text4 .u-line::after {
  content: "";
  width: calc(53.69 / 375 * 100vw);
  height: calc(9.64 / 375 * 100vw);
  background: url(../img/line_5-mei.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(1 / 375 * 100vw);
  left: 0;
  z-index: -1;
}

.p-campaign__text4 .u-big {
  font-size: calc(32 / 375 * 100vw);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.41px;
  position: relative;
}

.p-campaign__text5 {
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.23px;
  padding-left: calc(26 / 375 * 100vw);
}

.p-campaign__text6 {
  display: flex;
  align-items: baseline;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.23px;
  padding-left: calc(26 / 375 * 100vw);
  margin-top: calc(4.6 / 375 * 100vw);
}

.p-campaign__text6 .u-line {
  display: flex;
  justify-content: center;
  align-items: baseline;
  width: calc(136 / 375 * 100vw);
  position: relative;
  z-index: 1;
  margin-right: calc(3 / 375 * 100vw);
}

.p-campaign__text6 .u-line::after {
  content: "";
  width: 100%;
  height: calc(35 / 375 * 100vw);
  background: #fabf13;
  position: absolute;
  left: 0;
  bottom: calc(3 / 375 * 100vw);
  z-index: -1;
}

.p-campaign__text6 .u-item1 {
  width: calc(10.386 / 375 * 100vw);
  display: block;
}

.p-campaign__text6 .u-item1:first-of-type {
  margin-right: calc(2 / 375 * 100vw);
}

.p-campaign__text6 .u-item1:last-of-type {
  margin-left: calc(3.64 / 375 * 100vw);
}

.p-campaign__text6 .u-big {
  font-size: calc(36.35 / 375 * 100vw);
  font-weight: 500;
}

.p-campaign__text6 .u-item2 {
  transform: rotate(17.718deg);
}

.p-campaign__img {
  position: absolute;
  width: calc(146 / 375 * 100vw);
  right: calc(7.5 / 375 * 100vw);
  top: calc(-5 / 375 * 100vw);
}

.p-campaign__box2 {
  width: 100%;
  padding: 0 calc(13.5 / 375 * 100vw);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.p-campaign__box2::after {
  content: "";
  width: calc(60.71 / 375 * 100vw);
  height: calc(58.79 / 375 * 100vw);
  background: url(../img/cta_pumpkin.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-66 / 375 * 100vw);
  right: calc(34.29 / 375 * 100vw);
  transform-origin: 38% 100%;
  animation: 2s steps(5) 0s infinite alternate none running yurayura;
}

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

.p-campaign__textBox2 {
  color: #fff;
  text-align: center;
}

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

.p-campaign__text8 {
  text-align: center;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
  margin-top: calc(4 / 375 * 100vw);
}

.p-campaign__text8 .u-col {
  color: #ff8d05;
}

.p-campaign__text8 .u-dot {
  position: relative;
}

.p-campaign__text8 .u-dot::before {
  content: "";
  width: calc(3 / 375 * 100vw);
  height: calc(3 / 375 * 100vw);
  background: #ff8d05;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-1 / 375 * 100vw);
}

.p-campaign__cta {
  display: block;
  width: calc(284 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  border-radius: calc(30 / 375 * 100vw);
  background: #ff8d05;
  position: relative;
  margin: calc(34 / 375 * 100vw) auto 0;
}

.p-campaign__cta:hover,
.p-campaign__cta:active {
  text-decoration: none;
  opacity: 0.8;
  transition: all 0.3s;
}

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

.p-campaign__ctaText {
  display: flex;
  padding: calc(12 / 375 * 100vw) 0 calc(12 / 375 * 100vw)
    calc(107 / 375 * 100vw);
  color: #fff;
  text-align: center;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
}

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

.p-lesson {
  background: #ffecdd;
  margin: calc(40 / 375 * 100vw) 0 calc(56 / 375 * 100vw);
}

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

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

.p-lesson__lead {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.45px;
  margin-top: calc(20 / 375 * 100vw);
}

.p-lesson__lead span {
  color: #5bb647;
  font-weight: 700;
}

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

.p-point__ttl {
  position: relative;
  background: #3f2c61;
  border-radius: calc(10 / 375 * 100vw);
  color: #fff;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 140%;
  padding: calc(8 / 375 * 100vw) 0;
}

.p-point__ttl::before {
  content: "";
  width: calc(51 / 375 * 100vw);
  height: calc(34 / 375 * 100vw);
  background: url(../img/h3_pumpkin-1.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-21 / 375 * 100vw);
  left: calc(-11 / 375 * 100vw);
}

.p-point__ttl::after {
  content: "";
  width: calc(36 / 375 * 100vw);
  height: calc(42 / 375 * 100vw);
  background: url(../img/h3_ghost-1.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(-17.38 / 375 * 100vw);
  right: calc(-3.536 / 375 * 100vw);
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.p-point__card {
  background: #fff;
  border-radius: calc(10 / 375 * 100vw);
  padding-top: calc(24 / 375 * 100vw);
  padding-left: calc(12 / 375 * 100vw);
  padding-right: calc(12 / 375 * 100vw);
  margin-top: calc(20 / 375 * 100vw);
}

.p-point__card--card1 {
  padding-bottom: calc(22 / 375 * 100vw);
}

.p-point__card--card2 {
  padding-bottom: calc(26 / 375 * 100vw);
}

.p-point__card--card3 {
  padding-bottom: calc(15 / 375 * 100vw);
}

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

.p-point__headIcon {
  width: calc(60 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  border-radius: 50%;
  background: #ff5e00;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-point__headIconTxt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: calc(27.429 / 375 * 100vw);
  font-weight: 400;
  line-height: 1;
}

.p-point__headIconTxt span {
  font-size: calc(10.286 / 375 * 100vw);
  font-weight: 700;
  line-height: 160%;
}

.p-point__headTtl {
  color: #000;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 140%;
}

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

.p-point__bodyTxt {
  color: #000;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.42px;
}

.p-point__bodyTxt span {
  text-decoration: underline;
  text-decoration-color: #fffa62;
  text-decoration-thickness: 4px;
  text-underline-offset: -3px;
}

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

.p-point__bodyTxt--txt3 {
  margin-top: calc(7 / 375 * 100vw);
}

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

.p-point__bodyImgWrap {
  position: absolute;
  bottom: 0;
  right: 0;
}

.p-point__bodyImgTxt {
  display: block;
  color: #2592f2;
  text-align: center;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.36px;
  position: absolute;
}

.p-point__bodyImgTxt--txt1 {
  width: calc(87 / 375 * 100vw);
  transform: rotate(10.564deg);
  right: calc(9.25 / 375 * 100vw);
  bottom: calc(55.35 / 375 * 100vw);
}

.p-point__bodyImgTxt--txt2 {
  width: calc(62 / 375 * 100vw);
  bottom: calc(100 / 375 * 100vw);
  right: calc(32.4 / 375 * 100vw);
}

.p-point__bodyImgTxt::before {
  display: block;
  position: absolute;
  content: "";
  width: 1px;
  height: calc(27 / 375 * 100vw);
  background: #2592f2;
  transform: rotate(-30deg);
  left: -1em;
  bottom: -1px;
}

.p-point__bodyImgTxt::after {
  display: block;
  position: absolute;
  content: "";
  width: 1px;
  height: calc(27 / 375 * 100vw);
  background: #2592f2;
  transform: rotate(30deg);
  right: -1em;
  bottom: -1px;
}

.p-point__bodyImg {
  position: absolute;
}

.p-point__bodyImg--img1 {
  width: calc(163 / 375 * 100vw);
  right: calc(-12 / 375 * 100vw);
  bottom: 0;
}

.p-point__bodyImg--img2 {
  width: calc(131 / 375 * 100vw);
  right: calc(4 / 375 * 100vw);
  bottom: calc(-26 / 375 * 100vw);
}

.p-point__bodyImg--img3 {
  width: calc(120 / 375 * 100vw);
  right: calc(12 / 375 * 100vw);
  bottom: calc(-15 / 375 * 100vw);
}

.p-point__list {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-top: calc(37 / 375 * 100vw);
}

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

.p-point__listItemTxt {
  position: absolute;
  top: calc(-24.35 / 375 * 100vw);
  width: calc(100 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  background: #5bb647;
  text-align: center;
  color: #fff;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 700;
  line-height: 160%;
  padding: calc(4.78 / 375 * 100vw) 0;
}

.p-point__listItemTxt::after {
  content: "";
  display: block;
  background: url(../img/point_fukidashi.svg) no-repeat center/contain;
  width: calc(16 / 375 * 100vw);
  height: calc(12 / 375 * 100vw);
  position: absolute;
  top: calc(100% - 1px);
  left: calc(18 / 375 * 100vw);
}

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

.p-voice__ttl {
  position: relative;
  background: #3f2c61;
  border-radius: calc(10 / 375 * 100vw);
  color: #fff;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 140%;
  padding: calc(8 / 375 * 100vw) 0;
}

.p-voice__ttl::before {
  content: "";
  width: calc(53 / 375 * 100vw);
  height: calc(25.95 / 375 * 100vw);
  background: url(../img/h3_bat.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-9.97 / 375 * 100vw);
  left: calc(-14 / 375 * 100vw);
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.p-voice__ttl::after {
  content: "";
  width: calc(42 / 375 * 100vw);
  height: calc(33 / 375 * 100vw);
  background: url(../img/h3_pumpkin.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(-2 / 375 * 100vw);
  right: calc(-1.5 / 375 * 100vw);
}

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

.p-voice__card {
  position: relative;
}

.p-voice__text {
  width: 100%;
  min-height: calc(220 / 375 * 100vw);
  background: #fff;
  border-radius: calc(20 / 375 * 100vw);
  padding: calc(20 / 375 * 100vw);
  color: #222426;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.56px;
  position: relative;
}

.p-voice__text span {
  text-decoration: underline;
  text-decoration-color: #fffa62;
  text-decoration-thickness: 4px;
  text-underline-offset: -3px;
}

.p-voice__text::after {
  content: "";
  display: block;
  width: calc(12 / 375 * 100vw);
  height: calc(12 / 375 * 100vw);
  background: url(../img/voice_fukidashi.svg) no-repeat center/contain;
  position: absolute;
  left: calc(26 / 375 * 100vw);
  top: calc(100% - 1px);
}

.p-voice__box {
  display: flex;
  align-items: center;
  gap: calc(8 / 375 * 100vw);
  margin-top: calc(16 / 375 * 100vw);
}

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

.p-voice__name {
  color: #222426;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 1.12px;
}

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

.p-voice .swiper-pagination-bullet-active {
  background: #ff5e00;
}

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

.p-flow__ttl {
  position: relative;
  background: #3f2c61;
  border-radius: calc(10 / 375 * 100vw);
  color: #fff;
  text-align: center;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 140%;
  padding: calc(8 / 375 * 100vw) 0;
}

.p-flow__ttl::before {
  content: "";
  width: calc(29.64 / 375 * 100vw);
  height: calc(55.4 / 375 * 100vw);
  background: url(../img/h3_candy.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-17 / 375 * 100vw);
  left: calc(-0.32 / 375 * 100vw);
}

.p-flow__ttl::after {
  content: "";
  width: calc(38.56 / 375 * 100vw);
  height: calc(36 / 375 * 100vw);
  background: url(../img/h3_ghost-2.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(-13 / 375 * 100vw);
  right: calc(-7.78 / 375 * 100vw);
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.p-flow__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(28 / 375 * 100vw);
  margin-top: calc(20 / 375 * 100vw);
}

.p-flow__list::before {
  display: block;
  content: "";
  width: 2px;
  height: calc(430 / 375 * 100vw);
  background: #ff8d05;
  position: absolute;
  left: calc(6 / 375 * 100vw);
  top: calc(36 / 375 * 100vw);
}

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

.p-flow__listTtl {
  position: relative;
  display: flex;
  align-items: center;
  color: #000;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  letter-spacing: 0.48px;
}

.p-flow__listTtl span {
  color: #ff5e00;
  font-size: calc(40 / 375 * 100vw);
  font-weight: 400;
  display: inline-block;
  width: calc(53.269 / 375 * 100vw);
}

.p-flow__listTtl::before {
  content: "";
  width: calc(14 / 375 * 100vw);
  height: calc(14 / 375 * 100vw);
  border-radius: 50%;
  background: #ff8d05;
  position: absolute;
  left: calc(-26 / 375 * 100vw);
}

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

.p-flow__listBox--box1 {
  margin-top: calc(5 / 375 * 100vw);
}

.p-flow__listBox--box2 {
  margin-top: calc(12 / 375 * 100vw);
}

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

.p-flow__listText a {
  color: #ff8d05;
  font-weight: 700;
  text-decoration: underline;
}

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

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

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

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

.p-flow__img {
  width: calc(304 / 375 * 100vw);
  margin: calc(12 / 375 * 100vw) 0 0 auto;
}

.p-halloween {
  background: #fffad8;
  margin-top: calc(40 / 375 * 100vw);
  position: relative;
  padding: calc(60 / 375 * 100vw) 0;
}

.p-halloween::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(22 / 375 * 100vw);
  background: url(../img/halloween_illust-line_top.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}

.p-halloween::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(22 / 375 * 100vw);
  background: url(../img/halloween_illust-line_bottom.svg) no-repeat
    center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
}

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

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

.p-halloween__lead {
  width: calc(277 / 375 * 100vw);
  background: #ff8d05;
  padding: calc(39 / 375 * 100vw) calc(16 / 375 * 100vw) calc(45 / 375 * 100vw)
    calc(20 / 375 * 100vw);
  position: relative;
  margin: calc(94 / 375 * 100vw) auto 0;
}

.p-halloween__lead::before {
  content: "";
  width: calc(335 / 375 * 100vw);
  height: calc(84 / 375 * 100vw);
  background: url(../img/whats_halloween.svg) no-repeat center/contain;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-72 / 375 * 100vw);
}

.p-halloween__lead::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: calc(138 / 375 * 100vw) solid transparent;
  border-left: calc(138 / 375 * 100vw) solid transparent;
  border-bottom: calc(30 / 375 * 100vw) solid #fffad8;
  border-top: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

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

.p-halloween__leadText {
  color: #000;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.42px;
  margin-top: calc(16 / 375 * 100vw);
}

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

.p-halloween__contTtl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 / 375 * 100vw);
  text-align: center;
  color: #3f2c61;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.6px;
}

.p-halloween__contTtl::before {
  content: "";
  width: calc(43.773 / 375 * 100vw);
  height: calc(35.02 / 375 * 100vw);
  display: block;
  background: url(../img/h3_pumpkin-3.svg) no-repeat center/contain;
}

.p-halloween__contTtl::after {
  content: "";
  width: calc(33.6 / 375 * 100vw);
  height: calc(41.34 / 375 * 100vw);
  display: block;
  background: url(../img/h3_sweets.svg) no-repeat center/contain;
}

.p-halloween__contInner {
  background: #fff;
  padding: calc(102 / 375 * 100vw) calc(12 / 375 * 100vw) calc(13 / 375 * 100vw);
  margin-top: calc(12 / 375 * 100vw);
  position: relative;
}

.p-halloween__contInner::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(68 / 375 * 100vw);
  background: url(../img/line_choco.svg) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 0;
}

.p-halloween__box {
  position: relative;
}

.p-halloween__textWrap {
  color: #000;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.45px;
}

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

.p-halloween__text2 {
  width: calc(186 / 375 * 100vw);
  color: #ff5e00;
  font-weight: 700;
  margin-top: calc(8 / 375 * 100vw);
}

.p-halloween__text3 {
  width: calc(186 / 375 * 100vw);
  margin-top: calc(8 / 375 * 100vw);
}

.p-halloween__img1 {
  width: calc(144 / 375 * 100vw);
  position: absolute;
  right: calc(-12 / 375 * 100vw);
  top: calc(-27 / 375 * 100vw);
}

.p-halloween__note {
  text-align: right;
  color: #000;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.36px;
  margin-top: calc(40 / 375 * 100vw);
}

.p-halloween__text4 {
  color: #000;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.45px;
  margin-top: calc(20 / 375 * 100vw);
}

.p-halloween__text4 span {
  color: #ff5e00;
  font-weight: 700;
}

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

.p-campaignNote {
  width: calc(335 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  border: 1px solid #a8a8a8;
  padding: calc(30 / 375 * 100vw) calc(20 / 375 * 100vw);
  margin: calc(60 / 375 * 100vw) auto calc(40 / 375 * 100vw);
}

.p-campaignNote__ttl {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  color: #222;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 175%;
  padding-bottom: calc(10 / 375 * 100vw);
  border-bottom: 1px solid #a8a8a8;
}

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

.p-campaignNote__txt small {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  color: #222;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
}

.p-campaignNote__cta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(12 / 375 * 100vw);
  width: calc(244 / 375 * 100vw);
  border-radius: calc(100 / 375 * 100vw);
  border: 1px solid #8a48ff;
  padding: calc(12 / 375 * 100vw) calc(32 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
}

.p-campaignNote__cta::after {
  content: "";
  display: block;
  width: calc(12 / 375 * 100vw);
  height: calc(25 / 375 * 100vw);
  background: url(../img/arrow_purple.svg) no-repeat center/contain;
}

.p-campaignNote__cta:hover,
.p-campaignNote__cta:active {
  opacity: 0.8;
  text-decoration: none;
}

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

.p-campaignNote__ctaTxt span {
  display: block;
  text-align: center;
  color: #8a48ff;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  line-height: 130%;
}

.p-info {
  background: #eefce4;
  padding: calc(71.2 / 375 * 100vw) 0 calc(50 / 375 * 100vw);
}

.p-info__lead {
  width: calc(320 / 375 * 100vw);
  font-size: calc(16 / 375 * 100vw);
  font-weight: 500;
  line-height: 1.75;
  margin: calc(24.6 / 375 * 100vw) auto 0;
}

.p-info__lead span {
  background: #fffa7b;
}

.p-info__icon {
  width: calc(30 / 375 * 100vw);
  height: calc(48 / 375 * 100vw);
  margin: calc(24 / 375 * 100vw) auto 0;
}

.p-info__txt {
  color: #222;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 500;
  line-height: 125%;
  margin-top: calc(20 / 375 * 100vw);
  text-align: center;
}

.p-info__btn {
  display: flex;
  align-items: center;
  width: calc(305 / 375 * 100vw);
  border-radius: calc(50 / 375 * 100vw);
  padding: calc(12 / 375 * 100vw) calc(20 / 375 * 100vw) calc(12 / 375 * 100vw)
    calc(30 / 375 * 100vw);
  background: #5bb647;
  color: #fff;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 168.75%;
  letter-spacing: 0.72px;
  margin: calc(5 / 375 * 100vw) auto 0;
  position: relative;
}

.p-info__btn span {
  width: calc(21 / 375 * 100vw);
  position: absolute;
  right: calc(20 / 375 * 100vw);
  top: 50%;
  transform: translateY(-50%);
}

.p-info__btn:hover,
.p-info__btnactive {
  color: #fff;
  text-decoration: none;
  opacity: 0.8;
}

.p-magic {
  background: #fff;
  border-radius: calc(30 / 375 * 100vw);
  padding: calc(10.8 / 375 * 100vw) 0 calc(30 / 375 * 100vw);
  margin-top: calc(19.2 / 375 * 100vw);
}

.p-magic__ttl {
  background: #5bb647;
  border-radius: calc(20 / 375 * 100vw);
  width: calc(315 / 375 * 100vw);
  margin: auto;
  position: relative;
  overflow: hidden;
  color: #fff;
  text-align: center;
  font-size: calc(22 / 375 * 100vw);
  font-weight: bold;
  line-height: 1.4545454545;
  padding: calc(12 / 375 * 100vw) 0 calc(13 / 375 * 100vw);
}

.p-magic__ttl::before,
.p-magic__ttl::after {
  content: "";
  background: url(../img/line_dot.svg) no-repeat center/contain;
  width: calc(40 / 375 * 100vw);
  height: calc(40 / 375 * 100vw);
  position: absolute;
}

.p-magic__ttl::before {
  top: 0;
  left: 0;
}

.p-magic__ttl::after {
  bottom: 0;
  right: 0;
}

.p-magic__list {
  display: flex;
  flex-direction: column;
  gap: calc(30 / 375 * 100vw);
  margin-top: calc(17.2 / 375 * 100vw);
}

.p-magic__detail {
  width: calc(300 / 375 * 100vw);
  margin: auto;
}

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

.p-magic__detailTtl__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-magic__detailTtl__itemTxt {
  color: #5bb647;
  font-size: calc(14 / 375 * 100vw);
  font-weight: bold;
}

.p-magic__detailTtl__num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(34 / 375 * 100vw);
  height: calc(34 / 375 * 100vw);
  background: #5bb647;
  border-radius: 50%;
  color: #fff;
  font-size: calc(20 / 375 * 100vw);
  font-weight: bold;
  padding-left: 1px;
  padding-bottom: 1px;
}

.p-magic__detailTtl__txt {
  font-size: calc(20 / 375 * 100vw);
  font-weight: bold;
  line-height: 1.4;
}

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

.p-magic__detailTxt {
  font-size: calc(16 / 375 * 100vw);
  font-weight: 500;
  line-height: 1.75;
  margin-top: calc(10 / 375 * 100vw);
}

.c-ttl {
  width: calc(307 / 375 * 100vw);
  height: calc(115 / 375 * 100vw);
  background: url(../img/ttl_bg_sp.svg) no-repeat center/contain;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #369f20;
  text-align: center;
  font-size: calc(24 / 375 * 100vw);
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  margin: auto;
}

.c-ttl::before {
  content: "";
  display: inleine-block;
  width: calc(78.92 / 375 * 100vw);
  height: calc(52.26 / 375 * 100vw);
  background: url(../img/ttl_icon.webp) no-repeat center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-35.2 / 375 * 100vw);
}

.c-cta {
  background: url(../img/cta_bg_sp.webp) repeat-y center/cover;
  height: calc(181 / 375 * 100vw);
  padding-top: calc(45 / 375 * 100vw);
  position: relative;
}

.c-cta__txt {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(8 / 375 * 100vw);
  text-align: center;
  color: #fff;
  font-size: calc(16 / 375 * 100vw);
  font-weight: bold;
  animation: ctaAnime 2.5s ease-out infinite;
}

.c-cta__txt::before,
.c-cta__txt::after {
  content: "";
  width: 1px;
  height: calc(20 / 375 * 100vw);
  background: #fff;
}

.c-cta__txt::before {
  transform: rotate(-24deg);
}

.c-cta__txt::after {
  transform: rotate(24deg);
}

.c-cta__btn {
  display: flex;
  width: calc(335 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  align-items: center;
  color: #fff;
  font-size: calc(17 / 375 * 100vw);
  font-weight: bold;
  letter-spacing: 0.05em;
  background: #ff8d05;
  border-radius: 30px;
  border: 3px solid #fff;
  padding-left: calc(38 / 375 * 100vw);
  position: relative;
  overflow: hidden;
  margin: calc(9 / 375 * 100vw) auto 0;
}

.c-cta__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: skewX(-25deg);
  animation: shine 4.8s infinite;
}

.c-cta__btn:hover {
  color: #fff;
  opacity: 0.8;
  text-decoration: none;
}

.c-cta__btn span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(27 / 375 * 100vw);
  width: calc(32 / 375 * 100vw);
  height: calc(32 / 375 * 100vw);
}
@media (min-width: 768px) {
  .l-inner {
    width: 100%;
    max-width: 900px;
  }
}
@media screen and (max-width: 767px) {
  .u-d-pc {
    display: none;
  }

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

  .u-d-sp {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  @keyframes spiderSwing {
    0% {
      transform: translateY(0);
    }

    100% {
      transform: translateY(50px);
    }
  }
  @keyframes threadSwing {
    0% {
      height: 25px;
    }

    100% {
      height: 75px;
    }
  }

  .l-headerLp__float {
    display: none;
  }

  .flow_menu {
    display: block;
    position: fixed;
  }

  .p-mainvisual {
    max-width: 1080px;
    margin: 70px auto 0;
  }

  .p-mainvisual__imgWrap {
    width: 240px;
    height: 164px;
    top: -65px;
    left: 41.2037037037%;
  }

  .p-mainvisual__imgWrap__item1 {
    width: 72.1px;
    top: 4.5px;
    bottom: auto;
    left: 0;
  }

  .p-mainvisual__imgWrap__item2 {
    width: 71.6px;
    top: 0;
    left: 86.69px;
  }

  .p-mainvisual__imgWrap__item3 {
    width: 61.55px;
    top: auto;
    bottom: 5px;
    right: 6px;
    left: auto;
  }

  .p-lead {
    max-width: 765px;
    margin-top: 50px;
  }

  .p-campaign {
    margin-top: 54px;
  }

  .p-campaign__inner {
    max-width: 1080px;
    border-radius: 24px;
    padding-top: 14px;
    padding-bottom: 23px;
  }

  .p-campaign__ttl {
    width: 342px;
    top: -31.81px;
  }

  .p-campaign__cont {
    background-image: url(../img/cta_bg_pc.svg);
    width: 606px;
    height: 306px;
    padding-top: 39px;
    margin: 0 auto;
  }

  .p-campaign__cont::before {
    height: 25px;
    left: 64px;
  }

  .p-campaign__cont::after {
    width: 31px;
    height: 27px;
    top: 13px;
    left: 50px;
  }

  .p-campaign__text1 {
    width: 50px;
    height: 22px;
    border-radius: 2px;
    font-size: 16px;
    letter-spacing: 1.6px;
  }

  .p-campaign__text2 {
    font-size: 16px;
    line-height: 88.593%;
    margin-top: 8px;
  }

  .p-campaign__text2::after {
    height: 2px;
    bottom: -0.5px;
  }

  .p-campaign__text2 span {
    font-size: 24px;
  }

  .p-campaign__text3 {
    font-size: 18px;
    margin-top: 18px;
  }

  .p-campaign__box {
    width: 387px;
    margin: 18px auto 0;
  }

  .p-campaign__text4 {
    font-size: 18px;
    padding-left: 8px;
  }

  .p-campaign__text4 .u-line::after {
    width: 53.69px;
    height: 9.64px;
    bottom: 1px;
  }

  .p-campaign__text4 .u-big {
    font-size: 32px;
  }

  .p-campaign__text5 {
    font-size: 18px;
    padding-left: 0;
  }

  .p-campaign__text6 {
    font-size: 18px;
    padding-left: 0;
    margin-top: 3px;
  }

  .p-campaign__text6 .u-line {
    width: 136px;
    font-size: 20px;
    margin-right: 3px;
  }

  .p-campaign__text6 .u-line::after {
    height: 35px;
    bottom: 2px;
  }

  .p-campaign__text6 .u-item1 {
    width: 10.4px;
  }

  .p-campaign__text6 .u-item1:first-of-type {
    margin-right: 2px;
  }

  .p-campaign__text6 .u-item1:last-of-type {
    margin-left: 3.64px;
  }

  .p-campaign__text6 .u-big {
    font-size: 36.35px;
  }

  .p-campaign__img {
    width: 170px;
    right: -7px;
    top: 0;
  }

  .p-campaign__box2 {
    width: 375px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
  }

  .p-campaign__box2::after {
    width: 92.724px;
    height: 89.79px;
    top: -98px;
    right: -84.22px;
  }

  .p-campaign__fukidashi {
    width: 30.5px;
  }

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

  .p-campaign__text8 {
    font-size: 24px;
    margin-top: 4px;
  }

  .p-campaign__text8 .u-dot::before {
    width: 4px;
    height: 4px;
    top: -2px;
  }

  .p-campaign__cta {
    width: 300px;
    height: 60px;
    border-radius: 30px;
    margin-top: 31px;
    transition: all 0.3s;
  }

  .p-campaign__ctaImg {
    width: 108px;
  }

  .p-campaign__ctaText {
    font-size: 18px;
    line-height: 122.222%;
    padding: 8px 0 8px 106px;
  }

  .p-campaign__ctaIcon {
    width: 22px;
    right: 8.5px;
  }

  .p-lesson {
    margin-top: 40px;
    margin-bottom: 95px;
  }

  .p-lesson__inner {
    max-width: 1080px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .p-lesson__ttl {
    width: 360px;
  }

  .p-lesson__lead {
    text-align: center;
    font-size: 18px;
    letter-spacing: 0.54px;
    margin-top: 20px;
  }

  .p-point {
    margin-top: 50px;
  }

  .p-point__ttl {
    width: 620px;
    border-radius: 10px;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 auto;
  }

  .p-point__ttl::before {
    width: 51px;
    height: 34px;
    top: -21px;
    left: -11px;
  }

  .p-point__ttl::after {
    width: 36px;
    height: 42px;
    bottom: -14.38px;
    right: 7.54px;
  }

  .p-point__inner {
    max-width: 1080px;
    margin: 20px auto 0;
    display: flex;
    justify-content: space-between;
  }

  .p-point__card {
    border-radius: 10px;
    margin-top: 0;
  }

  .p-point__card--card1 {
    width: 49.0740740741%;
    padding: 31px 19px 23.85px;
  }

  .p-point__card--card2 {
    width: 100%;
    padding: 15px 14px 14.76px;
  }

  .p-point__card--card3 {
    width: 100%;
    padding: 15px 15px 11px;
  }

  .p-point__head {
    gap: 6px;
  }

  .p-point__headIcon {
    width: 60px;
    height: 60px;
  }

  .p-point__headIconTxt {
    font-size: 27.429px;
  }

  .p-point__headIconTxt span {
    font-size: 10.286px;
  }

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

  .p-point__body {
    margin-top: 0;
  }

  .p-point__bodyTxt {
    font-size: 14px;
  }

  .p-point__bodyTxt--txt1 {
    max-width: 304px;
    width: 28.1481481481vw;
    margin-top: 19.14px;
    padding-bottom: 10.83px;
  }

  .p-point__bodyTxt--txt2 {
    max-width: 358px;
    width: 33.1481481481vw;
    margin-top: 6.24px;
  }

  .p-point__bodyTxt--txt3 {
    max-width: 364px;
    width: 33.7037037037vw;
    margin-top: 6px;
  }

  .p-point__bodyTxt--txt4 {
    max-width: 366px;
    width: 33.8888888889vw;
    margin-top: 10px;
  }

  .p-point__bodyImgTxt {
    font-size: 12px;
  }

  .p-point__bodyImgTxt--txt1 {
    width: 87px;
    right: 6px;
    bottom: 68px;
  }

  .p-point__bodyImgTxt--txt2 {
    width: 62px;
    bottom: 104px;
    right: 18.4px;
  }

  .p-point__bodyImgTxt::before {
    height: 25px;
  }

  .p-point__bodyImgTxt::after {
    height: 25px;
  }

  .p-point__bodyImg--img1 {
    max-width: 221.171px;
    width: 20.4787962963vw;
    right: -19px;
    bottom: -10.83px;
  }

  .p-point__bodyImg--img2 {
    max-width: 131px;
    width: 12.1296296296vw;
    right: 4px;
    bottom: -14.76px;
  }

  .p-point__bodyImg--img3 {
    max-width: 120px;
    width: 11.1111111111vw;
    right: -2px;
    bottom: -11px;
  }

  .p-point__list {
    margin-top: 65px;
  }

  .p-point__listItem {
    width: 30.4356603774%;
  }

  .p-point__listItemTxt {
    top: -24.53px;
    left: 50%;
    transform: translateX(-50%);
    width: -moz-max-content;
    width: max-content;
    border-radius: 20px;
    font-size: 12px;
    padding: 4.52px 13.5px;
  }

  .p-point__listItemTxt::after {
    width: 16px;
    height: 12px;
    left: 18px;
  }

  .p-point__cardWrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 49.0740740741%;
  }

  .p-voice {
    margin-top: 50px;
  }

  .p-voice__ttl {
    width: 620px;
    border-radius: 10px;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 auto;
  }

  .p-voice__ttl::before {
    width: 53px;
    height: 25.95px;
    top: -9.97px;
    left: -14px;
  }

  .p-voice__ttl::after {
    width: 42px;
    height: 33px;
    bottom: -2px;
    right: -10px;
  }

  .p-voice__swiper {
    width: auto;
    margin-top: 20px;
  }

  .p-voice__swiper .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    transform: none !important;
  }

  .p-voice__swiper .swiper-slide {
    max-width: 258px;
    width: 23.8888888889% !important;
    margin-right: 0 !important;
  }

  .p-voice__text {
    min-height: 220px;
    border-radius: 20px;
    padding: 19px;
    font-size: 14px;
  }

  .p-voice__text::after {
    width: 12px;
    height: 12px;
    left: 26px;
  }

  .p-voice__box {
    gap: 8px;
    margin-top: 16px;
  }

  .p-voice__img {
    width: 60px;
  }

  .p-voice__name {
    font-size: 14px;
  }

  .p-voice .swiper-pagination {
    display: none;
  }

  .p-flow {
    position: relative;
    padding-bottom: 95px;
    width: 620px;
    margin: 50px auto 0;
  }

  .p-flow__ttl {
    width: 620px;
    border-radius: 10px;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 auto;
  }

  .p-flow__ttl::before {
    width: 29.64px;
    height: 55.4px;
    left: -0.3px;
    top: -17px;
  }

  .p-flow__ttl::after {
    width: 38.56px;
    height: 36px;
    bottom: -2px;
    right: -3.56px;
  }

  .p-flow__list {
    gap: 0;
    margin: 20px auto 0;
    width: 620px;
  }

  .p-flow__list::before {
    height: 455px;
    left: 6px;
    top: 30px;
  }

  .p-flow__listItem {
    width: 571px;
  }

  .p-flow__listItem:nth-of-type(2) {
    margin-top: 28px;
  }

  .p-flow__listItem:last-of-type {
    margin-top: 53px;
  }

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

  .p-flow__listTtl span {
    width: 53.269px;
    font-size: 40px;
  }

  .p-flow__listTtl::before {
    width: 14px;
    height: 14px;
    left: -48.67px;
  }

  .p-flow__listBox {
    gap: 10px;
  }

  .p-flow__listBox--box1 {
    margin-top: 5px;
  }

  .p-flow__listBox--box2 {
    margin-top: 21px;
  }

  .p-flow__listText {
    font-size: 15px;
  }

  .p-flow__listText--text1 {
    width: 383px;
  }

  .p-flow__listText--text2 {
    width: 383px;
  }

  .p-flow__listImg {
    width: 100px;
  }

  .p-flow__listNote {
    font-size: 12px;
    margin-top: 10px;
  }

  .p-flow__img {
    width: 339px;
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .p-halloween {
    margin-top: 80px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .p-halloween::before {
    height: 35px;
    background: url(../img/halloween_illust-line_top_pc.svg) left/cover;
  }

  .p-halloween::after {
    height: 35px;
    background: url(../img/halloween_illust-line_bottom_pc.svg) left/cover;
  }

  .p-halloween__inner {
    max-width: 1080px;
    width: 75vw;
  }

  .p-halloween__ttl {
    width: 360px;
  }

  .p-halloween__lead {
    width: 500px;
    padding: 37.85px 32px 65px;
    margin-top: 93px;
  }

  .p-halloween__lead::before {
    width: 616px;
    height: 79.771px;
    background-image: url(../img/whats_halloween_pc.svg);
    top: -71px;
  }

  .p-halloween__lead::after {
    border-right: 250px solid transparent;
    border-left: 250px solid transparent;
    border-bottom: 30px solid #fffad8;
  }

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

  .p-halloween__leadText {
    font-size: 15px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.45px;
    margin-top: 15.15px;
  }

  .p-halloween__cont {
    margin-top: 50px;
  }

  .p-halloween__contTtl {
    gap: 8px;
    font-size: 24px;
    letter-spacing: 0.72px;
  }

  .p-halloween__contTtl::before {
    width: 43.773px;
    height: 35.02px;
  }

  .p-halloween__contTtl::after {
    width: 33.6px;
    height: 41.34px;
  }

  .p-halloween__contInner {
    padding: 143px 54px 37px;
    margin-top: 13px;
  }

  .p-halloween__contInner::before {
    width: 100%;
    max-height: 124px;
    height: 8.6111111111vw;
    background-image: url(../img/line_choco_pc.svg);
  }

  .p-halloween__box {
    position: static;
  }

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

  .p-halloween__text1 {
    max-width: 501px;
    width: 34.7916666667vw;
  }

  .p-halloween__text2 {
    max-width: 495px;
    width: 34.375vw;
    margin-top: 20px;
  }

  .p-halloween__text3 {
    max-width: 495px;
    width: 34.375vw;
    margin-top: 20px;
  }

  .p-halloween__img1 {
    max-width: 150px;
    width: 13.8888888889%;
    top: auto;
    right: 33.7962962963%;
    bottom: 36px;
  }

  .p-halloween__note {
    position: absolute;
    right: 45px;
    bottom: 16px;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 12px;
    margin-top: 8px;
  }

  .p-halloween__text4 {
    max-width: 495px;
    width: 45.8333333333%;
    font-size: 18px;
    letter-spacing: 0.54px;
    margin-top: 20px;
  }

  .p-halloween__img2 {
    max-width: 311px;
    width: 28.7962962963%;
    position: absolute;
    right: 4.537037037%;
    bottom: 41px;
  }

  .p-campaignNote {
    max-width: 1080px;
    width: 75vw;
    border-radius: 40px;
    padding: 2.7777777778vw;
    margin-top: 80px;
    margin-bottom: 40px;
  }

  .p-campaignNote__ttl {
    font-size: 20px;
    line-height: 140%;
    padding-bottom: 20px;
  }

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

  .p-campaignNote__txt small {
    font-size: 16px;
    line-height: 180%;
  }

  .p-campaignNote__cta {
    width: 268px;
    gap: 12px;
    border-radius: 100px;
    padding: 12px 32px;
    margin-top: 20px;
  }

  .p-campaignNote__cta::after {
    width: 12px;
    height: 24px;
  }

  .p-campaignNote__ctaTxt {
    width: 176px;
  }

  .p-campaignNote__ctaTxt span {
    font-size: 16px;
  }

  .p-info {
    padding: 115px 0 70px;
  }

  .p-info__inner {
    max-width: 1100px;
  }

  .p-info__lead {
    width: 702px;
    font-size: 16px;
    margin-top: 30px;
  }

  .p-info__icon {
    width: 30px;
    height: 48px;
    margin-top: 30px;
  }

  .p-info__txt {
    font-size: 20px;
    line-height: 1;
    margin-top: 40px;
  }

  .p-info__btn {
    width: 331px;
    border-radius: 50px;
    padding: 12px 20px 12px 30px;
    font-size: 18px;
    line-height: 1;
    margin-top: 12px;
  }

  .p-info__btn span {
    width: 21px;
    right: 20px;
  }

  .p-magic {
    border-radius: 30px;
    padding: 40.8px 0 60px;
    margin-top: 30px;
  }

  .p-magic__ttl {
    width: 396.38px;
    border-radius: 20px;
    font-size: 30px;
    line-height: 1.3;
    padding-top: 16.1px;
    padding-bottom: 13.6px;
  }

  .p-magic__ttl::before,
  .p-magic__ttl::after {
    width: 50px;
    height: 50px;
  }

  .p-magic__list {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    width: 910px;
    margin: 40.5px auto 0;
  }

  .p-magic__detail {
    width: 420px;
  }

  .p-magic__detailTtl {
    gap: 13.1px;
  }

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

  .p-magic__detailTtl__num {
    width: 39px;
    height: 39px;
    font-size: 22px;
  }

  .p-magic__detailTtl__txt {
    font-size: 22px;
    line-height: 1.4090909091;
  }

  .p-magic__detailImg {
    margin-top: 11px;
  }

  .p-magic__detailTxt {
    font-size: 16px;
    margin-top: 15px;
  }

  .c-ttl {
    background: url(../img/ttl_bg_pc.svg) no-repeat center/contain;
    width: 407px;
    height: 150.06px;
    font-size: 32px;
    line-height: 1.375;
  }

  .c-ttl::before {
    width: 99.84px;
    height: 66.11px;
    top: -44.5px;
  }

  .c-cta {
    background: url(../img/cta_bg_pc.webp);
    height: 270px;
    padding-top: 70px;
  }

  .c-cta__txt {
    font-size: 24px;
    gap: 11px;
  }

  .c-cta__txt::before,
  .c-cta__txt::after {
    width: 2px;
    height: 27.71px;
  }

  .c-cta__btn {
    width: 520px;
    height: 83px;
    border-radius: 42px;
    font-size: 24px;
    justify-content: center;
    padding-left: 0;
    margin-top: 13px;
  }

  .c-cta__btn span {
    width: 32px;
    height: 32px;
    right: 30px;
  }
}
