@charset "utf-8";

.common__title {
  font-size: 10vw;
}

.limited {
  width: 12vw;
  height: 12vw;
  padding: 2px;
  right: 1vw;
}

.ltext {
  font-size: 3.2vw;
}

.common-icon {
  font-size: 7vw;
  right: 3px;
}

/* =========================
            kv
========================= */
.kv-text__wrapper {
  width: 100%;
  top: 9vw;
}

#hc .kv h1 {
  left: 50%;
}

#hc .kv h1 img {
  width: 82.4vw;
}

.kv__sub-title {
  margin-top: -1.5vw;
}

.kv__sub-title img {
  width: 47.4vw;
}

#hc .kv .kv-text {
  font-size: 4vw;
}

.kv-lead__label {
  margin-top: 52.3vw;
}

.kv-lead__label img {
  width: 89.8vw;
}

.kv-notes {
  display: inline;
  font-size: 3.1vw;
  margin-top: 2vw;
}

.kv-notes2 {
  display: inline;
  font-size: 3.1vw;
  vertical-align: middle;
}

/* =========================
          リード
========================= */
#hc .mlead {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_mlead.jpg);
  padding: 8.4vw 0 13.5vw;
}

#hc .mlead .text {
  font-size: 4vw;
  padding: 0 9vw;
}

.nav__wrapper {
  padding: 6.2vw 0 0;
}

.nav__list {
  width: 92vw;
  flex-wrap: wrap;
  column-gap: 1.6vw;
  row-gap: 1.6vw;
  justify-content: center;
}

.nav__item {
  width: 29.3vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_nav.png);
  padding: 2.2vw 0 5vw;
}

.nav__link {
  font-size: 2.9vw;
  letter-spacing: -0.025em;
  position: relative;
}

.fa-chevron-down {
  font-size: 4vw;
  bottom: -4vw;
}

.campaign-banner__wrapper {
  width: 82vw;
  margin: 0 auto 4.5vw;
}

/* =========================
          4step
========================= */
#hc .step {
  padding: 9.6vw 0 20vw;
}

.li-block .li-in {
  padding: 0;
}

#hc .step h2 {
  font-size: 10vw;
}

.step1 .li-block,
.step2 .li-block,
.step3 .li-block,
.step4 .li-block {
  margin-top: 6.2vw;
  padding-top: 0;
}

.li-block {
  padding-top: 0;
}

#hc .step .step-list .step-block.step1 {
  height: 545vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_step1.png);
  padding: 8.7vw 0 0;
}

#hc .step .step-list .step-block.step2 {
  height: 340vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_step2.png);
  margin-top: -10vw;
  padding: 19.7vw 0 0;
}

#hc .step .step-list .step-block.step3 {
  height: 348vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_step3.png);
  margin-top: -10vw;
  padding: 19.7vw 0 0;
}

#hc .step .step-list .step-block.step4 {
  height: 177vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_step4.png);
  margin-top: -10vw;
  padding: 19.7vw 0 0;
}

#hc .step-slider .text {
  font-size: 4.5vw;
}

.step__list .li-block .text,
.step4 .li-block .text {
  padding-top: 0;
}

.step-notes {
  font-size: 3.1vw;
}

.li-block .img {
  width: 80vw;
  position: relative;
  left: 9.7vw;
}

.icon-new {
  width: 31vw;
  top: 2vw;
  left: -5vw;
}

.img-texture-hs {
  width: 18.9vw;
  left: -4vw;
  bottom: -3vw;
}

.img-texture-rs {
  width: 21.1vw;
  bottom: -1vw;
  left: -5vw;
}

.img-texture-rm {
  width: 24.5vw;
  bottom: -3vw;
  left: -3vw;
}

.img-texture-rc {
  width: 21.9vw;
  bottom: -3vw;
  left: -5vw;
}

.img-texture-shb {
  width: 23vw;
  bottom: -3vw;
  left: -6vw;
}

.icon-new-small {
  width: 18.6vw;
  top: -3vw;
  left: -5vw;
}

.li-block .kit-detail__title,
.kit-detail__title {
  font-size: 2.8vw;
}

.li-block .text {
  font-size: 5.1vw;
  line-height: 1.2;
}

