@charset "utf-8";

#hc {
  color: #403f3e;
}

main a:hover {
  text-decoration: none;
}


/* =========================
            共通
========================= */
.obj {
  position: absolute;
}

.common__title {
  color: #403f3e;
  font-size: 6.1rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.limited {
  width: 61px;
  height: 61px;
  background-color: #a69867;
  border-radius: 50%;
  padding: 3px;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: 18px;
  z-index: 15;

}

.limited .limited-in {
  width: 100%;
  height: 100%;
  display: block;
  border: 1px solid #FFF;
  border-radius: 50%;
  box-sizing: border-box;
}

.ltext {
  width: 100%;
  display: inline-block;
  color: #FFF;
  letter-spacing: 0.05em;
  line-height: 1.1em;
  text-align: center;
  margin-top: 0px;
  position: absolute;
  left: 0px;
  top: 51%;
  -webkit-transform: translateY(-51%);
  transform: translateY(-51%);
}

/* =========================
            kv
========================= */
.kv-text__wrapper {
  width: 50vw;
  text-align: center;
  position: absolute;
  top: 6vw;
}

#hc .kv h1,
#hc .kv .kv-text {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
}

#hc .kv h1 img {
  width: 36.8vw;
}

.kv__sub-title {
  margin-top: -0.5vw;
}

.kv__sub-title img {
  width: 20.7vw;
}

#hc .kv .kv-text {
  font-size: 1.3vw;
  margin-top: 0.8vw;
  position: relative;
  top: 0;
  left: 0;
}

.kv-lead__label {
  margin-top: 1.3vw;
}

.kv-lead__label img {
  width: 18vw;
}

.kv-notes {
  font-size: 1.04vw;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-top: 7px;
}

.kv-notes2 {
  font-size: 0.9vw;
  line-height: 1;
  margin-top: 0.3vw;
}

/* =========================
          リード
========================= */
#hc .mlead {
  background-image: url(../../images/special_contents/haircare/20250403/bg_mlead.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 55px 0 90px;
}

.nav__wrapper {
  padding: 50px 0 0;
  position: relative;
}

.nav__list {
  width: 865px;
  display: flex;
  column-gap: 10px;
  margin: 0 auto;
}

.nav__item {
  width: 165px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_nav.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  text-align: center;
  padding: 15px 0 30px;
}

.nav__link {
  color: #fff;
  font-size: 1.7rem;
  letter-spacing: -0.02em;
  position: relative;
}

.fa-chevron-down {
  color: #fff;
  font-size: 20px;
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

.campaign-banner__wrapper {
  width: 561px;
  margin: 0 auto 30px;
}

/* =========================
          4step
========================= */
#hc .step {
  background-image: url(../../images/special_contents/haircare/20250403/bg_4step.jpg);
  background-repeat: repeat;
  background-size: 100% auto;
  padding: 70px 0 115px;
  position: relative;
}

#hc .step h2 {
  color: #bc9c5a;
  font-size: 6.1rem;
}

#hc .step .step-list .step-block h3 .tdeco {
  color: #403f3e;
}

#hc .step .step-list .step-block.step1 {
  height: 2439px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_step1.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 50;
  padding: 60px 0 0;
}

#hc .step .step-list .step-block.step2 {
  height: 1408px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_step2.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 50;
  margin-top: -84px;
  padding: 125px 0 0;
}

#hc .step .step-list .step-block.step3 {
  height: 1256px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_step3.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 50;
  margin-top: -84px;
  padding: 125px 0 0;
}

#hc .step .step-list .step-block.step4 {
  height: 656px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_step4.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 50;
  margin-top: -84px;
  padding: 125px 0 0;
}

#hc .step .step-obj3 {
  left: 8px;
}

#hc .step .step-obj4 {
  right: 8px;
}

.li-block {
  margin: 45px auto 0;
  padding: 55px 0 0;
  /* width: 912px; */
  position: relative;
  box-sizing: border-box;
  text-align: right;
}

.step1 .li-block {
  min-height: 595px;
}

.step2 .li-block {
  min-height: 375px;
}

