@charset "utf-8";

/* ------------------------------
              共通
------------------------------ */
.common__title {
  /* width: 100%; */
  font-size: 9vw;
}

.common__catch {
  font-size: 4vw;
  line-height: 1.2;
}

.name-and-price {
  font-size: 3.6vw;
  margin-top: 3vw;
}

.btn--cart {
  padding: 2.2vw 0 0;
}

.btn--cart a {
  width: 45vw;
  font-size: 3.1vw;
  line-height: 1;
  padding: 4.3vw 0;
}

.btn--cart a svg {
  font-size: 3vw;
  right: 2vw;
}

.sup {
  font-size: 3vw;
}

.limited {
  width: 14vw;
  height: 14vw;
  color: #a89969;
  padding: 2px;
  top: -1vw;
  right: -6vw;
}

.ltext {
  font-size: 3.3vw;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 0;
  left: 0;
  top: 51%;
  -webkit-transform: translateY(-51%);
  transform: translateY(-51%);
}

.common-icon {
  font-size: 7vw;
  right: 2vw;
}

/* ------------------------------
              mv
------------------------------ */
.mv-text__wrapper {
  width: 100%;
  top: 4.5vw;
}

.mv__title {
  font-size: 8vw;
}

.mv__by {
  font-size: 3.1vw;
  line-height: 2;
}

.mv__lead {
  font-size: 4vw;
  line-height: 1.2;
}

.mv-lead__label {
  margin-top: 57.5vw;
  position: relative;
  z-index: 30;
}

.mv-lead__label img {
  width: 71vw;
}

.kv-cloud__obj-l {
  top: 66vw;
  left: -35vw;
}

.kv-cloud__obj-r {
  top: 65vw;
  right: -36vw;
}

/* ------------------------------
          lead item
------------------------------ */
.lead {
  background-color: #edebe7;
  background-image: none;
  padding: 11vw 0 12vw;
}

.campaign-banner__wrapper {
  width: 91vw;
  margin-bottom: 9.3vw;
}

.label__bnr_cp {
  width: 45vw;
  top: -3.6vw;
}

.lead__title {
  font-size: 4.9vw;
  line-height: 1.2;
}

.lead__text {
  font-size: 3.6vw;
  line-height: 1.4;
  margin-top: 4vw;
}

.img__item-lineup {
  width: 100%;
  background-size: 137vw 44vw;
  background-position-x: center;
  background-position-y: 30vw;
  margin: 7.3vw auto 0;
  padding-bottom: 12vw;
}

.img__item-lineup img {
  width: 72vw;
}

.moisturizer-lineup__wrapper {
  max-width: 95vw;
  background-image: url(../../../images/sp/special_contents/moisturizercp/20250116/frame_item.png);
  padding: 14vw 0;
}

.moisturizer-lineup__list {
  width: 89vw;
  margin: 7.6vw auto 0;
}

.moisturizer-lineup__item {
  width: auto;
}

.type__text {
  font-size: 3.6vw;
  margin: 2.9vw auto 0;
  padding: 1.3vw 2.9vw;
}

.moisturizer-lineup__item .img {
  width: 35vw;
  height: 35vw;
  background-size: 35vw 35vw;
  position: relative;
  margin: 3.3vw auto 0;
}

.moisturizer-lineup__item .item {
  margin: 0 auto;
}

.item1 {
  width: 13vw;
  padding-top: 3.6vw;
}

.item2 {
  width: 10vw;
  padding-top: 3.9vw;
}

.item3 {
  width: 23vw;
  padding-top: 11vw;
}

.item4 {
  width: 18vw;
  padding-top: 8.4vw;
}

.item5 {
  width: 9.6vw;
  padding-top: 3.3vw;
}

.item6 {
  width: 12vw;
  padding-top: 3.7vw;
}

.item7 {
  width: 12vw;
  padding-top: 3.9vw;
}

.item8 {
  width: 34vw;
  padding-top: 4.4vw;
}

.item__notes {
  font-feature-settings: "palt";
  font-size: 3vw;
  margin-top: 1vw;
}

.moisturizer-lineup__item .name-and-price {
  margin-top: 3vw;
}

.slick-dots>li>button::before {
  margin-top: 5.7vw;
}

.slick-arrow {
  width: 15vw;
  height: 5vw;
}

.slick-arrow::after {
  width: 9vw;
  height: 9vw;
}

.slick-arrow.slick-prev {
  left: 17.3vw;
}

.slick-arrow.slick-next {
  right: 17.3vw;
}

.notes__wpapper {
  width: 89vw;
  margin: 1.6vw auto 0;
}

.notes {
  font-size: 2.7vw;
}

.item-cloud__obj-l {
  left: -50vw;
  bottom: -21vw;
}

.item-cloud__obj-r {
  right: -31vw;
  bottom: -19vw;
}

