@charset "UTF-8";
:root {
  --gray01: #383838;
  --gray02: #EDEDED;
  --gray03: #B2B2B2;
  --gray04: #F3F3F3;
  --gray05: #565656;
  --white: #FFFFFF;
  --greige01: #C2BAAB;
  --greige02: #E3DDD2;
  --greige03: #999489;
  --greige04: #978769;
  --greige05: #807869;
  --button-gold01: #B3A57F;
  --red01: #FF4747;
  --red02: #F07A7A;
  --font-serif-ja: 'Zen Old Mincho', serif;
  --font-sans-ja: 'Zen Kaku Gothic New', sans-serif;
  --font-serif-en: 'Playfair Display', serif;
  --font-cursive: 'Great Vibes', cursive;
  --font-sans-en: 'Montserrat', sans-serif;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-box: trim-both cap alphabetic;
}

body {
  font-family: var(--font-sans-ja);
  color: var(--gray01);
  background-color: var(--white);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

ul {
  list-style: none;
}

main {
  padding-top: 127px;
}

@media screen and (max-width: 768px) {
  main {
    padding-top: 100px;
  }
}
.u-show-sp {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .u-hide-sp {
    display: none !important;
  }
  .u-show-sp {
    display: flex !important;
  }
}
.c-brand-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-brand-card__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--white);
  height: 160px;
  border-radius: 5px;
  box-shadow: 1px 1px 8px 2px rgba(168, 168, 168, 0.25);
  overflow: hidden;
}

.c-brand-card__logo {
  flex: 0 0 50%;
  height: 100%;
  min-width: 0;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-brand-card__logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.c-brand-card__image {
  flex: 0 0 50%;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.c-brand-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.c-brand-card:hover .c-brand-card__image img,
.c-brand-card:focus-visible .c-brand-card__image img {
  transform: scale(1.2);
}

.c-brand-card__names {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  color: var(--greige03);
  font-family: var(--font-serif-ja);
}

.c-brand-card__name-en {
  font-size: 22px;
  letter-spacing: 1.1px;
}

.c-brand-card__name-ja {
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .c-brand-card {
    gap: 16px;
  }
  .c-brand-card__inner {
    padding: 0;
    justify-content: space-between;
    height: auto;
    aspect-ratio: 345/80;
    background: var(--white);
    border-radius: 5px;
    box-shadow: 1px 1px 8px 2px rgba(168, 168, 168, 0.25);
    overflow: hidden;
  }
  .c-brand-card__logo {
    flex: 0 0 50%;
    height: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-brand-card__image {
    flex: 0 0 50%;
    height: 100%;
  }
  .c-brand-card__names {
    gap: 16px;
    align-items: flex-end;
  }
  .c-brand-card__name-en {
    font-size: 17px;
  }
  .c-brand-card__name-ja {
    font-size: 14px;
  }
}
.c-breadcrumb {
  padding: 32px min(5%, 72px) 0;
}

.c-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 16px;
  list-style: none;
}

.c-breadcrumb__item {
  position: relative;
  flex-shrink: 0;
  color: var(--gray05);
  font-family: var(--font-sans-ja);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  white-space: nowrap;
  text-box: normal;
}

.c-breadcrumb__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 4.81px;
  height: 6.5px;
  margin-left: 16px;
  background: url("../assets/common/breadcrumb-arrow.svg") center/contain no-repeat;
  vertical-align: 0;
}

.c-breadcrumb__link:hover,
.c-breadcrumb__link:focus-visible {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .c-breadcrumb {
    padding: 0 35px;
  }
  .c-breadcrumb__inner {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .c-breadcrumb__inner::-webkit-scrollbar {
    display: none;
  }
  .c-breadcrumb__list {
    gap: 12px;
    width: max-content;
  }
  .c-breadcrumb__item {
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0;
  }
  .c-breadcrumb__item:not(:last-child)::after {
    width: 3.5px;
    height: 5.5px;
    margin-left: 12px;
  }
}
.c-button-wrap {
  display: flex;
  justify-content: center;
}

.c-button--gold,
.c-button-primary {
  background: var(--button-gold01);
  color: var(--white);
  transition: background-color 0.3s ease;
}

.c-button--gold:hover,
.c-button-primary:hover {
  background-color: var(--greige05);
}

.c-button-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 700;
  width: 600px;
  padding: 20px 16px;
  border-radius: 5px;
  position: relative;
}

.c-button-primary__arrow {
  position: absolute;
  right: 24px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--white);
  border-radius: 50%;
  padding: 4px;
  transform: rotate(180deg);
}

.c-button-primary__arrow--external {
  width: 19px;
  height: 19px;
  border: 0;
  border-radius: 0;
  padding: 0;
  transform: none;
}

.c-button-primary__arrow--down {
  transform: rotate(270deg);
}

@media screen and (max-width: 768px) {
  .c-button-primary {
    width: 100%;
    font-size: 15px;
    padding: 16px;
    height: 50px;
    letter-spacing: 0.05em;
  }
  .c-button-primary__arrow {
    width: 18px;
    height: 18px;
    right: 24px;
  }
  .c-button-primary__arrow--external {
    width: 19px;
    height: 19px;
  }
}
.c-floating-banner {
  position: fixed;
  bottom: 80px;
  right: 14px;
  z-index: 1000;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.c-floating-banner.is-hidden {
  display: none;
}

.c-floating-banner.is-footer-hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;
}

.c-floating-banner a {
  display: block;
  width: 296px;
  height: auto;
  position: relative;
  overflow: visible;
}

.c-floating-banner__img {
  width: 100%;
  height: auto;
  display: block;
}

.c-floating-banner__close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: var(--white);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.c-floating-banner__close img {
  width: 6px;
  height: 6px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .c-floating-banner {
    bottom: 40px;
    right: 15px;
  }
  .c-floating-banner a {
    width: 200px;
  }
}
.c-select {
  display: block;
  min-height: 42px;
  line-height: 0;
}

.c-select__input {
  appearance: none;
  display: block;
  width: 100%;
  min-height: 42px;
  padding: 8px 40px 8px 16px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--white) url("../assets/product_detail/select-arrow.svg") right 16px center/8px 5px no-repeat;
  color: var(--gray01);
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 0.08em;
}

.c-select__input--quantity {
  width: 77px;
  padding-right: 33px;
  background-position: right 17px center;
}

@media screen and (max-width: 768px) {
  .c-select {
    min-height: 41px;
  }
  .c-select__input {
    height: 41px;
    min-height: 41px;
    padding: 9px 40px 9px 16px;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
    background-size: 8px 5px;
    background-position: right 16px center;
  }
}
.c-message {
  padding: 0 min(5%, 72px);
  max-width: 1440px;
  margin: 0 auto;
}
.c-message .l-inner {
  align-items: center;
}

.c-message__body {
  width: min(100%, 532px);
  color: var(--gray01);
  font-family: var(--font-serif-ja), serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
  text-align: center;
}

.c-message__note {
  margin-top: 29.6px;
  font-size: 14px;
  line-height: 2.1142857;
}

@media screen and (max-width: 768px) {
  .c-message {
    padding: 48px 35px !important;
  }
  .c-message .l-inner {
    align-items: flex-start;
    gap: 32px;
  }
  .c-message__body {
    width: 100%;
    font-size: 15px;
    line-height: 1.7066667;
    text-align: left;
  }
  .c-message__note {
    margin-top: 32px;
    font-size: 13px;
    line-height: 1;
  }
}
.c-pagination {
  display: grid;
  grid-template-columns: 16px auto 16px;
  align-items: center;
  justify-content: center;
  column-gap: 50px;
  padding: 24px 0;
}

.c-pagination__list {
  display: flex;
  grid-column: 2;
  align-items: center;
  justify-content: center;
  gap: 32px;
  list-style: none;
}

.c-pagination__link,
.c-pagination__ellipsis {
  color: var(--gray03);
  font-size: 13px;
  font-weight: 500;
  line-height: 23.4px;
}

.c-pagination__link--current {
  color: var(--gray01);
  font-weight: 900;
}

.c-pagination__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.c-pagination__arrow--prev {
  grid-column: 1;
}

.c-pagination__arrow--next {
  grid-column: 3;
}

.c-pagination__arrow img {
  width: 16px;
  height: 16px;
}

.c-pagination__arrow--next img {
  transform: rotate(180deg);
}

@media screen and (max-width: 768px) {
  .c-pagination {
    column-gap: 32px;
    width: 100%;
    padding: 16px 0;
  }
  .c-pagination__list {
    gap: 24px;
  }
}
.c-plain-heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 4px 0;
  text-align: center;
}

.c-plain-heading--nowrap {
  white-space: nowrap;
}

.c-plain-heading__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  overflow-wrap: anywhere;
}

.c-plain-heading__subtitle {
  color: var(--greige03);
  font-family: var(--font-serif-en);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 768px) {
  .c-plain-heading {
    align-items: flex-start;
    gap: 16px;
    text-align: left;
  }
  .c-plain-heading__title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .c-plain-heading__subtitle {
    font-size: 20px;
  }
}
.c-product-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 72px;
  width: 100%;
  max-width: 100%;
}

.c-product-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
}

.c-product-toolbar__count {
  color: var(--gray05);
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  white-space: nowrap;
}

.c-product-toolbar__select {
  width: 240px;
  flex-shrink: 0;
}

.c-product-toolbar__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.c-product-list.swiper {
  display: block;
}

@media screen and (min-width: 769px) {
  .c-product-list.swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: inherit;
    gap: inherit;
  }
}
.c-product-slider {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
}

.c-product-slider__viewport {
  flex: 1 1 auto;
  min-width: 0;
  margin-bottom: 0;
}

.c-product-slider__button {
  display: none;
}

.c-product-carousel {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.c-product-carousel.swiper {
  overflow: visible;
}

.c-product-carousel--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.c-product-carousel--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.c-product-carousel--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media screen and (min-width: 769px) {
  .c-product-slider--desktop .c-product-list.swiper {
    overflow: hidden;
    padding-bottom: 220px;
    margin-bottom: -220px;
  }
  .c-product-slider--desktop .ukomi_stars_rating_tooltip {
    left: 0;
  }
  .c-product-slider--desktop .c-product-list.swiper .swiper-wrapper {
    display: flex;
    gap: 0;
  }
  .c-product-slider--desktop .c-product-slider__button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 35px;
    margin-top: 98px;
  }
  .c-product-slider--desktop .c-product-slider__button--next img {
    transform: rotate(180deg);
  }
}
.c-product-card {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-width: 0;
}

.c-product-list .c-product-card[hidden] {
  display: none;
}

.c-product-card__image {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border: 2px solid var(--gray02);
  border-radius: 5px;
  background: var(--white);
  transition: opacity 0.3s;
}
.c-product-card__image:hover {
  opacity: 0.7;
}

.c-product-card__image > img {
  position: absolute;
  inset: 0;
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  object-fit: contain;
  border-radius: 5px;
}

.c-product-card__badges {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.c-product-card__image > .c-product-card__badges > .c-product-card__badge {
  position: static;
  inset: auto;
  display: block;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: contain;
  border-radius: 0;
}

.c-product-card__info {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-width: 0;
}

.c-product-card__brand {
  display: block;
  font-size: 12px;
  color: var(--gray03);
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.3s;
}
.c-product-card__brand:hover {
  opacity: 0.7;
}

.c-product-card__name {
  display: block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.12px;
  margin-top: -16px;
  overflow-wrap: anywhere;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
.c-product-card__name:hover {
  opacity: 0.7;
}

.c-product-card__price {
  font-weight: 700;
  min-width: 0;
}

.c-product-card__price-num {
  font-size: 21px;
}

.c-product-card__price-tax {
  font-size: 12px;
}

.c-product-card__review {
  display: flex;
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.c-product-card__review img {
  width: 84px;
  height: 16px;
  flex-shrink: 0;
}

.review-summary-container .starRating span:last-child {
  margin-top: 2px;
}

:where(.c-product-card__review, .pd-product__reviews) .review-summary-container {
  display: block !important;
  min-width: 0;
}

:where(.c-product-card__review, .pd-product__reviews) .ukomistarRatingSummarySection {
  position: relative;
  display: inline-block;
  min-width: 0;
  cursor: pointer;
}

:where(.c-product-card__review, .pd-product__reviews) .starRating {
  display: flex;
  align-items: center;
  min-width: 0;
  line-height: 1;
}

:where(.c-product-card__review, .pd-product__reviews) .ukmcustomfont {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 17px;
  overflow: hidden;
  color: var(--gray05);
  font-size: 0;
  line-height: 16px;
}

:where(.c-product-card__review, .pd-product__reviews) .ukmcustomfont.highlight {
  color: var(--gray05) !important;
  -webkit-text-fill-color: var(--gray05);
}

:where(.c-product-card__review, .pd-product__reviews) .ukmcustomfont::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--gray05);
  clip-path: polygon(50% 0%, 61.23% 34.55%, 97.55% 34.55%, 68.16% 55.9%, 79.39% 90.45%, 50% 69.1%, 20.61% 90.45%, 31.84% 55.9%, 2.45% 34.55%, 38.77% 34.55%);
}

:where(.c-product-card__review, .pd-product__reviews) .ukmcustomfont-ukm-half-star::before {
  background: linear-gradient(to right, var(--gray05) 50%, var(--gray03) 50%);
}

:where(.c-product-card__review, .pd-product__reviews) .ukmcustomfont-ukm-half-star::after {
  content: none;
}

:where(.c-product-card__review, .pd-product__reviews) .reviewNumber {
  display: inline-flex;
  align-items: center;
  min-height: 16px;
  margin-left: 15px;
  color: var(--gray01);
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.12px;
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}

:where(.c-product-card__review, .pd-product__reviews) .reviewNumber::after {
  content: "のレビュー";
}

:where(.c-product-card__review, .pd-product__reviews) .ukomi_stars_rating_tooltip {
  position: absolute;
  top: 28px;
  left: -70px;
  z-index: 1000;
  box-sizing: border-box;
  min-width: 263px;
  min-height: 180px;
  padding: 10px;
  border: 1px solid #a5a5a5;
  border-radius: 6px;
  background: var(--white);
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.1);
  color: #3a3a3a;
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  text-align: left;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear 0.4s, opacity 0.4s;
}

:where(.c-product-card__review, .pd-product__reviews) .ukomi_stars_rating_tooltip::before,
:where(.c-product-card__review, .pd-product__reviews) .ukomi_stars_rating_tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  pointer-events: none;
}

:where(.c-product-card__review, .pd-product__reviews) .ukomi_stars_rating_tooltip::before {
  top: -21px;
  margin-left: -12px;
  border-bottom-color: #a5a5a5;
}

:where(.c-product-card__review, .pd-product__reviews) .ukomi_stars_rating_tooltip::after {
  top: -20px;
  margin-left: -12px;
  border-bottom-color: var(--white);
}

:where(.c-product-card__review, .pd-product__reviews) .ukomistarRatingSummarySection:hover .ukomi_stars_rating_tooltip,
:where(.c-product-card__review, .pd-product__reviews) .ukomistarRatingSummarySection:focus .ukomi_stars_rating_tooltip,
:where(.c-product-card__review, .pd-product__reviews) .ukomistarRatingSummarySection.tootip_show .ukomi_stars_rating_tooltip {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s linear 0s, opacity 0.4s;
}

:where(.c-product-card__review, .pd-product__reviews) .ratingDetailSection {
  text-align: center;
}

:where(.c-product-card__review, .pd-product__reviews) .ratingDetailAvgReview {
  float: left;
  margin-left: 62px;
  padding-bottom: 5px;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
}

:where(.c-product-card__review, .pd-product__reviews) .ratingDetail_wrap {
  clear: both;
}

:where(.c-product-card__review, .pd-product__reviews) .starRatingNumber {
  float: left;
  padding: 5px 0 0;
}

:where(.c-product-card__review, .pd-product__reviews) .starRatingNumber span {
  float: left;
  margin-right: 5px;
  color: #4181f2;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.5px;
}

:where(.c-product-card__review, .pd-product__reviews) .ratingContainer {
  float: left;
  width: 150px;
  height: 24px;
  margin-bottom: 2px;
  overflow: hidden;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  box-shadow: inset 1px 1px 1px 0 rgba(0, 0, 0, 0.05);
}

:where(.c-product-card__review, .pd-product__reviews) .ratingBar {
  float: left;
  width: 0;
  height: 24px;
  background: #ffce3e;
  transition: all 0.5s ease;
}

:where(.c-product-card__review, .pd-product__reviews) .perNumberReview {
  float: left;
  min-width: 40px;
  padding-left: 5px;
  color: #aaa;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.5px;
}

:where(.c-product-card__review, .pd-product__reviews) .ratingDetailTotalReview {
  display: inline-block;
  padding: 10px 0 1px;
  color: #4181f2;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  text-align: center;
}

:where(.c-product-card__review, .pd-product__reviews) .tooltipGotoRating {
  cursor: default;
  text-align: left;
}

:where(.c-product-card__review, .pd-product__reviews) .hastooltipGotoRating {
  cursor: pointer;
}

