@charset "UTF-8";
.diorama {
  max-width: 750px;
  margin: 0 auto min(calc(100 / 375 * 100vw), 15rem);
  overflow: hidden;
}
.diorama-head {
  margin-bottom: min(calc(100 / 375 * 100vw), 15rem);
}
.diorama-head img {
  width: 100%;
  line-height: 1;
}
.diorama-head__text {
  margin: 3rem auto 2rem;
  text-align: center;
  font-size: min(calc(40 / 375 * 100vw), 6rem);
  font-family: "GFS Didot", serif;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.diorama-head__text span {
  display: block;
  font-size: min(calc(20 / 375 * 100vw), 3rem);
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 1rem;
}
.diorama-head__date {
  width: 90%;
  margin: 0 auto;
  background: var(--base-font-color);
  color: #ffffff;
  text-align: center;
  font-size: min(calc(15 / 375 * 100vw), 2rem);
}
.diorama__subtitle {
  text-align: center;
  margin: 0 auto min(calc(20 / 375 * 100vw), 3rem);
}
.diorama__subtitle span {
  font-family: "Noto Serif JP", serif;
  font-size: min(5.3333333333vw, 3rem);
  line-height: 2;
  display: inline;
  background-image: linear-gradient(#333, #333);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 100% 1px;
}
.diorama__discription {
  margin-bottom: min(calc(100 / 375 * 100vw), 15rem);
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(15 / 375 * 100vw), 2rem);
  line-height: 2;
}
.diorama__discription p span {
  display: inline; /* テキスト幅に合わせる */
  background-image: linear-gradient(#e8e6cf, #e8e6cf);
  background-position: 0 85%;
  background-repeat: repeat-x;
  background-size: 100% 10px;
}
.diorama__movie {
  margin-bottom: min(calc(100 / 375 * 100vw), 15rem);
}
.diorama__heading {
  text-align: center;
}
.diorama__heading span {
  font-family: "GFS Didot", serif;
  font-size: min(calc(20 / 375 * 100vw), 3rem);
  display: inline-block;
  border-bottom: 1px solid;
}
.diorama-movie__discription {
  margin: 2rem auto;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(13 / 375 * 100vw), 1.8rem);
  line-height: 2;
}
.diorama-movie__video {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.diorama-movie__link {
  text-align: center;
  display: block;
}
.diorama-movie__link span {
  font-family: "GFS Didot", serif;
  font-size: min(calc(13 / 375 * 100vw), 1.8rem);
  display: inline-block;
  border-bottom: 1px solid;
}
.diorama-lineup {
  margin-bottom: min(calc(100 / 375 * 100vw), 15rem);
}
.diorama-lineup__list {
  max-width: 550px;
  margin: 0 auto;
  width: 90%;
}
.diorama-lineup__item {
  display: block;
  font-size: min(calc(15 / 375 * 100vw), 2.5rem);
}
.diorama-lineup__item__number {
  font-family: "GFS Didot", serif;
  font-size: min(calc(20 / 375 * 100vw), 5rem);
}
.diorama-lineup__item__new {
  font-family: "GFS Didot", serif;
  font-size: min(calc(10 / 375 * 100vw), 2rem);
  color: #bbc430;
  margin: 0 min(calc(10 / 375 * 100vw), 2rem);
}
.diorama-product__item {
  width: 90%;
  padding-top: 100px;
  margin: -100px auto min(calc(100 / 375 * 100vw), 15rem);
}
.diorama-product__item:last-child {
  margin: -100px auto 0;
}
.diorama-product__heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.diorama-product__heading-num {
  display: inline-block;
  font-size: min(calc(50 / 375 * 100vw), 8rem);
  font-family: "GFS Didot", serif;
  letter-spacing: 0;
  line-height: 1;
}
.diorama-product__heading-name {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(15 / 375 * 100vw), 3rem);
  letter-spacing: 0;
  line-height: 1.5;
}
.diorama-product__image {
  display: block;
  width: 100%;
  margin: 0 auto 3rem;
}
.diorama-product__image .slick-prev, .diorama-product__image .slick-next {
  z-index: 999;
}
.diorama-product__image .slick-prev {
  left: 0;
}
.diorama-product__image .slick-next {
  right: 0;
}
.diorama-product__image .slick-prev:before, .diorama-product__image .slick-next:before {
  color: var(--base-font-color);
  font-family: "GFS Didot", serif;
}
.diorama-product__color-chip {
  display: block;
  margin: 0 auto 2rem;
}
.diorama-product__price {
  margin: 0 auto 2rem;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(16 / 375 * 100vw), 3rem);
}
.diorama-product__size {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(16 / 375 * 100vw), 3rem);
}
.diorama-product__discription {
  margin: 3rem auto;
  text-align: center;
  font-family: "GFS Didot", serif;
  font-size: min(calc(13 / 375 * 100vw), 2rem);
}
.diorama-product__btn {
  width: 90%;
  margin: 0 auto;
  font-size: min(calc(20 / 375 * 100vw), 3rem);
  font-family: "GFS Didot", serif;
  color: #ffffff !important;
  text-align: center;
}
.diorama-product__btn[data-button=buy] {
  display: none;
  background: var(--base-font-color);
}
.diorama-product__btn[data-button=comingsoon] {
  display: none;
  background: var(--base-light-color);
}