.step3 .li-block {
  min-height: 375px;
}


.fp .li-block {
  padding: 30px 0 0;
}

.li-block.rose {
  margin: 40px auto 0;
}

.bs .li-block {
  padding: 30px 0 0;
}

.li-block .li-in {
  display: block;
  text-align: center;
  padding-left: 440px;
}

.li-block--rev .li-in {
  padding-left: 0;
  padding-right: 500px;
}

.li-block .img {
  position: absolute;
  top: 0px;
  left: 120px;
  width: 482px;
}

.li-block--rev .img {
  left: inherit;
  right: 120px
}


.li-block h3 sup {
  font-size: 1.8rem;
  vertical-align: super;
}

.li-block .text sup {
  font-size: 1.6rem;
  vertical-align: super;
}

.li-block .text {
  font-size: 2.6rem;
  line-height: 1.3;
  font-weight: 500;
  text-align: center;
  position: relative;
  letter-spacing: -0.05em;
}

.step__list .li-block .text,
.step4 .li-block .text {
  padding-top: 15px;
}

.li-block .text1 sup {
  font-size: 1.5rem;
  vertical-align: super;
}

.li-block .text2 {
  padding: 10px 0px 0px;
  font-size: 2rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  position: relative;
  letter-spacing: -0.05em;
}

.li-block .text2 sup {
  font-size: 1.1rem;
  vertical-align: super;
}

.li-block .type {
  margin: 15px auto 0;
  padding: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 300px;
}

.li-block .type li {
  padding: 0;
  margin: 0px;
  width: 147px;
  font-size: 1.9rem;
  line-height: 1;
  text-align: center;
  color: #FFF;
  letter-spacing: -0.05em;
}

.li-block .type li span.t1 {
  margin: 0px;
  padding: 2px;
  background-color: #272727;
  display: block;
}

.li-block .type li span.t2 {
  display: block;
  border: 1px solid #FFF;
  font-size: 1.8rem;
  margin: 0px;
  padding: 5px 0px;
}

.li-block .type li sup {
  font-size: 1.2rem;
  vertical-align: super;
}

.li-block .name-and-price {
  margin: 28px 0px 0px;
  padding: 0px;
  display: block;
  text-align: center;
}

.li-block.rose .name-and-price {
  margin: 10px 0px 0px;
}

/* .li-block h4 {
  margin: 0px;
  padding: 0px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: normal;
} */

.li-block h4 sup {
  font-size: 1rem;
  vertical-align: super;
}

/* .li-block .price {
  margin: 0px;
  padding: 0px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
} */

.li-block .btn-list {
  margin: 20px auto 0px;
  padding: 0px;
}

.li-block .btn-list .btn {
  margin: 0px;
  text-align: center;
}

.li-block .btn-list .btn a,
.btn-small--cart a {
  margin: 0px;
  padding: 10px 0px;
  text-align: center;
  color: #FFF;
  font-size: 1.4rem;
  line-height: 1.4rem;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #422d1b;
  width: 150px;
  cursor: pointer;
}

.li-block .btn-list .btn a span svg {
  margin: 0px;
  padding: 0px;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
  font-size: 1.1rem;
}

.fp .li-block .btn-list .btn a {
  background: #629aca;
}

.fp .li-block.rose .btn-list .btn a {
  background: #b74e5d;
}

.bs .li-block .btn-list .btn a {
  background: #9e825b;
}

.li-block .btn-list .bcs {
  margin: 0px;
  text-align: center;
}

.li-block .btn-list .bcs .bbg {
  margin: 0px;
  padding: 10px 0px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #FFF;
  width: 215px;
  border: 1px solid #ba9c5b;
}

.special-kit .btn-list .btn a span svg {
  position: absolute;
  right: 10px;
}

.link--detail {
  text-align: center;
  margin-top: 7px;
}

.link--detail a {
  margin: 0px;
  padding: 0px 0px 5px 2px;
  text-align: center;
  color: #422d1b;
  font-size: 1.4rem;
  line-height: 1;
  border-bottom: 1px solid #422d1b;
  text-decoration: none;
  position: relative;
  display: inline-block;
}

