@charset "UTF-8";
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  list-style: none;
}
*:before, *:after {
  box-sizing: border-box;
}
*:focus {
  outline: none;
}

html {
  font-size: 62.5%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  position: relative;
  margin-right: 0 !important;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html::-webkit-scrollbar {
  display: none;
}

body {
  font-family: "Shippori Mincho", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.042vw;
  color: #000000;
  background: #ffffff;
  overflow-x: hidden;
}
body.is-fixed {
  position: fixed;
  width: 100%;
}
body.modal-open {
  overflow: hidden;
}
body img {
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3.271vw;
  }
  body img {
    pointer-events: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

.sp_inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_inline {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
.flex {
  display: flex;
}

.grid {
  display: grid;
}

section {
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  section {
    overflow: hidden;
  }
}

.check_back {
  position: relative;
  padding: 3.177vw 0;
}
.check_back::before, .check_back::after {
  content: "";
  width: 100%;
  height: 3.177vw;
  background-image: url(./images/bg_line-check.webp);
  background-repeat: repeat-x;
  background-size: contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .check_back {
    padding: 9.579vw 0;
  }
  .check_back::before, .check_back::after {
    height: 9.579vw;
    background-image: url(./images/sp/bg_line-check.webp);
  }
}
.check_back::before {
  top: 0;
}
.check_back::after {
  bottom: 0;
  transform: translateX(-50%) rotate(180deg);
}
.check_back.--white::before, .check_back.--white::after {
  filter: brightness(0) invert(1);
}
.check_back.--top::after {
  display: none;
}
.check_back.--bottom::before {
  display: none;
}

.inner {
  width: 90%;
  margin: 0 auto;
}

.simplebar-content-wrapper::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.simplebar-content-wrapper {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

h2 {
  margin: 0 auto;
}
h2.active {
  opacity: 1;
  transform: translateY(0);
}
h2.h2-deco {
  opacity: 0;
  transform: translateY(10%);
  position: relative;
  z-index: 0;
  transition: all ease-in-out 0.6s;
}
h2.h2-deco::before {
  content: "";
  height: 6.51vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 2vw;
  left: 50%;
  transform: translate(-45%, -10%);
  opacity: 0;
  z-index: 1;
  transition: all ease-in-out 0.6s;
}
@media screen and (max-width: 767px) {
  h2.h2-deco::before {
    height: 12.383vw;
    top: 4vw;
  }
}
h2.h2-deco.active {
  opacity: 1;
  transform: translateY(0);
}
h2.h2-deco.active::before {
  opacity: 1;
  transform: translate(-50%, 0%);
  transition-delay: 0.4s;
}

h4 {
  margin-bottom: 0.521vw;
}
@media screen and (max-width: 767px) {
  h4 {
    margin-bottom: 1.168vw;
  }
}

.deco_ul .deco_li {
  position: absolute;
}
.deco_ul .deco_li::before {
  content: "";
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.deco_ul .deco_li.tikatika::before {
  animation: Titika-Moveka 0.6s infinite;
}
.deco_ul .deco_li-dot-x::before {
  background-image: url(./images/deco-dot-x.webp);
}
.deco_ul .deco_li-dot-y::before {
  background-image: url(./images/deco-dot-y.webp);
}
.deco_ul .deco_li-cross::before {
  background-image: url(./images/deco-cross.webp);
}
.deco_ul .deco_li-strip::before {
  background-image: url(./images/deco-stripe.webp);
}
.deco_ul-illust_back {
  width: 90.365vw;
  height: 50.99vw;
  position: absolute;
  top: 9.4vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back {
    width: 100%;
    height: 206.308vw;
    top: 16vw;
  }
}
.deco_ul-illust_back .deco_li-illust_back-01 {
  width: 4.531vw;
  height: 1.875vw;
  top: 2.604vw;
  left: 2.083vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back .deco_li-illust_back-01 {
    width: 9.813vw;
    height: 4.206vw;
    top: 3.037vw;
    left: 2.336vw;
  }
}
.deco_ul-illust_back .deco_li-illust_back-02 {
  width: 4.219vw;
  height: 0.677vw;
  top: 9.271vw;
  left: 11.458vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back .deco_li-illust_back-02 {
    width: 6.075vw;
    height: 0.935vw;
    top: 65.421vw;
    left: 1.636vw;
  }
}
.deco_ul-illust_back .deco_li-illust_back-03 {
  width: 7.396vw;
  height: 1.615vw;
  bottom: 6.25vw;
  left: 0;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back .deco_li-illust_back-03 {
    width: 21.262vw;
    height: 4.673vw;
    bottom: 0;
    left: 8.645vw;
  }
}
.deco_ul-illust_back .deco_li-illust_back-04 {
  width: 9.167vw;
  height: 2.031vw;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back .deco_li-illust_back-04 {
    width: 17.523vw;
    height: 3.972vw;
  }
}
.deco_ul-illust_back .deco_li-illust_back-05 {
  width: 1.667vw;
  height: 3.333vw;
  top: 13.802vw;
  right: 4.167vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back .deco_li-illust_back-05 {
    width: 4.439vw;
    height: 8.879vw;
    top: 100.467vw;
    right: 4.673vw;
  }
}
.deco_ul-illust_back .deco_li-illust_back-06 {
  width: 3.542vw;
  height: 0.573vw;
  bottom: 0;
  right: 4.688vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back .deco_li-illust_back-06 {
    width: 9.579vw;
    height: 1.636vw;
    top: 32.71vw;
    left: 11.916vw;
  }
}
.deco_ul-illust_back.--02 {
  top: -4vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back.--02 {
    display: none;
  }
}
.deco_ul-illust_back.--03 {
  top: 54.7vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back.--03 {
    display: none;
  }
}
.deco_ul-illust_back.--04 {
  top: auto;
  bottom: -26.5vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back.--04 {
    display: none;
  }
}
.deco_ul-illust_back.--05 {
  width: 88.281vw;
  height: 57.135vw;
  top: 9.4vw;
}
@media screen and (max-width: 767px) {
  .deco_ul-illust_back.--05 {
    display: none;
  }
}
.deco_ul-illust_back.--05 .deco_li-illust_back-03 {
  bottom: 0;
  left: 0;
}
.deco_ul-illust_back.--05 .deco_li-illust_back-06 {
  bottom: 1.563vw;
}
.deco_ul-goods {
  display: none;
}
@media screen and (max-width: 767px) {
  .deco_ul-goods {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-01 {
    width: 9.813vw;
    height: 4.206vw;
    top: 12vw;
    right: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-02 {
    width: 16.121vw;
    height: 3.505vw;
    top: 92vw;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-03 {
    width: 9.579vw;
    height: 1.636vw;
    top: 139vw;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-04 {
    width: 4.439vw;
    height: 8.879vw;
    top: 230vw;
    left: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-05 {
    width: 17.523vw;
    height: 3.972vw;
    top: 268vw;
    right: -5vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-06 {
    width: 9.813vw;
    height: 4.206vw;
    top: 340vw;
    left: -2vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-07 {
    width: 9.579vw;
    height: 1.636vw;
    top: 371vw;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-08 {
    width: 17.523vw;
    height: 3.972vw;
    top: 409vw;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-09 {
    width: 9.813vw;
    height: 4.206vw;
    top: 426vw;
    left: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-010 {
    width: 9.579vw;
    height: 1.636vw;
    top: 441vw;
    left: 15vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-goods .deco_li-goods-011 {
    width: 4.907vw;
    height: 97.43vw;
    top: 446vw;
    right: 16vw;
  }
}
.deco_ul-reproduction {
  display: none;
}
@media screen and (max-width: 767px) {
  .deco_ul-reproduction {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-reproduction .deco_li-reproduction-01 {
    width: 16.121vw;
    height: 3.505vw;
    top: 73vw;
    left: -8vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-reproduction .deco_li-reproduction-02 {
    width: 9.579vw;
    height: 1.636vw;
    top: 97vw;
    right: -11vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-reproduction .deco_li-reproduction-03 {
    width: 17.523vw;
    height: 3.972vw;
    bottom: 23vw;
    right: -8vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-reproduction .deco_li-reproduction-04 {
    width: 9.813vw;
    height: 4.206vw;
    bottom: -3vw;
    left: -4vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-reproduction .deco_li-reproduction-05 {
    width: 3.505vw;
    height: 7.009vw;
    bottom: -8vw;
    right: 5vw;
  }
}
.deco_ul-shop {
  display: none;
}
@media screen and (max-width: 767px) {
  .deco_ul-shop {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-01 {
    width: 9.579vw;
    height: 1.636vw;
    top: 18vw;
    right: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-02 {
    width: 15.187vw;
    height: 3.505vw;
    top: 27vw;
    left: -2.804vw;
  }
  .deco_ul-shop .deco_li-shop-02::before {
    transform: scale(-1, 1);
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-03 {
    width: 12.383vw;
    height: 5.14vw;
    top: 104vw;
    right: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-04 {
    width: 8.178vw;
    height: 1.402vw;
    top: 147vw;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-05 {
    width: 18.925vw;
    height: 4.206vw;
    top: 200vw;
    right: -1vw;
  }
  .deco_ul-shop .deco_li-shop-05::before {
    transform: scale(-1, 1);
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-06 {
    width: 8.178vw;
    height: 1.402vw;
    bottom: 143vw;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-07 {
    width: 4.206vw;
    height: 9.813vw;
    bottom: 81vw;
    right: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-08 {
    width: 23.598vw;
    height: 5.14vw;
    bottom: 15vw;
    left: 0;
  }
  .deco_ul-shop .deco_li-shop-08::before {
    transform: scale(-1, 1);
  }
}
@media screen and (max-width: 767px) {
  .deco_ul-shop .deco_li-shop-09 {
    width: 10.047vw;
    height: 1.636vw;
    bottom: 7vw;
    left: 38vw;
  }
}

#load {
  background: #000000;
  position: fixed;
  height: 100svh;
  width: 100%;
  z-index: 999;
  transition: 0.2s;
  transition-delay: 2s;
}
#load.load_active {
  animation: view 0.5s ease-in-out forwards;
}
@keyframes view {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    pointer-events: none;
  }
}

header #menu_btn {
  width: 4.167vw;
  height: 1.458vw;
  position: fixed;
  top: 3.646vw;
  right: 3.125vw;
  z-index: 90;
  cursor: pointer;
  transition: all 0.4s;
  mix-blend-mode: exclusion;
}
header #menu_btn span {
  width: 100%;
  height: 2px !important;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: inherit;
}
header #menu_btn span:first-of-type {
  top: 0%;
}
header #menu_btn span:last-of-type {
  bottom: 0%;
}
@media screen and (min-width: 767px) {
  header #menu_btn:hover span:first-of-type {
    top: 50%;
  }
  header #menu_btn:hover span:last-of-type {
    bottom: 50%;
  }
}
@media screen and (max-width: 767px) {
  header #menu_btn {
    width: 8.645vw;
    height: 3.738vw;
    top: 4.673vw;
    right: 4.673vw;
  }
  header #menu_btn span {
    height: 1px !important;
  }
}
header #menu_btn.open span {
  background-color: #ffffff;
}
header #menu_btn.open span:first-of-type {
  top: 50%;
  transform: translateX(-50%) rotate(19deg);
}
header #menu_btn.open span:last-of-type {
  bottom: 44%;
  transform: translateX(-50%) rotate(-19deg);
}
@media screen and (max-width: 767px) {
  header #menu_btn.open span:first-of-type {
    transform: translateX(-50%) rotate(25deg);
  }
  header #menu_btn.open span:last-of-type {
    bottom: 45%;
    transform: translateX(-50%) rotate(-25deg);
  }
}
header #menu {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
  overflow: hidden;
}
header #menu.open {
  opacity: 1;
  pointer-events: all;
  z-index: 85;
}
header #menu.open .nav_ul {
  opacity: 1;
  transform: translateX(0%);
  transition-delay: 0.25s;
}
@media screen and (max-width: 767px) {
  header #menu {
    justify-content: center;
  }
  header #menu .open .nav_ul {
    transform: translateY(0%);
  }
}
header #menu .nav_ul {
  position: relative;
  width: 38%;
  height: 100vh;
  padding: 6.51vw 6.823vw;
  background: url(./images/hamburger.webp) no-repeat center top/cover;
  opacity: 0;
  transform: translateX(1%);
  transition: all ease-out 0.4s;
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul {
    width: 100%;
    padding: 17vw 11vw 22.664vw 11vw;
    background: url(./images/hamburger-sp.webp) no-repeat center top/cover;
    transform: translateX(0%);
    margin: 0 auto;
  }
}
header #menu .nav_ul .nav_li {
  font-family: "the-seasons", sans-serif;
  font-size: 2.917vw;
  font-weight: 300;
  letter-spacing: -0.04em;
  text-align: center;
  color: #ffffff;
}
header #menu .nav_ul .nav_li a {
  display: block;
  width: 100%;
  line-height: 1;
  padding: 1.68vw 0;
  position: relative;
  transition: all 0.4s;
}
header #menu .nav_ul .nav_li a::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
header #menu .nav_ul .nav_li a::after {
  content: "";
  width: 100%;
  height: 4.219vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 1vw;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (min-width: 767px) {
  header #menu .nav_ul .nav_li a:hover::before {
    filter: brightness(0) invert(1);
  }
  header #menu .nav_ul .nav_li a:hover::after {
    opacity: 1;
  }
}
@media screen and (min-width: 767px) {
  header #menu .nav_ul .nav_li:nth-child(odd) a:hover::after {
    animation: active-impact-topleft 0.2s forwards;
  }
}
header #menu .nav_ul .nav_li {
  /* 偶数のli（2, 4, 6...番目） */
}
@media screen and (min-width: 767px) {
  header #menu .nav_ul .nav_li:nth-child(even) a:hover::after {
    animation: active-impact-topright 0.2s forwards;
  }
}
header #menu .nav_ul .nav_li span {
  display: block;
}
header #menu .nav_ul .nav_li-top a::before {
  width: 8.021vw;
  height: 1.25vw;
  top: 2.24vw;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(./images/menu-deco-top.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li-top a::before {
    width: 29.206vw;
    height: 4.673vw;
    top: 8.5vw;
  }
}
header #menu .nav_ul .nav_li-top a::after {
  background-image: url(./images/menu-hover-bg-top.webp);
}
header #menu .nav_ul .nav_li-about a::before {
  width: 2.917vw;
  height: 0.833vw;
  bottom: 1.4vw;
  left: 47%;
  transform: translateX(-50%);
  background-image: url(./images/menu-deco-about.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li-about a::before {
    width: 10.514vw;
    height: 3.037vw;
    bottom: 5.4vw;
    left: 47%;
  }
}
header #menu .nav_ul .nav_li-about a::after {
  background-image: url(./images/menu-hover-bg-about.webp);
}
header #menu .nav_ul .nav_li-illust a::before {
  width: 20.938vw;
  height: 1.979vw;
  width: 21.51vw;
  height: 2.5vw;
  top: 1.65vw;
  left: 2vw;
  background-image: url(./images/menu-deco-illust.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li-illust a::before {
    width: 75.935vw;
    height: 7.243vw;
    top: 7.65vw;
  }
}
header #menu .nav_ul .nav_li-illust a::after {
  background-image: url(./images/menu-hover-bg-illust.webp);
}
header #menu .nav_ul .nav_li-lineup a::before {
  width: 2.708vw;
  height: 0.885vw;
  bottom: 2vw;
  right: 5.5vw;
  background-image: url(./images/menu-deco-goods.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li-lineup a::before {
    width: 9.813vw;
    height: 3.271vw;
    bottom: 7vw;
    right: 14.5vw;
  }
}
header #menu .nav_ul .nav_li-lineup a::after {
  background-image: url(./images/menu-hover-bg-goods.webp);
}
header #menu .nav_ul .nav_li-special a::before {
  width: 11.198vw;
  height: 1.406vw;
  top: 2vw;
  left: 48%;
  transform: translateX(-50%);
  background-image: url(./images/menu-deco-special.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li-special a::before {
    width: 40.654vw;
    height: 5.14vw;
    top: 8.5vw;
  }
}
header #menu .nav_ul .nav_li-special a::after {
  background-image: url(./images/menu-hover-bg-special.webp);
}
header #menu .nav_ul .nav_li-shop a::before {
  width: 15.521vw;
  height: 1.302vw;
  top: 2.1vw;
  left: 52%;
  transform: translateX(-50%);
  background-image: url(./images/menu-deco-shop.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li-shop a::before {
    width: 56.308vw;
    height: 4.907vw;
    top: 9.1vw;
  }
}
header #menu .nav_ul .nav_li-shop a::after {
  background-image: url(./images/menu-hover-bg-shop.webp);
}
@media screen and (max-width: 767px) {
  header #menu .nav_ul .nav_li {
    font-size: 10.514vw;
  }
  header #menu .nav_ul .nav_li a {
    padding: 7vw 0;
  }
}