.diorama2 {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}
.diorama2-head__title {
  margin-top: min(calc(20 / 375 * 100vw), 30px);
}
.diorama2-head__title--main {
  text-align: center;
}
.diorama2-head__title--main span {
  display: block;
}
.diorama2-head__title--thin {
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(15 / 375 * 100vw), 20px);
  line-height: 1.5;
}
.diorama2-head__title--en {
  font-family: "GFS Didot", serif;
  font-size: min(calc(18 / 375 * 100vw), 28px);
  line-height: 1.5;
}
.diorama2-head__title--jp {
  font-family: "Noto Serif JP", serif;
  font-size: min(calc(40 / 375 * 100vw), 60px);
  line-height: 1;
}
.diorama2__date {
  margin: min(calc(20 / 375 * 100vw), 50px) auto;
  text-align: center;
}
.diorama2__date__obi {
  width: 95%;
  max-width: 400px;
  margin: 0 auto;
  background: #333;
  color: #ffffff;
  text-align: center;
  font-size: min(calc(14 / 375 * 100vw), 16px);
}
.diorama2__date__attention {
  margin-top: min(calc(12 / 375 * 100vw), 15px);
  font-size: min(calc(12 / 375 * 100vw), 15px);
  font-family: "Noto Serif JP", serif;
}
.diorama2-contents__comment {
  margin-bottom: min(calc(12 / 375 * 100vw), 15px);
  text-align: center;
}
.diorama2-contents__comment p {
  font-size: min(calc(18 / 375 * 100vw), 25px);
  font-weight: 500;
}
.diorama2-contents__comment span {
  color: var(--key-color);
}
.diorama2-contents__schedule {
  text-align: center;
  margin: min(5.3333333333vw, 50px) auto;
}
.diorama2-contents__schedule p {
  text-align: center;
  background: #f0f0f0;
  display: inline-block;
  padding: 0 min(calc(25 / 375 * 100vw), 50px);
}
.diorama2-contents__about {
  margin-bottom: min(calc(50 / 375 * 100vw), 100px);
  text-align: center;
}
.diorama2-contents__about a {
  border: 4px solid #cccccc;
  padding: 0.5rem 2rem;
  display: inline-block;
  font-size: min(calc(12 / 375 * 100vw), 16px);
}
.diorama2-contents__attention {
  background: #eeeeee;
  padding: min(calc(20 / 375 * 100vw), 50px);
}
.diorama2-contents__attention__head {
  margin-bottom: min(calc(20 / 375 * 100vw), 30px);
  text-align: center;
  color: #020202;
  font-size: min(calc(14 / 375 * 100vw), 16px);
}
.diorama2-contents__attention__contents {
  font-size: min(calc(14 / 375 * 100vw), 16px);
}
.diorama2-contents__attention__contents span {
  font-weight: 500;
  color: var(--key-color);
}
.diorama2-contents__product-list {
  margin-top: min(calc(50 / 375 * 100vw), 100px);
}
.diorama2-contents__product-list__head {
  margin-bottom: min(calc(20 / 375 * 100vw), 30px);
  text-align: center;
  font-weight: 500;
  font-size: min(calc(20 / 375 * 100vw), 24px);
}