@charset "UTF-8";
body.bunkadenrai-matsuri #ztmy-header,
body.bunkadenrai-matsuri #pcMenu,
body.bunkadenrai-matsuri .ztmy-bottom--nav,
body.bunkadenrai-matsuri .ztmy-pagetop {
  display: none !important;
}
body.bunkadenrai-matsuri article {
  max-width: 100%;
  overflow: visible;
}
body.bunkadenrai-matsuri .ztmy-container {
  padding: 0;
}
body.bunkadenrai-matsuri h1, body.bunkadenrai-matsuri h2, body.bunkadenrai-matsuri h3, body.bunkadenrai-matsuri h4, body.bunkadenrai-matsuri h5, body.bunkadenrai-matsuri h6 {
  font-weight: unset;
}

.bunkadenrai-matsuri {
  background: transparent;
  color: #222222;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  position: relative;
}
.bunkadenrai-matsuri::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
  background: #B0A890;
}
.bunkadenrai-matsuri::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 50;
  pointer-events: none;
  background: url(../img/special/bunkadenrai/maturi/bg_item_overlay.png) top left/min(100vw, 1440px) auto repeat;
  mix-blend-mode: overlay;
  opacity: 0.65;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri::after {
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.bunkadenrai-matsuri .zbm__ttl__line,
.bunkadenrai-matsuri .zbm__map__shika,
.bunkadenrai-matsuri .zbm__kv-kaminari,
.bunkadenrai-matsuri .zbm__kv-kumo,
.bunkadenrai-matsuri .zbm__kv-kumo02,
.bunkadenrai-matsuri .zbm__kv-kumo03,
.bunkadenrai-matsuri .zbm__nav-item-arrow,
.bunkadenrai-matsuri .zbm__nav-uni,
.bunkadenrai-matsuri .zbm__nav-close,
.bunkadenrai-matsuri .zbm__nav-btn span,
.bunkadenrai-matsuri .zbm__spmenu-btn,
.bunkadenrai-matsuri .zbm__sns__link,
.bunkadenrai-matsuri .zbm__btn .grad,
.bunkadenrai-matsuri .zbm__btn .ico {
  font-size: 0;
  line-height: 0;
}
.bunkadenrai-matsuri h1, .bunkadenrai-matsuri h2, .bunkadenrai-matsuri h3 {
  text-align: left;
}
.bunkadenrai-matsuri h1 span, .bunkadenrai-matsuri h2 span, .bunkadenrai-matsuri h3 span {
  background: none;
  color: inherit;
}
.bunkadenrai-matsuri .pc, .bunkadenrai-matsuri .ztmy-pc {
  display: block;
}
.bunkadenrai-matsuri .sp, .bunkadenrai-matsuri .ztmy-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .pc, .bunkadenrai-matsuri .ztmy-pc {
    display: none;
  }
  .bunkadenrai-matsuri .sp, .bunkadenrai-matsuri .ztmy-sp {
    display: block;
  }
}
.bunkadenrai-matsuri br.pc, .bunkadenrai-matsuri br.ztmy-pc {
  display: inline;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri br.pc, .bunkadenrai-matsuri br.ztmy-pc {
    display: none;
  }
  .bunkadenrai-matsuri br.sp, .bunkadenrai-matsuri br.ztmy-sp {
    display: inline;
  }
}
.bunkadenrai-matsuri img {
  max-width: 100%;
}
.bunkadenrai-matsuri h1, .bunkadenrai-matsuri h2, .bunkadenrai-matsuri h3, .bunkadenrai-matsuri h4, .bunkadenrai-matsuri h5, .bunkadenrai-matsuri h6,
.bunkadenrai-matsuri p, .bunkadenrai-matsuri ul, .bunkadenrai-matsuri ol, .bunkadenrai-matsuri dl, .bunkadenrai-matsuri dd, .bunkadenrai-matsuri figure {
  margin: 0;
  padding: 0;
}
.bunkadenrai-matsuri ul, .bunkadenrai-matsuri ol {
  list-style: none;
}
.bunkadenrai-matsuri .zbm__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: min(76.25vw, 1098px);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__inner {
    max-width: 100%;
    padding: 0 5.0890585242vw;
  }
}
.bunkadenrai-matsuri .zbm__grid-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: min(94.7916666667vw, 1365px);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__grid-inner {
    max-width: 100%;
    padding: 0 5.0890585242vw;
  }
}
.bunkadenrai-matsuri .zbm__ttl {
  font-size: 0;
  display: flex;
  align-items: center;
  gap: min(1.3194444444vw, 19px);
  margin: 0;
  height: min(4.2361111111vw, 61px);
  color: #222222;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.0356234097vw;
    height: auto;
  }
}
.bunkadenrai-matsuri .zbm__ttl__en {
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(5.5555555556vw, 80px);
  line-height: min(4.2361111111vw, 61px);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__ttl__en {
    font-size: 10.1781170483vw;
    line-height: 8.6513994911vw;
  }
}
.bunkadenrai-matsuri .zbm__ttl__line {
  flex: 0 0 auto;
  width: 1px;
  height: min(4.1666666667vw, 60px);
  background: currentColor;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__ttl__line {
    display: none;
  }
}
.bunkadenrai-matsuri .zbm__ttl__ja {
  position: relative;
  top: min(0.1388888889vw, 2px);
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(0.8333333333vw, 12px);
  line-height: min(1.5277777778vw, 22px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__ttl__ja {
    top: 0;
    font-size: 2.7989821883vw;
    line-height: 1.8;
  }
}
.bunkadenrai-matsuri .zbm__ttl--wh {
  color: #F6F5F3;
}
.bunkadenrai-matsuri .zbm__kv {
  position: relative;
  height: min(26.5972222222vw, 383px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv {
    height: 65.6488549618vw;
  }
}
.bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-sky {
  position: fixed;
  top: max(-18.0555555556vw, -260px);
  z-index: 8898;
}
.bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-bar {
  position: fixed;
  top: 0;
  height: min(9.7222222222vw, 140px);
}
.bunkadenrai-matsuri .zbm__kv.is-navfixed::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: min(9.7222222222vw, 140px);
  z-index: 8899;
  pointer-events: none;
  background: url(../img/special/bunkadenrai/maturi/bg_item_overlay.png) top left/min(100vw, 1440px) auto repeat;
  mix-blend-mode: overlay;
  opacity: 0.65;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-sky {
    display: none;
  }
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-bar {
    position: fixed;
    top: 0;
    height: 23.9185750636vw;
  }
  .bunkadenrai-matsuri .zbm__kv.is-navfixed::after {
    content: none;
  }
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-bar {
    animation: zbmBarIn 0.4s ease;
  }
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-nav {
    top: 4.5801526718vw;
    padding: 0 3.0534351145vw 0 82px;
    gap: 1.5267175573vw 1.5267175573vw;
  }
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-nav-item {
    flex: 0 0 calc((100% - 3.0534351145vw) / 3);
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 6.6157760814vw;
    padding: 0.7633587786vw 0.5089058524vw;
    font-size: 2.5445292621vw;
    line-height: 1.2;
    text-align: center;
  }
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-nav-item[href="#workshop"],
  .bunkadenrai-matsuri .zbm__kv.is-navfixed .zbm__kv-nav-item[href="#sidestage"] {
    flex-basis: calc((100% - 1.5267175573vw) / 2);
    white-space: nowrap;
  }
}
.bunkadenrai-matsuri .zbm__kv-sky {
  position: absolute;
  top: max(-2.2222222222vw, -32px);
  left: 0;
  width: 100%;
  max-width: none;
  height: min(27.7777777778vw, 400px);
  display: block;
  pointer-events: none;
  content: url(../img/special/bunkadenrai/maturi/kv_sky.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-sky {
    top: -5.0890585242vw;
    left: 0;
    width: 100%;
    height: 70.737913486vw;
    content: url(../img/special/bunkadenrai/maturi/kv_sky_sp.png);
  }
}
.bunkadenrai-matsuri .zbm__kv-ttl {
  position: absolute;
  top: min(3.8194444444vw, 55px);
  left: calc(50% + max(-20.6944444444vw, -298px));
  width: min(44.0277777778vw, 634px);
  z-index: 3;
}
.bunkadenrai-matsuri .zbm__kv-ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-ttl {
    top: 18.8295165394vw;
    left: 50%;
    transform: translateX(-50%);
    width: 63.6132315522vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-uni {
  position: absolute;
  top: min(6.6666666667vw, 96px);
  left: calc(50% + min(21.6666666667vw, 312px));
  width: min(7.0138888889vw, 101px);
  z-index: 3;
}
.bunkadenrai-matsuri .zbm__kv-uni img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-uni {
    top: 21.8829516539vw;
    left: 2.0356234097vw;
    right: auto;
    width: 14.7582697201vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-kumo {
  position: absolute;
  top: min(11.7361111111vw, 169px);
  left: calc(50% + min(20.7638888889vw, 299px));
  width: min(8.3333333333vw, 120px);
  height: min(1.1111111111vw, 16px);
  z-index: 3;
  background: url(../img/special/bunkadenrai/maturi/kazari_kumo_kv.svg) no-repeat center/100% 100%;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-kumo {
    top: 32.5699745547vw;
    left: 0;
    right: auto;
    width: 19.8473282443vw;
    height: 2.5445292621vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-kumo02, .bunkadenrai-matsuri .zbm__kv-kumo03 {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.bunkadenrai-matsuri .zbm__kv-kumo02 {
  top: min(11.8402777778vw, 170.5px);
  left: calc(50% + max(-20vw, -288px));
  width: min(3.1944444444vw, 46px);
  height: min(0.8333333333vw, 12px);
  background-image: url(../img/special/bunkadenrai/maturi/kazari_kumo_kv02.svg);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-kumo02 {
    top: 11.1959287532vw;
    left: 63.6132315522vw;
    width: 7.6335877863vw;
    height: 2.0356234097vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-kumo03 {
  top: min(13.0208333333vw, 187.5px);
  left: calc(50% + max(-24.5833333333vw, -354px));
  width: min(4.8611111111vw, 70px);
  height: min(0.9027777778vw, 13px);
  background-image: url(../img/special/bunkadenrai/maturi/kazari_kumo_kv03.svg);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-kumo03 {
    top: 14.2493638677vw;
    left: 73.2824427481vw;
    width: 11.7048346056vw;
    height: 2.2900763359vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-kaminari {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.bunkadenrai-matsuri .zbm__kv-kaminari--01 {
  top: 0;
  left: min(10.6vw, 152.64px);
  width: min(16.25vw, 234px);
  height: min(14.8611111111vw, 214px);
  background-image: url(../img/special/bunkadenrai/maturi/kazari_kaminari01.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-kaminari--01 {
    top: -6.106870229vw;
    left: 18.320610687vw;
    width: 28.4987277354vw;
    height: 24.427480916vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-kaminari--02 {
  top: min(12.6551388889vw, 182.234px);
  right: 0;
  width: min(9.0972222222vw, 131px);
  height: min(17.9166666667vw, 258px);
  background-image: url(../img/special/bunkadenrai/maturi/kazari_kaminari02.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-kaminari--02 {
    top: 24.427480916vw;
    width: 18.8295165394vw;
    height: 37.1501272265vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-bar {
  position: absolute;
  top: min(15.8333333333vw, 228px);
  left: 0;
  width: 100%;
  height: min(10.7638888889vw, 155px);
  z-index: 8900;
  overflow: hidden;
  background: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-bar {
    top: 27.989821883vw;
    height: 35.1145038168vw;
  }
}
.bunkadenrai-matsuri .zbm__kv-nav {
  position: absolute;
  z-index: 2;
  top: min(3.3333333333vw, 36px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: min(2.0138888889vw, 29px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-nav {
    top: 11.7048346056vw;
    width: 100%;
    transform: translateX(-50%);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5267175573vw;
    padding: 0 3.5623409669vw;
    box-sizing: border-box;
  }
}
.bunkadenrai-matsuri .zbm__kv-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(14.9305555556vw, 215px);
  height: min(2.9861111111vw, 43px);
  border: min(0.1388888889vw, 2px) solid #513D83;
  background: #D9D8D0;
  color: #513D83;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.25vw, 18px);
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-nav-item {
    flex: 0 0 calc((100% - 3.0534351145vw) / 3);
    width: auto;
    min-width: 0;
    height: 7.6335877863vw;
    padding: 0 1.0178117048vw;
    border-width: 1px;
    font-size: 2.2900763359vw;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .bunkadenrai-matsuri .zbm__kv-nav-item[href="#workshop"], .bunkadenrai-matsuri .zbm__kv-nav-item[href="#sidestage"] {
    order: 1;
  }
}
.bunkadenrai-matsuri .zbm__kv-nav-item::before {
  content: "";
  position: absolute;
  top: min(0.2083333333vw, 3px);
  right: min(0.2083333333vw, 3px);
  bottom: min(0.2083333333vw, 3px);
  left: min(0.2083333333vw, 3px);
  border: 1px solid currentColor;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__kv-nav-item::before {
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
  }
}
.bunkadenrai-matsuri .zbm__kv-nav-item.is-current, .bunkadenrai-matsuri .zbm__kv-nav-item:hover {
  background: #513D83;
  color: #D9D8D0;
}
.bunkadenrai-matsuri .zbm__sec {
  position: relative;
  margin-top: max(-4.1666666667vw, -60px);
  padding-top: min(5vw, 72px);
  border-radius: min(2.9166666667vw, 42px) min(2.9166666667vw, 42px) 0 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__sec {
    margin-top: -7.6335877863vw;
    padding-top: 11.7048346056vw;
    border-radius: 5.0890585242vw 5.0890585242vw 0 0;
  }
}
.bunkadenrai-matsuri .zbm__sec > .zbm__inner,
.bunkadenrai-matsuri .zbm__sec > .zbm__grid-inner {
  position: relative;
  z-index: 60;
}
.bunkadenrai-matsuri .zbm__card {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: min(1.1805555556vw, 17px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card {
    padding: 3.0534351145vw;
  }
}
.bunkadenrai-matsuri .zbm__card {
  background: #CFC7AF;
  color: #222222;
  text-align: left;
}
.bunkadenrai-matsuri .zbm__card__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}
.bunkadenrai-matsuri .zbm__card > *:not(.zbm__card__frame) {
  position: relative;
  z-index: 1;
}
.bunkadenrai-matsuri .zbm__card__thumb {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 232/225;
  background: transparent;
  overflow: hidden;
}
.bunkadenrai-matsuri .zbm__card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.bunkadenrai-matsuri .zbm__card__slider {
  position: absolute;
  inset: 0;
  overflow: hidden;
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.bunkadenrai-matsuri .zbm__card__slider.is-dragging {
  cursor: grabbing;
}
.bunkadenrai-matsuri .zbm__card__track {
  display: flex;
  height: 100%;
  will-change: transform;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bunkadenrai-matsuri .zbm__card__track.is-nosnap {
  transition: none;
}
.bunkadenrai-matsuri .zbm__card__track img {
  flex: 0 0 100%;
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}
.bunkadenrai-matsuri .zbm__card__thumb.is-fill img, .bunkadenrai-matsuri .zbm__card.is-fill .zbm__card__thumb img {
  object-fit: cover;
}
.bunkadenrai-matsuri .zbm__card__brand {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: min(0.3472222222vw, 5px);
  margin-top: min(0.9722222222vw, 14px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: min(0.6944444444vw, 10px);
  line-height: 1;
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.bunkadenrai-matsuri .zbm__card__brand::after {
  content: "";
  flex: 0 0 auto;
  width: min(0.625vw, 9px);
  height: min(0.625vw, 9px);
  background-color: currentColor;
  -webkit-mask: url(../img/special/bunkadenrai/maturi/ico_link.svg) no-repeat center/contain;
  mask: url(../img/special/bunkadenrai/maturi/ico_link.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card__brand::after {
    width: 2.2900763359vw;
    height: 2.2900763359vw;
  }
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card__brand {
    margin-top: 3.0534351145vw;
    font-size: 2.5445292621vw;
    gap: 1.272264631vw;
  }
}
.bunkadenrai-matsuri .zbm__card span.zbm__card__brand::after {
  content: none;
}
.bunkadenrai-matsuri .zbm__card a.zbm__card__brand:hover {
  color: #513D83;
}
.bunkadenrai-matsuri .zbm__card__name {
  margin-top: min(0.625vw, 9px);
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card__name {
    margin-top: 2.0356234097vw;
    font-size: 3.0534351145vw;
  }
}
.bunkadenrai-matsuri .zbm__card__desc {
  margin-top: min(0.5555555556vw, 8px);
  padding-right: min(0.4166666667vw, 6px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.7638888889vw, 11px);
  line-height: min(1.25vw, 18px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card__desc {
    margin-top: 2.0356234097vw;
    font-size: 2.5445292621vw;
    line-height: 4.0712468193vw;
  }
}
.bunkadenrai-matsuri .zbm__card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  box-sizing: border-box;
  margin-top: auto;
  margin-right: min(0.4166666667vw, 6px);
  padding: min(0.8333333333vw, 12px) 0 0;
  width: min(8.8888888889vw, 128px);
  height: min(1.5277777778vw, 22px);
  padding: 0;
  background: #D9D8D0;
  border: 1px solid #222222;
  border-radius: 30px;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1;
  color: #222222;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease;
}
.bunkadenrai-matsuri .zbm__card__btn:hover {
  background: #513D83;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card__btn {
    align-self: stretch;
    width: 100%;
    height: 6.6157760814vw;
    margin-right: 0;
    margin-top: 3.0534351145vw;
    font-size: 2.7989821883vw;
  }
}
.bunkadenrai-matsuri .zbm__card.new::before, .bunkadenrai-matsuri .zbm__card.meikou::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: max(-1.7361111111vw, -25px);
  left: max(-1.8055555556vw, -26px);
  width: min(4.6527777778vw, 67px);
  height: min(4.7222222222vw, 68px);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__card.new::before, .bunkadenrai-matsuri .zbm__card.meikou::before {
    top: -4.5801526718vw;
    left: -4.5801526718vw;
    width: 12.213740458vw;
    height: 12.4681933842vw;
  }
}
.bunkadenrai-matsuri .zbm__card.new::before {
  background-image: url(../img/special/bunkadenrai/maturi/kazari_badge_new.svg);
}
.bunkadenrai-matsuri .zbm__card.meikou::before {
  background-image: url(../img/special/bunkadenrai/maturi/kazari_badge_meikou.svg);
}
.bunkadenrai-matsuri .zbm__card.meikou {
  background-color: #222222;
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url(../img/special/bunkadenrai/maturi/meikou_bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #ffffff;
}
.bunkadenrai-matsuri .zbm__card.meikou .zbm__card__name {
  color: #B49D4F;
}
.bunkadenrai-matsuri .zbm__card.meikou a.zbm__card__brand:hover {
  color: #7B6D99;
}
.bunkadenrai-matsuri .zbm__map .zbm__ttl__ja {
  top: min(0.0694444444vw, 1px);
  font-size: min(0.9722222222vw, 14px);
  line-height: min(1.9444444444vw, 28px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map .zbm__ttl__ja {
    top: 0;
    font-size: 3.0534351145vw;
    line-height: 1.7;
  }
}
.bunkadenrai-matsuri .zbm__map > .zbm__inner {
  position: relative;
  z-index: 60;
}
.bunkadenrai-matsuri .zbm__map,
.bunkadenrai-matsuri .zbm__sec {
  scroll-margin-top: min(9.7222222222vw, 140px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map,
  .bunkadenrai-matsuri .zbm__sec {
    scroll-margin-top: 25.4452926209vw;
  }
}
.bunkadenrai-matsuri .zbm__map {
  position: relative;
  padding: min(5.2777777778vw, 76px) 0 min(6.9444444444vw, 100px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map {
    padding: 7.6335877863vw 0 200px;
  }
}
.bunkadenrai-matsuri .zbm__map__body {
  position: relative;
  margin-top: min(5.1388888889vw, 74px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__body {
    margin-top: 7.6335877863vw;
  }
}
.bunkadenrai-matsuri .zbm__map__area {
  position: absolute;
  display: block;
  z-index: 2;
  font-size: 0;
  line-height: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.bunkadenrai-matsuri .zbm__map__area::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  filter: saturate(2.4) brightness(0.78);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  animation: zbm-map-pulse 1.8s ease-in-out infinite;
}
.bunkadenrai-matsuri .zbm__map__area:hover::after {
  animation: none;
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .bunkadenrai-matsuri .zbm__map__area::after {
    animation: none;
  }
}
.bunkadenrai-matsuri .zbm__map__area--workshop {
  left: 21.5%;
  top: 1.536%;
  width: 22.071%;
  height: 72.829%;
  background-image: url(../img/special/bunkadenrai/maturi/map_workshop.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__area--workshop {
    left: 9.73%;
    top: 1.448%;
    width: 29.134%;
    height: 72.518%;
  }
}
.bunkadenrai-matsuri .zbm__map__area--stage {
  left: 51.5%;
  top: 17.281%;
  width: 20.327%;
  height: 29.717%;
  background-image: url(../img/special/bunkadenrai/maturi/map_side-stage.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__area--stage {
    left: 49.33%;
    top: 17.126%;
    width: 26.832%;
    height: 29.59%;
  }
}
.bunkadenrai-matsuri .zbm__map__area--collab {
  left: 55.25%;
  top: 62.212%;
  width: 6.158%;
  height: 9.459%;
  background-image: url(../img/special/bunkadenrai/maturi/map_collab-goods.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__area--collab {
    left: 55.28%;
    top: 61.54%;
    width: 8.129%;
    height: 9.419%;
  }
}
.bunkadenrai-matsuri .zbm__map__area--food {
  left: 69.75%;
  top: 30.722%;
  width: 5.232%;
  height: 48.05%;
  background-image: url(../img/special/bunkadenrai/maturi/map_food.png);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__area--food {
    left: 73.42%;
    top: 30.51%;
    width: 6.906%;
    height: 47.845%;
  }
}
@keyframes zbm-map-pulse {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
.bunkadenrai-matsuri .zbm__map__img {
  position: relative;
  z-index: 60;
  width: min(63.8888888889vw, 920px);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__img {
    width: calc(100% - 10.1781170483vw);
  }
}
.bunkadenrai-matsuri .zbm__map__img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__img img {
    content: url(../img/special/bunkadenrai/maturi/map_heijyoukyo_sp.jpg);
  }
}
.bunkadenrai-matsuri .zbm__map__info {
  position: relative;
  z-index: 60;
  box-sizing: border-box;
  width: min(63.8888888889vw, 920px);
  max-width: calc(100% - min(2.7777777778vw, 40px));
  margin: min(2.0833333333vw, 30px) auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__info {
    width: calc(100% - 10.1781170483vw);
    max-width: none;
    margin-top: 5.0890585242vw;
    text-align: left;
  }
}
.bunkadenrai-matsuri .zbm__map__info-ttl {
  margin: 0 0 min(1.25vw, 18px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: min(1.6666666667vw, 24px);
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__info-ttl {
    margin-bottom: 3.5623409669vw;
    font-size: 4.5801526718vw;
    text-align: left;
  }
}
.bunkadenrai-matsuri .zbm__map__info-text {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.0416666667vw, 15px);
  line-height: 1.9;
}
.bunkadenrai-matsuri .zbm__map__info-text + .zbm__map__info-text {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__info-text {
    font-size: 3.0534351145vw;
    line-height: 1.8;
  }
}
.bunkadenrai-matsuri .zbm__map__access {
  position: relative;
  z-index: 60;
  display: flex;
  justify-content: center;
  margin-top: min(2.5vw, 36px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__access {
    margin-top: 5.5979643766vw;
  }
}
.bunkadenrai-matsuri .zbm__map__access-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: min(3.6111111111vw, 52px);
  padding: min(0.6944444444vw, 10px) min(3.75vw, 54px);
  border: min(0.1388888889vw, 2px) solid #513D83;
  background: #D9D8D0;
  color: #513D83;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.25vw, 18px);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bunkadenrai-matsuri .zbm__map__access-btn::before {
  content: "";
  position: absolute;
  top: min(0.2083333333vw, 3px);
  right: min(0.2083333333vw, 3px);
  bottom: min(0.2083333333vw, 3px);
  left: min(0.2083333333vw, 3px);
  border: 1px solid currentColor;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__access-btn::before {
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
  }
}
.bunkadenrai-matsuri .zbm__map__access-btn:hover {
  background: #513D83;
  color: #D9D8D0;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__access-btn {
    min-height: 10.6870229008vw;
    padding: 2.5445292621vw 10.1781170483vw;
    border-width: 1px;
    font-size: 3.5623409669vw;
  }
}
.bunkadenrai-matsuri .zbm__map__shika {
  position: absolute;
  z-index: 3;
  top: min(44.375vw, 639px);
  left: 0;
  right: auto;
  margin-left: 0;
  width: min(38.8888888889vw, 560px);
  height: min(28.6805555556vw, 413px);
  background: url(../img/special/bunkadenrai/maturi/kazari_shika.svg) no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__map__shika {
    top: 146.0559796438vw;
    left: 0;
    right: auto;
    margin-left: 0;
    width: 69.9745547074vw;
    height: 51.6539440204vw;
  }
}
.bunkadenrai-matsuri .zbm__collab .zbm__sec__deco {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  font-size: 0;
  line-height: 0;
  background-repeat: no-repeat;
  background-image: url(../img/special/bunkadenrai/maturi/deco_kumo_collab.svg);
  background-position: left max(-22.0833333333vw, -318px) bottom max(-0.0347222222vw, -0.5px);
  background-size: min(53.0555555556vw, 764px) min(10.5902777778vw, 152.5px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__collab .zbm__sec__deco {
    background-position: left -44.5292620865vw bottom 0;
    background-size: 106.8702290076vw 21.3740458015vw;
  }
}
.bunkadenrai-matsuri .zbm__collab {
  background: #728D62;
  padding-bottom: min(12.7083333333vw, 183px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__collab {
    padding-bottom: 17.8117048346vw;
  }
}
.bunkadenrai-matsuri .zbm__food .zbm__sec__deco {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  font-size: 0;
  line-height: 0;
  background-repeat: no-repeat;
  background-image: url(../img/special/bunkadenrai/maturi/deco_stage_r.svg), url(../img/special/bunkadenrai/maturi/deco_stage_l.svg), url(../img/special/bunkadenrai/maturi/deco_work_l.svg), url(../img/special/bunkadenrai/maturi/deco_food_r.svg);
  background-position: right max(-9.1388888889vw, -131.6px) bottom min(2.0486111111vw, 29.5px), left 0 bottom max(-16.1111111111vw, -232px), left 0 top min(3.125vw, 45px), right 0 top max(-28.0555555556vw, -404px);
  background-size: min(37.6111111111vw, 541.6px) min(10.0347222222vw, 144.5px), min(29.4444444444vw, 424px) min(25vw, 360px), min(22.8472222222vw, 329px) min(18.4027777778vw, 265px), min(37.7777777778vw, 544px) min(34.9305555556vw, 503px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food .zbm__sec__deco {
    background-position: right -18.320610687vw bottom 4.0712468193vw, left 0 bottom -32.5699745547vw, left 0 top 6.3613231552vw, right 0 top -56.4885496183vw;
    background-size: 75.8269720102vw 20.3562340967vw, 59.2875318066vw 50.3816793893vw, 46.0559796438vw 37.1501272265vw, 76.0814249364vw 70.4834605598vw;
  }
}
.bunkadenrai-matsuri .zbm__food {
  background: #9D8787;
  padding-bottom: min(12.7083333333vw, 183px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food {
    padding-bottom: 17.8117048346vw;
  }
}
.bunkadenrai-matsuri .zbm__workshop .zbm__ttl__ja {
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop .zbm__ttl__ja {
    white-space: normal;
  }
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop .zbm__ttl__en {
    font-size: 7.6335877863vw;
    white-space: normal;
  }
}
.bunkadenrai-matsuri .zbm__workshop > .zbm__inner {
  max-width: min(87.2222222222vw, 1256px);
  margin-left: min(3.8194444444vw, 55px);
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop > .zbm__inner {
    max-width: 100%;
    margin-left: 0;
  }
}
.bunkadenrai-matsuri .zbm__workshop .zbm__sec__deco {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  font-size: 0;
  line-height: 0;
  background-repeat: no-repeat;
  background-image: url(../img/special/bunkadenrai/maturi/deco_food_r.svg), url(../img/special/bunkadenrai/maturi/deco_kumo_collab.svg);
  background-position: right 0 bottom max(-2.7083333333vw, -39px), left max(-22.0833333333vw, -318px) top max(-6.3888888889vw, -92px);
  background-size: min(37.7777777778vw, 544px) min(34.9305555556vw, 503px), min(53.0555555556vw, 764px) min(10.5902777778vw, 152.5px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop .zbm__sec__deco {
    background-position: right 0 bottom -5.5979643766vw, left -44.5292620865vw top -12.9770992366vw;
    background-size: 76.0814249364vw 70.4834605598vw, 106.8702290076vw 21.3740458015vw;
  }
}
.bunkadenrai-matsuri .zbm__workshop {
  background: #879D99;
  padding-bottom: min(15.4861111111vw, 223px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop {
    padding-bottom: 17.8117048346vw;
  }
}
.bunkadenrai-matsuri .zbm__howto {
  display: none;
  justify-content: center;
  margin-top: min(3.0555555556vw, 44px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__howto {
    margin-top: 6.6157760814vw;
  }
}
.bunkadenrai-matsuri .zbm__howto.is-ready {
  display: flex;
}
.bunkadenrai-matsuri .zbm__howto.is-ready + .zbm__grid-inner .zbm__workshop-list {
  margin-top: min(2.7777777778vw, 40px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__howto.is-ready + .zbm__grid-inner .zbm__workshop-list {
    margin-top: 5.5979643766vw;
  }
}
.bunkadenrai-matsuri .zbm__howto__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: min(3.6111111111vw, 52px);
  padding: min(0.6944444444vw, 10px) min(3.0555555556vw, 44px);
  border: min(0.1388888889vw, 2px) solid #513D83;
  background: #D9D8D0;
  color: #513D83;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.25vw, 18px);
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bunkadenrai-matsuri .zbm__howto__btn::before {
  content: "";
  position: absolute;
  top: min(0.2083333333vw, 3px);
  right: min(0.2083333333vw, 3px);
  bottom: min(0.2083333333vw, 3px);
  left: min(0.2083333333vw, 3px);
  border: 1px solid currentColor;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__howto__btn::before {
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
  }
}
.bunkadenrai-matsuri .zbm__howto__btn:hover {
  background: #513D83;
  color: #D9D8D0;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__howto__btn {
    width: 100%;
    min-height: 11.7048346056vw;
    padding: 2.5445292621vw 4.0712468193vw;
    border-width: 1px;
    font-size: 3.5623409669vw;
  }
}
.bunkadenrai-matsuri .zbm__modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(2.7777777778vw, 40px) min(1.3888888889vw, 20px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal {
    padding: 5.0890585242vw 4.0712468193vw;
  }
}
.bunkadenrai-matsuri .zbm__modal.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0s linear 0s;
}
.bunkadenrai-matsuri .zbm__modal__veil {
  position: absolute;
  inset: 0;
  display: block;
  background: rgba(34, 34, 34, 0.72);
  font-size: 0;
  text-indent: -9999px;
  cursor: pointer;
}
.bunkadenrai-matsuri .zbm__modal__panel {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: min(59.7222222222vw, 860px);
  max-width: 100%;
  max-height: calc(100vh - min(5.5555555556vw, 80px));
  padding: min(4.5833333333vw, 66px) min(2.0833333333vw, 30px) min(3.75vw, 54px) min(3.8888888889vw, 56px);
  border-radius: min(1.3888888889vw, 20px);
  color: #2E2A20;
  background-color: #D7D0BA;
  background-image: radial-gradient(120% 100% at 50% 50%, rgba(122, 101, 65, 0) 55%, rgba(122, 101, 65, 0.18) 100%);
  transform: translateY(min(0.8333333333vw, 12px));
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__panel {
    width: 100%;
    max-height: calc(100vh - 10.1781170483vw);
    padding: 13.2315521628vw 3.5623409669vw 9.1603053435vw 5.5979643766vw;
    border-radius: 3.5623409669vw;
    transform: translateY(2.5445292621vw);
  }
}
.bunkadenrai-matsuri .zbm__modal__panel::before {
  content: "";
  position: absolute;
  inset: min(1.25vw, 18px);
  border: 1px solid rgba(91, 76, 49, 0.4);
  border-radius: min(0.5555555556vw, 8px);
  outline: 1px solid rgba(91, 76, 49, 0.4);
  outline-offset: min(0.2777777778vw, 4px);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__panel::before {
    inset: 2.7989821883vw;
    border-radius: 1.5267175573vw;
    outline-offset: 0.7633587786vw;
  }
}
.bunkadenrai-matsuri .zbm__modal.is-open .zbm__modal__panel {
  transform: translateY(0);
}
.bunkadenrai-matsuri .zbm__modal__close {
  position: absolute;
  top: min(1.8055555556vw, 26px);
  right: min(1.9444444444vw, 28px);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(2.3611111111vw, 34px);
  height: min(2.3611111111vw, 34px);
  border: 1px solid rgba(91, 76, 49, 0.5);
  border-radius: 50%;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(1.25vw, 18px);
  line-height: 1;
  color: #2E2A20;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bunkadenrai-matsuri .zbm__modal__close:hover {
  background: #2E2A20;
  color: #D7D0BA;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__close {
    top: 4.0712468193vw;
    right: 4.0712468193vw;
    width: 7.1246819338vw;
    height: 7.1246819338vw;
    font-size: 3.5623409669vw;
  }
}
.bunkadenrai-matsuri .zbm__modal__body {
  position: relative;
  z-index: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: min(1.8055555556vw, 26px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__body {
    padding-right: 2.0356234097vw;
  }
}
.bunkadenrai-matsuri .zbm__modal__body {
  scrollbar-width: thin;
  scrollbar-color: rgba(91, 76, 49, 0.45) rgba(91, 76, 49, 0.12);
}
.bunkadenrai-matsuri .zbm__modal__body::-webkit-scrollbar {
  width: 6px;
}
.bunkadenrai-matsuri .zbm__modal__body::-webkit-scrollbar-track {
  background: rgba(91, 76, 49, 0.12);
  border-radius: 3px;
}
.bunkadenrai-matsuri .zbm__modal__body::-webkit-scrollbar-thumb {
  background: rgba(91, 76, 49, 0.45);
  border-radius: 3px;
}
.bunkadenrai-matsuri .zbm__modal__ttl {
  margin: 0 min(2.7777777778vw, 40px) 0 0;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(1.6666666667vw, 24px);
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__ttl {
    margin-right: 6.106870229vw;
    font-size: 4.3256997455vw;
  }
}
.bunkadenrai-matsuri .zbm__modal__lead {
  margin: min(1.6666666667vw, 24px) 0 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__lead {
    margin-top: 4.5801526718vw;
    font-size: 3.0534351145vw;
    line-height: 1.8;
  }
}
.bunkadenrai-matsuri .zbm__modal__time {
  margin: min(1.5277777778vw, 22px) 0 0;
  padding: min(1.1111111111vw, 16px) min(1.3888888889vw, 20px);
  border: 1px solid rgba(91, 76, 49, 0.45);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: min(1.0416666667vw, 15px);
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__time {
    margin-top: 4.0712468193vw;
    padding: 3.0534351145vw 3.0534351145vw;
    font-size: 3.0534351145vw;
    line-height: 1.8;
  }
}
.bunkadenrai-matsuri .zbm__modal__sub {
  margin: min(2.0833333333vw, 30px) 0 0;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__sub {
    margin-top: 5.5979643766vw;
    font-size: 3.3078880407vw;
  }
}
.bunkadenrai-matsuri .zbm__modal__list {
  margin: min(0.8333333333vw, 12px) 0 0;
  padding: 0;
  list-style: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.9027777778vw, 13px);
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__list {
    margin-top: 2.5445292621vw;
    font-size: 2.7989821883vw;
    line-height: 1.8;
  }
}
.bunkadenrai-matsuri .zbm__modal__list li {
  position: relative;
  padding-left: 1em;
}
.bunkadenrai-matsuri .zbm__modal__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.bunkadenrai-matsuri .zbm__modal__list li + li {
  margin-top: min(0.4166666667vw, 6px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__modal__list li + li {
    margin-top: 1.272264631vw;
  }
}
.bunkadenrai-matsuri .zbm__stage .zbm__sec__deco {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  font-size: 0;
  line-height: 0;
  background-repeat: no-repeat;
  background-image: url(../img/special/bunkadenrai/maturi/deco_stage_r.svg), url(../img/special/bunkadenrai/maturi/deco_stage_l.svg);
  background-position: right max(-9.1388888889vw, -131.6px) top max(-7.9166666667vw, -114px), left 0 top max(-4.7222222222vw, -68px);
  background-size: min(37.6111111111vw, 541.6px) min(10.0347222222vw, 144.5px), min(29.4444444444vw, 424px) min(25vw, 360px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage .zbm__sec__deco {
    background-position: right -18.320610687vw top -16.0305343511vw, left 0 top -9.4147582697vw;
    background-size: 75.8269720102vw 20.3562340967vw, 59.2875318066vw 50.3816793893vw;
  }
}
.bunkadenrai-matsuri .zbm__stage {
  background: #92879D;
  padding-bottom: min(7.6388888889vw, 110px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage {
    padding-bottom: 15.2671755725vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__list {
  display: flex;
  justify-content: center;
  gap: min(1.25vw, 18px);
  margin-top: min(5.6944444444vw, 82px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__list {
    flex-direction: column;
    gap: 5.0890585242vw;
    margin-top: 10.1781170483vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__info {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: min(4.1666666667vw, 60px) min(4.4444444444vw, 64px);
  border-radius: min(1.3888888889vw, 20px);
  color: #2E2A20;
  background-color: #D7D0BA;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(91, 76, 49, 0.22) 31px, rgba(91, 76, 49, 0.22) 32px), radial-gradient(120% 100% at 50% 50%, rgba(122, 101, 65, 0) 55%, rgba(122, 101, 65, 0.18) 100%);
  background-repeat: repeat, no-repeat;
  background-origin: content-box, padding-box;
  background-clip: content-box, border-box;
}
.bunkadenrai-matsuri .zbm__stage__info::before {
  content: "";
  position: absolute;
  inset: min(1.25vw, 18px);
  border: 1px solid rgba(91, 76, 49, 0.4);
  border-radius: min(0.5555555556vw, 8px);
  outline: 1px solid rgba(91, 76, 49, 0.4);
  outline-offset: min(0.2777777778vw, 4px);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__info {
    padding: 12.7226463104vw 6.6157760814vw 10.1781170483vw;
    border-radius: 3.5623409669vw;
    background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 18px, rgba(91, 76, 49, 0.22) 18px, rgba(91, 76, 49, 0.22) 19px), radial-gradient(120% 100% at 50% 50%, rgba(122, 101, 65, 0) 55%, rgba(122, 101, 65, 0.18) 100%);
  }
  .bunkadenrai-matsuri .zbm__stage__info::before {
    inset: 2.7989821883vw;
    border-radius: 1.5267175573vw;
    outline-offset: 0.7633587786vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__text {
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 32px;
}
.bunkadenrai-matsuri .zbm__stage__text + .zbm__stage__text {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__text {
    font-size: 10px;
    line-height: 19px;
  }
  .bunkadenrai-matsuri .zbm__stage__text + .zbm__stage__text {
    margin-top: 19px;
  }
}
.bunkadenrai-matsuri .zbm__stage__when {
  margin: 0;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 0.04em;
}
.bunkadenrai-matsuri .zbm__stage__when + .zbm__stage__text {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__when {
    font-size: 12px;
    line-height: 19px;
  }
  .bunkadenrai-matsuri .zbm__stage__when + .zbm__stage__text {
    margin-top: 19px;
  }
}
.bunkadenrai-matsuri .zbm__stage__soon {
  margin-top: 32px;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__soon {
    margin-top: 25px;
    font-size: 14px;
    line-height: 25px;
  }
}
.bunkadenrai-matsuri .zbm__stage__day {
  box-sizing: border-box;
  width: min(37.5694444444vw, 541px);
  min-height: min(42.9166666667vw, 618px);
  position: relative;
  padding: min(2.5694444444vw, 37px) min(2.2916666667vw, 33px) min(3.8194444444vw, 55px);
  background: #CFC7AF;
  border-radius: min(1.3888888889vw, 20px);
  color: #222222;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__day {
    width: 100%;
    min-height: 0;
    padding: 6.106870229vw 5.0890585242vw 7.1246819338vw;
    border-radius: 3.5623409669vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__date {
  display: flex;
  align-items: baseline;
  height: min(4.2361111111vw, 61px);
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  line-height: min(4.2361111111vw, 61px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__date {
    height: auto;
    line-height: 1.2;
  }
}
.bunkadenrai-matsuri .zbm__stage__date .num {
  font-size: min(4.1666666667vw, 60px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__date .num {
    font-size: 8.6513994911vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__date .yobi {
  font-size: min(2.0833333333vw, 30px);
  margin-left: max(-0.5555555556vw, -8px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__date .yobi {
    font-size: 4.5801526718vw;
    margin-left: -1.272264631vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__rows {
  display: flex;
  flex-direction: column;
  gap: min(2.7777777778vw, 40px);
  margin-top: min(2.2916666667vw, 33px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__rows {
    gap: 5.5979643766vw;
    margin-top: 6.106870229vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__row {
  display: flex;
  align-items: flex-start;
  gap: min(1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__row {
    gap: 2.5445292621vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__time {
  flex: 0 0 auto;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(0.9722222222vw, 14px);
  line-height: min(1.5277777778vw, 22px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__time {
    font-size: 2.7989821883vw;
    line-height: 4.5801526718vw;
  }
}
.bunkadenrai-matsuri .zbm__stage__name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: min(1.3888888889vw, 20px);
  line-height: min(1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__stage__name {
    font-size: 3.5623409669vw;
    line-height: 5.0890585242vw;
  }
}
.bunkadenrai-matsuri .zbm__stage button.zbm__stage__name {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  opacity: 1;
  transition: color 0.3s ease;
}
.bunkadenrai-matsuri .zbm__stage button.zbm__stage__name:hover {
  color: #513D83;
}
.bunkadenrai-matsuri .zbm__collab-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(0.6944444444vw, 10px);
  margin-top: min(4.5833333333vw, 66px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__collab-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.0534351145vw;
    margin-top: 7.6335877863vw;
  }
}
.bunkadenrai-matsuri .zbm__collab-list .zbm__card {
  min-height: min(32.3611111111vw, 466px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__collab-list .zbm__card {
    min-height: 0;
  }
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__collab-list .zbm__card:not(.meikou) + .zbm__card.meikou {
    grid-column: 1;
  }
}
.bunkadenrai-matsuri .zbm__collab-list .zbm__card__thumb {
  background: #eeeeee;
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card__desc {
  margin-top: min(0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list .zbm__card__desc {
    margin-top: 2.5445292621vw;
  }
}
.bunkadenrai-matsuri .zbm__food-list {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: min(56.9444444444vw, 820px);
  max-width: 100%;
  margin: min(5.2777777778vw, 76px) auto 0;
  padding: min(3.8888888889vw, 56px) min(4.1666666667vw, 60px);
  border-radius: min(1.3888888889vw, 20px);
  color: #2E2A20;
  background-color: #D7D0BA;
  background-image: radial-gradient(120% 100% at 50% 50%, rgba(122, 101, 65, 0) 55%, rgba(122, 101, 65, 0.18) 100%);
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list {
    width: auto;
    margin-top: 7.6335877863vw;
    padding: 10.1781170483vw 6.106870229vw;
    border-radius: 3.5623409669vw;
  }
}
.bunkadenrai-matsuri .zbm__food-list::before {
  content: "";
  position: absolute;
  inset: min(1.25vw, 18px);
  border: 1px solid rgba(91, 76, 49, 0.4);
  border-radius: min(0.5555555556vw, 8px);
  outline: 1px solid rgba(91, 76, 49, 0.4);
  outline-offset: min(0.2777777778vw, 4px);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list::before {
    inset: 2.7989821883vw;
    border-radius: 1.5267175573vw;
    outline-offset: 0.7633587786vw;
  }
}
.bunkadenrai-matsuri .zbm__food-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.bunkadenrai-matsuri .zbm__food-list li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1em;
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 32px;
  color: inherit;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(91, 76, 49, 0.22) 31px, rgba(91, 76, 49, 0.22) 32px);
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list li {
    font-size: 12px;
    line-height: 22px;
    background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 21px, rgba(91, 76, 49, 0.22) 21px, rgba(91, 76, 49, 0.22) 22px);
  }
}
.bunkadenrai-matsuri .zbm__food-list li > * {
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}
.bunkadenrai-matsuri .zbm__food-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card {
  display: block;
  min-height: 0;
  padding: 0 0 0 1em;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(91, 76, 49, 0.22) 31px, rgba(91, 76, 49, 0.22) 32px);
  color: inherit;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list .zbm__card {
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 21px, rgba(91, 76, 49, 0.22) 21px, rgba(91, 76, 49, 0.22) 22px);
  }
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card::after {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list .zbm__card::after {
    line-height: 25px;
  }
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card__thumb,
.bunkadenrai-matsuri .zbm__food-list .zbm__card__frame,
.bunkadenrai-matsuri .zbm__food-list .zbm__card__desc,
.bunkadenrai-matsuri .zbm__food-list .zbm__sns {
  display: none;
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card.new::before,
.bunkadenrai-matsuri .zbm__food-list .zbm__card.meikou::before {
  content: none;
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card__brand {
  display: block;
  margin-top: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 32px;
  color: inherit;
  pointer-events: none;
}
.bunkadenrai-matsuri .zbm__food-list .zbm__card__brand::after {
  content: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__food-list .zbm__card__brand {
    font-size: 12px;
    line-height: 22px;
  }
}
.bunkadenrai-matsuri .zbm__food-list a.zbm__card__brand:hover {
  color: inherit;
}
.bunkadenrai-matsuri .zbm__menu {
  margin: min(0.6944444444vw, 10px) 0 0;
  padding: 0 min(0.3472222222vw, 5px) 0 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__menu {
    margin-top: 2.5445292621vw;
  }
}
.bunkadenrai-matsuri .zbm__menu li + li {
  margin-top: min(0.4166666667vw, 6px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__menu li + li {
    margin-top: 1.5267175573vw;
  }
}
.bunkadenrai-matsuri .zbm__menu li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: min(0.5555555556vw, 8px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.7638888889vw, 11px);
  line-height: min(1.25vw, 18px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__menu li {
    font-size: 2.7989821883vw;
    line-height: 4.5801526718vw;
    gap: 1.5267175573vw;
    align-items: flex-end;
  }
}
.bunkadenrai-matsuri .zbm__menu li .price {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
.bunkadenrai-matsuri .zbm__note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.7638888889vw, 11px);
  line-height: min(1.25vw, 18px);
  margin-top: min(0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__note {
    font-size: 2.7989821883vw;
    line-height: 4.5801526718vw;
    margin-top: 2.5445292621vw;
  }
}
.bunkadenrai-matsuri .zbm__sns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: min(0.6944444444vw, 10px);
  margin-top: auto;
  margin-bottom: max(-0.1388888889vw, -2px);
  padding-top: min(0.9722222222vw, 14px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__sns {
    gap: 2.5445292621vw;
    padding-top: 3.0534351145vw;
    margin-bottom: 0;
  }
}
.bunkadenrai-matsuri .zbm__sns a {
  display: block;
  width: min(0.9722222222vw, 14px);
  height: min(0.9722222222vw, 14px);
  background-color: #222222;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s ease;
}
.bunkadenrai-matsuri .zbm__sns a:hover {
  background-color: #513D83;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__sns a {
    width: 3.5623409669vw;
    height: 3.5623409669vw;
  }
}
.bunkadenrai-matsuri .zbm__sns__link {
  -webkit-mask-image: url(../img/special/bunkadenrai/maturi/ico_chain.svg);
  mask-image: url(../img/special/bunkadenrai/maturi/ico_chain.svg);
}
.bunkadenrai-matsuri .zbm__workshop-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(0.6944444444vw, 10px);
  margin-top: min(4.5833333333vw, 66px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.0534351145vw;
    margin-top: 7.6335877863vw;
  }
}
.bunkadenrai-matsuri .zbm__workshop-list .zbm__card {
  min-height: min(37.2222222222vw, 536px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop-list .zbm__card {
    min-height: 0;
  }
}
.bunkadenrai-matsuri .zbm__workshop-list .zbm__card__thumb {
  aspect-ratio: 304/295;
}
.bunkadenrai-matsuri .zbm__workshop-list .zbm__card__body {
  width: 100%;
  max-width: 100%;
  margin-top: min(0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop-list .zbm__card__body {
    margin-top: 2.5445292621vw;
  }
}
.bunkadenrai-matsuri .zbm__workshop-list .zbm__card__brand {
  margin-top: 0;
}
.bunkadenrai-matsuri .zbm__workshop-list .zbm__card__name {
  margin-top: min(0.9722222222vw, 14px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop-list .zbm__card__name {
    margin-top: 3.0534351145vw;
  }
}
.bunkadenrai-matsuri .zbm__workshop-list .zbm__card__desc {
  margin-top: min(0.9722222222vw, 14px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__workshop-list .zbm__card__desc {
    margin-top: 3.0534351145vw;
  }
}
.bunkadenrai-matsuri .zbm__spec {
  margin-top: min(0.4861111111vw, 7px);
  padding-top: min(0.4861111111vw, 7px);
  border-top: 1px solid #222222;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.6944444444vw, 10px);
  line-height: min(1.1111111111vw, 16px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__spec {
    margin-top: 2.0356234097vw;
    padding-top: 2.0356234097vw;
    font-size: 2.5445292621vw;
    line-height: 4.0712468193vw;
  }
}
.bunkadenrai-matsuri .zbm__btn-area {
  position: relative;
  z-index: 60;
  padding: min(4.3055555556vw, 62px) 0 min(10.2777777778vw, 148px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__btn-area {
    padding: 10.1781170483vw 0 15.2671755725vw;
  }
}
.bunkadenrai-matsuri .zbm__btn {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(20.5555555556vw, 296px);
  max-width: 100%;
  height: min(4.375vw, 63px);
  margin: 0 auto;
  padding: 0 min(1.3888888889vw, 20px) 0 0;
  border: 0;
  cursor: pointer;
  background: transparent;
  color: #7D4AFF;
  text-decoration: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.25vw, 18px);
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  -webkit-appearance: none;
  appearance: none;
}
.bunkadenrai-matsuri .zbm__btn::before,
.bunkadenrai-matsuri .zbm__btn .grad {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
  width: min(20.4166666667vw, 294px);
  height: min(4.1666666667vw, 60px);
  pointer-events: none;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__btn::before,
  .bunkadenrai-matsuri .zbm__btn .grad {
    width: 70.737913486vw;
    height: 13.9949109415vw;
  }
}
.bunkadenrai-matsuri .zbm__btn::before {
  background: linear-gradient(90deg, rgba(142, 203, 99, 0.7) 0%, rgba(142, 203, 99, 0.7) 10%, rgba(246, 242, 123, 0.7) 40%, rgba(246, 242, 123, 0.7) 100%);
  opacity: 1;
}
.bunkadenrai-matsuri .zbm__btn .grad {
  background: linear-gradient(90deg, rgba(246, 242, 123, 0.7) 0%, rgba(246, 242, 123, 0.7) 60%, rgba(142, 203, 99, 0.7) 90%, rgba(142, 203, 99, 0.7) 100%);
  opacity: 0;
}
.bunkadenrai-matsuri .zbm__btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/special/bunkadenrai/frame_btn.png) no-repeat center/100% 100%;
  pointer-events: none;
}
.bunkadenrai-matsuri .zbm__btn .ico {
  position: absolute;
  top: 50%;
  right: min(1.3888888889vw, 20px);
  transform: translateY(-50%);
  width: min(1.3888888889vw, 20px);
  height: min(1.3888888889vw, 20px);
  background: url(../img/special/bunkadenrai/ico_btn.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__btn .ico {
    right: 4.5801526718vw;
    width: 4.5801526718vw;
    height: 4.5801526718vw;
  }
}
.bunkadenrai-matsuri .zbm__btn:hover::before {
  opacity: 0;
}
.bunkadenrai-matsuri .zbm__btn:hover .grad {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__btn {
    width: 71.2468193384vw;
    height: 14.7582697201vw;
    font-size: 3.8167938931vw;
    padding-right: 4.5801526718vw;
  }
}
.bunkadenrai-matsuri .zbm__goods .zbm__btn-area {
  padding-top: min(2.2916666667vw, 33px);
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__goods .zbm__btn-area {
    padding-top: 7.6335877863vw;
  }
}
.bunkadenrai-matsuri .zbm__goods {
  position: relative;
  z-index: 60;
  padding: min(13.75vw, 198px) 0 min(10.2777777778vw, 148px);
  color: #222222;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__goods {
    padding: 17.8117048346vw 0 15.2671755725vw;
  }
}
.bunkadenrai-matsuri .zbm__goods__ttl {
  width: min(32.6388888889vw, 470px);
  max-width: 80%;
  margin: 0 auto min(2.9166666667vw, 42px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__goods__ttl {
    width: 61.0687022901vw;
    margin-bottom: 7.6335877863vw;
  }
}
.bunkadenrai-matsuri .zbm__goods__ttl img {
  display: block;
  width: 100%;
  height: auto;
}
.bunkadenrai-matsuri .zbm__goods__panel {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  width: min(76.3888888889vw, 1100px);
  max-width: calc(100vw - min(2.7777777778vw, 40px));
  padding: min(2.7777777778vw, 40px);
  background: #EEEEEE;
  -webkit-mask: radial-gradient(circle min(2.1527777778vw, 31px) at top left, rgba(0, 0, 0, 0) 98%, #000) top left, radial-gradient(circle min(2.1527777778vw, 31px) at top right, rgba(0, 0, 0, 0) 98%, #000) top right, radial-gradient(circle min(2.1527777778vw, 31px) at bottom left, rgba(0, 0, 0, 0) 98%, #000) bottom left, radial-gradient(circle min(2.1527777778vw, 31px) at bottom right, rgba(0, 0, 0, 0) 98%, #000) bottom right;
  -webkit-mask-size: 50.5% 50.5%;
  -webkit-mask-repeat: no-repeat;
  mask: radial-gradient(circle min(2.1527777778vw, 31px) at top left, rgba(0, 0, 0, 0) 98%, #000) top left, radial-gradient(circle min(2.1527777778vw, 31px) at top right, rgba(0, 0, 0, 0) 98%, #000) top right, radial-gradient(circle min(2.1527777778vw, 31px) at bottom left, rgba(0, 0, 0, 0) 98%, #000) bottom left, radial-gradient(circle min(2.1527777778vw, 31px) at bottom right, rgba(0, 0, 0, 0) 98%, #000) bottom right;
  mask-size: 50.5% 50.5%;
  mask-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__goods__panel {
    width: calc(100% - 10.1781170483vw);
    max-width: calc(100% - 10.1781170483vw);
    padding: 5.0890585242vw;
    -webkit-mask: radial-gradient(circle 5.0890585242vw at top left, rgba(0, 0, 0, 0) 98%, #000) top left, radial-gradient(circle 5.0890585242vw at top right, rgba(0, 0, 0, 0) 98%, #000) top right, radial-gradient(circle 5.0890585242vw at bottom left, rgba(0, 0, 0, 0) 98%, #000) bottom left, radial-gradient(circle 5.0890585242vw at bottom right, rgba(0, 0, 0, 0) 98%, #000) bottom right;
    -webkit-mask-size: 50.5% 50.5%;
    -webkit-mask-repeat: no-repeat;
    mask: radial-gradient(circle 5.0890585242vw at top left, rgba(0, 0, 0, 0) 98%, #000) top left, radial-gradient(circle 5.0890585242vw at top right, rgba(0, 0, 0, 0) 98%, #000) top right, radial-gradient(circle 5.0890585242vw at bottom left, rgba(0, 0, 0, 0) 98%, #000) bottom left, radial-gradient(circle 5.0890585242vw at bottom right, rgba(0, 0, 0, 0) 98%, #000) bottom right;
    mask-size: 50.5% 50.5%;
    mask-repeat: no-repeat;
  }
}
.bunkadenrai-matsuri .zbm__goods__panel .goods-wrap {
  display: grid;
  grid-template-columns: repeat(4, min(16.6666666667vw, 240px));
  justify-content: center;
  gap: min(1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__goods__panel .goods-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 4.0712468193vw;
  }
}
.bunkadenrai-matsuri .zbm__goods__panel .product-item {
  width: 100%;
  cursor: pointer;
}
.bunkadenrai-matsuri .zbm__goods__panel .gallery-photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  background: #EEEEEE;
  overflow: hidden;
}
.bunkadenrai-matsuri .zbm__goods__panel .gallery-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.bunkadenrai-matsuri .zbm__footer-kazari {
  position: relative;
  z-index: 3;
  width: min(26.6666666667vw, 384px);
  margin-left: calc(50% + min(16.3194444444vw, 235px));
  margin-bottom: max(-0.2777777778vw, -4px);
  line-height: 0;
  pointer-events: none;
}
.bunkadenrai-matsuri .zbm__footer-kazari img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .zbm__footer-kazari {
    width: 52.6717557252vw;
    margin-left: auto;
    margin-right: 6.106870229vw;
    margin-bottom: -0.5089058524vw;
  }
}
.bunkadenrai-matsuri .ztmy-footer-lang {
  display: none;
  position: absolute;
  width: min(4.8611111111vw, 70px);
  z-index: 9600;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .ztmy-footer-lang {
    width: 50px;
  }
}
.bunkadenrai-matsuri .ztmy-footer-lang #ztmy-lang-select {
  border: 1px solid #ffffff;
  background-color: #7B6D99;
  color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-weight: 400 !important;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .ztmy-footer-lang #ztmy-lang-select {
    transform: none;
    width: 100%;
    height: 24px;
    font-size: 9px;
    padding: 0 16px 0 6px;
  }
}
.bunkadenrai-matsuri .ztmy-footer-lang .ztmy-footer-copy {
  display: none !important;
}
.bunkadenrai-matsuri.zbm-nav-open .ztmy-footer-lang {
  display: block;
  top: min(3.4722222222vw, 50px);
  left: min(3.1944444444vw, 46px);
  animation: zbmLangIn 0.25s ease 0.3s both;
}
.bunkadenrai-matsuri.zbm-nav-open .ztmy-footer-lang .ztmy-footer-lang-select {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri.zbm-nav-open .ztmy-footer-lang {
    top: 16px;
    left: 20px;
    right: auto;
  }
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .ztmy-footer .ztmy-footer-copy.ztmy-pc {
    display: block !important;
    color: #ffffff;
  }
}
@media screen and (max-width: 768px) {
  .bunkadenrai-matsuri .ztmy-footer {
    background: #000000;
    padding: 21px 45px 21px;
  }
}

body.bunkadenrai-matsuri .zbm__spmenu-btn {
  display: none;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__spmenu-btn {
    display: none;
    position: fixed;
    top: 3.8167938931vw;
    right: 5.0890585242vw;
    width: 21.8829516539vw;
    height: 7.3791348601vw;
    z-index: 9000;
    padding: 0;
    border: 0;
    background: url(../img/special/bunkadenrai/maturi/ico_matsuri-menu.png) no-repeat center/100% 100%;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri.zbm-past-kv .zbm__spmenu::before {
    opacity: 1;
    visibility: visible;
  }
}
body.bunkadenrai-matsuri .zbm__spmenu {
  display: none;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__spmenu {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 7.3791348601vw;
    position: fixed;
    inset: 0;
    z-index: 8950;
    padding-top: 32.0610687023vw;
    box-sizing: border-box;
    pointer-events: none;
    overflow-y: auto;
  }
  body.bunkadenrai-matsuri .zbm__spmenu.is-open {
    pointer-events: auto;
  }
  body.bunkadenrai-matsuri .zbm__spmenu::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #D9D9D9;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  body.bunkadenrai-matsuri .zbm__spmenu.is-open::after {
    opacity: 1;
    visibility: visible;
  }
  body.bunkadenrai-matsuri .zbm__spmenu::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 19.8473282443vw;
    z-index: 2;
    pointer-events: none;
    background: url(../img/special/bunkadenrai/maturi/kv_sky_sp.png) no-repeat center/100% 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  body.bunkadenrai-matsuri .zbm__spmenu.is-open::before {
    opacity: 1;
    visibility: visible;
  }
  body.bunkadenrai-matsuri .zbm__spmenu .zbm__kv-nav-item {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 49.1094147583vw;
    height: 10.6870229008vw;
    font-size: 3.3078880407vw;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  body.bunkadenrai-matsuri .zbm__spmenu.is-open .zbm__kv-nav-item {
    opacity: 1;
    visibility: visible;
  }
}

body.bunkadenrai-matsuri .zbm__nav-btn {
  position: fixed;
  top: min(2.7777777778vw, 40px);
  left: min(2.7777777778vw, 40px);
  z-index: 9000;
  width: 70px;
  height: 26px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-btn {
    top: 20px;
    left: 20px;
    width: 50px;
    height: 20px;
  }
}
body.bunkadenrai-matsuri .zbm__nav-btn span {
  display: block;
  width: 70px;
  height: 2px;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-btn span {
    width: 50px;
  }
}
body.bunkadenrai-matsuri .zbm__nav.is-open ~ .zbm__nav-btn {
  opacity: 0;
  pointer-events: none;
}
body.bunkadenrai-matsuri .zbm__nav {
  position: fixed;
  inset: 0;
  z-index: 9500;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
body.bunkadenrai-matsuri .zbm__nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.bunkadenrai-matsuri .zbm__nav-panel {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: min(76.3888888889vw, 1100px);
  height: 100%;
  background: #EAE4DA;
  padding: min(10.9722222222vw, 158px) min(10.0694444444vw, 145px) min(7.3611111111vw, 106px);
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.4s ease;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.bunkadenrai-matsuri .zbm__nav-panel::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-panel {
    width: 100%;
    padding: 80px 30px;
    position: relative;
  }
}
body.bunkadenrai-matsuri .zbm__nav.is-open .zbm__nav-panel {
  transform: translateX(0);
}
body.bunkadenrai-matsuri .zbm__nav-close {
  position: absolute;
  top: min(3.8888888889vw, 56px);
  right: min(3.1944444444vw, 46px);
  width: min(4.6527777778vw, 67px);
  height: min(1.25vw, 18px);
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
body.bunkadenrai-matsuri .zbm__nav-close::before, body.bunkadenrai-matsuri .zbm__nav-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #222222;
}
body.bunkadenrai-matsuri .zbm__nav-close::before {
  transform: translate(-50%, -50%) rotate(15deg);
}
body.bunkadenrai-matsuri .zbm__nav-close::after {
  transform: translate(-50%, -50%) rotate(-15deg);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-close {
    top: 20px;
    right: 20px;
    width: 50px;
    height: 20px;
  }
}
body.bunkadenrai-matsuri .zbm__nav-list {
  max-width: min(55.5555555556vw, 800px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-list {
    max-width: 100%;
  }
}
body.bunkadenrai-matsuri .zbm__nav-item {
  display: block;
  padding: min(2.5694444444vw, 37px) 0;
  border-bottom: 1px solid #222222;
  text-decoration: none;
  color: #222222;
  transition: color 0.25s ease;
}
body.bunkadenrai-matsuri .zbm__nav-item:first-of-type {
  border-top: 1px solid #222222;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-item {
    padding: 20px 0;
  }
}
body.bunkadenrai-matsuri .zbm__nav-item-inner {
  display: flex;
  align-items: center;
  gap: min(0.9027777778vw, 13px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-item-inner {
    gap: 10px;
  }
}
body.bunkadenrai-matsuri .zbm__nav-item-ttl img {
  display: block;
  height: min(1.5277777778vw, 22px);
  width: auto;
  transition: filter 0.25s ease;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-item-ttl img {
    height: 14px;
  }
}
body.bunkadenrai-matsuri .zbm__nav-item-ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.0416666667vw, 15px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-item-ja {
    font-size: 10px;
  }
}
body.bunkadenrai-matsuri .zbm__nav-item-arrow {
  position: relative;
  margin-left: auto;
  width: 20px;
  height: 20px;
  border: 1px solid #222222;
  border-radius: 50%;
}
body.bunkadenrai-matsuri .zbm__nav-item-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  background: url(../img/special/bunkadenrai/ico_arrow.svg) no-repeat center/contain;
  transform: translate(-50%, -50%) rotate(90deg);
  transition: filter 0.25s ease;
}
body.bunkadenrai-matsuri .zbm__nav-item:hover {
  color: #205700;
}
body.bunkadenrai-matsuri .zbm__nav-item:hover .zbm__nav-item-ttl img,
body.bunkadenrai-matsuri .zbm__nav-item:hover .zbm__nav-item-arrow::after {
  filter: brightness(0) saturate(100%) invert(23%) sepia(91%) saturate(1100%) hue-rotate(73deg) brightness(94%) contrast(101%);
}
body.bunkadenrai-matsuri .zbm__nav-item:hover .zbm__nav-item-arrow {
  border-color: #205700;
}
body.bunkadenrai-matsuri .zbm__nav-uni {
  display: block;
  margin-top: min(5.8333333333vw, 84px);
  width: min(6.4583333333vw, 93px);
  height: min(5vw, 72px);
  background: url(../img/special/bunkadenrai/nav_uni.png) no-repeat center/contain;
  mix-blend-mode: color-burn;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__nav-uni {
    margin-top: unset;
    width: 80px;
    height: 50px;
    position: absolute;
    bottom: 20px;
  }
}
body.bunkadenrai-matsuri .zbm__pagetop {
  position: fixed;
  right: min(1.0416666667vw, 15px);
  bottom: min(2.0833333333vw, 30px);
  z-index: 9000;
  width: min(9.5138888889vw, 137px);
  opacity: 0;
  transform: translateY(calc(100% + min(2.0833333333vw, 30px)));
  transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pagetop {
    width: 24.427480916vw;
    right: 3.0534351145vw;
    bottom: 4.0712468193vw;
    transform: translateY(calc(100% + 4.0712468193vw));
  }
}
body.bunkadenrai-matsuri .zbm__pagetop.is-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
body.bunkadenrai-matsuri .zbm__pagetop.is-show img {
  animation: zbm-pagetop-bob 2.2s ease-in-out infinite;
}
body.bunkadenrai-matsuri .zbm__pagetop img {
  display: block;
  width: 100%;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  body.bunkadenrai-matsuri .zbm__pagetop.is-show img {
    animation: none;
  }
}
body.bunkadenrai-matsuri.zbm-spmenu-open .zbm__pagetop.is-show, body.bunkadenrai-matsuri.zbm-spmenu-open .zbm__pagetop {
  opacity: 0;
  pointer-events: none;
}
@keyframes zbm-pagetop-bob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-9px);
  }
}
body.bunkadenrai-matsuri .zbm__pmodal {
  position: fixed;
  inset: 0;
  z-index: 9800;
  display: none;
  align-items: center;
  justify-content: center;
}
body.bunkadenrai-matsuri .zbm__pmodal.is-open {
  display: flex;
}
body.bunkadenrai-matsuri .zbm__pmodal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
body.bunkadenrai-matsuri .zbm__pmodal-panel {
  position: relative;
  box-sizing: border-box;
  width: min(52.7777777778vw, 760px);
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  padding: min(5.5555555556vw, 80px) min(3.4722222222vw, 50px) min(3.8888888889vw, 56px);
  background: #EDE9DD;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.bunkadenrai-matsuri .zbm__pmodal-panel::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-panel {
    width: 100%;
    padding: 14.2493638677vw 5.0890585242vw 10.1781170483vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-close {
  position: absolute;
  top: min(2.2222222222vw, 32px);
  right: min(2.7777777778vw, 40px);
  width: min(4.7222222222vw, 68px);
  height: min(1.3888888889vw, 20px);
  padding: 0;
  border: 0;
  background: url(../img/special/bunkadenrai/modal_close.svg) no-repeat center/contain;
  cursor: pointer;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-close {
    top: 5.0890585242vw;
    right: 5.0890585242vw;
    width: 11.1959287532vw;
    height: 3.3078880407vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-img {
  width: 100%;
  margin-bottom: min(2.2222222222vw, 32px);
  background: #EEEEEE;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-img {
    margin-bottom: 5.0890585242vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-img img {
  display: block;
  width: 100%;
  height: min(26.3888888889vw, 380px);
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-img img {
    height: 50.8905852417vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-name {
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  color: #222222;
  font-size: min(1.6666666667vw, 24px);
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-name {
    font-size: 4.5801526718vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-timerow {
  display: flex;
  align-items: center;
  gap: min(0.8333333333vw, 12px);
  margin-top: min(1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-timerow {
    gap: 2.0356234097vw;
    margin-top: 3.5623409669vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: min(4.1666666667vw, 60px);
  height: min(1.25vw, 18px);
  background: #222222;
  color: #D9D8D0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.6944444444vw, 10px);
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-label {
    width: 13.2315521628vw;
    height: 4.0712468193vw;
    font-size: 2.5445292621vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-time {
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  color: #222222;
  font-size: min(0.9722222222vw, 14px);
  line-height: min(1.5277777778vw, 22px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-time {
    font-size: 3.0534351145vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-desc {
  margin-top: min(1.3888888889vw, 20px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  color: #222222;
  font-size: min(0.9027777778vw, 13px);
  line-height: min(1.6666666667vw, 24px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-desc {
    margin-top: 3.5623409669vw;
    font-size: 3.0534351145vw;
    line-height: 5.3435114504vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-sns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: min(1.1111111111vw, 16px);
  margin-top: min(1.9444444444vw, 28px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-sns {
    gap: 3.5623409669vw;
    margin-top: 5.0890585242vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-sns a {
  display: block;
  width: min(1.3888888889vw, 20px);
  height: min(1.3888888889vw, 20px);
  background-color: #222222;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s ease;
}
body.bunkadenrai-matsuri .zbm__pmodal-sns a:hover {
  background-color: #513D83;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__pmodal-sns a {
    width: 5.0890585242vw;
    height: 5.0890585242vw;
  }
}
body.bunkadenrai-matsuri .zbm__pmodal-sns__x {
  -webkit-mask-image: url(../img/special/bunkadenrai/maturi/ico_x.svg);
  mask-image: url(../img/special/bunkadenrai/maturi/ico_x.svg);
}
body.bunkadenrai-matsuri .zbm__pmodal-sns__insta {
  -webkit-mask-image: url(../img/special/bunkadenrai/maturi/ico_instagram.svg);
  mask-image: url(../img/special/bunkadenrai/maturi/ico_instagram.svg);
}
body.bunkadenrai-matsuri .zbm__pmodal-sns__web {
  -webkit-mask-image: url(../img/special/bunkadenrai/maturi/ico_link.svg);
  mask-image: url(../img/special/bunkadenrai/maturi/ico_link.svg);
}
body.bunkadenrai-matsuri .zbm__gmodal {
  position: fixed;
  inset: 0;
  z-index: 9800;
  display: none;
}
body.bunkadenrai-matsuri .zbm__gmodal.is-open {
  display: block;
}
body.bunkadenrai-matsuri .zbm__gmodal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
body.bunkadenrai-matsuri .zbm__gmodal-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  width: min(52.7777777778vw, 760px);
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: min(5.5555555556vw, 80px) min(3.4722222222vw, 50px) min(3.8888888889vw, 56px);
  background: #EDE9DD;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__gmodal-panel {
    padding: 14.2493638677vw 5.0890585242vw 10.1781170483vw;
  }
}
body.bunkadenrai-matsuri .zbm__gmodal-close {
  position: absolute;
  top: min(2.2222222222vw, 32px);
  right: min(2.7777777778vw, 40px);
  width: min(4.7222222222vw, 68px);
  height: min(1.3888888889vw, 20px);
  padding: 0;
  border: 0;
  background: url(../img/special/bunkadenrai/modal_close.svg) no-repeat center/contain;
  cursor: pointer;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__gmodal-close {
    top: 5.0890585242vw;
    right: 5.0890585242vw;
    width: 11.1959287532vw;
    height: 3.3078880407vw;
  }
}
body.bunkadenrai-matsuri .zbm__gmodal-slider {
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
}
body.bunkadenrai-matsuri .zbm__gmodal-slider::-webkit-scrollbar {
  display: none;
}
body.bunkadenrai-matsuri .zbm__gmodal-slider.is-drag {
  cursor: grabbing;
}
body.bunkadenrai-matsuri .zbm__gmodal-track {
  display: flex;
  gap: min(0.6944444444vw, 10px);
  width: max-content;
}
body.bunkadenrai-matsuri .zbm__gmodal-slide {
  flex: 0 0 auto;
  width: min(25vw, 360px);
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__gmodal-slide {
    width: 61.0687022901vw;
  }
}
body.bunkadenrai-matsuri .zbm__gmodal-slide img {
  display: block;
  width: 100%;
  height: auto;
}
body.bunkadenrai-matsuri .zbm__gmodal-info {
  margin-top: min(1.3888888889vw, 20px);
}
body.bunkadenrai-matsuri .zbm__gmodal-name {
  font-family: "dnp-shuei-nmincho-std", serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(1.25vw, 18px);
  margin: 0 0 min(0.6944444444vw, 10px);
}
body.bunkadenrai-matsuri .zbm__gmodal-specrow {
  display: flex;
  gap: min(1.1111111111vw, 16px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(0.9027777778vw, 13px);
  line-height: 2;
}
body.bunkadenrai-matsuri .zbm__gmodal-label {
  flex: 0 0 min(3.8888888889vw, 56px);
  font-weight: 700;
}
body.bunkadenrai-matsuri .zbm__gmodal-buy {
  margin-top: min(1.6666666667vw, 24px);
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(20.5555555556vw, 296px);
  max-width: 100%;
  height: min(4.375vw, 63px);
  margin: 0 auto;
  padding: 0 min(1.3888888889vw, 20px) 0 0;
  border: 0;
  cursor: pointer;
  background: transparent;
  color: #7D4AFF;
  text-decoration: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: min(1.25vw, 18px);
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  -webkit-appearance: none;
  appearance: none;
}
body.bunkadenrai-matsuri .zbm__gmodal-buy::before,
body.bunkadenrai-matsuri .zbm__gmodal-buy .grad {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
  width: min(20.4166666667vw, 294px);
  height: min(4.1666666667vw, 60px);
  pointer-events: none;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__gmodal-buy::before,
  body.bunkadenrai-matsuri .zbm__gmodal-buy .grad {
    width: 70.737913486vw;
    height: 13.9949109415vw;
  }
}
body.bunkadenrai-matsuri .zbm__gmodal-buy::before {
  background: linear-gradient(90deg, rgba(142, 203, 99, 0.7) 0%, rgba(142, 203, 99, 0.7) 10%, rgba(246, 242, 123, 0.7) 40%, rgba(246, 242, 123, 0.7) 100%);
  opacity: 1;
}
body.bunkadenrai-matsuri .zbm__gmodal-buy .grad {
  background: linear-gradient(90deg, rgba(246, 242, 123, 0.7) 0%, rgba(246, 242, 123, 0.7) 60%, rgba(142, 203, 99, 0.7) 90%, rgba(142, 203, 99, 0.7) 100%);
  opacity: 0;
}
body.bunkadenrai-matsuri .zbm__gmodal-buy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/special/bunkadenrai/frame_btn.png) no-repeat center/100% 100%;
  pointer-events: none;
}
body.bunkadenrai-matsuri .zbm__gmodal-buy .ico {
  position: absolute;
  top: 50%;
  right: min(1.3888888889vw, 20px);
  transform: translateY(-50%);
  width: min(1.3888888889vw, 20px);
  height: min(1.3888888889vw, 20px);
  background: url(../img/special/bunkadenrai/ico_btn.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__gmodal-buy .ico {
    right: 4.5801526718vw;
    width: 4.5801526718vw;
    height: 4.5801526718vw;
  }
}
body.bunkadenrai-matsuri .zbm__gmodal-buy:hover::before {
  opacity: 0;
}
body.bunkadenrai-matsuri .zbm__gmodal-buy:hover .grad {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  body.bunkadenrai-matsuri .zbm__gmodal-buy {
    width: 71.2468193384vw;
    height: 14.7582697201vw;
    font-size: 3.8167938931vw;
    padding-right: 4.5801526718vw;
  }
}

@keyframes zbmLangIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes zbmBarIn {
  from {
    opacity: 0;
    transform: translateY(-2.5445292621vw);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/*# sourceMappingURL=bunkadenrai_matsuri.css.map */