@charset "utf-8";

html {
  scroll-behavior: smooth;
}


/* ---------------------- */
/* ヘッダー */
/* ---------------------- */
.header {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
}

.header-wrap {
  width: min(89.5vw, 101em);
  margin: 0 auto;
  min-height: 6.7em;
}

.header__logo {
  width: min(15.4vw, 17.4em);
  left: 0;
}

.header__tag {
  width: min(18.7vw, 21.17em);
  right: 0;
  z-index: 1;
}

@media (max-width: 1023px) {
  .header-wrap {
    min-height: 5em;
  }
}

@media (max-width: 767px) {
  .header-wrap {
    width: max(94.6vw, 25.35em);
    min-height: 3.21em;
  }

  .header__logo {
    width: max(26vw, 8.5em);
    left: 0;
  }

  .header__tag {
    width: max(40vw, 10.71em);
    right: 0;
    z-index: 1;
  }
}



/* ---------------------- */
/* FV */
/* ---------------------- */
.fv {
  padding-top: 4.4em;
  padding-bottom: 6.29em;
}

.fv-wrap {
  width: min(83.6vw, 94.5em);
  margin: 0 auto;
  background-color: #fff;
  border-radius: 2.35em;
}

.fv__text {
  padding-top: 14.2em;
  padding-bottom: 9.4em;
}

.fv__text__copy {}

.fv__text__copy__badge {
  width: min(10.6vw, 12em);
  top: -50%;
  left: 0;
  transform: translateX(-60%);
}

.fv__text__copy-txt {
  width: min(42.8vw, 48.35em);
}

.fv__button {
  padding-top: 2.64em;
  margin-left: -1.8em;
}

.fv__button ul {
  display: flex;
  gap: 1em;
  align-items: center;
}

.fv__btn {
  width: 18.8em;
}

.fv__btn a {
  display: block;
  line-height: 0;
}

.fv__btn-bg {
  display: block;
  top: -2.8em;
}

.fv__btn-text {
  width: 100%;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fv__btn-text {
  text-align: center;
}

.fv__btn-arrow {
  width: .5em;
  top: 45%;
  right: 1.8em;
  transform: translateY(-50%);
}

.fv__img {
  width: min(78.9vw, 89.1em);
  bottom: -1em;
  right: -9.8em;
}


@media (max-width: 1023px) {
  .fv__img {
    width: min(90vw, 89.1em);
    bottom: auto;
    top: 50%;
    right: -9.8em;
    transform: translateY(-50%);
  }
}

@media (max-width: 767px) {
  .fv {
    padding-top: 5em;
    padding-bottom: 5.4em;
  }

  .fv-wrap {
    width: max(87.2vw, 23.35em);
    background-color: unset;
    border-radius: 0;
  }

  .fv__text {
    padding-top: 2.14em;
    padding-bottom: 3.57em;
  }

  .fv__text__copy {
    padding-left: 1.5em;
  }

  .fv__text__copy__badge {
    width: max(25vw, 6.7em);
    top: auto;
    bottom: 0;
    left: -1%;
    transform: translateX(0);
  }

  .fv__text__copy-txt {
    width: max(32vw, 8.5em);
  }

  .fv__button {
    padding-top: 1.14em;
    margin: 0;
    padding-left: .7em;
  }

  .fv__button ul {
    flex-direction: column;
    align-items: flex-start;
    gap: .7em;
  }

  .fv__btn {
    width: max(34vw, 9.1em);
  }

  .fv__btn-bg {
    top: 0;
  }

  .fv__btn-text {
    font-size: clamp(0.813rem, 0.63rem + 0.78vw, 1.563rem);
    letter-spacing: 0.1em;
    line-height: 2;
  }

  .fv__btn-arrow {
    width: .3em;
    top: 45%;
    right: 7%;
    transform: translateY(-50%);
  }

  .fv__img {
    width: max(87.2vw, 23.35em);
    top: 50%;
    right: auto;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }

  .fv__img img {
    border-radius: 1em;
  }

  .fv__deco__pink {
    width: max(52vw, 14.1em);
    top: -12%;
    left: -14%;
    z-index: 0;
  }

  .fv__deco__orange {
    width: max(41vw, 11em);
    bottom: -8%;
    right: -12%;
  }

  .fv__deco__star {
    width: max(18.6vw, 5em);
    top: 52%;
    right: -5%;
    z-index: 2;
  }

  .fv__deco__fukidashi {
    width: max(18.9vw, 5em);
    right: -4%;
    top: 9%;
    z-index: 2;
  }
}


/* ---------------------- */
/* campaign */
/* ---------------------- */

.campaign-wrap {
  border-radius: 2.35em;
  padding-top: 8em;
  padding-bottom: 5em;
}

.campaign-copy-txt {
  position: relative;
}

.campaign-copy-txt::after,
.campaign-copy-txt::before {
  content: "";
  position: absolute;
  width: 4px;
  height: .8em;
  border-radius: 4px;
  background-color: #072026;
  top: 40%;
}

.campaign-copy-txt::after {
  right: -1em;
  transform: rotate(25deg);
}

.campaign-copy-txt::before {
  left: -1em;
  transform: rotate(-25deg);
}

.campaign-flag {
  width: 67%;
  top: -5%;
  left: 16%;
}

.campaign-date {
  width: 12%;
  top: -7%;
  left: 84%;
}

.campagin-garland_left {
  width: 16%;
  top: 4%;
  left: 1%;
}

.campagin-garland_right {
  width: 17%;
  top: 4%;
  left: 80%;
}

.campaign-cont-detail {
  width: 50%;
}

.campaign-cont-detail_ttl {
  position: relative;
  display: inline-block;
  font-size: clamp(0.938rem, 0.786rem + 0.65vw, 1.563rem);
  letter-spacing: 0.1em;
  line-height: 1.8;
  background-color: #072026;
  padding: 0.5em 0;
  width: 80%;
  border-radius: 100px;
  transform: translateY(50%);
}

.campaign-cont-detail_ttl::before {
  content: "";
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 20px;
  height: 20px;
  background: #072026;
  border-radius: 2px;
}

.campaign-cont-detail_txt {
  width: 90%;
}

.campaign-btn {
  margin-left: 1em;
}

.campaign-btn__02 {
  margin-left: 2em;
}

.campaign-cont-detail_btn {
  position: relative;
  padding: 0.7em 3em;
  border-radius: 50px;
}

.campaign-cont-detail_btn_blue {
  box-shadow: 0 9px 0 #005482;
}

.campaign-cont-detail_btn_red {
  box-shadow: 0 9px 0 #aa4141;
}

.campaign-cont-detail_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 82%;
  transform: translateY(-50%);
  width: .4em;
  height: .4em;
  background: url("../image/lp/campaign-cont-detail_btn_icon.svg") no-repeat center / contain;
  margin-left: .5em;
}

