@charset "UTF-8";

/* ==========================================================================
ベース設定
=========================================================================== */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/ZenKakuGothicNew-Black.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ABeeZee";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ABeeZee-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "DINAlternate";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/DINAlternate-Bold.woff2") format("woff2");
  font-display: swap;
}

:root {
  /* カラー */
  --Main: #46464a;
  --Base: #F9FAFF;
  --cyan: #1E97CF;
  --orange: #F19900;
  --magenta: #FD3F7E;
  --red: #D91928;
  --purple: #8465D2;
  --bluegray: #7B829D;
  --vermilion: #D9594E;
  --gray: #808386;
  --line: #D9D9D9;

  /* フォントファミリー */
  --fontFamily_NotoSans: "Noto Sans JP", sans-serif;
  --fontFamily_ZenKaku: "ZenKakuGothicNew", sans-serif;
  --fontFamily_sans: "Helvetica", "Arial", sans-serif;
  --fontFamily_Corbel: "Corbel", sans-serif;
  --fontFamily_ABeeZee: "ABeeZee", sans-serif;
  --fontFamily_DINAlternate: "DINAlternate", sans-serif;

  /* フォント */
  --HeadingH1: 400 32px/150% var(--fontFamily_ZenKaku);
  --HeadingH2: 400 20px/150% var(--fontFamily_ZenKaku);
  --HeadingH3: 400 18px/150% var(--fontFamily_ZenKaku);
  --HeadingH4: 400 16px/150% var(--fontFamily_ZenKaku);
  
  --BodyLargeRegular: 400 17px/180% var(--fontFamily_ZenKaku);
  --BodyLargeMedium: 500 17px/160% var(--fontFamily_ZenKaku);
  --BodyLargeBold: 700 17px/180% var(--fontFamily_ZenKaku);
  --BodyLargeBlack: 900 17px/180% var(--fontFamily_ZenKaku);

  --BodyMediumRegular: 400 15px/200% var(--fontFamily_ZenKaku);
  --BodyMediumMedium: 500 15px/160% var(--fontFamily_ZenKaku);
  --BodyMediumBold: 700 15px/160% var(--fontFamily_ZenKaku);
  --BodyMediumBlack: 900 15px/160% var(--fontFamily_ZenKaku);

  --BodySmallRegular: 400 13px/200% var(--fontFamily_ZenKaku);
  --BodySmallMedium: 500 13px/160% var(--fontFamily_ZenKaku);

  --BodyExtraSmallRegular: 400 12px/180% var(--fontFamily_ZenKaku);
  --BodyExtraSmallMedium: 500 12px/160% var(--fontFamily_ZenKaku);
}

.html {
  overflow-x: hidden;
  margin-top: 0!important;
}

#wpadminbar {
  z-index: 10000000!important;
}

.body {
  font: var(--BodyMediumMedium);
  color: var(--Main);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  width: 100%;
  overflow-x: hidden;
  position: relative;
}

.body:has(.hamburger__content.active) {
  overflow: hidden;
}


/* ==========================================================================
商品カラー設定
=========================================================================== */
[data-color=""] {
  --productColor: var(--Main);
}

[data-color="orange"] {
  --productColor: var(--orange);
}

[data-color="magenta"] {
  --productColor: var(--magenta);
}

[data-color="black"] {
  --productColor: var(--Main);
}

[data-color="cyan"] {
  --productColor: var(--cyan);
}

[data-color="red"] {
  --productColor: var(--red);
}

[data-color="purple"] {
  --productColor: var(--purple);
}

[data-color="bluegray"] {
  --productColor: var(--bluegray);
}

[data-color="vermilion"] {
  --productColor: var(--vermilion);
}


/* ==========================================================================
共通パーツ
=========================================================================== */
.forPC {
  display: none;
}

.forPC-inline {
  display: none;
}

.body a {
  color: var(--Main);
  text-decoration: none;
  transition: all 0.2s;
}

a.btn {
  font: var(--BodyMediumMedium);
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: url(../img/chevron_right_white.svg) no-repeat center right 8px / 20px auto,
              var(--bluegray);
  border-radius: 4px;
  height: 52px;
  padding: 0 56px;
  position: relative;
}

.btnWrap {
  text-align: center;
  margin-top: 32px;
}

.body small {
  font-size: inherit;
  display: inline-block;
}

.body small {
  margin-top: 16px;
}

.body small a {
  font: var(--BodyExtraSmallMedium);
  text-decoration: underline;
}


.body h1 {
  font: var(--HeadingH1);
}

.body h2 {
  font: var(--HeadingH2);
}

.body h3 {
  font: var(--HeadingH3);
}

.body h4 {
  font: var(--HeadingH4);
}

.body ul:not([class]) li {
  text-indent: -1em;
  padding-left: 1em;
  position: relative;
}

.body ul:not([class]) li::before {
  content: "・";
}

.body .ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 30px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 4px;
  color: var(--Main);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.body .ttl::after {
  content: attr(data-ja);
  font: var(--BodyLargeRegular);
  letter-spacing: 2px;
  color: var(--gray);
  display: block;
}

.acc__btn {
  font-family: var(--fontFamily_ZenKaku);
  text-align: left;
  color: var(--Main);
  display: block;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line);;
  width: 100%;
  padding: 8px 36px 8px 0;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}

.acc__btn::after {
  content: "";
  display: inline-block;
  background: url(../img/open.svg) no-repeat center / 100% auto;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.acc__btn.active::after {
  background-image: url(../img/close.svg);
}

.acc__cont {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-out;
}

.acc__cont > *:first-child {
  margin-top: 16px;
}

.slidein {
  opacity: 0;
  transform: translate(0, 60px);
  transition: all 1.0s;
}

.slidein.slidein-up{
  opacity: 1;
  transform: translate(0, 0);
}



/* ==========================================================================
ヘッダー
=========================================================================== */
.header {
  display: flex;
  align-items: center;
  width: 100%;
  height: 68px;
  padding-left: 20px;
  position: fixed;
  top: 0;
  z-index: 101;
  transition: all 0.3s;
}

.header.is-invisible {
  opacity: 0;
}

.header__logo {
  width: 134px;
  height: auto;
  position: relative;
  z-index: 101;
}


/* ==========================================================================
ハンバーガーメニュー
=========================================================================== */
/* ボタン */
.hamburger__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 18px;
  right: 16px;
  z-index: 101;
}

.hamburger__btn-inner {
  width: 100%;
  height: 22px;
  position: relative;
}

.hamburger__btn span {
  width: 100%;
  height: 2px;
  background-color: var(--Main);
  position: absolute;
  transition: .5s;
}

.hamburger__btn span:first-of-type {
  top: 0;
}

.hamburger__btn span:nth-of-type(2) {
  top: 50%;
}

.hamburger__btn span:last-of-type {
  top: 100%;
}

.hamburger__btn.active span:first-of-type {
  top: 50%;
}

.hamburger__btn.active span:last-of-type {
  top: 50%;
}

/* メニュー */
.hamburger__content {
  background: #fff;
  width: 100dvw;
  height: 100dvh;
  padding: 108px 20px 28px;
  position: fixed;
  top: 0;
  left: 0;
  transform: translateX(100%);
  transition: .5s;
  z-index: 100;
}

.hamburger__content.active {
  overflow-y: auto;
  transform: translateX(0);
}

.hamburger__content-wrap {
  text-align: center;
}

.hamburger__pageLinks a {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 2px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 60px;
}

.hamburger__pageLinks-item::after {
  content: attr(data-en);
  font-family: var(--fontFamily_sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 2px;
  color: var(--gray);
}

.hamburger__snsLinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 20px;
  column-gap: 13px;
  margin-top: 32px;
}

