@charset "UTF-8";
/*--------------------------------------
	copyright : Lampros co.,Ltd.
	-----------------------------------*/
/*
 reset
==============================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: top;
  background: none;
}

body {
  line-height: 1;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/*ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }*/
del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 10px;
  }
}
@media screen and (min-width: 1201px) {
  html {
    font-size: 0.5vw;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  html {
    font-size: clamp(8px, 0.8333333333vw, 10px);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3333333333vw;
  }
}
* {
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: top;
}

*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
  .pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
}
html[lang=en] body {
  font-family: "Roboto", sans-serif;
  letter-spacing: 0;
  line-height: 1.5;
}

html[lang=ja] body {
  font-family: Noto Sans JP, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.75;
}

body {
  font-size: 3.75vw;
  color: #000;
  padding: 0;
  margin: 0;
  width: 100%;
  word-break: none;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  transition: 1s;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 2.4rem;
  }
}
body.is-open {
  overflow: hidden;
}

picture {
  display: block;
}

/*----------------------------------------


 link


----------------------------------------*/
a {
  position: relative;
  color: #000;
  text-decoration: none;
  border: none;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
a.hv:hover {
  opacity: 0.7;
}
a.underline {
  border-bottom: 1px solid #000;
}
a.underline::before {
  position: absolute;
  content: "";
  border-bottom: 1px solid #B21717;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 0;
  transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
a.underline:hover::before {
  width: 100%;
}

img {
  width: 100%;
  height: auto;
}

span {
  display: inline-block;
  vertical-align: baseline;
}

@-webkit-keyframes fv-spin {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}

@keyframes fv-spin {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
.js-parallax {
  display: block;
  will-change: transform;
}

._fadein {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2s cubic-bezier(0.19, 1, 0.22, 1);
}
._fadein.is-animated {
  opacity: 1;
  transform: translateX(0);
}

._fade {
  opacity: 0;
  transition: all 2s cubic-bezier(0.19, 1, 0.22, 1);
}
._fade.is-animated {
  opacity: 1;
}

/* SVG 左から右へ書かれるような演出 */
._svg img,
._svg svg {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
._svg.is-animated img,
._svg.is-animated svg {
  -webkit-clip-path: inset(0 0% 0 0);
          clip-path: inset(0 0% 0 0);
  transition: -webkit-clip-path 1.1s cubic-bezier(0.76, 0, 0.24, 1);
  transition: clip-path 1.1s cubic-bezier(0.76, 0, 0.24, 1);
  transition: clip-path 1.1s cubic-bezier(0.76, 0, 0.24, 1), -webkit-clip-path 1.1s cubic-bezier(0.76, 0, 0.24, 1);
  transition-delay: 0.5s;
}

._rotate360 {
  transform-origin: center center;
  transform: rotateZ(-360deg) scale(1.25);
  opacity: 0;
}
._rotate360.is-animated {
  transform: rotateZ(0) scale(1);
  opacity: 1;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

@-webkit-keyframes shine-sweep {
  0% {
    opacity: 0;
    background-position: 85% 0;
  }
  12% {
    opacity: 1;
  }
  78% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
    background-position: 15% 0;
  }
}

@keyframes shine-sweep {
  0% {
    opacity: 0;
    background-position: 85% 0;
  }
  12% {
    opacity: 1;
  }
  78% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
    background-position: 15% 0;
  }
}
.js-anime._shine {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.4s;
}
.js-anime._shine::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 245, 210, 0.5) 44%, rgba(255, 255, 255, 0.88) 50%, rgba(255, 245, 210, 0.5) 56%, transparent 70%);
  background-size: 300% 100%;
  background-position: 85% 0;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}
.js-anime._shine.is-animated {
  opacity: 1;
}
.js-anime._shine.is-animated::after {
  -webkit-animation: shine-sweep 0.55s 0.3s ease-out both;
          animation: shine-sweep 0.55s 0.3s ease-out both;
}

.js-anime._letter .c-letter {
  display: inline-block;
  opacity: 0;
  transform: skewX(-12deg);
  transition: opacity 0.38s ease calc(var(--i) * 55ms + 0.05s), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--i) * 55ms + 0.05s);
}
.js-anime._letter.is-animated .c-letter {
  opacity: 1;
  transform: skewX(0deg);
}