.li-block .type {
  width: 60vw;
  margin-top: 3.9vw;
}

.li-block .type li {
  width: 29vw;
}

.li-block .type li span.t2 {
  font-size: 3.6vw;
}

.li-block .type li sup {
  font-size: 2vw;
}

.li-block .text sup {
  font-size: 3vw;
}

.kit-t {
  font-size: 2.5vw;
  font-feature-settings: "palt";
}

#hc .step-slider {
  background-color: #f2ecdc;
}

#hc .step-slider ul li .btn-list {
  padding-top: 0;
}

#hc .step-slider ul li .name-and-price {
  padding: 3.1vw 0 0;
}

#hc .step-slider ul li .btn a {
  width: 39vw;
  padding: 3.3vw 0;
}

.li-block .btn-list .btn a,
.btn-small--cart a {
  font-size: 3.4vw;
  padding: 3.3vw 0;
}

.li-block .btn-list .bcs .bbg,
.btn--cart .bcs .bbg {
  width: 48vw;
  font-size: 3.5vw;
  padding: 3.3vw 0;
}

.li-block .btn-list.small-size-btn .bcs .bbg {
  width: 34vw;
}

.small-size__wrapper {
  width: 83.1vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_small_size.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 7vw auto 0;
}

.small-size__inner {
  width: 68.3vw;
  align-items: center;
  column-gap: 4.5vw;
  padding: 5vw 0;
}

.small-size {
  margin: 30px auto 0;
  padding: 0;
  background: #fff4c1;
  width: 526px;
  position: relative;
}

.img__small {
  width: 27.1vw;
}

.step-item-notes {
  font-size: 2.9vw;
  font-feature-settings: "palt";
  padding-left: 6vw;
}

#hc .step-slider {
  background-image: none;
  margin-top: 7.3vw;
  padding: 11vw 0;
}

#hc .step-slider {
  padding-top: 9.6vw;
}

#hc .step-slider.ss2 {
  background-color: #f2ecdc;
  margin-top: 9.8vw;
  padding-bottom: 15.2vw;
}

#hc .step-slider>ul li.slick-slide.ss2-1,
#hc .step-slider>ul li.slick-slide.ss2-2 {
  background-color: inherit;
  padding-top: 0;
}

#hc .step-slider ul li .img img {
  width: 35.2vw;
}

#hc .step-slider>ul {
  width: 100%;
}

#hc .step-slider>ul li.slick-slide {
  width: 100%;
  margin: 0 auto;
}

#hc .step-slider.ss2>ul {
  width: 100%;
  margin: 0 auto;
}

#hc .step-slider.ss2>ul li.slick-slide {
  width: 100%;
  margin: 0 auto;
}

#hc .step-slider>ul li.slick-slide.ss1-1,
#hc .step-slider>ul li.slick-slide.ss1-2,
#hc .step-slider>ul li.slick-slide.ss1-3 {
  background-image: none;
  padding-top: 0;
}

.banner-headscrub {
  width: 82.9vw;
  margin: 7.9vw auto 0;
}

.line-step {
  width: 83vw;
  margin-top: 7.9vw;
}

#hc .step-slider .slick-arrow {
  background-size: 80% 80%;
  top: 50vw;
}

#hc .step-slider .slick-prev {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/arrow_prev.svg);
  left: 10.3vw;
}

#hc .step-slider .slick-next {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/arrow_next.svg);
  right: 10.3vw;
}

.step-item-slider .slick-arrow {
  width: 8.4vw;
}

.step-item-slider .slick-arrow.slick-prev {
  left: -1vw;
}

.step-item-slider .slick-arrow.slick-next {
  right: -1vw;
}

.slick-prev--step3,
.slick-next--step3 {
  top: 28%;
}

.slick-prev--step4,
.slick-next--step4 {
  top: 72%;
}

#hc .step-slider .slick-dots>li>button::before {
  background: #d8ceb3;
}

#hc .step-slider .slick-dots>li.slick-active>button::before {
  background: #a18b4f;
}

/* =========================
      スペシャルキット
========================= */
.special-kit {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_sk.jpg);
  padding: 10vw 0 12vw;
}

