/* 2026-09-24: scoped changes for the supplied images and maps. */
.sp{
  display: none;
}
.pc{
  display: block;
}
.txt_center{
  text-align: center;
}
/* Header and footer use the same navy; the supplied logo is not cropped. */
.site-header {
  background: var(--sbi-dark);
  border-bottom-color: #ffffff20;
}
.brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: 178px;
  height: 100%;
}
.brand img {
  width: 100%;
  height: auto;
  max-height: calc(var(--header) - 12px);
  object-fit: contain;
}
.global-nav > a { color: #fff; }
.global-nav > a:hover { color: #a6d6ff; }
.menu-button span { background: #fff; }

/* Artwork already includes its titles and dates. Full-width, natural-ratio images. */
.hero-visual,
.event-kv {
  display: block;
  min-height: 0;
  height: auto;
  background: #090d23;
}
.hero-visual { border: 0; }
.hero-visual::before,
.hero-visual::after,
.event-kv::before,
.event-kv::after { display: none; }
.hero-visual__image,
.event-kv__bg {
  position: static;
  inset: auto;
  z-index: auto;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  filter: none;
  background: none;
}
.hero-event-grid { margin-top: -24px; }
.hero-event-card { grid-template-columns: minmax(0, 1fr) 170px; }
.hero-event-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
  background: #090d23;
  filter: none;
}

/* The three About cards have an image across their upper half. */
.about-cards article {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 1fr 1fr;
  align-items: stretch;
  text-align: center;
}
.about-card__image {
  display: block;
  min-height: 150px;
  height: 100%;
  background: #eee;
}
.about-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.about-cards article > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Preserve the brightness and colors of the supplied photography. */
.concept-cards img,
.food-grid img,
.special-card-grid > img { filter: none; }

/* Official venue Google Map. */
.map-box--google {
  display: block;
  min-height: 0;
  height: 340px;
  background: #f4f5f7;
}
.map-box--google iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Uploaded area maps retain their full extent, including all labels. */
.area-map-figure { margin: 0; min-width: 0; }
.area-map-figure figcaption {
  margin: 0 0 12px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}
.area-map .map-box--image {
  display: block;
  min-height: 0;
  height: auto;
  background: #fff;
}
.map-box--image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.footer-kv {
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
}
.footer-kv img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-inline: auto;
  object-fit: contain;
}

@media (min-width: 761px) and (max-width: 980px) {
  .brand { width: 140px; }
  .site-header { padding-inline: 16px; }
  .global-nav { gap: 12px; }
  .hero-event-card { grid-template-columns: minmax(0, 1fr) 135px; }
}
@media (max-width: 760px) {
  .brand { width: 142px; }
  .global-nav { background: var(--sbi-dark); }
  .global-nav > a { border-bottom-color: #ffffff26; }
  .hero-event-grid { margin-top: 18px; }
  .hero-event-card { grid-template-columns: minmax(0, 1fr) 31%; }
  .map-box--google { height: 300px; }
  .footer-kv { min-height: 0; }
}
@media (max-width: 430px) {
  .hero-event-card { grid-template-columns: minmax(0, 1fr) 115px; }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .about-cards article {
    grid-template-rows: auto auto;
    align-content: start;
    padding: 10px 0 20px;
  }
.center-heading h2, .center-heading h3,
.wire-title,
.partners--carousel .team-heading h2{
 font-size: clamp(16px, 5vw, 36px);
  white-space: nowrap;
  text-align: center;
}
.sp{
  display: block;
}
.pc{
  display: none;
}
}



.special-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: start;
}

/* 画像 */
.special-card-grid > img {
    grid-column: 1;
    grid-row: 1;

    width: 100%;
    height: auto;
    display: block;
}

/* ※イメージです */
.special-card-grid > .border_title {
    grid-column: 1;
    grid-row: 1;

    align-self: end;
    justify-self: start;

    margin: 0 0 12px 12px;
    padding: 5px 10px;

    z-index: 2;

    background: rgba(0, 0, 0, .7);
    color: #fff;

    font-size: 12px;
}

/* 右側の文章 */
.special-card-grid > div {
    grid-column: 2;
    grid-row: 1;
}

@media screen and (max-width: 767px) {

    .special-card-grid {
        grid-template-columns: 1fr;
    }

    .special-card-grid > img,
    .special-card-grid > .border_title {
        grid-column: 1;
        grid-row: 1;
    }

    .special-card-grid > div {
        grid-column: 1;
        grid-row: 2;
    }

}