/* ------------------------------
            Campaign
------------------------------ */
.campaign {
  background-image: url(../../../images/sp/special_contents/moisturizercp/20250116/bg_cp.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 11vw 0;
}

.campaign__contents {
  width: 95vw;
  background-image: url(../../../images/sp/special_contents/moisturizercp/20250116/frame_cp.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding: 15vw 0 18vw;
}

.campaign__label {
  width: 42vw;
  margin: 4.7vw auto 0;
}

.campaign__detail {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  column-gap: 0;
  row-gap: 5.6vw;
  margin-top: 3.8vw;
}

.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: 41vw;
}

.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;
}

/* -------------------
あなたにぴったりのモイスチャーライザー
------------------- */
.moisturizer {
  background-image: url(../../../images/sp/special_contents/moisturizercp/20250116/bg_moisturizer.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 7.9vw 0 14vw;
}

.obj__text {
  width: 29vw;
}

.lead-moisturizer__title {
  margin-top: 5.7vw;
}

.img__moisturizer {
  width: 72vw;
  margin: 7.1vw auto 0;
}

.btn__moisturizer {
  width: 68vw;
  height: 25vw;
  background-image: url(../../../images/sp/special_contents/moisturizercp/20250116/bg_btn.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin: 4.2vw auto 0;
}

.btn__moisturizer a {
  font-size: 3.6vw;
  padding: 11vw 0 6vw;
}

.btn__moisturizer a svg {
  font-size: 3vw;
  top: 63%;
  transform: translateY(-63%);
  right: 7vw;
}

/* -------------------
        LINE
------------------- */
.line {
  background-image: url(../../../images/sp/special_contents/moisturizercp/20250116/bg_line.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 12vw 0px 11vw;
}

.line-in {
  width: 84vw;
  height: 68vw;
  border-radius: 2.2vw;
  padding: 9vw 0 0;
  position: relative;
  z-index: 40;
}

.line h2 {
  font-size: 5.5vw;
  line-height: 1.4;
}

.line .text {
  padding: 10px 0 0;
  font-size: 3.7vw;
}

.line .btn {
  padding: 3.3vw 0 0;
}

.line .btn a {
  padding: 6.2vw 0 0 14.4vw;
  font-size: 4.6vw;
  line-height: 1;
  width: 59.1vw;
  height: 17vw;
  border-radius: 0.4em;
}

.line .btn a:before {
  background: url(../../../images/sp/special_contents/HolidayCollection/20211014/icon_line.png) no-repeat center center;
  background-size: 11.3vw auto;
  width: 15.3vw;
  height: 17vw;
}

.all-notes {
  padding: 0 0 4.4vw;
  font-size: 2.3vw;
  width: 89.4vw;
}

.line-cloud__obj-l {
  left: -26vw;
  bottom: -24vw;
}

.line-cloud__obj-r {
  right: -28vw;
  bottom: 67vw;
}

/* -------------------
        SNS
------------------- */
.sns {
  padding: 10vw 0;
}

.sns .sns-frame {
  width: 82vw;
  height: 31vw;
  border-radius: 2.2vw;
  padding: 6.1vw 0 0;
  position: relative;
  z-index: 40;
}

.sns h3 {
  font-size: 9vw;
  line-height: 1.34;
}

.sns .social-btn {
  margin-top: 1.4vw;
}

.fb-like>span {
  width: 162px !important;
}

.fb-like iframe {
  width: 162px !important;
}

/* ------------------------------
          オブジェクト
------------------------------ */
.cloud__obj-l,
.cloud__obj-r {
  width: 71vw;
}

/* MENUアンカー */
.open-menu {
  position: fixed;
  top: 105px;
  right: -71px;
}

.open-menu.fix {
  position: fixed;
  top: 110px;
  transition: none;
}

.open-menu .open-menu-in {
  transform: translateX(0%);
  transition: all 0.8s cubic-bezier(.165, .84, .44, 1);
}

.open-menu-out .open-menu.open {
  right: -290px;
}

.open-menu-out.view .open-menu {
  right: 0px;
}

.open-menu .btn {
  position: relative;
  z-index: 80;
  width: 16.7vw;
}

.open-menu .open-menu-list {
  width: 53.3vw;
  top: 0.5vw;
  right: -53.3vw;
  height: auto;
  background-color: #8A7635;
  background-image: none;
}

.open-menu.open .open-menu-list {
  box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.1);
}

.open-menu .open-menu-frame2 {
  padding: 2.1vw 0;
}

.open-menu.open .open-menu-in {
  transform: translateX(-53.3vw);
}

.open-menu .open-menu-list ul li a {
  padding: 0 4.1vw 0 3.2vw;
  font-size: 2.8vw;
  line-height: 1;
}

.open-menu .open-menu-list ul li a svg {
  font-size: 2vw;
  left: 1.4vw;
}

.open-menu .open-menu-list ul li a:hover {
  background-image: none;
}

.open-menu .open-menu-list ul li a span {
  padding: 12px 0px 12px 40px;
  border-bottom: 1px solid rgba(120, 99, 32, 0.5);
  position: relative;
  box-sizing: border-box;
  height: auto;
}

.pagetop {
  bottom: 11px;
  left: 11px;
}

.pagetop .pagetop-link a:hover {
  opacity: 1;
}