@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;
}

@media (min-width: 600px) {
  .device-sp {
    display: none;
  }
}

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

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(.modal.is-show) {
  overflow: hidden;
}

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

/*---- conan base ----*/
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);
  }
}

.btn-reserve {
  position: fixed;
  right: 0;
  top: 72%;
  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%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  font-size: 1.6rem;
  height: 5.6rem;
}
.btn-order::before, .btn-order::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::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;
  }
}
.hero-header {
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-image: url(../images/hero/bg-header-sp.jpg);
}
@media (min-width: 600px) {
  .hero-header {
    background-image: url(../images/hero/bg-header.jpg);
  }
}
.hero-inner {
  width: min(100%, 128rem);
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .opened .hero-inner picture {
    opacity: 0;
    filter: blur(4px);
    animation: blurIn 1s ease-out forwards;
  }
  .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;
  }
  .opened .hero-inner picture:nth-child(6) {
    animation-delay: 1.6s;
  }
  .opened .hero-inner picture:nth-child(7) {
    animation-delay: 1.8s;
  }
  .opened .hero-inner picture:nth-child(8) {
    animation-delay: 2s;
  }
  .opened .hero-inner picture:nth-child(9) {
    animation-delay: 2.2s;
  }
  .opened .hero-inner picture:nth-child(10) {
    animation-delay: 2.4s;
  }
}
.hero .logo-wrapper {
  display: flex;
  justify-content: space-between;
  margin-right: 3rem;
  margin-left: 3rem;
  margin-top: 1.2rem;
  margin-bottom: 1.2rem;
}
@media (min-width: 600px) {
  .hero .logo-wrapper {
    display: block;
    margin: initial;
  }
}
.hero .logo-wrapper .logo {
  width: 72%;
}
@media (min-width: 600px) {
  .hero .logo-wrapper .logo {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.hero .logo-wrapper .phrase {
  width: 14.6%;
}
@media (min-width: 600px) {
  .hero .logo-wrapper .phrase {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.hero .logo-wrapper .phrase img {
  width: 100%;
}
.hero .product {
  margin-right: 2.8rem;
  margin-left: 2.8rem;
}
@media (min-width: 600px) {
  .hero .product {
    margin: initial;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.hero .product .weeks {
  position: relative;
  top: -1.2rem;
  margin-bottom: -1.2rem;
}
@media (min-width: 600px) {
  .hero .product .weeks {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-bottom: initial;
  }
}
.hero .product .conan-techo {
  display: none;
}
@media (min-width: 600px) {
  .hero .product .conan-techo {
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.hero .gathering {
  position: relative;
  top: -3rem;
  margin-bottom: -3rem;
  width: 90%;
}
@media (min-width: 600px) {
  .hero .gathering {
    top: initial;
    margin-bottom: initial;
    width: 100%;
  }
}
.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 {
  background-image: linear-gradient(180deg, #100400 60%, #422518 70%, #3B1500 75%, #0C0400 100%);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  display: grid;
  gap: 4rem;
}
@media (min-width: 600px) {
  .yodogawa {
    gap: 6.4rem;
    position: relative;
    padding-bottom: 12rem;
  }
}
.yodogawa-inner {
  max-width: 51.2rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.yodogawa-bg {
  position: relative;
  display: grid;
  gap: 4rem;
  padding: 6.4rem 2rem;
}
.yodogawa-bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-position: center top;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: url(../images/yodogawa/yodogawa_bg_new.jpg);
  background-size: cover;
}
@media (min-width: 600px) {
  .yodogawa-bg {
    gap: 6.4rem;
  }
}
.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: 72%;
  }
}
.yodogawa .text {
  color: #fff;
  text-shadow: 0 2.389px 5.973px rgba(0, 0, 0, 0.4);
  font-size: 1.8rem;
  line-height: 2.2;
  font-weight: 700;
}
@media (min-width: 600px) {
  .yodogawa .text {
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4), 0 2px 4px rgb(0, 0, 0);
  }
}
.yodogawa .text .yodogawa-inner {
  width: fit-content;
}
.yodogawa .products {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
}
@media (min-width: 600px) {
  .yodogawa .products {
    position: relative;
  }
  .yodogawa .products::before {
    content: "";
    display: block;
    width: calc(100% + 4rem);
    height: 100vh;
    background-image: url(../images/yodogawa/bg-semicircle.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    top: 32%;
    left: -2rem;
    z-index: 2;
    pointer-events: none;
    mix-blend-mode: overlay;
  }
}
.yodogawa .products .yodogawa-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 3.2rem;
}
@media (min-width: 600px) {
  .yodogawa .products .yodogawa-inner {
    max-width: 37.6rem;
  }
}
.yodogawa .products dl {
  margin-left: 0.8rem;
  margin-right: 0.8rem;
}
.yodogawa .products br {
  display: block;
}
.yodogawa .products-info {
  grid-column: 1/3;
}
.yodogawa .sales-info {
  position: relative;
  padding-right: 2rem;
  padding-left: 2rem;
}
.yodogawa .sales-info::before, .yodogawa .sales-info::after {
  content: "";
  display: block;
  width: 100%;
  height: 11.5rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  position: absolute;
  left: 0;
}
.yodogawa .sales-info::before {
  background-image: url(../images/yodogawa/ribbon-top.png);
  top: 8rem;
}
@media (min-width: 600px) {
  .yodogawa .sales-info::before {
    background-image: url(../images/yodogawa/ribbon.png);
    height: auto;
    aspect-ratio: 2880/520;
    top: 24%;
    z-index: 2;
  }
}
.yodogawa .sales-info::after {
  background-image: url(../images/yodogawa/ribbon-bottom.png);
  bottom: 16rem;
}
@media (min-width: 600px) {
  .yodogawa .sales-info::after {
    content: none;
  }
}
.yodogawa .sales-order .btn-order {
  width: 80%;
  margin: 0 auto;
}

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

.detail {
  padding-top: 8rem;
}
.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 > * {
  position: relative;
  z-index: 2;
}
.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;
  }
}
@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: 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 {
    gap: 0.8rem;
  }
  .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 M 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-family: "Keyaki Gothic Oldstyle M AP", sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 550;
    line-height: 140%;
  }
}
.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;
}
.detail .splide__pagination__page.is-active {
  transform: scale(1);
  opacity: 1;
}
.detail .splide__arrow {
  background-color: transparent;
  background-image: url(../images/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/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: 30rem;
    min-width: 30rem;
  }
}
.detail .point-3 .point-detail li:last-child {
  grid-template-columns: 1fr;
  text-align: center;
}
.detail .point-3 .point-detail li:last-child dl {
  gap: 1.6rem;
}
.detail .point-3 .point-detail li:last-child dt {
  grid-template-columns: 1fr;
}
.detail .point-3 .point-detail li:last-child picture,
.detail .point-3 .point-detail li:last-child img {
  width: min(100%, 41.4rem);
  margin-left: auto;
  margin-right: auto;
}
.detail .movie {
  aspect-ratio: 409/727;
  width: min(100% - 6.4rem, 40.9rem);
  margin-right: auto;
  margin-left: auto;
  margin-top: 4rem;
  margin-bottom: 8rem;
}
.detail .movie iframe {
  max-height: 100%;
  max-width: 100%;
}

.techo {
  margin-top: 4rem;
  position: relative;
}
@media (min-width: 600px) {
  .techo {
    margin-top: 8.4rem;
    overflow: hidden;
  }
}
.techo-inner {
  width: min(100% - 4rem, 90.6rem);
  background-image: url(../images/techo/bg-sp.webp);
  background-size: cover;
  background-position: center;
  padding-bottom: 6rem;
  border-radius: 8px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  .techo-inner {
    background-image: url(../images/techo/bg.webp);
    position: relative;
    padding-bottom: 8.7rem;
  }
  .techo-inner::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../images/techo/bg-footer.webp);
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.techo .item {
  display: flex;
  flex-direction: column;
  z-index: 1;
  position: relative;
}
.techo .item .thumb {
  position: relative;
}
@media (min-width: 600px) {
  .techo .item .thumb {
    flex: 1;
    filter: drop-shadow(-5px 27px 22px rgba(228, 157, 13, 0.282));
  }
}
.techo .item .thumb span {
  font-size: 1rem;
  transform: scale(0.7);
  text-align: center;
  position: absolute;
}
@media (min-width: 600px) {
  .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;
  gap: 2.4rem;
}
@media (min-width: 600px) {
  .techo .item-detail {
    width: min(50%, 46.1rem);
    padding: min(8%, 6.2rem) min(4%, 6.2rem);
  }
}
.techo .item-detail img {
  width: 100%;
}
.techo .item-detail br {
  display: block;
}
.techo .item-detail div {
  max-width: calc(100% - 3.2rem);
}
.techo .item .btn-order {
  width: 80%;
}
.techo .item-1 {
  margin-bottom: 6rem;
}
@media (min-width: 600px) {
  .techo .item-1 {
    flex-direction: row;
    margin-bottom: -4rem;
  }
}
.techo .item-1 .thumb {
  right: 2rem;
}
@media (min-width: 600px) {
  .techo .item-1 .thumb {
    right: inherit;
    transform: scale(1.2);
    transform-origin: center right;
  }
}
.techo .item-1 .thumb span {
  left: 2.4rem;
  bottom: 6rem;
}
@media (min-width: 600px) {
  .techo .item-1 .thumb span {
    left: 8.2rem;
    bottom: 12rem;
  }
}
.techo .item-2 {
  margin-bottom: 4rem;
}
@media (min-width: 600px) {
  .techo .item-2 {
    flex-direction: row-reverse;
  }
}
.techo .item-2 .thumb {
  left: 2rem;
}
@media (min-width: 600px) {
  .techo .item-2 .thumb {
    left: inherit;
    transform: scale(1.2);
    transform-origin: top left;
  }
}
.techo .item-2 .thumb span {
  right: 2.4rem;
  bottom: 11rem;
}
@media (min-width: 600px) {
  .techo .item-2 .thumb span {
    right: 7.4rem;
    bottom: 11rem;
  }
}
@media (min-width: 600px) {
  .techo .item-3 .thumb {
    max-width: 55.8rem;
    left: -8rem;
  }
}
.techo .item-3 .thumb span {
  left: 1rem;
  bottom: 4rem;
}
@media (min-width: 600px) {
  .techo .item-3 .thumb span {
    left: 14rem;
    bottom: 20rem;
  }
}
@media (min-width: 600px) {
  .techo .item-3 .item-detail {
    padding: 0 0 0 4.3rem;
    width: 24em;
  }
}

.items {
  margin-top: 8rem;
  color: #fff;
}
@media (min-width: 600px) {
  .items {
    margin-top: 25.6rem;
  }
}
.items-inner {
  width: min(100% - 4rem, 90.6rem);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .items-inner {
    text-align: center;
  }
}
.items-title {
  width: min(100%, 48rem);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
}
@media (min-width: 600px) {
  .items-title {
    margin-bottom: 6.4rem;
  }
}
.items-text {
  margin-bottom: 4rem;
  font-size: 1.8rem;
  line-height: 1.75;
}
@media (min-width: 600px) {
  .items-text {
    margin-bottom: 8rem;
    font-size: 2rem;
    line-height: 1.75;
  }
}
.items-images {
  width: min(100%, 106rem);
  margin-left: auto;
  margin-right: auto;
}
.items dl {
  background-image: url(../images/items/images-bg-sp.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: grid;
  grid-template-columns: max-content 1fr;
  padding-top: 4.8rem;
  padding-bottom: 4.8rem;
}
@media (min-width: 600px) {
  .items dl {
    display: none;
  }
}
.items dt:not(:last-of-type),
.items dd:not(:last-of-type) {
  border-bottom: 1px solid #fff;
}
.items dt {
  width: 12.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.items dd {
  font-size: 1.2rem;
  font-weight: 500;
  padding-bottom: 1.2rem;
  padding-top: 1.2rem;
}
.items-banner {
  display: block;
  width: min(100%, 50.4rem);
  margin: 0 auto;
}
.items-list {
  display: grid;
  grid-template-columns: auto;
  gap: 4rem;
  color: #000;
  margin-top: 4.8rem;
  margin-bottom: 4.8rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .items-list {
    width: min(100%, 76rem);
    grid-template-columns: repeat(2, 1fr);
  }
}
.items-list li {
  background-image: url(../images/items/item-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
  padding: 2.4rem 2rem;
}
.items-list .thumb {
  display: block;
  margin-bottom: 2.4rem;
  position: relative;
}
.items-list .thumb img {
  filter: drop-shadow(8px 8px 8px rgba(238, 143, 18, 0.5));
}
.items-list .thumb::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
  position: absolute;
  pointer-events: none;
}
.items-list .thumb.techo-a5::before {
  background-image: url(../images/items/thumbnail-techo-a5-cover.webp);
}
.items-list .thumb.techo-a6::before {
  background-image: url(../images/items/thumbnail-techo-a6-cover.webp);
}
.items-list .thumb.stamp::before {
  background-image: url(../images/items/thumbnail-stamp-cover-sp.webp);
}
@media (min-width: 600px) {
  .items-list .thumb.stamp::before {
    background-image: url(../images/items/thumbnail-stamp-cover.webp);
  }
}
.items-list .name {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.1rem;
}
.items-list .name br {
  display: block;
}
.items-list .price-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2.4rem;
}
.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;
}

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

.info {
  padding: 8rem 2rem;
  display: grid;
  gap: 6.4rem;
}
@media (min-width: 600px) {
  .info {
    overflow: hidden;
    gap: 6.4rem;
    padding-bottom: 12rem;
    position: relative;
  }
  .info::after, .info::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
  }
  .info::after {
    background-image: url(../images/yodogawa/bg-noise.svg);
    opacity: 0.2;
    background-size: cover;
  }
  @supports (-webkit-hyphens: none) {
    .info::after {
      content: none;
    }
  }
}
.info > * {
  position: relative;
  z-index: 10;
}
.info-inner {
  max-width: 51.2rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.info 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) {
  .info 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;
  }
}
.info h2 img {
  width: 80%;
  display: block;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .info h2 img {
    width: 72%;
  }
}
.info .text {
  color: #fff;
  text-shadow: 0 2.389px 5.973px rgba(0, 0, 0, 0.4);
  font-size: 1.8rem;
  line-height: 2.2;
  font-weight: 700;
}
@media (min-width: 600px) {
  .info .text {
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4), 0 2px 4px rgb(0, 0, 0);
  }
}
.info .text .info-inner {
  width: fit-content;
}
.info .products {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  margin-right: 1.2rem;
  margin-left: 1.2rem;
}
.info .products .info-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 3.2rem;
}
@media (min-width: 600px) {
  .info .products .info-inner {
    max-width: 37.6rem;
  }
}
@media (min-width: 992px) {
  .info .products .info-inner {
    position: relative;
  }
  .info .products .info-inner::before {
    content: "";
    display: block;
    width: 236px;
    height: 408px;
    background-repeat: no-repeat;
    position: absolute;
    top: -30%;
    right: -80%;
    z-index: 1;
    pointer-events: none;
    background-image: url(../images/info/bg-conan.png);
    background-size: 236px;
    opacity: 0.8;
  }
}
.info .products dl {
  margin-left: 0.8rem;
  margin-right: 0.8rem;
}
.info .products br {
  display: block;
}
.info .products-info {
  grid-column: 1/3;
}
.info .sales-info ul {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.info .sales-info li {
  text-indent: calc(-1em - 2px);
  padding-left: calc(1em + 2px);
}
.info .sales-info li::before {
  content: "※";
  margin-right: 2px;
}
.info .sales-info li:nth-child(2)::before {
  content: "*";
}
.info .sales-info li:not(:last-child) {
  margin-bottom: 1em;
}
.info-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  gap: 6.4rem 1.6rem;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .info-list {
    width: min(100%, 66.5rem);
  }
}
.info-list li {
  border-radius: 4px;
}
.info-list li.cover .name,
.info-list li.cover .price-wrapper {
  margin-bottom: 0.8rem;
}
.info-list li.cover img {
  margin-bottom: 2.4rem;
}
@media (min-width: 600px) {
  .info-list li.cover .more {
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
  }
}
.info-list li.omake {
  border-radius: 4px;
  border: 0.5px solid #FFF;
  background: rgba(0, 0, 0, 0.6);
}
.info-list li.omake .name {
  margin: 1.6rem;
}
.info-list li.omake .supplement {
  margin-right: 1.6rem;
  margin-left: 1.6rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 600px) {
  .info-list li.omake {
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
  }
  .info-list li.omake div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
}
.info-list .thumb {
  display: block;
}
.info-list .name {
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.6rem;
}
.info-list .name br {
  display: block;
}
@media (min-width: 600px) {
  .info-list .name {
    font-size: 2rem;
  }
}
.info-list .price-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.6rem;
}
.info-list .price {
  font-size: 1.8rem;
  font-weight: 700;
}
@media (min-width: 600px) {
  .info-list .price {
    font-size: 2.6rem;
  }
}
.info-list .tax {
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
.info-list .tax::before {
  content: "（税込）";
  font-size: 0.6rem;
}
@media (min-width: 600px) {
  .info-list .tax {
    font-size: 1.4rem;
  }
  .info-list .tax::before {
    font-size: 0.8rem;
  }
}
.info-list .more {
  font-size: 1.2rem;
  font-weight: 700;
  border: 1px solid currentColor;
  border-radius: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.2rem;
  width: 100%;
}
@media (min-width: 600px) {
  .info-list .more {
    width: 15.6rem;
    margin: 0 auto;
  }
}
.info-list .supplement {
  margin-top: 0.8rem;
  font-weight: 500;
  font-size: 1.2rem;
}
@media (min-width: 600px) {
  .info-list .supplement {
    text-align: center;
    font-size: 1.4rem;
  }
}
.info .sales-order {
  color: #fff;
  scroll-margin-top: 2rem;
  z-index: 5;
}
.info .sales-order .inner {
  background-color: #000;
  border-radius: 8px;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.8rem;
  padding-bottom: 2.4rem;
}
@media (min-width: 600px) {
  .info .sales-order .inner {
    max-width: 87.8rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
  }
}
@media (min-width: 600px) {
  .info .sales-order .sales-order-items {
    flex: 1;
  }
}
.info .sales-order .sales-order-select {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media (min-width: 600px) {
  .info .sales-order .sales-order-select {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.info .sales-order .sales-order-btn-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
@media (min-width: 600px) {
  .info .sales-order .sales-order-btn-wrapper {
    gap: 0.8rem;
  }
}
.info .sales-order .sales-order-btn-wrapper span {
  font-size: 1.2rem;
  color: #FF0000;
}
@media (min-width: 600px) {
  .info .sales-order ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(auto, 19.2rem));
  }
}
.info .sales-order li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}
@media (min-width: 600px) {
  .info .sales-order li {
    flex-direction: column;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  .info .sales-order li:has(.order-num) {
    padding-bottom: 1.2rem;
  }
  .info .sales-order li:first-child {
    padding-left: 0;
  }
}
.info .sales-order li:not(:last-child) {
  border-bottom: 1px solid #fff;
}
@media (min-width: 600px) {
  .info .sales-order li:not(:last-child) {
    border-bottom: none;
    border-right: 1px solid #fff;
  }
}
.info .sales-order .product-name {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 700;
  gap: 0.4rem;
}
.info .sales-order .product-name img {
  width: 2.8rem;
  height: auto;
  aspect-ratio: 2.8/5.6;
  position: relative;
  top: 0.4rem;
}
@media (min-width: 600px) {
  .info .sales-order .product-name img {
    width: 2rem;
    top: 0.2rem;
  }
}
@media (min-width: 992px) {
  .info .sales-order .product-name {
    font-size: 1.6rem;
  }
}
.info .sales-order .order-num {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.info .sales-order .order-num span {
  font-size: 1.2rem;
}
.info .sales-order .order-soldout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}
.info .sales-order .order-soldout span {
  font-size: 1.2rem;
}
.info .sales-order .notify-me {
  width: 10rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3em;
  font-size: 1rem;
  background-color: #fff;
  color: #000;
  gap: 0.8rem;
}
.info .sales-order .notify-me img {
  width: 1.4rem;
  height: 1.4rem;
}
.info .sales-order .select-wrapper {
  position: relative;
}
.info .sales-order .select-wrapper::before {
  content: "";
  background-color: #000;
  background-image: url(../images/info/ico-option.svg);
  background-size: 40%;
  background-position: center;
  background-repeat: no-repeat;
  width: 1.5em;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}
.info .sales-order .select-wrapper:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 1.5em);
  height: 100%;
  border-radius: 8px;
  background-color: #fff;
  z-index: 2;
}
.info .sales-order .select-wrapper > * {
  position: relative;
  z-index: 3;
}
.info .sales-order .select-wrapper span {
  position: absolute;
  font-size: 1rem;
  bottom: -1.6em;
  width: 100%;
  left: 0;
}
.info .sales-order .select-wrapper.order-pre {
  pointer-events: none;
  cursor: auto;
}
.info .sales-order .select-wrapper.order-pre::after {
  background-color: rgba(255, 255, 255, 0.2);
}
.info .sales-order .select-wrapper.order-pre select {
  color: #ccc;
}
.info .sales-order select {
  color: #512C15;
  padding: 0.25em 2em 0.25em 0.5em;
  background-color: transparent;
  border: 0;
  appearance: none;
}
.info .sales-order .btn-order {
  width: 80%;
  margin: 0 auto;
  color: #512C15;
}
@media (min-width: 600px) {
  .info .sales-order .btn-order {
    width: 100%;
    margin: initial;
  }
  .info .sales-order .btn-order::before, .info .sales-order .btn-order::after {
    width: calc(3rem + 1em);
  }
}
@media (min-width: 992px) {
  .info .sales-order .btn-order {
    width: 23rem;
  }
  .info .sales-order .btn-order::before, .info .sales-order .btn-order::after {
    width: calc(4rem + 1em);
  }
}
.info .sales-order .btn-order.disable {
  color: rgba(81, 44, 21, 0.4);
  cursor: not-allowed;
  pointer-events: none;
}
.info .sales-order .btn-order.disable::after {
  background-image: none;
}
.info .sales-order .btn-order.btn-order-soldout {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 1.3rem;
  justify-content: center;
  padding: 0 2em;
  pointer-events: none;
  cursor: auto;
}
.info .sales-order .btn-order.btn-order-soldout::before, .info .sales-order .btn-order.btn-order-soldout::after {
  content: none;
}
.info .sales-order .btn-order.btn-order-pre {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  justify-content: center;
  pointer-events: none;
  cursor: auto;
}
.info .sales-order .btn-order.btn-order-pre::before, .info .sales-order .btn-order.btn-order-pre::after {
  content: none;
}
.info .sales-order .btn-order br {
  display: block;
}
.info .sales-order .ge-notice {
  font-size: 1.2rem;
  text-align: center;
  color: #FF0000;
  line-height: 2;
}
.info .sales-order .ge-notice br {
  display: block;
}
.info .sales-order .note {
  font-size: 1.2rem;
  font-weight: 400;
  margin-top: 2.4rem;
}
.info .sales-order .note br {
  display: block;
}
.info .sales-attention {
  z-index: 5;
}
@media (min-width: 600px) {
  .info .sales-attention {
    width: min(100%, 91.2rem);
    margin-left: auto;
    margin-right: auto;
  }
}
.info .sales-attention dl {
  border-radius: 0.8rem;
  border: 1px solid #fff;
  padding: 3.2rem 1.6rem;
  color: #fff;
}
.info .sales-attention dt {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.4rem;
}
.info .sales-attention dt br {
  display: block;
}
@media (min-width: 600px) {
  .info .sales-attention dt br {
    display: none;
  }
}
.info .sales-attention dd {
  font-size: 1.4rem;
  font-weight: 400;
}
@media (min-width: 600px) {
  .info .sales-attention dd {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}
.info .sales-attention li {
  text-indent: calc(-1em - 2px);
  padding-left: calc(1em + 2px);
}
.info .sales-attention li:not(:last-child) {
  margin-bottom: 1em;
}
.info .sales-attention li:not(:last-child)::before {
  content: "※";
  margin-right: 2px;
}

.links {
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-right: 1.2rem;
  padding-left: 1.2rem;
}
.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;
}

.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-close {
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: -1rem;
  right: -1rem;
  z-index: 1001;
}
.modal-inner.item-modal {
  position: relative;
  background-image: url(../images/items/item-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
  width: 35.3rem;
  padding: 2.4rem 1.6rem;
}
.modal-inner.shop-modal {
  background-color: #FFF;
  position: relative;
  border-radius: 8px;
  width: min(80%, 72rem);
  padding: 4rem 1.6rem;
  font-family: "Keyaki Gothic Oldstyle B AP", sans-serif;
}
@media (min-width: 600px) {
  .modal-inner.shop-modal {
    padding: 4rem 2.4rem;
  }
}
.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;
}
.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;
}
.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.css.map */