@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@500&display=swap');

body {
  font-family: 'Noto Sans JP', sans-serif;
}

sup {
  top: -0.3em;
}

/*--------------------------------------------


Key Visual


---------------------------------------------*/


.l-kv.l-section {
  overflow: hidden;
}

.l-kv .l-section_inner::after {
  position: absolute;
  content: "";
  background: url('/beautykey/overview_pre/assets/img/kv_back.png')no-repeat;
  background-size: 100%;
  width: 1692px;
  height: 537px;
  bottom: 0;
  left: -216px;
  z-index: 0;
}

.l-kv .l-section_inner {
  padding-top: 138px;
  padding-left: 27px;
  padding-bottom: 193px;
  max-width: 960px;
  position: relative;
}

.l-kv p {
  font-size: 26px;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

.l-kv h1 {
  width: 296px;
  margin-top: 35px;
  position: relative;
  z-index: 1;
}

.kv-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.kv-logo span:nth-child(2){
  margin-bottom: -40px;
  margin-left: 40px;
}

/* .l-kv {
  background: url('/beautykey/overview_pre/assets/img/kv_back.png')no-repeat;
  background-size: 100%;
  background-position: bottom;
}

.l-kv .l-section_inner {
  padding-top: 9.857vw;
  padding-left: 1.929vw;
  padding-bottom: 13.786vw;
  max-width: 68.571vw;
}

.l-kv p {
  font-size: 1.857vw;
  line-height: 1.7;
}

.l-kv h1 {
  width: 21.429vw;
  margin-top: 2.5vw;
} */



@media screen and (max-width: 1040px) {
  .l-kv {
    background: url('/beautykey/overview_pre/assets/img/kv_back.png')no-repeat;
    background-size: 1040px;
    background-position: right 35% bottom;
  }

  .l-kv .l-section_inner {
    padding-top: 103px;
    padding-left: 20px;
    padding-bottom: 143px;
    max-width: 713px;
  }

  .l-kv p {
    font-size: 19px;
    line-height: 1.7;
  }

  .l-kv h1 {
    width: 223px;
    margin-top: 26px;
  }

  .l-kv .l-section_inner::after {
    display: none;
  }

}

/* @media screen and (max-width: 900px) {
  .l-kv {
    background: url('/beautykey/overview_pre/assets/img/kv_back.png')no-repeat;
    background-size: 900px;
    background-position: right 35% bottom;
  }

  .l-kv .l-section_inner {
    padding-top: 88px;
    padding-left: 17px;
    padding-bottom: 124px;
    max-width: 617px;
  }

  .l-kv p {
    font-size: 16px;
    line-height: 1.7;
  }

  .l-kv h1 {
    width: 193px;
    margin-top: 22px;
  }

  .l-kv .l-section_inner::after{
    display: none;
  }

} */

@media screen and (max-width: 750px) {
  .l-kv {
    background: url('/beautykey/overview_pre/assets/img/kv_back_sp.png')no-repeat;
    background-size: 100%;
    background-position: bottom;
  }

  .l-kv .l-section_inner {
    padding: 10.667vw 4vw 72vw;
    max-width: 256vw;
    text-align: center;
  }

  .l-kv p {
    font-size: 5.333vw;
    line-height: 1.7;
  }

  .l-kv h1 {
    width: 46.933vw;
    margin: 2.667vw auto;
  }

  .l-kv .pc_only {
    display: none;
  }
}


/*--------------------------------------------


Contents


---------------------------------------------*/

.l-section {
  width: 100%;
  background-color: #fff;
}

.l-section[data-color="gray"] {
  background-color: #F8F8F8;
}

.l-section_inner {
  max-width: 960px;
  margin: auto;
  padding: 80px 10px;
  box-sizing: content-box;
}

.l-flex {
  display: flex;
  justify-content: space-between;
}

.l-flex>*:last-child {
  margin-left: 15px;
}

.l-flex_grid_img {
  width: 48%;
}

.l-flex_grid_text {
  width: 51%;
}

.l-btn_list {
  margin-top: 40px;
}

.l-btn_list li {
  margin-bottom: 24px;
}

.l-btn_list li:last-child {
  margin-bottom: 0px;
}

.img_back {
  /* background: url('/beautykey/overview_pre/assets/img/img_back2.png')no-repeat; */
  background-size: 100%;
  background-position: bottom;
  /* padding-bottom: 16.5%; */
  overflow: hidden;
}

.img_back .l-section_inner {
  position: relative;
  padding-bottom: 300px;
}

.img_back .l-section_inner img {
  position: relative;
  z-index: 1;
}

.img_back .l-section_inner::after {
  position: absolute;
  content: "";
  background: url(/beautykey/overview_pre/assets/img/img_back.png)no-repeat;
  background-size: 100%;
  width: 2720px;
  height: 541px;
  bottom: -146px;
  left: -955px;
  z-index: 0;
}

.m-h1 {
  font-size: 38px;
  margin-bottom: 30px;
  line-height: 1.4;
}

.m-h2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.4;
}

