@charset "UTF-8";
@media screen and (max-width: 1024px) {
  .page_body header .logo_box {
    position: absolute;
  }
}
@media screen and (max-width: 1024px) {
  .page_body main {
    overflow: hidden;
  }
}
.page_body main::before {
  content: "";
  width: 41.8vw;
  height: 100vh;
  background-image: url(../images/tokyo/bg_fixed.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: fixed;
  right: 8.75vw;
  z-index: -2;
}
@media screen and (max-width: 1024px) {
  .page_body main::before {
    width: 100%;
    height: 100%;
    background-image: url(../images/tokyo/bg_fixed-sp.webp);
    right: auto;
    top: 0;
    left: 0;
  }
}
.page_body main h3 {
  font-size: 4.167vw;
  position: relative;
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 1024px) {
  .page_body main h3 {
    font-size: 12.15vw;
  }
}
.page_body main h3 span {
  font-family: "abolition", sans-serif;
  font-weight: 400;
  position: relative;
  padding-left: 1.667vw;
}
.page_body main h3 span::before {
  content: "";
  width: 0.833vw;
  height: 3.75vw;
  background-color: #d0317f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main h3 span {
    padding-left: 4.673vw;
    margin-right: 2.804vw;
  }
  .page_body main h3 span::before {
    width: 1.869vw;
    height: 10.28vw;
  }
}
.page_body main h3 .ja {
  display: inline-block;
  font-size: 1.667vw;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-right: 5.104vw;
  position: relative;
  z-index: 0;
}
.page_body main h3 .ja::after {
  content: "";
  width: 4.063vw;
  height: 1.198vw;
  background-image: url(../images/tokyo/icon_title_arrows.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main h3 .ja {
    font-size: 4.206vw;
    padding-right: 10.981vw;
  }
  .page_body main h3 .ja::after {
    width: 9.112vw;
    height: 2.804vw;
  }
}
.page_body main .main_warp {
  width: 100%;
  max-width: 83.438vw;
  margin-left: 7.813vw;
  margin-bottom: -1.562vw;
  border-left: 2px solid #d0317f;
  border-right: 2px solid #d0317f;
  position: relative;
  z-index: 0;
}
.page_body main .main_warp::before {
  content: "";
  width: 0.469vw;
  height: 11.875vw;
  background-color: #d0317f;
  position: fixed;
  top: 0;
  right: 8.854vw;
  z-index: 10;
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 95%);
}
@media screen and (max-width: 1024px) {
  .page_body main .main_warp {
    display: block;
    border: none;
    max-width: none;
    margin: 0 auto;
  }
  .page_body main .main_warp::before {
    display: none;
  }
}
.page_body main .mv_img {
  width: 51%;
  height: 100vh;
  border-left: 0.417vw solid #d0317f;
  margin-left: 0.417vw;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 0;
}
.page_body main .mv_img .movie-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .page_body main .mv_img .movie-wrapper {
    top: 0;
  }
}
.page_body main .mv_img video {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
}
@media screen and (max-width: 1919px) {
  .page_body main .mv_img video {
    width: auto;
  }
}
@media screen and (max-width: 1024px) {
  .page_body main .mv_img video {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 120%;
  }
}
@media screen and (max-width: 767px) {
  .page_body main .mv_img video {
    top: 0;
    left: 47%;
  }
}
.page_body main .mv_img img {
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .page_body main .mv_img {
    width: 100%;
    height: 169.159vw;
    border: none;
    margin-left: 0;
    position: relative;
  }
  .page_body main .mv_img img {
    height: 169.159vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page_body main .main_container {
  width: 52%;
  max-width: 41.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main .main_container {
    width: 100%;
    max-width: none;
    margin-top: -82.944vw;
    border-left: none;
  }
}
.page_body main #mv-child {
  background: url(../images/tokyo/mv_bg-child.webp) no-repeat right top/cover;
  position: relative;
  z-index: 0;
  padding-bottom: 5.8vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child {
    background: none;
    padding-bottom: 0;
  }
}
.page_body main #mv-child .mv_info_inner {
  width: 100%;
  max-width: 36.667vw;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .mv_info_inner {
    max-width: none;
  }
}
.page_body main #mv-child h1 {
  width: 100%;
  padding-top: 1.667vw;
  margin-bottom: -3.646vw;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child h1 {
    width: 96.262vw;
    padding-top: 0;
    margin: 0 auto;
    margin-bottom: -10vw;
  }
}
.page_body main #mv-child .venue_name {
  margin-left: 2.5vw;
  margin-bottom: 1vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .venue_name {
    margin-bottom: 2.336vw;
    margin-left: 9.813vw;
    filter: drop-shadow(0px 0px 10px rgb(0, 0, 0));
  }
}
.page_body main #mv-child .venue_name h2 {
  font-size: 8.333vw;
  font-weight: 900;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .venue_name h2 {
    font-size: 22.897vw;
  }
}
.page_body main #mv-child .venue_name h2 span {
  font-size: 5.729vw;
  margin-left: 1.563vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .venue_name h2 span {
    font-size: 14.252vw;
    margin-left: 2.57vw;
  }
}
.page_body main #mv-child .venue_name p {
  font-family: "industry", sans-serif;
  font-size: 1.354vw;
  font-weight: 700;
  color: #d0317f;
  position: absolute;
  top: 0.7vw;
  right: 5vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .venue_name p {
    font-size: 4.206vw;
    top: 2.7vw;
    right: 7vw;
  }
}
.page_body main #mv-child .mv_flex_box {
  width: 100%;
  max-width: 32.5vw;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .mv_flex_box {
    max-width: none;
    display: flex;
    flex-direction: column-reverse;
  }
}
.page_body main #mv-child .mv_dateplace_box {
  margin-bottom: 1.615vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .mv_dateplace_box {
    width: 100%;
    height: 37.617vw;
    background: url(../images/tokyo/mv_bg-child-sp.webp) no-repeat center bottom/contain;
    padding-top: 6.308vw;
    padding-left: 5.607vw;
    margin-bottom: 7.009vw;
    margin-top: -0.5vw;
  }
}
.page_body main #mv-child .title_sche {
  font-family: "industry", sans-serif;
  font-size: 1.667vw;
  color: #d0317f;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .title_sche {
    font-size: 4.673vw;
  }
}
.page_body main #mv-child .date {
  font-family: "industry", sans-serif;
  font-size: 2.708vw;
  margin-bottom: 0.781vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .date {
    font-size: 8.411vw;
    margin-bottom: 1.402vw;
  }
}
.page_body main #mv-child .date small {
  font-size: 1.875vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .date small {
    font-size: 5.607vw;
  }
}
.page_body main #mv-child .place_text {
  font-size: 1.458vw;
  padding-left: 1.354vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .place_text {
    font-size: 4.206vw;
    padding-left: 6.542vw;
  }
}
.page_body main #mv-child .place_text::before {
  content: "";
  width: 1.094vw;
  height: 1.771vw;
  background: url(../images/icon_address.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .place_text::before {
    width: 2.804vw;
    height: 4.673vw;
  }
}
.page_body main #mv-child .illustrator_box {
  width: 100%;
  height: 8.073vw;
  background: url(../images/tokyo/mv_illustchara_heading.webp) no-repeat center top/contain;
  padding-top: 0.365vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .illustrator_box {
    height: 24.9vw;
    padding-top: 1.402vw;
  }
}
.page_body main #mv-child .illustrator_box .illustrator_flex {
  align-items: center;
  gap: 2.604vw;
  padding-left: 1.667vw;
  margin-bottom: 1.927vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .illustrator_box .illustrator_flex {
    gap: 14.019vw;
    padding-left: 5.607vw;
    margin-bottom: 6.776vw;
  }
}
.page_body main #mv-child .illustrator_box .illustrator_flex .illustrator_title {
  font-size: 1.25vw;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .illustrator_box .illustrator_flex .illustrator_title {
    font-size: 3.271vw;
  }
}
.page_body main #mv-child .illustrator_box .illustrator_flex .illustrator_name {
  font-size: 1.042vw;
  font-family: "roboto", sans-serif;
  font-weight: 700;
  position: relative;
  padding-left: 1.823vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .illustrator_box .illustrator_flex .illustrator_name {
    font-size: 3.271vw;
    padding-left: 5.841vw;
  }
}
.page_body main #mv-child .illustrator_box .illustrator_flex .illustrator_name::before {
  content: "";
  width: 1.563vw;
  height: 1.563vw;
  background-image: url(../images/icon_target.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .illustrator_box .illustrator_flex .illustrator_name::before {
    width: 4.907vw;
    height: 4.907vw;
  }
}
.page_body main #mv-child .illustrator_box .illust_chara_name {
  font-size: 1.667vw;
  font-weight: 900;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #mv-child .illustrator_box .illust_chara_name {
    font-size: 4.673vw;
  }
}
.page_body main #sd {
  background: url(../images/tokyo/sd_bg.webp?20261006) no-repeat center top 15vw/94%;
  position: relative;
  z-index: 0;
  padding-top: 5.469vw;
  margin-bottom: 4.896vw;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .page_body main #sd {
    background: url(../images/tokyo/sd_bg.webp?20261006) no-repeat center top 35vw/100%;
    padding-top: 0;
    margin-bottom: 14.953vw;
  }
}
.page_body main #sd::before {
  content: "";
  width: 100%;
  height: 8.333vw;
  background: #d0317f;
  background: linear-gradient(180deg, rgba(208, 49, 127, 0.7) 0%, rgba(208, 49, 127, 0) 100%);
  position: absolute;
  top: -2.4vw;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .page_body main #sd::before {
    height: 37.383vw;
    top: -28vw;
  }
}
.page_body main #sd.active .big_text {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #sd.active img {
  opacity: 1;
  transform: translateY(0%);
  transition-delay: 0.5s;
}
.page_body main #sd .sd_back_deco {
  position: relative;
  z-index: 0;
}
.page_body main #sd .sd_back_deco::before, .page_body main #sd .sd_back_deco::after {
  content: "";
  width: 38.021vw;
  height: 47.76vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 9.5vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  animation: alternateBlink 2s ease-in-out infinite;
}
@media screen and (max-width: 1024px) {
  .page_body main #sd .sd_back_deco::before, .page_body main #sd .sd_back_deco::after {
    width: 100vw;
    height: 128.505vw;
    top: 34.5vw;
  }
}
.page_body main #sd .sd_back_deco::before {
  background-image: url(../images/tokyo/sd_bg-kira-01.webp);
}
.page_body main #sd .sd_back_deco::after {
  background-image: url(../images/tokyo/sd_bg-kira-02.webp);
  animation-delay: -1s;
}
.page_body main #sd img {
  display: block;
  width: 92%;
  max-width: 37.188vw;
  margin-left: 2.6vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #sd img {
    width: 100%;
    max-width: 95.794vw;
    margin-left: 3vw;
  }
}
.page_body main #sd p {
  font-size: 1.354vw;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #sd p {
    font-size: 4.206vw;
  }
}
.page_body main #sd p.big_text {
  font-size: 2.083vw;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: 2.031vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #sd p.big_text span {
  font-size: 2.292vw;
  padding: 0 1vw;
  margin-block: 0.5vw;
  position: relative;
  z-index: 0;
  display: inline-block;
}
.page_body main #sd p.big_text span::before {
  content: "";
  width: 100%;
  height: 3.333vw;
  background: #a5822e;
  background: linear-gradient(-90deg, rgb(165, 130, 46) 0%, rgb(227, 189, 29) 100%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
  z-index: -1;
}
.page_body main #sd p.big_text small {
  font-size: 1.458vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #sd p.big_text {
    font-size: 5.607vw;
    margin-bottom: 4vw;
  }
  .page_body main #sd p.big_text span {
    font-size: 6.308vw;
    padding: 0 2.5vw;
    margin-block: 2.5vw;
  }
  .page_body main #sd p.big_text span::before {
    height: 9.112vw;
  }
  .page_body main #sd p.big_text small {
    font-size: 4.673vw;
  }
}
.page_body main #sd p.sd_illustrator_text {
  font-size: 1.042vw;
  font-weight: 600;
  line-height: 1;
  text-align: right;
  margin-top: 1.667vw;
  margin-bottom: 2.083vw;
  margin-right: 1.875vw;
}
.page_body main #sd p.sd_illustrator_text span {
  position: relative;
  padding-left: 1.615vw;
}
.page_body main #sd p.sd_illustrator_text span::before {
  content: "";
  width: 1.406vw;
  height: 1.406vw;
  background-image: url(../images/icon_target.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 1024px) {
  .page_body main #sd p.sd_illustrator_text {
    font-size: 2.804vw;
    margin-top: 3.738vw;
    margin-bottom: 7.477vw;
    margin-right: 5.607vw;
  }
  .page_body main #sd p.sd_illustrator_text span {
    padding-left: 4.439vw;
  }
  .page_body main #sd p.sd_illustrator_text span::before {
    width: 3.972vw;
    height: 3.972vw;
  }
}
.page_body main #sd p.intro_text {
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #sd p.intro_text.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #sd p.sd_last_text {
  font-size: 1.667vw;
  line-height: 1;
  margin-top: 2.083vw;
  background: #efcc39;
  background: linear-gradient(0deg, rgb(239, 204, 57) 0%, rgb(255, 245, 162) 50%, rgb(239, 204, 57) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #sd p.sd_last_text.active {
  opacity: 1;
  transform: translateY(0%);
}
@media screen and (max-width: 1024px) {
  .page_body main #sd p.sd_last_text {
    font-size: 5.607vw;
    line-height: 1.83;
    margin-top: 7.477vw;
  }
}
.page_body main #goods {
  margin-top: 4.688vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods {
    margin-top: 18.692vw;
  }
}
.page_body main #goods .inner-goods_movie {
  max-width: 36.667vw;
}
.page_body main #goods .inner-limited_goods {
  max-width: 35vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .inner-goods_movie {
    max-width: 88.785vw;
  }
  .page_body main #goods .inner-limited_goods {
    max-width: 88.785vw;
  }
}
.page_body main #goods #movie {
  margin-top: 2.135vw;
  margin-bottom: 5.208vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods #movie {
    margin-top: 7.477vw;
    margin-bottom: 14.953vw;
  }
}
.page_body main #goods #movie.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods #movie h4 {
  font-family: "industry", sans-serif;
  font-size: 1.458vw;
  text-align: center;
  margin-bottom: 1.25vw;
  color: #d0317f;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods #movie h4 {
    font-size: 4.206vw;
    margin-bottom: 3.738vw;
  }
}
.page_body main #goods #movie .movie_box {
  width: 100%;
  height: 20.625vw;
  margin: 0 auto;
  margin-bottom: 2.083vw;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 767px) {
  .page_body main #goods #movie .movie_box:hover .movie_btn::before {
    animation: 3s linear 0s infinite normal none running Rotation-Cursor;
  }
}
@media screen and (max-width: 767px) {
  .page_body main #goods #movie .movie_box {
    height: 50vw;
    margin-bottom: 5.607vw;
  }
}
.page_body main #goods #movie .movie_box .movie_btn {
  width: 5.833vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.6s;
  cursor: pointer;
  z-index: 10;
}
.page_body main #goods #movie .movie_box .movie_btn::before {
  content: "";
  width: 6.406vw;
  height: 6.406vw;
  background-image: url(../images/btn_play_out.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .page_body main #goods #movie .movie_box .movie_btn {
    width: 12.85vw;
  }
  .page_body main #goods #movie .movie_box .movie_btn::before {
    width: 15.654vw;
    height: 15.654vw;
  }
}
.page_body main #goods #movie .video-bg {
  pointer-events: none;
}
.page_body main #goods #movie .video-bg iframe {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.page_body main #goods #movie .link_box {
  display: block;
  width: 19.167vw;
  height: 3.958vw;
  padding: 0.052vw;
  margin: 0 auto;
  background-color: #d0317f;
  clip-path: polygon(7% 0%, 100% 0, 100% 70%, 93% 100%, 0 100%, 0% 30%);
}
.page_body main #goods #movie .link_box .link_box_inner {
  width: 100%;
  height: 100%;
  clip-path: polygon(7% 0%, 100% 0, 100% 70%, 93% 100%, 0 100%, 0% 30%);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