.hamburger__snsLinks-item {
  font-family: var(--fontFamily_sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.hamburger__snsLinks-item::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 28px;
  height: auto;
  aspect-ratio: 1;
}

.hamburger__snsLinks-item[data-type="ig"]::before {
  background-image: url(../img/instagram_icon_gray.png);
}

.hamburger__snsLinks-item[data-type="yt"]::before {
  background-image: url(../img/youtube_icon_gray.png);
}

.hamburger__snsLinks-item[data-type="x"]::before {
  background-image: url(../img/x_icon_gray.png);
}

.hamburger__snsLinks-item[data-type="tt"]::before {
  background-image: url(../img/tiktok_icon_gray.png);
}

.hamburger__shopLinks {
  display: grid;
  gap: 12px;
  margin-top: 34px;
}

.hamburger__shopLinks-item {
  font: var(--BodySmallRegular);
  line-height: 100%;
  display: flex;
  align-items: center;
  background: #F6F7F8;
  border-radius: 4px;
  height: 50px;
  padding: 0 16px;
  position: relative;
}

.hamburger__shopLinks-item::after {
  content: "";
  background: url(../img/jump_icon.svg) no-repeat center / 100% auto;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 16px;
}

.hamburger__shopLinks-item span {
  font: var(--BodyMediumMedium);
  line-height: 100%;
}


/* ==========================================================================
トップページ
=========================================================================== */
.container {
  background: #fff;
  width: 100%;
  overflow-x: hidden;
  position: relative;
}

.inner {
  padding: 0 5.33%;
}

/* FV */
.fv__img {
  object-fit: cover;
  width: 100%;
  height: 520px;
}

.fv__slider {
  padding-bottom: 32px;
  margin-top: 24px;
}

.fv__slider .splide__pagination {
  bottom: 0;
}

.fv__slider .splide__pagination__page {
  background: #EEEFF0;
  opacity: 1;
}

.fv__slider .splide__pagination__page.is-active {
  background: var(--Main)!important;
  transform: none;
}



/* topConcept */
.topConcept {
  text-align: center;
  padding: 80px 0 50px;
}

h2.topConcept__ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 2px;
}

.topConcept__catch {
  font-family: var(--fontFamily_NotoSans);
  font-size: 22px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  margin-top: 40px;
  position: relative;
}

.topConcept__catch::before {
  content: "";
  display: inline-block;
  background: url(../img/plus_img.png) no-repeat center / 88px auto;
  width: 88px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.topConcept__txt p {
  font-family: var(--fontFamily_NotoSans);
  font-size: 13px;
  font-weight: 400;
  line-height: 210%;
  letter-spacing: 2px;
  margin-top: 25px;
}

.topConcept .btnWrap {
  margin-top: 24px;
}

.topConcept a.btn {
  height: 48px;
  padding: 0 40px;
}

/* topImg01 */
.topImg01 {
  position: relative;
}

.topImg01__sliderWrap {
  position: absolute;
  top: 0;
  left: 0;
}

.topImg01__slider .splide__slide p {
  font-family: var(--fontFamily_Corbel);
  font-size: 48px;
  font-weight: 400;
  line-height: 150%;
  color: #fff;
}

/* topRanking */
.topRanking {
  padding: 80px 0;
}

.topRanking__slider {
  margin-top: 40px;
}

.topRanking__slider .splide__arrow {
  width: 24px;
  height: 24px;
  opacity: 1;
}

.topRanking__slider .splide__arrow--prev {
  background: url(../img/chevron_left_black.svg) no-repeat center / 100% auto;
  left: 16px;
}

.topRanking__slider .splide__arrow--next {
  background: url(../img/chevron_right_black.svg) no-repeat center / 100% auto;
  right: 16px;
}

.topRanking__slider .splide__arrow:disabled {
  opacity: 0;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 1;
}

.topRanking__slider .splide__arrow svg {
  display: none;
}

.topRanking__list li {
  padding-top: 84px;
  position: relative;
}

.topRanking__list li::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 58px;
  height: 48px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.topRanking__list li:nth-child(1)::before {
  background-image: url(../img/no1_icon.png);
}

.topRanking__list li:nth-child(2)::before {
  background-image: url(../img/no2_icon.png);
}

.topRanking__list li:nth-child(3)::before {
  background-image: url(../img/no3_icon.png);
}

.topRanking__list li:nth-child(4)::before {
  background-image: url(../img/no4_icon.png);
}

.topRanking__list li:nth-child(5)::before {
  background-image: url(../img/no5_icon.png);
}

.topRanking__list-imgWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 20px;
  position: relative;
}

.topRanking__list-imgWrap::before {
  content: "";
  background: var(--Base);
  width: 100%;
  height: auto;
  aspect-ratio: 154 / 148;
  position: absolute;
  bottom: 0;
  z-index: -1;
}

.topRanking__list-imgWrap img {
  width: calc(100% - 8px);
}

.topRanking__list-cat {
  font-size: 10px;
  line-height: 170%;
  letter-spacing: 2px;
  text-align: center;
  color: var(--gray);
  margin-top: 16px;
}

.topRanking__list-name {
  font: var(--BodyMediumMedium);
  color: var(--productColor);
  text-align: center;
}


/* topProducts */
.topProducts {
  background: var(--Base);
  padding: 80px 0;
}

.topProducts .productsList {
  margin-top: 40px;
}

.productsList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px;
}

.productsList li {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
  padding: 20px 12px 35px;
  position: relative;
}

.productsList li::after {
  content: "";
  display: inline-block;
  background: url(../img/chevron_right_white.svg) no-repeat center right 4px / 10px auto,
              var(--productColor);
  border-radius: 50%;
  width: 20px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  bottom: 12px;
  right: 12px;
}

.productsList__imgWrap {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}

.productsList__imgWrap img {
  object-fit: contain;
}

.productsList__cat {
  font-size: 10px;
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 2px;
  color: var(--gray);
  margin-top: 20px;
}

.productsList__name {
  font: var(--BodyMediumMedium);
  color: var(--productColor);
  min-height: calc(2em * 1.6);
  margin-top: 4px;
}

/* topReview */
.topReview {
  padding: 80px 0 60px;
}

.topReview .ttl {
  align-items: flex-start;
  padding-left: 20px;
}

.reviewList {
  display: flex;
  gap: 20px;
  overflow-x: scroll;
  padding: 0 5.33% 20px;
  margin-top: 40px;
  position: relative;
}

.reviewList::after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	width: 20px;
	height: 1px;
}

.reviewList li {
  width: 71.6%;
  flex-shrink: 0;
}

.reviewList li > img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}

.reviewList__txt p {
  font: var(--BodyMediumMedium);
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 8px;
}

.reviewList__prof {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.reviewList__prof img {
  border-radius: 50%;
  width: 48px;
  height: auto;
  aspect-ratio: 1;
}

.reviewList__prof-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.reviewList__prof-dept {
  font: var(--BodySmallMedium);
}

.reviewList__prof-name {
  font: var(--BodySmallRegular);
}

/* topNews */
.topNews {
  background: var(--Base);
  padding: 80px 0;
}

.topNews .ttl {
  align-items: flex-start;
  padding-left: 20px;
}

.newsList li {
  padding: 20px 0 24px;
  position: relative;
}

.newsList li:nth-child(n+2)::before {
  content: "";
  display: inline-block;
  background: var(--Main);
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}

.newsList__date {
  font: var(--BodyMediumMedium);
}

.newsList__ttl {
  font: var(--BodyMediumMedium);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 4px;
}

.topNews .btnWrap {
  margin-top: 40px;
}

/* topSns */
.topSns {
  padding: 100px 0;
}

h2.topSns__ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 40px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
  color: var(--bluegray);
}

.topSns__inner {
  padding: 0 10.66%;
}

.topSns__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.topSns__heading-name {
  font: var(--fontFamily_sans);
  font-size: 20px;
  font-weight: 300;
  line-height: 150%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.topSns__heading-name::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 26px;
  height: auto;
  aspect-ratio: 1;
}

.topSns__item.topSns__item {
  margin-top: 40px;
}

.topSns__item.topSns__item--ig .topSns__heading-name::before {
  background-image: url(../img/instagram_icon_black_02.png);
}

.topSns__item.topSns__item--yt .topSns__heading-name::before {
  background-image: url(../img/youtube_icon_black.png);
}