main {
  position: relative;
}
main #mv {
  width: 100%;
  height: 49.9vw;
  background: url(./images/mv-bg.webp) no-repeat #000000 center top/99%;
  position: sticky;
  top: 0;
  left: 0;
}
main #mv::before {
  content: "";
  width: 100%;
  height: 50.104vw;
  background-image: url(./images/mv-gradetion.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  main #mv {
    height: 186.916vw;
    background: url(./images/mv-bg-sp.webp) no-repeat #000000 center top/100%;
  }
  main #mv::before {
    height: 186.916vw;
    background-image: url(./images/mv-gradetion-sp.webp);
  }
}
main #mv.active .mv_img {
  opacity: 1;
}
main #mv.active .logo_ap {
  opacity: 1;
  transition-delay: 0.4s;
}
main #mv.active h1 {
  opacity: 1;
  transform: rotateY(0);
  transition-delay: 0.4s;
}
main #mv .mv_img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  opacity: 0;
  transition: all 0.4s;
  overflow: hidden;
}
main #mv .mv_img img {
  width: 102%;
  max-width: none;
  margin-left: -1vw;
}
@media screen and (max-width: 767px) {
  main #mv .mv_img {
    width: 100vw;
    padding-top: 13.318vw;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }
  main #mv .mv_img img {
    width: 133.411vw;
    margin-left: 0;
  }
}
main #mv .logo_ap {
  width: 8.906vw;
  position: absolute;
  top: 1.667vw;
  left: 2.24vw;
  z-index: 10;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (min-width: 767px) {
  main #mv .logo_ap:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  main #mv .logo_ap {
    width: 25vw;
    top: 4.206vw;
    left: 4.439vw;
  }
}
main #mv h1 {
  width: 62.448vw;
  margin: 0 auto;
  padding-top: 28vw;
  position: relative;
  z-index: 10;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s;
}
@media screen and (max-width: 767px) {
  main #mv h1 {
    width: 99.766vw;
    padding-top: 110vw;
  }
}
main #about {
  width: 100%;
  color: #ffffff;
  padding-top: 11.458vw;
  padding-bottom: 9vw;
  position: relative;
  background: url(./images/about_bg.webp) no-repeat #000000 center top/cover;
  overflow: hidden;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  main #about {
    padding-top: 31.542vw;
    padding-bottom: 26.869vw;
    scroll-margin-top: 0;
  }
}
main #about .deco_text_about_ul {
  width: 250vw;
  border-bottom: 1px solid #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #000000;
  animation: loop-right 50s linear infinite;
}
main #about .deco_text_about_ul .deco_text_li {
  width: inherit;
}
main #about .deco_text_about_ul .deco_text_li img {
  display: block;
}
@media screen and (max-width: 767px) {
  main #about .deco_text_about_ul {
    width: 889.72vw;
  }
}
main #about .inner {
  max-width: 65.781vw;
}
@media screen and (max-width: 767px) {
  main #about .inner {
    width: 100%;
    max-width: 90.421vw;
  }
}
main #about .about_copy {
  color: #000000;
  line-height: 1.9;
  letter-spacing: -0.04em;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 4.167vw;
  padding-top: 4.427vw;
  padding-bottom: 4.427vw;
  position: relative;
  opacity: 0;
  transform: translateY(10px);
  transition: all ease-in-out 0.6s;
  background: url(./images/about-frame.webp) no-repeat center center/100%;
}
@media screen and (max-width: 767px) {
  main #about .about_copy {
    line-height: 1.6;
    padding-top: 11.215vw;
    padding-bottom: 10.981vw;
    margin-bottom: 14vw;
    background: url(./images/about-frame-sp.webp) no-repeat center center/100%;
  }
}
main #about .about_copy.active {
  opacity: 1;
  transform: translateY(10px);
}
main #about .about_copy.active::before {
  animation: thunder 3s cubic-bezier(0.22, 0.61, 0.36, 1) infinite, shake 3s step-end infinite;
}
main #about .about_copy.active::after {
  animation: thunder-right 3s cubic-bezier(0.22, 0.61, 0.36, 1) 1s infinite, shake 3s step-end 1s infinite;
}
main #about .about_copy.active h2 span::before {
  width: 100%;
  transition-delay: 0.6s;
}
main #about .about_copy::before, main #about .about_copy::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
main #about .about_copy::before {
  width: 18.802vw;
  height: 8.49vw;
  background: linear-gradient(270deg, rgb(104, 1, 104) 0%, rgb(104, 1, 104) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-about-01.webp);
  mask-image: url(./images/deco-thunder-about-01.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  top: 8.333vw;
  left: -10.417vw;
}
@media screen and (max-width: 767px) {
  main #about .about_copy::before {
    width: 51.402vw;
    height: 23.364vw;
    top: -11vw;
    left: -4vw;
  }
}
main #about .about_copy::after {
  width: 15.156vw;
  height: 7.865vw;
  background: linear-gradient(270deg, rgb(201, 77, 0) 0%, rgb(201, 77, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-about-02.webp);
  mask-image: url(./images/deco-thunder-about-02.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  bottom: 1.563vw;
  right: -7.812vw;
}
@media screen and (max-width: 767px) {
  main #about .about_copy::after {
    width: 34.813vw;
    height: 18.224vw;
    bottom: -3vw;
    right: 0vw;
  }
}
main #about .about_copy p:first-of-type {
  margin-top: 0.8vw;
  margin-bottom: 1.1vw;
}
@media screen and (max-width: 767px) {
  main #about .about_copy p:first-of-type {
    margin-top: 3.505vw;
    line-height: 2;
    margin-bottom: 4.673vw;
  }
}
main #about .about_copy p.big-text {
  font-size: 1.25vw;
}
@media screen and (max-width: 767px) {
  main #about .about_copy p.big-text {
    font-size: 3.738vw;
  }
}
main #about .about_copy h2 {
  font-size: 1.25vw;
  line-height: 2.25;
}
main #about .about_copy h2 span {
  font-size: 1.354vw;
  padding: 0 1.823vw;
  padding: 0.1vw 1.823vw 0;
  margin-right: 1vw;
  color: #ffffff;
  position: relative;
  z-index: 0;
}
main #about .about_copy h2 span::before {
  content: "";
  width: 0%;
  height: 2.188vw;
  background-color: #e30211;
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0.4s;
}
@media screen and (max-width: 767px) {
  main #about .about_copy h2 {
    font-size: 3.738vw;
    line-height: 1.6;
  }
  main #about .about_copy h2 span {
    display: inline-block;
    font-size: 4.206vw;
    padding: 0 3.505vw 0 2.336vw;
    margin: 1vw 1vw 1vw 0;
  }
  main #about .about_copy h2 span::before {
    height: 6.542vw;
  }
}
main #about .about_info_tab {
  justify-content: center;
  gap: 0 1.823vw;
  margin-bottom: 3.021vw;
}
@media screen and (max-width: 767px) {
  main #about .about_info_tab {
    gap: 0 2.336vw;
    margin-bottom: 9.112vw;
  }
}
main #about .about_info_tab .about_info_tab_li {
  display: inline-block;
  width: 19.115vw;
  height: 2.708vw;
  color: #000000;
  font-size: 1.354vw;
  letter-spacing: -0.04em;
  font-weight: 600;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  transition: all 0.4s;
}
main #about .about_info_tab .about_info_tab_li::before {
  content: "";
  width: inherit;
  height: inherit;
  background-image: url(./images/about_tb.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(0) invert(1);
  transition: all 0.4s;
  z-index: -1;
}
main #about .about_info_tab .about_info_tab_li::after {
  content: "";
  width: 6.51vw;
  height: 2.656vw;
  background-image: url(./images/about_tb_tail.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -1.5vw;
  left: 48%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  main #about .about_info_tab .about_info_tab_li {
    width: 40.187vw;
    height: 11.449vw;
    font-size: 3.505vw;
  }
  main #about .about_info_tab .about_info_tab_li::before {
    background-image: url(./images/about_tb-sp.webp);
  }
  main #about .about_info_tab .about_info_tab_li::after {
    width: 13.551vw;
    height: 5.607vw;
    bottom: -3vw;
  }
}
main #about .about_info_tab .about_info_tab_li.is-active {
  opacity: 1;
  color: #ffffff;
}
main #about .about_info_tab .about_info_tab_li.is-active::before {
  filter: none;
}
main #about .about_info_tab .about_info_tab_li.is-active::after {
  opacity: 1;
}
main #about .about_info_box {
  width: 100%;
  max-width: 58.542vw;
  height: 29.5vw;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(10%);
  transition: all ease-in-out 0.6s;
  position: relative;
}
main #about .about_info_box::before {
  content: "";
  width: 7.969vw;
  height: 7.083vw;
  background: linear-gradient(270deg, rgb(0, 124, 188) 0%, rgb(0, 124, 188) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-about-03.webp);
  mask-image: url(./images/deco-thunder-about-03.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  position: absolute;
  top: 7.813vw;
  left: -10vw;
  z-index: 1;
  animation: thunder 3s cubic-bezier(0.22, 0.61, 0.36, 1) infinite, shake 3s step-end infinite;
}
main #about .about_info_box.active {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 767px) {
  main #about .about_info_box {
    max-width: 83.645vw;
    height: auto;
  }
  main #about .about_info_box::before {
    width: 22.43vw;
    height: 19.86vw;
    top: auto;
    bottom: -14vw;
    left: -2vw;
  }
}
main #about .about_info {
  justify-content: space-between;
  align-items: center;
  gap: 1.563vw;
  display: none;
  animation: fadeIn 0.5s ease forwards;
}
@media screen and (max-width: 767px) {
  main #about .about_info {
    flex-direction: column;
  }
}
main #about .about_info.is-active {
  display: flex;
}
main #about .about_info p {
  font-size: 0.92vw;
  letter-spacing: -0.04em;
  line-height: 1.77;
  font-weight: 500;
  margin-bottom: 0.938vw;
}
@media screen and (max-width: 767px) {
  main #about .about_info p {
    font-size: 3.271vw;
    letter-spacing: 0;
    line-height: 2;
    margin-bottom: 3.271vw;
  }
}
main #about .about_info a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12.656vw;
  height: 2.188vw;
  margin-left: 0.521vw;
  position: relative;
  transition: all 0.4s;
  background-color: #e30211;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
  transform: translateX(0);
}
@media screen and (min-width: 767px) {
  main #about .about_info a:hover {
    color: #e30211;
    transform: translateX(10px);
  }
  main #about .about_info a:hover::before {
    transform: translateX(0%);
  }
  main #about .about_info a:hover span::before {
    filter: none;
  }
}
@media screen and (max-width: 767px) {
  main #about .about_info a {
    font-size: 4.673vw;
    width: 45.794vw;
    height: 7.944vw;
    margin: 0 auto;
  }
}
main #about .about_info a::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  transform: translateX(-100%);
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
main #about .about_info a span {
  position: relative;
  padding-right: 1.51vw;
}
main #about .about_info a span::before {
  content: "";
  width: 0.833vw;
  height: 0.833vw;
  background-image: url(./images/icon-link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
  transition: all 0.4s;
}
@media screen and (max-width: 767px) {
  main #about .about_info a span {
    padding-right: 4.673vw;
  }
  main #about .about_info a span::before {
    width: 3.037vw;
    height: 3.037vw;
  }
}
main #about .about_info .about_info-img {
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  main #about .about_info .about_info-img {
    text-align: center;
    margin-bottom: 5.374vw;
  }
}
main #about .about_info-01 a {
  font-family: "the-seasons", sans-serif;
}
main #about .about_info-01 .about_info-img {
  width: 19.167vw;
}
main #about .about_info-01 .about_info-txt {
  width: 68%;
}
@media screen and (max-width: 767px) {
  main #about .about_info-01 .about_info-img {
    width: 100%;
  }
  main #about .about_info-01 .about_info-img::before {
    display: none;
  }
  main #about .about_info-01 .about_info-img img {
    width: 73%;
  }
  main #about .about_info-01 .about_info-txt {
    width: 100%;
  }
}
main #about .about_info-02 {
  max-width: 58.542vw;
  margin-top: 8vw;
}
main #about .about_info-02 .about_info-img {
  width: 12.188vw;
  margin-left: 2.083vw;
}
main #about .about_info-02 .about_info-txt {
  width: 73%;
}
@media screen and (max-width: 767px) {
  main #about .about_info-02 {
    max-width: none;
    margin: 0 auto;
    position: relative;
  }
  main #about .about_info-02 .about_info-img {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
  main #about .about_info-02 .about_info-img img {
    width: 35%;
    max-width: 28.505vw;
  }
  main #about .about_info-02 .about_info-txt {
    width: 100%;
    margin: 0 auto;
  }
}
main .illust_back {
  background: url(./images/illust_bg.webp) no-repeat left top/cover;
  position: relative;
  margin-top: -5vw;
  margin-bottom: -10vw;
  z-index: 20;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  main .illust_back {
    background: url(./images/illust_bg-sp.webp) no-repeat left top 7vw/100%;
    margin-top: -12vw;
    margin-bottom: -7vw;
  }
}
main #illust {
  padding-top: 2.292vw;
  margin-bottom: 3.646vw;
  z-index: 2;
  scroll-margin-top: -12vw;
}
@media screen and (max-width: 767px) {
  main #illust {
    padding-top: 2.5vw;
    margin-bottom: 16.355vw;
    scroll-margin-top: -20vw;
  }
}
main #illust .deco_text_wrap {
  transform: rotate(-2.6deg);
}
main #illust .deco_text_illust_ul {
  width: 250vw;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ffffff;
  animation: loop-left 50s linear infinite;
}
main #illust .deco_text_illust_ul .deco_text_li {
  width: inherit;
  filter: brightness(0);
}
main #illust .deco_text_illust_ul .deco_text_li img {
  display: block;
}
@media screen and (max-width: 767px) {
  main #illust .deco_text_illust_ul {
    width: 889.72vw;
  }
}
main #illust h2 {
  max-width: 40.729vw;
  margin-top: 10vw;
  margin-bottom: 1.823vw;
}
main #illust h2::before {
  width: 47.604vw;
  background-image: url(./images/heading-illust-deco.webp);
}
@media screen and (max-width: 767px) {
  main #illust h2 {
    max-width: 75.234vw;
    margin-top: 22vw;
    margin-bottom: 2.804vw;
  }
  main #illust h2::before {
    width: 90.421vw;
  }
}
main #illust .illust_slider_inner {
  opacity: 0;
  transform: translateY(10%);
  transition: all ease-in-out 0.6s;
}
main #illust .illust_slider_inner.active {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 767px) {
  main #illust .illust_slider_inner {
    margin-top: -5vw;
  }
}
main #illust .illust_inner {
  position: relative;
  z-index: 0;
}
main #lineup {
  padding-bottom: 15.3vw;
}
@media screen and (max-width: 767px) {
  main #lineup {
    padding-bottom: 28vw;
  }
}
main #lineup .deco_text_wrap {
  transform: rotate(2.4deg);
  position: absolute;
  bottom: 4.3vw;
  left: 0;
}
main #lineup .deco_text_lineup_ul {
  width: 250vw;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #ffffff;
  animation: loop-right 50s linear infinite;
}
main #lineup .deco_text_lineup_ul .deco_text_li {
  width: inherit;
  filter: brightness(0);
}
main #lineup .deco_text_lineup_ul .deco_text_li img {
  display: block;
}
@media screen and (max-width: 767px) {
  main #lineup .deco_text_lineup_ul {
    width: 889.72vw;
  }
}
main #lineup .inner {
  max-width: 76.042vw;
}
@media screen and (max-width: 767px) {
  main #lineup .inner {
    max-width: 83vw;
  }
}
main #lineup h2 {
  max-width: 22.396vw;
  margin-bottom: 3.594vw;
}
main #lineup h2::before {
  width: 33.594vw;
  background-image: url(./images/heading-goods-deco.webp);
}
@media screen and (max-width: 767px) {
  main #lineup h2 {
    max-width: 42.991vw;
    margin-bottom: 7.477vw;
  }
  main #lineup h2::before {
    width: 59.579vw;
  }
}
main #lineup .lineup_list_ul {
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.771vw 1.875vw;
  margin-bottom: 5.885vw;
}
@media screen and (min-width: 767px) {
  main #lineup .lineup_list_ul.active .lineup_list_li {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul {
    gap: 4.673vw 2.336vw;
    margin-bottom: 7.477vw;
  }
}
main #lineup .lineup_list_ul a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: all 0.4s;
}
@media screen and (min-width: 767px) {
  main #lineup .lineup_list_ul a:hover {
    opacity: 0.6;
  }
}
main #lineup .lineup_list_ul .lineup_list_li {
  width: 13.698vw;
  aspect-ratio: 263/351;
  background: url(./images/lineup_box.webp) no-repeat center center/contain;
  padding-top: 0.156vw;
  padding-bottom: 1.875vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