.c-product-card__review-link {
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  letter-spacing: 1.12px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.c-product-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c-product-card__tag {
  font-size: 12px;
  color: var(--gray05);
  font-weight: 500;
  border-bottom: 1px solid var(--gray03);
  padding-bottom: 4px;
  text-decoration: none;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 768px) {
  .c-product-toolbar {
    gap: 16px;
  }
  .c-product-toolbar__count {
    font-size: 10px;
    line-height: normal;
  }
  .c-product-toolbar__select {
    width: 146.5px;
  }
  .c-product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }
  .c-product-slider {
    display: block;
    margin-bottom: 0;
  }
  .c-product-card {
    gap: 20px;
  }
  .c-product-card__info {
    gap: 24px;
  }
  .c-product-card__name {
    font-size: 13px;
    letter-spacing: 0.06em;
    margin-top: -12px;
  }
  .c-product-card__brand {
    font-size: 12px;
  }
  .c-product-card__price-num {
    font-size: 17px;
  }
  .c-product-card__price-tax {
    font-size: 10px;
  }
  .c-product-card__review {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  :where(.c-product-card__review, .pd-product__reviews) .starRating {
    flex-wrap: wrap;
  }
  :where(.c-product-card__review, .pd-product__reviews) .reviewNumber {
    flex-basis: 100%;
    margin-top: 7px;
    margin-left: 0;
    padding: 7px 0 0 0;
    font-size: 12px !important;
    line-height: 1.4;
    letter-spacing: 0.12em;
  }
  :where(.c-product-card__review, .pd-product__reviews) .ukomi_stars_rating_tooltip {
    display: none;
  }
  .c-product-card__badges {
    top: 8px;
    right: 7.5px;
    gap: 3px;
  }
  .c-product-card__image > .c-product-card__badges > .c-product-card__badge {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }
  .c-product-card__review-link {
    font-size: 12px;
    letter-spacing: 0.12em;
  }
  .c-product-carousel .c-product-card.swiper-slide {
    width: 142.5px;
    height: auto;
  }
  .c-product-carousel::-webkit-scrollbar {
    display: none;
  }
  .c-product-carousel.swiper {
    display: block;
    /*margin: 0 -35px 40px !important;*/
    margin: 0 -35px !important;
    padding: 0 35px !important;
    overflow: visible !important;
    gap: 0;
  }
  .c-product-list .review-summary-container .starRating span:last-child {
    margin-top: 7px !important;
    padding: 0 !important;
  }
}
.c-ranking-badge {
  position: absolute;
  top: -12px;
  left: 10px;
  width: 48px;
  height: 50px;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-ranking-badge__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.c-ranking-badge__num {
  position: relative;
  font-family: var(--font-serif-ja);
  font-size: 22px;
  color: var(--white);
  letter-spacing: 1.1px;
}

.c-ranking-badge--lower .c-ranking-badge__num {
  color: var(--greige03);
}

@media screen and (max-width: 768px) {
  .c-ranking-badge {
    top: -8px;
    left: 8px;
    width: 32px;
    height: 33.33px;
  }
  .c-ranking-badge__num {
    font-size: 14.67px;
    letter-spacing: 0.73px;
  }
}
.review-container {
  padding: 120px min(5%, 72px);
  background: var(--gray04);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
}

.review-container .reviewWidget {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.review-container .reviewWidget_inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 40px;
  row-gap: 56px;
}

.review-container .reviewWidget_title_container {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  width: 100%;
  padding-left: 24px;
  border-left: 4px solid var(--greige03);
}

.review-container .reviewWidget_title {
  margin: 0;
  padding-top: 0 !important;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.review-container .reviewWidget_title::after {
  content: "Customer Reviews";
  display: block;
  margin-top: 16px;
  color: var(--greige03);
  font-family: var(--font-serif-en);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.review-container .uKomiTitleSeparator {
  display: none;
}

.review-container .uKomiWidgetSection,
.review-container .reviewSortingSection,
.review-container .customQuestionSortingWrap {
  max-width: 1440px;
  margin: 0 auto;
}

.review-container .ratingOverview {
  width: auto;
  margin: 0;
  justify-self: end;
}

.review-container .uKomiWidgetSection,
.review-container .uKomiWidgetFormWrapper,
.review-container .u-komi-review-section {
  grid-column: 1/-1;
  width: 100%;
}

.review-container .review-widget-summary-container .starRating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--gray01);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.review-container .review-widget-summary-container .reviewNumber {
  color: #000;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}

.review-container .review-widget-summary-container .reviewNumber strong {
  color: #000;
  font-size: 16px !important;
  font-weight: normal !important;
  letter-spacing: 0;
}

.review-container .starRating .ukmcustomfont {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 17px;
  overflow: hidden;
  color: var(--gray05) !important;
  -webkit-text-fill-color: var(--gray05);
  font-size: 0;
  line-height: 16px;
}

.review-container .starRating .ukmcustomfont::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--gray05);
  clip-path: polygon(50% 0%, 61.23% 34.55%, 97.55% 34.55%, 68.16% 55.9%, 79.39% 90.45%, 50% 69.1%, 20.61% 90.45%, 31.84% 55.9%, 2.45% 34.55%, 38.77% 34.55%);
}

.review-container .starRating .ukmcustomfont-ukm-blank-star::before {
  background: var(--gray03);
}

.review-container .starRating .ukmcustomfont-ukm-half-star::before {
  background: linear-gradient(to right, var(--gray05) 50%, var(--gray03) 50%);
}

.review-container .starRating .ukmcustomfont-ukm-half-star::after {
  content: none;
}

.review-container .uKomiWidgetSection {
  width: 100%;
  order: 4;
}

.review-container .uKomiWidgetSectionBtn {
  display: flex;
  justify-content: center;
  width: 100%;
}

.review-container .uKomiWidget-btn,
.review-container .uKomiWidgetWriteReviewSubmitBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 600px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 16px !important;
  border: 0;
  border-radius: 5px;
  background: var(--button-gold01) !important;
  color: var(--white) !important;
  font-family: var(--font-sans-ja);
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.review-container .uKomiWidget-btn span,
.review-container .uKomiWidgetWriteReviewSubmitBtn span {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.review-container .uKomiWidget-btn:hover,
.review-container .uKomiWidgetWriteReviewSubmitBtn:hover {
  background-color: var(--greige05) !important;
}

.review-container .uKomiWidgetFormWrapper {
  max-width: 1440px;
  margin: -24px auto 0;
  padding: 40px;
  background: var(--white);
}

.review-container .uKomiWidgetWriteReviewFormWrapper {
  position: fixed;
  inset: 0;
  z-index: 1000;
  max-width: none;
  max-height: none !important;
  margin: 0;
  padding: 64px 24px;
  overflow-y: auto;
  background: rgba(56, 56, 56, 0.55);
  animation: none !important;
  transition: none !important;
}

.review-container .uKomiWidgetWriteReviewFormWrapper .uKomiWidgetWriteReviewForm,
.review-container .uKomiWidgetWriteReviewFormWrapper .uKomiWidgetWriteReviewFormGenericError,
.review-container .uKomiWidgetWriteReviewFormWrapper .uKomiWidgetWriteReviewFormSuccessMessage {
  width: min(100%, 720px);
  margin-right: auto;
  margin-left: auto;
}

.review-container .uKomiWidgetWriteReviewFormWrapper .uKomiWidgetWriteReviewForm {
  position: relative;
  padding: 40px;
  border-radius: 5px;
  background: var(--white);
  animation: none !important;
  transition: none !important;
}

.review-widget-modal-close {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 1;
  width: 40px;
  height: 40px;
  border: 1px solid var(--gray03);
  border-radius: 50%;
  background: var(--white);
}

.review-widget-modal-close::before,
.review-widget-modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1px;
  background: var(--gray01);
}

.review-widget-modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.review-widget-modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.is-review-modal-open {
  overflow: hidden;
}

.review-container .uKomiWidgetWriteReviewForm {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.review-container .uKomiWidgetFormFields,
.review-container .uKomiWidgetUserFields,
.review-container .ukomiWidgetWriteReviewCustomQuestion {
  display: grid;
  gap: 24px;
}

.review-container .uKomiWidgetFormFieldGroup {
  display: grid;
  gap: 10px;
}

.review-container .uKomiWidgetFormFieldLabel,
.review-container .titleLabel {
  color: var(--gray01);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

.review-container input[type=text],
.review-container input[type=email],
.review-container textarea,
.review-container select {
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--white);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  line-height: 1.7;
}

.review-container textarea {
  min-height: 160px;
  resize: vertical;
}

.review-container .custom-form-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 20px;
  color: var(--gray01);
  font-size: 13px;
  line-height: 1.7;
}

.review-container .uKomiWidgetFormFieldError,
.review-container .ukomi-review-submit-error-area,
.review-container .uKomiWidgetWriteReviewFormGenericError,
.review-container .uKomiWidgetWriteReviewFormSuccessMessage {
  color: var(--red01);
  font-size: 12px;
  line-height: 1.6;
}

.review-container .uKomiWidgetSubmitNoteWrapper {
  color: var(--gray03);
  font-size: 12px;
  line-height: 1.7;
}

.review-container .uKomiWidgetSubmitBtnWrapper {
  display: flex;
  justify-content: center;
}

.review-container .u-komi-review-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px;
}

.review-container .reviewSortingSection {
  position: static !important;
  clear: both;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap !important;
  gap: 16px !important;
  width: 100%;
  height: auto !important;
  min-height: 42px;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
  border-bottom: 0 !important;
}

.review-container .customQuestionSortingWrap {
  position: static !important;
  clear: both;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap !important;
  gap: 16px !important;
  width: 100%;
  height: auto !important;
  min-height: 42px;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
  border-bottom: 0 !important;
}

.review-container .reviewSortingDiv,
.review-container .customQuestionSorting {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end;
  gap: 8px !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

.review-container .custQueDropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.review-container .custQueDropdown::after {
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  line-height: 1 !important;
}

.review-container .reviewFilterBtn-btn,
.review-container .u-komi-sorting-btn-form-data,
.review-container .custQueDropdown select,
.review-container .u-komi-filter-clear-btn {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--white);
  color: var(--gray01);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

.review-container .custQueDropdown select {
  padding-right: 36px !important;
}

.review-container .u-komi-sorting-btn-active {
  border-color: var(--button-gold01);
  background: var(--button-gold01);
  color: var(--white);
}

.review-container .loadedReviews {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 56px 88px;
  background: var(--white);
}

.review-container .singleReview {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  padding: 0 0 40px;
  border: 0;
  border-bottom: 1px solid var(--gray03);
  background: transparent;
}

.review-container .singleReview + .singleReview {
  padding-top: 0;
}

.review-container .singleReview_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  width: 100%;
}

.review-container .singleReview_header_right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.review-container .singleReview_header .starRating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  line-height: 1;
}

.review-container .singleReview_name {
  display: inline-flex;
  align-items: center;
  color: var(--gray01);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}

.review-container .singleReview_name > span:first-child {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.review-container .singleReview_name > span:first-child::after {
  content: " さん";
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}

.review-container .singleReview_verified_buyer_tag {
  display: inline-flex;
  width: fit-content;
  padding: 5px 8px;
  border-radius: 3px;
  background: var(--gray04);
  color: var(--greige04);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.review-container .singleReview_header_date {
  margin-left: auto;
  color: var(--gray03);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.review-container .singleReview_CustomQue:empty {
  display: none;
}

.review-container .singleReview_body {
  min-width: 0;
}

.review-container .singleReview_body_left {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.review-container .singleReview_title {
  color: var(--gray01);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}

.review-container .singleReview_title:empty {
  display: none;
}

.review-container .singleReview_body p {
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 0.08em;
}

.review-container .reviewProductName {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  width: 100%;
  color: var(--gray03);
  font-size: 13px;
  font-weight: 700;
  line-height: 23.4px;
}

.review-container .reviewProductName a {
  color: var(--gray01);
}

.review-container .singleReview_footer {
  margin-top: -4px;
}

.review-container .thumbsupPDiv,
.review-container .thumup_thumdown_wrap {
  display: inline-flex;
  align-items: center;
}

.review-container .thumbsupPDiv button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--white);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.review-container .like-bg {
  position: relative;
  top: auto !important;
  display: inline-block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  margin-top: 0 !important;
  background-position: center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  transform: translateY(3px);
  vertical-align: middle !important;
}

.review-container .like-bg::before {
  transform: translateY(3px);
}

.review-container .like-label,
.review-container .like-count {
  display: inline-flex !important;
  align-items: center;
  height: 14px !important;
  line-height: 14px !important;
  vertical-align: middle !important;
}

.review-container .like-count {
  transform: translateY(1px);
}

.review-container .ReviewWidget_pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 1440px;
  margin: -32px auto 0;
  padding: 24px 0;
  background: var(--white);
}

.review-container .ReviewWidget_pagination > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.review-container .ReviewWidget_pagination > div:not(.first, .prev, .next, .last) {
  min-width: 0;
}

.review-container .ReviewWidget_pagination > div:not(.first, .prev, .next, .last) + div:not(.first, .prev, .next, .last) {
  margin-left: 32px;
}

.review-container .ReviewWidget_pagination span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--gray03);
  font-size: 13px;
  font-weight: 500;
  line-height: 23.4px;
  cursor: pointer;
}

.review-container .ReviewWidget_pagination .first,
.review-container .ReviewWidget_pagination .last {
  display: none;
}

.review-container .ReviewWidget_pagination .prev,
.review-container .ReviewWidget_pagination .next {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.review-container .ReviewWidget_pagination .prev {
  margin-right: 50px;
}

.review-container .ReviewWidget_pagination .next {
  margin-left: 50px;
}

.review-container .ReviewWidget_pagination .prev span,
.review-container .ReviewWidget_pagination .next span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 16px !important;
  min-height: 16px !important;
  width: 16px;
  height: 16px;
  overflow: hidden;
  color: var(--gray01);
  background: url("../assets/product_detail/review-page-arrow.svg") center/16px 16px no-repeat !important;
  font-size: 0;
  line-height: 1;
}

.review-container .ReviewWidget_pagination .prev span::before,
.review-container .ReviewWidget_pagination .prev span::after,
.review-container .ReviewWidget_pagination .next span::before,
.review-container .ReviewWidget_pagination .next span::after {
  content: none !important;
}

.review-container .ReviewWidget_pagination .next span {
  transform: rotate(180deg);
}

.review-container .ReviewWidget_pagination .active {
  background: transparent !important;
  color: var(--gray01);
  font-weight: 900;
}

@media screen and (max-width: 768px) {
  .review-container {
    padding: 48px 35px;
  }
  .review-container .reviewWidget_inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
  }
  .review-container .reviewWidget_title_container {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    padding-left: 16px;
    border-left-width: 3px;
  }
  .review-container .reviewWidget_title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .review-container .reviewWidget_title::after {
    font-size: 20px;
  }
  .review-container .ratingOverview {
    width: 100%;
    margin-top: 0;
    justify-self: auto;
  }
  .review-container .review-widget-summary-container .starRating {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .review-container .uKomiWidget-btn,
  .review-container .uKomiWidgetWriteReviewSubmitBtn {
    width: 100%;
    min-height: 0;
    padding: 13px 16px;
    font-size: 13px;
    line-height: 23.4px;
  }
  .review-container .uKomiWidgetFormWrapper {
    margin-top: -8px;
    padding: 32px 24px;
  }
  .review-container .uKomiWidgetWriteReviewFormWrapper {
    padding: 72px 20px 32px;
  }
  .review-container .uKomiWidgetWriteReviewFormWrapper .uKomiWidgetWriteReviewForm {
    padding: 32px 24px;
  }
  .review-widget-modal-close {
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
  }
  .review-container .reviewSortingSection,
  .review-container .customQuestionSortingWrap {
    align-items: stretch;
    flex-direction: column;
    margin-top: 0;
  }
  .review-container .reviewSortingDiv,
  .review-container .customQuestionSorting {
    justify-content: flex-start;
  }
  .review-container .reviewFilterBtn-btn,
  .review-container .u-komi-sorting-btn-form-data,
  .review-container .custQueDropdown,
  .review-container .custQueDropdown select,
  .review-container .u-komi-filter-clear-btn {
    width: 100%;
  }
  .review-container .loadedReviews {
    gap: 0;
    padding: 32px 24px;
  }
  .review-container .singleReview {
    gap: 24px;
    padding-bottom: 32px;
  }
  .review-container .singleReview + .singleReview {
    padding-top: 0;
  }
  .review-container .singleReview_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .review-container .singleReview_header_right {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
  }
  .review-container .singleReview_header .starRating {
    gap: 0;
    padding: 0 !important;
    margin-left: 0 !important;
  }
  .review-container .singleReview_header .starRating .ukmcustomfont {
    padding-right: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
  .review-container .singleReview_name {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
    line-height: 1.5;
    margin: 0;
  }
  .review-container .singleReview_name > span:first-child {
    flex: 0 1 auto;
    line-height: 1.5;
  }
  .review-container .singleReview_verified_buyer_tag {
    flex: 0 0 auto;
  }
  .review-container .singleReview_name > span:first-child::after {
    line-height: 1.5;
  }
  .review-container .singleReview_verified_buyer_tag {
    margin-left: 0;
  }
  .review-container .singleReview_header_date {
    margin-left: 0;
    text-align: left;
    line-height: 1.5;
  }
  .review-container .singleReview_body p {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .review-container .reviewProductName {
    max-width: none;
    font-size: 13px;
    line-height: 23.4px;
  }
  .review-container .singleReview_footer {
    margin-top: -8px;
  }
  .review-container .ReviewWidget_pagination {
    flex-wrap: wrap;
    margin-top: -16px;
    padding: 16px 0;
  }
  .review-container .ReviewWidget_pagination > div:not(.first, .prev, .next, .last) + div:not(.first, .prev, .next, .last) {
    margin-left: 24px;
  }
  .review-container .ReviewWidget_pagination .prev {
    margin-right: 32px;
  }
  .review-container .ReviewWidget_pagination .next {
    margin-left: 32px;
  }
}
[data-action=widget] .review-widget-summary-container .starRating span:last-child {
  margin-top: 0 !important;
}

.review-container {
  padding-bottom: 40px;
}

.review-container .uKomiWidgetFormFieldGroup {
  margin-left: 0 !important;
  margin-bottom: 0 !important;
}

.require_error:empty {
  display: none !important;
}

.reviewPost .form-input-group, .ukomiWidgetWriteReviewCustomQuestion .form-input-group {
  gap: 0 !important;
}

.ukmcustomfont-ukm-edit {
  display: none !important;
}

.uKomiWidgetUserFieldGroup {
  width: 100% !important;
}

.c-search-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.c-search-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.c-search-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(56, 56, 56, 0.45);
}

.c-search-modal__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 480px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  border-radius: 5px;
  background: var(--white);
  transform: translateY(100vh);
  transition: transform 0.3s ease;
}

.c-search-modal.is-open .c-search-modal__panel {
  transform: translateY(0);
}

body.is-desktop-search-open {
  overflow: hidden;
}

.c-search-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  padding: 16px 16px 16px 40px;
}

.c-search-modal__header h2 {
  font-family: var(--font-serif-ja);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1.1px;
}

.c-search-modal__close {
  position: relative;
  width: 32px;
  height: 32px;
  border: 1px solid var(--gray03);
  border-radius: 50%;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.c-search-modal__close::before,
.c-search-modal__close::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 10px;
  width: 10px;
  height: 1px;
  background: var(--gray05);
}

.c-search-modal__close::before {
  transform: rotate(45deg);
}

.c-search-modal__close::after {
  transform: rotate(-45deg);
}

.c-search-modal__close:hover {
  border-color: var(--gray05);
  background: var(--gray05);
}

.c-search-modal__close:hover::before,
.c-search-modal__close:hover::after {
  background: var(--white);
}

.c-search-modal__section {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 40px;
}

.c-search-modal__section h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.75px;
}

.c-search-modal__section--keyword,
.c-search-modal__section--temperature {
  background: var(--gray04);
}

.c-search-modal__section--keyword input {
  width: 100%;
  height: 42px;
  padding: 16px;
  border: 0;
  border-radius: 5px;
  font: 500 14px/24.3px var(--font-sans-ja);
  letter-spacing: 1.12px;
}

.c-search-modal__section--keyword input::placeholder {
  color: var(--gray03);
}

.c-filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.c-filter-tags__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 20px;
  background: var(--white);
  color: var(--gray05);
  font-size: 13px;
  font-weight: 500;
  line-height: 23.4px;
  text-decoration: none;
  height: 29px;
}

.c-search-modal__section--price {
  align-items: center;
}

.c-search-modal__section--price h3 {
  width: 100%;
}

.c-price-range {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.c-price-range__inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-price-range__inputs label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100px;
  height: 42px;
  padding: 0 16px;
  border: 1px solid var(--gray03);
  border-radius: 25px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 1.12px;
}