.link--detail svg {
  margin-left: 8px;
}

.li-block .img {
  width: 472px;
}

.item_label {
  text-align: center;
  margin-top: 24px;
}

.item_label img {
  width: 322px;
  margin: 0 auto;
}

.item_label--release img {
  width: 252px;
}

.step-notes {
  font-size: 1.5rem;
  letter-spacing: 0.02em;
}

.step-notes--gr {
  color: #d85f54;
  text-align: center;
}

.step-notes--dj {
  color: #53989e;
  text-align: center;
}

.small-size__wrapper {
  width: 467px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_small_size.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 42px auto 0;
}

.small-size__inner {
  display: flex;
  width: 362px;
  column-gap: 25px;
  margin: 0 auto;
  padding: 25px 0;
}

.small-size {
  margin: 30px auto 0;
  padding: 0;
  background: #fff4c1;
  width: 526px;
  position: relative;
}

.small-size .small-size-bg1 {
  margin: 0;
  padding: 0;
}

.small-size .small-size-bg2 {
  margin: 0;
  padding: 34px 0;
}

.small-size h6 {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  width: 108px;
}

.small-size .img {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 74px;
  left: 144px;
  box-sizing: border-box;
  text-align: left;
  width: 55px;
}

.small-size .img img {
  position: relative;
  z-index: 10;
}

.step-list .step-block.step2 .small-size .img {
  top: 109px;
  left: 126px;
  width: 106px;
}

.small-size .img .rel {
  margin: 0;
  padding: 0;
  position: relative;
  display: block;
}


.small-size .img .limited .ltext {
  width: 100%;
  font-size: 1.3rem;
  line-height: 1.1em;
  margin-top: 0;

  position: absolute;
  display: inline-block;
  left: 0;
  top: 51%;
  -webkit-transform: translateY(-51%);
  transform: translateY(-51%);
  text-align: center;
  letter-spacing: 0.05em;
  color: #FFF;
}

.step-list .step-block.step2 .small-size .img .limited {
  top: -43px;
  left: -56px;
}

.small-size .data {
  margin: 0;
  padding: 18px 0 0 180px;
  display: block;
  vertical-align: top;
  text-align: center;
}

.li-block .name-and-price.name-and-price--small {
  margin: 0;
  padding: 0;
  display: block;
  text-align: center;
  color: #4b4441;
}


.small-size .data .price {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: normal;
}

.btn-small--cart {
  text-align: center;
  margin-top: 13px;
}

.small-size .data .btn,
.small-size .data .bcs {
  margin: 0;
  padding: 12px 0 0;
  text-align: center;
}

.small-size .data .btn a {
  margin: 0;
  padding: 10px 0;
  text-align: center;
  color: #FFF;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  width: 150px;
  cursor: pointer;
}

.small-size .data .btn a svg {
  margin: 0;
  padding: 0;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  font-size: 1rem;
}

.small-size .data .bcs .bbg {
  margin: 0;
  padding: 14px 0;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #FFF;
  width: 194px;
}

.small-size .data .link {
  margin: 8px 0 0;
  padding: 0;
}

.data.data--small {
  line-height: 1;
  padding-top: 0;
}

.img__small {
  width: 112px;
  position: relative;
}

.step-item-notes {
  font-size: 1.2rem;
  text-align-last: left;
  margin-top: 12px;
  padding-left: 90px;
}

.icon-new {
  width: 189px;
  top: 12px;
  left: -30px;
}

.img-texture-hs {
  width: 111px;
  left: -23px;
  bottom: -10px;
}

.img-texture-rs {
  width: 133px;
  bottom: -20px;
  left: -20px;
}

.img-texture-rm {
  width: 166px;
  bottom: -25px;
  left: -20px;
}

.img-texture-rc {
  width: 136px;
  bottom: -13px;
  left: -30px;
}

.img-texture-shb {
  width: 142px;
  bottom: -19px;
  left: -40px;
}

.icon-new-small {
  width: 89px;
  top: -13px;
  left: -22px;
}