.campaign-cont-detail_btn::after {
  content: "";
  position: absolute;
  top: 6%;
  left: -6%;
  transform: translateY(-50%);
  width: 4em;
  height: 4em;
  background: url("../image/lp/campaign-cont-detail_btn_deco.svg") no-repeat center / contain;
}


@media (max-width: 1023px) {
  .campaign-cont {
    justify-content: space-between;
  }

  .campaign-cont-detail {
    width: 48%;
  }

  .campaign-cont-detail_ttl {
    width: 80%;
    padding: .5em .6em;
    transform: translateY(1em);
    z-index: 2;
  }

  .campaign-cont-detail_ttl::before {
    top: 80%;
    z-index: -1;
  }

  .campaign-cont-detail_btn {
    padding: .7em 2.5em;
  }

  .campaign-cont-detail_btn::before {
    margin-left: .8em;
  }

  .campaign-btn__02 {
    margin-left: 1.5em;
  }
}

@media (max-width: 767px) {
  .campaign-cont-detail_btn::before {
    left: 85%;
  }

  .campaign-copy {
    margin-top: 1.5em;
  }

  .campaign-wrap {
    width: max(88vw, 23.5em);
    padding-top: 6em;
    padding-bottom: 4em;
    border-radius: .8em;
  }

  .campaign-copy-txt {
    line-height: 1.6;
  }

  .campaign-copy-txt::after,
  .campaign-copy-txt::before {
    width: 2px;
    border-radius: 2px;
    top: 50%;
  }

  .campaign-copy-txt::after {
    right: -1em;
    transform: rotate(25deg);
  }

  .campaign-copy-txt::before {
    left: -1em;
    transform: rotate(-25deg);
  }

  .campaign-flag {
    width: max(62vw, 16.7em);
    top: 0;
    left: 2%;
    transform: translateY(-50%);
  }

  .campaign-date {
    width: max(19vw, 5.17em);
    top: 0;
    left: auto;
    right: 2%;
    transform: translateY(-50%);
  }

  .campagin-garland_left {
    width: clamp(7.125rem, 3.896rem + 13.78vw, 10.5rem);
    top: clamp(11.438rem, 11.258rem + 0.77vw, 11.625rem);
    left: -4%;
  }

  .campagin-garland_right {
    width: clamp(8.875rem, 5.527rem + 14.29vw, 12.375rem);
    top: clamp(42.063rem, 23.109rem + 80.87vw, 61.875rem);
    left: auto;
    right: -4%;
  }

  .campaign-cont {
    flex-direction: column;
    align-items: center;
    padding-top: 1.4em;
    gap: 4em;
  }

  .campaign-cont-detail {
    width: clamp(18.938rem, 2.854rem + 68.62vw, 35.75rem);
  }

  .campaign-cont-detail_ttl {
    width: 80%;
    padding: 0.4em 0;
    line-height: 1.6;
    transform: translateY(50%);
  }

  .campaign-cont-detail_ttl::before {
    z-index: -1;
    bottom: -.2em;
    top: auto;
    left: 50%;
  }

  .campaign-cont-detail_txt {
    width: 106%;
  }

  .campaign-cont-detail .mt-3 {
    margin-top: 2em;
  }

  .campaign-cont-detail_btn {
    font-size: clamp(1.125rem, 1.019rem + 0.45vw, 1.563rem);
    justify-content: center;
    padding: 0.5em clamp(2.813rem, -0.356rem + 13.52vw, 6.125rem);
  }

  .campaign-cont-detail_btn_blue {
    box-shadow: 0 .3em 0 #005482;
  }

  .campaign-cont-detail_btn_red {
    box-shadow: 0 .3em 0 #aa4141;
  }

  .campaign-cont-detail_btn::after {
    width: 3.6em;
    height: 3.6em;
  }

  .campaign-btn {
    margin-left: 0;
  }

  .campaign-btn__02 {
    margin-left: 0;
  }
}



