@charset "UTF-8";
.splide__container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
          animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}

@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

#wrapper .mv .swiper-slide {
  opacity: 0 !important;
}
#wrapper .mv .swiper-slide.swiper-slide-active {
  opacity: 1 !important;
  position: relative;
}

.disable {
  cursor: default;
  pointer-events: none;
}

.font-museo {
  font-family: "museo-sans", sans-serif;
  font-weight: 500;
}

html.scroll-behavior {
  scroll-behavior: smooth;
  scroll-padding-top: 7.6388888889vw;
}
@media screen and (max-width: 767px) {
  html.scroll-behavior {
    scroll-padding-top: 17.4358974359vw;
  }
}

body {
  -webkit-text-size-adjust: 100%;
}

p,
h2,
div {
  max-height: 99999rem;
  -webkit-text-size-adjust: 100%;
}

.protect-box {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.protect-box img {
  pointer-events: none;
}

@media print {
  body {
    display: none;
  }
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ W3", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  color: #000000;
}

a:link,
a:visited {
  text-decoration: underline;
}

a:hover,
.a:active {
  text-decoration: none;
}

.aside-container a {
  text-decoration: none;
}

.external-link:hover {
  position: relative;
}
.external-link:hover::before {
  content: "";
  width: 5.5555555556vw;
  aspect-ratio: 80/32;
  display: block;
  background: url(../img/external.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: -2.2222222222vw;
  left: -0.5555555556vw;
  z-index: 10000;
}
@media screen and (max-width: 767px) {
  .external-link:hover::before {
    width: 20.5128205128vw;
    top: -8.2051282051vw;
    left: 0;
  }
}

#site-translate-header-wrapper {
  border: none !important;
  padding: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
}
#site-translate-header-wrapper #site-translate-message {
  font-size: 0 !important;
  visibility: hidden !important;
}

#onetrust-consent-sdk #onetrust-pc-sdk .ot-acc-grpcntr.ot-acc-txt,
#onetrust-consent-sdk #onetrust-pc-sdk .ot-acc-txt .ot-subgrp-tgl .ot-switch.ot-toggle {
  background-color: #E9E9E9 !important;
}

#onetrust-consent-sdk #onetrust-pc-sdk *:focus, #onetrust-consent-sdk #onetrust-pc-sdk .ot-vlst-cntr > a:focus {
  outline: none !important;
}

#crosslang-translate-modal .crosslang-translate-modal__btn-primary {
  background-color: #FFE100 !important;
  color: #000 !important;
}

#ot-sdk-btn-floating.ot-floating-button {
  bottom: 10.4166666667vw !important;
}
@media screen and (max-width: 767px) {
  #ot-sdk-btn-floating.ot-floating-button {
    bottom: 20.5128205128vw !important;
  }
}

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

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

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

.u-db {
  display: block !important;
}

.u-di {
  display: inline-block !important;
}

.u-fl {
  float: left !important;
}

.u-fr {
  float: right !important;
}

.u-b {
  font-weight: bold !important;
}

.u-cp {
  cursor: pointer !important;
}

.u-vt {
  vertical-align: top !important;
}

.u-vm {
  vertical-align: middle !important;
}

.u-vba {
  vertical-align: baseline !important;
}

.u-vbo {
  vertical-align: bottom !important;
}

@-webkit-keyframes backToOpac1 {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}

@keyframes backToOpac1 {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
body.dropdown-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}

button {
  font-family: inherit;
  background: none;
  border: none;
}

#wrapper {
  font-size: 16px;
  line-height: 1.5;
  min-height: 100vh;
}

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

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

.opac {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .opac {
    filter: alpha(opacity=100);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
.opac:hover {
  -webkit-animation: backToOpac1 0.7s linear 0s;
          animation: backToOpac1 0.7s linear 0s;
}

.content-outer {
  padding: 0 5.5555555556vw;
}
@media screen and (max-width: 767px) {
  .content-outer {
    padding: 0 3.5897435897vw;
  }
}

.contents-wrapper {
  margin: 0 auto;
  max-width: 100%;
  width: 75vw;
}
@media screen and (max-width: 767px) {
  .contents-wrapper {
    width: 100%;
  }
}

.style-gradation {
  color: #fff;
  background: -webkit-linear-gradient(224deg, #19C0F0 9.65%, #B57BDA 54.03%, #E68AD8 70.92%, #F690D8 84.81%);
  background: linear-gradient(226deg, #19C0F0 9.65%, #B57BDA 54.03%, #E68AD8 70.92%, #F690D8 84.81%);
  display: block;
}
.style-gradation.style-icon {
  border-radius: 50%;
}

.language {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.9027777778vw;
}
@media screen and (max-width: 767px) {
  .language {
    gap: 3.8461538462vw;
  }
}
@media screen and (max-width: 767px) {
  .language:where(.header *) {
    gap: 3.0769230769vw;
  }
}
.language:where(.footer *) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 0.4166666667vw;
}
@media screen and (max-width: 767px) {
  .language:where(.footer *) {
    margin-left: -6.1538461538vw;
  }
}

.language__icon {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 2.0833333333vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .language__icon {
    width: 8.9743589744vw;
  }
  .language__icon:where(.header-language *) {
    width: 7.6923076923vw;
  }
}

.language__item-container {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .language__item-container {
    gap: 4.6153846154vw;
  }
  .language__item-container:where(.header-language *) {
    gap: 3.0769230769vw;
  }
}

.language__item {
  color: #888;
  font-size: 1.0416666667vw;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  display: grid;
  gap: 0.3472222222vw;
}
@media screen and (max-width: 767px) {
  .language__item {
    font-size: 4.6153846154vw;
    gap: 1.7948717949vw;
  }
}
.language__item::after {
  content: "";
  border-top: 0.1388888889vw solid #38B3EC;
  visibility: hidden;
  display: block;
  margin-left: 0.2083333333vw;
}
@media screen and (max-width: 767px) {
  .language__item::after {
    border-top-width: 0.5128205128vw;
    margin-left: 1.0256410256vw;
  }
}
.language__item.active {
  color: #000;
  font-weight: 700;
}
.language__item.active::after {
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .language__item:where(.header-language *) {
    font-size: 3.5897435897vw;
  }
}

.sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.7777777778vw;
}

@media screen and (max-width: 767px) {
  .sns__item img {
    width: auto;
  }
  .sns__item img:where(.dropdown-menu__sns *) {
    height: 8.4615384615vw;
  }
}

.header {
  background-color: #fff;
  padding-top: 0.8333333333vw;
  padding-bottom: 0.5555555556vw;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .header {
    padding-top: 1.5384615385vw;
    padding-bottom: 1.5384615385vw;
    padding-left: 2.0512820513vw;
    padding-right: 2.0512820513vw;
  }
}
.header .contents-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header-column.right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.4583333333vw;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-top: 0.2777777778vw;
  padding-right: 3.1944444444vw;
}

.header-logo.springfestival {
  width: 9.2361111111vw;
  aspect-ratio: 133/90;
}
@media screen and (max-width: 767px) {
  .header-logo.springfestival {
    width: 21.2820512821vw;
    aspect-ratio: 83/56;
  }
}

.header-date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-top: 1.25vw;
}
@media screen and (max-width: 767px) {
  .header-date {
    margin-top: 0;
  }
}

.header-date__item {
  color: #000;
  font-size: 2.4305555556vw;
  font-weight: 900;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .header-date__item {
    font-size: 5.3846153846vw;
    line-height: 1;
  }
}
.header-date__item span {
  font-size: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .header-date__item span {
    font-size: 2.5641025641vw;
  }
}
.header-date__item + .header-date__item::before {
  content: "";
  background: url(../img/arrow-date.svg) no-repeat 0 0/contain;
  display: inline-block;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  margin-left: 0.4166666667vw;
  margin-right: 0.625vw;
  width: 1.25vw;
  aspect-ratio: 18/11;
}
@media screen and (max-width: 767px) {
  .header-date__item + .header-date__item::before {
    margin-left: 1.0256410256vw;
    margin-right: 1.0256410256vw;
    width: 2.5641025641vw;
  }
}

@media screen and (max-width: 767px) {
  .header-date-language {
    display: grid;
    -webkit-align-content: start;
        -ms-flex-line-pack: start;
            align-content: start;
    gap: 1.2820512821vw;
  }
}

.header-logo-date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5277777778vw;
}
@media screen and (max-width: 767px) {
  .header-logo-date {
    gap: 4.1025641026vw;
  }
}

.header-language-nav01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3888888889vw;
}

.header-nav01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3888888889vw;
}

.header-nav02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875vw;
}

.header-nav__item:where(.header-nav01 *) a.style-icon {
  width: 2.0833333333vw;
}
.header-nav__item:where(.header-nav01 *) a.style-text {
  color: #FFF;
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  border-radius: 1.0416666667vw;
  display: block;
  padding: 0.5208333333vw 1.3888888889vw;
}
.header-nav__item:where(.header-nav02 *) a {
  color: #000;
  font-size: 1.0416666667vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
}
.header-nav__item:where(.header-nav02 *) a.schedule::before, .header-nav__item:where(.header-nav02 *) a.plan::before {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 1.6666666667vw;
  aspect-ratio: 1/1;
}
.header-nav__item:where(.header-nav02 *) a.schedule::before {
  background-image: url(/tdp_spring2026/img/icon-calendar.svg);
}
.header-nav__item:where(.header-nav02 *) a.plan::before {
  background-image: url(/tdp_spring2026/img/icon-plan.svg);
}
.header-nav__item:where(.header-nav02 *).style-banner {
  width: 14.2361111111vw;
}

.dropdown-menu-toggle {
  background: -webkit-linear-gradient(26deg, #19C0F0 0%, #096BFF 92%);
  background: linear-gradient(64deg, #19C0F0 0%, #096BFF 92%);
  border: none;
  cursor: pointer;
  width: 13.3333333333vw;
  aspect-ratio: 1/1;
  position: relative;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .dropdown-menu-toggle {
    top: 0.5128205128vw;
  }
}
.dropdown-menu-toggle, .dropdown-menu-toggle span {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
}
.dropdown-menu-toggle span {
  background-color: #fff;
  border-radius: 0.5128205128vw;
  display: inline-block;
  width: 6.6666666667vw;
  height: 0.5128205128vw;
  position: absolute;
  left: 3.3333333333vw;
}
.dropdown-menu-toggle span:nth-of-type(1) {
  top: 4.1025641026vw;
}
.dropdown-menu-toggle span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.dropdown-menu-toggle span:nth-of-type(3) {
  bottom: 4.1025641026vw;
}
.dropdown-menu-toggle.active span:nth-of-type(1) {
  -webkit-transform: translateY(2.3076923077vw) rotate(-45deg);
          transform: translateY(2.3076923077vw) rotate(-45deg);
}
.dropdown-menu-toggle.active span:nth-of-type(2) {
  opacity: 0;
}
.dropdown-menu-toggle.active span:nth-of-type(3) {
  -webkit-transform: translateY(-2.3076923077vw) rotate(45deg);
          transform: translateY(-2.3076923077vw) rotate(45deg);
}

.dropdown-menu {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  position: fixed;
  inset: 0;
  z-index: 100;
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
}
.dropdown-menu.open {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .dropdown-menu__container {
    background-color: rgba(255, 255, 255, 0.95);
    overflow: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 21.5384615385vw;
    padding-bottom: 16.4102564103vw;
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
    max-height: 100%;
  }
}

.dropdown-menu__item a {
  color: #000;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 1.1875;
  text-decoration: none;
  display: block;
  padding: 5.3846153846vw 6.4102564103vw;
}

@media screen and (max-width: 767px) {
  .dropdown-menu__tdp {
    display: grid;
    grid-template-columns: repeat(1, 52.5641025641vw);
    margin-top: 6.6666666667vw;
    padding-left: 6.4102564103vw;
  }
}

@media screen and (max-width: 767px) {
  .dropdown-menu__language {
    margin-top: 6.6666666667vw;
    padding-left: 6.4102564103vw;
    padding-right: 6.4102564103vw;
  }
}

@media screen and (max-width: 767px) {
  .dropdown-menu__sns {
    gap: 10.2564102564vw;
    margin-top: 11.5384615385vw;
    padding-left: 6.4102564103vw;
    padding-right: 6.4102564103vw;
  }
}

.footer {
  background-color: #fff;
}

.footer-block.block01 {
  border-image-source: linear-gradient(#ECF6FF, #ECF6FF);
  border-image-slice: 0 fill;
  border-image-outset: 0 50vw 0 50vw;
  padding-top: 1.7361111111vw;
  padding-bottom: 2.6388888889vw;
}
@media screen and (max-width: 767px) {
  .footer-block.block01 {
    padding-top: 9.2307692308vw;
    padding-bottom: 6.6666666667vw;
  }
}
.footer-block.block02 {
  padding-top: 2.7777777778vw;
  padding-bottom: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .footer-block.block02 {
    padding-top: 10.2564102564vw;
    padding-bottom: 10.2564102564vw;
  }
}

.footer-contents-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .footer-contents-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer-contents-container:is(.block02 *) {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .footer-contents-container:is(.block02 *) {
    gap: 5.641025641vw;
  }
}

.footer-logo.springfestival {
  width: 12.6388888889vw;
  aspect-ratio: 182/123;
}
@media screen and (max-width: 767px) {
  .footer-logo.springfestival {
    width: 38.4615384615vw;
  }
}
.footer-logo.tv-asahi {
  width: 12.5vw;
  aspect-ratio: 180/30;
}
@media screen and (max-width: 767px) {
  .footer-logo.tv-asahi {
    margin-left: -8.9743589744vw;
    width: 46.1538461538vw;
  }
}

.footer-date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 2.2222222222vw;
}
@media screen and (max-width: 767px) {
  .footer-date {
    margin-top: 6.6666666667vw;
  }
}

.footer-date__item {
  color: #000;
  font-size: 2.3611111111vw;
  font-weight: 900;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .footer-date__item {
    font-size: 7.4358974359vw;
  }
}
.footer-date__item span {
  font-size: 0.9722222222vw;
}
@media screen and (max-width: 767px) {
  .footer-date__item span {
    font-size: 2.8205128205vw;
  }
}
.footer-date__item + .footer-date__item::before {
  content: "";
  background: url(../img/arrow-date.svg) no-repeat 0 0/contain;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  display: inline-block;
  margin-left: 0.4166666667vw;
  margin-right: 0.4166666667vw;
  width: 1.1111111111vw;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .footer-date__item + .footer-date__item::before {
    margin-left: 1.2820512821vw;
    margin-right: 1.7948717949vw;
    width: 3.3333333333vw;
    aspect-ratio: 13/8;
  }
}

.footer-logo-date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6666666667vw;
}
@media screen and (max-width: 767px) {
  .footer-logo-date {
    gap: 5.1282051282vw;
  }
}

.footer-sitemap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3.3333333333vw;
  margin-left: auto;
  padding-top: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  .footer-sitemap {
    display: block;
    margin-top: 4.358974359vw;
    margin-left: 3.5897435897vw;
    padding-top: 0;
  }
}

