/* stylelint-disable no-descending-specificity */
#page-body {
  background-color: #780000;
}

#header .header__inner svg {
  fill: #fff;
}

.header .cls-4 {
  stroke: #fff;
}

.header .navigation__list {
  color: #fff;
}

.drawer-btn.is-closed .drawer-btn__border,
.drawer-btn.is-closed .drawer-btn__border::after,
.drawer-btn.is-closed .drawer-btn__border::before {
  background: #fff;
}

.landingPage {
  --color-white: #fff;
  --color-red: #780000;
  --font-trajan: 'trajan-pro-3', serif;
  --font-hiragino: 'Hiragino Sans' sans-serif;
  --font-nimbus: 'nimbus-sans' sans-serif;
  background-color: var(--color-red);
}

.landingPage > * {
  font-family: var(--font-hiragino);
  font-feature-settings: 'palt';
  color: var(--color-white);
}

.landingPage img,
.landingPage picture {
  display: block;
}

.landingPage a {
  display: inline-block;
}
@media (hover: hover) {
  .landingPage a:any-link:hover:hover {
    opacity: 1.5;
  }
}

.landingPage img {
  width: 100%;
  height: auto;
  image-rendering: optimizequality;
}
@media (max-width: 767px) {
  .landingPage {
    --util: 100vw / 750;
    padding-bottom: calc(75 * var(--util));
  }

  .landingPage .without-sp {
    display: none;
  }
}
@media (min-width: 768px) {
  .landingPage {
    --util: 0.1rem;
    padding-bottom: calc(169 * var(--util));
  }

  .landingPage .without-pc {
    display: none;
  }
}

.landingPage .mainVisual__inner {
  display: grid;
}
@media (max-width: 767px) {
  .landingPage .mainVisual__inner {
    grid-template-rows: calc(443 * var(--util)) calc(222 * var(--util)) calc(135 * var(--util)) calc(98 * var(--util)) auto;
    grid-template-columns: calc(55 * var(--util)) calc(278 * var(--util)) calc(172 * var(--util)) auto;
  }
}
@media (min-width: 768px) {
  .landingPage .mainVisual__inner {
    grid-template-rows: calc(310 * var(--util)) calc(222 * var(--util)) calc(101 * var(--util)) calc(230 * var(--util)) calc(
        97 * var(--util)
      );
    grid-template-columns: calc(600 * var(--util)) calc(93 * var(--util)) auto;
    max-width: calc(1400 * var(--util));
    padding-left: calc(104 * var(--util));
    margin-inline: auto;
  }
}

.landingPage .mainVisual__image a {
  width: 100%;
  height: 100%;
}

.landingPage .mainVisual__image.inview {
  animation-delay: 0.25s;
}
@media (max-width: 767px) {
  .landingPage .mainVisual__image {
    grid-row: 1/4;
    grid-column: 2/4;
  }
}