#hc .step-slider {
  background-image: url(../../images/special_contents/haircare/20250403/bg_hs.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 65px 0 60px;
  position: relative;
}

#hc .step-slider .text {
  font-size: 2.2rem;
}

#hc .step-slider.ss2 {
  margin-top: 60px;
  padding-bottom: 90px;
}

#hc .step-slider>ul {
  width: 738px;
  margin: 0 auto;
}

#hc .step-slider>ul li.slick-slide {
  width: 246px;
  margin: 0 auto;
}

#hc .step-slider.ss2>ul {
  width: 738px;
  margin: 0 auto;
}

#hc .step-slider.ss2>ul li.slick-slide {
  width: 246px;
  margin: 0 auto;
}

#hc .step-slider ul li .img {
  margin-top: 10px;
}

#hc .step-slider ul li .img img {
  width: 190px;
}

#hc .step-slider .ss1-1 .text-head .text,
#hc .step-slider .ss1-2 .text-head .text {
  line-height: 3;
}

#hc .step-slider ul li .btn-list {
  display: block;
  padding-top: 20px;
}

.banner-headscrub {
  width: 675px;
  margin: 46px auto 0;
}

#hc .step-slider ul li .btn a {
  width: 150px;
}

.slick-prev--step2,
.slick-prev--step3,
.slick-prev--step4 {
  background-repeat: no-repeat;
}

.slick-next--step2,
.slick-next--step3,
.slick-next--step4 {
  background-repeat: no-repeat;
}

.step-item-slider .slick-arrow {
  width: 45px;
  height: 45px;
}

.step-item-slider .slick-arrow.slick-prev {
  left: 45px;
}

.step-item-slider .slick-arrow.slick-next {
  right: 45px;
}

.slick-prev--step2,
.slick-prev--step3,
.slick-prev--step4 {
  background-image: url(../../images/special_contents/haircare/20250403/arrow_prev.svg);
  top: 30%;
}

.slick-next--step2,
.slick-next--step3,
.slick-next--step4 {
  background-image: url(../../images/special_contents/haircare/20250403/arrow_next.svg);
  top: 30%;
}

.slick-prev--step4,
.slick-next--step4 {
  top: 74%;
}

.slick-arrow.slick-prev::after,
.slick-arrow.slick-next::after {
  border: none;
}

.step-item-slider .slick-dots {
  margin-top: 20px;
}

.slick-dots>li>button::before {
  width: 9px;
  height: 9px;
  background: #d8ceb3;
}

.slick-dots>li.slick-active>button::before {
  background: #a18b4f;
}

.line-step {
  width: 935px;
  margin: 55px auto 0;
}

