@charset "UTF-8";

.p-feature {
  display: flow-root;
  color: #000;
  font-family: var(--font-zen-kaku-gothic-new);
  font-weight: 500;
  line-break: strict;
}

@keyframes p-mv-slide-pc {
  from {
    transform: translateX(calc(-100% / 12));
  }
  to {
    transform: translateX(calc(-100% * 7 / 12));
  }
}

@keyframes p-mv-slide-sp {
  from {
    transform: translateX(calc(-100% / 6));
  }
  to {
    transform: translateX(calc(-100% * 4 / 6));
  }
}

/* mv */
.p-mv__viewport {
  position: relative;
  overflow: hidden;
}

.p-mv__track {
  display: flex;
  width: calc(4320 * (100% / 1440));
  animation: p-mv-slide-pc 30s linear infinite;
  will-change: transform;
}

.p-mv__slide {
  flex: 0 0 calc(100% / 6);
}

.p-mv__slide img {
  display: block;
  width: 100%;
  height: auto;
}

.p-mv__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-mv__title img {
  display: block;
  width: 100%;
  height: auto;
}

.p-mv__title--pc {
  width: calc(960 * (100% / 1440));
}

.p-mv__title--sp {
  display: none;
}

/* intro */
.p-feature__intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  margin-top: 18rem;
  margin-inline: auto;
  padding: 0 60px;
}

.p-feature__intro-half {
  width: 60rem;
}

.p-feature__intro-heading {
  flex: 1 1 0;
  margin: 0;
  font-family: var(--font-zen-kaku-gothic-new);
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 2;
  color: #000;
}

.p-feature__intro-heading-br {
  display: inline;
}

.p-feature__intro-lead {
  display: block;
  flex: 1 1 0;
  margin: 0;
  font-family: var(--font-zen-kaku-gothic-new);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2;
  color: #000;
}

/* items */
.p-items {
  display: flex;
  flex-direction: column;
  row-gap: 1.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-items__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-barbour-sans);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
}

.p-items__aside {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}

.p-items__buy {
  box-sizing: border-box;
  display: block;
  width: 7rem;
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.4s ease, color 0.4s ease;
}

.p-items__buy:hover {
  background-color: #000;
  color: #fff;
}

/* collection */
.p-collection {
  width: calc(1320 * (100vw / 1440));
  margin: 30rem auto 0;
}

.p-collection__heading {
  position: sticky;
  top: calc(var(--header-height, 0px) + 4rem);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 3rem;
  margin: 0;
  text-align: center;
  line-height: 1;
  transition: top 0.3s ease-in-out;
}

.p-collection__heading-en {
  font-family: var(--font-barbour-sans);
  font-size: 4rem;
  font-weight: 300;
  white-space: pre-wrap;
}

.p-collection__heading-ja {
  font-size: 2rem;
  font-weight: 500;
}

.p-collection__body {
  display: grid;
  grid-template-columns: calc(600 * (100vw / 1440)) calc(720 * (100vw / 1440));
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "sub main"
    "sub items";
  margin-top: 12rem;
}

.p-collection--reverse .p-collection__body {
  grid-template-columns: calc(720 * (100vw / 1440)) calc(600 * (100vw / 1440));
  grid-template-areas:
    "main sub"
    "items sub";
}

.p-collection__lower {
  display: grid;
  grid-template-columns: calc(600 * (100vw / 1440)) calc(720 * (100vw / 1440));
  grid-template-areas: "info third";
}

.p-collection--reverse .p-collection__lower {
  grid-template-columns: calc(720 * (100vw / 1440)) calc(600 * (100vw / 1440));
  grid-template-areas: "third info";
}

.p-collection__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-collection__photo--main {
  grid-area: main;
}

.p-collection__photo--sub {
  grid-area: sub;
  align-self: start;
  margin-top: 46rem;
}

.p-collection__photo--third {
  grid-area: third;
  justify-self: start;
  width: calc(540 * (100vw / 1440));
}

.p-collection--reverse .p-collection__photo--third {
  justify-self: end;
}

/* fade-in */
[data-fade] {
  opacity: 0;
  transform: translateY(2rem);
}

[data-fade][data-inview] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.p-collection__items {
  grid-area: items;
  align-self: start;
  justify-self: end;
  width: 30rem;
  margin-top: 2rem;
}

.p-collection--reverse .p-collection__items {
  justify-self: start;
}

.p-collection__info {
  grid-area: info;
  align-self: end;
  justify-self: end;
  width: 30rem;
  max-width: calc(100% - 60 * (100vw / 1440));
  margin-right: calc(60 * (100vw / 1440));
}

.p-collection--reverse .p-collection__info {
  justify-self: start;
  margin-right: 0;
  margin-left: calc(60 * (100vw / 1440));
}

.p-collection__name {
  margin: 0;
  font-family: var(--font-barbour-sans);
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1.1667;
}

