@charset "UTF-8";
@media only screen and (max-width: 767px) {
  body {
    background-color: #FFF3F1;
  }
}



@media only screen and (min-width: 768px) {
  .lp-00028 .visual-1row {
    background-image: url(/img/lp/lp-00035/202604/img-top-pc-202604.jpg);
    aspect-ratio: 1440/483;
  }
}

@media only screen and (min-width: 768px) {
  .lp-00028 .visual-1row::before {
    padding-top: 0;
  }
}

@media only screen and (min-width: 768px) {
  .lp-head figure.full-wide-container {
    max-width: unset;
  }
}

img {
  vertical-align: bottom;
}

.to_lp_00057 {
  display: block;
}

@media only screen and (min-width: 768px) {
  .to_lp_00057 {
    max-width: unset;
    margin-left: auto;
    margin-right: auto;
  }
}

.intro-section {
  position: relative;
  max-width: unset;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 768px) {
  .intro-section.sp-m {
    margin-top: -45px;
  }
}

@media only screen and (min-width: 768px) {

  .intro-section {
    padding-bottom: 20px;
    background-color: #FF416B;
  }

  .intro-section.toparrow {
    padding-top: 30px;
  }

  .intro-section.toparrow::before {
    content: "▼";
    color: #fff;
    font-size: 26px;
    position: absolute;
    top: 0;
    line-height: 0;
    transform: scale(8.5, 3.5);
  }

  .intro-section.toparrow.cl-y::before {
    color: #FDFFDC;
  }
}

.intro-section picture img {
  display: block;
}

.intro-section .edit-cart>button {
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translateX(-50%);
  max-width: 320px;
}

@media only screen and (max-width: 767px) {
  .intro-section .edit-cart>button {
    top: unset;
    bottom: 4.8%;
    /*max-width: min(430 / 750 * 100vw, 430px);*/
    width: 60%;
  }
}

.chance-caption {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 767px) {
  .chance-caption {
    /*max-width: min(305 / 750 * 100vw, 305px);*/
    margin: 0 auto 20px 0;
    width: 90%;
  }
}

