@font-face {
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/NotoSansCJKjp-Light.woff") format("woff");
  font-family: "Noto Sans JP";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/NotoSansCJKjp-Regular.woff") format("woff");
  font-family: "Noto Sans JP";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/NotoSansCJKjp-Medium.woff") format("woff");
  font-family: "Noto Sans JP";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/NotoSansCJKjp-Bold.woff") format("woff");
  font-family: "Noto Sans JP";
  font-display: swap;
}
:root {
  --color-base: #efefef;
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #808080;
  --color-red: #c70012;
  --color-over-red: rgba(199, 0, 18, 1);
  --color-gray-thin-over: rgba(77, 77, 77, 0.4);
  --color-gray-thin: rgba(77, 77, 77, 0.8);
  --color-gray-dark: rgba(51, 51, 51, 0.8);
  --transition-duration: 0.3s;
  --transition-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
  --transition-delay: 0.5s;
}

.product_inner {
  padding-top: 26.6666666667vw;
  padding-bottom: 26.6666666667vw;
}

.product_sec + .product_sec {
  padding-top: 29.3333333333vw;
}

.product_heading {
  font-feature-settings: normal;
  color: #d6cfa4;
  font-style: normal;
  font-weight: 300;
  font-size: 8vw;
  line-height: 1.17;
  font-family: a-otf-ryumin-pr6n, serif;
  text-align: center;
}

.product_kodawari {
  padding-top: 20vw;
}

.product_lineup {
  padding-top: 9.6vw;
}

.kodawari_item + .kodawari_item {
  margin-top: 12.5333333333vw;
}

.kodawari_pic {
  display: block;
  position: relative;
}
.kodawari_pic::before {
  position: absolute;
  right: calc(50% - 39.7333333333vw);
  bottom: -3.2vw;
  z-index: -1;
  width: 79.4666666667vw;
  height: calc(100% + 6.4vw);
  content: "";
}
.kodawari_item._item0 .kodawari_pic::before {
  background-color: #8e7848;
}
.kodawari_item._item1 .kodawari_pic::before {
  background-color: #f0e0bf;
}
.kodawari_item._item2 .kodawari_pic::before {
  background-color: #3b5952;
}
.kodawari_item._item3 .kodawari_pic::before {
  background-color: #1b2b4d;
}

.kodawari_body {
  margin: 0 5.3333333333vw;
  padding-top: 13.0666666667vw;
  color: #fff;
}

.kodawari_title {
  font-weight: 500;
  font-size: 4.8vw;
}

.kodawari_text {
  font-weight: 300;
  font-size: 4.2666666667vw;
  line-height: 1.63;
}

.lineup008 {
  color: #d6cfa4;
}

.lineup008_outer {
  margin: 0 auto;
  max-width: 94.6666666667vw;
}
.lineup008_outer + .lineup008_outer {
  margin-top: 12.8vw;
  border-top: 1px solid #d6cfa4;
}
.lineup008_items {
  margin: 0 auto;
  width: 90.6666666667vw;
}

.lineup008_item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lineup008_item + .lineup008_item {
  margin-top: 2.125rem;
}

.lineup008_pic {
  display: block;
}
.lineup008_pic > img {
  width: 76vw;
}

.lineup008_label {
  display: block;
  margin-top: 3.2vw;
  font-weight: 300;
  font-size: 3.4666666667vw;
}

.lineup008_des {
  margin: 19.7333333333vw auto 0;
  padding: 6.6666666667vw 2.4vw 0;
  width: 94.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.625;
}

.lineup008_text {
  margin-top: 6.9333333333vw;
}

.concept {
  position: relative;
  margin-top: -26.9333333333vw;
}
.concept::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(21, 21, 21, 0.8);
  width: 100%;
  height: 100%;
  content: "";
}

.concept_inner {
  position: relative;
}

.concept_item {
  display: flex;
  position: relative;
  flex-direction: column-reverse;
}
.concept_item + .concept_item {
  margin-top: 10.6666666667vw;
}

.concept_pic {
  display: block;
  position: relative;
}
.concept_pic._pic {
  margin-top: 12vw;
  margin-inline: auto;
  border: solid 1px #d6cfa4;
  padding: 2.9333333333vw;
  width: 89.3333333333vw;
}
.concept_item._item1 .concept_pic._pic {
  margin-top: 6.9333333333vw;
}
.concept_pic._title > img {
  display: block;
}
.concept_item._item0 .concept_pic._title > img {
  margin-right: -5.3333333333vw;
  margin-left: -2.1333333333vw;
}
.concept_item._item1 .concept_pic._title > img {
  margin-top: -12vw;
  margin-right: -5.3333333333vw;
  margin-bottom: -16vw;
  margin-left: -2.1333333333vw;
  width: calc(100% + 5.3333333333vw);
}

.concept_body {
  position: relative;
  padding-right: 5.3333333333vw;
  padding-left: 5.3333333333vw;
}
.concept_item._item0 .concept_body {
  padding-top: 8.5333333333vw;
}
.concept_item._item1 .concept_body {
  padding-top: 11.7333333333vw;
}