/* =========================
      スペシャルキット
========================= */
.special-kit {
  background-image: url(../../images/special_contents/haircare/20250403/bg_sk.jpg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 80px 0 65px;
  position: relative;
  z-index: 20;
}

.special-kit__inner {
  width: 1047px;
  background-image: url(../../images/special_contents/haircare/20250403/frame_sk.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 45px auto 0;
  padding: 55px 0 82px;
  outline: 1px solid #c4a76d;
  outline-offset: -27px;
}

/* .sk-notes {
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translateX(-50%);
} */

.sk-notes {
  margin-top: 5px;
}

.special-kit__catch {
  font-size: 2.6rem;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: center;
  margin-top: 7px;
  position: absolute;
  width: 100%;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
}

.special-kit-slider {
  position: relative;
}

.special-kit__list .li-block {
  min-height: 406px;
}

.kit-img__wrapper {
  padding-top: 30px;
}

.special-kit .li-block .img {
  width: 504px;
  position: absolute;
  top: 0px;
  left: 90px;
}

#hc .special-kit .btn-list .btn a {
  margin: 0px;
  padding: 10px 0px;
  text-align: center;
  color: #FFF;
  font-size: 1.4rem;
  line-height: 1.4rem;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #422d1b;
  width: 150px;
  cursor: pointer;
}

.special-kit .btn-list .btn a span svg {
  position: absolute;
  right: 10px;
}

/* .sk__data {
  padding-top: 30px;
} */

.kit-text {
  width: 315px;
  min-height: 131px;
  background-color: #f2ecdc;
  text-align: center;
  margin: 22px auto 0;
  padding: 20px 0;
}

.li-block .kit-detail__title,
.kit-detail__title {
  font-size: 1.2rem;
  font-weight: bold;
}

.kit-t {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 6px;
  padding: 0 15px;
}

.slick-prev--sk1 {}

.slick-arrow.slick-prev--sk1 {
  left: 50px;
}

.slick-arrow.slick-next--sk1 {
  right: 50px;
}

.slick-prev--sk1 {
  background-image: url(../../images/special_contents/haircare/20250403/arrow_prev.svg);
  top: 57%;
}

.slick-next--sk1 {
  background-image: url(../../images/special_contents/haircare/20250403/arrow_next.svg);
  top: 57%;
}

.other-kit-slider {
  width: 950px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_other_kit.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 60px auto 0;
  padding: 65px 0 60px;
  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: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 2.4;
  text-align: center;
}

.common-other__catch {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 0px;
  text-align: center;
}

.other-kit__img {
  width: 100%;
  height: 190px;
  background-image: url(../../images/special_contents/haircare/20250403/bg_otherkit_item.png);
  background-size: 190px 190px;
  background-repeat: no-repeat;
  background-position: center;
  margin: 28px auto 0;
  position: relative;
}

.item-try-kit {
  width: 211px;
  margin: 0 auto;
  padding-top: 40px;
}

.item-d-kit {
  width: 178px;
  margin: 0 auto;
  padding-top: 48px;
}

.name-and-price {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 20px;
}

.btn--cart {
  text-align: center;
  margin: 20px auto 0px;
  padding: 0px;
}

.btn--cart .bcs .bbg {
  margin: 0px;
  padding: 10px 0px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #FFF;
  width: 190px;
  border: 1px solid #ba9c5b;
}

.kit-text--other-kit {
  width: 211px;
  background-color: #fdfbf6;
  min-height: 170px;
}

.other-kit-prev {
  background-image: url(../../images/special_contents/haircare/20250403/other_kit_prev.svg);
  background-repeat: no-repeat;
  top: 36%;
}

.slick-arrow.slick-prev.other-kit-prev {
  left: 50px;
}

.other-kit-next {
  background-image: url(../../images/special_contents/haircare/20250403/other_kit_next.svg);
  background-repeat: no-repeat;
  top: 36%;
}

.slick-arrow.slick-next.other-kit-next {
  right: 50px;
}

.limited--sk {
  width: 80px;
  height: 80px;
  top: 70px;
  right: 50px;
}

.ltext--sk {
  font-size: 1.8rem;
}

/* =========================
        Other Item
========================= */
#hc .other h2 {
  color: #403f3e;
  font-size: 6.1rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.oter-item__inner {
  width: 870px;
  margin: 0 auto;
}

.oter-item__inner .li-block .img {
  left: 0;
}

.obj-other1 {
  width: 148px;
  top: -205px;
  left: 0;
}

.obj-other2 {
  width: 144px;
  top: -177px;
  right: 0;
}

.obj-other3 {
  width: 211px;
  left: 0;
  bottom: -150px;
}

.obj-other4 {
  width: 217px;
  right: 0;
  bottom: -190px;
}

/* ------------------------------
            Campaign
------------------------------ */
.campaign {
  background-image: url(../../images/special_contents/haircare/20250403/bg_4step.jpg);
  background-size: contain;
  background-repeat: repeat;
  padding: 80px 0 85px;
  position: relative;
}

.campaign__contents {
  width: 1047px;
  background-image: url(../../images/special_contents/haircare/20250403/frame_cp.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding: 55px 0 90px;
  position: relative;
}

.campaign__label {
  width: 375px;
  margin: 15px auto 0;
}

.campaign-notes {
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 2;
  text-align: center;
}

.campaign__detail {
  display: flex;
  align-items: center;
  /* justify-content: center; */
  column-gap: 37px;
  margin-top: 45px;
  padding-left: 210px;
}

.campaign-text__s {
  font-size: 2rem;
  font-feature-settings: "palt";
  line-height: 1.5;
  text-align: center;
}

.campaign-text__l {
  font-size: 3.6rem;
  font-feature-settings: "palt";
  line-height: 1.2;
  margin-top: 23px;
  text-align: center;
}

.campaign-text__vol {
  font-size: 2.8rem;
}

.campaign__img {
  width: 360px;
  position: relative;
}

.sc-accordion__wrapper {
  width: 723px;
  text-align: center;
  margin: 35px auto 0;
}

.accordion__title {
  font-size: 1.6rem;
  line-height: 1;
}

.sc-accordion {
  border-top: 1px solid #9a8a5b;
  border-bottom: 1px solid #9a8a5b;
  color: #403f3e;
  font-weight: 400;
  display: block;
  text-decoration: none;
  padding: 12px 0px;
  position: relative;
}

.sc-accordion-more {
  border-bottom: none;
  padding-bottom: 0;
}

.sc-accordion__title,
.sc-accordion-more__in {
  background-color: #f2ecdc;
}

.sc-comment__list {
  text-align-last: left;
  padding: 25px 17px 30px 17px;
}

.sc-comment__item {
  font-size: 1.4rem;
  line-height: 1.7;
}

.open .common-icon-plus {
  display: none;
}

.open .common-icon-minus {
  display: block;
}

.open .fragrance-accordion {
  border-bottom: none;
}

.reverse-icon .common-icon-plus {
  display: block;
}

/* アコーディオン初期開いた状態 */
.reverse-icon .common-icon-minus {
  display: none;
}

.reverse-icon.open .common-icon-plus {
  display: none;
}

.reverse-icon.open .common-icon-minus {
  display: block;
}

.open .ki-accordion {
  border-bottom: none;
}

.common-icon {
  font-size: 3rem;
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.limited--cp {
  width: 78px;
  height: 78px;
  right: 29px;
}

.ltext--cp {
  font-size: 1.8rem;
}

.sc-comment__item-name {
  margin-bottom: 10px;
}



.step::before,
.special-kit::before {
  content: "";
  display: inline-block;
  width: 436px;
  height: 55px;
  background-image: url(../../images/special_contents/haircare/20250403/obj_section.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -42px;
  left: 50%;
  transform: translateX(-50%);
}

#hc .step-slider::before,
.other-kit-slider::before {

  top: -10px;
}

#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: 36px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
}

#hc .step-slider::before,
.other-kit-slider::before {
  background-image: url(../../images/special_contents/haircare/20250403/line_top_hs.png);
  top: -10px;
}

#hc .step-slider::after,
.other-kit-slider::after {
  background-image: url(../../images/special_contents/haircare/20250403/line_bottom_hs.png);
  bottom: -10px;
}

.campaign__contents::before {
  background-image: url(../../images/special_contents/haircare/20250403/line_top_cp.png);
  top: -10px;
}

.campaign__contents::after {
  background-image: url(../../images/special_contents/haircare/20250403/line_bottom_cp.png);
  bottom: -10px;
}

.other-kit__item--triallkit {
  margin-top: 37px;
}

#hc .step .howtouse-title {
  color: #403f3e;
  font-size: 4rem;
  text-align: center;
}

/* =========================
  ホワイトティセレブレーション
========================= */
.new__icon {
  width: 5.7vw;
  position: absolute;
  top: -1.8vw;
  right: -11vw;
}

#hc .kv .kv-text {
  margin-top: 0;
}

.kv-lead__label {
  margin-top: 2.1vw;
}

.kv-lead__label img {
  width: 29vw;
}

#hc .mlead .text {
  font-size: 2.4rem;
  line-height: 1.6;
}