@-webkit-keyframes flash-bika {
  0% {
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
  5% {
    filter: brightness(7) saturate(1.8);
    opacity: 1;
  }
  9% {
    filter: brightness(1) saturate(1);
    opacity: 0;
  }
  13% {
    filter: brightness(9) saturate(2.2);
    opacity: 1;
  }
  17% {
    filter: brightness(1) saturate(1);
    opacity: 0;
  }
  21% {
    filter: brightness(6) saturate(2);
    opacity: 1;
  }
  25% {
    filter: brightness(1.5) saturate(1.2);
    opacity: 0.3;
  }
  30% {
    filter: brightness(4) saturate(1.6);
    opacity: 1;
  }
  38% {
    filter: brightness(2) saturate(1.3);
    opacity: 1;
  }
  52% {
    filter: brightness(1.1) saturate(1);
    opacity: 1;
  }
  65% {
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
  100% {
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
}

@keyframes flash-bika {
  0% {
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
  5% {
    filter: brightness(7) saturate(1.8);
    opacity: 1;
  }
  9% {
    filter: brightness(1) saturate(1);
    opacity: 0;
  }
  13% {
    filter: brightness(9) saturate(2.2);
    opacity: 1;
  }
  17% {
    filter: brightness(1) saturate(1);
    opacity: 0;
  }
  21% {
    filter: brightness(6) saturate(2);
    opacity: 1;
  }
  25% {
    filter: brightness(1.5) saturate(1.2);
    opacity: 0.3;
  }
  30% {
    filter: brightness(4) saturate(1.6);
    opacity: 1;
  }
  38% {
    filter: brightness(2) saturate(1.3);
    opacity: 1;
  }
  52% {
    filter: brightness(1.1) saturate(1);
    opacity: 1;
  }
  65% {
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
  100% {
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
}
.js-anime._flash {
  opacity: 0;
}
.js-anime._flash.is-animated {
  -webkit-animation: flash-bika 0.8s 0.1s ease-out both;
          animation: flash-bika 0.8s 0.1s ease-out both;
}

._flash-hover:hover {
  -webkit-animation: flash-bika 0.7s ease-out forwards;
          animation: flash-bika 0.7s ease-out forwards;
}

._flash-wrap:hover ._flash-hover {
  -webkit-animation: flash-bika 0.7s ease-out forwards;
          animation: flash-bika 0.7s ease-out forwards;
}

@-webkit-keyframes float-yurayura {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.8em);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes float-yurayura {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.8em);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes blink-periodic {
  0%, 86%, 100% {
    opacity: 1;
  }
  89% {
    opacity: 0.15;
  }
  92% {
    opacity: 1;
  }
  95% {
    opacity: 0.35;
  }
}
@keyframes blink-periodic {
  0%, 86%, 100% {
    opacity: 1;
  }
  89% {
    opacity: 0.15;
  }
  92% {
    opacity: 1;
  }
  95% {
    opacity: 0.35;
  }
}
.js-anime._float-blink img {
  display: block;
  transform: translateY(0);
  opacity: 1;
}
.js-anime._float-blink.is-animated img {
  -webkit-animation: float-yurayura 3.2s ease-in-out infinite;
          animation: float-yurayura 3.2s ease-in-out infinite;
}

@-webkit-keyframes chara-reveal {
  0%, 70% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes chara-reveal {
  0%, 70% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes chara-white-fade {
  0% {
    background-position: 0 0%;
    opacity: 1;
    filter: blur(10px);
  }
  45% {
    background-position: 0 100%;
    opacity: 1;
    filter: blur(0);
  }
  70% {
    background-position: 0 100%;
    opacity: 1;
    filter: blur(0);
  }
  100% {
    background-position: 0 100%;
    opacity: 0;
    filter: blur(0);
  }
}
@keyframes chara-white-fade {
  0% {
    background-position: 0 0%;
    opacity: 1;
    filter: blur(10px);
  }
  45% {
    background-position: 0 100%;
    opacity: 1;
    filter: blur(0);
  }
  70% {
    background-position: 0 100%;
    opacity: 1;
    filter: blur(0);
  }
  100% {
    background-position: 0 100%;
    opacity: 0;
    filter: blur(0);
  }
}
.font-size-20 {
  font-size: 3.125vw !important;
}
@media screen and (min-width: 768px) {
  .font-size-20 {
    font-size: 2rem !important;
  }
}

.font-size-24 {
  font-size: 3.75vw !important;
}
@media screen and (min-width: 768px) {
  .font-size-24 {
    font-size: 2.4rem !important;
  }
}

.font-size-26 {
  font-size: 4.0625vw !important;
}
@media screen and (min-width: 768px) {
  .font-size-26 {
    font-size: 2.6rem !important;
  }
}

.font-size-28 {
  font-size: 4.375vw !important;
}
@media screen and (min-width: 768px) {
  .font-size-28 {
    font-size: 2.8rem !important;
  }
}

.font-size-30 {
  font-size: 4.6875vw !important;
}
@media screen and (min-width: 768px) {
  .font-size-30 {
    font-size: 3rem !important;
  }
}

.font-size-32 {
  font-size: 5vw !important;
}
@media screen and (min-width: 768px) {
  .font-size-32 {
    font-size: 3.2rem !important;
  }
}

.font-weight-600 {
  font-weight: 600 !important;
}

.font-weight-700 {
  font-weight: 700 !important;
}

.font-weight-500 {
  font-weight: 500 !important;
}

.font-weight-400 {
  font-weight: normal !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify;
}

sup {
  font-size: 75%;
}

.margin-auto {
  margin-inline: auto;
}

.letter-spacing-0 {
  letter-spacing: 0 !important;
}

.nowrap {
  white-space: nowrap;
}

.aside,
.note {
  font-size: 3.125vw;
}
@media screen and (min-width: 768px) {
  .aside,
.note {
    font-size: 2rem;
  }
}

figcaption {
  margin-top: 0.5em;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  figcaption {
    font-size: 1.5625vw;
  }
}

.color-primary {
  color: #B21717;
}

.loading {
  --loading-progress: 0;
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}
.loading__kv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.8s ease;
}
.loading__kv img {
  display: block;
  width: 100%;
  height: auto;
  will-change: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.loading__kv-ph01 {
  position: relative;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.loading__kv-ph02 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: scale(1.2);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0.4s;
}
.loading__kv-ph03 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  opacity: 0;
  transform: scale(1.4) rotate(15deg);
  transition: opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1), transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0.6s;
}
.loading__kv-ph04 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transform: scale(1.6);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0.8s;
}
.loading__kv.is-visible img {
  opacity: 1;
  transform: scale(1);
}
.loading__kv.is-leave {
  opacity: 0;
}
.loading__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  transform: scale(1);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.loading__obj {
  position: relative;
  width: 23.4375vw;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  .loading__obj {
    width: 15rem;
  }
}
.loading__obj img {
  display: block;
  width: 100%;
  height: auto;
}
.loading__obj-ghost {
  opacity: 0.2;
}
.loading__obj-reveal {
  position: absolute;
  inset: 0;
  -webkit-clip-path: inset(0 0 calc((1 - var(--loading-progress)) * 100%) 0);
          clip-path: inset(0 0 calc((1 - var(--loading-progress)) * 100%) 0);
  transition: -webkit-clip-path 0.28s linear;
  transition: clip-path 0.28s linear;
  transition: clip-path 0.28s linear, -webkit-clip-path 0.28s linear;
  will-change: clip-path;
}
.loading__bar {
  width: 46.875vw;
  height: 0.2rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .loading__bar {
    width: 30rem;
  }
}
.loading__bar-fill {
  display: block;
  width: 100%;
  height: 100%;
  background: #8D220D;
  transform: scaleX(var(--loading-progress));
  transform-origin: left center;
  transition: transform 0.28s linear;
  will-change: transform;
}
.loading.is-complete .loading__obj {
  -webkit-animation: loading-spin 0.2s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards;
          animation: loading-spin 0.2s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards;
}
.loading.is-out .loading__inner {
  opacity: 0;
  transform: scale(0.7);
}
.loading.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

html.skip-loading .loading {
  display: none;
}

html.is-loading,
body.is-loading {
  overflow: hidden;
  touch-action: none;
}

@-webkit-keyframes loading-spin {
  to {
    transform: rotate(-180deg);
  }
}

@keyframes loading-spin {
  to {
    transform: rotate(-180deg);
  }
}
.fixed-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #000;
  pointer-events: none;
}
.fixed-bg__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100vh;
  transform: translate(-50%, -50%);
}
.fixed-bg__inner iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.fixed-bg::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  background: url(../img/bg_dot.png) repeat left top/3px 3px;
}

@media screen and (max-width: 767px) {
  .page .fixed__obj-01,
.archive .fixed__obj-01,
.category .fixed__obj-01,
.single .fixed__obj-01 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .page .l-main,
.archive .l-main,
.category .l-main,
.single .l-main {
    position: relative;
    margin-top: 6rem;
  }
}
.page main,
.archive main,
.category main,
.single main {
  position: relative;
  padding-top: 11.25vw;
  padding-bottom: 12.5vw;
}
@media screen and (min-width: 768px) {
  .page main,
.archive main,
.category main,
.single main {
    padding-top: 7.2rem;
    padding-bottom: 8rem;
  }
}
.page main::before,
.archive main::before,
.category main::before,
.single main::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 25vw;
  background: #e6e6e6;
}
@media screen and (min-width: 768px) {
  .page main::before,
.archive main::before,
.category main::before,
.single main::before {
    height: 16rem;
  }
}
.page .lower__objs,
.archive .lower__objs,
.category .lower__objs,
.single .lower__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.page .lower__objs picture,
.archive .lower__objs picture,
.category .lower__objs picture,
.single .lower__objs picture {
  position: absolute;
}
.page .lower__obj-01,
.archive .lower__obj-01,
.category .lower__obj-01,
.single .lower__obj-01 {
  position: absolute;
  top: 6.25vw;
  right: -2.8125vw;
  width: 21.875vw;
  height: 25.46875vw;
  transform: rotate(-10deg);
}
@media screen and (min-width: 768px) {
  .page .lower__obj-01,
.archive .lower__obj-01,
.category .lower__obj-01,
.single .lower__obj-01 {
    top: 4rem;
    width: 14rem;
    height: 16.3rem;
    right: -1.8rem;
  }
}
.page .lower__obj-02,
.archive .lower__obj-02,
.category .lower__obj-02,
.single .lower__obj-02 {
  position: absolute;
  top: 37.5vw;
  left: -4.6875vw;
  width: 19.375vw;
  height: 19.0625vw;
}
@media screen and (min-width: 768px) {
  .page .lower__obj-02,
.archive .lower__obj-02,
.category .lower__obj-02,
.single .lower__obj-02 {
    width: 12.4rem;
    height: 12.2rem;
    left: -3rem;
    top: 24rem;
  }
}
.page .lower__obj-03,
.archive .lower__obj-03,
.category .lower__obj-03,
.single .lower__obj-03 {
  position: absolute;
  top: 167.96875vw;
  left: -4.6875vw;
  width: 14.6875vw;
  height: 16.875vw;
  transform: rotate(20deg);
}
@media screen and (min-width: 768px) {
  .page .lower__obj-03,
.archive .lower__obj-03,
.category .lower__obj-03,
.single .lower__obj-03 {
    width: 9.4rem;
    height: 10.8rem;
    left: -3rem;
    top: 107.5rem;
  }
}
.page .lower__obj-04,
.archive .lower__obj-04,
.category .lower__obj-04,
.single .lower__obj-04 {
  position: absolute;
  top: 163.28125vw;
  right: -4.6875vw;
  width: 15.15625vw;
  height: 15.15625vw;
}
@media screen and (min-width: 768px) {
  .page .lower__obj-04,
.archive .lower__obj-04,
.category .lower__obj-04,
.single .lower__obj-04 {
    width: 9.7rem;
    height: 9.7rem;
    right: -3rem;
    top: 104.5rem;
  }
}
.page .lower__obj .inner,
.archive .lower__obj .inner,
.category .lower__obj .inner,
.single .lower__obj .inner {
  position: relative;
}
.page .lower__obj__visual,
.archive .lower__obj__visual,
.category .lower__obj__visual,
.single .lower__obj__visual {
  position: relative;
  margin-top: 1.5625vw;
}
@media screen and (min-width: 768px) {
  .page .lower__obj__visual,
.archive .lower__obj__visual,
.category .lower__obj__visual,
.single .lower__obj__visual {
    margin-top: 1rem;
  }
}
.page .lower__obj__visual-img,
.archive .lower__obj__visual-img,
.category .lower__obj__visual-img,
.single .lower__obj__visual-img {
  position: relative;
  z-index: 1;
  width: 100%;
}

.l-container {
  display: flex;
  justify-content: center;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  width: 100%;
  gap: 8rem;
}
@media screen and (min-width: 1201px) {
  .l-container {
    width: 144rem;
    padding-right: 8rem;
    margin-inline: auto;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .l-container {
    overflow: clip;
  }
}
.l-container .l-side {
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-container .l-side {
    display: flex;
    justify-content: flex-end;
    width: 50%;
  }
}
@media screen and (min-width: 1201px) {
  .l-container .l-side {
    width: 64rem;
    flex: 0 0 64rem;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-container .l-side {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-container .l-side {
    display: none;
  }
}
.l-container .l-side__inner {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  max-width: 64rem;
  height: 100dvh;
  padding: 22rem 0 0;
  box-sizing: border-box;
}
.l-container .l-side__title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 46.4rem;
  margin: 0 auto;
  transform: translateX(-0.6rem);
  z-index: 2;
}
.l-container .l-side__title img {
  width: 100%;
}
.l-container .l-side__dice {
  position: relative;
  width: min(100%, calc(min(50vh, 60rem) * 720 / 735));
  aspect-ratio: 720/735;
  margin: -5rem auto 0;
  z-index: 1;
}
@media screen and (min-width: 1201px) {
  .l-container .l-side__dice {
    width: min(100%, calc(max(0px, 100dvh - 40rem) * 720 / 735));
  }
}
.l-container .l-side__dice canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
}
.l-container .l-side__btns {
  position: absolute;
  bottom: 4rem;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.2rem;
  z-index: 2;
  width: 100%;
  gap: 8rem;
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-container .l-side__btns {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-container .l-side__btns {
    display: none;
  }
}
.l-container .l-side__btn {
  position: relative;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  width: 17.6rem;
  height: 17.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-container .l-side__btn::before, .l-container .l-side__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/side_btn_wrap.svg) no-repeat center center/contain;
}
.l-container .l-side__btn::before {
  background: url(../img/side_btn_wrap.svg) no-repeat center center/calc(100% - 1.6rem) calc(100% - 1.6rem);
}
.l-container .l-side__btn:hover::after {
  -webkit-animation: fv-spin 4.5s linear infinite;
          animation: fv-spin 4.5s linear infinite;
}
.l-container .l-side__btn:hover::before {
  -webkit-animation: fv-spin 5s linear infinite;
          animation: fv-spin 5s linear infinite;
}
.l-container .l-side__btn:hover img {
  scale: 1.1;
}
.l-container .l-side__btn img {
  position: relative;
  display: block;
  z-index: 1;
  scale: 1;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  width: 11.8rem;
  height: 4.5rem;
}
.l-container .l-side__btn-arrow {
  position: absolute;
  bottom: 4rem;
  left: 50%;
  translate: -50% 0;
  width: 1.4em;
  height: 1.6rem;
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%);
          clip-path: polygon(50% 0%, 100% 50%, 50% 100%);
  background: #F71F1F;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  margin-left: 0;
}
.l-container .l-side__copyright {
  position: absolute;
  top: calc(100% - 4rem);
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 2.1875vw;
  color: #FFFFFF;
  z-index: 2;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .l-container .l-side__copyright {
    font-size: 1.4rem;
  }
}
.l-container .l-main {
  position: relative;
  display: flex;
  z-index: 1;
  width: 100%;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  .l-container .l-main {
    width: 50%;
    margin-top: 5rem;
  }
}
@media screen and (min-width: 1201px) {
  .l-container .l-main {
    width: 64rem;
    flex: 0 0 64rem;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-container .l-main {
    margin-right: 0;
    width: 64rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-container .l-main {
    width: 100%;
    max-width: 100%;
  }
}
.l-container .l-main__ticket {
  position: fixed;
  width: 40.625vw;
  height: 40.625vw;
  max-width: 26rem;
  max-height: 26rem;
  right: -4.6875vw;
  top: calc(100dvh - 40.625vw);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(1.2rem) scale(0.96);
  transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1), transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (min-width: 768px) {
  .l-container .l-main__ticket {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-container .l-main__ticket {
    display: block;
    top: calc(100dvh - 26rem - 2rem);
    right: calc(100% - var(--main-left, 0px) - var(--main-width, 100%) - 3rem);
  }
}
.l-container .l-main__ticket a {
  display: block;
  width: 100%;
  height: 100%;
}
.l-container .l-main__ticket-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  translate: -50% -50%;
  -webkit-animation: fv-spin 12s linear infinite;
          animation: fv-spin 12s linear infinite;
  z-index: 2;
  pointer-events: none;
}
.l-container .l-main__ticket-main {
  position: relative;
  scale: 1;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.l-container .l-main__ticket:hover-wrap {
  -webkit-animation: fv-spin 2s linear infinite;
          animation: fv-spin 2s linear infinite;
}
.l-container .l-main__ticket:hover-main {
  scale: 1.05;
}
.l-container .l-main__ticket.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.l-container .l-main__inner {
  width: 100%;
  max-width: 640px;
  background: #000;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 1201px) {
  .l-container .l-main__inner {
    max-width: 64rem;
    margin-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-container .l-main__inner {
    width: 100%;
    max-width: 64rem;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-container .l-main__inner {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
}
.l-container .l-main main {
  position: relative;
  width: 100%;
}

.fixed__obj-01 {
  position: fixed;
  top: -12.5vw;
  left: calc(var(--main-left, 0px) - 21.25vw);
  width: 61.5625vw;
  height: 41.25vw;
  z-index: 430;
  opacity: 0;
  transition: opacity 1s;
  transition-delay: 1.5s;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .fixed__obj-01 {
    width: 39.4rem;
    height: 26.4rem;
    left: calc(var(--main-left, 0px) - 13.6rem);
    top: -8rem;
  }
}
body.top.is-loaded .fixed__obj-01 {
  opacity: 1;
}

body:not(.top) .fixed__obj-02 {
  position: fixed;
  top: calc(100dvh - 12.5vw);
  width: 37.8125vw;
  height: 25vw;
  left: calc(var(--main-left, 0px) - 21.25vw);
  z-index: 430;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  body:not(.top) .fixed__obj-02 {
    top: calc(100dvh - 8rem);
    width: 24.2rem;
    height: 16rem;
    left: calc(var(--main-left, 0px) - 13.6rem);
  }
}

.p-section {
  position: relative;
  padding: 20.3125vw 0 7.03125vw;
}
@media screen and (min-width: 768px) {
  .p-section {
    padding: 13rem 0 4.5rem;
  }
}
.p-section .inner {
  position: relative;
  z-index: 2;
  width: calc(100% - 12.5vw);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-section .inner {
    width: calc(100% - 8rem);
    max-width: 56rem;
    box-sizing: border-box;
  }
}
.p-section--white {
  background: url(../img/webp/bg_white.webp) no-repeat top center/100% auto;
  color: #000;
}
.p-section--white::before {
  content: "";
  position: absolute;
  bottom: -23.4375vw;
  left: 0;
  width: 100%;
  height: calc(100% - 15.625vw - 78.125vw);
  background: #E6E6E6;
}
@media screen and (min-width: 768px) {
  .p-section--white::before {
    bottom: -15rem;
    height: calc(100% - 10rem - 50rem);
  }
}
.p-section--white::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 156.25vw);
  left: 0;
  width: 100%;
  height: 78.125vw;
  background: linear-gradient(180deg, rgba(230, 230, 230, 0) 0%, #e6e6e6 50%);
}
@media screen and (min-width: 768px) {
  .p-section--white::after {
    bottom: calc(100% - 100rem);
    height: 50rem;
  }
}
.p-section--black {
  background: url(../img/webp/bg_black.webp) no-repeat top center/100% auto;
  color: #FFFFFF;
}
.p-section--black::before {
  content: "";
  position: absolute;
  bottom: -15rem;
  left: 0;
  width: 100%;
  height: calc(100% - 12.5vw);
  background: linear-gradient(180deg, rgba(52, 52, 52, 0) 0%, #343434 50%);
}
@media screen and (min-width: 768px) {
  .p-section--black::before {
    height: calc(100% - 8rem);
  }
}

.l-header__logo {
  position: absolute;
  top: 0.78125vw;
  left: 0.78125vw;
  width: 23.90625vw;
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    display: none;
  }
}

.l-nav {
  z-index: 420;
}
.l-nav__controls {
  position: fixed;
  top: 5rem;
  left: calc(var(--main-left, 0px) + var(--main-width, 100%) + 2rem);
  z-index: 422;
  display: grid;
  justify-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 767px) {
  .l-nav__controls {
    left: auto;
    right: 3.125vw;
    top: 1.5625vw;
  }
}
.l-nav__menu-btn {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  width: 7.8rem;
  height: 10.8rem;
}
@media screen and (max-width: 767px) {
  .l-nav__menu-btn {
    width: 12.1875vw;
    height: 16.875vw;
  }
}
.l-nav__menu-icon {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../img/swich_menu.svg") no-repeat center/contain;
  transition: transform 0.3s ease;
}
.l-nav__lang-btn {
  position: relative;
  width: 6.2rem;
  height: 7.2rem;
  border: 0;
  color: #B21717;
  font-family: "Fondamento", cursive;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background: transparent;
}
@media screen and (max-width: 767px) {
  .l-nav__lang-btn {
    position: absolute;
    width: 9.6875vw;
    height: 11.25vw;
    font-size: 3.125vw;
    top: 3.125vw;
    right: 17.1875vw;
  }
}
.l-nav__lang-btn._disable {
  opacity: 0.6;
  pointer-events: none;
}
.l-nav__lang-btn::before {
  position: absolute;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: url("../img/ico_hexagon_beige.svg") no-repeat center/contain;
  transition: background 0.6s cubic-bezier(0.19, 1, 0.22, 1) filter 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.l-nav__lang-btn::after {
  position: absolute;
  content: "";
  display: block;
  height: calc(100% - 0.6rem);
  width: calc(100% - 0.6rem);
  top: 0.3rem;
  left: 0.3rem;
  background: url("../img/ico_hexagon_line.svg") no-repeat center/contain;
  transition: filter 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .l-nav__lang-btn::after {
    height: calc(100% - 0.9375vw);
    width: calc(100% - 0.9375vw);
    top: 0.46875vw;
    left: 0.46875vw;
  }
}
.l-nav__lang-btn span {
  position: relative;
  top: 0.1rem;
}
.l-nav__lang-btn:hover {
  color: #FFFFFF;
}
.l-nav__lang-btn:hover::before {
  background: url("../img/ico_hexagon_red.svg") no-repeat center/contain !important;
}
.l-nav__lang-btn:hover::after {
  filter: brightness(0) invert(1);
}
.l-nav__panel {
  position: fixed;
  inset: 0;
  z-index: 420;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  background: rgba(0, 0, 0, 0.44);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
}
.l-nav__panel-inner {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  gap: 8rem;
}
@media screen and (min-width: 1201px) {
  .l-nav__panel-inner {
    width: 144rem;
    padding-right: 8rem;
    margin-inline: auto;
    box-sizing: border-box;
  }
}
.l-nav__left {
  background: transparent;
}
@media screen and (min-width: 768px) {
  .l-nav__left {
    width: 50%;
  }
}
@media screen and (min-width: 1201px) {
  .l-nav__left {
    width: 64rem;
    flex: 0 0 64rem;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-nav__left {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-nav__left {
    display: none;
  }
}
.l-nav__col {
  display: flex;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-nav__col {
    width: 50%;
  }
}
@media screen and (min-width: 1201px) {
  .l-nav__col {
    width: 64rem;
    flex: 0 0 64rem;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-nav__col {
    width: 64rem;
  }
}
@media screen and (max-width: 767px) {
  .l-nav__col {
    width: 100%;
  }
}
.l-nav__right {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  width: 100%;
  max-width: 640px;
  padding: 18rem 0 6rem;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: transform 0.62s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (min-width: 1201px) {
  .l-nav__right {
    max-width: 64rem;
    margin-right: 0;
  }
}
@media screen and (max-height: 700px) {
  .l-nav__right {
    padding: 12rem 0 6rem;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-nav__right {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .l-nav__right {
    max-width: 100%;
    margin-right: 0;
    padding: 28.125vw 12.5vw 9.375vw;
  }
}
.l-nav__menu {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  transition: gap 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-height: 700px) {
  .l-nav__menu {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-nav__menu {
    gap: 6.25vw;
  }
}
.l-nav__menu a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1.8rem;
  transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
.l-nav__menu a:hover {
  transform: translateX(0.6rem);
}
.l-nav__menu a:hover::after {
  transform: translateX(1rem) rotateX(360deg);
}
.l-nav__menu a::after {
  position: relative;
  content: "";
  display: block;
  width: 5.2rem;
  height: 1.5rem;
  background: url("../img/ico_arrow.svg") no-repeat center center/100%;
  transform-origin: center center;
  transition: transform 0.45s ease;
  transform: translateX(0) rotateX(0deg);
}
@media screen and (max-width: 767px) {
  .l-nav__menu a::after {
    width: 8.125vw;
    height: 2.34375vw;
  }
}
.l-nav__menu li {
  opacity: 0;
  transform: translateX(2.4rem);
  filter: blur(4px);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.l-nav__menu li:nth-child(1) {
  transition-delay: 0.06s;
}
.l-nav__menu li:nth-child(2) {
  transition-delay: 0.12s;
}
.l-nav__menu li:nth-child(3) {
  transition-delay: 0.18s;
}
.l-nav__menu li:nth-child(4) {
  transition-delay: 0.24s;
}
.l-nav__menu li:nth-child(5) {
  transition-delay: 0.3s;
}
.l-nav__menu li:nth-child(6) {
  transition-delay: 0.36s;
}
.l-nav__menu li:nth-child(7) {
  transition-delay: 0.42s;
}
.l-nav__menu img {
  display: block;
  height: 6.2rem;
  width: auto;
  transition: gap 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-height: 700px) {
  .l-nav__menu img {
    height: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-nav__menu img {
    height: 9.6875vw;
  }
}
.l-nav__lang-btn--panel {
  margin-top: 4.2rem;
  opacity: 0;
  transform: translateY(1.6rem);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}

body.is-nav-open,
html.is-nav-open {
  overflow: hidden;
  touch-action: none;
}
@media screen and (min-width: 768px) {
  body.is-nav-open,
html.is-nav-open {
    overflow: visible;
  }
}

body.is-nav-open .l-nav__menu-icon {
  background-image: url("../img/swich_menu_close.svg");
}
body.is-nav-open .l-nav__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.is-nav-open .l-nav__left {
  opacity: 1;
  transition-delay: 0.1s;
}
body.is-nav-open .l-nav__right {
  transform: translateX(0);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  body.is-nav-open .l-nav__right {
    transform: translateY(0);
  }
}
body.is-nav-open .l-nav__menu li {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}
body.is-nav-open .l-nav__lang-btn--panel {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.28s;
}
body.is-nav-open .l-nav__lang-btn._disable {
  opacity: 0.5;
  pointer-events: none;
}
body.is-nav-open .l-nav__lang-btn:hover::before {
  filter: brightness(1) invert(0);
}
body.is-nav-open .l-nav__lang-btn:hover::after {
  filter: brightness(0) invert(1);
}

footer {
  position: relative;
  margin-top: -12.5vw;
  padding: 18.75vw 0 9.375vw;
  background: url(../img/footer_bg.svg) no-repeat center top/100%;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  footer {
    margin-top: -8rem;
    padding: 12rem 0 6rem;
  }
}
footer .inner {
  padding: 0 9.375vw;
}
@media screen and (min-width: 768px) {
  footer .inner {
    padding: 0 6rem;
  }
}
footer .inner .footer__bnr {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  footer .inner .footer__bnr {
    gap: 2rem;
  }
}
footer .inner .c-btn {
  margin-top: 0;
}
footer .inner .copylight {
  font-size: 2.8125vw;
  color: #FFFFFF;
  text-align: center;
}
@media screen and (min-width: 768px) {
  footer .inner .copylight {
    font-size: 1.8rem;
  }
}
footer .footer__content {
  display: flex;
  flex-direction: column;
  gap: 9.375vw;
}
@media screen and (min-width: 768px) {
  footer .footer__content {
    gap: 6rem;
  }
}
footer .footer__share {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  footer .footer__share {
    gap: 2rem;
  }
}
footer .footer__share .share__title {
  font-size: 6.25vw;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.3;
  font-family: "Fondamento", cursive;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  footer .footer__share .share__title {
    font-size: 4rem;
    gap: 2rem;
  }
}
footer .footer__share .share__title::before, footer .footer__share .share__title::after {
  content: "";
  display: block;
  width: 5.9375vw;
  height: 5.9375vw;
  background: url(../img/obj_share.svg) no-repeat center center/100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  footer .footer__share .share__title::before, footer .footer__share .share__title::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}
footer .footer__share .share__sns {
  display: flex;
  justify-content: center;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  footer .footer__share .share__sns {
    gap: 2rem;
  }
}
footer .footer__share .share__sns li {
  width: 7.5vw;
}
@media screen and (min-width: 768px) {
  footer .footer__share .share__sns li {
    width: 4.8rem;
  }
}
footer .footer__sponsors {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  footer .footer__sponsors {
    gap: 2rem;
  }
}
footer .footer__sponsors .sponsors__title {
  font-size: 3.125vw;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.3;
  font-family: "Fondamento", cursive;
}
@media screen and (min-width: 768px) {
  footer .footer__sponsors .sponsors__title {
    font-size: 2rem;
  }
}

html[lang=ja] footer .footer__sponsors .sponsors__title {
  font-family: "Noto Serif JP", serif;
}

.hero__obj-01 {
  position: absolute;
  top: -12.5vw;
  left: -21.25vw;
  width: 61.5625vw;
  height: 41.25vw;
}
@media screen and (min-width: 768px) {
  .hero__obj-01 {
    width: 39.4rem;
    height: 26.4rem;
    left: -13.6rem;
    top: -8rem;
  }
}

.c-btn {
  position: relative;
  margin: 6.875vw auto 0;
  width: 100%;
  max-width: 75vw;
}
@media screen and (min-width: 768px) {
  .c-btn {
    margin-top: 4.4rem;
    max-width: 48rem;
  }
}
.c-btn._disable {
  opacity: 0.2;
  pointer-events: none;
}
.c-btn._s .c-btn__link {
  width: 35.9375vw;
  height: 7.5vw;
  font-size: 3.75vw;
  -webkit-clip-path: none;
          clip-path: none;
}
@media screen and (min-width: 768px) {
  .c-btn._s .c-btn__link {
    width: 23rem;
    height: 4.8rem;
    font-size: 2.4rem;
  }
}
.c-btn._s .c-btn__link::before {
  width: 1.875vw;
  height: 2.34375vw;
}
@media screen and (min-width: 768px) {
  .c-btn._s .c-btn__link::before {
    width: 1.2rem;
    height: 1.5rem;
  }
}
.c-btn._h80 .c-btn__link {
  height: 12.5vw;
}
@media screen and (min-width: 768px) {
  .c-btn._h80 .c-btn__link {
    height: 8rem;
  }
}
.c-btn__obj {
  position: absolute;
  top: -2.8125vw;
  right: 0;
  width: 29.53125vw;
  height: 21.25vw;
  pointer-events: none;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .c-btn__obj {
    top: -1.8rem;
    width: 18.9rem;
    height: 13.6rem;
  }
}
.c-btn__obj-01 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 17.03125vw;
  height: 15.46875vw;
  transform-origin: 28% 82%;
  opacity: 0.94;
}
@media screen and (min-width: 768px) {
  .c-btn__obj-01 {
    width: 10.9rem;
    height: 9.9rem;
  }
}
.c-btn__obj-02 {
  position: absolute;
  top: 3.125vw;
  right: 0.78125vw;
  width: 14.84375vw;
  height: 13.125vw;
  transform-origin: 66% 84%;
  opacity: 0.9;
}
@media screen and (min-width: 768px) {
  .c-btn__obj-02 {
    top: 2rem;
    right: 0.5rem;
    width: 9.5rem;
    height: 8.4rem;
  }
}
.c-btn__obj-03 {
  position: absolute;
  top: 0;
  right: 0;
  width: 11.5625vw;
  height: 10.3125vw;
  transform-origin: 74% 86%;
  opacity: 0.84;
}
@media screen and (min-width: 768px) {
  .c-btn__obj-03 {
    width: 7.4rem;
    height: 6.6rem;
  }
}
.c-btn._back {
  margin-top: 12.5vw;
}
@media screen and (min-width: 768px) {
  .c-btn._back {
    margin-top: 8rem;
  }
}
.c-btn._back .c-btn__link::before {
  right: auto;
  left: 3.90625vw;
  transform: translateY(-50%) scaleX(-1);
  background: url(../img/ico_arrow_line.svg) no-repeat center center/100%;
  transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  .c-btn._back .c-btn__link::before {
    left: 2.5rem;
  }
}
.c-btn._back .c-btn__link:hover::before {
  left: 2.34375vw;
}
@media screen and (min-width: 768px) {
  .c-btn._back .c-btn__link:hover::before {
    left: 1.5rem;
  }
}
.c-btn__link {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5625vw;
  width: 100%;
  height: 13.59375vw;
  padding: 2.34375vw;
  background: linear-gradient(to right, #B21717 0%, #C30000 50%, #B21717 100%);
  -webkit-clip-path: polygon(2.34375vw 0, calc(100% - 2.34375vw) 0, 100% 2.34375vw, 100% calc(100% - 2.34375vw), calc(100% - 2.34375vw) 100%, 2.34375vw 100%, 0 calc(100% - 2.34375vw), 0 2.34375vw);
          clip-path: polygon(2.34375vw 0, calc(100% - 2.34375vw) 0, 100% 2.34375vw, 100% calc(100% - 2.34375vw), calc(100% - 2.34375vw) 100%, 2.34375vw 100%, 0 calc(100% - 2.34375vw), 0 2.34375vw);
  color: #FFFFFF;
  font-family: "Fondamento", cursive;
  font-size: 5.3125vw;
  letter-spacing: 0;
  text-align: center;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .c-btn__link {
    gap: 0.8rem;
    height: 8.7rem;
    padding: 1.5rem;
    font-size: 3.4rem;
    -webkit-clip-path: polygon(1.5rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 1.5rem 100%, 0 calc(100% - 1.5rem), 0 1.5rem);
            clip-path: polygon(1.5rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 1.5rem 100%, 0 calc(100% - 1.5rem), 0 1.5rem);
  }
}
.c-btn__link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.90625vw;
  transform: translateY(-50%);
  width: 2.65625vw;
  height: 3.125vw;
  background: url(../img/ico_arrow_line.svg) no-repeat center center/100%;
  transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  .c-btn__link::before {
    right: 2.5rem;
    width: 1.7rem;
    height: 2rem;
  }
}
.c-btn__link:hover {
  font-size: 6.25vw;
}
@media screen and (min-width: 768px) {
  .c-btn__link:hover {
    font-size: 4rem;
  }
}
.c-btn__link:hover::before {
  right: 2.34375vw;
}
@media screen and (min-width: 768px) {
  .c-btn__link:hover::before {
    right: 1.5rem;
  }
}
.c-btn__arrow {
  width: 2.5vw;
}
@media screen and (min-width: 768px) {
  .c-btn__arrow {
    width: 1.6rem;
  }
}

html[lang=ja] .c-btn__link {
  font-family: "Fondamento", cursive;
}

.c-title__head-text {
  font-size: 4.6875vw;
  font-family: "Fondamento", cursive;
  font-weight: 400;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .c-title__head-text {
    font-size: 3rem;
  }
}

.c-title {
  position: relative;
  width: 81.25vw;
  margin: 7.8125vw auto 9.375vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-title {
    width: 98%;
    max-width: 52rem;
    margin-bottom: 6rem;
    margin-top: 4rem;
  }
}
.c-title._white {
  filter: brightness(0) invert(1);
}

.c-title__flame {
  position: relative;
}
.c-title__flame-obj-01 {
  position: absolute;
  top: -4.6875vw;
  left: 0;
  width: 25vw;
  height: 18.75vw;
}
@media screen and (min-width: 768px) {
  .c-title__flame-obj-01 {
    top: -3rem;
    width: 16rem;
    height: 12rem;
  }
}
.c-title__flame-obj-01 img {
  transform: rotate(-30deg);
}
.c-title__flame-obj-02 {
  position: absolute;
  top: -4.6875vw;
  right: 0;
  width: 25vw;
  height: 18.75vw;
  transform: rotateY(-180deg);
}
@media screen and (min-width: 768px) {
  .c-title__flame-obj-02 {
    top: -3rem;
    width: 16rem;
    height: 12rem;
  }
}
.c-title__flame-obj-02 img {
  transform: rotate(-30deg);
}

.c-title__deco {
  position: relative;
  font-size: 8.4375vw;
  text-align: center;
  font-family: "Fondamento", cursive;
  padding-bottom: 6.25vw;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 auto 4.6875vw;
}
@media screen and (min-width: 768px) {
  .c-title__deco {
    font-size: 5.4rem;
    padding-bottom: 4rem;
    margin-bottom: 3rem;
  }
}
.c-title__deco::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 42.34375vw;
  height: 6.40625vw;
  background: url(../img/obj_deco.svg) no-repeat center top/100%;
}
@media screen and (min-width: 768px) {
  .c-title__deco::before {
    width: 27.1rem;
    height: 4.1rem;
  }
}

.c-hexagon-title {
  position: relative;
  font-size: 5.3125vw;
  font-family: "Fondamento", cursive;
  margin-bottom: 3.125vw;
  background: #F0F0F0;
  padding: 0.78125vw 2.34375vw 0.78125vw 8.59375vw;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .c-hexagon-title {
    font-size: 3.4rem;
    margin-bottom: 2rem;
    padding: 0.5rem 1.5rem 0.5rem 5.5rem;
  }
}
.c-hexagon-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2.34375vw;
  transform: translateY(-50%);
  width: 4.375vw;
  height: 5.9375vw;
  background: url(../img/ico_hexagon.svg) no-repeat center top/100%;
}
@media screen and (min-width: 768px) {
  .c-hexagon-title::before {
    width: 2.8rem;
    height: 3.8rem;
    left: 1.5rem;
  }
}

.c-hexagon_line-title {
  position: relative;
  font-size: 4.375vw;
  font-family: "Fondamento", cursive;
  margin: 4.6875vw 0 2.34375vw;
  border-bottom: 1px solid #AA834E;
  padding: 0 0 0.78125vw 6.25vw;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .c-hexagon_line-title {
    font-size: 2.8rem;
    margin: 3rem 0 1.5rem;
    padding: 0 0 0.5rem 4rem;
  }
}
.c-hexagon_line-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3.125vw;
  transform: translateY(-50%);
  width: 1.71875vw;
  height: 2.03125vw;
  background: url(../img/ico_hexagon_line_brown.svg) no-repeat center top/100%;
}
@media screen and (min-width: 768px) {
  .c-hexagon_line-title::before {
    width: 1.1rem;
    height: 1.3rem;
    left: 1.5rem;
  }
}

html[lang=ja] .c-title__deco {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
}
html[lang=ja] .c-hexagon-title {
  font-family: "Noto Serif JP", serif;
}
html[lang=ja] .c-hexagon_line-title {
  font-family: "Noto Serif JP", serif;
}

.swiper-pagination {
  position: relative !important;
  display: flex;
  justify-content: center;
  gap: 1.25vw;
}
@media screen and (min-width: 768px) {
  .swiper-pagination {
    gap: 0.8rem;
  }
}
.swiper-pagination-bullet {
  width: 3.4375vw !important;
  height: 3.125vw !important;
  margin: 0 !important;
  background: url(../img/pagenation_line.svg) no-repeat center center/100% !important;
  opacity: 1;
  border-radius: 0 !important;
}
@media screen and (min-width: 768px) {
  .swiper-pagination-bullet {
    width: 2.2rem !important;
    height: 2rem !important;
  }
}
.swiper-pagination-bullet-active {
  background: url(../img/pagenation_red.svg) no-repeat center center/100% !important;
}

.arc-card-shadow {
  filter: drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2));
}

.arc-card {
  --arc-bg: #FFFFFF;
  position: relative;
  box-sizing: border-box;
  padding: 7.8125vw 3.125vw;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-clip-path: polygon(7.03125vw 0, calc(100% - 7.03125vw) 0, 100% 3.90625vw, 100% calc(100% - 3.90625vw), calc(100% - 7.03125vw) 100%, 7.03125vw 100%, 0 calc(100% - 3.90625vw), 0 3.90625vw);
          clip-path: polygon(7.03125vw 0, calc(100% - 7.03125vw) 0, 100% 3.90625vw, 100% calc(100% - 3.90625vw), calc(100% - 7.03125vw) 100%, 7.03125vw 100%, 0 calc(100% - 3.90625vw), 0 3.90625vw);
}
@media screen and (min-width: 768px) {
  .arc-card {
    padding: 5rem 2rem;
    -webkit-clip-path: polygon(4.5rem 0, calc(100% - 4.5rem) 0, 100% 2.5rem, 100% calc(100% - 2.5rem), calc(100% - 4.5rem) 100%, 4.5rem 100%, 0 calc(100% - 2.5rem), 0 2.5rem);
            clip-path: polygon(4.5rem 0, calc(100% - 4.5rem) 0, 100% 2.5rem, 100% calc(100% - 2.5rem), calc(100% - 4.5rem) 100%, 4.5rem 100%, 0 calc(100% - 2.5rem), 0 2.5rem);
  }
}
.arc-card._s {
  padding: 2.34375vw;
  -webkit-clip-path: polygon(2.34375vw 0, calc(100% - 2.34375vw) 0, 100% 2.34375vw, 100% calc(100% - 2.34375vw), calc(100% - 2.34375vw) 100%, 2.34375vw 100%, 0 calc(100% - 2.34375vw), 0 2.34375vw);
          clip-path: polygon(2.34375vw 0, calc(100% - 2.34375vw) 0, 100% 2.34375vw, 100% calc(100% - 2.34375vw), calc(100% - 2.34375vw) 100%, 2.34375vw 100%, 0 calc(100% - 2.34375vw), 0 2.34375vw);
}
@media screen and (min-width: 768px) {
  .arc-card._s {
    gap: 0.8rem;
    padding: 1.5rem;
    font-size: 3.4rem;
    -webkit-clip-path: polygon(1.5rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 1.5rem 100%, 0 calc(100% - 1.5rem), 0 1.5rem);
            clip-path: polygon(1.5rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 1.5rem 100%, 0 calc(100% - 1.5rem), 0 1.5rem);
  }
}
.arc-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--arc-bg);
  pointer-events: none;
}
.arc-card > * {
  position: relative;
  z-index: 1;
}
.arc-card--black {
  --arc-bg: #000;
  color: #FFFFFF;
}
.arc-card--black a {
  color: #FFFFFF;
}
.arc-card--white {
  --arc-bg: #FFFFFF;
  color: #000;
}
.arc-card--gray {
  --arc-bg: #F0F0F0;
  color: #000;
}

a.arc-card:hover {
  scale: 1.05;
}

.c-list-dot {
  position: relative;
}
.c-list-dot::before {
  position: relative;
  top: -0.2em;
  content: "●";
  font-size: 40%;
}

.c-list-dots li {
  position: relative;
}
.c-list-dots li::before {
  position: relative;
  top: -0.2em;
  content: "●";
  font-size: 40%;
}

.c-list-asterisk::before {
  content: "*";
  font-size: 100%;
}

.c-list-asterisks li::before {
  content: "*";
  font-size: 100%;
}

.album__content {
  position: relative;
}
.album__ph {
  position: relative;
  z-index: 1;
  max-width: 81.25vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .album__ph {
    max-width: 52rem;
  }
}
.album__ph-main {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 81.25vw;
  height: 81.25vw;
  margin: 0 auto;
  background: url(../img/album_wrap.svg) no-repeat center top/100%;
}
@media screen and (min-width: 768px) {
  .album__ph-main {
    width: 100%;
    height: auto;
    max-width: 52rem;
    aspect-ratio: 1/1;
  }
}
.album__ph-main .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 81.25vw;
}
@media screen and (min-width: 768px) {
  .album__ph-main .swiper-slide {
    width: 415px;
  }
}
@media screen and (min-width: 1201px) {
  .album__ph-main .swiper-slide {
    width: 52rem;
  }
}
.album__ph-main picture {
  position: relative;
  overflow: hidden;
  width: 72.1875vw;
  height: 72.1875vw;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .album__ph-main picture {
    max-width: 46.2rem;
    height: auto;
    aspect-ratio: 1/1;
  }
}
.album__ph-thumbs {
  width: 65.625vw;
  margin: 1.875vw auto 0;
}
@media screen and (min-width: 768px) {
  .album__ph-thumbs {
    width: 42rem;
    margin-top: 1.2rem;
  }
}
.album__ph-thumbs .swiper-slide {
  cursor: pointer;
  transition: opacity 0.2s;
  border: 0.625vw solid transparent;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .album__ph-thumbs .swiper-slide {
    border-width: 0.4rem;
  }
}
.album__ph-thumbs .swiper-slide-thumb-active {
  border-color: #F71F1F;
}
.album__ph-thumbs .swiper-slide picture {
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.album__ph-thumbs .swiper-slide picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.album__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: clip;
}
.album__objs picture {
  position: absolute;
}
.album__obj-01 {
  position: absolute;
  top: 17.1875vw;
  left: -7.8125vw;
  width: 25vw;
  height: 25.46875vw;
}
@media screen and (min-width: 768px) {
  .album__obj-01 {
    width: 16rem;
    height: 16.3rem;
    left: -5rem;
    top: 11rem;
  }
}
.album__obj-02 {
  position: absolute;
  top: 10.15625vw;
  right: -4.6875vw;
  width: 21.875vw;
  height: 25.46875vw;
}
@media screen and (min-width: 768px) {
  .album__obj-02 {
    top: 6.5rem;
    right: -3rem;
    width: 14rem;
    height: 16.3rem;
  }
}
.album__obj-03 {
  position: absolute;
  top: 23.4375vw;
  right: -3.125vw;
  width: 31.5625vw;
  height: 33.125vw;
}
@media screen and (min-width: 768px) {
  .album__obj-03 {
    top: 15rem;
    right: -2rem;
    width: 20.2rem;
    height: 21.2rem;
  }
}
.album__obj-04 {
  position: absolute;
  top: -4.6875vw;
  left: 4.6875vw;
  width: 15.9375vw;
  height: 9.6875vw;
}
@media screen and (min-width: 768px) {
  .album__obj-04 {
    top: -3rem;
    left: 3rem;
    width: 10.2rem;
    height: 6.2rem;
  }
}
.album__obj-05 {
  position: absolute;
  top: 64.0625vw;
  right: -4.6875vw;
  width: 15.9375vw;
  height: 9.6875vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .album__obj-05 {
    right: -3rem;
    top: 41rem;
    width: 10.2rem;
    height: 6.2rem;
  }
}
.album__obj-06 {
  position: absolute;
  bottom: -12.5vw;
  left: -39.0625vw;
  width: 84.375vw;
  height: 84.375vw;
}
@media screen and (min-width: 768px) {
  .album__obj-06 {
    bottom: -8rem;
    left: -25rem;
    width: 54rem;
    height: 54rem;
  }
}

.c-def-table__row {
  display: flex;
  padding: 2.34375vw 0 0.78125vw;
  border-bottom: 1px solid #FFFFFF;
  color: #FFFFFF;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-def-table__row {
    padding: 1.5rem 0 0.5rem;
  }
}
.c-def-table__row dt {
  position: relative;
  font-family: "Fondamento", cursive;
  font-weight: 400;
  width: 28.125vw;
  font-size: 3.125vw;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .c-def-table__row dt {
    font-size: 2rem;
    width: 18rem;
  }
}
.c-def-table__row dt::before {
  position: absolute;
  content: "";
  bottom: -0.78125vw;
  right: 4.0625vw;
  width: 1px;
  height: 1.5625vw;
  background: #FFFFFF;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-def-table__row dt::before {
    bottom: -0.5rem;
    height: 1rem;
    right: 2.6rem;
  }
}

html[lang=ja] .c-def-table__row dt {
  font-family: "Noto Serif JP", serif;
}

.video__player {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  width: 100%;
}
.video__player-btn {
  width: 40%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  cursor: pointer;
}
.video__player-btn::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/webp/player_btn.webp) no-repeat center center/100%;
}
.video__player-btn::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 30%;
  aspect-ratio: 1/1;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  rotate: 45deg;
  translate: -50% -50%;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  margin-left: -1.40625vw;
}
@media screen and (min-width: 768px) {
  .video__player-btn::after {
    margin-left: -0.8rem;
  }
}
.video__player-btn:hover::before {
  -webkit-animation: fv-spin 4.5s linear infinite;
          animation: fv-spin 4.5s linear infinite;
}
.video__player-btn:hover::after {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .video__player-btn:hover::after {
    margin-left: 0rem;
  }
}

.c-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.125vw;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
@media screen and (min-width: 768px) {
  .c-modal {
    padding: 2rem;
  }
}
.c-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.c-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  cursor: pointer;
}
.c-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 96rem;
}
.c-modal__close {
  position: absolute;
  top: -7.5vw;
  right: 0;
  width: 6.25vw;
  height: 6.25vw;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-modal__close {
    top: -4.8rem;
    width: 4rem;
    height: 4rem;
  }
}
.c-modal__close::before, .c-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #FFFFFF;
}
.c-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-modal__content {
  position: relative;
  width: 100%;
  background: #000;
}
.c-modal__content iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
}
.c-modal__content img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100dvh - 8rem);
  -o-object-fit: contain;
     object-fit: contain;
}