main #lineup .lineup_list_ul .lineup_list_li.is-visible {
  opacity: 1;
  transform: translateY(0);
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(1) {
  transition-delay: 0.1s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(2) {
  transition-delay: 0.2s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(3) {
  transition-delay: 0.3s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(4) {
  transition-delay: 0.4s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(5) {
  transition-delay: 0.5s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(6) {
  transition-delay: 0.6s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(7) {
  transition-delay: 0.7s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(8) {
  transition-delay: 0.8s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(9) {
  transition-delay: 0.9s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(10) {
  transition-delay: 1s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(11) {
  transition-delay: 1.1s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(12) {
  transition-delay: 1.2s;
}
main #lineup .lineup_list_ul .lineup_list_li:nth-child(13) {
  transition-delay: 1.3s;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_li {
    transition-delay: 0s !important;
  }
  main #lineup .lineup_list_ul .lineup_list_li:nth-child(2n) {
    transition-delay: 0.15s !important;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_li {
    width: 40.187vw;
    height: 59.112vw;
    aspect-ratio: 172/253;
    background: url(./images/lineup_box-sp.webp) no-repeat center center/contain;
    padding-top: 0.467vw;
    padding-bottom: 4.907vw;
  }
}
main #lineup .lineup_list_ul .lineup_list_img {
  height: 10.938vw;
  padding: 1.042vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
main #lineup .lineup_list_ul .lineup_list_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
main #lineup .lineup_list_ul .lineup_list_img .sample_box {
  width: 95%;
  height: 95%;
  background-color: #b5b5b5;
  position: relative;
  z-index: 0;
}
main #lineup .lineup_list_ul .lineup_list_img .sample_box::before {
  content: "";
  width: 2.188vw;
  aspect-ratio: 1/1;
  background-image: url(./images/icon-kari.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_img .sample_box::before {
    width: 7.477vw;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_img {
    height: 32vw;
    padding: 1.168vw;
  }
}
main #lineup .lineup_list_ul .lineup_list_img.trading::before {
  content: "";
  width: 5.469vw;
  height: 0.99vw;
  background-image: url(./images/icon-trading.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0.521vw;
  left: 0.521vw;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_img.trading::before {
    width: 24.533vw;
    height: 4.439vw;
    top: 1.25vw;
    left: 0.935vw;
  }
}
main #lineup .lineup_list_ul .lineup_list_text {
  height: 4.792vw;
  padding: 0 0.938vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_text {
    height: 19.393vw;
    padding: 0 2.336vw;
  }
}
main #lineup .lineup_list_ul .lineup_list_name {
  font-size: 0.938vw;
  line-height: 1.44;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_name {
    font-size: 3vw;
    letter-spacing: -0.04em;
  }
}
main #lineup .lineup_list_ul .lineup_list_info {
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
main #lineup .lineup_list_ul .lineup_list_info-type {
  font-size: 0.729vw;
  color: #ffffff;
  width: 3.1vw;
  height: 1.302vw;
  margin-left: 0.4vw;
  padding-top: 0.1vw;
  padding-right: 0.1vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
main #lineup .lineup_list_ul .lineup_list_info-type::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #000000;
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_info-type {
    font-size: 3vw;
    letter-spacing: -0.04em;
    width: 13.7vw;
    height: 5.374vw;
    margin-left: 1.1vw;
    padding-top: 0vw;
    padding-right: 0vw;
  }
}
main #lineup .lineup_list_ul .lineup_list_info-price {
  font-size: 0.938vw;
}
main #lineup .lineup_list_ul .lineup_list_info-price span {
  font-size: 0.625vw;
  margin-left: 0.2vw;
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_list_ul .lineup_list_info-price {
    font-size: 3vw;
  }
  main #lineup .lineup_list_ul .lineup_list_info-price span {
    font-size: 2.336vw;
    margin-left: 0.5vw;
  }
}
main #lineup .reproduction_area {
  position: relative;
  z-index: 0;
}
main #lineup .reproduction_box {
  background: url(./images/reproduction-box.webp) no-repeat center top/contain;
  position: relative;
  padding: 2.917vw 0 4.688vw;
  font-size: 1.146vw;
  font-weight: 600;
  text-align: center;
  position: relative;
  opacity: 0;
  transform: translateY(10%);
  transition: all ease-in-out 0.6s;
}
main #lineup .reproduction_box.active {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box {
    background: url(./images/reproduction-box-sp.webp) no-repeat center top/contain;
    font-size: 3.271vw;
    padding: 8vw 0 15vw;
  }
}
main #lineup .reproduction_box h3 {
  font-size: 1.25vw;
  color: #ffffff;
  width: 17.188vw;
  height: 2.344vw;
  margin: 0 auto;
  padding-top: 0.2vw;
  margin-bottom: 1.302vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
