/* stylelint-disable no-descending-specificity */
.landingPage {
  --color-white: #fff;
  --color-blue: #8FAAC4;
  --color-blue-light: #98B4C6;
  --color-black: #000;
  --color-gray: #999;
  --color-bg: #EFF1F1;
  --color-green: #BBBBA0:
  --color-navy: #95A9A9;
  --font-pragmatica: "pragmatica", sans-serif;
}

.landingPage > * {
  font-feature-settings: "palt";
  color: var(--color-black);
  letter-spacing: 0.05em;
}

.landingPage img,
.landingPage picture {
  display: block;
}

.landingPage a {
  display: inline-block;
}
@media (hover: hover) {
  .landingPage a:any-link:hover:hover {
    opacity: 0.6;
  }
}

.landingPage img {
  width: 100%;
  height: auto;
  image-rendering: optimizequality;
}
@media (max-width: 767px) {
  .landingPage {
    --util: 100vw / 750;
    margin-bottom: calc(180 * var(--util));
  }

  .landingPage .without-sp {
    display: none;
  }
}
@media (min-width: 768px) {
  .landingPage {
    --util: 0.1rem;
    margin-bottom: calc(138 * var(--util));
  }

  .landingPage .without-pc {
    display: none;
  }
}

.landingPage .mainVisual__desc {
  text-align: center;
}
@media (max-width: 767px) {
  .landingPage .mainVisual__desc {
    padding-top: calc(125 * var(--util));
    font-size: calc(24 * var(--util));
    line-height: 2.2;
  }
}
@media (min-width: 768px) {
  .landingPage .mainVisual__desc {
    padding-top: calc(91 * var(--util));
    font-size: calc(13 * var(--util));
    line-height: 2.2;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--01 {
    margin-top: calc(132 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 {
    margin-top: calc(94 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__list {
    grid-template-rows: calc(300 * var(--util)) calc(340 * var(--util)) calc(140 * var(--util)) auto auto;
    grid-template-columns: calc(360 * var(--util)) calc(47 * var(--util)) calc(553 * var(--util));
    max-width: calc(960 * var(--util));
  }
}

.landingPage .product__section--01 .product__item::before {
  position: absolute;
  background: url("../images/svg/deco_01.svg?20241129") no-repeat center/contain;
}
@media (max-width: 767px) {
  .landingPage .product__section--01 .product__item::before {
    top: calc(-2 * var(--util));
    right: calc(53 * var(--util));
    width: calc(66 * var(--util));
    height: calc(655 * var(--util));
    font-size: calc(90 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__item::before {
    top: calc(-4 * var(--util));
    left: calc(1 * var(--util));
    width: calc(43 * var(--util));
    height: calc(444 * var(--util));
    font-size: calc(60 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--01 .product__item:first-child {
    padding-right: calc(160 * var(--util));
    padding-left: calc(80 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__item:first-child {
    grid-row: 2/4;
    grid-column: 1/2;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--01 .product__item:first-child::before {
    content: "";
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__item:nth-child(2) {
    grid-row: 4/5;
    grid-column: span 3;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--01 .product__item:nth-child(3) {
    padding-inline: calc(30 * var(--util));
    margin-top: calc(67 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__item:nth-child(3) {
    grid-row: 1/3;
    grid-column: 3/4;
    padding-left: calc(73 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__item:nth-child(3)::before {
    content: "";
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--01 .product__item:last-child {
    grid-row: 5/6;
    grid-column: span 3;
  }
}

.landingPage .product__section--02 {
  background-color: var(--color-bg);
}
@media (max-width: 767px) {
  .landingPage .product__section--02 {
    padding-top: calc(92 * var(--util));
    padding-bottom: calc(140 * var(--util));
    margin-top: calc(138 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--02 {
    padding-block: calc(100 * var(--util));
    margin-top: calc(100 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--02 .product__list {
    max-width: calc(660 * var(--util));
  }
}

.landingPage .product__section--02 .product__item:first-child {
  background: no-repeat bottom/cover;
}
@media (max-width: 767px) {
  .landingPage .product__section--02 .product__item:first-child {
    padding-block: calc(90 * var(--util));
    padding-inline: calc(30 * var(--util));
    background-image: url("../images/svg/deco_02-sp.svg?20241130");
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--02 .product__item:first-child {
    padding-inline: calc(55 * var(--util));
    padding-bottom: calc(50 * var(--util));
    background-image: url("../images/svg/deco_02-pc.svg?20241129");
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--02 .product__price {
    margin-top: calc(40 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--02 .product__price {
    margin-top: calc(21 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 {
    margin-top: calc(139 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 {
    margin-top: calc(133 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 .product__list:first-child {
    place-items: center;
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:first-child {
    grid-template-rows: calc(480 * var(--util)) auto auto;
    grid-template-columns: calc(360 * var(--util)) calc(20 * var(--util)) calc(360 * var(--util));
    place-items: center;
    max-width: calc(740 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:first-child {
    padding-inline: calc(120 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:first-child {
    grid-row: 1/2;
    grid-column: 1/2;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:nth-child(2) {
    padding-inline: calc(120 * var(--util));
    margin-top: calc(20 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:nth-child(2) {
    grid-row: 1/2;
    grid-column: 3/4;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:nth-child(3) {
    width: calc(420 * var(--util));
    margin-top: calc(95 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:nth-child(3) {
    grid-row: 3;
    grid-column: span 3;
    width: calc(483 * var(--util));
    margin-top: calc(68 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:last-child {
    grid-row: 4;
    grid-column: span 3;
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:first-child .product__item:last-child .product__desc {
    margin-top: calc(30 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 .product__list:first-child .product__desc {
    margin-top: calc(52 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--03 .product__list:last-child {
    padding-inline: calc(30 * var(--util));
    margin-top: calc(67 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:last-child {
    max-width: calc(450 * var(--util));
    margin-top: calc(55 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--03 .product__list:last-child .product__price {
    margin-top: calc(27 * var(--util));
  }
}

.landingPage .product__section--04 {
  background-color: var(--color-bg);
}
@media (max-width: 767px) {
  .landingPage .product__section--04 {
    padding-block: calc(140 * var(--util));
    margin-top: calc(140 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 {
    padding-block: calc(100 * var(--util));
    margin-top: calc(100 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:first-child {
    grid-template-rows: calc(100 * var(--util)) calc(340 * var(--util)) calc(40 * var(--util)) calc(150 * var(--util)) auto;
    grid-template-columns: calc(400 * var(--util)) calc(60 * var(--util)) calc(330 * var(--util));
    max-width: calc(790 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:first-child {
    padding-right: calc(30 * var(--util));
    padding-left: calc(210 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:first-child {
    grid-row: 1/3;
    grid-column: 3/4;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:nth-child(2) {
    padding-right: calc(30 * var(--util));
    padding-left: calc(257 * var(--util));
    margin-top: calc(64 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:nth-child(2) {
    grid-row: 4/5;
    grid-column: 3/4;
    justify-items: end;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:nth-child(3) {
    padding-right: calc(100 * var(--util));
    padding-left: calc(30 * var(--util));
    margin-top: calc(67 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:nth-child(3) {
    grid-row: 2/5;
    grid-column: 1/2;
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:first-child .product__item:last-child {
    grid-row: 5/6;
    grid-column: span 4;
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:first-child .product__title {
    width: calc(309 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--04 .product__list:last-child {
    padding-inline: calc(60 * var(--util));
    margin-top: calc(67 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:last-child {
    max-width: calc(420 * var(--util));
    margin-top: calc(55 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--04 .product__list:last-child .product__price {
    margin-top: calc(27 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--05 {
    margin-top: calc(140 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 {
    margin-top: calc(100 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__list {
    grid-template-rows: calc(180 * var(--util)) calc(260 * var(--util)) calc(300 * var(--util)) auto auto;
    grid-template-columns: calc(420 * var(--util)) calc(40 * var(--util)) calc(330 * var(--util));
    max-width: calc(790 * var(--util));
  }
}

.landingPage .product__section--05 .product__item::before {
  position: absolute;
  display: block;
  background: url("../images/svg/deco_05.svg?20241129") no-repeat center/contain;
}
@media (max-width: 767px) {
  .landingPage .product__section--05 .product__item::before {
    top: calc(-80 * var(--util));
    left: calc(79 * var(--util));
    width: calc(285 * var(--util));
    height: calc(370 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__item::before {
    top: calc(-33 * var(--util));
    left: calc(-41 * var(--util));
    width: calc(190 * var(--util));
    height: calc(245 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--05 .product__item:first-child {
    padding-right: calc(60 * var(--util));
    padding-left: calc(180 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__item:first-child {
    grid-row: 1/3;
    grid-column: 3/4;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--05 .product__item:first-child::before {
    content: "";
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__item:nth-child(2) {
    grid-row: 5;
    grid-column: span 4;
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--05 .product__item:nth-child(3) {
    padding-inline: calc(60 * var(--util));
    margin-top: calc(69 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__item:nth-child(3) {
    grid-row: 2/4;
    grid-column: 1/2;
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__item:nth-child(3)::before {
    content: "";
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__item:last-child {
    grid-row: 6;
    grid-column: span 4;
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--05 .product__title {
    width: calc(313 * var(--util));
  }
}

.landingPage .product__section--06 {
  background-color: var(--color-bg);
}
@media (max-width: 767px) {
  .landingPage .product__section--06 {
    padding-top: calc(180 * var(--util));
    padding-bottom: calc(140 * var(--util));
    margin-top: calc(140 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--06 {
    padding-block: calc(100 * var(--util));
    margin-top: calc(100 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--06 .product__list {
    max-width: calc(644 * var(--util));
  }
}

.landingPage .product__section--06 .product__item::before {
  position: absolute;
  display: block;
  background: no-repeat center/contain;
}
@media (max-width: 767px) {
  .landingPage .product__section--06 .product__item::before {
    top: calc(-94 * var(--util));
    right: calc(3 * var(--util));
    width: calc(364 * var(--util));
    height: calc(290 * var(--util));
    background-image: url("../images/svg/deco_06-sp.svg?20241129");
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--06 .product__item::before {
    right: calc(1 * var(--util));
    bottom: 0;
    width: calc(43 * var(--util));
    height: calc(275 * var(--util));
    background-image: url("../images/svg/deco_06-pc.svg?20241129");
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--06 .product__item:first-child {
    padding-inline: calc(60 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__section--06 .product__item:first-child {
    padding-inline: calc(82 * var(--util));
  }
}

.landingPage .product__section--06 .product__item:first-child::before {
  content: "";
}
@media (min-width: 768px) {
  .landingPage .product__section--06 .product__title {
    width: calc(313 * var(--util));
  }
}
@media (max-width: 767px) {
  .landingPage .product__section--06 .product__price {
    margin-top: calc(38 * var(--util));
  }
}

.landingPage .product__list {
  display: grid;
  margin-inline: auto;
}

.landingPage .product__item {
  position: relative;
}

.landingPage .product__item::before {
  z-index: 2;
  pointer-events: none;
}

.landingPage .product__image {
  line-height: 0;
}

.landingPage .product__price {
  text-align: center;
}
@media (max-width: 767px) {
  .landingPage .product__price {
    margin-top: calc(50 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__price {
    margin-top: calc(21 * var(--util));
    font-size: 0;
  }
}

.landingPage .product__price span {
  display: inline-block;
}
@media (max-width: 767px) {
  .landingPage .product__price span {
    padding-inline: calc(9 * var(--util));
    padding-top: calc(24 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__price span {
    padding-inline: calc(7.5 * var(--util));
    padding-top: calc(14 * var(--util));
  }
}

.landingPage .product__price a {
  display: block;
  padding-bottom: calc(2 * var(--util));
  font-family: var(--font-pragmatica);
  border-bottom: 1px solid var(--color-gray);
}
@media (max-width: 767px) {
  .landingPage .product__price a {
    font-size: calc(22 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .product__price a {
    font-size: calc(12 * var(--util));
  }
}

.landingPage .product__desc {
  text-align: center;
}
@media (max-width: 767px) {
  .landingPage .product__desc {
    margin-top: calc(66 * var(--util));
    font-size: calc(24 * var(--util));
    line-height: 2.2;
  }
}
@media (min-width: 768px) {
  .landingPage .product__desc {
    margin-top: calc(54 * var(--util));
    font-size: calc(13 * var(--util));
    line-height: 2.2;
  }
}

.landingPage .foot {
  font-family: var(--font-pragmatica);
  background-color: var(--color-bg);
}
@media (max-width: 767px) {
  .landingPage .foot {
    padding-top: calc(32 * var(--util));
    padding-bottom: calc(140 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .foot {
    padding-top: calc(36 * var(--util));
    padding-bottom: calc(100 * var(--util));
  }
}

.landingPage .foot__credit {
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .landingPage .foot__credit {
    font-size: calc(22 * var(--util));
    line-height: 2;
  }
}
@media (min-width: 768px) {
  .landingPage .foot__credit {
    font-size: calc(12 * var(--util));
    line-height: 2;
  }
}

.landingPage .foot__button {
  margin-inline: auto;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.075em;
}
@media (max-width: 767px) {
  .landingPage .foot__button {
    width: calc(600 * var(--util));
    height: calc(114 * var(--util));
    margin-top: calc(74 * var(--util));
    font-size: calc(38 * var(--util));
  }
}
@media (min-width: 768px) {
  .landingPage .foot__button {
    width: calc(900 * var(--util));
    height: calc(70 * var(--util));
    margin-top: calc(35 * var(--util));
    font-size: calc(20 * var(--util));
  }
}

.landingPage .foot__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-blue-light);
}

.landingPage .foot__button a span {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue-light);
}
@media (max-width: 767px) {
  .landingPage .foot__button a span {
    border: calc(10 * var(--util)) solid var(--color-bg);
  }
}
@media (min-width: 768px) {
  .landingPage .foot__button a span {
    border: calc(5 * var(--util)) solid var(--color-bg);
  }
}

.fade {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s ease, opacity 1s ease;
}

.fade.inview {
  visibility: visible;
  opacity: 1;
}