.p-collection__description {
  margin: 2rem 0 3rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
}

/* profile */
.p-profile {
  box-sizing: border-box;
  width: 84rem;
  max-width: calc(100% - 4rem);
  margin: 30rem auto 0;
  padding: calc(2rem - 1px);
  border: 1px solid #000;
}

.p-profile__text {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
}

.p-profile__name {
  margin-right: 1em;
  font-weight: 700;
}

/* link */
.p-link {
  margin: 30rem 0 18rem;
}

.p-link__button {
  box-sizing: border-box;
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 3rem 14rem;
  border-radius: 8rem;
  background-color: #4e4e4e;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
}

.p-link__button:hover {
  background-color: #fff;
  color: #4e4e4e;
  box-shadow: inset 0 0 0 1px #4e4e4e;
}

@media (max-width: 767px) {
  .p-mv__track {
    width: calc(2412 * (100% / 402));
    animation-name: p-mv-slide-sp;
    animation-duration: 20s;
  }

  .p-mv__title--pc {
    display: none;
  }

  .p-mv__title--sp {
    display: block;
    width: calc(220 * (100% / 402));
  }

  .p-feature__intro {
    flex-direction: column;
    row-gap: calc(60 * (100vw / 402));
    margin-top: calc(100 * (100vw / 402));
    padding: 0 calc(21 * (100vw / 402));
  }

  .p-feature__intro-half {
    width: 100%;
  }

  .p-feature__intro-heading {
    font-size: calc(24 * (100vw / 402));
  }

  .p-feature__intro-lead {
    font-size: calc(14 * (100vw / 402));
  }

  .p-items {
    row-gap: calc(10 * (100vw / 402));
  }

  .p-items__item {
    font-size: calc(14 * (100vw / 402));
  }

  .p-items__aside {
    column-gap: calc(10 * (100vw / 402));
  }

  .p-items__buy {
    width: calc(70 * (100vw / 402));
    font-size: calc(13 * (100vw / 402));
  }

  .p-collection {
    width: auto;
    margin: calc(200 * (100vw / 402)) 0 0;
  }

  .p-collection__heading {
    top: calc(var(--header-height, 0px) + 20 * (100vw / 402));
    row-gap: calc(20 * (100vw / 402));
  }

  .p-collection__heading-en {
    font-size: calc(24 * (100vw / 402));
  }

  .p-collection__heading-ja {
    font-size: calc(15 * (100vw / 402));
  }

  .p-collection__body,
  .p-collection--reverse .p-collection__body,
  .p-collection__lower,
  .p-collection--reverse .p-collection__lower {
    display: flex;
    flex-direction: column;
  }

  .p-collection__body {
    margin-top: calc(100 * (100vw / 402));
  }

  .p-collection__photo--main {
    align-self: flex-end;
    width: calc(381 * (100vw / 402));
  }

  .p-collection__photo--sub {
    align-self: flex-start;
    width: calc(321 * (100vw / 402));
    margin-top: 0;
  }

  .p-collection--reverse .p-collection__photo--main {
    align-self: flex-start;
  }

  .p-collection--reverse .p-collection__photo--sub {
    align-self: flex-end;
  }

  .p-collection__photo--third,
  .p-collection--reverse .p-collection__photo--third {
    align-self: stretch;
    width: auto;
    margin: calc(60 * (100vw / 402)) calc(21 * (100vw / 402)) 0;
  }

  .p-collection__items,
  .p-collection--reverse .p-collection__items {
    align-self: stretch;
    width: auto;
    margin: calc(30 * (100vw / 402)) calc(21 * (100vw / 402)) 0;
  }

  .p-collection__info,
  .p-collection--reverse .p-collection__info {
    align-self: stretch;
    width: auto;
    max-width: none;
    margin: calc(30 * (100vw / 402)) calc(21 * (100vw / 402)) 0;
  }

  .p-collection__name {
    font-size: calc(24 * (100vw / 402));
  }

  .p-collection__description {
    margin: calc(20 * (100vw / 402)) 0 calc(30 * (100vw / 402));
    font-size: calc(14 * (100vw / 402));
  }

  .p-profile {
    width: auto;
    max-width: none;
    margin: calc(200 * (100vw / 402)) calc(21 * (100vw / 402)) 0;
    padding: calc(20 * (100vw / 402) - 1px);
  }

  .p-profile__text {
    font-size: calc(14 * (100vw / 402));
  }

  .p-profile__name {
    display: block;
    margin-right: 0;
  }

  .p-link {
    margin: calc(200 * (100vw / 402)) calc(21 * (100vw / 402)) calc(100 * (100vw / 402));
  }

  .p-link__button {
    width: auto;
    padding: calc(30 * (100vw / 402));
    border-radius: calc(80 * (100vw / 402));
    font-size: calc(14 * (100vw / 402));
  }
}
