@charset "UTF-8";
@keyframes shiny {
  0% {
    transform: scale(0) rotate(25deg);
    opacity: 0;
  }
  15% {
    transform: scale(1) rotate(25deg);
    opacity: 1;
  }
  30% {
    transform: scale(50) rotate(25deg);
    opacity: 0;
  }
  100% {
    transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}
html {
  font-weight: 400;
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  background-color: #9FD9F7;
  color: #663835;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  font-feature-settings: "palt" 1;
}
body.page-top {
  background-color: #E9EB8C;
}

/* display */
.container {
  width: 100%;
  max-width: 1132px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 6vw;
  padding-left: 6vw;
}

.d-block {
  display: block;
}

.decoration-none {
  text-decoration: none;
}

/* text */
.text-center {
  text-align: center;
}

.text-underline {
  text-decoration: underline;
  text-underline-offset: 0.8rem;
}

.text-white {
  color: #fff;
}

.text-green {
  color: #009289;
}

.text-sh-1 {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}

.font-semi {
  font-weight: 600;
}

.font-italic {
  font-style: oblique 45deg;
}

.font-mp2 {
  font-family: "M PLUS 2";
}

.font-Zenmaru {
  font-family: "Zen Maru Gothic";
}

/* background / fill */
/* layout */
.relative {
  position: relative;
}

.flex {
  display: flex;
}

.justify-center {
  justify-content: center;
}

.items-center {
  align-items: center;
}

/* spacing */
.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.mb-1em {
  margin-bottom: 1em;
}

.mb-6 {
  margin-bottom: 1.5em;
}

.mb-12 {
  margin-bottom: 3rem;
}

/* size */
.w-full {
  width: 100%;
}

/* btn */
.btn-base {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  border-radius: 1.3333333333vw;
}

.link-blank {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  color: #1f65d8;
  text-decoration: none;
}
.link-blank:after {
  width: 2.9066666667vw;
  height: 2.2666666667vw;
  content: "";
  -webkit-mask-image: url("../images/blank.svg");
  mask-image: url("../images/blank.svg");
  -webkit-mask-size: cover;
  margin-left: 1.6vw;
  background-color: #1f65d8;
  mask-size: cover;
}

/* animation */
.shiny {
  position: relative;
  overflow: hidden;
}
.shiny:after {
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgb(255, 255, 255) 100%, rgba(255, 255, 255, 0) 0%);
  content: "";
  animation-duration: 6.4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-name: shiny;
}

