@charset "utf-8";

.kv__video {
  width: 100vw;
}

/* =========================
            共通
========================= */
.title__obj {
  width: 25.8vw;
}

.common__title {
  font-size: 10.1vw;
}

.name-and-price {
  font-size: 3.6vw;
  line-height: 1.3;
}

.name-and-price .special-price {
  font-size: 4vw;
}

.btn--cart,
.bcs {
  margin: 5vw auto 0;
}

.btn--cart a,
.btn--other a,
.bbg,
.step-block .data .bcs .bbg {
  width: 58.7vw;
  font-size: 4.5vw;
  line-height: 1;
  padding: 6.6vw 0;
}

.btn--cart-s a,
.bbg--s {
  width: 40.6vw;
  font-size: 3.6vw;
}

.btn--cart a svg {
  font-size: 4vw;
  right: 4vw;
}

.btn--cart-s a svg {
  font-size: 3.8vw;
  right: 3vw;
}

.limited {
  width: 10.8vw;
  height: 10.8vw;
  top: 3.3vw;
  right: 3vw;
  padding: 2px;
}

.ltext {
  font-size: 3.1vw;
}

.limited--ok {
  top: 0;
  right: -2vw;
}

.obj {
  position: absolute;
}

.section__line {
  height: 2.9vw;
  background-size: contain;
}

.section__gold-line {
  height: 2.9vw;
  top: -1vw;
}

/* =========================
            lead
========================= */
.lead__inner {
  padding: 8.7vw 0 9.9vw;
}

.nav-anchor__list {
  column-gap: 2vw;
}

.nav-anchor__item {
  width: 28.8vw;
  height: 11.1vw;
  background-image: url(../../../../contents/images/sp/special_contents/SensoryGarden/20260409/bg_nav_item.png);
}

.nav-anchor__link {
  font-feature-settings: "palt";
  font-size: 2.9vw;
  letter-spacing: -0.025em;
  padding: 2vw 0;
}

.lead__label {
  width: 67.2vw;
  margin: 6.5vw auto 0;
  margin: 4.5vw auto 0;
}

.sell__notes {
  font-size: 3.1vw;
  margin-top: 1.5vw;
}

.lead__title {
  font-size: 4.5vw;
  margin-top: 7.5vw;
}

.lead__text {
  font-size: 3.6vw;
  line-height: 1.4;
  margin-top: 3.9vw;
}

.lead__obj--l {
  width: 22.1vw;
  bottom: 24vw;
}

.lead__obj--r {
  width: 18.6vw;
  bottom: 27vw;
}

/* =========================
        Limited Kit
========================= */
.other-kit {
  background-color: #fcf9f0;
}

.limited-kit__inner {
  width: 85.3vw;
  padding: 13.4vw 0 15.1vw;
}

.limited-kit-detail__wrapper {
  width: 100%;
  flex-direction: column;
  column-gap: 0;
  margin: 8.2vw auto 0;
}

.bcck-img__wrapper {
  width: 75.1vw;
  position: absolute;
  top: 60vw;
  left: 50%;
  transform: translateX(-50%);
}

.limited-kit__sub-title {
  font-size: 4.7vw;
  margin-top: 2.2vw;
}

.main__catch {
  font-size: 4.7vw;
  line-height: 1.2;
  padding-top: 0;
}

.name-and-price--lk {
  margin-top: 58vw;
}

.other-kit__inner {
  width: 100%;
  padding: 13.3vw 0 14.8vw;
}

.other-kit__list {
  width: 100%;
}

.other-kit__item {
  width: 50% !important;
}

.other-kit__catch {
  font-size: 3.8vw;
  line-height: 1.3;
}

.other-kit__item .img {
  width: 35.2vw;
  height: 35.2vw;
  margin: 3.3vw auto 0;
}

.other-kit__item1 .img__wrapper {
  width: 39.2vw;
}

.other-kit__item2 .img__wrapper {
  width: 23.1vw;
}

.other-kit__img--1 {
  width: 39.2vw;
  margin-left: -2vw;
  padding-top: 9.9vw;
}

.other-kit__img--2 {
  width: 23.1vw;
  padding-top: 2.9vw;
}

.other-kit__item4 .img .new__icon--s {
  width: 60px;
  top: 12px;
  left: 20px;
}

.name-and-price--ok {
  margin-top: 3.7vw;
}

/* =========================
          4Step
========================= */
.step__inner {
  padding: 13.6vw 0 15.9vw;
  padding: 13.6vw 0 28.9vw;
  position: relative;
  z-index: 20;
}

.step__title {
  margin-top: 3.8vw;
}

.frame__il {
  width: 89vw;
  height: 141.5vw;
  margin: 6vw auto 0;
}

.step-block-in {
  width: 89vw;
  margin: 0;
  padding: 8.1vw 0 7vw;
}

.item-lineup__list {
  height: 141.5vw;
}


.step__img {
  width: 74vw;
  margin: 0 auto;
}

.step-block .vegan__img {
  width: 29vw;
  right: 6.2vw;
  bottom: -2.4vw;
}

.step-block-in2 {
  padding: 0;
}

.step-block .text {
  padding: 5.6vw 0 0;
  font-size: 4.1vw;
  line-height: 1.3;
}

.step-block .img {
  margin: 4.5vw auto 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 10;
}

.step-block .data {
  padding: 3.9vw 0 0;
}

.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;
}

.bgt {
  position: absolute;
  display: inline-block;
}

.step-block.step1 .bgt {
  width: 16vw;
  top: 12vw;
  right: inherit;
  left: 13vw;
}

.step-block.step2 .bgt {
  width: 27vw;
  top: 12vw;
  right: inherit;
  left: 6vw;
}

.step-block.step3 .bgt {
  width: 25vw;
  top: 12vw;
  right: inherit;
  left: 7vw;
}

.step-block.step4 .bgt {
  width: 25.4vw;
  top: 10vw;
  right: inherit;
  left: 8vw;
}

.step-tjp {
  font-size: 8.5vw;
  padding: 3.7vw 0 0;
}

.step-tbg {
  font-size: 4vw;
  width: 15vw;
}

.step-block h4 .step-tbg:before {
  margin-right: 1.1vw;
}

.step-block h4 .step-tbg:after {
  margin-left: 1.1vw;
}

.step-tbg:before {
  margin-right: 6px;
}

.step-tbg::after {
  margin-left: 6px;
}

.link--step {
  position: relative;
}

.step-slider .slick-dots {
  bottom: -8vw;
}

/* ====== ベース ====== */

.slick-dots > li {
  position: relative;
}

/* バー本体 */
.slick-dots li button {
  width: 14.1vw;
  height: 1.5vw;
}

/* beforeリセット */
.slick-dots > li > button::before {
  width: 14.1vw;
  height: 1.5vw;
}

/* ====== Step1 左だけ直角 ====== */
.slick-dots li:first-child button::after {
  right: -1vw;
  width: 2vw;
  height: 1.5vw;
}

.slick-dots li:first-child.slick-active button::after {
  background: #2f6f3e;
}

/* ====== 最後 右だけ直角 ====== */

.slick-dots li:last-child button::after {
  left: -1vw;
  width: 2vw;
  height: 1.5vw;
}

/* ====== テキスト（Step / 数字 分離） ====== */

/* Step */
.slick-dots li::before {
  position: absolute;
  top: 2.5vw;
  font-size: 3.6vw;
}

/* 数字 */
.slick-dots li::after {
  position: absolute;
  top: 1.8vw;
  font-size: 6.3vw;
}

.slick-dots>li:not(:first-of-type) {
  margin-left: 3vw;
}

.step__obj--top {
  width: 100%;
  top: 3vw;
  left: 0;
}

/* =========================
        Fragrance
========================= */
.fragrance__inner {
  width: 85.3vw;
  padding: 13.4vw 0 11.6vw;
}

.rb-text-list {
  width: 84.4vw;
  margin: 6vw auto 0;
}

.reason-more-btn {
  bottom: 0;
}

.reason-more-btn a {
  width: 40vw;
  font-size: 4vw;
  padding: 4vw 0;
}

.reason-more-btn a .icon {
  font-size: 6vw;
  right: 2vw;
}

.rb-text-list .reason-close-btn {
  bottom: 0;
}

.reason-close-btn a {
  font-size: 4vw;
  padding-left: 6vw;
}

.reason-close-btn a .icon {
  font-size: 5vw;
}

#rb1 {
  height: 17vw;
}

#rb1.open {
  height: 85vw;
}

.fragrance-accordion__title {
  font-size: 3.6vw;
}

.fragrance-accordion {
  padding: 4vw 0;
}

.fragrance__sub-title {
  font-size: 4.7vw;
  line-height: 1.2;
  margin-top: 6.5vw;
}

.fragrance__text {
  font-feature-settings: "palt";
  font-size: 3.6vw;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.fragrance__img {
  width: 81.9vw;
  margin: 7.3vw auto 0;
}

.fragrance__obj--l {
  width: 21.2vw;
  top: -8vw;
  z-index: 30;
}

.fragrance__obj--r {
  width: 20.1vw;
  top: -9vw;
  z-index: 30;
}

/* =========================
        販売ストア
========================= */
.sell-store__inner {
  padding: 10.1vw 0 11.7vw;
}

.sell-store__title {
  font-size: 6.7vw;
  margin-top: 5.1vw;
}

.sell-store__wrapper {
  width: 89.8vw;
  margin: 5.7vw auto 0;
  padding: 8.1vw 0 8.8vw;
  outline-offset: -2vw;
}

.sell-store__text {
  font-size: 3.6vw;
  line-height: 1.5;
}

.section__gold-line--sell-store {
  top: -7px;
}

.sell-store__obj--l {
  width: 24.4vw;
  top: 11vw;
  bottom: inherit;
  left: 0;
  z-index: 30;
}

.sell-store__obj--r {
  width: 24.1vw;
  top: 10vw;
  right: 0;
  z-index: 30;
}

/* ------------------------------
        The Collection
------------------------------ */
.collection-banner__inner {
  padding: 12.4vw 0 14.6vw;
}

.collection__banner {
  width: 83.6vw;
  margin: 4.8vw auto 0;
}

.collection__banner:not(:first-child) {
  margin: 6.1vw auto 0;
}

/* 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;
}