.c-price-range__inputs input {
  width: 56px;
  border: 0;
  background: transparent;
  color: var(--gray01);
  font: inherit;
  letter-spacing: inherit;
  text-align: right;
  outline: none;
  text-box: normal;
}

.c-price-range__inputs i {
  width: 8px;
  height: 1px;
  background: var(--gray03);
}

.c-price-range__slider {
  position: relative;
  width: 240px;
  height: 16px;
}

.c-price-range__track {
  position: absolute;
  top: 7px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--gray03);
}

.c-price-range__range {
  position: absolute;
  top: 7px;
  height: 1px;
  background: var(--gray05);
}

.c-price-range__slider input[type=range] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 16px;
  margin: 0;
  background: transparent;
  pointer-events: none;
  appearance: none;
}

.c-price-range__slider input[type=range]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  border: 1px solid var(--gray03);
  border-radius: 50%;
  background: var(--white);
  pointer-events: auto;
  appearance: none;
}

.c-price-range__slider input[type=range]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 1px solid var(--gray03);
  border-radius: 50%;
  background: var(--white);
  pointer-events: auto;
}

.c-price-range__labels {
  display: flex;
  justify-content: space-between;
  width: 240px;
  margin-top: -12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
}

.c-search-modal__section--temperature > div {
  display: flex;
  gap: 64px;
}

.c-search-modal__section--temperature label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 1.12px;
}

.c-search-modal__section--temperature input {
  width: 12px;
  height: 12px;
}

.c-search-modal__actions {
  display: flex;
  gap: 24px;
  width: 460px;
  padding: 24px 40px;
}

.c-search-modal__actions button {
  flex: 1;
  height: 41px;
  padding: 0 16px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  color: var(--gray05);
  font-size: 13px;
  font-weight: 700;
  line-height: 23.4px;
}

.c-search-modal__actions button:last-child {
  border-color: var(--button-gold01);
}

.c-search-modal__actions .c-button--gold {
  color: var(--white);
}

@media screen and (max-width: 768px) {
  .c-search-modal {
    display: none;
  }
  .c-search-modal.is-open {
    display: flex;
  }
  .c-search-modal__panel {
    width: calc(100% - 75px);
    max-width: 480px;
  }
  .c-search-modal__header {
    padding: 16px 20px;
  }
  .c-search-modal__header h2 {
    font-size: 17px;
  }
  .c-search-modal__section {
    padding: 20px 20px;
  }
  .c-search-modal__actions {
    width: 100%;
    padding: 24px 20px;
  }
  .c-price-range__inputs label {
    height: 33px;
  }
  .c-filter-tags {
    gap: 8px;
  }
  .c-filter-tags__item {
    font-size: 11px;
    padding: 9px 10px;
    line-height: 1.85;
  }
}
.c-section-heading {
  border-left: 3px solid var(--greige03);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  padding: 4px 0 4px 24px;
  white-space: normal;
}

.c-section-heading__title {
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  color: var(--gray01);
  margin-bottom: 0;
}

.c-section-heading__subtitle {
  font-family: var(--font-serif-en);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  color: var(--greige03);
}

@media screen and (max-width: 768px) {
  .c-section-heading {
    gap: 16px;
    padding-left: 16px;
    border-left: 3px solid var(--greige03);
  }
  .c-section-heading__title {
    font-size: 24px;
    line-height: 1.2833333;
    margin-bottom: 0;
    text-align: left;
  }
  .c-section-heading__subtitle {
    font-size: 20px;
    text-align: left;
  }
}
.site-guide {
  scroll-margin-top: 47px;
  background-color: #f3f3f3;
  padding: 80px min(5%, 72px);
}

.site-guide__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
}

.site-guide__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  color: #383838;
}

.site-guide__title {
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid #b2b2b2;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.site-guide__body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0;
}

.site-guide__body p {
  margin: 0 0 20px;
}

.site-guide__body p:last-child {
  margin-bottom: 0;
}

.site-guide__body a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-guide__cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 20px;
}

.site-guide__cards span {
  aspect-ratio: 85/55;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b2b2b2;
  background-color: #fff;
  overflow: hidden;
}

.site-guide__cards img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.site-guide__amazon-label {
  font-size: 13px;
  line-height: 1.8;
}

.site-guide__amazon-logo {
  width: 174px;
  height: 34px;
  margin: 0 0 20px;
}

.site-guide__amazon-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media screen and (max-width: 1200px) {
  .site-guide {
    padding: 72px min(5%, 72px);
  }
  .site-guide__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .site-guide {
    scroll-margin-top: 68px;
    padding: 32px 35px 48px 35px;
  }
  .site-guide__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .site-guide__item {
    gap: 0;
    border-bottom: 1px solid #b2b2b2;
  }
  .site-guide__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: none;
    font-size: 14px;
    cursor: pointer;
  }
  .site-guide__item.is-active {
    gap: 16px;
  }
  .site-guide__title::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background-image: linear-gradient(#b2b2b2, #b2b2b2), linear-gradient(#b2b2b2, #b2b2b2);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px 1px, 1px 12px;
    transition: background-size 0.3s ease;
  }
  .site-guide__item.is-active .site-guide__title::after {
    background-size: 12px 1px, 0 12px;
  }
  .site-guide__body {
    display: none;
    padding-bottom: 24px;
  }
  .site-guide__item.is-active .site-guide__body {
    display: block;
  }
}
/* Swiper共通インジケーター */
.c-swiper-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.c-swiper-indicator .swiper-pagination-bullet {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0;
  background: var(--gray03);
  border-radius: 0;
  opacity: 1;
  cursor: pointer;
}

.c-swiper-indicator .swiper-pagination-bullet-active {
  background: var(--gray05);
}

.c-scroll-indicator {
  display: none;
  justify-content: center;
  gap: 8px;
  margin-bottom: 32px;
}

.c-scroll-indicator__dot {
  width: 24px;
  height: 2px;
  background: var(--greige02);
  transition: background-color 0.3s;
}

.c-scroll-indicator__dot.is-active {
  background: var(--gray01);
}

@media screen and (max-width: 768px) {
  .c-scroll-indicator {
    /*display: flex;*/
    display: none !important;
  }
  .c-swiper-indicator {
    height: 24px;
    align-items: flex-end;
  }
  .c-items-swiper {
    overflow: hidden;
    width: 100%;
  }
}
/* ==========================================================================
   Swiper共通ナビゲーション（丸型矢印ボタン）
   ========================================================================== */
.c-product-slider__button,
.mc-gift-bags__arrow,
.mc-message-cards__arrow {
  width: 35px;
  height: 35px;
  border: 1px solid var(--gray03);
  border-radius: 50%;
  background: var(--white);
  cursor: pointer;
  transition: opacity 0.3s, visibility 0.3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.c-product-slider__button img,
.mc-gift-bags__arrow img,
.mc-message-cards__arrow img {
  width: 13.5px;
  height: 6.44px;
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}
.c-product-slider__button.swiper-button-disabled,
.mc-gift-bags__arrow.swiper-button-disabled,
.mc-message-cards__arrow.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.c-footer {
  --c-footer-padding-inline: min(5%, 72px);
  background: var(--greige02);
  padding: 0 var(--c-footer-padding-inline);
}

.c-footer__nav {
  padding: 64px 0;
  display: flex;
  justify-content: space-between;
}

.c-footer__logo {
  width: 300px;
}

.c-footer__sitemap {
  display: flex;
  gap: 104px;
}

.c-footer__sitemap-column h4 {
  color: var(--greige03);
  font-size: 17px;
  margin-bottom: 24px;
}

.c-footer__sitemap-column ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-footer__sitemap-column li {
  height: 10px;
}

.c-footer__sitemap-column a {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-footer__sitemap-column a::before {
  content: "";
  display: block;
  width: 8px;
  height: 1px;
  background: url("../assets/footer-bullet.svg") no-repeat center/contain;
}

.c-footer__sitemap-column--wide {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.c-footer__sitemap-subcolumn h4 {
  color: var(--greige03);
  font-size: 17px;
  margin-bottom: 24px;
}

.c-footer__sitemap-subcolumn ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-footer__sitemap-subcolumn a {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-footer__sitemap-subcolumn a::before {
  content: "";
  display: block;
  width: 8px;
  height: 1px;
  background: url("../assets/footer-bullet.svg") no-repeat center/contain;
}

.c-footer__sitemap-column a,
.c-footer__sitemap-subcolumn a {
  width: fit-content;
  position: relative;
  text-decoration: none;
}
.c-footer__sitemap-column a::after,
.c-footer__sitemap-subcolumn a::after {
  content: "";
  position: absolute;
  left: 16px;
  bottom: -2px;
  width: calc(100% - 16px);
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
}
.c-footer__sitemap-column a:hover::after,
.c-footer__sitemap-subcolumn a:hover::after {
  transform: scaleX(1);
}

.c-footer__copyright {
  margin-right: calc(var(--c-footer-padding-inline) * -1);
  margin-left: calc(var(--c-footer-padding-inline) * -1);
  padding: 24px 10px;
  text-align: center;
}

.c-footer__copyright p {
  font-size: 10px;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .c-footer {
    --c-footer-padding-inline: 35px;
  }
  .c-footer__nav {
    padding: 48px 0;
    flex-direction: column;
    align-items: center;
  }
  .c-footer__logo {
    width: 220px;
    margin-bottom: 48px;
    margin-right: 0;
  }
  .c-footer__sitemap {
    flex-direction: column;
    width: 100%;
    gap: 16px;
  }
  .c-footer__sitemap-column {
    border-top: 1px solid var(--greige03);
    padding-top: 16px;
    width: 100%;
  }
  .c-footer__sitemap-column.c-footer__sitemap-column--wide {
    flex-direction: column;
    gap: 16px;
  }
  .c-footer__sitemap-column h4, .c-footer__sitemap-subcolumn h4 {
    margin-bottom: 0;
    font-size: 15px;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
  }
  /* Add + icon for accordion feel */
  .c-footer__sitemap-column h4::after, .c-footer__sitemap-subcolumn h4::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background-image: linear-gradient(var(--gray03), var(--gray03)), linear-gradient(var(--gray03), var(--gray03));
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px 1px, 1px 12px;
    transition: background-size 0.3s ease;
  }
  .c-footer__sitemap-column.is-active h4::after, .c-footer__sitemap-subcolumn.is-active h4::after {
    background-size: 12px 1px, 0px 12px;
  }
  .c-footer__sitemap-column ul, .c-footer__sitemap-subcolumn ul {
    display: none;
    padding-top: 16px;
  }
  .c-footer__sitemap-column.is-active > ul, .c-footer__sitemap-subcolumn.is-active > ul {
    display: block;
  }
  .c-footer__sitemap-column.c-footer__sitemap-column--wide {
    border-top: none;
    padding-top: 0;
  }
  .c-footer__sitemap-subcolumn {
    border-top: 1px solid var(--greige03);
    padding-top: 16px;
  }
  .c-footer__sitemap-subcolumn:last-child {
    border-bottom: 1px solid var(--greige03);
    padding-bottom: 16px;
  }
  .c-footer__sitemap-column li {
    margin-bottom: 19px;
  }
  .c-footer__sitemap-column li a {
    font-size: 13px;
  }
  .c-footer__sitemap-column li::before {
    display: none;
  }
  .c-footer__sitemap-column a::after,
  .c-footer__sitemap-subcolumn a::after {
    left: 0;
    width: 100%;
  }
  .c-footer__copyright {
    padding: 24px 15px;
  }
}
.c-header {
  position: fixed;
  top: 42px;
  left: 0;
  width: 100%;
  height: 85px;
  background: var(--white);
  z-index: 100;
}

.c-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1440px;
  padding: 20px 32px;
  margin: 0 auto;
}

.c-header__logo {
  width: 240px;
}

.c-header__nav ul {
  display: flex;
  gap: 40px;
}

.c-header__nav > ul > li > a {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.75px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.c-header__nav > ul > li > a:hover {
  color: var(--button-gold01);
}

.c-header__nav-icon-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--greige02);
  transform: rotate(-90deg);
}

.c-header__nav-icon {
  width: 8px;
  height: auto;
}

.c-header__product-menu {
  position: absolute;
  top: 80%;
  left: 50%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 1020px;
  min-height: 552px;
  padding: 64px 80px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: #fff;
  box-shadow: 1px 1px 8px 2px rgba(168, 168, 168, 0.25);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -10px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  pointer-events: none;
}

.c-header__nav-item--has-child:hover .c-header__product-menu,
.c-header__nav-item--has-child.is-open .c-header__product-menu,
.c-header__nav-item--has-child:focus-within .c-header__product-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.c-header__product-column {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-header__product-title {
  font-family: var(--font-serif-ja);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

.c-header__product-column--brand {
  width: 300px;
}

.c-header__brand-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-header__brand-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
}

.c-header__brand-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 300px;
  height: 64px;
  padding-left: 26px;
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
  box-shadow: 1px 1px 8px 2px rgba(168, 168, 168, 0.25);
}

.c-header__brand-logo {
  width: 96px;
  height: 60px;
}

.c-header__brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-header__brand-image {
  width: 150px;
  height: 64px;
  overflow: hidden;
}

.c-header__brand-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.c-header__brand-item:hover .c-header__brand-image img,
.c-header__brand-item:focus-visible .c-header__brand-image img {
  transform: scale(1.2);
}

.c-header__category-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-header__category-list a {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 1.12px;
}

.c-header__category-list a:hover {
  color: var(--button-gold01);
}

.c-header__category-list span {
  width: 40px;
  height: 40px;
}

.c-header__category-list img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-header__category-list a:first-child img {
  object-fit: contain;
}

.c-header__product-all {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-serif-ja);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

.c-header__product-all-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--greige02);
  transform: rotate(180deg);
}

.c-header__product-all-icon img {
  width: 8px;
  height: auto;
}

.c-header__utils {
  display: flex;
  gap: 32px;
  align-items: center;
}

.c-header__utility {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 500;
}

.c-header__utility-icon {
  width: 32px;
  height: 32px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-header__utility-icon img {
  width: 80%;
  height: 80%;
  object-fit: contain;
}

.c-header__cart-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  background: var(--red01);
  color: var(--white);
  font-size: 8px;
  font-weight: 500;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-header__menu-button {
  display: none;
}

@media screen and (max-width: 768px) {
  .c-header {
    height: 60px;
    padding: 0 15px;
    position: fixed;
    top: 40px;
    left: 0;
    right: 0;
    width: auto;
    background: var(--white);
    z-index: 1000;
    display: flex;
    align-items: center;
  }
  .c-header__inner {
    padding: 0;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
  }
  .c-header__product-menu {
    display: none;
  }
  .c-header__logo {
    width: 159px;
  }
  .c-header__utils {
    gap: 8px;
    margin-left: auto;
  }
  .c-header__utility span {
    display: none;
  }
  .c-header__utility-icon {
    width: 24px;
    height: 25px;
  }
  .c-header__menu-button {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 18px;
    height: 15px;
    padding: 0;
  }
  .c-header__menu-button span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--gray01);
    transition: all 0.3s;
  }
  .c-header__menu-button.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .c-header__menu-button.is-active span:nth-child(2) {
    opacity: 0;
    visibility: hidden;
    transform: scaleX(0);
    background-color: transparent;
  }
  .c-header__menu-button.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  .c-header__utility {
    padding: 0;
  }
}
.c-header-note {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  width: 100%;
  height: 42px;
  background-color: var(--gray04);
  text-align: center;
  padding: 0 10px;
  overflow: hidden;
}

.c-header-note__swiper {
  height: 100%;
  overflow: hidden;
}

.c-header-note__list {
  height: 100%;
}

.c-header-note__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.12px;
}

.c-header-note__link:hover,
.c-header-note__link:focus-visible {
  text-decoration: underline;
}

.c-header-note__arrow {
  display: none;
}

@media screen and (max-width: 768px) {
  .c-header-note {
    z-index: 1001;
    height: 40px;
    padding: 4px 15px;
  }
  .c-header-note__swiper {
    width: calc(100% - 62px);
    margin: 0 auto;
  }
  .c-header-note__item {
    height: 32px;
    font-size: 12px;
    line-height: 32px;
    letter-spacing: 1.44px;
    white-space: nowrap;
  }
  .c-header-note__arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--greige02);
    transform: translateY(-50%);
  }
  .c-header-note__arrow--prev {
    left: 15px;
  }
  .c-header-note__arrow--next {
    right: 15px;
  }
  .c-header-note__arrow--next img {
    transform: rotate(180deg);
  }
  .c-header-note__arrow img {
    width: 8px;
    height: auto;
  }
}
.l-section {
  padding: 120px min(5%, 72px);
  max-width: 1440px;
  margin: 0 auto;
}

.l-section--bg {
  padding: 120px min(5%, 72px);
  background: var(--gray04);
}

.l-section--gold {
  padding: 120px min(5%, 72px);
  background: var(--greige02);
}

.l-inner {
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  gap: 56px;
}

/* Section Common */
.c-recently-viewed-items + .c-related-items {
  padding: 40px;
}

.c-recently-viewed-items .c-product-list {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .l-section, .l-section--bg, .l-section--gold {
    padding: 48px 35px 48px 35px;
  }
  .l-section + .l-section {
    padding: 48px 35px;
  }
  .l-inner {
    gap: 32px;
  }
  .c-recently-viewed-items + .c-related-items {
    padding-top: 32px !important;
  }
}
.c-hr {
  border-top: 1px solid var(--gray03);
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c-hr {
    width: calc(100% - 70px) !important;
  }
}
.c-sp-menu {
  display: none;
}

