@charset "UTF-8";


/* ---------------------------------------------------------------- */
/* #region Variable  */
/* ---------------------------------------------------------------- */

:root {
  --font-NotoSansJP: "Noto Sans JP", sans-serif;
  --font-HankenGrotesk: "Hanken Grotesk", sans-serif;
  --color-black: #000000;
  --color-black-alpha: rgba(0, 0, 0, 0.08);
  --color-offBlack: #2A2727;
  --color-gray: #DCDEE7;
  --color-lightGray: #F0F2FB;
  --color-offWhite: #FBFCFE;
  --color-white: #FFFFFF;
  --color-white-alpha: rgba(255, 255, 255, 0.08);
  --color-gold: #B8996B;
  --color-pink: #E6003E;
  --color-green: #A2CA0F;
  --color-blue: #6E83C1;
  --color-red: #F04438;
}

/* #endregion Variable  */


/* ---------------------------------------------------------------- */
/* #region Reset  */
/* ---------------------------------------------------------------- */

*,
*::before,
*::after {
  box-sizing: inherit;
}
html {
  box-sizing: border-box;
}
:where(body) {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}
:where(p, h1, h2, h3, h4, h5, h6) {
  margin: 0;
  overflow-wrap: break-word;
}
:where(ul) {
  margin: 0;
}
:where(input, button, textarea, select) {
  margin: 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
}
:where(textarea) {
  resize: vertical;
}
:where(button, label, select, summary, [role='button'], [role='option']) {
  cursor: pointer;
}
:where(:disabled) {
  cursor: not-allowed;
}

/* #endregion Reset */


/* ---------------------------------------------------------------- */
/* #region Base Styles  */
/* ---------------------------------------------------------------- */

body {
  background-color: var(--color-offWhite);
  color: var(--color-offBlack);
  font-family: var(--font-NotoSansJP);
}
::-moz-selection {
  color: var(--color-offWhite);
  background-color: var(--color-gold);
}
::selection {
  color: var(--color-offWhite);
  background-color: var(--color-gold);
}
a {
  cursor: pointer;
  text-decoration: none;
  color: var(--color-offBlack);
}

/* #endregion Base Styles */


/* ---------------------------------------------------------------- */
/* #region Layout  */
/* ---------------------------------------------------------------- */

/* ラッパー */
.c-wrap {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

/* トップレイヤー */
.c-modal {
  position: fixed;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding-left: 8px;
  padding-right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
}
.c-header {
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-black-alpha);
}
.c-drawer {
  position: fixed;
  z-index: 3;
  top: 0;
  right: 0;
  width: 92%;
  max-width: 376px;
  height: 100vh;
  height: 100dvh;
  overflow-y: scroll;
  background-color: var(--color-white);
}
.c-lightLeak {
  pointer-events: none;
  mix-blend-mode: screen;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.c-loading {
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: var(--color-offBlack);
}
.c-footer {
  position: relative;
  z-index: 0;
  background-color: var(--color-offBlack);
}
.c-main {
  position: relative;
  z-index: 0;
}
.c-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
}
/* トップレイヤー - 状態 */
.c-loading {
  opacity: 1;
  transition: opacity 0.3s 0.3s linear;
}
html[data-state-load="complete"] .c-loading {
  pointer-events: none;
  opacity: 0;
}
.c-header {
  opacity: 0;
  translate: 0 0%;
}
html[data-state-load="complete"] .c-header {
  opacity: 1;
  transition: opacity 0.1s 0.6s linear;
}
html[data-state-header="visible"] .c-header {
  translate: 0 0%;
  transition: translate 0.5s;
}
html[data-state-header="hidden"] .c-header {
  translate: 0 -100%;
  transition: translate 0.5s;
}
.c-drawer {
  pointer-events: none;
  visibility: hidden;
  translate: 100% 0;
}
html[data-state-nav="closed"] .c-drawer {
  transition:
    visibility 0s 0.4s,
    translate 0.4s
  ;
}
html[data-state-nav="open"] .c-drawer {
  pointer-events: all;
  visibility: visible;
  translate: 0 0%;
  transition:
    visibility 0s,
    translate 0.4s
  ;
}
.c-bg {
  transition: background-color 0.5s ease-out;
}
html[data-state-bg="gray"] .c-bg {
  background-color: var(--color-lightGray);
}
html[data-state-bg="black"] .c-bg {
  background-color: var(--color-offBlack);
}
.c-modal {
  transition: opacity 0.2s linear;
}
.c-modal[hidden] {
  pointer-events: none;
  opacity: 0;
}

/* 外コンテナ */
.c-outer {
  display: flex;
  align-items: center;
  flex-direction: column;

  padding-left: 16px;
  padding-right: 16px;
  @media (min-width: 769px) {
    padding-left: 60px;
    padding-right: 60px;
  }
}
/* 外コンテナ - 修飾子:表示 */
.c-outer--onlyPc {
  padding-left: 0;
  padding-right: 0;
  @media (min-width: 769px) {
    padding-left: 60px;
    padding-right: 60px;
  }
}

/* 中コンテナ */
.c-inner {
  width: 100%;
  @media (min-width: 769px) {
    max-width: 1100px;
  }
}
/* 中コンテナ - 修飾子:サイズ */
.c-inner--lg {
  @media (min-width: 769px) {
    max-width: 1320px;
  }
}
.c-inner--sm {
  @media (min-width: 769px) {
    max-width: 879px;
  }
}

/* 商品グリッド */
.c-productGrid {
  display: flex;
  gap: 16px;
  padding-left: 16px;
  padding-right: 16px;
  @media (min-width: 769px) {
    gap: 16px;
    padding-left: 0px;
    padding-right: 0px;
  }
}
.c-productGrid__item {
  flex: 0 0 150px;
  @media (min-width: 769px) {
    flex: 0 0 171px;
  }
}
.c-productGrid__item img {
  width: 100%;
}
/* 商品グリッド - 状態:スクロールスライダー無効 */
.c-scrollSlider.disabled .c-productGrid {
  justify-content: center;
  @media (min-width: 769px) {
    justify-content: center;
  }
}

