@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("../font/GenJyuuGothic-Regular.woff") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "GenJyu";
  src: url("../font/GenJyuuGothic-Medium.woff") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "GenJyu";
  src: url("../font/GenJyuuGothic-Bold.woff") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "GenJyu";
  src: url("../font/GenJyuuGothic-Heavy.woff") format("truetype");
  font-weight: 900;
  font-style: normal;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

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 shake-up {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(10px);
  }
}
@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%;
  }
}

.fFixed {
  display: none;
}

.floatBtn {
  width: 100vw;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: calc(6 / 375 * 100vw) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(6 / 375 * 100vw);
  background: #fff;
  z-index: 99999999;
}

.floatBtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #fff;
  border-radius: calc(10 / 375 * 100vw);
  box-shadow: 1.846px 1.846px 0.923px 0 rgba(0, 0, 0, 0.15);
}

.floatBtn span {
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
}

.floatBtn__lesson {
  background: url(../images/bg-red.png) center no-repeat;
  width: calc(206 / 375 * 100vw);
  height: calc(50 / 375 * 100vw);
}

.floatBtn__request {
  background: url(../images/bg-blue.png) center no-repeat;
  width: calc(136 / 375 * 100vw);
  height: calc(50 / 375 * 100vw);
}

.l-headerLp__float {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  gap: calc(6 / 375 * 100vw);
  padding: calc(6 / 375 * 100vw) 0;
  bottom: 0;
  background: #fff;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99;
}

.l-headerLp__floatCta1 {
  width: calc(206 / 375 * 100vw);
  height: calc(50 / 375 * 100vw);
  transition: all 0.3s ease;
}

.l-headerLp__floatCta2 {
  width: calc(136 / 375 * 100vw);
  height: calc(50 / 375 * 100vw);
  transition: all 0.3s ease;
}

.flow_menu {
  display: none;
}

.l-lp {
  font-family: "GenJyu", sans-sefif;
}

.l-lp img {
  display: block;
  width: 100%;
}

.l-lp .p-mainvisual {
  background: #fef2e6;
  padding-top: calc(14 / 375 * 100vw);
}

.l-lp .p-mainvisual__title {
  max-width: calc(335 / 375 * 100vw);
  margin: 0 auto;
  position: relative;
}

.l-lp .p-lead {
  background: #fef2e6;
  padding-top: calc(30 / 375 * 100vw);
}

.l-lp .p-lead__title {
  width: calc(335 / 375 * 100vw);
  margin: 0 auto;
}

.l-lp .p-lead__time {
  width: calc(261 / 375 * 100vw);
  margin: calc(8 / 375 * 100vw) auto 0;
}

.l-lp .p-campaign {
  padding-top: calc(40 / 375 * 100vw);
  position: relative;
  z-index: 1;
}

.l-lp .p-campaign::before {
  content: "";
  width: 100%;
  height: calc(186 / 375 * 100vw);
  position: absolute;
  background: #fef2e6;
  top: 0;
  left: 0;
  z-index: -1;
}

.l-lp .p-campaign--campaign2 {
  padding-top: 0;
}

.l-lp .p-campaign--campaign2::before {
  content: none;
}

.l-lp .p-campaign--campaign3 {
  padding-top: calc(30 / 375 * 100vw);
}

.l-lp .p-campaign--campaign3::before {
  content: none;
}

.l-lp .p-campaign__head {
  width: calc(335 / 375 * 100vw);
  margin: 0 auto calc(12 / 375 * 100vw);
}

.l-lp .p-campaign__inner {
  border-radius: calc(20 / 375 * 100vw);
  border: 2px solid #bd0d10;
}

.l-lp .p-campaign__box1 {
  background: #bd0d10;
  position: relative;
  border-radius: calc(18 / 375 * 100vw) calc(18 / 375 * 100vw) 0 0;
  padding-top: calc(36.78 / 375 * 100vw);
  padding-bottom: calc(20 / 375 * 100vw);
  position: relative;
}

.l-lp .p-campaign__box1::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: calc(155 / 375 * 100vw) solid transparent;
  border-left: calc(155 / 375 * 100vw) solid transparent;
  border-top: calc(20 / 375 * 100vw) solid #bd0d10;
  border-bottom: 0;
  display: block;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.l-lp .p-campaign__box2 {
  background: #fff;
  position: relative;
  border-radius: 0 0 calc(18 / 375 * 100vw) calc(18 / 375 * 100vw);
  padding-top: calc(40 / 375 * 100vw);
  padding-bottom: calc(20 / 375 * 100vw);
}

.l-lp .p-campaign__fukidashi {
  position: absolute;
  width: calc(245 / 375 * 100vw);
  top: calc(-13.39 / 375 * 100vw);
  left: 50%;
  transform: translateX(-50%);
}

.l-lp .p-campaign__bg1 {
  position: absolute;
  width: calc(327 / 375 * 100vw);
  top: calc(24.71 / 375 * 100vw);
  left: calc(3 / 375 * 100vw);
}

.l-lp .p-campaign__bg2 {
  position: absolute;
  width: calc(310 / 375 * 100vw);
  top: calc(20 / 375 * 100vw);
  left: calc(13 / 375 * 100vw);
}

.l-lp .p-campaign__title {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: calc(6 / 375 * 100vw);
}

.l-lp .p-campaign__titleIcon1 {
  width: calc(33.4 / 375 * 100vw);
}

.l-lp .p-campaign__titleIcon2 {
  width: calc(36.8 / 375 * 100vw);
}

.l-lp .p-campaign__titleTxt {
  text-align: center;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 900;
  line-height: 130%;
  letter-spacing: 1px;
}

.l-lp .p-campaign__cont {
  background: #fff;
  border-radius: calc(10 / 375 * 100vw);
  width: calc(303 / 375 * 100vw);
  margin: calc(12 / 375 * 100vw) auto 0;
  padding: calc(18.5 / 375 * 100vw) 0 calc(12.5 / 375 * 100vw);
}

.l-lp .p-campaign__contInner {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: calc(11 / 375 * 100vw);
}

.l-lp .p-campaign__circle {
  width: calc(38 / 375 * 100vw);
}

.l-lp .p-campaign__contTxt {
  color: #159000;
}

.l-lp .p-campaign__contTxtBox1 {
  display: flex;
  align-items: flex-end;
  padding-left: calc(4 / 375 * 100vw);
}

.l-lp .p-campaign__contTxtBox2 {
  display: flex;
  flex-direction: column;
  gap: calc(6 / 375 * 100vw);
  padding-left: calc(6 / 375 * 100vw);
}

.l-lp .p-campaign__contTxt1 {
  display: block;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 110%;
  letter-spacing: 0;
}

.l-lp .p-campaign__contTxt2 {
  display: block;
  width: calc(13 / 375 * 100vw);
  padding-right: calc(2 / 375 * 100vw);
}

.l-lp .p-campaign__contTxt3 {
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.6px;
}