/* =========================
    NEW HAIR CARE
========================= */
.new-hair-care__sub-title {
  display: block;
  width: fit-content;
  color: #94792f;
  font-size: 3.4rem;
  line-height: 1;
  text-align: center;
  margin: 22px auto 0;
  position: relative;
  z-index: 30;
}

.new-hair-care__sub-title::before,
.new-hair-care__sub-title::after {
  display: inline-block;
  content: "";
  width: 30px;
  height: 1px;
  background-color: #94792f;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.new-hair-care__sub-title::before {
  left: -50px;
}

.new-hair-care__sub-title::after {
  right: -50px;
}

.new-hair-care__detail-text {
  width: 182px;
  background-color: #fff;
  border-radius: 13px;
  color: #94792f;
  font-feature-settings: "palt";
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  margin: 13px auto 0;
  padding: 6px 0;
  position: relative;
  z-index: 30;
}

.new-hair-care__list {
  padding: 0 0 41px;
  position: relative;
}

.new-hair-care {
  background-color: #e6cde0;
  position: relative;
}

.new-hair-care__inner {
  padding: 102px 0 0;
}

.new-hair-care__title {
  color: #94792f;
  font-weight: 600;
  line-height: 1;
  position: relative;
  z-index: 30;
}

.new-hair-care__img {
  width: 1077px;
  margin: 0 auto;
  margin-top: -200px;
  position: relative;
  z-index: 10;
}