/* ---------------------- */
/* strengths */
/* ---------------------- */
.strengths::before {
  content: "";
  position: absolute;
  background-image: url("../image/lp/faq_wave.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
  min-height: 2.35em;
}

.section-ttl {
  width: 65%;
  margin: 0 auto;
}

.strengths-cont {
  width: 45%;
  margin-top: 10em;
}

.strengths-deco_pink {
  top: -36%;
  left: -44%;
  width: 70%;
}

.strengths-deco_orange {
  top: 60%;
  left: 82%;
  width: 50%;
}

.strengths-deco_point_01 {
  width: 50%;
  top: 18%;
  left: -28%;
}

.strengths-deco_point_02 {
  width: 50%;
  top: 2%;
  left: 77%;
}


@media (max-width: 1023px) {
  .strengths-wrap {
    width: 95%;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .strengths::before {
    background-image: url("../image/lp/faq_wave_sp.png");
    height: max(3.7vw, 1em);
    min-height: auto;
  }

  .section-ttl {
    width: max(85vw, 22.8em);
  }

  .strengths-wrap {
    flex-direction: column;
    width: 80%;
  }

  .strengths-cont {
    width: 100%;
    margin-top: 5.7em;
  }

  .strengths-img {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .strengths-img__main {
    width: 90%;
  }

  .strengths-deco_pink {
    top: -30%;
    left: -31%;
    width: max(40vw, 10.7em);
  }

  .strengths-deco_orange {
    top: auto;
    bottom: -36%;
    left: auto;
    right: -35%;
    width: max(40vw, 10.7em);
  }

  .strengths-deco_point_01 {
    width: max(32vw, 8.7em);
    top: 18%;
    left: -9%;
  }

  .strengths-deco_point_02 {
    width: max(36.8vw, 9.8em);
    top: -10%;
    left: auto;
    right: -17%;
  }
}


/* ---------------------- */
/* strengths */
/* ---------------------- */
.bg-deco_blue01 {
  width: 30%;
  left: 90%;
  top: 15%;
}

.bg-deco_blue02 {
  width: 30%;
  left: -22%;
  top: 40%;
}

.bg-deco_blue03 {
  width: 30%;
  left: 90%;
  top: 57%;
}

.points .section-ttl {
  width: 87%;
  margin: 0 auto;
}

.points-wrap {
  margin-top: 10em;
}

.points-cont {}

.points-diamond {
  width: 10%;
  top: 17%;
  left: -5%;
}

.points-diamond_02 {
  width: 10%;
  top: 13%;
  left: 95%;
}

.points-txt_box,
.points-txt_box_02,
.points-txt_box_03 {
  background-color: #fff;
  background-size: 100%;
  position: relative;
  z-index: 1;
  padding: 3em 5em;
  border-radius: 1.4em;
}

.points-txt_box {
  width: 115%;
  margin-top: 9em;
  margin-left: -16em;
}

.points-txt_box_02 {
  width: 118%;
  margin-right: -14em;
  margin-top: 9em;
}

.points-txt_box_03 {
  width: 115%;
  margin-left: -14em;
  margin-top: 10em;
}

.points-deco_01 {
  width: 25%;
  top: 0%;
  left: 8%;
  transform: translateY(-75%);
}

.points-deco_02 {
  width: 25%;
  top: 0;
  left: -3%;
  transform: translateY(-75%);
}

.points-deco_03 {
  width: 25%;
  top: 0;
  left: 8%;
  transform: translateY(-75%);
}

.points-blue_mark_01 {
  width: 18%;
  top: -5%;
  left: 92%;
  z-index: 2;
}

.points-blue_mark_02 {
  width: 16%;
  top: 50%;
  left: -9%;
  transform: scale(-1, 1);
  z-index: 2;
}

.points-blue_mark_03 {
  width: 18%;
  top: 32%;
  left: 92%;
  z-index: 2;
}

.features-wrap {
  width: 96%;
  margin: 0 auto;
  margin-top: 10em;
}

.features-ttl {
  width: 65%;
  top: -9%;
  left: 19%;
}

.features-list_box {
  padding: 4em 0;
  border-radius: 30px;
}

.features-list {
  border-bottom: solid 1px #072026;
  width: 70%;
  margin: 0 auto;
  padding: 1em 0;
}

.features-list_icon {
  width: 1em;
  margin-right: 1em;
  margin-left: 7%;
}

.dot_deco_right {
  width: 20%;
  top: 71.5%;
  left: 84.5%;
}

.dot_deco_left {
  width: 20%;
  top: -2.5%;
  left: -4.5%;
}

.star_right {
  width: 15%;
  top: -7%;
  left: 89%;
}

.star_left {
  width: 15%;
  top: 62%;
  left: -10%;
}


@media (max-width: 1023px) {

  .points-txt_box,
  .points-txt_box_02,
  .points-txt_box_03 {
    width: auto;
    margin-top: 12em;
  }

  .features-list_txt {
    flex: 1;
  }

  .bg-deco_blue01,
  .bg-deco_blue02,
  .bg-deco_blue03 {
    width: 60%;
  }

  .bg-deco_blue01 {
    top: max(15.2%, 67.8em);
  }

  .bg-deco_blue02 {
    left: -52%;
  }

  .bg-deco_blue03 {
    top: 61%;
    bottom: 36.5%;
  }
}

@media (max-width: 767px) {
  .bg-deco_blue01 {
    top: clamp(58.25rem, 31.165rem + 115.56vw, 86.563rem);
  }

  .bg-deco_blue02 {
    top: clamp(162.25rem, 115.016rem + 201.53vw, 211.625rem);
  }

  .points {
    padding-top: 2.85em;
  }

  .points .wrap-1200 {
    width: 100%;
  }

  .points .section-ttl {
    width: max(61.6vw, 16.4em);
    margin: 0 auto;
  }

  .points-wrap {
    width: max(94.6vw, 25.35em);
    margin: 5.7em auto 0;
  }

  .points-cont {
    flex-direction: column;
  }

  .points-img_box {
    width: max(88vw, 23.57em);
  }

  .points-diamond {
    width: 10%;
    top: 0%;
    left: 5%;
    transform: translateY(-50%);
  }

  .points-deco_01 {
    width: max(22vw, 6em);
    top: 0%;
    left: -6%;
  }

  .points-blue_mark_01 {
    width: 4em;
    top: auto;
    bottom: -6%;
    left: auto;
    right: 0;
  }

  .points-txt_box,
  .points-txt_box_02,
  .points-txt_box_03 {
    width: max(85vw, 22.8em);
    padding: 3em 2em;
  }

  .points-txt_box {
    align-self: flex-end;
    margin: -1em 0 0;
  }

  .points-txt_box_02 {
    align-self: flex-start;
    margin: -2em 0 0;
  }

  .points-txt_box_03 {
    align-self: flex-end;
    margin: -2em 0 0;
  }

  .points-cont:nth-child(2) {
    flex-direction: column-reverse;
    margin-top: 5.5em;
  }

  .points-cont:nth-child(2) .points-img_box {
    align-self: flex-end;
  }

  .points-diamond_02 {
    width: 10%;
    top: 0%;
    left: auto;
    right: 6%;
    transform: translateY(-50%);
  }

  .points-deco_02 {
    width: max(22vw, 6em);
    top: 0%;
    left: auto;
    right: -8%;
  }

  .points-blue_mark_02 {
    width: clamp(2.625rem, 1.549rem + 4.59vw, 3.75rem);
    top: auto;
    left: clamp(1.375rem, 5.87vw, 2.813rem);
  }

  .points-cont:nth-child(3) {
    flex-direction: column;
    margin-top: 8.5em;
  }

  .points-cont:nth-child(3) .points-img_box {
    align-self: flex-start;
  }

  .points-diamond_03 {
    width: 10%;
    top: 0%;
    left: auto;
    right: 6%;
    transform: translateY(-50%);
  }

  .points-deco_03 {
    width: max(22vw, 6em);
    top: 0%;
    left: -6%;
  }

  .points-blue_mark_03 {
    width: 4em;
    top: auto;
    left: auto;
    right: 0;
  }

  .features-wrap {
    margin-top: 11.5em;
    width: 90%;
  }

  .features-list_box {
    padding: 2em 2em;
    border-radius: .78em;
  }

  .features-ttl {
    width: max(91.2vw, 24.42em);
    top: 2%;
    left: 50%;
    transform: translateY(-100%) translateX(-50%);
  }

  .features-list {
    width: 100%;
    gap: 1em;
  }

  .features-list:last-of-type {
    border: none;
  }

  .features-list_icon {
    width: 1em;
    margin: 0;
  }

  .features-list_txt {
    flex: 1;
  }

  .dot_deco_right {
    width: max(14.6vw, 3.9em);
    top: auto;
    bottom: -2%;
    left: auto;
    right: -4%;
  }

  .dot_deco_left {
    width: max(14.6vw, 3.9em);
    top: -2.5%;
    left: -4.5%;
  }

  .star_right {
    width: 15%;
    top: 2%;
    left: auto;
    right: -6%;
  }

  .star_left {
    width: 15%;
    top: auto;
    bottom: 3%;
    left: -10%;
  }
}


/* ---------------------- */
/* lesson-curriculum */
/* ---------------------- */
.lesson-curriculum_bg {
  width: 100%;
  background-image: url(../image/lp/lesson-curriculum_bg.svg);
  background-size: cover;
  background-position: center;
  border-radius: 50px;
  margin-top: -2%;
}

.lesson-curriculum .section-ttl {
  width: 40%;
  margin: 0 auto;
  left: 31%;
  top: 2.5%;
}

.card-wrap {
  border-radius: 50px;
}

.card {
  border-radius: 50px;
}

.lesson-border_deco {
  width: 30%;
}

.lesson-curriculum_ttl p {
  margin: 0 1em;
}

.lesson-curriculum_table {
  border-radius: 20px;
  border: solid 1px #072026;
  overflow: hidden;
  position: relative;
}

.lesson-curriculum_table::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 26%;
  height: 100%;
  background-color: #80cbeb;
  z-index: 0;
}

.lesson-curriculum_table-row {
  position: relative;
  z-index: 1;
}

.lesson-curriculum_table-row:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 30px;
  right: 30px;
  height: 1px;
  background: #072026;
}

.lesson-curriculum_table-label {
  width: 26%;
}

.lesson-curriculum_table-content {
  padding: 1.5em 2em;
  border-left: solid 1px #072026;
  width: 74%;
}

.curriculum-logo {
  display: block;
  width: 50%;
  margin: 3em auto;
}

.curriculum-course_ttl {
  position: relative;
  background-color: #fff140;
  padding: 0.5em 4em;
  width: fit-content;
  border-radius: 60px;
  margin: 0 auto;
}

.curriculum-course_ttl::before {
  content: "";
  position: absolute;
  top: 94%;
  left: 48%;
  width: 15px;
  height: 15px;
  background: url("../image/lp/yellow-triangle.svg") no-repeat center / contain;
}

.curriculum-course__accordion-menu__wrap {
  width: 70%;
  margin-right: auto;
  margin-left: auto;
}

.curriculum-course__accordion-menu {
  margin: 0 auto 0.8em auto;
  border: 1px solid #072026;
  border-radius: 10px;
  padding-right: 1.5em;
}

.curriculum-course__accordion-menu summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 0.5em 2em 0.5em 3em;
  /* 左に丸分の余白追加 */
  color: #072026;
  cursor: pointer;
}

