@charset "UTF-8";
/*---------------------------------

base

---------------------------------*/
:root {
  --pc-layout-width: 485px;
  --z-index-hamburger: 10000;
  --z-index-drawer: 1000;
  --z-index-header: 100;
  --z-index-floating-item: 10;
  --base-font: "BIZ UDPGothic", sans-serif;
  --font-en: "Oswald", sans-serif;
  --base-text-color: #171717;
  --color-white: #FFF;
  --color-primary: #E4007F;
  --color-secondary: #00AFEC;
  --color-navy: #1D2088;
  --bg-color-black: #000;
  --bg-color-blue: #91D3E7;
  --bg-color-orange: #FC6900;
  --base-border-radius: 16px;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: inherit;
  vertical-align: baseline;
}

header, footer, nav, section, article, aside, figure, figcaption, main {
  display: block;
}

body {
  background-color: var(--bg-color-black);
  font-family: var(--base-font);
  font-weight: 700;
  letter-spacing: 0.06em;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

li, dd {
  list-style-type: none;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: bottom;
}

@media (hover: hover) and (pointer: fine) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*---------------------------------

Layout

---------------------------------*/
/*
    l-wrapper
---------------------------------*/
.l-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/*
    l-pc-bg
---------------------------------*/
.l-pc-bg {
  position: fixed;
  inset: 0;
}

/*
    l-main
---------------------------------*/
.l-main {
  flex: 1;
  overflow-x: hidden;
}

/*
    l-contents
---------------------------------*/
.l-contents {
  padding-top: 48px;
  background-color: var(--bg-color-black);
  color: var(--color-white);
}

@media (min-width: 768px) {
  .l-contents {
    position: relative;
    z-index: 1;
    max-width: var(--pc-layout-width);
    margin-inline: auto 60px;
    border-right: 4px solid var(--color-white);
    border-left: 4px solid var(--color-white);
  }
}
@media (min-width: 1000px) {
  .l-contents {
    padding-top: 80px;
    margin-inline: auto min(8vw, 116px);
  }
}
@media (min-width: 1500px) {
  .l-contents {
    margin-inline: 58.8vw auto;
  }
}
/*
    l-header
---------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
  background-color: var(--color-white);
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.3));
  transition: translate 0.17s linear;
}

.l-header:has(.p-header__drawer.is-open) {
  filter: none;
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 48px;
  padding-left: 12px;
}

.l-header.hide {
  translate: 0 -100%;
}

@media (min-width: 768px) {
  .l-header {
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));
  }
}
@media (min-width: 1000px) {
  .l-header__inner {
    height: 80px;
    padding-left: 24px;
  }
}
/*
    l-section
---------------------------------*/
.l-section {
  padding-block: 2.5rem;
}

/*
    l-section02
---------------------------------*/
.l-section02 {
  padding-block: 7.5rem;
}

.l-section02.l-section02--pb0 {
  padding-block: 7.5rem 0;
}

/*
    l-inner
---------------------------------*/
.l-inner {
  padding-inline: 16px;
}

@media (min-width: 768px) {
  .l-inner {
    padding-inline: 20px;
  }
}
/*---------------------------------

Component

---------------------------------*/
/*  
    c-button
---------------------------------*/
.c-button {
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 0.82em 3.5em;
  border: 1px solid;
  border-radius: var(--base-border-radius);
  font-size: 0.8125rem;
  line-height: 1.3;
  text-align: center;
  transition: color 0.3s;
}
.c-button:focus-visible {
  color: var(--color-primary);
}

.c-button__arrow {
  position: absolute;
  top: 50%;
  right: 12px;
  translate: 0 -50%;
  width: 1.1875rem;
}

.c-button__arrow circle,
.c-button__arrow ellipse {
  transition: fill 0.3s;
}

.c-button:focus-visible .c-button__arrow circle,
.c-button:focus-visible .c-button__arrow ellipse {
  fill: var(--color-primary);
}

.c-button.c-button--free {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.84em;
       column-gap: 0.84em;
  padding: 0.94em 3.5em 0.94em 1.07em;
}

.c-button.c-button--free span {
  flex-shrink: 0;
  display: inline-block;
  border-radius: 4px;
  padding: 0.14em 0.43em;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 0.875rem;
  letter-spacing: 0;
}

.c-button.c-button--free img {
  flex-shrink: 0;
}

.c-button.c-button--free ul {
  margin-left: 1.4em;
  text-align: left;
}

.c-button.c-button--icon {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 1.2em;
       column-gap: 1.2em;
  padding: 0.94em 3.5em 0.94em 4.5em;
}

.c-button.c-button--icon img {
  flex-shrink: 0;
}

@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    color: var(--color-primary);
  }
  .c-button:hover .c-button__arrow circle,
  .c-button:hover .c-button__arrow ellipse {
    fill: var(--color-primary);
  }
}
@media (min-width: 1000px) {
  .c-button {
    padding: 0.55em 3em;
    border: none;
    background-color: var(--color-white);
    font-size: min(1.39vw, 1.96vh, 1.25rem);
    white-space: nowrap;
  }
  .c-button__arrow {
    width: min(2.64vh, 1.6875rem);
  }
  .c-button.c-button--free {
    -moz-column-gap: 0.8em;
         column-gap: 0.8em;
    padding: 0.95em 3em 0.95em 0.9em;
  }
  .c-button.c-button--free span {
    padding: 0.18em 0.38em 0.14em;
    font-size: min(1.11vw, 1.57vh, 1rem);
  }
  .c-button.c-button--free img {
    width: min(2.15vw, 3.03vh, 1.9375rem);
  }
  .c-button.c-button--free ul {
    margin-left: min(1.25vw, 2.34vh, 1.3em);
  }
  .c-button.c-button--icon {
    -moz-column-gap: min(1.3vw, 1em);
         column-gap: min(1.3vw, 1em);
    padding: 0.95em 3em 0.95em 3.45em;
  }
  .c-button.c-button--icon img {
    width: min(3.19vw, 4.5vh, 2.875rem);
  }
}
/*  
    c-external-button
---------------------------------*/
.c-external-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.35em;
       column-gap: 0.35em;
  width: 17.6875rem;
  max-width: 100%;
  min-height: 3.9375rem;
  padding: 0.3em 0.6em;
  border: 2px solid var(--color-white);
  border-radius: var(--base-border-radius);
  color: var(--color-white);
  font-size: 1.25rem;
  line-height: 1.1;
  text-align: center;
  transition: background-color 0.3s;
}
.c-external-button::after {
  display: inline-block;
  translate: 0 -13%;
  width: 1.25em;
  height: 1.25em;
  background-image: url(../images/icon_external-link.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

.c-external-button.c-external-button--primary {
  background-color: var(--color-primary);
}
.c-external-button.c-external-button--primary:focus-visible {
  background-color: var(--color-secondary);
}

.c-external-button.c-external-button--secondary {
  background-color: var(--color-secondary);
}
.c-external-button.c-external-button--secondary:focus-visible {
  background-color: var(--color-primary);
}

@media (hover: hover) and (pointer: fine) {
  .c-external-button.c-external-button--primary:hover {
    background-color: var(--color-secondary);
  }
  .c-external-button.c-external-button--secondary:hover {
    background-color: var(--color-primary);
  }
}
/*  
    c-ticket-button
---------------------------------*/
.c-ticket-button {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 3.75rem;
  padding: 0.5em 1em;
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
  transition: background-color 0.3s;
}
.c-ticket-button:focus-visible {
  background-color: var(--color-secondary);
}

.c-ticket-button__en {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.2em;
       column-gap: 0.2em;
  font-family: var(--font-en);
  font-size: 1.25rem;
  text-transform: uppercase;
}
.c-ticket-button__en::before {
  flex-shrink: 0;
  display: inline-block;
  width: 1.25rem;
  height: 1rem;
  background-image: url(../images/icon_ticket.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

.c-ticket-button__ja {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.4em;
       column-gap: 0.4em;
  font-family: var(--font-en);
  font-size: 0.8125rem;
  line-height: 1.5;
}
.c-ticket-button__ja::after {
  flex-shrink: 0;
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  background-image: url(../images/icon_external-link.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

@media (hover: hover) and (pointer: fine) {
  .c-ticket-button:hover {
    background-color: var(--color-secondary);
  }
}
@media (min-width: 1000px) {
  .c-ticket-button {
    min-height: min(8.79vh, 5.625rem);
    border: 4px solid var(--color-white);
  }
  .c-ticket-button__en {
    -moz-column-gap: 0.125em;
         column-gap: 0.125em;
    font-size: min(2.22vw, 3.125vh, 2rem);
  }
  .c-ticket-button__en::before {
    width: 1em;
    height: 0.8125em;
  }
  .c-ticket-button__ja {
    font-size: min(1.38vw, 1.94vh, 1.25rem);
  }
  .c-ticket-button__ja::after {
    width: 1em;
    height: 1em;
  }
}
/*  
    c-link
---------------------------------*/
/*  
    c-section-title
---------------------------------*/
.c-section-title {
  position: relative;
  padding-bottom: 0.1875em;
  font-size: 2rem;
  line-height: 1.3;
  text-align: center;
}
.c-section-title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
  width: 80px;
  height: 2px;
  border-radius: 1px;
  background-color: currentColor;
  content: "";
}

/*  
    c-text
---------------------------------*/
.c-text {
  font-size: 1rem;
  line-height: 1.5;
}

.c-text.c-text--md {
  font-size: 0.875rem;
}

.c-text.c-text--sm {
  font-size: 0.75rem;
}

@media (min-width: 768px) {
  .c-text {
    font-size: 1.125rem;
  }
  .c-text.c-text--md {
    font-size: 1rem;
  }
  .c-text.c-text--sm {
    font-size: 0.875rem;
  }
}
/*  
    c-page-top
---------------------------------*/
.c-page-top {
  position: absolute;
  right: 8px;
  bottom: 8px;
  transition: opacity 0.3s;
}
.c-page-top:focus-visible {
  opacity: 0.7;
}

@media (hover: hover) and (pointer: fine) {
  .c-page-top:hover {
    opacity: 0.7;
  }
}
/*---------------------------------

Project

---------------------------------*/
/*
    p-header
---------------------------------*/
.p-header__logo {
  width: 92px;
}

.p-header__logo a {
  display: block;
  transition: opacity 0.3s;
}
.p-header__logo a:focus-visible {
  opacity: 0.7;
}

.p-header__hamburger {
  display: block;
  position: relative;
  z-index: var(--z-index-hamburger);
  width: 52px;
  height: inherit;
}

.p-header__hamburger span {
  display: inline-block;
  position: absolute;
  left: 50%;
  translate: -50%;
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background-color: var(--base-text-color);
  transition: translate 0.3s, rotate 0.3s;
}

.p-header__hamburger span:nth-child(1) {
  top: 16px;
  transform-origin: top right;
}

.p-header__hamburger span:nth-child(2) {
  top: 24px;
}

.p-header__hamburger span:nth-child(3) {
  top: 32px;
  transform-origin: bottom right;
}

.p-header__hamburger.is-active span {
  width: 25px;
}

.p-header__hamburger.is-active span:nth-child(1) {
  top: 17px;
  rotate: -36deg;
}

.p-header__hamburger.is-active span:nth-child(2) {
  opacity: 0;
}

.p-header__hamburger.is-active span:nth-child(3) {
  top: 31px;
  rotate: 36deg;
}

@media (hover: hover) and (pointer: fine) {
  .p-header__logo a:hover {
    opacity: 0.7;
  }
}
@media (min-width: 1000px) {
  .p-header__logo {
    width: 152px;
  }
  .p-header__hamburger {
    display: none;
  }
}
/*
    p-drawer
---------------------------------*/
.p-drawer {
  position: fixed;
  inset: 48px 0 0 0;
  z-index: var(--z-index-drawer);
  background-color: var(--color-white);
  transition: opacity 0.3s, visibility 0.3s ease-out;
}

.p-drawer[aria-hidden=true] {
  opacity: 0;
  visibility: hidden;
}

.p-drawer__inner {
  height: 100%;
  padding: 40px 24px;
  overflow-y: auto;
}

.p-drawer__nav {
  max-width: 360px;
  margin-inline: auto;
}

@media (min-width: 1000px) {
  .p-drawer {
    display: none;
  }
}
/*
    p-menu
---------------------------------*/
.p-menu__item + .p-menu__item {
  margin-top: 1rem;
}

@media (min-width: 1000px) {
  .p-menu__item + .p-menu__item {
    margin-top: 0.75rem;
  }
}
/*
    p-footer
---------------------------------*/
.p-footer {
  position: relative;
  padding-block: 5rem 1.5rem;
  margin-bottom: 7rem;
  background-color: var(--bg-color-black);
  color: var(--color-white);
}

.p-footer__text {
  font-size: 0.75rem;
  line-height: 1.7;
}

.p-footer__items {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 12px;
  margin-top: 1rem;
}

.p-footer__item {
  display: grid;
  place-items: center;
  width: calc(33.33% - 8px);
}

.p-footer__item:first-child {
  place-items: center start;
  width: 100%;
}

.p-footer__item a {
  display: inline-block;
  transition: opacity 0.3s;
}
.p-footer__item a:focus-visible {
  opacity: 0.7;
}

.p-footer__logo {
  margin-top: 1.5rem;
  text-align: center;
}

.p-footer__logo a {
  display: inline-block;
  width: 190px;
  transition: opacity 0.3s;
}
.p-footer__logo a:focus-visible {
  opacity: 0.7;
}

.p-footer__copy {
  margin-top: 1.5rem;
  text-align: center;
}

.p-footer__copy small {
  font-size: 0.625rem;
  letter-spacing: 0;
}

@media (hover: hover) and (pointer: fine) {
  .p-footer__item a:hover {
    opacity: 0.7;
  }
  .p-footer__logo a:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) {
  .p-footer {
    z-index: 1;
    padding-block: 3rem 4.875rem;
    margin-bottom: 0;
  }
  .p-footer__inner {
    max-width: 1600px;  /* 1200から1300から1600 全体の幅を広げる */
    margin-inline: auto;
  }
  .p-footer__text {
    font-size: 0.875rem;
  }
  .p-footer__items {
    gap: 20px 24px;
    margin-top: 1.625rem;
  }
  .p-footer__item {
    width: auto;
  }
  .p-footer__item:first-child {
    place-items: center;
    width: auto;
  }
  .p-footer__item:first-child img {
    width: 215px;
  }	
  .p-footer__item:first-child(2) img {
    width: 90px;
  }
  .p-footer__item:nth-child(3) img {
    width: 112px;
  }

  .p-footer__item:nth-child(4) img {
    width: 141px;
  }
	
  .p-footer__item:nth-child(5) img {
    width: 141px;
  }	

  .p-footer__item:nth-child(6) img {
    width: 80px;
  }
  .p-footer__item:nth-child(7) img {
    width: 141px;
  }
  .p-footer__item:nth-child(8) img {
    width: 91px;
  }
  .p-footer__logo {
    margin-top: 2.5rem;
  }
  .p-footer__logo a {
    width: 282px;
  }
  .p-footer__logo img {
    width: 100%;
  }
}
/*
    p-sp-fixed
---------------------------------*/
.p-sp-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: var(--z-index-floating-item);
  width: 100%;
}

.p-sp-fixed__button {
  color: var(--base-text-color);
  text-align: center;
}

.p-sp-fixed__button .c-button.c-button--free {
  max-width: 310px;
  padding: 0.7em 3.5em 0.7em 2.1em;
  border: 1px solid #000;
  border-radius: 8px;
  background-color: var(--color-white);
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
  font-size: 0.75rem;
}

.p-sp-fixed__button .c-button.c-button--free span {
  padding: 0.18em 0.38em 0.13em;
  font-size: 1rem;
  letter-spacing: 0;
}

.p-sp-fixed__button .c-button.c-button--free ul {
  margin-left: -0.65em;
}

.p-sp-fixed__button .c-button__arrow {
  width: 1.6875rem;
  height: 1.6875rem;
}

.p-sp-fixed__button02 {
  margin-top: 0.25rem;
}

/*
    p-pc-bg
---------------------------------*/
.p-pc-bg__img {
  height: 100%;
}

.p-pc-bg__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-pc-bg__drone {
  position: absolute;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.p-pc-bg__drone img {
  animation: floating-x 3s ease-in-out infinite alternate-reverse;
}

.p-pc-bg__drone.p-pc-bg__drone--a {
  top: 12.6vh;
  left: 4%;
  width: min(17.5%, 24.7vh);
  animation-delay: -1.2s;
}

.p-pc-bg__drone.p-pc-bg__drone--a img {
  animation-delay: -1.5s;
}

.p-pc-bg__drone.p-pc-bg__drone--b {
  top: 17.3vh;
  left: 40%;
  width: min(21%, 29.5vh);
}

.p-pc-bg__drone.p-pc-bg__drone--c {
  bottom: 1vh;
  left: -10%;
  width: min(42%, 59vh);
  animation-delay: -0.4s;
}

.p-pc-bg__drone.p-pc-bg__drone--c img {
  animation-delay: -1s;
}

.p-pc-bg__content {
  display: none;
  position: absolute;
  top: 17.5vh;
  left: 6%;
  width: min(31vw, 46.6vh, 448px);
}

.p-pc-bg__content.size-md {
  top: 15vh;
}

.p-pc-bg__content.size-sm {
  top: 15vh;
  min-width: 265px;
  max-height: 82vh;
  overflow-y: auto;
}

.p-pc-bg__heading {
  text-align: center;
}

.p-pc-bg__menu {
  margin-top: 0.1875rem;
}

@media (min-width: 1000px) {
  .p-pc-bg__content {
    display: block;
  }
}
@media (min-width: 1100px) {
  .p-pc-bg__content {
    left: 10%;
  }
}
@media (min-width: 1200px) {
  .p-pc-bg__content {
    left: 14%;
  }
}
@media (min-width: 1300px) {
  .p-pc-bg__content {
    left: 16%;
  }
}
@media (min-width: 1500px) {
  .p-pc-bg__content {
    left: 18%;
  }
}
/*
    p-fv
---------------------------------*/
.p-fv {
  padding-bottom: 2.5rem;
}

.p-fv__top {
  display: flex;
  padding: 7px 22px;
  background-color: var(--bg-color-black);
}

.p-fv__top img {
  width: 100%;
}

.p-fv__content {
  position: relative;
}

.p-fv__title-bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.5;
  width: 100%;
  padding-top: 17.07%;
  mix-blend-mode: multiply;
}

.p-fv__title-bg01 {
  position: absolute;
  inset: 0;
  background-color: #594F78;
}

.p-fv__title-bg02 {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 0%, var(--bg-color-black) 100%);
  mix-blend-mode: multiply;
}

.p-fv__title {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  padding: 2px 14px;
}

.p-fv__title img {
  width: 100%;
}

.p-fv__drone-area {
  position: relative;
}

.p-fv__drone-area-bg {
  position: relative;
}
.p-fv__drone-area-bg::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 55.47%;
  background: linear-gradient(180deg, transparent 0%, var(--bg-color-black) 100%);
  mix-blend-mode: multiply;
  content: "";
}

.p-fv__drone {
  position: absolute;
}

.p-fv__drone.p-fv__drone--a {
  top: 23%;
  left: 2%;
  width: 36%;
}

.p-fv__drone.p-fv__drone--b {
  top: 24%;
  right: 3%;
  width: 44%;
}

.p-fv__drone.p-fv__drone--c {
  top: 36%;
  left: 50%;
  translate: -50%;
  width: 83%;
}

.p-fv__drone-img {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.p-fv__drone-img img {
  animation: floating-x 3s ease-in-out infinite alternate-reverse;
}

@keyframes floating-x {
  0% {
    translate: -5px;
  }
  100% {
    translate: 5px;
  }
}
@keyframes floating-y {
  0% {
    translate: 0 -10px;
  }
  100% {
    translate: 0 10px;
  }
}
.p-fv__drone.p-fv__drone--b .p-fv__drone-img {
  animation-delay: -1.2s;
}

.p-fv__drone.p-fv__drone--b .p-fv__drone-img img {
  animation-delay: -1.5s;
}

.p-fv__drone.p-fv__drone--c .p-fv__drone-img {
  animation-delay: -0.4s;
}

.p-fv__drone.p-fv__drone--c .p-fv__drone-img img {
  animation-delay: -1s;
}

.p-fv__text-area {
  position: relative;
  z-index: 1;
  margin-top: -2.1875rem;
  text-align: center;
}

.p-fv__text img {
  width: 93.6%;
}

.p-fv__text02 {
  margin-top: 0.25rem;
}

.p-fv__text02 img {
  width: 92.5%;
}

.p-fv__text03 {
  margin-top: 0.375rem;
}

.p-fv__text03 img {
  width: 100%;
}

.p-fv__text04 {
  margin-top: 0.5625rem;
}

.p-fv__text04 img {
  width: 22.5%;
}

.p-fv__text05 {
  margin-top: 0.5625rem;
}

.p-fv__text05 img {
  width: 92.5%;
}

.p-fv__text06 {
  margin-top: 3rem;
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  .p-fv__top {
    padding: 9px 28px;
  }
  .p-fv__title {
    padding: 2px 17px;
  }
  .p-fv__text img {
    width: 93.4%;
  }
  .p-fv__text02 {
    margin-top: 0.375rem;
  }
  .p-fv__text02 img {
    width: 93.3%;
  }
  .p-fv__text03 {
    margin-top: 0.5rem;
  }
  .p-fv__text06 {
    margin-inline: -7px;
  }
}
/*
    p-schedule
---------------------------------*/
.p-schedule__content {
  margin-top: 0.75rem;
}

.p-schedule__date {
  font-size: 1.25rem;
  line-height: 1.5;
  text-align: center;
}

.p-schedule__pdf {
  margin-top: 0.25rem;
}

.p-schedule__text {
  margin-top: 0.75rem;
  text-align: center;
}

#schedule .p-schedule__content:nth-of-type(1){
margin-bottom:40px;
}

/*
    p-pdf
---------------------------------*/
.p-pdf__img img {
  width: 100%;
}

.p-pdf__link {
  margin-top: 0.25rem;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-thickness: 1px;
  text-align: center;
  transition: color 0.3s;
}

.p-pdf__link a:focus-visible {
  color: var(--color-primary);
}

@media (hover: hover) and (pointer: fine) {
  .p-pdf__link:hover {
    color: var(--color-primary);
  }
}
/*
    p-place
---------------------------------*/
.p-place__content {
  margin-top: 0.75rem;
}

.p-place__text {
  letter-spacing: -0.01em;
  text-align: center;
}

.p-place__map {
  position: relative;
  margin-top: 0.5rem;
}
.p-place__map::before {
  display: block;
  padding-top: 100%;
  content: "";
}

.p-place__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-place__access {
  margin-top: 0.5rem;
}

.p-place__button {
  margin-top: 1rem;
  text-align: center;
}

/*
    p-fee
---------------------------------*/
.p-fee__content {
  margin-top: 0.75rem;
}

.p-fee__item + .p-fee__item {
  margin-top: 1.5rem;
}

.p-fee__title {
  font-size: 1.25rem;
  line-height: 1.5;
}

.p-fee__button {
  margin-top: 1rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-fee__title {
    font-size: 1.375rem;
  }
}
/*
    p-regulations
---------------------------------*/
.p-regulations__content {
  margin-top: 0.75rem;
}

/*
    p-course
---------------------------------*/
.p-course {
  padding-bottom: 7.5rem;
}

.p-course__content {
  margin-top: 0.75rem;
}

/*
    p-experience
---------------------------------*/
.p-experience {
  padding-top: 2.875rem;
  background-image: url(../images/experience_bg.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  text-align: center;
}

.p-experience__top {
  margin-inline: -1px -14px;
}

.p-experience__top img {
  width: 100%;
}

.p-experience__content {
  margin-top: 0.375rem;
}

.p-experience__content + .p-experience__content {
  margin-top: 5rem;
}

.p-experience__title img {
  width: 100%;
}

.p-experience__title02 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.p-experience__lead {
  margin-top: 0.3125rem;
}

.p-experience__lead img {
  width: 94%;
}

.p-experience__period {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-top: 0.5rem;
}

.p-experience__period-text {
  position: relative;
  padding-bottom: 2px;
  font-family: var(--font-en);
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
.p-experience__period-text::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background-color: var(--bg-color-blue);
  content: "";
}

.p-experience__period-text + .p-experience__period-text {
  margin-top: 0.625rem;
}

.p-experience__period-text span {
  display: inline-block;
  translate: 0 -16%;
  margin-inline: -0.3em;
  font-size: 0.9375rem;
}

.p-experience__period-text:last-child span {
  margin-inline: -0.4em;
}

.p-experience__title02 + .p-experience__period {
  margin-top: 0.9375rem;
  padding-right: 18px;
}

.p-experience__text {
  margin-top: 1.25rem;
}

.p-experience__text02 {
  margin-top: 0.5rem;
}

.p-experience__text03 {
  margin-top: 0.75rem;
  letter-spacing: -0.01em;
}

.p-experience__text04 {
  margin-top: 1rem;
}

.p-experience__text05 {
  margin-top: 0.5rem;
  letter-spacing: -0.01em;
}

.p-experience__img {
  margin-top: 1rem;
}

.p-experience__button {
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .p-experience__period img {
    width: 80px;
  }
  .p-experience__period-text {
    font-size: 1.75rem;
  }
  .p-experience__period-text span {
    font-size: 1.0625rem;
  }
}
/*
    p-live
---------------------------------*/
.p-live__content {
  margin-top: 0.75rem;
}

.p-live__movie {
  position: relative;
}
.p-live__movie::before {
  display: block;
  padding-top: 56.26%;
  content: "";
}

.p-live__movie iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-live__movie img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*
    p-event
---------------------------------*/
.p-event {
  padding-top: 5rem;
}

.p-event__content {
  margin-top: 0.75rem;
}

.p-event__movie {
  position: relative;
}
.p-event__movie::before {
  display: block;
  padding-top: 56.26%;
  content: "";
}

.p-event__movie iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-event__movie img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-event__text {
  margin-top: 0.25rem;
}

.p-event__img {
  margin-top: 1rem;
}

.p-event__img img {
  width: 100%;
}

.p-event__imgs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 13px;
  margin-top: 1rem;
}

.p-event__imgs .p-event__img {
  margin-top: 0;
}

.p-event__button {
  margin-top: 1rem;
  text-align: center;
}

/*
    p-food-truck
---------------------------------*/
.p-food-truck {
  text-align: center;
}

.p-food-truck__content {
  margin-top: 1rem;
}

.p-food-truck__text {
  letter-spacing: 0.03em;
}

.p-food-truck__text02 {
  margin-top: 1.5rem;
}

.p-food-truck__item {
  margin-top: 1rem;
}

.p-food-truck__item + .p-food-truck__item {
  margin-top: 2.5rem;
}

.p-food-truck__item-title {
  font-family: var(--font-en);
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.p-food-truck__item-title span {
  display: inline-block;
  translate: 0 -16%;
  margin-inline: -0.3em;
  font-size: 0.9375rem;
}

.p-food-truck__list {
  margin-top: 1.25rem;
}

.p-food-truck__list-item + .p-food-truck__list-item {
  margin-top: 0.5rem;
}

/*
    p-box
---------------------------------*/
.p-box {
  padding: 16px 14px;
  border-radius: var(--base-border-radius);
  background-color: var(--color-white);
  color: var(--base-text-color);
}

.p-box__title {
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.p-box__sub-title {
  letter-spacing: -0.01em;
}

.p-box__link {
  margin-top: 0.1875rem;
}

.p-box__link a {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  letter-spacing: 0.01em;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  transition: opacity 0.3s;
}
.p-box__link a:focus-visible {
  opacity: 0.7;
}

@media (hover: hover) and (pointer: fine) {
  .p-box__link a:hover {
    opacity: 0.7;
  }
}
/*
    p-annotation
---------------------------------*/
.p-annotation {
  padding-block: 5rem;
}

.p-annotation__item + .p-annotation__item {
  margin-top: 1.25rem;
}

.p-annotation__title {
  font-size: 0.75rem;
  line-height: 1.7;
}

.p-annotation__text {
  font-size: 0.75rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .p-annotation__title {
    font-size: 0.875rem;
  }
  .p-annotation__text {
    font-size: 0.875rem;
  }
}
/*---------------------------------

Utility

---------------------------------*/
@media (min-width: 768px) {
  .u-only-sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .u-only-pc {
    display: none !important;
  }
}
/*
    英語大文字対応
---------------------------------*/
.u-text-uppercase {
  text-transform: uppercase;
}

/*
    スクリーンリーダー用
---------------------------------*/
.u-only-screen-reader {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
}

/*
    背景色変更
---------------------------------*/
.u-bg-white {
  background-color: var(--color-white);
  color: var(--base-text-color);
}

.u-bg-orange {
  background-color: var(--bg-color-orange);
}