@charset "UTF-8";
@keyframes fadeIn {
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  100% {
    opacity: 0;
  }
}
@keyframes blurIn {
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes clipPath {
  100% {
    clip-path: inset(0);
  }
}
@keyframes clipPathCircle {
  100% {
    clip-path: circle(100% at 50% 50%);
  }
}
/*
A modern CSS reset 2023 / 9 / 18
https://github.com/Andy-set-studio/modern-css-reset
*/
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

h1, h2, h3, h4, button, input, label {
  line-height: 1.1;
}

h1, h2, h3, h4 {
  text-wrap: balance;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

/**  base  **/
p,
ul,
ol,
h1,
h2,
h3,
figure,
dl,
dd,
button,
pre {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

ul,
ol {
  list-style: none;
}

img,
video {
  max-width: 100%;
  vertical-align: bottom;
  line-height: 1;
}

select,
option {
  color: currentColor;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
}

a,
button {
  color: currentColor;
  text-decoration: none;
  transition: filter 0.1s ease;
}
@media (hover: hover) {
  a:hover,
  button:hover {
    filter: brightness(1.2);
  }
}

[x-cloak],
[v-cloak] {
  display: none !important;
}

*:focus {
  outline: none;
}

br {
  display: none;
}
@media (min-width: 600px) {
  br {
    display: block;
  }
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
body.scroll_lock, body:has(.is-show) {
  overflow: hidden;
}

/**  common  **/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  color: #512C15;
  font-size: 1.8rem;
}

/*---- conan base ----*/
a[target][target=_blank]::after {
  content: none !important;
}

body {
  min-width: initial !important;
}

.splide__slide img {
  width: 100%;
}

.techo-items {
  width: calc(100% - 4rem);
  justify-content: center;
  max-width: 96rem;
  margin-right: auto;
  margin-left: auto;
}
.techo-items::after {
  content: "";
  display: block;
  width: 240px;
}
@media (min-width: 600px) {
  .techo-items {
    width: calc(100% - 4rem);
    justify-content: center;
    max-width: 96rem;
    margin-right: auto;
    margin-left: auto;
  }
}

body:before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-image: url(../images/bg-sp.jpg);
}
@media (min-width: 600px) {
  body:before {
    background-image: url(../images/bg.jpg);
  }
}

main {
  overflow: hidden;
}

.btn-reserve {
  position: fixed;
  right: 0;
  bottom: 4rem;
  z-index: 50;
  width: 3.8rem;
}

.card {
  background-color: #fff;
  border-radius: 0.8rem;
  padding: 4rem 1.6rem;
  display: grid;
  gap: 2.4rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 600px) {
  .card {
    padding: 4rem 6.4rem;
  }
}
.card img {
  display: block;
  width: 100%;
}
.card-title {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
}
.card-box {
  overflow: hidden;
  border-radius: 4px;
  background-color: #F8F8F8;
}
.card-box-title {
  text-align: center;
  font-size: 1.6rem;
  background-color: #D8D8D8;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}
.card-box-title.title-gold {
  background: linear-gradient(116deg, #EBD9A3 19.59%, #B5933D 87.38%);
}
.card-box-main {
  padding: 2.4rem 1.2rem;
}
.card .card-box-reserve dd {
  font-size: 1.2rem;
  text-align: center;
}
.card .card-box-reserve dd img {
  margin-bottom: 1.6rem;
}
.card .card-box-reserve dd br {
  display: block;
}
.card .card-box-order img {
  width: 80%;
  display: block;
  margin: 0 auto;
}
.card .card-box-store {
  text-align: center;
}
.card .card-box-store .title {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 1.6rem;
}
.card .card-box-store div {
  font-size: 1.4rem;
}
.card .card-box-store div br {
  display: block;
}
.card .att {
  font-size: 1.2rem;
  color: #9B1717;
  text-align: center;
  line-height: 1.6;
}
.card .att br {
  display: block;
}

.btn-order {
  border-radius: 10rem;
  background: linear-gradient(138deg, #EBD9A3 13.69%, #B5933D 94.19%);
  position: relative;
  font-size: 1.6rem;
  overflow: hidden;
}
@keyframes shimmer-order {
  0% {
    transform: translateX(-100%) scale(1);
  }
  24% {
    transform: translateX(240%) scale(1.2);
  }
  100% {
    transform: translateX(240%) scale(1);
  }
}
.btn-order::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(111deg, transparent 30%, rgb(255, 255, 255) 30%, rgba(255, 244, 198, 0.9) 31%, rgba(255, 238, 212, 0.3) 50%, transparent 70%);
  pointer-events: none;
  animation: shimmer-order 6s infinite;
  z-index: 1;
  filter: brightness(1.2);
}
.btn-order span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5.6rem;
}
.btn-order span::before, .btn-order span::after {
  content: "";
  width: calc(4rem + 1em);
  height: 100%;
  background-size: 1.6rem;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-order span::after {
  background-image: url(../images/arrow_forward.svg);
}

.opening {
  background-color: #010101;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 1s ease-in-out;
  background-image: url(../images/opening/loading-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.opening .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  width: min(80%, 47.3rem);
}
@media (min-width: 600px) {
  .opening .inner {
    gap: 3rem;
  }
}
.opening .key {
  width: 100%;
  stroke: #fff;
  stroke-width: 1;
  fill: transparent;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}
.opening .text {
  text-align: center;
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.opening .loading {
  width: 100%;
}
.opening .loading path {
  opacity: 0;
  fill: #fff;
}
.opening .showtime {
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 473/22;
}
.opening.animation-start .key-wrapper {
  animation: zoomIn 0.4s 3.8s ease-in-out forwards;
  transform: scale(1);
}
.opening.animation-start .key {
  animation: drawPath 3s ease-in-out forwards;
}
.opening.animation-start .loading {
  animation: fadeOut 0.2s 2s ease-out forwards;
}
.opening.animation-start .loading path {
  animation: fadeIn 0.1s ease-out forwards;
}
.opening.animation-start .loading path:nth-child(1) {
  animation-delay: 0.1s;
}
.opening.animation-start .loading path:nth-child(2) {
  animation-delay: 0.2s;
}
.opening.animation-start .loading path:nth-child(3) {
  animation-delay: 0.3s;
}
.opening.animation-start .loading path:nth-child(4) {
  animation-delay: 0.4s;
}
.opening.animation-start .loading path:nth-child(5) {
  animation-delay: 0.5s;
}
.opening.animation-start .loading path:nth-child(6) {
  animation-delay: 0.6s;
}
.opening.animation-start .loading path:nth-child(7) {
  animation-delay: 0.7s;
}
.opening.animation-start .loading path:nth-child(8) {
  animation-delay: 0.8s;
}
.opening.animation-start .loading path:nth-child(9) {
  animation-delay: 0.9s;
}
.opening.animation-start .loading path:nth-child(10) {
  animation-delay: 1s;
}
.opening.animation-start .showtime {
  animation: fadeIn 0.2s 2.8s ease-out forwards;
}
.opening.animation-complete {
  opacity: 0;
  visibility: hidden;
}

@keyframes zoomIn {
  100% {
    transform: scale(120);
  }
}
@keyframes drawPath {
  0% {
    stroke-dashoffset: 1000;
  }
  95% {
    stroke-dashoffset: 800;
    fill: transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill: #fff;
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 40;
}
@media (min-width: 992px) {
  header {
    background-color: #000;
  }
}
@media (min-width: 992px) {
  header .inner {
    max-width: 144rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
header .header-bar {
  height: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #000;
}
header .header-bar:has(.nav-toggle.is-active) {
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
}
header h1 {
  margin-left: 1.8rem;
}
header .nav-toggle {
  height: 100%;
  width: 4.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
header .nav-toggle span {
  background-color: #fff;
  height: 1px;
  width: 2rem;
  display: block;
  transition: all 0.1s ease-in-out;
}
header .nav-toggle span:nth-child(1) {
  margin-bottom: 0.6rem;
}
header .nav-toggle.is-active span:nth-child(1) {
  transform: rotate(45deg);
  margin-bottom: -1px;
}
header .nav-toggle.is-active span:nth-child(2) {
  transform: rotate(-45deg);
}
@media (min-width: 992px) {
  header .nav-toggle {
    display: none;
  }
}
header .header-nav-wrapper {
  display: none;
}
header .header-nav-wrapper.is-show {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding-top: 4rem;
  background-image: url(../images/v2/menu-bg-sp.webp);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (min-width: 992px) {
  header .header-nav-wrapper {
    display: block;
  }
}
header nav ul {
  color: #FFF;
  text-align: center;
  text-shadow: 0 5.21px 13.024px rgba(0, 0, 0, 0.4);
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 550;
  line-height: 100%; /* 20px */
  display: grid;
  gap: 4rem;
}
@media (min-width: 992px) {
  header nav ul {
    font-size: 14px;
    display: flex;
    gap: 1.6rem;
    margin-right: 1.8rem;
  }
}

.hero {
  background-image: url(../images/v2/hero/bg-sp.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 600px) {
  .hero {
    background-image: url(../images/v2/hero/bg.webp);
  }
}
.hero-inner {
  width: 100%;
  aspect-ratio: 390/687;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .hero-inner {
    aspect-ratio: 1440/755;
  }
}
.hero-inner picture {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.opened .hero-inner picture {
  opacity: 0;
  filter: blur(4px);
  animation: blurIn 1s ease-out forwards;
}
.opened .hero-inner picture:nth-child(1), .opened .hero-inner picture:nth-child(2), .opened .hero-inner picture:nth-child(3), .opened .hero-inner picture:nth-child(4) {
  animation-delay: 0.4s;
}
.opened .hero-inner picture:nth-child(5) {
  animation-delay: 0.8s;
}
@media (min-width: 600px) {
  .opened .hero-inner picture:nth-child(1) {
    animation-delay: 0.6s;
  }
  .opened .hero-inner picture:nth-child(2) {
    animation-delay: 0.8s;
  }
  .opened .hero-inner picture:nth-child(3) {
    animation-delay: 1s;
  }
  .opened .hero-inner picture:nth-child(4) {
    animation-delay: 1.2s;
  }
  .opened .hero-inner picture:nth-child(5) {
    animation-delay: 1.4s;
  }
}
.hero-date {
  background-color: #210F07;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.7rem;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
}

.yodogawa {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  background: linear-gradient(180deg, #3B1500 4.21%, #0C0400 185.34%);
  overflow: hidden;
  padding-top: 14rem;
  padding-bottom: 14rem;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 992px) {
  .yodogawa {
    flex-direction: row;
    gap: 7.6rem;
    background: linear-gradient(180deg, #3B1500 0%, #000 145.36%);
  }
}
.yodogawa::before, .yodogawa::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  mix-blend-mode: overlay;
  pointer-events: none;
  opacity: 0;
}
@media (min-width: 600px) {
  .yodogawa::before, .yodogawa::after {
    content: none;
  }
}
.yodogawa::before {
  background-image: url(../images/v2/yodogawa/bg-top-sp.webp);
  background-position: center top;
}
.yodogawa::after {
  background-image: url(../images/v2/yodogawa/bg-bottom-sp.webp);
  background-position: center bottom;
}
.yodogawa.active::before, .yodogawa.active::after {
  animation: bgBlurSlide 0.5s ease-out forwards;
}
.yodogawa .bg-img {
  display: none;
}
@media (min-width: 600px) {
  .yodogawa .bg-img {
    display: block;
    position: absolute;
    mix-blend-mode: overlay;
  }
  .yodogawa .bg-img.bg-img-top-1 {
    width: 50%;
    height: auto;
    top: 0;
    left: 0;
    opacity: 0;
    transform: translateX(-2%);
  }
  .yodogawa .bg-img.bg-img-top-2 {
    width: 24%;
    height: auto;
    top: 8%;
    right: 4%;
    opacity: 0;
    transform: translateX(2%);
  }
  .yodogawa .bg-img.bg-img-bottom-1, .yodogawa .bg-img.bg-img-bottom-2 {
    width: max-content;
    max-width: inherit;
    height: 17rem;
    right: 0;
  }
  .yodogawa .bg-img.bg-img-bottom-1 img, .yodogawa .bg-img.bg-img-bottom-2 img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: inherit;
  }
  .yodogawa .bg-img.bg-img-bottom-1 {
    bottom: 18rem;
    animation: bgLoopSlide 120s linear infinite alternate-reverse;
  }
  .yodogawa .bg-img.bg-img-bottom-2 {
    bottom: 0;
    transform: translateX(50%);
    animation: bgLoopSlide 120s linear infinite alternate;
  }
}
@keyframes bgLoopSlide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(50%);
  }
}
.yodogawa.active .bg-img-top-1 {
  animation: bgBlurSlide 2s ease-out forwards;
}
.yodogawa.active .bg-img-top-2 {
  animation: bgBlurSlide 2s 0.5s ease-out forwards;
}
@keyframes bgBlurSlide {
  100% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }
}
.yodogawa > * {
  position: relative;
  z-index: 2;
}
.yodogawa h2 {
  filter: drop-shadow(0 4px 4px rgb(0, 0, 0));
}
.yodogawa h2 img {
  width: 80%;
  display: block;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .yodogawa h2 img {
    width: 100%;
    max-width: 38rem;
  }
}
.yodogawa .text {
  color: #FFF;
  text-align: justify;
  text-shadow: 0 2.389px 5.973px rgba(0, 0, 0, 0.4);
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 220%; /* 39.6px */
  letter-spacing: 0.9px;
}
@media (min-width: 600px) {
  .yodogawa .text {
    text-shadow: 0 5.21px 13.024px rgba(0, 0, 0, 0.4);
    font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
    font-size: 24px;
    font-weight: 550;
    letter-spacing: 1.2px;
  }
}

.photo {
  background-color: #000;
  position: relative;
}
.photo::before, .photo::after {
  content: "";
  display: block;
  width: 104vw;
  height: 8%;
  background-size: contain;
  background-position: center center;
  position: absolute;
  top: -8%;
  z-index: 10;
  background-image: url(../images/v2/photo/tape.svg);
  transform-origin: center center;
  will-change: transform;
}
.photo::before {
  background-image: url(../images/v2/photo/tape.svg), linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), linear-gradient(91deg, #FFD400 44.08%, #E7C101 62.14%);
  transform: rotate(-4deg);
  left: 100vw;
  transition: all 0.4s ease-out;
}
.photo::after {
  background-color: #FFD400;
  transform: rotate(4deg);
  left: -108vw;
  transition: all 0.4s ease-out;
}
.photo img {
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
.photo.active::before, .photo.active::after {
  left: -2vw;
  top: -6%;
}
.photo.active img {
  animation: clipPolygon 0.8s cubic-bezier(0.55, 0.06, 0.68, 0.19) forwards;
}

@keyframes clipPolygon {
  100% {
    clip-path: polygon(0 0, 100% 0, 140% 100%, 0 100%);
  }
}
section.weeks {
  background-color: #000;
  padding-top: 8rem;
  padding-bottom: 8rem;
  padding-right: 3.4rem;
  padding-left: 3.4rem;
}
@media (min-width: 600px) {
  section.weeks {
    scroll-margin-top: 4rem;
    padding-top: 4rem;
  }
}
section.weeks h2 {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
  margin-bottom: 6.4rem;
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  /* 大見出し_sp */
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 39.6px */
  letter-spacing: 1.5px;
  background: var(--Linear, linear-gradient(138deg, #EBD9A3 13.69%, #B5933D 94.19%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (min-width: 600px) {
  section.weeks h2 {
    flex-direction: row;
    font-size: 40px;
    letter-spacing: 2px;
    justify-content: center;
  }
}
section.weeks h2 img {
  width: 10.8rem;
}
section.weeks h2 br {
  display: block;
}
section.weeks .products {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 3.2rem;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  section.weeks .products {
    max-width: 37.6rem;
  }
}
section.weeks .products dl {
  margin-left: 0.8rem;
  margin-right: 0.8rem;
}
section.weeks .products br {
  display: block;
}
section.weeks .products-info {
  grid-column: 1/3;
}

.bg-wrapper {
  background-color: #000;
  border-bottom: 1px solid #000;
}

.detail {
  padding-top: 4rem;
}
.detail-inner {
  display: grid;
  gap: 4.8rem;
}
@media (min-width: 600px) {
  .detail-inner {
    max-width: 93.5rem;
    gap: 8rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.detail h2 {
  width: min(88%, 61.2rem);
  margin: 0 auto;
}
.detail .point {
  display: grid;
  gap: 4rem;
  position: relative;
  margin-bottom: 4rem;
}
.detail .point::before {
  content: "";
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 390/798;
  position: absolute;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  top: 0%;
  z-index: 1;
}
@media (min-width: 600px) {
  .detail .point::before {
    background-position: center -10%;
    background-size: 152%;
    top: 0;
  }
}
.detail .point::after {
  content: "";
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  backdrop-filter: blur(1px);
  pointer-events: none;
}
.detail .point.active::after {
  animation: fadeOut 0.1s 0.4s ease-out forwards;
}
.detail .point > * {
  position: relative;
  z-index: 3;
}
.detail .point-title {
  max-width: 55rem;
  margin-left: auto;
  margin-right: auto;
}
.detail .point-text {
  margin-right: 2rem;
  margin-left: 2rem;
  color: #fff;
}
@media (min-width: 600px) {
  .detail .point-text {
    text-align: center;
    font-size: 2rem;
    line-height: 1.75;
  }
}
.detail .point-slide {
  z-index: 2;
  max-width: 100vw;
}
@media (min-width: 600px) {
  .detail .point-slide {
    max-width: 55.7rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.detail .point-detail {
  display: grid;
  gap: 2.4rem;
  margin-right: 3.2rem;
  margin-left: 3.2rem;
}
@media (min-width: 600px) {
  .detail .point-detail {
    max-width: min(100% - 4rem, 75rem);
    margin-left: auto;
    margin-right: auto;
  }
}
.detail .point-detail li {
  border-radius: 8px;
  border: 0.5px solid #EBD9A3;
  background: #000;
  padding: 4rem 2.4rem;
  font-weight: 500;
  font-size: 1.6rem;
  color: #FFEAB9;
  line-height: 1.7;
  text-align: justify;
}
@media (min-width: 600px) {
  .detail .point-detail li {
    padding: 2.4rem;
    align-items: center;
  }
  .detail .point-detail li:has(.thumb) {
    display: grid;
    grid-template-columns: minmax(auto, 26rem) 1fr;
    gap: 2.4rem;
  }
}
.detail .point-detail .thumb {
  margin-bottom: 2.4rem;
}
@media (min-width: 600px) {
  .detail .point-detail .thumb {
    margin-bottom: initial;
  }
}
.detail .point-detail dl {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: 500;
}
@media (min-width: 600px) {
  .detail .point-detail dl picture {
    width: min(100%, 41.4rem);
  }
}
.detail .point-detail dt {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.8rem;
  color: #FFEAB9;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 550;
  line-height: 140%;
}
.detail .point-detail dt img {
  width: 4.2rem;
}
.detail .point-detail dt br {
  display: block;
}
@media (min-width: 600px) {
  .detail .point-detail dt {
    gap: 1.6rem;
    color: #FFEAB9;
    /* 見出し_ページ解説 */
    font-size: 22px;
  }
}
@media (min-width: 600px) {
  .detail .point-detail dd {
    min-height: 8rem;
    display: flex;
    align-items: center;
  }
}
.detail .splide__slide {
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 600px) {
  .detail .splide__slide {
    padding-right: 5rem;
    padding-left: 5rem;
  }
}
.detail .splide__pagination {
  position: relative;
  height: 3.2rem;
  gap: 0.8rem;
  align-items: end;
  bottom: 0;
}
.detail .splide__pagination__page {
  height: 1rem;
  width: 1rem;
  opacity: 0.5;
  min-height: initial;
}
.detail .splide__pagination__page.is-active {
  transform: scale(1);
  opacity: 1;
}
.detail .splide__arrow {
  background-color: transparent;
  background-image: url(../images/v2/detail/arrow-sp.svg);
  width: 3rem;
  height: 4.6rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: initial;
  opacity: 0.8;
  transform: none;
  top: calc(50% - 2.3rem - 3.2rem + 1.8rem);
}
@media (min-width: 600px) {
  .detail .splide__arrow {
    background-image: url(../images/v2/detail/arrow.svg);
    width: 3.6rem;
    height: 3.6rem;
  }
}
.detail .splide__arrow--next {
  right: 0;
  transform: scale(-1);
}
.detail .splide__arrow--prev {
  left: 0;
}
.detail .splide__arrow svg {
  display: none;
}
.detail .point-1::before {
  background-image: url(../images/detail/point1-bg-sp.webp);
}
@media (min-width: 600px) {
  .detail .point-1::before {
    background-image: url(../images/detail/point1-bg.webp);
  }
}
.detail .point-1 .point-title {
  margin-bottom: -1rem;
}
.detail .point-2::before {
  background-image: url(../images/detail/point2-bg-sp.webp);
  top: 5.5%;
}
@media (min-width: 600px) {
  .detail .point-2::before {
    background-image: url(../images/detail/point2-bg.webp);
    top: 0;
  }
}
.detail .point-3::before {
  background-image: url(../images/detail/point3-bg-sp.webp);
  top: 3%;
}
@media (min-width: 600px) {
  .detail .point-3::before {
    background-image: url(../images/detail/point3-bg.webp);
    top: 0;
  }
}
.detail .point-3 .point-title {
  margin-bottom: -3rem;
}
@media (min-width: 600px) {
  .detail .point-3 .point-detail li {
    padding: 2.6rem;
  }
}
.detail .point-3 .point-detail li:not(:last-child) br {
  display: none;
}
@media (min-width: 600px) {
  .detail .point-3 .point-detail li:not(:last-child) br {
    display: block;
  }
}
@media (min-width: 600px) {
  .detail .point-3 .point-detail li:not(:last-child) dl {
    flex-direction: row;
  }
  .detail .point-3 .point-detail li:not(:last-child) dt {
    width: 28rem;
    min-width: 28rem;
    font-feature-settings: "palt";
    letter-spacing: -0.8px;
  }
}
.detail .point-3 .point-detail li:last-child {
  border: none;
  grid-template-columns: 1fr;
  text-align: center;
  padding: 2rem 2.4rem;
}
.detail .point-3 .point-detail li:last-child br {
  display: block;
}
@media (min-width: 600px) {
  .detail .point-3 .point-detail li:last-child br {
    display: none;
  }
}

.techo {
  padding-top: 4rem;
  position: relative;
}
@media (min-width: 600px) {
  .techo {
    padding-top: 8.4rem;
  }
}
.techo-inner {
  width: min(100% - 4rem, 48rem);
  background-image: url(../images/techo/bg-sp.webp);
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  margin-right: auto;
  margin-left: auto;
}
.techo-inner::after {
  content: "";
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 352/336;
  background-image: url(../images/v2/techo/footer-sp.webp);
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  mix-blend-mode: overlay;
}
@media (min-width: 992px) {
  .techo-inner::after {
    position: absolute;
    background-size: 80%;
    background-position: bottom right;
    bottom: 0;
    left: 0;
    background-image: url(../images/v2/techo/footer.webp);
  }
}
@media (min-width: 600px) {
  .techo-inner {
    background-image: url(../images/techo/bg.webp);
    position: relative;
  }
}
@media (min-width: 992px) {
  .techo-inner {
    width: min(100% - 4rem, 90.6rem);
    padding-bottom: 6.4rem;
  }
}
.techo .item {
  display: flex;
  flex-direction: column;
  z-index: 1;
  position: relative;
}
@media (min-width: 992px) {
  .techo .item {
    flex-direction: row-reverse;
    justify-content: center;
    gap: 2.4rem;
    align-items: center;
  }
}
.techo .item .thumb {
  position: relative;
  margin-bottom: 1.6rem;
}
@media (min-width: 992px) {
  .techo .item .thumb {
    max-width: 40rem;
    margin-bottom: initial;
  }
}
.techo .item .thumb span {
  font-size: 1rem;
  transform: scale(0.7);
  text-align: center;
  position: absolute;
}
@media (min-width: 992px) {
  .techo .item .thumb span {
    transform: scale(0.6666666667);
  }
}
.techo .item .thumb span br {
  display: block;
}
.techo .item-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.6rem;
}
.techo .item-detail img {
  width: calc(100% - 2.4rem);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  .techo .item-detail img {
    width: 33rem;
  }
}
.techo .item-detail br {
  display: block;
}
.techo .item-detail div {
  max-width: calc(100% - 3.2rem);
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}
.techo .item-detail .item-detail-name {
  margin-bottom: -1.2rem;
}
@media (min-width: 992px) {
  .techo .item-detail .item-detail-name {
    margin-bottom: -3.2rem;
  }
}
.techo .item-detail .price-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
.techo .item-detail .price {
  font-size: 2.8rem;
  font-weight: 700;
}
.techo .item-detail .tax {
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
.techo .item-detail .tax::before {
  content: "（税込）";
  font-size: 0.8rem;
}
.techo .item .splide {
  position: relative;
}
.techo .item .splide__slide {
  padding-right: 1.2rem;
  padding-left: 1.2rem;
}
@media (min-width: 600px) {
  .techo .item .splide__slide {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
@media (min-width: 992px) {
  .techo .item .splide__slide {
    padding-right: 0;
    padding-left: 0;
  }
}
.techo .item .slide-thumb {
  overflow: hidden;
  border-radius: 0.8rem;
}
.techo .item .splide__pagination {
  position: absolute;
  height: 0.2rem;
  gap: 0.8rem;
  align-items: end;
  bottom: 1.2rem;
}
.techo .item .splide__pagination li {
  display: flex;
}
.techo .item .splide__pagination__page {
  height: 0.2rem;
  width: 4rem;
  opacity: 0.5;
  border-radius: 0.2rem;
  margin: 0;
  transition: none;
  min-height: initial;
}
.techo .item .splide__pagination__page.is-active {
  scale: 1;
  opacity: 1;
}
.techo .item .splide__arrow {
  background-color: transparent;
  background-image: url(../images/v2/detail/arrow-sp.svg);
  width: 3rem;
  height: 4.6rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: initial;
  opacity: 0.8;
  transform: none;
  top: calc(50% - 3.2rem + 1.8rem);
}
@media (min-width: 600px) {
  .techo .item .splide__arrow {
    background-image: url(../images/v2/detail/arrow.svg);
    width: 3.6rem;
    height: 3.6rem;
  }
}
.techo .item .splide__arrow--next {
  right: 0;
  transform: scale(-1);
}
.techo .item .splide__arrow--prev {
  left: 0;
}
.techo .item .splide__arrow svg {
  display: none;
}
.techo .item-1 {
  margin-bottom: 6.4rem;
}
.techo .item-2 {
  margin-bottom: 2.4rem;
}
@media (min-width: 992px) {
  .techo .item-2 {
    flex-direction: row;
    margin-bottom: 0;
  }
}
.techo .item-omake {
  text-align: justify;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 25.6px */
  position: relative;
}
@media (min-width: 600px) {
  .techo .item-omake {
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .techo .item-omake {
    align-items: flex-end;
    justify-content: flex-end;
  }
  .techo .item-omake::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../images/v2/techo/item-omake-bg.png);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
    mix-blend-mode: color-burn;
  }
}
.techo .item-omake .inner {
  position: relative;
  z-index: 2;
}
@media (min-width: 600px) {
  .techo .item-omake .inner {
    width: 44rem;
    margin-top: 4.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media (min-width: 992px) {
  .techo .item-omake .inner {
    margin-bottom: 4.6rem;
  }
}
.techo .item-omake .inner div {
  margin: 1.6rem;
}
@media (min-width: 600px) {
  .techo .item-omake .inner div {
    margin: 0;
  }
}
.techo .item-omake picture {
  position: relative;
}
.techo .item-omake picture::before {
  content: "";
  display: block;
  width: 30%;
  height: auto;
  aspect-ratio: 105/118;
  position: absolute;
  top: 0;
  left: 0;
  mask-image: url(../images/v2/techo/omake-effect-sp.png);
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  background-color: #fff;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
@media (min-width: 600px) {
  .techo .item-omake picture::before {
    width: 46%;
    mask-image: url(../images/v2/techo/omake-effect.png);
    bottom: 0;
    right: 0;
    top: initial;
    left: initial;
  }
}
.techo .item-omake .active picture::before {
  animation: omake-effect 0.4s ease-out forwards;
}
@media (min-width: 600px) {
  .techo .item-omake .active picture::before {
    animation: omake-effect 0.4s 0.4s ease-out forwards;
  }
}
@keyframes omake-effect {
  0% {
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.4);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    background-color: #AF0909;
  }
}
.techo .item-movie {
  aspect-ratio: 409/727;
  width: min(100% - 6.4rem, 40.9rem);
  position: relative;
  z-index: 2;
  margin-right: auto;
  margin-left: auto;
  margin-top: 6.2rem;
}
@media (min-width: 600px) {
  .techo .item-movie {
    max-width: 32rem;
  }
}
@media (min-width: 992px) {
  .techo .item-movie {
    margin-left: 7.2rem;
    margin-top: 0;
  }
}
.techo .item-movie iframe {
  width: 100%;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
}

.items {
  margin-top: 4rem;
}
@media (min-width: 600px) {
  .items {
    margin-top: 8rem;
  }
}
.items-inner.items-tools {
  position: relative;
  width: min(100%, 120rem);
  margin-left: auto;
  margin-right: auto;
}
.items-inner.items-tools::after {
  content: "";
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 390/455;
  background-image: url(../images/v2/items/bg-sp.webp);
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  pointer-events: none;
  opacity: 0.2;
}
@media (min-width: 600px) {
  .items-inner.items-tools::after {
    position: absolute;
    background-image: url(../images/v2/items/bg.webp);
    bottom: 0;
    left: 0;
  }
}
.items-inner.items-tools:has(.observe-target.active)::after {
  animation: fadeIn 0.1s 0.4s ease-out forwards;
}
@media (min-width: 600px) {
  .items-inner.items-tools:has(.observe-target.active)::after {
    animation: fadeIn 0.1s ease-out forwards;
  }
}
.items .title {
  width: min(100%, 120rem);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .items .title.title-cover {
    margin-bottom: -10rem;
  }
}
.items .splide__slide {
  aspect-ratio: 1;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.items .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.items .splide__pagination {
  position: absolute;
  height: 0.2rem;
  gap: 0.8rem;
  align-items: end;
  bottom: 1.2rem;
}
.items .splide__pagination li {
  display: flex;
}
.items .splide__pagination__page {
  height: 0.2rem;
  width: 2.8rem;
  opacity: 0.5;
  border-radius: 0.2rem;
  margin: 0;
  transition: none;
  min-height: initial;
}
.items .splide__pagination__page.is-active {
  scale: 1;
  opacity: 1;
  transform: none;
}
.items .splide__arrow {
  background-color: transparent;
  background-image: url(../images/v2/detail/arrow-sp.svg);
  width: 3rem;
  height: 4.6rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: initial;
  opacity: 0.8;
  transform: none;
  top: calc(50% - 3.2rem + 1.8rem);
}
@media (min-width: 600px) {
  .items .splide__arrow {
    background-image: url(../images/v2/detail/arrow.svg);
    width: 3.6rem;
    height: 3.6rem;
  }
}
.items .splide__arrow--next {
  right: 0;
  transform: scale(-1);
}
.items .splide__arrow--prev {
  left: 0;
}
.items .splide__arrow svg {
  display: none;
}
.items-att {
  color: #FFF;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  line-height: 160%; /* 19.2px */
  margin-top: 4rem;
  margin-bottom: 4rem;
}
@media (min-width: 600px) {
  .items-att {
    font-size: 14px;
  }
}
.items-att br {
  display: block;
}
.items-list {
  display: grid;
  grid-template-columns: auto;
  gap: 4rem;
  color: #000;
  position: relative;
  z-index: 2;
  margin-left: 2rem;
  margin-right: 2rem;
}
@media (min-width: 600px) {
  .items-list {
    width: min(100% - 4rem, 76rem);
    grid-template-columns: repeat(2, 1fr);
    margin-left: auto;
    margin-right: auto;
  }
}
.items-list > li {
  background-image: url(../images/items/item-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
}
.items-list .thumb-slide {
  margin-top: 1.8rem;
  margin-bottom: 2.4rem;
  margin-right: 1.6rem;
  margin-left: 1.6rem;
}
.items-list .item-detail {
  display: grid;
  grid-template-columns: 160fr 170fr;
  margin-top: auto;
}
.items-list .item-detail-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.8rem;
  margin-left: 2.4rem;
}
.items-list .thumb {
  display: block;
  position: relative;
}
.items-list .btn-salespage {
  background-color: #FFF;
  border-radius: 3em;
  color: #512C15;
  padding: 0.5em 1em;
  font-size: 14px;
  font-weight: 700;
  line-height: 140%; /* 19.6px */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.items-list .btn-salespage::after {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background-image: url(../images/v2/items/ico-arrow.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 600px) {
  .items-list .btn-salespage {
    gap: 1.2rem;
  }
}
.items-list .name {
  font-size: 2rem;
  font-weight: 700;
  line-height: 140%; /* 28px */
  margin-right: 2.4rem;
  margin-left: 2.4rem;
}
.items-list .name br {
  display: block;
}
.items-list .price-wrapper {
  display: flex;
  justify-content: start;
  align-items: center;
}
.items-list .price {
  font-size: 2.8rem;
  font-weight: 700;
}
.items-list .tax {
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
.items-list .tax::before {
  content: "（税込）";
  font-size: 0.8rem;
}
.items-list .spec {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
}

.movie {
  margin-bottom: 5.6rem;
}
@media (min-width: 600px) {
  .movie {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
    margin-top: 4rem;
  }
}
@media (min-width: 992px) {
  .movie {
    background-image: url(../images/v2/movie/bg.webp);
    background-size: 144rem;
    background-position: center;
    background-repeat: no-repeat;
    max-width: 144rem;
    aspect-ratio: 1440/724;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 1200px) {
  .movie {
    aspect-ratio: initial;
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
.movie .inner {
  aspect-ratio: 560/315;
  width: min(100% - 6.4rem, 86.4rem);
  position: relative;
  z-index: 2;
  margin-right: auto;
  margin-left: auto;
}
.movie iframe {
  width: 100%;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
}

.info-wrapper,
.links-wrapper {
  background-image: linear-gradient(0deg, #251511, #3b1500);
  border-bottom: 1px solid #251511;
}

.info {
  padding: 8rem 2rem;
  width: min(100%, 90rem);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .info {
    position: relative;
    padding-top: 12rem;
    scroll-margin-top: -4rem;
  }
  .info::before {
    content: "";
    display: block;
    width: 267px;
    height: 462px;
    background-repeat: no-repeat;
    position: absolute;
    top: 4rem;
    right: -6rem;
    z-index: 0;
    pointer-events: none;
    background-image: url(../images/info/bg-conan.png);
    background-size: 267px;
    opacity: 0.8;
  }
}
.info .title {
  color: #FFF;
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  text-shadow: 0 1.804px 9.022px rgba(0, 0, 0, 0.8);
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 22.159px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 29.25px */
  letter-spacing: 1.108px;
  margin-bottom: 4rem;
}
@media (min-width: 600px) {
  .info .title {
    font-size: 29.932px;
    letter-spacing: 1.497px;
    margin-bottom: 6.4rem;
  }
}
.info .title img {
  width: 20rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.4rem;
}
@media (min-width: 600px) {
  .info .title img {
    width: 24rem;
    margin-bottom: 0;
  }
}
.info .text {
  color: #FFF;
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 26.4px */
  letter-spacing: 1px;
}
@media (min-width: 600px) {
  .info .text {
    font-size: 24px;
    letter-spacing: 1.2px;
  }
}
.info .type-list {
  display: grid;
  gap: 2.4rem;
  position: relative;
  margin-top: 4rem;
  margin-bottom: 8rem;
}
@media (min-width: 600px) {
  .info .type-list {
    gap: 4rem;
  }
}
.info .type-list > li {
  background-image: url(../images/items/item-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
  padding: 4rem 1.2rem;
}
@media (min-width: 600px) {
  .info .type-list > li {
    background-image: url(../images/v2/types/bg-card.webp);
    padding: 6.4rem 2.4rem;
  }
}
.info .more {
  display: block;
  transition: all 0.1s ease-in-out;
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
  position: relative;
}
.info .more span {
  display: inline-block;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 5.6rem;
  overflow: hidden;
  position: absolute;
  pointer-events: none;
  filter: drop-shadow(2px 5px 3px rgba(0, 0, 0, 0.53));
}
@media (min-width: 600px) {
  .info .more span {
    filter: drop-shadow(1px 7px 8.4px rgba(0, 0, 0, 0.53));
  }
}
@keyframes shimmer {
  0% {
    transform: translateX(-100%) scale(1);
  }
  36% {
    transform: translateX(160%) scale(1.2);
  }
  100% {
    transform: translateX(160%) scale(1);
  }
}
.info .more span::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(111deg, transparent 30%, rgb(255, 255, 255) 30%, rgba(255, 244, 198, 0.9) 31%, rgba(255, 238, 212, 0.3) 50%, transparent 70%);
  animation: shimmer 4s infinite;
  z-index: 1;
  filter: brightness(1.2);
}
.info .more:hover {
  filter: brightness(1.02);
  transform: scale(1.01);
}
.info .types-title {
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 550;
  line-height: 140%; /* 28px */
}
.info .types-title br {
  display: block;
}
@media (min-width: 600px) {
  .info .types-title {
    font-size: 28px;
    line-height: 132%; /* 36.96px */
    letter-spacing: 1.4px;
  }
}
.info .types-name {
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 31.68px */
  letter-spacing: 1.2px;
  margin-bottom: 0.8rem;
}
@media (min-width: 600px) {
  .info .types-name {
    font-size: 30px;
    letter-spacing: 1.5px;
  }
}
.info dl {
  display: grid;
  grid-template-columns: 180fr 148fr;
  align-items: center;
}
.info dl p {
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 22.4px */
  letter-spacing: 0.4px;
}
.info dl p br {
  display: block;
}
.info dt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.info .cover-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--Linear, #EBD9A3);
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 48rem);
}
.info .cover-toggle li {
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 18.48px */
  letter-spacing: 0.7px;
}
.info .cover-toggle button {
  width: 100%;
  height: 100%;
  padding: 0.5em 0;
}
.info .cover-toggle button:not(.is-active) {
  opacity: 0.5;
  background: var(--Linear, linear-gradient(180deg, #FFEAB9 0%, #E6BF64 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.info .cover-toggle button.is-active {
  background: var(--Linear, linear-gradient(138deg, #EBD9A3 13.69%, #B5933D 94.19%));
  color: #fff;
}
.info .type-weeks .more {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}
.info .type-weeks .more span {
  bottom: 2rem;
  right: 0;
}
@media (min-width: 600px) {
  .info .type-weeks .more span {
    bottom: 1rem;
    right: -0.8rem;
  }
}
@media (min-width: 600px) {
  .info .type-weeks {
    position: relative;
  }
  .info .type-weeks::before {
    content: "";
    display: block;
    width: 34%;
    height: auto;
    aspect-ratio: 307/602;
    background-image: url(../images/v2/types/bg-weeks.png);
    background-size: contain;
    background-position: bottom left;
    background-repeat: no-repeat;
    mix-blend-mode: overlay;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none;
  }
  .info .type-weeks dl,
  .info .type-weeks .more {
    width: 38rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.info .type-covers .more span {
  bottom: -0.2rem;
  right: 1rem;
}
@media (min-width: 600px) {
  .info .type-covers .more span {
    bottom: 2rem;
    right: 2rem;
  }
}
@media (min-width: 600px) {
  .info .type-covers {
    position: relative;
  }
  .info .type-covers::before {
    content: "";
    display: block;
    width: 44%;
    height: auto;
    aspect-ratio: 374/574;
    background-image: url(../images/v2/types/bg-cover.png);
    background-size: contain;
    background-position: bottom left;
    background-repeat: no-repeat;
    mix-blend-mode: overlay;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
  }
  .info .type-covers dl,
  .info .type-covers .more {
    max-width: 70rem;
    margin-left: auto;
    margin-right: auto;
  }
  .info .type-covers dl {
    grid-template-columns: repeat(2, 180fr 148fr);
  }
}

.highlights-wrapper {
  background-color: #000;
}

.highlights {
  padding: 8rem 2rem 20rem;
  position: relative;
}
@media (min-width: 600px) {
  .highlights {
    padding-right: 0;
    padding-left: 0;
  }
}
.highlights::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/v2/highlights/bg-sp.webp);
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
@media (min-width: 600px) {
  .highlights::before {
    background-size: 70%;
    background-position: bottom right;
    background-image: url(../images/v2/highlights/bg.webp);
  }
}
@media (min-width: 992px) {
  .highlights::before {
    max-width: 144rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 1200px) {
  .highlights::before {
    background-size: 50%;
  }
}
.highlights > * {
  position: relative;
  z-index: 2;
}
.highlights .title {
  color: #FFF;
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  text-shadow: 0 1.804px 9.022px rgba(0, 0, 0, 0.8);
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 22.159px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 29.25px */
  letter-spacing: 1.108px;
  margin-bottom: 4rem;
}
@media (min-width: 600px) {
  .highlights .title {
    font-size: 29.932px;
    letter-spacing: 1.497px;
    margin-bottom: 6.4rem;
  }
}
.highlights .title img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.4rem;
}
@media (min-width: 600px) {
  .highlights .title img {
    width: 44rem;
    margin-bottom: 0;
  }
}
.highlights .text {
  color: #FFF;
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%; /* 26.4px */
  letter-spacing: 1px;
  margin-bottom: 6.4rem;
}
@media (min-width: 600px) {
  .highlights .text {
    font-size: 24px;
    letter-spacing: 1.2px;
  }
}
.highlights .text br {
  display: block;
}
.highlights .highlight-item {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 25.6px */
  letter-spacing: 0.8px;
}
.highlights .splide__arrow {
  background-color: transparent;
  background-image: url(../images/v2/detail/arrow-sp.svg);
  width: 3rem;
  height: 4.6rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: initial;
  opacity: 0.8;
  transform: none;
  top: calc(50% - 2.3rem - 3.2rem + 1.8rem);
}
@media (min-width: 600px) {
  .highlights .splide__arrow {
    background-image: url(../images/v2/detail/arrow.svg);
    width: 3.6rem;
    height: 3.6rem;
  }
}
.highlights .splide__arrow--next {
  right: 0;
  transform: scale(-1);
}
.highlights .splide__arrow--prev {
  left: 0;
}
.highlights .splide__arrow svg {
  display: none;
}

.realspace {
  padding-top: 4.2rem;
  padding-bottom: 7rem;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 600px) {
  .realspace {
    padding-top: 12rem;
    padding-bottom: 8rem;
  }
}
.realspace .banner {
  background-image: url(../images/v2/realspace/bg-sp.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .realspace .banner {
    width: min(80%, 83rem);
    background-image: url(../images/v2/realspace/bg.webp);
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    padding: 3.2rem 2.4rem 2rem 4rem;
  }
}
.realspace .realspace-header {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media (min-width: 600px) {
  .realspace .realspace-header {
    gap: 0;
    align-items: center;
  }
}
.realspace .realspace-logo {
  width: 50%;
  padding-left: 2rem;
  padding-top: 3.2rem;
}
@media (min-width: 600px) {
  .realspace .realspace-logo {
    width: 29rem;
    padding: initial;
  }
}
.realspace .realspace-title {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .realspace .realspace-title {
    width: 32rem;
  }
}
.realspace .realspace-content {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  padding-right: 1.2rem;
  padding-left: 1.2rem;
  padding-bottom: 1.2rem;
}
@media (min-width: 600px) {
  .realspace .realspace-content {
    align-items: center;
    height: fit-content;
    margin-top: auto;
  }
}
.realspace .realspace-content a {
  background-color: #FFF;
  border-radius: 3em;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px; /* 128.571% */
  padding: 0.8em 1em;
}
.realspace .realspace-content a::after {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  background-image: url(../images/arrow_forward.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-left: 0.5em;
}
@media (min-width: 600px) {
  .realspace .realspace-content img {
    width: 17.2rem;
  }
}

.lineup {
  scroll-margin-top: 8rem;
}
.lineup h2 {
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  /* 大見出し_sp */
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%;
  letter-spacing: 1.5px;
  background: linear-gradient(180deg, #FFEAB9 0%, #E6BF64 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (min-width: 600px) {
  .lineup h2 {
    font-size: 2rem;
    line-height: 1.75;
    text-align: center;
    font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
    /* 大見出し_sp */
    font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
    font-style: normal;
    font-weight: 550;
    letter-spacing: 1.5px;
    background: linear-gradient(180deg, #FFEAB9 0%, #E6BF64 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 4rem;
  }
}
.lineup .inner {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8rem;
  margin-top: 4rem;
}
@media (min-width: 600px) {
  .lineup .inner {
    margin-top: 6.4rem;
  }
}

.links {
  scroll-margin-top: 8rem;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-right: 1.2rem;
  padding-left: 1.2rem;
}
@media (min-width: 600px) {
  .links {
    gap: 6.4rem;
  }
}
.links .text br {
  display: block;
}
@media (min-width: 600px) {
  .links .text br {
    display: none;
  }
}
.links h2 {
  text-align: center;
  font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
  /* 大見出し_sp */
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 550;
  line-height: 132%;
  letter-spacing: 1.5px;
  background: linear-gradient(180deg, #FFEAB9 0%, #E6BF64 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (min-width: 600px) {
  .links h2 {
    font-size: 2rem;
    line-height: 1.75;
    text-align: center;
    font-feature-settings: "palt" on, "hkna" on, "vkrn" on;
    /* 大見出し_sp */
    font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
    font-style: normal;
    font-weight: 550;
    letter-spacing: 1.5px;
    background: linear-gradient(180deg, #FFEAB9 0%, #E6BF64 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 4rem;
  }
}
.links a img {
  border-radius: 4px;
}
.links ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.28rem;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}
@media (min-width: 600px) {
  .links ul {
    max-width: 88rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
    padding: initial;
    margin-left: auto;
    margin-right: auto;
  }
}
.links .note {
  font-size: 1.2rem;
  font-weight: 400;
  text-align: left;
  display: grid;
  gap: 0.4rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .links .note {
    gap: 0;
  }
}
.links .note p {
  text-indent: calc(-1em - 2px);
  padding-left: 1em;
}
.links .note p::before {
  content: "※";
}

.footer-hat {
  width: 16.2rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6rem;
  margin-bottom: 6rem;
}
@media (min-width: 600px) {
  .footer-hat {
    margin-top: 16rem;
    margin-bottom: 16rem;
  }
}

.footer {
  background-color: #000;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
}
.footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  position: relative;
  max-width: 109rem;
  padding-top: 12rem;
  padding-bottom: 12rem;
  margin-left: auto;
  margin-right: auto;
}
.footer-logo {
  width: 14.2rem;
}
.footer-sns {
  display: flex;
  gap: 1.6rem;
}
.footer-sns img {
  width: 2.4rem;
  height: 2.4rem;
}
.footer-links {
  display: grid;
  gap: 2.4rem;
}
.footer .copy br {
  display: block;
}
@media (min-width: 600px) {
  .footer .copy br {
    display: none;
  }
}
.footer .btn-top {
  position: absolute;
  top: -3.75rem;
  right: 2.8rem;
  width: 7.5rem;
  height: auto;
}

.modal {
  background-color: rgba(14, 14, 14, 0.8);
  backdrop-filter: blur(4px);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  color: #512C15;
}
.modal .modal-close {
  width: 4rem;
  height: 4rem;
  z-index: 1001;
}
.modal-inner.item-modal {
  position: relative;
  width: 100%;
}
@media (min-width: 600px) {
  .modal-inner.item-modal {
    width: min(90%, 100rem);
    max-width: fit-content;
  }
}
.modal-inner.item-modal .modal-close {
  position: fixed;
  top: 1rem;
  right: 1rem;
}
@media (min-width: 600px) {
  .modal-inner.item-modal .modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
}
.modal-inner.item-modal .modal-content {
  overflow-y: auto;
  height: 90svh;
}
.modal-inner.item-modal .modal-content img {
  width: auto;
  max-width: none;
  height: 84svh;
}
@media (min-width: 600px) {
  .modal-inner.item-modal .modal-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
  }
  .modal-inner.item-modal .modal-content img {
    max-width: 100%;
    height: auto;
    max-height: 90svh;
  }
}
.modal-inner.shop-modal {
  background-color: #FFF;
  position: relative;
  border-radius: 8px;
  width: min(80%, 72rem);
  padding: 4rem 1.6rem;
}
@media (min-width: 600px) {
  .modal-inner.shop-modal {
    padding: 4rem 2.4rem;
  }
}
.modal-inner.shop-modal .modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.modal-inner.shop-modal .modal-content {
  overflow-y: auto;
  max-height: 80svh;
}
.modal .name {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.6rem;
}
.modal .name br {
  display: block;
}
.modal .price-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2.4rem;
}
.modal .price {
  font-size: 2.8rem;
  font-weight: 700;
}
.modal .tax {
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
.modal .tax::before {
  content: "（税込）";
  font-size: 0.8rem;
}
.modal .spec {
  font-size: 1.2rem;
  line-height: 1.6;
}
.modal .spec br {
  display: block;
}
.modal .modal-supplement dt {
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}
.modal .modal-supplement dd {
  font-size: 1.2rem;
  line-height: 1.6;
}
.modal .modal-supplement ul {
  list-style: disc;
  margin-left: 1em;
}
.modal .splide__arrow {
  display: none;
  pointer-events: none;
}
.modal .splide__pagination {
  bottom: 2em;
}
.modal .splide__pagination__page {
  background-color: rgba(142, 142, 142, 0.4);
  height: 1rem;
  width: 1rem;
  margin: 0.6rem;
  min-height: initial;
}
.modal .splide__pagination__page.is-active {
  background-image: var(--Linear, linear-gradient(138deg, #EBD9A3 13.69%, #B5933D 94.19%));
  transform: scale(1);
  opacity: 1;
}
.modal .title {
  font-size: 2.4rem;
  font-weight: 550;
  margin-bottom: 1.8rem;
}
@media (min-width: 600px) {
  .modal .title {
    margin-bottom: 4rem;
    font-size: 3rem;
  }
}
.modal .btn-url {
  border-radius: 10rem;
  background: var(--Linear, linear-gradient(138deg, #EBD9A3 13.69%, #B5933D 94.19%));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  width: 10rem;
  height: 3rem;
  color: #512C15;
  text-decoration: none;
}
.modal .modal-shoplist {
  display: grid;
}
.modal .modal-shoplist dt {
  background-color: #512C15;
  border-radius: 4px;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 3.2rem;
}
.modal .modal-shoplist dd {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  text-align: left;
  margin-bottom: 4rem;
}
@media (min-width: 600px) {
  .modal .modal-shoplist dd {
    grid-template-columns: 1fr 1fr;
  }
}
.modal .modal-shoplist .shop-name {
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
}
.modal .modal-shoplist .shop-name br {
  display: none;
}
@media (min-width: 600px) {
  .modal .modal-shoplist .shop-name br {
    display: block;
  }
}
.modal .modal-shoplist .shop-address {
  font-size: 1rem;
}
.modal .modal-shoplist .shop-info {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.2rem;
  align-items: center;
}/*# sourceMappingURL=style_v2.css.map */