/* ナビグリッド */
.c-innerNavGrid {
  display: grid;
  gap: 8px;
  justify-content: center;
  grid-template-columns: repeat(2, 1fr);
  @media (min-width: 769px) {
    grid-template-columns: repeat(auto-fit, minmax(175px, auto));
  }
}
.c-innerNavGrid__item {
}

/* #endregion Layout */


/* ---------------------------------------------------------------- */
/* #region Utilities  */
/* ---------------------------------------------------------------- */

/* sp/pc 表示切り替え */
.c-onlySp {
  display: block;
  @media (min-width: 769px) {
    display: none;
  }
}
.c-onlyPc {
  display: none;
  @media (min-width: 769px) {
    display: block;
  }
}

/* スクリーンリーダーのみ */
.c-onlySr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  white-space: nowrap;
}

/* 遷移アニメーション */
.c-tran {
  opacity: 0;
  transition: opacity 2.2s 0.5s ease-out;
}
html[data-state-load="complete"] .c-tran {
  opacity: 1;
}

/* フェードアニメーション */
.c-fade {
  opacity: 1;
  transition: opacity 0.3s linear;
}
.c-fade:hover {
  opacity: 0.7;
}

/* フェードアップアニメーション */
.c-fadeUp {
  opacity: 0;
  translate: 0 50px;
  transition:
    translate 1s,
    opacity 1s;
}
[data-inview="true"].c-fadeUp {
  opacity: 1;
  translate: 0 0px;
}

/* 色変化ズームアニメーション */
.c-brightZoom {
  filter: brightness(0.5) contrast(1.5);
  scale: 1.1;
}
[data-inview="true"].c-brightZoom,
.c-brightZoom.active{
  animation-name: c-brightZoom;
  animation-duration: 1.4s;
  animation-fill-mode: forwards;
}
@keyframes c-brightZoom {
  0% {
    scale: 1.1;
    filter: brightness(0.6) contrast(1.5);
  }
  100% {
    filter: brightness(1) contrast(1);
    scale: 1;
  }
}