html.is-modal-open,
body.is-modal-open {
  overflow: hidden;
  touch-action: none;
}

.video__player[data-modal-youtube], .video__player[data-modal-image] {
  cursor: pointer;
}

/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@-webkit-keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

body.top {
  position: relative;
  overflow-x: clip;
  background: #000;
  /*  --------------------

  FV 

  -------------------- */
  /*  --------------------

  NEWS 

  -------------------- */
  /*  --------------------

  MERCH 

  -------------------- */
  /*  --------------------

  digital 

  -------------------- */
  /*  --------------------

  album 

  -------------------- */
  /*  --------------------

  video 

  -------------------- */
  /*  --------------------

  PROFILE 

  -------------------- */
  /*  --------------------

  POEM 

  -------------------- */
}
body.top .fv {
  position: relative;
  padding-top: 0;
  padding-bottom: 12.5vw;
}
@media screen and (min-width: 768px) {
  body.top .fv {
    padding-top: 0;
    padding-bottom: 8rem;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  body.top .fv {
    padding-top: 0;
  }
}
body.top .fv__visual {
  position: relative;
  z-index: 1;
  aspect-ratio: 640/1050;
  overflow: hidden;
}
body.top .fv__visual::after {
  content: "";
  position: absolute;
  bottom: -25vw;
  left: 0;
  width: 100%;
  height: 50%;
  background: url(../img/fv_bg_bottom.svg) no-repeat center bottom/100%;
  pointer-events: none;
  z-index: 4;
}
@media screen and (min-width: 768px) {
  body.top .fv__visual::after {
    bottom: -16rem;
  }
}
body.top .fv__visual-ph {
  display: none;
}
@media screen and (min-width: 1201px) {
  body.top .fv__visual-ph {
    position: relative;
    display: block;
    width: 100%;
  }
}
body.top .fv__visual-ph img {
  width: 100%;
}
@media screen and (min-width: 1201px) {
  body.top .fv__visual-ph01, body.top .fv__visual-ph02, body.top .fv__visual-ph03, body.top .fv__visual-ph04 {
    display: none;
  }
}
body.top .fv__visual-ph01 {
  position: relative;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
body.top .fv__visual-ph02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: scale(1.2);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0.4s;
}
body.top .fv__visual-ph03 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  z-index: 3;
  transform: scale(1.4) rotate(15deg);
  transition: opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1), transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0.6s;
}
body.top .fv__visual-ph04 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  z-index: 2;
  transform: scale(1.3);
  transition: opacity 0.5s cubic-bezier(0.32, 0, 0.67, 0), transform 0.6s cubic-bezier(0.32, 0, 0.67, 0);
  transition-delay: 0.8s;
}
body.top.is-loaded .fv__visual-ph01,
body.top.is-loaded .fv__visual-ph02,
body.top.is-loaded .fv__visual-ph03,
body.top.is-loaded .fv__visual-ph04 {
  opacity: 1;
  transform: scale(1);
}
body.top.is-loaded .fv__logo {
  opacity: 1;
  transform: scale(1);
}