.curriculum-course__accordion-menu summary::-webkit-details-marker {
  display: none;
}

/* ＋アイコン（右側） */
.curriculum-course__accordion-menu summary::before,
.curriculum-course__accordion-menu summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  width: 2px;
  height: 0.8em;
  border-radius: 5px;
  background-color: #072026;
  transform: translateY(-50%);
}

/* 横棒 */
.curriculum-course__accordion-menu summary::after {
  transform: translateY(-50%) rotate(90deg);
}

/* openしたら縦棒消して「＋→－」 */
.curriculum-course__accordion-menu[open] summary::before {
  opacity: 0;
}

/* 左の丸アイコン */
.curriculum-course__accordion-menu summary .summary-inner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.2em;
  transform: translateY(-50%);
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  border: solid 1px #072026;
}

.curriculum-course__accordion-menu.icon-green summary .summary-inner::before {
  background-color: #00a29a;
}

.curriculum-course__accordion-menu.icon-pink summary .summary-inner::before {
  background-color: #ee86a8;
}

.curriculum-course__accordion-menu.icon-orange summary .summary-inner::before {
  background-color: #f39700;
}

.curriculum-course__accordion-menu.icon-purple summary .summary-inner::before {
  background-color: #757cbb;
}

.curriculum-course__accordion-menu.icon-red summary .summary-inner::before {
  background-color: #ef5959;
}

.curriculum-course__accordion-menu .accordion-menu__cont {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  color: #072026;
  transition: transform .5s, opacity .5s;
  padding-left: 1.2em;
  padding-bottom: 1.5em;
}

.curriculum-course__accordion-menu[open] .accordion-menu__cont {
  transform: none;
  opacity: 1;
}

.lesson-curriculum_diamond {
  width: 10%;
  max-width: 84px;
  left: 13%;
  top: -1.7%;
}

.lesson-curriculum_diamond__02 {
  width: 10%;
  max-width: 84px;
  left: 80%;
  top: 97.9%;
}

@media (max-width: 1023px) {
  .curriculum-course__accordion-menu__wrap {
    width: 90%;
  }
}

@media (max-width: 767px) {
  .lesson-curriculum_bg {
    background-image: url(../image/lp/lesson-curriculum_bg_sp.png);
    border-radius: 1.4em;
    margin-top: -2%;
  }

  .lesson-curriculum .section-ttl {
    width: max(79vw, 21.2em);
    left: 50%;
    top: 1.4%;
    transform: translateX(-50%);
  }

  .card-wrap {
    width: max(94vw, 25.3em);
    border-radius: 0.85em;
  }

  .lesson-curriculum__title-desc {
    padding-top: 1em;
  }

  .card-wrap .wrap-1200 .bg-white {
    border-radius: 1em;
  }

  .card {
    border-radius: 1em;
  }

  .lesson-border_deco {
    flex: 1;
  }

  .lesson-curriculum_ttl p {
    margin: 0 1em;
    width: fit-content;
  }

  .lesson-curriculum_table-wrap {
    width: auto;
    overflow-x: scroll;
  }

  .lesson-curriculum_table {
    width: max(102vw, 27.5em);
    border-radius: .78em;
    background-color: #fff;
  }

  .curriculum-logo {
    width: max(55vw, 14.8em);
  }

  .curriculum-course_ttl::before {
    top: 84%;
    left: 50%;
    transform: translateX(-50%);
  }

  .curriculum-course__accordion-menu__wrap {
    width: 100%;
  }

  .curriculum-course__accordion-menu {
    border-radius: .4em;
  }

  .curriculum-course__accordion-menu summary {
    padding: 0.7em 0em 0.7em 3em;
  }

  /* ＋アイコン（右側） */
  .curriculum-course__accordion-menu summary::before,
  .curriculum-course__accordion-menu summary::after {
    width: 1.5px;
    height: .6em;
    border-radius: 5px;
    right: 0;
  }

  .lesson-curriculum_diamond {
    width: max(10vw, 2.85em);
    left: 6%;
    top: 0;
    transform: translateY(-50%);
  }

  .lesson-curriculum_diamond__02 {
    width: max(10vw, 2.85em);
    left: 80%;
    top: 99%;
  }
}


/* ---------------------- */
/* fee */
/* ---------------------- */
.lp-fee::before {
  content: "";
  position: absolute;
  background-image: url("../image/lp/bg_beige_wave.png");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
  min-height: 2.35em;
}

.lp-fee-fv__button {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%) translateY(-80%);
}

.lp-fee .section-ttl {
  width: 26%;
  margin: 0 auto;
  left: 38%;
  top: 3%;
}

.lp-fee-cont-ttl {
  position: relative;
  border: 1px solid #072026;
  border-radius: .5em;
  padding: .8em;
  text-align: center;
}