/* グラデーション入りアニメーション */
.c-gradIn {
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 50%, transparent 100%);
          mask-image: linear-gradient(90deg, #000 0%, #000 50%, transparent 100%);
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  -webkit-mask-position: 200% 0%;
          mask-position: 200% 0%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
[data-inview="true"].c-gradIn,
.c-gradIn.active {
  animation-name: c-gradIn;
  animation-duration: 1s;
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}
@keyframes c-gradIn {
  0% {
    -webkit-mask-position: 200% 0%;
            mask-position: 200% 0%;
  }
  100% {
    -webkit-mask-position: 0% 0%;
            mask-position: 0% 0%;
  }
}

/* アニメーション表示画像切替 */
.c-animImg {
  visibility: hidden;
}
[data-inview="true"].c-animImg {
  visibility: visible;
}

/* スピナー */
.c-spinner {
  position: relative;
}
.c-spinner::after{
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;

  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 3px solid rgb(220 222 231 / 35%);
  border-top-color: var(--color-gold);
}
.c-spinner__cover {
}
/* スピナー - 状態:ロード */
.c-spinner::after{
  opacity: 0;
  transition: opacity 0.1s ease-out;
}
.c-spinner.loading {
  pointer-events: none;
}
.c-spinner.loading .c-spinner__cover {
  opacity: 0.15;
}
.c-spinner.loading::after {
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.c-spinner.loading::after {
  animation: c-spinner-loading 0.8s linear infinite;
}
@keyframes c-spinner-loading {
  100% {
    rotate: 360deg;
  }
}

/* #endregion Utilities */


/* ---------------------------------------------------------------- */
/* #region Components  */
/* ---------------------------------------------------------------- */

/* ------------------------------------------------ */
/* #region - Button  */
/* ------------------------------------------------ */

/* 基本ボタン */
.c-button {
  all: unset;
  box-sizing: inherit;
  line-height: 0;
  text-decoration: none;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding-top: 4px;
  padding-right: 4px;
  padding-bottom: 4px;
  padding-left: 24px;

  border-radius: 100px;
  border: 1px solid;
}
.c-button__text {
  flex: 1 1 auto;
  font-feature-settings: "palt" on;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
.c-button__icon {
  flex: 0 0 40px;
}
.c-button__circle {
  fill: var(--color-gold);
}
.c-button__arrow {
  fill: var(--color-white);
}
/* 基本ボタン - 状態:ベース */
.c-button {
  background-color: var(--color-white);
  border-color: var(--color-white);
  transition:
    background-color 0.3s linear,
    border-color 0.3s linear
  ;
}
.c-button__text {
  color: var(--color-offBlack);
  transition:
    color 0.3s linear
  ;
}
.c-button:hover {
  background-color: var(--color-gold);
  border-color: var(--color-gold);
}
.c-button:hover .c-button__text {
  color: var(--color-white);
}
/* 基本ボタン - 状態:無効 */
.c-button:disabled,
.c-button.disabled {
  pointer-events: none;
  transition: none;
  background-color: var(--color-black-alpha);
  border-color: transparent;
}
.c-button:disabled .c-button__text,
.c-button.disabled .c-button__text {
  color: var(--color-black-alpha);
}
.c-button:disabled .c-button__circle,
.c-button.disabled .c-button__circle {
  fill: var(--color-black-alpha);
}
.c-button:disabled .c-button__arrow,
.c-button.disabled .c-button__arrow {
  fill: var(--color-black-alpha);
}
/* 基本ボタン - 修飾子:カラー */
.c-button--secondary {
  background-color: var(--color-offBlack);
  border-color: var(--color-offBlack);
}
.c-button--secondary .c-button__text {
  color: var(--color-white);
}
.c-button--tertiary {
  background-color: var(--color-white);
  border-color: var(--color-offBlack);
}
.c-button--tertiary .c-button__text {
  color: var(--color-offBlack);
}
.c-button--dark {
  background-color: transparent;
  border-color: var(--color-white);
}
.c-button--dark .c-button__text {
  color: var(--color-white);
}
/* 基本ボタン - 修飾子:カラー - 状態:無効　*/
.c-button--tertiary:disabled,
.c-button--tertiary.disabled {
  background-color: var(--color-white);
  border-color: var(--color-black-alpha);
}
.c-button--dark:disabled,
.c-button--dark.disabled {
  border-color: rgba(255, 255, 255, 0.16);
}
.c-button--dark:disabled .c-button__text,
.c-button--dark.disabled .c-button__text {
  color: rgba(255, 255, 255, 0.16);
}
.c-button--dark:disabled .c-button__circle,
.c-button--dark.disabled .c-button__circle {
  fill: rgba(255, 255, 255, 0.16);
}
.c-button--dark:disabled .c-button__arrow,
.c-button--dark.disabled .c-button__arrow {
  fill: var(--color-offBlack);
}

/* テキストボタン */
.c-textButton {
  all: unset;
  box-sizing: inherit;
  line-height: 0;
  text-decoration: none;
  cursor: pointer;

  display: flex;
  gap: 16px;
  align-items: center;
}
.c-textButton__text {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
.c-textButton__icon {
  width: 40px;
  height: 40px;
}
.c-textButton__circle {
}
.c-textButton__arrow {
}
/* テキストボタン - 状態 */
.c-textButton__circle {
  fill: var(--color-gold);
  stroke: var(--color-gold);
  transition:
    fill 0.3s linear,
    stroke 0.3s linear;
}
.c-textButton__arrow {
  fill: var(--color-white);
  transition:
    fill 0.3s linear
  ;
}
.c-textButton:hover .c-textButton__circle {
  fill: transparent;
}
.c-textButton:hover .c-textButton__arrow {
  fill: var(--color-gold);
}
/* テキストボタン - 状態:無効 */
.c-textButton:disabled,
.c-textButton.disabled {
  pointer-events: none;
  transition: none;
  border-color: transparent;
}
.c-textButton:disabled .c-textButton__text,
.c-textButton.disabled .c-textButton__text {
  color: var(--color-black-alpha);
}
.c-textButton:disabled .c-textButton__circle,
.c-textButton.disabled .c-textButton__circle {
  fill: var(--color-black-alpha);
  stroke: transparent;
}
.c-textButton:disabled .c-textButton__arrow,
.c-textButton.disabled .c-textButton__arrow {
  fill: var(--color-black-alpha);
}
/* テキストボタン - 修飾子:サイズ */
.c-textButton--sm .c-textButton__icon {
  width: 20px;
  height: 20px;
}
/* テキストボタン - 修飾子:カラー */
.c-textButton--dark .c-textButton__text {
  color: var(--color-white);
}
/* 基本ボタン - 修飾子:カラー - 状態:無効　*/
.c-textButton--dark:disabled,
.c-textButton--dark.disabled {
  border-color: rgba(255, 255, 255, 0.16);
}
.c-textButton--dark:disabled .c-textButton__text,
.c-textButton--dark.disabled .c-textButton__text {
  color: rgba(255, 255, 255, 0.16);
}
.c-textButton--dark:disabled .c-textButton__circle,
.c-textButton--dark.disabled .c-textButton__circle {
  fill: rgba(255, 255, 255, 0.16);
}
.c-textButton--dark:disabled .c-textButton__arrow,
.c-textButton--dark.disabled .c-textButton__arrow {
  fill: var(--color-offBlack);
}

/* インナーリンクボタン */
.c-innerButton {
  all: unset;
  box-sizing: inherit;
  line-height: 0;
  text-decoration: none;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  background-color: transparent;
  padding-top: 4px;
  padding-right: 4px;
  padding-bottom: 4px;
  padding-left: 24px;

  border-radius: 100px;
  border: 1px solid;
  border-color: var(--color-black-alpha);
}
.c-innerButton__text {
  flex: 1 1 auto;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
.c-innerButton__icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
}
.c-innerButton__circle {
  fill: transparent;
}
.c-innerButton__arrow {
  fill: var(--color-offBlack);
}
/* インナーリンクボタン - 状態 */
.c-innerButton__circle {
  stroke: var(--color-black-alpha);
  transition:
    stroke 0.3s linear
  ;
}
.c-innerButton:hover .c-innerButton__circle {
  stroke: rgba(0, 0, 0, 1);
}
/* インナーリンクボタン - 状態:無効 */
.c-innerButton:disabled,
.c-innerButton.disabled {
  pointer-events: none;
  border-color: var(--color-black-alpha);
}
.c-innerButton:disabled .c-innerButton__text,
.c-innerButton.disabled .c-innerButton__text{
  color: var(--color-black-alpha);
}
.c-innerButton:disabled .c-innerButton__arrow,
.c-innerButton.disabled .c-innerButton__arrow{
  fill: var(--color-black-alpha);
}
/* インナーリンクボタン - 修飾子:フォント */
.c-innerButton--eng .c-innerButton__text {
  font-family: var(--font-HankenGrotesk);
  font-size: 12px;
  font-weight: 600;
}

/* 商品カードボタン */
.c-productButton {
  all: unset;
  cursor: pointer;
  line-height: 0;
  box-sizing: inherit;
  display: inline-block;

  position: relative;
  padding: 8px 16px;
  border-radius: 100px;
  width: 100%;
  text-align: center;
}
.c-productButton__text {
  color: var(--color-white);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 125%;
}
/* 商品カード - 状態 */
.c-productButton {
  background-color: var(--color-offBlack);
  transition: background-color 0.3s linear;
}
.c-productButton:hover {
  background-color: rgba(42, 39, 39, 0.80);
}
/* 商品カード - 状態:無効 */
.c-productButton:disabled,
.c-productButton.disabled {
  pointer-events: none;
  background-color: var(--color-black-alpha);
}
.c-productButton:disabled .c-productButton__text,
.c-productButton.disabled .c-productButton__text {
  color: rgba(0, 0, 0, 0.24);
}

/* アクションボタン */
.c-actionButton {
  all: unset;
  cursor: pointer;
  line-height: 0;
  box-sizing: inherit;
  display: inline-block;

  background-color: var(--color-offBlack);
  position: relative;
  width: 100%;
  padding: 16px 12px;
  border-radius: 100px;

  text-align: center;
}
.c-actionButton__text {
  color: var(--color-white);
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
/* アクションボタン - 状態 */
.c-actionButton {
  opacity: 1;
  transition: opacity 0.3s linear;
}
.c-actionButton:hover {
  opacity: 0.7;
}
/* アクションボタン - 修飾子:色 */
.c-actionButton--gold {
  background-color: var(--color-gold);
}

/* お気に入りボタン */
.c-heart {
}
.c-heart__stroke {
  fill: var(--color-offBlack);
}
.c-heart__fill {
  fill: var(--color-offBlack);
}
/* お気に入りボタン - 状態 */
.c-heart__fill {
  opacity: 0;
}
.c-heart.active .c-heart__fill {
  opacity: 1;
}

/* #endregion Button */


/* ------------------------------------------------ */
/* #region - Card  */
/* ------------------------------------------------ */

/* ラインナップカード */
.c-lineupCard {
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}
.c-lineupCard__img {
  width: 100%;
  max-width: 150px;
  margin-bottom: 16px;
  @media (min-width: 769px) {
    max-width: 254px;
    margin-bottom: 24px;
  }
}
.c-lineupCard__img > img {
  width: 100%;
  height: 100%;
}
.c-lineupCard__en {
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.51px;
  margin-bottom: 8px;
}
.c-lineupCard__ja {
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 135%;
}

/* プロダクトカード */
.c-productCard {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-productCard__link {
  display: inline-block;
}
.c-productCard__image {
  margin-bottom: 16px;
}
.c-productCard__image > img {
  width: 100%;
  height: 100%;
}
.c-productCard__num {
  position: absolute;
  top: 0;
  left: 0;
  width: 38px;
  height: 38px;
  background-color: var(--color-offBlack);
  display: inline-flex;
  justify-content: center;
  align-items: center;

  color: var(--color-white);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.8px;
}
.c-productCard__name {
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 135%;
  margin-bottom: 2px;
}
.c-productCard__text {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
}
.c-productCard__amount {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
  margin-bottom: 4px;
}
.c-productCard__name span {
  display: block;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
}
.c-productCard__jpy {
  font-family: var(--font-HankenGrotesk);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.36px;
}
.c-productCard__price {
  display: inline-flex;
  align-items: center;

  font-family: var(--font-HankenGrotesk);
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.51px;
}
.c-productCard__note {
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
}
.c-productCard__cart {
  display: flex;
  justify-content: center;
  margin-top: 4px;
  padding-left: 4px;
  padding-right: 4px;
}

/* #endregion Card */


/* ------------------------------------------------ */
/* #region - Media  */
/* ------------------------------------------------ */

/* カート追加済メディア */
.c-addedMedia {
  position: relative;
  height: 100%;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
}
.c-addedMedia__image {
  flex: 0 1 110px;
  @media (min-width: 769px) {
    flex: 0 0 171px;
  }
}
.c-addedMedia__image > img {
  width: 100%;
  height: 100%;
}
.c-addedMedia__body {
}
.c-addedMedia__name {
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 135%;
  margin-bottom: 8px;
  @media (min-width: 769px) {
    font-size: 14px;
  }
}
.c-addedMedia__text {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
  margin-bottom: 4px;
  @media (min-width: 769px) {
    font-size: 14px;
  }
}
.c-addedMedia__amount {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
  margin-bottom: 4px;
  @media (min-width: 769px) {
    font-size: 14px;
  }
}
.c-addedMedia__jpy {
  font-family: var(--font-HankenGrotesk);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.36px;
  @media (min-width: 769px) {
    font-size: 12px;
  }
}
.c-addedMedia__price {
  display: inline-flex;
  align-items: center;

  font-family: var(--font-HankenGrotesk);
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.51px;
  @media (min-width: 769px) {
    font-size: 17px;
  }
}
.c-addedMedia__note {
  font-size: 8px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
  @media (min-width: 769px) {
    font-size: 10px;
  }
}
.c-addedMedia__cart {
  display: flex;
  justify-content: center;
  margin-top: 4px;
  padding-left: 4px;
  padding-right: 4px;
}

.c-addedMedia__error {
  font-size: 14px;
  font-weight: 700;
  padding-left: 14px;
  padding-right: 14px;
  padding-top: 24px;
  padding-bottom: 24px;
}


/* ------------------------------------------------ */
/* #region - Slider  */
/* ------------------------------------------------ */

/* bullet */
.c-bullet {
  flex: 1 1 0%;
  height: 2px;
  background-color: var(--color-offBlack);
  opacity: 0.08;
}
.c-bullet.active {
  opacity: 1;
  background: var(--color-gold);
}

/* ループスライダー(jsコンポーネント) */
.swiper.c-loopSlider {
  position: relative;
  width: 100%;
}
.swiper-wrapper.c-loopSlider__wrapper {
  box-sizing: border-box;
}
.swiper-slide.c-loopSlider__slide {
  height: auto;
}
.c-loopSlider__navs {
  pointer-events: none;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 100%;
  translate: 0 -50%;
  display: flex;
  justify-content: space-between;

  padding-left: 16px;
  padding-right: 16px;
  @media (min-width: 769px) {
    padding-left: 4.166667vw;
    padding-right: 4.166667vw;
  }
}
.c-loopSlider__prev,
.c-loopSlider__next {
  pointer-events: auto;
  width: 16px;
  height: 26px;
  cursor: pointer;
  @media (min-width: 769px) {
    width: 32px;
    height: 48px;
  }
}
.c-loopSlider__prev svg,
.c-loopSlider__next svg {
  fill: var(--color-offWhite);
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));
  width: 100%;
  height: auto;
}
.c-loopSlider__paginations {
  margin-top: 32px;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
}
.c-loopSlider__pagination {
  width: 136px;
  display: flex;
  gap: 8px;
}

/* スクロールスライダー(jsコンポーネント) */
.c-scrollSlider {
}
.c-scrollSlider__scroller {
  overflow: auto;
  scrollbar-width: none; /* Firefox用 */
  -ms-overflow-style: none; /* IE & Edge旧バージョン用 */
}
.c-scrollSlider__scroller::-webkit-scrollbar {
  display: none; /* Chrome / Safari用 */
}
.c-scrollSlider__nav {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;

  margin-top: 32px;
  @media (min-width: 769px) {
    margin-top: 32px;
  }
}
.c-scrollSlider__prev,
.c-scrollSlider__next {
  width: 32px;
  height: 32px;
  cursor: pointer;
  @media (min-width: 769px) {
  }
}
.c-scrollSlider__icon {
}
.c-scrollSlider__track {
  position: relative;
  background-color: rgb(189, 189, 189);
  height: 2px;
  width: 136px;
}
.c-scrollSlider__thumb {
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-offBlack);
  width: 30%;
  height: 100%;
}
/* スクロールスライダー - 状態:マウス */
.c-scrollSlider__scroller {
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.c-scrollSlider__scroller:active {
  cursor: grabbing;
}
/* スクロールスライダー - 状態:ボタンhover */
.c-scrollSlider__icon circle {
  stroke: var(--color-offBlack);
  fill: transparent;
  transition: fill 0.3s linear;
}
.c-scrollSlider__icon path {
  fill: var(--color-offBlack);
  transition: fill 0.3s linear;
}
.c-scrollSlider__icon:hover circle {
  fill: var(--color-offBlack);
}
.c-scrollSlider__icon:hover path {
  fill: var(--color-white);
}
/* スクロールスライダー - 状態:全体無効 */
.c-scrollSlider.disabled .c-scrollSlider__scroller {
  cursor: auto;
}
.c-scrollSlider.disabled .c-scrollSlider__scroller:active {
  cursor: auto;
}
.c-scrollSlider.disabled .c-scrollSlider__nav {
  display: none;
  @media (min-width: 769px) {
    display: none;
  }
}
/* スクロールスライダー - 状態:ボタン無効 */
.c-scrollSlider__prev, .c-scrollSlider__next {
  opacity: 1;
}
[data-scrollslider-disabled="true"]:where(.c-scrollSlider__prev, .c-scrollSlider__next) {
  opacity: 0.2;
  pointer-events: none;
}

/* #endregion Slider */


/* #endregion Components */


/* #endregion Components */


/* ---------------------------------------------------------------- */
/* #region Blocks  */
/* ---------------------------------------------------------------- */

/* ------------------------------------------------ */
/* #region - ローディング  */
/* ------------------------------------------------ */

/* ローディングロゴ */
.c-loadingLogo {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-loadingLogo__img {
  fill: var(--color-white);
  width: 200px;
  height: auto;
}

/* #endregion ローディング */


/* ------------------------------------------------ */
/* #region - グローバルナビ  */
/* ------------------------------------------------ */

/* ノーティスエリア */
.c-noticeBox {
  background-color: var(--color-offBlack);
}
.c-noticeBox__inner {
}

/* ノーティススライダー(swiper) */
.swiper.c-noticeSlider {
  position: relative;
  width: 100%;
  height: 40px;
  overflow: hidden;
}
.swiper-slide.c-noticeSlider-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ノーティス */
.c-notice {
  color: var(--color-white);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-align: center;

  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow-wrap: break-word;
}

/* グローバルナビ */
.c-gnav {
}
.c-gnav__inner {
  display: grid;
  grid-template-columns:
    [logo] auto
    [logo-control-gap] minmax(24px, 1fr)
    [control] auto
    [control-hamburger-gap] 24px
    [hamburger] auto;
  align-items: center;
}
.c-gnav__logo {
  grid-column: logo;

  width: 90px;
  padding-top: 24px;
  padding-bottom: 24px;
}
.c-gnav__logo > img {
  width: 100%;
  height: auto;
}
.c-gnav__control {
  grid-column: control;
}
.c-gnav__hamburger {
  grid-column: hamburger;
}

/* 操作ナビ */
.c-controlNav {
  display: flex;
  gap: 24px;
}
.c-controlNav__item {
  width: 24px;
  height: 24px;
}
.c-controlNav__item img {
  width: 100%;
  height: auto;
}

/* 数値付きアイコン */
.c-numIcon {
  position: relative;
}
.c-numIcon__icon {
}
.c-numIcon__num {
  position: absolute;
  top: 0;
  right: 0;
  translate: 40% -40%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: var(--color-red);

  color: var(--color-white);
  font-family: var(--font-HankenGrotesk);
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

/* ハンバーガー */
.c-hamburger {
  cursor: pointer;
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-hamburger__inner{
  position: relative;
  width: 18px;
  height: 12px;
}
.c-hamburger__bar {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 18px;
  height: 2px;
  background-color: var(--color-offBlack);
}
.c-hamburger__bar:nth-child(1){
  top: 0px;
}
.c-hamburger__bar:nth-child(2){
  top: 5px;
}
.c-hamburger__bar:nth-child(3){
  top: 10px;
}
/* ハンバーガー - 状態:開閉 */
.c-hamburger__bar:nth-child(1){
  translate: 0 0px;
  rotate: 0deg;
  transition:
    translate 0.2s ease-in-out 0.1s,
    rotate 0.1s ease-in-out
  ;
}
.c-hamburger__bar:nth-child(2){
  opacity: 1;
  transition:
    opacity 0.2s ease-in-out
  ;
}
.c-hamburger__bar:nth-child(3){
  translate: 0 0px;
  rotate: 0deg;
  transition:
    translate 0.2s ease-in-out 0.1s,
    rotate 0.1s ease-in-out
  ;
}
html[data-state-nav="open"] .c-hamburger__bar:nth-child(1){
  translate: 0 5px;
  rotate: 45deg;
  transition:
    translate 0.1s ease-in-out,
    rotate 0.2s ease-in-out 0.1s
  ;
}
html[data-state-nav="open"] .c-hamburger__bar:nth-child(2){
  opacity: 0;
  transition:
    opacity 0.2s ease-in-out
  ;
}
html[data-state-nav="open"] .c-hamburger__bar:nth-child(3){
  translate: 0 -5px;
  rotate: -45deg;
  transition:
    translate 0.1s ease-in-out,
    rotate 0.2s ease-in-out 0.1s
  ;
}
/* #endregion グローバルナビ */


/* ------------------------------------------------ */
/* #region - フッターナビ  */
/* ------------------------------------------------ */
/* フッターレイアウト */
.c-footerNav {
  padding-top: 80px;
  padding-bottom: 40px;
  @media (min-width: 769px) {
    padding-top: 101px;
    padding-bottom: 0px;
  }
}
.c-footerNav__inner{
}
.c-footerNav__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 80px;
  @media (min-width: 769px) {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding-right: 26px;
    padding-bottom: 56px;
  }
}
.c-footerNav__bottom {
  border-top: 1px solid rgb(255 255 255 / 8%);
  padding-top: 40px;
  @media (min-width: 769px) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: none;
    padding-top: 56px;
    padding-bottom: 56px;
  }
}
.c-footerNav__logo {
  margin-bottom: 80px;
  @media (min-width: 769px) {
    margin-bottom: 0;
  }
}
.c-footerNav__main {
}
.c-footerNav__sub {
  margin-bottom: 40px;
  @media (min-width: 769px) {
    margin-bottom: 0;
  }
}
.c-footerNav__copyright {
  color: var(--color-white);
  font-family: var(--font-HankenGrotesk);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.6px;
  text-align: center;
  @media (min-width: 769px) {
    text-align: left;
  }
}

/* フッターメインナビ */
.c-footerMainNav {
}
.c-footerMainNav__list {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 40px;
  margin-bottom: 80px;
  @media (min-width: 769px) {
    margin-bottom: 80px;
  }
}
.c-footerMainNav__item > a{
  text-decoration: none;
  font-family: var(--font-HankenGrotesk);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.48px;
  @media (min-width: 769px) {
  }
}
.c-footerMainNav__share {
  display: flex;
  justify-content: center;
  gap: 40px;
  @media (min-width: 769px) {
  }
}
.c-footerMainNav__shareIcon {
  width: 28px;
  height: 28px;
  @media (min-width: 769px) {
  }
}
/* フッターメインナビ - 状態:hover */
.c-footerMainNav__item > a{
  color: var(--color-white);
  transition: color 0.3s linear;
}
.c-footerMainNav__item > a:hover{
  color: var(--color-gold);
}

/* フッターサブナビ */
.c-footerSubNav {
  display: flex;
  flex-direction: column;
  gap: 8px;

  color: var(--color-black);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  @media (min-width: 769px) {
    flex-direction: row;
    gap: 48px;
  }
}
.c-footerSubNav__item > a{
  color: var(--color-offWhite);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  @media (min-width: 769px) {
  }
}
/* フッターサブナビ - 状態:hover */
.c-footerSubNav__item > a{
  opacity: 0.5;
  transition: opacity 0.3s linear;
}
.c-footerSubNav__item > a:hover {
  opacity: 0.25;
}


/* #endregion フッターナビ */


/* ------------------------------------------------ */
/* #region - 商品ヘッドライン  */
/* ------------------------------------------------ */

.c-productHeadline {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-offBlack);

  margin-top: 26vw;
  padding-top: 36.410256vw;
  padding-bottom: 48px;
  @media (min-width: 769px) {
    margin-top: 0;
    padding-top: 58px;
    padding-bottom: 58px;
  }
}
.c-productHeadline__image {
  position: absolute;
  top: 0%;
  left: 0;
  width: 96%;
  translate: 0 -50%;
  @media (min-width: 769px) {
    position: relative;
    flex: 0 0 50%;
    translate: 0 0%;
  }
}
.c-productHeadline__photo {
  position: relative;
  line-height: 0;
  @media (min-width: 769px) {
    width: 100%;
    height: 389px;
  }
}
.c-productHeadline__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0px 20px 20px 0px;
}
.c-productHeadline__type {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-bottom: 1px var(--color-white) solid;

  color: var(--color-offWhite);
  font-family: var(--font-HankenGrotesk);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.28px;

  padding-left: 16px;
  padding-bottom: 16px;
  margin-bottom: 4.3vw;
  @media (min-width: 769px) {
    font-size: 54px;
    letter-spacing: 0.539px;

    padding-left: 60px;
    padding-bottom: 31px;
    margin-bottom: 31px;
  }
}
.c-productHeadline__body {
  display: flex;
  @media (min-width: 769px) {
    padding-left: 60px;
    flex: 0 0 50%;
  }
}
.c-productHeadline__bodyInner {
  padding-left: 16px;
  padding-right: 16px;
  @media (min-width: 769px) {
    padding-left: 0;
    padding-right: 16px;
    flex: 0 1 550px;
  }
}
.c-productHeadline__heading {
  color: var(--color-offWhite);
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.44px;
  margin-bottom: 32px;
}
.c-productHeadline__sup{
  font-size: 0.4em;
  line-height: 1;
  vertical-align: super;
  display: inline-flex;
  translate: 0 -100%;
}
.c-productHeadline__note {
  color: var(--color-offWhite);
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
}
.c-productHeadline__text {
  color: var(--color-offWhite);
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  margin-bottom: 40px;
}
.c-productHeadline__text:last-child {
  margin-bottom: 0px;
  @media (min-width: 769px) {
    margin-bottom: 0px;
  }
}
.c-productHeadline__link {
  margin-bottom: 40px;
  @media (min-width: 769px) {
    max-width: 358px;
  }
}
.c-productHeadline__link:last-child {
  margin-bottom: 0px;
  @media (min-width: 769px) {
    margin-bottom: 0px;
  }
}
/* 商品メディア - 修飾子:反転 */
.c-productHeadline--rev .c-productHeadline__image {
  @media (min-width: 769px) {
    order: 2;
  }
}
.c-productHeadline--rev .c-productHeadline__photo img {
  @media (min-width: 769px) {
    border-radius: 20px 0px 0px 20px;
  }
}
.c-productHeadline--rev .c-productHeadline__body {
  @media (min-width: 769px) {
    padding-left: 0;
    padding-right: 55px;
    justify-content: flex-end;
    order: 1;
  }
}
.c-productHeadline--rev .c-productHeadline__bodyInner {
  @media (min-width: 769px) {
    padding-left: 16px;
    padding-right: 0;
  }
}
.c-productHeadline--rev .c-productHeadline__type {
  @media (min-width: 769px) {
    padding-left: 40px;
  }
}

/* #endregion 商品ヘッドライン */


/* ------------------------------------------------ */
/* #region - 画像ナビ  */
/* ------------------------------------------------ */

/* 画像ナビレイアウト */
.c-imgNav {
}
.c-imgNav__full {
}
.c-imgNav__col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  @media (min-width: 769px) {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-imgNav__item {
}

/* 画像カード */
.c-imageCard {
  line-height: 0;
  position: relative;
  display: block;
}
.c-imageCard__image {
  width: 100%;
  aspect-ratio: 195/210;
  @media (min-width: 769px) {
    aspect-ratio: 720/388;
  }
}
.c-imageCard__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-imageCard__text {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;

  color: var(--color-white);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  font-size: 4.615385vw;
  letter-spacing: 0.138462vw;
  @media (min-width: 769px) {
    font-size: 1.25vw;
    letter-spacing: 0.0375vw;
  }
}
/* 画像カード - 修飾子:サイズ */
.c-imageCard--lg .c-imageCard__image {
  aspect-ratio: 390/210;
  @media (min-width: 769px) {
    aspect-ratio: 1440/388;
  }
}

/* #endregion 画像ナビ */


/* ------------------------------------------------ */
/* #region - メニュー  */
/* ------------------------------------------------ */

/* メニューレイアウト */
.c-menu {
}
.c-menu__user {
  padding-top: 40px;
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 40px;
  background-color: var(--color-offBlack);
}
.c-menu__nav {
  padding-top: 40px;
  padding-left: 24px;
  padding-right: 16px;
  padding-bottom: 40px;
}
.c-menu__sns {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding-bottom: 40px;
}
.c-menu__catArea {
  margin-bottom: 40px;
}
.c-menu__catArea:last-child{
  margin-bottom: 0;
}
.c-menu__catName {
  color: var(--color-gold);
  font-family: var(--font-HankenGrotesk);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.48px;
  margin-bottom: 8px;
}
.c-menu__list {
  padding-left: 16px;
  padding-right: 16px;
}


/* ユーザー情報 */
.c-menuUser {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-menuUser__login {
  width: 100%;
  margin-bottom: 16px;
}
.c-menuUser__about {
}
.c-menuUser__name {
  color: var(--color-white);
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 16px;
}
.c-menuUser__mypage {
  margin-bottom: 24px;
}

/* ポイント */
.c-menuPoint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
}
.c-menuPoint__labelGroup {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.c-menuPoint__numGroup {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.c-menuPoint__icon {
  width: 32px;
  height: 32px;
}
.c-menuPoint__label {
  display: flex;
  color: var(--color-white);
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%;
}
.c-menuPoint__num {
  color: var(--color-white);
  font-family: var(--font-HankenGrotesk);
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.66px;
}
.c-menuPoint__unit {
  color: var(--color-white);
  font-family: var(--font-HankenGrotesk);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.48px;
}

/* アコーディオン */
.c-menuAccordion {
}
.c-menuAccordion__item {
  border-bottom: 1px solid var(--color-black-alpha);
}
.c-menuAccordion__item:last-child {
  border-bottom-color: transparent;
}
.c-menuAccordion__button {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  padding-bottom: 12px;
}
.c-menuAccordion__text {
  font-family: var(--font-HankenGrotesk);
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.14px;
}
.c-menuAccordion__icon {
  position: relative;
  width: 25px;
  height: 25px;
  -webkit-mask-image: url(../../../images/common/icons/plus.svg);
          mask-image: url(../../../images/common/icons/plus.svg);
  background-color: var(--color-offBlack);
  opacity: 0.25;
}
.c-menuAccordion__contents {
}
/* アコーディオン - 状態:ボタンhover */
.c-menuAccordion__button {
  opacity: 1;
  transition: opacity 0.3s linear;
}
.c-menuAccordion__button:hover {
  opacity: 0.7;
}
/* アコーディオン - 状態:開閉 */
.c-menuAccordion__contents {
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s linear;
}
.c-menuAccordion__button.active .c-menuAccordion__icon {
  -webkit-mask-image: url(../../../images/common/icons/minus.svg);
          mask-image: url(../../../images/common/icons/minus.svg);
}
.c-menuAccordion__button.active + .c-menuAccordion__contents {
  height: auto;
  visibility: visible;
  opacity: 1;
}
/* アコーディオン - 修飾子:アイコン */
.c-menuAccordion__icon--link {
  -webkit-mask-image: url(../../../images/common/icons/chevron-right.svg);
          mask-image: url(../../../images/common/icons/chevron-right.svg);
}

/* 商品リスト */
.c-menuProductList {
}
.c-menuProductList__item > a{
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  text-decoration: none;
}
.c-menuProductList__image {
  width: 40px;
  height: 40px;
}
.c-menuProductList__text {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 135%;
}

/* #endregion メニュー */


/* ------------------------------------------------ */
/* #region - カート追加ボックス  */
/* ------------------------------------------------ */

.c-addedBox {
}
.c-addedBox__head {
  position: relative;
  background-color: var(--color-gold);
  border-radius: 10px 10px 0px 0px;
  padding-top: 22px;
  padding-bottom: 22px;
  border: 1px solid var(--color-black-alpha);
  border-bottom: none;
}
.c-addedBox__body {
  max-height: 64vh;
  overflow-y: auto;

  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
  padding-right: 8px;
  border: 1px solid var(--color-black-alpha);
  background-color: var(--color-white);
  @media (min-width: 769px) {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.c-addedBox__foot {
  background-color: var(--color-white);
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 0px 0px 10px 10px;

  display: flex;
  justify-content: center;
}
.c-addedBox__heading {
  color: var(--color-white);
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  padding-left: 54px;
  padding-right: 54px;
}
.c-addedBox__close {
  cursor: pointer;
  position: absolute;
  right: 16px;
  top: 50%;
  translate: 0 -50%;
  width: 28px;
  height: 28px;
}
.c-addedBox__close svg {
  width: 28px;
  height: 28px;
  pointer-events: none;
}
.c-addedBox__close path {
  fill: var(--color-white);
}
.c-addedBox__product {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-black-alpha);
  display: flex;
  justify-content: center;
}
.c-addedBox__related {
  padding-top: 16px;
}
.c-addedBox__subheading {
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  margin-bottom: 16px;
}
.c-addedBox__slider .scrollSlider__nav {
  margin-top: 8px;
}
.c-addedBox__link {
  max-width: 358px;
  width: 100%;
}

/* #endregion カート追加ボックス */


/* ------------------------------------------------ */
/* #region - Page Head  */
/* ------------------------------------------------ */

/* page系のヘッド */
.c-pageHead {
  padding-top: 64px;
  padding-bottom: 64px;
  @media (min-width: 769px) {
    background-image: url(../../../images/common/about_head.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    padding-top: 218px;
    padding-bottom: 104px;
  }
}
.c-pageHead__inner {
}
.c-pageHead__ja{
  display: inline-block;
  font-feature-settings: 'palt' on;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.24px;
  margin-bottom: 12px;
  @media (min-width: 769px) {
    font-size: 18px;
    letter-spacing: 0.36px;
    margin-bottom: 16px;
  }
}
.c-pageHead__en{
  font-family: var(--font-HankenGrotesk);
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 0.6px;
  @media (min-width: 769px) {
    font-size: 38px;
    letter-spacing: 0.76px;
  }
}
/* #endregion Page Head */


/* ------------------------------------------------ */
/* #region - パンくず  */
/* ------------------------------------------------ */

.c-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 22px;
  padding-top: 16px;
  padding-bottom: 16px;
  @media (min-width: 769px) {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
.c-breadcrumb__item, .c-breadcrumb__item > a{
  position: relative;
  text-decoration: none;

  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
}
.c-breadcrumb__item::before {
  position: absolute;
  top: 50%;
  translate: 100% -50%;
  right: -5px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M4.29504 8.29L6.58504 6L4.29504 3.705L5.00004 3L8.00004 6L5.00004 9L4.29504 8.29Z" fill="%232A2727"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.c-breadcrumb__item:last-child::before{
  display: none;
}

/* #endregion パンくず */


/* ------------------------------------------------ */
/* #region - 商品概要  */
/* ------------------------------------------------ */

.c-productAbout {
  position: relative;
  background: var(--color-offBlack);
}
.c-productAbout__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 0;
}
.c-productAbout__bg img {
  width: 100%;
  height: auto;
}
.c-productAbout__head {
  position: relative;
}
.c-productAbout__gradBridge {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 102.564103vw;
  translate: 0 50%;
  background: linear-gradient(
    180deg,
    transparent 0%,
    var(--color-offBlack) 50%,
    transparent 100%
  );
  @media (min-width: 769px) {
    height: 27.777778vw;
  }
}
.c-productAbout__body {
  margin-top: -105px;
  position: relative;

  display: flex;
  flex-direction: column;
  align-items: center;
  @media (min-width: 769px) {
    margin-top: 0px;
    padding-top: 64px;
  }
}
.c-productAbout__hero {
  line-height: 0;
}
.c-productAbout__hero img {
  width: 100%;
  height: auto;
}
.c-productAbout__heading {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;

  padding-top: 48px;
  padding-left: 24px;
  @media (min-width: 769px) {
    justify-content: center;
  }
}
.c-productAbout__title {
  color: var(--color-offWhite);
  font-family: var(--font-HankenGrotesk);
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.4px;
  margin-bottom: 8px;
}
.c-productAbout__eyelash {
  color: var(--color-white);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%;
}
.c-productAbout__copy {
  color: var(--color-offWhite);
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.44px;
  margin-bottom: 16px;
}
.c-productAbout__eyelashEng {
  color: var(--color-gold);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 0.8px;
  margin-bottom: 48px;
}
.c-productAbout__text {
  color: var(--color-white);
  text-align: center;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 240%;
  margin-bottom: 16px;
}
.c-productAbout__image {
  line-height: 0;
  max-width: 358px;
  padding-top: 32px;
  padding-bottom: 32px;
  margin-bottom: 32px;
  @media (min-width: 769px) {
    margin-bottom: 16px;
  }
}
.c-productAbout__image img {
  width: 100%;
  height: auto;
}
.c-productAbout__recommend {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 64px;
  max-width: 358px;
  @media (min-width: 769px) {
    padding-bottom: 80px;
  }
}

/* おすすめ */
.c-productRecommend {
  position: relative;
}
.c-productRecommend__head {
  margin-bottom: 24px;
}
.c-productRecommend__body {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 10px;
  border: 1px solid var(--color-white-alpha);

  display: flex;
  justify-content: center;
}
.c-productRecommend__eyebrow {
  color: var(--color-gold);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.11px;
  margin-bottom: 8px;
}
.c-productRecommend__heading {
  text-align: center;
  color: var(--color-offWhite);
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}
.c-productRecommend__list {
}
.c-productRecommend__item {
  display: flex;
  gap: 16px;
  align-items: center;
  border-bottom: 1px solid var(--color-white-alpha);
  padding-top: 8px;
  padding-bottom: 8px;
}
.c-productRecommend__item:last-child{
  border-bottom: none;
}
.c-productRecommend__icon {
}
.c-productRecommend__text {
  color: var(--color-white);
  text-align: left;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

/* #endregion 商品概要 */


/* ------------------------------------------------ */
/* #region - 関連一覧  */
/* ------------------------------------------------ */
.c-relatedList {
}
.c-relatedList__heading {
  margin-bottom: 32px;
  @media (min-width: 769px) {
    margin-bottom: 48px;
  }
}
.c-relatedList__body {
}

.c-relatedHeading {
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%;
}

/* #endregion 関連一覧 */


/* #endregion Blocks */