main #lineup .reproduction_box h3::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #000000;
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box h3 {
    font-size: 4.673vw;
    width: 61.449vw;
    height: 9.112vw;
    margin-bottom: 3.271vw;
    padding-top: 0vw;
  }
}
main #lineup .reproduction_box .reproduction_intor {
  font-size: 1.146vw;
  line-height: 1.9;
}
main #lineup .reproduction_box .reproduction_intor span {
  font-size: 1.354vw;
  color: #e30211;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_intor {
    font-size: 3.271vw;
    letter-spacing: -0.04em;
  }
  main #lineup .reproduction_box .reproduction_intor span {
    font-size: 3.738vw;
  }
}
main #lineup .reproduction_box figure {
  width: 100%;
  max-width: 28.958vw;
  aspect-ratio: 556/410;
  margin: 0 auto;
  margin-bottom: 0.521vw;
  position: relative;
  z-index: 0;
}
main #lineup .reproduction_box figure::before, main #lineup .reproduction_box figure::after {
  content: "";
  position: absolute;
  z-index: 1;
}
main #lineup .reproduction_box figure::before {
  width: 15.417vw;
  height: 7.552vw;
  background: linear-gradient(270deg, rgb(211, 153, 0) 0%, rgb(211, 153, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-reproduction-01.webp);
  mask-image: url(./images/deco-thunder-reproduction-01.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  top: 0.781vw;
  left: -13.021vw;
  animation: thunder 3s cubic-bezier(0.22, 0.61, 0.36, 1) infinite, shake 3s step-end infinite;
}
main #lineup .reproduction_box figure::after {
  width: 15.156vw;
  height: 7.76vw;
  background: linear-gradient(270deg, rgb(228, 2, 0) 0%, rgb(228, 2, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-reproduction-02.webp);
  mask-image: url(./images/deco-thunder-reproduction-02.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  bottom: 4.688vw;
  right: -14.062vw;
  animation: thunder-right 3s cubic-bezier(0.22, 0.61, 0.36, 1) 1s infinite, shake 3s step-end 1s infinite;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box figure {
    max-width: 78.738vw;
    margin-bottom: 4.5vw;
    margin-top: 3.5vw;
  }
  main #lineup .reproduction_box figure::before {
    width: 22vw;
    height: 11vw;
    top: -9vw;
    left: -9vw;
  }
  main #lineup .reproduction_box figure::after {
    width: 15.187vw;
    height: 7.009vw;
    bottom: -1vw;
    right: -3vw;
  }
}
main #lineup .reproduction_box .reproduction_info {
  justify-content: center;
  align-items: center;
  gap: 0.521vw;
  font-weight: 700;
  margin-bottom: 0.833vw;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_info {
    flex-direction: column;
    gap: 1.2vw;
    margin-bottom: 2.103vw;
  }
}
main #lineup .reproduction_box .reproduction_info .reproduction_info_li-type {
  font-size: 1.146vw;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_info .reproduction_info_li-type {
    font-size: 3.271vw;
  }
}
main #lineup .reproduction_box .reproduction_info .reproduction_info_li-price {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  font-size: 1.146vw;
}
main #lineup .reproduction_box .reproduction_info .reproduction_info_li-price span {
  font-size: 0.938vw;
  margin-left: 0.5vw;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_info .reproduction_info_li-price {
    font-size: 3.271vw;
  }
  main #lineup .reproduction_box .reproduction_info .reproduction_info_li-price span {
    font-size: 2.804vw;
    margin-left: 1.168vw;
  }
}
main #lineup .reproduction_box .reproduction_end_txt {
  font-size: 1.875vw;
  font-weight: 600;
}
main #lineup .reproduction_box .reproduction_end_txt small {
  font-size: 1.042vw;
  font-weight: 700;
  margin-left: 0.2vw;
  margin-right: 0.2vw;
}
main #lineup .reproduction_box .reproduction_end_txt span {
  font-size: 1.354vw;
}
main #lineup .reproduction_box .reproduction_end_txt span.text_red {
  color: #e30211;
  font-size: 1.667vw;
  font-weight: 700;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_end_txt {
    font-size: 4.206vw;
    letter-spacing: -0.04em;
    line-height: 1.7;
  }
  main #lineup .reproduction_box .reproduction_end_txt small {
    font-size: 3.271vw;
  }
  main #lineup .reproduction_box .reproduction_end_txt span {
    font-size: 3.271vw;
  }
  main #lineup .reproduction_box .reproduction_end_txt span.text_red {
    font-size: 4.206vw;
  }
}
main #lineup .reproduction_box .reproduction_end_txt a {
  color: #e30211;
  position: relative;
  font-weight: 700;
  letter-spacing: -0.04em;
  margin-left: 0.052vw;
  margin-right: 0.417vw;
  opacity: 1;
  transition: all 0.4s;
}
@media screen and (min-width: 767px) {
  main #lineup .reproduction_box .reproduction_end_txt a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_end_txt a {
    margin-left: 0;
    margin-right: 0;
  }
}
main #lineup .reproduction_box .reproduction_end_txt a::before {
  content: "";
  width: 100%;
  height: 0.104vw;
  background-color: #e30211;
  position: absolute;
  bottom: -0.26vw;
  left: 0;
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_end_txt a::before {
    height: 0.234vw;
    bottom: -0.467vw;
  }
}
main #lineup .reproduction_box .reproduction_end_txt a span {
  font-size: 1.667vw;
  position: relative;
  padding-right: 1.8vw;
}
main #lineup .reproduction_box .reproduction_end_txt a span::before {
  content: "";
  width: 1.458vw;
  height: 1.458vw;
  background-image: url(./images/icon-link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  main #lineup .reproduction_box .reproduction_end_txt a span {
    font-size: 4.206vw;
    padding-right: 4.439vw;
  }
  main #lineup .reproduction_box .reproduction_end_txt a span::before {
    width: 3.738vw;
    height: 3.738vw;
  }
}
main #special {
  background: url(./images/special_bg.webp) no-repeat center top/100%;
  padding-top: 18.5vw;
  padding-bottom: 11.979vw;
  scroll-margin-top: -18.5vw;
}
@media screen and (max-width: 767px) {
  main #special {
    background: url(./images/special_bg-sp.webp) no-repeat center top/100%;
    padding-top: 21vw;
    padding-bottom: 22vw;
    scroll-margin-top: -9vw;
  }
}
main #special .inner {
  max-width: 72.083vw;
}
@media screen and (max-width: 767px) {
  main #special .inner {
    width: 100%;
    max-width: 93.224vw;
  }
}
main #special h2 {
  max-width: 23.125vw;
  margin-bottom: 2.708vw;
}
main #special h2::before {
  width: 34.427vw;
  background-image: url(./images/heading-special-deco.webp);
}
@media screen and (max-width: 767px) {
  main #special h2 {
    max-width: 44.86vw;
    margin-bottom: 7.243vw;
  }
  main #special h2::before {
    width: 62.383vw;
    background-image: url(./images/heading-special-deco-sp.webp);
  }
}
main #special h2.active::before {
  transform: translate(-51%, 0%);
}
main #special .special_box_move {
  margin-bottom: 3.75vw;
  position: relative;
  z-index: 0;
  opacity: 0;
}
main #special .special_box_move.active {
  animation: active-impact-topleft 0.2s forwards;
}
main #special .special_box_move.active .deco-before {
  opacity: 1;
  animation: thunder_special 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s 1 forwards, shake_special 0.2s step-end 0.2s 1 forwards;
}
main #special .special_box_move-02 {
  margin-bottom: 5vw;
}
main #special .special_box_move-02.active {
  animation: active-impact-topright 0.2s forwards;
}
main #special .special_box_move:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  main #special .special_box_move {
    margin-bottom: 7.009vw;
  }
  main #special .special_box_move-02 {
    margin-bottom: 7.009vw;
  }
}
main #special .special_box {
  text-align: center;
  padding: 0;
  position: relative;
  transition: all ease-in-out 0.6s;
  /* 疑似要素をやめて実要素クラスに移行 */
}
main #special .special_box .deco-before,
main #special .special_box .deco-after {
  position: absolute;
  z-index: 1;
  opacity: 0; /* 最初は非表示 */
}
main #special .special_box .deco-before {
  width: 21.563vw;
  height: 6.25vw;
  background: linear-gradient(270deg, rgb(227, 2, 17) 0%, rgb(227, 2, 17) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-special-01.webp);
  mask-image: url(./images/deco-thunder-special-01.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  top: -1vw;
  left: -6.771vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box .deco-before {
    width: 36.449vw;
    height: 10.514vw;
    top: -2vw;
    left: -2vw;
  }
}
main #special .special_box .deco-after {
  width: 34.479vw;
  height: 15.833vw;
  background: linear-gradient(270deg, rgb(227, 2, 17) 0%, rgb(227, 2, 17) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
  -webkit-mask-image: url(./images/deco-thunder-special-02.webp);
  mask-image: url(./images/deco-thunder-special-02.webp);
  -webkit-mask-size: cover;
  mask-size: cover;
  bottom: -1.562vw;
  right: -5.729vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box .deco-after {
    width: 50.467vw;
    height: 23.131vw;
    bottom: 0.4vw;
    right: -12vw;
  }
}
main #special .special_box .deco-after.active {
  opacity: 1;
  animation: thunder-right_special 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) 1 forwards, shake_special 0.2s step-end 1 forwards;
}
main #special .special_box h3 {
  display: inline-block;
  color: #ffffff;
  font-size: 1.563vw;
  line-height: 1.53;
  padding: 0.156vw 2.24vw;
  margin-bottom: 1.823vw;
  text-align: center;
  position: relative;
  z-index: 0;
}
main #special .special_box h3::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000000;
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main #special .special_box h3 {
    font-size: 4.673vw;
    line-height: 1.25;
    padding: 1.168vw 7.243vw;
    margin-bottom: 5.374vw;
  }
}
main #special .special_box .special_info {
  font-size: 1.146vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0 auto;
}
main #special .special_box .special_info .special_info_li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 600;
  margin-bottom: 0.781vw;
}
main #special .special_box .special_info .special_info_li span {
  width: 6vw;
  height: 1.927vw;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;
  margin-right: 1.2vw;
  position: relative;
  z-index: 0;
}
main #special .special_box .special_info .special_info_li span::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #000000;
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main #special .special_box .special_info {
    font-size: 3.738vw;
  }
  main #special .special_box .special_info .special_info_li {
    line-height: 1.4;
    margin-bottom: 2.804vw;
  }
  main #special .special_box .special_info .special_info_li span {
    width: 19vw;
    height: 6.542vw;
    margin-right: 2.103vw;
  }
}
main #special .special_box-01 {
  padding: 4.948vw 0 5.885vw;
  background: url(./images/special_box-bg-01.webp) no-repeat center top/93%;
}
@media screen and (max-width: 767px) {
  main #special .special_box-01 {
    padding: 15.888vw 0 22.897vw;
    background: url(./images/special_box-bg-01-sp.webp) no-repeat left 4.5vw top/92%;
  }
  main #special .special_box-01::before {
    top: -4vw;
    left: -2vw;
  }
}
main #special .special_box-01 .deco-before {
  background: linear-gradient(270deg, rgb(104, 1, 104) 0%, rgb(104, 1, 104) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-01 .deco-after {
  background: linear-gradient(270deg, rgb(201, 77, 0) 0%, rgb(201, 77, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-01 .special_img {
  max-width: 52.812vw;
  margin: 0 auto;
}
main #special .special_box-01 .special_img .special_img_inner {
  width: 100%;
  aspect-ratio: 1014/246;
  margin-bottom: 1.563vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  main #special .special_box-01 .special_img {
    min-width: 71.729vw;
  }
  main #special .special_box-01 .special_img .special_img_inner {
    width: 100%;
    aspect-ratio: 307/259;
    margin-bottom: 4.673vw;
  }
}
main #special .special_box-01 .special_01-txt {
  font-size: 1.354vw;
  line-height: 1.7;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1.719vw;
}
main #special .special_box-01 .special_01-txt span {
  font-size: 1.979vw;
  font-weight: 700;
  color: #e30211;
}
main #special .special_box-01 .special_01-txt span small {
  font-size: 1.563vw;
}
main #special .special_box-01 .special_01-txt span.illust_txt {
  font-size: 1.771vw;
  margin-right: -0.5vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-01 .special_01-txt {
    font-size: 3.6vw;
    letter-spacing: -0.04em;
    line-height: 1.65;
    margin-bottom: 4.439vw;
  }
  main #special .special_box-01 .special_01-txt span {
    font-size: 3.972vw;
  }
  main #special .special_box-01 .special_01-txt span small {
    font-size: 2.804vw;
  }
  main #special .special_box-01 .special_01-txt span.illust_txt {
    font-size: 3.7vw;
    margin-right: 0vw;
  }
}
main #special .special_box-01 .special_caution {
  font-size: 0.938vw;
  text-align: left;
}
main #special .special_box-01 .special_caution .special_caution_li {
  position: relative;
  line-height: 1.77;
}
main #special .special_box-01 .special_caution .special_caution_li::before {
  content: "※";
}
@media screen and (max-width: 767px) {
  main #special .special_box-01 .special_caution {
    font-size: 2.804vw;
  }
  main #special .special_box-01 .special_caution .special_caution_li {
    line-height: 1.83;
  }
}
main #special .special_box-02 {
  padding: 6.51vw 0 3.594vw;
  background: url(./images/special_box-bg-02.webp) no-repeat center top/100%;
}
@media screen and (max-width: 767px) {
  main #special .special_box-02 {
    padding: 16vw 0;
    background: url(./images/special_box-bg-02-sp.webp) no-repeat left 1.5vw top/100%;
  }
}
main #special .special_box-02 .deco-before {
  background: linear-gradient(270deg, rgb(0, 124, 188) 0%, rgb(0, 124, 188) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-02 .deco-after {
  background: linear-gradient(270deg, rgb(211, 153, 0) 0%, rgb(211, 153, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-02 .special_img {
  width: 30%;
  aspect-ratio: 663/407;
  background-color: #b5b5b5;
  margin: 0 auto;
  margin-bottom: 2.188vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-02 .special_img {
    width: 50%;
    margin-bottom: 4.673vw;
  }
}
main #special .special_box-02 .special_img {
  position: relative;
  z-index: 0;
}
main #special .special_box-02 .special_02-txt {
  font-size: 1.146vw;
  line-height: 1.9;
  font-weight: 600;
  margin-bottom: 1.354vw;
}
main #special .special_box-02 .special_02-txt span {
  font-size: 1.354vw;
  font-weight: 700;
  color: #e30211;
}
main #special .special_box-02 .special_02-txt span.text_black {
  color: #000000;
}
@media screen and (max-width: 767px) {
  main #special .special_box-02 .special_02-txt {
    font-size: 3.271vw;
    line-height: 1.8;
    letter-spacing: -0.04em;
    margin-bottom: 3.037vw;
  }
  main #special .special_box-02 .special_02-txt span {
    font-size: 3.738vw;
  }
  main #special .special_box-02 .special_02-txt span.text_black {
    margin-top: -4.673vw;
    display: block;
  }
}
main #special .special_box-02 .kome_text {
  font-size: 0.938vw;
  font-weight: 600;
  position: relative;
  z-index: 0;
}
main #special .special_box-02 .kome_text::before {
  content: "※";
}
main #special .special_box-02 .kome_text-01 {
  margin-bottom: 0.4vw;
}
main #special .special_box-02 .kome_text a {
  display: inline-block;
  padding-bottom: 0.2vw;
  color: #e30211;
  border-bottom: 1px solid #e30211;
  transition: all 0.4s;
}
@media screen and (min-width: 767px) {
  main #special .special_box-02 .kome_text a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  main #special .special_box-02 .kome_text {
    font-size: 3.271vw;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.5;
    text-align: left;
    margin-left: 10vw;
  }
  main #special .special_box-02 .kome_text-01 {
    margin-bottom: 0vw;
  }
  main #special .special_box-02 .kome_text a {
    display: inline;
    padding-bottom: 0.2vw;
  }
}
main #special .special_box-03 {
  padding: 5.521vw 0 4.4vw;
  background: url(./images/special_box-bg-03.webp) no-repeat center top/100%;
}
@media screen and (max-width: 767px) {
  main #special .special_box-03 {
    padding: 12.383vw 0 18.224vw;
    background: url(./images/special_box-bg-03-sp.webp) no-repeat left 4.5vw top/93%;
  }
}
main #special .special_box-03 .deco-before {
  background: linear-gradient(270deg, rgb(228, 2, 0) 0%, rgb(228, 2, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-03 .deco-after {
  background: linear-gradient(270deg, rgb(104, 1, 104) 0%, rgb(104, 1, 104) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-03 .special_img {
  width: 100%;
  max-width: 34.531vw;
  aspect-ratio: 663/407;
  margin: 0 auto;
  margin-bottom: 2.031vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-03 .special_img {
    width: 100%;
    max-width: 71.495vw;
    aspect-ratio: 306/188;
    margin-bottom: 4.439vw;
  }
}
main #special .special_box-03 .special_img {
  position: relative;
  z-index: 0;
}
main #special .special_box-03 .special_03-txt {
  font-size: 1.354vw;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1.563vw;
}
main #special .special_box-03 .special_03-txt span {
  font-size: 1.771vw;
  font-weight: 700;
  color: #e30211;
  margin-left: 0.25vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-03 .special_03-txt {
    font-size: 3.738vw;
    letter-spacing: -0.04em;
    margin-bottom: 4.673vw;
  }
  main #special .special_box-03 .special_03-txt span {
    font-size: 4.206vw;
    margin-left: 0;
  }
}
main #special .special_box-03 .special_info {
  width: 35%;
  text-align: left;
}
@media screen and (max-width: 767px) {
  main #special .special_box-03 .special_info {
    width: 79%;
  }
}
main #special .special_box-04 {
  padding: 4.948vw 0 8.802vw;
  background: url(./images/special_box-bg-04.webp) no-repeat center top/100%;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 {
    padding: 12vw 0 28.1vw;
    background: url(./images/special_box-bg-04-sp.webp) no-repeat left 3.5vw top/95%;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  main #special .special_box-04::before {
    top: 1vw;
  }
}
main #special .special_box-04 .deco-before {
  background: linear-gradient(270deg, rgb(201, 77, 0) 0%, rgb(201, 77, 0) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-04 .deco-after {
  background: linear-gradient(270deg, rgb(0, 124, 188) 0%, rgb(0, 124, 188) 50%, rgba(227, 2, 17, 0) 50%, rgba(227, 2, 17, 0) 100%);
  background-size: 200%;
}
main #special .special_box-04 .special_04-txt {
  font-size: 1.354vw;
  line-height: 1.88;
  font-weight: 600;
  margin-bottom: 2.344vw;
}
main #special .special_box-04 .special_04-txt span {
  font-size: 1.771vw;
  font-weight: 700;
  color: #e30211;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .special_04-txt {
    font-size: 3.738vw;
    letter-spacing: -0.04em;
    line-height: 1.75;
    margin-bottom: 6.776vw;
  }
  main #special .special_box-04 .special_04-txt span {
    font-size: 4.206vw;
  }
}
main #special .special_box-04 .card_info {
  width: 100%;
  max-width: 52.76vw;
  margin: 0 auto;
  padding: 1.6vw 0 2.9vw;
  font-weight: 600;
  background: url(./images/special_box-bg-04-02.webp) no-repeat center top/100%;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info {
    max-width: 71.495vw;
    padding: 4vw 0;
    background: url(./images/special_box-bg-04-02-sp.webp) no-repeat center top/100%;
  }
}
main #special .special_box-04 .card_info p {
  font-size: 1.042vw;
  line-height: 1.8;
}
main #special .special_box-04 .card_info p.icon-plus {
  position: relative;
  z-index: 0;
}
main #special .special_box-04 .card_info p.icon-plus::before, main #special .special_box-04 .card_info p.icon-plus::after {
  content: "";
  width: 3.021vw;
  height: 0.677vw;
  background-image: url(./images/deco-plus.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}
