@charset "UTF-8";
/* stylelint-disable color-hex-case */
/**
 * 本文（通常）
 */
/**
 * リンク
 */
/**
 * 大見出し（h2）
 */
/**
 * ブランドページ：VITAL LIFE セクション
 * PC: 横並び（タイトル左・説明右） / SP: 縦積み・中央揃え
 * Figma PC node-id=2191-31693 / SP node-id=1957-152718
 */
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionVitalLife {
    padding-block: 13.125rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionVitalLife {
    padding-block: 8.5714285714rem 11.4285714286rem;
  }
}

.p-pageBrandsSectionVitalLife-inner {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionVitalLife-inner {
    width: 85rem;
    width: 100%;
    max-width: 1360px;
    padding-inline: 40px;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionVitalLife-inner {
    width: 23.3571428571rem;
    width: 100%;
    padding-inline: 24px;
  }
}
.p-pageBrandsSectionVitalLife-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionVitalLife-inner {
    flex-direction: row;
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionVitalLife-inner {
    flex-direction: column;
    gap: 1.7142857143rem;
    text-align: center;
    width: fit-content;
  }
}

.p-pageBrandsSectionVitalLife-title {
  font-family: "Roboto SemiBold", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 600;
  color: #242424;
  text-transform: uppercase;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionVitalLife-title {
    font-size: 5.4375rem;
    line-height: 0.9;
    letter-spacing: -0.02em;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionVitalLife-title {
    font-size: 3.7142857143rem;
    line-height: 0.9;
    letter-spacing: -0.02em;
  }
}

@media screen and (max-width:767px) {
  .p-pageBrandsSectionVitalLife-description {
    max-width: 17.2142857143rem;
    margin-left: 0;
    margin-right: auto;
    text-align: start;
  }
}

.p-pageBrandsSectionVitalLife-descriptionLine {
  margin: 0;
  font-family: "midashi", "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #242424;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionVitalLife-descriptionLine {
    font-size: 1.625rem;
    line-height: 1.49;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionVitalLife-descriptionLine {
    font-size: 1.0714285714rem;
    line-height: 1.49;
    text-align: start;
  }
  .p-pageBrandsSectionVitalLife-descriptionLine:not(:first-child) {
    margin-top: 0.25em;
  }
}

/**
 * ブランドページ：ブランドラインアップセクション
 * デザイン出典: Figma PC node-id=1957-150947 / SP node-id=1957-152722, 1957-152812, 1957-152694
 */
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup {
    margin-top: 3.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup {
    margin-top: 0rem;
  }
}

.p-pageBrandsSectionBrandLineup-inner {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-inner {
    gap: 7.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-inner {
    gap: 0rem;
  }
}

/**
 * Block: ReFa Brand Line
 */
.p-pageBrandsSectionBrandLineup-block.-refaBrandLine {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList {
    gap: 4.375rem;
  }
}
.p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse {
  width: 100%;
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse {
    gap: 1.1428571429rem;
  }
}
.p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-image {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f4f6f6;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-image {
    width: min(14.7vw, 230px);
    border-radius: 0.125rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-image {
    width: min(29.9vw, 113px);
    border-radius: 0.1428571429rem;
  }
}
.p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-image .c-cardBrandUniverse-img {
  width: 70%;
  height: auto;
}
.p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content {
    height: 14.375rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content {
    padding-top: 1.4285714286rem;
  }
}
.p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-categoryText {
    font-size: 1rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-categoryText {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-main {
    margin-top: 1.125rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-main {
    margin-top: 0.8571428571rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-main .c-cardBrandUniverse-title {
    font-size: 1.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-main .c-cardBrandUniverse-title {
    font-size: 1.4285714286rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-main .c-cardBrandUniverse-description {
    margin-top: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands .p-pageBrandsSectionBrandLineup-secondaryList .p-pageBrandsSectionBrandLineup-secondaryListItem .c-cardBrandUniverse .c-cardBrandUniverse-content .c-cardBrandUniverse-info .c-cardBrandUniverse-main .c-cardBrandUniverse-description {
    margin-top: 0.8571428571rem;
  }
}

.p-pageBrandsSectionBrandLineup-blockHeading .c-headingSection {
  margin-bottom: 0;
}
.p-pageBrandsSectionBrandLineup-blockHeading .c-headingSection .c-headingSection-subtitle {
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-blockHeading .c-headingSection .c-headingSection-subtitle {
    font-size: 1.125rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-blockHeading .c-headingSection .c-headingSection-subtitle {
    font-size: 1.1428571429rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-blockHeading .c-headingSection .c-headingSection-title {
    font-size: 3.25rem;
    margin-top: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-blockHeading .c-headingSection .c-headingSection-title {
    font-size: 2rem;
    margin-top: 1.1428571429rem;
  }
}

.p-pageBrandsSectionBrandLineup-blockLead {
  margin: 0;
  color: #242424;
  font-feature-settings: "palt" 1;
  font-weight: 500;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.p-pageBrandsSectionBrandLineup-blockLead:lang(en) {
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-blockLead {
    margin-top: 1.875rem;
    font-size: 1rem;
    line-height: 1.6;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-blockLead {
    margin-top: 2.2857142857rem;
    font-size: 1rem;
    line-height: 1.8;
  }
}

.p-pageBrandsSectionBrandLineup-refaList {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-refaList {
    margin-top: 3.125rem;
    display: flex;
    flex-wrap: wrap;
    gap: 5rem 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-refaList {
    margin-top: 2.2857142857rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.8571428571rem 1.1428571429rem;
  }
}

@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-refaListItem {
    width: calc((100% - 40px) / 3);
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-refaListItem {
    width: calc(50% - 1.1428571429rem / 2);
  }
}
.p-pageBrandsSectionBrandLineup-refaListItem:first-of-type .c-maskImageLinkWithSmallTitle-logo {
  transform: translate(-50%, -44%);
}

/**
 * Block: フル幅ヒーロー画像（inner 幅をはみ出してビューポート幅いっぱい）
 */
.p-pageBrandsSectionBrandLineup-block.-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-hero {
    margin-top: 8.5714285714rem;
  }
}

@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-majorBrands {
    margin-top: 8.5714285714rem;
  }
}

@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-block.-secondaryBrands {
    margin-top: 4.2857142857rem;
  }
}

.p-pageBrandsSectionBrandLineup-heroFigure {
  margin: 0;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-heroFigure {
    min-height: 46.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-heroFigure {
    min-height: 28.5714285714rem;
  }
}

/**
 * パララックス用ラッパー（ScrollTriggerHandlerParallax が translateY を適用）
 */
.p-pageBrandsSectionBrandLineup-heroParallaxChild {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.p-pageBrandsSectionBrandLineup-heroImg {
  display: block;
  width: 100%;
  height: 120%;
  min-height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-heroImg {
    min-height: 46.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-heroImg {
    min-height: 28.5714285714rem;
  }
}

/**
 * Block: メジャーブランド（MaskImageLinkWithTitle x6）
 * PC: subgrid でサブタイトル／タイトル／リード／画像の行を列間で共有し、リード行数差でも画像上端を揃える
 */
.p-pageBrandsSectionBrandLineup-majorList {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: 0;
    /* 1行目〜3行目: テキスト系 min-content、4行目: 画像 */
    grid-auto-rows: min-content min-content min-content auto;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-majorList {
    display: flex;
    flex-direction: column;
    gap: 1.4285714286rem;
  }
}

@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorListItem {
    min-width: 0;
    width: 100%;
    max-width: 27.5rem;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
  }
  .p-pageBrandsSectionBrandLineup-majorListItem {
    /* 中間ラッパーを飛ばして ul の行に直接配置（subgrid 用） */
    /* 元コンポーネントの flex gap（見出しブロック〜画像）に相当 */
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorListItem:nth-of-type(n+4) {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorListItem > .c-maskImageLinkWithTitle {
    display: contents;
  }
  .p-pageBrandsSectionBrandLineup-majorListItem > .c-maskImageLinkWithTitle > .c-maskImageLinkWithTitle-heading {
    display: contents;
  }
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle-figure {
    margin-top: 1.875rem;
  }
}
.p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-subtitle {
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-subtitle {
    font-size: 1rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-subtitle {
    font-size: 1rem;
  }
}
.p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-title {
  color: #242424;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-title {
    margin-top: 1rem;
    font-size: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-title {
    margin-top: 1.1428571429rem;
    font-size: 2.2857142857rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-lead {
    margin-top: 1.25rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-majorListItem .c-maskImageLinkWithTitle .c-maskImageLinkWithTitle-heading .c-maskImageLinkWithTitle-lead {
    margin-top: 1.1428571429rem;
    font-size: 0.7142857143rem;
  }
}

/**
 * Block: セカンダリーブランド（CardBrandUniverse x2）
 */
.p-pageBrandsSectionBrandLineup-secondaryList {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionBrandLineup-secondaryList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionBrandLineup-secondaryList {
    display: flex;
    flex-direction: column;
    gap: 2.8571428571rem;
  }
}

.p-pageBrandsSectionBrandLineup-secondaryListItem {
  min-width: 0;
}

/**
 * ブランドページ：新商品リリース情報セクション
 * PC: 4カラム / SP: 2カラム（Figma node-id=1957-151175, 1957-152945）
 */
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionTopics {
    margin-top: 12.5rem;
    margin-bottom: 12.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionTopics {
    margin-top: 8.5714285714rem;
    margin-bottom: 8.5714285714rem;
  }
}

.p-pageBrandsSectionTopics-inner {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionTopics-inner .p-pageBrandsSectionTopics-button {
    margin-top: 3.75rem;
    margin-inline: auto 0;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionTopics-inner .p-pageBrandsSectionTopics-button {
    margin-top: 4.2857142857rem;
  }
}

.p-pageBrandsSectionTopics-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageBrandsSectionTopics-list {
    margin-top: 3.75rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.75rem 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionTopics-list {
    margin-top: 2.8571428571rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.8571428571rem 1.0714285714rem;
  }
}

@media screen and (min-width: 768px) {
  .p-pageBrandsSectionTopics-listItem .c-cardTopic-title {
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageBrandsSectionTopics-listItem .c-cardTopic-title {
    font-size: 1rem;
  }
}

@media screen and (max-width:767px) {
  .p-brands {
    margin-top: 60px;
  }
}

.p-brands .inner {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-brands .inner {
    width: 85rem;
    width: 100%;
    max-width: 1360px;
    padding-inline: 40px;
  }
}
@media screen and (max-width:767px) {
  .p-brands .inner {
    width: 23.3571428571rem;
    width: 100%;
    padding-inline: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-brands .inner .c-maskImageLink-img {
    aspect-ratio: 440/560;
  }
}
@media screen and (max-width:767px) {
  .p-brands .inner .c-maskImageLink-img {
    aspect-ratio: 156/199;
  }
}