.l-lp .p-campaign__contTxt4 {
  font-size: calc(12.08 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
}

.l-lp .p-campaign__contTxt5 {
  font-size: calc(18 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.l-lp .p-campaign__contImg1 {
  position: absolute;
  width: calc(97 / 375 * 100vw);
  right: calc(-8 / 375 * 100vw);
  top: calc(-15.5 / 375 * 100vw);
}

.l-lp .p-campaign__contImg2 {
  position: absolute;
  width: calc(104 / 375 * 100vw);
  right: calc(22 / 375 * 100vw);
  bottom: calc(-6.73 / 375 * 100vw);
}

.l-lp .p-campaign__line {
  width: 100%;
  position: relative;
  text-align: center;
  margin: calc(7.43 / 375 * 100vw) 0 calc(12 / 375 * 100vw);
}

.l-lp .p-campaign__line::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px dashed #bd0d10;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.l-lp .p-campaign__line span {
  color: #bd0d10;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 1;
  background: #fff;
}

.l-lp .p-campaign__ctaBox {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.l-lp .p-campaign__ctaBox::after {
  content: "";
  width: calc(261 / 375 * 100vw);
  height: calc(24 / 375 * 100vw);
  background: url(../images/cta_arrow.svg) no-repeat center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + (8 / 375 * 100vw));
}

.l-lp .p-campaign__textBox {
  text-align: center;
}

.l-lp .p-campaign__text1 {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
}

.l-lp .p-campaign__text2 {
  color: #222;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 700;
  line-height: 120%;
  margin-top: calc(4 / 375 * 100vw);
}

.l-lp .p-campaign__text2 span {
  font-weight: 700;
}

.l-lp .p-campaign__text2 .u-col {
  color: #5bb647;
}

.l-lp .p-campaign__text2 .u-dot {
  position: relative;
}

.l-lp .p-campaign__text2 .u-dot::before {
  content: "";
  width: calc(3 / 375 * 100vw);
  height: calc(3 / 375 * 100vw);
  border-radius: 50%;
  background: #5bb647;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(0 / 375 * 100vw);
}

.l-lp .p-campaign__ctaBoxImg {
  width: calc(33 / 375 * 100vw);
  animation: shake-up 3s infinite ease-in-out;
}

.l-lp .p-campaign__ctaBtn {
  display: block;
  width: calc(303 / 375 * 100vw);
  margin: calc(18 / 375 * 100vw) auto 0;
}

.l-lp .p-quiz {
  margin-top: calc(20 / 375 * 100vw);
}

.l-lp .p-quiz__inner {
  border-radius: calc(20 / 375 * 100vw);
  border: 2px solid #bd0d10;
  background: #fff;
  padding: calc(20 / 375 * 100vw);
}

.l-lp .p-quiz__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
}

.l-lp .p-quiz__title span {
  width: calc(25 / 375 * 100vw);
  height: calc(25 / 375 * 100vw);
  border-radius: calc(25 / 375 * 100vw);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #159000;
}

.l-lp .p-quiz__title span::before,
.l-lp .p-quiz__title span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 2px;
  width: 13px;
  background-color: #fff;
  transition: all 0.3s ease;
}

.l-lp .p-quiz__title span::before {
  opacity: 1;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.l-lp .p-quiz__title.is-active span::before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.l-lp .p-quiz__title.is-active span::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

.l-lp .p-quiz__title.is-active + .p-quiz__detail {
  max-height: calc(3000 / 375 * 100vw);
}

.l-lp .p-quiz__detail {
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s ease;
}

.l-lp .p-quiz__detailTtl {
  text-align: center;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 3px;
  padding: calc(8 / 375 * 100vw);
  color: #159000;
  border-bottom: 1px solid #159000;
  margin-top: calc(16 / 375 * 100vw);
}

.l-lp .p-quiz__detailCont {
  display: flex;
  flex-direction: column;
  gap: calc(16 / 375 * 100vw);
  margin-top: calc(16 / 375 * 100vw);
}

.l-lp .p-quiz__step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(10 / 375 * 100vw);
}

.l-lp .p-quiz__stepTtl {
  display: flex;
  align-items: first baseline;
  gap: calc(10 / 375 * 100vw);
}

.l-lp .p-quiz__stepTtl span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  color: #fff;
  background: #e0a465;
  text-align: center;
  padding: calc(3 / 375 * 100vw) calc(2 / 375 * 100vw);
}

.l-lp .p-quiz__stepTtl p {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 110%;
}

.l-lp .p-quiz__insta {
  width: calc(240 / 375 * 100vw);
  padding: calc(8 / 375 * 100vw) calc(20 / 375 * 100vw);
  border-radius: calc(40 / 375 * 100vw);
  border: 2px solid #e0e0e0;
  background: #fff;
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  margin: 0 auto;
}

.l-lp .p-quiz__insta a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(12 / 375 * 100vw);
}

.l-lp .p-quiz__insta span {
  width: calc(20 / 375 * 100vw);
}

.l-lp .p-quiz__stepTxt1 {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 1;
}

.l-lp .p-quiz__stepTxt1 span {
  background: #466e3f;
  color: #fff;
  font-weight: 700;
  padding: calc(4 / 375 * 100vw) 0;
  border-radius: calc(2 / 375 * 100vw);
  display: inline-block;
}

.l-lp .p-quiz__stepLine {
  width: 100%;
  position: relative;
  text-align: center;
}

.l-lp .p-quiz__stepLine::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px dashed #222;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.l-lp .p-quiz__stepLine span {
  color: #222;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 1;
  background: #fff;
}

.l-lp .p-quiz__stepTxt2 {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 140%;
}

.l-lp .p-quiz__stepTxt2 span {
  color: #159000;
}

.l-lp .p-quiz__stepTxt3 {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 140%;
}

.l-lp .p-quiz__stepTxt3 span {
  color: #159000;
}

.l-lp .p-quiz__stepTxt4 {
  color: #222;
  font-size: calc(13 / 375 * 100vw);
  font-weight: 500;
  line-height: 120%;
  letter-spacing: 0.65px;
  padding-left: calc(54 / 375 * 100vw);
}

.l-lp .p-quiz__stepTxt4 a {
  color: #159000;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.l-lp .p-quiz__stepImg1 {
  position: absolute;
  width: calc(48 / 375 * 100vw);
  right: calc(14 / 375 * 100vw);
  top: calc(20 / 375 * 100vw);
}

.l-lp .p-quiz__stepImg2 {
  position: absolute;
  right: calc(-0.85 / 375 * 100vw);
  top: calc(0 / 375 * 100vw);
  width: calc(87.9 / 375 * 100vw);
}

.l-lp .p-quiz__stepImg3 {
  width: calc(58.4 / 375 * 100vw);
  position: absolute;
  top: calc(0 / 375 * 100vw);
  right: calc(5.55 / 375 * 100vw);
}

.l-lp .p-quiz__arrow {
  width: calc(180 / 375 * 100vw);
  margin: 0 auto;
}