main #special .special_box-04 .card_info p.icon-plus::before {
  left: 3vw;
}
main #special .special_box-04 .card_info p.icon-plus::after {
  right: 3vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info p.icon-plus::before, main #special .special_box-04 .card_info p.icon-plus::after {
    display: none;
  }
}
main #special .special_box-04 .card_info p span {
  font-size: 1.146vw;
  font-weight: 700;
  color: #e30211;
}
main #special .special_box-04 .card_info p span.big_txt {
  font-size: 1.354vw;
}
main #special .special_box-04 .card_info p span.big_txt small {
  font-size: 1.042vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info p {
    font-size: 3.738vw;
    letter-spacing: -0.04em;
  }
  main #special .special_box-04 .card_info p span {
    font-size: 4.206vw;
  }
  main #special .special_box-04 .card_info p span.big_txt {
    font-size: 4.206vw;
  }
  main #special .special_box-04 .card_info p span.big_txt small {
    font-size: 2.804vw;
  }
  main #special .special_box-04 .card_info p span.big_txt small:first-of-type {
    font-size: 4.206vw;
  }
  main #special .special_box-04 .card_info p span.big_txt small:last-of-type {
    margin-left: 0.8vw;
  }
}
main #special .special_box-04 .card_info .attention_list {
  text-align: left;
  width: 84%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info .attention_list {
    width: 91%;
  }
}
main #special .special_box-04 .card_info .card_sche {
  max-width: 40.156vw;
  margin: 0 auto;
  margin-top: 1vw;
  margin-bottom: 1vw;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info .card_sche {
    max-width: 62.383vw;
    margin-top: 3.972vw;
    margin-bottom: 2.804vw;
  }
}
main #special .special_box-04 .card_info .card_sche figure {
  width: 100%;
  aspect-ratio: 771/427;
  margin: 0 auto;
  margin-bottom: 1.771vw;
}
main #special .special_box-04 .card_info .card_sche figure img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info .card_sche figure {
    aspect-ratio: 267/291;
    margin-bottom: 3.738vw;
  }
}
main #special .special_box-04 .card_info .card_sche figure {
  position: relative;
  z-index: 0;
}
main #special .special_box-04 .card_info .card_sche .date {
  font-size: 1.042vw;
}
main #special .special_box-04 .card_info .card_sche .date small {
  font-size: 0.885vw;
}
main #special .special_box-04 .card_info .card_sche .date span {
  display: inline-block;
  width: 6vw;
  height: 1.979vw;
  margin-right: 1vw;
  line-height: 1.979vw;
  color: #ffffff;
  text-align: center;
  position: relative;
  z-index: 0;
}
main #special .special_box-04 .card_info .card_sche .date span::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #000000;
  transform: skewX(-10deg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main #special .special_box-04 .card_info .card_sche .date {
    font-size: 3.738vw;
    letter-spacing: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 1.168vw;
  }
  main #special .special_box-04 .card_info .card_sche .date small {
    font-size: 3.271vw;
  }
  main #special .special_box-04 .card_info .card_sche .date span {
    font-size: 2.804vw;
    width: 16vw;
    height: 5.841vw;
    margin-right: 0.935vw;
    line-height: 5.841vw;
  }
}
main #shop {
  scroll-margin-top: -12vw;
  padding-top: 12vw;
  padding-bottom: 10.938vw;
  margin-top: -5vw;
  background: url(./images/shop_bg.webp) no-repeat center top/cover;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  main #shop {
    scroll-margin-top: -16vw;
    padding-top: 22vw;
    padding-bottom: 31vw;
    background: url(./images/shop_bg-sp.webp) no-repeat center top 7vw/cover;
  }
}
main #shop .deco_text_wrap {
  transform: rotate(-2.6deg);
  position: absolute;
  top: 4.5vw;
  left: 0;
}
main #shop .deco_text_shop_ul {
  width: 250vw;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ffffff;
  animation: loop-left 50s linear infinite;
}
main #shop .deco_text_shop_ul .deco_text_li {
  width: inherit;
  filter: brightness(0);
}
main #shop .deco_text_shop_ul .deco_text_li img {
  display: block;
}
@media screen and (max-width: 767px) {
  main #shop .deco_text_shop_ul {
    width: 889.72vw;
  }
}
main #shop .inner {
  max-width: 74.271vw;
}
@media screen and (max-width: 767px) {
  main #shop .inner {
    width: 100%;
    max-width: 88.551vw;
  }
}
main #shop h2 {
  max-width: 29.375vw;
  margin-bottom: 2.083vw;
}
main #shop h2::before {
  width: 39.271vw;
  background-image: url(./images/heading-shop-deco.webp);
}
@media screen and (max-width: 767px) {
  main #shop h2 {
    max-width: 54.206vw;
    margin-bottom: 3.738vw;
  }
  main #shop h2::before {
    width: 76.402vw;
  }
}
main #shop h2.active::before {
  transform: translate(-51%, 0%);
}
main #shop .shop_intro {
  font-size: 1.354vw;
  text-align: center;
  margin-bottom: 2.813vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_intro {
    font-size: 4.206vw;
    margin-bottom: 5.374vw;
  }
}
main #shop .shop_list {
  grid-template-columns: repeat(3, 1fr);
  gap: 2.708vw 1.458vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 7.009vw;
  }
}
main #shop .shop_list .shop_list_li {
  font-weight: 600;
  padding-left: 2.604vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li {
    padding-left: 10.047vw;
  }
}
main #shop .shop_list .shop_list_li::before {
  content: "";
  width: 0.156vw;
  height: 100%;
  background: #680168;
  position: absolute;
  top: 50%;
  left: 0.781vw;
  transform: translateY(-50%) rotate(15deg);
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li::before {
    width: 0.701vw;
    left: 3.505vw;
  }
}
main #shop .shop_list .shop_list_li-01::before, main #shop .shop_list .shop_list_li-06::before {
  background: #680168;
}
main #shop .shop_list .shop_list_li-02::before, main #shop .shop_list .shop_list_li-07::before {
  background: #c94d00;
}
main #shop .shop_list .shop_list_li-03::before, main #shop .shop_list .shop_list_li-08::before {
  background: #007cbc;
}
main #shop .shop_list .shop_list_li-04::before, main #shop .shop_list .shop_list_li-09::before {
  background: #d39900;
}
main #shop .shop_list .shop_list_li-05::before {
  background: #e40200;
}
main #shop .shop_list .shop_list_li.shop_list_li-shibuya::before {
  background: #e40200;
}
main #shop .shop_list .shop_list_li .shop_name {
  font-size: 1.146vw;
  font-weight: 700;
  line-height: 1.81;
  margin-bottom: 0.156vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li .shop_name {
    font-size: 4.439vw;
    margin-bottom: 0.935vw;
  }
}
main #shop .shop_list .shop_list_li .shop_name span {
  font-size: 0.833vw;
  color: #e30211;
  border-left: 1px solid #000000;
  margin-left: 0.365vw;
  padding-left: 0.521vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li .shop_name span {
    font-size: 3.271vw;
    margin-left: 2.336vw;
    padding-left: 2.336vw;
  }
}
main #shop .shop_list .shop_list_li .shibuya_ar {
  font-size: 1.042vw;
  color: #e30211;
  margin-bottom: 0.469vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li .shibuya_ar {
    display: none;
  }
}
main #shop .shop_list .shop_list_li .shop_date {
  font-size: 1.042vw;
  margin-bottom: 0.677vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li .shop_date {
    font-size: 3.738vw;
    margin-bottom: 2.804vw;
  }
}
main #shop .shop_list .shop_list_li .shop_link {
  gap: 1.042vw;
}
main #shop .shop_list .shop_list_li .shop_link .shop_link_li a {
  font-size: 0.833vw;
  color: #ffffff;
  width: 6.615vw;
  height: 1.719vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
  background: #000000;
  background: linear-gradient(101deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 92%, rgb(227, 2, 17) 22%, rgb(227, 2, 17) 100%);
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
main #shop .shop_list .shop_list_li .shop_link .shop_link_li a::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #e30211;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  z-index: -1;
  transform: translateX(-100%);
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
@media screen and (min-width: 767px) {
  main #shop .shop_list .shop_list_li .shop_link .shop_link_li a:hover::before {
    transform: translateX(0%);
  }
}
@media screen and (max-width: 767px) {
  main #shop .shop_list .shop_list_li .shop_link {
    gap: 5.841vw;
  }
  main #shop .shop_list .shop_list_li .shop_link .shop_link_li a {
    font-size: 3.271vw;
    width: 26.402vw;
    height: 7.009vw;
  }
}
main #shop .shop_list-shibuya {
  margin-top: 3.125vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list-shibuya {
    margin-top: 7.009vw;
    margin-bottom: 8.411vw;
  }
}
main #shop .shop_list-shibuya .shop_list_li::before {
  height: 110%;
}
main #shop .shop_list-shibuya .shop_list_li .shop_name_box {
  align-items: center;
  margin-bottom: 0.26vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list-shibuya .shop_list_li .shop_name_box {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 1.402vw;
  }
}
main #shop .shop_list-shibuya .shop_list_li .shop_name {
  font-size: 1.823vw;
  line-height: 1.65;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list-shibuya .shop_list_li .shop_name {
    font-size: 5.14vw;
    margin-bottom: 1.869vw;
  }
}
main #shop .shop_list-shibuya .shop_list_li .shop_place {
  display: inline-block;
  font-size: 1.146vw;
  line-height: 1.5;
  color: #ffffff;
  padding: 0.26vw 1.719vw;
  margin-left: 0.781vw;
  position: relative;
  z-index: 0;
}
main #shop .shop_list-shibuya .shop_list_li .shop_place::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #e30211;
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list-shibuya .shop_list_li .shop_place {
    font-size: 3.738vw;
    padding: 0.935vw 5.14vw;
    margin-left: 0;
  }
}
main #shop .shop_list-shibuya .shop_list_li .shop_date {
  font-size: 1.458vw;
  margin-bottom: 0.417vw;
}
@media screen and (max-width: 767px) {
  main #shop .shop_list-shibuya .shop_list_li .shop_date {
    font-size: 3.738vw;
    margin-bottom: 2.336vw;
  }
}
main .shop_bottom {
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  main .shop_bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
main .attention_list {
  font-size: 0.938vw;
  line-height: 1.77;
}
main .attention_list li {
  position: relative;
  z-index: 0;
}
main .attention_list li::before {
  content: "※";
}
@media screen and (max-width: 767px) {
  main .attention_list {
    font-size: 2.804vw;
  }
}

/* TOPへ戻る */
.btn_top_ul {
  width: 11.25vw;
  height: 7.083vw;
  font-family: "the-seasons", sans-serif;
  font-size: 2.135vw;
  text-align: center;
  padding-top: 3.385vw;
  position: absolute;
  top: 7vw;
  right: 6.042vw;
  cursor: pointer;
  z-index: 0;
}
.btn_top_ul::before, .btn_top_ul::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  transition: all 0.4s;
}
.btn_top_ul::before {
  width: 1.719vw;
  height: 3.646vw;
  background-image: url(./images/icon-top.webp);
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: -1;
}
.btn_top_ul::after {
  width: 11.25vw;
  height: 4.375vw;
  background-image: url(./images/footer_deco.webp);
  bottom: -0.5vw;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 767px) {
  .btn_top_ul:hover::before {
    transform: translate(-50%, -10%);
  }
  .btn_top_ul:hover::after {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 767px) {
  .btn_top_ul {
    width: 26.168vw;
    height: 21.262vw;
    top: auto;
    bottom: 8.178vw;
    right: 1.869vw;
    color: #000000;
    font-size: 5.841vw;
    padding-top: 12.383vw;
  }
  .btn_top_ul::before {
    width: 6.075vw;
    height: 12.617vw;
    filter: brightness(0);
  }
  .btn_top_ul::after {
    width: 26.168vw;
    height: 10.514vw;
    background-image: url(./images/footer_deco-sp.webp);
    bottom: 0;
  }
}

footer {
  width: 100%;
  height: 20.573vw;
  line-height: 1.6;
  background-color: #000000;
  text-align: center;
  color: #ffffff;
  padding-top: 7.448vw;
  padding-bottom: 6.302vw;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
footer .deco_text_footer_ul {
  width: 250vw;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #000000;
  animation: loop-right 50s linear infinite;
}
footer .deco_text_footer_ul .deco_text_li {
  width: inherit;
}
footer .deco_text_footer_ul .deco_text_li img {
  display: block;
}
@media screen and (max-width: 767px) {
  footer .deco_text_footer_ul {
    width: 889.72vw;
  }
}
footer p {
  font-size: 1.042vw;
  font-family: "noto-sans-cjk-jp", sans-serif;
}
footer .footer_logo {
  justify-content: space-between;
  align-items: center;
  width: 22%;
  margin: 0 auto;
  margin-top: 0.99vw;
}
footer .footer_logo .footer_logo_li a {
  display: block;
  transition: all 0.4s;
}
@media screen and (min-width: 767px) {
  footer .footer_logo .footer_logo_li a:hover {
    opacity: 0.6;
  }
}
footer .footer_logo .footer_logo_li-ap {
  width: 12.656vw;
}
footer .footer_logo .footer_logo_li-loft {
  width: 6.25vw;
}
@media screen and (max-width: 767px) {
  footer {
    height: 56.542vw;
    padding-top: 23.832vw;
    padding-bottom: 13.785vw;
  }
  footer p {
    font-size: 3.271vw;
  }
  footer .footer_logo {
    width: 62%;
    margin-top: 2.804vw;
  }
  footer .footer_logo .footer_logo_li-ap {
    width: 36.215vw;
  }
  footer .footer_logo .footer_logo_li-loft {
    width: 17.991vw;
  }
}

.modal-box {
  position: fixed;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(5px);
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  z-index: 100;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.modal-box .modal-content {
  width: 90%;
  max-width: 65.625vw;
  height: 45.521vw;
  padding: 9.844vw 3.021vw;
  background: url(./images/modal_bg.webp) no-repeat center center/100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center center;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-content {
    max-width: 82.477vw;
    height: 152.888vw;
    padding: 4vw 3.505vw 11.449vw 2.804vw;
    background: url(./images/modal_bg-sp.webp) no-repeat center center/100%;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) and (max-height: 700px) {
  .modal-box .modal-content {
    transform: translate(-50%, -50%) scale(0.8);
  }
}
.modal-box .modal-body {
  width: 100%;
  margin: 0 auto;
  z-index: 0;
}
.modal-box .modal-body_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-box .modal-body_inner-img {
  width: 53%;
  padding-top: 0;
  position: relative;
}
.modal-box .modal-body_inner-text {
  width: 44%;
  padding-top: 0;
  position: relative;
}
.modal-box .modal-body_inner-text .icon-traging {
  width: 9.01vw;
  margin-bottom: 0.573vw;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text .icon-traging {
    width: 34.813vw;
    margin-bottom: 1.168vw;
  }
}
.modal-box .modal-body_inner-text h2 {
  font-size: 1.667vw;
  line-height: 1.45;
  margin-bottom: 0.521vw;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text h2 {
    font-size: 5.14vw;
    margin-bottom: 2.336vw;
  }
}
.modal-box .modal-body_inner-text .introduction_txt {
  font-size: 1.042vw;
  line-height: 1.71;
  font-weight: 600;
  margin-bottom: 0.469vw;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text .introduction_txt {
    font-size: 3.271vw;
    margin-bottom: 3.271vw;
  }
}
.modal-box .modal-body_inner-text .price_box {
  width: 100%;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.521vw;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text .price_box {
    margin-bottom: 3.271vw;
  }
}
.modal-box .modal-body_inner-text .price_box .type {
  font-size: 1.042vw;
  color: #ffffff;
  width: 5.469vw;
  height: 2.083vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
.modal-box .modal-body_inner-text .price_box .type::before {
  content: "";
  width: inherit;
  height: inherit;
  background-color: #000000;
  transform: skewX(-10deg);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text .price_box .type {
    font-size: 3.972vw;
    width: 23.364vw;
    height: 8.411vw;
  }
}
.modal-box .modal-body_inner-text .price {
  font-size: 1.667vw;
}
.modal-box .modal-body_inner-text .price small {
  font-size: 1.25vw;
  margin-left: 0.313vw;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text .price {
    font-size: 5.14vw;
  }
  .modal-box .modal-body_inner-text .price small {
    font-size: 3.271vw;
    margin-left: 0.935vw;
  }
}
.modal-box .modal-body_inner-text .detail {
  font-size: 0.833vw;
  line-height: 1.57;
  font-weight: 600;
  margin-bottom: 1.719vw;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner-text .detail {
    font-size: 3.271vw;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner {
    width: 93%;
    margin: 0 auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2.25vw;
  }
  .modal-box .modal-body_inner-img {
    width: 100%;
  }
  .modal-box .modal-body_inner-text {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner .modal-slider {
    margin-bottom: 3.1vw;
  }
}
.modal-box .modal-body_inner .goods_detail_img {
  background-color: #f7f7f7;
  filter: drop-shadow(5px 5px 0 #000000);
}
.modal-box .modal-body_inner .goods_detail_img .slider_goodsimg_inner {
  width: 100%;
  height: 31.625vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-box .modal-body_inner .goods_detail_img .slider_goodsimg_inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.modal-box .modal-body_inner .goods_detail_img .slider_goodsimg_inner .sample_box {
  width: 90%;
  height: 90%;
  background-color: #b5b5b5;
}
.modal-box .modal-body_inner .goods_detail_img .slider_goodsimg_inner .sample_box::before {
  content: "";
  width: 3.229vw;
  aspect-ratio: 1/1;
  background-image: url(./images/icon-kari.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner .goods_detail_img .slider_goodsimg_inner .sample_box::before {
    width: 9.813vw;
  }
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner .goods_detail_img .slider_goodsimg_inner {
    height: 70.944vw;
  }
}
.modal-box .modal-body_inner .slider-thumbnail {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner .slider-thumbnail {
    display: none;
  }
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-wrapper {
  gap: 0.938vw 0;
  flex-wrap: wrap;
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-slide {
  width: 4.323vw !important;
  cursor: pointer;
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-slide .thum_illust_box {
  height: 3.021vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
  transition: all 0.4s;
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-slide .thum_illust_box::before {
  content: "";
  width: 4.323vw;
  height: inherit;
  background-image: url(./images/goods_slider_thumb_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  z-index: -1;
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-slide .thum_illust_box img {
  width: 70%;
  height: 70%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.4s;
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-slide .thum_illust_box .sample_box {
  width: 50%;
  height: 50%;
  background-color: #b5b5b5;
  transition: all 0.4s;
}
.modal-box .modal-body_inner .slider-thumbnail .swiper-slide .thum_illust_box .sample_box::before {
  content: "";
  width: 0.8vw;
  aspect-ratio: 1/1;
  background-image: url(./images/icon-kari.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (min-width: 767px) {
  .modal-box .modal-body_inner .slider-thumbnail .swiper-slide .thum_illust_box:hover img {
    opacity: 0.6;
  }
}
.modal-box .modal-body_inner .swiper-pagination {
  display: none;
}
@media screen and (max-width: 767px) {
  .modal-box .modal-body_inner .swiper-pagination {
    display: block;
    position: static;
    text-align: left;
  }
  .modal-box .modal-body_inner .swiper-pagination.swiper-pagination-lock {
    display: block !important;
  }
  .modal-box .modal-body_inner .swiper-pagination.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .modal-box .modal-body_inner .swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 0.935vw 0.935vw;
  }
  .modal-box .modal-body_inner .swiper-pagination .swiper-pagination-bullet {
    background-color: #000000;
    width: 9.813vw;
    height: 1.402vw;
    border-radius: 0;
    transform: skewX(-25deg);
    opacity: 1;
  }
  .modal-box .modal-body_inner .swiper-pagination .swiper-pagination-bullet:only-child {
    display: block !important;
  }
  .modal-box .modal-body_inner .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #e30211;
  }
}
.modal-box .close {
  width: 4.167vw;
  height: 1.458vw;
  position: absolute;
  top: 3.646vw;
  right: 3.125vw;
  z-index: 1;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal-box .close {
    width: 8.645vw;
    height: 3.738vw;
    top: 4.673vw;
    right: 4.673vw;
  }
}
.modal-box .close::before, .modal-box .close::after {
  content: "";
  width: 100%;
  height: 0.104vw;
  background-color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .modal-box .close::before, .modal-box .close::after {
    height: 0.467vw;
  }
}
.modal-box .close::before {
  transform: translateX(-50%) rotate(19deg);
}
.modal-box .close::after {
  transform: translateX(-50%) rotate(-19deg);
}
@media screen and (max-width: 767px) {
  .modal-box .close::before {
    transform: translateX(-50%) rotate(25deg);
  }
  .modal-box .close::after {
    bottom: 36%;
    transform: translateX(-50%) rotate(-25deg);
  }
}
.modal-box .prev,
.modal-box .next {
  width: 4.583vw;
  aspect-ratio: 88/70;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateX(0%) translateY(-50%);
  z-index: 2;
  transition: all 0.4s;
  cursor: pointer;
}
.modal-box .prev::before, .modal-box .prev::after,
.modal-box .next::before,
.modal-box .next::after {
  content: "";
  width: 4.583vw;
  height: 3.646vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all 0.4s;
}
.modal-box .prev::before,
.modal-box .next::before {
  background-image: url(./images/btn-modal-arrow-prev.webp);
}
.modal-box .prev::after,
.modal-box .next::after {
  opacity: 0;
  background-image: url(./images/btn-modal-arrow_hover-prev.webp);
  z-index: 1;
}
@media screen and (min-width: 767px) {
  .modal-box .prev:hover::after,
  .modal-box .next:hover::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .modal-box .prev,
  .modal-box .next {
    width: 9.346vw;
    aspect-ratio: 40/34;
    top: 55%;
  }
  .modal-box .prev::before,
  .modal-box .next::before {
    width: 9.346vw;
    height: 7.944vw;
  }
}
.modal-box .prev {
  left: -10vw;
}
@media screen and (max-width: 767px) {
  .modal-box .prev {
    left: -5vw;
  }
}
.modal-box .next {
  right: -10vw;
}
.modal-box .next::before {
  background-image: url(./images/btn-modal-arrow-next.webp);
}
.modal-box .next::after {
  background-image: url(./images/btn-modal-arrow_hover-next.webp);
}
@media screen and (max-width: 767px) {
  .modal-box .next {
    right: -5vw;
  }
}/*# sourceMappingURL=style.css.map */