@media screen and (max-width: 768px) {
  body.is-menu-open {
    overflow: hidden;
  }
  .c-sp-menu {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    background: var(--white);
    z-index: 999;
    overflow-y: auto;
    padding-top: 100px; /* Header note + header height */
    padding-bottom: calc(32px + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform 0.35s ease, visibility 0s linear 0.35s;
    will-change: transform;
  }
  body.is-menu-open .c-sp-menu,
  body.is-search-open .c-sp-menu {
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    transition-delay: 0s;
  }
  .c-sp-menu__inner {
    padding: 0 0 16px;
  }
  .c-sp-menu__search {
    padding: 0 24px;
    margin-bottom: 24px;
  }
  .c-sp-menu__search-box {
    background: var(--gray02);
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 4px 8px 4px 24px;
    border-radius: 5px;
    height: 40px;
  }
  .c-sp-menu__search-icon {
    width: 20px;
    height: 20px;
  }
  .c-sp-menu__search-input {
    background: none;
    border: none;
    width: 100%;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.78px;
    color: var(--gray05);
    outline: none;
  }
  /* Menu Body */
  .c-sp-menu__body {
    display: flex;
    flex-direction: column;
  }
  .c-sp-menu__section {
    border-top: 1px solid var(--gray03);
  }
  .c-sp-menu__title {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.75px;
    padding: 16px 24px;
    color: var(--gray01);
  }
  .c-sp-menu__sub {
    display: flex;
    flex-direction: column;
  }
  .c-sp-menu__subtitle {
    padding: 12px 24px;
    font-family: var(--font-serif-ja);
    font-size: 14px;
    font-weight: 400;
    color: var(--white);
  }
  .c-sp-menu__subtitle.c-sp-menu__subtitle--brand {
    background: var(--greige03);
  }
  .c-sp-menu__subtitle.c-sp-menu__subtitle--category {
    background: var(--gray05);
  }
  /* Brand List */
  .c-sp-menu__brand-list {
    display: flex;
    flex-direction: column;
  }
  .c-sp-menu__brand-list li {
    border-bottom: 1px solid var(--gray02);
  }
  .c-sp-menu__brand-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 24px;
  }
  .c-sp-menu__brand-thumb {
    width: 64px;
    height: 40px;
  }
  .c-sp-menu__brand-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .c-sp-menu__brand-list span {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.78px;
  }
  /* Category List */
  .c-sp-menu__category-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .c-sp-menu__category-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 24px;
    border-bottom: 1px solid var(--gray02);
  }
  .c-sp-menu__category-list a:nth-child(odd) {
    border-right: 1px solid var(--gray02);
  }
  .c-sp-menu__category-thumb {
    width: 32px;
    height: 32px;
  }
  .c-sp-menu__category-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .c-sp-menu__category-list span {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.78px;
  }
  .c-sp-menu__all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    background: var(--greige02);
    font-family: var(--font-serif-ja);
    font-size: 14px;
    color: var(--gray01);
  }
  .c-sp-menu__all .c-sp-menu__arrow-circle {
    width: 16px;
    height: 16px;
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-sp-menu__all .c-sp-menu__arrow-circle img {
    width: 8px;
    height: auto;
    transform: scaleX(-1);
  }
  /* Single Link */
  .c-sp-menu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--gray03);
  }
  .c-sp-menu__link .c-sp-menu__arrow-circle {
    width: 16px;
    height: 16px;
    margin-right: 24px;
    background-color: var(--greige02);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-sp-menu__link .c-sp-menu__arrow-circle img {
    width: 8px;
    height: auto;
    transform: scaleX(-1);
  }
  /* Menu List */
  .c-sp-menu__list {
    display: flex;
    flex-direction: column;
  }
  .c-sp-menu__list li {
    border-top: 1px solid var(--gray02);
  }
  .c-sp-menu__list a {
    display: block;
    padding: 16px 24px 16px 40px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.78px;
  }
  .c-sp-menu__section:last-child {
    border-bottom: 1px solid var(--gray02);
  }
  .c-sp-menu .c-sp-menu__mode--search {
    display: none;
  }
  body.is-search-open .c-sp-menu .c-sp-menu__mode--hamburger {
    display: none;
  }
  body.is-search-open .c-sp-menu .c-sp-menu__mode--search {
    display: flex;
  }
  body.is-search-open .c-sp-menu .c-sp-menu__section {
    border-top: none;
  }
  .c-sp-menu__search-close {
    width: 100%;
    background: var(--greige02);
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-top: 1px solid var(--white);
    font-family: var(--font-sans-ja);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.78px;
    color: var(--gray05);
    border-bottom: 1px solid var(--gray02);
  }
  .c-sp-menu__close-icon {
    width: 24px;
    height: 24px;
    background: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-sp-menu__close-icon img {
    width: 6px;
    height: 6px;
  }
}
.cp-fv {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/520;
  overflow: hidden;
  clip-path: inset(0);
}

.cp-fv__image {
  position: fixed;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/520;
  background: url("../assets/company_profile/fv.jpg") center/cover no-repeat;
  z-index: -1;
}

.cp-intro {
  padding-top: 56px;
  padding-bottom: 80px;
}

.cp-intro__inner {
  align-items: center;
}

.cp-intro__content {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.cp-intro__body {
  width: 100%;
  max-width: 1200px;
}

.cp-perks__inner {
  align-items: center;
}

.cp-perks__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  gap: 56px 12%;
}

.cp-perks__lead {
  display: flex;
  flex: 0 0 448px;
  flex-direction: column;
  justify-content: center;
  gap: 48px;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
}

.cp-perks__lead-title {
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.cp-perks__lead-text {
  font-size: 22px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.05em;
}

.cp-perks__list {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  min-width: 420px;
}

.cp-perks__item {
  display: flex;
  align-items: center;
  gap: 32px;
}

.cp-perks__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--gray04);
}

.cp-perks__icon img {
  object-fit: contain;
}

.cp-perks__icon--point img {
  width: 42px;
  height: 39px;
}

.cp-perks__icon--gift img {
  width: 37px;
  height: 38px;
}

.cp-perks__icon--mail img {
  width: 37px;
  height: 30px;
  object-fit: contain;
}

.cp-perks__item-text {
  flex: 1;
  min-width: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.cp-guide__text {
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.cp-guide__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
  width: 100%;
}

.cp-guide__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 72px;
  padding: 20px 56px 20px 16px;
  border-radius: 5px;
}

.cp-guide__icon {
  flex: 0 0 32.63px;
  width: 32.63px;
  height: 32.63px;
}

.cp-guide__label {
  font-family: var(--font-sans-ja);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}

.cp-guide__arrow {
  position: absolute;
  top: 50%;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1px solid var(--white);
  border-radius: 50%;
  transform: translateY(-50%) rotate(180deg);
}

.cp-guide__arrow img {
  width: 11px;
  height: 8px;
}

.cp-company__inner {
  align-items: center;
}

.cp-company__list {
  width: 100%;
  max-width: 800px;
}

.cp-company__row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--gray02);
}

.cp-company__term,
.cp-company__description {
  display: flex;
  align-items: center;
  min-height: 74px;
  padding: 24px 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  letter-spacing: 0.08em;
}

.cp-company__term {
  flex: 0 0 200px;
  font-weight: 700;
  line-height: 1;
}

.cp-company__description {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-weight: 500;
  line-height: 1.7357143;
}

.cp-commitment__content {
  display: flex;
  align-items: center;
  gap: 80px;
  width: 100%;
}

.cp-commitment__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  min-width: 0;
}

.cp-commitment__title {
  width: 100%;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.05em;
}

