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

html {
  font-size: 62.5%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html::-webkit-scrollbar {
  display: none;
}

body {
  font-size: 16px;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #ffffff;
  background: #000;
  position: relative;
}
body::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(./images/main_bg.webp) no-repeat center top/cover;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
@media screen and (max-width: 767px) {
  body::after {
    background: url(./images/main_bg_sp.webp) no-repeat center top/cover;
  }
}
body::before {
  content: "";
  width: 160%;
  height: 30vh;
  background-image: url(./images/main_back_pattern.svg);
  background-repeat: repeat;
  background-size: cover;
  background-position: 0 0;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) perspective(60px) rotate3d(1, 0, 0, 27deg);
  animation: scrollY 15s linear infinite;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  body::before {
    background-image: url(./images/main_back_pattern_sp.webp);
    opacity: 0.5;
    width: 300%;
    height: 53vh;
    transform: translateX(-50%) perspective(60px) rotate3d(1, 0, 0, 12deg);
    animation: scrollY 4s linear infinite;
  }
}
body img {
  max-width: 100%;
  width: 100%;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
  body img {
    pointer-events: none;
  }
}
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

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

.grid {
  display: grid;
}

header::before {
  content: "";
  width: 100%;
  height: 6.302vw;
  background: #201815;
  background: linear-gradient(0deg, rgba(32, 24, 21, 0) 0%, rgb(32, 24, 21) 100%);
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  header::before {
    background: linear-gradient(0deg, rgba(32, 24, 21, 0) 0%, rgb(32, 24, 21) 60%);
    height: 10%;
  }
}
header::after {
  content: "";
  width: 100%;
  height: 6.302vw;
  background: #201815;
  background: linear-gradient(180deg, rgba(32, 24, 21, 0) 0%, rgb(32, 24, 21) 80%);
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  header::after {
    height: 20%;
  }
}
header.active .main_frame {
  transform: translate(-50%, -50%) scale(1);
}
header.active .logo_tgs2025,
header.active .kv_btn,
header.active .scroll_down_box {
  opacity: 1;
  transition-delay: 0.5s;
}
@media screen and (min-width: 1025px) {
  header.active nav {
    opacity: 1;
    transition-delay: 0.5s;
  }
}
header .logo_tgs2025 {
  width: 40.26vw;
  margin: 0 auto;
  position: fixed;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1010;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  header .logo_tgs2025 {
    width: 22.43vw;
    top: 1%;
    z-index: 11;
  }
}
header .logo_tgs2025 a {
  display: block;
}
header .main_frame {
  width: 100%;
  height: 90%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.4s;
  pointer-events: none;
  z-index: 1010;
}
@media screen and (max-width: 1024px) {
  header .main_frame {
    z-index: 11;
    pointer-events: none;
  }
  header .main_frame.active {
    filter: brightness(0) invert(1);
  }
}
header .main_frame .main_frame_top::before, header .main_frame .main_frame_top::after {
  content: "";
  width: 23.49vw;
  height: 10.469vw;
  background-image: url(./images/main_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 1.042vw;
}
@media screen and (max-width: 1024px) {
  header .main_frame .main_frame_top::before, header .main_frame .main_frame_top::after {
    width: 32.477vw;
    height: 29.907vw;
    background-image: url(./images/main_frame_sp.webp);
    top: 0;
  }
}
header .main_frame .main_frame_top::before {
  left: 3.854vw;
}
@media screen and (max-width: 1024px) {
  header .main_frame .main_frame_top::before {
    left: 3.037vw;
  }
}
header .main_frame .main_frame_top::after {
  right: 3.854vw;
  transform: scale(-1, 1);
}
@media screen and (max-width: 1024px) {
  header .main_frame .main_frame_top::after {
    right: 3.037vw;
  }
}
header .main_frame .main_frame_bottom::before, header .main_frame .main_frame_bottom::after {
  content: "";
  width: 23.49vw;
  height: 10.469vw;
  background-image: url(./images/main_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  header .main_frame .main_frame_bottom::before, header .main_frame .main_frame_bottom::after {
    width: 32.477vw;
    height: 29.907vw;
    background-image: url(./images/main_frame_sp.webp);
  }
}
header .main_frame .main_frame_bottom::before {
  left: 3.854vw;
  transform: scale(1, -1);
}
@media screen and (max-width: 1024px) {
  header .main_frame .main_frame_bottom::before {
    left: 3.037vw;
  }
}
header .main_frame .main_frame_bottom::after {
  right: 3.854vw;
  transform: scale(-1, -1);
}
@media screen and (max-width: 1024px) {
  header .main_frame .main_frame_bottom::after {
    right: 3.037vw;
  }
}
header .kv_btn {
  width: 100%;
  height: 31.042vw;
  position: fixed;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  header .kv_btn {
    display: none;
  }
}
header .kv_btn ul {
  position: absolute;
  top: 0;
}
header .kv_btn ul.kv_btn_left {
  width: 31.354vw;
  height: 100%;
  left: -2.031vw;
}
header .kv_btn ul.kv_btn_right {
  width: 31.25vw;
  height: 100%;
  right: -2.031vw;
}
header .kv_btn ul li.kv_btn_li {
  width: 17.552vw;
  height: 15.208vw;
  position: absolute;
  z-index: 0;
}
header .kv_btn ul li.kv_btn_li::before, header .kv_btn ul li.kv_btn_li::after {
  content: "";
  width: 18.021vw;
  height: 15.677vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
header .kv_btn ul li.kv_btn_li::before {
  background-image: url(./images/kv_frame.webp);
  z-index: 1;
}
header .kv_btn ul li.kv_btn_li::after {
  background-image: url(./images/kv_back.webp);
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  header .kv_btn ul li.kv_btn_li.active a .kv_btn_li_inner::after {
    opacity: 0.7;
  }
  header .kv_btn ul li.kv_btn_li.active_on a .kv_btn_li_inner::before {
    opacity: 0.4;
  }
  header .kv_btn ul li.kv_btn_li.active_on a .kv_btn_logo {
    opacity: 1;
  }
}
header .kv_btn ul li.kv_btn_li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
@media screen and (min-width: 1024px) {
  header .kv_btn ul li.kv_btn_li a:hover .kv_btn_li_inner::before {
    opacity: 0.4;
  }
  header .kv_btn ul li.kv_btn_li a:hover .kv_btn_logo {
    opacity: 1;
  }
}
header .kv_btn ul li.kv_btn_li a .kv_btn_li_inner {
  width: 97%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  transform: translate(-50%, -50%);
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
header .kv_btn ul li.kv_btn_li a .kv_btn_li_inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #6e6e6e;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.4s;
}
header .kv_btn ul li.kv_btn_li a .kv_btn_li_inner::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.4s;
}
header .kv_btn ul li.kv_btn_li a .kv_btn_logo {
  width: 70%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0;
  transition: all 0.4s;
  text-align: center;
}
header .kv_btn ul li.kv_btn_dokoitsu {
  top: 0;
  right: 0;
}
header .kv_btn ul li.kv_btn_shiren {
  top: 7.813vw;
  left: 0;
}
header .kv_btn ul li.kv_btn_shiren a .kv_btn_logo {
  width: 60%;
}
header .kv_btn ul li.kv_btn_fruit {
  bottom: 0;
  right: 0;
}
header .kv_btn ul li.kv_btn_fruit a .kv_btn_logo {
  width: 60%;
}
header .kv_btn ul li.kv_btn_nikke {
  top: 0;
  left: 0;
}
header .kv_btn ul li.kv_btn_nikke a .kv_btn_logo {
  width: 60%;
}
header .kv_btn ul li.kv_btn_trigger {
  bottom: 0;
  left: 0;
}
header .nav_btn {
  display: none;
}
@media screen and (max-width: 1024px) {
  header .nav_btn {
    display: block;
    width: 7.71vw;
    height: 7.71vw;
    border: 1px solid #ff601e;
    border-radius: 50%;
    position: fixed;
    top: 3.505vw;
    left: 3.505vw;
    transition: all 0.4s;
    z-index: 11;
  }
  header .nav_btn span {
    display: block;
    width: 50%;
    height: 1px;
    background-color: #ff601e;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.4s;
  }
  header .nav_btn span:first-of-type {
    top: 28%;
  }
  header .nav_btn span:nth-of-type(2) {
    top: 50%;
  }
  header .nav_btn span:last-of-type {
    top: 68%;
  }
  header .nav_btn.active {
    border: 1px solid #ffffff;
  }
  header .nav_btn.active span {
    width: 60%;
    background-color: #ffffff;
  }
  header .nav_btn.active span:first-of-type {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  header .nav_btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .nav_btn.active span:last-of-type {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
header nav {
  width: 17.24vw;
  height: 14.896vw;
  position: fixed;
  top: 52%;
  right: -2.031vw;
  transform: translateY(-50%);
  z-index: 0;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  header nav {
    width: 100%;
    height: 110%;
    left: 50%;
    right: auto;
    background-color: #ff601e;
    transform: translate(-50%, -50%);
    z-index: 10;
    opacity: 0;
    pointer-events: none;
    padding: 0 0 24.772vw;
    overflow-y: auto;
    transition: all 0.4s;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  header nav {
    padding: 0 0;
    overflow-y: visible;
  }
}
header nav.active::before {
  opacity: 1;
}
@media screen and (max-width: 1024px) {
  header nav.active {
    opacity: 1;
    pointer-events: auto;
  }
}
header nav::before {
  content: "";
  width: 0.833vw;
  height: 0.573vw;
  background-color: #ff601e;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  bottom: 1.302vw;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
  opacity: 0;
  z-index: 2;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  header nav::before {
    content: none;
  }
}
header nav::after {
  content: "";
  width: 17.448vw;
  height: 15.104vw;
  background-image: url(./images/menu_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  header nav::after {
    content: none;
  }
}
header nav .nav_inner {
  height: 100%;
}
@media screen and (max-width: 1024px) {
  header nav .nav_inner {
    width: 100%;
    height: 74%;
    overflow-y: auto;
  }
}
header nav h2 {
  display: none;
}
@media screen and (max-width: 1024px) {
  header nav h2 {
    display: block;
    font-size: 12.15vw;
    font-family: "Iceberg", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
  }
}
header nav ul.menu_ul {
  width: 60%;
  height: 74%;
  margin-top: 2.083vw;
  margin-left: 3.3vw;
  padding-left: 0.104vw;
  font-family: "Iceberg", "M PLUS 1p", sans-serif;
  font-weight: 400;
  color: #ff601e;
  font-size: 1.042vw;
  overflow-y: auto;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul {
    width: 83%;
    height: auto;
    margin: 0 auto;
    color: #ffffff;
    font-size: 8vw;
    overflow-y: visible;
  }
}
header nav ul.menu_ul::-webkit-scrollbar {
  width: 0.26vw;
}
header nav ul.menu_ul::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 1.563vw;
}
header nav ul.menu_ul::-webkit-scrollbar-thumb {
  background: #ff7c1e;
  border-radius: 1.563vw;
}
@supports not selector(::-webkit-scrollbar) {
  header nav ul.menu_ul {
    scrollbar-color: #ff7c1e #ffffff;
  }
}
header nav ul.menu_ul li.menu_li {
  margin: 0.365vw 0;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li {
    margin: 3.505vw 0;
  }
}
header nav ul.menu_ul li.menu_li:first-of-type {
  margin-top: 0px;
}
header nav ul.menu_ul li.menu_li:last-of-type {
  margin-bottom: 0.26vw;
}
header nav ul.menu_ul li.menu_li a {
  padding-left: 1.25vw;
  position: relative;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) {
  header nav ul.menu_ul li.menu_li a:hover {
    filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li a {
    padding-left: 8.879vw;
  }
}
header nav ul.menu_ul li.menu_li a::before {
  content: "";
  width: 1.302vw;
  height: 1.146vw;
  background-image: url(./images/menu_icon.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: -0.052vw;
  transition: all 0.4s;
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li a::before {
    width: 8.645vw;
    height: 7.71vw;
    background-image: url(./images/menu_icon_sp.webp);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}
header nav ul.menu_ul li.menu_li a.menu-lineup::after {
  content: "";
  width: 0.521vw;
  height: 0.521vw;
  background-color: #ff601e;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  top: 48%;
  right: -0.8vw;
  transform: translateY(-50%);
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
}
header nav ul.menu_ul li.menu_li a span {
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
}
header nav ul.menu_ul li.menu_li.active {
  font-size: 1.25vw;
  color: #ffaa6e;
  margin-bottom: 0.729vw;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active {
    font-size: 8vw;
    color: #ffffff;
  }
}
header nav ul.menu_ul li.menu_li.active a {
  padding-left: 1.563vw;
}
@media screen and (min-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active a:hover {
    filter: none;
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active a {
    padding-left: 8.879vw;
  }
}
header nav ul.menu_ul li.menu_li.active a::before {
  content: "";
  width: 1.979vw;
  height: 1.823vw;
  background-image: url(./images/menu_icon_active.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -0.208vw;
  left: -0.417vw;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active a::before {
    width: 8.645vw;
    height: 7.71vw;
    background-image: url(./images/menu_icon_sp.webp);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}
header nav ul.menu_ul li.menu_li.active a span {
  position: relative;
  text-shadow: none;
  filter: drop-shadow(0px 0px 2px rgb(255, 96, 30)) drop-shadow(0px 0px 2px rgb(255, 96, 30));
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active a span {
    filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
  }
}
header nav ul.menu_ul li.menu_li.active a span::after {
  content: "";
  width: 100%;
  height: 0.104vw;
  background-color: #ffaa6e;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active a span::after {
    content: none;
  }
}
header nav ul.menu_ul li.menu_li.active .menu_intro_ul {
  font-size: 0.729vw;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  text-indent: -1em;
  padding-left: 1em;
  margin-left: 0.417vw;
  display: none;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul {
    font-size: 3.7vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.336vw;
    margin-top: 2.336vw;
    margin-left: 0;
  }
}
@media screen and (min-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul.goods_active_ul {
    display: block;
  }
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul.goods_active_ul li.goods_active_li {
    color: #ffaa6e;
  }
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul.goods_active_ul li.goods_active_li a::before {
    background-color: #ffaa6e;
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul.goods_active_ul li.menu_intro_li {
    color: #ffffff;
  }
}
header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li {
  margin: 0.417vw 0;
  color: #ff601e;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li {
    padding-left: 3.1vw;
  }
}
header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li a {
  position: relative;
  padding-left: 0.625vw;
}
@media screen and (min-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li a:hover {
    filter: none;
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li a {
    padding-left: 3.1vw;
  }
}
header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li a::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #ff601e;
  position: absolute;
  top: 0.35vw;
  left: 0;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li a::before {
    width: 1.869vw;
    height: 1.869vw;
    background-color: #ffffff;
    top: 2.57vw;
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li:nth-child(1) {
    order: 1;
  }
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li:nth-child(4) {
    order: 2;
  }
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li:nth-child(2) {
    order: 3;
  }
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li:nth-child(5) {
    order: 4;
  }
  header nav ul.menu_ul li.menu_li.active .menu_intro_ul li.menu_intro_li:nth-child(3) {
    order: 5;
    margin-top: -2.336vw;
  }
}
header nav ul.menu_intro_ul {
  font-size: 0.729vw;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  text-indent: -1em;
  padding-left: 1em;
  margin-left: 0.417vw;
  display: none;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_intro_ul {
    font-size: 3.7vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.336vw;
    margin-top: 2.336vw;
    margin-left: 0;
  }
}
header nav ul.menu_intro_ul li.menu_intro_li {
  margin: 0.417vw 0;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_intro_ul li.menu_intro_li {
    padding-left: 3.1vw;
  }
}
header nav ul.menu_intro_ul li.menu_intro_li a {
  position: relative;
  padding-left: 0.625vw;
}
@media screen and (min-width: 1024px) {
  header nav ul.menu_intro_ul li.menu_intro_li a:hover {
    filter: none;
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_intro_ul li.menu_intro_li a {
    padding-left: 3.1vw;
  }
}
header nav ul.menu_intro_ul li.menu_intro_li a::before {
  content: "";
  width: 0.313vw;
  height: 0.313vw;
  background-color: #ff601e;
  position: absolute;
  top: 0.208vw;
  left: 0;
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_intro_ul li.menu_intro_li a::before {
    width: 1.869vw;
    height: 1.869vw;
    background-color: #ffffff;
    top: 2.57vw;
  }
}
@media screen and (max-width: 1024px) {
  header nav ul.menu_intro_ul li.menu_intro_li:nth-child(1) {
    order: 1;
  }
  header nav ul.menu_intro_ul li.menu_intro_li:nth-child(4) {
    order: 2;
  }
  header nav ul.menu_intro_ul li.menu_intro_li:nth-child(2) {
    order: 3;
  }
  header nav ul.menu_intro_ul li.menu_intro_li:nth-child(5) {
    order: 4;
  }
  header nav ul.menu_intro_ul li.menu_intro_li:nth-child(3) {
    order: 5;
    margin-top: -2.336vw;
  }
}
header nav .menu_footer {
  display: none;
}
@media screen and (max-width: 1024px) {
  header nav .menu_footer {
    display: block;
    position: relative;
    width: 83%;
    margin: 0 auto;
    margin-top: 4vw;
    padding-top: 6vw;
  }
  header nav .menu_footer::before {
    content: "";
    width: 82.71vw;
    height: 1.869vw;
    background: url(./images/menu_line_sp.webp) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  header nav .menu_footer .logo_box {
    width: 27.336vw;
    margin: 0 auto;
    margin-bottom: 2.336vw;
  }
  header nav .menu_footer .copy_txt_box {
    font-size: 2.804vw;
    line-height: 1.5;
    text-align: center;
  }
}
header .language_box {
  width: 5.833vw;
  position: fixed;
  top: 0.885vw;
  right: 1.563vw;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
  z-index: 1010;
}
@media screen and (max-width: 1024px) {
  header .language_box {
    width: 19.393vw;
    top: 2.57vw;
    right: 4.673vw;
    z-index: 9;
  }
}
header .language_box::before {
  content: "";
  width: 1.094vw;
  height: 1.198vw;
  background: url(./images/icon_world.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1024px) {
  header .language_box::before {
    width: 3.271vw;
    height: 3.271vw;
  }
}
header .language_box .language_box_ul {
  display: flex;
  font-size: 0.781vw;
  margin-left: 1.615vw;
}
@media screen and (max-width: 1024px) {
  header .language_box .language_box_ul {
    font-size: 2.804vw;
    margin-left: 3.972vw;
  }
}
header .language_box .language_box_ul li {
  position: relative;
}
header .language_box .language_box_ul li:first-of-type {
  padding-right: 0.521vw;
  margin-right: 0.521vw;
}
@media screen and (max-width: 1024px) {
  header .language_box .language_box_ul li:first-of-type {
    padding-right: 1.9vw;
    margin-right: 1.5vw;
  }
}
header .language_box .language_box_ul li:first-of-type::after {
  content: "";
  width: 0.156vw;
  height: 0.781vw;
  line-height: 1.5;
  background-color: #ffffff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  header .language_box .language_box_ul li:first-of-type::after {
    width: 2px;
    height: 2.804vw;
  }
}
header .language_box .language_box_ul li.active {
  color: #ff601e;
}
header .language_box .language_box_ul li.active span::before {
  width: 100%;
  background-color: #ff601e;
}
@media screen and (min-width: 767px) {
  header .language_box .language_box_ul li a:hover span::before {
    width: 100%;
  }
}
header .language_box .language_box_ul li span {
  position: relative;
}
header .language_box .language_box_ul li span::before {
  content: "";
  width: 0%;
  height: 0.104vw;
  background-color: #ffffff;
  position: absolute;
  bottom: -0.156vw;
  left: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  header .language_box .language_box_ul li span::before {
    height: 2px;
    bottom: -0.234vw;
  }
}
header .scroll_down_box {
  display: block;
  width: 7.135vw;
  position: fixed;
  bottom: 4%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  animation: tonton 2s ease-in-out infinite;
  opacity: 0;
  transition: all 0.4s;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  header .scroll_down_box {
    width: 21.495vw;
    z-index: 9;
  }
}
header .scroll_down_box.fadeout {
  opacity: 0;
  transition-delay: 0s;
  pointer-events: none;
}
header .scroll_down_box a {
  display: block;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  header .scroll_down_box a {
    pointer-events: auto;
  }
}

main {
  position: relative;
  width: 100%;
  max-width: 41vw;
  margin: 0 auto;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main {
    max-width: 90vw;
  }
}
main.active {
  opacity: 1;
  transition-delay: 0.5s;
}
main .inner {
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  main.en h2 {
    font-size: 13.551vw;
    padding-bottom: 6vw;
    margin-bottom: 4.5vw;
  }
}
main h2 {
  font-family: "Iceberg", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3.958vw;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #ff601e;
  text-align: center;
  position: relative;
  padding-bottom: 2.083vw;
  margin-bottom: 2.344vw;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
}
@media screen and (max-width: 1024px) {
  main h2 {
    font-size: 12.15vw;
    padding-bottom: 9.346vw;
    margin-bottom: 3vw;
  }
}
main h2 .subtitle {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  font-size: 1.458vw;
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  main h2 .subtitle {
    font-size: 4.673vw;
  }
}
main h2::after {
  content: "";
  width: 40.469vw;
  height: 1.146vw;
  background-image: url(./images/heading_line.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  main h2::after {
    width: 83.879vw;
    height: 4.439vw;
    background-image: url(./images/heading_line_sp.webp);
  }
}
main #mv .inner {
  max-width: 39.948vw;
  padding-top: 11.719vw;
  padding-bottom: 5.208vw;
}
@media screen and (max-width: 1024px) {
  main #mv .inner {
    max-width: 89.953vw;
    padding-top: 32.243vw;
    padding-bottom: 23.364vw;
  }
}
@media screen and (max-width: 1024px) {
  main #mv h1 {
    width: 70%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  main #mv h1 {
    width: 90%;
  }
}
main #mv .booth_box {
  width: 38.854vw;
  height: 4.323vw;
  margin: 0 auto;
  margin-top: 1.563vw;
  margin-bottom: 1.823vw;
  background-image: url(./images/mv_booth_back.webp);
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
  font-size: 1.979vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
main #mv .booth_box small {
  font-size: 69%;
}
@media screen and (max-width: 1024px) {
  main #mv .booth_box {
    width: 90%;
    height: 9.346vw;
    margin-top: 3.505vw;
    margin-bottom: 3.037vw;
    background-image: url(./images/mv_booth_back_sp.webp);
    font-size: 4.206vw;
  }
  main #mv .booth_box small {
    font-size: 78%;
  }
}
main #mv .booth_box .booth_box_frame {
  width: 102%;
  height: 115%;
  position: absolute;
  top: -0.312vw;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  main #mv .booth_box .booth_box_frame {
    width: 103%;
    height: 125%;
    top: -1.168vw;
  }
}
main #mv .booth_box .booth_box_frame .booth_box_frame_top::before, main #mv .booth_box .booth_box_frame .booth_box_frame_top::after {
  content: "";
  width: 1.927vw;
  height: 1.927vw;
  background-image: url(./images/mv_booth_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 1024px) {
  main #mv .booth_box .booth_box_frame .booth_box_frame_top::before, main #mv .booth_box .booth_box_frame .booth_box_frame_top::after {
    width: 5.14vw;
    height: 5.14vw;
    background-image: url(./images/mv_booth_frame_sp.webp);
  }
}
main #mv .booth_box .booth_box_frame .booth_box_frame_top::before {
  left: 0;
}
main #mv .booth_box .booth_box_frame .booth_box_frame_top::after {
  right: 0;
  transform: scale(-1, 1);
}
main #mv .booth_box .booth_box_frame .booth_box_frame_bottom::before, main #mv .booth_box .booth_box_frame .booth_box_frame_bottom::after {
  content: "";
  width: 1.927vw;
  height: 1.927vw;
  background-image: url(./images/mv_booth_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  main #mv .booth_box .booth_box_frame .booth_box_frame_bottom::before, main #mv .booth_box .booth_box_frame .booth_box_frame_bottom::after {
    width: 5.14vw;
    height: 5.14vw;
    background-image: url(./images/mv_booth_frame_sp.webp);
  }
}
main #mv .booth_box .booth_box_frame .booth_box_frame_bottom::before {
  left: 0;
  transform: scale(1, -1);
}
main #mv .booth_box .booth_box_frame .booth_box_frame_bottom::after {
  right: 0;
  transform: scale(-1, -1);
}
main #mv .date_box {
  justify-content: space-between;
  gap: 1.458vw;
}
@media screen and (max-width: 1024px) {
  main #mv .date_box {
    gap: 0;
    width: 90%;
    margin: 0 auto;
  }
}
main #mv .date_box .date_box_inner {
  width: 19.271vw;
  height: 5.885vw;
  background-image: url(./images/mv_date_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  main #mv .date_box .date_box_inner {
    width: 41.589vw;
    height: 14.252vw;
    background-image: url(./images/mv_date_frame_sp.webp);
  }
}
main #mv .date_box .date_box_inner.en img {
  height: 1.979vw;
}
@media screen and (max-width: 1024px) {
  main #mv .date_box .date_box_inner.en img {
    height: 4.5vw;
  }
}
main #mv .date_box .date_box_inner p {
  font-size: 0.938vw;
  padding-top: 0.625vw;
  padding-left: 1vw;
  text-align: left;
}
@media screen and (max-width: 1024px) {
  main #mv .date_box .date_box_inner p {
    font-size: 3.271vw;
    padding-top: 1.402vw;
    padding-left: 2.103vw;
  }
}
main #mv .date_box .date_box_inner img {
  width: auto;
  height: 1.719vw;
  margin-top: 1.25vw;
}
@media screen and (max-width: 1024px) {
  main #mv .date_box .date_box_inner img {
    height: 4.206vw;
    margin-top: 1.869vw;
  }
}
@media screen and (max-width: 1024px) {
  main #mv .date_box .date_box_inner.general_date p {
    padding-left: 3.505vw;
  }
}
main #mv .mv_kv {
  display: none;
}
@media screen and (max-width: 1024px) {
  main #mv .mv_kv {
    display: block;
    width: 66%;
    height: 45vw;
    margin: 0 auto;
    margin-top: 0.374vw;
    position: relative;
  }
  main #mv .mv_kv ul li.kv_btn_li {
    width: 24.813vw;
    height: 22.14vw;
    position: absolute;
    z-index: 0;
  }
  main #mv .mv_kv ul li.kv_btn_li::before, main #mv .mv_kv ul li.kv_btn_li::after {
    content: "";
    width: 95%;
    height: 95%;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  main #mv .mv_kv ul li.kv_btn_li::before {
    background-image: url(./images/kv_frame.webp);
    z-index: 1;
  }
  main #mv .mv_kv ul li.kv_btn_li::after {
    background-image: url(./images/kv_back.webp);
    z-index: -1;
  }
  main #mv .mv_kv ul li.kv_btn_li a {
    display: block;
    width: 90%;
    height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  }
  main #mv .mv_kv ul li.kv_btn_li a .kv_btn_li_inner {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, -50%);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  }
  main #mv .mv_kv ul li.kv_btn_li a .kv_btn_li_inner::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #6e6e6e;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    transition: all 0.4s;
  }
  main #mv .mv_kv ul li.kv_btn_li a .kv_btn_logo {
    width: 70%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    opacity: 0;
    transition: all 0.4s;
  }
  main #mv .mv_kv ul li.kv_btn_dokoitsu {
    top: 0;
    left: 0;
  }
  main #mv .mv_kv ul li.kv_btn_shiren {
    bottom: 0;
    right: 0;
  }
  main #mv .mv_kv ul li.kv_btn_fruit {
    bottom: 0;
    left: 0;
  }
  main #mv .mv_kv ul li.kv_btn_nikke {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  main #mv .mv_kv ul li.kv_btn_trigger {
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  main #mv .mv_kv {
    width: 96%;
    height: 60vw;
  }
  main #mv .mv_kv ul li.kv_btn_li {
    width: 34.813vw;
    height: 30.14vw;
  }
}
main #intro {
  padding-top: 8.854vw;
  margin-top: -8.854vw;
}
@media screen and (max-width: 1024px) {
  main #intro {
    padding-top: 28.037vw;
    margin-top: -28.037vw;
  }
}
main #intro .inner {
  max-width: 40.469vw;
  padding-top: 0;
  padding-bottom: 4.167vw;
}
@media screen and (max-width: 1024px) {
  main #intro .inner {
    max-width: 83.879vw;
    padding-top: 0;
    padding-bottom: 21.028vw;
  }
}
main #intro p {
  width: 38.854vw;
  margin: 0 auto;
  font-size: 1.354vw;
  line-height: 2;
  text-shadow: 0px 0px 6px rgb(255, 96, 30);
}
@media screen and (max-width: 1024px) {
  main #intro p {
    width: 75.467vw;
    font-size: 3.206vw;
    line-height: 1.77;
  }
}
@media screen and (max-width: 767px) {
  main #intro p {
    font-size: 4.206vw;
  }
}
main #intro p.en {
  font-size: 1.25vw;
  line-height: 1.6;
}
@media screen and (max-width: 1024px) {
  main #intro p.en {
    width: 81.5vw;
    font-size: 3.206vw;
    line-height: 1.44;
  }
}
@media screen and (max-width: 767px) {
  main #intro p.en {
    font-size: 4.206vw;
  }
}
main #lineup {
  padding-top: 8.854vw;
  margin-top: -8.854vw;
}
@media screen and (max-width: 1024px) {
  main #lineup {
    padding-top: 28.037vw;
    margin-top: -28.037vw;
  }
}
main #lineup .inner {
  max-width: 40.469vw;
  padding-top: 0;
  padding-bottom: 4.167vw;
}
@media screen and (max-width: 1024px) {
  main #lineup .inner {
    max-width: 83.879vw;
    padding-top: 0;
    padding-bottom: 21.028vw;
  }
}
main #lineup .lineup_ul {
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0;
  margin-top: -1.5vw;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul {
    max-width: 76.402vw;
    margin: 0 auto;
    margin-top: 5.841vw;
    flex-direction: column;
    gap: 2.972vw 0;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_ul {
    gap: 3.972vw 0;
  }
}
main #lineup .lineup_ul .lineup_li {
  width: 13.333vw;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li {
    width: 100%;
  }
}
main #lineup .lineup_ul .lineup_li a {
  display: block;
}
@media screen and (min-width: 1024px) {
  main #lineup .lineup_ul .lineup_li a:hover .lineup_btn::after {
    opacity: 1;
  }
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li a {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_title_img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.688vw;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img {
    width: 35.748vw;
    height: 10.019vw;
    margin-right: 4.673vw;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img {
    height: 14.019vw;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_title_img img {
  width: 12.135vw;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img img {
    width: 100%;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_nikke {
  padding: 0.208vw 0;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_nikke {
    padding: 0;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_trigger {
  padding: 0.313vw 0;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_trigger {
    padding: 0;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_dokoitsu {
  height: 7.5vw;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_dokoitsu {
    padding: 0;
    height: auto;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_fruit {
  height: 7.5vw;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_fruit {
    height: 17.364vw;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_ul .lineup_li .lineup_title_img.lineup_title_img_fruit {
    height: 23.364vw;
  }
}
main #lineup .lineup_ul .lineup_li p {
  font-size: 0.9vw;
  margin-top: 0.938vw;
  margin-bottom: 0.156vw;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li p {
    font-size: 2.271vw;
    margin-top: 0;
    margin-bottom: 1.636vw;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_ul .lineup_li p {
    font-size: 3.271vw;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_btn {
  font-family: "Iceberg", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.146vw;
  position: relative;
  width: 100%;
  height: 3.073vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_btn {
    font-size: 2.738vw;
    width: 31.449vw;
    height: 6.009vw;
  }
}
@media screen and (max-width: 767px) {
  main #lineup .lineup_ul .lineup_li .lineup_btn {
    font-size: 3.738vw;
    width: 36.449vw;
    height: 7.009vw;
  }
}
@media screen and (min-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_btn:hover::after {
    opacity: 1;
  }
}
main #lineup .lineup_ul .lineup_li .lineup_btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(./images/lineup_btn_click_back.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_btn::before {
    background-image: url(./images/lineup_btn_click_back_sp.webp);
  }
}
main #lineup .lineup_ul .lineup_li .lineup_btn::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(./images/lineup_btn_click_back_hover.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main #lineup .lineup_ul .lineup_li .lineup_btn::after {
    content: none;
  }
}
main #guide {
  font-size: 1.042vw;
  font-weight: 700;
  line-height: 1.7;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
  padding-top: 8.854vw;
  margin-top: -8.854vw;
  /* ドットの位置 */
  /* 数字の位置 */
}
@media screen and (max-width: 1024px) {
  main #guide {
    font-size: 3.738vw;
    line-height: 1.5;
    padding-top: 28.037vw;
    margin-top: -28.037vw;
  }
}
main #guide h3 {
  font-size: 1.354vw;
  font-weight: 800;
  margin-bottom: 0.521vw;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 1024px) {
  main #guide h3 {
    font-size: 4.206vw;
    margin-bottom: 1.402vw;
  }
}
main #guide .emphasis-text {
  font-size: 1.302vw;
  font-weight: 800;
  text-align: center;
  position: relative;
}
main #guide .emphasis-text::after {
  content: "";
  width: 100%;
  height: 0.104vw;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
}
@media screen and (max-width: 1024px) {
  main #guide .emphasis-text {
    font-size: 4.673vw;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 1.168vw;
  }
  main #guide .emphasis-text::after {
    content: none;
  }
}
main #guide .emphasis-text.en {
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 0.5vw;
}
main #guide .emphasis-text.en::after {
  content: none;
}
@media screen and (max-width: 1024px) {
  main #guide .emphasis-text.en {
    text-underline-offset: 1.168vw;
  }
}
main #guide .inner {
  max-width: 40.469vw;
  padding-top: 0;
  padding-bottom: 4.167vw;
}
@media screen and (max-width: 1024px) {
  main #guide .inner {
    max-width: 83.879vw;
    padding-top: 0;
    padding-bottom: 21.028vw;
  }
}
main #guide .guide_inner {
  padding-left: 0.833vw;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_inner {
    padding-left: 0;
  }
}
main #guide .inner_in_type01 {
  width: 100%;
  max-width: 38.854vw;
}
@media screen and (max-width: 1024px) {
  main #guide .inner_in_type01 {
    max-width: none;
  }
}
main #guide .inner_in_type01.en {
  max-width: 40vw;
}
@media screen and (max-width: 1024px) {
  main #guide .inner_in_type01.en {
    max-width: none;
  }
}
main #guide .inner_in_type01.en p {
  line-height: 1.5;
}
main #guide .slider_box_inner {
  position: relative;
  height: 29.479vw;
  background-image: url(./images/slider_frame.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  main #guide .slider_box_inner {
    height: 118.224vw;
    background-image: url(./images/slider_frame_sp.webp);
  }
}
main #guide .swiper {
  width: 80%;
  position: relative;
}
main #guide .swiper-wrapper {
  transition-timing-function: linear;
}
main #guide .howto_slider_step_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
  width: 30.677vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_step_box {
    flex-direction: column;
    justify-content: flex-start;
    width: 60.514vw;
    height: 110.748vw;
    position: relative;
    margin: 0 auto;
  }
}
main #guide .howto_slider_step_box .img {
  width: 13.802vw;
  padding-left: 0.208vw;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_step_box .img {
    width: 42.757vw;
    margin-top: 9.346vw;
  }
}
main #guide .howto_slider_step_box .txt {
  width: 15.417vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_step_box .txt {
    width: 100%;
    margin-top: 2.336vw;
  }
}
main #guide .howto_slider_step_box .txt .step_txt {
  color: #ff601e;
  font-size: 2.188vw;
  font-family: "Iceberg", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_step_box .txt .step_txt {
    font-size: 5.14vw;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
main #guide .howto_slider_step_box .txt .howto_txt {
  font-size: 1.458vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_step_box .txt .howto_txt {
    font-size: 3.1vw;
  }
}
main #guide .swiper-pagination-bullets {
  position: absolute;
  bottom: 2.636vw;
  width: 100%;
  text-align: center;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.1vw;
  display: none;
}
@media screen and (max-width: 1024px) {
  main #guide .swiper-pagination-bullets {
    display: flex;
  }
}
main #guide .swiper-pagination-bullet {
  border: 1px solid #ff601e;
  background-color: transparent;
  height: 1.869vw;
  width: 1.869vw;
  opacity: 1;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
}
main #guide .swiper-pagination-bullet-active {
  background-color: #ff601e;
}
main #guide .swiper-pagination-fraction-custom {
  position: absolute;
  top: 1.563vw;
  right: 2.083vw;
  width: 2.448vw;
  height: 2.448vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  font-family: sans-serif;
  font-weight: bold;
  color: #ff601e;
  z-index: 10;
}
@media screen and (max-width: 1024px) {
  main #guide .swiper-pagination-fraction-custom {
    width: 8.411vw;
    height: 8.411vw;
    top: 1.168vw;
    right: 9.346vw;
    display: none;
  }
}
main #guide .swiper-pagination-fraction-custom .current,
main #guide .swiper-pagination-fraction-custom .total {
  font-family: "Iceberg", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.042vw;
  line-height: 1;
  position: absolute;
}
@media screen and (max-width: 1024px) {
  main #guide .swiper-pagination-fraction-custom .current,
  main #guide .swiper-pagination-fraction-custom .total {
    font-size: 3.738vw;
  }
}
main #guide .swiper-pagination-fraction-custom .current {
  top: 0;
  left: 0;
}
main #guide .swiper-pagination-fraction-custom .total {
  bottom: 0;
  right: 0;
}
main #guide .swiper-pagination-fraction-custom .divider {
  width: 0.052vw;
  height: 2.76vw;
  background-color: #ff601e;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 1024px) {
  main #guide .swiper-pagination-fraction-custom .divider {
    width: 0.234vw;
    height: 9.813vw;
  }
}
main #guide .swiper-button-prev,
main #guide .swiper-button-next {
  height: 3.281vw;
  width: 2.917vw;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main #guide .swiper-button-prev,
  main #guide .swiper-button-next {
    height: 11.215vw;
    width: 10.047vw;
  }
}
main #guide .swiper-button-prev::after,
main #guide .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 3.281vw;
  margin: auto;
  width: 2.917vw;
  background-image: url(./images/guide_slider_arrow.webp);
}
@media screen and (max-width: 1024px) {
  main #guide .swiper-button-prev::after,
  main #guide .swiper-button-next::after {
    height: 11.215vw;
    width: 10.047vw;
  }
}
main #guide .swiper-button-next {
  right: 0;
}
@media screen and (min-width: 1024px) {
  main #guide .swiper-button-next:hover {
    transform: translateX(5%);
  }
}
main #guide .swiper-button-prev {
  left: 0;
}
@media screen and (min-width: 1024px) {
  main #guide .swiper-button-prev:hover {
    transform: translateX(-5%);
  }
}
main #guide .swiper-button-prev::after {
  transform: scale(-1, 1);
}
main #guide .swiper-button-disabled {
  display: none;
}
main #guide .howto_box {
  margin-bottom: 1.563vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_box {
    margin-bottom: 4.673vw;
  }
}
main #guide .howto_slider_box {
  margin-bottom: 2.604vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_box {
    margin-bottom: 8.178vw;
  }
}
main #guide .howto_slider_box h3 {
  text-align: center;
}
main #guide .howto_slider_box .order_btn_box {
  font-size: 1.146vw;
  font-weight: 900;
  width: 17.552vw;
  height: 4.792vw;
  margin: 0 auto;
  margin-top: 1.563vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_box .order_btn_box {
    font-size: 3.906vw;
    width: 60.059vw;
    height: 16.406vw;
    margin-top: 4.883vw;
  }
}
@media screen and (max-width: 767px) {
  main #guide .howto_slider_box .order_btn_box {
    font-size: 4.206vw;
    width: 66.355vw;
    height: 17.757vw;
    margin-top: 5.841vw;
  }
}
main #guide .howto_slider_box .order_btn_box .order_btn {
  width: 100%;
  height: 100%;
  padding-left: 1.3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_box .order_btn_box .order_btn {
    padding-left: 6vw;
  }
}
@media screen and (min-width: 1024px) {
  main #guide .howto_slider_box .order_btn_box .order_btn:hover::before {
    opacity: 0;
  }
  main #guide .howto_slider_box .order_btn_box .order_btn:hover::after {
    opacity: 1;
  }
}
main #guide .howto_slider_box .order_btn_box .order_btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(./images/guide_btn_order.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  z-index: -1;
  transition: all 0.4s;
}
main #guide .howto_slider_box .order_btn_box .order_btn::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(./images/guide_btn_order_hover.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: -1;
  transition: all 0.4s;
}
main #guide .howto_slider_box .guide_important_box {
  margin-left: -0.469vw;
  margin-top: 1.563vw;
  color: #ff601e;
  align-items: center;
  width: 100%;
}
main #guide .howto_slider_box .guide_important_box .guide_important_box_left {
  width: 15%;
}
main #guide .howto_slider_box .guide_important_box .guide_important_box_right {
  width: 85%;
}
main #guide .howto_slider_box .guide_important_box.en .guide_important_box_left {
  width: 18%;
}
main #guide .howto_slider_box .guide_important_box.en .guide_important_box_right {
  width: 84%;
  margin-left: 0.521vw;
}
@media screen and (max-width: 1024px) {
  main #guide .howto_slider_box .guide_important_box {
    margin-left: -2.336vw;
    margin-top: 4.673vw;
  }
  main #guide .howto_slider_box .guide_important_box .guide_important_box_left {
    width: 26%;
    margin-right: 3.271vw;
  }
  main #guide .howto_slider_box .guide_important_box .guide_important_box_right {
    width: 71%;
    font-size: 3.271vw;
  }
  main #guide .howto_slider_box .guide_important_box.en .guide_important_box_left {
    width: 26%;
  }
  main #guide .howto_slider_box .guide_important_box.en .guide_important_box_right {
    width: 71%;
    margin-left: 0;
  }
}
main #guide .payment_box {
  margin-bottom: 2.083vw;
}
@media screen and (max-width: 1024px) {
  main #guide .payment_box {
    margin-bottom: 4.673vw;
  }
}
main #guide .payment_box .payment_img {
  width: 37.188vw;
  margin-top: 1.042vw;
}
@media screen and (max-width: 1024px) {
  main #guide .payment_box .payment_img {
    width: 85.514vw;
    margin-top: 2.336vw;
  }
}
main #guide .aboutsale_box {
  margin-bottom: 1.563vw;
}
@media screen and (max-width: 1024px) {
  main #guide .aboutsale_box {
    margin-bottom: 5.841vw;
  }
}
main #guide .aboutsale_box .limit-text {
  position: relative;
  font-weight: 800;
}
main #guide .aboutsale_box .limit-text::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #ff601e;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  main #guide .aboutsale_box .limit-text::after {
    height: 2px;
    bottom: -0.467vw;
  }
}
main #guide .aboutsale_box .orange-text {
  color: #ff601e;
}
main #guide .return_exchange_box {
  margin-bottom: 1.823vw;
}
@media screen and (max-width: 1024px) {
  main #guide .return_exchange_box {
    margin-bottom: 5.841vw;
  }
}
main #guide .guide_check_box {
  margin-bottom: 2.083vw;
  background-color: rgba(255, 255, 255, 0.3);
  border: 2px solid #ff601e;
  justify-content: space-between;
  padding: 0.677vw 1.25vw 0.677vw 2.083vw;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box {
    margin-bottom: 7.009vw;
    display: block;
    padding: 1.402vw 2.57vw 1.869vw 2.57vw;
    position: relative;
  }
}
main #guide .guide_check_box.en {
  padding: 0.3vw 0.25vw 0.3vw 2.083vw;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box.en {
    padding: 1.402vw 2.57vw 1.869vw 2.57vw;
  }
}
main #guide .guide_check_box .guide_check_box_left {
  width: 11%;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box .guide_check_box_left {
    width: 14.252vw;
    position: absolute;
    top: 1.402vw;
    left: 2.57vw;
  }
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box .guide_check_box_left.en {
    top: 7.1vw;
  }
}
main #guide .guide_check_box .guide_check_box_right {
  width: 86%;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box .guide_check_box_right {
    width: 100%;
    margin-top: 1.402vw;
  }
  main #guide .guide_check_box .guide_check_box_right p:first-of-type {
    margin-left: 16.355vw;
  }
  main #guide .guide_check_box .guide_check_box_right p:nth-of-type(2) {
    font-size: 3.037vw;
    margin-top: 1.869vw;
  }
}
main #guide .guide_check_box .guide_check_box_right.en p:first-of-type {
  font-size: 0.938vw;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box .guide_check_box_right.en p:first-of-type {
    font-size: 3.738vw;
  }
}
main #guide .guide_check_box .guide_check_box_right.en p:nth-of-type(2) {
  font-size: 0.781vw;
}
@media screen and (max-width: 1024px) {
  main #guide .guide_check_box .guide_check_box_right.en p:nth-of-type(2) {
    font-size: 3.271vw;
  }
}
main #guide .resale_box {
  margin-bottom: 1.563vw;
}
@media screen and (max-width: 1024px) {
  main #guide .resale_box {
    margin-bottom: 5.841vw;
  }
}
main #guide .resale_box.en a::after {
  top: 1.823vw;
  transform: none;
}
@media screen and (max-width: 1024px) {
  main #guide .resale_box.en a::after {
    top: auto;
    right: -0.813vw;
  }
}
main #guide .resale_box a {
  color: #ffffff;
  text-decoration: underline;
  position: relative;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) {
  main #guide .resale_box a:hover {
    color: #ff601e;
  }
  main #guide .resale_box a:hover::after {
    filter: brightness(1) invert(0) drop-shadow(0px 0px 1px rgb(255, 96, 30));
  }
}
@media screen and (max-width: 1024px) {
  main #guide .resale_box a {
    color: #ff601e;
  }
}
main #guide .resale_box a::after {
  content: "";
  width: 1.302vw;
  height: 1.302vw;
  background: url(./images/icon_link.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  filter: brightness(0) invert(1) drop-shadow(0px 0px 1px rgb(255, 96, 30));
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main #guide .resale_box a::after {
    width: 5.14vw;
    height: 5.607vw;
    top: auto;
    bottom: 0;
    right: 15.187vw;
    transform: none;
    filter: brightness(1) invert(0) drop-shadow(0px 0px 1px rgb(255, 96, 30));
  }
}
main #guide .emergency_box {
  margin-bottom: 1.823vw;
}
@media screen and (max-width: 1024px) {
  main #guide .emergency_box {
    margin-bottom: 4.673vw;
  }
}
main #info {
  padding-top: 8.854vw;
  margin-top: -8.854vw;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
}
@media screen and (max-width: 1024px) {
  main #info {
    padding-top: 28.037vw;
    margin-top: -28.037vw;
  }
}
main #info .inner {
  max-width: 38.6vw;
  padding-top: 0;
  padding-bottom: 2.042vw;
}
@media screen and (max-width: 1024px) {
  main #info .inner {
    max-width: 83.879vw;
    padding-top: 0;
    padding-bottom: 3vw;
  }
}
@media screen and (max-width: 1024px) {
  main #info footer .inner {
    margin-bottom: 25vw;
  }
}
main #info h2 {
  margin-bottom: 0.344vw;
}
@media screen and (max-width: 1024px) {
  main #info h2 {
    margin-bottom: 3vw;
  }
}
main #info .info_ul {
  font-size: 1.458vw;
  line-height: 1.78;
  margin-bottom: 1.042vw;
}
main #info .info_ul small {
  font-size: 72%;
}
@media screen and (max-width: 1024px) {
  main #info .info_ul {
    font-size: 3.206vw;
    line-height: 1.55;
    margin-bottom: 2.336vw;
  }
  main #info .info_ul small {
    font-size: 78%;
  }
}
@media screen and (max-width: 767px) {
  main #info .info_ul {
    font-size: 4.206vw;
  }
}
@media screen and (max-width: 1024px) {
  main #info .info_time_box {
    flex-direction: column;
  }
}
main #info .info_time_box_inner {
  border-left: 10px solid #ff601e;
  padding-left: 0.521vw;
  margin-bottom: 1.302vw;
}
@media screen and (max-width: 1024px) {
  main #info .info_time_box_inner {
    padding-left: 2.336vw;
    margin-bottom: 3.505vw;
  }
  main #info .info_time_box_inner.business_box {
    margin-bottom: 2.336vw;
  }
}
main #info .info_time_box_inner ul {
  font-size: 1.042vw;
  line-height: 1.65;
}
@media screen and (max-width: 1024px) {
  main #info .info_time_box_inner ul {
    font-size: 2.271vw;
  }
}
@media screen and (max-width: 767px) {
  main #info .info_time_box_inner ul {
    font-size: 3.271vw;
  }
}
main #info .info_time_box_inner.general_box {
  margin-left: 4.583vw;
}
@media screen and (max-width: 1024px) {
  main #info .info_time_box_inner.general_box {
    margin-left: 0;
  }
}
main #info .info_booth_box {
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  main #info .info_booth_box {
    flex-direction: column;
  }
}
main #info .info_booth_box .info_booth_ul {
  font-size: 1.458vw;
  line-height: 1.78;
}
@media screen and (max-width: 1024px) {
  main #info .info_booth_box .info_booth_ul {
    font-size: 3.206vw;
    line-height: 1.55;
  }
}
@media screen and (max-width: 767px) {
  main #info .info_booth_box .info_booth_ul {
    font-size: 4.206vw;
  }
}
main #info .info_booth_box .map_btn_box {
  font-size: 1.354vw;
  width: 14.896vw;
  height: 4.792vw;
}
@media screen and (max-width: 1024px) {
  main #info .info_booth_box .map_btn_box {
    font-size: 3.206vw;
    width: 34.664vw;
    height: 11.187vw;
    margin: 0 auto;
    margin-top: 3.505vw;
  }
}
@media screen and (max-width: 767px) {
  main #info .info_booth_box .map_btn_box {
    font-size: 4.206vw;
    width: 47.664vw;
    height: 15.187vw;
  }
}
main #info .info_booth_box .map_btn_box .map_btn {
  width: 100%;
  height: 100%;
  padding-left: 1.302vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  main #info .info_booth_box .map_btn_box .map_btn {
    padding-left: 3.972vw;
  }
}
@media screen and (min-width: 1024px) {
  main #info .info_booth_box .map_btn_box .map_btn:hover::before {
    opacity: 0;
  }
  main #info .info_booth_box .map_btn_box .map_btn:hover::after {
    opacity: 1;
  }
}
main #info .info_booth_box .map_btn_box .map_btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(./images/info_btn_map.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  z-index: -1;
  transition: all 0.4s;
}
main #info .info_booth_box .map_btn_box .map_btn::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(./images/info_btn_map_hover.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: -1;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main .info_line_box {
    display: none;
  }
}
main .info_line_box .inner {
  max-width: 40.469vw;
  padding-top: 0;
  padding-bottom: 1.302vw;
}
main.page-body-main {
  max-width: 76.146vw;
  margin-left: 7.552vw;
  padding-top: 7.083vw;
}
@media screen and (max-width: 1024px) {
  main.page-body-main {
    max-width: 90vw;
    margin: 0 auto;
    padding-top: 22.037vw;
  }
}
main.page-body-main.active #goods .goods_title {
  opacity: 1;
  transform: scale(1, 1);
  transition-delay: 0.5s;
}
main.page-body-main.active #goods .goods_title .title_inner {
  opacity: 1;
  transition-delay: 1s;
}
@media screen and (max-width: 1024px) {
  main.page-body-main.active #goods .goods_title .title_inner {
    transition-delay: 0s;
  }
}
main.page-body-main.active #goods .goods_title .goods_title_pattern {
  opacity: 0.1;
  transition-delay: 1s;
}
@media screen and (max-width: 1024px) {
  main.page-body-main.active #goods .goods_title .goods_title_pattern {
    transition-delay: 0s;
  }
}
main.page-body-main h1 {
  font-family: "Iceberg", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3.958vw;
  line-height: 1;
  color: #ff601e;
  text-align: center;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
  position: relative;
  padding-bottom: 2.083vw;
  margin-bottom: 2.083vw;
}
main.page-body-main h1 .sub_title {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1.458vw;
}
@media screen and (max-width: 1024px) {
  main.page-body-main h1 {
    font-size: 9.346vw;
    color: #ffffff;
    display: flex;
    align-items: center;
    padding-top: 7.009vw;
    margin-top: 2.336vw;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  main.page-body-main h1 .sub_title {
    font-size: 4.673vw;
  }
}
main.page-body-main h1::after {
  content: "";
  width: 26.927vw;
  height: 1.146vw;
  background-image: url(./images/page_heading_line.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  main.page-body-main h1::after {
    width: 83.879vw;
    height: 4.439vw;
    background-image: url(./images/heading_line_sp.webp);
    top: 0;
    bottom: auto;
  }
}
main.page-body-main h2 {
  width: 82%;
  margin: 0 auto;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  main.page-body-main h2 img {
    height: 23.832vw;
    -o-object-fit: contain;
       object-fit: contain;
  }
  main.page-body-main h2.logo_shiren img, main.page-body-main h2.logo_fruit img {
    height: 33.832vw;
  }
}
main.page-body-main h2::after {
  content: none;
}
main.page-body-main h2.trigger_h2 {
  width: 92%;
}
main.page-body-main #goods {
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods {
    flex-direction: column;
  }
}
main.page-body-main #goods .goods_title {
  width: 27%;
  height: 34.635vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  opacity: 0;
  transform: scale(1, 0);
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_title {
    position: static;
    width: 100%;
    height: auto;
    transform: scale(1);
  }
}
main.page-body-main #goods .goods_title::before {
  content: "";
  width: 24.792vw;
  height: 6.823vw;
  background: url(./images/page_heading_frame_top.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: -0.417vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_title::before {
    content: none;
  }
}
main.page-body-main #goods .goods_title::after {
  content: "";
  width: 25.208vw;
  height: 6.615vw;
  background: url(./images/page_heading_frame_bottom.webp) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -0.417vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_title::after {
    content: none;
  }
}
main.page-body-main #goods .goods_title .title_inner {
  margin-top: -2.083vw;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_title .title_inner {
    margin-top: 0;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
}
main.page-body-main #goods .goods_title .goods_title_pattern {
  width: 26.927vw;
  height: 26.927vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0;
  transition: all 0.4s;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_title .goods_title_pattern {
    display: none;
  }
}
main.page-body-main #goods .goods_title .goods_title_pattern .goods_title_pattern_01::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(./images/page_heading_circle_06.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate01 25s linear infinite;
}
main.page-body-main #goods .goods_title .goods_title_pattern .goods_title_pattern_01::after {
  content: "";
  width: 22.135vw;
  height: 22.5vw;
  background: url(./images/page_heading_circle_05.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate02 25s linear infinite;
}
main.page-body-main #goods .goods_title .goods_title_pattern .goods_title_pattern_02::before {
  content: "";
  width: 17.031vw;
  height: 14.635vw;
  background: url(./images/page_heading_circle_04.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate01 25s linear infinite;
}
main.page-body-main #goods .goods_title .goods_title_pattern .goods_title_pattern_02::after {
  content: "";
  width: 14.427vw;
  height: 14.427vw;
  background: url(./images/page_heading_circle_03.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate02 25s linear infinite;
}
main.page-body-main #goods .goods_title .goods_title_pattern .goods_title_pattern_03::before {
  content: "";
  width: 8.698vw;
  height: 8.698vw;
  background: url(./images/page_heading_circle_02.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate01 25s linear infinite;
}
main.page-body-main #goods .goods_title .goods_title_pattern .goods_title_pattern_03::after {
  content: "";
  width: 5.104vw;
  height: 5.104vw;
  background: url(./images/page_heading_circle_01.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate02 25s linear infinite;
}
main.page-body-main #goods .goods_lineup {
  width: 100%;
  margin-left: 28.385vw;
  margin-bottom: 2.083vw;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_lineup {
    width: 90%;
    margin: 0 auto;
    margin-top: 2.336vw;
    margin-bottom: 8.178vw;
  }
}
main.page-body-main #goods .goods_lineup .goods_lineup_ul {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.302vw 0.573vw;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_lineup .goods_lineup_ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.271vw 2.1vw;
  }
}
main.page-body-main #goods .goods_lineup .goods_lineup_ul.en .name-text {
  word-break: break-all;
}
main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_frame {
  width: 14.688vw;
  height: 14.688vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_frame {
    width: 40vw;
    height: 40vw;
  }
}
main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_frame::after {
  content: "";
  width: 16.563vw;
  height: 15.469vw;
  background-image: url(./images/goods_frame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_frame::after {
    width: 42vw;
    height: 40vw;
  }
}
main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_frame img {
  width: 80%;
  height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
}
main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_info {
  margin-top: 0.781vw;
  font-size: 0.833vw;
  line-height: 1.87;
  text-shadow: 0px 0px 3px rgb(255, 96, 30);
}
@media screen and (max-width: 1024px) {
  main.page-body-main #goods .goods_lineup .goods_lineup_ul .goods_lineup_li .goods_lineup_info {
    margin-top: 2.336vw;
    font-size: 3.271vw;
    line-height: 1.42;
  }
}
@media screen and (max-width: 1024px) {
  main.page-body-main footer .inner {
    padding-bottom: 23.2vw;
  }
}