.lp-fee-cont-ttl-circle {
  position: absolute;
  top: -10%;
  left: 7%;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #00a29a;
  border: 1px solid #072026;
}

.circle02 {
  background: #ee86a8;
}

.circle03 {
  background: #f39700;
}

.lp-fee-cont-item {
  margin-bottom: 5em;
}

.lp-fee-cont-item:last-child {
  margin-bottom: 2em;
}

.lp-fee-cont-txt {
  margin-top: 2em;
  margin-bottom: -1em;
  display: flex;
  align-items: center;
}

.lp-fee-cont-txt span {
  display: block;
  margin-right: 1em;
  width: 1em;
  height: 1px;
  background-color: #072026;
}

.lp-fee-cont-txt-line {
  width: 100%;
  height: 1px;
  background-color: #072026;
}

.lp-fee-arrow-img {
  width: 2em;
  margin: 0 auto 1em
}

.lp-fee-txt-link {
  border-bottom: 1px solid #0075c1;
  padding: 0 5px;
}

@media (max-width: 1023px) {
  .lp-fee .section-ttl {
    width: 36%;
    left: 50%;
    top: 3%;
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .lp-fee::before {
    background-image: url("../image/lp/bg_beige_wave_sp.png");
    width: 100vw;
    background-size: cover;
    min-height: 1em;
    background-repeat: repeat-x;
  }

  .lp-fee-fv__button {
    top: 1%;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    width: max(94.6vw, 25.35em);
  }

  .lp-fee-fv__button ul {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .lp-fee-fv__button .fv__btn-text {
    font-size: clamp(1.125rem, 0.609rem + 2.2vw, 3.25rem);
  }

  .lp-fee-fv__button .fv__btn-arrow {
    width: .4em !important;
  }

  .lp-fee .section-ttl {
    width: max(53vw, 14.3em);
    left: 50%;
    top: 2%;
    transform: translateX(-50%);
  }

  .lp-fee .wrap-1500 {
    width: max(94vw, 25.3em);
    border-radius: 0.85em;
  }

  .lp-fee-cont-ttl {
    border-radius: .4em;
    padding: .8em 0;
  }

  .lp-fee-cont-ttl-circle {
    width: 1em;
    height: 1em;
  }

  .lp-fee-cont-item {
    margin-bottom: 5em;
  }

  .lp-fee-cont-item span.txt-bold.ls2 {
    display: block;
    margin-top: -1.5em;
    padding-bottom: 2em;
  }

  .lp-fee-cont-item:last-child {
    margin-bottom: 2em;
  }

  .lp-fee-cont-txt {
    margin-top: 2em;
    margin-bottom: -1em;
    display: flex;
    align-items: center;
  }

  .lp-fee-cont-txt span {
    display: block;
    margin-right: 1em;
    width: 1em;
    height: 1px;
    background-color: #072026;
  }

  .lp-fee-cont-txt-line {
    width: 100%;
    height: 1px;
    background-color: #072026;
  }

  .lp-fee-arrow-img {
    width: 2em;
    margin: 0 auto 1em
  }

  .lp-fee-txt-link {
    border-bottom: 1px solid #0075c1;
    padding: 0 5px;
  }
}





/* comparison */
.comparison {
  padding-top: 15em;
}

.comparison_curve {
  top: 1px;
  left: 0;
  width: 100%;
  transform: translateY(-100%);
}

.comparison-wrap {}

.comparison__title {
  width: min(40vw, 45.4em);
  top: -5.58em;
  left: 50%;
  transform: translateX(-50%);
}

.comparison__title__point {
  width: min(15vw, 16.91em);
  top: 0;
  right: -2.7em;
  transform: translateY(-100%);
}

.comparison__table {
  padding-top: 15.3em;
}

.comparison__table table {
  table-layout: fixed;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.comparison__col {
  width: 24%;
}

.comparison__col-label {
  width: 20%;
}

.comparison__col-pygmalion {
  width: 32%;
}

.comparison__table table th,
.comparison__table table td {
  text-align: center;
  vertical-align: middle;
  padding: 1em .6em;
}

.comparison__table table {
  position: relative;
}

.comparison__table table::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 98%;
  background-color: #072026;
  top: 50%;
  right: 24%;
  transform: translateY(-50%);
}

.comparison__table tbody th {
  position: relative;
  border-left: solid 1px #072026;
}

.comparison__table tbody td {
  background-color: #fff;
}

.comparison__table tbody tr:first-child th {
  border-top: solid 1px #072026;
  border-radius: 8px 0 0 0;
  z-index: 1;
}

.comparison__table tbody tr:last-child th {
  border-bottom: solid 1px #072026;
  border-radius: 0 0 0 8px;
}

.comparison__table tbody th::after {
  position: absolute;
  content: "";
  width: 80%;
  height: 1px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  border-radius: 2px;
  background-color: #072026;
}

.comparison__table tbody tr:last-child th::after {
  display: none;
}

.comparison__table thead tr th:nth-child(3),
.comparison__table thead tr th:nth-child(4) {
  border-bottom: solid 1px #072026;
  border-top: solid 1px #072026;
}

.comparison__table thead tr th:nth-child(4) {
  border-right: solid 1px #072026;
  border-radius: 0 8px 0 0;
}

.comparison__table tbody tr:last-child td:nth-child(3),
.comparison__table tbody tr:last-child td:nth-child(4) {
  border-bottom: solid 1px #072026;
}

.comparison__table tbody tr td:nth-child(4) {
  border-right: solid 1px #072026;
  position: relative;
}

.comparison__table tbody tr td:nth-child(4)::before {
  position: absolute;
  content: "";
  width: 190%;
  height: 1px;
  background-color: #072026;
  bottom: 0;
  left: 0;
  transform: translateX(-50%);
}

.comparison__table tbody tr:last-child td:nth-child(4)::before {
  display: none;
}

.comparison__col-pygmalion__tr {
  position: relative;
  border-left: 5px solid #0075c1;
  border-right: 5px solid #0075c1;
  z-index: 1;
}

.comparison__table tbody tr td.comparison__col-pygmalion__tr {
  position: relative;
}

.comparison__table tbody tr td.comparison__col-pygmalion__tr::before {
  position: absolute;
  content: "";
  width: 80%;
  height: 2px;
  background-color: #0075c1;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.comparison__table tbody tr:last-child td.comparison__col-pygmalion__tr::before {
  display: none;
}

/* 上（ヘッダー） */
thead th.comparison__col-pygmalion__tr {
  position: relative;
  z-index: 2;
}

thead th.comparison__col-pygmalion__tr::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -5px;
  right: -5px;
  height: calc(100% + 20px);
  background: #0075c1;
  border-radius: 14px 14px 0 0;
  z-index: -1;
}

/* 下（最終行） */
tbody tr:last-child td.comparison__col-pygmalion__tr {
  position: relative;
  z-index: 2;
}

tbody tr:last-child td.comparison__col-pygmalion__tr::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: -5px;
  right: -5px;
  height: calc(100% + 18px);
  background: #fff;
  border: 5px solid #0075c1;
  border-top: none;
  border-radius: 0 0 14px 14px;
  z-index: -1;
}