a {
  transition: all ease-in-out 0.24s;
}
header#header {
  z-index: 5;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  background-color: transparent;
  transition: all ease-in-out 0.24s;
}
header#header .btn-menu {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 10vw;
  height: 10vw;
  gap: 1.3333333333vw;
  border: none;
  background: none;
  background-color: #009289;
  cursor: pointer;
  transition: all ease-in-out 0.24s;
}
header#header .btn-menu span {
  display: block;
  width: 4.2666666667vw;
  height: 0.1rem;
  background-color: #fff;
  transition: all ease-in-out 0.24s;
}
header#header .btn-menu span:nth-of-type(1) {
  transform-origin: right center;
}
header#header .btn-menu span:nth-of-type(3) {
  transform-origin: right center;
}
header#header nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100vw;
  height: 10vw;
  overflow: hidden;
  transition: all ease-in-out 0.24s;
  transition-delay: 0.2s;
}
header#header nav a {
  font-weight: 900;
  text-decoration: none;
}
header#header nav .btn-menu {
  z-index: 3;
}
header#header nav .nav-menu {
  display: flex;
  z-index: 2;
  position: relative;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 65.3333333333vw;
  height: 100%;
  gap: 10vw;
  transform: translateX(65.3333333333vw);
  background-color: #D6EEFC;
  font-weight: 700;
  font-size: 3.2vw;
  transition: all ease-in-out 0.24s;
}
header#header nav .nav-menu a {
  padding: 0.4rem 1.4rem;
  line-height: 1;
}
header#header nav .nav-menu .current a {
  border-radius: min(2vw, 1.5rem);
  background-color: #009289;
  color: #fff;
}
header#header nav .overlay {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  transition: all ease-in-out 0.24s;
}
header#header nav.open {
  height: 100svh;
}
header#header nav.open .btn-menu {
  background-color: transparent;
}
header#header nav.open .btn-menu span:nth-of-type(1) {
  transform: rotate(-45deg);
  background-color: #009289;
}
header#header nav.open .btn-menu span:nth-of-type(3) {
  transform: rotate(45deg);
  background-color: #009289;
}
header#header nav.open .btn-menu span:nth-of-type(2) {
  transform: translateX(6px);
  opacity: 0;
}
header#header nav.open .nav-menu {
  transform: translateX(0);
}
header#header nav.open .overlay {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.7);
}
.footer-credits {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}
.footer-credits .inner {
  padding: 5.6vw;
  border-radius: 3.7333333333vw;
  background-color: #fff;
}
.footer-credits .insta {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}
.footer-credits .insta * {
  margin-top: 1.3333333333vw;
}
.footer-credits .title {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: 2.4vw;
  font-weight: 900;
  font-size: 3.7333333333vw;
}
.footer-credits .title:before, .footer-credits .title:after {
  width: 6vw;
  height: 8vw;
  background: url("data:image/png;base64,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") 0 0 no-repeat;
  background-size: cover;
  content: "";
}
.footer-credits .qr {
  width: 16vw;
  height: 16vw;
}
.footer-credits .label {
  font-weight: 700;
  font-size: 3.7333333333vw;
  text-align: center;
}
.footer-credits .label span {
  display: block;
  font-size: 1.8666666667vw;
}
.footer-credits .link {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: 2.4vw;
  font-weight: 700;
  font-size: 2.4vw;
  text-decoration: underline;
}
.footer-credits .link svg {
  width: 3.3866666667vw;
  height: 3.3866666667vw;
  fill: #009289;
}
.footer-credits .banner {
  width: 100%;
  max-width: 570px;
  margin: min(4.8vw, 3.6rem) auto 0;
}
.footer-credits .credits {
  margin-top: 4.8vw;
  font-weight: 700;
  font-size: 2.4vw;
}
.footer-credits .credits.align-center {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.footer-credits .contact {
  display: grid;
  grid-template-columns: auto;
  align-items: flex-start;
  gap: 0.25rem;
}
.footer-credits .contact-label {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.36rem 1rem;
  border-radius: 4px;
  background-color: #71C0DB;
  color: #fff;
  font-size: 0.72em;
  line-height: 1.28;
}
.footer-credits .contact .jimu {
  text-align: left;
}
.footer-credits .contact .mail {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: left;
}
.footer-credits .list {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  margin-top: 4.8vw;
  gap: 2.4vw;
}
.footer-credits .list li {
  width: 15.3333333333vw;
  height: 15.3333333333vw;
}
.footer-credits .list li a {
  display: block;
}
.footer-credits .notes {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  margin-top: 4.8vw;
  padding-top: 4.8vw;
  gap: 3.2vw;
  border-top: 1px solid #663835;
  font-weight: 700;
  font-size: 2.4vw;
}

.footer {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 20vw;
  margin-top: 5.3333333333vw;
  background-color: #009289;
}
.footer .logo {
  width: 35.4666666667vw;
  height: 4.52vw;
}
.footer .logo svg {
  width: 100%;
  height: 100%;
}
.footer .instagram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.6666666667vw;
  height: 6.6666666667vw;
  border-radius: 100%;
  background-color: #fff;
}
.footer .instagram svg {
  width: 50%;
  height: 50%;
  fill: #009289;
}
.footer .small {
  font-size: 1.8666666667vw;
}
.footer .container {
  display: flex;
  position: relative;
  row-gap: 1.3333333333vw;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 4.6666666667vw;
  column-gap: 4.6666666667vw;
}
.footer .btn-top {
  display: flex;
  position: fixed;
  right: 1rem;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  transform: scale(0);
  transform-origin: center;
  border: none;
  opacity: 0;
  transition: all ease-in-out 0.24s;
}
.footer .btn-top .chara {
  z-index: 1;
  position: absolute;
  top: -17.8666666667vw;
  left: 0;
  left: 0.2666666667vw;
  width: 10.6666666667vw;
  height: 20.1333333333vw;
}
.footer .btn-top .main {
  display: flex;
  z-index: 2;
  position: relative;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #fff;
  background-color: #3667B1;
}
.footer .btn-top .img {
  width: 6.6666666667vw;
  height: 6vw;
}
.footer .btn-top.show {
  transform: scale(1);
  opacity: 1;
}
.filter-btn-shadow {
  filter: drop-shadow(0px 3px 0px rgba(97, 54, 32, 0.3));
}