a.topSns__heading-handle {
  font: var(--fontFamily_sans);
  font-size: 10px;
  line-height: 150%;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 24px;
  position: relative;
}

a.topSns__heading-handle::before {
  content: "";
  display: inline-block;
  background: var(--Main);
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}

a.topSns__heading-handle::after {
  content: "";
  background: url(../img/jump_icon.svg) no-repeat center / 100% auto;
  width: 10px;
  height: auto;
  aspect-ratio: 1;
}

.topSns__content {
  margin-top: 28px;
}

.topSns__item--yt .topSns__content {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
}

.topSns__item--yt .topSns__content iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

#sb_instagram,
#sb_instagram #sbi_images {
  padding: 0!important;
}

.sb_youtube[id^=sb_youtube_] .sby_items_wrap {
  padding: 0!important;
}

.sby_play_btn > svg > path {
  fill: #F91F1F;
}

.topSns__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 40px;
}

.topSns__links-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--Main);
  border-radius: 4px;
  height: 80px;
}

.topSns__links-item--tt {
  gap: 0;
}

.topSns__links-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.topSns__links-item--tt .topSns__links-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  transform: translateY(-4px);
}

.topSns__links-handle {
  font-family: var(--fontFamily_sans);
  font-size: 10px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 1px;
}


/* ==========================================================================
固定ページ
=========================================================================== */
.page:not(.page.home) .container,
.archive .container,
.single .container {
  padding-top: 68px;
}

.page:not(.page.home) .information,
.archive .information,
.single .information {
  margin-top: 80px;
}

h2.ttl--left {
  font-family: var(--fontFamily_Corbel);
  font-size: 32px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 4px;
  color: var(--Main);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
}

h2.ttl--left::after {
  content: attr(data-ja);
  font: var(--BodyMediumRegular);
  letter-spacing: 0;
  color: var(--gray);
  display: block;
}

.pageTop {
  padding: 64px 0;
}

/* パンくず */
.breadcrumbs {
  font: var(--BodyExtraSmallRegular);
  display: flex;
  align-items: center;
  border-top: 1px solid var(--Base);
  border-bottom: 1px solid var(--Base);
  height: 36px;
  overflow-x: auto;
  white-space: nowrap;
}

.breadcrumbs__inner {
  margin-left: 20px;
  position: relative;
}

.breadcrumbs__inner::after {
  content: "";
	position: absolute;
	top: 0;
	left: 100%;
	width: 20px;
	height: 1px;
}

.breadcrumbs__sepalater {
  display: inline-block;
  background: url(../img/breadcrumbs_sepalater.svg) no-repeat center / 100% auto;
  width: 8px;
  height: 8px;
  margin: 0 12px;
}

.breadcrumbs a {
  color: var(--gray);
}

/* パーツ */
small.notes {
  color: var(--gray);
  display: flex;
  margin-top: 4px;
}

small.notes::before {
  content: "※";
}

a.link--official {
  font-size: 15px;
  font-weight: 500;
  line-height: 160%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  background: var(--productColor);
  border-radius: 4px;
  height: 52px;
  margin-left: auto;
  margin-right: auto;
}

a.link--official::before {
  content: "";
  background: url(../img/cart_icon_white.svg) no-repeat center / 100% auto;
  width: 24px;
  height: 24px;
}

a.link--official.disable {
  color: var(--gray);
  background: var(--line);
}

a.link--official.disable::before {
  display: none;
}

.shopLinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 20px;
}

.shopLinks a{
  font: var(--BodyMediumMedium);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid var(--Main);
  border-radius: 4px;
  height: 48px;
  padding: 0 16px;
  position: relative;
}