.comparison__detail {
  width: 15.1em;
  top: clamp(7.688rem, 6.545rem + 1.79vw, 8.688rem);
  left: clamp(3rem, -2.643rem + 8.82vw, 7.938rem);
  z-index: 0;
}

.comparison__blue_mark {
  width: 5.6em;
  bottom: 5.8em;
  right: 0;
  transform: translateX(100%);
}

@media (max-width: 1023px) {
  .comparison {
    padding-top: 8em;
  }

  .comparison__title {
    width: 50vw;
  }

  .comparison__table {
    padding-top: 10em;
  }

  .comparison__detail {
    top: 6%;
  }
}

@media (max-width: 767px) {
  .comparison {
    padding-top: 4em;
  }

  .comparison-wrap {
    width: max(94vw, 25.3em);
    padding-bottom: 10em;
  }

  .comparison__title {
    width: max(82vw, 22em);
    top: 0;
  }

  .comparison__title__point {
    width: max(40vw, 10.9em);
    right: -1%;
  }

  .comparison__table {
    padding-top: max(40vw, 11em);
    overflow: scroll hidden;
    padding-bottom: 2em;
  }

  .comparison__table table {
    table-layout: fixed;
    width: max(134vw, 36em);
    border-collapse: separate;
    border-spacing: 0;
  }

  .comparison__col {
    width: 23%;
  }

  .comparison__col-label {
    width: 18%;
  }

  .comparison__col-pygmalion {
    width: 36%;
  }

  .comparison__table table th,
  .comparison__table table td {
    padding: 1em .1em;
  }

  .comparison__col-pygmalion__tr {
    border-left: 3px solid #0075c1;
    border-right: 3px solid #0075c1;
  }

  .comparison__table table::before {
    right: 23%;
  }

  /* 上（ヘッダー） */
  thead th.comparison__col-pygmalion__tr {
    position: relative;
    z-index: 2;
    padding: 0 0.1em .8em;
  }

  thead th.comparison__col-pygmalion__tr::before {
    top: 1px;
    left: 50%;
    right: auto;
    transform: translateY(-100%) translateX(-50%);
    width: calc(100% + 6px);
    height: .8em;
  }

  /* 下（最終行） */
  tbody tr:last-child td.comparison__col-pygmalion__tr {
    position: relative;
    z-index: 2;
  }

  tbody tr:last-child td.comparison__col-pygmalion__tr::after {
    bottom: -.8em;
    left: -3px;
    right: -3px;
    height: calc(100% + .8em);
    border: 3px solid #0075c1;
    border-top: none;
  }

  .comparison__detail {
    width: clamp(6.813rem, 2.567rem + 18.11vw, 11.25rem);
    top: clamp(6.063rem, -0.873rem + 29.59vw, 13.313rem);
    left: clamp(2.188rem, -2.177rem + 18.62vw, 6.75rem);
  }

  .comparison__blue_mark {
    width: clamp(3.5rem, 2.364rem + 4.85vw, 4.688rem);
    bottom: 4%;
    right: 0;
    transform: translateX(0);
  }
}


/* voice */
.voice {}

.voice-wrap {}

.voice__title {
  width: min(25.4vw, 28.7em);
  margin: 0 auto 5.88em;
}

.voice__cont {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 5em;
  row-gap: 4.1em;
}

.voice__cont__card {
  width: 100%;
}

.voice__cont__card__image {
  height: 16.6em;
}

.voice__cont__card__image img {
  height: 100%;
  border-radius: 14px;
}

.voice__cont__card__txt {
  position: relative;
  width: 100%;
  background-color: #fff;
  padding: 3em 2em;
  border-radius: 1.4em;
  z-index: 1;
  margin-top: -2em;
}

.voice__cont__card__txt-title {}

.voice__cont__card__txt-desc {
  text-align: justify;
  padding-top: 1em;
}

.voice__cont__card__badge {
  width: 8.82em;
  top: 7.9em;
  left: -2.6em;
  z-index: 2;
}

.voice__button {
  display: flex;
  justify-content: center;
  margin: 0;
  padding-top: 2.5rem;
  padding-top: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
}

.voice__button .fv__btn {
  width: 22em;
}

.voice__button .fv__btn-arrow {
  width: .8em;
}

.voice__detail-top,
.voice__detail-middle,
.voice__detail-bottom {
  width: min(29.6vw, 33.5em);
}

.voice__detail-top {
  top: -7.6em;
  right: -40em;
}

.voice__detail-middle {
  top: 47em;
  left: -46em;
}

.voice__detail-bottom {
  bottom: -7.6em;
  right: -40em;
}

@media (max-width: 1023px) {
  .voice-wrap {
    width: max(76%, 42em);
  }

  .voice__cont {
    gap: 2em 3em;
  }

  .voice__button .fv__btn {
    width: max(36vw, 24em);
  }

  .voice__button .fv__btn-arrow {
    width: .8em;
  }
}