.js-open-hair-step {
  background: none;
  border: none;
  position: absolute;
}

.step1__btn--hair {
  top: 333px;
  right: 111px;
}

.step2__btn--hair {
  top: 390px;
  left: 190px;
}

.step3__btn--hair {
  top: 543px;
  left: 150px;
}

.texture__img--rs {
  width: 308px;
  top: -100px;
  right: 170px;
}

.texture__img--rc {
  width: 250px;
  top: -70px;
  right: 230px;
}

.texture__img--rm {
  width: 230px;
  top: -50px;
  right: 230px;
}

.font-capitalize {
  text-transform: capitalize;
}


.step-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .6);
  display: none;
}

.step-modal__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 30px;
}

.step-modal__close {
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  position: absolute;
  top: 21px;
  right: 47px;
  z-index: 100000;
}

.step-modal__close::before,
.step-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  /* 棒の幅（太さ） */
  height: 38px;
  /* 棒の高さ */
  background: #333;
}

.step-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.step-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.new-hair-care__sub-title {
  display: block;
  width: fit-content;
  color: #94792f;
  font-size: 3.4rem;
  line-height: 1;
  text-align: center;
  margin: 22px auto 0;
  position: relative;
  z-index: 30;
}

.new-hair-care__sub-title::before,
.new-hair-care__sub-title::after {
  display: inline-block;
  content: "";
  width: 30px;
  height: 1px;
  background-color: #94792f;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.new-hair-care__sub-title::before {
  left: -50px;
}

.new-hair-care__sub-title::after {
  right: -50px;
}

.new-hair-care__detail-text {
  width: 182px;
  background-color: #fff;
  border-radius: 13px;
  color: #94792f;
  font-feature-settings: "palt";
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  margin: 13px auto 0;
  padding: 6px 0;
  position: relative;
  z-index: 30;
}

.step-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .6);
  display: none;
}

.step-modal__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 30px;
}

.step-modal__close {
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  position: absolute;
  top: 21px;
  right: 47px;
  z-index: 100000;
}

.step-modal__close::before,
.step-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  /* 棒の幅（太さ） */
  height: 38px;
  /* 棒の高さ */
  background: #333;
}

.step-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.step-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.frame__il {
  width: 972px;
  background-color: #fff;
  border-radius: 30px;
  position: relative;
}

.step-block-in {
  width: 860px;
  box-sizing: border-box;
  margin: 0 auto;
  /* padding: 53px 0 0; */
  position: relative;
}

.item-lineup__list,
.new-hair-care__list {
  padding: 0 0 41px;
  position: relative;
}

.new-hair-care .step-block {
  padding-top: 53px;
}

.step-block-in2 {
  margin: 0 auto;
  padding: 50px 0px 0px 429px;
  position: relative;
  min-height: 427px;
}

.new-hair-care .step-block h4 {
  text-align: center;
  box-sizing: border-box;
  z-index: 5;
  position: relative;
}

