@charset "UTF-8";


/* ---------------------------------------------------------------- */
/* #region Product Layout  */
/* ---------------------------------------------------------------- */
.product {
}
.product__fixedArea {
  position: fixed;
  z-index: 2;
  bottom: 16px;
  left: 0;
  width: 100%;
  padding-left: 16px;
  padding-right: 16px;

  display: flex;
  justify-content: center;
}
.product__fixedButton {
  width: 100%;
  max-width: 358px;
}

.product__breadcrumb {
}
.product__top {
  padding-top: 0;
  padding-bottom: 40px;
  @media (min-width: 769px) {
    padding-top: 32px;
    padding-bottom: 80px;
  }
}
.product__nav {
  background-color: var(--color-white);
  padding-top: 64px;
  padding-bottom: 64px;
  @media (min-width: 769px) {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
.product__ingredients {
  background-color: var(--color-white);
  padding-bottom: 64px;
  @media (min-width: 769px) {
    padding-bottom: 64px;
  }
}
.product__about {
}
.product__points {
}
.product__points__hero {
  width: 100%;
  line-height: 0;
}
.product__points__hero img {
  width: 100%;
  height: auto;
}
.product__points__body {
  background-image: url(../../../images/common/products/points_bg_repeat.webp);
  background-repeat: repeat-y;
  background-size: 100% auto;
  padding-top: 64px;
  padding-bottom: 64px;
  @media (min-width: 769px) {
    padding-top: 80px;
    padding-bottom: 160px;
  }
}
.product__variety {
}
.product__instructions {
  padding-top: 64px;
  padding-bottom: 32px;
  @media (min-width: 769px) {
    padding-top: 64px;
    padding-bottom: 32px;
  }
}
.product__review {
  padding-top: 32px;
  padding-bottom: 64px;
  @media (min-width: 769px) {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
.product__related {
  padding-top: 32px;
  padding-bottom: 54px;
  @media (min-width: 769px) {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
.product__faq {
  padding-top: 32px;
  padding-bottom: 32px;
  @media (min-width: 769px) {
    padding-top: 64px;
    padding-bottom: 32px;
  }
}
.product__history {
  padding-top: 32px;
  padding-bottom: 64px;
  @media (min-width: 769px) {
    padding-top: 32px;
    padding-bottom: 118px;
  }
}

/* #endregion Product Layout */


/* ---------------------------------------------------------------- */
/* #region Product Common Components */
/* ---------------------------------------------------------------- */

/* 画像フレーム */
.imgFrame {
  box-sizing: border-box;
  border: 1px solid var(--color-black-alpha);
}

/* セクション見出し */
.productHeading {
}
.productHeading__eyebrow {
  color: var(--color-gold);
  font-family: var(--font-HankenGrotesk);
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.13px;
}
.productHeading__text {
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.44px;
}

/* アコーディオン */
.productAccordion {
}
.productAccordion__item {
  border-left: 1px solid var(--color-black-alpha);
  border-right: 1px solid var(--color-black-alpha);
  border-bottom: 1px solid var(--color-black-alpha);
}
.productAccordion__item:first-child {
  border-top: 1px solid var(--color-black-alpha);
}
.productAccordion__button {
  cursor: pointer;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 16px;
  padding-right: 16px;
}
.productAccordion__text {
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%;
}
.productAccordion__icon {
  flex: 0 0 16px;
  position: relative;
  width: 16px;
  height: 16px;
  -webkit-mask-image: url(../../../images/common/icons/plus.svg);
          mask-image: url(../../../images/common/icons/plus.svg);
  -webkit-mask-size: 16px 16px;
          mask-size: 16px 16px;
  background-color: var(--color-offBlack);
  opacity: 0.5;
}
.productAccordion__contents {
  padding-left: 16px;
  padding-right: 16px;
}
/* アコーディオン - 状態 */
.productAccordion__button {
  opacity: 1;
  transition: opacity 0.3s linear;
}
.productAccordion__button:hover {
  opacity: 0.7;
}
.productAccordion__contents {
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s linear;
}
.productAccordion__button.active .productAccordion__icon {
  -webkit-mask-image: url(../../../images/common/icons/minus.svg);
          mask-image: url(../../../images/common/icons/minus.svg);
}
.productAccordion__button.active + .productAccordion__contents {
  height: auto;
  visibility: visible;
  opacity: 1;
}
/* アコーディオン - 修飾子:色 */
.productAccordion--gray {
  background: var(--color-lightGray);
}
/* アコーディオン - 修飾子:アイテム幅 */
.productAccordion--space .productAccordion__item {
  margin-bottom: 16px;
}
/* アコーディオン - 修飾子:アイテム背景 */
.productAccordion__item--white{
  background: var(--color-white);
}
/* アコーディオン - 修飾子:アイコン付きテキスト */
.productAccordion__text--icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* ボックス */
.productBox {
}
.productBox__head {
  background-color: rgba(184, 153, 107, 0.25);
  border-radius: 10px 10px 0px 0px;
  padding-top: 22px;
  padding-bottom: 22px;
  border: 1px solid var(--color-black-alpha);
  border-bottom: none;
}
.productBox__body {
  padding-top: 32px;
  padding-bottom: 32px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 0px 0px 10px 10px;
  border: 1px solid var(--color-black-alpha);
  background: var(--color-white);
  @media (min-width: 769px) {
    padding-left: 64px;
    padding-right: 64px;
    padding-bottom: 64px;
  }
}
.productBox__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;
}
.productBox__heading {
  color: var(--color-gold);
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}
/* ボックス - 修飾子:色 */
.productBox--instructions .productBox__head {
  background: var(--color-gold);
}
.productBox--instructions .productBox__heading{
  color: var(--color-offWhite);
}
.productBox--instructions .productBox__eyebrow {
  color: var(--color-offWhite);
}

/* #endregion Product Common Components */


/* ---------------------------------------------------------------- */
/* #region Product Top  */
/* ---------------------------------------------------------------- */

/* トップレイアウト */
.productTop {
  @media (min-width: 769px) {
    display: flex;
    gap: 32px;
    justify-content: space-between;
  }
}
.productTop__gallery {
  margin-bottom: 64px;
  @media (min-width: 769px) {
    flex: 0 1 390px;
    min-width: 0;
    margin-bottom: 0;
  }
}
.productTop__body {
  @media (min-width: 769px) {
    flex: 0 1 550px;
  }
}
.productTop__info {
}
.productTop__tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 2px;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);

  font-family: var(--font-HankenGrotesk);
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.13px;

  margin-bottom: 16px;
}
.productTop__title {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 16px;
}
.productTop__name {
  word-break: break-word;

  font-family: var(--font-HankenGrotesk);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.28px;
}
.productTop__favorite {
  flex: 0 0 32px;
  line-height: 0;
}
.productTop__favorite button {
  all: unset;
  box-sizing: inherit;
  line-height: 0;
  text-decoration: none;
  cursor: pointer;
}
.productTop__subTitle {
  margin-bottom: 16px;
}
.productTop__subName {
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;
}
.productTop__overview {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  margin-bottom: 40px;
}
.productTop__register {
  margin-bottom: 40px;
}
.productTop__actions {
}
.productTop__cart {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}
.productTop__link {
  display: flex;
  gap: 8px;
}

/* ギャラリー(jsコンポーネント) */
.gallery {
  @media (min-width: 769px) {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.gallery__disp {
  margin-bottom: 16px;
}
.gallery__disp img {
  width: 100%;
  height: auto;
}
.gallery__list {
}
.gallery__scroller {
  display: flex;
  gap: 4.102564vw;
  @media (min-width: 769px) {
    gap: 16px;
  }
}
.gallery__item {
  flex: 0 0 27.692308vw;
  @media (min-width: 769px) {
    flex: 0 0 108px;
  }
}
.gallery__item img {
  cursor: pointer;
  width: 100%;
  height: auto;
  border: 1px solid var(--color-black-alpha);
}

/* レジスター(jsコンポーネント) */
.register {
  background: var(--color-lightGray);
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 16px;
  padding-right: 16px;
}
.register__type {
  margin-bottom: 24px;
}
.register__size {
  margin-bottom: 24px;
}
/* .register__select {
  margin-bottom: 24px;
} */
.register__calc {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.register__quantity {
}
.register__total {
  display: flex;
  align-items: center;
  gap: 2px;
}
.register__yen {
  font-family: var(--font-HankenGrotesk);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.6px;
}
.register__price {
  font-family: var(--font-HankenGrotesk);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.84px;
}
.register__tax {
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 135%;
}
.register__totalRow {
  display: flex;
  align-items: center;
}
/* レジスター(jsコンポーネント) - 修飾子:セール */
.register__total--sale{
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.register__totalRow--origin {
  opacity: 0.25;
}
.register__totalRow--origin .register__yen {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.45px;
  text-decoration-line: line-through;
}
.register__totalRow--origin .register__price {
  font-size: 21px;
  font-weight: 400;
  letter-spacing: 0.63px;
  text-decoration-line: line-through;
}
.register__totalRow--origin .register__tax {
  font-size: 7.5px;
}
.register__totalRow--sale {
  color: var(--color-red);
}


/* レジラジオボタン */
.registerRadio {
  width: 100%;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}
.registerRadio--single {
  grid-template-columns: repeat(1, 1fr);
}
.registerRadio__item {
}
.registerRadio input[type="radio"] {
  display: none;
}
.registerRadio label {
  display: block;
  cursor: pointer;
  width: 100%;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;
  text-align: center;

  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 12px;
  padding-right: 12px;
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: var(--color-offBlack);
}
.registerRadio__note {
  display: block;
  color: var(--color-red);
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
/* レジラジオボタン - 状態:チェック */
.registerRadio label {
  opacity: 0.25;
}
.registerRadio input[type="radio"]:checked + label {
  opacity: 1;
}

/* レジセレクト */
/* .registerSelect {
  position: relative;
}
.registerSelect select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border: none;
  border-radius: 0;

  width: 100%;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 12px;
  padding-right: 12px;
  border-top: 2px solid var(--color-offBlack);

  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;

  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M6.675 7.65002L10.5 11.475L14.325 7.65002L15.5 8.83336L10.5 13.8334L5.5 8.83336L6.675 7.65002Z' fill='%232A2727'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
} */

/* カウンター */
.counter {
  display: flex;
  align-items: center;
}
.counter__minus,
.counter__plus {
  all: unset;
  cursor: pointer;
  display: inline-block;
  width: 24px;
  height: 24px;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color-offBlack);
}
.counter__minus {
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M6 12H18" stroke="black" stroke-width="2" stroke-linecap="round"/%3E%3C/svg%3E');
          mask-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M6 12H18" stroke="black" stroke-width="2" stroke-linecap="round"/%3E%3C/svg%3E');
}
.counter__plus {
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M12 6V18M6 12H18" stroke="black" stroke-width="2" stroke-linecap="round"/%3E%3C/svg%3E');
          mask-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M12 6V18M6 12H18" stroke="black" stroke-width="2" stroke-linecap="round"/%3E%3C/svg%3E');
}
.counter__value {
  all: unset;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  width: 40px;
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.6px;
}

/* 外部リンクボタン */
.externalButton {
  all: unset;
  cursor: pointer;
  line-height: 0;
  box-sizing: inherit;
  display: inline-flex;
  justify-content: center;
  align-items: center;

  position: relative;
  padding: 11px 16px;
  border-radius: 100px;
  border: 1px solid var(--color-black-alpha);
  width: 100%;
  text-align: center;

  color: var(--color-offBlack);
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
/* 外部リンクボタン - 状態 */
.externalButton {
  background-color: var(--color-white);
  transition: opacity 0.3s linear;
}
.externalButton:hover {
  opacity: 0.7;
}

/* #endregion Product Top */


/* ---------------------------------------------------------------- */
/* #region Product 成分  */
/* ---------------------------------------------------------------- */

/* 成分レイアウト */
.ingredients {
}
.ingredients__heading {
  margin-bottom: 24px;
}
.ingredients__row {
  margin-bottom: 24px;
}
.ingredients__row:last-child{
  margin-bottom: 0;
}

/* 成分表 */
.productTable {
  border-collapse: collapse;
  width: 100%;
}
.productTable tbody tr:nth-child(odd) {
  background-color: var(--color-lightGray);
}
.productTable tbody tr:nth-child(even) {
  background-color: var(--color-white);
}
.productTable .c1{ /*col1*/
  width: 40%;
  padding-left: max(2.051282vw, 8px);
  padding-right: max(1.025641vw, 4px);
  @media (min-width: 769px) {
    padding-left: 16px;
    padding-right: 4px;
    width: 50%;
  }
}
.productTable .c2{ /*col2*/
  width: 60%;
  padding-left: min(1.025641vw, 4px);
  padding-right: min(2.051282vw, 8px);
  @media (min-width: 769px) {
    padding-left: 4px;
    padding-right: 16px;
    width: 50%;
  }
}
.productTable th {
  font-size: min(2.820513vw, 11px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  padding-top: min(2.051282vw, 8px);
  padding-bottom: min(2.051282vw, 8px);
  text-align: left;
  @media (min-width: 769px) {
    font-size: 12px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
.productTable td {
  font-family: Arial, var(--font-NotoSansJP);
  font-size: min(2.820513vw, 11px);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  padding-top: min(2.051282vw, 8px);
  padding-bottom: min(2.051282vw, 8px);
  @media (min-width: 769px) {
    font-size: 12px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
/* 成分表 - 修飾子:アレルギー */
.productTable--allergy .c1,
.productTable--allergy .c2 {
  width: 50%;
  @media (min-width: 769px) {
    width: 50%;
  }
}

/* アレルギー */
.allergy {
  list-style-type: none;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
  padding-right: 16px;
  @media (min-width: 769px) {
    padding-top: 0;
  }
}
.allergy__item, .allergy li {
  margin-bottom: 16px;
  @media (min-width: 769px) {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-black-alpha);
    margin-bottom: 0;
  }
}
.allergy__item:last-child, .allergy li:last-child{
 border-bottom: none
}
.allergy__heading, .allergy .h {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  margin-bottom: 8px;
  @media (min-width: 769px) {
    flex: 0 0 187px;
    line-height: 160%;
    margin-bottom: 0;
  }
}
.allergy__body, .allergy .bd {
  @media (min-width: 769px) {
    flex: 0 1 517px;
  }
}
.allergy__text , .allergy p {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  @media (min-width: 769px) {
    line-height: 160%;
  }
}
.allergy__note, .allergy small{
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  display: block;
}

/* #endregion Product 成分 */


/* ---------------------------------------------------------------- */
/* #region Product ポイント  */
/* ---------------------------------------------------------------- */

/* ポイント全体レイアウト*/
.pointList {
}
.pointList__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin-bottom: 40px;
}
.pointList__eyebrow {
  display: inline-block;
  padding-top: 3px;
  padding-bottom: 4px;
  padding-left: 3px;
  padding-right: 3px;
  background: rgba(184, 153, 107, 0.25);

  color: var(--color-gold);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
}
.pointList__heading {
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.44px;
}
.pointList__item {
  margin-bottom: 80px;
}
.pointList__item:last-child{
  margin-bottom: 0;
}
.pointList__row {
  margin-bottom: 40px;
  @media (min-width: 769px) {
    margin-bottom: 64px;
  }
}
.pointList__row:last-child{
  margin-bottom: 0;
}

/* ポイントメディア */
.pointMedia {
  @media (min-width: 769px) {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
  }
}
.pointMedia--start {
  @media (min-width: 769px) {
    align-items: flex-start;
  }
}
.pointMedia__body {
  margin-bottom: 24px;
  @media (min-width: 769px) {
    flex: 0 1 358px;
    margin-bottom: 0;
  }
}
.pointMedia__figure {
  @media (min-width: 769px) {
    width: 358px;
    flex: 0 0 358px;
  }
}
.pointMedia__figure img {
  width: 100%;
  height: auto;
}
.pointMedia__figureRow {
  margin-bottom: 24px;
}
.pointMedia__figureRow:last-child{
  margin-bottom: 0;
}
.pointMedia__heading {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  @media (min-width: 769px) {
    justify-content: flex-start;
    margin-bottom: 40px;
  }
}
.pointMedia__subheading {
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 24px;
}
.pointMedia__text {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  margin-bottom: 24px;
}
.pointMedia__text:last-child {
  margin-bottom: 0;
  @media (min-width: 769px) {
    margin-bottom: 0;
  }
}
.pointMedia__note {
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
}
.pointMedia__link {
  margin-top: 24px;
  @media (min-width: 769px) {
    margin-top: 40px;
  }
}

/* ポイント見出し */
.pointHeading {
  display: flex;
  width: 100%;
}
.pointHeading__num {
  flex: 0 0 77px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 22px;
  padding-right: 22px;
  border-top: 2px solid var(--color-gold);
  border-bottom: 2px solid var(--color-gold);

  color: var(--color-gold);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
}
.pointHeading__note {
  display: block;
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.11px;
}
.pointHeading__text {
  flex: 1;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  color: var(--color-gold);
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;

  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
  padding-right: 16px;
  border-top: 1px solid var(--color-gray);
  border-bottom: 1px solid var(--color-gray);
}

/* ポイントALL見出し */
.pointAllHeading {
  width: 100%;
}
.pointAllHeading__eyebrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: -1px;
}
.pointAllHeading__eyebrowJa {
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.11px;
}
.pointAllHeading__eyebrowEn {
  display: inline-block;
  border-bottom: 2px solid var(--color-gold);
  padding-left: 5px;
  padding-right: 5px;

  color: var(--color-gold);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
}
.pointAllHeading__text {
  width: 100%;
  min-height: 81px;
  display: flex;
  align-items: center;
  justify-content: center;

  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 38px;
  padding-right: 38px;
  border-top: 1px solid var(--color-gray);
  border-bottom: 1px solid var(--color-gray);

  color: var(--color-gold);
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
}

/* UL-10乳酸菌リスト */
.ul10MediaList {
}
.ul10MediaList__row{
  margin-bottom: 32px;
  @media (min-width: 769px) {
    margin-bottom: 48px;
  }
}
.ul10MediaList__row:last-child{
  margin-bottom: 0;
}

/* UL-10乳酸菌メディア */
.ul10Media {
}
.ul10Media__heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding-left: 4px;

  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;

  margin-bottom: 24px;
  @media (min-width: 769px) {
    margin-bottom: 16px;
  }
}
.ul10Media__heading::before{
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: var(--color-gold);
  rotate: 45deg;
}
.ul10Media__body {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ul10Media__image {
  text-align: center;
  margin-bottom: 24px;
  @media (min-width: 769px) {
    max-width: 326px;
    margin-bottom: 16px;
  }
}
.ul10Media__image img {
  width: 100%;
  height: auto;
}
.ul10Media__text {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  margin-bottom: 16px;
}
.ul10Media__text:last-child{
  margin-bottom: 0;
}
.ul10Media__note {
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
}
/* UL-10乳酸菌メディア - 修飾子:位置 */
.ul10Media__body--start{
  align-items: flex-start;
}


/* アミノ酸 */
.amino {
}
.amino__heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding-left: 4px;

  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;

  margin-bottom: 24px;
  @media (min-width: 769px) {
    margin-bottom: 16px;
  }
}
.amino__body {
  margin-bottom: 48px;
}
.amino__text {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  margin-bottom: 2em;
}
.amino__slider {
  @media (min-width: 769px) {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* 配合一覧 */
.blendList {
  background: var(--color-white);
  padding-top: 32px;
  padding-bottom: 32px;
  padding-left: 16px;
  padding-right: 16px;
}
.blendList__head {
  display: flex;
  margin-bottom: min(3.076923vw, 12px);
  @media (min-width: 769px) {
    margin-bottom: 12px;
  }
}
.blendList__list {
}
.blendList__foot {
  margin-top: 12px;
}
.blendList__spacer {
  flex: 0 0 50%;
}
.blendList__heading {
  flex: 0 0 50%;

  width: 100%;
  padding-left: min(4.102564vw,16px);
  padding-right: min(4.102564vw,16px);
  padding-top: min(1.538462vw,6px);
  padding-bottom: min(1.538462vw,6px);
  border-radius: min(12.820513vw, 50px);
  background: var(--color-gold);

  color: var(--color-white);
  text-align: center;
  font-size: min(3.076923vw, 12px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  @media (min-width: 769px) {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 6px;
    padding-bottom: 6px;
    border-radius: 50px;
    font-size: 12px;
  }
}
.blendList__item {
  display: flex;
  background: var(--color-offWhite);
  padding-top: min(2.307692vw,9px);
  padding-bottom: min(2.307692vw,9px);
  padding-left: min(4.102564vw,16px);
  border-radius: min(10.256410vw,40px);
  margin-bottom: min(0.512821vw,2px);
  @media (min-width: 769px) {
    padding-top: 9px;
    padding-bottom: 9px;
    padding-left: 16px;
    border-radius: 40px;
    margin-bottom: 2px;
  }
}
.blendList__name {
  font-size: min(3.333333vw, 13px);
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
  flex: 0 0 60%;
  @media (min-width: 769px) {
    flex: 0 0 60%;
    font-size: 13px;
  }
}
.blendList__value {
  font-family: Arial, var(--font-NotoSansJP);
  text-align: center;
  font-size: min(3.076923vw, 12px);
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  flex: 0 0 28%;
  @media (min-width: 769px) {
    flex: 0 0 28%;
    font-size: 12px;
  }
}
.blendList__note {
  font-size: min(2.564103vw, 10px);
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  @media (min-width: 769px) {
    font-size: 10px;
  }
}

/* 配合ボックス */
.blendBox {
}
.blendBox__heading {
  color: var(--color-gold);
  text-align: center;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;
  border: 1px solid var(--color-black-alpha);
  background: rgba(184, 153, 107, 0.25);
}
.blendBox__body {
}

/* 栄養素スライダー */
.nutrientSlider {
}
.nutrientSlider__wrapper {
  box-sizing: border-box;
}
.nutrientSlider__slide {
  height: auto;
}
.nutrientSlider__slide img {
  width: 100%;
  height: auto;
}
.nutrientSlider__navs {
  pointer-events: none;
  position: absolute;
  z-index: 1;
  top: calc(50% - 9px);
  left: 0;
  width: 100%;
  translate: 0 -50%;
  display: flex;
  justify-content: space-between;
  padding-left: 4.102564vw;
  padding-right: 4.102564vw;
  @media (min-width: 769px) {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nutrientSlider__prev,
.nutrientSlider__next {
  pointer-events: auto;
  width: 16px;
  height: 24px;
  cursor: pointer;
  @media (min-width: 769px) {
    width: 16px;
    height: 24px;
  }
}
.nutrientSlider__prev svg,
.nutrientSlider__next svg {
  fill: var(--color-offWhite);
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));
  width: 100%;
  height: auto;
}
.nutrientSlider__paginations {
  margin-top: 16px;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
}
.nutrientSlider__pagination {
  width: 136px;
  display: flex;
  gap: 8px;
}
/* 栄養素スライダー - 状態 */
.nutrientSlider__prev,
.nutrientSlider__next {
  opacity: 1;
}
.swiper-button-disabled.nutrientSlider__prev,
.swiper-button-disabled.nutrientSlider__next {
  opacity: 0.2;
}
/* 栄養素スライダー - 修飾子:位置 */
/* トップ基準の位置 */
.nutrientSlider__navs--top {
  top: 32.051282vw;
  @media (min-width: 769px) {
    top: 125px;
  }
}


/* 栄養素カード */
.nutrientCard {
  height: 100%;
  background-color: var(--color-white);
  border: 1px solid var(--color-black-alpha);
}
.nutrientCard__image {
  line-height: 0;
}
.nutrientCard__image img {
  border-bottom: 1px solid var(--color-black-alpha);
}
.nutrientCard__body {
  padding: 24px;
}
.nutrientCard__heading {
  color: var(--color-gold);
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 16px;
}
.nutrientCard__text {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
}

/* 栄養素メディア */
.nutrientMedia {
  @media (min-width: 769px) {
    display: flex;
    align-items: center;
  }
}
.nutrientMedia__image {
  line-height: 0;
  border: 1px solid var(--color-black-alpha);
  border-bottom: none;
  @media (min-width: 769px) {
    border: none;
    flex: 0 1 358px;
    max-width: 50%;
  }
}
.nutrientMedia__image img {
  border: 1px solid var(--color-black-alpha);
}
.nutrientMedia__body {
  padding: 24px;
  border: 1px solid var(--color-black-alpha);
  border-top: none;
  @media (min-width: 769px) {
    flex: 0 1 358px;
    border: none;
  }
}
.nutrientMedia__heading {
  color: var(--color-gold);
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 16px;
}
.nutrientMedia__eyelash {
  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: 16px;
}
.nutrientMedia__text {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
}

/* 画像による詳細説明 */
.imageDesc {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.imageDesc img {
  display: block;
  max-width: 630px;
  width: 100%;
  height: auto;
}

/* #endregion Product 4つのポイント */


/* ---------------------------------------------------------------- */
/* #region Product 種類  */
/* ---------------------------------------------------------------- */
.varietyCard {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-offBlack);

  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 71.025641vw;
  padding-bottom: 6.153846vw;

  border-left: 1px solid var(--color-white);
  border-right: 1px solid var(--color-white);
  @media (min-width: 769px) {
    padding-top: 19.236111vw;
    padding-bottom: 1.666667vw;
  }
}
.varietyCard__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
}
.varietyCard__text {
  flex: 1;
  position: relative;
  max-width: 61.025641vw;

  color: var(--color-offWhite);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;

  margin-bottom: 4.102564vw;
  @media (min-width: 769px) {
    max-width: 16.527778vw;
    font-size: 0.972222vw;
    margin-bottom: 1.111111vw;
  }
}
.varietyCard__name {
  position: relative;
  color: var(--color-offWhite);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  font-size: 7.179487vw;
  letter-spacing: 0.071795vw;
  margin-bottom: 2.051282vw;
  @media (min-width: 769px) {
    font-size: 1.944444vw;
    letter-spacing: 0.019444vw;
    margin-bottom: 0.555556vw;
  }
}
.varietyCard__tag {
  position: relative;
  display: inline-block;
  padding-top: 0.512821vw;
  padding-bottom: 0.512821vw;
  padding-left: 2.051282vw;
  padding-right: 2.051282vw;
  border: 1px solid var(--color-gold);
  border-radius: 2px;
  color: var(--color-gold);
  font-family: var(--font-HankenGrotesk);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  font-size: 3.333333vw;
  letter-spacing: 0.033333vw;
  margin-bottom: 4.102564vw;
  @media (min-width: 769px) {
    font-size: 0.902778vw;
    letter-spacing: 0.009028vw;
    padding-top: 0.138889vw;
    padding-bottom: 0.138889vw;
    padding-left: 0.555556vw;
    padding-right: 0.555556vw;
    margin-bottom: 1.111111vw;
  }
}
.varietyCard__link {
  position: relative;
  width: 100%;
  padding-left: 4.615385vw;
  padding-right: 4.615385vw;
  @media (min-width: 769px) {
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }
}

/* #endregion Product 種類 */


/* ---------------------------------------------------------------- */
/* #region Product お召し上がり方  */
/* ---------------------------------------------------------------- */

.instructions {
}
.instructions__text {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  margin-bottom: 24px;
  @media (min-width: 769px) {
    text-align: center;
  }
}
.instructions__body {
  @media (min-width: 769px) {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
  }
}
.instructions__list {
  margin-bottom: 24px;
  @media (min-width: 769px) {
    flex: 0 1 259px;
    margin-bottom: 0;
  }
}
.instructions__image {
  @media (min-width: 769px) {
    flex: 0 1 326px;
  }
}
.instructions__image img {
  width: 100%;
  height: auto;
}
.instructions__item {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}
.instructions__item:last-child{
  margin-bottom: 0;
}
.instructions__num {
  color: var(--color-gold);
  text-align: center;
  font-family: var(--font-HankenGrotesk);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
  border-radius: 20px;
  background-color: #EAE3D9;
  padding: 2.5px 15px 3.5px 15px;
}
.instructions__step {
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%;
}

/* #endregion Product お召し上がり方 */


/* ---------------------------------------------------------------- */
/* #region Product レビュー  */
/* ---------------------------------------------------------------- */

/* レビュー */
.review {
}
.review__heading {
  margin-bottom: 32px;
}
.review__body {
}

/* レビューグリッド */
.reviewGrid {
  display: flex;
  gap: 16px;
  padding-left: 16px;
  padding-right: 16px;
  @media (min-width: 769px) {
    padding-left: 0;
    padding-right: 0;
  }
}
.reviewGrid__item {
  flex: 0 0 224px;
  @media (min-width: 769px) {
    flex: 0 0 334px;
  }
}

/* レビューカード */
.reviewCard {
  width: 100%;
  height: 100%;
  padding-top: 16px;
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  background-color: var(--color-white);
  border: 1px solid var(--color-black-alpha);
  border-radius: 10px;
  @media (min-width: 769px) {
    min-height: 336px;
  }
}
.reviewCard__title {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  margin-bottom: 24px;
}
.reviewCard__content {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
}

/* レビュー投稿 */
.review__post {
  margin-top: 24px;
}
.review__post label {
  display: block;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 8px;
}
.review__post input, .review__post select, .review__post textarea {
  width: 100%;
  margin-bottom: 10px;
  @media (min-width: 769px) {
    max-width: 334px;
  }
}
.review__post button {
  display: block;
}


/* #endregion Product レビュー */


/* ---------------------------------------------------------------- */
/* #region Product 関連商品  */
/* ---------------------------------------------------------------- */

/* #endregion Product 関連商品 */


/* ---------------------------------------------------------------- */
/* #region Product FAQ  */
/* ---------------------------------------------------------------- */

/* 回答 */
.answer {
  padding-top: 16px;
  padding-bottom: 36px;
  padding-left: 8px;
  padding-right: 8px;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  @media (min-width: 769px) {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* 留意事項 */
.attention {
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 36px;
  @media (min-width: 769px) {
    padding-top: 16px;
    padding-bottom: 36px;
  }
}
.attention__item {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  margin-bottom: 8px;
}
.attention__item:last-child{
  margin-bottom: 0;
}

/* #endregion Product FAQ */


/* ---------------------------------------------------------------- */
/* #region Product チェックした製品  */
/* ---------------------------------------------------------------- */
.productHistory {
}
.productHistory__heading {
  margin-bottom: 32px;
  @media (min-width: 769px) {
    margin-bottom: 48px;
  }
}
.productHistory__body {
}

/* #endregion Product チェックした製品 */
