@media (max-width: 1024px) {
  :root {
    --fluid-x: clamp(24px, 6vw, 64px);
    --fluid-y: clamp(72px, 11vw, 120px);
    --h-header: 120px;
    --header-logo-y: 24px;
    --sp-hero-top: var(--h-header);
    --h-hero-poster: calc(100vw * var(--hero-poster-ratio));
    --h-hero-banner: clamp(12px, 2.4vw, 24px);
  }

  .page-shell,
  .site-header,
  .site-footer {
    width: 100%;
    max-width: none;
  }

  .site-header__logo {
    left: 50%;
    width: clamp(180px, 31vw, 250px);
    transform: translateX(-50%);
  }

  .site-header__nav,
  .site-header__sns {
    display: none;
  }

  .page-shell {
    display: block;
    overflow: hidden;
  }

  .section-title--jp,
  .access__band,
  .access__info {
    display: none;
  }

  .section-title,
  .section__eyebrow {
    font-size: clamp(28px, 4.2vw, 36px);
    line-height: 1.45;
    letter-spacing: 0.05em;
  }

  .view-all {
    width: auto;
    max-width: max-content;
    letter-spacing: 0.08em;
  }

  .hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .hero__poster-frame,
  .hero__banner {
    width: 100vw;
  }

  .hero__poster {
    width: 100%;
    object-position: center center;
  }

  .hero::after {
    content: none;
  }

  .pickup {
    height: auto;
    padding: var(--fluid-y) var(--fluid-x);
    background: var(--c-bg);
  }

  .pickup__inner {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .pickup__eyebrow {
    display: block;
  }

  .pickup__renewal {
    display: none;
  }

  .pickup__cards {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 6vw, 80px);
    height: auto;
    margin-top: clamp(24px, 4vw, 48px);
    border: 0;
  }

  .pickup-card {
    display: block;
    height: clamp(180px, 32vw, 281px);
  }

  .about,
  .exhibitors,
  .journal,
  .news,
  .access {
    height: auto;
    background: var(--c-bg);
  }

  .about {
    padding: var(--fluid-y) var(--fluid-x);
  }

  .about__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(36px, 7vw, 90px);
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .about__copy {
    width: auto;
  }

  .about__lead {
    width: auto;
    margin: 0;
    font-size: clamp(24px, 3.4vw, 30px);
    line-height: 1.55;
    letter-spacing: 0.08em;
    text-align: left;
    white-space: normal;
  }

  .about__body {
    margin-top: clamp(32px, 5vw, 50px);
    font-family: var(--font-sans);
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .about__photos {
    gap: clamp(16px, 3vw, 20px);
    margin: 0;
  }

  .about__photos img {
    width: 100%;
    height: auto;
    aspect-ratio: 494.5 / 370.9;
  }

  .exhibitors {
    padding: var(--fluid-y) var(--fluid-x);
  }

  .exhibitors__inner {
    display: grid;
    grid-template-columns: minmax(128px, 22%) minmax(0, 1fr);
    column-gap: clamp(32px, 7vw, 72px);
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .exhibitors__side .section-title--center {
    display: block;
  }

  .exhibitors__side .section-title--jp {
    display: none;
  }

  .exhibitors__lead {
    width: 100%;
    margin: 0;
    font-family: var(--font-sans);
    line-height: 2;
    letter-spacing: 0.08em;
    background: transparent;
  }

  .exhibitors__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 4vw, 32px) clamp(16px, 3vw, 24px);
    margin-top: clamp(28px, 5vw, 50px);
  }

  .exhibitor-card,
  .exhibitor-card:nth-child(1) {
    width: auto;
    height: auto;
    transform: none;
  }

  .exhibitor-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 370 / 283.8;
  }

  .exhibitor-card p {
    height: auto;
    padding-top: 6px;
    font-size: clamp(12px, 1.8vw, 14px);
    line-height: 1.6;
  }

  .exhibitors__link {
    width: max-content;
    height: auto;
    margin: clamp(36px, 7vw, 70px) auto 0;
    padding: 12px 0;
  }

  .journal {
    padding-bottom: var(--fluid-y);
    overflow: hidden;
  }

  .journal__wide {
    position: static;
    width: 100vw;
    height: clamp(260px, 48vw, 520px);
    margin-left: calc(50% - 50vw);
  }

  .journal__title-jp {
    display: none;
  }

  .journal__inner {
    display: block;
    width: auto;
    margin: 0;
    padding: var(--fluid-y) var(--fluid-x) 0;
    overflow: visible;
  }

  .journal__inner > .section-title {
    display: block;
  }

  .journal-card,
  .journal-card:first-of-type {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    margin-top: clamp(56px, 9vw, 90px);
  }

  .journal-card__meta {
    position: static;
    order: 1;
    width: 100%;
    height: auto;
  }

  .journal-card__number,
  .journal-card h3,
  .journal-card__category,
  .journal-card time {
    width: auto;
    max-width: 100%;
    margin-left: 0;
    text-align: left;
  }

  .journal-card h3 {
    margin-top: 14px;
  }

  .journal-card__carousel {
    position: static;
    order: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    width: 100%;
    height: auto;
    margin-top: 24px;
    overflow: visible;
  }

  .journal-card__carousel img,
  .journal-card__carousel img:nth-child(2) {
    width: 100%;
    height: auto;
    aspect-ratio: 493 / 370;
  }

  .journal-card__view {
    position: static;
    order: 3;
    align-self: flex-end;
    margin-top: 18px;
  }

  .news {
    padding: var(--fluid-y) var(--fluid-x);
  }

  .news__inner {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .news .section-title {
    color: var(--c-accent-deep);
    text-align: left;
  }

  .news__body {
    display: block;
    width: 100%;
    height: auto;
    margin-top: clamp(32px, 5vw, 50px);
  }

  .news__list {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .news-item,
  .news-item:nth-child(2),
  .news-item:nth-child(3) {
    display: grid;
    grid-template-columns: minmax(78px, max-content) minmax(0, 1fr);
    column-gap: clamp(16px, 4vw, 50px);
    align-items: baseline;
    order: initial;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
  }

  .news-item time,
  .news-item:nth-child(3) time {
    order: initial;
    color: var(--c-line);
    text-align: left;
  }

  .news-item p {
    white-space: normal;
  }

  .news__view {
    position: static;
    margin-top: 30px;
    margin-left: auto;
    font-size: var(--fs-12);
    line-height: 17.4px;
    letter-spacing: 0.08em;
  }

  .access {
    display: block;
    padding-top: var(--fluid-y);
    overflow: hidden;
  }

  .access__intro,
  .access__map-block,
  .instagram-strip {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
  }

  .access__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.78fr);
    gap: clamp(36px, 7vw, 80px);
    padding: 0 var(--fluid-x) var(--fluid-y);
  }

  .access__copy {
    position: static;
    width: auto;
  }

  .access__view {
    margin-top: 20px;
  }

  .access__routes {
    position: static;
    display: flex;
    gap: clamp(28px, 5vw, 40px);
    width: auto;
    margin: clamp(36px, 6vw, 70px) 0 0;
  }

  .access__routes section:first-child p,
  .access__routes section:last-child h3 {
    display: block;
  }

  .access__routes h3 {
    font-size: clamp(18px, 2.4vw, 21px);
    line-height: 1.45;
  }

  .access__routes p {
    margin-top: 12px;
  }

  .access__photo--intro {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }

  .access__map-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.52fr);
    gap: clamp(24px, 5vw, 54px);
    padding: 0 var(--fluid-x) var(--fluid-y);
  }

  .access__map-block picture {
    display: block;
    order: 1;
    min-width: 0;
  }

  .access__map-side {
    position: static;
    order: 2;
    width: auto;
    height: auto;
    overflow: visible;
  }

  .access__map-side .section-title,
  .access__map-side .access__view {
    display: none;
  }

  .access__map,
  .access__photo--map {
    position: static;
    width: 100%;
    height: auto;
    margin: 0;
    object-fit: cover;
  }

  .access__map {
    aspect-ratio: 719.5 / 548.5;
  }

  .access__photo--map {
    aspect-ratio: 339.5 / 548.5;
  }

  .instagram-strip {
    display: block;
    padding: var(--fluid-y) var(--fluid-x);
    background: #fff;
  }

  .instagram-strip__link {
    height: auto;
  }

  .instagram-strip__link > p {
    width: 100%;
    margin: 0;
    font-family: var(--font-serif);
    text-align: center;
  }

  .instagram-strip__grid {
    grid-template-columns: repeat(3, minmax(0, 160px));
    justify-content: center;
    gap: clamp(14px, 3vw, 30px);
    width: 100%;
    margin: 30px auto 0;
  }

  .instagram-strip__grid img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .footer-menu {
    display: flex;
    width: 100%;
    margin: clamp(48px, 8vw, 72px) auto;
  }

  .site-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: 40px;
    min-height: 0;
    height: auto;
    padding: 72px var(--fluid-x) 36px;
    background: var(--c-accent-deep);
  }

  .site-footer__past,
  .site-footer__credit,
  .site-footer__brand,
  .site-footer__brand p,
  .site-footer__brand img,
  .site-footer__logo-line1,
  .site-footer__logo-line2,
  .site-footer__logo-line3 {
    position: static;
    inset: auto;
    left: auto;
    top: auto;
  }

  .site-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .site-footer__brand img {
    width: min(300px, 80vw);
    height: auto;
  }

  .site-footer__logo-line2 {
    margin-top: -30px;
  }

  .site-footer__logo-line3 {
    margin-top: 10px;
  }

  .site-footer__brand p {
    width: auto;
    margin-top: 36px;
    text-align: center;
  }

  .site-footer__past,
  .site-footer__credit {
    width: auto;
    color: #fff;
  }

  .site-footer__past {
    grid-column: 1;
    grid-row: 2;
  }

  .site-footer__credit {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
  }
}