.l-lp .p-lesson {
  background: #e8d4bf;
  margin: calc(40 / 375 * 100vw) 0 calc(56 / 375 * 100vw);
}

.l-lp .p-lesson__inner {
  width: calc(335 / 375 * 100vw);
  padding: calc(60 / 375 * 100vw) 0;
  margin: 0 auto;
}

.l-lp .p-lesson__ttl {
  width: calc(284 / 375 * 100vw);
  margin: 0 auto;
}

.l-lp .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);
}

.l-lp .p-lesson__lead span {
  color: #5bb647;
  font-weight: 700;
}

.l-lp .p-point {
  margin-top: calc(50 / 375 * 100vw);
}

.l-lp .p-point__ttl {
  position: relative;
  background: #159000;
  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;
}

.l-lp .p-point__ttl::before {
  content: "";
  width: calc(43.18 / 375 * 100vw);
  height: calc(46.29 / 375 * 100vw);
  background: url(../images/illust_cookieman.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-26.49 / 375 * 100vw);
  left: calc(-6 / 375 * 100vw);
}

.l-lp .p-point__ttl::after {
  content: "";
  width: calc(55.96 / 375 * 100vw);
  height: calc(44.89 / 375 * 100vw);
  background: url(../images/illust_bell.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(-18.47 / 375 * 100vw);
  right: calc(-5.21 / 375 * 100vw);
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.l-lp .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);
}

.l-lp .p-point__card--card1 {
  padding-bottom: calc(22 / 375 * 100vw);
}

.l-lp .p-point__card--card2 {
  padding-bottom: calc(26 / 375 * 100vw);
}

.l-lp .p-point__card--card3 {
  padding-bottom: calc(15 / 375 * 100vw);
}

.l-lp .p-point__head {
  display: flex;
  align-items: center;
  gap: calc(6 / 375 * 100vw);
}

.l-lp .p-point__headIcon {
  width: calc(60 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  border-radius: 50%;
  background: #bd0d10;
  display: flex;
  justify-content: center;
  align-items: center;
}

.l-lp .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;
}

.l-lp .p-point__headIconTxt span {
  font-size: calc(10.286 / 375 * 100vw);
  font-weight: 700;
  line-height: 160%;
}

.l-lp .p-point__headTtl {
  color: #000;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 140%;
}

.l-lp .p-point__body {
  margin-top: calc(12 / 375 * 100vw);
  position: relative;
}

.l-lp .p-point__bodyTxt {
  color: #000;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.42px;
}

.l-lp .p-point__bodyTxt span {
  text-decoration: underline;
  text-decoration-color: #fffa62;
  text-decoration-thickness: 4px;
  text-underline-offset: -3px;
}

.l-lp .p-point__bodyTxt--txt1 {
  width: calc(185 / 375 * 100vw);
}

.l-lp .p-point__bodyTxt--txt3 {
  margin-top: calc(7 / 375 * 100vw);
}

.l-lp .p-point__bodyTxt--txt4 {
  width: calc(181 / 375 * 100vw);
}

.l-lp .p-point__bodyImgWrap {
  position: absolute;
  bottom: 0;
  right: 0;
}

.l-lp .p-point__bodyImgTxt {
  display: block;
  color: #159000;
  text-align: center;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.36px;
  position: absolute;
}

.l-lp .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);
}

.l-lp .p-point__bodyImgTxt--txt2 {
  width: calc(62 / 375 * 100vw);
  bottom: calc(100 / 375 * 100vw);
  right: calc(32.4 / 375 * 100vw);
}

.l-lp .p-point__bodyImgTxt::before {
  display: block;
  position: absolute;
  content: "";
  width: 1px;
  height: calc(27 / 375 * 100vw);
  background: #159000;
  transform: rotate(-30deg);
  left: -1em;
  bottom: -1px;
}

.l-lp .p-point__bodyImgTxt::after {
  display: block;
  position: absolute;
  content: "";
  width: 1px;
  height: calc(27 / 375 * 100vw);
  background: #159000;
  transform: rotate(30deg);
  right: -1em;
  bottom: -1px;
}

.l-lp .p-point__bodyImg {
  position: absolute;
}

.l-lp .p-point__bodyImg--img1 {
  width: calc(163 / 375 * 100vw);
  right: calc(-12 / 375 * 100vw);
  bottom: 0;
}

.l-lp .p-point__bodyImg--img2 {
  width: calc(131 / 375 * 100vw);
  right: calc(4 / 375 * 100vw);
  bottom: calc(-26 / 375 * 100vw);
}

.l-lp .p-point__bodyImg--img3 {
  width: calc(120 / 375 * 100vw);
  right: calc(12 / 375 * 100vw);
  bottom: calc(-15 / 375 * 100vw);
}

.l-lp .p-point__list {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-top: calc(37 / 375 * 100vw);
}

.l-lp .p-point__listItem {
  width: calc(100 / 375 * 100vw);
  position: relative;
}

.l-lp .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;
}

.l-lp .p-point__listItemTxt::after {
  content: "";
  display: block;
  background: url(../images/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);
}

.l-lp .p-voice {
  margin-top: calc(50 / 375 * 100vw);
}

.l-lp .p-voice__ttl {
  position: relative;
  background: #159000;
  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;
}

.l-lp .p-voice__ttl::before {
  content: "";
  width: calc(44.52 / 375 * 100vw);
  height: calc(53.5 / 375 * 100vw);
  background: url(../images/illust_santa.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-29.12 / 375 * 100vw);
  left: calc(-8.86 / 375 * 100vw);
}

