.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

body {
  color: #000000;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  background: #ffffff;
}
body.is-fixed {
  position: fixed;
  inset: 0;
  width: 100%;
  overflow: hidden;
}

.l-inner {
  padding-left: clamp(10px, 0px + 2.6666666667vw, 20px);
  padding-right: clamp(10px, 0px + 2.6666666667vw, 20px);
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.l-header {
  padding-top: clamp(11px, 0px + 2.9333333333vw, 22px);
  padding-bottom: clamp(11.5px, 0px + 3.0666666667vw, 23px);
  background: linear-gradient(to right, #cb92a1, #dab0ba);
}
@media screen and (min-width: 768px) {
  .l-header {
    padding-top: 16px;
    padding-bottom: 17px;
  }
}

.l-header__inner {
  max-width: 602px;
}

.p-header__contents {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(9px, 0px + 2.4vw, 18px);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(5px, 0px + 1.3333333333vw, 10px);
  position: relative;
}
.p-header__contents::before {
  content: "";
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  left: clamp(-70px, 0px + -9.3333333333vw, -35px);
  width: clamp(31.5px, 0px + 8.4vw, 63px);
  aspect-ratio: 63/9;
  transform: scaleX(-1);
  background: url(../img/material-right.webp) no-repeat center center/contain;
}
.p-header__contents::after {
  content: "";
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  right: clamp(-70px, 0px + -9.3333333333vw, -35px);
  width: clamp(31.5px, 0px + 8.4vw, 63px);
  aspect-ratio: 63/9;
  background: url(../img/material-right.webp) no-repeat center center/contain;
}

.p-header__logo-img {
  width: clamp(80px, 0px + 21.3333333333vw, 160px);
  aspect-ratio: 160/41;
}

.p-header__catchphrase {
  padding-top: clamp(4px, 0px + 1.0666666667vw, 8px);
}
@media screen and (min-width: 768px) {
  .p-header__catchphrase {
    padding-top: 0;
  }
}

.p-header__catchphrase-text {
  color: #ffffff;
  font-size: clamp(10px, 0px + 2.6666666667vw, 20px);
  letter-spacing: clamp(2px, 0px + 0.5333333333vw, 4px);
}

.l-fv {
  position: relative;
}
@media screen and (min-width: 1140px) {
  .l-fv {
    padding-top: 11px;
    padding-bottom: 28px;
  }
}
.l-fv::after {
  content: "";
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 750/912;
  background: url(../img/main_img-sp.webp) no-repeat center bottom/100% 88%;
  clip-path: circle(269% at 50% -146%);
}
@media screen and (min-width: 1140px) {
  .l-fv::after {
    aspect-ratio: auto;
    height: 100%;
    background: url(../img/main_img.webp) no-repeat left 67% bottom/cover;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@media screen and (min-width: 1921px) {
  .l-fv::after {
    background: url(../img/main_img.webp) no-repeat left 67% top -74px/cover;
  }
}

.l-fv__inner {
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
@media screen and (min-width: 1140px) {
  .l-fv__inner {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1060px;
  }
}

.p-fv__main {
  width: 100%;
  aspect-ratio: 750/912;
}
@media screen and (min-width: 1140px) {
  .p-fv__main {
    aspect-ratio: auto;
    height: 100%;
  }
}

.p-fv__heading {
  position: relative;
  z-index: 20;
  width: 100%;
}

.p-fv__heading-firstLine-img {
  width: 100%;
  aspect-ratio: 750/190;
}
@media screen and (min-width: 1140px) {
  .p-fv__heading-firstLine-img {
    width: 67%;
    aspect-ratio: 680/178;
    position: relative;
    z-index: 30;
  }
}

.p-fv__heading-secondLine {
  margin-top: clamp(-76px, 0px + -10.1333333333vw, -38px);
}
@media screen and (min-width: 1140px) {
  .p-fv__heading-secondLine {
    margin-top: -104px;
  }
}

.p-fv__heading-secondLine-img {
  display: block;
  width: 90.5333333333%;
  aspect-ratio: 670/228;
  margin: 0 auto;
}
@media screen and (min-width: 1140px) {
  .p-fv__heading-secondLine-img {
    margin-inline: 0;
    padding-left: 16px;
    width: 54%;
    aspect-ratio: 521/199;
  }
}

.p-fv__script {
  position: relative;
  z-index: 30;
  max-width: 895px;
  margin-left: auto;
  margin-right: auto;
}

.p-fv__commitment {
  margin-top: clamp(25px, 0px + 6.6666666667vw, 50px);
  padding-left: clamp(20px, 0px + 5.3333333333vw, 40px);
  padding-right: clamp(20px, 0px + 5.3333333333vw, 40px);
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: clamp(7px, 0px + 1.8666666667vw, 14px);
}
@media screen and (min-width: 1140px) {
  .p-fv__commitment {
    margin-top: -28px;
    padding-left: 14px;
    padding-right: 0;
  }
}
.p-fv__commitment::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: clamp(20px, 0px + 5.3333333333vw, 40px);
  width: 86%;
  height: 1px;
  background: #1c1b18;
}
@media screen and (min-width: 1140px) {
  .p-fv__commitment::after {
    left: 14px;
    width: 96%;
  }
}

.p-fv__commitment-text {
  font-family: "Noto Serif JP";
  color: #1c1b18;
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
  letter-spacing: clamp(1px, 0px + 0.2666666667vw, 2px);
}
@media screen and (min-width: 1140px) {
  .p-fv__commitment-text {
    font-size: 28px;
    letter-spacing: 2.3px;
    text-shadow: 0px 0px 10px #ffffff;
  }
}

.p-fv__circles {
  margin-top: clamp(15px, 0px + 4vw, 30px);
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1140px) {
  .p-fv__circles {
    justify-content: start;
  }
}

.p-fv__circle {
  display: block;
  width: clamp(120px, 0px + 32vw, 240px);
  aspect-ratio: 1/1;
  background: url(../img/goldCircle.webp) no-repeat center center/contain;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 1140px) {
  .p-fv__circle {
    width: 174px;
  }
}

.p-fv__circle-text {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #53411f;
  font-size: clamp(22px, 0px + 5.8666666667vw, 44px);
  line-height: 1.25;
}
@media screen and (min-width: 1140px) {
  .p-fv__circle-text {
    font-size: 31px;
  }
}

.p-fv__machineImage {
  position: absolute;
  z-index: 30;
  bottom: clamp(128px, 0px + 34.1333333333vw, 256px);
  right: clamp(20px, 0px + 5.3333333333vw, 40px);
}
@media screen and (max-width: 370px) {
  .p-fv__machineImage {
    bottom: 173px;
  }
}
@media screen and (min-width: 1140px) {
  .p-fv__machineImage {
    right: auto;
    left: -7px;
    bottom: 188px;
  }
}

.p-fv__machineImage-img {
  width: clamp(59px, 0px + 15.7333333333vw, 118px);
  aspect-ratio: 118/193;
}
@media screen and (min-width: 1140px) {
  .p-fv__machineImage-img {
    width: 82px;
    aspect-ratio: 82/134;
  }
}

.l-ctaButton {
  margin-top: clamp(8px, 0px + 2.1333333333vw, 16px);
  padding-bottom: clamp(45px, 0px + 12vw, 90px);
}
@media screen and (min-width: 768px) {
  .l-ctaButton {
    padding-top: 48px;
    padding-bottom: 76px;
  }
}

.c-ctaButton__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 0px + 2.6666666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .c-ctaButton__contents {
    gap: 10px;
    max-width: 645px;
    margin-left: auto;
    margin-right: auto;
  }
}

.c-ctaButton__comment {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.c-ctaButton__comment::before {
  content: "";
  position: absolute;
  top: 52%;
  width: clamp(23px, 0px + 6.1333333333vw, 46px);
  height: 1px;
  background: #4d4d4d;
  transform: translateY(-50%) rotate(58deg);
  left: clamp(-40px, 0px + -5.3333333333vw, -20px);
}
@media screen and (min-width: 768px) {
  .c-ctaButton__comment::before {
    width: 36px;
    top: 50%;
    left: -36px;
    transform: translateY(-50%) rotate(57deg);
  }
}
.c-ctaButton__comment::after {
  content: "";
  position: absolute;
  top: 52%;
  width: clamp(23px, 0px + 6.1333333333vw, 46px);
  height: 1px;
  background: #4d4d4d;
  transform: translateY(-50%) rotate(-58deg);
  right: clamp(-40px, 0px + -5.3333333333vw, -20px);
}
@media screen and (min-width: 768px) {
  .c-ctaButton__comment::after {
    width: 36px;
    top: 50%;
    right: -36px;
    transform: translateY(-50%) rotate(-57deg);
  }
}

.c-ctaButton__comment-text {
  color: #4d4d4d;
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
}
@media screen and (max-width: 370px) {
  .c-ctaButton__comment-text {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .c-ctaButton__comment-text {
    font-size: 23px;
    letter-spacing: 2px;
  }
}

.c-ctaButton__link {
  width: 100%;
}

.c-ctaButton__content {
  padding-top: clamp(18px, 0px + 4.8vw, 36px);
  padding-bottom: clamp(23px, 0px + 6.1333333333vw, 46px);
  padding-right: clamp(7px, 0px + 1.8666666667vw, 14px);
  width: 100%;
  background: linear-gradient(to right, #dd5780, #fa9ab4);
  border-radius: clamp(34.5px, 0px + 9.2vw, 69px);
  box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.14);
  transition: background 0.3s ease;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-ctaButton__content {
    padding-top: 14px;
    padding-bottom: 18px;
    padding-right: 25px;
  }
}
.c-ctaButton__content::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(27px, 0px + 7.2vw, 54px);
  width: clamp(17px, 0px + 4.5333333333vw, 34px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #f5eef0;
  transition: border 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-ctaButton__content::before {
    right: calc(50% - 185px);
    width: 28px;
  }
}
.c-ctaButton__content::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(32.5px, 0px + 8.6666666667vw, 65px);
  width: clamp(4.5px, 0px + 1.2vw, 9px);
  aspect-ratio: 9/14;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #f5eef0;
  transition: background 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-ctaButton__content::after {
    right: calc(50% - 174px);
    width: 6px;
  }
}
.c-ctaButton__content:hover {
  cursor: pointer;
  background: #f5eef0;
}
.c-ctaButton__content:hover .c-ctaButton__text {
  color: #fa9ab4;
}
.c-ctaButton__content:hover::before {
  border: 1px solid #fa9ab4;
}
.c-ctaButton__content:hover::after {
  background: #fa9ab4;
}

.c-ctaButton__text {
  text-align: center;
  color: #f5eef0;
  font-size: clamp(22px, 0px + 5.8666666667vw, 44px);
  letter-spacing: clamp(6px, 0px + 1.6vw, 12px);
  transition: color 0.3s ease;
}
@media screen and (max-width: 370px) {
  .c-ctaButton__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .c-ctaButton__text {
    font-size: 30px;
    letter-spacing: 5.8px;
  }
}

.l-problem {
  overflow: hidden;
}

.l-problemFirst {
  padding-top: clamp(42px, 0px + 11.2vw, 84px);
  padding-bottom: clamp(50px, 0px + 13.3333333333vw, 100px);
  clip-path: polygon(0 0, 100% 0, 100% 93.3%, 0% 100%);
  background: url(../img/bg_1.webp) no-repeat center center/cover;
  position: relative;
  z-index: 30;
}
@media screen and (max-width: 374px) {
  .l-problemFirst {
    clip-path: polygon(0 0, 100% 0, 100% 95%, 0% 100%);
  }
}
@media screen and (min-width: 768px) {
  .l-problemFirst {
    padding-top: 74px;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 0% 100%);
  }
}

.p-problem__heading {
  text-align: center;
  color: #ffffff;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-problem__heading {
    font-size: 37px;
  }
}
.p-problem__heading span {
  display: inline-block;
}
.p-problem__heading .first-line {
  font-size: clamp(32px, 0px + 8.5333333333vw, 64px);
  letter-spacing: clamp(3.2px, 0px + 0.8533333333vw, 6.4px);
}
@media screen and (max-width: 370px) {
  .p-problem__heading .first-line {
    font-size: 28px;
  }
}
@media screen and (min-width: 768px) {
  .p-problem__heading .first-line {
    font-size: 37px;
    letter-spacing: normal;
  }
}
.p-problem__heading .first-line.wave {
  padding-left: clamp(30px, 0px + 8vw, 60px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-problem__heading .first-line.wave {
    font-size: 43px;
    padding-left: 0;
    letter-spacing: 1.4px;
  }
}
.p-problem__heading .first-line.wave::after {
  content: "";
  position: absolute;
  bottom: clamp(-6px, 0px + -0.8vw, -3px);
  right: 0;
  width: clamp(206.5px, 0px + 55.0666666667vw, 413px);
  aspect-ratio: 413/10;
  background: url(../img/wave-line.svg) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .p-problem__heading .first-line.wave::after {
    width: 257px;
    aspect-ratio: 257/6;
  }
}
.p-problem__heading .second-line {
  font-size: clamp(20px, 0px + 5.3333333333vw, 40px);
}
@media screen and (min-width: 768px) {
  .p-problem__heading .second-line {
    font-size: 37px;
  }
}
.p-problem__heading .second-line.big-text {
  font-size: clamp(26px, 0px + 6.9333333333vw, 52px);
  line-height: 2.1;
}
@media screen and (min-width: 768px) {
  .p-problem__heading .second-line.big-text {
    font-size: 43px;
  }
}
.p-problem__heading .second-line.small-text {
  letter-spacing: clamp(-20px, 0px + -2.6666666667vw, -10px);
}

.p-problem__matterArea {
  margin-top: clamp(16px, 0px + 4.2666666667vw, 32px);
  background: white;
  border-radius: 10px;
  padding-top: clamp(20px, 0px + 5.3333333333vw, 40px);
  padding-bottom: clamp(34px, 0px + 9.0666666667vw, 68px);
  padding-left: clamp(27px, 0px + 7.2vw, 54px);
  padding-right: clamp(33px, 0px + 8.8vw, 66px);
  position: relative;
}
.p-problem__matterArea::after {
  content: "";
  position: absolute;
  bottom: clamp(10px, 0px + 2.6666666667vw, 20px);
  right: clamp(-24px, 0px + -3.2vw, -12px);
  width: clamp(105px, 0px + 28vw, 210px);
  aspect-ratio: 413/464;
  background: url(../img/s1_illus_girl.webp) no-repeat center center/contain;
}

.p-problem__matters {
  display: flex;
  flex-direction: column;
}

.p-problem__matter {
  padding-top: clamp(12px, 0px + 3.2vw, 24px);
  padding-bottom: clamp(12px, 0px + 3.2vw, 24px);
  padding-left: clamp(41px, 0px + 10.9333333333vw, 82px);
  position: relative;
}
.p-problem__matter:not(:last-child) {
  border-bottom: 1px dashed gray;
}
.p-problem__matter::before, .p-problem__matter::after {
  content: "";
  position: absolute;
}
.p-problem__matter::before {
  top: clamp(16px, 0px + 4.2666666667vw, 32px);
  left: 0;
  width: clamp(18px, 0px + 4.8vw, 36px);
  aspect-ratio: 1/1;
  border: 1px solid black;
}
.p-problem__matter::after {
  top: clamp(13px, 0px + 3.4666666667vw, 26px);
  left: clamp(4px, 0px + 1.0666666667vw, 8px);
  width: clamp(20px, 0px + 5.3333333333vw, 40px);
  aspect-ratio: 2/1;
  border-left: 4px solid gray;
  border-bottom: 4px solid gray;
  transform: rotate(-50deg);
}

.p-problem__matter-text {
  font-size: clamp(18px, 0px + 4.8vw, 36px);
  letter-spacing: clamp(-0.8px, 0px + -0.1066666667vw, -0.4px);
}
.p-problem__matter-text .fontWeight700 {
  font-weight: 700;
}
.p-problem__matter-text .display-inlineBlock {
  display: inline-block;
}

.p-problem__caution {
  margin-top: clamp(26px, 0px + 6.9333333333vw, 52px);
}

.p-problem__caution-text {
  text-align: center;
  color: #ffffff;
  font-family: "Noto Serif JP";
  font-size: clamp(18.5px, 0px + 4.9333333333vw, 37px);
  line-height: 2.2;
}
.p-problem__caution-text .first-line {
  letter-spacing: clamp(1px, 0px + 0.2666666667vw, 2px);
}
@media screen and (min-width: 1140px) {
  .p-problem__caution-text .first-line .line-break {
    display: none;
  }
}
.p-problem__caution-text .second-line {
  letter-spacing: clamp(0.8px, 0px + 0.2133333333vw, 1.6px);
}
@media screen and (max-width: 374px) {
  .p-problem__caution-text .second-line .line-break {
    display: block;
  }
}
@media screen and (min-width: 375px) and (max-width: 1139px) {
  .p-problem__caution-text .second-line .line-break {
    display: none;
  }
}
.p-problem__caution-text .third-line {
  letter-spacing: clamp(2pxpx, 0pxpx + 0.5333333333pxvw, 4pxpx);
}
@media screen and (max-width: 340px) {
  .p-problem__caution-text .third-line {
    padding-right: 36px;
  }
}
.p-problem__caution-text .backgroundWhite {
  color: black;
  background: #ffffff;
  padding-inline: 2px;
}

.l-problemSecond {
  padding-top: clamp(5px, 0px + 1.3333333333vw, 10px);
  padding-bottom: clamp(24px, 0px + 6.4vw, 48px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-problemSecond {
    padding-top: 17px;
    padding-bottom: 135px;
  }
}
.l-problemSecond::before {
  content: "";
  position: absolute;
  z-index: 25;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 125%;
  background: url(../img/s1_photo_girlBG@2x.webp) no-repeat center bottom/cover;
}
@media screen and (max-width: 374px) {
  .l-problemSecond::before {
    background: url(../img/s1_photo_girlBG@2x.webp) no-repeat center bottom/100% auto;
  }
}
@media screen and (min-width: 768px) {
  .l-problemSecond::before {
    background: url(../img/s1_photo_girlBG-pc@2x.webp) no-repeat center bottom/cover;
  }
}
@media screen and (min-width: 1921px) {
  .l-problemSecond::before {
    background: url(../img/s1_photo_girlBG-pc@2x.webp) no-repeat center bottom/auto 100%;
  }
}
.l-problemSecond::after {
  content: "";
  position: absolute;
  z-index: 35;
  bottom: 0;
  right: 0;
  width: clamp(174.5px, 0px + 46.5333333333vw, 349px);
  aspect-ratio: 349/551;
  background: url(../img/s1_photo_girl.webp) no-repeat center center/contain;
}
@media screen and (max-width: 374px) {
  .l-problemSecond::after {
    width: clamp(9.25rem, -0.386rem + 48.18vw, 10.906rem);
  }
}
@media screen and (min-width: 751px) and (max-width: 768px) {
  .l-problemSecond::after {
    width: clamp(21.813rem, -0.246rem + 47.06vw, 22.313rem);
  }
}
@media screen and (min-width: 768px) {
  .l-problemSecond::after {
    width: clamp(13.5rem, 1.153rem + 12.74vw, 16.438rem);
    right: calc(50% - 403px);
  }
}
@media screen and (min-width: 1576px) and (max-width: 1920px) {
  .l-problemSecond::after {
    right: auto;
    left: 61.5%;
  }
}
@media screen and (min-width: 1921px) {
  .l-problemSecond::after {
    display: none;
  }
}

.l-problemSecond__inner {
  max-width: 788px;
  position: relative;
  z-index: 40;
  overflow: hidden;
}

.p-problemSecond__textArea {
  width: 60%;
}
@media screen and (min-width: 768px) {
  .p-problemSecond__textArea {
    width: 100%;
  }
}

.p-problemSecond__text {
  text-shadow: 3px 3px 3px #ffffff;
  font-family: "Noto Serif JP";
  font-size: clamp(18px, 0px + 4.8vw, 36px);
  line-height: 1.78;
}
@media screen and (max-width: 374px) {
  .p-problemSecond__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-problemSecond__text {
    font-size: 27px;
  }
}
.p-problemSecond__text span {
  display: inline-block;
}
.p-problemSecond__text .first-line {
  font-size: clamp(26px, 0px + 6.9333333333vw, 52px);
}
@media screen and (max-width: 374px) {
  .p-problemSecond__text .first-line {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-problemSecond__text .first-line {
    font-size: 42px;
    letter-spacing: -2px;
  }
}

.l-proposal {
  padding-top: clamp(41px, 0px + 10.9333333333vw, 82px);
  padding-bottom: clamp(20px, 0px + 5.3333333333vw, 40px);
  background: white;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-proposal {
    padding-top: 110px;
  }
}
.l-proposal::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 50.1%;
  transform: translateX(-50%);
  width: 1px;
  height: clamp(35px, 0px + 9.3333333333vw, 70px);
  background: #4d4d4d;
}
@media screen and (min-width: 768px) {
  .l-proposal::before {
    top: 10px;
  }
}

.p-proposal__head {
  padding-right: clamp(8px, 0px + 2.1333333333vw, 16px);
}
@media screen and (min-width: 768px) {
  .p-proposal__head {
    padding-right: 0;
  }
}

.p-proposal__head-text {
  color: #4d4d4d;
  text-align: center;
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
  letter-spacing: clamp(-1.2px, 0px + -0.16vw, -0.6px);
}
@media screen and (min-width: 768px) {
  .p-proposal__head-text {
    font-size: 27px;
    letter-spacing: -0.6px;
  }
}

.p-proposal__solve {
  margin-top: clamp(15px, 0px + 4vw, 30px);
  padding-right: clamp(5px, 0px + 1.3333333333vw, 10px);
}
@media screen and (min-width: 768px) {
  .p-proposal__solve {
    margin-top: 18px;
    padding-right: 0;
  }
}

.p-proposal__solve-text {
  color: #4d4d4d;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: clamp(32px, 0px + 8.5333333333vw, 64px);
  letter-spacing: clamp(1px, 0px + 0.2666666667vw, 2px);
}
@media screen and (max-width: 370px) {
  .p-proposal__solve-text {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-proposal__solve-text {
    font-size: 34px;
    letter-spacing: -2px;
  }
}
.p-proposal__solve-text .color-pink {
  color: #d16aaf;
  font-size: clamp(37px, 0px + 9.8666666667vw, 74px);
  letter-spacing: clamp(-3.4px, 0px + -0.4533333333vw, -1.7px);
  border-bottom: 1px solid #d16aaf;
}
@media screen and (max-width: 370px) {
  .p-proposal__solve-text .color-pink {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-proposal__solve-text .color-pink {
    font-size: 40px;
  }
}
.p-proposal__solve-text .marginTop {
  display: inline-block;
  margin-top: clamp(10px, 0px + 2.6666666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-proposal__solve-text .marginTop {
    display: inline;
    margin-top: 0;
  }
}

.l-points {
  background: #f7e8f1;
  padding-top: clamp(81.5px, 0px + 21.7333333333vw, 163px);
  padding-bottom: clamp(55px, 0px + 14.6666666667vw, 110px);
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .l-points {
    padding-bottom: 186px;
  }
}

.p-points__halfCircle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(50px, 0px + 13.3333333333vw, 100px);
}
@media screen and (min-width: 768px) {
  .p-points__halfCircle {
    height: 76px;
  }
}
.p-points__halfCircle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 480%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-points__halfCircle::after {
    width: 823%;
  }
}

.p-points__list {
  display: flex;
  flex-direction: column;
  gap: clamp(29px, 0px + 7.7333333333vw, 58px);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-points__list {
    gap: 96px;
  }
}

.p-points__item.second-item {
  padding-top: clamp(42.5px, 0px + 11.3333333333vw, 85px);
  padding-bottom: clamp(51.5px, 0px + 13.7333333333vw, 103px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-points__item.second-item {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.p-points__item.second-item::before {
  content: "";
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 120%;
  height: 100%;
  clip-path: ellipse(96% 50% at 50% 50%);
  background: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-points__item.second-item::before {
    display: none;
  }
}
.p-points__item.third-item {
  margin-top: clamp(5.5px, 0px + 1.4666666667vw, 11px);
}
@media screen and (min-width: 768px) {
  .p-points__item.third-item {
    margin-top: 46px;
  }
}

.p-pointsCard {
  position: relative;
  z-index: 30;
}
@media screen and (min-width: 768px) {
  .p-pointsCard {
    width: 100%;
  }
}

.p-pointsCard__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 0px + 2.6666666667vw, 20px);
}
.p-pointsCard__heading.third-card {
  gap: clamp(15px, 0px + 4vw, 30px);
}
@media screen and (min-width: 768px) {
  .p-pointsCard__heading {
    flex-direction: row;
    width: 68%;
  }
  .p-pointsCard__heading.second-card {
    margin-left: auto;
  }
}

.p-pointsCard__numberHead {
  width: clamp(61.5px, 0px + 16.4vw, 123px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #d16aaf;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__numberHead {
    width: 80px;
  }
}
.p-pointsCard__numberHead.second-card {
  width: clamp(67px, 0px + 17.8666666667vw, 134px);
}
@media screen and (min-width: 768px) {
  .p-pointsCard__numberHead.second-card {
    width: 80px;
  }
}
.p-pointsCard__numberHead.third-card {
  width: clamp(68px, 0px + 18.1333333333vw, 136px);
}
@media screen and (min-width: 768px) {
  .p-pointsCard__numberHead.third-card {
    width: 80px;
  }
}

.p-pointsCard__numberHead-text {
  font-family: "Noto Serif JP";
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  color: #d16aaf;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__numberHead-text {
    font-size: 18px;
  }
}

.p-pointsCard__numberHead-number {
  font-family: "Noto Serif JP";
  font-size: clamp(25px, 0px + 6.6666666667vw, 50px);
  color: #d16aaf;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__numberHead-number {
    font-size: 32px;
  }
}

.p-pointsCard__title-text {
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: clamp(27.5px, 0px + 7.3333333333vw, 55px);
  color: #d16aaf;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__title-text {
    font-size: 28px;
  }
}

.p-pointsCard__imageArea {
  margin-top: clamp(13px, 0px + 3.4666666667vw, 26px);
  width: 91.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__imageArea {
    position: absolute;
    top: 6px;
    right: -7px;
    width: 30%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-pointsCard__imageArea.second-card {
    position: absolute;
    top: 6px;
    left: 0;
    width: 30%;
    margin: 0;
  }
}

.p-pointsCard__img {
  width: 100%;
  aspect-ratio: 648/363;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__img {
    aspect-ratio: 648/476;
  }
}

.p-pointsCard__textArea {
  margin-top: clamp(14px, 0px + 3.7333333333vw, 28px);
  width: 86%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__textArea {
    width: 68%;
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-pointsCard__textArea.second-card {
    width: 68%;
    margin-left: auto;
    margin-right: 0;
  }
}
.p-pointsCard__textArea.third-card {
  width: 87%;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__textArea.third-card {
    width: 68%;
    margin-left: 0;
  }
}

.p-pointsCard__text {
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
  color: #4d4d4d;
  line-height: 1.76;
}
.p-pointsCard__text .fontWeight700 {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-pointsCard__text {
    font-size: 20px;
    line-height: 1.7;
  }
}

.p-pointsCard__text + .p-pointsCard__text {
  margin-top: clamp(27.5px, 0px + 7.3333333333vw, 55px);
}
@media screen and (min-width: 768px) {
  .p-pointsCard__text + .p-pointsCard__text {
    margin-top: 10px;
  }
}

.l-managerVoice {
  padding-top: clamp(41px, 0px + 10.9333333333vw, 82px);
  padding-bottom: clamp(60px, 0px + 16vw, 120px);
  background: url(../img/bg_2.webp) no-repeat center top/cover;
}
@media screen and (min-width: 768px) {
  .l-managerVoice {
    padding-top: 97px;
    padding-bottom: 210px;
  }
}

.p-managerVoice__heading-text {
  font-family: "Noto Serif JP";
  color: #595252;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-managerVoice__heading-text {
    letter-spacing: -2px;
  }
}
.p-managerVoice__heading-text .first-line {
  position: relative;
  font-size: clamp(32px, 0px + 8.5333333333vw, 64px);
  letter-spacing: clamp(-2.6px, 0px + -0.3466666667vw, -1.3px);
}
@media screen and (max-width: 370px) {
  .p-managerVoice__heading-text .first-line {
    font-size: 28px;
  }
}
@media screen and (min-width: 768px) {
  .p-managerVoice__heading-text .first-line {
    font-size: 36px;
  }
}
.p-managerVoice__heading-text .first-line::after {
  content: "";
  position: absolute;
  bottom: clamp(-20px, 0px + -2.6666666667vw, -10px);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  aspect-ratio: 1334/60;
  background: url(../img/underline.webp) no-repeat center center/contain;
}
.p-managerVoice__heading-text .second-line {
  display: inline-block;
  margin-top: clamp(10.5px, 0px + 2.8vw, 21px);
  font-size: clamp(22.5px, 0px + 6vw, 45px);
}
@media screen and (max-width: 370px) {
  .p-managerVoice__heading-text .second-line {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-managerVoice__heading-text .second-line {
    font-size: 25px;
  }
}
.p-managerVoice__heading-text .third-line {
  display: inline-block;
  margin-top: clamp(3px, 0px + 0.8vw, 6px);
  font-size: clamp(30px, 0px + 8vw, 60px);
}
@media screen and (max-width: 370px) {
  .p-managerVoice__heading-text .third-line {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-managerVoice__heading-text .third-line {
    font-size: 35px;
  }
}

.p-managerVoice__box {
  margin-top: clamp(22.5px, 0px + 6vw, 45px);
  background: #ffffff;
  border: 1px solid #c7992d;
  padding-top: clamp(47px, 0px + 12.5333333333vw, 94px);
  padding-bottom: clamp(27px, 0px + 7.2vw, 54px);
  padding-inline: clamp(9.5px, 0px + 2.5333333333vw, 19px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(22px, 0px + 5.8666666667vw, 44px);
}
@media screen and (min-width: 768px) {
  .p-managerVoice__box {
    margin-top: 53px;
    padding-top: 52px;
    padding-bottom: 44px;
    padding-inline: 52px;
    flex-direction: row;
    align-items: start;
  }
}

@media screen and (min-width: 768px) {
  .p-managerVoice__image {
    width: 25%;
  }
}

.p-managerVoice__title {
  padding-bottom: clamp(11.5px, 0px + 3.0666666667vw, 23px);
  border-bottom: 1px solid #535353;
}
@media screen and (min-width: 768px) {
  .p-managerVoice__title {
    border-bottom: none;
  }
}

.p-managerVoice__title-text {
  font-size: clamp(25px, 0px + 6.6666666667vw, 50px);
  text-align: center;
  font-family: "Noto Serif JP";
  color: #535353;
  line-height: 1.3;
}
@media screen and (max-width: 370px) {
  .p-managerVoice__title-text {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-managerVoice__title-text {
    font-size: 28px;
    text-align: left;
  }
}

.p-managerVoice__textArea {
  margin-top: clamp(15px, 0px + 4vw, 30px);
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 0px + 7.4666666667vw, 56px);
}
@media screen and (min-width: 768px) {
  .p-managerVoice__textArea {
    margin-top: -5px;
    gap: 0;
    position: relative;
    z-index: 50;
  }
}

.p-managerVoice__text {
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  color: #595252;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-managerVoice__text {
    font-size: 18px;
    line-height: 1.88;
  }
}
.p-managerVoice__text .color-pink {
  color: #bc7e91;
  font-weight: 600;
}

.p-managerVoice__nameArea {
  margin-top: clamp(11px, 0px + 2.9333333333vw, 22px);
  padding-right: clamp(5px, 0px + 1.3333333333vw, 10px);
}
@media screen and (min-width: 768px) {
  .p-managerVoice__nameArea {
    margin-top: -21px;
    padding-right: clamp(0rem, -12.444rem + 25.93vw, 7rem);
    position: relative;
    z-index: 30;
  }
}

.p-managerVoice__name-img {
  display: block;
  margin-left: auto;
  width: clamp(124.5px, 0px + 33.2vw, 249px);
  aspect-ratio: 649/263;
}
@media screen and (min-width: 768px) {
  .p-managerVoice__name-img {
    width: 146px;
  }
}

.l-method {
  padding-top: clamp(28px, 0px + 7.4666666667vw, 56px);
  padding-bottom: clamp(57px, 0px + 15.2vw, 114px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-method {
    padding-top: 34px;
    padding-bottom: 66px;
  }
}
.l-method::before {
  content: "";
  position: absolute;
  z-index: 10;
  top: clamp(-86px, 0px + -11.4666666667vw, -43px);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 103%;
  clip-path: ellipse(190% 100% at 50% 100%);
  background: url(../img/bg_3.webp) no-repeat center top/100% 100%;
}
@media screen and (min-width: 768px) {
  .l-method::before {
    top: -86px;
    height: 107%;
    clip-path: ellipse(180% 100% at 50% 100%);
  }
}
@media screen and (min-width: 1000px) {
  .l-method::before {
    clip-path: ellipse(140% 100% at 50% 100%);
  }
}
.l-method .l-inner {
  position: relative;
  z-index: 20;
}

.p-method__title {
  width: clamp(275px, 0px + 73.3333333333vw, 550px);
  aspect-ratio: 550/55;
  margin-left: auto;
  margin-right: auto;
  background: url(../img/gold-band.webp) no-repeat center top/100% auto;
}

.p-method__title-text {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #51483a;
  font-size: clamp(19px, 0px + 5.0666666667vw, 38px);
}
@media screen and (min-width: 768px) {
  .p-method__title-text {
    font-size: 32px;
  }
}

.p-method__heading {
  margin-top: clamp(21.5px, 0px + 5.7333333333vw, 43px);
}
@media screen and (min-width: 768px) {
  .p-method__heading {
    margin-top: 40px;
  }
}

.p-method__heading-text {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #53411f;
  font-size: clamp(24px, 0px + 6.4vw, 48px);
  letter-spacing: clamp(-2.8px, 0px + -0.3733333333vw, -1.4px);
}
@media screen and (max-width: 370px) {
  .p-method__heading-text {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-method__heading-text {
    text-align: left;
    font-size: 30px;
  }
}
.p-method__heading-text .color-pink {
  color: #c6728a;
  font-size: clamp(25.5px, 0px + 6.8vw, 51px);
}
@media screen and (min-width: 768px) {
  .p-method__heading-text .color-pink {
    font-size: 32px;
  }
}
.p-method__heading-text .line-break {
  display: none;
}
@media screen and (max-width: 370px) {
  .p-method__heading-text .line-break {
    display: block;
  }
}

.p-method__row {
  margin-top: clamp(19px, 0px + 5.0666666667vw, 38px);
  display: flex;
  align-items: start;
  gap: clamp(10px, 0px + 2.6666666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-method__row {
    margin-top: 10px;
    position: relative;
  }
}

.p-method__scriptArea {
  width: 69.3333333333%;
  padding-left: clamp(4px, 0px + 1.0666666667vw, 8px);
}
@media screen and (min-width: 768px) {
  .p-method__scriptArea {
    width: calc(100% - 237px);
  }
}

.p-method__script {
  color: #51483a;
  font-size: clamp(15.5px, 0px + 4.1333333333vw, 31px);
  line-height: 2.1;
}
@media screen and (min-width: 768px) {
  .p-method__script {
    font-size: 20px;
    font-family: "Noto Serif JP";
  }
}

.p-method__machine {
  padding-top: clamp(4.5px, 0px + 1.2vw, 9px);
  width: 28%;
}
@media screen and (min-width: 768px) {
  .p-method__machine {
    position: absolute;
    top: -70px;
    right: 0;
    width: 237px;
    height: 397px;
  }
}

.p-method__machine-img {
  width: clamp(105px, 0px + 28vw, 210px);
  aspect-ratio: 210/360;
}
@media screen and (min-width: 768px) {
  .p-method__machine-img {
    width: 237px;
  }
}

.p-method__cards {
  margin-top: clamp(29px, 0px + 7.7333333333vw, 58px);
  display: flex;
  justify-content: center;
  gap: clamp(12.5px, 0px + 3.3333333333vw, 25px);
}
@media screen and (min-width: 768px) {
  .p-method__cards {
    margin-top: 50px;
    justify-content: start;
    gap: clamp(0rem, -10.323rem + 21.51vw, 5rem);
  }
}

.p-methodCard__head {
  margin-left: auto;
  margin-right: auto;
  width: clamp(95px, 0px + 25.3333333333vw, 190px);
  aspect-ratio: 190/55;
  border-radius: clamp(13.75px, 0px + 3.6666666667vw, 27.5px);
  background: #f5eef0;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .p-methodCard__head {
    width: 118.5px;
    border-radius: 17.15px;
  }
}

.p-methodCard__head-text {
  color: #51483a;
  font-size: clamp(15.5px, 0px + 4.1333333333vw, 31px);
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-methodCard__head-text {
    font-size: 20px;
  }
}

.p-methodCard__hairRoot {
  margin-top: clamp(14px, 0px + 3.7333333333vw, 28px);
}
@media screen and (min-width: 768px) {
  .p-methodCard__hairRoot {
    margin-top: 18px;
  }
}

.p-methodCard__hairRoot-img {
  width: clamp(159px, 0px + 42.4vw, 318px);
  aspect-ratio: 291/196;
}
@media screen and (min-width: 768px) {
  .p-methodCard__hairRoot-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 225px;
  }
}

.p-methodCard__scriptArea {
  margin-top: clamp(2px, 0px + 0.5333333333vw, 4px);
  padding-left: clamp(8px, 0px + 2.1333333333vw, 16px);
}
@media screen and (min-width: 768px) {
  .p-methodCard__scriptArea {
    margin-top: 7px;
  }
}

.p-methodCard__script {
  color: #51483a;
  font-size: clamp(14.5px, 0px + 3.8666666667vw, 29px);
  line-height: 1.5;
}
@media screen and (max-width: 370px) {
  .p-methodCard__script {
    font-size: 13px;
  }
}
@media screen and (min-width: 768px) {
  .p-methodCard__script {
    font-size: 17px;
  }
}

.p-merit__contents {
  margin-top: clamp(33.5px, 0px + 8.9333333333vw, 67px);
}
@media screen and (min-width: 768px) {
  .p-merit__contents {
    margin-top: 91px;
  }
}

.p-merit__title {
  padding-left: clamp(11.5px, 0px + 3.0666666667vw, 23px);
  padding-right: clamp(5.5px, 0px + 1.4666666667vw, 11px);
  padding-bottom: clamp(3.5px, 0px + 0.9333333333vw, 7px);
  border-bottom: 1px solid #595755;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.p-merit__title::after {
  content: "";
  position: absolute;
  bottom: clamp(-12px, 0px + -1.6vw, -6px);
  left: 48.8%;
  transform: translateX(-50%) rotate(-40deg);
  width: clamp(16px, 0px + 4.2666666667vw, 32px);
  height: 1px;
  background: #595755;
}
@media screen and (min-width: 768px) {
  .p-merit__title::after {
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%) rotate(-42deg);
    width: 17px;
  }
}

.p-merit__title-text {
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: clamp(23px, 0px + 6.1333333333vw, 46px);
  color: #595755;
}
@media screen and (max-width: 370px) {
  .p-merit__title-text {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-merit__title-text {
    font-size: 35px;
  }
}

.p-merit__cards {
  margin-top: clamp(41.5px, 0px + 11.0666666667vw, 83px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, 0px + 2.6666666667vw, 20px);
  gap: 20px;
  max-width: 710px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1000px) {
  .p-merit__cards {
    margin-top: 56px;
    grid-template-columns: repeat(4, 1fr);
    max-width: none;
  }
}

.p-merit__item:nth-child(3), .p-merit__item:nth-child(4) {
  margin-top: clamp(6px, 0px + 1.6vw, 12px);
}
@media screen and (min-width: 1000px) {
  .p-merit__item:nth-child(3), .p-merit__item:nth-child(4) {
    margin-top: 0;
  }
}

.p-meritCard {
  border-radius: clamp(5px, 0px + 1.3333333333vw, 10px);
  overflow: hidden;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-bottom: clamp(22px, 0px + 5.8666666667vw, 44px);
  box-shadow: 0 1px 22px 0 rgba(0, 0, 0, 0.3);
}

.p-meritCard__title {
  width: 100%;
  background: #c0a267;
  padding-right: clamp(1px, 0px + 0.2666666667vw, 2px);
}

.p-meritCard__title-text {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #ffffff;
  font-size: clamp(21px, 0px + 5.6vw, 42px);
  line-height: 1.4;
  letter-spacing: clamp(0.5px, 0px + 0.1333333333vw, 1px);
}
@media screen and (min-width: 1000px) {
  .p-meritCard__title-text {
    font-size: 29px;
  }
}
.p-meritCard__title-text .number {
  font-size: clamp(25px, 0px + 6.6666666667vw, 50px);
}
@media screen and (min-width: 1000px) {
  .p-meritCard__title-text .number {
    font-size: 35px;
  }
}

.p-meritCard__scriptArea {
  margin-top: clamp(11.5px, 0px + 3.0666666667vw, 23px);
}
.p-meritCard__scriptArea.marginTop-low {
  margin-top: clamp(8.5px, 0px + 2.2666666667vw, 17px);
}
@media screen and (min-width: 1000px) {
  .p-meritCard__scriptArea.marginTop-low {
    margin-top: 23px;
  }
}

.p-meritCard__script {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #595755;
  font-size: clamp(19px, 0px + 5.0666666667vw, 38px);
  line-height: 1.5;
}
@media screen and (max-width: 370px) {
  .p-meritCard__script {
    font-size: 16px;
  }
}
@media screen and (min-width: 1000px) {
  .p-meritCard__script {
    font-size: 26px;
  }
}
.p-meritCard__script .color-pink {
  color: #c86c84;
}
.p-meritCard__script .fontSizeSmall {
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
}
@media screen and (max-width: 370px) {
  .p-meritCard__script .fontSizeSmall {
    font-size: 14px;
  }
}
@media screen and (min-width: 1000px) {
  .p-meritCard__script .fontSizeSmall {
    font-size: 22px;
  }
}

.p-meritCard__icon {
  margin-top: clamp(5.5px, 0px + 1.4666666667vw, 11px);
}

.p-meritCard__icon-img {
  width: clamp(58.5px, 0px + 15.6vw, 117px);
  aspect-ratio: 1/1;
}
@media screen and (min-width: 1000px) {
  .p-meritCard__icon-img {
    width: 87px;
  }
}
.p-meritCard__icon-img.small-icon {
  width: clamp(63px, 0px + 16.8vw, 126px);
}
@media screen and (min-width: 1000px) {
  .p-meritCard__icon-img.small-icon {
    width: 87px;
  }
}

.p-meritCard__detail {
  margin-top: clamp(6.5px, 0px + 1.7333333333vw, 13px);
  padding-right: clamp(3px, 0px + 0.8vw, 6px);
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  transition: opacity 0.3s ease;
}
.p-meritCard__detail::before {
  content: "";
  position: absolute;
  bottom: clamp(1.5px, 0px + 0.4vw, 3px);
  left: 0;
  width: 100%;
  height: 1px;
  background: #595755;
}
.p-meritCard__detail::after {
  content: "";
  position: absolute;
  top: 54%;
  transform: translateY(-50%);
  right: clamp(-24px, 0px + -3.2vw, -12px);
  width: clamp(6.5px, 0px + 1.7333333333vw, 13px);
  aspect-ratio: 13/16;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #595755;
}
.p-meritCard__detail:hover {
  cursor: pointer;
  opacity: 0.7;
}

.p-meritCard__detail-text {
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  color: #595755;
  line-height: 2.0357142857;
  font-weight: 500;
}
@media screen and (min-width: 1000px) {
  .p-meritCard__detail-text {
    font-size: 24px;
  }
}

.l-meritModal {
  position: fixed;
  inset: 0;
  margin: auto;
  width: 100%;
  max-width: clamp(264px, 0px + 70.4vw, 528px);
  overflow: visible;
  padding-top: clamp(31px, 0px + 8.2666666667vw, 62px);
  padding-right: clamp(19.5px, 0px + 5.2vw, 39px);
  padding-bottom: clamp(27px, 0px + 7.2vw, 54px);
  padding-left: clamp(17.5px, 0px + 4.6666666667vw, 35px);
  border-radius: clamp(5px, 0px + 1.3333333333vw, 10px);
  background: #ffffff;
  box-shadow: 0 1px 22px 0 rgba(255, 255, 255, 0.3);
  border: none;
  z-index: 60;
  overscroll-behavior-y: none;
}
@media screen and (min-width: 768px) {
  .l-meritModal {
    width: 75%;
    max-width: 1100px;
  }
}
.l-meritModal::backdrop {
  opacity: 0.8;
  background: #595755;
}

.p-meritModal__body {
  position: relative;
  z-index: 70;
}

.p-meritModal__closeButton {
  position: absolute;
  z-index: 80;
  top: clamp(-100px, 0px + -13.3333333333vw, -50px);
  right: clamp(-67px, 0px + -8.9333333333vw, -33.5px);
  width: clamp(45px, 0px + 12vw, 90px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 22px 0 #f1ebeb;
}

.p-meritModal__closeButton-bar {
  position: absolute;
  left: 50%;
  width: clamp(15px, 0px + 4vw, 30px);
  height: clamp(1.5px, 0px + 0.4vw, 3px);
  background: #d85a71;
}
.p-meritModal__closeButton-bar:nth-child(1) {
  transform: translateX(-50%) rotate(45deg);
}
.p-meritModal__closeButton-bar:nth-child(2) {
  transform: translateX(-50%) rotate(-45deg);
}

.p-meritModal__text {
  font-size: clamp(17px, 0px + 4.5333333333vw, 34px);
  color: #595755;
  line-height: 1.5882352941;
  letter-spacing: 4.1176470588;
}
.p-meritModal__text .fontWeight700 {
  font-weight: 700;
}

.l-parentVoice {
  padding-top: clamp(43.5px, 0px + 11.6vw, 87px);
  padding-bottom: clamp(50px, 0px + 13.3333333333vw, 100px);
  background: url(../img/bg_4.5.webp) no-repeat center center/100% 100%;
}
@media screen and (min-width: 1000px) {
  .l-parentVoice {
    padding-top: 118px;
  }
}

.p-parentVoice__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(9px, 0px + 2.4vw, 18px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice__title {
    gap: 20px;
  }
}

.p-parentVoice__title-sub {
  color: #4e4e4e;
  font-family: "Noto Serif JP";
  font-size: clamp(15px, 0px + 4vw, 30px);
  line-height: 1.7666666667;
}
@media screen and (min-width: 1000px) {
  .p-parentVoice__title-sub {
    font-size: 17px;
  }
}

.p-parentVoice__title-main {
  font-family: "Noto Serif JP";
  font-size: clamp(37.5px, 0px + 10vw, 75px);
  color: #4e4e4e;
  line-height: 0.92;
  letter-spacing: clamp(0.9px, 0px + 0.24vw, 1.8px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice__title-main {
    font-size: 43px;
  }
}
.p-parentVoice__title-main .fontSizeSmall {
  font-size: clamp(32.5px, 0px + 8.6666666667vw, 65px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice__title-main .fontSizeSmall {
    font-size: 38px;
  }
}

.p-parentVoice__cards {
  margin-top: clamp(47px, 0px + 12.5333333333vw, 94px);
  display: flex;
  flex-direction: column;
  gap: clamp(51px, 0px + 13.6vw, 102px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice__cards {
    margin-top: 128px;
    gap: 88px;
  }
}

.p-parentVoice__item {
  position: relative;
}

.p-parentVoice-item__head {
  position: absolute;
  top: clamp(-51px, 0px + -6.8vw, -25.5px);
  right: clamp(9.5px, 0px + 2.5333333333vw, 19px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-item__head {
    right: auto;
    top: -49px;
    left: 98px;
  }
}
.p-parentVoice-item__head.left-head {
  left: clamp(14px, 0px + 3.7333333333vw, 28px);
  right: auto;
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-item__head.left-head {
    left: 98px;
  }
}

.p-parentVoice-item__number {
  font-family: "Noto Serif JP";
  color: #4e4e4e;
}
.p-parentVoice-item__number .sub-text {
  font-size: clamp(13.5px, 0px + 3.6vw, 27px);
  line-height: 1.8888888889;
  letter-spacing: clamp(2.15px, 0px + 0.5733333333vw, 4.3px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-item__number .sub-text {
    font-size: 18px;
  }
}
.p-parentVoice-item__number .number-text {
  font-size: clamp(45px, 0px + 12vw, 90px);
  line-height: 0.5666666667;
  letter-spacing: clamp(0.75px, 0px + 0.2vw, 1.5px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-item__number .number-text {
    font-size: 58px;
  }
}

.p-parentVoice-card {
  background: #ffffff;
  padding-top: clamp(24.5px, 0px + 6.5333333333vw, 49px);
  padding-bottom: clamp(17px, 0px + 4.5333333333vw, 34px);
  padding-inline: clamp(17px, 0px + 4.5333333333vw, 34px);
  box-shadow: 0 5px 15px 0 rgba(247, 179, 220, 0.1);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card {
    padding: 66px 416px 34px 221px;
  }
}

.p-parentVoice-card__head {
  display: flex;
  gap: clamp(17px, 0px + 4.5333333333vw, 34px);
  padding-bottom: clamp(18px, 0px + 4.8vw, 36px);
  border-bottom: 2px dashed #4e4e4e;
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__head {
    position: relative;
    padding-bottom: 18px;
  }
}
.p-parentVoice-card__head.second-card {
  flex-direction: row-reverse;
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__head.second-card {
    flex-direction: row;
  }
}

.p-parentVoice-card__imageArea {
  flex-shrink: 0;
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__imageArea {
    position: absolute;
    top: 55px;
    left: -204px;
  }
}

.p-parentVoice-card__img {
  width: clamp(88px, 0px + 23.4666666667vw, 176px);
  aspect-ratio: 1/1;
}

.p-parentVoice-card__head-contents {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 0px + 2.6666666667vw, 20px);
  padding-top: clamp(6px, 0px + 1.6vw, 12px);
  padding-right: clamp(6px, 0px + 1.6vw, 12px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__head-contents {
    gap: 18px;
    padding-right: 22px;
  }
}

.p-parentVoice-card__title {
  color: #4e4e4e;
  font-weight: 600;
  font-size: clamp(20px, 0px + 5.3333333333vw, 40px);
  line-height: 1.275;
  letter-spacing: clamp(3px, 0px + 0.8vw, 6px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__title {
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 4.2px;
  }
}

.p-parentVoice-card__person {
  width: -moz-fit-content;
  width: fit-content;
  background: #d5a2c9;
  margin-left: clamp(4.5px, 0px + 1.2vw, 9px);
  padding-left: clamp(3.5px, 0px + 0.9333333333vw, 7px);
  padding-right: clamp(7.5px, 0px + 2vw, 15px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__person {
    margin-left: 0;
    padding-right: 7px;
  }
}
.p-parentVoice-card__person.second-card {
  margin-top: clamp(1.5px, 0px + 0.4vw, 3px);
  margin-left: clamp(-4px, 0px + -0.5333333333vw, -2px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__person.second-card {
    margin-left: 0;
  }
}
.p-parentVoice-card__person.third-card {
  margin-left: 0;
}

.p-parentVoice-card__person-text {
  color: #ffffff;
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  line-height: 1.5;
  letter-spacing: clamp(2px, 0px + 0.5333333333vw, 4px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__person-text {
    font-size: 22px;
    letter-spacing: 0.7px;
  }
}

.p-parentVoice-card__main {
  padding-top: clamp(10.5px, 0px + 2.8vw, 21px);
  padding-left: clamp(2.5px, 0px + 0.6666666667vw, 5px);
  padding-bottom: clamp(19px, 0px + 5.0666666667vw, 38px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__main {
    padding-left: 0;
    padding-bottom: 0;
  }
}

.p-parentVoice-card__script {
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  color: #4e4e4e;
  line-height: 1.7142857143;
  letter-spacing: clamp(1.4px, 0px + 0.3733333333vw, 2.8px);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__script {
    font-size: 20px;
    line-height: 1.88;
  }
}

.p-parentVoice-card__enquete {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__enquete {
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(9deg);
    right: 0;
  }
}

.p-parentVoice-card__enquete-img {
  width: 100%;
  max-width: 625px;
  aspect-ratio: 625/422;
  box-shadow: 0 0 15px 0 rgba(18, 18, 18, 0.05);
}
@media screen and (min-width: 1000px) {
  .p-parentVoice-card__enquete-img {
    width: 347px;
  }
}

.p-ctaSecond {
  margin-top: clamp(46.5px, 0px + 12.4vw, 93px);
}

.p-ctaSecond__contents {
  gap: clamp(4.5px, 0px + 1.2vw, 9px);
}

.l-price {
  padding-top: clamp(33.5px, 0px + 8.9333333333vw, 67px);
  padding-bottom: clamp(45px, 0px + 12vw, 90px);
}
@media screen and (min-width: 768px) {
  .l-price {
    padding-top: 110px;
    padding-bottom: 120px;
  }
}

.p-price__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-price__title {
    gap: 11px;
  }
}

.p-price__title-sub {
  font-family: "Noto Serif JP";
  color: #4d4d4d;
  font-size: clamp(15px, 0px + 4vw, 30px);
  line-height: 2.3;
}
@media screen and (min-width: 768px) {
  .p-price__title-sub {
    font-size: 20px;
  }
}

.p-price__title-main {
  font-family: "Noto Serif JP";
  color: #4d4d4d;
  font-size: clamp(37.5px, 0px + 10vw, 75px);
  line-height: 0.92;
}
@media screen and (min-width: 768px) {
  .p-price__title-main {
    font-size: 43px;
  }
}

.p-price__head {
  margin-top: clamp(30.5px, 0px + 8.1333333333vw, 61px);
}
@media screen and (min-width: 768px) {
  .p-price__head {
    margin-top: 54px;
  }
}

.p-price__head-text {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #4d4d4d;
  font-size: clamp(25px, 0px + 6.6666666667vw, 50px);
}
@media screen and (min-width: 768px) {
  .p-price__head-text {
    font-size: 41px;
    letter-spacing: 1px;
  }
}
.p-price__head-text .color-pink {
  color: #d06aaf;
  font-size: clamp(35px, 0px + 9.3333333333vw, 70px);
}
@media screen and (min-width: 768px) {
  .p-price__head-text .color-pink {
    font-size: 58px;
  }
}
.p-price__head-text .fontSize48 {
  font-size: clamp(24px, 0px + 6.4vw, 48px);
}
@media screen and (min-width: 768px) {
  .p-price__head-text .fontSize48 {
    font-size: 39px;
  }
}
.p-price__head-text .fontSize56 {
  font-size: clamp(28px, 0px + 7.4666666667vw, 56px);
}
@media screen and (min-width: 768px) {
  .p-price__head-text .fontSize56 {
    font-size: 46px;
  }
}
.p-price__head-text .fontSize40 {
  font-size: clamp(20px, 0px + 5.3333333333vw, 40px);
}
@media screen and (min-width: 768px) {
  .p-price__head-text .fontSize40 {
    font-size: 33px;
  }
}
.p-price__head-text .fontSize60 {
  font-size: clamp(30px, 0px + 8vw, 60px);
}
@media screen and (min-width: 768px) {
  .p-price__head-text .fontSize60 {
    font-size: 50px;
  }
}
.p-price__head-text .line-break-first {
  display: block;
}
@media screen and (min-width: 1200px) {
  .p-price__head-text .line-break-first {
    display: none;
  }
}
.p-price__head-text .line-break-second {
  display: none;
}
@media screen and (max-width: 374px) {
  .p-price__head-text .line-break-second {
    display: block;
  }
}

.p-price__cards {
  margin-top: clamp(13px, 0px + 3.4666666667vw, 26px);
  display: flex;
  flex-direction: column;
  gap: clamp(16.5px, 0px + 4.4vw, 33px);
}
@media screen and (min-width: 768px) {
  .p-price__cards {
    margin-top: 28px;
    flex-direction: row;
    justify-content: center;
  }
}

.p-priceCard {
  background: #ffffff;
  padding-top: clamp(16.5px, 0px + 4.4vw, 33px);
  padding-bottom: clamp(19.5px, 0px + 5.2vw, 39px);
  padding-left: clamp(13.5px, 0px + 3.6vw, 27px);
  box-shadow: 0 3px 15px 0 rgba(18, 18, 18, 0.04);
  display: flex;
  align-items: center;
  gap: clamp(16px, 0px + 4.2666666667vw, 32px);
}
@media screen and (min-width: 768px) {
  .p-priceCard {
    flex-direction: column-reverse;
    gap: 45px;
    padding: 57px 20px 50px 38px;
  }
}

.p-priceCard__imageArea {
  flex-shrink: 0;
}

.p-priceCard__img {
  width: clamp(131.5px, 0px + 35.0666666667vw, 263px);
  aspect-ratio: 1/1;
}
@media screen and (max-width: 370px) {
  .p-priceCard__img {
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  .p-priceCard__img {
    width: 180px;
  }
}

.p-priceCard__main {
  margin-top: clamp(17px, 0px + 4.5333333333vw, 34px);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-priceCard__main {
    margin-top: 0;
  }
}

.p-priceCard__title {
  margin-top: clamp(6.5px, 0px + 1.7333333333vw, 13px);
  padding-right: clamp(14px, 0px + 3.7333333333vw, 28px);
  width: clamp(149px, 0px + 39.7333333333vw, 298px);
  aspect-ratio: 298/58;
  background: url(../img/priceCard-titleBack.webp) no-repeat center center/contain;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .p-priceCard__title {
    margin-top: 0;
    padding-right: 0;
    width: 100%;
  }
}

.p-priceCard__title-text {
  color: #ffffff;
  font-size: clamp(18px, 0px + 4.8vw, 36px);
}
@media screen and (min-width: 768px) {
  .p-priceCard__title-text {
    font-size: clamp(1.25rem, -0.528rem + 3.7vw, 2.25rem);
  }
}

.p-priceCard__price-text {
  font-family: "Noto Serif JP";
  font-size: clamp(25px, 0px + 6.6666666667vw, 50px);
}
@media screen and (max-width: 370px) {
  .p-priceCard__price-text {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-priceCard__price-text {
    font-size: clamp(1.25rem, -0.194rem + 3.01vw, 2.063rem);
  }
}
.p-priceCard__price-text .color-pink {
  color: #d06aaf;
  font-size: clamp(45px, 0px + 12vw, 90px);
}
@media screen and (max-width: 370px) {
  .p-priceCard__price-text .color-pink {
    font-size: 36px;
  }
}
@media screen and (min-width: 768px) {
  .p-priceCard__price-text .color-pink {
    font-size: clamp(2.5rem, 0.278rem + 4.63vw, 3.75rem);
  }
}

.p-price__tax {
  margin-top: clamp(16.5px, 0px + 4.4vw, 33px);
  padding-right: clamp(4.5px, 0px + 1.2vw, 9px);
}
@media screen and (min-width: 768px) {
  .p-price__tax {
    margin-top: 17px;
    padding-right: 75px;
  }
}

.p-price__tax-text {
  text-align: right;
  color: #4d4d4d;
  font-size: clamp(8.5px, 0px + 2.2666666667vw, 17px);
}
@media screen and (min-width: 768px) {
  .p-price__tax-text {
    font-size: 15px;
  }
}

.p-price__bottomScriptArea {
  margin-top: clamp(3px, 0px + 0.8vw, 6px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-price__bottomScriptArea {
    margin-top: 24px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-price__bottomScriptArea {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-price__bottomScriptArea::after {
  content: "";
  position: absolute;
  bottom: clamp(-55px, 0px + -7.3333333333vw, -27.5px);
  right: clamp(15px, 0px + 4vw, 30px);
  width: clamp(33px, 0px + 8.8vw, 66px);
  aspect-ratio: 66/80;
  background: url(../img/light-icon.svg) no-repeat center center/contain;
}
@media screen and (min-width: 1200px) {
  .p-price__bottomScriptArea::after {
    bottom: -45px;
    right: 115px;
    width: 42px;
  }
}

.p-price__bottomScript {
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: clamp(16.5px, 0px + 4.4vw, 33px);
  color: #4d4d4d;
}
@media screen and (max-width: 370px) {
  .p-price__bottomScript {
    font-size: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-price__bottomScript {
    font-size: 25px;
  }
}
@media screen and (min-width: 1200px) {
  .p-price__bottomScript .line-break {
    display: none;
  }
}

.p-ctaThird {
  margin-top: clamp(14px, 0px + 3.7333333333vw, 28px);
}
@media screen and (min-width: 768px) {
  .p-ctaThird {
    margin-top: 48px;
  }
}

.l-flow {
  padding-top: clamp(41px, 0px + 10.9333333333vw, 82px);
  padding-bottom: clamp(40px, 0px + 10.6666666667vw, 80px);
  background: url(../img/bg_4.5.webp) no-repeat center center/100% 100%;
}
@media screen and (min-width: 768px) {
  .l-flow {
    padding-top: 122px;
    padding-bottom: 85px;
  }
}

.p-flow__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-flow__title {
    gap: 11px;
  }
}

.p-flow__title-sub {
  font-size: clamp(15px, 0px + 4vw, 30px);
  color: #c96da5;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-flow__title-sub {
    font-size: 20px;
  }
}

.p-flow__title-main {
  font-size: clamp(37.5px, 0px + 10vw, 75px);
  color: #c96da5;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-flow__title-main {
    font-size: 43px;
    letter-spacing: 3px;
  }
}
.p-flow__title-main .fontSize65 {
  font-size: clamp(32.5px, 0px + 8.6666666667vw, 65px);
}
@media screen and (min-width: 768px) {
  .p-flow__title-main .fontSize65 {
    font-size: 38px;
  }
}

.p-flow__cards {
  margin-top: clamp(39px, 0px + 10.4vw, 78px);
  display: flex;
  flex-direction: column;
  gap: clamp(34.5px, 0px + 9.2vw, 69px);
}
@media screen and (min-width: 768px) {
  .p-flow__cards {
    margin-top: 50px;
    gap: 60px;
  }
}

.p-flowCard {
  padding-left: clamp(17.5px, 0px + 4.6666666667vw, 35px);
  position: relative;
  display: flex;
  gap: clamp(18px, 0px + 4.8vw, 36px);
}
@media screen and (min-width: 768px) {
  .p-flowCard {
    gap: 80px;
  }
}

.p-flowCard__number {
  position: absolute;
  top: clamp(-54px, 0px + -7.2vw, -27px);
  left: clamp(8.5px, 0px + 2.2666666667vw, 17px);
}
@media screen and (min-width: 768px) {
  .p-flowCard__number {
    top: -16px;
    left: -8px;
  }
}

.p-flowCard__number-text {
  font-size: clamp(35px, 0px + 9.3333333333vw, 70px);
  color: #c96da5;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-flowCard__number-text {
    font-size: 50px;
  }
}

.p-flowCard__imageArea {
  padding-top: clamp(8px, 0px + 2.1333333333vw, 16px);
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-flowCard__imageArea {
    padding-top: 0;
  }
}

.p-flowCard__img {
  width: clamp(125px, 0px + 33.3333333333vw, 250px);
  aspect-ratio: 1/1;
}
@media screen and (max-width: 370px) {
  .p-flowCard__img {
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  .p-flowCard__img {
    width: 170px;
  }
}

.p-flowCard__main {
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 0px + 1.6vw, 12px);
}
@media screen and (min-width: 768px) {
  .p-flowCard__main {
    flex-grow: 1;
    gap: 27px;
  }
}

.p-flowCard__title {
  padding-bottom: clamp(5.5px, 0px + 1.4666666667vw, 11px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-flowCard__title {
    padding-bottom: 15px;
  }
}
.p-flowCard__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: clamp(4px, 0px + 1.0666666667vw, 8px);
  width: clamp(180px, 0px + 48vw, 360px);
  height: 1px;
  background: #c96da5;
}
@media screen and (max-width: 370px) {
  .p-flowCard__title::after {
    width: clamp(9.375rem, -1.534rem + 54.55vw, 11.25rem);
  }
}
@media screen and (min-width: 768px) {
  .p-flowCard__title::after {
    width: 100%;
  }
}

.p-flowCard__title-text {
  font-size: clamp(19px, 0px + 5.0666666667vw, 38px);
  color: #c96da5;
  font-family: "Noto Serif JP";
  letter-spacing: clamp(-2.8px, 0px + -0.3733333333vw, -1.4px);
}
@media screen and (max-width: 370px) {
  .p-flowCard__title-text {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-flowCard__title-text {
    font-size: 30px;
  }
}

.p-flowCard__scriptArea {
  padding-right: clamp(10px, 0px + 2.6666666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-flowCard__scriptArea {
    width: 100%;
  }
}

.p-flowCard__script {
  color: #554c52;
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  line-height: 1.57;
  letter-spacing: clamp(0.25px, 0px + 0.0666666667vw, 0.5px);
}
@media screen and (min-width: 768px) {
  .p-flowCard__script {
    font-size: 20px;
  }
}

.p-ctaFourth {
  margin-top: clamp(19.5px, 0px + 5.2vw, 39px);
}
@media screen and (min-width: 768px) {
  .p-ctaFourth {
    margin-top: 96px;
  }
}

.l-faq {
  padding-top: clamp(35px, 0px + 9.3333333333vw, 70px);
  padding-bottom: clamp(36px, 0px + 9.6vw, 72px);
  background: #f4f0e9;
}
@media screen and (min-width: 768px) {
  .l-faq {
    padding-top: 107px;
    padding-bottom: 115px;
  }
}

.p-faq__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-faq__title {
    gap: 9px;
  }
}

.p-faq__title-sub {
  color: #1c1b18;
  font-family: "Noto Serif JP";
  font-size: clamp(15px, 0px + 4vw, 30px);
  letter-spacing: clamp(1px, 0px + 0.2666666667vw, 2px);
}
@media screen and (min-width: 768px) {
  .p-faq__title-sub {
    font-size: 20px;
  }
}

.p-faq__title-main {
  color: #4d4d4d;
  font-family: "Noto Serif JP";
  font-size: clamp(37.5px, 0px + 10vw, 75px);
  letter-spacing: clamp(-2px, 0px + -0.2666666667vw, -1px);
}
@media screen and (min-width: 768px) {
  .p-faq__title-main {
    font-size: 43px;
    letter-spacing: 3.5px;
  }
}

.p-faq__list {
  margin-top: clamp(28.5px, 0px + 7.6vw, 57px);
  display: flex;
  flex-direction: column;
  gap: clamp(28.5px, 0px + 7.6vw, 57px);
}
@media screen and (min-width: 768px) {
  .p-faq__list {
    margin-top: 63px;
    gap: 22px;
  }
}

.p-faq__item {
  border-radius: clamp(5px, 0px + 1.3333333333vw, 10px);
  overflow: hidden;
}
.p-faq__item.is-open .p-faq__question::after {
  display: none;
}

.p-faq__question {
  padding-left: clamp(36px, 0px + 9.6vw, 72px);
  padding-right: clamp(35px, 0px + 9.3333333333vw, 70px);
  width: 100%;
  height: clamp(72.5px, 0px + 19.3333333333vw, 145px);
  background: linear-gradient(to right, #cb92a1, #dab0ba);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__question {
    padding-left: clamp(6.75rem, 4.306rem + 5.09vw, 8.125rem);
    height: 66px;
  }
}
.p-faq__question::before {
  content: "";
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  right: clamp(21px, 0px + 5.6vw, 42px);
  width: clamp(12px, 0px + 3.2vw, 24px);
  height: clamp(1px, 0px + 0.2666666667vw, 2px);
  background: #ffffff;
}
.p-faq__question::after {
  content: "";
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  right: clamp(26.5px, 0px + 7.0666666667vw, 53px);
  width: clamp(1px, 0px + 0.2666666667vw, 2px);
  height: clamp(12px, 0px + 3.2vw, 24px);
  background: #ffffff;
}
.p-faq__question:hover {
  cursor: pointer;
}

.p-faq__question-text {
  font-size: clamp(17.5px, 0px + 4.6666666667vw, 35px);
  color: #ffffff;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__question-text {
    font-size: 25px;
  }
}
.p-faq__question-text::before {
  content: "Q.";
  position: absolute;
  left: clamp(-36px, 0px + -4.8vw, -18px);
}

.p-faq__answer {
  display: none;
  padding-top: clamp(16px, 0px + 4.2666666667vw, 32px);
  padding-right: clamp(7.5px, 0px + 2vw, 15px);
  padding-bottom: clamp(20.5px, 0px + 5.4666666667vw, 41px);
  padding-left: clamp(39.5px, 0px + 10.5333333333vw, 79px);
  background: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-faq__answer {
    padding-left: clamp(6.75rem, 3.75rem + 6.25vw, 8.438rem);
    padding-bottom: 32px;
    padding-right: 20px;
  }
}

.p-faq__answer-text {
  color: #1c1b18;
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
  color: #000000;
  line-height: 1.65;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__answer-text {
    font-size: 20px;
  }
}
.p-faq__answer-text::before {
  content: "A.";
  position: absolute;
  left: clamp(-38px, 0px + -5.0666666667vw, -19px);
}

.l-access {
  padding-top: clamp(16.5px, 0px + 4.4vw, 33px);
  padding-bottom: clamp(31px, 0px + 8.2666666667vw, 62px);
}
@media screen and (min-width: 768px) {
  .l-access {
    padding-top: 102px;
    padding-bottom: 73px;
  }
}

.l-access__inner {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .l-access__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-access__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-access__title {
    gap: 6px;
  }
}

.p-access__title-sub {
  color: #c96da5;
  font-family: "Noto Serif JP";
  font-size: clamp(15px, 0px + 4vw, 30px);
  line-height: 2.3;
}
@media screen and (min-width: 768px) {
  .p-access__title-sub {
    font-size: 20px;
  }
}

.p-access__title-main {
  color: #4d4d4d;
  font-family: "Noto Serif JP";
  font-size: clamp(37.5px, 0px + 10vw, 75px);
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-access__title-main {
    font-size: 43px;
    letter-spacing: 4px;
  }
}

.p-access__headImages {
  margin-top: clamp(36.5px, 0px + 9.7333333333vw, 73px);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-access__headImages {
    margin-top: 57px;
    flex-direction: row;
  }
}

.p-access__headImageFirst {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-access__headImageFirst {
    width: 33.3333333333%;
  }
}
.p-access__headImageFirst img {
  width: 100%;
  aspect-ratio: 750/356;
}
@media screen and (min-width: 768px) {
  .p-access__headImageFirst img {
    aspect-ratio: 400/260;
  }
}

.p-access__headImageSecond {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-access__headImageSecond {
    width: 66.6666666667%;
  }
}
.p-access__headImageSecond picture {
  width: 50%;
}
.p-access__headImageSecond img {
  width: 100%;
  aspect-ratio: 375/305;
}
@media screen and (min-width: 768px) {
  .p-access__headImageSecond img {
    aspect-ratio: 400/260;
  }
}

.p-access__contents {
  margin-top: clamp(21.5px, 0px + 5.7333333333vw, 43px);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1000px) {
  .p-access__contents {
    margin-top: 132px;
    flex-direction: row;
    justify-content: space-between;
  }
}

@media screen and (min-width: 1000px) {
  .p-access__contents-left {
    width: 45%;
  }
}

.p-access__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2px, 0px + 0.5333333333vw, 4px);
}
@media screen and (min-width: 1000px) {
  .p-access__logo {
    padding-right: 5px;
  }
}

.p-access__logo-main {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.p-access__logo-main::before {
  content: "";
  position: absolute;
  top: 47%;
  transform: translateY(-50%);
  left: clamp(-100px, 0px + -13.3333333333vw, -50px);
  width: clamp(46.5px, 0px + 12.4vw, 93px);
  aspect-ratio: 63/9;
  transform: scaleX(-1);
  background: url(../img/logoLine-right.webp) no-repeat center center/contain;
}
@media screen and (min-width: 1000px) {
  .p-access__logo-main::before {
    left: -80px;
    width: 70px;
  }
}
.p-access__logo-main::after {
  content: "";
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  right: clamp(-70px, 0px + -9.3333333333vw, -35px);
  width: clamp(31.5px, 0px + 8.4vw, 63px);
  aspect-ratio: 63/9;
  background: url(../img/logoLine-right.webp) no-repeat center center/contain;
}
@media screen and (min-width: 1000px) {
  .p-access__logo-main::after {
    right: -40px;
    width: 47px;
  }
}

.p-access__logo-img {
  width: clamp(142.5px, 0px + 38vw, 285px);
  aspect-ratio: 232/75;
}
@media screen and (min-width: 1000px) {
  .p-access__logo-img {
    width: 212px;
  }
}

.p-access__logo-subText {
  color: #d85a71;
  font-size: clamp(10px, 0px + 2.6666666667vw, 20px);
  letter-spacing: clamp(2px, 0px + 0.5333333333vw, 4px);
}
@media screen and (min-width: 1000px) {
  .p-access__logo-subText {
    font-size: 14.67px;
    letter-spacing: 3px;
  }
}

.p-access__infoArea {
  margin-top: clamp(13.5px, 0px + 3.6vw, 27px);
  padding-left: clamp(55.5px, 0px + 14.8vw, 111px);
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 0px + 4.8vw, 36px);
}
@media screen and (max-width: 370px) {
  .p-access__infoArea {
    padding-left: clamp(2.188rem, -6.012rem + 41vw, 3.469rem);
  }
}
@media screen and (min-width: 1000px) {
  .p-access__infoArea {
    margin-top: 53px;
    padding-left: 40px;
    gap: 27px;
  }
}

.p-access__info {
  color: #1c1b18;
  font-size: clamp(16px, 0px + 4.2666666667vw, 32px);
  line-height: 1.7;
  position: relative;
}
@media screen and (max-width: 370px) {
  .p-access__info {
    font-size: clamp(0.875rem, 0.075rem + 4vw, 1rem);
  }
}
@media screen and (min-width: 1000px) {
  .p-access__info {
    font-size: 25px;
  }
}
.p-access__info::before {
  content: "";
  position: absolute;
  top: clamp(8px, 0px + 2.1333333333vw, 16px);
  left: clamp(-35px, 0px + -4.6666666667vw, -17.5px);
  width: clamp(12px, 0px + 3.2vw, 24px);
  aspect-ratio: 24/29;
  background: #1c1b18;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
@media screen and (min-width: 1000px) {
  .p-access__info::before {
    width: 16px;
  }
}

.p-access__info-row {
  display: flex;
}
.p-access__info-row dt {
  width: clamp(80px, 0px + 21.3333333333vw, 160px);
}

.p-access__map {
  margin-top: clamp(34.5px, 0px + 9.2vw, 69px);
}
@media screen and (min-width: 1000px) {
  .p-access__map {
    margin-top: 18px;
    width: 51%;
  }
}

.p-access__map-iframe {
  width: 100%;
  height: clamp(199.5px, 0px + 53.2vw, 399px);
}
@media screen and (min-width: 1000px) {
  .p-access__map-iframe {
    height: 493px;
  }
}

.p-access__bottomList {
  margin-top: clamp(10.5px, 0px + 2.8vw, 21px);
  display: flex;
  justify-content: space-between;
  gap: clamp(7.5px, 0px + 2vw, 15px);
  max-width: 740px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1000px) {
  .p-access__bottomList {
    margin-top: 107px;
  }
}

.p-access__bottomItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 0px + 2.6666666667vw, 20px);
}

.p-access__bottomImage {
  width: 100%;
}
.p-access__bottomImage img {
  width: 100%;
  aspect-ratio: 223/146;
}

.p-access__bottomImage-script {
  color: #1c1b18;
  font-size: clamp(11.5px, 0px + 3.0666666667vw, 23px);
  text-align: center;
}

.l-counseling {
  padding-top: clamp(40.5px, 0px + 10.8vw, 81px);
  background: #fff5f7;
}
@media screen and (min-width: 768px) {
  .l-counseling {
    padding-top: 99px;
  }
}

.l-counseling__inner {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .l-counseling__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-counseling__title {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.p-counseling__title::before {
  content: "";
  position: absolute;
  top: clamp(7.5px, 0px + 2vw, 15px);
  left: clamp(-35px, 0px + -4.6666666667vw, -17.5px);
  width: clamp(25px, 0px + 6.6666666667vw, 50px);
  aspect-ratio: 50/93;
  background: url(../img/counseling-title-left.svg) no-repeat center center/contain;
}
@media screen and (max-width: 370px) {
  .p-counseling__title::before {
    top: 20px;
    left: -5px;
    width: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-counseling__title::before {
    top: -18px;
    left: -66px;
  }
}
.p-counseling__title::after {
  content: "";
  position: absolute;
  top: clamp(6.5px, 0px + 1.7333333333vw, 13px);
  right: clamp(-31px, 0px + -4.1333333333vw, -15.5px);
  width: clamp(25px, 0px + 6.6666666667vw, 50px);
  aspect-ratio: 50/93;
  transform: scaleX(-1);
  background: url(../img/counseling-title-left.svg) no-repeat center center/contain;
}
@media screen and (max-width: 370px) {
  .p-counseling__title::after {
    top: 20px;
    right: -5px;
    width: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-counseling__title::after {
    top: -18px;
    right: -59px;
  }
}

.p-counseling__title-text {
  font-size: clamp(20px, 0px + 5.3333333333vw, 40px);
  line-height: 1.325;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-counseling__title-text {
    font-size: 36px;
  }
}
.p-counseling__title-text .color-pink {
  color: #d16aaf;
  font-size: clamp(21.5px, 0px + 5.7333333333vw, 43px);
}
@media screen and (min-width: 768px) {
  .p-counseling__title-text .color-pink {
    font-size: 38px;
  }
}
@media screen and (min-width: 1101px) {
  .p-counseling__title-text .line-break {
    display: none;
  }
}

.p-counseling__imageArea {
  margin-top: clamp(10px, 0px + 2.6666666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-counseling__imageArea {
    margin-top: 36px;
  }
}

.p-counseling__img {
  width: 100%;
  aspect-ratio: 750/286;
}
@media screen and (min-width: 768px) {
  .p-counseling__img {
    aspect-ratio: 1100/292;
  }
}

.p-counseling__scriptBox {
  margin-top: clamp(20px, 0px + 5.3333333333vw, 40px);
  background: #ffffff;
  padding: clamp(6px, 0px + 1.6vw, 12px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-counseling__scriptBox {
    margin-top: 45px;
  }
}
.p-counseling__scriptBox::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: clamp(1.5px, 0px + 0.4vw, 3px);
  width: clamp(79px, 0px + 21.0666666667vw, 158px);
  aspect-ratio: 158/190;
  background: url(../img/counseling-woman.webp.webp) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .p-counseling__scriptBox::after {
    right: -2px;
    width: 194px;
  }
}

.p-counseling__scriptContent {
  border: 1px solid #d16aaf;
  padding-top: clamp(17.5px, 0px + 4.6666666667vw, 35px);
  padding-bottom: clamp(34px, 0px + 9.0666666667vw, 68px);
}
@media screen and (min-width: 768px) {
  .p-counseling__scriptContent {
    padding-top: 42px;
    padding-bottom: 50px;
  }
}

.p-counseling__script {
  color: #1c1b18;
  font-size: clamp(17.5px, 0px + 4.6666666667vw, 35px);
  font-family: "Noto Serif JP";
  line-height: 2.1428571429;
  text-align: center;
}
@media screen and (max-width: 370px) {
  .p-counseling__script {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .p-counseling__script {
    font-size: 25px;
    line-height: 1.8;
  }
}
@media screen and (min-width: 1101px) {
  .p-counseling__script .line-break {
    display: none;
  }
}

.p-counseling__telephone {
  margin-top: clamp(27px, 0px + 7.2vw, 54px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(6px, 0px + 1.6vw, 12px);
}
@media screen and (min-width: 768px) {
  .p-counseling__telephone {
    margin-top: 115px;
  }
}

.p-counseling__telephone-headText {
  color: #4d4d4d;
  font-family: "Noto Serif JP";
  font-size: clamp(20px, 0px + 5.3333333333vw, 40px);
  line-height: 1;
  letter-spacing: clamp(1px, 0px + 0.2666666667vw, 2px);
}

.p-counseling__telephone-number {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-counseling__telephone-number {
    padding-left: 70px;
  }
}
.p-counseling__telephone-number::before {
  content: "";
  position: absolute;
  top: clamp(6.5px, 0px + 1.7333333333vw, 13px);
  left: clamp(-45px, 0px + -6vw, -22.5px);
  width: clamp(20px, 0px + 5.3333333333vw, 40px);
  aspect-ratio: 40/52;
  background: url(../img/telIcon-image.svg) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .p-counseling__telephone-number::before {
    top: 14px;
    left: 7px;
    width: 43px;
  }
}

.p-counseling__telephone-numberText {
  color: #4d4d4d;
  font-family: "Shippori Mincho";
  font-size: clamp(30px, 0px + 8vw, 60px);
  line-height: 1;
  letter-spacing: clamp(1px, 0px + 0.2666666667vw, 2px);
}
@media screen and (min-width: 768px) {
  .p-counseling__telephone-numberText {
    font-size: 68px;
    letter-spacing: 4px;
  }
}

.p-counseling__telephone-time {
  margin-top: clamp(2.5px, 0px + 0.6666666667vw, 5px);
  display: flex;
  gap: clamp(19px, 0px + 5.0666666667vw, 38px);
}
.p-counseling__telephone-time dt {
  color: #4d4d4d;
  font-family: "Noto Serif JP";
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  line-height: 1;
  letter-spacing: clamp(1.5px, 0px + 0.4vw, 3px);
}
.p-counseling__telephone-time dd {
  color: #4d4d4d;
  font-family: "Noto Serif JP";
  font-size: clamp(14px, 0px + 3.7333333333vw, 28px);
  line-height: 1;
  letter-spacing: clamp(1.5px, 0px + 0.4vw, 3px);
}
.p-counseling__telephone-time dd .fontSize20 {
  font-size: clamp(10px, 0px + 2.6666666667vw, 20px);
}

.p-counseling__line {
  margin-top: clamp(15px, 0px + 4vw, 30px);
}
@media screen and (min-width: 768px) {
  .p-counseling__line {
    margin-top: 33px;
  }
}

.p-counseling__line-button {
  display: inline-block;
  padding-top: clamp(18px, 0px + 4.8vw, 36px);
  padding-bottom: clamp(15px, 0px + 4vw, 30px);
  padding-right: clamp(7px, 0px + 1.8666666667vw, 14px);
  padding-left: clamp(24px, 0px + 6.4vw, 48px);
  width: 100%;
  background: linear-gradient(to right, #1bc479, #129058);
  border-radius: clamp(34.5px, 0px + 9.2vw, 69px);
  box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.14);
  transition: opacity 0.3s ease;
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(12px, 0px + 3.2vw, 24px);
}
@media screen and (min-width: 768px) {
  .p-counseling__line-button {
    justify-content: center;
    gap: 16px;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 14px;
    padding-bottom: 18px;
    padding-right: 97px;
  }
}
.p-counseling__line-button::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(27px, 0px + 7.2vw, 54px);
  width: clamp(17px, 0px + 4.5333333333vw, 34px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #ffffff;
}
@media screen and (min-width: 768px) {
  .p-counseling__line-button::before {
    right: calc(50% - 193px);
    width: 28px;
  }
}
.p-counseling__line-button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(32.5px, 0px + 8.6666666667vw, 65px);
  width: clamp(4.5px, 0px + 1.2vw, 9px);
  aspect-ratio: 9/14;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-counseling__line-button::after {
    right: calc(50% - 183px);
    width: 6px;
  }
}
.p-counseling__line-button:hover {
  cursor: pointer;
  opacity: 0.7;
}

.p-counseling__lineIcon-img {
  width: clamp(32px, 0px + 8.5333333333vw, 64px);
  aspect-ratio: 64/61;
}
@media screen and (min-width: 768px) {
  .p-counseling__lineIcon-img {
    width: 39px;
  }
}

.p-counseling__line-text {
  color: #ffffff;
  font-size: clamp(25px, 0px + 6.6666666667vw, 50px);
  letter-spacing: clamp(3px, 0px + 0.8vw, 6px);
  text-shadow: -2px 3px 8px rgba(0, 0, 0, 0.33);
}
@media screen and (max-width: 370px) {
  .p-counseling__line-text {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-counseling__line-text {
    font-size: 30px;
  }
}

.l-contact {
  padding-top: clamp(40.5px, 0px + 10.8vw, 81px);
  padding-bottom: clamp(47.5px, 0px + 12.6666666667vw, 95px);
  background: #fff5f7;
}
@media screen and (min-width: 768px) {
  .l-contact {
    padding-top: 86px;
    padding-bottom: 94px;
  }
}

@media screen and (min-width: 768px) {
  .l-contact__inner {
    max-width: 740px;
  }
}

.p-contact__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2px, 0px + 0.5333333333vw, 4px);
}
@media screen and (min-width: 768px) {
  .p-contact__title {
    gap: 11px;
  }
}

.p-contact__title-sub {
  color: #c96da5;
  font-size: clamp(15px, 0px + 4vw, 30px);
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-contact__title-sub {
    font-size: 20px;
  }
}

.p-contact__title-main {
  color: #3b3b3b;
  font-family: "Noto Serif JP";
  font-size: clamp(27px, 0px + 7.2vw, 54px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-contact__title-main {
    font-size: 43px;
  }
}
.p-contact__title-main::before {
  content: "";
  position: absolute;
  top: 56%;
  transform: translateY(-50%);
  left: clamp(-45px, 0px + -6vw, -22.5px);
  width: clamp(13px, 0px + 3.4666666667vw, 26px);
  aspect-ratio: 26/32;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: #3b3b3b;
}
@media screen and (min-width: 768px) {
  .p-contact__title-main::before {
    top: 52%;
    transform: translateY(-50%);
    left: -35px;
  }
}
.p-contact__title-main::after {
  content: "";
  position: absolute;
  top: 56%;
  transform: translateY(-50%);
  right: clamp(-48px, 0px + -6.4vw, -24px);
  width: clamp(13px, 0px + 3.4666666667vw, 26px);
  aspect-ratio: 26/32;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: #3b3b3b;
}
@media screen and (min-width: 768px) {
  .p-contact__title-main::after {
    top: 52%;
    transform: translateY(-50%);
    right: -41px;
  }
}

.p-contact__contents {
  margin-top: clamp(41.5px, 0px + 11.0666666667vw, 83px);
}
@media screen and (min-width: 768px) {
  .p-contact__contents {
    margin-top: 67px;
  }
}

.p-contactForm__fields {
  display: flex;
  flex-direction: column;
  gap: clamp(13.5px, 0px + 3.6vw, 27px);
}

.p-contactForm__field {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 0px + 2.1333333333vw, 16px);
}

.p-contactForm__label {
  color: #3b3b3b;
  font-size: clamp(17.5px, 0px + 4.6666666667vw, 35px);
}
@media screen and (min-width: 768px) {
  .p-contactForm__label {
    font-size: 20px;
    letter-spacing: 3px;
  }
}
.p-contactForm__label:hover {
  cursor: pointer;
}

.p-contactForm__input {
  background: #ffffff;
  border-radius: clamp(5px, 0px + 1.3333333333vw, 10px);
  width: 100%;
  height: clamp(69.5px, 0px + 18.5333333333vw, 139px);
  border: none;
  padding: clamp(10px, 0px + 2.6666666667vw, 20px);
  color: #3b3b3b;
  font-size: clamp(17.5px, 0px + 4.6666666667vw, 35px);
}
@media screen and (min-width: 768px) {
  .p-contactForm__input {
    height: 72px;
    padding: 20px;
    font-size: 20px;
  }
}

.p-contactForm__textarea {
  background: #ffffff;
  border-radius: clamp(5px, 0px + 1.3333333333vw, 10px);
  width: 100%;
  height: clamp(184px, 0px + 49.0666666667vw, 368px);
  border: none;
  padding: clamp(10px, 0px + 2.6666666667vw, 20px);
  color: #3b3b3b;
  font-size: clamp(17.5px, 0px + 4.6666666667vw, 35px);
}
@media screen and (min-width: 768px) {
  .p-contactForm__textarea {
    height: 72px;
    padding: 20px;
    font-size: 20px;
  }
}

.p-contactForm__button {
  margin-top: clamp(26px, 0px + 6.9333333333vw, 52px);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-contactForm__button {
    margin-top: 69px;
  }
}

.p-contactForm__submit {
  display: inline-block;
  width: clamp(182.5px, 0px + 48.6666666667vw, 365px);
  aspect-ratio: 365/82;
  border-radius: clamp(20px, 0px + 5.3333333333vw, 40px);
  background: #d85a71;
  border: 1px solid currentColor;
  color: #ffffff;
  font-size: clamp(17.5px, 0px + 4.6666666667vw, 35px);
  letter-spacing: clamp(6px, 0px + 1.6vw, 12px);
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-contactForm__submit {
    width: 440px;
    aspect-ratio: 440/60;
    font-size: 25px;
  }
}
.p-contactForm__submit:hover {
  cursor: pointer;
  color: #d85a71;
  background: #ffffff;
}

.l-footer {
  padding-top: clamp(22.5px, 0px + 6vw, 45px);
  padding-bottom: clamp(45.5px, 0px + 12.1333333333vw, 91px);
  background: linear-gradient(to right, #cb92a1, #dab0ba);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(4px, 0px + 1.0666666667vw, 8px);
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-top: 58px;
    padding-bottom: 63px;
    gap: 13px;
  }
}

@media screen and (min-width: 768px) {
  .p-footer__logo {
    padding-left: 35px;
  }
}

.p-footer__logo-img {
  width: clamp(100.5px, 0px + 26.8vw, 201px);
  aspect-ratio: 201/51;
}

.p-footer__copyright-text {
  color: #f8f0f5;
  font-size: clamp(8px, 0px + 2.1333333333vw, 16px);
  letter-spacing: clamp(0.5px, 0px + 0.1333333333vw, 1px);
}