@media (max-width: 700px) {
  :root {
    --h-header: 104px;
    --header-logo-y: 22px;
    --h-hero-poster: calc(100vw * var(--hero-poster-ratio));
  }

  .pickup__cards,
  .about__grid,
  .exhibitors__inner,
  .access__intro,
  .access__map-block,
  .site-footer {
    grid-template-columns: 1fr;
  }

  .about__lead {
    text-align: center;
  }

  .exhibitors__side .section-title--center,
  .news .section-title {
    text-align: center;
  }

  .exhibitors__lead br {
    display: none;
  }

  .journal-card__carousel {
    grid-template-columns: 1fr;
  }

  .news-item,
  .news-item:nth-child(2),
  .news-item:nth-child(3) {
    grid-template-columns: 1fr;
    row-gap: 4px;
  }

  .access__routes {
    flex-direction: column;
  }

  .access__map-side {
    display: none;
  }

  .site-footer__past,
  .site-footer__credit {
    grid-column: 1;
    text-align: left;
  }

  .site-footer__credit {
    grid-row: 3;
  }
}

@media (max-width: 430px) {
  :root {
    --fluid-x: 24px;
  }

  .site-header__logo {
    width: 210px;
  }

  .pickup__cards,
  .exhibitors__grid {
    grid-template-columns: 1fr;
  }

  .instagram-strip__grid {
    gap: 12px;
  }

  .footer-menu {
    margin: 48px auto;
  }
}