.page_body main #goods #movie .link_box .link_box_inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.page_body main #goods #movie .link_box .link_box_inner span {
  color: #000000;
  position: relative;
  z-index: 0;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) {
  .page_body main #goods #movie .link_box:hover .link_box_inner::before {
    transform-origin: left;
    transform: scaleX(1);
  }
  .page_body main #goods #movie .link_box:hover .link_box_inner span {
    color: #ffffff;
  }
  .page_body main #goods #movie .link_box:hover .link_box_inner span::before {
    filter: brightness(0) invert(1);
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #goods #movie .link_box {
    width: 65.421vw;
    height: 13.084vw;
    padding: 0;
    clip-path: polygon(6% 0%, 100% 0, 100% 70%, 94% 100%, 0 100%, 0% 30%);
  }
  .page_body main #goods #movie .link_box .link_box_inner span {
    font-size: 3.505vw;
  }
}
.page_body main #goods .limited_goods {
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods {
    margin-bottom: 14.019vw;
  }
}
.page_body main #goods .limited_goods h4 {
  font-size: 2.083vw;
  line-height: 1.125;
  padding-bottom: 1.25vw;
  margin-bottom: 2.917vw;
  gap: 1.042vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods h4 {
    font-size: 5.607vw;
    line-height: 1.16;
    padding-bottom: 3.738vw;
    margin-bottom: 6.542vw;
    gap: 3.037vw;
  }
}
.page_body main #goods .limited_goods h4.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods .limited_goods h4::after {
  content: "";
  width: 24.167vw;
  height: 4.271vw;
  background-image: url(../images/tokyo/goods_title_back-limited.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods h4::after {
    width: 69.393vw;
    height: 12.383vw;
    background-image: url(../images/tokyo/goods_title_back-limited-sp.webp);
  }
}
.page_body main #goods .limited_goods h4 span {
  font-size: 1.042vw;
  line-height: 1;
  color: #d0317f;
  font-family: "industry", sans-serif;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods h4 span {
    font-size: 2.804vw;
  }
}
.page_body main #goods .limited_goods p.intro_text {
  font-size: 1.25vw;
  line-height: 1.83;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2.917vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods p.intro_text {
    font-size: 3.738vw;
    margin-bottom: 6.542vw;
  }
}
.page_body main #goods .limited_goods p.intro_text.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods .limited_goods .limited_ul {
  width: 27.917vw;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.917vw;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul {
    width: 100%;
    gap: 7.477vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li {
  padding: 1.042vw;
  position: relative;
  z-index: 0;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li {
    padding: 3.505vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods .limited_goods .limited_ul .goods_li::before, .page_body main #goods .limited_goods .limited_ul .goods_li::after {
  content: "";
  width: 100%;
  height: 1.042vw;
  background-image: url(../images/tokyo/goods_frame-tokyo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li::before, .page_body main #goods .limited_goods .limited_ul .goods_li::after {
    height: 3.505vw;
    background-image: url(../images/tokyo/goods_frame-tokyo-sp.svg);
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li::before {
  top: 0;
}
.page_body main #goods .limited_goods .limited_ul .goods_li::after {
  bottom: 0;
  transform: scale(1, -1);
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img {
  width: 25.833vw;
  height: 25.833vw;
  margin: 0 auto;
  padding-top: 0;
  background: #ffffff;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(208, 210, 216) 100%);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img {
    width: 81.308vw;
    height: 81.308vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img img {
  width: 100%;
  height: 100%;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img.tokyo {
  position: relative;
  z-index: 0;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img.tokyo::before {
  content: "";
  width: 11.51vw;
  height: 3.75vw;
  background-image: url(../images/tokyo/icon-limite_akihabara.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0.521vw;
  left: 0.417vw;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img.tokyo::before {
    width: 37.15vw;
    height: 11.916vw;
    top: 2.103vw;
    left: 1.869vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .goods_detail_img {
  padding-top: 2.083vw;
  margin-bottom: 0.729vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .goods_detail_img {
    padding-top: 5.14vw;
    margin-bottom: 1.402vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider_goodsimg_inner {
  width: 25.833vw;
  height: 20vw;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 0;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider_goodsimg_inner img {
  width: 77%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider_goodsimg_inner {
    width: 81.308vw;
    height: 65.421vw;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider_goodsimg_inner::before {
    width: 20.093vw;
    height: 20.093vw;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider_goodsimg_inner img {
    width: 100%;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail {
  width: 100%;
  padding: 0 1.042vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail {
    padding: 0 2.336vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-wrapper {
  gap: 0.729vw;
  justify-content: flex-end;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-wrapper {
    gap: 1.869vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide {
  width: 2.292vw !important;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide {
    width: 7.477vw !important;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box {
  height: 2.292vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  position: relative;
  z-index: 0;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.4s;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box img {
  width: 85%;
  height: 85%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box {
    height: 7.477vw;
  }
}
@media screen and (min-width: 767px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box:hover::before {
    opacity: 0.1;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide.swiper-slide-thumb-active .thum_illust_box {
  border: 2px solid #d0317f;
}
@media screen and (min-width: 767px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide.swiper-slide-thumb-active .thum_illust_box:hover::before {
    opacity: 0;
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .slider-thumbnail .swiper-slide.swiper-slide-thumb-active .thum_illust_box {
    border: 1px solid #d0317f;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img {
  /* 矢印カスタマイズ */
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-prev,
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next {
  width: 1.719vw;
  height: 2.76vw;
  top: 57%;
  transition: all 0.4s;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-prev::after,
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  width: 1.719vw;
  height: 2.76vw;
  margin: auto;
  background-image: url(../images/tokyo/icon_slider_arrows-tokyo.svg);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-prev,
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next {
    width: 5.607vw;
    height: 9.112vw;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-prev::after,
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next::after {
    width: 5.607vw;
    height: 9.112vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-prev {
  left: 2.5%;
}
@media screen and (min-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-prev:hover {
    transform: translateX(-20%);
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next {
  right: 2.5%;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next::after {
  transform: scale(-1, 1);
}
@media screen and (min-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_img .swiper-button-next:hover {
    transform: translateX(20%);
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info {
  font-weight: 600;
  width: 100%;
  background-color: #000000;
  padding: 1.354vw 1.25vw 0.729vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info {
    padding: 3.505vw 5.607vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_name {
  font-size: 1.042vw;
  margin-bottom: 1.042vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_name {
    font-size: 3.738vw;
    line-height: 1.43;
    margin-bottom: 1.636vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_price {
  font-size: 1.25vw;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_price small {
  font-size: 0.938vw;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_price small:first-of-type {
  margin-right: 0.417vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_price {
    font-size: 4.206vw;
    text-align: right;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_price small {
    font-size: 3.271vw;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_price small:first-of-type {
    margin-right: 1.869vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_info_bottom {
  display: flex;
  justify-content: flex-end;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_info_bottom.icon {
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_info_bottom.icon {
    flex-direction: column;
    gap: 1.636vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon {
  display: flex;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .trading {
  display: block;
  font-size: 0.677vw;
  color: #d0317f;
  width: 7.187vw;
  height: 1.51vw;
  padding: 0.052vw;
  background-color: #d0317f;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .trading .trading_inner {
  width: 100%;
  height: 100%;
  background-color: #000000;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .trading {
    font-size: 2.804vw;
    width: 30.841vw;
    height: 6.542vw;
    padding: 0.234vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .type {
  display: block;
  font-family: "industry", sans-serif;
  font-size: 0.625vw;
  text-align: center;
  color: #000000;
  height: 1.51vw;
  padding: 0.26vw 0.781vw;
  background-color: #d0317f;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .type span {
  font-size: 1.042vw;
  padding: 0 0.208vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .type {
    font-size: 2.57vw;
    height: 6.308vw;
    padding: 1.402vw 2.804vw 0.935vw;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_info .goods_icon .type span {
    font-size: 4.206vw;
    padding: 0 0.935vw;
  }
}
@media screen and (min-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li:hover .goods_more .more_btn {
    height: 1.667vw;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li:hover .goods_more .more_btn span {
    opacity: 1;
    transition-delay: 0.3s;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more {
  padding: 0.365vw 0;
  font-weight: 600;
  color: #000000;
  background-color: #d0317f;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more {
    padding: 1.869vw 0;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn {
  width: 100%;
  height: 0;
  font-size: 0.938vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.4s;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn {
    height: 3.972vw;
    font-size: 2.804vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn.is-active {
  height: 1.667vw;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn.is-active span {
  opacity: 1;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn.is-active span::after {
  transform: translateY(-50%) rotate(0deg);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn.is-active {
    height: 3.972vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span {
  padding-left: 0.938vw;
  position: relative;
  z-index: 0;
  opacity: 0;
  transition: all 0.4s;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span::before, .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span::after {
  content: "";
  width: 0.521vw;
  height: 0.104vw;
  background-color: #000000;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all 0.4s;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span::after {
  transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span {
    padding-left: 3.271vw;
    opacity: 1;
  }
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span::before, .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .more_btn span::after {
    width: 2.336vw;
    height: 0.467vw;
  }
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .goods_more_add {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .goods_more_add.is-open {
  grid-template-rows: 1fr;
  margin-bottom: 0.365vw;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .goods_more_add .goods_more_list {
  width: 90%;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
}
.page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .goods_more_add .goods_more_list li {
  font-size: 0.833vw;
  line-height: 1.625;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .limited_goods .limited_ul .goods_li .goods_more .goods_more_add .goods_more_list li {
    font-size: 3.271vw;
  }
}
.page_body main #goods .event_goods {
  background: #000000;
  padding-top: 3.333vw;
  padding-bottom: 4.167vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods {
    padding-top: 10.047vw;
    padding-bottom: 9.346vw;
  }
}
.page_body main #goods .event_goods::before {
  content: "";
  width: 100%;
  height: 2.135vw;
  background-image: url(../images/line-goods_event.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -2.031vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods::before {
    height: 4.907vw;
    background-image: url(../images/line-goods_event-sp.webp);
    top: -4.439vw;
  }
}
.page_body main #goods .event_goods h4 {
  font-size: 2.083vw;
  line-height: 1.125;
  padding-bottom: 1.25vw;
  margin-bottom: 2.917vw;
  gap: 1.042vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods h4 {
    font-size: 5.607vw;
    line-height: 1.16;
    padding-bottom: 3.738vw;
    margin-bottom: 6.542vw;
    gap: 3.037vw;
  }
}
.page_body main #goods .event_goods h4.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods .event_goods h4::after {
  content: "";
  width: 24.167vw;
  height: 4.271vw;
  background-image: url(../images/goods_title_back-event.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods h4::after {
    width: 69.393vw;
    height: 12.383vw;
    background-image: url(../images/goods_title_back-event-sp.webp);
  }
}
.page_body main #goods .event_goods h4 span {
  font-size: 1.042vw;
  line-height: 1;
  color: #00c77a;
  font-family: "industry", sans-serif;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods h4 span {
    font-size: 2.804vw;
  }
}
.page_body main #goods .event_goods p.intro_text {
  font-size: 1.25vw;
  line-height: 1.83;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2.917vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods p.intro_text {
    font-size: 3.738vw;
    margin-bottom: 1.168vw;
  }
}
.page_body main #goods .event_goods p.intro_text.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods .event_goods .event_ul {
  width: 27.917vw;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.917vw;
  margin: 0 auto;
  margin-bottom: 2.917vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul {
    width: 81.308vw;
    gap: 0;
    margin-bottom: 9.346vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li {
  padding: 1.042vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #goods .event_goods .event_ul .goods_li.active {
  opacity: 1;
  transform: translateY(0%);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li {
    padding: 0;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img {
  width: 25.833vw;
  height: auto;
  margin: 0 auto;
  padding-top: 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img {
    width: 81.308vw;
    margin-bottom: 3vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box {
  padding-top: 1.042vw;
  padding-bottom: 1.042vw;
  margin-bottom: 0.521vw;
  position: relative;
  z-index: 0;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box::before, .page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box::after {
  content: "";
  width: 100%;
  height: 1.042vw;
  background-image: url(../images/goods_frame-event.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box::before {
  top: 0;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box::after {
  bottom: 0;
  transform: translateX(-50%) scale(1, -1);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box {
    padding-top: 3.738vw;
    padding-bottom: 3.738vw;
    margin-bottom: 3.505vw;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box::before, .page_body main #goods .event_goods .event_ul .goods_li .goods_img .goods_event_detail_img_box::after {
    height: 3.738vw;
    background-image: url(../images/goods_frame-event-sp.svg);
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img img {
  width: 100%;
  height: 100%;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider_goodsimg_inner {
  width: 25.833vw;
  height: 23.438vw;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 0;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider_goodsimg_inner img {
  width: 91%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider_goodsimg_inner {
    width: 81.308vw;
    height: 69.159vw;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider_goodsimg_inner img {
    width: 100%;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail {
  width: 90%;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-wrapper {
  gap: 0.729vw;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-wrapper {
    gap: 2.804vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide {
  width: 2.292vw !important;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide {
    width: 7.477vw !important;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box {
  height: 2.292vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  position: relative;
  z-index: 0;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.4s;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box img {
  width: 85%;
  height: 85%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box {
    height: 7.477vw;
  }
}
@media screen and (min-width: 767px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide .thum_illust_box:hover::before {
    opacity: 0.1;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide.swiper-slide-thumb-active .thum_illust_box {
  border: 2px solid #00c77a;
}
@media screen and (min-width: 767px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .slider-thumbnail .swiper-slide.swiper-slide-thumb-active .thum_illust_box:hover::before {
    opacity: 0;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img {
  /* 矢印カスタマイズ */
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev,
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next {
  width: 1.719vw;
  height: 2.76vw;
  top: 45%;
  transition: all 0.4s;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev::after,
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  width: 1.719vw;
  height: 2.76vw;
  margin: auto;
  background-image: url(../images/icon_slider_arrows-goods.svg);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev,
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next {
    width: 5.607vw;
    height: 9.112vw;
    top: 50%;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev::after,
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next::after {
    width: 5.607vw;
    height: 9.112vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev {
  left: -12%;
}
@media screen and (min-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev:hover {
    transform: translateX(-20%);
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-prev {
    left: -1.5%;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next {
  right: -12%;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next::after {
  transform: scale(-1, 1);
}
@media screen and (min-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next:hover {
    transform: translateX(20%);
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_img .swiper-button-next {
    right: -1.5%;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info {
  font-weight: 600;
  width: 100%;
  background-color: #000000;
  padding: 1.354vw 1.25vw 0.729vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info {
    padding: 0 1.869vw 3.738vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_name {
  font-size: 1.042vw;
  margin-bottom: 1.042vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_name {
    font-size: 3.738vw;
    margin-bottom: 2.336vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_price {
  font-size: 1.25vw;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_price small {
  font-size: 0.938vw;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_price small:first-of-type {
  margin-right: 0.417vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_price {
    font-size: 4.673vw;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_price small {
    font-size: 3.271vw;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_price small:first-of-type {
    margin-right: 1.869vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_info_bottom {
  display: flex;
  justify-content: flex-end;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_info_bottom.icon {
  justify-content: space-between;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon {
  display: flex;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .trading {
  display: block;
  font-size: 0.677vw;
  color: #00c77a;
  width: 7.187vw;
  height: 1.51vw;
  padding: 0.052vw;
  background-color: #00c77a;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .trading .trading_inner {
  width: 100%;
  height: 100%;
  background-color: #000000;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .trading {
    width: 56.075vw;
    height: 14.953vw;
    padding: 0;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .type {
  display: block;
  font-family: "industry", sans-serif;
  font-size: 0.625vw;
  text-align: center;
  color: #000000;
  height: 1.51vw;
  padding: 0.26vw 0.781vw;
  background-color: #00c77a;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .type span {
  font-size: 1.042vw;
  padding: 0 0.208vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .type {
    font-size: 2.57vw;
    height: 6.308vw;
    padding: 1.402vw 2.804vw 0.935vw;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_info .goods_icon .type span {
    font-size: 4.206vw;
    padding: 0 0.935vw;
  }
}
@media screen and (min-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li:hover .goods_more .more_btn {
    height: 1.667vw;
  }
  .page_body main #goods .event_goods .event_ul .goods_li:hover .goods_more .more_btn span {
    opacity: 1;
    transition-delay: 0.3s;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more {
  padding: 0.365vw 0;
  font-weight: 600;
  color: #000000;
  background-color: #00c77a;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_more {
    padding: 1.869vw 0;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn {
  width: 100%;
  height: 0;
  font-size: 0.938vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.4s;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn {
    height: 3.972vw;
    font-size: 2.804vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn.is-active {
  height: 1.667vw;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn.is-active span {
  opacity: 1;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn.is-active span::after {
  transform: translateY(-50%) rotate(0deg);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn.is-active {
    height: 3.972vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span {
  padding-left: 0.938vw;
  position: relative;
  z-index: 0;
  opacity: 0;
  transition: all 0.4s;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span::before, .page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span::after {
  content: "";
  width: 0.521vw;
  height: 0.104vw;
  background-color: #000000;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all 0.4s;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span::after {
  transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span {
    padding-left: 3.271vw;
    opacity: 1;
  }
  .page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span::before, .page_body main #goods .event_goods .event_ul .goods_li .goods_more .more_btn span::after {
    width: 2.336vw;
    height: 0.467vw;
  }
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .goods_more_add {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-out;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .goods_more_add.is-open {
  grid-template-rows: 1fr;
  margin-bottom: 0.365vw;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .goods_more_add .goods_more_list {
  width: 90%;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
}
.page_body main #goods .event_goods .event_ul .goods_li .goods_more .goods_more_add .goods_more_list li {
  font-size: 0.833vw;
  line-height: 1.625;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .event_ul .goods_li .goods_more .goods_more_add .goods_more_list li {
    font-size: 3.271vw;
  }
}
.page_body main #goods .event_goods .goods_other {
  width: 86.3%;
  margin: 0 auto;
  padding: 2.031vw 0;
  background: url(../images/goods_other_text_back.webp) no-repeat center center/100%;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #goods .event_goods .goods_other.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #goods .event_goods .goods_other p {
  font-size: 1.667vw;
  line-height: 1.81;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #goods .event_goods .goods_other {
    width: 88.7%;
    padding: 9.579vw 0;
    background: url(../images/goods_other_text_back.webp) no-repeat center center/190%;
  }
  .page_body main #goods .event_goods .goods_other p {
    font-size: 4.673vw;
  }
}
.page_body main #benefits {
  padding-bottom: 4.167vw;
  background: #000000;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits {
    padding-bottom: 9.346vw;
  }
}
.page_body main #benefits.active .benefits_box {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #benefits.active .benefits_box .benefits_img li {
  transform: scale(1);
  transition-delay: 0.4s;
}
.page_body main #benefits.active .benefits_box .benefits_img li:nth-of-type(2) {
  transition-delay: 0.6s;
}
.page_body main #benefits.active .benefits_box .benefits_img li:last-of-type {
  transition-delay: 0.8s;
}
.page_body main #benefits .benefits_box {
  width: 92%;
  margin: 0 auto;
  padding-top: 5vw;
  padding-bottom: 3.7vw;
  background: url(../images/tokyo/benefits_bg.webp?20261016) no-repeat center top/100%;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box {
    width: 100%;
    padding-top: 14.019vw;
    padding-bottom: 10.981vw;
    background: url(../images/tokyo/benefits_bg-sp.webp?20261016) no-repeat center top/100%;
  }
}
.page_body main #benefits .benefits_box h3 {
  font-size: 1.667vw;
  margin-bottom: 0.208vw;
  padding: 1.146vw 9.375vw;
  background: url(../images/tokyo/title_benefits_back.webp) no-repeat center center/66%;
  display: block;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box h3 {
    font-size: 5.607vw;
    padding: 4.206vw;
    margin-bottom: 1.168vw;
    background: url(../images/tokyo/title_benefits_back-sp.webp) no-repeat center center/89%;
  }
}
.page_body main #benefits .benefits_box h3 span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  position: relative;
  padding: 0 3.646vw;
  margin-right: 0;
}
.page_body main #benefits .benefits_box h3 span::before, .page_body main #benefits .benefits_box h3 span::after {
  content: "";
  width: 2.76vw;
  height: 2.76vw;
  background: url(../images/tokyo/icon-target-tokyo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.page_body main #benefits .benefits_box h3 span::before {
  left: 0;
}
.page_body main #benefits .benefits_box h3 span::after {
  right: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box h3 span {
    padding: 0 13.785vw;
  }
  .page_body main #benefits .benefits_box h3 span::before, .page_body main #benefits .benefits_box h3 span::after {
    width: 10.047vw;
    height: 10.047vw;
  }
}
.page_body main #benefits .benefits_box .benefits_img {
  width: 81.5%;
  margin: 0 auto;
  margin-bottom: 0.521vw;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.page_body main #benefits .benefits_box .benefits_img li {
  width: 54%;
  transform: scale(0);
  transition: all 0.4s;
}
.page_body main #benefits .benefits_box .benefits_img li:first-of-type {
  margin-left: -1.302vw;
  margin-right: -1.302vw;
}
.page_body main #benefits .benefits_box .benefits_img li:nth-of-type(2) {
  margin-top: 1.042vw;
}
.page_body main #benefits .benefits_box .benefits_img li:last-of-type {
  margin-left: -1.042vw;
  margin-top: -2.604vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box .benefits_img {
    width: 90%;
    margin-bottom: 2.103vw;
  }
  .page_body main #benefits .benefits_box .benefits_img li {
    width: 53%;
  }
  .page_body main #benefits .benefits_box .benefits_img li:first-of-type {
    margin-left: -4.439vw;
    margin-right: -3.738vw;
  }
  .page_body main #benefits .benefits_box .benefits_img li:nth-of-type(2) {
    margin-top: 2.804vw;
  }
  .page_body main #benefits .benefits_box .benefits_img li:last-of-type {
    margin-left: -2.336vw;
    margin-top: -7.944vw;
  }
}
.page_body main #benefits .benefits_box .benefits_text {
  font-size: 1.25vw;
  width: 92%;
  margin: 0 auto;
  padding: 1.823vw 2.865vw 2.083vw;
  background-color: #000000;
  clip-path: polygon(93% 0, 100% 12%, 100% 100%, 0 100%, 0 0);
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box .benefits_text {
    font-size: 3.738vw;
    width: 93%;
    padding: 9.346vw 3.6vw 7.009vw;
  }
}
.page_body main #benefits .benefits_box .benefits_text p {
  line-height: 1;
  text-align: center;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box .benefits_text p {
    margin-bottom: 5.607vw;
  }
}
.page_body main #benefits .benefits_box .benefits_text p span {
  display: inline-block;
  margin: 0.625vw 0;
  font-size: 2.083vw;
  font-weight: 900;
  background: #efcc39;
  background: linear-gradient(0deg, rgb(239, 204, 57) 0%, rgb(255, 245, 162) 50%, rgb(239, 204, 57) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box .benefits_text p span {
    margin: 2.336vw 0;
    font-size: 5.607vw;
  }
}
.page_body main #benefits .benefits_box .benefits_text p span::before {
  content: "ガンガールステッカー";
  width: 100%;
  height: 100%;
  background: #ffffff;
  background: linear-gradient(320deg, rgba(255, 255, 255, 0) 45%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 55%);
  background-clip: text;
  -webkit-background-clip: text;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-size: 200% 100%;
  background-position: 120% 0%;
  transition: all 0.4s;
  animation: text-kiran 3s infinite;
}
.page_body main #benefits .benefits_box .benefits_text .benefits_notice {
  font-size: 0.833vw;
  line-height: 1.625;
  font-weight: 500;
}
.page_body main #benefits .benefits_box .benefits_text .benefits_notice li {
  position: relative;
  z-index: 0;
}
.page_body main #benefits .benefits_box .benefits_text .benefits_notice li::before {
  content: "※";
}
@media screen and (max-width: 1024px) {
  .page_body main #benefits .benefits_box .benefits_text .benefits_notice {
    width: 95%;
    margin: 0 auto;
    font-size: 2.804vw;
    line-height: 1.91;
  }
}
.page_body main #gratte {
  padding-top: 3.125vw;
  padding-bottom: 3.698vw;
  margin-bottom: 4.479vw;
  color: #86554a;
  background: url(../images/tokyo/gratte_bg.webp?20261016) no-repeat center top/100%;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte {
    padding-top: 10vw;
    padding-bottom: 14vw;
    margin-bottom: 13.785vw;
    background: url(../images/tokyo/gratte_bg-sp.webp?20261016) no-repeat center top/100%;
  }
}
.page_body main #gratte .inner {
  width: 100%;
  max-width: 38.281vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .inner {
    max-width: 92.991vw;
  }
}
.page_body main #gratte h3 {
  width: 33.125vw;
  margin: 0 auto;
  margin-bottom: 0.521vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #gratte h3.active {
  opacity: 1;
  transform: translateY(0%);
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte h3 {
    width: 81.308vw;
    margin-bottom: 0;
  }
}
.page_body main #gratte .gratte_intro {
  font-size: 1.25vw;
  line-height: 1.83;
  font-weight: 800;
  text-align: center;
  padding: 3.854vw 0 2.031vw;
  margin-bottom: 0.417vw;
  background: url(../images/tokyo/gratte_intro_text_frame.webp) no-repeat right -0.6vw center/105%;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #gratte .gratte_intro.active {
  opacity: 1;
  transform: translateY(0%);
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_intro {
    font-size: 3.738vw;
    line-height: 1.62;
    font-weight: 800;
    text-align: left;
    padding: 8.879vw 8.879vw 4.206vw;
    margin-bottom: 0;
    background: url(../images/tokyo/gratte_intro_text_frame-sp.webp) no-repeat center center/94%;
  }
}
.page_body main #gratte figure {
  text-align: right;
  margin-bottom: 1.667vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #gratte figure.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #gratte figure img {
  width: 35.833vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte figure {
    margin-bottom: 5.607vw;
  }
  .page_body main #gratte figure img {
    width: 100%;
  }
}
.page_body main #gratte .gratte_taste {
  text-align: center;
  margin-bottom: 1.042vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #gratte .gratte_taste.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #gratte .gratte_taste p {
  font-size: 0.938vw;
  line-height: 2.16;
}
.page_body main #gratte .gratte_taste p.text_deco {
  display: inline-block;
  font-size: 0.833vw;
  line-height: 1;
  text-align: center;
  color: #ffffff;
  background: #86554a;
  border-radius: 1.198vw;
  padding: 0.625vw 1.667vw;
  margin-bottom: 0.365vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_taste {
    margin-bottom: 3.738vw;
  }
  .page_body main #gratte .gratte_taste p {
    font-size: 3.271vw;
    line-height: 1.85;
  }
  .page_body main #gratte .gratte_taste p.text_deco {
    font-size: 2.804vw;
    border-radius: 5.374vw;
    padding: 0.935vw 7.477vw;
    margin-bottom: 1.869vw;
  }
}
.page_body main #gratte .gratte_info_box {
  width: 100%;
  max-width: 35vw;
  margin: 0 auto;
  padding: 1.25vw 0;
  background-color: #ffffff;
  border: 2px solid #d2b160;
  border-radius: 0.521vw;
  text-align: center;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #gratte .gratte_info_box.active {
  opacity: 1;
  transform: translateY(0%);
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_info_box {
    max-width: 88.785vw;
    padding: 2.336vw 0 3.505vw;
    border-radius: 3.037vw;
  }
}
.page_body main #gratte .gratte_info_box h4 {
  font-size: 1.458vw;
  margin-bottom: 0.833vw;
}
.page_body main #gratte .gratte_info_box h4 span {
  padding-left: 0.729vw;
  position: relative;
  z-index: 0;
}
.page_body main #gratte .gratte_info_box h4 span::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #d2b160;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_info_box h4 {
    font-size: 3.738vw;
    margin-bottom: 0.935vw;
  }
  .page_body main #gratte .gratte_info_box h4 span {
    padding-left: 3.271vw;
  }
  .page_body main #gratte .gratte_info_box h4 span::before {
    width: 1.402vw;
    height: 1.402vw;
  }
}
.page_body main #gratte .gratte_info_box p {
  font-size: 1.25vw;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_info_box p {
    font-size: 3.271vw;
  }
}
.page_body main #gratte .gratte_info_box.gratte_shop {
  margin-bottom: 0.833vw;
}
.page_body main #gratte .gratte_info_box.gratte_shop p.place {
  font-weight: 700;
  margin-bottom: 0.417vw;
}
.page_body main #gratte .gratte_info_box.gratte_shop p:last-of-type {
  font-size: 0.833vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_info_box.gratte_shop {
    margin-bottom: 3.738vw;
  }
  .page_body main #gratte .gratte_info_box.gratte_shop p.place {
    margin-bottom: 0.3vw;
  }
  .page_body main #gratte .gratte_info_box.gratte_shop p:last-of-type {
    font-size: 2.804vw;
  }
}
.page_body main #gratte .gratte_info_box.gratte_time p:first-of-type {
  margin-bottom: 0.833vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #gratte .gratte_info_box.gratte_time p:first-of-type {
    margin-bottom: 1.869vw;
  }
}
.page_body main #notice {
  margin-bottom: 6.719vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #notice.active {
  opacity: 1;
  transform: translateY(0%);
}
@media screen and (max-width: 1024px) {
  .page_body main #notice {
    margin-bottom: 16.822vw;
  }
}
.page_body main #notice h3 {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.667vw;
  font-weight: 700;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.208vw;
  margin-bottom: 2.083vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #notice h3 {
    font-size: 4.206vw;
    gap: 0.467vw;
    margin-bottom: 9.346vw;
  }
}
.page_body main #notice h3::before, .page_body main #notice h3::after {
  content: "";
  width: 9.167vw;
  height: 0.885vw;
  background-image: url(../images/tokyo/line-title_notice.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0.2vw;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .page_body main #notice h3::before, .page_body main #notice h3::after {
    width: 20.794vw;
    height: 3.972vw;
    background-image: url(../images/tokyo/line-title_notice-sp.svg);
  }
}
.page_body main #notice h3::before {
  left: 0;
}
.page_body main #notice h3::after {
  right: 0;
  transform: scale(-1, 1);
}
.page_body main #notice h3 span {
  font-family: "industry", sans-serif;
  font-size: 1.042vw;
  font-weight: 700;
  color: #d0317f;
  padding-left: 0;
}
.page_body main #notice h3 span::before {
  display: none;
}
@media screen and (max-width: 1024px) {
  .page_body main #notice h3 span {
    font-size: 2.804vw;
  }
}
.page_body main #notice .inner {
  max-width: 36.719vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #notice .inner {
    max-width: 90.654vw;
  }
}
.page_body main #notice .notice_list {
  font-size: 1.042vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1024px) {
  .page_body main #notice .notice_list {
    font-size: 3.271vw;
  }
}
.page_body main #notice .notice_list li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 1.25vw;
  position: relative;
  z-index: 0;
}
.page_body main #notice .notice_list li:last-of-type {
  margin-bottom: 0;
}
.page_body main #notice .notice_list li::before {
  content: "・";
}
.page_body main #notice .notice_list a {
  color: #d0317f;
  text-decoration: underline;
  text-decoration-thickness: 0.052vw;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) {
  .page_body main #notice .notice_list a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #notice .notice_list a {
    text-decoration-thickness: 0.234vw;
  }
}
.page_body main #special {
  margin-bottom: 6.5vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special {
    margin-bottom: 16.822vw;
  }
}
.page_body main #special .inner {
  width: 95%;
  max-width: 36.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .inner {
    max-width: 88.785vw;
  }
}
.page_body main #special .message_box {
  width: 92%;
  margin: 0 auto;
  margin-top: 1.771vw;
  margin-bottom: 4.167vw;
  padding: 2.76vw 0 2.396vw;
  background: url(../images/tokyo/special_bg-messageboard.webp) no-repeat center top/100%;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box {
    width: 96.3%;
    margin-top: 5.607vw;
    margin-bottom: 9.346vw;
    padding: 7.477vw 0 8.879vw;
    background: url(../images/tokyo/special_bg-messageboard-sp.webp?2026101402) no-repeat center top/100%;
  }
}
.page_body main #special .message_box.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #special .message_box.active h4 {
  opacity: 1;
  transform: translateY(0%);
  transition-delay: 0.4s;
}
.page_body main #special .message_box.active .messageborad_inner {
  opacity: 1;
  transform: translateY(0%);
  transition-delay: 0.6s;
}
.page_body main #special .message_box h4 {
  font-size: 2.083vw;
  color: #86554a;
  line-height: 1.125;
  padding-bottom: 1.25vw;
  margin-bottom: 1.042vw;
  gap: 1.042vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box h4 {
    font-size: 5.607vw;
    line-height: 1.16;
    padding-bottom: 3.738vw;
    margin-bottom: 4.206vw;
    gap: 3.037vw;
  }
}
.page_body main #special .message_box h4::after {
  content: "";
  width: 24.167vw;
  height: 4.271vw;
  background-image: url(../images/tokyo/special_title_back-messageboard.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box h4::after {
    width: 69.393vw;
    height: 12.383vw;
    background-image: url(../images/tokyo/special_title_back-messageboard-sp.webp);
  }
}
.page_body main #special .message_box h4 span {
  font-size: 1.042vw;
  line-height: 1;
  color: #d2b160;
  font-family: "industry", sans-serif;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box h4 span {
    font-size: 2.804vw;
  }
}
.page_body main #special .message_box .messageborad_inner {
  opacity: 0;
  transform: translateY(2%);
  transition: all 0.4s;
}
.page_body main #special .message_box figure {
  width: 100%;
  max-width: 36.563vw;
  margin: 0 auto;
  margin-bottom: 0.625vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box figure {
    max-width: 93.458vw;
    margin-bottom: 3.505vw;
  }
}
.page_body main #special .message_box .messageborad_intro {
  width: 91%;
  margin: 0 auto;
  margin-bottom: 1.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box .messageborad_intro {
    width: 97%;
    margin-bottom: 5.607vw;
  }
}
.page_body main #special .message_box p {
  font-size: 1.25vw;
  line-height: 1.83;
  color: #86554a;
  text-shadow: 0px 0px 10px rgb(255, 255, 255);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .message_box p {
    font-size: 3.271vw;
  }
}
.page_body main #special .sns_box {
  width: 95.7%;
  margin: 0 auto;
  padding: 3.8vw 2.448vw 3.6vw;
  background: url(../images/tokyo/special_bg-sns.webp) no-repeat center top/100%;
  transform: scale(0, 1);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box {
    width: 100%;
    margin: 0 auto;
    padding: 12.85vw 2.336vw 11vw;
    background: url(../images/tokyo/special_bg-sns-sp.webp) no-repeat center top/103%;
  }
}
.page_body main #special .sns_box.active {
  transform: scale(1, 1);
}
.page_body main #special .sns_box.active .sns_inner {
  opacity: 1;
  transform: translateY(0%);
  transition-delay: 0.4s;
}
.page_body main #special .sns_box .sns_inner {
  opacity: 0;
  transform: translateY(2.5%);
  transition: all 0.4s;
}
.page_body main #special .sns_box h4 {
  width: 24.896vw;
  margin: 0 auto;
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box h4 {
    width: 87.15vw;
    margin-bottom: 3.505vw;
  }
}
.page_body main #special .sns_box .sns_intro_text {
  font-size: 1.667vw;
  line-height: 1;
  text-align: center;
  margin-bottom: 1.667vw;
  filter: drop-shadow(0px 0px 10px rgb(208, 49, 127));
}
.page_body main #special .sns_box .sns_intro_text span {
  font-size: 2.083vw;
}
.page_body main #special .sns_box .sns_intro_text span.text_gold {
  display: inline-block;
  margin: 0 0.313vw 0.677vw 0;
  font-weight: 900;
  background: #efcc39;
  background: linear-gradient(0deg, rgb(239, 204, 57) 0%, rgb(255, 245, 162) 50%, rgb(239, 204, 57) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .sns_intro_text span.big_text {
  font-size: 1.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_intro_text {
    font-size: 4.206vw;
    margin-bottom: 1.869vw;
  }
  .page_body main #special .sns_box .sns_intro_text span {
    font-size: 6.075vw;
  }
  .page_body main #special .sns_box .sns_intro_text span.text_gold {
    margin: 0 1.168vw 2.57vw 0;
  }
  .page_body main #special .sns_box .sns_intro_text span.big_text {
    font-size: 5.607vw;
  }
}
.page_body main #special .sns_box .sns_img {
  text-align: center;
  margin-bottom: 1.563vw;
}
.page_body main #special .sns_box .sns_img figure {
  margin-bottom: 1.25vw;
}
.page_body main #special .sns_box .sns_img p {
  font-size: 1.042vw;
  line-height: 2;
  text-shadow: 0px 0px 10px rgb(208, 49, 127);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_img {
    margin-bottom: 6.477vw;
  }
  .page_body main #special .sns_box .sns_img figure {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 3.607vw;
  }
  .page_body main #special .sns_box .sns_img p {
    font-size: 3.271vw;
  }
}
.page_body main #special .sns_box .sns_step_list {
  width: 100%;
  max-width: 30.833vw;
  margin: 0 auto;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list {
    width: 95%;
    max-width: 72.43vw;
    margin: 0 auto;
    margin-bottom: 3.738vw;
  }
}
.page_body main #special .sns_box .sns_step_list li {
  padding-left: 5vw;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .sns_step_list li::before {
  content: "";
  width: 4.167vw;
  height: 4.167vw;
  background-image: url(../images/tokyo/icon-step_01.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list li {
    padding-left: 10.514vw;
  }
  .page_body main #special .sns_box .sns_step_list li::before {
    width: 11.449vw;
    height: 11.449vw;
    background-image: url(../images/tokyo/icon-step_01.webp);
  }
}
.page_body main #special .sns_box .sns_step_list li p {
  font-size: 1.25vw;
  line-height: 1.83;
  font-weight: 500;
  text-shadow: 0px 0px 10px rgb(208, 49, 127);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list li p {
    font-size: 4.206vw;
    text-align: center;
  }
}
.page_body main #special .sns_box .sns_step_list li.step-01 {
  padding-top: 1vw;
  margin-bottom: 3.333vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list li.step-01 {
    margin-bottom: 7.477vw;
  }
}
.page_body main #special .sns_box .sns_step_list li.step-01 p {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list li.step-01 p {
    margin-bottom: 5.374vw;
  }
}
.page_body main #special .sns_box .sns_step_list li.step-01 .link_box {
  font-size: 1.25vw;
  display: block;
  width: 19.167vw;
  height: 4.583vw;
  padding: 0.052vw;
  background-color: #d0317f;
  clip-path: polygon(7% 0%, 100% 0, 100% 70%, 93% 100%, 0 100%, 0% 30%);
}
.page_body main #special .sns_box .sns_step_list li.step-01 .link_box .link_box_inner {
  width: 100%;
  height: 100%;
  clip-path: polygon(7% 0%, 100% 0, 100% 70%, 93% 100%, 0 100%, 0% 30%);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .sns_step_list li.step-01 .link_box .link_box_inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.page_body main #special .sns_box .sns_step_list li.step-01 .link_box .link_box_inner span {
  color: #000000;
  text-align: center;
  position: relative;
  z-index: 0;
  transition: all 0.4s;
}
.page_body main #special .sns_box .sns_step_list li.step-01 .link_box .link_box_inner span small {
  font-size: 0.833vw;
}
@media screen and (min-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list li.step-01 .link_box:hover .link_box_inner::before {
    transform-origin: left;
    transform: scaleX(1);
  }
  .page_body main #special .sns_box .sns_step_list li.step-01 .link_box:hover .link_box_inner span {
    color: #ffffff;
  }
  .page_body main #special .sns_box .sns_step_list li.step-01 .link_box:hover .link_box_inner span::before {
    filter: brightness(0) invert(1);
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_step_list li.step-01 .link_box {
    width: 57.944vw;
    height: 14.019vw;
    padding: 0;
    margin-left: 0;
  }
  .page_body main #special .sns_box .sns_step_list li.step-01 .link_box .link_box_inner span {
    font-size: 3.505vw;
  }
  .page_body main #special .sns_box .sns_step_list li.step-01 .link_box .link_box_inner span small {
    font-size: 2.804vw;
  }
}
.page_body main #special .sns_box .sns_step_list li.step-02 {
  width: 94%;
  text-align: center;
}
.page_body main #special .sns_box .sns_step_list li.step-02::before {
  background-image: url(../images/tokyo/icon-step_02.webp);
}
.page_body main #special .sns_box .sns_step_list li.step-02 p span {
  color: #d0317f;
}
.page_body main #special .sns_box .hash_houwto {
  width: 100%;
  max-width: 30.833vw;
  margin: 0 auto;
  margin-bottom: 2.083vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto {
    max-width: 81.308vw;
    margin-bottom: 9.346vw;
  }
}
.page_body main #special .sns_box .hash_houwto p {
  font-size: 1.042vw;
  font-weight: 500;
  filter: drop-shadow(0px 0px 10px rgb(208, 49, 127));
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto p {
    font-size: 3.271vw;
  }
}
.page_body main #special .sns_box .hash_houwto p.hash_text {
  font-size: 1.25vw;
  font-weight: 700;
  color: #fff5a2;
  text-align: center;
  margin-bottom: 2.396vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto p.hash_text {
    font-size: 4.206vw;
    margin-bottom: 7.944vw;
  }
}
.page_body main #special .sns_box .hash_houwto p.hash_houwto_title {
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.938vw;
}
.page_body main #special .sns_box .hash_houwto p.hash_houwto_title span {
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto p.hash_houwto_title {
    margin-bottom: 3.738vw;
  }
}
.page_body main #special .sns_box .hash_houwto p.hash_howto_intro {
  line-height: 1.8;
  margin-bottom: 0.938vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto p.hash_howto_intro {
    margin-bottom: 2.804vw;
  }
}
.page_body main #special .sns_box .hash_houwto p.text_sample {
  line-height: 1.8;
  text-align: center;
  margin-bottom: 2.083vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto p.text_sample {
    margin-bottom: 5.607vw;
  }
}
.page_body main #special .sns_box .hash_houwto p.text_pink {
  line-height: 1.8;
  text-align: center;
  color: #d0317f;
}
.page_body main #special .sns_box .hash_houwto .sns_character {
  position: relative;
  z-index: 0;
  width: 84%;
  margin: 0 auto;
  margin-bottom: 1.667vw;
  padding: 2.4vw 4.531vw 1.5vw 5.573vw;
  background: url(../images/tokyo/special_flame-charalist.svg) no-repeat center center/contain;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto .sns_character {
    width: 95%;
    margin-bottom: 5.607vw;
    padding: 6.776vw 7.944vw 5.374vw 16.355vw;
    background: url(../images/tokyo/special_flame-charalist-sp.svg) no-repeat center center/contain;
  }
}
.page_body main #special .sns_box .hash_houwto .sns_character p {
  font-weight: 700;
  width: 100%;
  text-align: center;
  position: absolute;
  top: -0.5vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto .sns_character p {
    top: -1.5vw;
  }
}
.page_body main #special .sns_box .hash_houwto .sns_character p span {
  padding-left: 1.9vw;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .hash_houwto .sns_character p span::before {
  content: "";
  width: 1.51vw;
  height: 1.51vw;
  background-image: url(../images/tokyo/icon-target-tokyo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto .sns_character p span {
    padding-left: 6.075vw;
  }
  .page_body main #special .sns_box .hash_houwto .sns_character p span::before {
    width: 4.907vw;
    height: 4.907vw;
  }
}
.page_body main #special .sns_box .hash_houwto .sns_character .character_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  align-items: center;
  gap: 0.5vw 5.833vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto .sns_character .character_list {
    gap: 2.804vw 6.776vw;
  }
}
.page_body main #special .sns_box .hash_houwto .sns_character .character_list li {
  font-size: 1.042vw;
  padding-left: 0.729vw;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .hash_houwto .sns_character .character_list li::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #d0317f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .hash_houwto .sns_character .character_list li {
    font-size: 3.738vw;
    padding-left: 3.271vw;
  }
  .page_body main #special .sns_box .hash_houwto .sns_character .character_list li::before {
    width: 1.402vw;
    height: 1.402vw;
  }
}
.page_body main #special .sns_box .sns_date {
  margin-bottom: 2.083vw;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_date {
    margin-bottom: 7.477vw;
  }
}
.page_body main #special .sns_box .sns_date h4 {
  font-size: 1.25vw;
  margin-bottom: 0.833vw;
}
.page_body main #special .sns_box .sns_date h4 span {
  padding-left: 0.729vw;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .sns_date h4 span::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #d0317f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_date h4 {
    font-size: 4.206vw;
    margin-bottom: 2.336vw;
  }
  .page_body main #special .sns_box .sns_date h4 span {
    padding-left: 3.271vw;
  }
  .page_body main #special .sns_box .sns_date h4 span::before {
    width: 1.402vw;
    height: 1.402vw;
  }
}
.page_body main #special .sns_box .sns_date p {
  font-size: 1.25vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_date p {
    font-size: 3.738vw;
  }
}
.page_body main #special .sns_box .sns_notice {
  padding: 1.667vw 2.083vw;
  background-color: #000000;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_notice {
    width: 94%;
    margin: 0 auto;
    padding: 3.738vw 4.673vw;
  }
}
.page_body main #special .sns_box .sns_notice h4 {
  font-size: 1.25vw;
  text-align: center;
  margin-bottom: 0.833vw;
}
.page_body main #special .sns_box .sns_notice h4 span {
  padding-left: 0.729vw;
  position: relative;
  z-index: 0;
}
.page_body main #special .sns_box .sns_notice h4 span::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #d0317f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_notice h4 {
    font-size: 4.206vw;
    margin-bottom: 2.336vw;
    width: 100%;
  }
  .page_body main #special .sns_box .sns_notice h4 span {
    padding-left: 3.271vw;
  }
  .page_body main #special .sns_box .sns_notice h4 span::before {
    width: 1.402vw;
    height: 1.402vw;
  }
}
.page_body main #special .sns_box .sns_notice p {
  font-size: 1.25vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_notice p {
    font-size: 3.738vw;
  }
}
.page_body main #special .sns_box .sns_notice .sns_notice_inner {
  height: 15.625vw;
  margin-right: -0.25vw;
  padding-right: 1vw;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.page_body main #special .sns_box .sns_notice .sns_notice_inner::-webkit-scrollbar {
  display: none;
}
.page_body main #special .sns_box .sns_notice .sns_notice_inner .simplebar-content-wrapper {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.page_body main #special .sns_box .sns_notice .sns_notice_inner .simplebar-content-wrapper::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.page_body main #special .sns_box .sns_notice .sns_notice_inner p {
  font-size: 0.938vw;
  line-height: 2.16;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_box .sns_notice .sns_notice_inner {
    height: 56.075vw;
    margin-right: -2vw;
    padding-right: 0vw;
  }
  .page_body main #special .sns_box .sns_notice .sns_notice_inner p {
    width: 94%;
    font-size: 2.804vw;
    line-height: 1.83;
  }
}
.page_body main #special {
  /* スクロールバーのトラック（背景） */
}
.page_body main #special .sns_notice_inner .simplebar-track.simplebar-vertical {
  background-color: transparent;
}
.page_body main #special {
  /* スクロールバーのつまみ（動かす部分） */
}
.page_body main #special .sns_notice_inner .simplebar-scrollbar::before {
  width: 0.208vw;
  background-color: #6e6e6e;
  border-radius: 0px;
  opacity: 1 !important;
}
@media screen and (max-width: 1024px) {
  .page_body main #special .sns_notice_inner .simplebar-scrollbar::before {
    width: 0.467vw;
  }
}
.page_body main #onlinestore {
  margin-bottom: 6.667vw;
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #onlinestore {
    margin-bottom: 16.822vw;
  }
}
.page_body main #onlinestore.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #onlinestore .inner {
  width: 95%;
  max-width: 36.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #onlinestore .inner {
    max-width: 88.785vw;
  }
}
.page_body main #onlinestore p {
  font-size: 1.25vw;
  line-height: 2;
  font-weight: 500;
  margin-top: 1.667vw;
}
.page_body main #onlinestore p a {
  font-weight: 700;
  color: #d0317f;
  text-decoration: underline;
  text-decoration-thickness: 0.052vw;
  text-underline-offset: 0.2vw;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) {
  .page_body main #onlinestore p a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #onlinestore p {
    font-size: 3.738vw;
  }
  .page_body main #onlinestore p a {
    text-decoration-thickness: 0.234vw;
    text-underline-offset: 0;
  }
}
.page_body main #info {
  opacity: 0;
  transform: translateY(10%);
  transition: all 0.4s;
}
.page_body main #info.active {
  opacity: 1;
  transform: translateY(0%);
}
.page_body main #info .inner {
  width: 95%;
  max-width: 36.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .inner {
    max-width: 88.785vw;
  }
}
.page_body main #info .info_text_box {
  width: 100%;
  margin: 0 auto;
  margin-top: 1.667vw;
  margin-bottom: 1.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box {
    margin-top: 5.607vw;
    margin-bottom: 5.607vw;
  }
}
.page_body main #info .info_text_box p.place_title {
  font-size: 1.667vw;
  margin-bottom: 1.667vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.place_title {
    font-size: 5.607vw;
    margin-bottom: 5.607vw;
  }
}
.page_body main #info .info_text_box p.address_text {
  font-size: 1.042vw;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 0.417vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.address_text {
    font-size: 3.271vw;
    margin-bottom: 1.869vw;
  }
}
.page_body main #info .info_text_box p.address_link {
  font-size: 1.042vw;
  font-weight: 500;
  color: #d0317f;
  text-decoration: underline;
  opacity: 1;
  transition: all 0.4s;
  margin-bottom: 1.667vw;
}
@media screen and (min-width: 1024px) {
  .page_body main #info .info_text_box p.address_link:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.address_link {
    font-size: 3.271vw;
    margin-bottom: 5.607vw;
  }
}
.page_body main #info .info_text_box p.date_text {
  font-size: 1.25vw;
  margin-bottom: 0.417vw;
}
.page_body main #info .info_text_box p.date_text span {
  padding-left: 0.729vw;
  padding-right: 1.25vw;
  position: relative;
  z-index: 0;
}
.page_body main #info .info_text_box p.date_text span::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #d0317f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.date_text {
    font-size: 4.206vw;
    margin-bottom: 2.336vw;
  }
  .page_body main #info .info_text_box p.date_text span {
    padding-left: 3.271vw;
    padding-right: 5.607vw;
  }
  .page_body main #info .info_text_box p.date_text span::before {
    width: 1.402vw;
    height: 1.402vw;
  }
}
.page_body main #info .info_text_box p.time_text {
  font-size: 1.25vw;
  margin-bottom: 0.417vw;
}
.page_body main #info .info_text_box p.time_text span {
  padding-left: 0.729vw;
  padding-right: 1.25vw;
  position: relative;
  z-index: 0;
}
.page_body main #info .info_text_box p.time_text span::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #d0317f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.time_text {
    font-size: 4.206vw;
    line-height: 1.83;
    margin-bottom: 2.336vw;
    display: flex;
  }
  .page_body main #info .info_text_box p.time_text span {
    padding-left: 3.271vw;
    padding-right: 5.607vw;
  }
  .page_body main #info .info_text_box p.time_text span::before {
    width: 1.402vw;
    height: 1.402vw;
    top: 3.505vw;
    transform: none;
  }
}
.page_body main #info .info_text_box p.time_kome_text {
  font-size: 1.25vw;
  line-height: 1.66;
  color: #d0317f;
  margin-bottom: 0.417vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.time_kome_text {
    font-size: 4.206vw;
    margin-bottom: 2.336vw;
  }
}
.page_body main #info .info_text_box p.tell_text {
  font-size: 1.25vw;
  position: relative;
  padding-left: 1.354vw;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.tell_text {
    font-size: 4.206vw;
    padding-left: 4.673vw;
  }
}
.page_body main #info .info_text_box p.tell_text::before {
  content: "";
  width: 0.833vw;
  height: 1.094vw;
  background-image: url(../images/icon-phone.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .page_body main #info .info_text_box p.tell_text::before {
    width: 2.804vw;
    height: 3.738vw;
  }
}
.page_body main #info .map_box {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 53%; /* 比率を4:3に固定 */
  margin: 0 auto;
  margin-bottom: 6.5vw;
  border: 1px solid #d0317f;
}
@media screen and (max-width: 1024px) {
  .page_body main #info .map_box {
    margin-bottom: 15vw;
  }
}
.page_body main #info .map_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page_body main #comingsoon {
  margin-bottom: 4.896vw;
}
.page_body main #comingsoon.active .comingsoon_box img {
  transform: scale(1);
}
.page_body main #comingsoon .comingsoon_box {
  width: 100%;
  max-width: 36.667vw;
  margin: 0 auto;
  padding: 1.042vw 0.833vw;
  background: url(../images/tokyo/comingsoon_flame.webp) no-repeat center center/contain;
}
.page_body main #comingsoon .comingsoon_box img {
  transform: scale(0);
  transition: 0.4s;
}
@media screen and (max-width: 1024px) {
  .page_body main #comingsoon {
    margin-bottom: 14.953vw;
  }
  .page_body main #comingsoon .comingsoon_box {
    max-width: 88.785vw;
    padding: 2.57vw 1.869vw;
  }
}
.page_body main.page_main-tokyo .mv_img video {
  top: -16%;
  width: 135%;
  height: 135%;
}
@media screen and (max-width: 1024px) {
  .page_body main.page_main-tokyo .mv_img video {
    top: -20%;
    width: auto;
    height: 120%;
  }
}
@media screen and (max-width: 767px) {
  .page_body main.page_main-tokyo .mv_img video {
    top: -16%;
    left: 52%;
  }
}