.cp-commitment__text {
  display: flex;
  flex-direction: column;
  gap: 36px;
  width: 100%;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.cp-commitment__body .c-button-primary {
  width: 100%;
}

.cp-commitment__image {
  flex: 0 0 50%;
  max-width: 600px;
  aspect-ratio: 600/360;
  overflow: hidden;
  border-radius: 5px;
}

.cp-commitment__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .cp-fv {
    aspect-ratio: 375/200;
  }
  .cp-fv__image {
    aspect-ratio: 375/200;
  }
  .cp-intro {
    padding-top: 32px;
    padding-bottom: 48px;
  }
  .cp-intro__content {
    align-items: flex-start;
    gap: 32px;
  }
  .cp-intro__body p:not(:last-child) {
    margin-bottom: 25.6px;
  }
  .cp-perks__content {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .cp-perks__lead {
    flex: none;
    gap: 24px;
    width: 100%;
    min-width: 0;
    padding-top: 24px;
  }
  .cp-perks__lead-title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .cp-perks__lead-text {
    font-size: 17px;
    line-height: 1.5;
  }
  .cp-perks__list {
    width: 100%;
    min-width: 0;
  }
  .cp-perks__item {
    gap: 24px;
  }
  .cp-perks__icon {
    flex-basis: 64px;
    width: 64px;
    height: 64px;
  }
  .cp-perks__icon--point img {
    width: 34px;
    height: 31px;
  }
  .cp-perks__icon--gift img {
    width: 29px;
    height: 30px;
  }
  .cp-perks__icon--mail img {
    width: 29px;
    height: 24px;
  }
  .cp-perks__item-text {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .cp-guide__links {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .cp-guide__link {
    justify-content: space-between;
    min-height: 64px;
    padding: 16px 24px 16px 16px;
  }
  .cp-guide__label {
    font-size: 15px;
    letter-spacing: 0.05em;
  }
  .cp-guide__arrow {
    position: static;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    transform: rotate(180deg);
  }
  .cp-guide__arrow img {
    width: 8px;
    height: 6px;
  }
  .cp-company__list {
    max-width: none;
  }
  .cp-company__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 0;
  }
  .cp-company__term,
  .cp-company__description {
    display: block;
    min-height: 0;
    padding: 0;
    font-size: 13px;
  }
  .cp-company__term {
    flex: none;
    line-height: 1.8;
    letter-spacing: 0;
  }
  .cp-company__description {
    width: 100%;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .cp-commitment__content {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .cp-commitment__image {
    order: 1;
    flex: none;
    width: 100%;
    max-width: none;
  }
  .cp-commitment__body {
    display: contents;
  }
  .cp-commitment__title {
    order: 2;
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .cp-commitment__text {
    order: 3;
    gap: 24px;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .cp-commitment__body .c-button-primary {
    order: 4;
  }
}
.faq-fv {
  padding-block: 80px;
  background: var(--white);
}

.faq-fv__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 96px;
}

.faq-fv__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.faq-fv__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

.faq-fv__link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 18px 16px 22px;
  background: var(--gray04);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.faq-fv__icon {
  position: absolute;
  bottom: 10px;
  left: 50%;
  display: block;
  width: 8px;
  height: 4.214px;
  transform: translateX(-50%);
}

.faq-fv__icon img {
  display: block;
  width: 8px;
  height: 4.214px;
  object-fit: contain;
}

.faq-category {
  scroll-margin-top: 47px;
  padding-block: 80px;
  background: var(--white);
}

.faq-category__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 80px;
  padding-top: 80px;
  border-top: 1px solid var(--gray03);
}

.faq-category__title {
  flex: 0 0 auto;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.faq-category__list {
  display: flex;
  width: min(100%, 800px);
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--gray03);
}

.faq-category__item {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  color: var(--gray01);
}

.faq-category__button {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 16px;
  padding: 32px 32px 0 0;
  border-top: 1px solid var(--gray03);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  color: var(--gray01);
  text-align: left;
  cursor: pointer;
  appearance: none;
}

.faq-category__button:focus-visible {
  outline: 2px solid var(--greige03);
  outline-offset: 6px;
}

.faq-category__mark {
  display: flex;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--greige03);
  color: var(--white);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
}

.faq-category__question {
  min-width: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.faq-category__icon {
  position: absolute;
  top: 45px;
  right: 0;
  width: 12px;
  height: 12px;
}

.faq-category__icon::before,
.faq-category__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: var(--gray05);
  content: "";
  transform: translate(-50%, -50%);
}

.faq-category__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-category__item.is-open .faq-category__icon::after {
  opacity: 0;
}

.faq-category__answer {
  width: 100%;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.faq-category__answer[hidden] {
  display: none;
}

.faq-category__answer p + p {
  margin-top: 24.3px;
}

.faq-category__answer a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media screen and (max-width: 768px) {
  .faq-fv.l-section {
    padding-block: 24px 20px;
  }
  .faq-fv__inner {
    gap: 32px;
  }
  .faq-fv__title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .faq-fv__nav {
    grid-template-columns: repeat(2, minmax(0, 142px));
    justify-content: center;
    gap: 20px;
  }
  .faq-fv__link {
    min-height: 60px;
    padding: 17px 8px 22px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .faq-fv__icon {
    bottom: 9px;
  }
  .faq-category.l-section {
    scroll-margin-top: 68px;
    padding-block: 32px 48px;
  }
  .faq-category__inner {
    flex-direction: column;
    gap: 40px;
    padding-top: 40px;
  }
  .faq-category__title {
    font-size: 24px;
    line-height: 1.2833333;
    letter-spacing: 0;
  }
  .faq-category__list {
    width: 100%;
    gap: 24px;
    padding-bottom: 24px;
  }
  .faq-category__item {
    gap: 24px;
  }
  .faq-category__button {
    gap: 8px;
    align-items: center;
    min-height: 53px;
    padding: 24px 32px 0 0;
    border-top-color: var(--greige03);
  }
  .faq-category__mark {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
    font-size: 15px;
    line-height: 1.7066667;
  }
  .faq-category__question {
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }
  .faq-category__icon {
    top: calc(50% + 8px);
    right: 0;
    transform: translateY(-50%);
  }
  .faq-category__answer {
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .faq-category__answer p + p {
    margin-top: 21px;
  }
}
.info-fv {
  padding-block: 80px;
  background: var(--white);
}

.info-fv__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}

.info-fv__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.info-fv__nav {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.info-fv__link {
  position: relative;
  display: flex;
  min-height: 60px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 16px 22px;
  background: var(--gray04);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.info-fv__icon {
  position: absolute;
  bottom: 10px;
  left: 50%;
  display: block;
  width: 8px;
  height: 4.214px;
  transform: translateX(-50%);
}

.info-fv__icon img {
  display: block;
  width: 8px;
  height: 4.214px;
  object-fit: contain;
}

.info-section {
  scroll-margin-top: 47px;
  padding-block: 80px;
  background: var(--white);
}

.info-section__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 80px;
  padding-top: 80px;
  border-top: 1px solid var(--gray03);
}

.info-section__title {
  flex: 0 0 auto;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.info-section__content {
  width: min(100%, 800px);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.info-section__text {
  margin: 0;
}

.info-section__list {
  display: block;
  margin: 0;
  padding-left: 21px;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  list-style: disc outside;
  letter-spacing: 0.08em;
}

.info-section__list li {
  margin-bottom: 2em;
}

.info-section__emphasis {
  color: var(--red01);
}

.info-table {
  max-width: 100%;
  border-collapse: collapse;
  border-right: 1px solid var(--gray03);
  border-bottom: 1px solid var(--gray03);
  border-left: 1px solid var(--gray03);
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.08em;
}

.info-table caption {
  padding: 8px 16px;
  border: 1px solid var(--gray03);
  border-bottom: 0;
  background: var(--greige02);
  font-weight: 500;
  line-height: 1.7357143;
  text-align: center;
}

.info-table th,
.info-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--gray03);
  vertical-align: middle;
}

.info-table tr:last-child th,
.info-table tr:last-child td {
  border-bottom: 0;
}

.info-table th {
  width: 68%;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

.info-table td {
  font-weight: 500;
  line-height: 1.7357143;
  text-align: right;
  white-space: nowrap;
}

.info-table--fee {
  width: 320px;
}

.info-table--delivery {
  width: 540px;
}

.info-order__steps {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.info-order__step {
  display: grid;
  width: 100%;
  min-height: 112px;
  grid-template-columns: 128px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 24px;
}

.info-order__step-head {
  display: contents;
}

.info-order__step-marker {
  position: relative;
  display: flex;
  grid-row: 1/span 2;
  align-self: stretch;
  flex-direction: column;
  align-items: center;
}

.info-order__step:not(:last-child) .info-order__step-marker::after {
  display: block;
  width: 1px;
  flex: 1;
  min-height: 40px;
  background: var(--gray03);
  content: "";
}

.info-order__step-label {
  display: flex;
  width: 100%;
  height: 72px;
  flex: 0 0 72px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--gray04);
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

.info-order__step-title {
  grid-column: 2;
  margin: 12px 0 0;
  color: var(--greige03);
  font-family: var(--font-serif-ja);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.info-order__step-body {
  grid-column: 2;
  margin: 0;
  padding: 0 0 40px;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.info-order__step:last-child .info-order__step-body {
  padding-bottom: 0;
}

.info-order__step-body p {
  margin: 0;
}

.info-order__step-body p + p {
  margin-top: 24.3px;
}

.info-payment__content {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.info-payment__formula {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 64px 32px;
  border-radius: 5px;
  background: var(--gray04);
  color: var(--gray01);
  font-family: var(--font-serif-ja);
}

.info-payment__formula-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border: 1px solid var(--gray03);
  background: var(--white);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.info-payment__formula-equal,
.info-payment__formula-text {
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.info-payment__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.info-payment__item {
  display: flex;
  width: 100%;
  align-items: flex-start;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--gray03);
}

.info-payment__item-title {
  flex: 0 0 200px;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
  white-space: nowrap;
}

.info-payment__item-body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.info-payment__item-body p {
  margin: 0;
}

.info-payment__cards {
  display: flex;
  width: 400px;
  max-width: 100%;
  align-items: center;
  gap: 8px;
}

.info-payment__card {
  display: flex;
  min-width: 0;
  aspect-ratio: 85/55;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gray03);
  background: var(--white);
  overflow: hidden;
}

.info-payment__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.info-payment__note {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0;
}

.info-payment__amazon-logo {
  width: 174px;
  height: 34px;
}

.info-delivery__content {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.info-return {
  padding-bottom: 120px;
}

.info-payment__amazon-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .info-fv.l-section {
    padding-block: 24px 20px;
  }
  .info-fv__inner {
    gap: 32px;
  }
  .info-fv__title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .info-fv__nav {
    grid-template-columns: repeat(2, minmax(0, 142px));
    justify-content: center;
    gap: 20px;
  }
  .info-fv__link {
    min-height: 60px;
    padding: 17px 8px 22px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .info-fv__link:last-child {
    grid-column: 1/-1;
    width: 142px;
    justify-self: center;
  }
  .info-fv__icon {
    bottom: 9px;
  }
  .info-section.l-section {
    scroll-margin-top: 68px;
    padding-block: 32px 48px;
  }
  .info-section__inner {
    flex-direction: column;
    gap: 40px;
    padding-top: 40px;
  }
  .info-section__title {
    font-size: 24px;
    line-height: 1.2833333;
    letter-spacing: 0;
  }
  .info-section__content {
    width: 100%;
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .info-section__list {
    padding-left: 19.5px;
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .info-table {
    width: 100%;
    font-size: 13px;
    letter-spacing: 0.06em;
  }
  .info-table caption {
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .info-table th,
  .info-table td {
    padding-right: 12px;
    padding-left: 12px;
  }
  .info-table th {
    width: 72%;
    font-size: 14px;
    letter-spacing: 0.08em;
  }
  .info-order__steps {
    gap: 32px;
  }
  .info-order__step {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .info-order__step-head {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 8px;
  }
  .info-order__step-marker {
    display: block;
    grid-row: auto;
    flex: 0 0 88px;
    align-self: auto;
  }
  .info-order__step:not(:last-child) .info-order__step-marker::after {
    display: none;
  }
  .info-order__step-label {
    width: 88px;
    height: auto;
    min-height: 26px;
    padding: 6px 10px;
    font-size: 14px;
  }
  .info-order__step-title {
    margin: 0;
    font-size: 17px;
    letter-spacing: 0.05em;
  }
  .info-order__step-body {
    width: min(100%, 280px);
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .info-order__step-body p + p {
    margin-top: 21px;
  }
  .info-payment__content {
    gap: 40px;
  }
  .info-payment__formula {
    flex-direction: column;
    gap: 8px;
    padding: 24px 14px;
  }
  .info-payment__formula-label {
    padding: 12px;
    font-size: 17px;
  }
  .info-payment__formula-equal {
    display: flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
    transform: rotate(90deg);
  }
  .info-payment__formula-text {
    font-size: 14px;
    letter-spacing: 0;
  }
  .info-payment__list {
    gap: 0;
  }
  .info-payment__item {
    flex-direction: column;
    gap: 24px;
    padding: 24px 0;
  }
  .info-payment__item:first-child {
    padding-top: 0;
  }
  .info-payment__item:last-child {
    border-bottom: 0;
  }
  .info-payment__item-title {
    flex: 0 0 auto;
    font-size: 15px;
    line-height: 1.7066667;
  }
  .info-payment__item-body {
    width: 100%;
    gap: 24px;
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .info-payment__cards {
    width: 100%;
  }
  .info-payment__note {
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 0;
  }
  .info-payment__amazon-logo {
    width: 144px;
    height: 28px;
    margin: 0 auto;
  }
  .info-delivery__content {
    gap: 40px;
  }
  .info-return {
    padding-bottom: 48px;
  }
}
/* ==========================================================================
   Review Page Styles
   ========================================================================== */
.rv-point-banner {
  position: relative;
  display: flex;
  height: 320px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 10px;
  background: url("../assets/review/review-point-bg.jpg") center 36%/cover no-repeat;
  color: var(--white);
}

.rv-point-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.25);
}

.rv-point-banner__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.rv-point-banner__icon {
  display: flex;
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--white);
  border-radius: 50%;
}

.rv-point-banner__icon img {
  width: 38px;
  height: 38px;
}

.rv-point-banner__title {
  display: flex;
  height: 69px;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: space-between;
  color: var(--white);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 1px 1px 11px rgba(0, 0, 0, 0.79);
  white-space: nowrap;
}

.rv-review-intro {
  display: flex;
  flex-direction: column;
  gap: 80px;
  padding-top: 80px;
  padding-bottom: 120px;
  background-color: var(--white);
}

.rv-review-intro .c-message {
  max-width: none;
  padding: 0;
}

.rv-review-intro .c-message .l-inner {
  gap: 40px;
}

.rv-review-intro .c-plain-heading {
  gap: 0;
  padding: 0;
}

.rv-review-intro .c-plain-heading__title span {
  display: inline;
  text-box: normal;
}

.rv-review-intro .c-message__body {
  width: 100%;
  max-width: none;
}

.rv-review-intro__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  width: 100%;
  max-width: 1200px;
  padding: 64px 72px;
  margin: 0 auto;
  border-radius: 5px;
  background-color: var(--gray04);
  color: var(--gray01);
}

.rv-review-intro__point-title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.rv-review-intro__point-title span {
  display: inline;
  text-box: normal;
}

.rv-review-intro__exchange {
  display: flex;
  width: 296px;
  flex-direction: column;
  gap: 16px;
}

.rv-review-intro__exchange-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.rv-review-intro__coin {
  display: flex;
  width: 80px;
  height: 80px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.rv-review-intro__coin--point {
  border: 1px solid var(--gray01);
  background-color: var(--white);
  color: var(--gray01);
}

.rv-review-intro__coin--yen {
  background-color: var(--greige03);
  color: var(--white);
}

.rv-review-intro__equal {
  width: 24px;
  color: var(--gray05);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.rv-review-intro__exchange-labels {
  display: flex;
  justify-content: space-between;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}

.rv-review-intro__exchange-labels p {
  width: 80px;
}

.rv-review-intro__point-text {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
  text-align: center;
}

.rv-campaign {
  padding-top: 80px;
  padding-bottom: 80px;
}

.rv-campaign__inner {
  align-items: center;
}

.rv-campaign__banner {
  display: block;
  width: min(100%, 800px);
  border-radius: 5px;
  box-shadow: 1px 1px 8px 2px rgba(168, 168, 168, 0.25);
  overflow: hidden;
}

.rv-campaign__banner img {
  width: 100%;
  height: auto;
  display: block;
}

.rv-flow {
  padding-top: 80px;
  padding-bottom: 80px;
}

.rv-flow__inner {
  align-items: center;
}

.rv-flow__subtitle-text--sp {
  display: none;
}

.rv-flow__lead {
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
  text-align: center;
}

.rv-flow__steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.rv-flow__step {
  display: flex;
  width: 100%;
  max-width: 350px;
  height: 220px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 10px;
  border: 2px solid var(--gray02);
  border-radius: 5px;
}

.rv-flow__icons {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 36px;
  height: 89.28px;
}

.rv-flow__icons--review {
  align-items: center;
}

.rv-flow__icon {
  display: block;
  width: auto;
  max-width: none;
}

.rv-flow__icon--phone {
  width: 37.026px;
  height: 60.258px;
}

.rv-flow__icon--pc {
  width: 116.16px;
  height: 81.312px;
}

.rv-flow__icon--cutlery {
  width: 55.51px;
  height: 79.25px;
}

.rv-flow__icon--gift {
  width: 66.792px;
  height: 69.696px;
}

.rv-flow__icon--window {
  width: 138.24px;
  height: 89.28px;
}

.rv-flow__step-title {
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.rv-flow__arrow {
  width: 27px;
  height: 15px;
  flex-shrink: 0;
  transform: rotate(180deg);
}

.rv-flow__arrow img {
  width: 100%;
  height: 100%;
}

.rv-discover-section {
  padding-top: 80px;
}

.rv-review-note {
  padding-top: 80px;
  padding-bottom: 80px;
}

.rv-review-note__inner {
  align-items: center;
}

.rv-review-note__card {
  display: flex;
  width: min(100%, 800px);
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 64px 0;
  border-radius: 5px;
  background-color: var(--white);
  color: var(--gray01);
  font-family: var(--font-serif-ja);
}

.rv-review-note__title {
  color: var(--gray01);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.rv-review-note__body {
  color: var(--gray01);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
  text-align: center;
}

.rv-review-note__body a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.rv-review-caution {
  padding-top: 80px;
  padding-bottom: 120px;
}

.rv-review-caution__inner {
  align-items: center;
  gap: 80px;
}

.rv-review-caution__content {
  display: flex;
  width: min(100%, 800px);
  flex-direction: column;
  align-items: center;
  gap: 40px;
  color: var(--gray01);
}

.rv-review-caution__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.rv-review-caution__list {
  width: 100%;
  padding-left: 21px;
  list-style: disc;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7142857;
}

.rv-review-caution__list li:not(:last-child) {
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  .rv-point-banner {
    height: 136px;
    min-height: 0;
    padding: 18px 35px 24px;
    background-position: center center;
  }
  .rv-point-banner__content {
    flex-direction: column;
    gap: 12px;
  }
  .rv-point-banner__icon {
    width: 40px;
    height: 40px;
    border-width: 1px;
  }
  .rv-point-banner__icon img {
    width: 19px;
    height: 19px;
  }
  .rv-point-banner__title {
    height: 42px;
    min-width: 0;
    flex-shrink: 1;
    align-items: center;
    font-size: 19px;
    letter-spacing: 0.95px;
    text-align: center;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.79);
  }
  .rv-review-intro {
    gap: 32px;
    padding-top: 32px;
    padding-bottom: 48px;
  }
  .rv-review-intro .c-message {
    padding: 0 !important;
  }
  .rv-review-intro .c-message .l-inner {
    gap: 32px;
    align-items: flex-start;
  }
  .rv-review-intro .c-plain-heading__title span {
    display: block;
  }
  .rv-review-intro__point {
    align-items: stretch;
    gap: 48px;
    padding: 48px 24px;
  }
  .rv-review-intro__point-title {
    font-size: 24px;
    line-height: 1.2833333;
    text-align: left;
  }
  .rv-review-intro__point-title span {
    display: block;
  }
  .rv-review-intro__exchange {
    width: min(100%, 257px);
    margin: 0 auto;
    gap: 12px;
  }
  .rv-review-intro__exchange-row,
  .rv-review-intro__exchange-labels {
    padding: 0;
  }
  .rv-review-intro__point-text {
    font-size: 15px;
    line-height: 1.7066667;
    text-align: left;
  }
  .rv-campaign {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .rv-campaign__inner {
    align-items: flex-start;
  }
  .rv-campaign__banner {
    width: 100%;
  }
  .rv-flow {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .rv-flow__inner {
    align-items: flex-start;
  }
  .rv-flow__subtitle-text--pc {
    display: none;
  }
  .rv-flow__subtitle-text--sp {
    display: inline;
  }
  .rv-flow__lead {
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .rv-flow__steps {
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
  }
  .rv-flow__step {
    width: 100%;
    max-width: none;
    height: 191px;
  }
  .rv-flow__arrow {
    width: 27px;
    height: 15px;
    transform: rotate(-90deg);
    margin-top: 8px;
    margin-bottom: 8px;
  }
  .rv-discover-section {
    padding-top: 48px;
  }
  .rv-review-note {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .rv-review-note__inner {
    align-items: flex-start;
  }
  .rv-review-note__card {
    width: 100%;
    gap: 32px;
    padding: 48px 24px;
  }
  .rv-review-note__title {
    font-size: 24px;
    line-height: 1.2833333;
    white-space: nowrap;
  }
  .rv-review-note__body {
    width: 100%;
    font-size: 15px;
    line-height: 1.7066667;
    text-align: left;
  }
  .rv-review-caution {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .rv-review-caution__inner {
    align-items: flex-start;
    gap: 56px;
  }
  .rv-review-caution__content {
    width: 100%;
    gap: 32px;
  }
  .rv-review-caution__title {
    width: 100%;
    font-size: 24px;
    line-height: 1.2833333;
  }
  .rv-review-caution__list {
    padding-left: 19.5px;
    font-size: 13px;
    line-height: 1.7692308;
  }
}
.sr-result {
  padding-bottom: 0;
}

.sr-result.l-section {
  padding-top: 80px;
}

.sr-result__inner {
  align-items: center;
  gap: 56px;
}

.sr-result__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.sr-result__keywords {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.sr-result__keywords-label {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.sr-result__keywords-label::after {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  background: var(--gray03);
}

.sr-result__keyword-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  list-style: none;
}

.sr-result__keyword {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 10px 16px;
  border-radius: 20px;
  background: var(--greige02);
  color: var(--gray01);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.sr-result__count {
  color: var(--gray05);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}

.sr-result .c-pagination {
  padding-top: 48px;
}

@media screen and (max-width: 768px) {
  .sr-result.l-section {
    padding-top: 24px;
  }
  .sr-result__inner {
    align-items: flex-start;
    gap: 40px;
  }
  .sr-result .c-hr {
    width: 100% !important;
  }
  .sr-result__summary {
    align-items: flex-start;
    width: 100%;
  }
  .sr-result__keywords {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
  }
  .sr-result__keywords-label {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .sr-result__keywords-label::after {
    display: none;
  }
  .sr-result__keyword-list {
    justify-content: flex-start;
  }
  .sr-result__keyword {
    height: 29px;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 23.4px;
    letter-spacing: 0;
  }
  .sr-result__count {
    font-size: 16px;
    letter-spacing: 0.08em;
  }
  .sr-result .c-product-list {
    gap: 40px 20px;
  }
  .sr-result .c-product-card__image {
    border-width: 1px;
  }
  .sr-result .c-product-card__tags {
    flex-direction: column;
    align-items: flex-start;
  }
  .sr-result .c-pagination {
    padding-top: 24px;
  }
}
/* ==========================================================================
   Message Card Page Styles
   ========================================================================== */
/* ==========================================================================
   FV
   ========================================================================== */
.mc-fv {
  display: flex;
  width: 100%;
  min-height: 500px;
  background: #999;
}

.mc-fv__body {
  display: flex;
  flex: 1 1 46.5%;
  min-width: 0;
  min-height: 500px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  padding: 72px 6.11vw;
  color: var(--white);
  font-family: var(--font-serif-ja);
}

.mc-fv__title {
  width: 100%;
  font-size: 32px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0;
}

.mc-fv__text {
  width: 100%;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.741;
  letter-spacing: 0;
}

.mc-fv__image {
  flex: 0 0 53.5%;
  height: 500px;
  overflow: hidden;
  background: url("../assets/message_card/fv.jpg") center/cover no-repeat;
}

@media screen and (min-width: 1440px) {
  .mc-fv__body {
    flex: 0 0 calc((100vw - 1440px) / 2 + 670px);
    padding-left: calc((100vw - 1440px) / 2 + 88px);
    padding-right: 88px;
  }
  .mc-fv__image {
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .mc-fv {
    min-height: 0;
    flex-direction: column-reverse;
  }
  .mc-fv__body {
    min-height: 200px;
    gap: 24px;
    padding: 32px 35px;
  }
  .mc-fv__title {
    font-size: 19px;
    letter-spacing: 0.95px;
  }
  .mc-fv__text {
    font-size: 14px;
    line-height: normal;
  }
  .mc-fv__image {
    flex-basis: auto;
    min-height: 0;
    aspect-ratio: 375/260;
    height: 224px;
  }
}
/* ==========================================================================
   季節限定ギフト
   ========================================================================== */
.mc-seasonal-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.mc-budget.l-section {
  padding-top: 40px;
}

.mc-budget__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
}

.mc-budget__heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 4px 0;
  text-align: center;
}

.mc-budget__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.mc-budget__subtitle {
  color: var(--greige03);
  font-family: var(--font-serif-en);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.mc-budget__list {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.mc-budget__item {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: center;
  padding: 24px 10px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--white);
  color: var(--gray01);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.mc-budget__item:hover,
.mc-budget__item:focus-visible {
  border-color: var(--gray05);
  background-color: var(--gray05);
  color: var(--white);
}

.mc-seasonal-section .c-section-heading__title {
  white-space: nowrap;
  font-size: clamp(20px, 6.8vw, 24px);
}

@media screen and (max-width: 768px) {
  .mc-seasonal-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .mc-budget.l-section {
    padding: 32px 35px 48px;
  }
  .mc-budget__inner {
    gap: 32px;
  }
  .mc-budget__heading {
    align-items: start;
    gap: 16px;
    text-align: left;
  }
  .mc-budget__title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .mc-budget__subtitle {
    font-size: 20px;
  }
  .mc-budget__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .mc-budget__item {
    min-height: 58px;
    padding: 0;
    font-size: 15px;
    letter-spacing: 0.05em;
  }
  .mc-budget__button {
    max-width: none;
    letter-spacing: 0.05em;
  }
}
/* ==========================================================================
   ヴィジュアル
   ========================================================================== */
.mc-option-visual {
  width: 100%;
  height: 400px;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.mc-option-visual--gift-bag {
  background-image: url("../assets/message_card/gift-bag-visual.png");
}

.mc-option-visual--message-card {
  background-image: url("../assets/message_card/message-card-visual.png");
}

.mc-option-visual--noshi {
  background-image: url("../assets/message_card/noshi-visual.png");
}

@media screen and (max-width: 768px) {
  .mc-option-visual {
    height: 144px;
  }
  .mc-option-visual--gift-bag {
    background-image: url("../assets/message_card/gift-bag-visual-sp.png");
  }
  .mc-option-visual--message-card {
    background-image: url("../assets/message_card/message-card-visual-sp.png");
  }
  .mc-option-visual--noshi {
    background-image: url("../assets/message_card/noshi-visual-sp.png");
  }
}
/* ==========================================================================
   お手提げ
   ========================================================================== */
.mc-gift-bags {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: 80px 0 120px;
  background: var(--white);
  width: 100%;
  overflow: hidden;
}

.mc-gift-bags__gallery {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.mc-gift-bags__swiper {
  width: 100%;
  overflow: visible;
}

.mc-gift-bags__slide {
  position: relative;
  width: 800px;
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mc-gift-bags__picture {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease;
}

.mc-gift-bags__slide:not(.swiper-slide-active) .mc-gift-bags__picture {
  transform: scale(0.8);
}

.mc-gift-bags__picture::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(192, 192, 192, 0.2);
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.5s ease;
}

.mc-gift-bags__slide.swiper-slide-active .mc-gift-bags__picture::after {
  opacity: 0;
}

.mc-gift-bags__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mc-gift-bags__arrows {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: 800px;
  justify-content: space-between;
  padding: 0 24px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 10;
}

.mc-gift-bags__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

.mc-gift-bags__arrow--next img {
  transform: rotate(180deg);
}

.mc-gift-bags__note {
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.736;
  letter-spacing: 0.08em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mc-gift-bags {
    align-items: stretch;
    gap: 0;
    padding: 0;
  }
  .mc-gift-bags .c-message {
    padding-bottom: 32px !important;
  }
  .mc-gift-bags__gallery {
    display: block;
    height: 400px;
    margin-top: 0;
  }
  .mc-gift-bags__swiper {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .mc-gift-bags__slide {
    width: 100%;
    height: 100%;
  }
  .mc-gift-bags__picture {
    position: absolute;
    top: 11.81%;
    left: 9.47%;
    width: 79.33%;
    height: 74.37%;
    transform: none !important;
  }
  .mc-gift-bags__picture::after {
    display: none;
  }
  .mc-gift-bags__slide img {
    max-width: none;
  }
  .mc-gift-bags__arrows {
    width: 100%;
    padding: 0 15px;
    z-index: 10;
  }
  .mc-gift-bags__note {
    padding: 40px 35px 48px;
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
    text-align: left;
  }
}
/* ==========================================================================
   メッセージカード
   ========================================================================== */
.mc-message-cards {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: 80px 0 120px;
  width: 100%;
  overflow: hidden;
}

.mc-message-cards__gallery {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.mc-message-cards__swiper {
  width: 100%;
  overflow: visible;
}

.mc-message-cards__slide {
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mc-message-cards__image {
  position: relative;
  width: fit-content;
  height: 356px;
  overflow: hidden;
}

.mc-message-cards__slide:not(.swiper-slide-active) .mc-message-cards__image::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}

.mc-message-cards__slide.swiper-slide-active .mc-message-cards__image {
  width: fit-content;
  margin: 0 auto;
}

.mc-message-cards__image img {
  width: auto;
  height: 100%;
  object-fit: contain;
}

.mc-message-cards__name {
  width: 100%;
  margin-top: 16px;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.741;
  text-align: center;
}

.mc-message-cards__arrow {
  position: absolute;
  top: calc(50% - 16px);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}

.mc-message-cards__arrow--prev {
  left: calc(50% - 330px);
}

.mc-message-cards__arrow--next {
  right: calc(50% - 330px);
}

.mc-message-cards__arrow--next img {
  transform: rotate(180deg);
}

@media screen and (max-width: 768px) {
  .mc-message-cards {
    padding-top: 0;
    padding-bottom: 0;
    gap: 24px;
  }
  .mc-message-cards__gallery {
    height: auto;
  }
  .mc-message-cards__swiper {
    height: auto;
    overflow: hidden;
  }
  .mc-message-cards__wrapper {
    align-items: center;
  }
  .mc-message-cards__slide,
  .mc-message-cards__slide.swiper-slide-active {
    width: 100%;
    align-items: center;
  }
  .mc-message-cards__image,
  .mc-message-cards__slide.swiper-slide-active .mc-message-cards__image {
    width: calc(100% - 70px);
    max-width: 240px;
    height: auto;
    aspect-ratio: 420/340;
    margin: 0 auto;
  }
  .mc-message-cards__slide:not(.swiper-slide-active) .mc-message-cards__image::after {
    content: none;
  }
  .mc-message-cards__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mc-message-cards__name {
    width: 100%;
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.7066667;
  }
  .mc-message-cards__arrow {
    top: 50%;
  }
  .mc-message-cards__arrow--prev {
    left: 15px;
  }
  .mc-message-cards__arrow--next {
    right: 15px;
  }
  .mc-message-cards__note {
    padding: 16px 35px 48px;
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
    text-align: left;
  }
}
/* ==========================================================================
   のし
   ========================================================================== */
.mc-noshi {
  padding-top: 80px;
  padding-bottom: 40px;
}

.mc-noshi__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  width: 100%;
}

.mc-noshi__heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 4px 0;
  text-align: center;
  white-space: nowrap;
}

.mc-noshi__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.mc-noshi__subtitle {
  color: var(--greige03);
  font-family: var(--font-serif-en);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.mc-noshi__body {
  width: min(100%, 532px);
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
  text-align: center;
}

.mc-noshi__note {
  margin-top: 29.6px;
  font-size: 14px;
  line-height: 2.1142857;
}

.mc-noshi-gift-section {
  padding-top: 80px;
}

.mc-noshi-gift-banner {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5/1;
  margin-bottom: 0;
  overflow: hidden;
  background: #252c42;
  transition: opacity 0.3s;
}
.mc-noshi-gift-banner:hover {
  opacity: 0.7;
}

.mc-noshi-gift-banner__copy {
  position: absolute;
  top: 50%;
  left: 8.25%;
  display: flex;
  width: 14.5%;
  min-width: 176px;
  transform: translateY(-50%);
  flex-direction: column;
  align-items: center;
  gap: 32px;
  color: var(--white);
  font-family: var(--font-serif-ja);
  text-align: center;
}

.mc-noshi-gift-banner__title {
  font-size: 29px;
  font-weight: 400;
  line-height: 1.3793103;
}

.mc-noshi-gift-banner__subtitle {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6444444;
  letter-spacing: 0.16em;
}

.mc-noshi-gift-banner__logo {
  position: absolute;
  top: 50%;
  left: 35.333333%;
  width: 13.916667%;
  transform: translateY(-50%);
}

.mc-noshi-gift-banner__logo img {
  width: 167px;
  height: 117px;
  max-width: 167px;
  max-height: 117px;
}

.mc-noshi-gift-banner__photo {
  position: absolute;
  top: 0;
  left: 61.916667%;
  width: 38.083333%;
  height: 100%;
  overflow: hidden;
}

.mc-noshi-gift-banner__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mc-noshi-gift-banner__sp-picture {
  display: none;
}

.mc-noshi-gift-section .c-button-primary {
  margin: 56px auto;
}

.mc-option-faq.l-section {
  padding-top: 0;
  padding-bottom: 120px;
}

.mc-option-faq__inner {
  align-items: center;
  gap: 56px;
}

.mc-option-faq__heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 4px 0;
  text-align: center;
}

.mc-option-faq__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.mc-option-faq__title-text {
  display: block;
}

.mc-option-faq__title-text--mobile {
  display: none;
}

.mc-option-faq__list {
  display: flex;
  width: min(100%, 800px);
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--gray03);
}

.mc-option-faq__item {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  color: var(--gray01);
}

.mc-option-faq__button {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 16px;
  padding: 32px 32px 0 0;
  border-top: 1px solid var(--gray03);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  color: var(--gray01);
  text-align: left;
  cursor: pointer;
  appearance: none;
}

.mc-option-faq__button:focus-visible {
  outline: 2px solid var(--greige03);
  outline-offset: 6px;
}

.mc-option-faq__mark {
  display: flex;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--greige03);
  color: var(--white);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7411765;
}

.mc-option-faq__question {
  min-width: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.mc-option-faq__icon {
  position: absolute;
  top: 45px;
  right: 0;
  width: 12px;
  height: 12px;
}

.mc-option-faq__icon::before,
.mc-option-faq__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: var(--gray05);
  content: "";
  transform: translate(-50%, -50%);
}

.mc-option-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.mc-option-faq__item.is-open .mc-option-faq__icon::after {
  opacity: 0;
}

.mc-option-faq__answer {
  width: 100%;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.mc-option-faq__answer[hidden] {
  display: none;
}

.mc-option-faq__answer p + p {
  margin-top: 24.3px;
}

@media screen and (max-width: 768px) {
  .mc-noshi {
    padding-top: 0;
    padding-bottom: 0;
  }
  .mc-noshi__inner {
    align-items: flex-start;
    gap: 32px;
  }
  .mc-noshi__heading {
    align-items: flex-start;
    gap: 16px;
    text-align: left;
  }
  .mc-noshi__title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .mc-noshi__subtitle {
    font-size: 20px;
  }
  .mc-noshi__body {
    width: 100%;
    font-size: 15px;
    line-height: 1.7066667;
    text-align: left;
  }
  .mc-noshi__note {
    margin-top: 32px;
    font-size: 13px;
    line-height: 1;
  }
  .mc-noshi-gift-section {
    padding-top: 32px;
  }
  .mc-noshi-gift-banner {
    height: auto;
    aspect-ratio: 337/180;
    background: none;
  }
  .mc-noshi-gift-banner__sp-picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .mc-noshi-gift-banner__sp-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mc-noshi-gift-banner__copy,
  .mc-noshi-gift-banner__logo,
  .mc-noshi-gift-banner__photo {
    display: none;
  }
  .mc-noshi-gift-section .c-button-primary {
    margin: 16px auto;
  }
  .mc-option-faq.l-section {
    padding: 32px 35px 48px;
  }
  .mc-option-faq__inner {
    align-items: flex-start;
    gap: 40px;
  }
  .mc-option-faq__heading {
    align-items: flex-start;
    gap: 16px;
    padding: 4px 0;
    text-align: left;
  }
  .mc-option-faq__title {
    font-size: 24px;
    line-height: 1.2833333;
  }
  .mc-option-faq__title-text--desktop {
    display: none;
  }
  .mc-option-faq__title-text--mobile {
    display: block;
  }
  .mc-option-faq__list {
    width: 100%;
    gap: 24px;
    padding-bottom: 24px;
  }
  .mc-option-faq__item {
    gap: 24px;
  }
  .mc-option-faq__button {
    gap: 8px;
    align-items: center;
    min-height: 53px;
    padding: 24px 32px 0 0;
    border-top-color: var(--greige03);
  }
  .mc-option-faq__mark {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
    font-size: 15px;
    line-height: 1.7066667;
  }
  .mc-option-faq__question {
    display: block;
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }
  .mc-option-faq__icon {
    top: calc(50% + 8px);
    right: 0;
    transform: translateY(-50%);
  }
  .mc-option-faq__answer {
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
  .mc-option-faq__answer p + p {
    margin-top: 21px;
  }
}
.membership-fv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 320px;
  overflow: hidden;
  background: url("../assets/membership/hero-bg.png") center 75%/cover no-repeat;
}

.membership-fv::before {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  content: "";
}

.membership-fv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 10px;
}

.membership-fv__logo {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  object-fit: contain;
}

.membership-fv__title {
  height: 69px;
  margin: 0;
  color: var(--white);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: normal;
  text-shadow: 1px 1px 11px rgba(0, 0, 0, 0.4);
  white-space: nowrap;
}

.membership-intro {
  padding: 80px 120px;
}

.membership-intro__inner {
  align-items: center;
}

.membership-intro__lead {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
  text-align: center;
}

.membership-intro__coupon {
  display: block;
  width: 100%;
  max-width: 800px;
}

.membership-intro__coupon img {
  display: block;
  width: 100%;
  height: auto;
}

.membership-newsletter {
  padding: 80px 120px;
}

.membership-newsletter__inner {
  align-items: center;
}

.membership-newsletter__lead {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
  text-align: center;
}

.membership-newsletter__cards {
  display: flex;
  align-items: center;
  gap: 32px;
  width: 100%;
}

.membership-newsletter__card {
  position: relative;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  height: 280px;
  padding: 56px 24px 32px;
  border-radius: 5px;
  background: var(--white);
}

.membership-newsletter__badge {
  position: absolute;
  top: -20px;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding-top: 3px;
  border-radius: 50%;
  background: var(--gray05);
  color: var(--white);
  font-family: var(--font-sans-ja);
  font-weight: 700;
  text-align: center;
  transform: translateX(-50%);
  gap: 8px;
}

.membership-newsletter__badge span {
  font-size: 12px;
  line-height: 32px;
  letter-spacing: 0.12em;
}

.membership-newsletter__badge strong {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.05em;
}

.membership-newsletter__card-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 21px;
  text-align: center;
}

.membership-newsletter__icon {
  display: block;
  width: 93px;
  height: 79px;
  object-fit: contain;
}

.membership-newsletter__text {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}

.membership-point {
  padding: 80px 120px;
}

.membership-point__inner {
  align-items: center;
}

.membership-point__lead {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
  text-align: center;
}

.membership-point__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  width: 100%;
  max-width: 1200px;
  padding: 64px 72px;
  border-radius: 5px;
  background: var(--gray04);
  color: var(--gray01);
}

.membership-point__box-title {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.membership-point__box-title span {
  display: inline;
  text-box: normal;
}

.membership-point__exchange {
  display: flex;
  width: 296px;
  flex-direction: column;
  gap: 16px;
}

.membership-point__exchange-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.membership-point__coin {
  display: flex;
  width: 80px;
  height: 80px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}

.membership-point__coin--point {
  border: 1px solid var(--gray01);
  background: var(--white);
  color: var(--gray01);
}

.membership-point__coin--yen {
  background: var(--greige03);
  color: var(--white);
}

.membership-point__equal {
  width: 24px;
  color: var(--gray05);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.membership-point__exchange-labels {
  display: flex;
  justify-content: space-between;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}

.membership-point__exchange-labels p {
  width: 80px;
  margin: 0;
}

.membership-earn.l-section {
  padding: 0 120px 80px;
}

.membership-earn__inner {
  align-items: center;
}

.membership-earn__methods {
  display: flex;
  align-items: flex-start;
  gap: 56px;
  width: 100%;
}

.membership-earn__method {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.membership-earn__method-main {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}

.membership-earn__icon-box {
  display: flex;
  flex: 0 0 160px;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  border: 2px solid var(--gray02);
  border-radius: 5px;
}

.membership-earn__icon {
  display: block;
  object-fit: contain;
}

.membership-earn__icon--cart {
  width: 51px;
  height: 75px;
}

.membership-earn__icon--review {
  width: 60px;
  height: 60px;
}

.membership-earn__content {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  color: var(--gray01);
}

.membership-earn__title {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}

.membership-earn__text {
  width: 100%;
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.membership-earn__note {
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
}

.membership-earn__note p {
  margin: 0;
}

.membership-expiration.l-section--bg {
  padding: 80px 120px;
  background: var(--gray02);
}

.membership-expiration__inner {
  align-items: center;
}

.membership-expiration__table-scroll {
  width: 100%;
}

.membership-expiration__table {
  width: 100%;
  border: 1px solid var(--gray03);
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  text-align: center;
}

.membership-expiration__table th,
.membership-expiration__table td {
  height: 56px;
  padding: 20px 24px;
  border: 1px solid var(--gray03);
  vertical-align: middle;
}

.membership-expiration__head {
  background: var(--gray05);
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.membership-expiration__head--blank {
  color: transparent;
}

.membership-expiration__row-head {
  background: var(--white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.membership-expiration__table td {
  background: var(--white);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.membership-expiration__table tbody tr:nth-child(even) .membership-expiration__row-head,
.membership-expiration__table tbody tr:nth-child(even) td {
  background: var(--greige02);
}

.membership-expiration__emphasis {
  color: var(--red01);
}

.membership-expiration__limit {
  background: var(--white) !important;
}

.membership-expiration__limit-month,
.membership-expiration__limit-note {
  display: block;
}

.membership-expiration__limit-month {
  margin-bottom: 16px;
}

.membership-expiration__limit-note {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: left;
}

.membership-tips.l-section {
  padding: 80px 120px 120px;
}

.membership-tips__inner {
  align-items: center;
}

.membership-tips__lead {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
  text-align: center;
}

.membership-tips__list {
  display: flex;
  align-items: center;
  gap: 32px;
  width: 100%;
}

.membership-tips__item {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 0;
  padding: 32px 24px;
  border: 2px solid var(--gray02);
  border-radius: 5px;
  color: var(--gray01);
}

.membership-tips__icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}

.membership-tips__item-text {
  margin: 0;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 17px;
  font-weight: 400;
  line-height: 21px;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .membership-fv {
    height: 172px;
    background-position: center 75%;
    background-size: 122% auto;
  }
  .membership-fv__inner {
    flex-direction: column;
    gap: 12px;
    padding: 18px 20px 24px;
  }
  .membership-fv__logo {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
  }
  .membership-fv__title {
    font-size: 19px;
    line-height: 24px;
    letter-spacing: 0.05em;
    text-align: center;
  }
  .membership-intro {
    padding: 32px 35px 48px;
  }
  .membership-intro__inner {
    align-items: flex-start;
  }
  .membership-intro__lead {
    width: 100%;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .membership-intro__coupon {
    max-width: 305px;
    margin: 0 auto;
  }
  .membership-newsletter {
    padding: 48px 35px;
  }
  .membership-newsletter__inner {
    align-items: flex-start;
  }
  .membership-newsletter__lead {
    width: 100%;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .membership-newsletter__cards {
    flex-direction: column;
    gap: 32px;
    padding-top: 20px;
  }
  .membership-newsletter__card {
    flex: none;
    gap: 20px;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    min-height: 211px;
    padding: 56px 16px 32px;
  }
  .membership-newsletter__card-title {
    min-height: 0;
    font-size: 15px;
    line-height: 25.6px;
  }
  .membership-newsletter__text {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .membership-point {
    padding: 32px 35px 48px;
  }
  .membership-point__inner {
    align-items: flex-start;
  }
  .membership-point__lead {
    width: 100%;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .membership-point__box {
    align-items: stretch;
    gap: 48px;
    width: 100%;
    padding: 48px 24px;
  }
  .membership-point__box-title {
    font-size: 24px;
    line-height: 1.2833333;
    text-align: left;
  }
  .membership-point__box-title span {
    display: block;
  }
  .membership-point__exchange {
    width: min(100%, 257px);
    margin: 0 auto;
    gap: 12px;
  }
  .membership-point__exchange-row,
  .membership-point__exchange-labels {
    padding: 0;
  }
  .membership-earn.l-section {
    padding: 32px 35px 48px;
  }
  .membership-earn__inner {
    align-items: flex-start;
  }
  .membership-earn__methods {
    flex-direction: column;
    gap: 40px;
  }
  .membership-earn__method {
    gap: 16px;
    width: 100%;
  }
  .membership-earn__method + .membership-earn__method {
    gap: 24px;
  }
  .membership-earn__method-main {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
  }
  .membership-earn__icon-box {
    flex-basis: 88px;
    width: 88px;
    height: 88px;
    border-radius: 3px;
  }
  .membership-earn__icon--cart {
    width: 30px;
    height: 45px;
  }
  .membership-earn__icon--review {
    width: 38px;
    height: 38px;
  }
  .membership-earn__content {
    display: contents;
  }
  .membership-earn__title {
    font-size: 17px;
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .membership-earn__text {
    grid-column: 1/-1;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .membership-expiration.l-section--bg {
    padding: 48px 35px;
    overflow: hidden;
  }
  .membership-expiration__inner {
    align-items: flex-start;
  }
  .membership-expiration__table-scroll {
    width: calc(100% + 70px);
    margin-left: -35px;
    margin-right: -35px;
    padding-left: 35px;
    padding-right: 35px;
    max-width: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: var(--gray03) rgba(178, 178, 178, 0.28);
    scrollbar-width: thin;
  }
  .membership-expiration__table-scroll::-webkit-scrollbar {
    height: 4px;
  }
  .membership-expiration__table-scroll::-webkit-scrollbar-track {
    background: rgba(178, 178, 178, 0.28);
  }
  .membership-expiration__table-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--gray03);
  }
  .membership-expiration__table {
    width: 640px;
    min-width: 640px;
  }
  .membership-expiration__table th,
  .membership-expiration__table td {
    height: 50px;
    padding: 10px;
  }
  .membership-expiration__head,
  .membership-expiration__row-head {
    font-size: 14px;
    letter-spacing: 0.08em;
  }
  .membership-expiration__table td {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0;
  }
  .membership-expiration__limit {
    padding: 12px 24px !important;
  }
  .membership-expiration__limit-month {
    margin-bottom: 8px;
  }
  .membership-tips.l-section {
    padding: 48px 35px;
  }
  .membership-tips__inner {
    align-items: flex-start;
  }
  .membership-tips__lead {
    width: 100%;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .membership-tips__list {
    flex-direction: column;
    gap: 16px;
  }
  .membership-tips__item {
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    padding: 24px 24px 24px 35px;
  }
  .membership-tips__icon {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }
  .membership-tips__item-text {
    font-size: 17px;
    line-height: 21px;
    text-align: left;
  }
}
.order-contract {
  padding: 80px min(8.333vw, 120px) 120px;
  background: var(--white);
}
.order-contract + .order-contract {
  padding-top: 40px;
}

.order-contract__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 96px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.order-contract__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.order-contract__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 800px;
  padding-top: 40px;
  border-top: 1px solid var(--gray03);
  color: var(--gray01);
}

.order-contract__item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  margin: 0;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--gray03);
}

.order-contract__term {
  font-family: var(--font-sans-ja);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.order-contract__description {
  margin: 0;
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
  .order-contract {
    padding: 24px 35px 48px;
  }
  .order-contract + .order-contract {
    padding-top: 24px;
  }
  .order-contract__inner {
    align-items: flex-start;
    gap: 44px;
  }
  .order-contract__title {
    font-size: 24px;
    line-height: 1.2833333;
    text-align: left;
  }
  .order-contract__list {
    gap: 0;
    max-width: none;
    padding-top: 0;
  }
  .order-contract__item {
    gap: 16px;
    padding: 24px 0;
  }
  .order-contract__term {
    font-size: 15px;
    letter-spacing: 0.05em;
  }
  .order-contract__description {
    font-size: 13px;
    line-height: 1.6153846;
    letter-spacing: 0.06em;
  }
}
.pcat-products {
  background: var(--white);
  padding: 40px min(5%, 72px) 40px;
}

.pcat-products__inner {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: clamp(40px, 8vw, 104px);
}

.pcat-products__sidebar {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.pcat-filter {
  display: flex;
  flex-direction: column;
  gap: 32px;
  border-top: 1px solid var(--gray03);
  padding-top: 24px;
}

.pcat-filter__title {
  color: var(--greige03);
  font-family: var(--font-serif-ja), serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.74;
}

.pcat-filter__form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  margin: 0;
}

.pcat-filter__list,
.pcat-filter__checks {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pcat-filter__link,
.pcat-filter__check {
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.73;
  letter-spacing: 1.12px;
}

.pcat-filter__link {
  transition: color 0.2s ease;
}

.pcat-filter__link:hover,
.pcat-filter__link:focus-visible {
  color: var(--button-gold01);
}

.pcat-filter__check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.pcat-filter__check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pcat-filter__check span {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  border-radius: 3px;
  background: var(--gray02);
}

.pcat-filter__check input:checked + span {
  background: var(--button-gold01);
}

.pcat-filter__check small {
  font-size: 12px;
  line-height: 1.7;
}

.pcat-filter__price {
  padding: 0;
}

.pcat-filter__submit {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 5px;
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.c-filter-tags--catalog .c-filter-tags__item {
  background: var(--gray04);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.pcat-products__content {
  min-width: 0;
}

.pcat-products__hero {
  position: relative;
  height: 200px;
  margin-bottom: 40px;
  overflow: hidden;
  border-radius: 5px;
}

.pcat-products__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18);
}

.pcat-products__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pcat-products__title {
  position: absolute;
  top: 50%;
  left: 24px;
  z-index: 1;
  color: var(--white);
  font-family: var(--font-serif-ja), serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  transform: translateY(-50%);
}

.pcat-ranking {
  overflow: hidden;
  width: 100%;
  margin-bottom: 34px;
}

.pcat-products .l-section {
  padding: 0;
}

.pcat-ranking .c-section-heading__title {
  font-size: 24px;
}

.pcat-list {
  margin-top: 40px;
  padding-top: 56px;
}

.pcat-list .l-inner {
  gap: 0;
}

.pcat-list__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 40px;
}

.pcat-list__count {
  color: var(--gray05);
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  white-space: nowrap;
}

.pcat-list__controls {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
}

.pcat-list__select {
  width: 100%;
  max-width: 240px;
  flex-shrink: 1;
  min-width: 120px;
}

.pcat-list__filter-button,
.pcat-list__pager-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 5px;
  font-family: var(--font-sans-ja), sans-serif;
  font-weight: 700;
  cursor: pointer;
}

.pcat-list__filter-button {
  width: 100%;
  max-width: 240px;
  flex-shrink: 1;
  min-width: 120px;
  height: 42px;
  font-size: 13px;
}

.pcat-list__pager {
  display: flex;
  justify-content: center;
  gap: 16px;
  width: 100%;
  height: 50px;
  margin: 40px auto 0;
}

.pcat-list__pager-button {
  flex: 1 1 0;
  width: 100%;
  max-width: 400px;
  min-width: 0;
  height: 100%;
  font-size: 17px;
}

.pcat-list .c-product-card[hidden],
.pcat-list__pager-button[hidden] {
  display: none;
}

.pcat-mobile-category {
  display: none;
}

@media screen and (min-width: 769px) {
  .pcat-ranking {
    overflow: visible;
  }
  .pcat-products__content .c-product-list.swiper .swiper-wrapper,
  .pcat-products__content .c-product-list {
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .pcat-products {
    padding: 0;
  }
  .pcat-products__content > h2 {
    padding: 32px 35px 0;
  }
  .pcat-products__content .l-section {
    padding: 48px 35px;
  }
  .pcat-products__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .pcat-products__sidebar {
    display: none;
  }
  .pcat-products__hero {
    height: 112px;
    margin-top: 24px;
    margin-bottom: 0;
    border-radius: 0;
  }
  .pcat-products__title {
    font-size: 22px;
    left: 16px;
  }
  .pcat-ranking {
    margin-bottom: 0;
  }
  .pcat-brand-select__form {
    padding: 32px 35px 0;
  }
  .pcat-brand-select__label {
    width: 100%;
  }
  .pcat-list {
    padding-top: 0;
  }
  .pcat-list.l-section {
    padding-top: 0;
  }
  .pcat-list__header {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0;
    margin-bottom: 0;
  }
  .pcat-list__count {
    text-align: right;
    margin: 32px 0;
  }
  .pcat-list__controls {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  .pcat-list__select {
    flex: 1;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  .pcat-list__filter-button {
    flex: 1;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  .pcat-list__pager {
    gap: 12px;
    height: 48px;
    margin-top: 32px;
  }
  .pcat-list__pager-button {
    max-width: 343px;
    font-size: 15px;
  }
  .pcat-mobile-category {
    display: block;
    width: 100%;
    padding-bottom: 24px;
    background: var(--white);
  }
  .pcat-mobile-category__title {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 12px 24px;
    background: var(--gray05);
    color: var(--white);
    font-family: var(--font-serif-ja), serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
  }
  .pcat-mobile-category__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 16px 24px 0;
  }
  .pcat-mobile-category__link {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
  }
  .pcat-mobile-category__thumb {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
  }
  .pcat-mobile-category__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .pcat-mobile-category__name {
    color: var(--gray01);
    font-family: var(--font-sans-ja), sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 21px;
    letter-spacing: 0.78px;
    white-space: nowrap;
  }
}
/* ==========================================================================
   Product Detail Page Styles
   ========================================================================== */
.pd-product.l-section {
  padding-top: 40px;
  background: var(--white);
}

.pd-product .l-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 184px;
}

.pd-product__media {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 43.333%;
  max-width: 520px;
  flex-shrink: 1;
  min-width: 0;
  position: sticky;
  top: 127px; /* ヘッダー高さ 127px */
}

.pd-product__main-swiper {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 5px;
}

.pd-product__main-slide img,
.pd-product__thumb-item img,
.pd-product__set-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pd-product__main-slide {
  aspect-ratio: 1/1;
}

.pd-product__thumb-swiper {
  width: 100%;
  overflow: hidden;
}

.pd-product__thumb-wrapper {
  align-items: center;
}

.pd-product__thumb-item {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.pd-product__thumb-item.swiper-slide-thumb-active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.4);
}

.pd-product__movie {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 360px;
  overflow: hidden;
  background: var(--gray02);
  color: #000;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.74;
  letter-spacing: 0.08em;
}

.pd-product__movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.pd-product__summary {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 40px;
}

.pd-product__headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
}

.pd-product__name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
}

.pd-product__brand {
  color: var(--gray03);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.pd-product__title,
.pd-product__price span {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 24px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.05em;
}

.pd-product__price {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.pd-product__price small {
  color: var(--gray01);
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
}

.pd-product__reviews {
  display: flex;
  align-items: center;
  gap: 16px;
}

.pd-product__reviews img {
  width: 84px;
  height: 16px;
}

.pd-product__reviews a {
  color: var(--gray01);
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.08em;
  text-decoration: underline;
}

.pd-product__meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pd-product__meta-row {
  display: flex;
  align-items: center;
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.74;
  letter-spacing: 0.08em;
}

.pd-product__meta-row dt {
  width: 80px;
  flex-shrink: 0;
}

.pd-product__point {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.61;
  letter-spacing: 0;
}

.pd-product__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pd-product__tag {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--gray03);
  color: var(--gray05);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  text-decoration: none;
}

.pd-product__purchase {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pd-product__quantity {
  display: flex;
  align-items: center;
  gap: 24px;
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.74;
  letter-spacing: 0.08em;
}

.pd-product__select {
  width: 100%;
}

.pd-product__purchase .makeshop-option-wrap {
  width: 100%;
  min-height: 42px;
  line-height: 0;
}

.pd-product__purchase .makeshop-option-label {
  display: none;
}

.pd-product__purchase .makeshop-option-select-wrap {
  display: block;
}

.pd-product__purchase .makeshop-option-select {
  appearance: none;
  display: block;
  width: 100%;
  min-height: 42px;
  padding: 8px 40px 8px 16px;
  border: 1px solid var(--gray03);
  border-radius: 5px;
  background: var(--white) url("../assets/product_detail/select-arrow.svg") right 16px center/8px 5px no-repeat;
  color: var(--gray01);
  font-family: var(--font-sans-ja), sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 0.08em;
}

.pd-product__actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pd-product__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  padding: 20px 16px;
  border: 2px solid transparent;
  border-radius: 5px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.pd-product__button--cart {
  background: var(--red02);
  color: var(--white);
}

.pd-product__button--cart:hover {
  background: var(--red01);
}

.pd-product__button--sold-out,
.pd-product__button--sold-out:hover {
  border-color: #b8b8b8;
  background: #b8b8b8;
  color: var(--white);
  cursor: not-allowed;
  pointer-events: none;
}

.pd-product__button--buy {
  border: 2px solid var(--red02);
  background: var(--white);
  color: var(--red02);
}

.pd-product__button--buy:hover {
  border-color: var(--red01);
  background: var(--red01);
  color: var(--white);
}

.pd-product__favorite {
  display: flex;
  align-items: center;
  gap: 12px;
  align-self: flex-start;
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.74;
  letter-spacing: 0.08em;
}

.pd-product__favorite img {
  width: 16px;
  height: 14px;
}

.pd-product__section {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--gray03);
}

.pd-product__section--center {
  align-items: center;
}

.pd-product__section-title {
  position: relative;
  width: 100%;
  padding-right: 28px;
  color: var(--gray01);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.pd-product__section-title:focus-visible {
  outline: 2px solid var(--gray05);
  outline-offset: 6px;
}

.pd-product__section-title::before,
.pd-product__section-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background: var(--gray05);
  transform: translateY(-50%);
}

.pd-product__section-title::after {
  width: 12px;
  height: 1px;
}

.pd-product__section-title::before {
  right: 5.5px;
  width: 1px;
  height: 12px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.pd-product__section--collapsed > :not(.pd-product__section-title) {
  display: none;
}

.pd-product__section--collapsed .pd-product__section-title::before {
  opacity: 1;
}

.pd-product__text,
.pd-product__detail-list {
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.74;
  letter-spacing: 0.08em;
}

.pd-product__text p + p {
  margin-top: 20px;
}

.pd-product__payment {
  display: flex;
  width: min(100%, 368px);
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  color: var(--gray01);
}

.pd-product__payment-lead {
  display: none;
}

.pd-product__payment-text {
  width: 100%;
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
  letter-spacing: 0;
}

.pd-product__payment-label {
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  line-height: 23.4px;
  letter-spacing: 0;
}

.pd-product__set-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.pd-product__set-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.pd-product__set-item[hidden],
.pd-product__more[hidden] {
  display: none;
}

.pd-product__set-item img {
  width: 90px;
  height: 90px;
}

.pd-product__set-item h3 {
  width: 100%;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  text-align: left;
}

.pd-product__set-item p {
  color: var(--gray01);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

.pd-product__more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 30px;
  padding: 11px 12px 11px 16px;
  border-radius: 2px;
  background: var(--greige02);
  color: var(--gray05);
  font-size: 13px;
  font-weight: 500;
  line-height: 23.4px;
  letter-spacing: 0;
}

.pd-product__more::after {
  content: "";
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  background-image: linear-gradient(var(--gray03), var(--gray03)), linear-gradient(var(--gray03), var(--gray03));
  background-position: center;
  background-repeat: no-repeat;
  background-size: 8px 1px, 1px 8px;
}

.pd-product__card-list {
  display: flex;
  gap: 8px;
  width: 100%;
}

.pd-product__card-list li {
  flex: 1;
  min-width: 0;
  aspect-ratio: 85/55;
  border: 1px solid var(--gray03);
  background: var(--white);
}

.pd-product__card-list img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pd-product__amazon-pay {
  width: 174px;
  height: 34px;
  object-fit: cover;
}

.pd-product__payment a {
  text-decoration: underline;
}

.pd-product__detail-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.pd-product__detail-row {
  display: flex;
  align-items: flex-start;
}

.pd-product__detail-row dt {
  width: 140px;
  flex-shrink: 0;
}

.pd-product__detail-row dd {
  flex: 1;
  min-width: 0;
}

.pd-reviews .l-inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.pd-reviews__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.pd-reviews__heading {
  width: auto;
  min-width: 190px;
  margin-bottom: 0;
}

.pd-reviews__controls {
  display: flex;
  align-items: center;
  gap: 40px;
}

.pd-reviews__summary {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--gray01);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.pd-reviews__summary img,
.pd-reviews__rating img {
  width: 84px;
  height: 16px;
}

.pd-reviews__sort {
  position: relative;
  display: block;
  width: 240px;
  flex-shrink: 0;
}

.pd-reviews__sort-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.pd-reviews__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 56px 88px;
  background: var(--white);
}

.pd-reviews__item {
  display: flex;
  align-items: flex-start;
  gap: 64px;
  width: 100%;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--gray03);
}

.pd-reviews__meta {
  display: flex;
  width: 240px;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.pd-reviews__product {
  display: flex;
  width: 180px;
  flex-direction: column;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 23.4px;
}

.pd-reviews__brand {
  color: var(--gray03);
}

.pd-reviews__product-name {
  color: var(--gray01);
}

.pd-reviews__author {
  display: flex;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  color: var(--gray01);
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
}

.pd-reviews__author span {
  font-size: 15px;
  font-weight: 700;
  line-height: 20.4px;
  letter-spacing: 0.05em;
}

.pd-reviews__rating {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pd-reviews__rating span {
  color: var(--greige04);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.pd-reviews__date {
  color: var(--gray03);
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
}

.pd-reviews__text {
  flex: 1;
  min-width: 0;
  color: var(--gray01);
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 0.08em;
}

.pd-reviews__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 600px);
  min-height: 50px;
  padding: 16px;
  border-radius: 5px;
  background: var(--button-gold01);
  color: var(--white);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .pd-product.l-section {
    padding: 24px 35px 48px;
  }
  .pd-product .l-inner {
    flex-direction: column;
    gap: 0;
    max-width: none;
  }
  .pd-product__media {
    width: 100%;
    max-width: none;
    gap: 16px;
    padding-bottom: 48px;
    position: static;
  }
  .pd-product__main-swiper {
    border-radius: 5px;
  }
  .pd-product__thumb-swiper {
    overflow: hidden;
  }
  .pd-product__thumb-wrapper {
    align-items: center;
  }
  .pd-product__thumb-item {
    aspect-ratio: 1/1;
  }
  .pd-product__movie {
    aspect-ratio: 600/360;
    height: auto;
    padding: 0;
    font-size: 14px;
    line-height: 24.3px;
    letter-spacing: 0.08em;
  }
  .pd-product__summary {
    width: 100%;
    gap: 32px;
  }
  .pd-product__name {
    gap: 12px;
  }
  .pd-product__brand {
    font-size: 12px;
    font-weight: 500;
    line-height: 20.4px;
    letter-spacing: 0;
  }
  .pd-product__title,
  .pd-product__price span {
    font-size: 19px;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .pd-product__price small {
    font-size: 12px;
    line-height: 20.4px;
  }
  .pd-product__reviews {
    gap: 16px;
  }
  .pd-product__reviews a {
    font-size: 14px;
    letter-spacing: 0.08em;
  }
  .pd-product__meta {
    gap: 16px;
  }
  .pd-product__meta-row {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__point {
    font-size: 16px;
    line-height: 29px;
  }
  .pd-product__tag {
    font-size: 12px;
    line-height: 20.4px;
    letter-spacing: 0;
  }
  .pd-product__purchase {
    gap: 20px;
  }
  .pd-product__quantity {
    gap: 24px;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__purchase .makeshop-option-wrap {
    min-height: 41px;
  }
  .pd-product__purchase .makeshop-option-select {
    height: 41px;
    min-height: 41px;
    padding: 9px 40px 9px 16px;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
    background-size: 8px 5px;
    background-position: right 16px center;
  }
  .pd-product__actions {
    gap: 16px;
  }
  .pd-product__button {
    height: 50px;
    padding: 8px 16px;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .pd-product__favorite {
    gap: 12px;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__section {
    gap: 32px;
    padding-top: 32px;
  }
  .pd-product__section-title {
    padding-right: 28px;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.08em;
  }
  .pd-product__text,
  .pd-product__detail-list {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__set-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
  .pd-product__set-item {
    gap: 16px;
  }
  .pd-product__set-item img {
    width: 65px;
    height: 65px;
  }
  .pd-product__set-item h3 {
    font-size: 14px;
    line-height: 1;
  }
  .pd-product__set-item p {
    font-size: 12px;
    line-height: 17.4px;
  }
  .pd-product__more {
    height: auto;
    padding: 11px 12px 11px 16px;
    font-size: 12px;
    line-height: 20.4px;
  }
  .pd-product__payment-lead {
    display: block;
    color: var(--gray01);
    font-size: 13px;
    font-weight: 500;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__payment {
    width: 100%;
    gap: 32px;
  }
  .pd-product__payment-text {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__payment-text--card {
    font-size: 12px;
    line-height: 20.4px;
    letter-spacing: 0;
  }
  .pd-product__payment-label {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-product__card-list {
    gap: 8px;
    margin-top: -8px;
  }
  .pd-product__amazon-pay {
    margin-top: -16px;
  }
  .pd-product__detail-list {
    gap: 24px;
  }
  .pd-product__detail-row dt {
    width: 120px;
  }
  .pd-reviews {
    padding: 48px 35px;
  }
  .pd-reviews .l-inner {
    gap: 32px;
  }
  .pd-reviews__header {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
  .pd-reviews__heading {
    min-width: 0;
    margin-bottom: 0;
  }
  .pd-reviews__controls {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .pd-reviews__summary {
    justify-content: flex-start;
    gap: 16px;
    white-space: normal;
  }
  .pd-reviews__sort {
    width: 100%;
  }
  .pd-reviews__body {
    gap: 32px;
    padding: 32px 24px;
  }
  .pd-reviews__item {
    flex-direction: column;
    gap: 32px;
    padding-bottom: 32px;
  }
  .pd-reviews__meta {
    width: 100%;
    gap: 24px;
  }
  .pd-reviews__product {
    width: 180px;
    font-size: 13px;
    line-height: 23.4px;
  }
  .pd-reviews__brand {
    font-size: 12px;
    font-weight: 500;
    line-height: 20.4px;
  }
  .pd-reviews__product-name {
    font-size: 13px;
    font-weight: 700;
    line-height: 23.4px;
  }
  .pd-reviews__text {
    width: 100%;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .pd-reviews__button {
    width: 100%;
    min-height: 0;
    padding: 13px 16px;
    font-size: 13px;
    line-height: 23.4px;
    letter-spacing: 0;
  }
}
/* ==========================================================================
   Floating Cart Panel Styles
   ========================================================================== */
.pd-floating-panel {
  position: fixed;
  bottom: 32px; /* 画面下部から浮かせる */
  left: 0;
  width: 100%;
  z-index: 99;
  pointer-events: none; /* 透明な親コンテナが背面クリックを邪魔しないようにする */
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px); /* わずかな移動で「フワッ」とした浮遊感を出す */
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.4s;
}

.pd-floating-panel.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* 元の .l-section と同じ max-width と左右パディング */
.pd-floating-panel__outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 min(5%, 72px);
  width: 100%;
}

/* 元の .l-inner と同じ max-width */
.pd-floating-panel__inner {
  display: flex;
  align-items: center;
  gap: 184px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.pd-floating-panel__placeholder {
  width: 43.333%;
  max-width: 520px;
  flex-shrink: 1;
  min-width: 0;
}

.pd-floating-panel__action-area {
  flex: 1;
  min-width: 0;
}

.pd-floating-panel__button {
  width: 100%; /* アクションエリアと同じ幅（元のボタンの幅と完全に一致するレスポンシブ幅） */
  white-space: nowrap;
  pointer-events: auto; /* ボタン単体はクリック可能にする */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); /* 浮いている質感のシャドウ */
}

/* Floating cart responsive styles */
@media screen and (max-width: 768px) {
  .pd-floating-panel {
    bottom: 24px; /* モバイルでは少し位置を下げる */
  }
  .pd-floating-panel__outer {
    padding: 0 35px; /* モバイルの左右の余白(35px)に完全に合わせる */
  }
  .pd-floating-panel__inner {
    display: block; /* モバイルではグリッドを解除 */
  }
  .pd-floating-panel__placeholder {
    display: none; /* モバイルではダミー要素を非表示 */
  }
  .pd-floating-panel__action-area {
    width: 100%;
  }
  .pd-floating-panel__button {
    width: 100%;
    white-space: normal;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }
}
/* フッター接近時に非表示にするスタイル */
.pd-floating-panel.is-footer-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  pointer-events: none !important;
}

.privacy-policy {
  padding: 80px min(8.333vw, 120px) 120px;
  background: var(--white);
}

.privacy-policy__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 96px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.privacy-policy__title {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.privacy-policy__divider {
  width: 100%;
  height: 1px;
  border: 0;
  background: var(--gray03);
}

.privacy-policy__section,
.privacy-policy__body {
  width: 100%;
  max-width: 800px;
}

.privacy-policy__section {
  display: flex;
  flex-direction: column;
  gap: 96px;
}

.privacy-policy__heading {
  color: var(--greige03);
  font-family: var(--font-serif-ja);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.05em;
}

.privacy-policy__body,
.privacy-policy__list {
  color: var(--gray01);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7357143;
  letter-spacing: 0.08em;
}

.privacy-policy__body {
  display: flex;
  flex-direction: column;
  gap: 96px;
}

.privacy-policy__list {
  display: flex;
  flex-direction: column;
  gap: 2em;
  padding-left: 21px;
  list-style: disc;
}

.privacy-policy__item {
  padding-left: 0;
}

.privacy-policy__link {
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media screen and (max-width: 768px) {
  .privacy-policy {
    padding: 56px 35px 72px;
  }
  .privacy-policy__inner {
    gap: 48px;
  }
  .privacy-policy__title {
    font-size: 24px;
    line-height: 1.35;
  }
  .privacy-policy__section {
    gap: 32px;
  }
  .privacy-policy__heading {
    font-size: 18px;
    line-height: 1.5;
  }
  .privacy-policy__body,
  .privacy-policy__list {
    font-size: 13px;
    line-height: 1.75;
    letter-spacing: 0.04em;
  }
  .privacy-policy__body {
    gap: 40px;
  }
  .privacy-policy__list {
    padding-left: 18px;
  }
  .privacy-policy__divider {
    margin-top: 32px;
  }
}
/* FV (Hero Carousel) */
.top-fv {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.top-fv__carousel {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.top-fv__slide {
  height: auto;
  width: min(100vw, 1080px);
}

.top-fv [data-fv-slider=true] {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-fv [data-fv-slider=true] li {
  height: auto;
  width: min(100vw, 1080px);
}

.top-fv [data-fv-slider=true] a {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1080/500;
}

.top-fv__image,
.top-fv [data-fv-slider=true] a {
  width: 100%;
  height: auto;
  aspect-ratio: 1080/500;
}

.top-fv__indicator {
  position: absolute;
  top: calc(min(100vw, 1080px) * 500 / 1080 - 26px) !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translate(-50%, -100%);
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 10;
  width: auto !important;
}

.top-fv__indicator-dot {
  width: 24px;
  height: 2px;
  background: var(--white);
  cursor: pointer;
}

.top-fv__indicator-dot.is-active {
  background: var(--gray01);
}

.top-fv__image img,
.top-fv [data-fv-slider=true] img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-fv__controls {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1080px;
  height: auto;
  aspect-ratio: 1080/500;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 10;
}

.top-fv__arrow--prev {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.top-fv__arrow--next {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.top-fv__arrow {
  width: 35px;
  height: 35px;
  background: var(--white);
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  transition: opacity 0.3s;
}

.top-fv__arrow img {
  width: 13.5px;
  height: 6.44px;
  object-fit: contain;
}

.top-fv__arrow--next img {
  transform: scaleX(-1);
}

.top-fv__arrow:hover {
  opacity: 0.8;
}

.top-fv__copy {
  text-align: center;
  padding: 32px 0 64px;
}

.top-fv__copy[hidden] {
  display: none;
}

.top-fv__copy p {
  font-family: var(--font-serif-ja);
  font-size: 24px;
  letter-spacing: 1.2px;
  line-height: 1.5;
}

/* Our Story */
.top-story {
  background: var(--gray04);
  padding: 64px 28px;
}

.top-story .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.top-story__message {
  display: flex;
  align-items: center;
  gap: 48px;
}

.top-story__logo {
  width: 124px;
  height: 124px;
}

.top-story__text p {
  font-family: var(--font-serif-ja);
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.85;
}

.top-story__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.top-story__link a {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-sans-en);
  font-size: 14px;
  letter-spacing: 1.54px;
}

.top-story__link-icon {
  width: 16px;
  height: 16px;
}

.top-story__link-line {
  width: 135px;
  height: 2px;
  background-color: var(--greige02);
}

/* Decorations */
.top-decoration {
  position: relative;
  width: 100%;
  height: 440px;
  overflow: hidden;
  clip-path: inset(0);
}
@media screen and (max-width: 768px) {
  .top-decoration {
    height: 300px;
  }
}

.top-decoration::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../assets/brand-lineup-decoration.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  transform: scale(1.3);
  transform-origin: center;
}
@media screen and (max-width: 768px) {
  .top-decoration::before {
    position: fixed;
    height: 100%;
    background-size: cover;
    background-position: 70% center;
    transform: scale(1);
  }
}

.top-recommend .l-inner,
.top-ranking .l-inner,
.top-journal .l-inner,
.top-brand-lineup .l-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Tabs */
.top-recommend__tabs {
  display: flex;
  gap: 32px;
}

.top-recommend__tab {
  font-family: var(--font-serif-ja);
  font-size: 17px;
  color: var(--gray03);
  padding: 10px 4px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.top-recommend__tab.is-active {
  color: var(--gray01);
  border-bottom-color: var(--greige01);
}

.top-recommend__panel {
  display: none;
  width: 100%;
}

.top-recommend__panel.is-active {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.top-recommend__more[hidden] {
  display: none;
}

.top-recommend__empty {
  text-align: center;
  padding: 80px 24px;
  font-family: var(--font-serif-ja);
  color: var(--greige03);
  font-size: 16px;
}

.top-ranking.l-section {
  padding-top: 0;
}

.top-brand-lineup__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  width: 100%;
}

/* Categories */
.top-categories .l-inner {
  display: flex;
  flex-direction: column;
}

.top-category-list {
  display: flex;
  gap: 56px;
  width: 100%;
}

.top-category-list__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.top-category-list__image {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

.top-category-list__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.top-category-list__item p {
  font-family: var(--font-serif-ja);
  font-size: 17px;
  line-height: 1.7;
}

/* Joy of Giving */
.top-gift {
  position: relative;
  padding: 72px 0;
  text-align: center;
  color: var(--white);
  display: flex;
  justify-content: center;
}

.top-gift__anchor {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.top-gift__anchor:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: -6px;
}

.top-gift__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: 1200px;
  pointer-events: none;
}

.top-gift__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.top-gift__bg .top-gift__bg-image {
  width: 100%;
  height: 200%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.top-gift__bg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(108, 108, 108, 0.4);
}

.top-gift:hover .top-gift__bg-image,
.top-gift:focus-within .top-gift__bg-image {
  transform: scale(1.2);
}

.top-gift__title {
  text-box: normal;
  font-family: var(--font-cursive);
  font-size: 64px;
  font-weight: 400;
}

.top-gift__text {
  font-family: var(--font-serif-ja);
  font-size: 17px;
  line-height: 1.7;
}

.top-gift__link {
  width: 35px;
  height: 35px;
  background: var(--white);
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: absolute;
  left: calc(50% + 220px);
  top: 50%;
  transform: translateY(-50%);
}

.top-gift__link img {
  width: 13.5px;
  height: 6.44px;
  object-fit: contain;
  transform: scaleX(-1);
}

.top-journal__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.top-journal__grid.swiper {
  display: block;
}

.top-journal__grid[hidden] {
  display: none;
}

@media screen and (min-width: 769px) {
  .top-journal__grid.swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: inherit;
    gap: inherit;
  }
}
.top-journal__card a {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.top-journal__image {
  position: relative;
  aspect-ratio: 272/183;
  overflow: hidden;
}

.top-journal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.top-journal__card a:hover .top-journal__image img,
.top-journal__card a:focus-visible .top-journal__image img {
  transform: scale(1.2);
}

.top-journal__badge {
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px;
  background: var(--gray05);
  color: var(--white);
  font-family: var(--font-sans-ja);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.44px;
  opacity: 0.8;
}

.top-journal__title {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.12px;
  line-height: 1.7;
  color: var(--gray01);
}

.top-journal__empty,
.top-journal__error {
  width: 100%;
  padding: 32px 24px;
  text-align: center;
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  color: var(--gray03);
}

@media screen and (max-width: 768px) {
  .top-recommend {
    padding-top: 0 !important;
  }
  .top-recommend__panel.is-active {
    gap: 32px;
  }
  .top-decoration {
    height: 264px;
  }
  .top-fv {
    margin-top: 0;
    margin-bottom: 0;
  }
  .top-fv__carousel {
    height: auto;
  }
  .top-fv__slide {
    height: auto;
    width: 100%;
  }
  .top-fv [data-fv-slider=true] li {
    width: 100%;
  }
  .top-fv__image,
  .top-fv [data-fv-slider=true] a {
    width: 100%;
    height: auto;
    aspect-ratio: 375/248;
  }
  .top-fv__image img,
  .top-fv [data-fv-slider=true] img {
    height: 100%;
    object-fit: cover;
  }
  .top-fv__copy {
    position: static;
    padding: 32px 25px 48px;
    background: var(--white);
    transform: none;
    width: 100%;
    text-align: left;
  }
  .top-fv__copy p {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: var(--gray01);
  }
  .top-fv__copy br {
    display: none;
  }
  .top-fv__indicator {
    top: calc(66.1333333333vw - 12px) !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translate(-50%, -100%);
    gap: 8px;
    display: flex;
    justify-content: center;
    width: auto !important;
  }
  .top-fv__indicator-dot {
    margin: 0 !important;
  }
  .top-fv__arrow {
    width: 35px;
    height: 35px;
  }
  .top-fv__controls {
    padding: 0;
    max-width: 100%;
    height: auto;
    aspect-ratio: 375/248;
  }
  .top-fv__arrow--prev {
    left: 10px;
  }
  .top-fv__arrow--next {
    right: 10px;
  }
  .top-fv__arrow img {
    width: 14px;
  }
  .top-category-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 40px;
  }
  .top-category-list__item p {
    font-size: 15px;
  }
  .top-journal .top-journal__card.swiper-slide {
    width: 282px;
  }
  .top-journal .top-journal__grid.swiper {
    display: block;
    /*margin: 0 -35px 40px !important;*/
    margin: 0 -35px !important;
    padding: 0 35px !important;
    overflow: visible !important;
    gap: 0;
  }
  .top-journal__grid::-webkit-scrollbar {
    display: none;
  }
  .top-journal__card {
    height: auto;
  }
  .top-journal__card a {
    gap: 24px;
  }
  .top-journal__title {
    font-size: 14px;
    line-height: 1.7;
  }
  /* Joy of Giving */
  .top-gift {
    height: auto;
    padding: 56px 16px 24px;
  }
  .top-gift__title {
    font-size: 49px;
  }
  .top-gift__text {
    font-size: 15px;
    line-height: 2;
  }
  .top-gift__link {
    position: static;
    transform: none;
    margin: 0 auto 0;
  }
  /* Our Story mobile adjustment */
  .top-story {
    padding: 64px 35px;
    background: var(--white);
    justify-content: center;
  }
  .top-story__message {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .top-story__logo {
    width: 90px;
    height: 90px;
  }
  .top-story__text {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
  }
  .top-story__text p {
    font-size: 15px;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
  .top-brand-lineup__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
.cart-page {
  padding-top: 80px;
  padding-bottom: 120px;
  background: var(--white);
}

.cart-page__inner {
  align-items: center;
  gap: 96px;
}

.cart-page__title {
  width: 100%;
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.cart-page__divider {
  flex: 0 0 auto;
}

.cart-page__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(240px, 27.778vw, 400px);
  align-items: start;
  gap: clamp(24px, 3.333vw, 48px);
  width: 100%;
}

.cart-page__items {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 40px;
}

.cart-page__item {
  display: grid;
  grid-template-columns: clamp(180px, 16.667vw, 240px) minmax(150px, 240px) minmax(100px, max-content) 48px;
  align-items: start;
  justify-content: space-between;
  gap: clamp(16px, 2.222vw, 32px);
  min-width: 0;
}

.cart-page__item + .cart-page__item {
  padding-top: 40px;
  border-top: 1px solid var(--gray03);
}

.cart-page__image {
  display: block;
  overflow: hidden;
  width: clamp(180px, 16.667vw, 240px);
  height: clamp(180px, 16.667vw, 240px);
  border-radius: 5px;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

.cart-page__image:hover {
  opacity: 0.7;
}

.cart-page__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-page__details {
  display: flex;
  min-width: 0;
  height: clamp(180px, 16.667vw, 240px);
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.cart-page__product {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
}

.cart-page__brand {
  color: var(--gray03);
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.cart-page__product-name {
  color: var(--gray01);
  font-family: var(--font-serif-ja);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}

.cart-page__product-name-link {
  color: inherit;
  text-decoration: none;
}

.cart-page__product-name-link:hover {
  opacity: 0.75;
}

.cart-page__options {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 8px;
}

.cart-page__option {
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: var(--gray05);
  font-family: var(--font-sans-ja);
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
  letter-spacing: 0.04em;
}

.cart-page__option-label,
.cart-page__option-value {
  margin: 0;
}

.cart-page__option-label::after {
  content: "：";
}

.cart-page__quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.cart-page__quantity-button,
.cart-page__quantity-count {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  font-family: var(--font-sans-ja);
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
  letter-spacing: 0.08em;
}

.cart-page__quantity-button {
  width: 32px;
  height: 32px;
  border: 0;
  color: var(--white);
  cursor: pointer;
  appearance: none;
  transition: opacity 0.3s ease;
}

.cart-page__quantity-button:hover {
  opacity: 0.75;
}

.cart-page__quantity-button--minus {
  background: var(--gray03);
}

.cart-page__quantity-button--plus {
  background: var(--greige04);
}

.cart-page__quantity-count {
  width: 40px;
  height: 40px;
  border: 1px solid var(--gray03);
  color: var(--gray01);
  padding: 0;
  background: var(--white);
  text-align: center;
  appearance: textfield;
}

.cart-page__quantity-count::-webkit-outer-spin-button,
.cart-page__quantity-count::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.cart-page__price {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
  height: clamp(180px, 16.667vw, 240px);
  color: var(--gray01);
}

.cart-page__price-value {
  font-family: var(--font-serif-ja);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.cart-page__point-note {
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
  white-space: nowrap;
}

.cart-page__delete {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 5px;
  background: var(--gray02);
  cursor: pointer;
  appearance: none;
  transition: opacity 0.3s ease;
}

.cart-page__delete:hover {
  opacity: 0.75;
}

.cart-page__delete img {
  display: block;
  width: 20px;
  height: 26px;
  object-fit: contain;
}

.cart-page__summary {
  position: sticky;
  top: 150px;
  display: flex;
  min-width: 0;
  align-self: start;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  width: 100%;
}

.cart-page__summary-box {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 165px;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 16px;
  padding: clamp(24px, 2.222vw, 32px);
  border: 2px solid var(--gray02);
  border-radius: 5px;
  color: var(--gray01);
}

.cart-page__total {
  font-size: 0;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.cart-page__total-label,
.cart-page__total-unit {
  font-size: 14px;
  font-weight: 500;
  line-height: 24.3px;
}

.cart-page__total-price {
  font-size: 28px;
  font-weight: 700;
  line-height: 24.3px;
}

.cart-page__summary-point {
  font-size: 12px;
  font-weight: 500;
  line-height: 20.4px;
  white-space: nowrap;
}

.cart-page__checkout {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  border-radius: 5px;
  background: var(--red02);
  color: var(--white);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  transition: opacity 0.3s ease;
}

.cart-page__checkout:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .cart-page.l-section {
    padding-top: 24px;
    padding-bottom: 48px;
  }
  .cart-page__inner {
    align-items: flex-start;
    gap: 40px;
  }
  .cart-page__title {
    font-size: 24px;
    line-height: 30.8px;
    text-align: left;
  }
  .cart-page__divider.c-hr {
    width: 100% !important;
  }
  .cart-page__content {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .cart-page__items {
    gap: 32px;
  }
  .cart-page__item + .cart-page__item {
    padding-top: 32px;
  }
  .cart-page__item {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr) minmax(54px, max-content) 32px;
    align-items: start;
    justify-content: stretch;
    gap: 14px;
    width: 100%;
  }
  .cart-page__image {
    width: 80px;
    height: 80px;
  }
  .cart-page__details {
    height: auto;
    gap: 16px;
  }
  .cart-page__product {
    gap: 8px;
  }
  .cart-page__brand {
    font-size: 12px;
    line-height: 32px;
    letter-spacing: 0.12em;
  }
  .cart-page__product-name {
    font-size: 15px;
    line-height: 17px;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .cart-page__option {
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 0.03em;
  }
  .cart-page__quantity {
    gap: 6px;
  }
  .cart-page__quantity-button,
  .cart-page__quantity-count {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .cart-page__quantity-button {
    width: 20px;
    height: 20px;
  }
  .cart-page__quantity-count {
    width: 24px;
    height: 24px;
  }
  .cart-page__price {
    height: auto;
    gap: 16px;
  }
  .cart-page__price-value {
    font-size: 15px;
    line-height: 25.6px;
    letter-spacing: 0;
  }
  .cart-page__point-note {
    max-width: 58px;
    font-size: 10px;
    line-height: 1;
    white-space: normal;
  }
  .cart-page__delete {
    width: 32px;
    height: 32px;
    border-radius: 3.333px;
  }
  .cart-page__delete img {
    width: 13px;
    height: 17px;
  }
  .cart-page__summary {
    position: static;
    gap: 16px;
  }
  .cart-page__summary-box {
    min-height: 80px;
    padding: 30px 32px 16px;
  }
  .cart-page__total-label,
  .cart-page__total-unit {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.06em;
  }
  .cart-page__total-price {
    font-size: 25px;
    line-height: 24.3px;
  }
  .cart-page__checkout {
    padding: 20px 16px;
  }
}