.l-lp .p-voice__ttl::after {
  content: "";
  width: calc(33.23 / 375 * 100vw);
  height: calc(25.31 / 375 * 100vw);
  background: url(../images/illust_santa-hat.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(-8.74 / 375 * 100vw);
  right: calc(-0.48 / 375 * 100vw);
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.l-lp .p-voice__swiper {
  margin-top: calc(20 / 375 * 100vw);
}

.l-lp .p-voice__card {
  position: relative;
}

.l-lp .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;
}

.l-lp .p-voice__text span {
  text-decoration: underline;
  text-decoration-color: #fffa62;
  text-decoration-thickness: 4px;
  text-underline-offset: -3px;
}

.l-lp .p-voice__text::after {
  content: "";
  display: block;
  width: calc(12 / 375 * 100vw);
  height: calc(12 / 375 * 100vw);
  background: url(../images/voice_fukidashi.svg) no-repeat center/contain;
  position: absolute;
  left: calc(26 / 375 * 100vw);
  top: calc(100% - 1px);
}

.l-lp .p-voice__box {
  display: flex;
  align-items: center;
  gap: calc(8 / 375 * 100vw);
  margin-top: calc(16 / 375 * 100vw);
}

.l-lp .p-voice__img {
  width: calc(60 / 375 * 100vw);
}

.l-lp .p-voice__name {
  color: #222426;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 1.12px;
}

.l-lp .p-voice .swiper-pagination {
  position: static;
  margin-top: calc(20 / 375 * 100vw);
}

.l-lp .p-voice .swiper-pagination-bullet-active {
  background: #ff5e00;
}

.l-lp .p-flow {
  margin-top: calc(40 / 375 * 100vw);
}

.l-lp .p-flow__ttl {
  position: relative;
  background: #159000;
  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;
}

.l-lp .p-flow__ttl::before {
  content: "";
  width: calc(33 / 375 * 100vw);
  height: calc(48.84 / 375 * 100vw);
  background: url(../images/illust_snowman.svg) no-repeat center/contain;
  position: absolute;
  top: calc(-28.87 / 375 * 100vw);
  left: calc(-3.79 / 375 * 100vw);
}

.l-lp .p-flow__ttl::after {
  content: "";
  width: calc(45.31 / 375 * 100vw);
  height: calc(42.28 / 375 * 100vw);
  background: url(../images/illust_present.svg) no-repeat center/contain;
  position: absolute;
  bottom: calc(-14.8 / 375 * 100vw);
  right: calc(-4.07 / 375 * 100vw);
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.l-lp .p-flow__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(28 / 375 * 100vw);
  margin-top: calc(20 / 375 * 100vw);
}

.l-lp .p-flow__list::before {
  display: block;
  content: "";
  width: 2px;
  height: calc(430 / 375 * 100vw);
  background: #bd0d10;
  position: absolute;
  left: calc(6 / 375 * 100vw);
  top: calc(36 / 375 * 100vw);
}

.l-lp .p-flow__listItem {
  width: calc(308.703 / 375 * 100vw);
  margin-left: auto;
}

.l-lp .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;
}

.l-lp .p-flow__listTtl span {
  color: #bd0d10;
  font-size: calc(40 / 375 * 100vw);
  font-weight: 400;
  display: inline-block;
  width: calc(53.269 / 375 * 100vw);
}

.l-lp .p-flow__listTtl::before {
  content: "";
  width: calc(14 / 375 * 100vw);
  height: calc(14 / 375 * 100vw);
  border-radius: 50%;
  background: #bd0d10;
  position: absolute;
  left: calc(-26 / 375 * 100vw);
}

.l-lp .p-flow__listBox {
  display: flex;
  align-items: center;
  gap: calc(10 / 375 * 100vw);
}

.l-lp .p-flow__listBox--box1 {
  margin-top: calc(5 / 375 * 100vw);
}

.l-lp .p-flow__listBox--box2 {
  margin-top: calc(12 / 375 * 100vw);
}

.l-lp .p-flow__listText {
  color: #000;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 153.333%;
}

.l-lp .p-flow__listText a {
  color: #bd0d10;
  font-weight: 700;
  text-decoration: underline;
}

.l-lp .p-flow__listText--text1 {
  width: calc(167 / 375 * 100vw);
}

.l-lp .p-flow__listText--text2 {
  width: calc(182 / 375 * 100vw);
}

.l-lp .p-flow__listImg {
  width: calc(100 / 375 * 100vw);
}

.l-lp .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);
}

.l-lp .p-flow__img {
  width: calc(304 / 375 * 100vw);
  margin: calc(12 / 375 * 100vw) 0 0 auto;
}

.l-lp .p-christmas {
  background: #e8d4bf;
  margin-top: calc(40 / 375 * 100vw);
  position: relative;
  padding: calc(90 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
}

.l-lp .p-christmas::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(99 / 375 * 100vw);
  background: url(../images/sp_christmas_bg_snow.svg) no-repeat center/contain;
  position: absolute;
  top: -3px;
  left: 0;
}

.l-lp .p-christmas__inner {
  width: calc(335 / 375 * 100vw);
}

.l-lp .p-christmas__ttl {
  width: calc(284 / 375 * 100vw);
  margin: 0 auto;
}

.l-lp .p-christmas__lead {
  width: calc(335 / 375 * 100vw);
  background: url(../images/bg_about_christmas.png) repeat center/contain;
  background-color: #e9f3f8;
  padding: calc(30 / 375 * 100vw) 0 calc(78.88 / 375 * 100vw);
  position: relative;
  margin: calc(20 / 375 * 100vw) auto 0;
  border-radius: calc(20 / 375 * 100vw);
  overflow: hidden;
}

.l-lp .p-christmas__lead::after {
  content: "";
  display: block;
  width: 102%;
  height: calc(67 / 375 * 100vw);
  background: url(../images/about_christmas.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.l-lp .p-christmas__leadTtl {
  display: flex;
  justify-content: center;
  gap: calc(3 / 375 * 100vw);
}

.l-lp .p-christmas__leadTtl span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(30 / 375 * 100vw);
  height: calc(35 / 375 * 100vw);
  padding: calc(7 / 375 * 100vw) calc(4 / 375 * 100vw);
  background: #159000;
  box-shadow: 1px 1px 0 0 #bd0d10;
  color: #fff;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.l-lp .p-christmas__leadText {
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.45px;
  padding: calc(26 / 375 * 100vw) calc(18 / 375 * 100vw)
    calc(27.9 / 375 * 100vw);
  margin-top: calc(12 / 375 * 100vw);
}

.l-lp .p-christmas__cont {
  margin-top: calc(40 / 375 * 100vw);
  position: relative;
  padding-top: calc(27 / 375 * 100vw);
  padding-bottom: calc(27.91 / 375 * 100vw);
  border-radius: calc(20 / 375 * 100vw);
  background: #fff;
}

.l-lp .p-christmas__contTtl {
  width: calc(295 / 375 * 100vw);
  margin: 0 auto;
}

.l-lp .p-christmas__contInner {
  padding: 0;
  position: relative;
}

.l-lp .p-christmas__contTxt1 {
  color: #000;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.45px;
  width: calc(300 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
}

.l-lp .p-christmas__contTxt2 {
  width: calc(190 / 375 * 100vw);
  color: #000;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.45px;
  margin-top: calc(8 / 375 * 100vw);
  margin-left: calc(18 / 375 * 100vw);
}

.l-lp .p-christmas__img1 {
  width: calc(163 / 375 * 100vw);
  position: absolute;
  right: calc(-18 / 375 * 100vw);
  bottom: calc(149 / 375 * 100vw);
}

.l-lp .p-christmas__img2 {
  width: calc(295 / 375 * 100vw);
  margin: calc(15 / 375 * 100vw) auto 0;
}

.l-lp .p-christmas__img3 {
  width: calc(149.32 / 375 * 100vw);
  position: absolute;
  left: calc(16 / 375 * 100vw);
  bottom: calc(129 / 375 * 100vw);
}

.l-lp .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);
}

.l-lp .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;
}

.l-lp .p-campaignNote__txt {
  margin-top: calc(10 / 375 * 100vw);
}

.l-lp .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%;
}

.l-lp .p-campaignNote__txt p {
  font-family: "Noto Sans JP", sans-serif;
  color: #222;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 400;
  line-height: 160%;
  width: -moz-fit-content;
  width: fit-content;
  margin: calc(20 / 375 * 100vw) auto 0;
}

