@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
  --sp_width: 750px;
}

.page_self_aesthetic {
  /* font-family: "Noto Sans JP", sans-serif; */
  font-family: "Noto Serif JP", serif;
}

.feature {
  padding: 0 0 250px;
}

.feature_inner01 {
  background-color: #f6e8f3;
  padding: 50px 0 0;
}

.feature_inner02 {
  background-color: #fff;
  padding: 84px 0 0;
}

.container {
  max-width: 1025px;
  margin: 0 auto;
  width: 100%;
}

.feature_head {
  margin: 0 0 50px;
}

.feature_item {
  padding: 0 0 50px;
}

.feature_price {
  position: relative;
}

.feature_price_caption {
  color: #2e2428;
  font-size: 28.77px;
  font-weight: 500;
  line-height: 1.6em;
  position: absolute;
  inset: auto 0 5% 0;
  margin: 0 auto;
  text-align: center;
}

.section_head {
  background-color: #914274;
  padding: 20px 0 40px;
  position: relative;
  margin: 0 0 200px;
}

.section_head::after {
  background-image: url("../images/self_aesthetic/section_head_arrow.png");
  background-size: 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  inset: auto 0 -69px 0;
  margin: 0 auto;
  height: 72px;
  width: 360px;
}

.section_title {
  color: #fff;
  font-size: 65px;
  font-weight: bold;
  line-height: 1.6em;
  text-align: center;
}

.section_head_bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2%;
}

.section_head_text {
  color: #fff;
  font-size: 45px;
  font-weight: 500;
}

.section_head_text span {
  background: linear-gradient(transparent 60%, #7b2c5e 60%);
  padding: 0 0 0 18px;
}

.section_head_tags {
  display: flex;
  align-items: center;
  gap: 4%;
}

.section_head_tag {
  /* background-color: #595857; */
  border: 3px solid #fff;
  border-radius: 100px;
  color: #fff;
  font-size: 34px;
  font-weight: 500;
  padding: 0 40px 2px;
  line-height: 1.4em;
}

.introduce {
  padding: 0 0 225px;
}

.introduce_img {
  margin: 0 0 8%;
}

.introduce_contents {
  margin: 0 auto;
  width: 89.84375%;
}

.introduce_contents_head {
  background-color: #914274;
  color: #fff;
  font-size: 40px;
  font-weight: 500;
  line-height: 1em;
  padding: 40px 0;
  text-align: center;
}

.introduce_items {
  display: flex;
  flex-wrap: wrap;
}

.introduce_items.show_pc {
  display: flex;
}

.introduce_items.show_sp {
  display: none;
}

.introduce_item {
  background-color: #f6e8f3;
  display: block;
  /* padding: 50px; */
  padding: 50px 0;
  width: 50%;
}

.introduce_items > div:nth-of-type(1),
.introduce_items > div:nth-of-type(4),
.introduce_items > div:nth-of-type(5) {
  background-color: #e9d9e3;
}

.introduce_item_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 50px 10%;
}

.introduce_items > div:nth-of-type(5) .introduce_item_head {
  padding: 0 10px 10% 20px;
}

.introduce_item_img {
  width: 30%;
}

.introduce_items > div:nth-of-type(5) .introduce_item_img {
  width: 25%;
}

.introduce_item_titles {
  width: 70%;
}

.introduce_item_title {
  color: #2e2428;
  font-size: 27px;
  font-weight: 600;
  line-height: 2em;
  text-align: center;
}

.introduce_item_title.adjust {
  font-feature-settings: "palt";
  line-height: 1.3em;
  letter-spacing: -1px;
}

.introduce_item_subTitle {
  color: #2e2428;
  font-size: 20px;
  font-weight: 500;
  line-height: 1em;
  text-align: center;
}

.introduce_item_text {
  color: #2e2428;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6em;
  padding: 0 42px;
  text-align: justify;
}

.point {
  padding: 0 0 225px;
}

.point .section_head {
  background-color: #e16bb3;
}

.point .section_head::after {
  background-image: url("../images/self_aesthetic/section_head_arrow02.png");
}

.point .section_head_text span {
  background: linear-gradient(transparent 60%, #d64da1 60%);
  padding: 0 14px 0 10px;
}

.point_items {
  margin: 0 auto;
  width: 89.84375%;
}

.point_items > div:not(:last-of-type) {
  margin: 0 0 8%;
}

.point_item_title {
  margin: 0 0 4%;
  width: 100%;
}

.point_item.point_item01 {
  position: relative;
}

.point_item.point_item01::after {
  background-image: url("../images/self_aesthetic/point_title01_img.png");
  background-size: 100%;
  background-position: center top;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  inset: auto 3% -30% auto;
  height: 642px;
  width: 383px;
}

.point_item01 .point_item_title {
  width: 75.688%;
}

.point_item_text {
  color: #2e2428;
  font-size: 20px;
  font-weight: 600;
  padding: 0 3%;
  text-align: justify;
}

.point_item01 .point_item_text {
  width: 61%;
}

.step_title {
  width: 100%;
}

.step_img {
  margin: 0 auto;
  width: 100%;
}

.step_contents {
  background: linear-gradient(180deg, #fff 0%, #fff 50%, #f6e8f3 50%, #f6e8f3 100%);
  padding: 60px 0 132px;
}

.step_contents_head {
  color: #595857;
  font-size: 40px;
  font-weight: bold;
  margin: 0 0 74px;
  text-align: center;
}

.step_contents_head span {
  text-decoration: underline;
  text-decoration-color: #595857;
  text-decoration-thickness: 3px;
  text-underline-offset: 20px;
}

.step_item_img {
  display: block;
  max-width: 1025px;
  margin: 0 auto;
  width: 100%;
}

.show_pc {
  display: block;
}

.show_sp {
  display: none;
}

/* .step_items {
  max-width: 1025px;
  margin: 0 auto;
  width: 100%;
}

.step_items_inner {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 82.92689%;
}

.step_items_inner > div:nth-of-type(1) {
  width: calc(calc(238px / 850px) * 100%);
}

.step_items_inner > div:nth-of-type(2) {
  width: calc(calc(267px / 850px) * 100%);
}

.step_items_inner > div:nth-of-type(3) {
  width: calc(calc(238px / 850px) * 100%);
} */

@media screen and (max-width: 1500px) {
  .feature {
    padding: 0 0 16.666667vw;
  }

  .feature_inner01 {
    padding: 3.333333vw 0 0;
  }

  .feature_inner02 {
    padding: 5.6vw 0 0;
  }

  .container {
    max-width: 68.333333vw;
  }

  .feature_head {
    margin: 0 0 3.333333vw;
  }

  .feature_item {
    padding: 0 0 3.333333vw;
  }

  .feature_price_caption {
    font-size: 1.918vw;
  }

  .section_head {
    padding: 1.333333vw 0 2.666667vw;
    margin: 0 0 13.333333vw;
  }

  .section_head::after {
    inset: auto 0 -4.6vw 0;
    height: 4.8vw;
    width: 24vw;
  }

  .section_title {
    font-size: 4.333333vw;
  }

  .section_head_text {
    font-size: 3vw;
  }

  .section_head_text span {
    padding: 0 0 0 1.2vw;
  }

  .section_head_tag {
    border-radius: 6.666667vw;
    font-size: 2.266667vw;
    padding: 0 2.666667vw 0.133333vw;
  }

  .introduce {
    padding: 0 0 15vw;
  }

  .introduce_contents_head {
    font-size: 2.666667vw;
    padding: 2.666667vw 0;
  }

  .introduce_item {
    padding: 3.333333vw 0;
  }

  .introduce_item_head {
    padding: 0 3.333333vw 10%;
  }

  .introduce_items > div:nth-of-type(5) .introduce_item_head {
    padding: 0 0.666667vw 10% 1.333333vw;
  }

  .introduce_item_title {
    font-size: 1.8vw;
  }

  .introduce_item_title.adjust {
    letter-spacing: -0.066667vw;
  }

  .introduce_item_subTitle {
    font-size: 1.333333vw;
  }

  .introduce_item_text {
    font-size: 1.333333vw;
    padding: 0 2.8vw;
  }

  .point {
    padding: 0 0 15vw;
  }

  .point .section_head_text span {
    padding: 0 0.933333vw 0 0.666667vw;
  }

  .point_item.point_item01::after {
    height: 42.8vw;
    width: 25.533333vw;
  }

  .point_item_text {
    font-size: 1.333333vw;
  }

  .step_contents {
    padding: 4vw 0 8.8vw;
  }

  .step_contents_head {
    font-size: 2.666667vw;
    margin: 0 0 4.933333vw;
  }

  .step_contents_head span {
    text-underline-offset: 1.333333vw;
  }

  .step_item_img {
    max-width: 68.333333vw;
  }
}

@media screen and (max-width: 768px) {
  .show_pc {
    display: none;
  }

  .show_sp {
    display: block;
  }

  .feature {
    padding: 0;
  }

  .feature_inner01 {
    padding: 7.466667vw 0 0;
  }

  .feature_inner02 {
    padding: 0;
  }

  .container {
    max-width: 100%;
  }

  .feature_head {
    margin: 0 auto 6.666667vw;
    max-width: 407.89px;
    /* width: calc(calc(51.866667vw / var(--sp_width)) * 100%); */
    width: 80%;
  }

  .feature_item {
    padding: 0 0 10.133333vw;
    margin: 0 auto;
    max-width: 407.89px;
    /* width: calc(calc(51.866667vw / var(--sp_width)) * 100%); */
    width: 80%;
  }

  .feature_price_caption {
    font-size: 2.933333vw;
    inset: auto 0 6% 0;
  }

  .section_head {
    padding: 4vw 0;
    margin: 0 0 14.666667vw;
  }

  .section_head::after {
    background-image: url("../images/self_aesthetic/section_head_arrow_sp.png");
    inset: auto 0 -6.266667vw 0;
    height: 6.933333vw;
    width: 19.6vw;
  }

  .section_title {
    font-size: 7.333333vw;
  }

  .section_head_text {
    font-size: 4vw;
  }

  .section_head_bottom {
    gap: 4%;
  }

  .section_head_text span {
    background: linear-gradient(transparent 50%, #7b2c5e 50%);
    padding: 0 1.4vw 0 3.133333vw;
  }

  .section_head_tag {
    border-radius: 6.666667vw;
    font-size: 4vw;
    padding: 0 4.4vw 0.266667vw;
    line-height: 1.2em;
  }

  .introduce {
    padding: 0;
  }

  .introduce_img {
    margin: 0;
  }

  .introduce_contents {
    width: 100%;
  }

  .introduce_contents_head {
    font-size: 6vw;
    padding: 5.333333vw 0;
  }

  .introduce_items.show_pc {
    display: none;
  }

  .introduce_items.show_sp {
    display: flex;
  }

  .introduce_items {
    padding: 10% 0;
  }

  .introduce_item {
    background-color: #e9d9e3;
    padding: 6.666667vw 0;
  }

  .introduce_item_head {
    padding: 0 6.666667vw 10%;
  }

  .introduce_items.show_sp .introduce_item_head.adjust {
    padding: 0 0.666667vw 10% 1.333333vw;
  }

  .introduce_item_title {
    font-size: 3.6vw;
  }

  .introduce_item_title.adjust {
    letter-spacing: -0.066667vw;
  }

  .introduce_item_subTitle {
    font-size: 2.666667vw;
  }

  .introduce_item_text {
    font-size: 2.666667vw;
    padding: 0 4.8vw;
  }

  .introduce_items > div:nth-of-type(1),
  .introduce_items > div:nth-of-type(4),
  .introduce_items > div:nth-of-type(5) {
    background-color: #fff;
  }

  .swiper-button-prev:after,
  .swiper-button-next:after {
    background-image: url("../images/self_aesthetic/introduce_slide_arrow_sp.png");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    margin: auto;
    height: 13.2vw;
    width: 3.733333vw;
  }

  .swiper-button-prev:after {
    inset: 0 auto 0 9.333333vw;
  }

  .swiper-button-next:after {
    inset: 0 9.333333vw 0 auto;
    transform: rotate(180deg);
  }

  .point {
    padding: 0 0 20vw;
  }

  .point .section_head {
    margin: 0 0 100vw;
  }

  .point .section_head_text span {
    background: linear-gradient(transparent 50%, #d64da1 50%);
    padding: 0 2.666667vw;
  }

  .point .section_head::after {
    background-image: url("../images/self_aesthetic/section_head_arrow02_sp.png");
    inset: auto 0 -6.266667vw 0;
    height: 6.933333vw;
    width: 19.6vw;
  }

  .point_items {
    width: 100%;
  }

  .point_items > div:not(:last-of-type) {
    margin: 0 0 10%;
  }

  .point_item01 .point_item_title {
    width: 100%;
  }

  .point_item.point_item01::after {
    background-image: url("../images/self_aesthetic/point_title01_img_sp.png");
    height: 94.266667vw;
    width: 56.133333vw;
    inset: auto 0 102% 0;
    margin: auto;
  }

  .point_item_text {
    font-size: 4vw;
    padding: 0 7%;
    line-height: 1.4em;
  }

  .point_item01 .point_item_text {
    width: 100%;
  }

  .step_contents {
    background: #fbf3f6;
    padding: 4vw 0 20vw;
  }

  .step_contents_head {
    font-size: 6vw;
    margin: 0 0 8.4vw;
  }

  .step_contents_head span {
    text-underline-offset: 2.4vw;
  }

  .step_item_img {
    max-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 460px) {
  .swiper-button-prev:after {
    inset: 0 auto 0 .333333vw;
  }

  .swiper-button-next:after {
    inset: 0 .333333vw 0 auto;
  }
}