footer .inner {
  width: 100%;
  max-width: 40.469vw;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 2vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  footer .inner {
    max-width: 83.879vw;
    padding-top: 0;
    padding-bottom: 29.206vw;
  }
}
footer .logo_box {
  width: 10vw;
  margin: 0 auto;
  margin-bottom: 1.042vw;
}
@media screen and (max-width: 1024px) {
  footer .logo_box {
    width: 117px;
    margin-bottom: 10px;
  }
}
footer .logo_box a {
  display: block;
  transition: all 0.4s;
  opacity: 1;
}
footer .logo_box a:hover {
  opacity: 0.6;
}
footer .copy_txt_box {
  font-size: 0.729vw;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  footer .copy_txt_box {
    font-size: 1.1vw;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  footer .copy_txt_box {
    font-size: 2.804vw;
  }
}

.map_modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  background: rgba(0, 0, 0, 0.6);
}

.map_modal_content {
  background: rgba(255, 255, 255, 0.85);
  width: 100%;
  max-width: 90.469vw;
  padding: 3.333vw 5.156vw;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px 3px rgb(255, 96, 30);
}
@media screen and (max-width: 1024px) {
  .map_modal_content {
    height: 90%;
    padding: 5.14vw 3.505vw;
  }
}
.map_modal_content img {
  max-width: 80.833vw;
}
@media screen and (max-width: 1024px) {
  .map_modal_content img {
    max-width: 82.71vw;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.map_close {
  width: 2vw;
  height: 2vw;
  position: absolute;
  top: 1.563vw;
  right: 1.563vw;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .map_close {
    width: 2.804vw;
    height: 2.804vw;
    top: 2.336vw;
    right: 2.336vw;
  }
}
.map_close::before {
  content: "";
  width: 100%;
  height: 0.156vw;
  background-color: #ff601e;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 1024px) {
  .map_close::before {
    height: 0.467vw;
  }
}
.map_close::after {
  content: "";
  width: 100%;
  height: 0.156vw;
  background-color: #ff601e;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 1024px) {
  .map_close::after {
    height: 0.467vw;
  }
}

.top_btn {
  width: 9.115vw;
  height: 9.115vw;
  font-family: "Iceberg", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.448vw;
  letter-spacing: -0.04em;
  padding-top: 0.417vw;
  color: #ff601e;
  position: fixed;
  bottom: 1.042vw;
  right: 1.146vw;
  z-index: 1020;
  display: none;
}
@media screen and (max-width: 1024px) {
  .top_btn {
    display: none;
  }
}
.top_btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(./images/btn_top_frame_out.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  animation: rotate01 25s linear infinite;
}
.top_btn::after {
  content: "";
  width: 70%;
  height: 70%;
  background-image: url(./images/btn_top_frame_out_02.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  animation: rotate02 25s linear infinite;
}
.top_btn a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .top_btn a:hover::after {
    content: "";
    filter: drop-shadow(0px 0px 6px rgb(255, 96, 30));
  }
}
.top_btn a::before {
  content: "";
  width: 63%;
  height: 63%;
  background-image: url(./images/btn_top_frame_in.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.top_btn a::after {
  content: "";
  width: 63%;
  height: 63%;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
  transition: all 0.4s;
}

.scrollify-pager {
  position: fixed;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 10px;
}

.scrollify-pager span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: #ff601e;
  display: block;
  filter: drop-shadow(0px 0px 3px rgb(255, 96, 30));
  position: relative;
}
.scrollify-pager span::after {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 32px;
  height: 32px;
  background: transparent;
}

.scrollify-pager span.active {
  width: 12px;
  height: 12px;
}

@media (min-width: 1025px) {
  .scrollify-pager {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */