.pc_LL_display {
  display: none;
}
@media screen and (max-width: 1600px) {
  .pc_LL_display {
    display: block;
  }
}

.pc_L_display {
  display: none;
}
@media screen and (max-width: 1400px) {
  .pc_L_display {
    display: block;
  }
}

.pc_M_display {
  display: none;
}
@media screen and (max-width: 1200px) {
  .pc_M_display {
    display: block;
  }
}

.pc_S_display {
  display: none;
}
@media screen and (max-width: 1000px) {
  .pc_S_display {
    display: block;
  }
}

.tab_display {
  display: none;
}
@media screen and (max-width: 800px) {
  .tab_display {
    display: block;
  }
}

.sp_LL_display {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp_LL_display {
    display: block;
  }
}

.sp_L_display {
  display: none;
}
@media screen and (max-width: 460px) {
  .sp_L_display {
    display: block;
  }
}

.sp_ML_display {
  display: none;
}
@media screen and (max-width: 400px) {
  .sp_ML_display {
    display: block;
  }
}

.sp_M_display {
  display: none;
}
@media screen and (max-width: 375px) {
  .sp_M_display {
    display: block;
  }
}

.sp_S_display {
  display: none;
}
@media screen and (max-width: 350px) {
  .sp_S_display {
    display: block;
  }
}

body {
  width: 100%;
  overflow-x: hidden;
  background-color: rgba(255, 219, 219, 0.2);
  font-family: "dnp-shuei-mgothic-std", sans-serif;
  font-weight: 400;
}

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

a {
  text-decoration: none;
}

.section_title {
  margin-bottom: 20px;
}
@media screen and (max-width: 600px) {
  .section_title {
    margin-bottom: 12px;
  }
}
.section_title h2 {
  font-family: "Aboreto", system-ui;
  color: #EE656B;
  font-size: 18px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 15px;
}
@media screen and (max-width: 600px) {
  .section_title h2 {
    margin: 0 auto 12px;
  }
}
.section_title span {
  display: block;
  width: 1px;
  height: 25px;
  background-color: #EE656B;
  margin: 0 auto;
}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

.scrollin {
  opacity: 1;
  transform: translateY(0);
}

.animation_dokundokun {
  animation: dokundokun 1300ms ease infinite;
}

@keyframes dokundokun {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.1);
  }
  40% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
/*--------------- mv ---------------*/
.mv {
  position: relative;
}

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

.mv_sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .mv_sp {
    display: block;
  }
}

.mv_bg {
  width: 86%;
  margin-left: auto;
}

.mv_main {
  position: absolute;
  width: 46vw;
  top: 50%;
  transform: translateY(-50%);
  left: 3.4vw;
}
@media screen and (max-width: 600px) {
  .mv_main {
    display: none;
  }
}

.mv_right {
  width: 30vw;
  position: absolute;
  top: 5.4vw;
  right: 9vw;
}
@media screen and (max-width: 600px) {
  .mv_right {
    display: none;
  }
}

/*--------------- present ---------------*/
.present {
  width: 100%;
  overflow-x: hidden;
  padding: 80px 0;
}
@media screen and (max-width: 600px) {
  .present {
    padding: 60px 0;
  }
}

.present_heading {
  font-size: max(2.1vw, 21px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  text-align: center;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .present_heading {
    margin: 0 auto 32px;
  }
}
.present_heading .pink_txt {
  color: #EE656B;
}
.present_heading .big_txt {
  font-size: max(2.4vw, 24px);
}
@media screen and (max-width: 600px) {
  .present_heading .sp_LL_hidden {
    display: none;
  }
}

.present_swiper .swiper-wrapper {
  transition-timing-function: linear;
}

.present_swiper .swiper-slide {
  padding: 0 8px !important;
}
.present_swiper .swiper-slide span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 4px;
  font-size: 20px;
  font-weight: 500;
}

.present_content {
  position: relative;
  padding-top: 54px;
}
@media screen and (max-width: 600px) {
  .present_content {
    padding-top: 32px;
  }
}

.present_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.present_swiper {
  position: relative;
  z-index: 5;
}

/*--------------- intro ---------------*/
.intro {
  position: relative;
  padding-bottom: 60px;
}
@media screen and (max-width: 600px) {
  .intro {
    padding-bottom: 24px;
  }
}

.intro_wrap {
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width: 600px) {
  .intro_wrap {
    margin-bottom: 40px;
  }
}

.intro_img {
  width: 44vw;
  position: absolute;
  bottom: 3.2vw;
  left: 48vw;
}
@media screen and (max-width: 800px) {
  .intro_img {
    width: 100%;
    position: static;
    margin: 0 auto;
    max-width: 500px;
  }
}

.intro_content {
  background-color: #fff;
  width: 57vw;
  padding: 40px 3.6vw 40px 0;
  box-shadow: 0 0 25px rgba(228, 189, 189, 0.6);
  border-top-right-radius: 1.4vw;
  border-bottom-right-radius: 1.4vw;
}
@media screen and (max-width: 800px) {
  .intro_content {
    width: 97%;
    padding: 40px 0;
    box-shadow: 0 0 8px rgba(228, 189, 189, 0.6);
  }
}

.intro_txt {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 800px) {
  .intro_txt {
    margin: 0 auto;
  }
}

.intro_heading {
  font-size: max(2.1vw, 20px);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .intro_heading {
    margin-bottom: 24px;
  }
}
.intro_heading span {
  font-weight: 600;
  color: #EE656B;
}

.intro_message {
  line-height: 1.9;
  font-size: 16px;
}

.intro_bottom_heading {
  font-size: max(2.1vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin: 0 auto 48px;
}
@media screen and (max-width: 600px) {
  .intro_bottom_heading {
    margin: 0 auto 24px;
  }
}
.intro_bottom_heading span {
  font-weight: 600;
  color: #EE656B;
}

.intro_bottom_heading::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 76px;
  background-image: url(../img-lp2/into_bottom_left.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  left: -48px;
}
@media screen and (max-width: 800px) {
  .intro_bottom_heading::before {
    width: 10px;
    height: 54px;
    left: -32px;
  }
}
@media screen and (max-width: 600px) {
  .intro_bottom_heading::before {
    width: 14px;
    height: 82px;
  }
}

.intro_bottom_heading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 76px;
  background-image: url(../img-lp2/into_bottom_right.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  right: -48px;
}
@media screen and (max-width: 800px) {
  .intro_bottom_heading::after {
    width: 10px;
    height: 54px;
    right: -32px;
  }
}
@media screen and (max-width: 600px) {
  .intro_bottom_heading::after {
    width: 14px;
    height: 82px;
  }
}

.intro_bottom_txt {
  text-align: center;
  line-height: 1.9;
}

/*--------------- question ---------------*/
.question {
  padding-bottom: 120px;
}
@media screen and (max-width: 600px) {
  .question {
    padding-bottom: 80px;
  }
}

.question_top {
  background-image: url(../img-lp2/question_bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 120px 0 180px;
}
@media screen and (max-width: 600px) {
  .question_top {
    background-image: url(../img-lp2/question_bg_sp.webp);
    padding: 80px 0;
  }
}

.question_heading {
  font-size: max(2.1vw, 21px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .question_heading {
    margin: 0 auto 32px;
  }
}

.question_content {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  justify-content: center;
  margin: 0 auto;
  gap: 1vw;
}
@media screen and (max-width: 800px) {
  .question_content {
    flex-direction: column;
    gap: 24px;
  }
}

.question_img {
  width: 44vw;
}
@media screen and (max-width: 800px) {
  .question_img {
    width: 100%;
    max-width: 500px;
    order: 2;
  }
}

.question_txt {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 800px) {
  .question_txt {
    margin: 0 auto;
    max-width: 94%;
  }
}

.question_list {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 25px rgba(228, 189, 189, 0.6);
  margin-bottom: 32px;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 600px) {
  .question_list {
    box-shadow: 0 0 8px rgba(228, 189, 189, 0.6);
  }
}

.question_item {
  padding-left: 20px;
  position: relative;
  margin-bottom: 16px;
}
.question_item:last-child {
  margin-bottom: 0;
}
.question_item::after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background-color: #F4B4B4;
}

.question_message {
  font-size: 16px;
  line-height: 1.9;
  padding-left: 32px;
}

.question_bottom_heading {
  background-color: #fff;
  padding: 40px 60px;
  border-radius: 10px;
  box-shadow: 0 0 25px rgba(228, 189, 189, 0.6);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .question_bottom_heading {
    padding: 32px 0;
    width: 94%;
    margin: 0 auto 32px;
    box-shadow: 0 0 8px rgba(228, 189, 189, 0.6);
  }
}

.question_bottom_arrow {
  position: absolute;
  width: 7px;
  top: -110px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
  .question_bottom_arrow {
    width: 5.4px;
    top: -80px;
  }
}

.question_bottom_heading p {
  font-size: 16px;
  text-align: center;
  line-height: 2;
}
.question_bottom_heading p span {
  font-size: max(2vw, 20px);
}

.question_bottom_bubble {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 20px;
  font-size: 18px;
  color: #EE656B;
  position: relative;
  font-weight: 700;
}
.question_bottom_bubble::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 28px;
  border-radius: 100px;
  background-color: #F4B4B4;
  top: 50%;
  transform: translateY(-50%) rotate(-16deg);
  left: -16px;
}
.question_bottom_bubble::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 28px;
  border-radius: 100px;
  background-color: #F4B4B4;
  top: 50%;
  transform: translateY(-50%) rotate(16deg);
  right: -16px;
}