.btn-program {
  -webkit-mask-image: url("../images/clip_navi.svg");
  mask-image: url("../images/clip_navi.svg");
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  mask-repeat: no-repeat;
}
.btn-program img {
  height: auto;
}
.btn-program.asobou {
  background-color: #DC7B48;
}
.btn-program.asobou img {
  width: 77.3076923077%;
}
.btn-program.fureyou {
  background-color: #AC763D;
}
.btn-program.fureyou img {
  width: 78.8461538462%;
}
.btn-program.manabou {
  background-color: #7C5627;
}
.btn-program.manabou img {
  width: 76.1538461538%;
}
.btn-program.stage {
  background-color: #009289;
}
.btn-program.stage img {
  width: 88.4615384615%;
}

.icon-mail {
  aspect-ratio: 2796/2291;
  -webkit-mask-image: url("../images/icon_mail.svg");
  mask-image: url("../images/icon_mail.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  display: inline-block;
  height: min(2.6666666667vw, 2rem);
  background-color: #663835;
  mask-size: contain;
}

.programs-navi {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  -moz-column-gap: min(3.2vw, 1.6363636364%);
  column-gap: min(3.2vw, 1.6363636364%);
  row-gap: 1.3333333333vw;
  margin-top: max(-4.2666666667vw, -3.8rem);
}
.programs-navi .item {
  position: relative;
  width: 100%;
  padding-top: 33.8461538462%;
}
.programs-navi .item .btn-program {
  position: absolute;
  top: 0;
  left: 0;
}
.page-top .kv {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  padding: 5.6vw 0 7.4666666667vw;
  background: url("../images/kv_top.png") top center no-repeat;
  background-size: min(117%, 1374px) auto;
  background-color: #9FD9F7;
  font-weight: 900;
}
.page-top .h1 {
  width: 85.3333333333vw;
  padding-top: 1.56rem;
  padding-bottom: 72vw;
}
.page-top .h1 img {
  filter: drop-shadow(0.5333333333vw 0.5333333333vw 0px rgba(97, 54, 32, 0.3));
}
.page-top .lead {
  display: flex;
  paint-order: stroke;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  -webkit-text-stroke: 5px white;
  margin-top: 2.4rem;
  font-size: 3.7333333333vw;
  line-height: 1.78;
}
.page-top .lead .marker {
  position: relative;
}
.page-top .lead .marker::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background-color: #FFE100;
  content: "";
}
.page-top .info {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
.page-top .info .date {
  display: grid;
  grid-template-columns: min(12.8vw, 7.2rem) 1fr;
  align-items: center;
  font-size: min(4.8vw, 3.6rem);
  -moz-column-gap: 1.26rem;
  column-gap: 1.26rem;
}
.page-top .info .date .label {
  display: flex;
  align-items: center;
  width: min(12.8vw, 7.2rem);
  padding: 0 1rem;
  font-weight: 800;
  font-size: min(3.2vw, 1.8rem);
  line-height: 1.28;
}
.page-top .info .date .dow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(4.8vw, 3.6rem);
  -webkit-text-stroke: 0;
  font-weight: 800;
  font-size: 0.6em;
  line-height: 1;
}
.page-top .info .date .m-d {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  align-items: flex-end;
  justify-content: center;
  gap: 0.36rem;
  line-height: 1;
}
.page-top .info .date .m-d .num {
  font-size: 2em;
}
.page-top .info .date .m-d .dot {
  font-weight: 400;
  font-size: 1.6em;
}
.page-top .info .date .time {
  grid-column: span 2;
  color: #D94383;
  text-align: right;
}
.page-top .info .label, .page-top .info .dow {
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #fff;
  text-align: center;
}
.page-top .info .label {
  background-color: #D94383;
}
.page-top .info .dow {
  background-color: hsl(4, 32%, 30%);
  box-shadow: 0px 0px 0px 3px white;
}
.page-top .info .place {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  margin-top: min(2.4vw, 2rem);
  font-size: min(4.2666666667vw, 3.2rem);
}
.page-top .info .place span.divider {
  width: 100%;
}
.page-top .info .m-d, .page-top .info .time, .page-top .info .place {
  paint-order: stroke;
  -webkit-text-stroke: 5px white;
}
.page-top .event-contents {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin: min(4vw, 2.4rem) 0 min(2.4vw, 2rem);
  gap: min(2.4vw, 2rem);
}
.page-top .event-contents .item {
  padding: min(2.1333333333vw, 1.6rem) min(3.7333333333vw, 2.8rem);
  border-radius: min(3.7333333333vw, 2.8rem);
  background-color: #fff;
  text-align: center;
}
.page-top .event-contents .item .h2 {
  margin-bottom: min(2.1333333333vw, 1.8rem);
  font-weight: 900;
  font-size: min(3.4666666667vw, 2.4rem);
  letter-spacing: -0.05em;
}
.page-top .event-contents .item p {
  font-weight: 600;
  font-size: min(2.6666666667vw, 2rem);
}
.page-default {
  background: url("../images/bg_common.png") top center repeat-y;
  background-size: min(117%, 1374px) auto;
  background-color: #9FD9F7;
}
.page-default .programs-navi {
  padding: 0 min(4.8vw, 7.8rem);
}