.footer-sitemap__item {
  padding-top: 0.2430555556vw;
  padding-bottom: 0.2430555556vw;
}
@media screen and (max-width: 767px) {
  .footer-sitemap__item {
    padding-top: 3.0769230769vw;
    padding-bottom: 3.0769230769vw;
  }
}
.footer-sitemap__item, .footer-sitemap__item a {
  color: #000;
  font-size: 0.9722222222vw;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .footer-sitemap__item, .footer-sitemap__item a {
    font-size: 4.1025641026vw;
  }
}

.footer-sns {
  background-color: #FFF;
  border-radius: 3.3333333333vw;
  margin-top: 2.0833333333vw;
  margin-right: -2.3611111111vw;
  padding-top: 1.1805555556vw;
  padding-bottom: 1.3194444444vw;
  padding-left: 1.9444444444vw;
  padding-right: 1.9444444444vw;
}
@media screen and (max-width: 767px) {
  .footer-sns {
    border-radius: 16.4102564103vw;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12.0512820513vw;
    margin-top: 9.7435897436vw;
    padding-top: 4.6153846154vw;
    padding-bottom: 5.1282051282vw;
    padding-left: 10.7692307692vw;
    padding-right: 10.7692307692vw;
  }
}
.footer-sns .sns__item img {
  height: 2.2916666667vw;
}
@media screen and (max-width: 767px) {
  .footer-sns .sns__item img {
    height: 9.7435897436vw;
  }
}

.footer-language-sns {
  margin-left: 4.1666666667vw;
  padding-top: 0.4861111111vw;
}
@media screen and (max-width: 767px) {
  .footer-language-sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 9.4871794872vw;
    margin-left: 0;
    padding-top: 0;
  }
}

.footer-copyright {
  color: #333;
  font-size: 0.9722222222vw;
  font-weight: 500;
  line-height: 1.2142857143;
  display: block;
}
@media screen and (max-width: 767px) {
  .footer-copyright {
    font-size: 3.5897435897vw;
    text-align: center;
  }
}