.l-lp .p-campaignNote__txt p > span {
  display: flex;
  width: 19em;
  white-space: nowrap;
}

.l-lp .p-campaignNote__txt p > span > span {
  font-weight: 400;
}

.l-lp .p-campaignNote__txt p > span > span.speace {
  width: 3em;
}

.l-lp .p-campaignNote__txt p > span > span.speace2 {
  margin-left: auto;
}

.l-lp .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 #159000;
  padding: calc(12 / 375 * 100vw) calc(32 / 375 * 100vw);
  margin: calc(20 / 375 * 100vw) auto 0;
}

.l-lp .p-campaignNote__cta::after {
  content: "";
  display: block;
  width: calc(12 / 375 * 100vw);
  height: calc(25 / 375 * 100vw);
  background: url(../images/arrow_green.svg) no-repeat center/contain;
}

.l-lp .p-campaignNote__cta:hover,
.l-lp .p-campaignNote__cta:active {
  opacity: 0.8;
  text-decoration: none;
}

.l-lp .p-campaignNote__ctaTxt {
  width: calc(154 / 375 * 100vw);
}

.l-lp .p-campaignNote__ctaTxt span {
  display: block;
  text-align: center;
  color: #159000;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  line-height: 130%;
}

.l-lp .p-info {
  background: #eefce4;
  padding: calc(71.2 / 375 * 100vw) 0 calc(50 / 375 * 100vw);
}

.l-lp .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;
}

.l-lp .p-info__lead span {
  background: #fffa7b;
}

.l-lp .p-info__icon {
  width: calc(30 / 375 * 100vw);
  height: calc(48 / 375 * 100vw);
  margin: calc(24 / 375 * 100vw) auto 0;
}

.l-lp .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;
}

.l-lp .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;
  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;
}

.l-lp .p-info__btn a {
  color: #fff;
}

.l-lp .p-info__btn span {
  width: calc(21 / 375 * 100vw);
  position: absolute;
  right: calc(20 / 375 * 100vw);
  top: 50%;
  transform: translateY(-50%);
}

.l-lp .p-info__btn:hover,
.l-lp .p-info__btnactive {
  color: #fff;
  text-decoration: none;
  opacity: 0.8;
}

.l-lp .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);
}

.l-lp .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);
}

.l-lp .p-magic__ttl::before,
.l-lp .p-magic__ttl::after {
  content: "";
  background: url(../images/line_dot.svg) no-repeat center/contain;
  width: calc(40 / 375 * 100vw);
  height: calc(40 / 375 * 100vw);
  position: absolute;
}

.l-lp .p-magic__ttl::before {
  top: 0;
  left: 0;
}

.l-lp .p-magic__ttl::after {
  bottom: 0;
  right: 0;
}

.l-lp .p-magic__list {
  display: flex;
  flex-direction: column;
  gap: calc(30 / 375 * 100vw);
  margin-top: calc(17.2 / 375 * 100vw);
}

.l-lp .p-magic__detail {
  width: calc(300 / 375 * 100vw);
  margin: auto;
}

.l-lp .p-magic__detailTtl {
  display: flex;
  align-items: center;
  gap: calc(10 / 375 * 100vw);
}

.l-lp .p-magic__detailTtl__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.l-lp .p-magic__detailTtl__itemTxt {
  color: #5bb647;
  font-size: calc(14 / 375 * 100vw);
  font-weight: bold;
}

.l-lp .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;
}

.l-lp .p-magic__detailTtl__txt {
  font-size: calc(20 / 375 * 100vw);
  font-weight: bold;
  line-height: 1.4;
}

.l-lp .p-magic__detailImg {
  width: 100%;
  margin-top: calc(10 / 375 * 100vw);
}

.l-lp .p-magic__detailTxt {
  font-size: calc(16 / 375 * 100vw);
  font-weight: 500;
  line-height: 1.75;
  margin-top: calc(10 / 375 * 100vw);
}

.l-lp .c-ttl {
  width: calc(307 / 375 * 100vw);
  height: calc(115 / 375 * 100vw);
  background: url(../images/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;
}

.l-lp .c-ttl::before {
  content: "";
  display: inleine-block;
  width: calc(78.92 / 375 * 100vw);
  height: calc(52.26 / 375 * 100vw);
  background: url(../images/ttl_icon.webp) no-repeat center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-35.2 / 375 * 100vw);
}

.l-lp .c-cta {
  background: url(../images/cta_bg_sp.webp) repeat-y center/cover;
  height: calc(181 / 375 * 100vw);
  padding-top: calc(45 / 375 * 100vw);
  position: relative;
}

.l-lp .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;
}

.l-lp .c-cta__txt::before,
.l-lp .c-cta__txt::after {
  content: "";
  width: 1px;
  height: calc(20 / 375 * 100vw);
  background: #fff;
}

.l-lp .c-cta__txt::before {
  transform: rotate(-24deg);
}

.l-lp .c-cta__txt::after {
  transform: rotate(24deg);
}

.l-lp .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;
}

.l-lp .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;
}

.l-lp .c-cta__btn:hover {
  color: #fff;
  opacity: 0.8;
  text-decoration: none;
}