.question_bottom_message {
  text-align: center;
  line-height: 1.9;
  font-size: 16px;
}
.question_bottom_message p span {
  background: linear-gradient(transparent 60%, #FFED91 60%);
}

/*--------------- reason ---------------*/
.reason {
  padding-bottom: 140px;
}
@media screen and (max-width: 600px) {
  .reason {
    padding-bottom: 80px;
  }
}

.reason_heading {
  font-size: max(2.1vw, 21px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .reason_heading {
    margin: 0 auto 32px;
  }
}

.reason_top {
  display: flex;
  align-items: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 70px;
  padding-left: 4vw;
}
@media screen and (max-width: 800px) {
  .reason_top {
    flex-direction: column;
    padding-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .reason_top {
    margin: 0 auto 40px;
  }
}

.reason_top_txt {
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 800px) {
  .reason_top_txt {
    margin: 0 auto 24px;
    max-width: 94%;
  }
}

.reason_top_txt p {
  line-height: 1.9;
  font-size: 16px;
}
@media screen and (max-width: 600px) {
  .reason_top_txt p {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.reason_top_txt p:nth-child(1) {
  margin-bottom: 48px;
}
@media screen and (max-width: 600px) {
  .reason_top_txt p:nth-child(1) {
    margin-bottom: 24px;
  }
}

.reason_list {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 25px rgba(228, 189, 189, 0.6);
  margin-bottom: 48px;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 600px) {
  .reason_list {
    box-shadow: 0 0 8px rgba(228, 189, 189, 0.6);
    margin-bottom: 24px;
  }
}

.reason_item {
  padding-left: 20px;
  position: relative;
  margin-bottom: 16px;
}
.reason_item:last-child {
  margin-bottom: 0;
}
.reason_item::after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background-color: #F4B4B4;
}

.reason_top_img {
  width: 44vw;
  position: relative;
  top: -2vw;
  left: -2vw;
}
@media screen and (max-width: 800px) {
  .reason_top_img {
    width: 100%;
    max-width: 500px;
    margin-bottom: 32px;
    position: static;
  }
}

.reason_middle {
  position: relative;
  width: 100%;
  margin-bottom: 110px;
}
@media screen and (max-width: 600px) {
  .reason_middle {
    margin-bottom: 40px;
  }
}

.reason_middle img {
  width: max(58vw, 820px);
}
@media screen and (max-width: 800px) {
  .reason_middle img {
    width: 100%;
    max-width: 500px;
    margin-bottom: 32px;
  }
}

.reason_middle_txt {
  width: 370px;
  font-size: 16px;
  line-height: 1.9;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 21vw;
}
@media screen and (max-width: 1400px) {
  .reason_middle_txt {
    right: 10vw;
  }
}
@media screen and (max-width: 800px) {
  .reason_middle_txt {
    position: static;
    transform: none;
    width: 94%;
    max-width: 500px;
    margin: 0 auto;
  }
}

.reason_bottom_bubble {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  font-size: 18px;
  color: #EE656B;
  position: relative;
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 600px) {
  .reason_bottom_bubble {
    margin: 0 auto 24px;
  }
}
.reason_bottom_bubble::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 28px;
  border-radius: 100px;
  background-color: #F4B4B4;
  bottom: 0;
  transform: rotate(-16deg);
  left: -24px;
}
.reason_bottom_bubble::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 28px;
  border-radius: 100px;
  background-color: #F4B4B4;
  bottom: 0;
  transform: rotate(16deg);
  right: -24px;
}

.reason_bottom_img {
  width: 74vw;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  .reason_bottom_img {
    width: 100%;
  }
}

/*--------------- benefit ---------------*/
.benefit {
  padding-bottom: 120px;
}
@media screen and (max-width: 600px) {
  .benefit {
    padding-bottom: 80px;
  }
}

.benefit_heading {
  font-size: max(2.1vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin: 0 auto 48px;
}
@media screen and (max-width: 600px) {
  .benefit_heading {
    margin: 0 auto 24px;
  }
}
.benefit_heading span {
  font-weight: 600;
  color: #EE656B;
}
.benefit_heading span span {
  font-size: max(2.7vw, 26px);
}
@media screen and (max-width: 350px) {
  .benefit_heading span span {
    font-size: 24px;
  }
}

.benefit_heading::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 76px;
  background-image: url(../img-lp2/into_bottom_left.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  left: -48px;
}
@media screen and (max-width: 800px) {
  .benefit_heading::before {
    width: 16px;
    height: 124px;
    left: -32px;
  }
}
@media screen and (max-width: 375px) {
  .benefit_heading::before {
    left: -24px;
  }
}
@media screen and (max-width: 350px) {
  .benefit_heading::before {
    left: -16px;
  }
}

.benefit_heading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 76px;
  background-image: url(../img-lp2/into_bottom_right.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  right: -48px;
}
@media screen and (max-width: 800px) {
  .benefit_heading::after {
    width: 16px;
    height: 124px;
    right: -32px;
  }
}
@media screen and (max-width: 375px) {
  .benefit_heading::after {
    right: -24px;
  }
}
@media screen and (max-width: 350px) {
  .benefit_heading::after {
    right: -16px;
  }
}

.benefit_message {
  line-height: 1.9;
  font-size: 16px;
  text-align: center;
}
.benefit_message .pink_txt {
  color: #EE656B;
  font-weight: 700;
}
.benefit_message .pink_txt span {
  font-size: 20px;
}

.yellow_bg {
  background: linear-gradient(transparent 60%, #FFED91 60%);
}

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

.benefit_img_sp {
  display: none;
}
@media screen and (max-width: 800px) {
  .benefit_img_sp {
    display: block;
    margin: 16px 0;
  }
}

/*--------------- point ---------------*/
.point_wrap {
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width: 600px) {
  .point_wrap {
    margin-bottom: 40px;
  }
}

.point_img {
  width: 44vw;
  position: absolute;
  bottom: 3.2vw;
  left: 48vw;
}
@media screen and (max-width: 800px) {
  .point_img {
    width: 100%;
    position: static;
    margin: 0 auto;
    max-width: 500px;
  }
}

.point_content {
  background-color: #fff;
  width: 57vw;
  padding: 40px 10vw 40px 0;
  box-shadow: 0 0 25px rgba(228, 189, 189, 0.6);
  border-top-right-radius: 1.4vw;
  border-bottom-right-radius: 1.4vw;
}
@media screen and (max-width: 800px) {
  .point_content {
    width: 97%;
    padding: 40px 0;
    box-shadow: 0 0 8px rgba(228, 189, 189, 0.6);
  }
}

.point_txt {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 800px) {
  .point_txt {
    margin: 0 auto;
  }
}

.point_heading {
  font-size: max(2.1vw, 20px);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .point_heading {
    margin-bottom: 24px;
  }
}
.point_heading span {
  font-weight: 600;
  color: #EE656B;
}

.point_message {
  line-height: 1.9;
  font-size: 16px;
}

.point_attention {
  position: relative;
  padding-top: 50px;
  margin-bottom: 32px;
}

.point_attention span:nth-child(1) {
  font-family: "Aboreto", system-ui;
  font-size: 115px;
  background: linear-gradient(90deg, #EE656B 0%, #F4B4B4 50%, #EE656B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.2;
  position: absolute;
  top: 0;
  left: -16px;
}
@media screen and (max-width: 600px) {
  .point_attention span:nth-child(1) {
    font-size: 85px;
    left: -12px;
  }
}
.point_attention span:not(.point_attention span:nth-child(1)) {
  color: #fff;
  font-size: 16px;
  line-height: 1.9;
  display: block;
  padding: 0 16px;
  background-color: #F4B4B4;
  margin-bottom: 6px;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 600px) {
  .point_attention span:not(.point_attention span:nth-child(1)) {
    padding: 0 8px;
  }
}

/*--------------- contents ---------------*/
.contents {
  padding-bottom: 60px;
  position: relative;
}

.contents_bg {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
}

.contents_heading {
  font-size: max(2.1vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin: 0 auto 48px;
}
@media screen and (max-width: 600px) {
  .contents_heading {
    margin: 0 auto 24px;
  }
}
.contents_heading span {
  font-weight: 600;
  color: #EE656B;
}
.contents_heading span span {
  font-size: max(2.7vw, 26px);
}

.contents_heading::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 76px;
  background-image: url(../img-lp2/into_bottom_left.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  left: -48px;
}
@media screen and (max-width: 800px) {
  .contents_heading::before {
    width: 10px;
    height: 54px;
    left: -32px;
  }
}
@media screen and (max-width: 600px) {
  .contents_heading::before {
    width: 14px;
    height: 64px;
  }
}

.contents_heading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 76px;
  background-image: url(../img-lp2/into_bottom_right.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  right: -48px;
}
@media screen and (max-width: 800px) {
  .contents_heading::after {
    width: 10px;
    height: 54px;
    right: -32px;
  }
}
@media screen and (max-width: 600px) {
  .contents_heading::after {
    width: 14px;
    height: 64px;
  }
}

.contents_list {
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  margin: 0 auto;
  padding: max(2.1vw, 24px);
  border: 1px solid #F4B4B4;
  box-shadow: 0 0 25px rgba(228, 189, 189, 0.6);
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 600px) {
  .contents_list {
    box-shadow: 0 0 8px rgba(228, 189, 189, 0.6);
    width: 94%;
    padding: 18px 16px;
  }
}
@media screen and (max-width: 375px) {
  .contents_list {
    padding: 18px 12px;
  }
}

.contents_item {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 10px;
  margin-bottom: 16px;
}
@media screen and (max-width: 600px) {
  .contents_item {
    grid-template-columns: 40px 1fr;
    gap: 8px;
  }
}
.contents_item:last-child {
  margin-bottom: 0;
}

.contents_item_num {
  display: block;
  width: 100%;
  height: auto;
  background-color: #F4B4B4;
  padding: 12px 0 16px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0 100%);
}

.contents_item_num span {
  display: block;
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.contents_item_num span:nth-child(1) {
  font-size: 14px;
  margin: 0 auto 4px;
}
.contents_item_num span:nth-child(2) {
  font-size: 24px;
}
@media screen and (max-width: 600px) {
  .contents_item_num span:nth-child(2) {
    font-size: 20px;
  }
}

.contents_item_txt {
  display: flex;
  align-items: center;
  padding: 0 20px;
  border-bottom: 2px dashed #EE656B;
}
@media screen and (max-width: 600px) {
  .contents_item_txt {
    padding: 0 10px;
  }
}
@media screen and (max-width: 375px) {
  .contents_item_txt {
    padding: 0 4px;
  }
}

.contents_item_txt span {
  font-weight: 700;
  font-size: 20px;
}
@media screen and (max-width: 800px) {
  .contents_item_txt span {
    font-size: 18px;
  }
}
@media screen and (max-width: 600px) {
  .contents_item_txt span {
    line-height: 1.5;
  }
}
.contents_item_txt span .pink_txt {
  color: #EE656B;
}
.contents_item_txt span .big_txt {
  font-size: 24px;
}
@media screen and (max-width: 800px) {
  .contents_item_txt span .big_txt {
    font-size: 20px;
  }
}

/*--------------- flow ---------------*/
.flow {
  padding: 68px 0;
  background-color: #fff;
}

.flow_heading {
  text-align: center;
  font-size: max(2.1vw, 20px);
  margin: 0 auto 48px;
}

.flow_message {
  text-align: center;
  line-height: 1.9;
  margin-bottom: 48px;
}

/*--------------- cta ---------------*/
@media screen and (max-width: 600px) {
  .cta-bottom {
    padding-bottom: 60px;
  }
}

.cta_top {
  font-size: 24px;
  font-weight: 700;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 54px;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .cta_top {
    font-size: 22px;
    margin: 0 auto 42px;
    line-height: 1.5;
  }
}

.cta_wrap {
  padding: 64px 0 120px;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .cta_wrap {
    padding: 40px 0 60px;
  }
}

.cta_content {
  background-image: url(../img-lp2/cta_bg.webp);
  background-size: cover;
  background-position: center;
  width: 1040px;
  margin: 0 auto;
  border-radius: 1vw;
  padding: 44px 0 20px;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .cta_content {
    width: 82vw;
  }
}
@media screen and (max-width: 600px) {
  .cta_content {
    width: 94%;
    border-radius: 8px;
    padding: 40px 0 16px;
  }
}

.cta_heading {
  position: absolute;
  top: -16px;
  left: 0;
  width: 100%;
}

.cta_heading_txt {
  font-size: 24px;
  display: block;
  background-color: #F4B4B4;
  border-radius: 100px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 20px 4px 24px;
  margin: 0 auto;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .cta_heading_txt {
    font-size: 20px;
  }
}
.cta_heading_txt span {
  font-size: 30px;
}
@media screen and (max-width: 600px) {
  .cta_heading_txt span {
    font-size: 24px;
  }
}

.cta_bubble {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 20px;
  font-size: 24px;
  color: #EE656B;
  position: relative;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .cta_bubble {
    font-size: 21px;
    line-height: 1.4;
  }
}
.cta_bubble::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 32px;
  border-radius: 100px;
  background-color: #EE656B;
  top: 50%;
  transform: translateY(-50%) rotate(-16deg);
  left: -24px;
}
@media screen and (max-width: 600px) {
  .cta_bubble::before {
    transform: rotate(-16deg);
    top: auto;
    bottom: 0;
  }
}
.cta_bubble::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 32px;
  border-radius: 100px;
  background-color: #EE656B;
  top: 50%;
  transform: translateY(-50%) rotate(16deg);
  right: -24px;
}
@media screen and (max-width: 600px) {
  .cta_bubble::after {
    transform: rotate(16deg);
    top: auto;
    bottom: 0;
  }
}

.cta_btn {
  display: block;
  font-weight: 700;
  color: #fff;
  font-size: 24px;
  padding: 16px 60px 16px 42px;
  border-radius: 100px;
  border: 3px solid #fff;
  background: linear-gradient(180deg, #F4B4B4 0%, #FF3740 100%);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 24px;
  position: relative;
  transition: all 0.3s;
}
@media screen and (max-width: 600px) {
  .cta_btn {
    font-size: 20px;
    padding: 12px 60px 12px 42px;
  }
}
.cta_btn:hover {
  opacity: 0.6;
}

.cta_btn_arrow {
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  right: 24px;
}

.cta_note {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  margin: 0 auto;
  font-size: 14px;
}

/*--------------- future ---------------*/
.future {
  padding: 50px 0;
}

.future_heading {
  font-size: max(2.1vw, 21px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 72px;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .future_heading {
    margin: 0 auto 48px;
  }
}

.future_inner {
  width: 1040px;
  background-color: #fff;
  margin: 0 auto 72px;
  padding: 85px 0 45px;
  position: relative;
  border-radius: 16px;
}
@media screen and (max-width: 1200px) {
  .future_inner {
    width: 82vw;
  }
}
@media screen and (max-width: 600px) {
  .future_inner {
    width: 100%;
    padding: 54px 0 32px;
    margin: 0 auto 48px;
  }
}
.future_inner:last-child {
  margin-bottom: 0;
}

.future_top {
  position: absolute;
  top: -16px;
  left: 0;
  width: 100%;
}

.future_top_txt {
  font-size: 24px;
  display: block;
  background-color: #F4B4B4;
  border-radius: 100px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 24px 10px 24px;
  margin: 0 auto;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .future_top_txt {
    font-size: 18px;
    padding: 7px 12px 8px 12px;
  }
}
.future_top_txt span {
  font-size: 30px;
}
@media screen and (max-width: 600px) {
  .future_top_txt span {
    font-size: 20px;
  }
}

.future_list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
}

.future_item {
  width: 270px;
  background-color: #fff;
  border: 1px solid #EE656B;
  border-radius: 10px;
  padding: 50px 0 40px;
}
@media screen and (max-width: 600px) {
  .future_item {
    width: 94%;
    padding: 20px 0 20px;
  }
}
.future_item h4 {
  font-size: 18px;
  text-align: center;
  color: #EE656B;
  font-weight: 700;
  text-decoration: underline;
  height: 100px;
  line-height: 1.4;
}
@media screen and (max-width: 600px) {
  .future_item h4 {
    height: auto;
    margin-bottom: 16px;
  }
}
.future_item p {
  padding: 0 20px;
  font-size: 15px;
  line-height: 1.9;
}

.future_bottom {
  position: relative;
  margin-top: 60px;
}
@media screen and (max-width: 600px) {
  .future_bottom {
    margin-top: 40px;
  }
}

.future_bottom_wrap {
  width: 1040px;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .future_bottom_wrap {
    width: 82vw;
  }
}
@media screen and (max-width: 800px) {
  .future_bottom_wrap {
    width: 100%;
  }
}

.future_bottom_img {
  width: 56.5vw;
  margin-left: auto;
}
@media screen and (max-width: 600px) {
  .future_bottom_img {
    width: 100%;
    margin-bottom: 24px;
  }
}

.future_bottom_txt {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 21vw;
}
@media screen and (max-width: 600px) {
  .future_bottom_txt {
    transform: none;
    position: static;
    margin: 0 auto;
    width: 94%;
  }
}
.future_bottom_txt h3 {
  font-size: max(2.1vw, 20px);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .future_bottom_txt h3 {
    margin-bottom: 24px;
  }
}
.future_bottom_txt p {
  font-size: 16px;
  line-height: 1.9;
}

/*--------------- support ---------------*/
.support_wrap {
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
  padding: 24px 0 120px;
}
@media screen and (max-width: 600px) {
  .support_wrap {
    padding: 40px 0 60px;
  }
}

.support_list {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto;
  gap: 8px;
}
@media screen and (max-width: 600px) {
  .support_list {
    display: grid;
    grid-template-columns: 130px 130px;
  }
}

.support_item {
  width: 150px;
}
@media screen and (max-width: 600px) {
  .support_item {
    width: 130px;
  }
}
.support_item img {
  width: 126px;
  margin: 0 auto 8px;
}
@media screen and (max-width: 600px) {
  .support_item img {
    width: 100px;
  }
}
.support_item span {
  font-size: 18px;
  font-weight: 700;
  color: #EE656B;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  .support_item span {
    font-size: 16px;
  }
}

.support_message {
  line-height: 1.9;
  font-size: 16px;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.support_message .big_txt {
  font-size: 24px;
}

.support_arrow {
  width: 4px;
  margin: 24px auto;
}
@media screen and (max-width: 600px) {
  .support_arrow {
    width: 3px;
  }
}

.support_bubble {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 34px auto;
  font-size: 24px;
  color: #EE656B;
  position: relative;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .support_bubble {
    font-size: 20px;
  }
}
@media screen and (max-width: 375px) {
  .support_bubble {
    font-size: 19px;
  }
}
.support_bubble::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 80px;
  border-radius: 100px;
  background-color: #F4B4B4;
  top: 50%;
  transform: translateY(-50%) rotate(-16deg);
  left: -42px;
}
@media screen and (max-width: 600px) {
  .support_bubble::before {
    height: 60px;
    bottom: 0;
    top: auto;
    transform: rotate(-16deg);
    left: -32px;
  }
}
@media screen and (max-width: 375px) {
  .support_bubble::before {
    left: -20px;
  }
}
.support_bubble::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 80px;
  border-radius: 100px;
  background-color: #F4B4B4;
  top: 50%;
  transform: translateY(-50%) rotate(16deg);
  right: -42px;
}
@media screen and (max-width: 600px) {
  .support_bubble::after {
    height: 60px;
    bottom: 0;
    top: auto;
    transform: rotate(16deg);
    right: -32px;
  }
}
@media screen and (max-width: 375px) {
  .support_bubble::after {
    right: -20px;
  }
}

/*--------------- voice ---------------*/
.voice {
  width: 100%;
  overflow-x: hidden;
}
.voice .js-scrollable {
  overflow-x: hidden !important;
}
.voice .scroll-hint.is-right-scrollable {
  background: none !important;
}

.voice_heading {
  font-size: max(2.1vw, 21px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .voice_heading {
    margin: 0 auto;
  }
}

.voice_content {
  position: relative;
}

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

.voice_content_sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .voice_content_sp {
    display: block;
    padding-left: 1.6vw;
  }
}

.voice_bg {
  width: 100%;
  height: 17.4vw;
  background-color: #F4B4B4;
  position: absolute;
  bottom: 18vw;
  left: 0;
}

.voice_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  width: 100%;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 800px) {
  .voice_list {
    grid-template-columns: 1fr 1fr;
  }
}

/*--------------- start ---------------*/
.start {
  background: linear-gradient(180deg, #F7F0F0 0%, #FFFFFF 100%);
  padding-bottom: 80px;
}
@media screen and (max-width: 600px) {
  .start {
    padding-bottom: 24px;
  }
}

.start_bg {
  transform: scale(-1, -1);
}

.start_item {
  padding-left: 20px;
  position: relative;
  margin-bottom: 16px;
  line-height: 1.4;
}
.start_item:last-child {
  margin-bottom: 0;
}
.start_item::after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background-color: #F4B4B4;
}

.start_content {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .start_content {
    flex-direction: column;
    gap: 36px;
    padding-top: 40px;
  }
}

.start_txt_wrap {
  width: 295px;
}
@media screen and (max-width: 600px) {
  .start_txt_wrap {
    width: 94%;
    margin: 0 auto;
  }
}

.start_txt h3 {
  font-size: max(2.1vw, 21px);
  line-height: 1.5;
  margin-bottom: 40px;
}

.start_txt p {
  line-height: 1.9;
  font-size: 16px;
}

.start_inner {
  border: 1px solid #EE656B;
  padding: 32px 24px;
  border-radius: 8px;
  margin: 32px 0;
}
.start_inner h4 {
  font-size: 18px;
  text-decoration: underline;
  text-decoration-color: #EE656B;
  color: #EE656B;
  font-weight: 700;
  margin-bottom: 24px;
  line-height: 1.4;
}

.start_img {
  width: 41vw;
}
@media screen and (max-width: 800px) {
  .start_img {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}/*# sourceMappingURL=index-lp2.css.map */