.shopLinks a::after {
  content: "";
  background: url(../img/jump_icon.svg) no-repeat center / 100% auto;
  width: 14px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.shopLinks a:last-of-type:nth-of-type(2n+1) {
  grid-column: span 2;
  justify-content: center;
}


/* ==========================================================================
ABOUT
=========================================================================== */
/* ABOUT US */
.about__top {
  text-align: center;
  padding: 64px 0 78px;
  position: relative;
  z-index: 0;
}

.about__top-catch {
  font-family: var(--fontFamily_NotoSans);
  font-size: 22px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  margin-top: 90px;
  position: relative;
}

.about__top-catch::before {
  content: "";
  display: inline-block;
  background: url(../img/plus_img.png) no-repeat center / 88px auto;
  width: 88px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.about__top-txt p {
  font-size: 13px;
  font-weight: 400;
  line-height: 210%;
  margin-top: 56px;
}

.about__top-txt p + p {
  margin-top: 1.8em;
}

/* ブランド名に込めた想い */
.about__brand {
  text-align: center;
  background: #F6F7F8;
  padding-bottom: 64px;
}

.about__brand-name {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 44px;
  margin-top: 64px;
  position: relative;
}

.about__brand-name::before {
  content: "";
  display: inline-block;
  border-top: 1px solid var(--Main);
  border-left: 1px solid var(--Main);
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  left: -17px;
}

.about__brand-name::after {
  content: "";
  display: inline-block;
  border-bottom: 1px solid var(--Main);
  border-right: 1px solid var(--Main);
  width: 15px;
  height: 15px;
  position: absolute;
  bottom: 0;
  right: -17px;
}

.about__brand-name span {
  font-size: 32px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 6px;
  text-align: center;
  position: relative;
}

.about__brand-name span::before {
  content: attr(data-mean);
  letter-spacing: 0;
  display: inline-block;
  font: var(--BodyExtraSmallRegular);
  color: var(--gray);
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.about__brand-name span:nth-child(1):after {
  content: "";
  display: inline-block;
  background: url(../img/about_brand_plus.svg) no-repeat center / 100% auto;
  width: 24px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 56%;
  right: -30px;
  transform: translateY(-50%);
}

.about__brand-catch {
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 2px;
  margin-top: 48px;
}

.about__brand-txt {
  font-size: 13px;
  font-weight: 400;
  line-height: 180%;
  margin-top: 32px;
}

/* 商品開発への思い */
.about__feature {
  margin-top: 120px;
}

.about__feature-list {
  margin-top: 60px;
}

.about__feature-list li:nth-child(n+2) {
  margin-top: 48px;
}

.about__feature-list-point {
  font-family: var(--fontFamily_sans);
  font-size: 10px;
  font-weight: 300;
  line-height: 170%;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.about__feature-list-point span {
  font-size: 20px;
  line-height: 170%;
}

.about__feature-list li .acc__btn {
  font: var(--HeadingH2);
  margin-top: 4px;
  position: relative;
}

.about__feature-list li:nth-child(2) .acc__btn {
  letter-spacing: -1px;
}

.about__feature-list li .acc__cont {
  font: var(--BodyMediumRegular);
}

.about__feature-list li img {
  margin-top: 16px;
}

.about__feature-achv {
  margin-top: 80px;
}

.about__feature-achv-ttl {
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
}

.about__feature-achv-box {
  background: var(--Base);
  padding: 40px;
  margin-top: 16px;
}

.about__feature-achv-box img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}

.about__feature-achv-box-label {
  font: var(--BodySmallRegular);
  color: var(--gray);
  margin-top: 20px;
}

.about__feature-achv-box-name {
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  margin-top: 8px;
}

.about__feature-achv-box-txt {
  font: var(--BodyMediumRegular);
  margin-top: 16px;
}

/* SUSTAINABLE */
.about__sustainable {
  margin-top: 120px;
}

.about__sustainable-message {
  font: var(--BodyLargeRegular);
  letter-spacing: 2px;
  margin-top: 60px;
}

.about__sustainable-list {
  margin-top: 20px;
}

.about__sustainable-list li {
  counter-increment: number 1;
}

.about__sustainable-list li:nth-child(n+2) {
  margin-top: 40px;
}

.about__sustainable-list-ttl {
  font-size: 20px;
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.about__sustainable-list-ttl::before {
  content: counter(number) ".";
  font-family: var(--fontFamily_sans);
  font-size: 40px;
  font-weight: 300;
  line-height: 150%;
}

.about__sustainable-list li img {
  width: auto;
  height: 120px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}

.about__sustainable-list-heading {
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  padding-left: 28px;
  margin-top: 20px;
  position: relative;
}

.about__sustainable-list-heading:nth-child(n+2) {
  margin-top: 24px;
}

.about__sustainable-list-heading::before {
  content: "";
  display: inline-block;
  background: var(--Main);
  width: 16px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.about__sustainable-list-txt {
  font-weight: 400;
  line-height: 200%;
  margin-top: 8px;
}


/* ==========================================================================
NEWS アーカイブページ
=========================================================================== */
.news__content {
  background: var(--Base);
}

/* ページネーション */
.pagination {
  padding: 40px 0;
}

.pagination__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pagination__left,
.pagination__right {
  width: 16px;
  height: 16px;
}

.pagination__link--prev,
.pagination__link--next {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
}

.pagination__link--prev {
  background-image: url(../img/chevron_left_black.svg);
}

.pagination__link--next {
  background-image: url(../img/chevron_right_black.svg);
}

.pagination__left:not(:has(a)),
.pagination__right:not(:has(a)) {
  opacity: 0;
}

.pagination__link--num {
  font-size: 13px;
  font-size: 500;
  line-height: 160%;
}

.pagination__link--num.current {
  color: var(--gray);
}

.pagination__dots {
  transform: translateY(-0.4em);
}

.news__media {
  margin-top: 100px;
}

.news__media-ttl {
  font-size: 24px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
}

.news__media-list {
  margin-top: 40px;
}

.news__media-list li:nth-child(n+2) {
  margin-top: 44px;
  position: relative;
}

.news__media-list li:nth-child(n+2)::before {
  content: "";
  display: inline-block;
  background: var(--Main);
  width: 100%;
  height: 1px;
  position: absolute;
  top: -20px;
  left: 0;
}

.news__media-list li img {
  width: 32.8%;
  height: auto;
  aspect-ratio: 110 / 143;
  object-fit: contain;
  margin: 0 auto;
}

.news__media-list-ttl {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}

.news__media-list-release {
  font: var(--BodyMediumMedium);
  color: var(--gray);
  margin-top: 4px;
}

.news__media-list-txt {
  font: var(--BodyMediumMedium);
  margin-top: 4px;
}

h3.news__media-list-ttl-name {
  font: var(--BodyLargeBold);
  letter-spacing: 2px;
}

.news__media-list-ttl-publisher {
  font: (var(--BodyExtraSmallRegular));
  font-weight: 400;
}


/* ==========================================================================
個別ページ
=========================================================================== */
.single__top {
  border-bottom: 1px solid var(--Main);
  padding-top: 64px;
  padding-bottom: 24px;
}

.single__top-date {
  font: var(--BodyMediumMedium);
}

h1.single__top-ttl {
  font: var(--BodyLargeBold);
  margin-top: 12px;
}

.single__thumbnail {
  margin-top: 24px;
}

.single__content h2:not([class]),
.single__content h3:not([class]),
.single__content h4:not([class]) {
  font-family: var(--fontFamily_ZenKaku);
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 2px;
  margin-top: 40px;
}

.single__content h2 + *,
.single__content h3 + *,
.single__content h4 + * {
  margin-top: 16px;
}

.single__content h2:not([class]) {
  font-size: 18px;
}

.single__content h3:not([class]) {
  font-size: 16px;
}

.single__content h4:not([class]) {
  font-size: 14px;
  display: inline-block;
  border-bottom: 1px solid var(--Main);
  padding-bottom: 4px;
}

.single__content p {
  font: var(--BodySmallRegular);
}

.single__content p + p {
  margin-top: calc(1em * 1.5);
}

.single__content a:not([class]) {
  font: var(--BodySmallRegular);
  text-decoration: underline;
}


/* ==========================================================================
PRODUCTS アーカイブページ
=========================================================================== */
.products__pickUp {
  margin-top: 120px;
}

h2.products__pickUp-ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 30px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 2px;
  text-align: center;
}

.products__pickUp a {
  display: block;
  margin-top: 32px;
}

/* ==========================================================================
PRODUCTS 個別ページ
=========================================================================== */
.productsChild__info {
  margin-top: 40px;
}

.productsChild__info-cat {
  font-size: 10px;
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 2px;
  color: gray;
}

h1.productsChild__info-name {
  font-size: 22px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  margin-top: 8px;
}

.productsChild__info-subname {
  font: var(--BodySmallRegular);
  margin-top: 2px;
}

.productsChild__info-tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.productsChild__info-tag li {
  font: var(--BodyExtraSmallMedium);
  color: var(--gray);
  display: inline-flex;
  align-items: center;
  background: rgba(70, 70, 74, 0.15);
  border-radius: 100px;
  padding: 4px 10px;
}

[data-color=""] .productsChild__info-tag li {
  background: rgba(70, 70, 74, 0.15);
}

[data-color="orange"] .productsChild__info-tag li {
  background: rgba(241, 153, 0, 0.15);
}

[data-color="magenta"] .productsChild__info-tag li {
  background: rgba(253, 63, 126, 0.15);
}

[data-color="black"] .productsChild__info-tag li {
  background: rgba(70, 70, 74, 0.15);
}

[data-color="cyan"] .productsChild__info-tag li {
  background: rgba(30, 151, 207, 0.15);
}

[data-color="red"] .productsChild__info-tag li {
  background: rgba(217, 25, 40, 0.15);
}

[data-color="purple"] .productsChild__info-tag li {
  background: rgba(132, 101, 210, 0.15);
}

[data-color="bluegray"] .productsChild__info-tag li {
  background: rgba(123, 130, 157, 0.15);
}

[data-color="vermilion"] .productsChild__info-tag li {
  background: rgba(217, 89, 78, 0.15);
}

.productsChild__info-plan {
  font: var(--BodySmallRegular);
  margin-top: 40px;
}

.productsChild__info-price {
  margin-top: -4px;
}

.productsChild__info-price-num {
  font-family: var(--fontFamily_sans);
  font-size: 40px;
  font-weight: 300;
  line-height: 100%;
  letter-spacing: -1px;
}

.productsChild__info-price-unit {
  font-size: 22px;
  line-height: 150%;
  letter-spacing: 2px;
}

.productsChild__info-price-tax {
  font-size: 18px;
  line-height: 160%;
  color: gray;
}

.productsChild__info-spec {
  font: var(--BodySmallRegular);
  display: flex;
  align-items: center;
  gap: 8px;
}

.productsChild__info-labels {
  margin-top: 8px;
}

.productsChild__info-label {
  font: var(--BodyExtraSmallRegular);
  color: var(--gray);
  border: 1px solid var(--Main);
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
}

.productsChild__info-purchase {
  margin-top: 24px;
}

/* 定期購入 */
.productsChild__subscription {
  border-radius: 4px;
  padding: 0 5.33%;
  margin-top: 84px;
}

[data-color=""] .productsChild__subscription-inner {
  background: #F2F2F3;
}

[data-color="orange"] .productsChild__subscription-inner {
  background: #FEFCED;
}

[data-color="magenta"] .productsChild__subscription-inner {
  background: #FFF1F5;
}

[data-color="black"] .productsChild__subscription-inner {
  background: #F2F2F3;
}

[data-color="cyan"] .productsChild__subscription-inner {
  background: #EAF6FB;
}

[data-color="red"] .productsChild__subscription-inner {
  background: #FFF2F4;
}

[data-color="purple"] .productsChild__subscription-inner {
  background: #F2EEFB;
}

[data-color="bluegray"] .productsChild__subscription-inner {
  background: #F1F2F7;
}

[data-color="vermilion"] .productsChild__subscription-inner {
  background: #FDEDEC;
}

.productsChild__subscription-inner {
  padding: 20px;
}

.productsChild__subscription-ttl {
  font: var(--HeadingH2);
  color: var(--productColor);
  text-align: center;
}

.productsChild__subscription-imgWrap {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  background: #fff;
  padding: 26px;
  margin-top: 20px;
  position: relative;
}

.productsChild__subscription-imgWrap img {
  object-fit: contain;
}

.percentBadge {
  font-family: var(--fontFamily_sans);
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: var(--productColor);
  border-radius: 50%;
  width: 80px;
  height: auto;
  aspect-ratio: 1;
  padding-top: 14px;
  position: absolute;
  top: -8px;
  left: -8px;
}

.percentBadge span {
  display: inline-block;
}

.percentBadge__percent {
  display: inline-block;
  padding-left: 6px;
}

.percentBadge__percent-num {
  font-family: var(--fontFamily_DINAlternate);
  font-size: 36px;
  line-height: 100%;
  letter-spacing: 2px;
}

.percentBadge__percent-unit {
  font-size: 18px;
  line-height: 100%;
  letter-spacing: 1px;
  margin-left: -4px;
}

.percentBadge__off {
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 1px;
  transform: translateY(-2px);
}

.productsChild__subscription-price {
  margin-top: 30px;
}

.productsChild__subscription-price-num {
  font-family: var(--fontFamily_sans);
  font-size: 40px;
  font-weight: 300;
  line-height: 100%;
  letter-spacing: -1px;
}

.productsChild__subscription-price-unit {
  font-size: 22px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
}

.productsChild__subscription-price-tax {
  font-size: 18px;
  font-weight: 400;
  line-height: 160%;
  color: var(--gray);
  margin-left: -2px;
}

.productsChild__subscription-box {
  font: var(--BodyMediumRegular);
  line-height: 150%;
  background: #fff;
  padding: 4px 12px;
  margin-top: 2px;
}

.productsChild__subscription-box span {
  font: var(--BodyMediumBold);
}

.productsChild__subscription-spec {
  font: var(--BodySmallRegular);
  margin-top: 10px;
}

.productsChild__subscription-label {
  font: var(--BodyExtraSmallRegular);
  color: var(--gray);
  border: 1px solid var(--Main);
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  margin-top: 1px;
}

.productsChild__subscription .link--official {
  margin-top: 16px;
}

.productsChild__subscription small {
  font: var(--BodyExtraSmallRegular);
}

.productsChild__acc {
  margin-top: 20px;
}

.productsChild__acc .acc__btn {
  font: var(--BodyMediumRegular);
}

.productsChild__acc .acc__cont div {
  font: var(--BodyMediumRegular);
  line-height: 160%;
  margin-top: 10px;
}

.productsChild__acc .link--official {
  color: var(--Main);
  background: #F6F7F8;
  width: calc(100% - 40px);
  margin-top: 18px;
}

.productsChild__acc .link--official::before {
  background-image: url(../img/cart_icon_black.svg);
}

/* 商品特徴 */
.productsChild__feature {
  margin-top: 120px;
}

h3.productsChild__feature-catch {
  font-size: 21px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  border-bottom: 1px solid var(--line);;
  padding-bottom: 12px;
  margin-top: 60px;
}

h3.productsChild__feature-catch + small {
  font: var(--BodySmallRegular);
  color: var(--gray);
  text-align: right;
  display: block;
}

.productsChild__feature-list {
  margin-top: 64px;
}

.productsChild__feature-list-point {
  font-family: var(--fontFamily_sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 2px;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.productsChild__feature-list-point span {
  font-size: 32px;
  font-weight: 300;
  line-height: 100%;
}

.productsChild__feature-list li {
  font: var(--BodySmallRegular);
}

.productsChild__feature-list li img,
.productsChild__feature-list li video {
  max-width: 100%;
  height: auto;
  margin-top: 20px;
}

.productsChild__feature-list li h4 {
  font: var(--HeadingH2);
  margin-top: 32px;
}

.productsChild__feature-list li h4 + p {
  margin-top: 24px;
}

.productsChild__feature-list li h4 + small {
  display: block;
  text-align: right;
}

.productsChild__feature-list li h4 + small.notes {
  justify-content: flex-end;
}

.productsChild__feature-list li h4 + small + p {
  margin-top: 8px;
}

.productsChild__feature-list li small {
  font: var(--BodyExtraSmallRegular);
  color: var(--gray);
  margin-top: 4px;
}

.body small.notesMark,
.productsChild__feature-list li small.notesMark {
  font-size: max(70%, 10px);
  line-height: 1;
  vertical-align: super;
  text-indent: 0;
  color: inherit;
  margin-top: 0;
}

.productsChild__feature-list li small > small.notesMark {
  line-height: inherit;
  vertical-align: text-bottom;
}

.productsChild__feature-list > li:nth-child(n+2) {
  margin-top: 120px;
}

.productsChild__feature-list > li > ul:not([class]) {
  margin-top: 4px;
}

/* .productsChild__feature-list > li > ul:not([class]) > li {
  text-indent: 0;
} */

.productsChild__feature-list > li > ul:not([class]) > li::before {
  content: "●";
  /* display: inline-block;
  background: var(--Main);
  border-radius: 50%;
  width: 4px;
  height: 4px;
  position: absolute;
  top: 12px;
  left: 0; */
}

.heading {
  font-size: 15px;
  font-weight: 500;
  line-height: 160%;
  display: inline-block;
  background: #F4F7FC;
  padding: 0 8px;
  margin-top: 1em;
  position: relative;
}

.heading + * {
  margin-top: 4px;
}

.nowrap {
  white-space: nowrap;
}

.productsChild__info-free {
  margin-top: 80px;
}

.productsChild__info-free-box {
  background: var(--Base);
  padding: 20px;
}

.productsChild__info-free-box-ttl {
  font: var(--HeadingH4);
  letter-spacing: 2px;
  text-align: center;
}

.productsChild__info-free-box-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 16px;
}

.productsChild__info-free-box-list li {
  font: var(--BodyExtraSmallRegular);
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 2px 0;
}

.productsChild__info-free-test {
  margin-top: 12px;
}

h4.productsChild__info-free-test-ttl {
  font: var(--BodyMediumMedium);
}

.productsChild__info-free-test ul {
  margin-top: 4px;
}

.productsChild__info-free-test {
  font: var(--BodySmallRegular);
}

/* ご使用方法 */
.productsChild__howto {
  margin-top: 120px;
}

.productsChild__howto .video {
  margin-top: 60px;
}

.productsChild__howto .video + .video {
  margin-top: 40px;
}

.video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

/* スキンケアステップ */
.skincareStep {
  background: var(--Base);
  padding: 40px 0 20px;
  margin-top: 80px;
}

.skincareStep__ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 20px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
}

.skincareStep__list {
  display: flex;
  gap: 60px;
  padding: 0 20px 20px;
  margin-top: 40px;
  overflow-x: scroll;
  position: relative;
}

.skincareStep__list li {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
  padding: 20px 0 12px;
  position: relative;
}

.skincareStep__list li:nth-child(n+2)::before {
  content: "";
  background: url(../img/chevron_right_black.svg) no-repeat center / 100% auto;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
}

.skincareStep__list-ttl {
  font: var(--BodySmallMedium);
  text-align: center;
  color: var(--gray);
}

.skincareStep__list-products {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 8px;
}

.skincareStep__list-product {
  display: block;
  width: clamp(138px, 36.8vw, 184px);
  padding-bottom: 24px;
  position: relative;
}

.skincareStep__list-product::after {
  content: "";
  display: inline-block;
  background: url(../img/chevron_right_white.svg) no-repeat center right 4px / 10px auto,
              var(--Main);
  border-radius: 50%;
  width: 20px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  bottom: 0;
  right: 12px;
}

.skincareStep__list-product[data-color]::after {
  background: url(../img/chevron_right_white.svg) no-repeat center right 4px / 10px auto,
              var(--productColor);
}

.skincareStep__list-product:nth-child(n+2)::before {
  content: "";
  display: inline-block;
  background: var(--Base);
  width: 1px;
  height: 200px;
  position: absolute;
  top: 50%;
  left: -5px;
  transform: translateY(-50%);
}

.skincareStep__list-product-imgWrap {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  padding: 20px;
}

.skincareStep__list-product-imgWrap img {
  object-fit: contain;
}

.skincareStep__list-product-name {
  font: var(--BodyMediumMedium);
  min-height: calc(1em * 1.6 * 2);
  padding: 0 12px;
}

.skincareStep__list-product[data-color] .skincareStep__list-product-name {
  color: var(--productColor);
}

/* シーン */
.scene {
  background: var(--Base);
  padding: 40px 0 20px;
  margin-top: 80px;
}

.scene__ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 20px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
}

.scene__list {
  display: flex;
  gap: 12px;
  padding: 0 20px 20px;
  margin-top: 40px;
  overflow-x: scroll;
  position: relative;
}

.scene__list > li {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
  width: 175px;
  padding: 20px 16px;
  flex-shrink: 0;
  position: relative;
}

.scene__list-ttl {
  font: var(--BodyMediumMedium);
  text-align: center;
  color: var(--gray);
}

.scene__list li img {
  width: 80px;
  height: auto;
  aspect-ratio: 1;
  margin: 20px auto 0;
}

.scene__list li ol {
  padding-left: 1.5em;
  margin-top: 20px;
}

.scene__list li ol li {
  font: var(--BodySmallMedium);
  list-style-type: decimal-leading-zero;
}

/* お客様の声 */
.productsChild__voice {
  margin-top: 120px;
}

.productsChild__voice h2 {
  padding-left: 20px;
}

.reviewList.reviewList--user {
  margin-top: 60px;
}

.reviewList.reviewList--user .reviewList__txt p {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

/* 全成分 */
.productsChild__ingredients {
  margin-top: 80px;
}

.acc--gray {
  background: var(--Base);
}

.acc--gray + .acc--gray {
  margin-top: 20px;
}

.acc--gray .acc__btn {
  font: var(--HeadingH3);
  text-align: center;
  letter-spacing: 2px;
  border-bottom: none;
  padding: 20px;
}

.acc--gray .acc__btn::after {
  right: 20px;
}

.acc--gray .acc__cont {
  padding: 0 20px;
}

.acc--gray .acc__cont div {
  font-size: 12px;
  font-weight: 400;
  line-height: 160%;
  margin-top: 16px;
  margin-bottom: 20px;
  position: relative;
}

.acc--gray .acc__cont div::before {
  content: "";
  display: inline-block;
  background: var(--line);;
  width: 100%;
  height: 1px;
  position: absolute;
  top: -16px;
  left: 0;
}

.acc--gray .acc__cont div a {
  text-decoration: underline;
}

.acc--gray .acc__cont div small {
  font-size: 10px;
}

.acc--gray .acc__cont .table th {
  font-size: 10px;
  line-height: 150%;
  width: 30%;
  padding: 8px;
}

.acc--gray .acc__cont .table td {
  font-size: 10px;
  line-height: 150%;
  padding: 8px;
}


/* ==========================================================================
Q&A
=========================================================================== */
.qa__searchWrap {
  position: relative;
  display: inline-block;
  width: 100%;
}

input[type="text"].qa__search {
  font: var(--BodySmallRegular);
  font-size: 16px;
  background: url(../img/search_icon.svg) no-repeat center right 20px / 24px auto;
  width: 100%;
  height: 50px;
  border: 1px solid var(--gray);
  border-radius: 4px;
  padding: 0 20px;
}

input[type="text"].qa__search::placeholder {
  font: var(--BodySmallRegular);
  color: var(--gray);
}

input[type="text"].qa__search:focus,
input[type="text"].qa__search:not(:placeholder-shown) {
  background: none;
  border: 1px solid var(--Main);
  box-shadow: 0 0 0 1px var(--Main);
  outline: none;
}

.qa__clearBtn {
  display: none;
  background: url(../img/clear_icon.svg) no-repeat center / 100% auto;
  border: none;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.qa__tags {
  display: flex;
  justify-content: flex-start;
  gap: 16px;
  margin-top: 16px;
}

.qa__tag {
  font: var(--BodySmallRegular);
  color: var(--magenta);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

.qa__tag::before {
  content: "#";
}

.qa__pageJump {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 20px;
}

.qa__pageJump a {
  font: var(--BodyExtraSmallMedium);
  display: flex;
  align-items: center;
  background: var(--Base);
  border-radius: 4px;
  padding: 8px 12px;
  position: relative;
}

.qa__pageJump a::after {
  content: "";
  background: url(../img/chevron_down_black.svg) no-repeat center / 100% auto;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.qa__acc {
  margin-top: 40px;
}

.qa__acc .acc__btn {
  font: var(--HeadingH2);
}

.qa__productJump {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.qa__productJump a {
  font-size: 10px;
  font-weight: 400;
  line-height: 140%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: var(--Base);
  border-radius: 4px;
  padding: 8px 8px 24px;
  position: relative;
}

.qa__productJump a::after {
  content: "";
  background: url(../img/chevron_down_black.svg) no-repeat center / 100% auto;
  width: 12px;
  height: 12px;
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
}

.qa__productJump a img {
  width: 65px;
  height: 65px;
  object-fit: contain;
}

.qa__productJump a span {
  display: inline-flex;
  align-items: center;
  min-height: calc(2em * 1.4);
}

.noResultsMessage {
  font: var(--BodyMediumRegular);
  display: none;
  margin-top: 20px;
}

.archive:not(.page.home) .qa__content h2:not([class]) {
  font-size: 22px;
  line-height: 150%;
  letter-spacing: 2px;
  border-left: 1px solid var(--Main);
  padding-left: 20px;
  margin-top: 80px;
}

.qa__item {
  margin-top: 40px;
}

.qa__item + .qa__item {
  margin-top: 20px;
}

.qa__item .acc__btn {
  font: var(--BodyMediumRegular);
}

.qa__item .acc__cont {
  font: var(--BodySmallRegular);
}

.qa__item .acc__cont a {
  text-decoration: underline;
}


/* ==========================================================================
SHOP LIST
=========================================================================== */
.pageJump__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.pageJump__list a {
  font: var(--BodyExtraSmallMedium);
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  height: 42px;
  position: relative;
}

.pageJump__list a::after {
  content: "";
  background: url(../img/chevron_down_black.svg) no-repeat center / 100% auto;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* ECモール */
.shoplist__ec {
  margin-top: 120px;
}

.shoplist__ec-list {
  display: grid;
  gap: 20px;
  margin-top: 60px;
}

.shoplist__ec-list a {
  display: flex;
  align-items: center;
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
  height: 86px;
  padding: 0 20px;
  position: relative;
}

.shoplist__ec-list a::after {
  content: "";
  background: url(../img/chevron_right_black.svg) no-repeat center / 100% auto;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.shoplist__ec-list a[data-type="amazon"] img {
  width: 125px;
  height: auto;
}

.shoplist__ec-list a[data-type="rakuten"] img {
  width: 124px;
  height: auto;
}

.shoplist__ec-list a[data-type="qoo10"] img {
  width: 123px;
  height: auto;
}

.shoplist__ec-list a[data-type="yahoo"] img {
  width: 175px;
  height: auto;
}

/* 取扱店舗 */
.shoplist__shop {
  margin-top: 120px;
}

.shoplist__shop small.shoplist__shop-notes {
  font: var(--BodySmallRegular);
  justify-content: flex-end;
  margin-top: 60px;
}

.shoplist__shop-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  margin-top: 20px;
}

.shoplist__shop-list li {
  font: var(--BodySmallRegular);
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  height: 38px;
}

.shoplist__shop small {
  font: var(--BodyExtraSmallRegular);
  margin-top: 40px;
}


/* ==========================================================================
CONTACT
=========================================================================== */
.contact {
  font: var(--BodyMediumRegular);
  padding-bottom: 50px;
}

.contact__top {
  background: var(--Base);
  padding: 40px 0;
}

p.contact__top-message {
  font: var(--BodyMediumMedium);
  text-align: center;
}

.contact a:not([class]) {
  text-decoration: underline;
}

.contact small.notes {
  font: var(--BodySmallRegular);
  margin-top: 0;
}

.contact small.notes + small.notes {
  margin-top: 4px;
}

.contact a.btn {
  display: flex;
  background-position: center right 12px;
  width: 88.1%;
  padding: 0 24px;
  margin: 32px auto 0;
}

.contact__top a.btn {
  width: 78.2%;
}

a.btn--orange {
  background: url(../img/chevron_right_white.svg) no-repeat center right 8px / 20px auto,
              var(--orange);
}

a.btn--line {
  background: url(../img/chevron_right_white.svg) no-repeat center right 8px / 20px auto,
              #17B81F;
}

a.btn.btn--login {
  background-image: url(../img/login_icon.svg);
}

.contact .acc {
  margin-top: 40px;
}

.contact .acc__btn {
  font: var(--BodyLargeMedium);
  letter-spacing: 2px;
}

.contact__form .acc__cont > *:last-child {
  margin-bottom: 40px;
}

.contact__form .acc__cont > small.notes:first-child {
  margin-top: 12px;
}

.contact__form {
  margin-top: 128px;
}

h2.contact__form-ttl {
  font-size: 24px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
}

.contact__form .acc + .acc {
  margin-top: 40px;
}

.contact__form-table {
  margin-top: 20px;
}

.table {
  font: var(--BodySmallRegular);
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}

.table th,
.table td {
  text-align: center;
}

.table th {
  background: #CDD2E4;
}

.table thead th {
  font: var(--BodyMediumRegular);
  padding: 1px 0;
}

.table thead th:nth-child(n+2) {
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.table tbody th {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  padding: 7px 0;
}

.contact__form-table + small.notes {
  font: var(--BodyExtraSmallRegular);
  margin-top: 12px;
}

.contact__form-customerSupport {
  font: var(--BodySmallRegular);
  margin-top: 20px;
}

.contact__form-customerSupport-ttl {
  font: var(--HeadingH3);
}

.contact__form-customerSupport p {
  margin-top: 8px;
}

.contact__form-customerSupport a:not([class]) {
  text-decoration: none;
}

.contact__form-heading {
  font: var(--BodyLargeMedium);
  letter-spacing: 2px;
  border-bottom: 1px solid var(--line);;
  padding: 8px 0;
  margin-top: 40px;
}

.contact__form-heading + * {
  margin-top: 16px;
}

/* ==========================================================================
Biz Contact
=========================================================================== */
.biz_contact {
  width: 100%;
  max-width: 768px;
  margin-right: auto;
  margin-left: auto;
}

.wpcf7 {
    margin-top: 20px;
    padding: 20px;
}

.wpcf7 .wpcf7-form a {
  margin: 0;
  padding: 0;
  text-decoration: underline;
  color: inherit;
  transition: opacity .25s;
}
.wpcf7 .wpcf7-form a:hover {
  opacity: .5;
  transition: opacity .25s;
}
.wpcf7 .wpcf7-form div.form__row {
  position: relative;
  margin: 0;
  padding: 0;
  margin: 2em 0;
}
.wpcf7 .wpcf7-form div.form__row.row-name,
.wpcf7 .wpcf7-form div.form__row.row-email,
.wpcf7 .wpcf7-form div.form__row.row-tel,
.wpcf7 .wpcf7-form div.form__row.row-url,
.wpcf7 .wpcf7-form div.form__row.row-address,
.wpcf7 .wpcf7-form div.form__row.row-message {
  width: 100%;
}

.wpcf7 .wpcf7-form div.form__row.row-checkbox,
.wpcf7 .wpcf7-form div.form__row.row-radio,
.wpcf7 .wpcf7-form div.form__row.row-select {
  display: flex;
  align-items: center;
  width: 100%;
}
.wpcf7 .wpcf7-form div.form__row.row-select {
  width: 100%;
}
.wpcf7 .wpcf7-form div.form__row.row-privacy {
  width: 100%;
  margin-top: 3.5em;
  text-align: center;
}
.wpcf7 .wpcf7-form div.form__row.row-submit {
  width: 100%;
  margin-top: 3em;
  text-align: center;
}
.wpcf7 .wpcf7-form p.form__label {
  flex-shrink: 0;
  min-width: 146px;
  margin: 0 0 .3em 0;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .wpcf7-form p.form__body {
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .wpcf7-form div.form__row.row-checkbox p.form__body,
.wpcf7 .wpcf7-form div.form__row.row-radio p.form__body,
.wpcf7 .wpcf7-form div.form__row.row-select p.form__body {
  margin: 0 0 .3em 2em;
}
.wpcf7 .wpcf7-form p.form__label label {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: .95em;
  box-sizing: border-box;
}
.wpcf7 .wpcf7-form p.form__label.is-required label {
  margin-right: 1em;
}
.wpcf7 .wpcf7-form p.form__label.is-required label::after {
  content: "*";
  display: block;
  position: absolute;
  top: -.3em;
  right: -.5em;
  color: #b74c4c;
  box-sizing: border-box;
}

.wpcf7 .wpcf7-form input[type=text],
.wpcf7 .wpcf7-form input[type=tel],
.wpcf7 .wpcf7-form input[type=email],
.wpcf7 .wpcf7-form input[type=url],
.wpcf7 .wpcf7-form input[type=date],
.wpcf7 .wpcf7-form input[type=number] {
  width: 100%;
  margin: 0;
  padding: .2em 0;
  border: 0;
  border-bottom: 1px solid #ababab;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.wpcf7 .wpcf7-form textarea {
  width: 100%!important;
  margin: 0;
  padding: .2em 0;
  border: 0;
  border-bottom: 1px solid #ababab;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.wpcf7 .wpcf7-form input[type=text]::placeholder,
.wpcf7 .wpcf7-form input[type=tel]::placeholder,
.wpcf7 .wpcf7-form input[type=email]::placeholder,
.wpcf7 .wpcf7-form input[type=url]::placeholder,
.wpcf7 .wpcf7-form input[type=date]::placeholder,
.wpcf7 .wpcf7-form input[type=number]::placeholder,
.wpcf7 .wpcf7-form textarea::placeholder {
  opacity: 0;
  display: none;
}
.wpcf7 .wpcf7-form input[type=text]:-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=tel]:-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=email]:-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=url]:-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=date]:-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=number]:-ms-input-placeholder,
.wpcf7 .wpcf7-form textarea:-ms-input-placeholder {
  opacity: 0;
  display: none;
}
.wpcf7 .wpcf7-form input[type=text]::-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=tel]::-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=email]::-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=url]::-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=date]::-ms-input-placeholder,
.wpcf7 .wpcf7-form input[type=number]::-ms-input-placeholder,
.wpcf7 .wpcf7-form textarea::-ms-input-placeholder {
  opacity: 0;
  display: none;
}

.wpcf7 .wpcf7-form input[type=text]:focus,
.wpcf7 .wpcf7-form input[type=tel]:focus,
.wpcf7 .wpcf7-form input[type=email]:focus,
.wpcf7 .wpcf7-form input[type=url]:focus,
.wpcf7 .wpcf7-form input[type=date]:focus,
.wpcf7 .wpcf7-form input[type=number]:focus,
.wpcf7 .wpcf7-form textarea:focus {
  outline: 1px solid transparent;
}
.wpcf7 .wpcf7-form input[type=checkbox] {
  display: none;
}
.wpcf7 .wpcf7-form input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.8em;
  font-size: inherit;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .wpcf7-form input[type=checkbox] + span::before {
  content: "";
  opacity: 1;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.24em;
  height: 1.24em;
  border: 1px solid #ababab;
  border-radius: 0;
  background-color: transparent;
  box-sizing: border-box;
  transition: opacity .25s ease;
  z-index: 1;
}
.wpcf7 .wpcf7-form input[type=checkbox] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 0.13em;
  left: 0.5em;
  width: 0.3em;
  height: .85em;
  border-bottom: 1px solid #252525;
  border-right: 1px solid #252525;
  box-sizing: border-box;
  transform: rotate(40deg);
  transition: opacity .25s ease;
  z-index: 10;
}
.wpcf7 .wpcf7-form input[type=checkbox]:checked + span {
  color: inherit;
  transition: all .25s ease;
}
.wpcf7 .wpcf7-form input[type=checkbox]:checked + span::before {
  opacity: 1;
  transition: opacity .25s ease;
}
.wpcf7 .wpcf7-form input[type=checkbox]:checked + span::after {
  opacity: 1;
  transition: opacity .25s ease;
}
.wpcf7 .wpcf7-form input[type=radio] {
  display: none;
}
.wpcf7 .wpcf7-form input[type=radio] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.8em;
  font-size: inherit;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .wpcf7-form input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #ababab;
  border-radius: 50%;
  background-color: transparent;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .wpcf7-form input[type=radio] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: -0.1em;
  left: 0.5em;
  width: 0.3em;
  height: .85em;
  border-bottom: 1px solid #252525;
  border-right: 1px solid #252525;
  box-sizing: border-box;
  transform: rotate(40deg);
  transition: opacity .25s ease;
  z-index: 10;
}
.wpcf7 .wpcf7-form input[type=radio]:checked + span {
  color: inherit;
  transition: opacity .25s ease;
}
.wpcf7 .wpcf7-form input[type=radio]:checked + span::after {
  opacity: 1;
  transition: opacity .25s ease;
}

.wpcf7 .wpcf7-form span.select-wrap {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.wpcf7 .wpcf7-form select {
  cursor: pointer;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: .5em 2.5em 0 1em;
  border: 0;
  border-bottom: 1px solid #ababab;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
  color: inherit;
  font-size: inherit;
  line-height: 1;
  box-sizing: border-box;
  transition: border-color 0.2s ease, outline 0.2s ease;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
}
.wpcf7 .wpcf7-form select::-ms-expand {
  display: block;
}
.wpcf7 .wpcf7-form span.select-wrap::after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: .6em;
  height: .6em;
  top: 50%;
  right: 1em;
  margin-top: -3px;
  border-bottom: 1px solid #ababab;
  border-right: 1px solid #ababab;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: 50% 0;
  box-sizing: border-box;
}
.wpcf7 .wpcf7-form select:focus {
  outline: 0;
}
.wpcf7 .wpcf7-form .submit-btn {
  position: relative;
  width: 320px;
  height: 65px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
}
.wpcf7 .wpcf7-form input[type="submit"] {
  cursor: pointer;
  width: 320px;
  max-width: 100%;
  padding: 18px;
  border-radius: 0;
  box-shadow: none;
  border: 1px #abb5c3 solid;
  background-color: #abb5c3;
  color: #fff;
  font-size: 18px;
  text-align: center;
  box-sizing: border-box;
  transition: opacity .25s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.wpcf7 .wpcf7-form input[type="submit"]:disabled {
  cursor: not-allowed;
  box-shadow: none!important;
  border: 1px solid #f8f8f8!important;
  background-color: #f8f8f8!important;
  color: #999!important;
}
.wpcf7 .wpcf7-form input[type="submit"]:hover {
  background-color: #fff;
  color: #abb5c3;
  transition: opacity .25s, background-color .25s;
}
.wpcf7 .wpcf7-form input[type="submit"]:focus {
  outline: 1px #eee solid;
  border: 1px #080808 solid;
}
.wpcf7 .wpcf7-form span.wpcf7-list-item {
  margin: 0 1em .2em 0;
}
.wpcf7 .wpcf7-form div.wpcf7 .ajax-loader {
  display: block;
}
.biz_contact .submit {
  margin-top: 25px;
  text-align: center;
}
.wpcf7-turnstile {
    text-align: center;
}
.wpcf7-spinner {
  display: block!important;
}
.biz_contact dt {
  margin-bottom: 10px;
}
.biz_contact dd {
  margin-bottom: 30px;
}
.biz_contact ul {
  margin-top: 25px;
  font-size: 0.8rem;
}
.biz_contact ul li:before {
  content: ""!important;
}
span.wpcf7-not-valid-tip {
    margin-top: 5px;
}
span.wpcf7-spinner {
    margin: 15px auto 0;
}

/* ==========================================================================
404
=========================================================================== */
.error {
  text-align: center;
  padding: 132px 0;
}

.errorMessage__ttl {
  margin-top: 20px;
}

.errorMessage__txt {
  font: var(--BodySmallRegular);
  margin-top: 20px;
}

.backToTop {
  margin-top: 40px;
}


/* ==========================================================================
フッター
=========================================================================== */
/* INFORMATION */
.information {
  background: var(--Base);
  padding: 80px 0 128px;
  position: relative;
}

.information__ttl {
  font-family: var(--fontFamily_Corbel);
  font-size: 24px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  text-align: center;
}

.information__links {
  margin-top: 40px;
}

.information__links-item {
  display: block;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
  height: 80px;
  padding: 16px 20px;
  position: relative;
}

.information__links-item:nth-child(n+2) {
  margin-top: 20px;
}

.information__links-item::after {
  content: "";
  background: url(../img/chevron_right_black.svg) no-repeat center / 100% auto;
  width: 24px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.information__links-en {
  font-family: var(--fontFamily_Corbel);
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
}

.information__links-ja {
  font-size: 13px;
  line-height: 180%;
  color: var(--gray);
}

/* BACK TO TOP */
.backBtn {
  background: #fff;
  border-radius: 50%;
  width: 220px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  bottom: -148px;
  left: 50%;
  transform: translateX(-50%);
}

.backBtn::before {
  content: "";
  background: url(../img/chevron_up_black.svg) no-repeat center / 100% auto;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
}

.backBtn span {
  font-family: var(--fontFamily_sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 2px;
  position: absolute;
  top: 44px;
  left: 50%;
  transform: translateX(-50%);
}

/* footer */
.footer {
  background: #fff;
  border-top: 1px solid var(--Base);
  padding: 40px 0 24px;
  position: relative;
}

.footer__heading {
  display: flex;
  justify-content: space-between;
}

.footer__logo {
  width: auto;
  height: 24px;
}

.footer__snsLinks .custom-html-widget {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}

.footer__snsLinks a {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 100%;
  width: 24px;
  height: 24px;
}

.footer__snsLinks a[data-type="ig"] {
  background-image: url(../img/instagram_icon_black.png);
}

.footer__snsLinks a[data-type="yt"] {
  background-image: url(../img/youtube_icon_black.png);
}

.footer__snsLinks a[data-type="x"] {
  background-image: url(../img/x_icon_black.png);
}

.footer__snsLinks a[data-type="tt"] {
  background-image: url(../img/tiktok_icon_black.png);
}

.footer__pageLinks .menu {
  display: inline-flex;
  flex-direction: column;
  gap: 24px;
  border-top: 1px solid var(--Base);
  border-bottom: 1px solid var(--Base);
  padding: 24px 0;
  margin-top: 40px;
}

.footer__pageLinks .menu li {
  font-family: var(--fontFamily_sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 2px;
  display: block;
}

.footer__shopLinks .custom-html-widget {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 36px;
}

.footer__shopLinks a {
  font: var(--BodyMediumMedium);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: #F6F7F8;
  border-radius: 4px;
  height: 48px;
  padding: 0 16px;
  position: relative;
}

.footer__shopLinks a::after {
  content: "";
  background: url(../img/jump_icon.svg) no-repeat center / 100% auto;
  width: 14px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.footer__shopLinks a:nth-child(1) {
  grid-column: 1 / 3;
}

.footer__legalLinks .custom-html-widget {
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 40px;
}

.footer__legalLinks a {
  font: var(--BodySmallMedium);
  padding-left: 16px;
  position: relative;
}

.footer__legalLinks a::before {
  content: "";
  display: inline-block;
  background: var(--Main);
  border-radius: 50%;
  width: 4px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.footer__copyright {
  font: var(--BodyExtraSmallMedium);
  text-align: center;
  border-top: 1px solid var(--Base);
  padding-top: 12px;
  margin-top: 24px;
}


/* ==========================================================================
管理画面　ダッシュボード
=========================================================================== */
.custom_widget li:nth-child(n+2) {
  margin-top: 8px;
}

.custom_widget li a {
  display: flex;
  align-items: center;
  gap: 4px;
}

.custom_widget li a p {
  margin: 0;
}