.l-lp .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) {
  .fFixed {
    display: block;
  }

  .floatBtn {
    display: none;
  }

  .l-headerLp__float {
    display: none;
  }

  .flow_menu {
    display: block;
    position: fixed;
  }

  .l-lp .p-mainvisual {
    padding-top: 30px;
  }

  .l-lp .p-mainvisual__title {
    max-width: 1080px;
  }

  .l-lp .p-lead {
    padding-top: 18px;
  }

  .l-lp .p-lead__title {
    max-width: 640px;
  }

  .l-lp .p-lead__time {
    max-width: 332px;
    margin-top: -10px;
    position: relative;
    z-index: 2;
  }

  .l-lp .p-campaign {
    padding-top: 60px;
  }

  .l-lp .p-campaign::before {
    height: 100px;
    top: -13px;
    background: #fff;
    z-index: -1;
  }

  .l-lp .p-campaign--campaign2 {
    padding-top: 0;
  }

  .l-lp .p-campaign__head {
    width: 640px;
    margin-bottom: 32px;
  }

  .l-lp .p-campaign__inner {
    border-radius: 20px;
    max-width: 1080px;
  }

  .l-lp .p-campaign__box1 {
    border-radius: 18px 18px 0 0;
    padding-top: 56.2px;
    padding-bottom: 30px;
  }

  .l-lp .p-campaign__box1::after {
    border-right: 500px solid transparent;
    border-left: 500px solid transparent;
    border-top: 20px solid #bd0d10;
  }

  .l-lp .p-campaign__box2 {
    border-radius: 0 0 18px 18px;
    padding-top: 42.7px;
    padding-bottom: 20px;
  }

  .l-lp .p-campaign__fukidashi {
    width: 299px;
    top: -19.18px;
  }

  .l-lp .p-campaign__bg1 {
    max-width: 780px;
    top: 19px;
    left: calc(50% - 13px);
    transform: translateX(-50%);
  }

  .l-lp .p-campaign__bg2 {
    width: 402px;
    top: 19px;
    left: calc(50% + 5px);
    transform: translateX(-50%);
  }

  .l-lp .p-campaign__title {
    gap: 6px;
  }

  .l-lp .p-campaign__titleIcon1 {
    width: 33.4px;
  }

  .l-lp .p-campaign__titleIcon2 {
    width: 36.8px;
  }

  .l-lp .p-campaign__titleTxt {
    font-size: 24px;
    letter-spacing: 1.2px;
  }

  .l-lp .p-campaign__cont {
    max-width: 600px;
    height: 160px;
    margin-top: 20px;
    padding: 16px 17px 0 38px;
    display: flex;
    position: relative;
    border-radius: 10px;
  }

  .l-lp .p-campaign__contInner {
    padding: 0;
    width: 50%;
    height: 38px;
  }

  .l-lp .p-campaign__contInner--inner2 {
    padding-left: 20px;
  }

  .l-lp .p-campaign__circle {
    width: 38px;
  }

  .l-lp .p-campaign__contTxtBox1 {
    padding-left: 5px;
    padding-bottom: 4px;
  }

  .l-lp .p-campaign__contTxtBox2 {
    gap: 0;
    align-items: center;
    flex-direction: row;
    padding-left: 6px;
  }

  .l-lp .p-campaign__contTxt1 {
    font-size: 15px;
  }

  .l-lp .p-campaign__contTxt2 {
    width: 13px;
    padding-right: 2px;
  }

  .l-lp .p-campaign__contTxt3 {
    font-size: 16px;
  }

  .l-lp .p-campaign__contTxt4 {
    font-size: 15px;
  }

  .l-lp .p-campaign__contTxt5 {
    font-size: 20px;
  }

  .l-lp .p-campaign__contImg1 {
    width: 150px;
    bottom: -90px;
    left: 39px;
    right: auto;
    top: auto;
  }

  .l-lp .p-campaign__contImg2 {
    width: 148px;
    right: 61px;
    bottom: -90px;
  }

  .l-lp .p-campaign__line {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 3em;
    height: 100%;
    margin: 0 auto;
  }

  .l-lp .p-campaign__line::after {
    width: 0;
    height: 160px;
    border-bottom: 0;
    border-right: 1px dashed #bd0d10;
    left: 50%;
    transform: translate(-50%);
    top: 0;
  }

  .l-lp .p-campaign__line span {
    position: absolute;
    display: flex;
    align-items: center;
    width: 3em;
    top: calc(50% - 1em);
    left: 50%;
    transform: translate(-50%);
    font-size: 12px;
    height: 2em;
  }

  .l-lp .p-campaign__ctaBox::after {
    width: 360px;
    height: 33px;
    top: calc(100% + 11px);
  }

  .l-lp .p-campaign__text1 {
    font-size: 18px;
  }

  .l-lp .p-campaign__text2 {
    font-size: 24px;
    margin-top: 4px;
  }

  .l-lp .p-campaign__text2 .u-dot::before {
    width: 3px;
    height: 3px;
    top: 0;
  }

  .l-lp .p-campaign__ctaBoxImg {
    width: 40px;
  }

  .l-lp .p-campaign__ctaBtn {
    width: 360px;
    margin-top: 18px;
  }

  .l-lp .p-quiz {
    margin-top: 20px;
  }

  .l-lp .p-quiz__inner {
    border-radius: 20px;
    padding: 40px;
    max-width: 1080px;
  }

  .l-lp .p-quiz__title {
    font-size: 18px;
  }

  .l-lp .p-quiz__title span {
    width: 25px;
    height: 25px;
    border-radius: 25px;
  }

  .l-lp .p-quiz__detailTtl {
    font-size: 18px;
    letter-spacing: 3.6px;
    margin-top: 16px;
    padding: 5px;
  }

  .l-lp .p-quiz__detailCont {
    flex-direction: row;
    justify-content: space-between;
    max-width: 1000px;
    gap: 16px;
    margin-top: 16px;
  }

  .l-lp .p-quiz__step {
    gap: 10px;
  }

  .l-lp .p-quiz__step--step1 {
    width: 34%;
  }

  .l-lp .p-quiz__step--step2 {
    width: 27.7%;
  }

  .l-lp .p-quiz__step--step3 {
    width: 27.7%;
  }

  .l-lp .p-quiz__stepTtl {
    gap: 10px;
  }

  .l-lp .p-quiz__stepTtl span {
    font-size: 14px;
    padding: 2px;
  }

  .l-lp .p-quiz__stepTtl p {
    font-size: 16px;
  }

  .l-lp .p-quiz__insta {
    width: 240px;
    padding: 8px 20px;
    font-size: 14px;
    border-radius: 40px;
  }

  .l-lp .p-quiz__insta a {
    gap: 12px;
  }

  .l-lp .p-quiz__insta span {
    width: 20px;
  }

  .l-lp .p-quiz__stepTxt1 {
    font-size: 15px;
  }

  .l-lp .p-quiz__stepTxt1 span {
    padding: 4px 0;
    border-radius: 2px;
  }

  .l-lp .p-quiz__stepLine span {
    font-size: 14px;
  }

  .l-lp .p-quiz__stepTxt2 {
    font-size: 15px;
  }

  .l-lp .p-quiz__stepTxt3 {
    font-size: 15px;
  }

  .l-lp .p-quiz__stepTxt4 {
    font-size: 15px;
    letter-spacing: 0.75px;
    padding-left: 54px;
  }

  .l-lp .p-quiz__stepTxt4 a {
    font-weight: 700;
    letter-spacing: 0.75px;
  }

  .l-lp .p-quiz__stepImg1 {
    width: 48px;
    right: 59px;
    top: 11.61px;
  }

  .l-lp .p-quiz__stepImg2 {
    position: static;
    width: 181px;
    margin: 0 auto;
  }

  .l-lp .p-quiz__stepImg3 {
    width: 145px;
    position: static;
    margin-right: 39px;
    margin-left: auto;
  }

  .l-lp .p-quiz__arrow {
    display: flex;
    align-items: center;
    width: 26px;
  }

  .l-lp .p-lesson {
    margin-top: 40px;
    margin-bottom: 95px;
  }

  .l-lp .p-lesson__inner {
    max-width: 1080px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .l-lp .p-lesson__ttl {
    width: 360px;
  }

  .l-lp .p-lesson__lead {
    text-align: center;
    font-size: 18px;
    letter-spacing: 0.54px;
    margin-top: 20px;
  }

  .l-lp .p-point {
    margin-top: 50px;
  }

  .l-lp .p-point__ttl {
    width: 620px;
    border-radius: 10px;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 auto;
  }

  .l-lp .p-point__ttl::before {
    width: 43.18px;
    height: 46.29px;
    top: -26.49px;
    left: -6px;
  }

  .l-lp .p-point__ttl::after {
    width: 55.96px;
    height: 44.89px;
    bottom: -18.47px;
    right: -5.21px;
  }

  .l-lp .p-point__inner {
    max-width: 1080px;
    margin: 20px auto 0;
    display: flex;
    justify-content: space-between;
  }

  .l-lp .p-point__card {
    border-radius: 10px;
    margin-top: 0;
  }

  .l-lp .p-point__card--card1 {
    width: 49.0740740741%;
    padding: 31px 19px 23.85px;
  }

  .l-lp .p-point__card--card2 {
    width: 100%;
    padding: 15px 14px 14.76px;
  }

  .l-lp .p-point__card--card3 {
    width: 100%;
    padding: 15px 15px 11px;
  }

  .l-lp .p-point__head {
    gap: 6px;
  }

  .l-lp .p-point__headIcon {
    width: 60px;
    height: 60px;
  }

  .l-lp .p-point__headIconTxt {
    font-size: 27.429px;
  }

  .l-lp .p-point__headIconTxt span {
    font-size: 10.286px;
  }

  .l-lp .p-point__headTtl {
    font-size: 16px;
  }

  .l-lp .p-point__body {
    margin-top: 0;
  }

  .l-lp .p-point__bodyTxt {
    font-size: 14px;
  }

  .l-lp .p-point__bodyTxt--txt1 {
    max-width: 304px;
    width: 28.1481481481vw;
    margin-top: 19.14px;
    padding-bottom: 10.83px;
  }

  .l-lp .p-point__bodyTxt--txt2 {
    max-width: 358px;
    width: 33.1481481481vw;
    margin-top: 6.24px;
  }

  .l-lp .p-point__bodyTxt--txt3 {
    max-width: 364px;
    width: 33.7037037037vw;
    margin-top: 6px;
  }

  .l-lp .p-point__bodyTxt--txt4 {
    max-width: 366px;
    width: 33.8888888889vw;
    margin-top: 10px;
  }

  .l-lp .p-point__bodyImgTxt {
    font-size: 12px;
  }

  .l-lp .p-point__bodyImgTxt--txt1 {
    width: 87px;
    right: 6px;
    bottom: 68px;
  }

  .l-lp .p-point__bodyImgTxt--txt2 {
    width: 62px;
    bottom: 104px;
    right: 18.4px;
  }

  .l-lp .p-point__bodyImgTxt::before {
    height: 25px;
  }

  .l-lp .p-point__bodyImgTxt::after {
    height: 25px;
  }

  .l-lp .p-point__bodyImg--img1 {
    max-width: 221.171px;
    width: 20.4787962963vw;
    right: -19px;
    bottom: -10.83px;
  }

  .l-lp .p-point__bodyImg--img2 {
    max-width: 131px;
    width: 12.1296296296vw;
    right: 4px;
    bottom: -14.76px;
  }

  .l-lp .p-point__bodyImg--img3 {
    max-width: 120px;
    width: 11.1111111111vw;
    right: -2px;
    bottom: -11px;
  }

  .l-lp .p-point__list {
    margin-top: 65px;
  }

  .l-lp .p-point__listItem {
    width: 30.4356603774%;
  }

  .l-lp .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;
  }

  .l-lp .p-point__listItemTxt::after {
    width: 16px;
    height: 12px;
    left: 18px;
  }

  .l-lp .p-point__cardWrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 49.0740740741%;
  }

  .l-lp .p-voice {
    margin-top: 50px;
  }

  .l-lp .p-voice__ttl {
    width: 620px;
    border-radius: 10px;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 auto;
  }

  .l-lp .p-voice__ttl::before {
    width: 44.52px;
    height: 53.5px;
    top: -29.12px;
    left: -8.86px;
  }

  .l-lp .p-voice__ttl::after {
    width: 33.23px;
    height: 25.31px;
    bottom: -8.74px;
    right: -0.48px;
  }

  .l-lp .p-voice__swiper {
    width: auto;
    margin-top: 20px;
  }

  .l-lp .p-voice__swiper .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    transform: none !important;
  }

  .l-lp .p-voice__swiper .swiper-slide {
    max-width: 258px;
    width: 23.8888888889% !important;
    margin-right: 0 !important;
  }

  .l-lp .p-voice__text {
    min-height: 220px;
    border-radius: 20px;
    padding: 19px;
    font-size: 14px;
  }

  .l-lp .p-voice__text::after {
    width: 12px;
    height: 12px;
    left: 26px;
  }

  .l-lp .p-voice__box {
    gap: 8px;
    margin-top: 16px;
  }

  .l-lp .p-voice__img {
    width: 60px;
  }

  .l-lp .p-voice__name {
    font-size: 14px;
  }

  .l-lp .p-voice .swiper-pagination {
    display: none;
  }

  .l-lp .p-flow {
    position: relative;
    padding-bottom: 95px;
    width: 620px;
    margin: 50px auto 0;
  }

  .l-lp .p-flow__ttl {
    width: 620px;
    border-radius: 10px;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 auto;
  }

  .l-lp .p-flow__ttl::before {
    width: 33px;
    height: 48.84px;
    top: -28.87px;
    left: -3.79px;
  }

  .l-lp .p-flow__ttl::after {
    width: 45.31px;
    height: 42.28px;
    bottom: -14.8px;
    right: -4.07px;
  }

  .l-lp .p-flow__list {
    gap: 0;
    margin: 20px auto 0;
    width: 620px;
  }

  .l-lp .p-flow__list::before {
    height: 455px;
    left: 6px;
    top: 30px;
  }

  .l-lp .p-flow__listItem {
    width: 571px;
  }

  .l-lp .p-flow__listItem:nth-of-type(2) {
    margin-top: 28px;
  }

  .l-lp .p-flow__listItem:last-of-type {
    margin-top: 53px;
  }

  .l-lp .p-flow__listTtl {
    font-size: 16px;
  }

  .l-lp .p-flow__listTtl span {
    width: 53.269px;
    font-size: 40px;
  }

  .l-lp .p-flow__listTtl::before {
    width: 14px;
    height: 14px;
    left: -48.67px;
  }

  .l-lp .p-flow__listBox {
    gap: 10px;
  }

  .l-lp .p-flow__listBox--box1 {
    margin-top: 5px;
  }

  .l-lp .p-flow__listBox--box2 {
    margin-top: 21px;
  }

  .l-lp .p-flow__listText {
    font-size: 15px;
  }

  .l-lp .p-flow__listText--text1 {
    width: 383px;
  }

  .l-lp .p-flow__listText--text2 {
    width: 383px;
  }

  .l-lp .p-flow__listImg {
    width: 100px;
  }

  .l-lp .p-flow__listNote {
    font-size: 12px;
    margin-top: 10px;
  }

  .l-lp .p-flow__img {
    width: 339px;
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .l-lp .p-christmas {
    margin-top: 80px;
    padding-top: 130px;
    padding-bottom: 60px;
  }

  .l-lp .p-christmas::before {
    height: 13.8888888889vw;
    background: url(../images/pc_christmas_bg_snow.svg) left/cover;
  }

  .l-lp .p-christmas__inner {
    max-width: 1080px;
    width: 100%;
  }

  .l-lp .p-christmas__ttl {
    width: 360px;
  }

  .l-lp .p-christmas__wrap {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin: 40px auto 0;
  }

  .l-lp .p-christmas__lead {
    max-width: 520px;
    width: 48.1481481481%;
    padding: 30px 0 125px;
    border-radius: 20px;
    margin-top: 0;
  }

  .l-lp .p-christmas__lead::after {
    max-height: 104px;
    width: 100%;
    background-size: cover;
  }

  .l-lp .p-christmas__leadTtl {
    gap: 3.72px;
  }

  .l-lp .p-christmas__leadTtl span {
    width: 37.241px;
    height: 43.448px;
    padding: 8.69px 4.966px;
    gap: 12.414px;
    font-size: 24px;
    box-shadow: 1.241px 1.241px 0 0 #bd0d10;
  }

  .l-lp .p-christmas__leadText {
    font-size: 16px;
    letter-spacing: 0.48px;
    padding: 0 20px;
    margin-top: 21px;
  }

  .l-lp .p-christmas__cont {
    max-width: 520px;
    width: 48.1481481481%;
    min-height: 480px;
    padding: 26.67px 20px 0;
    border-radius: 20px;
    margin-top: 0;
  }

  .l-lp .p-christmas__contTtl {
    width: 295px;
  }

  .l-lp .p-christmas__contInner {
    height: 100%;
  }

  .l-lp .p-christmas__contTxt1 {
    max-width: 308px;
    width: 59.2307692308%;
    text-align: justify;
    font-size: 16px;
    letter-spacing: 0.48px;
    margin: 20px auto 0 0;
  }

  .l-lp .p-christmas__contTxt2 {
    max-width: 195px;
    width: 100%;
    font-size: 16px;
    letter-spacing: 0.48px;
    margin: 25px auto 0 0;
  }

  .l-lp .p-christmas__imgWrap {
    position: absolute;
    width: 275px;
    height: 168px;
    bottom: 40px;
    right: 0;
  }

  .l-lp .p-christmas__img1 {
    max-width: 163px;
    width: 59.2727272727%;
    right: -16px;
    top: -107px;
    bottom: auto;
    z-index: 1;
  }

  .l-lp .p-christmas__img2 {
    max-width: 275px;
    width: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
  }

  .l-lp .p-christmas__img3 {
    max-width: 149.32px;
    width: 54.2981818182%;
    top: -33.1px;
    left: -24px;
    bottom: auto;
    z-index: 1;
  }

  .l-lp .p-campaignNote {
    max-width: 1080px;
    width: 75vw;
    border-radius: 40px;
    padding: 2.7777777778vw;
    margin-top: 80px;
    margin-bottom: 40px;
  }

  .l-lp .p-campaignNote__ttl {
    font-size: 20px;
    line-height: 140%;
    padding-bottom: 20px;
  }

  .l-lp .p-campaignNote__txt {
    margin-top: 20px;
  }

  .l-lp .p-campaignNote__txt small {
    font-size: 16px;
    line-height: 180%;
  }

  .l-lp .p-campaignNote__txt p {
    width: 100%;
    font-size: 16px;
    margin-top: 20px;
  }

  .l-lp .p-campaignNote__cta {
    width: 268px;
    gap: 12px;
    border-radius: 100px;
    padding: 12px 32px;
    margin-top: 20px;
  }

  .l-lp .p-campaignNote__cta::after {
    width: 12px;
    height: 24px;
  }

  .l-lp .p-campaignNote__ctaTxt {
    width: 176px;
  }

  .l-lp .p-campaignNote__ctaTxt span {
    font-size: 16px;
  }

  .l-lp .p-info {
    padding: 115px 0 70px;
  }

  .l-lp .p-info__inner {
    max-width: 1100px;
  }

  .l-lp .p-info__lead {
    width: 702px;
    font-size: 16px;
    margin-top: 30px;
  }

  .l-lp .p-info__icon {
    width: 30px;
    height: 48px;
    margin-top: 30px;
  }

  .l-lp .p-info__txt {
    font-size: 20px;
    line-height: 1;
    margin-top: 40px;
  }

  .l-lp .p-info__btn {
    width: 331px;
    border-radius: 50px;
    padding: 12px 20px 12px 30px;
    font-size: 18px;
    line-height: 1;
    margin-top: 12px;
  }

  .l-lp .p-info__btn span {
    width: 21px;
    right: 20px;
  }

  .l-lp .p-magic {
    border-radius: 30px;
    padding: 40.8px 0 60px;
    margin-top: 30px;
  }

  .l-lp .p-magic__ttl {
    width: 396.38px;
    border-radius: 20px;
    font-size: 30px;
    line-height: 1.3;
    padding-top: 16.1px;
    padding-bottom: 13.6px;
  }

  .l-lp .p-magic__ttl::before,
  .l-lp .p-magic__ttl::after {
    width: 50px;
    height: 50px;
  }

  .l-lp .p-magic__list {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    width: 910px;
    margin: 40.5px auto 0;
  }

  .l-lp .p-magic__detail {
    width: 420px;
  }

  .l-lp .p-magic__detailTtl {
    gap: 13.1px;
  }

  .l-lp .p-magic__detailTtl__itemTxt {
    font-size: 16px;
  }

  .l-lp .p-magic__detailTtl__num {
    width: 39px;
    height: 39px;
    font-size: 22px;
  }

  .l-lp .p-magic__detailTtl__txt {
    font-size: 22px;
    line-height: 1.4090909091;
  }

  .l-lp .p-magic__detailImg {
    margin-top: 11px;
  }

  .l-lp .p-magic__detailTxt {
    font-size: 16px;
    margin-top: 15px;
  }

  .l-lp .c-ttl {
    background: url(../images/ttl_bg_pc.svg) no-repeat center/contain;
    width: 407px;
    height: 150.06px;
    font-size: 32px;
    line-height: 1.375;
  }

  .l-lp .c-ttl::before {
    width: 99.84px;
    height: 66.11px;
    top: -44.5px;
  }

  .l-lp .c-cta {
    background: url(../images/cta_bg_pc.webp);
    height: 270px;
    padding-top: 70px;
  }

  .l-lp .c-cta__txt {
    font-size: 24px;
    gap: 11px;
  }

  .l-lp .c-cta__txt::before,
  .l-lp .c-cta__txt::after {
    width: 2px;
    height: 27.71px;
  }

  .l-lp .c-cta__btn {
    width: 520px;
    height: 83px;
    border-radius: 42px;
    font-size: 24px;
    justify-content: center;
    padding-left: 0;
    margin-top: 13px;
  }

  .l-lp .c-cta__btn span {
    width: 32px;
    height: 32px;
    right: 30px;
  }
}