.concept_title {
  position: relative;
}
.concept_text {
  font-feature-settings: initial;
  position: relative;
  margin-top: 11.2vw;
  color: #d6cfa4;
  font-style: normal;
  font-weight: 300;
  font-size: 5.3333333333vw;
  line-height: 1.75;
  font-family: a-otf-ryumin-pr6n, serif;
}
.concept_item._item1 .concept_text {
  margin-top: 22.1333333333vw;
}

.mv {
  position: relative;
  padding-top: 13.0666666667vw;
}
.mv::before {
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(to right, #524426 0%, #d2cba0 100%);
  width: 100%;
  height: 1px;
  content: "";
}
.mv_heading {
  position: absolute;
  top: 23.7333333333vw;
  left: 50%;
  transform: translateX(-50%);
}

.mv_pic {
  display: block;
  height: 161.6vw;
}
.mv_pic > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv_pic._heading {
  display: block;
  width: 66.6666666667vw;
  height: auto;
}

body {
  background-color: #151515;
}

@media print, screen and (min-width: 768px) {
  .product {
    overflow: hidden;
  }
  .product_inner {
    margin-right: auto;
    margin-left: auto;
    padding-top: 14.0625rem;
    padding-bottom: 14.75rem;
    max-width: 79.875rem;
  }
  .product_sec + .product_sec {
    padding-top: 10.5rem;
  }
  .product_heading {
    font-size: 1.875rem;
  }
  .product_kodawari {
    padding-top: 2.0625rem;
  }
  .product_lineup {
    padding-top: 4.1875rem;
  }
  .kodawari_items {
    margin-right: auto;
    margin-left: auto;
    max-width: 79.875rem;
  }
  .kodawari_item + .kodawari_item {
    margin-top: 2.75rem;
  }
  .kodawari_pic::before {
    right: -1.375rem;
    bottom: -1.375rem;
    width: 100%;
    height: 100%;
  }
  .kodawari_body {
    margin: 0 6rem;
    padding-top: 2.3125rem;
  }
  .kodawari_title {
    font-size: 1.125rem;
  }
  .kodawari_text {
    font-size: 1rem;
  }
  .lineup008 {
    display: flex;
    justify-content: center;
    gap: 0 6rem;
  }
  .lineup008_outer {
    position: relative;
    margin: 0;
    max-width: unset;
  }
  .lineup008_outer + .lineup008_outer {
    margin-top: 0;
    border-top: none;
  }
  .lineup008_outer + .lineup008_outer::before {
    display: block;
    position: absolute;
    top: 0;
    left: -3rem;
    background-color: #d6cfa4;
    width: 1px;
    height: 100%;
    content: "";
  }
  .lineup008_items {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 31.25rem;
  }
  .lineup008_items._limited {
    max-width: 25rem;
  }
  .lineup008_item {
    flex-direction: column-reverse;
  }
  .lineup008_item + .lineup008_item {
    margin-top: 0;
  }
  .lineup008_pic {
    min-height: 25.375rem;
  }
  .lineup008_pic > img {
    width: 100%;
    max-width: 2.0625rem;
  }
  .lineup008_label {
    margin-top: 0;
    margin-bottom: 2.625rem;
    font-size: 0.8125rem;
  }
  .lineup008_des {
    margin: 4.375rem auto 0;
    border-top: 1px solid #d6cfa4;
    padding-top: 2.5rem;
    padding-right: 0;
    padding-left: 0;
    width: 100%;
    max-width: 31.25rem;
    font-size: 1rem;
  }
  .lineup008_des._limited {
    max-width: 31.25rem;
  }
  .lineup008_text {
    margin-top: 1.625rem;
  }
  .concept {
    margin-top: -18.0625rem;
  }
  .concept::before {
    top: -4rem;
    height: 98.375rem;
  }
  .concept_inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 97.5rem;
  }
  .concept_item {
    flex-direction: row;
    align-items: flex-start;
  }
  .concept_item._item1 {
    flex-direction: row-reverse;
  }
  .concept_item + .concept_item {
    margin-top: 3.5rem;
  }
  .concept_pic._pic {
    margin: 0;
    padding: 1.3125rem;
    width: 42.7564102564%;
    min-width: 18.75rem;
  }
  .concept_item._item1 .concept_pic._pic {
    margin-top: 0;
  }
  .concept_item._item0 .concept_pic._title > img {
    margin-right: 0;
    margin-left: 0;
    max-width: 29.64375rem;
  }
  .concept_item._item1 .concept_pic._title > img {
    margin: 0;
    max-width: 32.511875rem;
  }
  .concept_body {
    flex: 1;
    padding-right: 0;
    padding-left: 0;
  }
  .concept_item._item0 .concept_body {
    padding-top: 1.875rem;
    padding-right: 11.6025641026%;
    padding-left: 7.2435897436%;
  }
  .concept_item._item1 .concept_body {
    padding-top: 0.0625rem;
    padding-right: 5.8974358974%;
    padding-left: 12.5641025641%;
  }
  .concept_text {
    font-feature-settings: "palt";
    margin-top: 1.75rem;
    font-size: 1.25rem;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .concept_item._item1 .concept_text {
    margin-top: 1.75rem;
    padding-right: 3.4710743802%;
  }
  .mv {
    padding-top: 0;
  }
  .mv_heading {
    top: 5rem;
    width: 22.281875rem;
  }
  .mv_pic {
    width: 100%;
    height: 82.0625rem;
  }
  .mv_pic._heading {
    width: 22.25rem;
  }
}