.m-text {
  font-size: 20px;
}

.m-text_s {
  font-size: 16px;
}

.m-text_note {
  font-size: 14px;
}

.m-text_lead {
  font-size: 24px;
  font-weight: bold;
}

.text-left {
  text-align: left;
}

.m-list {
  font-size: 16px;
  margin-top: 20px;
}


.m-list li:last-child {
  margin-bottom: 0px;
}

.m-list[data-type="dot"] li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
}

.m-list[data-type="dot"] li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.m-list[data-type="kome"] li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 8px;
  font-size: 14px;
}

.m-list[data-type="kome"] li::before {
  position: absolute;
  left: 0;
  content: "※";
}

.m-list[data-type="kome-num"] {
  counter-reset: number;
}

.m-list[data-type="kome-num"] li {
  font-size: 14px;
  position: relative;
  padding-left: 35px;
  margin-bottom: 5px;
}

.m-list[data-type="kome-num"] li::before {
  content: "※"counter(number);
  counter-increment: number;
  position: absolute;
  left: 0;
}

dl.m-list[data-type="square"] {
  text-align: left;
}

dl.m-list[data-type="square"] dt {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
}

dl.m-list[data-type="square"] dt::before {
  content: "■";
  position: absolute;
  left: 0;
}

.m-list[data-type="square"] dd {
  font-size: 16px;
  padding-left: 20px;
}

.m-l {
  font-size: 14px;
  display: block;
  margin-top: 10px;
}

dd+dd {
  margin-top: 30px;
}

dd+dt {
  margin-top: 40px;
}

a.m-btn {
  display: block;
  border: 1px solid #2D2D2D;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  text-align: center;
  font-size: 18px;
  max-width: 600px;
  text-decoration: none;
  padding: 30px 40px;
  margin: auto;
}

.m-btn::after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  transform: rotate(45deg);
  background-color: transparent;
  content: "";
  border-top: solid 2px #2D2D2D;
  border-right: solid 2px #2D2D2D;
}

.m-btn span.icon-hanatsubaki::before {
  display: block;
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  left: 10%;
  width: 56px;
  height: 47px;
  content: url('/beautykey/shared/img/logo_hanatsubaki.svg');
}

.m-btn span.icon-watashi::before {
  display: block;
  position: absolute;
  top: 48%;
  transform: translateY(-50%);
  left: 8%;
  width: 83px;
  height: 38px;
  content: url('/beautykey/shared/img/logo_watashi.svg');
}

.m-btn .btn-note {
  display: block;
  font-size: 14px;
}

a.m-btn_2 {
  padding: 20px 40px;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: end;
}

@media screen and (min-width: 960px) {
  .m-btn:hover {
    background: #f7f7f7;
    border-color: #7a7a7a;
    color: #7a7a7a;
  }

  .m-btn:hover::after {
    border-color: #7a7a7a;
  }

  .m-btn_3 .icon-watashi {
    padding-left: 95px;
    display: inline-block;
  }

  .sp_only {
    display: none;
  }

  .l-flex_grid_text2 {
    width: 53%;
    padding-bottom: 80px;
  }

}