.chatbot {
  background: url(../img/icon-comment.svg) no-repeat left 1.5277777778vw center/4.1666666667vw auto, -webkit-linear-gradient(16deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background: url(../img/icon-comment.svg) no-repeat left 1.5277777778vw center/4.1666666667vw auto, linear-gradient(74deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  border-radius: 0 50% 50% 0;
  cursor: pointer;
  -webkit-filter: drop-shadow(0 0.2777777778vw 0 rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 0.2777777778vw 0 rgba(0, 0, 0, 0.15));
  width: 7.9166666667vw;
  aspect-ratio: 114/100;
  position: absolute;
  bottom: 2.0833333333vw;
  left: 0;
}
@media screen and (max-width: 767px) {
  .chatbot {
    background: url(../img/icon-comment.svg) no-repeat left 3.0769230769vw center/10.2564102564vw auto, -webkit-linear-gradient(16deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
    background: url(../img/icon-comment.svg) no-repeat left 3.0769230769vw center/10.2564102564vw auto, linear-gradient(74deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
    -webkit-filter: drop-shadow(0 1.0256410256vw 0 rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0 1.0256410256vw 0 rgba(0, 0, 0, 0.15));
    width: 17.9487179487vw;
    bottom: 2.5641025641vw;
  }
}

.pagetop {
  position: absolute;
  top: 50%;
  right: 0.6944444444vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .pagetop {
    top: 2.0512820513vw;
    right: 3.3333333333vw;
    -webkit-transform: none;
            transform: none;
  }
}
.pagetop a {
  color: #fff;
  text-align: center;
  font-size: 1.1111111111vw;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.051em;
  text-decoration: none;
  background: -webkit-linear-gradient(26deg, #19C0F0 0%, #096BFF 92%);
  background: linear-gradient(64deg, #19C0F0 0%, #096BFF 92%);
  -webkit-box-shadow: 0 0.2777777778vw 0 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0 0.2777777778vw 0 0 rgba(0, 0, 0, 0.15);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.1111111111vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 0.9027777778vw;
  padding-right: 0.9722222222vw;
  padding-bottom: 0.9027777778vw;
  padding-left: 0.9027777778vw;
}
@media screen and (max-width: 767px) {
  .pagetop a {
    font-size: 2.5641025641vw;
    line-height: 1.1;
    letter-spacing: 0.08em;
    -webkit-box-shadow: 0 1.0256410256vw 0 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 1.0256410256vw 0 0 rgba(0, 0, 0, 0.15);
    display: grid;
    justify-items: center;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
    gap: 0.5128205128vw;
    padding-top: 1.2820512821vw;
    padding-right: 2.0512820513vw;
    padding-bottom: 1.5384615385vw;
    padding-left: 2.0512820513vw;
    width: 12.8205128205vw;
  }
}
.pagetop a::before {
  content: "";
  background: url(../img/arrow-btn02.svg) no-repeat center center/contain;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: 0.5555555556vw;
  aspect-ratio: 8/15;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (max-width: 767px) {
  .pagetop a::before {
    background: #fff;
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0% 100%);
            clip-path: polygon(50% 0, 100% 100%, 0% 100%);
    width: 2.5641025641vw;
    aspect-ratio: 2/1;
    -webkit-transform: none;
            transform: none;
  }
}

.ticket-banner a {
  color: #21273A;
  text-align: center;
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: 1.2083333333;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3888888889vw;
  padding-top: 1.3888888889vw;
  padding-bottom: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .ticket-banner a {
    font-size: 4.6153846154vw;
    line-height: 1.2222222222;
    gap: 2.0512820513vw;
    padding-top: 3.8461538462vw;
    padding-bottom: 3.8461538462vw;
  }
}
.ticket-banner a::before {
  content: "";
  background: url(../img/arrow-btn-bk.svg) no-repeat center center/1.6666666667vw auto;
  display: block;
  width: 2.7777777778vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .ticket-banner a::before {
    background: url(../img/arrow-btn-bk.svg) no-repeat center center/4.6153846154vw auto;
    width: 7.6923076923vw;
  }
}

.ticket-banner__container {
  background-color: #FFE103;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.page-title {
  color: #FFF;
  text-shadow: 0 0.0694444444vw 0.2777777778vw rgba(0, 0, 0, 0.25);
  font-size: 2.7777777778vw;
  font-weight: 900;
  font-style: normal;
  line-height: 1.2;
  display: grid;
  gap: 0.5555555556vw;
}
@media screen and (max-width: 767px) {
  .page-title {
    text-shadow: 0 0.2564102564vw 1.0256410256vw rgba(0, 0, 0, 0.25);
    font-size: 6.1538461538vw;
    line-height: 1.2083333333;
  }
}

.page-sub-title {
  color: #FFF;
  text-shadow: 0 0.0694444444vw 0.2777777778vw rgba(0, 0, 0, 0.25);
  font-size: 0.9027777778vw;
  font-weight: 900;
  line-height: 1.2307692308;
}
@media screen and (max-width: 767px) {
  .page-sub-title {
    font-size: 3.3333333333vw;
  }
}

.section-gradation-title {
  text-align: center;
  font-size: 2.7777777778vw;
  font-weight: 900;
  line-height: 1.2;
  background: -webkit-linear-gradient(16deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background: linear-gradient(74deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-grid;
  justify-items: center;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.25vw;
}
@media screen and (max-width: 767px) {
  .section-gradation-title {
    font-size: 8.2051282051vw;
    line-height: 1.3125;
    gap: 1.7948717949vw;
  }
}
.section-gradation-title .marker {
  line-height: 1;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0.7638888889vw, #FFE100), color-stop(0.7638888889vw, transparent));
  background: -webkit-linear-gradient(bottom, #FFE100 0.7638888889vw, transparent 0.7638888889vw);
  background: linear-gradient(0deg, #FFE100 0.7638888889vw, transparent 0.7638888889vw);
  padding-left: 0.1388888889vw;
  padding-bottom: 0.1388888889vw;
}
@media screen and (max-width: 767px) {
  .section-gradation-title .marker {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(2.3076923077vw, #FFE100), color-stop(2.3076923077vw, transparent));
    background: -webkit-linear-gradient(bottom, #FFE100 2.3076923077vw, transparent 2.3076923077vw);
    background: linear-gradient(0deg, #FFE100 2.3076923077vw, transparent 2.3076923077vw);
    padding-left: 0.7692307692vw;
    padding-bottom: 0.2564102564vw;
  }
}

.section-gradation-sub-title {
  text-align: center;
  font-size: 1.9444444444vw;
  font-weight: 900;
  line-height: 1.2142857143;
  background: -webkit-linear-gradient(16deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background: linear-gradient(74deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .section-gradation-sub-title {
    font-size: 6.1538461538vw;
    line-height: 1.1666666667;
  }
}

.section-gradation-title__container {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.section-topics-title {
  color: #000;
  font-family: "museo-sans", sans-serif;
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: 1.2083333333;
}
@media screen and (max-width: 767px) {
  .section-topics-title {
    font-size: 6.1538461538vw;
    line-height: 1.2083333333;
  }
}

.bg {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 27.0833333333vw, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 27.0833333333vw, 0% 100%);
  pointer-events: none;
  width: 100%;
  aspect-ratio: 1440/520;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .bg {
    -webkit-clip-path: none;
            clip-path: none;
    aspect-ratio: 390/250;
  }
}

.bg-parts {
  position: absolute;
  inset: 0;
}
.bg-parts.parts01 {
  background: -webkit-linear-gradient(12deg, #3E2D82 0%, #2B469F 26%, #2055B1 47.99%, #1C5BB8 63.99%, #00B9EF 99.98%);
  background: linear-gradient(78deg, #3E2D82 0%, #2B469F 26%, #2055B1 47.99%, #1C5BB8 63.99%, #00B9EF 99.98%);
  -webkit-clip-path: polygon(0 6.1111111111vw, 100% 0.7638888889vw, 100% 19.7916666667vw, 0% 100%);
          clip-path: polygon(0 6.1111111111vw, 100% 0.7638888889vw, 100% 19.7916666667vw, 0% 100%);
}
@media screen and (max-width: 767px) {
  .bg-parts.parts01 {
    background: -webkit-linear-gradient(20deg, #3E2D82 0.01%, #2B469F 26%, #2055B1 48%, #1C5BB8 63.99%, #00B9EF 99.99%);
    background: linear-gradient(70deg, #3E2D82 0.01%, #2B469F 26%, #2055B1 48%, #1C5BB8 63.99%, #00B9EF 99.99%);
    -webkit-clip-path: polygon(0 11.0256410256vw, 100% 1.2820512821vw, 100% 34.8717948718vw, 0% 100%);
            clip-path: polygon(0 11.0256410256vw, 100% 1.2820512821vw, 100% 34.8717948718vw, 0% 100%);
  }
}
.bg-parts.parts02 {
  background-blend-mode: screen;
  mix-blend-mode: screen;
  -webkit-clip-path: polygon(0 0, 100% 14.2361111111vw, 100% 26.3888888889vw, 0% 1.1805555556vw);
          clip-path: polygon(0 0, 100% 14.2361111111vw, 100% 26.3888888889vw, 0% 1.1805555556vw);
  aspect-ratio: 1440/390;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .bg-parts.parts02 {
    -webkit-clip-path: polygon(0 11.0256410256vw, 100% 1.2820512821vw, 100% 33.5897435897vw, 0% 100%);
            clip-path: polygon(0 11.0256410256vw, 100% 1.2820512821vw, 100% 33.5897435897vw, 0% 100%);
    aspect-ratio: 390/131;
  }
}
.bg-parts.parts02::before {
  content: "";
  background: -webkit-linear-gradient(323deg, #3E2D82 0%, #1C5BB8 70%, #00B9EF 100%);
  background: linear-gradient(127deg, #3E2D82 0%, #1C5BB8 70%, #00B9EF 100%);
  -webkit-clip-path: polygon(0 6.1111111111vw, 100% 0.7638888889vw, 100% 100%, 0% 100%);
          clip-path: polygon(0 6.1111111111vw, 100% 0.7638888889vw, 100% 100%, 0% 100%);
  display: block;
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .bg-parts.parts02::before {
    background: -webkit-linear-gradient(317deg, #3E2D82 0%, #1C5BB8 70%, #00B9EF 100%);
    background: linear-gradient(133deg, #3E2D82 0%, #1C5BB8 70%, #00B9EF 100%);
    -webkit-clip-path: polygon(0 0, 100% 25.1282051282vw, 100% 100%, 0% 2.0512820513vw);
            clip-path: polygon(0 0, 100% 25.1282051282vw, 100% 100%, 0% 2.0512820513vw);
  }
}
.bg-parts.parts03 {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0.7638888889vw, 0 6.1111111111vw);
          clip-path: polygon(0 0, 100% 0, 100% 0.7638888889vw, 0 6.1111111111vw);
  aspect-ratio: 1440/390;
}
@media screen and (max-width: 767px) {
  .bg-parts.parts03 {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 1.2820512821vw, 0% 11.0256410256vw);
            clip-path: polygon(0 0, 100% 0, 100% 1.2820512821vw, 0% 11.0256410256vw);
    aspect-ratio: 390/131;
  }
}
.bg-parts.parts03::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, color-stop(2.51%, #FFE100), color-stop(6.58%, rgba(255, 225, 0, 0.99)), color-stop(10.34%, rgba(255, 225, 0, 0.94)), color-stop(13.79%, rgba(255, 225, 0, 0.87)), color-stop(17.24%, rgba(255, 225, 0, 0.77)), color-stop(20.69%, rgba(255, 225, 0, 0.64)), color-stop(23.82%, rgba(255, 225, 0, 0.47)), color-stop(27.27%, rgba(255, 225, 0, 0.28)), color-stop(30.4%, rgba(255, 225, 0, 0.07)), color-stop(31.34%, rgba(255, 225, 0, 0)));
  background: -webkit-linear-gradient(left, #FFE100 2.51%, rgba(255, 225, 0, 0.99) 6.58%, rgba(255, 225, 0, 0.94) 10.34%, rgba(255, 225, 0, 0.87) 13.79%, rgba(255, 225, 0, 0.77) 17.24%, rgba(255, 225, 0, 0.64) 20.69%, rgba(255, 225, 0, 0.47) 23.82%, rgba(255, 225, 0, 0.28) 27.27%, rgba(255, 225, 0, 0.07) 30.4%, rgba(255, 225, 0, 0) 31.34%);
  background: linear-gradient(90deg, #FFE100 2.51%, rgba(255, 225, 0, 0.99) 6.58%, rgba(255, 225, 0, 0.94) 10.34%, rgba(255, 225, 0, 0.87) 13.79%, rgba(255, 225, 0, 0.77) 17.24%, rgba(255, 225, 0, 0.64) 20.69%, rgba(255, 225, 0, 0.47) 23.82%, rgba(255, 225, 0, 0.28) 27.27%, rgba(255, 225, 0, 0.07) 30.4%, rgba(255, 225, 0, 0) 31.34%);
  -webkit-clip-path: polygon(0 0, 100% 14.2361111111vw, 100% 26.3888888889vw, 0% 1.1805555556vw);
          clip-path: polygon(0 0, 100% 14.2361111111vw, 100% 26.3888888889vw, 0% 1.1805555556vw);
  display: block;
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .bg-parts.parts03::before {
    background: -webkit-gradient(linear, left top, right top, color-stop(8%, #FFE100), color-stop(21%, rgba(255, 225, 0, 0.99)), color-stop(33%, rgba(255, 225, 0, 0.94)), color-stop(44%, rgba(255, 225, 0, 0.87)), color-stop(55%, rgba(255, 225, 0, 0.77)), color-stop(66%, rgba(255, 225, 0, 0.64)), color-stop(76%, rgba(255, 225, 0, 0.47)), color-stop(87%, rgba(255, 225, 0, 0.28)), color-stop(97%, rgba(255, 225, 0, 0.07)), to(rgba(255, 225, 0, 0)));
    background: -webkit-linear-gradient(left, #FFE100 8%, rgba(255, 225, 0, 0.99) 21%, rgba(255, 225, 0, 0.94) 33%, rgba(255, 225, 0, 0.87) 44%, rgba(255, 225, 0, 0.77) 55%, rgba(255, 225, 0, 0.64) 66%, rgba(255, 225, 0, 0.47) 76%, rgba(255, 225, 0, 0.28) 87%, rgba(255, 225, 0, 0.07) 97%, rgba(255, 225, 0, 0) 100%);
    background: linear-gradient(90deg, #FFE100 8%, rgba(255, 225, 0, 0.99) 21%, rgba(255, 225, 0, 0.94) 33%, rgba(255, 225, 0, 0.87) 44%, rgba(255, 225, 0, 0.77) 55%, rgba(255, 225, 0, 0.64) 66%, rgba(255, 225, 0, 0.47) 76%, rgba(255, 225, 0, 0.28) 87%, rgba(255, 225, 0, 0.07) 97%, rgba(255, 225, 0, 0) 100%);
    -webkit-clip-path: polygon(0 0, 100% 25.1282051282vw, 100% 100%, 0% 2.0512820513vw);
            clip-path: polygon(0 0, 100% 25.1282051282vw, 100% 100%, 0% 2.0512820513vw);
  }
}

.has-bg {
  padding-top: 10.1388888889vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .has-bg {
    padding-top: 16.1538461538vw;
  }
  .has-bg:where(body.top *) {
    margin-top: -7.4358974359vw;
  }
}
.has-bg .contents-wrapper {
  position: relative;
  z-index: 1;
}

.btn.gradation {
  color: #FFF;
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
  background: -webkit-linear-gradient(16deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background: linear-gradient(74deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.3194444444vw;
  padding-bottom: 1.3888888889vw;
  padding-left: 1.1111111111vw;
  padding-right: 1.1111111111vw;
  min-width: 13.8888888889vw;
  max-width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn.gradation {
    font-size: 3.5897435897vw;
    line-height: 1.2142857143;
    text-align: left;
    padding-top: 4.2307692308vw;
    padding-bottom: 4.2307692308vw;
    padding-left: 4.358974359vw;
    padding-right: 4.358974359vw;
  }
}
.btn.gradation::after {
  content: "";
  background: url(../img/arrow-btn.svg) no-repeat 0 0/contain;
  width: 0.9027777778vw;
  aspect-ratio: 13/7;
  position: absolute;
  inset: 50% 1.1111111111vw auto auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn.gradation::after {
    width: 3.3333333333vw;
    right: 4.358974359vw;
  }
}
.btn.gradation.ticket-link {
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0375em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 1.7361111111vw;
  padding-right: 2.7083333333vw;
  max-width: 100%;
  width: 17.4305555556vw;
  min-height: 4.1666666667vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation.ticket-link {
    font-size: 3.5897435897vw;
    line-height: 1.2142857143;
    margin: 0 auto;
    padding-left: 4.358974359vw;
    padding-right: 7.6923076923vw;
    width: 100%;
    min-height: 12.8205128205vw;
  }
}
.btn.gradation.ticket-link::after {
  width: 0.9722222222vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation.ticket-link::after {
    width: 3.3333333333vw;
  }
}
.btn.gradation.artist-link {
  font-size: 0.9722222222vw;
  font-weight: 700;
  line-height: 1;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
  min-width: 100%;
  width: 21.5277777778vw;
  height: 2.6388888889vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation.artist-link {
    font-size: 2.8205128205vw;
    height: 7.6923076923vw;
  }
  .btn.gradation.artist-link::after {
    content: none;
  }
}
.btn.gradation.btn-large {
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 100%;
  width: 34.7222222222vw;
  min-height: 6.9444444444vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation.btn-large {
    font-size: 4.1025641026vw;
    line-height: 1.875;
    letter-spacing: 0.05em;
    min-height: 25.641025641vw;
  }
}
.btn.gradation.btn-large::after {
  width: 1.5972222222vw;
  right: 1.875vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation.btn-large::after {
    width: 4.1025641026vw;
    right: 4.8717948718vw;
  }
}
.btn.gradation:where(.top-areamap__spot-link *) {
  font-size: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation:where(.top-areamap__spot-link *) {
    font-size: 3.5897435897vw;
  }
}
.btn.gradation:where(.top-areamap__link *) {
  padding-left: 1.3194444444vw;
  padding-right: 2.9861111111vw;
}
@media screen and (max-width: 767px) {
  .btn.gradation:where(.top-areamap__link *) {
    font-size: 3.5897435897vw;
    letter-spacing: normal;
    padding-top: 2.0512820513vw;
    padding-bottom: 2.0512820513vw;
    padding-left: 4.358974359vw;
    padding-right: 4.358974359vw;
  }
}
.btn.gradation:where(.top-areamap__link *)::before {
  background: url(../img/arrow-btn02.svg) no-repeat center center/contain;
  width: 1.1805555556vw;
  aspect-ratio: 1/1;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 767px) {
  .btn.gradation:where(.top-areamap__link *)::before {
    width: 3.8461538462vw;
  }
}
.btn.gradation:where(.top-recommend__item-link *) {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .btn.gradation:where(.top-recommend__item-link *) {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 76.4102564103vw;
  }
}
.btn.gradation-border:where(.artist-item *) {
  text-align: center;
  font-size: 0.9722222222vw;
  font-weight: 700;
  line-height: 1.4285714286;
  text-decoration: none;
  background: -webkit-linear-gradient(239deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%);
  background: linear-gradient(211deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border: 0.1388888889vw solid #F690D8;
  -webkit-border-image: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 2;
       -o-border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 2;
          border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 3.4722222222vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn.gradation-border:where(.artist-item *) {
    font-size: 2.8205128205vw;
    min-height: 7.6923076923vw;
  }
}
.btn.gradation-border:where(.artist-item *) span {
  font-size: 0.8333333333vw;
  font-weight: 700;
  line-height: 1.4166666667;
  display: block;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
}
@media screen and (max-width: 767px) {
  .btn.gradation-border:where(.artist-item *) span {
    font-size: 85.7142857143%;
  }
}
.btn.gradation-border:where(.artist-item *)::after {
  content: "";
  background: url(../img/arrow-btn-gradation.svg) no-repeat left center/0.9027777778vw auto;
  display: block;
  width: 0.9027777778vw;
  aspect-ratio: 13/7;
  position: absolute;
  inset: 50% 1.1111111111vw auto auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .btn.gradation-border:where(.artist-item *)::after {
    content: none;
  }
}

.accordion-hidden {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.3s ease-in-out;
  transition: grid-template-rows 0.3s ease-in-out;
  transition: grid-template-rows 0.3s ease-in-out, -ms-grid-rows 0.3s ease-in-out;
}
.accordion-hidden.open {
  grid-template-rows: 1fr;
}

.accordion-hidden__inner {
  overflow: hidden;
}

.accordion-toggle {
  cursor: pointer;
}
.accordion-toggle:where(.top-all-contents *) {
  background: -webkit-linear-gradient(239deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%);
  background: linear-gradient(211deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%);
  width: 3.8888888889vw;
  aspect-ratio: 56/51;
  position: relative;
}
@media screen and (max-width: 767px) {
  .accordion-toggle:where(.top-all-contents *) {
    background: -webkit-linear-gradient(26deg, #19C0F0 0%, #096BFF 92%);
    background: linear-gradient(64deg, #19C0F0 0%, #096BFF 92%);
    width: 12.3076923077vw;
    aspect-ratio: 48/44;
  }
}
.accordion-toggle:where(.top-all-contents *)::before, .accordion-toggle:where(.top-all-contents *)::after {
  content: "";
  border-top: 0.1388888889vw solid #fff;
  display: block;
  width: 1.5972222222vw;
  position: absolute;
  inset: 50% auto auto 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
@media screen and (max-width: 767px) {
  .accordion-toggle:where(.top-all-contents *)::before, .accordion-toggle:where(.top-all-contents *)::after {
    border-top-width: 0.7692307692vw;
    width: 5.1282051282vw;
  }
}
.accordion-toggle:where(.top-all-contents *)::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.accordion-toggle:where(.top-all-contents *).open::after {
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}

.accordion-toggle__container:where(.top-all-contents *) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .accordion-toggle__container:where(.top-all-contents *) {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.emergency {
  background-color: #fff;
  margin-top: 1.3888888889vw;
  margin-bottom: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .emergency {
    margin: 6.1538461538vw auto 0;
    max-width: 100%;
    width: 89.7435897436vw;
  }
}
.emergency:not(:has(.emergency-slider__item)) {
  display: none;
}
.emergency .contents-wrapper {
  border: 0.2083333333vw solid #E40077;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 4.5833333333vw;
}
@media screen and (max-width: 767px) {
  .emergency .contents-wrapper {
    border: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: inherit;
  }
}

.emergency-heading {
  color: #FFF;
  font-weight: 700;
  text-align: center;
  background-color: #E40077;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 5.3472222222vw;
}
@media screen and (max-width: 767px) {
  .emergency-heading {
    font-size: 4.1025641026vw;
    line-height: 1;
    gap: 1.5384615385vw;
    padding-top: 2.5641025641vw;
    padding-bottom: 2.0512820513vw;
    width: auto;
  }
}
.emergency-heading::before {
  content: "";
  background: url(../img/icon-important.svg) no-repeat center center/contain;
  display: inline-block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 2.2222222222vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .emergency-heading::before {
    width: 8.2051282051vw;
  }
}

.emergency-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.5555555556vw;
  padding-right: 7.2916666667vw;
  padding-bottom: 0.5555555556vw;
  padding-left: 1.9444444444vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .emergency-body {
    border: 0.5128205128vw solid #E40077;
    border-width: 0.5128205128vw;
    padding-top: 2.5641025641vw;
    padding-right: 0;
    padding-bottom: 3.3333333333vw;
    padding-left: 0;
  }
}

.emergency-slider {
  width: 60.4166666667vw;
}
@media screen and (max-width: 767px) {
  .emergency-slider {
    width: auto;
  }
}

.emergency-slider__item {
  width: 100%;
}
.emergency-slider__item, .emergency-slider__item a {
  color: #E40077;
  font-size: 1.1111111111vw;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .emergency-slider__item, .emergency-slider__item a {
    font-size: 3.5897435897vw;
    line-height: 1.8571428571;
  }
}

.emergency-slider__item-text-wrap {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .emergency-slider__item-text-wrap {
    text-overflow: inherit;
    white-space: inherit;
  }
}

.emergency-slider__arrow {
  background: none;
  border-radius: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  aspect-ratio: 1/1;
  height: auto;
  position: relative;
  -webkit-transform: none;
          transform: none;
}
@media screen and (max-width: 767px) {
  .emergency-slider__arrow {
    width: 7.6923076923vw;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.emergency-slider__arrow::before {
  content: "";
  border-top: 0.1388888889vw solid #E40077;
  border-left: 0.1388888889vw solid #E40077;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 0.6944444444vw;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 50% auto auto 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .emergency-slider__arrow::before {
    border-top: 0.5128205128vw solid #E40077;
    border-left: 0.5128205128vw solid #E40077;
    width: 2.5641025641vw;
  }
}
.emergency-slider__arrow.splide__arrow--prev {
  left: 0;
}
.emergency-slider__arrow.splide__arrow--prev::before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.emergency-slider__arrow.splide__arrow--next {
  right: 0;
}
.emergency-slider__arrow.splide__arrow--next::before {
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
          transform: translate(-50%, -50%) rotate(135deg);
}

.emergency-slider__arrows {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0.3472222222vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .emergency-slider__arrows {
    display: block;
    position: initial;
    top: inherit;
    right: inherit;
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (max-width: 767px) {
  .emergency-slider__container {
    padding-left: 9.7435897436vw;
    padding-right: 9.7435897436vw;
    position: relative;
  }
}

.page-anchor {
  -webkit-filter: drop-shadow(0 0 1.3888888889vw rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0 0 1.3888888889vw rgba(0, 0, 0, 0.1));
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.3472222222vw;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 767px) {
  .page-anchor {
    gap: 1.5384615385vw;
  }
}

.page-anchor__item {
  display: grid;
  -webkit-align-content: stretch;
      -ms-flex-line-pack: stretch;
          align-content: stretch;
  grid-template-columns: subgrid;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 13.6111111111vw;
      -ms-flex: 1 1 13.6111111111vw;
          flex: 1 1 13.6111111111vw;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .page-anchor__item {
    -webkit-flex-basis: 40vw;
        -ms-flex-preferred-size: 40vw;
            flex-basis: 40vw;
  }
}
.page-anchor__item a {
  color: #21273A;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  background-color: #fff;
  border-radius: 0.6944444444vw;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.7361111111vw 2.2222222222vw 1.7361111111vw 1.3888888889vw;
  min-height: 5.5555555556vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-anchor__item a {
    font-size: 3.3333333333vw;
    line-height: 1.5384615385;
    border-radius: 1.2820512821vw;
    -webkit-filter: drop-shadow(0 1.2820512821vw 5.1282051282vw rgba(85, 85, 85, 0.15));
            filter: drop-shadow(0 1.2820512821vw 5.1282051282vw rgba(85, 85, 85, 0.15));
    padding: 5.1282051282vw 5.1282051282vw 5.1282051282vw 3.8461538462vw;
  }
}
.page-anchor__item a::before {
  content: "";
  background: -webkit-linear-gradient(16deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  background: linear-gradient(74deg, #F690D8 -1.56%, #E68AD8 11.73%, #B57BDA 27.9%, #19C0F0 70.38%);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: -1;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.page-anchor__item a::after {
  content: "";
  border-right: 0.1388888889vw solid #fff;
  border-bottom: 0.1388888889vw solid #fff;
  -webkit-border-image: -webkit-linear-gradient(239deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%) 2;
       -o-border-image: linear-gradient(211deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%) 2;
          border-image: linear-gradient(211deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%) 2;
  pointer-events: none;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 0.6944444444vw;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 1.25vw;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .page-anchor__item a::after {
    border-right: 0.2564102564vw solid #fff;
    border-bottom: 0.2564102564vw solid #fff;
    width: 2.0512820513vw;
    right: 3.5897435897vw;
  }
}
.page-anchor__item a:hover {
  color: #fff;
  background: none;
}
.page-anchor__item a:hover::before {
  opacity: 1;
}
.page-anchor__item a:hover::after {
  -webkit-border-image: -webkit-linear-gradient(239deg, #fff 0, #fff 100%) 2;
       -o-border-image: linear-gradient(211deg, #fff 0, #fff 100%) 2;
          border-image: linear-gradient(211deg, #fff 0, #fff 100%) 2;
}

.information {
  background-color: #FFF;
  border: 0.2777777778vw solid #19C0F0;
  -webkit-border-image: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 4;
       -o-border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 4;
          border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 4;
  -webkit-box-shadow: 0 0.0694444444vw 0.2777777778vw 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.0694444444vw 0.2777777778vw 0 rgba(0, 0, 0, 0.25);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 2.8472222222vw;
}
@media screen and (max-width: 767px) {
  .information {
    border-width: 1.0256410256vw;
    margin-left: -4.1025641026vw;
    margin-right: -4.1025641026vw;
    padding: 3.8461538462vw 4.1025641026vw 2.0512820513vw;
  }
}

.information-title {
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.6;
  background: var(--1, linear-gradient(211deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .information-title {
    font-size: 4.6153846154vw;
    line-height: 1.7777777778;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    gap: 2.0512820513vw;
  }
}
.information-title::before {
  content: "";
  background: url(../img/icon-info-gradation.svg) no-repeat center center/2.0138888889vw auto;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
  width: 2.0833333333vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .information-title::before {
    background-size: 6.6666666667vw auto;
    width: 6.6666666667vw;
  }
}

.information__item + .information__item {
  border-top: 0.1388888889vw solid #DDD;
  margin-top: 1.3888888889vw;
  padding-top: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .information__item + .information__item {
    border-top-width: 0.5128205128vw;
    margin-top: 3.8461538462vw;
    padding-top: 3.8461538462vw;
  }
}
.information__item:not(:has(a)),
.information__item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.3472222222vw 0.5555555556vw;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .information__item:not(:has(a)),
  .information__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.2820512821vw 2.0512820513vw;
  }
}
.information__item a {
  text-decoration: none;
}

.information__item-date {
  color: #FFF;
  font-size: 0.8333333333vw;
  font-weight: 500;
  line-height: 1;
  background-color: #F046BE;
  padding: 0.3472222222vw 0.8333333333vw;
}
@media screen and (max-width: 767px) {
  .information__item-date {
    font-size: 3.0769230769vw;
    padding: 1.2820512821vw 2.5641025641vw;
  }
}

.information__item-title:where(a *),
.information__item-content:where(a *) {
  text-decoration: underline;
}

.information__item-title {
  color: #F046BE;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .information__item-title {
    font-size: 3.5897435897vw;
    line-height: 1.7142857143;
  }
}

.information__item-content {
  color: #21273A;
  font-size: 0.9722222222vw;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .information__item-content {
    font-size: 3.3333333333vw;
    line-height: 1.8461538462;
  }
}

.information-header {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.information-body {
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.5277777778vw;
  padding-bottom: 1.5277777778vw;
  padding-right: 1.875vw;
  max-height: 16.3194444444vw;
}
@media screen and (max-width: 767px) {
  .information-body {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 4.1025641026vw;
    margin-right: -4.1025641026vw;
    max-height: 63.5897435897vw;
  }
}

.information-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.8472222222vw;
}
@media screen and (max-width: 767px) {
  .information-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.1025641026vw;
  }
}

.heading {
  color: #21273A;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .heading {
    font-size: 4.1025641026vw;
    line-height: 1.625;
  }
}
.heading.text-pink {
  color: #F046BE;
}
.heading.bg-blue {
  color: #FFF;
  background-color: #1AC1F1;
  -webkit-box-shadow: 0 0 1.3888888889vw 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1.3888888889vw 0 rgba(0, 0, 0, 0.1);
  padding: 1.3888888889vw 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .heading.bg-blue {
    padding: 2.0512820513vw 3.3333333333vw 2.0512820513vw 3.8461538462vw;
  }
}
.heading.bg-gradation {
  color: #FFF;
  background: -webkit-linear-gradient(12deg, #3E2D82 0%, #2B469F 26%, #2055B1 47.99%, #1C5BB8 63.99%, #00B9EF 99.98%);
  background: linear-gradient(78deg, #3E2D82 0%, #2B469F 26%, #2055B1 47.99%, #1C5BB8 63.99%, #00B9EF 99.98%);
  padding: 1.3888888889vw 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .heading.bg-gradation {
    padding: 5.1282051282vw 6.1538461538vw;
  }
}

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

.text-color-blue {
  color: var(--blue, #00B9EF) !important;
}

.text-color-pink {
  color: var(--pink, #E40077) !important;
}

.list-item {
  font-size: 1.1111111111vw;
  line-height: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .list-item {
    font-size: 3.5897435897vw;
    line-height: 2.1428571429;
    gap: 2.5641025641vw;
  }
}
.list-item, .list-item a {
  color: #21273A;
}
.list-item::before {
  content: "";
  background-color: #38ADD2;
  -webkit-clip-path: polygon(0.2777777778vw 0.0694444444vw, 100% 50%, 0.2777777778vw 1.0416666667vw);
          clip-path: polygon(0.2777777778vw 0.0694444444vw, 100% 50%, 0.2777777778vw 1.0416666667vw);
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-top: 0.5555555556vw;
  width: 1.1111111111vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .list-item::before {
    -webkit-clip-path: polygon(0.7692307692vw 0.2564102564vw, 100% 50%, 0.7692307692vw 2.8205128205vw);
            clip-path: polygon(0.7692307692vw 0.2564102564vw, 100% 50%, 0.7692307692vw 2.8205128205vw);
    margin-top: 2.3076923077vw;
    width: 3.0769230769vw;
  }
}

.list-item__container {
  background-color: #FFF2FD;
  display: grid;
  gap: 0.6944444444vw;
  padding: 2.0833333333vw 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .list-item__container {
    gap: 2.5641025641vw;
    padding: 5.1282051282vw 4.358974359vw 5.1282051282vw 6.4102564103vw;
  }
}

.grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
.grid.col-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .grid.col-2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5641025641vw;
  }
}
.grid.col-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .grid.col-3 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.grid.col-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .grid.col-4 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.grid.gap-20 {
  gap: 1.3888888889vw;
}

.image-item__container {
  display: grid;
  grid-template-columns: repeat(1, 55.5555555556vw);
  gap: 2.7777777778vw;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .image-item__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.1282051282vw;
  }
}
.image-item__container.col-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .image-item__container.col-2 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.image-item__container.col-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .image-item__container.col-3 {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.1282051282vw;
  }
}

.thumb-info-item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .thumb-info-item {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5641025641vw;
  }
}

.thumb-info-item__info {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  gap: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  .thumb-info-item__info {
    gap: 2.5641025641vw;
  }
}

.thumb-info-item__container {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.7777777778vw;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .thumb-info-item__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 7.6923076923vw;
  }
}

.table {
  border-collapse: separate;
  border-spacing: 0 0.2777777778vw;
  -webkit-filter: drop-shadow(0 0 1.3888888889vw rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0 0 1.3888888889vw rgba(0, 0, 0, 0.1));
  table-layout: fixed;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .table {
    border-spacing: 0 0.2777777778vw;
    -webkit-filter: drop-shadow(0 0 5.1282051282vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0 0 5.1282051282vw rgba(0, 0, 0, 0.1));
  }
}
.table .th {
  color: #FFF;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 2.2222222222;
  text-align: left;
  white-space: nowrap;
  background-color: #1AC1F1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.0416666667vw 1.3888888889vw;
  width: 16.6666666667vw;
}
@media screen and (max-width: 767px) {
  .table .th {
    font-size: 4.1025641026vw;
    line-height: 1.875;
    padding: 2.5641025641vw 5.8974358974vw;
  }
}
.table .td {
  color: #21273A;
  font-size: 1.1111111111vw;
  line-height: 2;
  background-color: #fff;
  padding: 1.4583333333vw 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .table .td {
    font-size: 3.5897435897vw;
    line-height: 2.1428571429;
    padding: 2.5641025641vw 5.1282051282vw;
  }
}
.table .small {
  color: #21273A;
  font-size: 0.9722222222vw;
  line-height: 2.2857142857;
  display: block;
  margin-top: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  .table .small {
    font-size: 3.0769230769vw;
    line-height: 1.5;
    margin-top: 4.8717948718vw;
  }
}
@media screen and (max-width: 767px) {
  .table.type01 .tbody {
    display: grid;
    gap: 2.0512820513vw;
  }
}
@media screen and (max-width: 767px) {
  .table.type01 .th,
  .table.type01 .td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .table.type02 .th,
  .table.type02 .td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    width: 100%;
  }
}
.table.type02 .th {
  width: 10.4166666667vw;
}
@media screen and (max-width: 767px) {
  .table.type02 .th {
    width: 100%;
  }
}
.table.type03 {
  border-spacing: 0.2777777778vw 0.2777777778vw;
}
@media screen and (max-width: 767px) {
  .table.type03 {
    border-spacing: 1.0256410256vw 1.0256410256vw;
  }
}
.table.type03 .th {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .table.type03 .th {
    width: 100%;
  }
}
.table.type03 .td {
  padding-left: 1.3888888889vw;
  padding-right: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .table.type03 .td {
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
  }
}
.table.about-table {
  border-spacing: 0 0.1388888889vw;
  -webkit-filter: none;
          filter: none;
}
.table.about-table .th,
.table.about-table .td {
  font-size: 1.0416666667vw;
  line-height: 1.6;
  padding-top: 1.1111111111vw;
  padding-bottom: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .table.about-table .th,
  .table.about-table .td {
    font-size: 3.8461538462vw;
    display: block;
    padding-top: 3.5897435897vw;
    padding-bottom: 3.5897435897vw;
  }
}
.table.about-table .th.large-cell,
.table.about-table .td.large-cell {
  padding-top: 1.7361111111vw;
  padding-bottom: 1.7361111111vw;
}
@media screen and (max-width: 767px) {
  .table.about-table .th.large-cell,
  .table.about-table .td.large-cell {
    padding-top: 3.5897435897vw;
    padding-bottom: 3.5897435897vw;
  }
}
.table.about-table .th {
  text-align: center;
  width: 6.9444444444vw;
}
@media screen and (max-width: 767px) {
  .table.about-table .th {
    width: 100%;
  }
}
.table.about-table .td {
  background-color: #E9F6FA;
  padding-left: 1.5277777778vw;
  padding-right: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .table.about-table .td {
    padding-left: 4.1025641026vw;
    padding-right: 4.1025641026vw;
  }
}
.table.about-table .small:where(.td *) {
  font-size: 0.8333333333vw;
  line-height: 1.5833333333;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .table.about-table .small:where(.td *) {
    font-size: 3.0769230769vw;
  }
}

.table-container.type02-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .table-container.type02-container {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}
.table-container.type03-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1111111111vw 0.8333333333vw;
}
@media screen and (max-width: 767px) {
  .table-container.type03-container {
    grid-template-columns: repeat(1, 1fr);
    gap: 4.1025641026vw 4.1025641026vw;
  }
}
.table-container.type03-container .large {
  grid-column: span 2/span 2;
}
@media screen and (max-width: 767px) {
  .table-container.type03-container .large {
    grid-column: span 1/span 1;
  }
}

.banner-item__container {
  display: grid;
  grid-template-columns: repeat(1, 35.4166666667vw);
  gap: 1.3888888889vw;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .banner-item__container {
    grid-template-columns: repeat(1, 79.4871794872vw);
    gap: 5.1282051282vw;
  }
}
@media screen and (max-width: 767px) {
  .banner-item__container:where(.dialog *) {
    grid-template-columns: repeat(1, 1fr);
  }
}

.link-item__container {
  display: grid;
  grid-template-columns: repeat(1, 35.4166666667vw);
  gap: 1.3888888889vw;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .link-item__container {
    grid-template-columns: repeat(1, 79.4871794872vw);
    gap: 5.1282051282vw;
  }
}
@media screen and (max-width: 767px) {
  .link-item__container:where(.dialog *) {
    grid-template-columns: repeat(1, 1fr);
  }
}

.group-item {
  display: grid;
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .group-item {
    gap: 2.3076923077vw;
  }
}
.group-item.large {
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .group-item.large {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.3076923077vw;
  }
}

.group-item__name {
  color: #21273A;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .group-item__name {
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}

.group-item__info {
  font-size: 1.1111111111vw;
  line-height: 2;
  display: grid;
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .group-item__info {
    font-size: 3.5897435897vw;
    line-height: 1.5714285714;
  }
}

.group-item__container.col-1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.6388888889vw;
}
@media screen and (max-width: 767px) {
  .group-item__container.col-1 {
    gap: 5.1282051282vw;
  }
}
.group-item__container.col-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .group-item__container.col-2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.1282051282vw;
  }
}
.group-item__container.col-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .group-item__container.col-3 {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.1282051282vw;
  }
}

.group-note {
  color: #21273A;
  font-size: 0.9722222222vw;
  line-height: 2.1428571429;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .group-note {
    font-size: 3.0769230769vw;
    line-height: 2;
  }
}

.cast-item {
  display: grid;
  gap: 1.0416666667vw;
}

.cast-item__info {
  display: grid;
}

.cast-item__role {
  color: #F046BE;
  text-align: center;
  font-size: 1.1111111111vw;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .cast-item__role {
    font-size: 3.5897435897vw;
    line-height: 2.1428571429;
  }
}

.cast-item__name {
  color: #21273A;
  text-align: center;
  font-size: 1.25vw;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .cast-item__name {
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}

.cast-item__container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .cast-item__container {
    grid-template-columns: repeat(2, 1fr);
    gap: 5.1282051282vw 3.3333333333vw;
  }
}

.cast-block {
  display: grid;
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .cast-block {
    gap: 4.358974359vw;
  }
}

.cast-block__heading {
  color: #21273A;
  font-size: 1.25vw;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .cast-block__heading {
    font-size: 4.1025641026vw;
    line-height: 2;
  }
}

.artist-item {
  display: grid;
  gap: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .artist-item {
    gap: 2.5641025641vw;
  }
}
.artist-item:where(.dialog *) {
  grid-template-columns: repeat(1, minmax(0, 80%));
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.artist-item__tag {
  color: #21273A;
  font-size: 0.8333333333vw;
  font-weight: 700;
  line-height: 1;
  background-color: #FFEDFC;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.2083333333vw;
  padding: 0.2777777778vw 0.5555555556vw;
}
@media screen and (max-width: 767px) {
  .artist-item__tag {
    font-size: 2.8205128205vw;
    line-height: 1;
    gap: 1.2820512821vw;
    padding: 0.5128205128vw 1.2820512821vw;
  }
}
.artist-item__tag::before {
  content: "";
  background: url(../img/icon-ticket.svg) no-repeat 0 0/contain;
  display: block;
  width: 1.1111111111vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .artist-item__tag::before {
    width: 3.5897435897vw;
  }
}

.artist-item__tag-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.5555555556vw 0.5555555556vw;
}
@media screen and (max-width: 767px) {
  .artist-item__tag-container {
    gap: 1.0256410256vw 1.0256410256vw;
  }
}

.artist-item__date {
  color: #21273A;
  font-size: 1.3194444444vw;
  font-weight: 700;
  line-height: 1.5789473684;
  margin-top: 0.2083333333vw;
}
@media screen and (max-width: 767px) {
  .artist-item__date {
    font-size: 3.3333333333vw;
    line-height: 1.5384615385;
  }
}

.artist-item__name {
  color: #21273A;
  font-size: 1.3194444444vw;
  font-weight: 700;
  line-height: 1.5789473684;
  margin-top: 0.3472222222vw;
}
@media screen and (max-width: 767px) {
  .artist-item__name {
    font-size: 3.3333333333vw;
    line-height: 1.5384615385;
  }
}

.artist-item__link {
  display: grid;
  gap: 0.6944444444vw;
  margin-top: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .artist-item__link {
    gap: 2.0512820513vw;
    margin-top: 2.5641025641vw;
  }
}
.artist-item__link button {
  cursor: pointer;
}

.artist-item__container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.3888888889vw 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .artist-item__container {
    grid-template-columns: repeat(2, 1fr);
    gap: 7.6923076923vw 4.1025641026vw;
  }
}

.menu-item {
  background-color: #FFF;
  display: grid;
  gap: 1.3888888889vw;
  padding: 1.3888888889vw 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .menu-item {
    gap: 3.8461538462vw;
    padding: 5.1282051282vw 5.1282051282vw;
  }
}
.menu-item.large {
  border: 0.625vw solid #000;
  -webkit-border-image: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 9;
       -o-border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 9;
          border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
  padding: 0.7638888889vw;
}
@media screen and (max-width: 767px) {
  .menu-item.large {
    border-width: 2.3076923077vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.8461538462vw;
    padding: 2.8205128205vw;
  }
}
.menu-item.no-image {
  background-color: #FFF2FD;
  padding: 2.7777777778vw 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .menu-item.no-image {
    padding: 7.6923076923vw 10.2564102564vw;
  }
}

.menu-item__thumb:where(.menu-item.large *) {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 38.8888888889vw;
      -ms-flex: 0 0 38.8888888889vw;
          flex: 0 0 38.8888888889vw;
}
.menu-item__thumb:where(.menu-item__container.type04 .menu-item.large *) {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 35.2083333333vw;
      -ms-flex: 0 0 35.2083333333vw;
          flex: 0 0 35.2083333333vw;
}

.menu-item__info {
  color: #21273A;
  font-size: 1.1111111111vw;
  line-height: 2;
  display: grid;
  gap: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  .menu-item__info {
    font-size: 3.5897435897vw;
    line-height: 2.1428571429;
    gap: 2.0512820513vw;
  }
}
.menu-item__info:where(.large *) {
  padding: 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .menu-item__info:where(.large *) {
    padding: 3.8461538462vw;
  }
}
.menu-item__info:where(.menu-item__container.type04 .menu-item.large *) {
  padding: 1.3888888889vw 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .menu-item__info:where(.menu-item__container.type04 .menu-item.large *) {
    padding: 0 0;
  }
}
.menu-item__info:where(.no-image *) {
  text-align: center;
  justify-items: center;
  gap: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .menu-item__info:where(.no-image *) {
    gap: 2.5641025641vw;
  }
}

.menu-item__name {
  color: #F046BE;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .menu-item__name {
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}

.menu-item__price {
  color: #21273A;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .menu-item__price {
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}
.menu-item__price .tax {
  color: #21273A;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 2.125;
}
@media screen and (max-width: 767px) {
  .menu-item__price .tax {
    font-size: 3.5897435897vw;
    line-height: 2.1428571429;
  }
}

.menu-item__container.type01 {
  display: grid;
  gap: 1.3888888889vw;
}
.menu-item__container.type02 {
  -webkit-filter: drop-shadow(0 0 1.3888888889vw rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0 0 1.3888888889vw rgba(0, 0, 0, 0.1));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .menu-item__container.type02 {
    -webkit-filter: drop-shadow(0 0 5.1282051282vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0 0 5.1282051282vw rgba(0, 0, 0, 0.1));
    grid-template-columns: repeat(1, 1fr);
    gap: 5.1282051282vw;
  }
}
.menu-item__container.type03 {
  display: grid;
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .menu-item__container.type03 {
    gap: 5.1282051282vw;
  }
}
.menu-item__container.type04 {
  background-color: #E9F6FA;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3888888889vw;
  padding: 2.7777777778vw 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .menu-item__container.type04 {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.1282051282vw;
    padding: 4.1025641026vw 4.1025641026vw;
  }
}
.menu-item__container.type04 .large {
  grid-column: span 3/span 3;
}
@media screen and (max-width: 767px) {
  .menu-item__container.type04 .large {
    grid-column: span 1/span 1;
  }
}

.article-description {
  color: #000;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .article-description {
    font-size: 4.1025641026vw;
    line-height: 1.6875;
  }
}

@media screen and (max-width: 767px) {
  .article-container {
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
  }
}

.article-contents {
  color: #21273A;
  font-size: 1.1111111111vw;
  line-height: 2;
  background-color: #fff;
  display: grid;
  gap: 4.1666666667vw;
  padding: 2.7777777778vw 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .article-contents {
    font-size: 3.5897435897vw;
    line-height: 2.1428571429;
    gap: 6.1538461538vw;
    padding: 4.1025641026vw 4.1025641026vw;
  }
}
.article-contents:is(.page-title + *) {
  margin-top: 3.4027777778vw;
}
@media screen and (max-width: 767px) {
  .article-contents:is(.page-title + *) {
    margin-top: 7.1794871795vw;
  }
}
@media screen and (max-width: 767px) {
  .article-contents:where(body.access *) {
    gap: 7.6923076923vw;
  }
}

.article-section {
  display: grid;
  gap: 1.1111111111vw;
  padding-top: 2.7777777778vw;
  padding-bottom: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .article-section {
    gap: 7.6923076923vw;
    padding-top: 7.6923076923vw;
    padding-bottom: 7.6923076923vw;
  }
}
.article-section:first-child {
  padding-top: 0;
}
.article-section.section-booth {
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .article-section.section-booth {
    gap: 7.6923076923vw;
  }
}
.article-section.section-group {
  gap: 2.6388888889vw;
}
@media screen and (max-width: 767px) {
  .article-section.section-group {
    gap: 5.1282051282vw;
    padding-top: 4.1025641026vw;
    padding-bottom: 4.1025641026vw;
  }
}
.article-section.section-artist {
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .article-section.section-artist {
    gap: 7.6923076923vw;
    padding-top: 4.1025641026vw;
    padding-bottom: 4.1025641026vw;
  }
}
.article-section.section-menu {
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .article-section.section-menu {
    gap: 10.2564102564vw;
    padding-top: 4.1025641026vw;
    padding-bottom: 4.1025641026vw;
  }
}

.dialog {
  background: none;
  border: none;
  overflow: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
  max-width: 90%;
  max-height: 80%;
  width: 52.7777777778vw;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .dialog {
    max-width: 80%;
    width: 89.7435897436vw;
  }
}
.dialog::-webkit-backdrop {
  background: rgba(0, 0, 0, 0.7);
}
.dialog::-ms-backdrop {
  background: rgba(0, 0, 0, 0.7);
}
.dialog::backdrop {
  background: rgba(0, 0, 0, 0.7);
}

.dialog__inner {
  background-color: #fff;
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.6666666667vw;
  max-height: 100%;
}
@media screen and (max-width: 767px) {
  .dialog__inner {
    padding: 4.1025641026vw;
  }
}

.dialog__btn-close {
  width: 2.3611111111vw;
  aspect-ratio: 1/1;
  position: absolute;
  inset: -2.7777777778vw 0 auto auto;
}
@media screen and (max-width: 767px) {
  .dialog__btn-close {
    width: 8.2051282051vw;
    top: -10.2564102564vw;
  }
}
.dialog__btn-close::before, .dialog__btn-close::after {
  content: "";
  border-top: 0.1388888889vw solid #fff;
  display: block;
  width: 2.0833333333vw;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .dialog__btn-close::before, .dialog__btn-close::after {
    border-top-width: 0.5128205128vw;
    width: 6.1538461538vw;
  }
}
.dialog__btn-close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.dialog__btn-close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.dialog__btn-next-prev {
  background: #00B9EF url(../img/arrow-btn.svg) no-repeat center center/1.1111111111vw auto;
  border-radius: 50%;
  cursor: pointer;
  width: 3.4722222222vw;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .dialog__btn-next-prev {
    background-size: 3.0769230769vw;
    width: 8.2051282051vw;
  }
}
.dialog__btn-next-prev.btn--prev {
  left: -4.1666666667vw;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .dialog__btn-next-prev.btn--prev {
    left: -8.9743589744vw;
  }
}
.dialog__btn-next-prev.btn--next {
  right: -4.1666666667vw;
}
@media screen and (max-width: 767px) {
  .dialog__btn-next-prev.btn--next {
    right: -8.9743589744vw;
  }
}

.dialog__contents-container {
  display: grid;
  gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .dialog__contents-container {
    gap: 6.1538461538vw;
  }
}

:root:has(dialog[open]) {
  overflow: hidden;
  scrollbar-gutter: stable;
}

.top-kv {
  margin-top: 1.1111111111vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-kv {
    margin-top: 3.0769230769vw;
    height: 66.4102564103vw;
  }
}

.top-kv__bg {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  overflow: hidden;
  pointer-events: none;
  width: 100%;
  aspect-ratio: 1440/857;
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .top-kv__bg {
    aspect-ratio: 390/322;
  }
}

.top-kv__bg-parts {
  overflow: hidden;
}
.top-kv__bg-parts.parts01 {
  background: -webkit-linear-gradient(357deg, #3E2D82 4.55%, #2B469F 42.73%, #2055B1 76.14%, #1C5BB8 100%);
  background: linear-gradient(-267deg, #3E2D82 4.55%, #2B469F 42.73%, #2055B1 76.14%, #1C5BB8 100%);
  -webkit-clip-path: polygon(20.3472222222vw 0, 100% 0, 100% 34.375vw, 0 100%);
          clip-path: polygon(20.3472222222vw 0, 100% 0, 100% 34.375vw, 0 100%);
  display: block;
  width: 73.2638888889vw;
  aspect-ratio: 1055/624;
  position: absolute;
  inset: 0 auto auto calc(50% - 50.6944444444vw);
}
@media screen and (max-width: 767px) {
  .top-kv__bg-parts.parts01 {
    background: -webkit-linear-gradient(183deg, #3E2D82 4.55%, #2B469F 42.73%, #2055B1 76.14%, #1C5BB8 100%);
    background: linear-gradient(267deg, #3E2D82 4.55%, #2B469F 42.73%, #2055B1 76.14%, #1C5BB8 100%);
    -webkit-clip-path: polygon(0 20.2564102564vw, 3.3333333333vw 0, 100% 52.5641025641vw, 0% 100%);
            clip-path: polygon(0 20.2564102564vw, 3.3333333333vw 0, 100% 52.5641025641vw, 0% 100%);
    display: block;
    width: 96.1538461538vw;
    aspect-ratio: 375/244;
    position: absolute;
    inset: 0 auto auto 0;
    z-index: 1;
  }
}
.top-kv__bg-parts.parts02 {
  background: -webkit-linear-gradient(355deg, #00B9EF 63.79%, #1C5BB8 110.02%);
  background: linear-gradient(95deg, #00B9EF 63.79%, #1C5BB8 110.02%);
  -webkit-clip-path: polygon(0 0, 60.9722222222vw 0, 100% 100%, 0 34.375vw);
          clip-path: polygon(0 0, 60.9722222222vw 0, 100% 100%, 0 34.375vw);
  width: 85.625vw;
  aspect-ratio: 1233/744;
  position: absolute;
  inset: 0 auto auto calc(50% - 30.4861111111vw);
}
@media screen and (max-width: 767px) {
  .top-kv__bg-parts.parts02 {
    background: -webkit-linear-gradient(356deg, #00B9EF 57.94%, #1C5BB8 100%);
    background: linear-gradient(94deg, #00B9EF 57.94%, #1C5BB8 100%);
    -webkit-clip-path: polygon(0 52.0512820513vw, 92.8205128205vw 0%, 100% 57.1794871795vw, 100% 100%);
            clip-path: polygon(0 52.0512820513vw, 92.8205128205vw 0%, 100% 57.1794871795vw, 100% 100%);
    width: 96.6666666667vw;
    aspect-ratio: 377/322;
    inset: 0 0 auto auto;
  }
}

.top-kv__slider .splide__track {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: 5.5555555556vw;
  min-height: 39.8611111111vw;
}
@media screen and (max-width: 767px) {
  .top-kv__slider .splide__track {
    padding-bottom: 5.641025641vw;
    min-height: 57.6923076923vw;
  }
}
.top-kv__slider .splide__slide {
  -webkit-filter: drop-shadow(-1.6666666667vw 1.1111111111vw 2.7777777778vw rgba(0, 0, 0, 0.25));
          filter: drop-shadow(-1.6666666667vw 1.1111111111vw 2.7777777778vw rgba(0, 0, 0, 0.25));
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-right: 14.2361111111vw;
  width: 40.0694444444vw;
  aspect-ratio: 577/494;
}
@media screen and (max-width: 767px) {
  .top-kv__slider .splide__slide {
    -webkit-filter: drop-shadow(1.5384615385vw 1.5384615385vw 3.3333333333vw rgba(0, 0, 0, 0.25));
            filter: drop-shadow(1.5384615385vw 1.5384615385vw 3.3333333333vw rgba(0, 0, 0, 0.25));
    width: 92.3076923077vw;
    aspect-ratio: 360/203;
  }
}
.top-kv__slider .splide__slide img {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.top-kv__slider .splide__slide img:where(.is-play *) {
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.top-kv__slider .splide__slide.is-active {
  -webkit-filter: none;
          filter: none;
}
.top-kv__slider .splide__slide.is-active img {
  -webkit-transform: scale(1.5216637782);
          transform: scale(1.5216637782);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
@media screen and (max-width: 767px) {
  .top-kv__slider .splide__slide.is-active img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.top-kv__slider .splide__pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5555555556vw;
  bottom: 3.3333333333vw;
}
.top-kv__slider .splide__pagination:is(.splide:not(.is-overflow) .splide__pagination) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .top-kv__slider .splide__pagination {
    gap: 1.5384615385vw;
    margin-top: 3.8461538462vw;
    bottom: 0;
  }
}
.top-kv__slider .splide__pagination__page {
  background: #D9D9D9;
  border-radius: 0;
  opacity: 1;
  display: block;
  margin: 0;
  width: 0.6944444444vw;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .top-kv__slider .splide__pagination__page {
    width: 1.7948717949vw;
  }
}
.top-kv__slider .splide__pagination__page.is-active {
  background: #666;
  -webkit-transform: none;
          transform: none;
}

.top-kv__slider-container {
  overflow: hidden;
  position: relative;
}
.top-news {
  margin-top: -5.5555555556vw;
  padding-top: 10.625vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-news {
    margin-top: 0;
    padding-top: 3.0769230769vw;
    padding-bottom: 7.9487179487vw;
  }
}

.top-news__item {
  border-bottom: 0.0694444444vw solid #E6E7EB;
}
.top-news__item a {
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6666666667vw;
  padding-top: 1.5972222222vw;
  padding-bottom: 1.5277777778vw;
}
@media screen and (max-width: 767px) {
  .top-news__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.0512820513vw;
    padding-top: 5.3846153846vw;
    padding-bottom: 3.0769230769vw;
  }
}

.top-news__item-date {
  color: #000;
  font-size: 0.9722222222vw;
  line-height: 1.2142857143;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .top-news__item-date {
    font-size: 3.5897435897vw;
    line-height: 1.2142857143;
    letter-spacing: 0.13em;
  }
}

.top-news__item-title {
  color: #000;
  font-size: 0.9722222222vw;
  font-weight: 700;
  line-height: 1.2142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .top-news__item-title {
    font-size: 3.5897435897vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
.top-news__item-title:where(a *) {
  text-decoration: underline;
}

.top-news__item-container {
  overflow: auto;
  margin-top: 0.625vw;
  max-height: 8.75vw;
}
@media screen and (max-width: 767px) {
  .top-news__item-container {
    margin-top: 0;
    max-height: 51.7948717949vw;
  }
}

.top-floormap {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(14.375vw, transparent), color-stop(14.375vw, #1AC0F0));
  background: -webkit-linear-gradient(top, transparent 14.375vw, #1AC0F0 14.375vw);
  background: linear-gradient(180deg, transparent 14.375vw, #1AC0F0 14.375vw);
  margin-top: -1.5277777778vw;
  padding-bottom: 3.4027777778vw;
}
@media screen and (max-width: 767px) {
  .top-floormap {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(25.8974358974vw, transparent), color-stop(25.8974358974vw, #1AC0F0));
    background: -webkit-linear-gradient(top, transparent 25.8974358974vw, #1AC0F0 25.8974358974vw);
    background: linear-gradient(180deg, transparent 25.8974358974vw, #1AC0F0 25.8974358974vw);
    margin-top: -4.1025641026vw;
    padding-bottom: 8.2051282051vw;
  }
}

.top-floormap__image {
  margin: 0 auto;
  width: 59.375vw;
  aspect-ratio: 855/519;
}
@media screen and (max-width: 767px) {
  .top-floormap__image {
    width: 87.9487179487vw;
  }
}
.top-floormap__image svg {
  display: block;
}

.top-floormap__btn {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.9027777778vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.7948717949vw;
  }
}

.top-floormap__btn-item {
  cursor: pointer;
}
.top-floormap__btn-item:is(button) {
  color: #FFF;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  background-color: #B5B5B6;
  border-bottom: 0.1388888889vw solid transparent;
  -webkit-filter: drop-shadow(0.1388888889vw 0.2777777778vw 0 rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0.1388888889vw 0.2777777778vw 0 rgba(0, 0, 0, 0.1));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.3472222222vw 0.5555555556vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__btn-item:is(button) {
    font-size: 2.8205128205vw;
    line-height: 1.2727272727;
    letter-spacing: 0.0403636364em;
    border-bottom-width: 0.2564102564vw;
    -webkit-filter: drop-shadow(0.2564102564vw 0.5128205128vw 0 rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0.2564102564vw 0.5128205128vw 0 rgba(0, 0, 0, 0.1));
    padding: 1.9230769231vw 1.0256410256vw;
    min-width: 26.6666666667vw;
  }
}
.top-floormap__btn-item:is(button) span {
  font-size: 0.8333333333vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3333333333;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
}
@media screen and (max-width: 767px) {
  .top-floormap__btn-item:is(button) span {
    font-size: 2.0512820513vw;
    line-height: 1.25;
    letter-spacing: 0.04em;
  }
}
.top-floormap__btn-item:is(button).open {
  background-color: #fff;
  -webkit-filter: none;
          filter: none;
}
.top-floormap__btn-item:is(button).floor-2f {
  border-bottom-color: #02B9EF;
}
.top-floormap__btn-item:is(button).floor-2f:not(.open) {
  background-color: #02B9EF;
}
.top-floormap__btn-item:is(button).floor-2f.open {
  color: #02B9EF;
}
.top-floormap__btn-item:is(button).floor-3f {
  border-bottom-color: #1C5BB8;
}
.top-floormap__btn-item:is(button).floor-3f:not(.open) {
  background-color: #1C5BB8;
}
.top-floormap__btn-item:is(button).floor-3f.open {
  color: #1C5BB8;
}
.top-floormap__btn-item:is(button).floor-6f {
  border-bottom-color: #6FBA2C;
}
.top-floormap__btn-item:is(button).floor-6f:not(.open) {
  background-color: #6FBA2C;
}
.top-floormap__btn-item:is(button).floor-6f.open {
  color: #6FBA2C;
}
.top-floormap__btn-item:is(button).floor-7f {
  border-bottom-color: #E39431;
}
.top-floormap__btn-item:is(button).floor-7f:not(.open) {
  background-color: #E39431;
}
.top-floormap__btn-item:is(button).floor-7f.open {
  color: #E39431;
}

.top-floormap__copy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.9861111111vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__copy {
    margin-top: 3.5897435897vw;
    padding-left: 5.1282051282vw;
  }
}
.top-floormap__copy:has(+ .top-floormap__overview.open) {
  display: none;
}

.top-floormap__copy-text {
  color: #000;
  font-size: 1.7361111111vw;
  font-weight: 900;
  line-height: 1.32;
  text-align: center;
  width: 32.2222222222vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-floormap__copy-text {
    font-size: 3.5897435897vw;
    line-height: 1.2857142857;
    width: 66.4102564103vw;
  }
}
.top-floormap__copy-text::before {
  content: "";
  background-color: #000;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  display: block;
  width: 2.7083333333vw;
  aspect-ratio: 22/13;
  position: absolute;
  top: 50%;
  left: -2.1527777778vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .top-floormap__copy-text::before {
    left: -4.358974359vw;
    width: 5.641025641vw;
  }
}

.top-floormap__overview {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.3s ease-in-out;
  transition: grid-template-rows 0.3s ease-in-out;
  transition: grid-template-rows 0.3s ease-in-out, -ms-grid-rows 0.3s ease-in-out;
}
.top-floormap__overview.open {
  grid-template-rows: 1fr;
}

.top-floormap__overview-inner {
  overflow: hidden;
}

.top-floormap__hidden {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.3s ease-in-out;
  transition: grid-template-rows 0.3s ease-in-out;
  transition: grid-template-rows 0.3s ease-in-out, -ms-grid-rows 0.3s ease-in-out;
}
.top-floormap__hidden.open {
  grid-template-rows: 1fr;
}
.top-floormap__hidden:where(.top-floormap__overview.open *) {
  -webkit-transition-duration: 0s;
          transition-duration: 0s;
}

.top-floormap__hidden-inner {
  overflow: hidden;
}

.top-floormap__toggle {
  cursor: pointer;
}

.top-floormap__overview-title {
  text-align: center;
  font-size: 1.9444444444vw;
  font-weight: 900;
  line-height: 1.7142857143;
  background: -webkit-linear-gradient(239deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%);
  background: linear-gradient(211deg, #F690D8 -2.84%, #E68AD8 18.74%, #B57BDA 44.99%, #19C0F0 113.98%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .top-floormap__overview-title {
    font-size: 4.1025641026vw;
    line-height: 1.6875;
  }
}

.top-floormap__overview-thumb {
  margin: 1.9444444444vw auto 0;
  width: 41.6666666667vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__overview-thumb {
    margin-top: 4.358974359vw;
    width: 100%;
  }
}

.top-floormap__overview-description {
  color: #000;
  font-size: 1.1111111111vw;
  line-height: 1.625;
  margin-top: 1.6666666667vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__overview-description {
    font-size: 4.1025641026vw;
    margin-top: 4.6153846154vw;
  }
}

.top-floormap__overview-item {
  padding-top: 2.4305555556vw;
  padding-left: 0.9722222222vw;
  padding-right: 0.9722222222vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__overview-item {
    padding-top: 3.8461538462vw;
    padding-left: 1.7948717949vw;
    padding-right: 1.7948717949vw;
  }
}

.top-floormap__overview-link {
  display: grid;
  grid-template-columns: repeat(auto-fit, 13.9583333333vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.1111111111vw;
  margin-top: 1.7361111111vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__overview-link {
    grid-template-columns: repeat(auto-fit, 76.4102564103vw);
    gap: 4.6153846154vw;
    margin-top: 6.4102564103vw;
  }
}

.top-floormap__overview-link-item a.btn.gradation {
  font-size: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__overview-link-item a.btn.gradation {
    font-size: 3.5897435897vw;
  }
}

.top-floormap__btn-overview {
  background-color: #fff;
  border: 0.2777777778vw solid #19C0F0;
  -webkit-border-image: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 4;
       -o-border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 4;
          border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 4;
  -webkit-box-shadow: 0 0.0694444444vw 0.2777777778vw 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.0694444444vw 0.2777777778vw 0 rgba(0, 0, 0, 0.25);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 3.4027777778vw auto 0;
  padding-top: 0.4861111111vw;
  padding-bottom: 3.0555555556vw;
  padding-left: 0.4166666667vw;
  padding-right: 0.4166666667vw;
  width: 59.1666666667vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__btn-overview {
    border-width: 0.7692307692vw;
    margin: 10.5128205128vw auto 0;
    padding-top: 1.2820512821vw;
    padding-bottom: 2.3076923077vw;
    padding-left: 1.5384615385vw;
    padding-right: 1.5384615385vw;
    width: auto;
    position: relative;
  }
  .top-floormap__btn-overview::before {
    content: "";
    background-color: #30B6ED;
    -webkit-clip-path: polygon(50% 0, 100% 7.6923076923vw, 0 7.6923076923vw);
            clip-path: polygon(50% 0, 100% 7.6923076923vw, 0 7.6923076923vw);
    display: block;
    width: 5.8974358974vw;
    aspect-ratio: 23/43;
    position: absolute;
    top: -7.6923076923vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.top-floormap__btn-overview:has(.top-floormap__overview.open) {
  padding-bottom: 2.8472222222vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__btn-overview:has(.top-floormap__overview.open) {
    padding-bottom: 6.4102564103vw;
  }
}

.top-floormap__link {
  display: grid;
  gap: 1.6666666667vw;
  margin: 2.2222222222vw auto 0;
  width: 59.0277777778vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__link {
    gap: 4.1025641026vw;
    margin: 7.6923076923vw auto 0;
    width: auto;
  }
}

.top-floormap__link-item {
  -webkit-box-shadow: 0 0.0694444444vw 0.2777777778vw rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.0694444444vw 0.2777777778vw rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 4.7916666667vw;
  position: relative;
}
.top-floormap__link-item a {
  text-decoration: none;
  border: 0.2083333333vw solid #000;
  -webkit-border-image: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
       -o-border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
          border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 0.6944444444vw;
  padding-bottom: 0.625vw;
  padding-left: 7.6388888889vw;
  padding-right: 7.6388888889vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__link-item a {
    border-width: 0.7692307692vw;
    gap: 6.4102564103vw;
    padding-top: 0.2564102564vw;
    padding-bottom: 0.2564102564vw;
    padding-left: 0.2564102564vw;
    padding-right: 8.9743589744vw;
    min-height: 16.1538461538vw;
  }
}
.top-floormap__link-item a::after {
  content: "";
  background: #00B9EF url(../img/arrow-btn.svg) no-repeat center center/0.9027777778vw auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4.7916666667vw;
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-floormap__link-item a::after {
    background-size: 3.3333333333vw auto;
    width: 8.7179487179vw;
  }
}

.top-floormap__link-label {
  color: #FFF;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  background-color: #ccc;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 6.25vw;
  position: absolute;
  inset: 0 auto 0 0;
}
@media screen and (max-width: 767px) {
  .top-floormap__link-label {
    font-size: 4.1025641026vw;
    line-height: 1;
    letter-spacing: 0.04em;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
            align-self: stretch;
    width: 9.2307692308vw;
    position: relative;
  }
}
.top-floormap__link-label:where(.floor-1f *) {
  background-color: #D3BA00;
}
.top-floormap__link-label:where(.floor-3f *) {
  background-color: #C91F1D;
}
.top-floormap__link-label:where(.floor-8f *) {
  background-color: #5E3483;
}

.top-floormap__link-name {
  color: #000;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.375;
}
@media screen and (max-width: 767px) {
  .top-floormap__link-name {
    font-size: 3.5897435897vw;
    line-height: 1.5;
  }
}

.top-floormap__image-link {
  background-color: #fff;
  margin-top: 2.9166666667vw;
  padding-top: 4.9305555556vw;
  padding-bottom: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .top-floormap__image-link {
    margin-top: 5.1282051282vw;
    padding-top: 5.3846153846vw;
    padding-bottom: 5.1282051282vw;
    padding-left: 2.0512820513vw;
    padding-right: 2.0512820513vw;
  }
}

.top-areamap {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(14.375vw, transparent), color-stop(14.375vw, #1AC0F0));
  background: -webkit-linear-gradient(top, transparent 14.375vw, #1AC0F0 14.375vw);
  background: linear-gradient(180deg, transparent 14.375vw, #1AC0F0 14.375vw);
  padding-bottom: 15.4166666667vw;
}
@media screen and (max-width: 767px) {
  .top-areamap {
    margin-top: -3.8461538462vw;
    padding-bottom: 28.7179487179vw;
  }
}

.top-areamap__image {
  margin-top: 2.9166666667vw;
  aspect-ratio: 1080/734;
}
@media screen and (max-width: 767px) {
  .top-areamap__image {
    margin-top: 6.4102564103vw;
  }
}

.top-areamap__spot {
  -webkit-box-shadow: 0 0.0694444444vw 0.2777777778vw 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.0694444444vw 0.2777777778vw 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .top-areamap__spot {
    -webkit-box-shadow: 0 0.2564102564vw 1.0256410256vw 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 0.2564102564vw 1.0256410256vw 0 rgba(0, 0, 0, 0.25);
  }
}
.top-areamap__spot .accordion-toggle {
  position: relative;
}
.top-areamap__spot .accordion-toggle::before, .top-areamap__spot .accordion-toggle::after {
  content: "";
  display: block;
  width: 5.2777777778vw;
  position: absolute;
  inset: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot .accordion-toggle::before, .top-areamap__spot .accordion-toggle::after {
    width: 10.2564102564vw;
  }
}
.top-areamap__spot .accordion-toggle::before {
  background-color: #00B9EF;
}
.top-areamap__spot .accordion-toggle::after {
  background: url(../img/arrow-btn02.svg) no-repeat center center/0.7638888889vw auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot .accordion-toggle::after {
    background-size: 2.5641025641vw auto;
  }
}
.top-areamap__spot .accordion-toggle.open::after {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}

.top-areamap__spot-title {
  color: #000;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.3888888889;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-title {
    font-size: 4.1025641026vw;
    line-height: 1.375;
  }
}

.top-areamap__spot-thumb {
  margin: 0 auto;
  width: 41.6666666667vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-thumb {
    width: 76.4102564103vw;
  }
}

.top-areamap__spot-overview {
  color: #000;
  font-size: 1.1111111111vw;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-overview {
    font-size: 3.5897435897vw;
    line-height: 1.5714285714;
  }
}

.top-areamap__spot-link {
  display: grid;
  grid-template-columns: repeat(auto-fit, 13.8888888889vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-link {
    grid-template-columns: repeat(1, 1fr);
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    gap: 4.6153846154vw;
  }
}

.top-areamap__spot-info {
  display: grid;
  gap: 1.8055555556vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-info {
    gap: 6.1538461538vw;
  }
}

.top-areamap__spot-header {
  border: 0.2083333333vw solid #19C0F0;
  -webkit-border-image: -webkit-gradient(linear, left top, left bottom, color-stop(38.29%, #19C0F0), color-stop(49.92%, #489EE7), color-stop(63.33%, #797BDF), color-stop(69.59%, #8C6EDC), color-stop(73.17%, #9771DB), color-stop(80.32%, #B57BDA), color-stop(90.16%, #E68AD8), color-stop(92.84%, #F690D8)) 3;
  -webkit-border-image: -webkit-linear-gradient(top, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
       -o-border-image: linear-gradient(180deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
          border-image: -webkit-gradient(linear, left top, left bottom, color-stop(38.29%, #19C0F0), color-stop(49.92%, #489EE7), color-stop(63.33%, #797BDF), color-stop(69.59%, #8C6EDC), color-stop(73.17%, #9771DB), color-stop(80.32%, #B57BDA), color-stop(90.16%, #E68AD8), color-stop(92.84%, #F690D8)) 3;
          border-image: linear-gradient(180deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.3194444444vw;
  padding-bottom: 1.3194444444vw;
  padding-left: 1.5972222222vw;
  padding-right: 6.875vw;
  min-height: 4.7916666667vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-header {
    border-width: 0.7692307692vw;
    padding-top: 1.6666666667vw;
    padding-bottom: 1.6666666667vw;
    padding-left: 3.8461538462vw;
    padding-right: 14.1025641026vw;
    min-height: 16.1538461538vw;
  }
}

.top-areamap__spot-thumb-info {
  border: 0.2083333333vw solid #19C0F0;
  -webkit-border-image: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
       -o-border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
          border-image: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
  border-top-width: 0;
  display: grid;
  gap: 1.6666666667vw;
  padding-top: 1.7361111111vw;
  padding-bottom: 2.2222222222vw;
  padding-left: 1.6666666667vw;
  padding-right: 1.6666666667vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-thumb-info {
    border-width: 0.7692307692vw;
    border-top: 0;
    gap: 6.1538461538vw;
    padding-top: 6.1538461538vw;
    padding-bottom: 5.3846153846vw;
    padding-left: 5.3846153846vw;
    padding-right: 5.3846153846vw;
  }
}

.top-areamap__link-container {
  display: grid;
  grid-template-columns: repeat(1, 28.6805555556vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-areamap__link-container {
    grid-template-columns: repeat(1, 76.4102564103vw);
  }
}

.top-areamap__link-spot {
  background-color: #fff;
  padding-top: 2.2222222222vw;
  padding-bottom: 3.6805555556vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__link-spot {
    padding-top: 6.1538461538vw;
    padding-bottom: 7.4358974359vw;
  }
}

.top-areamap__spot-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, 59.0277777778vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6666666667vw;
  margin-top: 2.1527777778vw;
}
@media screen and (max-width: 767px) {
  .top-areamap__spot-container {
    grid-template-columns: repeat(auto-fit, 88.7179487179vw);
    gap: 4.1025641026vw;
    margin-top: 6.1538461538vw;
  }
}

.top-keywords {
  margin-top: -11.0416666667vw;
  padding-bottom: 2.9166666667vw;
}
@media screen and (max-width: 767px) {
  .top-keywords {
    margin-top: -20vw;
    padding-bottom: 4.358974359vw;
  }
}

.top-keywords__filter-btn {
  color: #008CB4;
  font-size: 0.9722222222vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  background: -webkit-linear-gradient(230deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%);
  background: linear-gradient(220deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%);
  cursor: pointer;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.1388888889vw;
}
.top-keywords__filter-btn, .top-keywords__filter-btn span {
  border-radius: 2.2222222222vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__filter-btn, .top-keywords__filter-btn span {
    border-radius: 10.7692307692vw;
  }
}
@media screen and (max-width: 767px) {
  .top-keywords__filter-btn {
    font-size: 3.3333333333vw;
    line-height: 1;
    letter-spacing: 0.0193846154;
    padding: 0.5128205128vw;
  }
}
.top-keywords__filter-btn span {
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0.9722222222vw 1.8055555556vw;
  -webkit-box-pack: stretch;
  -webkit-justify-content: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (max-width: 767px) {
  .top-keywords__filter-btn span {
    padding: 3.0769230769vw 5.8974358974vw;
  }
}

.top-keywords__filter-btn-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1.1805555556vw 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__filter-btn-container {
    gap: 2.0512820513vw 3.5897435897vw;
  }
}

.top-keywords__slide {
  width: 15.2777777778vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__slide {
    width: 35.641025641vw;
  }
}
.top-keywords__slide a {
  text-decoration: none;
  display: grid;
  gap: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__slide a {
    gap: 2.5641025641vw;
  }
}

.top-keywords__slide-thumb {
  border-radius: 2.0833333333vw;
  overflow: hidden;
  aspect-ratio: 220/184;
}
@media screen and (max-width: 767px) {
  .top-keywords__slide-thumb {
    border-radius: 5.3846153846vw;
  }
}

.top-keywords__slide-title {
  color: #000;
  font-size: 0.9722222222vw;
  line-height: 1.5;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top-keywords__slide-title {
    font-size: 3.0769230769vw;
    line-height: 1.5;
  }
}

.top-keywords__slide-container {
  /* 重要：動きを等速にするための魔法 
    デフォルトの ease-out だと継ぎ目で一瞬止まります。
  */
}
.top-keywords__slide-container:not(:has(.splide)) {
  display: grid;
  grid-template-columns: repeat(auto-fit, 15.2777777778vw);
  gap: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__slide-container:not(:has(.splide)) {
    grid-template-columns: repeat(auto-fit, 35.641025641vw);
    gap: 2.5641025641vw;
  }
}
.top-keywords__slide-container:has(.splide) {
  overflow: hidden;
  margin-right: -2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__slide-container:has(.splide) {
    margin-right: -4.1025641026vw;
  }
}
.top-keywords__slide-container .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.top-keywords__filter-slide {
  background-color: #fff;
  display: grid;
  gap: 4.0277777778vw;
  margin-top: 3.2638888889vw;
  padding: 2.7083333333vw 2.7777777778vw 4.3055555556vw;
}
@media screen and (max-width: 767px) {
  .top-keywords__filter-slide {
    gap: 6.4102564103vw;
    margin-top: 6.6666666667vw;
    padding: 4.1025641026vw 4.1025641026vw 6.9230769231vw;
  }
}

.top-all-contents {
  background-color: #1C5BB8;
  padding-top: 2.9861111111vw;
  padding-bottom: 2.9861111111vw;
}
@media screen and (max-width: 767px) {
  .top-all-contents {
    padding-top: 5.3846153846vw;
    padding-bottom: 4.1025641026vw;
  }
}

.top-all-contents__item:not(:has(a)),
.top-all-contents__item a {
  display: grid;
  gap: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item:not(:has(a)),
  .top-all-contents__item a {
    gap: 3.5897435897vw;
  }
}
.top-all-contents__item a {
  text-decoration: none;
}

.top-all-contents__item-thumb {
  border-radius: 2.0833333333vw;
  overflow: hidden;
  aspect-ratio: 220/184;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-thumb {
    border-radius: 5.3846153846vw;
  }
}

.top-all-contents__item-date,
.top-all-contents__item-area {
  color: #000;
  font-size: 0.8333333333vw;
  line-height: 1.5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-date,
  .top-all-contents__item-area {
    font-size: 2.5641025641vw;
    line-height: 1.5;
    gap: 2.5641025641vw;
  }
}
.top-all-contents__item-date::before,
.top-all-contents__item-area::before {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  display: inline-block;
  width: 1.1111111111vw;
  aspect-ratio: 16/18;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-date::before,
  .top-all-contents__item-area::before {
    width: 2.8205128205vw;
  }
}

.top-all-contents__item-date::before {
  background-image: url(../img/icon-calendar-gr.svg);
  background-size: 1.1111111111vw auto;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-date::before {
    background-size: 2.8205128205vw auto;
  }
}

.top-all-contents__item-area::before {
  background-image: url(../img/icon-location.svg);
  background-size: 0.8333333333vw auto;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-area::before {
    background-size: 2.3076923077vw auto;
  }
}

.top-all-contents__item-title {
  color: #000;
  font-size: 0.9722222222vw;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-title {
    font-size: 3.0769230769vw;
    line-height: 1.5;
  }
}

.top-all-contents__item-date-area {
  display: grid;
  gap: 0.5555555556vw;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-date-area {
    gap: 0.7692307692vw;
  }
}

.top-all-contents__item-info {
  display: grid;
  gap: 0.7638888889vw;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-info {
    gap: 2.0512820513vw;
  }
}

.top-all-contents__item-container {
  background-color: #fff;
  display: grid;
  grid-template-columns: repeat(4, 15.2777777778vw);
  gap: 2.2222222222vw 1.6666666667vw;
  margin-top: 2.3611111111vw;
  padding: 3.4722222222vw 4.4444444444vw 3.1944444444vw;
}
@media screen and (max-width: 767px) {
  .top-all-contents__item-container {
    grid-template-columns: repeat(2, 40vw);
    gap: 6.1538461538vw 4.358974359vw;
    margin-top: 5.641025641vw;
    padding: 4.8717948718vw 4.1025641026vw 7.1794871795vw;
  }
}

.top-schedule {
  padding-top: 3.6111111111vw;
}
@media screen and (max-width: 767px) {
  .top-schedule {
    padding-top: 10.7692307692vw;
    padding-bottom: 12.5641025641vw;
    position: relative;
    z-index: 1;
  }
}

.top-schedule__item a {
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.top-schedule__item a::before {
  content: "";
  background: #00B9EF url(../img/arrow-btn02.svg) no-repeat center center/0.6944444444vw auto;
  display: block;
  width: 5.2777777778vw;
  position: absolute;
  inset: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .top-schedule__item a::before {
    background-size: 2.8205128205vw auto;
    width: 10.2564102564vw;
  }
}

.top-schedule__item-date,
.top-schedule__item-area,
.top-schedule__item-ticket {
  color: #000;
  font-size: 0.8333333333vw;
  line-height: 1.5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-date,
  .top-schedule__item-area,
  .top-schedule__item-ticket {
    font-size: 3.0769230769vw;
    line-height: 1.5;
  }
}

.top-schedule__item-date::before,
.top-schedule__item-area::before {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  display: inline-block;
}

.top-schedule__item-date {
  gap: 0.2777777778vw;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-date {
    gap: 1.0256410256vw;
    margin-right: 3.8461538462vw;
  }
}
.top-schedule__item-date::before {
  background-image: url(/tdp_spring2026/img/icon-date.svg);
  background-size: 1.25vw auto;
  width: 1.4583333333vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-date::before {
    background-size: 4.6153846154vw auto;
    width: 5.3846153846vw;
  }
}

.top-schedule__item-area {
  gap: 0.625vw;
  margin-right: 0.8333333333vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-area {
    gap: 2.3076923077vw;
    margin-right: 2.3076923077vw;
  }
}
.top-schedule__item-area::before {
  background-image: url(/tdp_spring2026/img/icon-location.svg);
  background-size: contain;
  width: 0.8333333333vw;
  aspect-ratio: 12/18;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-area::before {
    width: 3.0769230769vw;
  }
}

.top-schedule__item-ticket {
  background-color: #EDEDED;
  padding: 0.0694444444vw 0.4166666667vw 0.1388888889vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-ticket {
    padding: 0.2564102564vw 1.5384615385vw 0.5128205128vw;
  }
}

.top-schedule__item-title {
  color: #5E5E5E;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.375;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-title {
    font-size: 4.1025641026vw;
    line-height: 1.375;
  }
}

.top-schedule__item-date-ticket {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-date-ticket {
    gap: 2.0512820513vw 0;
  }
}

.top-schedule__item-title-container {
  border: 0.2083333333vw solid #19C0F0;
  -webkit-border-image: -webkit-linear-gradient(265deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
       -o-border-image: linear-gradient(-175deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
          border-image: linear-gradient(-175deg, #19C0F0 38.29%, #489EE7 49.92%, #797BDF 63.33%, #8C6EDC 69.59%, #9771DB 73.17%, #B57BDA 80.32%, #E68AD8 90.16%, #F690D8 92.84%) 3;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: grid;
  gap: 0.6944444444vw;
  padding-top: 0.5555555556vw;
  padding-bottom: 0.9027777778vw;
  padding-left: 1.5972222222vw;
  padding-right: 6.875vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-title-container {
    border-width: 0.7692307692vw;
    gap: 2.5641025641vw;
    padding-top: 2.3076923077vw;
    padding-bottom: 3.0769230769vw;
    padding-left: 3.3333333333vw;
    padding-right: 12.0512820513vw;
  }
}

.top-schedule__item-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.top-schedule__item-container {
  display: grid;
  grid-template-columns: repeat(1, 59.0277777778vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.1111111111vw;
  margin-top: 3.3333333333vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__item-container {
    grid-template-columns: repeat(auto-fit, 91.7948717949vw);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 4.1025641026vw;
    margin-top: 7.9487179487vw;
  }
}

.top-schedule__link-more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__link-more {
    margin-top: 8.2051282051vw;
  }
}
.top-schedule__link-more .btn.gradation {
  font-size: 1.1111111111vw;
  letter-spacing: normal;
  line-height: 1.1875;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.25vw;
  padding-bottom: 1.1805555556vw;
  padding-left: 1.3194444444vw;
  padding-right: 3.1944444444vw;
}
@media screen and (max-width: 767px) {
  .top-schedule__link-more .btn.gradation {
    font-size: 3.5897435897vw;
    line-height: 1.2142857143;
    padding-top: 4.2307692308vw;
    padding-bottom: 4.2307692308vw;
    padding-left: 4.358974359vw;
    width: 76.4102564103vw;
  }
}

.top-recommend {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(32.1527777778vw, #1C5BB8), color-stop(32.1527777778vw, transparent));
  background: -webkit-linear-gradient(bottom, #1C5BB8 32.1527777778vw, transparent 32.1527777778vw);
  background: linear-gradient(0deg, #1C5BB8 32.1527777778vw, transparent 32.1527777778vw);
  padding-bottom: 5.5555555556vw;
}
@media screen and (max-width: 767px) {
  .top-recommend {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(18.4615384615vw, transparent), color-stop(18.4615384615vw, #1C5BB8));
    background: -webkit-linear-gradient(top, transparent 18.4615384615vw, #1C5BB8 18.4615384615vw);
    background: linear-gradient(180deg, transparent 18.4615384615vw, #1C5BB8 18.4615384615vw);
    margin-top: -3.8461538462vw;
    padding-top: 20vw;
    padding-bottom: 7.4358974359vw;
    padding-left: 4.1025641026vw;
    padding-right: 4.1025641026vw;
  }
}

.top-recommend__item {
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .top-recommend__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.top-recommend__item-thumb {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 34.7222222222vw;
  aspect-ratio: 500/330;
}
@media screen and (max-width: 767px) {
  .top-recommend__item-thumb {
    width: 100%;
  }
}
.top-recommend__item-thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.top-recommend__item-info {
  color: #5E5E5E;
  font-size: 1.1111111111vw;
  line-height: 1.8125;
}
@media screen and (max-width: 767px) {
  .top-recommend__item-info {
    font-size: 3.5897435897vw;
    line-height: 1.7857142857;
  }
}

.top-recommend__item-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 1.3888888889vw;
}
@media screen and (max-width: 767px) {
  .top-recommend__item-link {
    padding-left: 0;
  }
}

.top-recommend__item-info-link {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  gap: 2.6388888889vw;
  padding-top: 2.0833333333vw;
  padding-bottom: 2.0833333333vw;
  padding-right: 1.6666666667vw;
  padding-left: 2.2916666667vw;
}
@media screen and (max-width: 767px) {
  .top-recommend__item-info-link {
    gap: 4.8717948718vw;
    padding-top: 5.1282051282vw;
    padding-bottom: 8.7179487179vw;
    padding-right: 4.1025641026vw;
    padding-left: 4.1025641026vw;
  }
}

.top-recommend__item-container {
  margin-top: 2.9166666667vw;
}
@media screen and (max-width: 767px) {
  .top-recommend__item-container {
    margin-top: 4.6153846154vw;
  }
}

.top-sponsor {
  padding-top: 3.1944444444vw;
  padding-bottom: 3.1944444444vw;
}
@media screen and (max-width: 767px) {
  .top-sponsor {
    padding-top: 3.5897435897vw;
    padding-bottom: 3.5897435897vw;
  }
}

.top-sponsor__item-container {
  display: grid;
  grid-template-columns: repeat(5, 11.4583333333vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.2222222222vw 2.1527777778vw;
}
@media screen and (max-width: 767px) {
  .top-sponsor__item-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 4.1025641026vw 5.1282051282vw;
    margin: 0 auto;
    width: 91.7948717949vw;
  }
}

.top-tdp-banner {
  margin-bottom: 2.5vw;
  padding-top: 3.6111111111vw;
  padding-bottom: 3.6111111111vw;
}
@media screen and (max-width: 767px) {
  .top-tdp-banner {
    margin-bottom: 8.4615384615vw;
    padding-top: 15.3846153846vw;
    padding-bottom: 15.3846153846vw;
  }
}

.top-tdp-banner__item-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, 31.3194444444vw);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.1527777778vw;
}
@media screen and (max-width: 767px) {
  .top-tdp-banner__item-container {
    grid-template-columns: repeat(1, 82.5641025641vw);
    gap: 4.1025641026vw;
  }
}

.schedule-list__item {
  background-color: #E9F6FA;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.schedule-list__item-date {
  color: #FFF;
  text-align: center;
  font-family: "museo-sans", sans-serif;
  font-size: 1.3888888889vw;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .schedule-list__item-date {
    font-size: 5.1282051282vw;
    line-height: 1.05;
  }
}

.schedule-list__item-day {
  color: #FFF;
  text-align: center;
  font-family: "museo-sans", sans-serif;
  font-size: 0.8333333333vw;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .schedule-list__item-day {
    font-size: 3.0769230769vw;
  }
}

.schedule-list__item-date-container {
  background-color: #4BBFBF;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 6.9444444444vw;
      -ms-flex: 0 0 6.9444444444vw;
          flex: 0 0 6.9444444444vw;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 0.2777777778vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.3194444444vw 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .schedule-list__item-date-container {
    -webkit-flex-basis: 16.9230769231vw;
        -ms-flex-preferred-size: 16.9230769231vw;
            flex-basis: 16.9230769231vw;
    gap: 1.0256410256vw;
    padding: 4.8717948718vw 1.0256410256vw;
  }
}
.schedule-list__item-date-container.weekend {
  background-color: #1AC1F1;
}

.schedule-list__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  .schedule-list__item-title {
    font-size: 3.5897435897vw;
    gap: 2.5641025641vw;
  }
}
.schedule-list__item-title, .schedule-list__item-title a {
  color: #404040;
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .schedule-list__item-title, .schedule-list__item-title a {
    font-size: 3.8461538462vw;
  }
}
.schedule-list__item-title a {
  text-decoration: underline;
}

.schedule-list__item-title-container {
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 0.2777777778vw;
  padding: 0.7638888889vw 1.1111111111vw 0.7638888889vw 1.5277777778vw;
}
@media screen and (max-width: 767px) {
  .schedule-list__item-title-container {
    gap: 1.0256410256vw;
    padding: 2.8205128205vw 4.1025641026vw 2.8205128205vw 3.5897435897vw;
  }
}

.schedule-list__container {
  display: grid;
  gap: 0.1388888889vw;
}
@media screen and (max-width: 767px) {
  .schedule-list__container {
    gap: 0.5128205128vw;
  }
}

.access-section-title {
  color: #FFF;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.6;
  background-color: #1AC1F1;
  padding: 1.3888888889vw 2.7777777778vw 1.3888888889vw 1.6666666667vw;
}
@media screen and (max-width: 767px) {
  .access-section-title {
    font-size: 4.1025641026vw;
    line-height: 1.375;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 2.0512820513vw 3.3333333333vw;
    min-height: 17.4358974359vw;
  }
}

.access-address {
  color: #21273A;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.6111111111;
}
@media screen and (max-width: 767px) {
  .access-address {
    font-size: 4.1025641026vw;
    line-height: 1.625;
  }
}

.access-item {
  background-color: #FFF2FD;
  padding-top: 1.8055555556vw;
  padding-right: 2.0833333333vw;
  padding-bottom: 2.2916666667vw;
  padding-left: 6.7361111111vw;
}
@media screen and (max-width: 767px) {
  .access-item {
    padding-top: 3.0769230769vw;
    padding-right: 4.1025641026vw;
    padding-bottom: 3.3333333333vw;
    padding-left: 3.5897435897vw;
  }
}

.access-item__title {
  color: #21273A;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3194444444vw;
}
@media screen and (max-width: 767px) {
  .access-item__title {
    font-size: 4.1025641026vw;
    line-height: 2;
    gap: 4.6153846154vw;
  }
}
.access-item__title::before {
  content: "";
  background-color: #1AC1F1;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  border-radius: 0.2083333333vw;
  margin-left: -4.6527777778vw;
  width: 3.3333333333vw;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .access-item__title::before {
    border-radius: 0.5128205128vw;
    margin-left: -0.7692307692vw;
    width: 9.7435897436vw;
  }
}
.access-item__title.train::before {
  background-image: url(../img/icon-train.svg);
}
.access-item__title.bus::before {
  background-image: url(../img/icon-bus.svg);
}

.access-item__description {
  color: #21273A;
  font-size: 1.1111111111vw;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .access-item__description {
    font-size: 3.5897435897vw;
    line-height: 1.5714285714;
    margin-top: 4.1025641026vw;
  }
}

.access-section__contents {
  display: grid;
  gap: 2.2222222222vw;
  padding: 2.2222222222vw 1.6666666667vw 0;
}
@media screen and (max-width: 767px) {
  .access-section__contents {
    gap: 2.5641025641vw;
    padding: 2.5641025641vw 0 0;
  }
}