.page-header .h1 {
  display: flex;
  position: relative;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1132px;
  height: min(29.8666666667vw, 30.4rem);
  margin: 0 auto;
  overflow: visible;
  font-weight: 900;
  font-size: min(6.9333333333vw, 4.8rem);
  text-align: center;
  text-shadow: 2px 2px 0 #9FD9F7, -2px 2px 0 #9FD9F7, -2px -2px 0 #9FD9F7, 2px -2px 0 #9FD9F7;
}
.page-header .h1 .sub {
  font-size: min(2.8vw, 2.1rem);
}
.page-header .h1:after {
  z-index: -1;
  position: absolute;
  bottom: -3.2vw;
  left: -6.6666666667vw;
  width: 44.9333333333vw;
  padding-top: 28.1818181818%;
  background: url("../images/illust_program.png") left bottom no-repeat;
  background-size: auto 100%;
  content: "";
}

.page-contents {
  margin-bottom: 4.8vw;
  padding: 8.5333333333vw 4.8vw;
  border-radius: min(3.7333333333vw, 2.8rem);
  background-color: #fff;
  font-weight: 600;
  font-size: min(2.9333333333vw, 2.2rem);
}

.programs-navi + .page-contents {
  margin-top: -20vw;
  padding: 14.4vw 4.8vw 10.6666666667vw;
  border-top: solid #E9EB8C 14.4vw;
}

.event-table {
  display: grid;
  grid-template-columns: min(15.4666666667vw, 11.6rem) 1fr;
  row-gap: min(2.4vw, 1.8rem);
  align-items: flex-start;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  font-size: min(2.9333333333vw, 2.2rem);
}
.event-table .label {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-end;
  font-weight: 900;
}
.event-table .label:after {
  content: " ：";
}
.event-table .mail {
  display: block;
}