@media screen and (max-width: 959px) {

  .pc_only {
    display: none;
  }

  .l-kv .pc_only {
    display: block;
  }

  .sp_text-left {
    text-align: left;
  }


  .l-section_inner {
    padding: 40px 15px;
    max-width: 500px;
  }

  .l-flex {
    display: block;
  }

  .l-flex>*:last-child {
    margin-left: 0px;
  }

  .l-flex_grid_img {
    width: 100%;
    margin: auto;
  }

  .l-flex_grid_img img {
    margin-bottom: 20px;
  }

  .l-flex_grid_text {
    width: 100%;
    text-align: center;
  }

  .l-btn_list li {
    margin-bottom: 12px;
  }

  dd+dt {
    margin-top: 30px;
  }

  .m-h1 {
    font-size: 28px;
    margin-bottom: 20px;
    line-height: 1.4;
  }

  .m-h2 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 8px;
    line-height: 1.4;
  }

  .m-text {
    font-size: 16px;
  }

  .m-text_s {
    font-size: 16px;
  }

  .m-text_lead {
    font-size: 18px;
    font-weight: bold;
  }

  .m-list {
    font-size: 16px;
    margin-top: 10px;
  }

  .m-list li {
    text-align: left;
  }

  .m-list li:last-child {
    margin-bottom: 0px;
  }

  .m-list[data-type="dot"] li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
  }

  .m-list[data-type="dot"] li::before {
    position: absolute;
    left: 0;
    content: "・";
  }

  .m-list[data-type="kome-num"] {
    counter-reset: number;
  }

  .m-list[data-type="kome-num"] li {
    font-size: 14px;
    position: relative;
    padding-left: 35px;
    margin-bottom: 5px;
  }

  .m-list[data-type="kome-num"] li::before {
    content: "※"counter(number);
    counter-increment: number;
    position: absolute;
    left: 0;
  }

  .m-list+.m-list {
    margin-top: 10px;
  }

  a.m-btn {
    display: block;
    border: 1px solid #2D2D2D;
    border-radius: 3px;
    background-color: #fff;
    position: relative;
    text-align: center;
    font-size: 14px;
    max-width: 600px;
    text-decoration: none;
    padding: 15px 30px;
    margin: auto;
  }

  .m-btn::after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 8px;
    height: 8px;
    margin-top: -3px;
    transform: rotate(45deg);
    background-color: transparent;
    content: "";
    border-top: solid 2px #2D2D2D;
    border-right: solid 2px #2D2D2D;
  }

  .m-btn span.icon-hanatsubaki::before {
    display: block;
    position: absolute;
    content: "";
    top: 53%;
    transform: translateY(-50%);
    left: -19%;
    width: 33px;
    height: 28px;
    background: url(/beautykey/shared/img/logo_hanatsubaki.svg)no-repeat;
    background-size: 33px;
  }

  .m-btn span.icon-watashi::before {
    display: block;
    position: absolute;
    content: "";
    top: 56%;
    transform: translateY(-50%);
    left: -13%;
    width: 83px;
    height: 31px;
    background: url(/beautykey/shared/img/logo_watashi.svg)no-repeat;
    background-size: 65%;
  }

  .m-btn .icon-watashi {
    padding-left: 34px;
  }

  .m-btn .icon-hanatsubaki {
    padding-left: 15px;
  }

  .m-btn .btn-note {
    display: block;
    font-size: 12px;
    margin-top: 5px;
  }

  .m-btn span {
    position: relative;
    display: inline-block;
  }

  a.m-btn_2 {
    padding: 15px 30px;
  }

  .m-btn_3 .icon-watashi {
    padding-left: 50px;
  }
  .m-btn_3 span.icon-watashi::before {
    left: -4%;
  }

  .sp_img-container {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .img_back {
    background: url(/beautykey/overview_pre/assets/img/img_back_sp.png)no-repeat;
    background-size: 100%;
    background-position: bottom;
    padding-bottom: 24%;
  }

  .l-kv-watashi {
    width: 210px;
  }

  .kv-logo span {
    max-width: 40%;
  }

  .kv-logo span:nth-child(2) {
    margin-bottom: -6%;
    margin-left: 5%;
  }

  .l-kv-brand {
    width: 290px;
  }

  .img_back .l-section_inner::after {
    display: none;
  }

  .img_back .l-section_inner {
    position: relative;
    padding-bottom: 40px;
  }

}

@media screen and (max-width: 750px) {
  .l-kv .pc_only {
    display: none;
  }
}

@media screen and (max-width: 360px) {
  a.m-btn {
    font-size: 12px;
  }

  .m-btn.icon-watashi::before {
    width: 43px;
    height: 20px;
    background-size: 100%;
    top: 46%;
  }

  .m-h1 {
    font-size: 26px;
  }
}