@charset "utf-8";

/* =======================
          共通
======================= */
.font-uppercase {
  text-transform: uppercase;
}

.common__main-catch {
  font-feature-settings: "palt";
  font-size: 2.6rem;
  text-align: center;
}

.name,
.price {
  line-height: 1.4;
}

.limited {
  position: absolute;
  background-color: #b29a58;
  border-radius: 50%;
  z-index: 15;
  padding: 3px;
  box-sizing: border-box;
}

.limited--l {
  width: 71px;
  height: 71px;
  top: 0;
  right: -17px;
}

.limited--fks {
  top: 10px;
  right: 5px;
}

.limited--s {
  width: 55px;
  height: 55px;
  top: 8px;
  right: 8px;
}

.limited--ok {
  top: -7px;
  right: -20px;
}

.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%);
}

.ltext--l {
  font-size: 1.8rem;
}

.ltext--s {
  font-size: 1.5rem;
}

.slick-arrow.slick-prev::after,
.slick-arrow.slick-next::after {
  border: none;
}

.section__line {
  display: inline-block;
  content: "";
  width: 100%;
  height: 18px;
  background-repeat: repeat;
  background-size: contain;
  position: absolute;
  z-index: 30;
}

.section__line--pink {
  background-image: url(../../images/gift/20260416/section_line_pink.png);
}

.section__line--gold {
  background-image: url(../../images/gift/20260416/section_line_gold.png);
}

/* =======================
            kv
======================= */
.kv-text__wrapper {
  width: 50.7vw;
  text-align: center;
  top: 6.8vw;
}

.kv-title img {
  width: 30.7vw;
}

#gift .kv .kv-text {
  color: #847141;
  margin-top: 1.3vw;
}

.kv__label {
  margin-top: 1.9vw;
}

.kv__label img {
  width: 25vw;
}

.kv__icon {
  width: 6.7vw;
  position: absolute;
  top: -4.5vw;
  right: 8vw;
}

/* =======================
          lead
======================= */
.lead__inner {
  padding: 67px 0 72px;
}

.mothers-banner__wrapper {
  width: 767px;
  margin: 0 auto;
}

.nav-anchor__wrapper {
  margin-top: 41px;
}

/* =======================
      Gift Service
======================= */
.gift-service {
  background-image: url(../../images/gift/20260416/bg_flower.jpg);
  background-repeat: repeat;
  background-size: 554px 842px;
}

.gift-service__inner {
  padding: 79px 0 89px;
}

.gift-service__label {
  width: 283px;
  margin: 24px auto 0;
}

.mothers-pb__wrapper {
  width: 1050px;
  background-image: url(../../images/gift/20260416/frame_gs.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  filter: drop-shadow(0 0 27px rgba(222, 213, 201, 0.2));
  position: relative;
  margin: 35px auto 0;
  padding: 60px 0 66px;
}

.mothers-pb__inner {
  display: flex;
  column-gap: 31px;
  justify-content: center;
}

.mothers-pb__img {
  width: 207px;
  margin-top: 7px;
  position: relative;
}

.mothers-pb__title {
  width: fit-content;
  font-feature-settings: "palt";
  font-size: 3.7rem;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
  position: relative;
}

.mothers-pb__title--main {
  color: #c45187;
  margin-bottom: 10px;
}

.mothers-pb__title--main::before,
.mothers-pb__title--main::after {
  content: "";
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.mothers-pb__title--main::before {
  background-image: url(../../images/gift/20260416/obj_title_l.svg);
  left: -45px;
}

.mothers-pb__title--main::after {
  background-image: url(../../images/gift/20260416/obj_title_r.svg);
  right: -45px;
}

.short__line {
  width: 416px;
  line-height: 1;
  margin: 20px auto 0;
}

.data--mothers-pb {
  margin-top: 18px;
}

.cart__btn--mothers-pb {
  margin-top: 16px;
}

.mothers-pb__notes {
  color: #8d7227;
  font-feature-settings: "palt";
  font-size: 1.4rem;
  text-align: center;
  margin-top: 11px;
}

.mothers-pb__text {
  font-feature-settings: "palt";
  font-size: 2rem;
  line-height: 1.5;
  margin-top: 30px;
  text-align: center;
}

.so-bl__img {
  width: 386px;
  margin: 33px auto 0;
}

.gs__obj1 {
  top: -180px;
  right: -80px;
}

.gs__obj2 {
  top: 60px;
  left: -95px;
}

.gs__obj3 {
  right: -109px;
  bottom: 24px;
}

/* =======================
  香りを揃える、という贅沢
======================= */
.so-bl-kit__inner {
  padding: 99px 0 84px;
}

.kit-tab-area {
  width: 930px;
  display: flex;
  column-gap: 6px;
  margin: 67px auto 0;
  cursor: pointer;
}

.kit-tab {
  width: calc(100%/6);
  background: -webkit-gradient(linear, left top, left bottom, from(#f8efe3), to(#eadcb0));
  background: -webkit-linear-gradient(top, #f8efe3, #eadcb0);
  background: -moz-linear-gradient(top, #f8efe3, #eadcb0);
  background: -o-linear-gradient(top, #f8efe3, #eadcb0);
  background: linear-gradient(#f8efe3, #eadcb0);
  color: #9c8743;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  line-height: 1.1;
  padding: 7px 0 9px;
  text-align: center;
  display: flex;
  align-items: center;
  /* 縦中央 */
  justify-content: center;
  /* 横中央（不要なら消してOK） */
  text-align: center;
}

.kit-tab.active {
  background: none;
  color: #fff;
}

.kit-tab.dj.active {
  background-color: #9bdbdb;
}

.kit-tab.gr.active {
  background-color: #f7b8c8;
}

.kit-tab.plv.active {
  background-color: #d6b9ea;
}

.kit-tab.wt.active {
  background-color: #9bd4a5;
}

.kit-tab.tk.active {
  background-color: #f5b1f7;
}

.kit-tab.rt.active {
  background-color: #f7b1b1;
}

.kit-panel {
  display: none;
  text-align: center;
}

.kit-slide {
  width: 800px;
  margin: 61px auto 0;
  position: relative;
}

.kit-slide .slick-arrow {
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
}

.slick-arrow.slick-prev.so-bl-kit-prev {
  background-image: url(../../images/gift/20260416/prev.svg);
  left: -65px;
}

.slick-arrow.slick-next.so-bl-kit-next {
  background-image: url(../../images/gift/20260416/next.svg);
  right: -45px;
}

.kit-panel.active {
  display: block;
}

.kit__list {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.slick-initialized .slick-slide.kit__item {
  display: flex;
  column-gap: 52px;
}

.kit-img__wrapper {
  width: 413px;
  position: relative;
}

.kit__img {
  width: 413px;
}

.kit-detail__wrapper {
  padding-top: 12px;
}

.kit__catch {
  letter-spacing: 0.06em;
  line-height: 1.5;
}

.kit__data {
  margin-top: 13px;
}

.kit__catch--dj {
  color: #419394;
}

.kit__catch--gr {
  color: #ea6fa3;
}

.kit__catch--plv {
  color: #875ba5;
}

.kit__catch--wt {
  color: #4cac5d;
}

.kit__catch--tk {
  color: #d75fa9;
}

.kit__catch--rt {
  color: #f15c5c;
}

.kit__notes {
  font-feature-settings: "palt";
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
}

.kit-btn__wrapper {
  width: 592px;
  display: flex;
  column-gap: 22px;
  justify-content: center;
  margin: 20px auto 0;
}

.kit-btn__wrapper a {
  width: 285px;
  background-color: #a18b4f;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  padding: 17px 0 19px;
  position: relative;
}

.kit-btn__wrapper a svg {
  color: #e2d8bb;
  position: absolute;
  right: 10px;
}

.set__obj--l {
  left: 0;
}

.set__obj--r {
  right: 0;
}


/* =======================
        母の日ギフト
======================= */
.mothers-day-gift {
  background: linear-gradient(to right, #f4d6de, #fbeef1);
  color: #613c18;
}

.mothers-day-gift__inner {
  padding: 87px 0 109px;
}

.mothers-day-gift__title {
  color: #c45187;
}

.mothers-day-gift__title--s {
  display: block;
  width: fit-content;
  font-size: 3.4rem;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
  position: relative;
}

.mothers-day-gift__title--s::before,
.mothers-day-gift__title--s::after {
  content: "";
  width: 23px;
  height: 27px;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  background-size: contain;
}

.mothers-day-gift__title--s::before {
  background-image: url(../../images/gift/20260416/obj_title_l.svg);
  left: -32px;
}

.mothers-day-gift__title--s::after {
  background-image: url(../../images/gift/20260416/obj_title_r.svg);
  right: -32px;
}

.online-fg__label {
  width: 384px;
  margin: 19px auto 0;
}

.flower-kit-special__wrapper {
  display: flex;
  column-gap: 108px;
  justify-content: center;
  margin-top: 63px;
}

.flower-kit-sp__img {
  width: 469px;
  position: relative;
}

.flower-kit-text__wrapper {
  padding-top: 30px;
}

.flower-kit__catch {
  line-height: 1.2;
}

.flower-kit__data {
  margin-top: 18px;
}

.cart__btn--fks {
  margin-top: 28px;
}

.pink__line {
  width: 990px;
  line-height: 1;
  margin: 49px auto 0;
}

.flower-kit__wrapper {
  margin-top: 52px;
}

.flower-kit-detail__list {
  display: flex;
  column-gap: 63px;
  justify-content: center;
  margin-top: 35px;
}

.flower-kit__img {
  width: 299px;
  margin: 0 auto;
  position: relative;
}

.gift-box__wrapper {
  width: 567px;
  display: flex;
  align-items: center;
  column-gap: 26px;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
  margin: 53px auto 0;
  padding: 20px 0 11px;
  position: relative;
  z-index: 50;
}

.gift-box__img {
  width: 133px;
}

.gift-box__text {
  font-feature-settings: "palt";
  font-size: 1.4rem;
  line-height: 1.3;
}

.body-care-kit__wrapper {
  width: 1050px;
  background-image: url(../../images/gift/20260416/frame_bk.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  filter: drop-shadow(0 0 27px rgba(248, 196, 213));
  margin: 70px auto 0;
  padding: 69px 0 60px;
  position: relative;
}

.care-kit__title {
  color: #c45187;
}

.body-care-kit__list {
  width: 800px;
  margin: 39px auto 0;
}

.body-care-kit__item {
  width: 244px;
}

.body-care-kit__img {
  width: 244px;
  margin: 0 auto;
  position: relative;
}

.body-care__label {
  width: 153px;
  margin: 26px auto 0;
}

.care-kit__data {
  margin-top: 15px;
}

.body-care-kit-slider .slick-dots {
  margin-top: 20px;
}

.body-care-kit-slider .slick-dots>li>button::before {
  width: 8px;
  height: 8px;
  background: #c45187;
  opacity: 0.4;
}

.body-care-kit-slider .slick-dots>li.slick-active>button::before {
  opacity: 1;
}

.body-care-kit-slider .slick-arrow {
  width: 12px;
  height: 23px;
  background-size: contain;
  background-repeat: no-repeat;
}

.slick-arrow.slick-prev.body-care-prev {
  background-image: url(../../images/gift/20260416/bck_prev.svg);
  left: 90px;
}

.slick-arrow.slick-next.body-care-next {
  background-image: url(../../images/gift/20260416/bck_next.svg);
  right: 90px;
}

.other-kit__wrapper {
  width: 1050px;
  background-image: url(../../images/gift/20260416/frame_ok.png);
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 27px rgba(248, 196, 213));
  background-size: 100% 100%;
  margin: 52px auto 0;
  padding: 69px 0 89px;
}

.other-kit__list {
  display: flex;
  column-gap: 70px;
  justify-content: center;
}

.other-kit__img {
  width: 174px;
  height: 174px;
  border-radius: 50%;
  margin: 50px auto 0;
  position: relative;
}

.other-kit__img--fc {
  background: linear-gradient(to top, #fff 0%, #fde3e5 100%);
}

.other-kit__img--hc {
  background: linear-gradient(to top, #fff 0%, #fff0d1 100%);
}

.img__wrapper {
  display: block;
  width: 198px;
  margin: 0 auto;
}

.img__item--fck {
  width: 198px;
  margin-left: -15px;
  padding-top: 40px;
}

.img__item--hck {
  width: 198px;
  margin-left: -10px;
  padding-top: 30px;
}

.face-care__label,
.hair-care__label {
  width: 153px;
  margin: 22px auto 0;
}

.text__link {
  font-feature-settings: "palt";
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  margin-top: 10px;
}

.text__link a {
  color: #613c18;
  text-decoration: underline;
}

.fg__obj1 {
  top: 346px;
  left: 0;
}

.fg__obj2 {
  top: 213px;
  right: 0;
}

.fg__obj3 {
  top: 0;
  left: -299px;
}

.fg__obj4 {
  top: 0;
  right: -121px;
}

.tab {
  color: #613c18;
}

.tab.active {
  background-color: #d978a6;
  color: #fff;
}

#gift .gift-price .price-block .phead h3 .inc {
  color: #c45187;
}

#gift .gift-price .price-block .phead h3 .inc::before {
  background-image: url(../../images/gift/20260416/price_parts3.png);
}

#gift .gift-price .price-block .phead h3 .inc::after {
  background-image: url(../../images/gift/20260416/price_parts4.png);
}

.other {
  background: linear-gradient(to right, #f4d6de, #fbeef1);
}