@charset "utf-8";

.font-yumin {
  font-family: "游明朝", YuMincho, 'Yu Mincho', "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Noto Serif JP", "serif" !important;
}

.font-garamond {
  font-family: 'EB Garamond', serif !important;
}

.font-arno {
  font-family: arno-pro, serif !important;
}

.font-petrona {
  font-family: Petrona, serif !important;
}

.font-numberfive {
  font-family: 'number-five-smooth', serif !important;
}

.font-zomincho {
  font-family: "Zen Old Mincho", sans-serif !important;
}

.inview {
  opacity: 0;
}

.scrolled main {
  padding-top: calc(130px + var(--fsBannerHeight));
}

html {
  scroll-padding-top: 0px
}

#sg {
  color: #000;
}

main a:hover {
  text-decoration: none;
}

footer {
  margin-top: 0;
}

/* =========================
            共通
========================= */
.font-capitalize {
  text-transform: capitalize;
}

.title__obj {
  width: 204px;
  margin: 0 auto;
}

.common__title {
  font-size: 7rem;
  line-height: 1;
  text-align: center;
}

.name-and-price {
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
}

.btn--cart,
.bcs {
  margin: 20px auto 0;
  text-align: center;
}

.btn--cart a,
.btn--other a,
.bbg {
  width: 210px;
  display: inline-block;
  background-color: #c19f4b;
  color: #fff;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1.4rem;
  text-align: center;
  text-decoration: none;
  padding: 16px 0 18px;
  position: relative;
}

.bbg {
  background-color: #fff;
  border: 1px solid #97804e;
  color: #c19f4b;
}

.btn--cart-s a,
.bbg--s {
  width: 165px;
}

.btn--cart a svg {
  font-size: 1rem;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.limited {
  width: 70px;
  height: 70px;
  position: absolute;
  top: 21px;
  right: 22px;
  z-index: 15;
  padding: 3px;
  box-sizing: border-box;
}

.limited--ok {
  top: 3px;
  right: 0;
}

.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;
  font-size: 1.8rem;
  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%);
}

.obj {
  position: absolute;
}

.section__line {
  display: inline-block;
  content: "";
  width: 100%;
  height: 18px;
  background-image: url(../../images/special_contents/SensoryGarden/20260409/line_section.png);
  background-repeat: repeat;
  background-size: contain;
  position: absolute;
  z-index: 30;
}

.section__gold-line {
  display: inline-block;
  content: "";
  width: 100%;
  height: 18px;
  background-image: url(../../images/special_contents/SensoryGarden/20260409/line_section_gold.png);
  background-repeat: repeat;
  background-size: contain;
  position: absolute;
  z-index: 30;
}

.section__gold-line--short {
  width: 1158px;
  left: 50%;
  transform: translateX(-50%);
}

.step-slider .slick-dots {
  margin-top: 0;
  position: absolute;
  bottom: -50px;
}

/* ====== ベース ====== */
.slick-dots > li {
  position: relative;
}

/* バー本体 */
.slick-dots li button {
  display: block;
  line-height: 0;
  width: 73px;
  height: 9px;
  background: #98bfa8;
  color: transparent;
  font-size: 0;
  outline: none;
  padding: 0;
  transform: skewX(30deg);
  text-align: center;
  position: relative;
}

/* beforeリセット */
.slick-dots > li > button::before {
  content: "";
  border-radius: 0;
  width: 73px;
  height: 9px;
  background: transparent;
}

/* アクティブ */
.slick-dots li.slick-active button {
  background: #2f6f3e;
}

/* ====== Step1 左だけ直角 ====== */
.slick-dots li:first-child button {
  transform: none;
}

.slick-dots li:first-child button::after {
  content: "";
  position: absolute;
  top: 0;
  right: -6px;
  width: 20%;
  height: 9px;
  background: #98bfa8;
  transform: skewX(30deg);
  z-index: 1;
}

.slick-dots li:first-child.slick-active button::after {
  background: #2f6f3e;
}

/* ====== 最後 右だけ直角 ====== */
.slick-dots li:last-child button {
  transform: none;
}

.slick-dots li:last-child button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -6px;
  width: 20%;
  height: 9px;
  background: #98bfa8;
  transform: skewX(30deg);
  z-index: 1;
}


.slick-dots>li.slick-active>button::before,
.slick-dots li:last-child.slick-active button::after {
  background: #2f6f3e;
}

/* ====== テキスト（Step / 数字 分離） ====== */

/* Step */
.slick-dots li::before {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-80%);
  font-size: 16px;
  font-family: "arno-pro", serif;
  color: #333;
  content: "Step";
}

/* 数字 */
.slick-dots li::after {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(40%);
  font-size: 30px;
  font-family: "arno-pro", serif;
  color: #333;
  line-height: 1;
}

/* 番号 */
.slick-dots li:nth-child(1)::after { content: "1"; }
.slick-dots li:nth-child(2)::after { content: "2"; }
.slick-dots li:nth-child(3)::after { content: "3"; }
.slick-dots li:nth-child(4)::after { content: "3"; }
.slick-dots li:nth-child(5)::after { content: "4"; }

.slick-dots li::before,
.slick-dots li::after {
  color: #98bfa8;
}

/* アクティブ */
.slick-dots li.slick-active::before,
.slick-dots li.slick-active::after {
  color: #000000;
}



.kv__video {
  width: 100%;
}

/* =========================
            lead
========================= */
.lead {
  background-color: #fcf9f0;
  position: relative
}

.lead__inner {
  padding: 89px 0;
  padding: 60px 0;
}

.nav-anchor__list {
  display: flex;
  justify-content: center;
  column-gap: 13px;
}

.nav-anchor__item {
  width: 193px;
  height: 75px;
  background-image: url(../../images/special_contents/SensoryGarden/20260409/bg_nav_item.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  text-align: center;
  position: relative;
}

.nav-anchor__link {
  width: 100%;
  height: 100%;
  display: block;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  letter-spacing: -0.025em;
  padding-top: 14px;
}

.lead__label {
  width: 405px;
  margin: 35px auto 0;
}

.sell__notes {
  font-size: 1.9rem;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 8px;
}

.sell__notes a {
  text-decoration: underline;
}

.lead__title {
  font-size: 3rem;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  margin-top: 50px;
}

.lead__text {
  font-feature-settings: "palt";
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
  margin-top: 25px;
}

.lead__obj--l {
  bottom: 25px;
  left: 0;
}

.lead__obj--r {
  right: 0;
  bottom: 57px;
}

/* =========================
        Limited Kit
========================= */
.limited-kit,
.other-kit {
  background-color: #b3d5b0;
}

.limited-kit__inner,
.other-kit__inner {
  width: 83.6vw;
  background-color: #fcf9f0;
  margin: 0 auto;
  padding: 98px 0 73px;
}

.limited-kit-detail__wrapper {
  width: 960px;
  display: flex;
  column-gap: 60px;
  margin: 55px auto 0;
}

.bcck-img__wrapper {
  width: 548px;
  position: relative;
}

.limited-kit__sub-title {
  font-size: 2.6rem;
  line-height: 1;
  text-align: center;
  margin-top: 14px;
}

.main__catch {
  color: #1f855a;
  font-size: 2.6rem;
  line-height: 1.3;
  text-align: center;
  padding-top: 40px;
}

.name-and-price--lk {
  margin-top: 23px;
}

.other-kit__inner {
  padding: 71px 0 118px;
}

.other-kit__list {
  display: flex;
  width: 686px;
  margin: 0 auto;
}

.other-kit__item {
  width: 343px !important;
}

.other-kit__catch {
  color: #1f855a;
  font-feature-settings: "palt";
  font-size: 2rem;
  line-height: 1.35;
  text-align: center;
}

.other-kit__item .img {
  width: 253px;
  height: 253px;
  background-image: linear-gradient(0deg, #d4f5e0, #cbd0e3);
  border-radius: 50%;
  margin: 30px auto 0;
  position: relative;
}

.img__wrapper {
  display: block;
  margin: 0 auto;
  position: relative;
}

.other-kit__item1 .img__wrapper {
  width: 281px;
}

.other-kit__item2 .img__wrapper {
  width: 150px;
}

.other-kit__img--1 {
  width: 281px;
  margin-left: -15px;
  padding-top: 70px;
}

.other-kit__img--2 {
  width: 150px;
  margin: 0 auto;
  padding-top: 30px;
}

.other-kit__item4 .img .new__icon--s {
  width: 60px;
  top: 12px;
  left: 20px;
}

.name-and-price--ok {
  margin-top: 17px;
}

.other-kit .slick-track {
  width: 100% !important;
}

/* =========================
          4Step
========================= */
.step {
  background-color: #d9f7e5;
}

.step__inner {
  padding: 81px 0 93px;
  padding: 81px 0 153px;
}

.step__title {
  margin-top: 34px;
}

.frame__il {
  width: 972px;
  background-color: #fff;
  margin: 57px auto 0;
  position: relative;
}

.step-block-in {
  width: 885px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 55px 0 60px;
  position: relative;
}

.item-lineup__list {
  position: relative;
}

.step-block-in2 {
  margin: 0 auto;
  padding: 5px 0px 0px 500px;
  position: relative;
  min-height: 320px;
}

.step-block h4 {
  text-align: center;
  box-sizing: border-box;
  z-index: 5;
  position: relative;
}

.step-block .text {
  padding: 31px 0 0;
  font-feature-settings: "palt";
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 400;
  text-align: center;
  z-index: 5;
  position: relative;
  letter-spacing: -0.02em;
}

.step-block .img {
  margin: 0px;
  padding: 0px;
  position: absolute;
  top: 0px;
  left: 0px;
  box-sizing: border-box;
  width: 499px;
}

.step-block .img .rel {
  margin: 0px;
  padding: 0px;
  position: relative;
  display: block;
}

.limited--step {
  top: 47px;
  right: 22px;
}

.step-block .data {
  margin: 0px;
  padding: 20px 0 0;
}

.step-block .data .name-and-price {
  margin: 0px;
  display: block;
  text-align: center;
  padding: 0px;
}

.step-block .data h5 {
  margin: 0px;
  padding: 0px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: normal;
}

.step-block .data .price {
  margin: 0px;
  padding: 0px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: normal;
}

.step-block .data .btn,
.step-block .data .bcs {
  margin: 0px;
  padding: 16px 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;
}

.bgt {
  position: absolute;
  display: inline-block;
}

.step-block.step1 .bgt {
  width: 61px;
  top: 69px;
  right: 82px;
  z-index: 1;
}

.step-block.step2 .bgt {
  width: 100px;
  top: 68px;
  right: 57px;
}

.step-block.step3 .bgt {
  width: 94px;
  top: 65px;
  right: 55px;
}

.step-block.step4 .bgt {
  width: 92px;
  top: 65px;
  right: 54px;
}

.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 #404040;
  content: "";
  flex-grow: 1;
}

.step-tbg:before {
  margin-right: 6px;
}

.step-tbg::after {
  margin-left: 6px;
}

.link--step {
  position: relative;
}

/* ステップスライダー */

.slick-arrow.slick-prev::after,
.slick-arrow.slick-next::after {
  display: none;
}

.step-slider .step-prev,
.step-slider .step-next {
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-size: 100% 100%;
  transition: unset;
  border-width: 0px;
  border-style: none;
  opacity: 1;
}

.step-slider .step-prev {
  left: -18px;
  background-image: url(../../images/special_contents/SensoryGarden/20260409/step_arrow_prev.svg);
}

.step-slider .step-next {
  right: -18px;
  background-image: url(../../images/special_contents/SensoryGarden/20260409/step_arrow_next.svg);
}

.step__obj--l {
  left: 0;
}

.step__obj--r {
  right: 0;
}

/* =========================
        Fragrance
========================= */
.fragrance {
  background-color: #b3d5b0;
}

.fragrance__inner {
  background-color: #fcf9f0;
  width: 83.6vw;
  margin: 0 auto;
  padding: 94px 0 73px;
}

.rb-text-list {
  width: 600px;
  /* height: 100px; */
  /* height: 230px; */
  margin: 34px auto 0;
  line-height: 1.6;
  position: relative;
  overflow: hidden;
}

.fragrance__sub-title {
  font-size: 2.5rem;
  line-height: 1;
  text-align: center;
  margin-top: 54px;
}

.fragrance__text {
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}

.fragrance__img {
  margin-top: 40px;
}

.reason-more-btn {
  display: block;

  position: absolute;
  bottom: 23px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  z-index: 20;
}

.reason-more-btn a {
  margin: 0;
  padding: 15px 0;
  text-align: center;
  color: #FFF;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background: #9c894d;
  width: 150px;
  cursor: pointer;
  box-sizing: border-box;
}

.reason-more-btn a:hover {
  opacity: 1;
}

.reason-more-btn a .icon {
  font-size: 26px;
  line-height: 1;
  font-style: normal;
  text-decoration: none;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  font-weight: 400;
  display: inline-block;
}

.rb-text-list.open .reason-more-btn {
  display: none;
}

.reason-close-btn {
  display: none;
}

.rb-text-list .reason-close-btn {
  display: block;
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

.reason-close-btn a {
  color: #a18b4f;
  margin: 0;
  padding-left: 30px;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-block;
  width: auto;
  cursor: pointer;
  box-sizing: border-box;
}

.reason-close-btn a .icon {
  color: #a18b4f;
  font-size: 20px;
  line-height: 1;
  font-style: normal;
  text-decoration: none;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-weight: 400;
  display: inline-block;
}

.reason-more-bg {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0px;
  left: 0px;
  background-image: linear-gradient(rgba(252, 249, 240, 0.4));
}

.rb-text-list.open .reason-more-bg {
  display: none;
}

#rb1 {
  height: 124px;
  /* 初期状態 */
  overflow: hidden;
  transition: height 1.2s ease;
}

#rb1.open {
  height: 530px;
  /* PCのとき */
}

.fragrance__obj--l {
  top: -60px;
  left: 0;
}

.fragrance__obj--r {
  top: 40px;
  right: 0;
}

/* =========================
        販売ストア
========================= */
.sell-store {
  background-color: #fcf9f0;
  position: relative;
}

.sell-store__inner {
  padding: 80px 0 86px;
}

.sell-store__title {
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  margin-top: 28px;
}

.sell-store__wrapper {
  width: 839px;
  background-color: #fff;
  margin: 38px auto 0;
  padding: 68px 0 70px;
  position: relative;
  outline: 1px solid #bd9f5d;
  outline-offset: -11px;
}

.sell-store__text {
  font-feature-settings: "palt";
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.2;
  text-align: center;
}

.section__gold-line--sell-store {
  top: -7px;
}

.sell-store__obj--l {
  bottom: -13px;
  left: -125px;
}

.sell-store__obj--r {
  top: -20px;
  right: -148px;
}

/* ------------------------------
        The Collection
------------------------------ */
.collection-banner {
  background-color: #d9f7e5;
}

.collection-banner__inner {
  padding: 88px 0 100px;
}

.collection__banner {
  width: 856px;
  margin: 33px auto 0;
}

.collection__banner-first {
  margin-top: 55px;
}

/* MENUアンカー */
.open-menu-out {
  z-index: 110;
  position: relative;
}

.open-menu {
  position: fixed;
  top: 160px;
  right: -80px;
  transition: all 0.8s cubic-bezier(.165, .84, .44, 1);
}

.open-menu-out .open-menu.open {
  right: -400px;
}

.open-menu-out.view .open-menu {
  right: 0px;
}

.open-menu .open-menu-in {
  transform: translateX(0%);
  transition: all 0.8s cubic-bezier(.165, .84, .44, 1);
}

.open-menu.open .open-menu-in {
  transform: translateX(-320px);
}

.open-menu .btn {
  position: relative;
  z-index: 80;
}

.open-menu .btn a {
  opacity: 1;
  display: block;
  transition: unset;
}

.open-menu .btn a span.open-text {
  display: none;
}

.open-menu .btn a span.close-text {
  display: inline-block;
}

.open-menu.open .btn a span.open-text {
  display: inline-block;
}

.open-menu.open .btn a span.close-text {
  display: none;
}

.open-menu .open-menu-list {
  margin: 0px;
  padding: 0px;
  position: absolute;
  top: 5px;
  right: -320px;
  /*right: 0px;*/
  z-index: 50;
  overflow: hidden;
  width: 320px;
  background-image: url(../../images/special_contents/FacePolisher/20230720/bg_menu_2.png);
  background-repeat: repeat-y;
  background-size: 100% auto;
}

.open-menu.open .open-menu-list {
  box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.17);
}

.open-menu .open-menu-frame1 {
  margin: 0px;
  padding: 0px;
  background-image: url(../../images/special_contents/FacePolisher/20230720/bg_menu_1.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
}

.open-menu .open-menu-frame2 {
  margin: 0px;
  padding: 23px 0px 20px;
  background-image: url(../../images/special_contents/FacePolisher/20230720/bg_menu_3.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% auto;
}

.open-menu .open-menu-list-iner {
  margin: 0px;
  padding: 0px;
}

.open-menu .open-menu-list ul li {
  margin: 0px;
  padding: 0px;
  width: 100%;
}

.open-menu .open-menu-list ul li a {
  margin: 0px;
  padding: 0px 24px 0px 24px;
  display: block;
  position: relative;
  color: #FFF;
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: -0.02em;
  text-align: left;
  text-decoration: none;
  opacity: 1;
  width: 100%;
  box-sizing: border-box;
}

.open-menu .open-menu-list ul li a svg {
  color: #fff;
  font-size: 1.1rem;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.open-menu .open-menu-list ul li a:hover {
  background-image: url(../../images/special_contents/FacePolisher/20230720/nav_current.png);
  background-repeat: no-repeat;
  background-position: center center;
}

.open-menu .open-menu-list ul li a span {
  display: block;
  margin: 0px;
  padding: 14px 0px 14px 55px;
  border-bottom: 1px solid rgba(120, 99, 32, 0.5);
  position: relative;
  box-sizing: border-box;
}

.open-menu .open-menu-list ul li:last-child a span {
  border-bottom: 0px none;
}

/* TOPに戻るボタン */
.pagetop {
  margin: 0;
  padding: 0;
  position: fixed;
  bottom: 12px;
  left: 12px;
  z-index: 500;
  display: none;
}

.pagetop .pagetop-link {
  margin: 0;
  padding: 0;
  width: 62px;
}

.pagetop .pagetop-link a {
  margin: 0;
  padding: 35px 0px 0;
  width: 62px;
  height: 62px;
  box-sizing: border-box;
  border-radius: 50%;
  display: block;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1;
  background-color: #000;
  color: #FFF;
  font-style: italic;
  font-weight: 600;
  background-image: url(../../images/sp/special_contents/FacePolisher/20230720/page_top2.svg);
  background-repeat: no-repeat;
  background-position: center top 16px;
  background-size: 19px auto;
  box-shadow: 0 0 12.1px 0.9px rgba(0, 0, 0, 0.15);
  text-decoration: none;
}