body.top .fv__logo {
  position: absolute;
  bottom: -3%;
  left: 0;
  width: 106%;
  left: -3%;
  opacity: 0;
  z-index: 5;
  transform: scale(0.5);
  transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-delay: 1.2s;
}
@media screen and (min-width: 1201px) {
  body.top .fv__logo {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
body.top .fv__logo img {
  width: 100%;
}
body.top .fv__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.top .fv__objs picture {
  position: absolute;
}
body.top .fv__obj-02 {
  position: absolute;
  top: 164.0625vw;
  left: -21.25vw;
  width: 37.8125vw;
  height: 54.6875vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.top .fv__obj-02 {
    width: 24.2rem;
    height: 35rem;
    left: -13.6rem;
    top: 105rem;
  }
}
body.top .fv__obj-03 {
  position: absolute;
  top: 180.15625vw;
  right: -21.25vw;
  width: 34.375vw;
  height: 34.375vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.top .fv__obj-03 {
    width: 22rem;
    height: 22rem;
    right: -13.6rem;
    top: 115.3rem;
  }
}
body.top .fv__obj__visual {
  position: relative;
  margin-top: 1.5625vw;
}
@media screen and (min-width: 768px) {
  body.top .fv__obj__visual {
    margin-top: 1rem;
  }
}
body.top .fv__obj__visual-img {
  position: relative;
  z-index: 1;
  width: 100%;
}
body.top .fv__content {
  position: relative;
  z-index: 1;
  background: #000;
  padding-top: 3.125vw;
}
@media screen and (min-width: 768px) {
  body.top .fv__content {
    padding-top: 2rem;
  }
}
body.top .fv__content.is-animated .fv__crown {
  opacity: 1;
  transform: scale(1);
}
body.top .fv__content.is-animated .fv__date {
  opacity: 1;
  transform: scale(1);
}
body.top .fv__date {
  position: relative;
  z-index: 2;
  width: 73.75vw;
  margin: 0 auto;
  opacity: 0;
  filter: brightness(0) invert(1);
  transform: scale(1.2);
  transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media screen and (min-width: 768px) {
  body.top .fv__date {
    width: 47.2rem;
  }
}
body.top .fv__crown {
  position: absolute;
  top: 1.5625vw;
  left: 0;
  z-index: 1;
  width: 100%;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  transform: scale(0.5);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  body.top .fv__crown {
    top: 10rem;
  }
}
body.top .fv__btns {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 2.5vw;
  margin-top: -4.6875vw;
  padding-left: 0.9375vw;
}
@media screen and (min-width: 768px) {
  body.top .fv__btns {
    gap: 1.6rem;
    margin-top: -2.6rem;
    padding-left: 0.6rem;
  }
}
body.top .fv__btn {
  display: block;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
body.top .fv__btn:hover {
  opacity: 0.8;
}
body.top .fv__btn--ticket {
  position: relative;
  width: 15.625vw;
}
@media screen and (min-width: 768px) {
  body.top .fv__btn--ticket {
    width: 10rem;
  }
}
body.top .fv__btn--ticket img {
  width: 100%;
}
body.top .fv__btn--ticket .fv__btn-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 130%;
  transform: translate(-50%, -50%);
  -webkit-animation: fv-spin 12s linear infinite;
          animation: fv-spin 12s linear infinite;
}
body.top .fv__btn--ticket .fv__btn-main {
  position: relative;
  z-index: 1;
}
body.top .fv__btn--merch {
  width: 13.125vw;
}
@media screen and (min-width: 768px) {
  body.top .fv__btn--merch {
    width: 8.4rem;
  }
}
body.top .fv__btn--merch img {
  width: 100%;
}
body.top .news__objs {
  z-index: 2;
  pointer-events: none;
}
body.top .news__objs picture {
  position: absolute;
}
@media screen and (min-width: 768px) {
  body.top .news.p-section--white::after {
    height: 72rem;
  }
}
body.top .merch__ph {
  position: relative;
  z-index: 1;
  width: 100%;
}
body.top .merch__ph-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}
body.top .merch__ph-icon.off {
  display: none;
}
body.top .merch__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.top .merch__objs picture {
  position: absolute;
}
body.top .merch__obj-01 {
  top: 21.875vw;
  left: 2.34375vw;
  width: 33.75vw;
  height: 25.78125vw;
}
@media screen and (min-width: 768px) {
  body.top .merch__obj-01 {
    width: 21.6rem;
    height: 16.5rem;
    left: 1.5rem;
    top: 14rem;
  }
}
body.top .digital .c-title {
  position: relative;
}
body.top .digital__ph {
  position: relative;
  z-index: 1;
  width: 100%;
}
body.top .digital__ph-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}
body.top .digital__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: clip;
}
body.top .digital__objs picture {
  position: absolute;
}
body.top .digital__obj-01 {
  top: 17.1875vw;
  right: -9.375vw;
  width: 34.375vw;
  height: 34.375vw;
}
@media screen and (min-width: 768px) {
  body.top .digital__obj-01 {
    width: 22rem;
    height: 22rem;
    right: -6rem;
    top: 11rem;
  }
}
body.top .digital__obj-02 {
  top: 51.5625vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 24.0625vw;
  height: 14.21875vw;
}
@media screen and (min-width: 768px) {
  body.top .digital__obj-02 {
    top: 33rem;
    width: 15.4rem;
    height: 9.1rem;
  }
}
body.top .digital__obj-03 {
  opacity: 0.5;
  bottom: -1.5625vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 24.0625vw;
  height: 14.21875vw;
}
@media screen and (min-width: 768px) {
  body.top .digital__obj-03 {
    bottom: -1rem;
    width: 15.4rem;
    height: 9.1rem;
  }
}
body.top .album__body {
  position: relative;
  z-index: 1;
  margin-top: 4.0625vw;
}
@media screen and (min-width: 768px) {
  body.top .album__body {
    margin-top: 2.4rem;
  }
}
body.top .album__title {
  font-family: "Fondamento", cursive;
  font-size: 4.6875vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  body.top .album__title {
    font-size: 3rem;
  }
}
body.top .album__text {
  margin-top: 1.5625vw;
  font-size: 3.75vw;
}
@media screen and (min-width: 768px) {
  body.top .album__text {
    margin-top: 1rem;
    font-size: 2.4rem;
  }
}
body.top .video {
  padding-bottom: 12.5vw;
}
@media screen and (min-width: 768px) {
  body.top .video {
    padding-bottom: 8rem;
  }
}
body.top .video__obj-01 {
  position: absolute;
  top: 31.25vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  opacity: 0;
  scale: 0.5;
  margin-left: -9.375vw;
  width: 119.671875vw;
  height: 62.015625vw;
  transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), scale 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media screen and (min-width: 768px) {
  body.top .video__obj-01 {
    margin-left: -6rem;
    width: 76.59rem;
    height: 39.69rem;
    top: 20rem;
  }
}
body.top .video__obj-01.is-animated {
  opacity: 1;
  scale: 1;
}
body.top .video__obj-02 {
  position: absolute;
  bottom: 7.8125vw;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 24.0625vw;
  height: 14.375vw;
}
@media screen and (min-width: 768px) {
  body.top .video__obj-02 {
    bottom: 5rem;
    width: 15.4rem;
    height: 9.2rem;
  }
}
body.top .video__obj-03 {
  position: absolute;
  bottom: -1.5625vw;
  left: 0;
  width: 81.25vw;
  height: 21.25vw;
}
@media screen and (min-width: 768px) {
  body.top .video__obj-03 {
    bottom: -1rem;
    width: 52rem;
    height: 13.6rem;
  }
}
body.top .video__slider {
  position: relative;
}
body.top .video__slider .swiper-pagination {
  margin-top: 14.0625vw;
}
@media screen and (min-width: 768px) {
  body.top .video__slider .swiper-pagination {
    margin-top: 9rem;
  }
}
body.top .video__slider .video-swiper {
  overflow: clip;
}
body.top .video__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 8.125vw;
  height: 9.375vw;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  transform: translateY(-50%);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background: url(../img/ico_hexagon_w.svg) no-repeat center center/100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -7.8125vw;
}
@media screen and (min-width: 768px) {
  body.top .video__nav {
    margin-top: -5rem;
    width: 5.2rem;
    height: 6rem;
  }
}
body.top .video__nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.65625vw;
  height: 3.125vw;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #e30d0d;
  margin-left: 0.2em;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  body.top .video__nav::before {
    width: 1.7rem;
    height: 2rem;
  }
}
body.top .video__nav:hover::before {
  margin-left: 0.6em;
}
body.top .video__nav.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
body.top .video__nav--prev {
  left: -3.90625vw;
  transform: translateY(-50%) scaleX(-1);
}
@media screen and (min-width: 768px) {
  body.top .video__nav--prev {
    left: -2.5rem;
  }
}
body.top .video__nav--next {
  right: -3.90625vw;
}
@media screen and (min-width: 768px) {
  body.top .video__nav--next {
    right: -2.5rem;
  }
}
body.top .profile {
  position: relative;
  padding-block: 30vw 14.0625vw;
  background: url(../img/profile_bg.svg) no-repeat center top/cover;
}
@media screen and (min-width: 768px) {
  body.top .profile {
    padding-block: 19.2rem 8rem;
  }
}
body.top .profile__obj-01 {
  position: absolute;
  top: 12.5vw;
  right: -12.5vw;
  width: 85.3125vw;
  height: 55vw;
}
@media screen and (min-width: 768px) {
  body.top .profile__obj-01 {
    width: 54.6rem;
    height: 35.2rem;
    top: 8rem;
    right: -8rem;
  }
}
body.top .profile__obj-02 {
  position: absolute;
  top: 34.375vw;
  left: 50%;
  transform: translateX(-50%) scale(0.5);
  margin: 0 auto;
  width: 124.375vw;
  height: 66.25vw;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media screen and (min-width: 768px) {
  body.top .profile__obj-02 {
    top: 22rem;
    width: 79.6rem;
    height: 42.4rem;
  }
}
body.top .profile__obj-02.is-animated {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}
body.top .profile__obj-03 {
  position: absolute;
  top: 29.6875vw;
  right: -9.375vw;
  width: 37.34375vw;
  height: 42.96875vw;
}
@media screen and (min-width: 768px) {
  body.top .profile__obj-03 {
    right: -6rem;
    top: 19rem;
    width: 23.9rem;
    height: 27.5rem;
  }
}
body.top .profile__obj-04 {
  position: absolute;
  bottom: 0;
  left: -6.25vw;
  width: 61.40625vw;
  height: 31.71875vw;
}
@media screen and (min-width: 768px) {
  body.top .profile__obj-04 {
    left: -4rem;
    width: 39.3rem;
    height: 20.3rem;
  }
}
body.top .profile__obj-05 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 24.21875vw;
  height: 22.96875vw;
  transform: scale(0.2);
  opacity: 0;
  transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media screen and (min-width: 768px) {
  body.top .profile__obj-05 {
    top: 13rem;
    width: 17rem;
    height: 16rem;
  }
}
body.top .profile__obj-05.is-animated {
  opacity: 1;
  transform: scale(1);
}
body.top .profile__visual {
  position: relative;
  z-index: 1;
  margin-top: -15.625vw;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  body.top .profile__visual {
    margin-top: -10rem;
  }
}
body.top .profile__chara {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto;
  display: block;
}
body.top .profile__chara img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
}
body.top .profile__chara::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #fff 0%, #fff 30%, transparent 55%, transparent 100%);
  background-size: 100% 300%;
  background-repeat: no-repeat;
  background-position: 0 0%;
  opacity: 1;
  filter: blur(8px);
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/webp/chara_hakos.webp");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-image: url("../img/webp/chara_hakos.webp");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
}
body.top .profile__chara.is-animated img {
  -webkit-animation: chara-reveal 2.2s 0.25s ease-out both;
          animation: chara-reveal 2.2s 0.25s ease-out both;
}
body.top .profile__chara.is-animated::after {
  -webkit-animation: chara-white-fade 2.2s 0.25s ease-out both;
          animation: chara-white-fade 2.2s 0.25s ease-out both;
}
body.top .profile__card {
  position: relative;
  z-index: 1;
  margin-top: -7.8125vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.1875vw;
}
@media screen and (min-width: 768px) {
  body.top .profile__card {
    margin-top: -5rem;
    gap: 1.4rem;
  }
}
body.top .profile__name {
  font-family: "Fondamento", cursive;
  font-size: 14.53125vw;
  text-align: center;
  color: #FFFFFF;
  font-weight: 400;
  white-space: nowrap;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  body.top .profile__name {
    font-size: 9.3rem;
  }
}
body.top .profile__catch {
  font-family: "Fondamento", cursive;
  font-size: 4.6875vw;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  body.top .profile__catch {
    font-size: 3rem;
  }
}
body.top .profile__desc {
  font-size: 3.75vw;
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  body.top .profile__desc {
    font-size: 2.4rem;
  }
}
body.top .profile__line {
  width: 100%;
  margin-top: 4.0625vw;
  opacity: 0.5;
}
@media screen and (min-width: 768px) {
  body.top .profile__line {
    margin-top: 2.4rem;
  }
}
body.top .profile__table {
  position: relative;
  width: 100%;
  padding-top: 9.375vw;
}
@media screen and (min-width: 768px) {
  body.top .profile__table {
    margin-top: 1.8rem;
    padding-top: 6rem;
  }
}
body.top .profile__table::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 28.75vw;
  height: 6.5625vw;
  background: url(../img/obj_line.svg) no-repeat center center/100%;
  z-index: 1;
  content: "";
}
@media screen and (min-width: 768px) {
  body.top .profile__table::before {
    width: 18.4rem;
    height: 4.2rem;
  }
}
body.top .profile__sns {
  display: flex;
  justify-content: center;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  body.top .profile__sns {
    gap: 2rem;
  }
}
body.top .poem {
  position: relative;
  z-index: 1;
  text-align: center;
  overflow: clip;
  padding: 29.6875vw 0 31.25vw;
  background: #000 url(../img/poem_bg.svg) no-repeat center top/100%;
}
@media screen and (min-width: 768px) {
  body.top .poem {
    padding: 19rem 0 20rem;
  }
}
body.top .poem::before, body.top .poem::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 42.1875vw;
  height: 6.5625vw;
  background: url(../img/poem_obj.svg) no-repeat center top/100%;
  z-index: 3;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  body.top .poem::before, body.top .poem::after {
    width: 27rem;
    height: 4.2rem;
  }
}
body.top .poem::before {
  top: 2.34375vw;
}
@media screen and (min-width: 768px) {
  body.top .poem::before {
    top: 1.5rem;
  }
}
body.top .poem::after {
  bottom: 6.25vw;
  transform: translateX(-50%) scaleY(-1);
}
@media screen and (min-width: 768px) {
  body.top .poem::after {
    bottom: 4rem;
  }
}
body.top .poem__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.top .poem__obj--line {
  transform: translate(0, -5em);
  opacity: 0;
  transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 3;
  pointer-events: none;
}
body.top .poem__obj--line.is-animated {
  opacity: 1;
  transform: translate(0);
}
body.top .poem__obj-reverse-line {
  transform: translate(0, 5em);
  opacity: 0;
  transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 5;
  pointer-events: none;
}
body.top .poem__obj-reverse-line.is-animated {
  opacity: 1;
  transform: translate(0);
}
body.top .poem__obj-01 {
  position: absolute;
  top: 3.125vw;
  left: 12.8125vw;
  width: 7.65625vw;
  height: 7.65625vw;
  rotate: -120deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-01 {
    width: 4.9rem;
    height: 4.9rem;
    top: 2rem;
    left: 8.2rem;
  }
}
body.top .poem__obj-01 img {
  -webkit-animation: float-yurayura 3.2s ease-in-out infinite, blink-periodic 4.6s linear infinite;
          animation: float-yurayura 3.2s ease-in-out infinite, blink-periodic 4.6s linear infinite;
}
body.top .poem__obj-02 {
  position: absolute;
  top: 18.75vw;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  width: 4.375vw;
  height: 4.375vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-02 {
    top: 12rem;
    width: 2.8rem;
    height: 2.8rem;
  }
}
body.top .poem__obj-02 img {
  -webkit-animation: float-yurayura 4s ease-in-out infinite, blink-periodic 8s linear infinite;
          animation: float-yurayura 4s ease-in-out infinite, blink-periodic 8s linear infinite;
}
body.top .poem__obj-03 {
  position: absolute;
  top: 4.6875vw;
  left: 70.3125vw;
  width: 1.25vw;
  height: 25vw;
  rotate: 13deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-03 {
    left: 45rem;
    top: 3rem;
    width: 0.8rem;
    height: 16rem;
  }
}
body.top .poem__obj-04 {
  position: absolute;
  top: 9.375vw;
  right: 10.9375vw;
  width: 10.15625vw;
  height: 10.15625vw;
  rotate: -60deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-04 {
    top: 6rem;
    right: 7rem;
    width: 6.5rem;
    height: 6.5rem;
  }
}
body.top .poem__obj-04 img {
  -webkit-animation: blink-periodic 5s linear infinite;
          animation: blink-periodic 5s linear infinite;
}
body.top .poem__obj-05 {
  position: absolute;
  top: 18.75vw;
  left: 15.625vw;
  width: 1.71875vw;
  height: 34.375vw;
  rotate: -20deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-05 {
    top: 12rem;
    left: 10rem;
    width: 1.1rem;
    height: 22rem;
  }
}
body.top .poem__obj-05.is-animated {
  opacity: 1;
  transform: translate(0);
}
body.top .poem__obj-06 {
  position: absolute;
  top: 70.3125vw;
  right: 7.8125vw;
  width: 1.09375vw;
  height: 21.875vw;
  rotate: 25deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-06 {
    top: 45rem;
    right: 5rem;
    width: 0.7rem;
    height: 14rem;
  }
}
body.top .poem__obj-07 {
  position: absolute;
  top: 167.1875vw;
  left: 12.5vw;
  width: 1.09375vw;
  height: 21.875vw;
  rotate: -40deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-07 {
    top: 107rem;
    left: 8rem;
    width: 0.7rem;
    height: 14rem;
  }
}
body.top .poem__obj-08 {
  position: absolute;
  top: 179.6875vw;
  left: 28.125vw;
  width: 0.9375vw;
  height: 18.75vw;
  rotate: -25deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-08 {
    top: 115rem;
    left: 18rem;
    width: 0.6rem;
    height: 12rem;
  }
}
body.top .poem__obj-09 {
  position: absolute;
  top: 157.8125vw;
  left: 65.625vw;
  width: 2.5vw;
  height: 50vw;
  rotate: 15deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-09 {
    left: 42rem;
    top: 101rem;
    width: 1.6rem;
    height: 32rem;
  }
}
body.top .poem__obj-10 {
  position: absolute;
  top: -9.375vw;
  left: 50%;
  transform: translateX(-50%);
  width: 40.15625vw;
  height: 24.21875vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-10 {
    top: 4rem;
    width: 25.7rem;
    height: 15.5rem;
  }
}
body.top .poem__obj-11 {
  position: absolute;
  bottom: 62.5vw;
  right: 6.25vw;
  width: 1.09375vw;
  height: 21.875vw;
  rotate: -45deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-11 {
    right: 4rem;
    bottom: 40rem;
    width: 0.7rem;
    height: 14rem;
  }
}
body.top .poem__obj-12 {
  position: absolute;
  bottom: 34.375vw;
  left: 6.25vw;
  width: 1.09375vw;
  height: 21.875vw;
  rotate: 30deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-12 {
    left: 4rem;
    bottom: 22rem;
    width: 0.7rem;
    height: 14rem;
  }
}
body.top .poem__obj-13 {
  position: absolute;
  bottom: 46.875vw;
  right: 6.25vw;
  width: 1.09375vw;
  height: 21.875vw;
  rotate: -45deg;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-13 {
    right: 4rem;
    bottom: 30rem;
    width: 0.7rem;
    height: 14rem;
  }
}
body.top .poem__obj-14 {
  position: absolute;
  bottom: 18.75vw;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  width: 5.46875vw;
  height: 15.9375vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.top .poem__obj-14 {
    bottom: 12rem;
    width: 3.5rem;
    height: 10.2rem;
  }
}
body.top .poem__obj-14 img {
  -webkit-animation: blink-periodic 8s linear infinite;
          animation: blink-periodic 8s linear infinite;
}
body.top .poem__contents {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15.625vw;
  padding-bottom: 37.5vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__contents {
    gap: 10rem;
    padding-bottom: 26rem;
  }
}
body.top .poem__content {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__content {
    gap: 2rem;
  }
}
body.top .poem__content-jp {
  display: block;
  font-size: 1.875vw;
  color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.4em;
  text-align: center;
  margin-top: 1.5625vw;
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.2);
  transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1), filter 2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-delay: 0.5s;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  body.top .poem__content-jp {
    font-size: 1.2rem;
    margin-top: 1rem;
  }
}
body.top .poem__content.is-animated .poem__obj-11 {
  opacity: 1;
  transform: translate(0);
}
body.top .poem__content.is-animated .poem__obj-12 {
  opacity: 1;
  transform: translate(0);
}
body.top .poem__content.is-animated .poem__obj-13 {
  opacity: 1;
  transform: translate(0);
}
body.top .poem__content.is-animated .poem__obj-14 {
  opacity: 1;
}
body.top .poem__copy {
  position: relative;
  z-index: 1;
  margin: 0 0 31.25vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__copy {
    margin: 0 0 20rem;
  }
}
body.top .poem__copy.is-animated::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
body.top .poem__copy::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 120%;
  aspect-ratio: 3/6;
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  border-radius: 50%;
  background: radial-gradient(closest-side, #841919 0%, #530B0B 42%, #0F0303 78%, transparent 100%);
  pointer-events: none;
  transition: opacity 2s cubic-bezier(0.075, 0.82, 0.165, 1), transform 2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
body.top .poem__copy p.poem__copy-text {
  font-size: 10.3125vw;
  text-align: center;
  font-weight: 700;
  color: #F71F1F;
  line-height: 0.9;
}
@media screen and (min-width: 768px) {
  body.top .poem__copy p.poem__copy-text {
    margin-top: 10rem;
    font-size: 6.6rem;
  }
}
body.top .poem__copy p.poem__copy-text .big {
  font-size: 14.21875vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__copy p.poem__copy-text .big {
    font-size: 9.1rem;
  }
}
body.top .poem__copy p.poem__copy-text .poem__content-jp {
  color: #F71F1F;
  margin-top: 4.6875vw;
}
@media screen and (min-width: 768px) {
  body.top .poem__copy p.poem__copy-text .poem__content-jp {
    margin-top: 3rem;
  }
}
body.top .poem p {
  font-size: 5.9375vw;
  color: #FFFFFF;
  font-family: "Cormorant Garamond", serif;
  opacity: 0;
  filter: blur(10px);
  transform: translateY(7.8125vw) scale(1.05);
  transition: opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1), filter 2s cubic-bezier(0.075, 0.82, 0.165, 1), transform 2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media screen and (min-width: 768px) {
  body.top .poem p {
    font-size: 3.8rem;
    opacity: 0;
    filter: blur(10px);
    transform: translateY(5rem) scale(1.05);
  }
}
body.top .poem p.is-animated {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0) scale(1);
}
body.top .poem p.is-animated .poem__content-jp {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}

html[lang=ja] body.top .profile__catch {
  font-family: "Noto Serif JP", serif;
}

.news {
  overflow-x: clip;
}
.news__list {
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
}
@media screen and (min-width: 768px) {
  .news__list {
    gap: 1.6rem;
  }
}
.news__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.78125vw;
  line-height: 1.4;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  .news__item a {
    gap: 0.5rem;
  }
}
.news__item a:hover .news__icon::after {
  transform: translate(-50%, -50%) scaleX(1.2);
}
.news__item a:hover .news__icon::before {
  transform: rotate(360deg);
}
.news__date {
  font-family: "Fondamento", cursive;
  text-align: center;
  font-size: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .news__date {
    font-size: 3rem;
  }
}
.news__text {
  font-size: 3.75vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .news__text {
    font-size: 2.4rem;
  }
}
.news__icon {
  position: absolute;
  top: 4.6875vw;
  right: 3.125vw;
  width: 8.125vw;
  height: 9.375vw;
}
@media screen and (min-width: 768px) {
  .news__icon {
    top: 3rem;
    right: 2rem;
    width: 5.2rem;
    height: 6rem;
  }
}
.news__icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/ico_hexagon.svg) no-repeat center center/100%;
  transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.news__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.65625vw;
  height: 3.125vw;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #FFFFFF;
  margin-left: 0.3125vw;
  transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  .news__icon::after {
    width: 1.7rem;
    height: 2rem;
    margin-left: 0.2rem;
  }
}
.news__objs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.news__objs picture {
  position: absolute;
}
.news__obj-01 {
  top: 9.375vw;
  right: -1.5625vw;
  width: 21.875vw;
  height: 25.46875vw;
}
@media screen and (min-width: 768px) {
  .news__obj-01 {
    width: 14rem;
    height: 16.3rem;
    right: -1rem;
    top: 6rem;
  }
}
.news__obj-02 {
  top: 37.5vw;
  left: -4.6875vw;
  width: 19.375vw;
  height: 19.0625vw;
}
@media screen and (min-width: 768px) {
  .news__obj-02 {
    width: 12.4rem;
    height: 12.2rem;
    left: -3rem;
    top: 24rem;
  }
}
.news__obj-03 {
  bottom: -9.375vw;
  left: -4.6875vw;
  width: 14.6875vw;
  height: 16.875vw;
}
@media screen and (min-width: 768px) {
  .news__obj-03 {
    width: 9.4rem;
    height: 10.8rem;
    left: -3rem;
    bottom: -6rem;
  }
}
.news__obj-04 {
  bottom: 0vw;
  right: -1.5625vw;
  width: 15.15625vw;
  height: 15.15625vw;
}
@media screen and (min-width: 768px) {
  .news__obj-04 {
    width: 9.7rem;
    height: 9.7rem;
    right: -1rem;
    bottom: 0rem;
  }
}
.news__obj .inner {
  position: relative;
}
.news__obj__visual {
  position: relative;
  margin-top: 1.5625vw;
}
@media screen and (min-width: 768px) {
  .news__obj__visual {
    margin-top: 1rem;
  }
}
.news__obj__visual-img {
  position: relative;
  z-index: 1;
  width: 100%;
}

.page .ticket {
  overflow-x: clip;
}
.page .ticket__contents-items {
  display: flex;
  flex-direction: column;
  gap: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__contents-items {
    gap: 5rem;
  }
}
.page .ticket__content {
  display: flex;
  flex-direction: column;
  gap: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content {
    gap: 5rem;
  }
}
.page .ticket__content-pricelist {
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-pricelist {
    gap: 1.6rem;
  }
}
.page .ticket__content-pricelist-item {
  font-family: "Fondamento", cursive;
  text-align: center;
}
.page .ticket__content-pricelist-item p {
  font-size: 3.4375vw;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-pricelist-item p {
    font-size: 2.2rem;
  }
}
.page .ticket__content-pricelist-item p .small {
  font-size: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-pricelist-item p .small {
    font-size: 2rem;
  }
}
.page .ticket__content-pricelist-item .price {
  font-size: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-pricelist-item .price {
    font-size: 3rem;
  }
}
.page .ticket__content-pricelist-item .price .color-primary {
  font-size: 5.9375vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-pricelist-item .price .color-primary {
    font-size: 3.8rem;
  }
}
.page .ticket__content-seatmap picture {
  width: 100%;
  height: auto;
}
.page .ticket__content-purchase {
  border-top: 1px solid #727272;
  padding-top: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-purchase {
    padding-top: 3rem;
  }
}
.page .ticket__content-purchase-title {
  font-size: 5.3125vw;
  font-family: "Fondamento", cursive;
  text-align: center;
  margin-bottom: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-purchase-title {
    font-size: 3.4rem;
    margin-bottom: 2rem;
  }
}
.page .ticket__content-purchase .c-btn {
  margin: 0 auto;
}
.page .ticket__content-details-body {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-details-body {
    gap: 2rem;
  }
}
.page .ticket__content-receipt {
  border: 1px solid #727272;
  padding: 1.25vw 2.34375vw;
  font-family: "Fondamento", cursive;
  font-size: 3.75vw;
}
@media screen and (min-width: 768px) {
  .page .ticket__content-receipt {
    padding: 0.8rem 1.5rem;
    font-size: 2.4rem;
  }
}

