@charset "UTF-8";
/* ==========================================================================
 foundation
============================================================================*/
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;900&family=Geom:wght@300..900&display=swap);
html {
  height: 100%;
  overflow-y: scroll;
  width: 100%;
}

body {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  vertical-align: top;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0;
}

p {
  margin: 0;
}

a img, img {
  border: 0;
  vertical-align: middle;
}

strong {
  font-style: normal;
  font-weight: bold;
}

small {
  font-size: 100%;
}

dd, dl, dt, li, ol, ul {
  margin: 0;
  padding: 0;
}

hr {
  background-color: #CCCCCC;
  border: 0;
  color: #CCCCCC;
  height: 1px;
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

th {
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-align: left;
}

td {
  margin: 0;
  padding: 0;
}

blockquote, div, span {
  margin: 0;
  padding: 0;
}

pre {
  font-family: monospace;
  line-height: 1;
  margin: 0;
  padding: 0;
}

button {
  background: 0;
  border: 0;
  cursor: pointer;
  padding: 0;
  vertical-align: middle;
}

button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

label {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

* html textarea {
  margin-top: -2px;
}

*:first-child + html textarea {
  margin-top: -2px;
}

abbr, acronym {
  border: 0;
}

address, caption, cite, code, dfn, em, var {
  font-style: normal;
  font-weight: normal;
}

caption {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 1;
}

* + html code, * + html kbd, * + html pre, * + html samp, * + html tt {
  font-size: 108%;
}

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

article, aside, audio, canvas, projects, figcaption, figure, footer, header, hgroup, mark, menu, nav, section, summary, time, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, projects, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

html {
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html.is-menu-open {
  overflow: hidden;
}

main {
  color: #0C0D10;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: clamp(1.2rem, 1.25vw, 1.6rem);
  font-weight: 400;
  line-height: 1.5;
}
main * {
  box-sizing: border-box;
  font-feature-settings: normal;
}

/* a */
a {
  color: #448aca;
  text-decoration: underline;
}
a:hover {
  color: #448aca;
  text-decoration: none;
}

/* img */
img {
  height: auto;
  max-width: 100%;
}

/* ==========================================================================
 layout
============================================================================*/
/* ==========================================================================
 object/component
============================================================================*/
.c-slider {
  position: relative;
}
.c-slider__track {
  display: flex;
  gap: min(1.25vw, 24px);
  touch-action: pan-y;
  transition-property: transform;
}
.c-slider__dots {
  display: flex;
  gap: min(0.15625vw, 3px);
}
.c-slider__dots button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #d2d2d2;
  border: 0;
  display: block;
  height: 2px;
  padding: 0;
  width: min(2.6041666667vw, 50px);
}
.c-slider__dots .js-vanilla-slider-dot-is-active {
  background: #227487;
}
.c-slider__nav {
  align-items: center;
  display: flex;
  gap: min(3.125vw, 60px);
  justify-content: center;
  margin-top: min(4.6875vw, 60px);
}
.c-slider .js-vanilla-slider-is-nav-hidden {
  display: none;
}
.c-slider__prev, .c-slider__next {
  align-items: center;
  background: #D9E3E5;
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  display: flex;
  height: min(3.125vw, 60px);
  justify-content: center;
  padding: 0;
  transition: opacity 0.3s;
  width: min(3.125vw, 60px);
}
.c-slider__prev:hover, .c-slider__next:hover {
  background: #d2d2d2;
  opacity: 0.75;
}
.c-slider__prev::before, .c-slider__next::before {
  background: #0C0D10;
  content: "";
  aspect-ratio: 20/18;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18' fill='none'%3E%3Cpath d='M10.3387 0.000358741L9.31712 1.02198L16.3152 8.02007L-5.44729e-05 8.02007L-5.43043e-05 9.46056H16.3152L9.31712 16.4587L10.3387 17.4803L19.0787 8.74032L10.3387 0.000358741Z' fill='%230C0D10'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18' fill='none'%3E%3Cpath d='M10.3387 0.000358741L9.31712 1.02198L16.3152 8.02007L-5.44729e-05 8.02007L-5.43043e-05 9.46056H16.3152L9.31712 16.4587L10.3387 17.4803L19.0787 8.74032L10.3387 0.000358741Z' fill='%230C0D10'/%3E%3C/svg%3E");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: min(1.0416666667vw, 20px);
}
.c-slider__prev[disabled], .c-slider__next[disabled] {
  cursor: default;
  opacity: 0.5;
}
.c-slider__prev[disabled]:hover, .c-slider__next[disabled]:hover {
  opacity: 0.5;
}
.c-slider__prev::before {
  transform: rotate(180deg);
}
.c-slider__next::before {
  transform: none;
}

html {
  scrollbar-gutter: stable;
}

@property --loading-hole-size {
  inherits: false;
  initial-value: 0px;
  syntax: "<length>";
}
html.is-loading {
  overflow: hidden;
}

body.is-loading {
  overflow: hidden;
}

.c-loading {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  mask-image: radial-gradient(circle at 50% 50%, transparent var(--loading-hole-size), #000 calc(var(--loading-hole-size) + 1px));
  -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent var(--loading-hole-size), #000 calc(var(--loading-hole-size) + 1px));
  pointer-events: auto;
  position: fixed;
  transition: --loading-hole-size 0.8s ease-in, visibility 0s linear 0.8s;
  z-index: 1090;
}
.c-loading::before {
  background: #2a2c32;
  content: "";
  inset: 0;
  position: absolute;
}
.c-loading__logo {
  height: auto;
  position: relative;
  width: min(14.0625vw, 270px);
}
.c-loading.is-loaded {
  pointer-events: none;
  visibility: hidden;
  --loading-hole-size: 150vmax;
}

.c-floationg-bottom {
  background-color: #0C0D10;
  border-radius: min(0.8333333333vw, 10px);
  bottom: min(2.5vw, 30px);
  position: fixed;
  right: min(2.5vw, 30px);
  top: auto;
  width: min(51.3333333333vw, 616px);
  z-index: 1050;
}
.c-floationg-bottom nav {
  align-items: center;
  display: flex;
  padding: min(1.1666666667vw, 14px) min(3.3333333333vw, 40px);
  width: min(51.3333333333vw, 616px);
}
.c-floationg-bottom nav > span {
  color: #fff;
  font-size: min(1.6666666667vw, 2rem);
  font-weight: 700;
  position: relative;
  padding-right: 4.3em;
  white-space: nowrap;
}
.c-floationg-bottom nav > span::after {
  aspect-ratio: 26/11;
  background: url(../img/txt-nav-arrow.svg) 0% 0% no-repeat;
  background-size: 100% 100%;
  content: "";
  display: block;
  right: 1.5em;
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  width: 1.3em;
}
.c-floationg-bottom__nav-link {
  align-items: center;
  border-radius: 100vh;
  color: #fff !important;
  display: flex;
  font-family: "Geom", sans-serif;
  font-size: min(2.1666666667vw, 2.6rem);
  font-weight: 700;
  height: min(3.5vw, 42px);
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: min(13.3333333333vw, 160px);
}
.c-floationg-bottom__nav-link::after {
  background: #fff;
  border-radius: 100vh;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.3s;
  width: 100%;
  z-index: 1;
}
.c-floationg-bottom__nav-link span {
  display: inline-block;
  position: relative;
  z-index: 2;
}
.c-floationg-bottom__nav-link--east {
  background: linear-gradient(95.97deg, #c29d9d 0%, #00a6ac 48.57%, #acbe84 97.13%);
}
.c-floationg-bottom__nav-link--east:hover::after {
  opacity: 1;
}
.c-floationg-bottom__nav-link--east:hover span {
  background: linear-gradient(91.69deg, #C29D9D 0%, #00A6AC 48.57%, #ACBE84 97.13%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.c-floationg-bottom__nav-link--west {
  background: linear-gradient(95.97deg, #38a8c7 0%, #1d31b7 48.57%, #bf8eba 97.13%);
  margin-left: 0.3846153846em;
}
.c-floationg-bottom__nav-link--west:hover::after {
  opacity: 1;
}
.c-floationg-bottom__nav-link--west:hover span {
  background: linear-gradient(91.69deg, #38A8C7 0%, #1D31B7 48.57%, #BF8EBA 97.13%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.c-modal {
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 1080;
}
.c-modal__overlay {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  background: rgba(18, 25, 40, 0.8);
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.5s ease;
}
.c-modal__panel {
  background: #fff;
  bottom: 0;
  display: flex;
  flex-direction: column;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 0.5s ease;
  width: min(91.6666666667vw, 1100px);
}
.c-modal__header {
  background: #fff;
  box-shadow: 0 0 min(2.0833333333vw, 25px) rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  flex: 0 0 auto;
  min-height: min(16.015625vw, 205px);
  padding: min(4.1666666667vw, 50px) min(13.3333333333vw, 160px) min(4.1666666667vw, 50px) min(8.3333333333vw, 100px);
  position: relative;
  z-index: 1;
}
.c-modal__meta {
  background: linear-gradient(110.41deg, #c29d9d 0%, #00a6ac 48.57%, #acbe84 97.13%);
  border-radius: min(0.25vw, 3px);
  color: #fff;
  display: flex;
  font-family: "Geom", sans-serif;
  font-size: min(2.1666666667vw, 2.6rem);
  font-weight: 600;
  gap: min(0.8333333333vw, 10px);
  line-height: 1;
  padding: 0.3076923077em min(1.6666666667vw, 20px);
  width: -moz-fit-content;
  width: fit-content;
}
.c-modal__meta--west {
  background: linear-gradient(91.69deg, #38a8c7 0%, #1d31b7 48.57%, #bf8eba 97.13%);
}
.c-modal__meta-item {
  align-items: center;
  display: flex;
  white-space: nowrap;
}
.c-modal__meta-item:not(:last-child)::after {
  background: #fff;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: min(2vw, 24px);
  margin-inline: min(1.3333333333vw, 16px) min(0.6666666667vw, 8px);
  transform: rotate(30deg);
  width: min(0.1666666667vw, 2px);
}
.c-modal__meta-item--time {
  align-items: center;
  display: flex;
  gap: min(0.5vw, 6px);
}
.c-modal__meta-item--time > span + span::before {
  background: #fff;
  content: "";
  display: inline-block;
  height: min(0.3333333333vw, 4px);
  margin-right: min(0.5vw, 6px);
  vertical-align: 0.3em;
  width: min(1.1666666667vw, 14px);
}
.c-modal__title {
  color: #0c0d10;
  font-size: min(3vw, 3.6rem);
  font-weight: 900;
  line-height: 1.3;
  margin-top: 0.4444444444em;
}
.c-modal__close {
  align-items: center;
  background: rgba(12, 13, 16, 0.8);
  border-radius: min(0.8333333333vw, 10px);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw, 10px);
  justify-content: center;
  padding: min(1.6666666667vw, 20px) min(1.6666666667vw, 20px) min(1.25vw, 15px);
  position: absolute;
  transition: opacity 0.3s;
  right: min(5vw, 60px);
  top: min(5vw, 60px);
  z-index: 2;
}
.c-modal__close::before {
  background: #fff;
  content: "";
  height: min(2.1666666667vw, 26px);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35' fill='none'%3E%3Cpath d='m2 2 31 31M33 2 2 33' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35' fill='none'%3E%3Cpath d='m2 2 31 31M33 2 2 33' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: min(2.1666666667vw, 26px);
}
.c-modal__close span {
  font-family: "Geom", sans-serif;
  font-size: min(1vw, 1.2rem);
  line-height: 1;
}
.c-modal__close:hover {
  background: rgba(12, 13, 16, 0.8);
  opacity: 0.75;
}
.c-modal__content {
  display: contents;
}
.c-modal__body {
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: min(5vw, 60px) min(8.3333333333vw, 100px) min(8.3333333333vw, 100px);
}
.c-modal__main-image {
  display: block;
  height: auto;
  width: 100%;
}
.c-modal__description {
  color: #0c0d10;
  font-size: min(1.6666666667vw, 2rem);
  line-height: 1.8;
  margin-top: min(3.3333333333vw, 40px);
}
.c-modal__speakers {
  margin-top: min(5vw, 60px);
}
.c-modal__section-title {
  border-bottom: 3px solid #0c0d10;
  color: #0c0d10;
  font-family: "Geom", sans-serif;
  font-size: min(4.1666666667vw, 5rem);
  font-weight: 700;
  line-height: 1;
  padding-bottom: 0.4em;
}
.c-modal__speaker-list {
  display: flex;
  flex-direction: column;
  gap: min(3.3333333333vw, 40px);
  margin-top: min(3.3333333333vw, 40px);
}
.c-modal__speaker {
  display: flex;
  gap: min(2.5vw, 30px);
}
.c-modal__speaker:last-child {
  border-bottom: 0;
}
.c-modal__speaker > img {
  flex: 0 0 min(18.3333333333vw, 220px);
  height: min(20.5vw, 246px);
  -o-object-fit: cover;
     object-fit: cover;
  width: min(18.3333333333vw, 220px);
}
.c-modal__speaker-content {
  color: #0c0d10;
  font-size: min(1.3333333333vw, 1.6rem);
  line-height: 1.8;
}
.c-modal__speaker-name {
  font-size: min(2.3333333333vw, 2.8rem);
  font-weight: 700;
  line-height: 1.3;
}
.c-modal__speaker-role {
  color: #227487;
  font-weight: 500;
  margin-top: 1em;
}
.c-modal__speaker-role--west {
  color: #33409d;
}
.speaker-role_txt-c {
  color: #0c0d10;
}
.c-modal__action {
  border-top: 1px solid #ccc;
  margin-top: min(5vw, 60px);
  padding-top: min(5vw, 60px);
}
.c-modal__action > a {
  align-items: center;
  background: linear-gradient(100.22deg, #c29d9d 0%, #00a6ac 48.57%, #acbe84 97.13%);
  border-radius: 100vh;
  box-shadow: 6px 6px 3.5px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  color: #fff !important;
  display: flex;
  font-size: min(2vw, 2.4rem);
  font-weight: 700;
  gap: min(1.3333333333vw, 16px);
  height: min(7.5vw, 90px);
  justify-content: center;
  text-decoration: none;
  width: min(45.8333333333vw, 550px);
}
.c-modal__action > a > span {
  background: #fff;
  height: min(1.8333333333vw, 22px);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M12.47 0v1.113h7.632L8.716 12.492l.785.785L20.887 1.898v7.627h1.114V0H12.47ZM18.794 20.886H1.114V3.217h8.054V2.104H0V22h19.908v-9.063h-1.114v7.949Z' fill='white'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M12.47 0v1.113h7.632L8.716 12.492l.785.785L20.887 1.898v7.627h1.114V0H12.47ZM18.794 20.886H1.114V3.217h8.054V2.104H0V22h19.908v-9.063h-1.114v7.949Z' fill='white'/%3E%3C/svg%3E");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: min(1.8333333333vw, 22px);
}
.c-modal__action--west > a {
  background: linear-gradient(91.69deg, #38a8c7 0%, #1d31b7 48.57%, #bf8eba 97.13%);
}
.c-modal.is-open {
  pointer-events: auto;
}
.c-modal.is-open .c-modal__overlay {
  opacity: 1;
}
.c-modal.is-open .c-modal__panel {
  transform: translateX(0);
}

/* ==========================================================================
 object/project
============================================================================*/
.p-fv {
  height: calc(100vh - 12.1rem);
  overflow: hidden;
  position: relative;
}
.p-fv__background {
  height: 100%;
  inset: 0;
  max-width: none;
  position: absolute;
  width: 100%;
}
.p-fv__background img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.p-fv__wrapper {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.p-fv__inner {
  max-width: 1573px;
  position: relative;
  visibility: hidden;
  width: 81.9270833333%;
  z-index: 1;
}
.p-fv__inner .p-fv__logo-main,
.p-fv__inner .p-fv__logo-festival,
.p-fv__inner .p-fv__year {
  opacity: 0;
  transform: translateX(min(1.5625vw, 30px));
}
.p-fv__inner .p-fv__lead,
.p-fv__inner .p-fv__event-list {
  opacity: 0;
  transform: translateY(min(1.25vw, 24px));
}
.p-fv__inner.is-ready {
  visibility: visible;
}
.p-fv__inner.is-ready .p-fv__logo-main {
  animation: fv-slide-in 0.5s ease forwards;
}
.p-fv__inner.is-ready .p-fv__logo-festival {
  animation: fv-slide-in 0.5s 0.3s ease forwards;
}
.p-fv__inner.is-ready .p-fv__year {
  animation: fv-slide-in 0.5s 0.6s ease forwards;
}
.p-fv__inner.is-ready .p-fv__lead,
.p-fv__inner.is-ready .p-fv__event-list {
  animation: fv-fade-up 0.5s 1.1s ease forwards;
}
.p-fv__branding {
  align-items: center;
  -moz-column-gap: 3%;
       column-gap: 3%;
  display: grid;
  grid-template-columns: 57.6605212969% 1fr;
  grid-template-rows: auto auto;
  row-gap: min(2.6041666667vw, 50px);
}
.p-fv__logo-main {
  display: block;
  grid-column: 1/-1;
  grid-row: 1;
  max-width: none;
  width: min(81.4583333333vw, 1564px);
}
.p-fv__logo-main img {
  width: 100%;
}
.p-fv__logo-festival {
  display: block;
  grid-column: 1;
  grid-row: 2;
  max-width: none;
  width: min(47.2395833333vw, 907px);
}
.p-fv__logo-festival img {
  width: 100%;
}
.p-fv__lead {
  align-self: center;
  color: #0c0d10;
  font-feature-settings: normal;
  -webkit-font-feature-settings: normal;
  font-size: min(2.5vw, 4.8rem);
  font-weight: 900;
  grid-column: 2;
  grid-row: 2;
  line-height: 1.3;
  text-shadow: 0px 0px 60px #FFFFFF, 0px 0px 30px #FFFFFF, 0px 0px 15px #FFFFFF, 0px 0px 10px #FFFFFF, 0px 0px 5px #FFFFFF, 0px 0px 1px #FFFFFF;
  white-space: nowrap;
}
.p-fv__dates {
  align-items: center;
  display: flex;
  font-family: "Geom", sans-serif;
  justify-content: space-between;
  margin-top: min(0.8333333333vw, 16px);
}
.p-fv__year {
  color: #0c0d10;
  font-size: min(7.7083333333vw, 14.8rem);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.p-fv__year span {
  vertical-align: 0.1em;
  margin-inline: 0.1em;
}
.p-fv__event-list {
  align-items: flex-end;
  display: flex;
  gap: min(0.8333333333vw, 16px);
  list-style: none;
}
.p-fv__event {
  color: #0c0d10;
  font-family: "Geom", sans-serif;
  font-size: min(1.25vw, 2.4rem);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.p-fv__event time {
  background: #fff;
  display: block;
  font-size: clamp(1.2rem, 2.1875vw, 4.2rem);
  line-height: 1;
  padding-inline: 0.0952380952em;
}
.p-fv__event time span {
  vertical-align: 0.05em;
  margin-inline: 0.08em;
}
.p-fv__event-label {
  background-color: #0c0d10;
  color: #fff;
  display: table;
  font-size: min(0.9375vw, 1.8rem);
  font-weight: 700;
  line-height: 1;
  padding: min(0.1041666667vw, 2px) min(0.2604166667vw, 5px);
}
.p-fv__sparkle {
  height: 100vh;
  inset: 0;
  mix-blend-mode: plus-lighter;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 9;
}

@keyframes fv-slide-in {
  from {
    opacity: 0;
    transform: translateX(min(1.5625vw, 30px));
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fv-fade-up {
  from {
    opacity: 0;
    transform: translateY(min(1.25vw, 24px));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-concept {
  align-items: center;
  background: url(../img/bg-concept-01.png) 50% 50%/cover no-repeat;
  display: flex;
  height: min(40.2083333333vw, 772px);
  justify-content: center;
  overflow: hidden;
}
.p-concept__wrapper {
  align-items: center;
  height: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  width: min(100%, 1920px);
}
.p-concept__inner {
  position: relative;
  width: min(69.7916666667%, 1340px);
  z-index: 1;
}
.p-concept__eyebrow {
  color: #fff;
  font-size: min(3.3333333333vw, 6.4rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}
.p-concept__heading {
  color: #fff;
  font-size: min(3.3333333333vw, 6.4rem);
  font-weight: 900;
  line-height: 1.35;
  margin: 0.625em 0 0;
  white-space: nowrap;
}
.p-concept__heading-label {
  color: #1b1c22;
  display: inline-block;
  margin-right: 0.4571428571em;
  padding: 0.0714285714em 0.2857142857em;
  position: relative;
  transform: rotate(-1.5deg);
  z-index: 1;
}
.p-concept__heading-label::before {
  background: #fff;
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}
.p-concept__heading-label::after {
  background: linear-gradient(93.4deg, #FFB030 0.38%, #FF1059 50.38%, #0F1A9A 100.38%);
  content: "";
  inset: 0;
  position: absolute;
  transform: translate(0.1142857143em, 0%) rotate(3deg);
  z-index: 0;
}
.p-concept__heading-text {
  position: relative;
  z-index: 2;
}
.p-concept__body {
  color: #fff;
  font-size: clamp(1.2rem, 1.1458333333vw, 2.2rem);
  font-weight: 400;
  line-height: 1.5;
  margin-top: min(5.2083333333vw, 100px);
}
.p-concept__body p {
  margin: 0;
}
.p-concept__body p + p {
  margin-top: 1.3636363636em;
}
.p-concept__photo {
  display: block;
  position: absolute;
  z-index: 1;
}
.p-concept__photo--01 {
  left: 2.7083333333%;
  top: 9.7150259067%;
  width: 10.4166666667%;
}
.p-concept__photo--02 {
  left: 0;
  top: 48.0569948187%;
  width: 8.8541666667%;
}
.p-concept__photo--03 {
  right: 0;
  top: 8.1606217617%;
  width: 7.2916666667%;
}
.p-concept__photo--04 {
  right: 13.59375%;
  top: 15.6735751295%;
  width: 9.8958333333%;
}
.p-concept__photo--05 {
  right: 1.8229166667%;
  top: 61.7875647668%;
  width: 17.1875%;
}

.p-program {
  background-color: rgba(143, 165, 201, 0.2);
  overflow: hidden;
  position: relative;
  padding: 0 0 min(7.8125vw, 150px);
}
.p-program::after {
  background: url(../img/bg-program-01.png) 50% 0% repeat;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  mix-blend-mode: overlay;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.p-program::before {
  background: linear-gradient(90deg, #CECECE 0.99%, #888888 50.5%, #CECECE 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  content: "PROGRAM\aTHE HYPE";
  font-family: "Geom", sans-serif;
  font-size: min(12.5vw, 24rem);
  font-weight: 800;
  left: 50%;
  line-height: 1;
  mix-blend-mode: color-burn;
  position: absolute;
  top: 0;
  transform: translate(-50%, 0%);
  white-space: pre;
  z-index: 3;
}
.p-program-bg-01, .p-program-bg-02 {
  aspect-ratio: 1/1;
  background: linear-gradient(93.4deg, #71FF3D 0.38%, #FFDC7D 50.38%, #FF67D9 100.38%);
  border-radius: 50%;
  filter: blur(50px);
  opacity: 0.8;
  position: absolute;
  width: min(40vw, 800px);
  z-index: 1;
}
.p-program-bg-01::before, .p-program-bg-01::after, .p-program-bg-02::before, .p-program-bg-02::after {
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.6s ease;
}
.p-program-bg-01::before, .p-program-bg-02::before {
  background: linear-gradient(91.69deg, #38A8C7 0%, #1D31B7 48.57%, #BF8EBA 97.13%);
}
.p-program-bg-01::after, .p-program-bg-02::after {
  background: linear-gradient(93.4deg, #FFF184 0.38%, #FF6551 50.38%, #50A2FF 100.38%);
}
.p-program-bg-01.is-sec-02::before, .p-program-bg-01.is-sec-03::after, .p-program-bg-02.is-sec-02::before, .p-program-bg-02.is-sec-03::after {
  opacity: 1;
}
.p-program-bg-01.is-fixed, .p-program-bg-02.is-fixed {
  position: fixed;
}
.p-program-bg-01.is-bottom, .p-program-bg-02.is-bottom {
  position: absolute;
}
.p-program-bg-01 {
  left: 100%;
  top: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-program-bg-01.is-bottom {
  bottom: 0;
  top: auto;
  transform: translate(-50%, calc(100vh + 50%)) rotate(45deg);
}
.p-program-bg-02 {
  left: 0;
  top: 100vh;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-program-bg-02.is-bottom {
  top: 100%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-program-inner {
  margin-inline: auto;
  position: relative;
  width: min(90%, 1728px);
  z-index: 4;
}
.p-program__heading {
  align-items: center;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  font-size: min(4.1666666667vw, 8rem);
  font-weight: 900;
  height: min(27.0833333333vw, 520px);
  justify-content: center;
  line-height: 1;
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: min(64.2708333333%, 1234px);
}
.p-program__heading-label {
  display: inline-block;
  margin-inline: auto;
  margin: 0 auto;
  padding: 0.1em 0.25em 0.2em 0.25em;
  position: relative;
  transform: rotate(-1.5deg);
  z-index: 1;
}
.p-program__heading-label::before {
  background: #0c0d10;
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}
.p-program__heading-label::after {
  background: linear-gradient(93.4deg, #FFF184 0.38%, #FF6551 50.38%, #50A2FF 100.38%);
  content: "";
  inset: 0;
  position: absolute;
  transform: translate(0.1379310345em, 0) rotate(3deg);
  z-index: 0;
}
.p-program__heading-text {
  position: relative;
  z-index: 2;
}
.p-program__list {
  align-items: flex-start;
  display: grid;
  gap: min(1.25vw, 24px);
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto;
}
.p-program__item {
  background: #fff;
  border-radius: min(0.15625vw, 3px);
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw, 40px);
  overflow: visible;
  padding-bottom: min(2.0833333333vw, 40px);
  position: relative;
}
.p-program__item:nth-child(2) {
  transform: translateY(min(3.125vw, 60px));
}
.p-program__item:nth-child(3) {
  transform: translateY(min(6.25vw, 120px));
}
.p-program__item:nth-child(3) .p-program__category {
  font-size: min(3.3854166667vw, 6.5rem);
}
.p-program__visual {
  position: relative;
}
.p-program__image {
  border-radius: min(0.15625vw, 3px) min(0.15625vw, 3px) 0 0;
  display: block;
  height: min(15.625vw, 300px);
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  width: 100%;
}
.p-program__category {
  align-items: center;
  background: linear-gradient(to bottom, #FFF184 0.38%, #FF6551 50.38%, #50A2FF 100.38%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: flex;
  font-family: "Geom", sans-serif;
  font-size: min(4.0625vw, 7.8rem);
  font-weight: 500;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.p-program__content {
  padding: 0 min(5.2083333333vw, 100px) 0 min(2.0833333333vw, 40px);
}
.p-program__label {
  background: linear-gradient(90deg, rgba(191, 191, 191, 0.6) 0%, rgba(191, 191, 191, 0.6) 60%, rgba(191, 191, 191, 0) 100%);
  color: #0c0d10;
  font-size: min(1.1458333333vw, 2.2rem);
  font-weight: 500;
  line-height: 1.4545454545em;
  padding: 0 0.4545454545em;
}
.p-program__title {
  color: #0c0d10;
  font-size: min(1.9791666667vw, 3.8rem);
  font-weight: 900;
  line-height: 1.4;
  margin: 0.4210526316em 0 0;
}
.p-program__text {
  color: #0c0d10;
  font-size: min(0.9375vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
  margin: 1.3333333333em 0 0;
}
.p-program__venues {
  box-shadow: 0 0 70px rgba(0, 0, 0, 0.2);
  border-radius: min(1.0416666667vw, 20px);
  margin-inline: auto;
  margin-top: min(10.4166666667vw, 200px);
  position: relative;
  width: min(96.875%, 1860px);
  z-index: 4;
}
.p-program__venue {
  --venue-border: linear-gradient(90deg, #c29d9d 0%, #00a6ac 50%, #adbF83 100%);
  --venue-button-gradient: linear-gradient(91.69deg, #C29D9D 0%, #00A6AC 48.57%, #ACBE84 97.13%);
  background: white;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  box-sizing: border-box;
  padding: min(9.375vw, 180px) min(6.5104166667vw, 125px) min(7.8125vw, 150px);
  position: relative;
}
.p-program__venue--east {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: min(1.0416666667vw, 20px) min(1.0416666667vw, 20px) 0 0;
}
.p-program__venue--east .p-program__venue-date__date::before {
  background: #227487;
}
.p-program__venue--west {
  --venue-border: linear-gradient(90deg, #38a8c6 0%, #1d32b7 50%, #bf8dbb 100%);
  --venue-button-gradient: linear-gradient(91.69deg, #38A8C7 0%, #1D31B7 48.57%, #BF8EBA 97.13%);
  background-color: rgba(228, 228, 228, 0.5);
  padding-top: min(7.8125vw, 150px);
}
.p-program__venue--west .p-program__venue-date__date::before {
  background: #33409D;
}
.p-program__venue-inner {
  display: grid;
  gap: min(4.6875vw, 90px);
  grid-template-columns: min(28.6458333333vw, 550px) 1fr;
  margin: 0 auto;
  max-width: 1610px;
}
.p-program__venue-info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.p-program__venue-heading {
  position: relative;
}
.p-program__venue-name {
  color: #0c0d10;
  font-size: min(1.3541666667vw, 2.6rem);
  font-weight: 700;
  line-height: 1;
}
.p-program__venue-logo {
  display: block;
  height: auto;
  margin-top: min(1.0416666667vw, 20px);
  width: min(24.4791666667vw, 470px);
}
.p-program__venue--west .p-program__venue-logo {
  width: min(26.8229166667vw, 515px);
}
.p-program__venue-date {
  margin-top: min(3.125vw, 60px);
}
.p-program__venue-date li + li {
  margin-top: min(1.5625vw, 30px);
}
.p-program__venue-date__date {
  align-items: baseline;
  display: flex;
  font-family: "Geom", sans-serif;
  font-size: min(2.6041666667vw, 5rem);
  font-weight: 700;
  line-height: 1;
  padding-left: 0.6em;
  position: relative;
}
.p-program__venue-date__date::before {
  aspect-ratio: 1/1;
  border-radius: 50%;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  width: 0.24em;
}
.p-program__venue-date__date:has(time:nth-of-type(2)) time:nth-of-type(1)::after {
  background-color: #0c0d10;
  content: "";
  display: inline-block;
  margin-inline: 0.16em;
  vertical-align: 0.32em;
  height: 0.12em;
  width: 0.4em;
}
.p-program__venue-date__place {
  font-size: min(1.1458333333vw, 2.2rem);
  font-weight: 500;
  line-height: 1.4;
  margin-top: 0.3636363636em;
}
.p-program__venue-button {
  height: min(4.6875vw, 90px);
  margin-top: min(3.125vw, 60px);
  transition: transform 0.3s;
  position: relative;
  width: min(23.9583333333vw, 460px);
}
.p-program__venue-button::before {
  background: var(--venue-button-gradient);
  border-radius: min(0.15625vw, 3px);
  content: "";
  inset: 0;
  position: absolute;
  transition: opacity 0.3s;
  transform: translate(min(0.4166666667vw, 8px), min(0.4166666667vw, 8px));
}
.p-program__venue-button:hover {
  transform: translate(min(0.4166666667vw, 8px), min(0.4166666667vw, 8px));
}
.p-program__venue-button:hover::before {
  opacity: 0;
}
.p-program__venue-button a {
  align-items: center;
  background: #0c0d10;
  border-radius: min(0.15625vw, 3px);
  color: #fff !important;
  display: flex;
  font-size: min(1.25vw, 2.4rem);
  font-weight: 700;
  height: 100%;
  justify-content: center;
  position: relative;
  text-decoration: none;
  width: 100%;
  z-index: 1;
}
.p-program__venue-button a span {
  display: inline-block;
  padding-right: min(2.0833333333vw, 40px);
  position: relative;
}
.p-program__venue-button a span::after {
  aspect-ratio: 20/18;
  background-color: #fff;
  content: "";
  mask-image: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.3388 0.000114601L9.31718 1.02173L16.3153 8.01983L6.56227e-06 8.01983L6.73086e-06 9.46031H16.3153L9.31718 16.4584L10.3388 17.48L19.0788 8.74007L10.3388 0.000114601Z' fill='white'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.3388 0.000114601L9.31718 1.02173L16.3153 8.01983L6.56227e-06 8.01983L6.73086e-06 9.46031H16.3153L9.31718 16.4584L10.3388 17.48L19.0788 8.74007L10.3388 0.000114601Z' fill='white'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0%, -50%);
  width: min(1.0416666667vw, 20px);
}
.p-program__timetable {
  background: rgba(255, 255, 255, 0.7);
  position: relative;
  border-radius: min(4.1666666667vw, 80px);
  box-sizing: border-box;
  padding: min(1.5625vw, 30px);
}
.p-program__timetable::before {
  background: linear-gradient(to right, #C29D9D, #00A6AC, #ACBE84);
  border-radius: inherit;
  content: "";
  inset: 0;
  padding: 1px;
  pointer-events: none;
  position: absolute;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.p-program__timetable_note {
  text-align: end;
  font-size: min(0.78125vw, 1.5rem);
  margin-top: 0.5333333333em;
}
.p-program__venue--west .p-program__timetable::before {
  background: linear-gradient(to right, #38A8C7 0%, #1D31B7 50%, #BF8EBA 100%);
}
.p-program__tabs {
  background: #3c3e43;
  border-radius: min(4.6875vw, 90px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  height: min(5.7291666667vw, 110px);
  padding: min(0.5208333333vw, 10px);
}
.p-program__tab {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: min(2.34375vw, 45px);
  color: #8B8B8B !important;
  cursor: pointer;
  display: flex;
  font-family: "Geom", sans-serif;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition: background 0.3s;
}
.p-program__tab:hover {
  background: #1B1C1D;
}
.p-program__tab.is-active {
  background: var(--venue-border);
  color: #fff !important;
  box-shadow: inset 0 0 0 2px #fff;
}
.p-program__tab.is-active:hover {
  background: var(--venue-border);
}
.p-program__tab span:nth-child(1) {
  font-size: min(1.0416666667vw, 2rem);
}
.p-program__tab span:nth-child(2) {
  font-size: min(2.03125vw, 3.9rem);
  margin-left: 0.3846153846em;
}
.p-program__tab span:nth-child(3) {
  font-size: min(0.9375vw, 1.8rem);
  margin-top: 0.6666666667em;
}
.p-program__panels {
  margin-top: min(1.5625vw, 30px);
}
.p-program__panel[hidden] {
  display: none;
}
.p-program__schedule-list {
  list-style: none;
  margin-top: min(3.125vw, 60px);
}
.p-program__schedule-item {
  align-items: flex-start;
  border-bottom: 1px solid #0C0D10;
  display: grid;
  grid-template-columns: min(6.7708333333vw, 130px) 1fr;
  margin-top: min(1.5625vw, 30px);
  padding-bottom: min(1.5625vw, 30px);
  position: relative;
}
.p-program__schedule-item:last-child {
  border-bottom: 0;
}
.p-program__schedule-item::after {
  display: none;
}
.p-program__schedule-item > time {
  color: #227388;
  font-family: "Geom", sans-serif;
  font-size: min(1.4583333333vw, 2.8rem);
  font-weight: 700;
  line-height: 1;
  padding-right: min(1.5625vw, 30px);
  padding-top: 0.2857142857em;
  text-align: right;
}
.p-program__schedule-item > time small {
  display: block;
  font-size: min(1.09375vw, 2.1rem);
  margin-top: 0.380952381em;
}
.p-program__schedule-item > time small::before {
  aspect-ratio: 10/2;
  background-color: #227487;
  content: "";
  display: inline-block;
  margin-right: 0.1904761905em;
  vertical-align: 0.2857142857em;
  width: 0.4761904762em;
}
.p-program__venue--west .p-program__schedule-item > time {
  color: #33409D;
}
.p-program__venue--west .p-program__schedule-item > time small::before {
  background-color: #33409D;
}
.p-program__schedule-item > div {
  position: relative;
}
.p-program__schedule-item > div:has(> .p-program__schedule-card) {
  display: grid;
  grid-template-columns: 1fr;
}
.p-program__schedule-item > div:has(> .p-program__schedule-card:nth-child(2)) {
  align-items: end;
  grid-template-columns: repeat(2, 1fr);
}
.p-program__schedule-card {
  border-left: 1px dashed #BFBFBF;
  color: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-left: min(1.5625vw, 30px);
  padding-bottom: min(1.0416666667vw, 20px);
  position: relative;
  transition: background 0.3s;
  text-decoration: none;
}
.p-program__schedule-card::after {
  aspect-ratio: 1/1;
  background-color: #0c0d10;
  bottom: min(0.78125vw, 15px);
  content: "";
  mask-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 1.75697L13.452 1.75697L13.452 12.3607L1.09133 -6.07967e-07L-4.77036e-08 1.09133L12.3607 13.452L1.75696 13.452L1.75696 15L15 15L15 1.75697Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 1.75697L13.452 1.75697L13.452 12.3607L1.09133 -6.07967e-07L-4.77036e-08 1.09133L12.3607 13.452L1.75696 13.452L1.75696 15L15 15L15 1.75697Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  right: min(1.3020833333vw, 25px);
  width: min(0.78125vw, 15px);
}
.p-program__schedule-card > span {
  align-self: flex-start;
  background: #0c0d10;
  color: #fff;
  display: inline-block;
  font-family: "Geom", sans-serif;
  font-size: min(0.7291666667vw, 1.4rem);
  font-weight: 600;
  line-height: 1.4285714286em;
  padding: 0 0.3571428571em 0 0.5714285714em;
  position: relative;
}
.p-program__schedule-card > span::after {
  background: #0c0d10;
  background-size: 100% 100%;
  clip-path: polygon(0% 0%, 100% 0%, 10% 100%, 0% 100%);
  content: "";
  display: block;
  height: 100%;
  left: 100%;
  position: absolute;
  top: 0;
  transform: translate(-1px, 0%);
  width: 11px;
}
.p-program__schedule-card > strong,
.p-program__schedule-card > small {
  display: block;
}
.p-program__schedule-card > strong {
  font-size: min(0.9375vw, 1.8rem);
  font-weight: 600;
  line-height: 1.3;
  margin-top: 0.5555555556em;
}
.p-program__schedule-card > small {
  font-size: min(0.78125vw, 1.5rem);
  margin-top: 0.5333333333em;
}
.p-program__schedule-card:hover {
  background: #DFE5ED;
}
.p-program__schedule-card:hover strong {
  color: #0c0d10;
}
.p-program__schedule-place {
  color: #227487;
  align-items: center;
  display: flex;
  font-size: clamp(1.2rem, 0.78125vw, 1.5rem);
  line-height: 1.2666666667em;
  gap: 0.6666666667em;
}
.p-program__venue--west .p-program__schedule-place {
  color: #33409D;
}
.p-program__schedule-place > span + span {
  border-left: 1px solid #227487;
  padding-left: min(0.5208333333vw, 10px);
}
.p-program__schedule-card > .p-program__schedule-place {
  display: flex;
}
.p-program__final {
  background: rgba(2, 9, 21, 0.5);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  border-radius: 0 0 min(1.0416666667vw, 20px) min(1.0416666667vw, 20px);
  overflow: hidden;
  padding: min(3.75vw, 72px) min(2.0833333333vw, 40px) min(9.375vw, 180px);
  position: relative;
  text-align: center;
  z-index: 4;
}
.p-program__final::before {
  background: url(../img/bg-program-final-01.png) 50% 50% no-repeat;
  background-size: 100% auto;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.p-program__final-heading {
  line-height: 0;
  margin-inline: auto;
  position: relative;
  width: min(51.0416666667vw, 980px);
}
.p-program__final-heading img {
  display: block;
  height: auto;
  width: 100%;
}
.p-program__final-date {
  margin-inline: auto;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.p-program__final-date::before {
  background: linear-gradient(111deg, #fff184 0.38%, #ff6551 50.38%, #50a2ff 100.38%);
  content: "";
  inset: min(0.2604166667vw, 5px) min(-0.4166666667vw, -8px) min(-0.2604166667vw, -5px) min(0.4166666667vw, 8px);
  position: absolute;
  transform: rotate(1.5deg);
}
.p-program__final-date-inner {
  align-items: center;
  background-color: transparent;
  display: flex;
  padding: min(0.15625vw, 3px) min(1.0416666667vw, 20px);
  position: relative;
  z-index: 1;
}
.p-program__final-date-inner::before {
  background-color: #fff;
  content: "";
  inset: 0;
  position: absolute;
  transform: rotate(-1.5deg);
  z-index: 0;
}
.p-program__final-date-inner > time {
  color: #0c0d10;
  font-family: "Geom", sans-serif;
  font-size: min(3.6458333333vw, 7rem);
  font-weight: 700;
  line-height: 1;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}
.p-program__final-date-inner > time:nth-of-type(1)::after {
  background-color: #0c0d10;
  content: "";
  display: inline-block;
  margin-inline: 0.2em;
  vertical-align: 0.2857142857em;
  height: 0.1142857143em;
  width: 0.4285714286em;
}
.p-program__final-date-inner > small {
  color: #0c0d10;
  font-size: min(1.0416666667vw, 2rem);
  font-weight: 700;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}
.p-program__final-place {
  color: #fff;
  font-family: "Geom", sans-serif;
  font-size: min(2.0833333333vw, 4rem);
  font-weight: 700;
  line-height: 1.3;
  margin-top: min(2.5vw, 48px);
  position: relative;
  white-space: nowrap;
}
.p-program__final-description {
  color: #fff;
  font-size: min(1.1458333333vw, 2.2rem);
  font-weight: 500;
  line-height: 2;
  margin-top: min(4.1666666667vw, 80px);
  position: relative;
}
.p-program__final-notice {
  color: #fff;
  font-size: min(2.1875vw, 4.2rem);
  font-weight: 900;
  line-height: 1.5;
  margin: min(4.1666666667vw, 80px) auto 0;
}
.p-program__final-notice > span {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.p-program__final-notice > span::after {
  background: linear-gradient(90deg, #A2EBD7 0%, #829FFF 25%, #FFA7D7 50%, #FF867B 75%, #FFFA6C 100%);
  bottom: min(0.3125vw, 6px);
  content: "";
  height: min(0.5208333333vw, 10px);
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.p-outline {
  background: #fff url(../img/bg-outline-01.png) 0 0/min(30.2083333333%, 580px) auto no-repeat;
  box-sizing: border-box;
  color: #0C0D10;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  padding: min(9.375vw, 180px) min(5vw, 96px) min(8.3333333333vw, 160px);
  position: relative;
}
.p-outline::after {
  background: url(../img/bg-outline-02.png) 100% 100%/min(30.2083333333%, 580px) auto no-repeat;
  bottom: 0;
  content: "";
  inset-inline: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
}
.p-outline__inner {
  margin: 0 auto;
  max-width: min(90vw, 1728px);
  position: relative;
  z-index: 1;
}
.p-outline__grid {
  display: grid;
  grid-template-columns: minmax(0, 43.4027777778%) minmax(0, 56.5972222222%);
}
.p-outline__heading {
  align-self: start;
  font-weight: 700;
}
.p-outline__eyebrow {
  font-size: min(1.5625vw, 3rem);
  line-height: 1.5;
}
.p-outline__title {
  font-family: "Geom", sans-serif;
  font-size: min(6.25vw, 12rem);
  font-weight: 700;
  line-height: 1;
  margin-top: 0.1333333333em;
}
.p-outline__table {
  border-top: 1px solid #0C0D10;
  font-size: min(1.0416666667vw, 2rem);
  line-height: 1.5;
}
.p-outline__row {
  border-bottom: 1px solid #0C0D10;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
  padding: min(2.6041666667vw, 50px) 0 min(2.6041666667vw, 50px) min(2.6041666667vw, 50px);
}
.p-outline__label {
  font-size: min(1.0416666667vw, 2rem);
  font-weight: 700;
}
.p-outline__value {
  min-width: 0;
}
.p-outline__row--compact {
  align-items: center;
}
.p-outline__name {
  align-items: center;
  display: flex;
  gap: 1.5em;
}
.p-outline__logo {
  height: auto;
  width: min(3.8020833333vw, 73px);
}
.p-outline__name-text {
  font-size: min(1.0416666667vw, 2rem);
  line-height: 1.5;
}
.p-outline__dates {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
.p-outline__date-group {
  border-bottom: 1px dashed #bfbfbf;
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  padding-bottom: 1.5em;
}
.p-outline__date-group--final {
  border-bottom: 0;
  padding-bottom: 0;
}
.p-outline__date-heading {
  font-family: "Geom", sans-serif;
  font-size: min(1.25vw, 2.4rem);
  font-weight: 900;
  line-height: 1;
  margin: 0;
}
.p-outline__date-content {
  display: flex;
  flex-direction: column;
}
.p-outline__date-line {
  align-items: center;
  display: flex;
  font-size: clamp(1.2rem, 1vw, 2rem);
  gap: 0.4em;
  line-height: 1.5;
}
.p-outline__venue + .p-outline__date-line {
  margin-top: 0.8em;
}
.p-outline__day {
  align-items: center;
  background: #dfdfdf;
  display: inline-flex;
  font-family: "Geom", sans-serif;
  font-size: min(0.7291666667vw, 1.4rem);
  line-height: 1;
  justify-content: center;
  min-height: 1.4285714286em;
  min-width: 3.4285714286em;
  padding: 0 0.4285714286em;
}
.p-outline__venue {
  align-items: center;
  display: flex;
  font-size: clamp(1.2rem, 1vw, 2rem);
  gap: 0.5em;
  margin-top: 0.4em;
  line-height: 1.3em;
}
.p-outline__venue-label {
  flex-shrink: 0;
}
.p-outline__venue-name {
  border-left: 1px solid #0C0D10;
  min-width: 0;
  padding-left: min(0.5vw, 10px);
}
.p-outline__map {
  align-items: center;
  box-shadow: 0 1px 0 #33409d;
  box-sizing: border-box;
  color: #33409d !important;
  display: inline-flex;
  font-family: "Geom", sans-serif;
  font-size: min(0.8333333333vw, 1.6rem);
  gap: 0.25em;
  line-height: 1;
  margin-left: 0.5em;
  padding-bottom: 0.125em;
  transition: box-shadow 0.3s;
  vertical-align: middle;
  text-decoration: none;
  white-space: nowrap;
}
.p-outline__map::before {
  background: #33409d;
  content: "";
  height: min(0.78125vw, 15px);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 15' fill='none'%3E%3Cpath d='M10.25 1.75385C9.125 0.623077 7.60227 0 6.01136 0C4.42045 0 2.88636 0.634615 1.76136 1.75385C0.636364 2.88462 0 4.40769 0 6C0 9.75 4.15909 13.65 5.54545 14.85C5.67045 14.9423 5.82955 15 6 15C6.17045 15 6.31818 14.9423 6.45455 14.85C7.85227 13.65 12 9.75 12 6C12 4.40769 11.3636 2.88462 10.2386 1.75385H10.25ZM6 9.02308C4.35227 9.02308 3.02273 7.67308 3.02273 6C3.02273 4.32692 4.35227 2.97692 6 2.97692C7.64773 2.97692 8.97727 4.32692 8.97727 6C8.97727 7.67308 7.64773 9.02308 6 9.02308Z' fill='%2333409D'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 15' fill='none'%3E%3Cpath d='M10.25 1.75385C9.125 0.623077 7.60227 0 6.01136 0C4.42045 0 2.88636 0.634615 1.76136 1.75385C0.636364 2.88462 0 4.40769 0 6C0 9.75 4.15909 13.65 5.54545 14.85C5.67045 14.9423 5.82955 15 6 15C6.17045 15 6.31818 14.9423 6.45455 14.85C7.85227 13.65 12 9.75 12 6C12 4.40769 11.3636 2.88462 10.2386 1.75385H10.25ZM6 9.02308C4.35227 9.02308 3.02273 7.67308 3.02273 6C3.02273 4.32692 4.35227 2.97692 6 2.97692C7.64773 2.97692 8.97727 4.32692 8.97727 6C8.97727 7.67308 7.64773 9.02308 6 9.02308Z' fill='%2333409D'/%3E%3C/svg%3E");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: min(0.625vw, 12px);
}
.p-outline__map:hover {
  box-shadow: none;
}

.p-archive {
  background: #ebf1f2;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: min(9.375vw, 180px) min(5vw, 96px);
}
.p-archive__hd-01 {
  align-items: center;
  display: flex;
  font-size: min(1.875vw, 3.6rem);
  font-weight: 700;
  line-height: 1.5;
  margin-top: min(4vw, 80px);
}
.p-archive__hd-01::before {
  background: linear-gradient(93.4deg, #ffb030 0.38%, #ff1059 50.38%, #0f1a9a 100.38%);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  height: min(1.6666666667vw, 32px);
  margin-right: 0.2777777778em;
  width: min(1.875vw, 36px);
}
.p-archive__current + .p-archive__hd-01 {
  margin-top: min(7.5vw, 150px);
}
.p-archive__current-content {
  margin-top: min(2.0833333333vw, 40px);
}
.p-archive__current-content > .p-program__venues {
  background: rgba(255, 255, 255, 0.5);
  margin-top: 0;
  padding: min(6.25vw, 120px);
  width: 100%;
}
.p-archive__current-content > .p-program__venues > .p-program__venue {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  margin: 0 auto;
  padding: 0 0 min(6.25vw, 120px);
  width: min(77.2916666667vw, 1484px);
}
.p-archive__current-content > .p-program__venues > .p-program__venue:last-child {
  padding-bottom: 0;
}
.p-archive__current-content > .p-program__venues > .p-program__venue:not(:last-child) {
  border-bottom: 1px solid #d2d2d2;
  margin-bottom: min(6.25vw, 120px);
  padding-bottom: min(6.25vw, 120px);
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-inner {
  gap: 0;
  grid-template-columns: min(26.7708333333vw, 514px) min(50.5208333333vw, 970px);
  max-width: none;
  width: min(77.2916666667vw, 1484px);
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-info {
  min-width: 0;
  padding-top: 0;
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-logo {
  margin-top: min(1.0416666667vw, 20px);
  width: min(18.6861458333vw, 358.774px);
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue--west .p-program__venue-logo {
  width: min(18.6861458333vw, 358.774px);
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-date {
  margin-top: min(3.125vw, 60px);
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-date__date {
  font-size: min(2.0833333333vw, 4rem);
}
.p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-button {
  display: none;
}
.p-archive__header {
  display: flex;
  width: 100%;
}
.p-archive__heading {
  width: min(39.0625vw, 750px);
}
.p-archive__eyebrow {
  font-size: min(1.5625vw, 3rem);
  font-weight: 700;
  line-height: 1.5;
}
.p-archive__heading-title {
  font-family: "Geom", sans-serif;
  font-size: min(6.25vw, 12rem);
  font-weight: 700;
  line-height: 1;
  margin-top: 0.1333333333em;
}
.p-archive__description {
  font-size: min(0.9375vw, 1.8rem);
  line-height: 2;
  width: min(36.25vw, 696px);
}
.p-archive__description p + p {
  margin-top: 1.6666666667em;
}
.p-archive__items {
  margin-right: calc(min(5vw, 96px) * -1);
  margin-top: min(4.1666666667vw, 80px);
  overflow: hidden;
  width: calc(100% + min(5vw, 96px));
}
.p-archive__hd-01 + .p-archive__items {
  margin-top: min(2vw, 40px);
}
.p-archive__card {
  flex: 0 0 min(29.1666666667vw, 560px);
  width: min(29.1666666667vw, 560px);
}
.p-archive__card a {
  border-radius: min(0.15625vw, 3px);
  display: flex;
  flex-direction: column;
  gap: min(1.25vw, 24px);
  position: relative;
  transition: opacity 0.3s;
  width: 100%;
}
.p-archive__card a:hover {
  opacity: 0.6;
}
.p-archive__image {
  aspect-ratio: 560/300;
  background: #c7c7c7;
  border-radius: min(0.15625vw, 3px);
  width: 100%;
}
.p-archive__content {
  display: flex;
  flex-direction: column;
  font-size: min(1.0416666667vw, 2rem);
  gap: 0.5em;
}
.p-archive__date {
  color: #44aecc;
  font-family: "Geom", sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
}
.p-archive__title {
  color: #0C0D10;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
}

/* ==========================================================================
 object/utility
============================================================================*/
.js-fade {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s, visibility 1s, transform 1s;
  visibility: hidden;
}

.js-start-animation {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.u-color--red {
  color: #ff0000;
}
.u-color--gray {
  color: #ccc;
}
.u-color--black {
  color: #000;
}
.u-color--white {
  color: #fff;
}
.u-display-tb {
  display: none;
}
.u-display-sp {
  display: none;
}
.u-display-show {
  display: block !important;
}
.u-display-block {
  display: block !important;
}
.u-display-inline {
  display: inline !important;
}
.u-display-inline-block {
  display: inline-block !important;
}
.u-display-flex {
  display: flex !important;
}
.u-display-hide {
  display: none !important;
}

.u-link {
  color: #0C0D10;
  display: inline-block;
  font-size: 1.6rem;
  padding-right: 1.5em;
  position: relative;
  text-decoration: none;
}
.u-link::after {
  clip-path: polygon(40.47% 14.53%, 75.95% 50%, 40.47% 85.47%, 31.61% 76.61%, 58.4% 50%, 31.61% 23.39%);
  background-color: #0C0D10;
  content: "";
  display: inline-block;
  height: 1em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0%, -50%);
  width: 1em;
}
.u-link:hover {
  color: #0C0D10;
  text-decoration: underline;
}

.u-ruby {
  position: relative;
}
.u-ruby::after {
  bottom: 100%;
  content: attr(data-ruby);
  display: block;
  font-size: 1.2rem;
  left: 50%;
  line-height: 1;
  position: absolute;
  transform: translate(-50%, 0%);
  white-space: nowrap;
}

.u-text-left {
  text-align: left !important;
}
.u-text-center {
  text-align: center !important;
}
.u-text-right {
  text-align: right !important;
}
.u-text-bold {
  font-weight: 700 !important;
}
.u-text-underline {
  text-decoration: underline !important;
}
.u-text-marker {
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.u-text-marker::after {
  background: #ffefa2;
  bottom: 0;
  content: "";
  display: block;
  height: 0.5em;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}
@media (min-width: 1025px){
  .u-hide-pc {
    display: none;
  }
}
@media all and (max-width: 1240px){
  .p-fv {
    height: calc(100vh - 8rem);
  }
}
@media (max-width: 1024px) and (min-width: 600px){
  .u-hide-tb {
    display: none;
  }
}
@media screen and (max-width: 1024px){
  .u-display-pc {
    display: none;
  }
  .u-display-tb {
    display: block;
  }
}
@media (max-width: 599px){
  .u-hide-sp {
    display: none;
  }
}
@media screen and (max-width: 599px){
  .c-slider-inner {
    transform: translateX(7.6923076923vw);
  }
  .c-slider__track {
    gap: 5.1282051282vw;
  }
  .c-slider__dots {
    gap: 0.7692307692vw;
  }
  .c-slider__dots button {
    width: 7.6923076923vw;
  }
  .c-slider__nav {
    gap: 0;
    margin-top: 10.2564102564vw;
  }
  .c-slider__prev, .c-slider__next {
    background-color: #0C0D10;
    height: 11.2820512821vw;
    opacity: 0.8;
    position: absolute;
    top: 0;
    transform: translate(0%, calc(22.6923076923vw - 50%));
    width: 11.2820512821vw;
  }
  .c-slider__prev:hover, .c-slider__next:hover {
    background-color: #0C0D10;
  }
  .c-slider__prev::before, .c-slider__next::before {
    background: #fff;
    width: 4.1025641026vw;
  }
  .c-slider__prev {
    left: 2.5641025641vw;
  }
  .c-slider__next {
    right: 2.5641025641vw;
  }
  .c-loading__logo {
    width: 38.4615384615vw;
  }
  .c-floationg-bottom {
    background: rgba(12, 13, 16, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    bottom: 0;
    border-radius: 0;
    right: 0;
    transform: translate(0%, 100%);
    transition: transform 0.5s ease;
    width: 100%;
  }
  .c-floationg-bottom.is-active {
    transform: translate(0%, 0%);
  }
  .c-floationg-bottom.is-bottom {
    transform: translate(0%, 100%);
  }
  .c-floationg-bottom nav {
    height: 13.8461538462vw;
    padding: 0 5.1282051282vw;
    width: 100%;
  }
  .c-floationg-bottom nav > span {
    flex: 0 0 auto;
    font-size: 3.3333333333vw;
    font-weight: 500;
    line-height: 1.3;
    margin-right: auto;
    padding-right: 0;
  }
  .c-floationg-bottom nav > span::after {
    display: none;
  }
  .c-floationg-bottom__nav-link {
    flex: 0 0 32.6923076923vw;
    font-family: "Geom", sans-serif;
    font-size: 5.1282051282vw;
    font-weight: 900;
    height: 9.2307692308vw;
    transition: opacity 0.3s;
    white-space: nowrap;
    width: auto;
  }
  .c-floationg-bottom__nav-link--east {
    background: linear-gradient(91.69deg, #C29D9D 0%, #00A6AC 48.57%, #ACBE84 97.13%);
  }
  .c-floationg-bottom__nav-link--east:hover::after {
    opacity: 0.6;
  }
  .c-floationg-bottom__nav-link--west {
    background: linear-gradient(91.69deg, #38A8C7 0%, #1D31B7 48.57%, #BF8EBA 97.13%);
  }
  .c-floationg-bottom__nav-link--west:hover::after {
    opacity: 0.6;
  }
  .c-modal__panel {
    width: 100%;
  }
  .c-modal__header {
    box-shadow: 0 0 12.8205128205vw rgba(0, 0, 0, 0.15);
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 35.8974358974vw;
    padding: 5.1282051282vw 5.1282051282vw 6.4102564103vw;
  }
  .c-modal__meta {
    border-radius: 0.7692307692vw;
    font-size: 3.5897435897vw;
    gap: 1.5384615385vw;
    padding-left: 2.5641025641vw;
    padding-right: 2.5641025641vw;
    width: 100%;
    display: block;
  }
  .c-modal__meta-item {
    display: inline !important;
  }
  .c-modal__meta-item:not(:last-child)::after {
    height: 4.1025641026vw;
    margin-left: 1.5384615385vw;
    width: 0.2564102564vw;
    transform: rotate(30deg) translateY(3px);
  }
  .c-modal__meta-item--time > span + span::before {
    height: 0.5128205128vw;
    margin-right: 0.5128205128vw;
    width: 1.7948717949vw;
  }
  .c-modal__title {
    align-self: center;
    font-size: 5.1282051282vw;
    margin-top: 4.1025641026vw;
    padding-right: 12.8205128205vw;
    white-space: normal;
  }
  .c-modal__close {
    border-radius: 2.5641025641vw;
    gap: 0;
    height: 11.2820512821vw;
    right: 5.1282051282vw;
    top: 16.9230769231vw;
    width: 11.2820512821vw;
  }
  .c-modal__close::before {
    height: 4.6153846154vw;
    width: 4.6153846154vw;
  }
  .c-modal__close span {
    display: none;
  }
  .c-modal__body {
    padding: 5.1282051282vw 5.1282051282vw 10.2564102564vw;
  }
  .c-modal__description {
    font-size: 4.1025641026vw;
    margin-top: 7.6923076923vw;
  }
  .c-modal__speakers {
    margin-top: 10.2564102564vw;
  }
  .c-modal__section-title {
    font-size: 10.2564102564vw;
    padding-bottom: 0.25em;
  }
  .c-modal__speaker-list {
    gap: 7.6923076923vw;
    margin-top: 10.2564102564vw;
  }
  .c-modal__speaker {
    border-bottom: 1px dashed #bfbfbf;
    flex-direction: column;
    gap: 5.1282051282vw;
    padding-bottom: 7.6923076923vw;
  }
  .c-modal__speaker:last-child {
    padding-bottom: 0;
  }
  .c-modal__speaker > img {
    flex-basis: 56.4102564103vw;
    height: 63.0769230769vw;
    width: 56.4102564103vw;
  }
  .c-modal__speaker-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    font-size: 4.1025641026vw;
    gap: 2.0512820513vw;
    width: 100%;
  }
  .c-modal__speaker-name {
    font-size: 5.1282051282vw;
  }
  .c-modal__speaker-role {
    margin-top: 0;
  }
  .c-modal__action {
    margin-top: 10.2564102564vw;
    padding-top: 10.2564102564vw;
    padding-bottom: 10.2564102564vw;
  }
  .c-modal__action > a {
    font-size: 4.6153846154vw;
    gap: 4.1025641026vw;
    height: 23.0769230769vw;
    width: 100%;
  }
  .c-modal__action > a > span {
    height: 4.6153846154vw;
    width: 4.6153846154vw;
  }
  .p-fv {
    align-items: flex-start;
    height: calc(100vh - 8rem + 66.6666666667vw);
  }
  .p-fv__wrapper {
    height: calc(100vh - 8rem);
  }
  .p-fv__inner {
    max-width: none;
    position: static;
    width: 89.7435897436%;
  }
  .p-fv__branding {
    -moz-column-gap: 0;
         column-gap: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    row-gap: 0;
  }
  .p-fv__logo-main {
    grid-column: 1;
    width: 95%;
  }
  .p-fv__logo-festival {
    grid-column: 1;
    grid-row: 2;
    margin-top: 8.7179487179vw;
    width: 100%;
  }
  .p-fv__lead {
    bottom: 26.6666666667vw;
    font-size: 7.6923076923vw;
    font-weight: 900;
    left: 0;
    line-height: 1.5;
    position: absolute;
    text-align: center;
    width: 100%;
  }
  .p-fv__dates {
    display: block;
    margin-top: 4.1025641026vw;
    text-align: center;
  }
  .p-fv__year {
    font-size: 19.4871794872vw;
  }
  .p-fv__event-list {
    display: none;
  }
  .p-concept {
    background-image: url(../img/bg-concept-01@sp.png);
    height: 222.3076923077vw;
  }
  .p-concept__wrapper {
    padding-bottom: 6.1538461538vw;
    width: 100%;
  }
  .p-concept__inner {
    text-align: center;
    width: 100%;
  }
  .p-concept__eyebrow {
    font-size: 7.6923076923vw;
  }
  .p-concept__heading {
    font-size: 7.6923076923vw;
    white-space: normal;
  }
  .p-concept__heading-label {
    display: block;
    margin-right: 0;
    margin-inline: auto;
    padding: 1.2820512821vw 5.1282051282vw;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-concept__heading-label::after {
    transform: translate(2.0512820513vw, 0%) rotate(3deg);
  }
  .p-concept__heading-suffix {
    display: block;
    margin-top: 0.4em;
  }
  .p-concept__body {
    font-size: 4.1025641026vw;
    line-height: 2;
    margin-top: 18.4615384615vw;
  }
  .p-concept__body p + p {
    margin-top: 5.1282051282vw;
  }
  .p-concept__photo--01 {
    left: 0;
    top: 7.2544642857%;
    width: 34.8717948718%;
  }
  .p-concept__photo--02 {
    top: 74.4419642857%;
    width: 19.7435897436%;
  }
  .p-concept__photo--03 {
    display: none;
  }
  .p-concept__photo--04 {
    right: 0;
    top: 14.5089285714%;
    width: 18.9743589744%;
  }
  .p-concept__photo--05 {
    right: 0;
    top: 80.3571428571%;
    width: 40%;
  }
  .p-program {
    padding: 0 0 23.0769230769vw;
  }
  .p-program::before {
    font-size: 19.2307692308vw;
    line-height: 1.5;
  }
  .p-program-bg-01, .p-program-bg-02 {
    width: 64.1025641026vw;
  }
  .p-program-inner {
    width: 89.7435897436%;
  }
  .p-program__heading {
    font-size: 7.6923076923vw;
    height: 58.2051282051vw;
    width: 100%;
  }
  .p-program__heading-label {
    padding: 2.5641025641vw 5.1282051282vw 3.5897435897vw 5.1282051282vw;
  }
  .p-program__list {
    gap: 6.1538461538vw;
    grid-template-columns: 1fr;
  }
  .p-program__item {
    border-radius: 0.7692307692vw;
    gap: 0;
    height: auto;
  }
  .p-program__item:nth-child(3) .p-program__category {
    font-size: 8.7179487179vw;
  }
  .p-program__item:nth-child(2), .p-program__item:nth-child(3) {
    transform: none;
  }
  .p-program__image {
    border-radius: 0.7692307692vw 0.7692307692vw 0 0;
    height: 48.2051282051vw;
  }
  .p-program__category {
    background: linear-gradient(to right, #FFF184 0.38%, #FF6551 50.38%, #50A2FF 100.38%);
    background-clip: text;
    -webkit-background-clip: text;
    left: 50%;
    font-size: 9.7435897436vw;
    right: auto;
    transform: translate(-50%, -50%);
    top: 48.2051282051vw;
    writing-mode: horizontal-tb;
  }
  .p-program__content {
    padding: 8.9743589744vw 4.1025641026vw 5.1282051282vw;
  }
  .p-program__label {
    font-size: 3.5897435897vw;
    line-height: 1.7142857143em;
  }
  .p-program__title {
    font-size: 7.1794871795vw;
    margin-top: 0.4285714286em;
  }
  .p-program__text {
    font-size: 4.1025641026vw;
    margin-top: 0.75em;
  }
  .p-program__venues {
    border-radius: 12.8205128205vw;
    margin-top: 25.641025641vw;
    width: 100%;
  }
  .p-program__venue {
    padding: 25.641025641vw 0 0;
  }
  .p-program__venue--east {
    border-radius: 12.8205128205vw 12.8205128205vw 0 0;
  }
  .p-program__venue--west {
    padding-top: 25.641025641vw;
  }
  .p-program__venue-inner {
    gap: 20.5128205128vw;
    grid-template-columns: 1fr;
  }
  .p-program__venue-name {
    font-size: 5.641025641vw;
    text-align: center;
  }
  .p-program__venue--west .p-program__venue-logo {
    width: 82.0512820513vw;
  }
  .p-program__venue-logo {
    margin-inline: auto;
    margin-top: 5.1282051282vw;
    width: 82.0512820513vw;
  }
  .p-program__venue-date {
    margin-top: 15.3846153846vw;
    text-align: center;
  }
  .p-program__venue-date li + li {
    margin-top: 5.1282051282vw;
  }
  .p-program__venue-date__date {
    display: inline-flex;
    font-size: 9.2307692308vw;
    justify-content: center;
    padding-left: 6.1538461538vw;
  }
  .p-program__venue-date__date::before {
    width: 3.0769230769vw;
  }
  .p-program__venue-date__place {
    font-size: 4.6153846154vw;
  }
  .p-program__venue-button {
    height: 17.9487179487vw;
    margin-inline: auto;
    margin-top: 15.3846153846vw;
    width: 87.1794871795vw;
  }
  .p-program__venue-button::before {
    border-radius: 0.7692307692vw;
    transform: translate(2.5641025641vw, 2.5641025641vw);
  }
  .p-program__venue-button a {
    border-radius: 0.7692307692vw;
    font-size: 4.6153846154vw;
  }
  .p-program__venue-button a span {
    display: block;
    padding-right: 0;
    text-align: center;
    width: 100%;
  }
  .p-program__venue-button a span::after {
    right: 5.1282051282vw;
    width: 5.1282051282vw;
  }
  .p-program__timetable {
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
    padding: 7.6923076923vw 2.5641025641vw 12.3076923077vw;
  }
  .p-program__tabs {
    border-radius: 5.1282051282vw;
    height: 25.641025641vw;
    padding: 2.5641025641vw;
  }
  .p-program__tab {
    display: block;
  }
  .p-program__tab span:nth-child(1) {
    display: block;
    font-size: 3.8461538462vw;
    margin-bottom: 0.2666666667em;
    width: 100%;
  }
  .p-program__tab span:nth-child(2) {
    font-size: 6.6666666667vw;
    margin-left: 0;
  }
  .p-program__tab span:nth-child(3) {
    font-size: 3.0769230769vw;
  }
  .p-program__schedule-item {
    border-bottom: 0;
    grid-template-columns: 1fr;
    margin-top: 7.6923076923vw;
  }
  .p-program__schedule-item + .p-program__schedule-item {
    margin-top: 5.1282051282vw;
  }
  .p-program__schedule-item > time {
    background-color: #227487;
    border-radius: 0.5128205128vw;
    color: #fff;
    font-size: 4.6153846154vw;
    line-height: 7.1794871795vw;
    padding: 0 2.5641025641vw;
    text-align: left;
  }
  .p-program__schedule-item > time small {
    display: inline;
    font-size: 4.6153846154vw;
    margin-top: 0;
  }
  .p-program__schedule-item > time small::before {
    background-color: #fff;
    margin-left: 0.2857142857em;
    margin-right: 0.2857142857em;
  }
  .p-program__venue--west .p-program__schedule-item > time {
    background-color: #33409D;
    color: #fff;
  }
  .p-program__venue--west .p-program__schedule-item > time small::before {
    background-color: #fff;
  }
  .p-program__schedule-item > div {
    padding-top: 3.8461538462vw;
  }
  .p-program__schedule-card {
    padding: 0 2.5641025641vw 3.8461538462vw;
  }
  .p-program__schedule-card:first-child {
    border-left: 0;
  }
  .p-program__schedule-card::after {
    bottom: 4.1025641026vw;
    right: 2.5641025641vw;
    width: 2.5641025641vw;
  }
  .p-program__schedule-card > span {
    font-size: 3.0769230769vw;
    line-height: 1.4545454545em;
  }
  .p-program__schedule-card > strong {
    font-size: 3.8461538462vw;
  }
  .p-program__schedule-card > small {
    font-size: 3.3333333333vw;
    margin-top: 0.7692307692em;
  }
  .p-program__schedule-place {
    gap: 2.5641025641vw;
  }
  .p-program__schedule-place > span + span {
    padding-left: 2.5641025641vw;
  }
  .p-program__final {
    border-radius: 0 0 5.1282051282vw 5.1282051282vw;
    margin-top: 25.641025641vw;
    padding: 16.4102564103vw 0 25.641025641vw;
  }
  .p-program__final::before {
    background: url(../img/bg-program-final-01@sp.png) 50% 0% no-repeat;
    background-size: 100% auto;
  }
  .p-program__final-heading {
    width: 100%;
  }
  .p-program__final-heading img {
    left: 50%;
    position: relative;
    top: 0;
    transform: translate(-50%, 0%);
    width: 170%;
  }
  .p-program__final-date::before {
    inset: 0 0 0 2.5641025641vw;
    width: 106.6666666667%;
  }
  .p-program__final-date {
    margin-inline: 0;
    margin-left: 7.1794871795vw;
    margin-top: 8.2051282051vw;
  }
  .p-program__final-date-inner {
    padding: 1.5384615385vw 6.1538461538vw 1.5384615385vw 5.1282051282vw;
  }
  .p-program__final-date-inner > time {
    font-size: 8.2051282051vw;
  }
  .p-program__final-date-inner > time:nth-of-type(1)::after {
    height: 1.5384615385vw;
    width: 4.6153846154vw;
  }
  .p-program__final-date-inner > small {
    font-size: 3.5897435897vw;
  }
  .p-program__final-place {
    font-size: 6.1538461538vw;
    margin-top: 10.2564102564vw;
  }
  .p-program__final-description {
    font-size: 4.1025641026vw;
    font-weight: 400;
    margin-top: 12.8205128205vw;
  }
  .p-program__final-notice {
    font-size: 6.6666666667vw;
    margin-top: 10.2564102564vw;
  }
  .p-program__final-notice::after {
    bottom: 0.7692307692vw;
    height: 1.2820512821vw;
  }
  .p-program__final-notice > span::after {
    display: none;
  }
  .p-program__final-notice > span > span {
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  .p-program__final-notice > span > span::after {
    background: linear-gradient(90deg, #A2EBD7 0%, #829FFF 25%, #FFA7D7 50%, #FF867B 75%, #FFFA6C 100%);
    bottom: 0.5128205128vw;
    content: "";
    height: 1.0256410256vw;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: -1;
  }
  .p-outline {
    background-image: url(../img/bg-outline-01@sp.png);
    background-position: 0 0;
    background-size: 82.0512820513vw auto;
    padding: 20.5128205128vw 0;
  }
  .p-outline::after {
    background-image: url(../img/bg-outline-02@sp.png);
    background-size: 76.9230769231vw auto;
  }
  .p-outline__inner {
    max-width: 89.7435897436vw;
  }
  .p-outline__grid {
    display: block;
  }
  .p-outline__eyebrow {
    font-size: 6.1538461538vw;
  }
  .p-outline__title {
    font-size: 18.4615384615vw;
    margin-top: 0.2222222222em;
  }
  .p-outline__table {
    font-size: 4.1025641026vw;
    margin-top: 15.3846153846vw;
  }
  .p-outline__row {
    border-bottom: 0;
    display: block;
    padding: 0;
  }
  .p-outline__label {
    background: #0C0D10;
    box-sizing: border-box;
    color: #fff;
    display: block;
    font-size: 4.1025641026vw;
    line-height: 1.5;
    padding: 0.3125em 0.625em;
    width: 100%;
  }
  .p-outline__row--dates > .p-outline__value {
    padding: 1.25em 0;
  }
  .p-outline__row--compact > .p-outline__value {
    padding: 1.25em 0;
  }
  .p-outline__name {
    flex-direction: column;
    gap: 0.875em;
    padding: 1.25em 0;
  }
  .p-outline__logo {
    order: 2;
    width: 51.2820512821vw;
  }
  .p-outline__name-text {
    align-self: stretch;
    font-size: 4.1025641026vw;
    order: 1;
    width: 59.4871794872vw;
  }
  .p-outline__dates {
    gap: 1.875em;
    padding: 0;
  }
  .p-outline__date-group {
    gap: 1.25em;
    padding-bottom: 1.875em;
  }
  .p-outline__date-heading {
    font-size: 6.1538461538vw;
  }
  .p-outline__date-line {
    font-size: 4.1025641026vw;
    gap: 0.5em;
  }
  .p-outline__date-line + .p-outline__date-line {
    margin-top: 0.3125em;
  }
  .p-outline__venue + .p-outline__date-line {
    margin-top: 5.1282051282vw;
  }
  .p-outline__day {
    font-size: 3.5897435897vw;
  }
  .p-outline__venue {
    align-items: flex-start;
    font-size: 4.1025641026vw;
    gap: 2.5641025641vw;
    margin-top: 0.625em;
  }
  .p-outline__venue-name {
    padding-left: 2.5641025641vw;
  }
  .p-outline__map {
    font-size: 3.5897435897vw;
    transition: background 0.3s;
  }
  .p-outline__map::before {
    height: 3.3333333333vw;
    width: 2.8205128205vw;
  }
  .p-outline__map:hover {
    background-color: #DFE5ED;
  }
  .p-outline__detail {
    font-size: 4.1025641026vw;
    line-height: 1.5;
  }
  .p-archive {
    padding: 25.641025641vw 5.1282051282vw;
  }
  .p-archive__hd-01 {
    font-size: 6.1538461538vw;
    justify-content: center;
    margin-top: 20.5128205128vw;
  }
  .p-archive__hd-01::before {
    height: 5.8974358974vw;
    margin-right: 2.5641025641vw;
    width: 6.6666666667vw;
  }
  .p-archive__current + .p-archive__hd-01 {
    margin-top: 25.641025641vw;
  }
  .p-archive__current-content {
    margin-inline: -5.1282051282vw;
    margin-top: 6.1538461538vw;
    width: calc(100% + 10.2564102564vw);
  }
  .p-archive__current-content > .p-program__venues {
    margin-top: 0;
    padding: 0;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue {
    border-bottom: 0;
    border-radius: 12.8205128205vw 12.8205128205vw 0 0;
    padding: 20.5128205128vw 0 0;
    width: 100%;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue:not(:last-child) {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue + .p-program__venue {
    border-radius: 0;
    padding-top: 20.5128205128vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-inner {
    gap: 0;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-info {
    padding: 0 5.1282051282vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-logo {
    margin-top: 5.1282051282vw;
    width: 56.4102564103vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue--west .p-program__venue-logo {
    width: 56.4102564103vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-date {
    margin-top: 7.6923076923vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-date__date {
    font-size: 7.1794871795vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__venue-date__place {
    font-size: 3.5897435897vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__timetable {
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
    margin-top: 7.6923076923vw;
    padding: 7.6923076923vw 2.5641025641vw 12.3076923077vw;
    width: 100%;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-list {
    margin-top: 0;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-item > div:has(> .p-program__schedule-card:nth-child(2)) {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-card {
    padding: 0 2.5641025641vw 5.1282051282vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-card > span {
    font-size: 3.0769230769vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-card > strong {
    font-size: 3.8461538462vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-card > small {
    font-size: 3.3333333333vw;
  }
  .p-archive__current-content > .p-program__venues > .p-program__venue .p-program__schedule-place {
    font-size: 3.3333333333vw;
  }
  .p-archive__header {
    display: block;
  }
  .p-archive__heading {
    width: 100%;
  }
  .p-archive__eyebrow {
    font-size: 6.1538461538vw;
  }
  .p-archive__heading-title {
    font-size: 18.4615384615vw;
    margin-top: 4.1025641026vw;
  }
  .p-archive__description {
    font-size: 3.8461538462vw;
    line-height: 1.5;
    margin-top: 3.3333333333em;
    width: 100%;
  }
  .p-archive__description p + p {
    margin-top: 1.6em;
  }
  .p-archive__items {
    margin-inline: -5.1282051282vw;
    margin-top: 15.3846153846vw;
    width: auto;
  }
  .p-archive__hd-01 + .p-archive__items {
    margin-top: 7.6923076923vw;
  }
  .p-archive__card {
    flex-basis: 84.6153846154vw;
    gap: 0.625em;
    width: 84.6153846154vw;
  }
  .p-archive__card a {
    border-radius: 0.7692307692vw;
    gap: 0.625em;
    transition: background 0.3s;
  }
  .p-archive__card a:hover {
    opacity: 1;
  }
  .p-archive__card a:hover::after {
    background: rgba(0, 0, 0, 0.1);
    content: "";
    display: block;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
  }
  .p-archive__image {
    border-radius: 0.7692307692vw;
  }
  .p-archive__content {
    font-size: 4.1025641026vw;
    gap: 0.3125em;
  }
  .u-display-tb {
    display: none;
  }
  .u-display-sp {
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */
