@charset "UTF-8";

/* -----------------------------------------------
common
----------------------------------------------- */
main :is(h1, h2, h3, h4, h5, h6, p) {
  margin: 0;
}
main a {
  color: inherit;
}
.false .fs-c-productPrice--member {
  display: none!important;
}
.true .fs-c-productPrices .fs-c-productPrice:nth-last-child(2) {
  display: none!important;
}
/* 予約商品のテキスト削除 */
.fs-c-productListCarousel span.fs-c-mark--preorder.fs-c-mark {
  display: none;
}
.fs-c-productListCarousel span.fs-c-productPrice__main__label {
  display: none;
}

@media screen and (max-width: 750px) {
  main .inner_wrap {
    width: 89.33%;
  }
}

@media screen and (min-width: 751px) {
  main .inner_wrap {
    width: 94.92%;
    max-width: 1272px;
  }
}

/* -----------------------------------------------
mv_wrap
----------------------------------------------- */
@media screen and (min-width: 751px) {
  .mv_wrap {
    max-width: 1340px;
    margin: 0 auto;
  }
}

/* -----------------------------------------------
story_wrap
----------------------------------------------- */
.story_fx .story_heading {
  text-align: center;
}
.story_fx .story_heading strong {
  display: block;
  font-weight: normal;
}
.story_fx .story_heading h2 span {
  display: block;
}
/* .story_fx .text p {
  word-break: break-all;
} */


@media screen and (max-width: 750px) {
  .story_wrap {
    padding: 50px 0 38px;
  }
  .story_wrap .inner_wrap {
    max-width: 940px;
  }
  .story_fx {
    position: relative;
  }
  .story_fx .story_heading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 670/600;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .story_fx .story_heading strong {
    font-size: 11px;
    line-height: 1.8;
    letter-spacing: 0.8em;
  }
  .story_fx .story_heading h2 {
    font-size: 31px;
    line-height: 1;
    letter-spacing: 0;
    margin-top: 11px;
  }
  .story_fx .story_heading h2 span {
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.2em;
  }
  .story_fx .text p {
    font-size: 13px;
    line-height: 1.46;
    letter-spacing: 0;
    margin: 23px auto 0;
    width: 79.85%;
  }
}

@media screen and (min-width: 751px) {
  .story_wrap {
    padding: 102px 0 122px;
  }
  .story_wrap .inner_wrap {
    max-width: 940px;
  }
  .story_fx {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 9.36%;
  }
  .story_fx .img {
    width: 53.19%;
  }
  .story_fx .text {
    flex: 1;
  }
  .story_fx .story_heading strong {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.8em;
  }
  .story_fx .story_heading h2 {
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0;
    margin-top: 17px;
  }
  .story_fx .story_heading h2 span {
    font-size: 15px;
    line-height: 1;
  }
  .story_fx .text p {
    font-size: 15px;
    line-height: 2.33;
    letter-spacing: 0;
    margin-top: 36px;
  }
}

/* -----------------------------------------------
top_product_wrap
----------------------------------------------- */
.top_product_wrap {
  background: #EEF3F7;
}
.top_product_list_wrap .fs-c-productListItem__productName .fs-c-productName__copy {
  display: none;
}
.top_product_list_wrap .fs-c-productPrice {
  display: flex;
  justify-content: flex-start;
  gap: 0 0.5em;
}
.top_product_list_wrap .fs-c-productPrice .fs-c-price__currencyMark {
  display: none;
}
.top_product_list_wrap .fs-c-productPrice .fs-c-price__value::after {
  content: '円';
}
.top_product_list_wrap .fs-c-productPrice .fs-c-productPrice__addon__label::before {
  content: '（';
}
.top_product_list_wrap .fs-c-productPrice .fs-c-productPrice__addon__label::after {
  content: '）';
}
.top_product_list_wrap .fs-c-productListItem__control {
  display: none;
}
.fs-c-productListCarousel .fs-c-productListItem {
  position: relative;
}
.fs-c-productListCarousel .fs-c-productListItem__productName a:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

@media screen and (max-width: 750px) {
  .top_product_wrap {
    padding: 41px 0 19px;
  }
  .top_product_list_wrap.inner_wrap {
    width: 100%;
  }
  .top_product_list {
    margin-top: 38px;
    margin-left: 3.06vw;
    width: 96.94vw;
  }
  .top_product_list_wrap .fs-c-productListCarousel__list__itemTrack {
    display: flex;
    overflow-x: scroll;
    padding-bottom: 15px;
  }
  .top_product_list_wrap .fs-c-productListCarousel__list__item {
    width: 40vw;
    min-width: 40vw;
  }
  .top_product_list_wrap .fs-c-productListCarousel__list__item + .fs-c-productListCarousel__list__item {
    margin-left: 5.06vw;
  }
  .top_product_list_wrap .fs-c-productListItem__productName {
    display: block;
  }
  .top_product_list_wrap .fs-c-productListItem__productName .fs-c-productName__name {
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0;
    margin-top: 12px;
    display: block;
    font-weight: bold;
  }
  .top_product_list_wrap .fs-c-productListItem__prices {
    font-size: 11px;
    letter-spacing: 0;
    margin-top: 7px;
    font-weight: bold;
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl {
    display: none!important;
  }
}

@media screen and (min-width: 751px) {
  .top_product_wrap {
    padding: 94px 0 72px;
  }
  .top_product_list_wrap.inner_wrap {
    width: 80.89%;
    max-width: 1084px;
  }
  .top_product_list {
    margin-top: 67px;
    /* margin-left: 8.81vw; */
    width: min(90.44vw, 1212px);
    position: relative;
    /* max-width: 1340px; */
  }
  .top_product_list_wrap .fs-c-slick .slick-slide {
    width: min(18.65vw, 250px);
  }
  .top_product_list_wrap .fs-c-slick .slick-slide + .slick-slide {
    margin-left: min(2.01vw, 27px);
  }
  .top_product_list_wrap .fs-c-productListItem__productName {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 21px;
  }
  .top_product_list_wrap .fs-c-productListItem__productName .fs-c-productName__name {
    display: block;
  }
  .top_product_list_wrap .fs-c-productListItem__prices {
    font-size: 14px;
    letter-spacing: 0;
    margin-top: 11px;
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl {
    position: absolute;
    top: -40px;
    flex-basis: auto;
    min-width: auto;
    cursor: pointer;
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl.fs-c-productListCarousel__ctrl--prev {
    right: min(14.18vw, 190px);
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl.fs-c-productListCarousel__ctrl--next {
    right: min(11.19vw, 150px);
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl .fs-c-button--carousel {
    width: 16px;
    aspect-ratio: 1/1;
    display: block;
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl .fs-c-button--carousel.fs-c-button--carousel--prev {
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    rotate: -45deg;
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl .fs-c-button--carousel.fs-c-button--carousel--next {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    rotate: 45deg;
  }
  .top_product_wrap .fs-c-productListCarousel__ctrl .fs-c-button__label {
    font-size: 0;
  }
}

/* -----------------------------------------------
shop_menu_wrap
----------------------------------------------- */
.shop_menu_content {
  position: relative;
}
.shop_menu_content .text a {
  display: flex;
	justify-content: center;
	align-items: center;
  border-radius: 50vh;
}

@media screen and (max-width: 750px) {
  .shop_menu_wrap {
    padding: 50px 0 60px;
  }
  .shop_menu_content .ciel_heading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 670/600;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
  }
  .shop_menu_content .text p {
    font-size: 13px;
    line-height: 1.46;
    letter-spacing: 0;
    margin: 23px auto 0;
    width: 79.85%;
  }
  .shop_menu_content .text a {
    width: 60.89%;
    height: 40px;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.3em;
    margin: 14px auto 0;
    border: 1px solid #000;
  }
}

@media screen and (min-width: 751px) {
  .shop_menu_wrap {
    padding: 115px 0 130px;
  }
  .shop_menu_wrap .inner_wrap {
    max-width: 940px;
  }
  .shop_menu_content .text {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
  }
  .shop_menu_content .text p {
    font-size: 14px;
    line-height: 1.57;
    letter-spacing: 0;
    width: 50.63%;
    margin-top: 22px;
  }
  .shop_menu_content .text a {
    width: 54.89%;
    height: 35px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.5em;
    margin-top: 26px;
    border: 1px solid #fff;
  }
}