@media (max-width: 767px) {
  .voice {}

  .voice-wrap {
    width: max(94vw, 25.3em);
    padding-top: max(10vw, 2.8em);
    padding-bottom: max(18vw, 4.8em);
  }

  .voice__title {
    width: max(51vw, 13.7em);
    margin: 0 auto 5em;
  }

  .voice__cont {
    width: max(76vw, 20.5em);
    margin: 0 auto;
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 3em;
  }

  .voice__cont__card__image {
    height: max(39vw, 10.4em);
  }

  .voice__cont__card__image img {
    border-radius: .6em;
  }

  .voice__cont__card__txt {
    padding: 3em 1.4em;
  }

  .voice__cont__card__txt-desc {
    padding-top: 1.6em;
  }

  .voice__cont__card__badge {
    width: max(25vw, 6.8em);
    top: 15%;
    left: -10%;
    z-index: 2;
  }

  .voice__button {
    padding-top: max(22vw, 6em);
    width: max(94.6vw, 25em);
    padding-left: 0;
  }

  .voice__button ul {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .voice__button .fv__btn-text {
    font-size: clamp(1.125rem, 0.609rem + 2.2vw, 3.25rem);
  }

  .voice__button .fv__btn-arrow {
    width: .4em;
  }

  .voice__detail-top,
  .voice__detail-middle,
  .voice__detail-bottom {
    width: max(44.8vw, 12em);
  }

  .voice__detail-top {
    top: -3%;
    right: -40%;
  }

  .voice__detail-middle {
    top: 45%;
    left: -40%;
    transform: translateY(-50%);
  }

  .voice__detail-bottom {
    display: none;
  }
}


/* faq */
.faq {}

.faq-bg {
  width: 100%;
  height: 26em;
  background-image: url("../image/lp/faq_bg.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.faq-wrap::before {
  content: "";
  position: absolute;
  background-image: url("../image/lp/faq_wave.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
  min-height: 2.35em;
}

.faq__inner__title {
  width: 28.7em;
  margin: 0 auto;
  padding-top: 3.82em;
}

.faq__inner-cont {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  padding-top: 4.2em;
}

.faq__inner-cont__item {
  width: 100%;
  border-width: 2px;
}

.faq__inner-cont__item.curriculum-course__accordion-menu {
  margin-bottom: 0;
}

.faq__inner-cont__item-q {
  display: flex !important;
  justify-content: left !important;
  gap: 2.2em;
}

.faq__inner-cont__item-a {
  display: flex;
  gap: 2.2em;
  justify-content: left;
  align-items: flex-start;
  padding: 2em 2em 1.5em 3em !important;
}

.faq__inner-cont__item-a p {
  flex: 1;
  text-align: justify;
}

.faq__inner-cont__item-a p a {
  text-decoration: underline;
}

.faq__inner-cont__item-a__icon,
.faq__inner-cont__item-q__icon {
  width: 2.4em;
}

.faq__inner-cont__item summary .summary-inner::before {
  display: none;
}

@media (max-width: 1023px) {}

@media (max-width: 767px) {
  .faq {}

  .faq-bg {
    height: max(32vw, 8.5em);
  }

  .faq-wrap::before {
    min-height: 1em;
  }

  .faq__inner__title {
    width: max(50vw, 13.5em);
    padding-top: 3.2em;
  }

  .faq__inner-cont {
    gap: 1.2em;
    padding-top: 3em;
  }

  .faq__inner-cont__item {
    border-width: 1px;
  }

  .faq__inner-cont__item-q {
    display: flex !important;
    justify-content: left !important;
    gap: 1em;
    padding: 1em !important;
  }

  .faq__inner-cont__item-q .summary-inner {
    flex: 1;
  }

  .faq__inner-cont__item-a {
    gap: 1em;
    padding: 1em !important;
  }

  .faq__inner-cont__item-a p {
    flex: 1;
    text-align: justify;
  }

  .faq__inner-cont__item-a__icon,
  .faq__inner-cont__item-q__icon {
    width: 2em;
  }

  .faq__inner-cont__item summary .summary-inner::before {
    display: none;
  }
}



/* form */
.form {
  width: 100%;
  height: auto;
  background-image: url("../image/lp/form_bg.jpg");
  background-size: 100vw;
  background-position: top center;
  background-repeat: repeat;
}

.form-wrap {
  border-radius: 2.23em;
  padding: 11.5em 0 8.8em;
  margin-bottom: 9.2em;
}

.form-title {
  width: min(33.7vw, 38.1em);
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-65%);
}

.form__cont {
  width: 80%;
  margin: 0 auto;
}

.form__cont__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4em;
}

.form__cont__nav__tab {
  text-align: center;
  padding: .6em;
  width: 40%;
  border-radius: 10px 10px 0 0;
}

.form__cont__panels {
  width: 100%;
  border-radius: 1.17em;
}

.form__cont__panel {
  padding: 0 min(5vw, 6.2em);
  display: none;
}

.form__cont__panel.is-active {
  display: block;
}

.form__cont__nav__tab.is-active {}

.form__cont__panel__title {
  margin-bottom: 2.2em;
}

.form__cont__panel__title span {
  border-bottom: solid 1px #072026;
}

.form__cont__panel dl {
  margin-bottom: 2.3em;
}

.form__cont__panel .asterisk {
  position: relative;
}

.form__cont__panel .asterisk::before {
  position: absolute;
  content: "※";
  color: #ef0000;
  font-size: clamp(0.75rem, 0.704em + 0.19vw, 0.938rem);
  top: -.2em;
  right: -1.2em;
}

.form__cont__panel .under-arrow span {
  position: relative;
}

.form__cont__panel .under-arrow span::after {
  position: absolute;
  content: "";
  background-image: url("../image/lp/under-arrow.svg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 12px;
  height: 6px;
  top: 60%;
  right: 1em;
  transform: translateY(-50%);
}

.form__cont__panel-field input,
.form__cont__panel-field textarea {
  width: 100%;
  background-color: #fff;
  border-radius: .5em;
  padding: .6em 1em;
}

.wpcf7-not-valid-tip,
.wpcf7-response-output {
  display: inline-block;
  font-size: clamp(0.625rem, 0.579rem + 0.19vw, 0.813rem);
  letter-spacing: 0.1em;
  line-height: 2;
  color: #ef0000;
}

.screen-reader-response {
  display: none;
}

.form__cont__panel-field textarea {
  height: clamp(10em, 8em + 2vw, 14em);
  resize: vertical;
}

.form__cont__panel-field select {
  background-color: #fff;
  border-radius: .5em;
  padding: .6em 1em;
  width: 14.7em;
}

.form__cont__panel-field select {
  position: relative;
}

.form__cont__panel-field select::after {
  content: "";
  position: absolute;
  background-image: url("../image/lp/under-arrow.svg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: .6em;
  height: .4em;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.form__cont__panel-flex .flex {
  gap: 1em;
}

.form__cont__panel-field__flex input {
  width: 100%;
  background-color: #fff;
  padding: .6em 1em;
  border-radius: .5em;
}

.form__cont__panel .wpcf7-checkbox input,
.form__cont__panel .wpcf7-radio input {
  -webkit-appearance: none;
  appearance: none;
  opacity: 0;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
}

.form__cont__panel dl input {
  display: block !important;
  margin: 0 !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 0;
  width: 100% !important;
  padding: .6em 1em !important;
  border-radius: .5em !important;
}

.wpcf7-checkbox input,
.wpcf7-radio input {
  position: absolute;
  opacity: 0;
}

.wpcf7-checkbox .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: .6em;
}

.wpcf7-checkbox {
  display: flex;
  flex-direction: column;
}

.wpcf7-radio .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: .6em;
}

.wpcf7-list-item-label {
  position: relative;
  padding-left: 1.5em;
  cursor: pointer;
}

.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1px solid #ef5959;
  border-radius: 50%;
}

.wpcf7-checkbox input:checked+.wpcf7-list-item-label::before,
.wpcf7-radio input:checked+.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1px solid #ef5959;
  border-radius: 50%;
}

.wpcf7-checkbox input:checked+.wpcf7-list-item-label::after,
.wpcf7-radio input:checked+.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-color: #ef5959;
  border-radius: 50%;
}