.modal_box {
  width: 35%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  right: 14.792vw;
  z-index: 88;
}
@media screen and (max-width: 1024px) {
  .modal_box {
    width: 100%;
    right: 0;
    z-index: 100;
  }
}
.modal_box.guideline_modal {
  width: 100%;
  right: 0;
  overflow-y: scroll;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
}
.modal_box.guideline_modal .modal_inner {
  max-width: 50.833vw;
  padding-bottom: 5.417vw;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .modal_box.guideline_modal .modal_inner {
    max-width: 88.785vw;
    padding-bottom: 21.495vw;
    margin-top: 21.495vw;
  }
}
.modal_box.guideline_modal .close_btn {
  top: 0;
  right: -5.208vw;
}
@media screen and (max-width: 1024px) {
  .modal_box.guideline_modal .close_btn {
    top: -14.019vw;
    right: 0;
  }
}
.modal_box.guideline_modal.active {
  opacity: 1;
  pointer-events: auto;
}
.modal_box .modal_inner {
  width: 90%;
  margin: 0 auto;
  margin-top: 2.083vw;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .modal_box .modal_inner {
    margin-top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.modal_box .modal_inner .popupimg_link {
  width: 19.167vw;
  position: absolute;
  top: 19.5vw;
  right: 17.7vw;
}
@media screen and (max-width: 1024px) {
  .modal_box .modal_inner .popupimg_link {
    width: 40.187vw;
    top: 34vw;
    right: 24.5vw;
  }
}
.modal_box .modal_inner .link_box {
  display: block;
  width: 22.604vw;
  height: 4.844vw;
  padding: 0.052vw;
  margin: 0 auto;
  background-color: #d0317f;
  clip-path: polygon(7% 0%, 100% 0, 100% 70%, 93% 100%, 0 100%, 0% 30%);
}
.modal_box .modal_inner .link_box .link_box_inner {
  width: 100%;
  height: 100%;
  clip-path: polygon(7% 0%, 100% 0, 100% 70%, 93% 100%, 0 100%, 0% 30%);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
.modal_box .modal_inner .link_box .link_box_inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal_box .modal_inner .link_box .link_box_inner span {
  font-size: 1.667vw;
  padding-right: 2.344vw;
  color: #ffffff;
  position: relative;
  z-index: 0;
  transition: all 0.4s;
}
.modal_box .modal_inner .link_box .link_box_inner span::before {
  content: "";
  width: 1.563vw;
  height: 1.563vw;
  background-image: url(../images/icon-link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) {
  .modal_box .modal_inner .link_box:hover .link_box_inner::before {
    transform-origin: left;
    transform: scaleX(1);
  }
  .modal_box .modal_inner .link_box:hover .link_box_inner span {
    color: #ffffff;
  }
  .modal_box .modal_inner .link_box:hover .link_box_inner span::before {
    filter: brightness(0) invert(1);
  }
}
@media screen and (max-width: 1024px) {
  .modal_box .modal_inner .link_box {
    width: 40.187vw;
    height: 8.879vw;
    padding: 0;
    clip-path: polygon(6% 0%, 100% 0, 100% 70%, 94% 100%, 0 100%, 0% 30%);
  }
  .modal_box .modal_inner .link_box .link_box_inner span {
    font-size: 3.505vw;
    padding-right: 3.505vw;
  }
  .modal_box .modal_inner .link_box .link_box_inner span::before {
    width: 2.336vw;
    height: 2.336vw;
  }
}
.modal_box .close_btn {
  width: 3.333vw;
  height: 3.333vw;
  background-image: url(../images/kanazawa/icon_close.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 1.563vw;
  right: 0;
  cursor: pointer;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .modal_box .close_btn {
    width: 9.813vw;
    height: 9.813vw;
    top: 3.505vw;
  }
}

.btn_guide {
  position: fixed;
  bottom: 3.5vw;
  right: 0;
  width: 9.063vw;
  height: 6.8vw;
  z-index: 88;
}
@media screen and (max-width: 1024px) {
  .btn_guide {
    width: 28.505vw;
    height: 20.5vw;
    bottom: 5vw;
    right: 0;
  }
}
@media screen and (min-width: 1024px) {
  .btn_guide:hover {
    animation: tikatika-Menu 0.1s linear infinite;
  }
}
.btn_guide.none {
  opacity: 0;
  pointer-events: none;
}
.btn_guide img {
  width: 9.063vw;
  position: absolute;
  bottom: 0;
  left: 0;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .btn_guide img {
    width: 28.505vw;
    pointer-events: auto;
  }
}

/* overlay at start */
.mfp-bg {
  opacity: 0;
  transition: all 0.15s ease-out;
}

/* overlay animate in */
.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */
.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.15s ease-out;
}

/* content animate it */
.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.movie-mfp .mfp-iframe-holder .mfp-content {
  min-height: auto;
}

.mfp-close {
  width: 3.333vw !important;
  height: 3.333vw;
  position: absolute;
  top: 0 !important;
  right: -4.4vw !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
@media screen and (max-width: 1024px) {
  .mfp-close {
    width: 9.813vw !important;
    height: 9.813vw;
    top: -13vw !important;
    right: 0 !important;
  }
}/*# sourceMappingURL=child-style.css.map */