.notes-text {
  font-weight: 500;
  font-size: min(2.1333333333vw, 1.6rem);
}

.movie-list {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  margin-top: min(9rem, 12vw);
  gap: min(5.6vw, 4.2rem);
}
.movie-list .h3 {
  font-weight: 900;
  font-size: min(4.5333333333vw, 3.4rem);
}
.movie-list .item {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.movie-list .caption {
  margin-top: min(1.6vw, 1.2rem);
  font-size: min(2.4vw, 1.8rem);
}
.movie-list .year {
  font-weight: 900;
  font-size: min(3.4666666667vw, 2.6rem);
}
.movie-list .youtube {
  aspect-ratio: 16/9;
  width: min(546px, 100%);
  margin-top: min(2.6666666667vw, 2rem);
}
.movie-list .youtube iframe {
  width: 100%;
  height: 100%;
}
.programs-list {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  margin-top: min(7.4666666667vw, 5.6rem);
  gap: min(6vw, 4.8rem);
}
.programs-list .item .title {
  margin-bottom: min(2.6666666667vw, 2rem);
  font-weight: 900;
  font-size: min(3.7333333333vw, 2.8rem);
  text-align: center;
}
.programs-list .item .place {
  display: flex;
  row-gap: 2.1333333333vw;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
}

.stage-title {
  display: flex;
  row-gap: 2.6666666667vw;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}
.stage-title img {
  width: 100%;
}
.stage-title .floor {
  width: min(9.7333333333vw, 7.3rem);
  height: min(9.3333333333vw, 7rem);
}
.stage-title .mainfloor {
  width: min(21.0666666667vw, 15.8rem);
  height: min(3.2vw, 2.4rem);
}
.stage-title .mainstage {
  width: min(26.6666666667vw, 20rem);
  height: min(2.92vw, 2.19rem);
}
.stage-title .yasachii {
  width: min(36.8vw, 27.6rem);
  height: min(5.0666666667vw, 3.8rem);
}
.stage-title .hiroba {
  width: min(40vw, 30rem);
  height: min(6.4vw, 4.8rem);
}
.stage-title .teras {
  width: min(42.1333333333vw, 31.6rem);
  height: min(5.96vw, 4.47rem);
}
.stage-title .grand {
  width: min(49.8266666667vw, 37.37rem);
  height: min(6vw, 4.5rem);
}

.stage-lead {
  margin-top: min(2.1333333333vw, 1rem);
  font-weight: 500;
  font-size: min(2.9333333333vw, 2.2rem);
  text-align: center;
}

.stage-timetable {
  position: relative;
  margin-top: min(9.6vw, 8.8rem);
  padding: min(7.4666666667vw, 6.6rem) min(2.6666666667vw, 2rem) min(6.4vw, 4.8rem);
  border-radius: min(1.3333333333vw, 1rem);
  background-color: #E9F0C5;
}
.stage-timetable .date {
  position: absolute;
  top: max(-3.6vw, -2.7rem);
  left: calc(50% - min(13.3333333333vw, 10rem));
  width: min(26.6666666667vw, 20rem);
  padding: min(1.6vw, 1.1rem) 1.5rem;
  border-radius: min(3.3333333333vw, 2.5rem);
  background-color: #009289;
  color: #fff;
  font-weight: 700;
  font-size: min(4.2666666667vw, 3.2rem);
  line-height: 1;
  text-align: center;
}
.stage-timetable .list {
  display: grid;
  grid-template-columns: min(27.2vw, 20.4rem) 1fr;
  row-gap: 0.25em;
  justify-content: center;
  width: min(100%, 580px);
  margin: 0 auto;
  font-weight: 700;
  font-size: min(3.4666666667vw, 2.8rem);
}
.stage-timetable .list .time:after {
  content: "・・・";
  letter-spacing: -0.5em;
}

.program-item {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: min(4.8vw, 3.6rem);
  align-items: flex-start;
  justify-content: center;
  margin-top: min(9.6vw, 7.2rem);
  -moz-column-gap: min(4vw, 3rem);
  column-gap: min(4vw, 3rem);
}
.program-item .provider {
  width: 100%;
  padding: 0.36em 2em;
  border-radius: min(1.3333333333vw, 1rem);
  background-color: #E5DDD4;
  color: #7C5627;
  font-weight: 700;
  font-size: min(3.2vw, 2.4rem);
  line-height: 1;
  text-align: center;
}
.program-item .price {
  margin-bottom: min(2.1333333333vw, 1rem);
}
.program-item .price span {
  color: #009289;
}
.program-item .thumb {
  width: 50.6666666667vw;
  margin: auto;
}
.program-item .detail {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  font-size: min(2.9333333333vw, 2.2rem);
}
.program-item .detail .title {
  margin-bottom: min(2.1333333333vw, 1.6rem);
  color: #009289;
  font-weight: 700;
  font-size: min(4vw, 3rem);
}
.program-item.asobou .provider {
  background-color: #F8E5DA;
  color: #DC7B48;
}
.program-item.asobou .detail .title {
  color: #DC7B48;
}
.program-item.fureyou .provider {
  background-color: #EEE4D8;
  color: #AC763D;
}
.program-item.fureyou .detail .title {
  color: #AC763D;
}
.program-item.manabou .provider {
  background-color: #E5DDD4;
  color: #7C5627;
}
.program-item.manabou .detail .title {
  color: #7C5627;
}
.program-item.stage .provider {
  background-color: #CCE9E7;
  color: #009289;
}
@media (min-width: 769px){
  .container {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
  .btn-base {
    padding: 2.4rem 3.2rem;
    border-radius: 1rem;
  }
  .link-blank::after {
    width: 2.18rem;
    height: 1.7rem;
    margin-left: 1.2rem;
  }
  header#header.scrolled {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.92) 75%);
    transition: all ease-in-out 0.24s;
  }
  header#header .btn-menu {
    display: none;
  }
  header#header nav {
    height: auto;
    padding: 2rem;
  }
  header#header nav .nav-menu {
    flex-flow: row nowrap;
    justify-content: flex-end;
    width: 100%;
    padding-right: 2rem;
    gap: 2rem;
    transform: none;
    background-color: transparent;
    font-size: clamp(1.2rem, 1.6363636364vw, 1.8rem);
  }
  .footer-credits .inner {
    padding: 4.5rem 9rem;
    border-radius: 2.8rem;
  }
  .footer-credits .insta * {
    margin-top: 1rem;
  }
  .footer-credits .title {
    gap: 1.6rem;
    font-size: 2.8rem;
  }
  .footer-credits .title:before, .footer-credits .title:after {
    width: 4.5rem;
    height: 6rem;
  }
  .footer-credits .qr {
    width: 12rem;
    height: 12rem;
  }
  .footer-credits .label {
    font-size: 2.8rem;
  }
  .footer-credits .label span {
    font-size: 1.4rem;
  }
  .footer-credits .link {
    gap: 1.8rem;
    font-size: 1.8rem;
  }
  .footer-credits .link svg {
    width: 2.5rem;
    height: 2.5rem;
  }
  .footer-credits .credits {
    margin-top: 3.6rem;
    font-size: 1.8rem;
  }
  .footer-credits .list {
    margin-top: 3.6rem;
    gap: 1.8rem;
  }
  .footer-credits .list li {
    width: 13.6rem;
    height: 13.6rem;
  }
  .footer-credits .notes {
    margin-top: 3.6rem;
    padding-top: 3.6rem;
    gap: 2.4rem;
    font-size: 1.8rem;
  }
  .footer-credits .notes-list {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
  .footer-credits .contact {
    grid-template-columns: auto 1fr;
    gap: 0 1.28rem;
  }
  .footer-credits .contact .mail {
    grid-column: 2/3;
  }
  .footer {
    height: 11rem;
  }
  .footer .container {
    flex-wrap: nowrap;
    gap: 2rem;
  }
  .footer .logo {
    width: 26.4rem;
    height: 3.39rem;
  }
  .footer .instagram {
    width: 5rem;
    height: 5rem;
  }
  .footer small {
    margin-left: auto;
    font-weight: 800;
    font-size: 1.4rem;
  }
  .footer .btn-top {
    right: 3rem;
    width: 8rem;
    height: 8rem;
  }
  .footer .btn-top .chara {
    top: -13.4rem;
    left: 0;
    width: 8rem;
    height: 15.1rem;
  }
  .footer .btn-top .main {
    border-width: 0.2rem;
  }
  .footer .btn-top .img {
    width: 5.15rem;
    height: 4.65rem;
  }
  .programs-navi {
    grid-template-columns: repeat(4, 1fr);
  }
  .page-top .kv {
    padding: 9rem 1rem;
  }
  .page-top .h1 {
    max-width: 92rem;
    padding-bottom: min(840px, 75%);
  }
  .page-top .h1 img {
    filter: drop-shadow(4px 4px 0px rgba(97, 54, 32, 0.3));
  }
  .page-top .lead {
    width: min(100%, 900px);
    -webkit-text-stroke: 8px white;
    font-size: 2.6rem;
  }
  .page-top .info {
    width: min(100%, 900px);
  }
  .page-top .info .date {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
    text-align: center;
  }
  .page-top .info .date .dow {
    box-shadow: 0px 0px 0px 6px white;
  }
  .page-top .info .date .time {
    margin-left: 1rem;
  }
  .page-top .info .place span.jr {
    margin-right: 3rem;
  }
  .page-top .info .m-d, .page-top .info .time, .page-top .info .place {
    paint-order: stroke;
    -webkit-text-stroke: 10px white;
  }
  .page-top .event-contents {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-header .h1:after {
    bottom: -3.6rem;
    left: -8rem;
    width: max(45rem, 40.9090909091%);
  }
  .page-contents {
    margin-bottom: 5.6rem;
  }
  .programs-navi + .page-contents {
    margin-top: -4rem;
    padding: 6rem 7.8rem 8.8rem;
    border-top-width: 2.8rem;
  }
  .stage-title {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
  }
  .stage-title .floor {
    margin-right: 2rem;
  }
  .stage-title .mainstage, .stage-title .mainfloor, .stage-title .yasachii {
    margin-right: 1rem;
  }
  .program-item {
    grid-template-columns: 33.6842105263% 1fr;
    grid-template-areas: "provider provider" "thumb detail";
  }
  .program-item .provider {
    grid-area: provider;
  }
  .program-item .thumb {
    grid-area: thumb;
    width: 100%;
    margin: 0;
  }
  .program-item .detail {
    grid-area: detail;
    align-items: flex-start;
  }
  .program-item .provider {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .program-item .thumb {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .program-item .detail {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}
@media (hover: hover) and (pointer: fine){
  a:hover {
    filter: brightness(1.2);
    opacity: 0.8;
  }
  .nav-menu a {
    transition: all ease-in-out 0.24s;
  }
  .nav-menu a:hover {
    border-radius: min(2vw, 1.5rem);
    background-color: rgba(0, 146, 137, 0.95);
    color: #fff;
    opacity: 1;
  }
  .btn-top:hover {
    filter: brightness(1.08);
  }
  .btn-program:hover {
    opacity: 1;
  }
  .programs-list .title a {
    padding: 0.5rem 3rem;
    border-radius: min(3.7333333333vw, 2.8rem);
    text-decoration: none;
    transition: all ease-in-out 0.24s;
  }
  .programs-list .title a:hover {
    background-color: rgba(0, 146, 137, 0.95);
    color: #fff;
    opacity: 1;
  }
}