.chance-image,
.chance-beforeafter {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.bg-35 {
  background-color: #FFF3F1;
}

.dot-line {
  position: relative;
  z-index: 2;
}

.dot-line::before,
.dot-line::after {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 35px;
  background-image: url(/img/lp/lp-00035/202604/img-line-sp-202604.png);
  background-position: center center;
  background-repeat: repeat-x;
  background-size: 80% auto;
}

.dot-line::before {
  top: 0;
  transform: translateY(-50%);
}

.dot-line::after {
  bottom: 0;
  transform: translateY(50%);
}

@media screen and (min-width:768px) {

  .dot-line::before,
  .dot-line::after {
    width: 100%;
    height: 35px;
    background-image: url(/img/lp/lp-00035/202604/img-line-202604.png);
    background-size: 90% auto;
  }
}

.setpack-section {
  position: relative;
  background-color: #FDFFDC;
  padding-top: 50px;
  padding-bottom: 50px;
}

@media only screen and (max-width: 767px) {
  .setpack-section {
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
    padding-top: min(40 / 750 * 100vw, 40px);
    /*padding-bottom: min(50 / 750 * 100vw, 50px);*/
    padding-bottom: 50px;
    background-color: #FFF3F1;
  }
}

.setpack-section .setpack-cont {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.feature-section {
  position: relative;
}

.feature-section.dot-line::before {
  display: none;
}

.feature-section .feature-cont {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 60px;
}

@media only screen and (max-width: 767px) {
  .feature-section .feature-cont {
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
    padding-top: min(40 / 750 * 100vw, 40px);
    padding-bottom: min(50 / 750 * 100vw, 50px);
  }
}

.feature-section .feature-cont h2 {
  max-width: 744px;
}

.feature-section .feature-cont ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  -moz-column-gap: 40px;
  column-gap: 40px;
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  .feature-section .feature-cont ul {
    row-gap: min(40 / 750 * 100vw, 40px);
  }
}

.feature-section .feature-cont ul li {
  width: calc(50% - 20px);
}

@media only screen and (max-width: 767px) {
  .feature-section .feature-cont ul li {
    width: 100%;
  }
}

.keep-section {
  background-color: #fff;
}

.keep-section .keep-cont {
  max-width: 730px;
  padding-top: 50px;
  padding-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 767px) {
  .keep-section .keep-cont {
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
    padding-top: min(50 / 750 * 100vw, 50px);
    padding-bottom: min(50 / 750 * 100vw, 50px);
    background-color: #fff;
  }
}

.point-section {
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .point-section {
    padding-bottom: 30px;
  }
}

.point-section .point-cont {
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 767px) {
  .point-section .point-cont {
    /*padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);*/
    padding-top: min(50 / 750 * 100vw, 50px);
    padding-bottom: min(50 / 750 * 100vw, 50px);
    padding-left: 15px;
    padding-right: 15px;
  }
}

.point-section .point-cont h2 {
  max-width: 733px;
  margin-left: auto;
  margin-right: auto;
}

.point-section .point-cont ul {
  max-width: 605px;
  margin-left: auto;
  margin-right: auto;
}

.point-section .point-cont ul li {
  position: relative;
  margin-top: 40px;
}

@media only screen and (max-width: 767px) {
  .point-section .point-cont ul li {
    margin-top: min(40 / 750 * 100vw, 40px);
  }
}

.point-section .point-cont .outro {
  max-width: 715px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
}

@media only screen and (max-width: 767px) {
  .point-section .point-cont .outro {
    margin-top: min(40 / 750 * 100vw, 40px);
  }
}

.point-section .point-cont a {
  position: absolute;
  left: 50%;
  display: block;
  width: 88.7%;
  transform: translateX(-50%);
}

.point-section .point-cont a.btn01 {
  bottom: 340px;
}

@media only screen and (max-width: 767px) {
  .point-section .point-cont a.btn01 {
    bottom: min(480 / 750 * 100vw, 480px);
  }
}

.point-section .point-cont a.btn02 {
  bottom: 350px;
}

@media only screen and (max-width: 767px) {
  .point-section .point-cont a.btn02 {
    bottom: min(490 / 750 * 100vw, 490px);
  }
}

.voice-section {
  background-color: #FDFFDC;
}

.voice-section .main-content {
  padding: 1px 10px;
  background-color: #FDFFDC;
}

@media only screen and (max-width: 767px) {
  .voice-section .voice-section {
    padding: 40px 10px;
  }

  .voice-section .main-content {
    padding-bottom: 1px;
  }

  .voice-section .padding-s-m {
    padding: 0 10px;
  }

  .slide-arrow {
    bottom: 0;
    cursor: pointer;
    margin: 0;
    position: absolute;
    top: 50%;
    width: 25px;
    z-index: 1;
  }

  .voice-content .profile .service {
    text-align: left;
  }

  .prev-arrow {
    left: -20px;
  }

  .next-arrow {
    right: -20px;
  }

  .slick-dots {
    bottom: -5px;
  }

  .slick-dots li button::before {
    font-size: 10px;
  }
}

.voice-section .voice-cont {
  padding-top: 30px;
  padding-bottom: 0;
}

.voice-section .voice-cont .text-c {
  max-width: 625px;
}

.flow-section {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 767px) {
  .flow-section {
    padding-top: min(40 / 750 * 100vw, 40px);
    padding-bottom: min(40 / 750 * 100vw, 40px);
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
  }
}

.flow-section .flow-cont {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.faq-section .faq-cont {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.faq-section h2 {
  font-size: 36px;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .faq-section h2 {
    font-size: min(50 / 750 * 100vw, 50px);
  }
}

.lp-00028 .faq .main-content {
  line-height: 1.6;
  padding-bottom: 0;
}

.caution_outer {
  background-color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 767px) {
  .caution_outer {
    padding-top: min(50 / 750 * 100vw, 50px);
    /*padding-bottom: min(50 / 750 * 100vw, 50px);*/
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
    padding-bottom: 50px;
    background-color: #FFF3F1;
  }
}

.caution_outer .caution_inner {
  max-width: 815px;
  margin-left: auto;
  margin-right: auto;
}

.caution_outer h2 {
  font-size: 24px;
  font-weight: 900;
  text-align: center;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .caution_outer h2 {
    font-size: min(40 / 750 * 100vw, 40px);
  }
}

.caution_outer h2 .sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .caution_outer h2 .sp {
    display: block;
  }
}

.caution_other {
  background-color: #F6F6F6;
  padding-top: 50px;
  padding-bottom: 50px;
}

@media only screen and (max-width: 767px) {
  .caution_other {
    padding-top: min(40 / 750 * 100vw, 40px);
    padding-bottom: min(40 / 750 * 100vw, 40px);
  }
}

.caution_other .caution_other_cont {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 767px) {
  .caution_other .caution_other_cont {
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
  }
}

.caution_other .caution_other_cont h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .caution_other .caution_other_cont h3 {
    font-size: min(32 / 750 * 100vw, 32px);
  }
}

.caution_other .caution_other_cont ul li {
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .caution_other .caution_other_cont ul li {
    font-size: min(28 / 750 * 100vw, 28px);
  }
}

.caution_other .caution_other_cont ul li::before {
  content: "・";
}

.btn_group_outer {
  background-color: #EDF7FF;
  padding-top: 30px;
  padding-bottom: 60px;
}

@media only screen and (max-width: 767px) {
  .btn_group_outer {
    padding-top: min(40 / 750 * 100vw, 40px);
    padding-bottom: min(40 / 750 * 100vw, 40px);
  }
}

.btn_group_outer .btn_group_inner {
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 767px) {
  .btn_group_outer .btn_group_inner {
    padding-left: min(40 / 750 * 100vw, 40px);
    padding-right: min(40 / 750 * 100vw, 40px);
  }
}

.btn_group_outer .btn_group_inner h3 {
  font-size: 25px;
  font-weight: bold;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .btn_group_outer .btn_group_inner h3 {
    font-size: min(32 / 750 * 100vw, 32px);
    text-align: left;
  }
}

.btn_group_outer .btn_group_inner .flex {
  display: flex;
  gap: 25px;
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  .btn_group_outer .btn_group_inner .flex {
    gap: min(10 / 750 * 100vw, 10px);
    margin-top: min(20 / 750 * 100vw, 20px);
  }
}

.btn_group_outer .btn_group_inner .flex>* {
  flex: 1;
}

.btn_group_outer .btn_group_inner .maintop {
  margin-top: 15px;
}

@media only screen and (max-width: 767px) {
  .btn_group_outer .btn_group_inner .maintop {
    margin-top: min(20 / 750 * 100vw, 20px);
  }
}

.bnr-section .bnr_outer {
  background-color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 95px;
  padding-right: 95px;
}

@media only screen and (max-width: 767px) {
  .bnr-section .bnr_outer {
    padding-top: min(40 / 750 * 100vw, 40px);
    padding-bottom: min(40 / 750 * 100vw, 40px);
    padding-left: min(20 / 750 * 100vw, 20px);
    padding-right: min(20 / 750 * 100vw, 20px);
  }
}

.bnr-section .bnr_outer>* {
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  .bnr-section .bnr_outer>* {
    margin-top: min(20 / 750 * 100vw, 20px);
  }
}

.bnr-section .bnr_outer h2 {
  font-size: 35px;
  font-weight: bold;
  line-height: 1.2;
}

@media only screen and (max-width: 767px) {
  .bnr-section .bnr_outer h2 {
    font-size: min(36 / 750 * 100vw, 36px);
  }
}

.bnr-section .bnr_outer h2 span {
  color: #26A74A;
}

@media screen and (min-width: 768px) {
  .lp-00028 .faq {
    max-width: unset;
  }

  .lp-container .main-content:has(#goriyou-set) {
    padding-bottom: 20px;
  }
}


@media only screen and (max-width: 767px) {
  .chance-image.margin-b-m {
    margin-bottom: 0;
  }

  .chance-beforeafter.margin-b-m,
  .chance-beforeafter.padding-b-l {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .lp-00028 .faq {
    padding: 10px 20px;
  }

  .lp-00028 .faq label {
    font-size: 16px;
    line-height: 1.6;
  }

  .lp-00028 .faq label:before {
    font-size: 1.5em;
  }
}

.voice-content .voice {
  line-height: 1.7;
}

.voice-content {
  background-color: unset;
}

@media only screen and (max-width: 767px) {
  .voice-content li {
    background-color: #FDFFDC;
  }
}

@media screen and (min-width: 768px) {
  .cpbnr_outer {
    margin-bottom: -20px;
    position: relative;
    z-index: 1;
  }

  .cpbnr_outer.top {
    margin-bottom: 0;
  }

  .cpbnr_outer.top .cp_thanks_coupon_outer>div:not([class]) {
    margin-bottom: 0 !important;
  }

  .cpbnr_outer.second {
    background-color: #FDFFDC;
  }

  .cpbnr_outer.third {
    background-color: #fff;
  }

  .cpbnr_outer.fuorth {
    background-color: #fff;
  }

}



@media only screen and (max-width: 767px) {
  .cpbnr_outer.top {
    margin: 10px auto -15px;
  }

  .cpbnr_outer.second {
    background-color: #FFF3F1;
    position: relative;
    z-index: 1;
    margin-bottom: 45px;
  }

  .cpbnr_outer.third {
    background-color: #fff;
    margin-bottom: 45px;
    position: relative;
    z-index: 1;
    margin-top: -20px;
  }

  .cpbnr_outer.third+.intro-section.toparrow.sp-m {
    background-color: #fff;
  }

  .cpbnr_outer.fuorth {
    background-color: #FFF3F1;
    margin-bottom: 45px;
    position: relative;
    z-index: 1;
  }

  .cpbnr_outer.fuorth+.intro-section.toparrow.sp-m {
    background-color: #FFF3F1;
  }

}