.special-kit__inner {
  width: 95vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/frame_sk.png);
  margin: 6.5vw auto 0;
  padding: 10vw 0 13vw;
  outline-offset: -14px;
}

.sk-notes {
  width: 100%;
  font-size: 3.1vw;
  /* top: -12vw; */
}

.special-kit__catch {
  font-size: 4.7vw;
  line-height: 1.3;
  top: -8.5vw;
}

.special-kit-slider {
  position: relative;
}

.special-kit__list .li-block {
  min-height: 406px;
}

.kit-img__wrapper {
  padding-top: 6vw;
}

.special-kit .li-block .img {
  width: 85.6vw;
  top: 0;
  left: 5vw;
}

.sk__data {
  padding-top: 66vw;
}

.kit-text {
  width: 63vw;
  min-height: 41vw;
  margin: 3.3vw auto 0;
  padding: 5vw 0;
}

.li-block .kit-detail__title {
  font-size: 2.8vw;
}

.kit-t {
  font-size: 2.6vw;
  line-height: 1.5;
  margin-top: 3vw;
  padding: 0 3vw;
}

.slick-arrow.slick-prev--sk1 {
  left: -1vw;
}

.slick-arrow.slick-next--sk1 {
  right: -1vw;
}

.slick-prev--sk1 {
  top: 50vw;
}

.slick-next--sk1 {
  top: 50vw;
}

.limited--sk {
  width: 14vw;
  height: 14vw;
  top: 13vw;
  right: 8vw;
}

#hc .special-kit .btn-list .btn a {
  font-size: 3.4vw;
  padding: 3.3vw 0;
}

/* Other Item */
#hc .other h2 {
  color: #403f3e;
  font-size: 6.1rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.other-kit-slider {
  width: 83vw;
  background-image: none;
  background-color: #f2ecdc;
  margin-top: 7.7vw;
  /* margin-top: 0; */
  padding: 10.6vw 0;
  position: relative;
}

.other-kit__list {
  width: 750px;
  margin: 0 auto;
}

.other-kit__item {
  width: 211px;
  margin: 0 auto;
  /* padding: 0 19px; */
}

.other-kit-notes {
  font-size: 3.1vw;
}

.common-other__catch {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 0px;
  text-align: center;
}

.other-kit__img {
  height: 35vw;
  background-size: 35vw 35vw;
  background-repeat: no-repeat;
  background-position: center;
  margin: 2.8vw auto 0;
  position: relative;
}

.item-try-kit {
  width: 37.8vw;
  margin: 0 auto;
  padding-top: 9vw;
}

.item-d-kit {
  width: 34.9vw;
  margin: 0 auto;
  padding-top: 9vw;
}

.name-and-price {
  font-size: 3.6vw;
  margin-top: 3.5vw;
}

.name-and-price h4 {
  font-feature-settings: "palt";
}

.btn--cart {
  margin: 5vw auto 0px;
}

.link--detail svg {
  margin-left: 1vw;
}

.oter-item__inner .li-block .img {
  left: 0;
}

.other-kit-prev {
  background-size: 80% 80%;
  top: 57vw;
}

.slick-arrow.slick-prev.other-kit-prev {
  left: 13vw;
}

.other-kit-next {
  background-size: 80% 80%;
  top: 57vw;
}

.slick-arrow.slick-next.other-kit-next {
  right: 10vw;
}

.slick-dots>li>button::before {
  width: 8px;
  height: 8px;
}



.other-kit__title img {
  width: 32.9vw;
}

.other-kit__wrapper {
  max-width: 91.5vw;
  margin-top: 14.8vw;
  padding: 10vw 0;
}

.other-kit__list {
  width: 100%;
}

.other-kit__item {
  width: 45vw;
}

.other-kit__item .img {
  width: 45vw;
  height: 37vw;
  margin-top: 5vw;
}

.other-kit__item .img::after {
  width: 35vw;
  height: 35vw;
  background-color: #e4f3f0;
}

.other-kit__item .img a {
  width: 46vw;
  height: 36.1vw;
}

.common-other__catch {
  font-size: 4vw;
}

.kit-text--other-kit {
  width: 46vw;
}

/* =========================
        Other Item
========================= */
#hc .other h2 {
  font-size: 10vw;
}

.oter-item__inner {
  width: 100%;
}

.item_label {
  margin-top: 3.9vw;
}

.item_label img {
  width: 64.9vw;
}

.item_label--release img {
  width: 50.9vw;
}

.oter-item__inner .li-block {
  margin: 7.9vw auto 0;
  padding: 0;
}

.oter-item__inner .li-block .img {
  width: 85.6vw;
  position: relative;
  top: 0;
  left: 5vw;
}

.obj-other1 {
  width: 16.7vw;
  top: -23.1vw;
}

.obj-other2 {
  width: 17.2vw;
  top: -10vw;
}

.obj-other3 {
  width: 27.8vw;
  bottom: -6.9vw;
}

.obj-other4 {
  width: 27.5vw;
  bottom: -21.4vw;
}

/* ------------------------------
            Campaign
------------------------------ */
.campaign {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/bg_4step.jpg);
  background-size: contain;
  padding: 11vw 0;
}

.campaign__contents {
  width: 91vw;
  background-image: url(../../../images/sp/special_contents/haircare/20250403/frame_cp.jpg);
  padding: 7.1vw 0;
}

.campaign__label {
  width: 54.8vw;
  margin: 0 auto;
}

.campaign-notes {
  font-size: 3.1vw;
}

.campaign__detail {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  column-gap: 0;
  row-gap: 5.6vw;
  margin-top: 3.8vw;
  padding: 0;
}

.campaign-text__s {
  font-size: 3.6vw;
  line-height: 1.3;
}

.campaign-text__l {
  font-size: 5.6vw;
  margin-top: 3.1vw;
}

.campaign-text__vol {
  font-size: 3.6vw;
}

.campaign__img {
  width: 64.9vw;
}

.sc-accordion__wrapper {
  width: 83vw;
  margin: 5.5vw auto 0;
}

.accordion__title {
  font-size: 3.6vw;
}

.sc-accordion {
  padding: 2.8vw 0px;
}

.sc-comment__list {
  padding: 6.2vw 7.5vw 6.2vw 7vw;
}

.sc-comment__item {
  font-size: 2.7vw;
  line-height: 1.5;
}

.limited--cp {
  width: 14vw;
  height: 14vw;
  top: 0;
  right: 5vw;
}

.ltext--cp {
  font-size: 3.38vw;
}

/* あしらい */
.step::before,
.special-kit::before {
  width: 37.9vw;
  height: 4.8vw;
  top: -4vw;
}

#hc .step-slider::before,
#hc .step-slider::after,
.other-kit-slider::before,
.other-kit-slider::after,
.campaign__contents::before,
.campaign__contents::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 4.8vw;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
}

#hc .step-slider::before,
.other-kit-slider::before {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/line_top_hs.png);
  top: -1vw;
}

#hc .step-slider::after,
.other-kit-slider::after {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/line_bottom_hs.png);
  bottom: -1vw;
}

.campaign__contents::before {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/line_top_cp.png);
  top: -1vw;
}

.campaign__contents::after {
  background-image: url(../../../images/sp/special_contents/haircare/20250403/line_bottom_cp.png);
  bottom: -1vw;
}

.other-kit__item--triallkit {
  margin-top: 7.7vw;
}


#hc .step .howtouse-title {
  font-size: 6vw;
}

#hsa .howtouse {
  padding: 11vw 0 0;
}


/* =========================
  ホワイトティセレブレーション
========================= */
.new__icon {
  width: 13.5vw;
  top: 27.2vw;
  right: 25vw;
}


.new-hair-care__sub-title {
  font-size: 5.6vw;
  margin-top: 3.6vw;
}

.new-hair-care__sub-title::before,
.new-hair-care__sub-title::after {
  width: 5vw;
  height: 0.1vw;
}

.new-hair-care__sub-title::before {
  left: -7vw;
}

.new-hair-care__sub-title::after {
  right: -7vw;
}

.step-modal__close {
  width: 6.2vw;
  height: 6.2vw;
  top: 4vw;
  right: 4vw;
}

.step-modal__close::before,
.step-modal__close::after {
  width: 0.4vw;
  /* 棒の幅（太さ） */
  height: 6.2vw;
  /* 棒の高さ */
}