.wpcf7-radio {
  display: flex;
  align-items: center;
  gap: 2.2em;
}

.form__cont__panel-field__ul {
  display: flex;
  flex-direction: column;
  gap: .8em;
  padding-top: 1.2em;
}

.submit .wpcf7-submit {
  display: block;
  width: 14.58em;
  margin: 0 auto;
  text-align: center;
  border-radius: .5em;
  background-color: #0075c1;
  padding: .6em 1em;
  font-size: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
  line-height: 2;
  font-weight: 700;
  color: #fff;
  letter-spacing: .2em;
}

@media (max-width: 1023px) {
  .form__cont__nav {
    gap: 2em;
  }

  .form__cont__panel {
    padding: 0 3em;
  }
}

@media (max-width: 767px) {
  .form {
    background-image: url("../image/lp/form_bg_sp.png");
    background-repeat: repeat;
  }

  .form-wrap {
    width: max(94vw, 25.3em);
    border-radius: .8em;
    padding-top: max(28.2vw, 7.5em);
    padding-bottom: max(22vw, 5.9em);
    margin-bottom: 9em;
  }

  .form-title {
    width: max(69.3vw, 18.5em);
  }

  .form__cont {
    width: 90%;
  }

  .form__cont__nav {
    gap: 5%;
  }

  .form__cont__nav__tab {
    padding: .6em;
    width: max(34.6vw, 9.2em);
    border-radius: .5em .5em 0 0;
  }

  .form__cont__panel {
    padding: 0 1.4em;
  }

  .form__cont__panel__title {
    margin-bottom: 2em;
  }

  .form__cont__panel dl {
    margin-bottom: 2em;
  }

  .form__cont__panel .under-arrow span {
    position: relative;
  }

  .form__cont__panel .under-arrow span::after {
    width: .83em;
  }

  .wpcf7-not-valid-tip,
  .wpcf7-response-output {
    display: inline-block;
    font-size: clamp(0.625rem, 0.579rem + 0.19vw, 0.813rem);
    letter-spacing: 0.1em;
    line-height: 2;
    color: #ef0000;
  }

  .form__cont__panel-field select {
    background-color: #fff;
    border-radius: .5em;
    padding: .6em 1em;
    width: 14.7em;
  }

  .form__cont__panel-field select {
    position: relative;
  }

  .form__cont__panel-field select::after {
    content: "";
    position: absolute;
    background-image: url("../image/lp/under-arrow.svg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: .6em;
    height: .4em;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .form__cont__panel-flex .flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 1em;
  }

  .form__cont__panel-field__flex {
    width: 100%;
  }

  .form__cont__panel-field__flex input {
    width: 100%;
  }

  .form__cont__panel-field textarea {
    height: max(18.8em);
    resize: vertical;
  }

  .form__cont__panel-field select {
    width: 100%;
  }

  .submit {
    margin-top: 4em;
  }

  .submit .wpcf7-submit {
    display: block;
    width: max(51.2vw, 13.7em);
    margin: 0 auto;
    text-align: center;
    border-radius: .3em;
    background-color: #0075c1;
    padding: 1em;
    font-size: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
    line-height: 2;
    font-weight: 700;
    color: #fff;
    letter-spacing: .2em;
  }
}


/* footer */
.lp-footer-top__detail {
  width: 100%;
  top: 1px;
  left: 0;
  transform: translateY(-100%);
}

.lp-footer-logo {
  width: 18.8em;
  top: -5em;
  left: 50%;
  transform: translateX(-50%);
}

.lp-footer-wrap {
  padding-bottom: 4em;
}

.lp-footer__txt__number,
.lp-footer__txt__url {
  padding-top: .6em;
}

.page-top {
  width: min(8vw, 9.4em);
  top: 0;
  right: 16%;
  transform: translateY(-100%);
}

@media (max-width: 1023px) {}

@media (max-width: 767px) {
  .lp-footer-logo {
    width: max(58.1vw, 15.5em);
    top: 16%;
    left: 50%;
    transform: translateX(-50%);
  }

  .lp-footer-wrap {
    padding-top: max(20vw, 7em);
    padding-bottom: 3em;
  }

  .page-top {
    width: max(19.7vw, 5.2em);
    right: 2%;
  }
}


/* CTA */
.cta {
  position: fixed;
  top: 3em;
  right: 0;
  z-index: 999;
  /* FVまでは非表示 */
  visibility: hidden;
  pointer-events: none;
  transform: translateX(13.64em);
  transition: opacity .6s ease, transform .6s ease, visibility .6s;
}

.cta.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.cta-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.1em;
}

.cta__blue {
  width: 13.64em;
  padding: 1em 2em;
  border-radius: 1.4em 0 0 1.4em;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta__blue__copy::before,
.cta__blue__copy::after {
  content: "";
  position: absolute;
  width: 2px;
  height: .8em;
  border-radius: 2px;
  background-color: #fff;
  top: 50%;
  transform: ;
}

.cta__blue__copy::before {
  transform: translateY(-40%) rotate(-30deg);
  left: -.6em;
}

.cta__blue__copy::after {
  transform: translateY(-40%) rotate(30deg);
  right: -.6em;
}

.cta__blue__txt {
  width: 8.23em;
  margin-bottom: .6em;
}

.cta__blue__img {
  width: 1.4em;
}

.cta__red {
  width: 12em;
  padding: 2em 2em;
  border-radius: 1.4em 0 0 1.4em;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta__red__txt {
  width: 8.29em;
  margin-bottom: .4em;
}

.cta__red__img {
  width: 1.6em;
}

@media (max-width: 1023px) {}

@media (max-width: 767px) {

  /* CTA */
  .cta {
    top: 3em;
    transform: translateX(8vw);
  }

  .cta-wrap {
    gap: .4em;
  }

  .cta__blue {
    width: max(8vw, 3em);
    padding: 1em 1em .4em;
    border-radius: .6em 0 0 .6em;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: .5em;
  }

  .cta__blue__txt {
    width: max(3.4vw, 1em);
    margin-bottom: .6em;
  }

  .cta__blue__img {
    width: max(2vw, .7em);
  }

  .cta__blue__fukidashi {
    z-index: 2;
    left: -20%;
    top: -2%;
    width: max(1.9vw, 6em);
    transform: translateX(-50%);
  }

  .cta__red {
    width: max(8vw, 3em);
    padding: .4em 1em;
    border-radius: .6em 0 0 .6em;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: .3em;
  }

  .cta__red__txt {
    width: max(3.4vw, 1em);
    margin-bottom: .6em;
  }

  .cta__red__img {
    width: max(2.8vw, 1em);
    margin-bottom: .2em;
  }
}



@media (max-width: 1023px) {}

@media (max-width: 767px) {}