@charset "UTF-8";

/* =====================================
トップ：共通設定
===================================== */

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

html,
body {
    scroll-padding: 0;
}
body {
  padding-top: 0;
}
.c-loadingImage {
  display: none;
  background: var(--color-white);
  transition: unset;
}
#rootTemplate > .c-loadingImage {
    z-index: 9999;
}

@media screen and (max-width: 992px) {
  .l-container-wrap {
    display: block;
  }
}

/* スライダー関連 */
.swiper {
    width: 100%;
    overflow: hidden;
}
.c-productSlider__slide {
  height: auto;
}
.c-slider__control {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
}
.c-slider__masterControl {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: min(3.4027777778svw, 4.9rem);
  margin-top: min(3.75svw, 5.4rem);
}
.home-mv__control {
  position: absolute;
  z-index: 2;
  right: min(2.08333333333svw, 3rem);
  bottom: min(1.3888888889svw, 2rem);
}
.c-slider__counter {
  width: fit-content;
  min-width: min(3.6805555556svw, 5.3rem);
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.c-slider__counter .swiper-pagination-breakpoint {
  position: relative;
}
.c-slider__counter .swiper-pagination-breakpoint {
  display: inline-flex;
  justify-content: center;
  align-items: flex-end;
}
.c-slider__counter [class*="swiper-pagination-"] {
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
  font-size: min(1.3888888889svw, 2rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
}
.c-slider__counter .swiper-pagination-breakpoint::before {
  content: '';
  display: block;
  width: min(0.9722222222svw, 1.4rem);
  height: 1px;
  background-color: var(--color-black);
  translate: 0 max(-1rem, -0.6944444444svw);
  rotate: -60deg;
}
.c-slider__scrollbar {
  height: 1px;
  background-color: var(--color-border);
}
.c-slider__scrollbar .swiper-scrollbar-drag {
  background-color: var(--color-black);
  cursor: pointer;
}

@media screen and (max-width: 991px) {
  .home-mv__control {
    display: none;
  }
  .c-slider__control {
    gap: 1rem;
  }
  .c-slider__counter [class*="swiper-pagination-"] {
    font-size: 2rem;
  }
  .c-slider__counter .swiper-pagination-breakpoint::before {
    width: 1.4rem;
    translate: 0 -1rem;
  }
  .c-slider__masterControl {
    margin-top: 2rem;
    gap: 2.5rem;
  }
}

/* =====================================
トップ：メインビジュアル 
===================================== */
.home-mv {
  position: relative;
  aspect-ratio: 1440 / 800;
}
.home-mv__arrow {
  width: min(2.08333333333svw, 3rem);
  height: min(2.08333333333svw, 3rem);
}

@media (hover: hover) and (pointer: fine) {
  .home-mv__slide a {
    transition: opacity var(--transition-default);
  }
  .home-mv__slide a[href]:hover {
    opacity: 0.6 !important;
  }
}
@media screen and (max-width: 991px) {
  .home-mv {
    aspect-ratio: 380 / 650;
  }
  .home-mv__slideLink {
    display: block;
    height: 100%;
  }
  .home-mv__slide picture {
    width: 100%;
    height: 100%;
  }
  .home-mv__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home-mv__slide video {
    width: auto;
    height: 100%;
  }
  .home-mv__arrow {
    width: 3rem;
    height: 3rem;
  }
}

/* トライアルセット */
.home-trialSet__wrapper {
  width: min(69.4444444444svw, 100rem);
  display: grid;
  /* grid-template-columns: min(23.5416666667svw, 33.9rem) 1fr; */
  grid-template-columns: min(23.5416666667svw, 33.9rem) 1fr;
  column-gap: min(4.1666666667svw, 6rem);
  margin-inline: auto;
  color: var(--color-white);
  background-color: var(--color-brand-3);
  position: relative;
  padding-inline: min(3.05555555556svw, 4.4rem) min(3.2638888889svw, 4.7rem);
}
.home-trialSet__image {
  position: relative;
}
@media screen and (min-width: 992px) {
  .home-trialSet__image img {
    position: absolute;
    top: 55%;
    left: 50%;
    translate: -50% -50%;
    display: block;
    width: 118%;
    max-width: unset;
    height: auto;
  }
}
.home-trialSet__detail {
  padding-block: min(2.7083333333svw, 3.9rem);
}
.home-trialSet__description {
  font-family: var(--ff-shippori-mincho-b1);
  font-weight: var(--fw-regular);
  font-size: min(1.5277777778svw, 2.2rem);
  line-height: 1.6;
  letter-spacing: 0.1em;
  /* padding-right: min(1.9444444444svw, 2.8rem); */
  padding-bottom: min(1.3888888889svw, 2rem);
  border-bottom: 1px solid rgba(255,255,255,0.3);
}
.home-trialSet__info {
  padding-top: min(1.3888888889svw, 2rem);
}
.home-trialSet__name {
  font-weight: var(--fw-regular);
  font-size: min(1.1805555556svw, 1.7rem);
  line-height: 1.6;
  letter-spacing: 0.12em;
  margin-bottom: min(0.3472222222svw, 0.5rem);
}
.home-trialSet__price {
  margin-bottom: min(0.8333333333svw, 1.2rem);
  display: flex;
  align-items: center;
  gap: min(0.5555555556svw, 0.8rem);
}
.home-trialSet__price--original {
  font-weight: var(--fw-regular);
  font-size: min(1.1805555556svw, 1.7rem);
  line-height: 1.6;
  letter-spacing: 0.12em;
}
.home-trialSet__price--original .home-trialSet__priceValue {
  position: relative;
}
.home-trialSet__price--original .home-trialSet__priceValue::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-white);
  position: absolute;
  top: 60%;
  left: 0;
  translate: 0 -50%;
}
.home-trialSet__price--discount {
  font-weight: var(--fw-regular);
  font-size: min(1.8055555556svw, 2.6rem);
  line-height: 1.6;
  letter-spacing: 0.12em;
}
.home-trialSet__title {
  position: absolute;
  bottom: max(-1.5rem, -1.04166666667svw);
  right: max(-0.5rem, -0.3472222222svw);
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
  font-size: min(3.4722222222svw, 5rem);
  line-height: 1.22;
  letter-spacing: 0.12em;
  color: var(--color-white);
  opacity: 0.15;
}
.home-trialSet .c-section__inner {
  padding-block: min(9.5833333333svw, 13.8rem) min(9.1666666667svw, 13.2rem);
}
@media screen and (max-width: 991px) {
  .home-trialSet .c-section__inner {
    padding-top: 9.5rem;
    padding-bottom: 5.7rem;
  }
  .home-trialSet__wrapper {
    width: 85.3333333333%;
    display: block;
    padding-top: 20rem;
    padding-inline: 2rem;
  }
  .home-trialSet__detail {
    padding-block: 0 5rem;
  }
  .home-trialSet__image {
    position: absolute;
    top: -4.5rem;
    left: 50%;
    translate: -50% 0;
    width: 20rem;
  }
  .home-trialSet__description {
    font-size: 2.1rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    padding-bottom: 1.5rem;
  }
  .home-trialSet__info {
    padding-top: 1.3rem;
  }
  .home-trialSet__name {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
  .home-trialSet__price {
    margin-bottom: 2.4rem;
    gap: 0.8rem;
  }
  .home-trialSet__title {
    font-size: 3.27rem;
    bottom: -0.9rem;
  }
  .home-trialSet__price--original {
    font-size: 1.7rem;
  }
  .home-trialSet__price--discount {
    font-size: 2.6rem;
  }
}

/* 限定オファー */
.home-limitedOffer {
  background-color: var(--color-background-1);
}
.home-limitedOffer .c-section__inner--double-column {
  overflow: hidden;
}
.home-limitedOffer .c-heading {
  margin-top: min(0.2083333333svw, 0.3rem);
}
.home-limitedOffer .c-heading__primary small {
  margin-bottom: min(0.4166666667svw, 0.6rem);
}
.home-limitedOffer-slider__slide {
  aspect-ratio: 340 / 454;
  overflow: hidden;
}
.home-limitedOffer .c-section__lead {
  padding-inline: min(5.6944444444svw, 8.2rem) min(6.8055555556svw, 9.8rem);
}
.home-limitedOffer .c-section__lead .c-button {
  margin-top: min(2.9861111111svw, 4.3rem);
}
@media screen and (min-width: 992px) {
  .home-limitedOffer .c-slider__masterControl {
    padding-right: var(--value-padding-side);
  }
  .home-limitedOffer .c-section__inner--double-column {
    display: grid;
    grid-template-columns: 1fr 68.05555555556%;
  }
}
@media screen and (max-width: 991px) {
  .home-limitedOffer .c-heading {
    margin-bottom: 3rem;
    padding-inline: var(--value-padding-side);
  }
  .home-limitedOffer .c-section__lead {
    padding-inline: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .home-limitedOffer-slider__slide a {
    transition: opacity var(--transition-default);
  }
  .home-limitedOffer-slider__slide a[href]:hover {
    opacity: 0.6 !important;
  }
}

/* ランキング */
.home-ranking {
  background-color: var(--color-brand-3);
}
@media screen and (min-width: 992px) {
  .home-ranking .c-section__inner {
    padding-block-start: min(7.3611111111svw, 10.6rem);
  }
}
.home-ranking .c-heading {
  color: var(--color-white);
  padding-inline: min(5.6944444444svw, 8.2rem);
  margin-bottom: min(2.2916666667svw, 3.3rem);
}
.home-ranking .c-productSlider {
  padding-inline: min(5.6944444444svw, 8.2rem);
}
.home-ranking .c-slider__counter [class*="swiper-pagination-"] {
  color: var(--color-white);
}
.home-ranking .c-slider__counter .swiper-pagination-breakpoint::before {
  background-color: var(--color-white);
}
.home-ranking .c-slider__scrollbar .swiper-scrollbar-drag {
  background-color: var(--color-white);
}
.home-ranking .c-product {
  background-color: var(--color-white);
  display: grid;
  grid-template-rows: auto 1fr;
}
.home-ranking .c-product-body {
  margin-top: 0;
  padding: min(1.3888888889svw, 2rem) min(2.08333333333svw, 3rem);
}
@media screen and (max-width: 991px) {
  .home-ranking .c-heading {
    padding-inline: var(--value-padding-side);
    margin-bottom: 3.3rem;
  }
  .home-ranking .c-product-body {
    padding: 2rem 1.25rem;
  }
  .home-ranking .c-productSlider {
    padding-inline: var(--value-padding-side);
  }
}

/* エテルナムについて */
.home-about {
  aspect-ratio: 384 / 1156;
  background-image: url("../img/custom/home/about_bg.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.home-about .c-section__inner {
  position: relative;
}
@media screen and (min-width: 992px) {
  .home-about {
    aspect-ratio: 1440 / 1558;
  }
  .home-about .c-section__inner {
    padding-block: 12.5rem 9.5rem;
    padding-inline: 5.5555555556svw;
    margin-inline: auto;
  }
}
.home-about .c-heading {
  margin-bottom: min(2.9166666667svw, 4.2rem);
}
.home-about__content {
  display: flex;
  flex-direction: column;
  row-gap: 11.3888888889svw;
}
.home-about__detail {
  width: 38.1944444444svw;
}
.home-about__catchcopy {
  font-weight: var(--fw-regular);
  font-size: min(1.7361111111svw, 2.5rem);
  line-height: 1.6;
  letter-spacing: 0.12em;
  margin-bottom: min(1.3888888889svw, 2rem);
}
.home-about__description {
  font-weight: var(--fw-regular);
  font-size: min(1.1111111111svw, 1.6rem);
  line-height: 2;
  letter-spacing: 0.12em;
  margin-bottom: min(2.08333333333svw, 3rem);
}
.home-about__navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3888888889svw 2.08333333333svw;
}
.home-about__graph {
  position: absolute;
  top: min(calc(8.3333333333svw + 1.7361111111svw), calc(12rem + 1.7361111111svw));
  right: 5.5555555556svw;
  display: flex;
}
.home-about__graphPiece {
  width: min(20.8333333333svw, 30rem);
  height: min(20.8333333333svw, 30rem);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; 
  border: 1px solid var(--color-border);
}
.home-about__graphText {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
  font-family: var(--font-ja-serif);
  font-weight: var(--fw-regular);
  font-size: min(2.2222222222svw, 3.2rem);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.home-about__graphSubtext {
  font-family: var(--ff-cormorant-garamond);
  font-size: min(1.8055555556svw, 2.6rem);
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--color-secondary);
}
.home-about__graphPiece:first-child {
  translate: 2.08333333333svw 0;
}
.home-about__gallery {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 9.02777777778svw;
}
.home-about__galleryImage {
  box-shadow: 0 min(1.3888888889svw, 2rem) min(3.4722222222svw, 5rem) 0 rgba(0,0,0,0.1);
}
.home-about__galleryImage--1 {
  width: 31.25svw;
}
.home-about__galleryImage--2 {
  width: 40.625svw;
  position: absolute;
  top: -15.1388888889svw;
  right: 0;
}
.home-about__galleryImage--3 {
  width: 26.3888888889svw;
  margin-top: 19.7916666667svw;
}

@media screen and (max-width: 991px) {
  .home-about {
    background-image: url("../img/custom/home/about_bg_sp.jpg");
  }
  .home-about .c-heading,
  .home-about__detail {
    padding-inline: var(--value-padding-side);
  }
  .home-about__detail {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .home-about .c-heading {
    margin-bottom: 3rem;
  }
  .home-about__graph {
    position: relative;
    top: unset;
    right: unset;
    order: -1;
  }
  .home-about__content {
    row-gap: 10.5rem;
  }
  .home-about__catchcopy {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .home-about__description {
    font-size: 1.4rem;
    margin-bottom: 3rem;
  }
  .home-about__navigation {
    gap: 2rem;
  }
  .home-about__graph {
    justify-content: center;
    margin-bottom: 1.3rem;
  }
  .home-about__graphPiece {
    width: 14.8rem;
    height: 14.8rem;
  }
  .home-about__graphText {
    font-size: 1.775rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
    row-gap: 0.2rem;
  }
  .home-about__graphSubtext {
    font-size: 1.5rem;
  }
  .home-about__graphPiece:first-child {
    translate: 0.75rem 0;
  }
  .home-about__graphPiece:last-child {
    translate: -0.75rem 0;
  }
  .home-about__galleryImage--1 {
    width: 13.2rem;
  }
  .home-about__galleryImage--2 {
    width: 17.5rem;
    position: absolute;
    top: -6.5rem;
    right: 0;
  }
  .home-about__galleryImage--3 {
    width: 11.5rem;
    margin-top: 8.5rem;
  }
}

/* 商品一覧 */
.home-product .c-section__inner {
  padding-top: min(2.08333333333svw, 3rem);
}
.home-product .c-heading,
.home-product .c-productSlider__masterControl {
  padding-inline: var(--value-padding-side);
}
.home-product .c-heading {
  margin-bottom: min(2.2916666667svw, 3.3rem);
}
.home-product .c-productList__item {
  border-bottom: 1px solid var(--color-border);
}
.home-product .c-productList__item:not(:last-of-type) {
  border-right: 1px solid var(--color-border);
}
.home-product .c-productList__item .swiper-slide {
  height: auto;
}
.home-product .c-product-body {
  padding: min(1.3888888889svw, 2rem) min(1.9097222222svw, 2.75rem);
}
.home-product .c-productSlider__masterControl {
  margin-top: min(2.2916666667svw, 3.3rem);
}
@media screen and (max-width: 991px) {
  .home-product .c-section__inner {
    padding-top: 3rem;
  }
  .home-product .c-heading {
    margin-bottom: 3.3rem;
  }
  .home-product .c-product-body {
    padding: 2rem 2.75rem;
  }
  .home-product .c-productSlider__masterControl {
    margin-top: 3.3rem;
  }
}

/* お客様の声 */
.home-voice {
  background-image: url("../img/custom/home/voice_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
.home-voice .c-heading {
  color: var(--color-white);
  padding-inline: var(--value-padding-side);
  margin-bottom: min(2.9166666667svw, 4.2rem);
}
.home-voice-slider {
  padding-inline: var(--value-padding-side);
}
.home-voice__detail {
  background-color: rgba(255,255,255,0.9);
  padding: min(2.7777777778svw, 4rem) min(2.08333333333svw, 3rem);
  display: flex;
  flex-direction: column;
  row-gap: min(1.04166666667svw, 1.5rem);
}
.home-voice__detailHead {
  font-family: var(--ff-shippori-mincho-b1);
  font-weight: var(--fw-regular);
  font-size: min(1.3888888889svw, 2rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.home-voice__detailBody {
  display: flex;
  flex-direction: column;
  row-gap: min(1.3888888889svw, 2rem);
}
.home-voice__detailDescription {
  font-weight: var(--fw-regular);
  font-size: min(0.9722222222svw, 1.4rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.home-voice__detailAuthor {
  text-align: right;
  font-weight: var(--fw-regular);
  font-size: min(0.8333333333svw, 1.2rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: var(--color-secondary  );
}
.home-voice .c-slider__counter [class*="swiper-pagination-"] {
  color: var(--color-white);
}
.home-voice .c-slider__scrollbar .swiper-scrollbar-drag,
.home-voice .c-slider__counter .swiper-pagination-breakpoint::before {
  background-color: var(--color-white);
}
.home-voice .c-section__buttonWrap {
  justify-content: center;
}

@media screen and (max-width: 991px) {
  .home-voice {
    background-image: url("../img/custom/home/voice_bg_sp.jpg");
  }
  .home-voice .c-heading {
    margin-bottom: 3rem;
  }
  .home-voice__detail {
    padding: 3rem;
    row-gap: 1.5rem;
  }
  .home-voice__detailHead {
    font-size: 2rem;
  }
  .home-voice__detailDescription {
    font-size: 1.4rem;
  }
  .home-voice__detailBody {
    row-gap: 2rem;
  }
  .home-voice__detailAuthor {
    font-size: 1.2rem;
  }
}

/* 会員サービス */
.home-membership .c-section__inner {
  padding-inline: var(--value-padding-side);
}
.home-membership .c-section__inner--double-column {
  display: flex;
  gap: 8.4027777778svw;
}
@media screen and (min-width: 992px) {
  .home-membership .c-section__lead {
    width: 38.8svw;
  }
  .home-membership .c-section__main {
    width: calc(100% - 38.8svw - 8.4027777778svw);
  }
}
.home-membership .c-heading {
  margin-bottom: min(2.9166666667svw, 4.2rem);
}
.home-membership__detailHeading {
  font-weight: var(--fw-regular);
  font-size: min(1.7361111111svw, 2.5rem);
  line-height: 1.6;
  letter-spacing: 0.12em;
  margin-bottom: min(1.3888888889svw, 2rem);
}
.home-membership__detailDescription {
  font-weight: var(--fw-regular);
  font-size: min(1.1111111111svw, 1.6rem);
  line-height: 2;
  letter-spacing: 0.12em;
  margin-bottom: min(2.08333333333svw, 3rem);
}
.home-membership-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.home-membership-table__cell {
  border: 1px solid var(--color-border);
  padding: min(1.7361111111svw, 2.5rem) min(1.3888888889svw, 2rem);
}
.home-membership-table__cellInner {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: min(0.8333333333svw, 1.2rem);
}
.home-membership-table__icon {
  display: block;
  width: min(2.7777777778svw, 4rem);
}
.home-membership-table__detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: min(0.5555555556svw, 0.8rem);
}
.home-membership-table__detailHeading {
  font-weight: var(--fw-regular);
  font-size: min(1.1111111111svw, 1.6rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.home-membership-table__detailDescription {
  color: var(--color-secondary);
  font-size: min(0.9027777778svw, 1.3rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.home-membership__detail .c-section__buttonWrap {
  justify-content: flex-start;
}

@media screen and (max-width: 991px) {
  .home-membership .c-heading {
    margin-bottom: 3rem;
  }
  .home-membership .c-section__inner--double-column {
    display: block;
    position: relative;
  }
  .home-membership .c-section__lead {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
  }
  .home-membership__detail {
    padding-top: 20rem;
  }
  .home-membership .c-section__main {
    position: absolute;
    width: 90.7894736842svw;
    top: 14.7rem;
    left: var(--value-padding-side);
  }
  .membership-slider__slide {
    aspect-ratio: 345 / 180;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .home-membership__detailHeading {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  .home-membership__detailDescription {
    font-size: 1.4rem;
    margin-bottom: 2.7rem;
  }
  .home-membership-table {
    border-collapse: separate;
    border-spacing: 0;
  }
  .home-membership-table__icon {
    width: 4rem;
    height: 4rem;
  }
  .home-membership-table__cell {
    padding: 2rem 0.7rem;
  }
  .home-membership-table__detail {
    row-gap: 0.8rem;
  }
  .home-membership-table__detailHeading {
    font-size: 1.5rem;
    line-height: 1.4;
  }
  .home-membership-table__detailDescription {
    font-size: 1.3rem;
  }
  .home-membership-table__cellInner {
    row-gap: 1rem;
  }
  .home-membership__detail .c-section__buttonWrap {
    justify-content: center;
  }
  .home-membership-table__cell + .home-membership-table__cell {
    translate: -1px 0;
  }
  .home-membership-table__row + .home-membership-table__row {
    translate: 0 -1px;
  }
}

/* ジャーナル */
.home-journal {
  /* background-image: url("../img/custom/home/journal_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover; */
  position: relative;
  z-index: 2;
  /* aspect-ratio: 1800 / 1100; */
}
.home-journal .c-parallax-wrapper {
  height: 100%;
}
.home-journal-bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home-journal .c-heading {
  padding-inline: var(--value-padding-side);
  color: var(--color-white);
  margin-bottom: min(2.9166666667svw, 4.2rem);
}
.home-journal .c-slider__counter [class*="swiper-pagination-"] {
  color: var(--color-white);
}
.home-journal .c-slider__scrollbar .swiper-scrollbar-drag,
.home-journal .c-slider__counter .swiper-pagination-breakpoint::before {
  background-color: var(--color-white);
}
.home-journal .c-section__buttonWrap {
  justify-content: center;
}

@media screen and (max-width: 991px) {
  .home-journal {
    /* aspect-ratio: 380 / 780; */
  }
}

/* 医療機関専売品 */
.home-clinicLine {
  background-color: var(--color-background-1);
}
.home-clinicLine .c-section__lead,
.home-clinicLine-slider,
.home-clinicLine__detail {
  padding-inline: var(--value-padding-side);
}
.home-clinicLine .c-heading {
  margin-bottom: min(2.6388888889svw, 3.8rem);
}
.home-clinicLine .c-heading--tertiary {
  font-family: var(--ff-cormorant-garamond);
  font-weight: var(--fw-medium);
  font-size: min(2.08333333333svw, 3rem);
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: min(2.6388888889svw, 3.8rem);
}
.home-clinicLine__item {
  display: flex;
  flex-direction: column;
  row-gap: min(1.3888888889svw, 2rem);
}
.home-clinicLine__itemDetail {
  display: flex;
  flex-direction: column;
  row-gap: min(1.1111111111svw, 1.6rem);
}
.home-clinicLine__itemName {
  font-weight: var(--fw-regular);
  font-size: min(1.25svw, 1.8rem);
  line-height: 1.4;
  letter-spacing: 0.16em;
}
.home-clinicLine__itemDescription {
  color: var(--color-secondary);
  font-weight: var(--fw-regular);
  font-size: min(0.9722222222svw, 1.4rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.home-clinicLine__detail {
  margin-top: min(2.7777777778svw, 4rem);
  display: flex;
  justify-content: space-between;
}
.home-clinicLine__detailDescription {
  font-weight: var(--fw-regular);
  font-size: min(1.25svw, 1.8rem);
  line-height: 2;
  letter-spacing: 0.12em;
}
.home-clinicLine__detailNavigation {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: min(2.01388888889svw, 2.9rem);
}
.home-clinicLine__detail .c-button {
  margin-block: min(0.625svw, 0.9rem) min(0.5555555556svw, 0.8rem);
}
.home-clinicLine__detail .c-textLink {
  font-size: min(1.25svw, 1.8rem);
}
@media (hover: hover) and (pointer: fine) {
  .home-clinicLine__itemImage a,
  .home-clinicLine__itemName a {
    transition: opacity var(--transition-default);
  }
  .home-clinicLine__itemImage a:hover,
  .home-clinicLine__itemName a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 991px) {
  .home-clinicLine .c-heading {
    margin-bottom: 3.8rem;
  }
  .home-clinicLine .c-heading--tertiary {
    font-size: 2rem;
    margin-bottom: 3.8rem;
  }
  .home-clinicLine__item {
    row-gap: 2rem;
  }
  .home-clinicLine__itemName {
    font-size: 1.8rem;
  }
  .home-clinicLine__detail {
    margin-top: 1.8rem;
    display: flex;
    flex-direction: column;
    row-gap: 3rem;
  }
  .home-clinicLine__itemDetail {
    row-gap: 1.6rem;
  }
  .home-clinicLine__detailDescription {
    font-size: 1.3rem;
  }
  .home-clinicLine__detailNavigation {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 2rem;
  }
  .home-clinicLine__detail .c-textLink {
    font-size: 1.6rem;
  }
  .home-clinicLine__itemDescription {
    font-size: 1.6rem;
  }
}


/* よくあるご質問 */
.home-faq .c-section__inner {
  padding-inline: var(--value-padding-side);
}
@media screen and (min-width: 992px) {
  .home-faq .c-heading {
    margin-top: 1rem;
  }
  .home-faq .c-section__inner--double-column {
    display: grid;
    grid-template-columns: 1fr 62.5svw;
    gap: min(5.9722222222svw, 8.6rem);
  }
  .c-section__buttonWrap {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 991px) {
  .home-faq .c-heading {
    margin-bottom: 3rem;
  }
  .home-faq .c-section__inner {
    padding-inline: 0;
  }
  .home-faq .c-heading {
    padding-inline: var(--value-padding-side);
  }
}

/* ビジュアル画像 */
@media screen and (max-width: 991px) {
  .home-visual {
    aspect-ratio: 380 / 700;
  }
  .home-visual__inner {
    height: 100%;
  }
  .home-visual img {
    height: 100%;
    object-fit: cover;
  }
}

/* --- 2. Image Parallax Container --- */
.c-parallax-section {
  width: 100%;
}

.c-parallax-wrapper {
  position: relative;
  width: 100%;
  height: 70svw; /* Height of the image window */
  overflow: hidden; /* Crucial: Hides the overflowing parts of the image */
}

.c-parallax-image {
  position: absolute;
  top: -10%; /* Start slightly above the container */
  left: 0;
  width: 100%;
  height: 120%; /* Taller than container so it has room to translate */
  object-fit: cover;
  will-change: transform; /* Prompts browser to hardware-accelerate */
  transform: translate3d(0, 0, 0); 
}

/* お知らせ */
@media screen and (min-width: 992px) {
  .home-news .c-section__inner--double-column {
    grid-template-columns: 1fr 61.5svw;
  }
}
@media screen and (max-width: 991px) {
  .c-parallax-wrapper {
    height: 186.6666666667svw;
  }
}
.home-news .c-news__item:nth-of-type(n+5) {
  display: none;
}

.c-product-head__picture::before,
.c-productUser-head__picture::before {
  padding-top: 100%;
}
.c-product-head__image,
.c-productUser-head__image {
  object-fit: cover;
}
.c-product-sIcon__item:not(:has(img)),
.c-productUser-sIcon__item:not(:has(img)) {
  display: none;
}
.c-product-sIcon__item,
.c-productUser-sIcon__item {
  height: min(1.5972222222svw, 2.3rem);
}
.c-product-sIcon__item img,
.c-productUser-sIcon__item img {
  width: auto;
  height: 100%;
}
.c-product-body,
.c-productUser-body {
  display: flex;
  flex-direction: column;
  row-gap: min(1.04166666667svw, 1.5rem);
}
.c-product-body__price-subsc-icon,
.c-productUser-body__price-subsc-icon {
  border: none;
  padding: 0;
  color: var(--color-text);
  font-weight: var(--fw-regular);
  font-size: min(0.9722222222svw, 1.4rem);
  letter-spacing: 0.12em;
}
.c-product-body__price-subsc-icon::after,
.c-productUser-body__price-subsc-icon::after {
  content: '：';
}
.c-product-body__price,
.c-product-body__price-subsc-price,
.c-product-body__price-value,
.c-productUser-body__price-value {
  font-weight: var(--fw-regular);
  font-size: min(1.1111111111svw, 1.6rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.c-product-body__price-subsc--regular {
  color: var(--color-text);
}
.c-product-body__price,
.c-productUser-body__price {
  display: flex;
  flex-direction: column;
  row-gap: min(0.2083333333svw, 0.3rem);
}
.c-product-body__price-subscPromotion,
.c-productUser-body__price-subscPromotion {
  margin-top: 0;
  font-size: min(0.9027777778svw, 1.3rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.c-product-body__price-subscPromotion-price,
.c-productUser-body__price-subscPromotion-price {
  font-weight: var(--fw-regular);
  font-size: min(0.9027777778svw, 1.3rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.c-product-body__outline,
.c-productUser-body__outline {
  font-weight: var(--fw-regular);
  font-size: min(0.9722222222svw, 1.4rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: var(--color-secondary);
}
.c-product-body__title-name,
.c-productUser-body__title-name {
  font-weight: var(--fw-regular);
  font-size: min(1.25svw, 1.8rem);
  line-height: 1.4;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 991px) {
  .c-product-head__rank {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 2rem;
  }
  .c-product-body__price,
  .c-productUser-body__price {
    row-gap: 0.3rem;
  }
  .c-product-body, .c-productUser-body {
    row-gap: 1.5rem;
  }
  .c-product-body__price,
  .c-product-body__price-subsc-price,
  .c-product-body__price-value,
  .c-productUser-body__price-value {
    font-size: 1.6rem;
  }
  .c-product-body__price-subscPromotion,
  .c-productUser-body__price-subscPromotion,
  .c-product-body__price-subscPromotion-price,
  .c-productUser-body__price-subscPromotion-price {
    font-size: 1.3rem;
  }
  .c-product-body__outline,
  .c-productUser-body__outline,
  .c-product-body__price-subsc-icon,
  .c-productUser-body__price-subsc-icon {
    font-size: 1.4rem;
  }
  .c-product-sIcon__item, .c-productUser-sIcon__item {
    height: 2.3rem;
  }
  .c-product-body__title-name, .c-productUser-body__title-name {
    font-size: 1.6rem;
  }
}

.js-fade {
  opacity: 0;
  transition: opacity 1.2s ease;
}
.js-fade.is-visible {
  opacity: 1;
}
.js-fade-2 {
  transition-delay: 0.3s;
}
.js-fade-3 {
  transition-delay: 0.5s;
}
.js-fade-4 {
  transition-delay: 0.7s;
}
.js-fade-5 {
  transition-delay: 0.9s; 
}