html[lang=ja] .page .ticket__content-pricelist-item {
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}
html[lang=ja] .page .ticket__content-purchase-title {
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}
html[lang=ja] .page .ticket__content-receipt {
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}

.page .merch {
  overflow-x: clip;
}
.page .merch__contents-items {
  display: flex;
  flex-direction: column;
  gap: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .merch__contents-items {
    gap: 5rem;
  }
}
.page .merch__content {
  display: flex;
  flex-direction: column;
  gap: 0vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content {
    gap: 0rem;
  }
}
.page .merch__content .c-hexagon-title {
  margin-top: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content .c-hexagon-title {
    margin-top: 3rem;
  }
}
.page .merch__content-sales {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content-sales {
    gap: 2rem;
  }
}
.page .merch__content-sales-date {
  font-size: 6.875vw;
  font-family: "Cormorant Garamond", serif;
  text-align: center;
  line-height: 1;
  font-weight: 700;
  color: #B21717;
}
@media screen and (min-width: 768px) {
  .page .merch__content-sales-date {
    font-size: 4.4rem;
  }
}
.page .merch__content-sales-date .small {
  font-size: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content-sales-date .small {
    font-size: 3rem;
  }
}
.page .merch__content-saleslist {
  display: flex;
  flex-direction: column;
  font-size: 3.75vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content-saleslist {
    font-size: 2.4rem;
  }
}
.page .merch__content-details-body {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content-details-body {
    gap: 2rem;
  }
}
.page .merch__content-receipt {
  border: 1px solid #727272;
  padding: 1.25vw 2.34375vw;
  font-family: "Fondamento", cursive;
  font-size: 3.75vw;
}
@media screen and (min-width: 768px) {
  .page .merch__content-receipt {
    padding: 0.8rem 1.5rem;
    font-size: 2.4rem;
  }
}

