/* global */
@media screen and (max-width: 520px) {
  .l-container {
    padding: 0 16px;
  }
}

/* mvtop */
.p-self_esthetic__mvtop {
  background: url(/img/web/self_esthetic/img_mvtop_bg.webp) no-repeat top center / cover;
  height: 644px;
}
.p-self_esthetic__mvtop .l-container {
  align-items: flex-end;
  display: flex;
  height: 100%;
  justify-content: center;
}
.p-self_esthetic__mvtop .mvtop__box {
  align-items: center;
  background: url(/img/web/self_esthetic/img_mvtop_box.png) no-repeat top center / 100% auto;
  display: flex;
  flex-direction: column;
  height: 568px;
  justify-content: center;
  width: 100%;
}
.p-self_esthetic__mvtop .mvtop__text,
.p-self_esthetic__mvtop .mvtop__text strong {
  font-weight: bold;
  position: relative;
}
.p-self_esthetic__mvtop .mvtop__text1 {
  color: #181415;
  font-size: 91px;
  font-size: min(7vw, 91px);
  top: -15px;
}
.p-self_esthetic__mvtop .mvtop__text1 span::before,
.p-self_esthetic__mvtop .mvtop__text1 span::after {
  background: #000;
  content: '';
  display: inline-block;
  height: 70px;
  height: min(5vw, 70px);
  margin: 0 50px;
  margin: 0 min(4vw, 50px);
  position: relative;
  top: 15px;
  top: min(1vw, 15px);
  width: 1px;
}
.p-self_esthetic__mvtop .mvtop__text1 span::before {
  transform: rotate(-35deg);
}
.p-self_esthetic__mvtop .mvtop__text1 span::after {
  transform: rotate(35deg);
}
.p-self_esthetic__mvtop .mvtop__text2 {
  color: #DB8787;
  font-size: 93px;
  font-size: min(7vw, 93px);
  top: -30px;
}
.p-self_esthetic__mvtop .mvtop__text2 strong {
  font-size: 170px;
  font-size: min(14vw, 170px);
}
.p-self_esthetic__mvtop .mvtop__text3 {
  align-items: center;
  background: url(/img/web/self_esthetic/img_mvtop_text.png) no-repeat 0 0 / 828px 97px;
  color: #fff;
  display: flex;
  font-size: 42px;
  font-size: min(4vw, 42px);
  height: 97px;
  justify-content: center;
  line-height: 1;
  text-shadow: 0 0 4px rgba(128,94,20,.77);
  top: -25px;
  width: 828px;
}
.p-self_esthetic__mvtop .mvtop__text3 strong {
  font-size: 63px;
  font-size: min(5vw, 63px);
  margin-left: .5em;
}
@media screen and (max-width: 1200px) {
  .p-self_esthetic__mvtop .mvtop__box {
    padding-top: 1vw;
  }
  .p-self_esthetic__mvtop .mvtop__text3 {
    background-size: 100%;
    height: 8vw;
    width: 68vw;
  }
}
@media screen and (max-width: 1160px) {
  .p-self_esthetic__mvtop {
    height: 52vw;
  }
  .p-self_esthetic__mvtop .mvtop__box {
    height: 46vw;
    padding-top: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .p-self_esthetic__mvtop .mvtop__text3 {
    background-image: url(/img/web/self_esthetic/img_mvtop_text--sp.png)
  }
}
@media screen and (max-width: 520px) {
  .p-self_esthetic__mvtop .mvtop__text1,
  .p-self_esthetic__mvtop .mvtop__text3 {
    top: -2vw;
  }
  .p-self_esthetic__mvtop .mvtop__text2 {
    top: -3vw;
  }
}

/* mvbottom */
.p-self_esthetic__mvbottom {
  background: url(/img/web/self_esthetic/img_mvbottom_bg.webp) no-repeat center center / cover;
  height: 357px;
  height: min(35vw, 357px);
}
.p-self_esthetic__mvbottom .l-container {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: flex-start;
}
.p-self_esthetic__mvbottom p {
  color: #E39797;
  font-size: 56px;
  font-size: min(5vw, 56px);
  text-align: center;
  transform: translateX(-140px);
}
@media screen and (max-width: 1400px) {
  .p-self_esthetic__mvbottom p {
    transform: none;
  }
}
@media screen and (max-width: 520px) {
  .p-self_esthetic__mvbottom p {
    font-size: 4vw;
    line-height: 1.3;
  }
}

/* about */
.p-self_esthetic__about {
  background: #F8F0E1;
}
.p-self_esthetic__abouthead {
  background: url(/img/web/self_esthetic/img_abouthead_bg.png) no-repeat center bottom / cover;
  height: 326px;
  height: min(40vw, 326px);
  margin-bottom: 30px;
  padding-bottom: min(3vw, 20px);
}
.p-self_esthetic__abouthead .l-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
}
.p-self_esthetic__abouthead .abouthead__text,
.p-self_esthetic__abouthead .abouthead__text strong {
  font-weight: bold;
}
.p-self_esthetic__abouthead .abouthead__text1 {
  color: #fff;
  font-size: 30px;
  font-size: min(4vw, 30px);
  margin-bottom: 30px;
  margin-bottom: min(3vw, 30px);
}
.p-self_esthetic__abouthead .abouthead__text2 {
  color: #E39797;
  font-size: 43px;
  font-size: min(6vw, 43px);
  position: relative;
}
.p-self_esthetic__abouthead .abouthead__text2::before {
  color: #E39797;
  content:'・・・';
  display: block;
  left: 50%;
  letter-spacing: .5em;
  line-height: 1;
  position: absolute;
  text-indent: .5em;
  top: -.45em;
  transform: translateX(-50%);
}
.p-self_esthetic__abouthead .abouthead__text2 span {
  background: #F8F0E1;
  padding: .5em .5em 0;
}
.p-self_esthetic__abouthead .abouthead__text3 {
  color: #fff;
  font-size: 40px;
  font-size: min(5vw, 40px);
  letter-spacing: .1em;
}
.p-self_esthetic__abouthead .abouthead__text3 strong {
  color: #F8F0E1;
  font-size: 54px;
  font-size: min(7vw, 54px);
}
.p-self_esthetic__aboutcnt .aboutcnt__box {
  align-items: center;
  background: rgba(255,255,255,.66);
  border: 1px solid #F4E0B5;
  border-radius: 5px;
  display: flex;
  height: 390px;
  justify-content: center;
  margin: 0 auto 50px;
  padding: 1.5em 0;
  width: 630px;
  width: min(80vw, 630px);
}
.p-self_esthetic__aboutcnt .aboutcnt__box p {
  color: #181415;
  font-size: 29px;
  font-size: min(4vw, 29px);
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
.p-self_esthetic__aboutcnt .aboutcnt__box p em {
  color: #D57979;
  font-size: 33px;
  font-size: min(4.5vw, 33px);
  font-weight: bold;
}
.p-self_esthetic__aboutcnt .aboutcnt__box p strong {
  background: #D57979;
  color: #fff;
  font-size: 33px;
  font-size: min(4.5vw, 33px);
  font-weight: bold;
  margin: 0 .25em;
  padding: .25em;
}
.p-self_esthetic__aboutcnt .aboutcnt__circle {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 60px;
  margin-bottom: min(6vw, 60px);
}
.p-self_esthetic__aboutcnt .aboutcnt__circle .item {
  align-items: center;
  background: linear-gradient(-45deg,#C69A3A,#E6C375 40%,#C19C4D);
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 47px;
  font-size: min(6vw, 47px);
  font-weight: bold;
  height: 338px;
  height: min(40vw, 338px);
  justify-content: center;
  text-align: center;
  text-shadow: 0 0 4px rgba(137,114,15,.85);
  width: 338px;
  width: min(40vw, 338px);
}
.p-self_esthetic__aboutcnt .aboutcnt__circle .item span {
  background: #B68F3C;
  border-radius: 9999px;
  font-size: 25px;
  font-size: min(3vw, 25px);
  padding: .25em 1em;
  text-shadow: none;
}
.p-self_esthetic__aboutcnt .aboutcnt__circle .sep {
  margin: 0 12px;
  margin: 0 min(1vw, 12px);
  width: 41px;
  width: min(4vw, 41px);
}
.p-self_esthetic__aboutcnt .aboutcnt__circle p {
  color: #000;
  font-size: 30px;
  font-size: min(4.5vw, 30px);
  margin-top: 30px;
  margin-top: min(3vw, 30px);
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-self_esthetic__aboutcnt .l-container {
    padding: 0 5vw;
  }
  .p-self_esthetic__aboutcnt .aboutcnt__box {
    height: auto;
  }
}
@media screen and (max-width: 520px) {
  .p-self_esthetic__abouthead {
    background-image: url(/img/web/self_esthetic/img_abouthead_bg--sp.png);
    margin-bottom: 15px;
  }
  .p-self_esthetic__aboutcnt .aboutcnt__box {
    margin-bottom: 15px;
  }
}

/* intro */
.p-self_esthetic__intro {
  background: url(/img/web/self_esthetic/img_intro_bg.webp) no-repeat top left / cover;
  padding: 150px 0;
  padding: min(12vw, 150px) 0;
}
.p-self_esthetic__introhead {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 50px;
  margin-bottom: min(5vw, 50px);
}
.p-self_esthetic__introhead .head__text {
  font-weight: bold;
}
.p-self_esthetic__introhead .head__text1 {
  background: radial-gradient(#ECA7A7, #D57D7D);
  border-radius: 9999px;
  color: #fff;
  font-size: 19px;
  font-size: min(3vw, 19px);
  padding: .3em 2em .4em;
}
.p-self_esthetic__introhead .head__text2 {
  color: #D57979;
  font-size: 66px;
  font-size: min(9vw, 66px);
  letter-spacing: .05em;
  margin-bottom: 10px;
}
.p-self_esthetic__introhead .head__text3 {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 30px;
  font-size: min(4.5vw, 30px);
  justify-content: center;
}
.p-self_esthetic__introhead .head__text3::before,
.p-self_esthetic__introhead .head__text3::after {
  background: #000;
  content: '';
  display: inline-block;
  height: 1px;
  margin: 0 15px;
  margin: 0 min(1vw, 15px);
  position: relative;
  top: 0;
  width: 45px;
  width: min(5vw, 45px); 
}
.p-self_esthetic__introcnt .introcnt__box {
  align-items: center;
  background: url(/img/web/self_esthetic/img_introcnt_box.png) no-repeat 0 0 / 100% 100%;
  display: flex;
  justify-content: center;
  height: 492px;
  height: min(60vw, 492px);
  margin: 0 auto 70px;
  margin-bottom: min(10vw, 70px);
  width: 748px;
  width: min(100%, 748px);
}
.p-self_esthetic__introcnt .introcnt__box p {
  color: #000;
  font-size: 29px;
  font-size: min(4vw, 29px);
  font-weight: bold;
  line-height: 2;
  text-align: center;
}
.p-self_esthetic__introcnt .introcnt__box p em {
  border-bottom: .3em solid rgba(213,121,121,.26);
  color: #D57979;
  font-size: 29px;
  font-size: min(4vw, 29px);
  font-weight: 900;
}
.p-self_esthetic__introcnt .introcnt__text {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.p-self_esthetic__introcnt .text__text,
.p-self_esthetic__introcnt .text__text strong {
  color: #000;
  font-weight: bold;
}
.p-self_esthetic__introcnt .text__text1 {
  background: url(/img/web/self_esthetic/img_introcnt_text1.png) no-repeat top left / 32px 38px, url(/img/web/self_esthetic/img_introcnt_text2.png) no-repeat top right / 32px 38px;
  font-size: 29px;
  font-size: min(4vw, 29px);
  height: 38px;
  line-height: 38px;
  padding: 0 48px;
}
.p-self_esthetic__introcnt .text__text2 {
  align-items: flex-end;
  display: flex;
  justify-content: center;
  left: -25px;
  position: relative;
  top: -25px;
}
.p-self_esthetic__introcnt .text__text2 span {
  align-items: center;
  background: url(/img/web/self_esthetic/img_introcnt_text3.png) no-repeat top left / 100% 100%;
  color: #fff;
  display: flex;
  font-size: 29px;
  font-size: min(4vw, 29px);
  height: 110px;
  height: min(15vw, 110px);
  justify-content: center;
  line-height: 1;
  margin-right: 5px;
  text-indent: -3px;
  transform: rotate(-15deg);
  width: 110px;
  width: min(15vw, 110px);
}
.p-self_esthetic__introcnt .text__text2 strong {
  border-bottom: 1px solid #D57979;
  color: #D57979;
  font-size: 51px;
  font-size: min(7vw, 51px);
}
.p-self_esthetic__introcnt .text__text3 {
  font-size: 29px;
  font-size: min(4vw, 29px);
}
.p-self_esthetic__introcnt .text__text3 small {
  display: block;
  font-size: 26px;
  font-size: min(4vw, 26px);
  margin-bottom: 10px;
  margin-bottom: min(1vw, 10px);
}
@media screen and (max-width: 520px) {
  .p-self_esthetic__introcnt .text__text1 {
    background-size: 14px 16px;
    height: 16px;
    line-height: 16px;
    padding: 0 24px;
  }
  .p-self_esthetic__introcnt .text__text2 {
    left: -10px;
    top: -10px;
  }
}

/* sample */
.p-self_esthetic__sample {
  background: #F5DADA;
  padding: 40px 0;
  padding: min(4vw, 40px) 0;
}
.p-self_esthetic__sample .sample__image {
  margin: auto;
  width: 790px;
  width: min(100%, 790px);
}
.p-self_esthetic__sample .sample__image p.note {
  font-size: min(2.4vw, 14px);
  margin-bottom: 40px;
  margin-bottom: min(4vw, 40px);
  margin-top: 5px;
}

/* slide */
.p-self_esthetic__slide {
  background: #E39797;
  padding: 75px 0 100px;
  padding: min(5vw, 75px) 0 min(7.5vw, 100px);
}
.p-self_esthetic__slidehead {
  margin-bottom: 60px;
  margin-bottom: min(5vw, 60px);
  text-align: center;
}
.p-self_esthetic__slidehead p {
  border: 1px solid #fff;
  color: #fff;
  display: inline-block;
  font-size: 29px;
  font-size: min(3.6vw, 29px);
  font-weight: bold;
  padding: .25em 1.5em;
  text-align: center;
}
.p-self_esthetic__slidecnt .slick-slide {
  margin: 0 15px;
  margin: 0 min(1.5vw, 15px);
}

/* select */
.p-self_esthetic__selecthead {
  align-items: center;
  background: #F8F0E1 url(/img/web/self_esthetic/img_selecthead_bg.png) no-repeat top center / 100% 100%;
  display: flex;
  flex-direction: column;
  height: 418px;
  height: min(50vw, 418px);
  justify-content: center;
  padding-bottom: 10px;
}
.p-self_esthetic__selecthead .selecthead_text {
  color: #fff;
  font-weight: bold;
}
.p-self_esthetic__selecthead .selecthead_text1 {
  font-size: 51px;
  font-size: min(7vw, 51px);
  margin-bottom: 30px;
  margin-bottom: min(3vw, 30px);
}
.p-self_esthetic__selecthead .selecthead_text2 {
  border-bottom: 1px solid #F4ECCE;
  color: #F4ECCE;
  font-size: 96px;
  font-size: min(12vw, 96px);
  line-height: 1;
  margin-bottom: 20px;
  margin-bottom: min(2vw, 20px);
}
.p-self_esthetic__selectbody {
  background: #F8F0E1;
  padding: 30px 0 60px;
  padding: min(3vw, 30px) 0 min(8vw, 60px);
}
.p-self_esthetic__selectbody,
.p-self_esthetic__selectbody strong {
  color: #000;
  font-weight: bold;
  text-align: center;
}
.p-self_esthetic__selectbody .selectbody__head {
  font-size: 47px;
  font-size: min(6vw, 47px);
  font-weight: bold;
  letter-spacing: .1em;
  margin-bottom: 30px;
  margin-bottom: min(3vw, 30px);
}
.p-self_esthetic__selectbody .selectbody__head strong {
  color: #D57979;
}
.p-self_esthetic__selectbody .selectbody__text {
  align-items: center;
  display: flex;
  font-size: 29px;
  font-size: min(4vw, 29px);
  justify-content: center;
  letter-spacing: .1em;
  margin-bottom: 60px;
  margin-bottom: min(6vw, 60px);
}
.p-self_esthetic__selectbody .selectbody__text::before,
.p-self_esthetic__selectbody .selectbody__text::after {
  background: #000;
  content: '';
  display: inline-block;
  height: 1px;
  margin: 0 15px;
  margin: 0 min(1vw, 15px);
  position: relative;
  top: 0;
  width: 45px;
  width: min(5vw, 45px); 
}
.p-self_esthetic__selectbody .selectbody__choice {
  margin: auto;
  width: 774px;
  width: min(100%, 774px);
}
.p-self_esthetic__selectbody .selectbody__item {
  align-items: center;
  background: #fff;
  border-left: min(6vw, 45px) solid transparent;
  display: flex;
  height: 120px;
  height: min(15vw, 120px);
  justify-content: flex-start;
  margin: 12px 0;
  margin: min(2vw, 12px) 0;
}
.p-self_esthetic__selectbody .selectbody__item::before {
  color: inherit;
  content: 'choice';
  display: block;
  font-size: 19px;
  font-size: min(3vw, 19px);
  margin: 0 40px 0 20px;
  margin: 0 min(4vw, 40px) 0 min(2vw, 20px);
  writing-mode: vertical-rl;
}
.p-self_esthetic__selectbody .selectbody__item span {
  color: inherit;
  flex-grow: 1;
  font-size: 58px;
  font-size: min(7vw, 58px);
  font-weight: bold;
  letter-spacing: .15em;
  line-height: 1;
  text-align: left;
}
.p-self_esthetic__selectbody .selectbody__item a {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 25px;
  font-size: min(3.2vw, 25px);
  font-weight: bold;
  justify-content: center;
  letter-spacing: .1em;
  margin-right: 40px;
  margin-right: min(5vw, 40px);
  padding: .5em 0;
  width: 267px;
  width: min(32vw, 267px);
}
.p-self_esthetic__selectbody .selectbody__item a:hover {
  opacity: .64;
}
.p-self_esthetic__selectbody .selectbody__item1 {
  border-color: #D57979;
  color: #D57979;
}
.p-self_esthetic__selectbody .selectbody__item2 {
  border-color: #704B52;
  color: #704B52;
}
.p-self_esthetic__selectbody .selectbody__item3 {
  border-color: #CDAB61;
  color: #CDAB61;
}
.p-self_esthetic__selectbody .selectbody__item1 a {
  background: #D57979;
}
.p-self_esthetic__selectbody .selectbody__item2 a {
  background: #704B52;
}
.p-self_esthetic__selectbody .selectbody__item3 a {
  background: #CDAB61;
}
.p-self_esthetic__selectlist {
  background: linear-gradient(180deg, #F8F0E1 0%, #F8F0E1 19%, #fff 19%, #fff 100%);
}
.p-self_esthetic__selectlist .selectlist__choice {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-bottom: 140px;
}
.p-self_esthetic__selectlist .selectlist__item {
  margin: 0 18px;
  position: relative;
  width: 548px;
  width: min(30vw, 548px);
}
.p-self_esthetic__selectlist .selectlist__image {
  left: 0;
  position: absolute;
  top: 0;
}
.p-self_esthetic__selectlist .selectlist__cnt {
  background: #fff;
  border-radius: 10px;
  margin: 190px auto 0;
  margin: min(10vw, 190px) auto 0;
  padding: 10px;
  position: relative;
  width: 500px;
  width: min(90%, 500px);
  z-index: 1;
}
.p-self_esthetic__selectlist .selectlist__body {
  align-items: center;
  background: #F3F3F3;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  justify-content: flex-start;
  margin-bottom: 30px;
  padding: 40px 0 30px;
  padding: min(3vw, 40px) 0 min(3vw, 30px);
  position: relative;
}
.p-self_esthetic__selectlist .selectlist__pop {
  align-items: center;
  border-radius: 0 0 0 4px;
  background: #f2b644 url(/img/web/icon/p-cta__recommend.svg) no-repeat center left 5px / 25px 20px;
  background-size: min(1.5vw, 25px) min(1.2vw, 20px);
  color: #fff;
  display: flex;
  font-size: 20px;
  font-size: min(1.4vw, 20px);
  font-weight: 600;
  line-height: 1;
  height: 40px;
  height: min(2.4vw, 40px);
  justify-content: center;
  padding-left: 30px;
  padding-left: min(2vw, 30px);
  position: absolute;
  right: 0;
  top: 0;
  width: 85px;
  width: min(6vw, 85px);
}
.p-self_esthetic__selectlist .selectlist__title {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  margin-bottom: min(2vw, 30px);
}
.p-self_esthetic__selectlist .selectlist__title::before {
  color: inherit;
  content: 'choice';
  display: block;
  font-size: 11px;
  font-size: min(3vw, 11px);
  writing-mode: vertical-rl;
}
.p-self_esthetic__selectlist .selectlist__title span {
  align-items: center;
  background: transparent;
  border-radius: 2px;
  color: #fff;
  display: flex;
  font-size: 34px;
  font-size: min(3vw, 34px);
  justify-content: center;
  line-height: 1;
  height: 56px;
  height: min(5vw, 56px);
  margin: 0 12px 0 6px;
  width: 56px;
  width: min(5vw, 56px);
}
.p-self_esthetic__selectlist .selectlist__title h3 {
  font-size: 41px;
  font-size: min(3vw, 41px);
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1;
}
.p-self_esthetic__selectlist .selectlist__desc {
  color: #000;
  font-size: 20px;
  font-size: min(1.3vw, 20px);
  font-weight: bold;
  margin-bottom: 30px;
  margin-bottom: min(1vw, 30px);
  text-align: center;
}
.p-self_esthetic__selectlist .selectlist__desc strong {
  font-weight: bold;
}
.p-self_esthetic__selectlist .selectlist__price {
  color: #000;
  text-align: center;
}
.p-self_esthetic__selectlist .selectlist__price strong {
  font-size: 35px;
  font-size: min(2.5vw, 35px);
  font-weight: bold;
}
.p-self_esthetic__selectlist .selectlist__price span {
  font-size: 23px;
  font-size: min(1.5vw, 23px);
}
.p-self_esthetic__selectlist .selectlist__price small {
  font-size: 14px;
  font-size: min(1.2vw, 14px);
}
.p-self_esthetic__selectlist .selectlist__check {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 20px;
  position: relative;
}
.p-self_esthetic__selectlist .selectlist__check::before {
  background: #000;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  top: 10px;
  top: min(.7vw, 10px);
  width: 100%;
}
.p-self_esthetic__selectlist .selectlist__check dt {
  background: #fff;
  font-size: 20px;
  font-size: min(1.4vw, 20px);
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1;
  margin-bottom: 20px;
  padding: 0 2.5em;
  padding: 0 min(2vw, 2.5em);
  position: relative;
}
.p-self_esthetic__selectlist .selectlist__check dd p {
  background: transparent no-repeat top 1px left / 23.5px 19px;
  color: #000;
  font-size: 18px;
  font-size: min(1vw, 18px);
  font-weight: bold;
  line-height: 20px;
  margin: .75em 0;
  min-height: 20px;
  padding-left: 40px;
  padding-left: min(3vw, 40px);
}
.p-self_esthetic__selectlist .selectlist__btn {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
}
.p-self_esthetic__selectlist .selectlist__btn span {
  align-items: center;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 9999px;
  display: flex;
  font-size: 14px;
  font-size: min(.8vw, 14px);
  font-weight: bold;
  justify-content: center;
  padding: .25em 1em .3em;
  position: absolute;
  top: 0;
  z-index: 1;
}
.p-self_esthetic__selectlist .selectlist__btn span::before,
.p-self_esthetic__selectlist .selectlist__btn span::after {
  content: '';
  display: block;
  height: 16px;
  height: min(1vw, 16px);
  margin: 0 1em;
  width: 2px;
}
.p-self_esthetic__selectlist .selectlist__btn span::before {
  transform: rotate(-30deg);
}
.p-self_esthetic__selectlist .selectlist__btn span::after {
  transform: rotate(30deg);
}
.p-self_esthetic__selectlist .selectlist__btn a {
  background: transparent no-repeat center right 15px / 28px 28px;
  background-size: min(2vw, 28px) min(2vw, 28px);
  border-radius: 10px;
  color: #fff;
  display: block;
  font-size: 19px;
  font-size: min(1.5vw, 19px);
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1.25;
  margin-top: 1em;
  padding: 1em 0;
  text-align: center;
  width: 100%;
}
.p-self_esthetic__selectlist .selectlist__btn a:hover {
  opacity: .64;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__title::before,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__title h3,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__desc strong,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__check dt,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__btn span {
  color: #D57979;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__title span,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__btn span::before,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__btn span::after,
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__btn a {
  background-color: #D57979;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__btn span {
  border-color: #D57979;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__check dd p {
  background-image: url(/img/web/self_esthetic/img_selectlist_check01.png);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(1) .selectlist__btn a {
  background-image: url(/img/web/self_esthetic/img_selectlist_btn01.png);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__title::before,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__title h3,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__desc strong,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__check dt,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__btn span {
  color: #704B52;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__title span,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__btn span::before,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__btn span::after,
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__btn a {
  background-color: #704B52;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__btn span {
  border-color: #704B52;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__check dd p {
  background-image: url(/img/web/self_esthetic/img_selectlist_check02.png);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(2) .selectlist__btn a {
  background-image: url(/img/web/self_esthetic/img_selectlist_btn02.png);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__title::before,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__title h3,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__desc strong,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__check dt,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__btn span {
  color: #CDAB61;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__title span,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__btn span::before,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__btn span::after,
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__btn a {
  background-color: #CDAB61;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__btn span {
  border-color: #CDAB61;
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__check dd p {
  background-image: url(/img/web/self_esthetic/img_selectlist_check03.png);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__btn a {
  background-image: url(/img/web/self_esthetic/img_selectlist_btn03.png);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__price small {
  color: #ADADAD;
  font-size: 12px;
  font-size: min(1vw, 12px);
}
.p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__price span small {
  color: #000;
  font-size: 16px;
  font-size: min(1.2vw, 16px);
  margin-left: 1em;
}
@media screen and (max-width: 1400px) {
  .p-self_esthetic__selecthead {
    background-size: auto 100%;
  }
  .p-self_esthetic__selectlist .selectlist__item {
    margin: 0 .5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-self_esthetic__selectlist {
    background: #fff;
  }
  .p-self_esthetic__selectlist .selectlist__choice {
    padding-bottom: 5vw;
  }
  .p-self_esthetic__selectlist .selectlist__item {
    margin: 0;
    width: 100%;
  }
  .p-self_esthetic__selectlist .selectlist__cnt {
    margin-top: 34vw;
    width: 90%;
  }
  .p-self_esthetic__selectlist .selectlist__body {
    margin-bottom: 7vw;
    padding: 6vw 0;
  }
  .p-self_esthetic__selectlist .selectlist__pop {
    background-size: 5vw 4vw;
    font-size: 4vw;
    padding-left: 6vw;
    height: 7vw;
    width: 16vw;
  }
  .p-self_esthetic__selectlist .selectlist__title {
    margin-bottom: 4vw;
  }
  .p-self_esthetic__selectlist .selectlist__title::before {
    font-size: 2.5vw;
  }
  .p-self_esthetic__selectlist .selectlist__title span {
    font-size: 7vw;
    height: 10vw;
    width: 10vw;
  }
  .p-self_esthetic__selectlist .selectlist__title h3 {
    font-size: 8vw;
  }
  .p-self_esthetic__selectlist .selectlist__desc {
    font-size: 4.2vw;
  }
  .p-self_esthetic__selectlist .selectlist__price strong {
    font-size: 7vw;
  }
  .p-self_esthetic__selectlist .selectlist__price span {
    font-size: 5vw;
  }
  .p-self_esthetic__selectlist .selectlist__price small {
    font-size: 3.5vw;
  }
  .p-self_esthetic__selectlist .selectlist__check {
    margin-bottom: 10px;
  }
  .p-self_esthetic__selectlist .selectlist__check::before {
    top: 2vw;
  }
  .p-self_esthetic__selectlist .selectlist__check dt {
    font-size: 4vw;
    margin-bottom: 10px;
    padding: 0 1.5em;
  }
  .p-self_esthetic__selectlist .selectlist__check dd p {
    background-size: 4.6vw;
    font-size: 4vw;
    line-height: 4.6vw;
    min-height: 4.6vw;
    padding-left: 7vw;
  }
  .p-self_esthetic__selectlist .selectlist__btn span {
    border-width: 1px;
    font-size: 3vw;
  }
  .p-self_esthetic__selectlist .selectlist__btn span::before,
  .p-self_esthetic__selectlist .selectlist__btn span::after {
    height: 3vw;
    margin: 0 .5em;
    width: 1px;
  }
  .p-self_esthetic__selectlist .selectlist__btn {
    margin-bottom: 7vw;
  }
  .p-self_esthetic__selectlist .selectlist__btn a {
    background-size: 5vw 5vw;
    font-size: 4.5vw;
    padding: .75em 0;
  }
  .p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__price small {
    font-size: 3vw;
  }
  .p-self_esthetic__selectlist .selectlist__item:nth-child(3) .selectlist__price span small {
    font-size: 3.5vw;
    margin-left: 0;
  }
}

/* check */
.p-self_esthetic__check {
  background: url(/img/web/self_esthetic/img_check_bg.webp) no-repeat top center / cover;
  height: 980px;
  height: min(124vw, 980px);
  padding: 120px 0 70px;
  padding: min(15vw, 120px) 0 min(15vw, 70px);
}
.p-self_esthetic__checkhead {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 90px;
  margin-bottom: min(5vw, 90px);
}
.p-self_esthetic__checkhead .checkhead__logo {
  text-align: center;
}
.p-self_esthetic__checkhead .checkhead__logo img {
  width: 366px;
  width: min(60%, 366px);
}
.p-self_esthetic__checkhead .checkhead__text {
  color: #000;
  font-size: 68px;
  font-size: min(10vw, 68px);
  font-weight: bold;
  paint-order: stroke;
  text-stroke: 6px #fff;
  -webkit-text-stroke: 6px #fff;
}
.p-self_esthetic__checkhead .checkhead__text1 {
  color: #D57979;
}
.p-self_esthetic__checkcnt .checkcnt__box {
  align-items: center;
  background: url(/img/web/self_esthetic/img_checkcnt_box.png) no-repeat 0 0 / 100%;
  display: flex;
  height: 450px;
  height: min(52vw, 450px);
  justify-content: center;
  margin: auto;
  padding-bottom: 50px;
  padding-bottom: min(5vw, 50px);
  width: 776px;
  width: min(100%, 776px);
}
.p-self_esthetic__checkcnt .checkcnt__box p {
  color: #000;
  font-size: 29px;
  font-size: min(3.8vw, 29px);
  font-weight: bold;
  line-height: 2;
  text-align: center;
}
.p-self_esthetic__checkcnt .checkcnt__box p strong {
  font-size: 37px;
  font-size: min(4.8vw, 37px);
  font-weight: bold;
}
.p-self_esthetic__checkcnt .checkcnt__box p em {
  color: #D57979;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-self_esthetic__check {
    background-image: url(/img/web/self_esthetic/img_check_bg--sp.webp);
  }
  .p-self_esthetic__checkhead .checkhead__text {
    text-stroke: 4px #fff;
    -webkit-text-stroke: 4px #fff;
  }
  .p-self_esthetic__checkcnt .checkcnt__box {
    background-image: url(/img/web/self_esthetic/img_checkcnt_box--sp.png);
  }
}

/* reason */
.p-self_esthetic__reasonhead {
  padding: 100px 0 50px;
  padding: min(7vw, 100px) 0 min(7vw, 50px);
}
.p-self_esthetic__reasonhead .l-container {
  align-items: center;
  display: flex;
  justify-content: flex-start;
}
.p-self_esthetic__reasonhead .reasonhead__box {
  border-bottom: 1px solid #D57979;
  border-top: 1px solid #D57979;
  margin: auto;
  padding: 20px 0 30px;
  padding: min(4vw, 20px) 0 min(4vw, 30px);
  text-align: center;
  width: 630px;
  width: min(90%, 630px);
}
.p-self_esthetic__reasonhead .reasonhead__box h2 {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-self_esthetic__reasonhead .reasonhead__head,
.p-self_esthetic__reasonhead .reasonhead__head strong {
  color: #000;
  font-weight: bold;
}
.p-self_esthetic__reasonhead .reasonhead__head strong {
  color: #D57979;
}
.p-self_esthetic__reasonhead .reasonhead__head1 {
  font-size: 47px;
  font-size: min(6vw, 47px);
  letter-spacing: .1em;
}
.p-self_esthetic__reasonhead .reasonhead__head2 {
  display: grid;
  grid-template-columns: 120px 1fr;
  grid-template-columns: min(15vw, 120px) 1fr;
  grid-template-rows: 35px 70px 70px;
  grid-template-rows: min(4vw, 35px) min(10vw, 70px) min(10vw, 70px);
  text-align: left;
}
.p-self_esthetic__reasonhead .reasonhead__head2 div {
  font-size: 51px;
  font-size: min(7vw, 51px);
  letter-spacing: .05em;
  line-height: 1;
}
.p-self_esthetic__reasonhead .reasonhead__head2 div:nth-child(1) {
  grid-row: 2/3;
  grid-column: 2/3;
}
.p-self_esthetic__reasonhead .reasonhead__head2 div:nth-child(2) {
  font-size: 180px;
  font-size: min(24vw, 180px);
  grid-row: 1/4;
  grid-column: 1/2;
}
.p-self_esthetic__reasonhead .reasonhead__head2 div:nth-child(3) {
  grid-row: 3/4;
  grid-column: 2/3;
}
.p-self_esthetic__reasonhead .reasonhead__head2 div:nth-child(3) strong {
  font-weight: 900;
}
.p-self_esthetic__reasonhead .reasonhead__head3 {
  font-size: 29px;
  font-size: min(4vw, 29px);
  letter-spacing: .1em;
}
@media screen and (max-width: 1400px) {
  .p-home__reason .l-container {
    padding-bottom: 2vw;
  }
}

/* price */
.p-self_esthetic__price {
  background: #E39797 url(/img/web/self_esthetic/img_price_bg.png) no-repeat top center / 100%;
  padding: 110px 0 110px;
  padding: min(11vw, 110px) 0 min(7vw, 110px);
}
.p-self_esthetic__pricehead {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  justify-content: center;
  letter-spacing: .1em;
  margin-bottom: 80px;
  margin-bottom: min(8vw, 80px);
  text-align: center;
}
.p-self_esthetic__pricehead .pricehead__text1 {
  background: url(/img/web/self_esthetic/img_pricehead_text1.png) no-repeat top left / 32px 38px, url(/img/web/self_esthetic/img_pricehead_text2.png) no-repeat top right / 32px 38px;
  font-size: 35px;
  font-size: min(5.5vw, 35px);
  height: 38px;
  line-height: 38px;
  margin-bottom: 20px;
  padding: 0 48px;
}
.p-self_esthetic__pricehead .pricehead__text2 {
  font-size: 47px;
  font-size: min(8vw, 47px);
  font-weight: bold;
}
.p-self_esthetic__pricehead .pricehead__text2 strong {
  color: #F7E29D;
  font-weight: bold;
}
.p-self_esthetic__pricecnt table {
  background: #E39797;
  border-collapse: separate;
  border-spacing: 1px;
  font-weight: 500;
  margin: auto;
  width: 990px;
  width: min(100%, 990px);
}
.p-self_esthetic__pricecnt table th,
.p-self_esthetic__pricecnt table td {
  height: 84px;
  height: min(8vw, 84px);
  text-align: center;
  width: 25%;
}
.p-self_esthetic__pricecnt table thead th {
  background: #4D4D4D;
  color: #fff;
  font-size: 23px;
  font-size: min(3vw, 23px);
  font-weight: 500;
}
.p-self_esthetic__pricecnt table tbody th {
  background: #fff;
  color: #D57979;
  font-size: 23px;
  font-size: min(2.8vw, 23px);
  font-weight: bold;
}
.p-self_esthetic__pricecnt table tbody td {
  background: #F3F3F3;
  color: #000;
  font-size: 24px;
  font-size: min(2.8vw, 24px);
}
.p-self_esthetic__pricecnt table tbody td strong {
  font-size: 40px;
  font-size: min(4vw, 40px);
  font-weight: bold;
}
.p-self_esthetic__pricecnt table tbody td sup {
  font-size: 18px;
  font-size: min(2vw, 18px);
  vertical-align: top;
}
.p-self_esthetic__pricecnt table tbody td span {
  background: #000;
  display: inline-block;
  height: 1px;
  vertical-align: middle;
  width: 57px;
  width: min(5vw, 57px);
}
.p-self_esthetic__pricecnt table thead th:nth-of-type(1) {
  background: #E39797;
}
.p-self_esthetic__pricecnt table thead th:nth-of-type(2) {
  background: #F7E29D;
  color: #000;
}
.p-self_esthetic__pricecnt table tbody td:nth-of-type(1) {
  background: #FFF8E0;
  color: #AD8630;
}
.p-self_esthetic__pricecnt table tbody tr:nth-of-type(3) td strong {
  font-size: 31px;
  font-size: min(3.8vw, 31px);
}
.p-self_esthetic__pricecnt table tbody tr:nth-of-type(3) td:nth-of-type(n+2) strong {
  font-family: sans-serif;
}
.p-self_esthetic__pricecnt p {
  color: #fff;
  font-size: 12px;
  font-size: min(2.8vw, 12px);
  margin: 10px auto;
  margin: min(2vw, 10px) auto;
  width: 990px;
  width: min(100%, 990px);
}
@media screen and (max-width: 520px) {
  .p-self_esthetic__price {
    background-size: 100% 100%;
  }
  .p-self_esthetic__pricehead .pricehead__text1 {
    background-size: 14px 16px;
    height: 16px;
    line-height: 16px;
    padding: 0 24px;
  }
}

/* public */
.p-self_esthetic__public {
  background: linear-gradient(180deg, #FAECEC 85%, #fff 85%);
  overflow: hidden;
  padding: 50px 0 400px;
  padding: min(6vw, 50px) 0 min(40vw, 400px);
}
.p-self_esthetic__public .public__body {
  background: #E39797;
  border-radius: 10px;
  margin: auto;
  padding: 16px;
  padding: min(2vw, 16px);
  position: relative;
  width: 762px;
  width: min(100%, 762px);
}
.p-self_esthetic__public .public__box {
  background: #fcfafa url(/img/web/self_esthetic/img_public_box.webp) repeat-y top center / 100% auto;
  border-radius: 4px;
  padding: 60px 0 40px;
  padding: min(6vw, 60px) 0 40px;
  text-align: center;
}
.p-self_esthetic__public .public__head {
  color: #D57979;
  font-size: 47px;
  font-size: min(6.2vw, 47px);
  font-weight: bold;
  letter-spacing: .075em;
  margin-bottom: 50px;
  margin-bottom: min(5vw, 50px);
}
.p-self_esthetic__public .public__head em {
  background: linear-gradient(180deg, transparent 30%, #F8F0E1 30%);
  font-weight: bold;
}
.p-self_esthetic__public .public__head span {
  font-size: 34px;
  font-size: min(4.5vw, 34px);
}
.p-self_esthetic__public .public__title {
  color: #000;
  font-size: 53px;
  font-size: min(7vw, 53px);
  font-weight: bold;
  letter-spacing: .075em;
  margin: 40px 0 50px;
  margin: min(4vw, 40px) 0 min(4vw, 50px);
}
.p-self_esthetic__public .public__box p {
  color: #000;
  font-size: 28px;
  font-size: min(4vw, 28px);
  font-weight: 500;
  margin-bottom: 1.4em;
}
.p-self_esthetic__public .public__box p:last-of-type {
  margin-bottom: 100px;
  margin-bottom: min(5vw, 100px);
}
.p-self_esthetic__public .public__box p strong {
  color: #D57979;
  font-size: 31px;
  font-size: min(4.5vw, 31px);
  font-weight: bold;
}
.p-self_esthetic__public .public__photo {
  left: 50%;
  position: relative;
  transform: translateX(-50%);
  width: 1160px;
  width: min(140vw, 1160px);
}
.p-self_esthetic__public .public__photo:last-of-type {
  position: absolute;
}
@media screen and (max-width: 520px) {
  .p-self_esthetic__public {
    background: linear-gradient(180deg, #FAECEC 90%, #fff 90%);
  }
}