

@media (max-width:990px) {
  .opt9 { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6.4vw 3.2vw; margin: 9vw 0 0; padding: 0; list-style: none; counter-reset: opt }
  .opt9 li { counter-increment: opt; display: flex; flex-direction: column; min-width: 0 }
  .opt9 .opt9-pic { order: 1; display: block; inline-size: 100%; block-size: auto; aspect-ratio: 1 / 1; object-fit: cover; background: #ece9e3 }
  .opt9 li::before { order: 2; content: counter(opt, decimal-leading-zero); margin-top: 3vw; font-size: 3vw; font-weight: 600; letter-spacing: .04em; line-height: 1; color: #8A6C42; font-variant-numeric: tabular-nums }
  .opt9 b { order: 3; margin-top: 1.4vw; font-size: 4.2vw; font-weight: 700; letter-spacing: -.02em; line-height: 1.3; color: #1e2925 }
  .opt9 span { order: 4; margin-top: .8vw; font-size: 3.2vw; line-height: 1.45; color: #6a6560 }
  .opt9 li:last-child:nth-child(odd) { grid-column: 1 / -1 }
  .opt9 li:last-child:nth-child(odd) .opt9-pic { aspect-ratio: 2 / 1 }
  .mo-opt9 .int2-note { margin-top: 6vw }
}

@media (max-width:990px) {
  .mo-hero .hl-hero-media { background: #000 }
  .mo-hero .hl-hero-media video { object-position: center 0%; transform: translateY(8vw) }
}

@media (max-width:990px) {
  .mo-hero .hero-scene img.hs-train { left: 1.151%; top: 63.476%; inline-size: 77.855%; --hs-from: -104.5% }
  :root { --train-h: calc(var(--train-w) * 296 / 2322); --train-roof: calc(var(--train-h) * 22 / 206); --pillar-h: 35.71vw }
}

.site-popup .spx { container-type: inline-size; aspect-ratio: 2 / 3; background: #141210; color: #fff; display: flex; flex-direction: column; text-decoration: none; position: relative; border: 1px solid rgba(184,152,104,.38) }   
.site-popup .spx p, .site-popup .spx ol, .site-popup .spx dl, .site-popup .spx dd { margin: 0 }
.spx-body { flex: 1; padding: 8.3cqw 7.2cqw 0; position: relative }
.spx-foot { display: flex; align-items: baseline; justify-content: space-between; gap: 3cqw; margin: 0 7.2cqw !important; padding: 4.4cqw 0 5.5cqw; border-top: 1px solid rgba(255,255,255,.14) }
.spx-foot span { font: 600 3.86cqw/1 var(--font-body); color: rgba(255,255,255,.62); letter-spacing: -.01em }
.spx-foot b { font: 700 9.4cqw/1 "Playfair Display", var(--font-serif); color: #b89868; letter-spacing: .01em; font-variant-numeric: lining-nums }
.spx-opt-head { display: grid; grid-template-columns: auto 1fr; column-gap: 3.9cqw; align-items: end }
.spx-9 { font: 700 26.4cqw/.74 "Playfair Display", var(--font-serif); color: #b89868; font-variant-numeric: lining-nums }
.spx-opt-t { font: 700 6.9cqw/1.22 var(--font-serif); letter-spacing: -.03em; padding-bottom: .5cqw }
.spx-opt-sub { margin: 5cqw 0 3.3cqw !important; font: 600 4.13cqw/1.4 var(--font-body); color: #b89868 }
.spx-opt-list { list-style: none; padding: 0; counter-reset: spx }
.spx-opt-list li { counter-increment: spx; display: grid; grid-template-columns: 8.3cqw 1fr; align-items: baseline; padding: 1.79cqw 0; border-top: 1px solid rgba(255,255,255,.14); font: 600 4.4cqw/1.25 var(--font-body); letter-spacing: -.02em }
.spx-opt-list li::before { content: counter(spx, decimal-leading-zero); font: 700 3.3cqw/1 "Playfair Display", var(--font-serif); color: #b89868; font-variant-numeric: lining-nums tabular-nums }
.site-popup .sp-card.spx-cond img.spx-pic { display: block; flex: none; inline-size: 100%; block-size: 41%; object-fit: cover; object-position: 50% 36%; -webkit-mask-image: linear-gradient(#000 66%, transparent); mask-image: linear-gradient(#000 66%, transparent) }
.spx-cond .spx-body { padding-top: 1.6cqw }
.spx-name { font: 700 7.44cqw/1.2 var(--font-serif); letter-spacing: -.03em; margin-bottom: 4.4cqw !important }
.spx-cd { display: grid; grid-template-columns: 16cqw 1fr }
.spx-cd dt, .spx-cd dd { padding: 2.75cqw 0; border-top: 1px solid rgba(255,255,255,.14) }
.spx-cd dt { font: 600 3.44cqw/1.5 var(--font-body); color: #b89868; letter-spacing: -.01em }
.spx-cd dd { font: 600 4.27cqw/1.4 var(--font-body); letter-spacing: -.02em; word-break: keep-all }
.spx-cd dd small { font-size: .8em; color: rgba(255,255,255,.62) }