.landingPage .mainVisual__title {
  position: relative;
  font-family: var(--font-trajan);
  line-height: 1.0714285714;
  letter-spacing: 0.025em;
  pointer-events: none;
}
@media (max-width: 767px) {
  .landingPage .mainVisual__title {
    grid-row: 2/3;
    grid-column: 3/5;
    font-size: calc(70 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .mainVisual__title {
    grid-row: 2/3;
    grid-column: 3/4;
    font-size: calc(70 * var(--util));
  }
}

.landingPage .mainVisual__title.inview {
  transition-delay: 0.5s;
}

.landingPage .mainVisual__desc {
  font-weight: 500;
}
@media (max-width: 767px) {
  .landingPage .mainVisual__desc {
    grid-row: 5/6;
    grid-column: span 5;
    font-size: calc(23 * var(--util));
    line-height: 2;
    text-align: center;
    letter-spacing: 0.09em;
  }
}
@media (min-width: 768px) {
  .landingPage .mainVisual__desc {
    grid-row: 4/5;
    grid-column: 3/4;
    font-size: calc(15 * var(--util));
    line-height: 2.2666666667;
    letter-spacing: 0.16em;
  }
}

.landingPage .mainVisual__desc.inview {
  transition-delay: 1s;
}
@media (max-width: 767px) {
  .landingPage .product {
    margin-top: calc(90 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product {
    max-width: calc(1198 * var(--util));
    padding-left: calc(2 * var(--util));
    margin-inline: auto;
    margin-top: calc(205 * var(--util));
  }
}

.landingPage .product__inner {
  display: flex;
}
@media (max-width: 767px) {
  .landingPage .product__inner {
    flex-direction: column;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .landingPage .product__inner {
    justify-content: center;
  }
}

.landingPage .product__block {
  position: relative;
}

.landingPage .product__list {
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .landingPage .product__list {
    row-gap: calc(47 * var(--util));
    padding-inline: calc(55 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__list {
    row-gap: calc(38 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__list:last-child {
    row-gap: calc(40 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__list:last-child {
    margin-top: calc(329 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__list:last-child .product__item:first-child .product__name {
    padding-bottom: calc(13 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__item {
    width: calc(640 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__item {
    width: calc(540 * var(--util));
  }
}

.landingPage .product__title {
  font-family: var(--font-trajan);
}
@media (max-width: 767px) {
  .landingPage .product__title {
    padding-top: calc(112 * var(--util));
    padding-bottom: calc(115 * var(--util));
    font-size: calc(60 * var(--util));
    text-align: center;
    letter-spacing: 0.01em;
  }
}
@media (min-width: 768px) {
  .landingPage .product__title {
    align-self: center;
    padding-top: calc(348 * var(--util));
    padding-right: calc(37 * var(--util));
    padding-left: calc(29 * var(--util));
    font-size: calc(50 * var(--util));
    letter-spacing: 0.08em;
    white-space: nowrap;
    writing-mode: vertical-lr;
  }
}

.landingPage .product__name {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  pointer-events: none;
}
@media (max-width: 767px) {
  .landingPage .product__name {
    font-size: calc(50 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__name {
    font-size: calc(30 * var(--util));
  }
}

.landingPage .product__name span {
  font-family: var(--font-trajan);
  letter-spacing: 0.03em;
}
@media (min-width: 768px) {
  .landingPage .product__name span {
    padding-bottom: calc(5 * var(--util));
  }
}

.landingPage .product__name:not(span) {
  font-family: var(--font-nimbus);
  line-height: 1.0333333333;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .landingPage .product__name:not(span) {
    padding-bottom: calc(53 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__name:not(span) {
    padding-top: calc(56 * var(--util));
  }
}

.landingPage .product__name.inview {
  transition-delay: 0.25s;
}

.landingPage .product__image a {
  width: 100%;
}

.landingPage .product__price {
  position: absolute;
  right: 0;
  bottom: calc(33 * var(--util));
  left: 0;
  margin-inline: auto;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .landingPage .product__price {
    font-size: 0;
  }
}

.landingPage .product__price a {
  padding-inline: calc(7 * var(--util));
  text-decoration: underline;
}
@media (max-width: 767px) {
  .landingPage .product__price a {
    font-size: calc(24 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__price a {
    font-size: calc(12 * var(--util));
  }
}

.landingPage .product__price.inview {
  transition-delay: 0.3s;
}

.landingPage .product__desc {
  position: absolute;
  right: 0;
  left: 0;
  margin-inline: auto;
  pointer-events: none;
}
@media (max-width: 767px) {
  .landingPage .product__desc {
    bottom: calc(107 * var(--util));
    padding-inline: calc(20 * var(--util));
    font-size: calc(23 * var(--util));
    line-height: 1.8695652174;
    letter-spacing: 0.1em;
  }
}
@media (min-width: 768px) {
  .landingPage .product__desc {
    bottom: calc(73 * var(--util));
    max-width: calc(350 * var(--util));
    font-size: calc(13 * var(--util));
    line-height: 2.0769230769;
    letter-spacing: 0.06em;
  }
}

.landingPage .product__desc.inview {
  transition-delay: 0.25s;
}
@media (max-width: 767px) {
  .landingPage .foot {
    margin-top: calc(198 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .foot {
    margin-top: calc(166 * var(--util));
  }
}

.landingPage .foot__button {
  margin-inline: auto;
  text-align: center;
  letter-spacing: 0.037em;
}
@media (max-width: 767px) {
  .landingPage .foot__button {
    font-size: calc(30 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .foot__button {
    font-size: calc(18 * var(--util));
    letter-spacing: 0.05em;
  }
}

.landingPage .foot__button a {
  padding-inline: calc(4 * var(--util));
  padding-bottom: calc(5 * var(--util));
  letter-spacing: 0.037em;
  border-bottom: 1px solid var(--color-white);
}

.fade {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1.5s ease, opacity 1.5s ease;
}

.fade.inview {
  visibility: visible;
  opacity: 1;
}

.fade-Hr-L {
  visibility: hidden;
  opacity: 0;
  transition: transform 1.5s ease, visibility 1.5s ease, opacity 1.5s ease;
  transform: translate3d(calc(-50 * var(--util)), 0, 0);
}

.fade-Hr-L.inview {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.fade-Hr-R {
  visibility: hidden;
  opacity: 0;
  transition: transform 1.5s ease, visibility 1.5s ease, opacity 1.5s ease;
  transform: translate3d(calc(50 * var(--util)), 0, 0);
}

.fade-Hr-R.inview {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.slide-Hr {
  clip-path: inset(0 100% 0 0);
  visibility: hidden;
  opacity: 0;
  transition: clip-path 1.2s ease, visibility 1.2s ease, opacity 1.2s ease;
}

.slide-Hr.inview {
  clip-path: inset(0);
  visibility: visible;
  opacity: 1;
}