.page .album {
  overflow-x: clip;
}
.page .album .c-title img {
  filter: brightness(0) invert(0);
}
.page .album__contents-items {
  display: flex;
  flex-direction: column;
  gap: 15.625vw;
}
@media screen and (min-width: 768px) {
  .page .album__contents-items {
    gap: 10rem;
  }
}
.page .album__contents-item {
  display: flex;
  flex-direction: column;
}
.page .album__content {
  display: flex;
  flex-direction: column;
  font-size: 3.75vw;
}
@media screen and (min-width: 768px) {
  .page .album__content {
    font-size: 2.4rem;
  }
}
.page .album__content-details {
  position: relative;
  gap: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-details {
    gap: 5rem;
  }
}
.page .album__content-body {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-body {
    gap: 2rem;
  }
}
.page .album__content-body-table {
  display: flex;
  flex-direction: column;
  padding-bottom: 12.5vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-body-table {
    padding-bottom: 8rem;
  }
}
.page .album__content-body-table::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 28.75vw;
  height: 6.5625vw;
  background: url(../img/obj_line.svg) no-repeat center center/100%;
  z-index: 1;
  content: "";
}
@media screen and (min-width: 768px) {
  .page .album__content-body-table::before {
    width: 18.4rem;
    height: 4.2rem;
  }
}
.page .album__content-body-title {
  font-size: 4.6875vw;
  font-family: "Fondamento", cursive;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page .album__content-body-title {
    font-size: 3rem;
  }
}
.page .album__content-tickets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.page .album__content-tickets-title::before {
  filter: brightness(0) invert(0);
}
.page .album__content-tickets .album__track {
  padding: 4.375vw 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track {
    padding: 2.8rem 0;
  }
}
.page .album__content-tickets .album__track:first-child {
  padding-top: 0;
}
.page .album__content-tickets .album__track:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.page .album__content-tickets .album__track-head {
  display: flex;
  align-items: center;
  gap: 2.5vw;
  margin-bottom: 2.1875vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-head {
    gap: 1.6rem;
    margin-bottom: 1.4rem;
  }
}
.page .album__content-tickets .album__track-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 8.75vw;
  height: 10vw;
  background: url(../img/ico_hexagon.svg) no-repeat center center/100%;
  font-family: "Fondamento", cursive;
  font-weight: 400;
  font-size: 4.0625vw;
  color: #FFFFFF;
  line-height: 1;
  padding-bottom: 0.625vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-num {
    width: 5.6rem;
    height: 6.4rem;
    font-size: 2.6rem;
    padding-bottom: 0.4rem;
  }
}
.page .album__content-tickets .album__track-title {
  font-family: "Fondamento", cursive;
  font-weight: 400;
  font-size: 5.3125vw;
  line-height: 1.25;
  color: #B21717;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-title {
    font-size: 3.4rem;
  }
}
.page .album__content-tickets .album__track-credits {
  line-height: 1.6;
  color: #000;
  margin-bottom: 2.8125vw;
  word-break: break-word;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-credits {
    margin-bottom: 1.8rem;
  }
}
.page .album__content-tickets .album__track-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.875vw;
  margin-bottom: 2.8125vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-links {
    gap: 1.2rem;
    margin-bottom: 1.8rem;
  }
}
.page .album__content-tickets .album__track-link {
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  margin: 0;
}
.page .album__content-tickets .album__track-link a {
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  padding-left: 4.6875vw;
  padding-right: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-link a {
    padding-left: 3rem;
    padding-right: 5rem;
  }
}
.page .album__content-tickets .album__track-link a picture {
  width: 3.125vw;
  height: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-tickets .album__track-link a picture {
    width: 2rem;
    height: 2rem;
  }
}
.page .album__content-benefits {
  margin-top: 15.625vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-benefits {
    margin-top: 10rem;
  }
}
.page .album__content-benefits-body {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
}
@media screen and (min-width: 768px) {
  .page .album__content-benefits-body {
    gap: 4rem;
  }
}
.page .album__spotify {
  margin-top: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .album__spotify {
    margin-top: 5rem;
  }
}

.page .video {
  overflow-x: clip;
}
.page .video__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .page .video__list {
    gap: 3rem;
  }
}
.page .video__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5625vw;
}
@media screen and (min-width: 768px) {
  .page .video__list-item {
    gap: 1rem;
  }
}
.page .video__list .video__player {
  border: 1px solid #F71F1F;
}
.page .video__title {
  font-family: "Fondamento", cursive;
  font-size: 3.125vw;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .page .video__title {
    font-size: 2rem;
  }
}

.page .information {
  overflow-x: clip;
}
.page .information__date-title {
  width: 100%;
}
.page .information__date-text {
  width: 72.8125vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page .information__date-text {
    width: 46.6rem;
  }
}
.page .information__organization {
  margin: 9.375vw 0 1.5625vw;
  display: flex;
  flex-direction: column;
  gap: 1.5625vw;
}
@media screen and (min-width: 768px) {
  .page .information__organization {
    margin: 6rem 0 1rem;
    gap: 1rem;
  }
}
.page .information__organization-title {
  background: #000;
  color: #FFFFFF;
  height: 10.625vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Fondamento", cursive;
  font-size: 5.3125vw;
}
@media screen and (min-width: 768px) {
  .page .information__organization-title {
    height: 6.8rem;
    font-size: 3.4rem;
  }
}
.page .information__organization-text {
  width: 72.8125vw;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page .information__organization-text {
    width: 46.6rem;
  }
}
.page .information__contents-items {
  display: flex;
  flex-direction: column;
  gap: 12.5vw;
}
@media screen and (min-width: 768px) {
  .page .information__contents-items {
    gap: 8rem;
  }
}
.page .information__contents-item {
  display: flex;
  flex-direction: column;
  gap: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .page .information__contents-item {
    gap: 5rem;
  }
}
.page .information__content-details-body {
  display: flex;
  flex-direction: column;
  gap: 1.5625vw;
  font-size: 3.75vw;
}
@media screen and (min-width: 768px) {
  .page .information__content-details-body {
    font-size: 2.4rem;
  }
}
.page .information__content-details-body iframe {
  width: 100%;
  height: 40.625vw;
}
@media screen and (min-width: 768px) {
  .page .information__content-details-body iframe {
    height: 26rem;
  }
}

.single .news__contents-items {
  display: flex;
  flex-direction: column;
  gap: 6.25vw;
}
@media screen and (min-width: 768px) {
  .single .news__contents-items {
    gap: 4rem;
  }
}
.single .news__content-details p,
.single .news__content-details ul,
.single .news__content-details ol,
.single .news__content-details table,
.single .news__content-details figure {
  margin-bottom: 1em;
}
.single .news__content-details figure {
  width: 100% !important;
}
.single .news__content-details figure img {
  width: 100% !important;
  height: auto !important;
}
.single .news__content-details p a {
  text-decoration: underline;
  font-weight: 700;
}

.page .not404__contents-items {
  margin-top: 28.125vw;
}
@media screen and (min-width: 768px) {
  .page .not404__contents-items {
    margin-top: 18rem;
  }
}
.page .not404__title {
  font-size: 4.6875vw;
  text-align: center;
  font-weight: 400;
  font-family: "Fondamento", cursive;
}
@media screen and (min-width: 768px) {
  .page .not404__title {
    font-size: 3rem;
  }
}