.frame__il {
  width: 79.6vw;
  height: 149.1vw;
  border-radius: 4.5vw;
  margin: 0 auto;
}

.new-hair-care .step-block {
  padding-top: 0;
}

.new-hair-care .step-block-in {
  width: 79.6vw;
  margin: 0;
  padding: 8.1vw 0 0;
}

.new-hair-care__list {
  height: 167.6vw;
  padding: 0;
}

.new-hair-care .step__img {
  width: 57.4vw;
  margin: 0 auto;
}

.new-hair-care .step-block .vegan__img {
  width: 29vw;
  right: 6.2vw;
  bottom: -2.4vw;
}

.step-block-in2 {
  padding: 0;
}

.new-hair-care .step-block .text {
  padding: 5.6vw 0 0;
  font-size: 4.1vw;
  line-height: 1.3;
}

.new-hair-care .step-block .img {
  margin: 4.5vw auto 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 10;
}

.new-hair-care .step-block .data {
  padding: 3.9vw 0 0;
}

.new-hair-care .step-block .data h5 {
  font-size: 3.6vw;
  line-height: 1.3;
}

.step-block .data .price {
  font-size: 3.6vw;
  line-height: 1.3;
}

.step-block .data .btn,
.step-block .data .bcs {
  margin: 0;
  padding: 3.5vw 0 0;
}

.step-block .data .btn a svg {
  right: 5vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  font-size: 3vw;
}

.step-block .data .link {
  margin: 3.3vw 0 0;
}

.step-tjp {
  display: inline-block;
  font-size: 8.5vw;
  padding: 0 0 0 2.5vw;
}

.step-tjp--hair3 {
  font-feature-settings: "palt";
}

.step-tbg {
  display: inline-block;
  font-size: 4vw;
  width: fit-content;
}


.step-block h4 .step-tbg:before {
  display: none;
}

.step-block h4 .step-tbg:after {
  display: none;
}

.step-tbg:before {
  margin-right: 0;
}

.step-tbg::after {
  margin-left: 0;
}

.texture__img {
  right: inherit;
}

.texture__img--step1 {
  width: 44.3vw;
  top: 4vw;
  right: inherit;
  left: -2vw;
}

.texture__img--step2 {
  width: 48.8vw;
  top: -2vw;
  left: 1vw;
}

.texture__img--step3 {
  width: 46.5vw;
  top: 2vw;
  left: 4vw;
}

/* ステップスライダー */
.js-step-slider-hair .slick-dots {
  margin-top: 0;
  bottom: -5vw;
}

.js-step-slider-hair .step-prev-hair {
  left: 4vw;
}

.js-step-slider-hair .step-next-hair {
  right: 4vw;
}

.js-step-slider-hair .slick-arrow {
  width: 2.7vw;
  height: 5.1vw;
}

/* =========================
    NEW HAIR CARE
========================= */
.new-hair-care__inner {
  padding: 13.5vw 0 0;
}

.new-hair-care__img {
  width: 100vw;
  margin-top: -40vw;
}

.step1__btn--hair {
  width: 48.8vw;
  top: 42vw;
  right: 2vw;
}

.step2__btn--hair {
  width: 49.3vw;
  top: 81vw;
  left: 5vw;
}

.step3__btn--hair {
  width: 59.5vw;
  top: 144vw;
  left: 28vw;
}

.texture__img--rs {
  width: 44.2vw;
  top: -6vw;
  left: 0;
}

.texture__img--rc {
  width: 36.2vw;
  top: -1vw;
  left: 4vw;
}

.texture__img--rm {
  width: 38.4vw;
  top: -1vw;
  left: 5vw;
}

.new__icon--hair {
  left: 13vw;
}

.limited--step {
  width: 12.5vw;
  height: 12.5vw;
  top: 2vw;
  right: 13.1vw;
}

.new__icon--hair {
  width: 30.9vw;
  top: -3.6vw;
  left: 7.7vw;
}

.btn--cart a,
.bbg {
  width: 58.7vw;
  font-size: 4.5vw;
  line-height: 1;
  padding: 4.6vw 0;
}

.btn--cart a svg {
  font-size: 4vw;
  right: 4vw;
}

.btn-list--ok {
  margin-top: 3vw;
}