.new-hair-care .step-block .text {
  padding: 31px 0 0;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 400;
  text-align: center;
  z-index: 5;
  position: relative;
  letter-spacing: -0.02em;
}

.new-hair-care .step-block .img {
  margin: 0px;
  padding: 0px;
  position: absolute;
  top: 0px;
  left: 0px;
  box-sizing: border-box;
  width: 428px;
}

.new-hair-care .step-block .img .rel {
  margin: 0px;
  padding: 0px;
  position: relative;
  display: block;
}

.limited--l {
  width: 70px;
  height: 70px;
  top: 15px;
  right: 13px;
}

.limited--step {
  top: 18px;
  right: 22px;
}

.ltext--l {
  font-size: 1.8rem;
}

.new-hair-care .step-block .data {
  margin: 0px;
  padding: 20px 0 0;
}

.new-hair-care .step-block .data .name-and-price {
  margin: 0px;
  display: block;
  text-align: center;
  padding: 0px;
}

.new-hair-care .step-block .data h5 {
  margin: 0px;
  padding: 0px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: normal;
}

.new-hair-care .step-block .data .price {
  margin: 0px;
  padding: 0px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: normal;
}

.new-hair-care .step-block .data .btn,
.new-hair-care .step-block .data .bcs {
  margin: 0px;
  padding: 24px 0px 0px;
  text-align: center;
}

.step-block .data .btn a svg,
.cart-arrow {
  margin: 0px;
  padding: 0px;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  font-size: 1rem;
}

.step-block .data .bcs .bbg {
  margin: 0px;
  padding: 14px 0px;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #FFF;
  width: 215px;
  border: 1px solid #a18b4f;
}

.step-block .data .link {
  text-align: center;
  margin: 10px 0px 0px;
  padding: 0px;
}

.step-tjp {
  display: block;
  font-size: 4.4rem;
  font-weight: 400;
  line-height: 1;
  margin: 0px;
  padding: 18px 0px 0px;
}

.step-tbg {
  margin: 0px auto;
  padding: 0px;
  font-size: 2rem;
  line-height: 1;
  font-weight: 600;
  display: flex;
  align-items: center;
  text-align: center;
  width: 77px;
}

.step-tbg:before,
.step-tbg:after {
  border-top: 1px solid #3d3027;
  content: "";
  flex-grow: 1;
}

.step-tbg:before {
  margin-right: 6px;
}

.step-tbg::after {
  margin-left: 6px;
}

.texture__img {
  position: absolute;
}

.texture__img--step1 {
  top: -5px;
  right: 206px;
}

.texture__img--step2 {
  width: 284px;
  top: -70px;
  right: 228px;
}

.texture__img--step3 {
  top: -27px;
  right: 176px;
}

/* ステップスライダー */
.js-step-slider-hair .slick-dots {
  margin-top: 25px;
}

.js-step-slider-hair .slick-arrow {
  width: 12px;
  height: 23px;
}

.slick-arrow.slick-prev::after,
.slick-arrow.slick-next::after {
  display: none;
}

.js-step-slider-hair .step-prev-hair,
.js-step-slider-hair .step-next-hair {
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-size: 100% 100%;
  transition: unset;
  border-width: 0px;
  border-style: none;
  opacity: 1;
}

.js-step-slider-hair .step-prev-hair {
  left: 18px;
  background-image: url(../../images/special_contents/haircare/20260219/step_prev.svg);
}

.js-step-slider-hair .step-next-hair {
  right: 18px;
  background-image: url(../../images/special_contents/haircare/20260219/step_next.svg);
}

.new__icon--hair {
  top: -7px;
  left: -13px;
}

.btn--cart a,
.bbg {
  width: 210px;
  display: inline-block;
  background-color: #3d3027;
  color: #fff;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1.4rem;
  text-align: center;
  text-decoration: none;
  padding: 16px 0 18px;
  position: relative;
}

.btn--cart a svg {
  font-size: 1rem;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.btn-list--ok {
  text-align: center;
  margin-top: 7px;
}