/* BUB RESORT Minakami LP (minakami/index.html, curated). Reference: White Desert — the photograph sinks into
   white, the day turns to night. BUB tone: HIZASHI paper, YOZORA night, ASAMOYA
   tint, KAIHO light on snow, MUCHU only for the countdown; Japanese labels, normal tracking, no line on 「、」.
   Photographs are dummies (data-dummy names the real shot) until the shoot. */
.minakami-lp { --mlp-ink: #2f2f2f; --mlp-sub: rgb(47 47 47 / 64%); --mlp-line: rgb(47 47 47 / 12%); --mlp-paper: #fcfcfc; --mlp-tint: #e7ecec; --mlp-night: #2f2f2f; --mlp-kaiho: #8aadd8; --mlp-accent: #d56e59; --mlp-ease: cubic-bezier(.2, .7, .2, 1); position: relative; padding-top: 0; background: var(--mlp-paper); color: var(--mlp-ink); overflow-x: clip; }
.minakami-lp h1, .minakami-lp h2, .minakami-lp h3, .minakami-lp h4, .minakami-lp p, .minakami-lp ol, .minakami-lp ul, .minakami-lp dl, .minakami-lp dd, .minakami-lp figure { margin: 0; padding: 0; color: inherit; }
.minakami-lp ol, .minakami-lp ul { list-style: none; }
.minakami-lp :is(h1, h2, h3, h4) { word-break: auto-phrase; text-wrap: balance; }
.minakami-lp img { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--mlp-tint); }
.minakami-lp .mlp-num { font-family: var(--font-num); font-variant-numeric: tabular-nums; }
.minakami-lp .mlp-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.minakami-lp .mlp-wrap { position: relative; z-index: 2; width: min(calc(100% - 40px), 1120px); margin-inline: auto; }
.minakami-lp .mlp-narrow { width: min(calc(100% - 40px), 720px); }
.minakami-lp .mlp-label { color: var(--mlp-sub); font-size: 12px; line-height: 1; font-weight: 700; }
.minakami-lp .mlp-head { text-align: center; }
.minakami-lp .mlp-head h2 { margin-top: 16px; font-size: 26px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-head > p:not(.mlp-label) { max-width: 34em; margin: 16px auto 0; color: var(--mlp-sub); font-size: 14px; line-height: 1.95; }
.minakami-lp .mlp-tbd { display: inline-block; margin-left: 6px; padding: 1px 8px; border: 1px dashed rgb(213 110 89 / 70%); border-radius: 999px; color: #b5533f; font-size: 11px; line-height: 1.7; font-weight: 700; vertical-align: 1px; white-space: nowrap; }
.minakami-lp .mlp-tbd:first-child { margin-left: 0; }


/* Sections */
.minakami-lp .mlp-section { --mlp-bg: var(--mlp-paper); position: relative; padding: 80px 0; background: var(--mlp-bg); scroll-margin-top: calc(var(--header-height) + 44px); }
.minakami-lp .mlp-section.is-tint { --mlp-bg: var(--mlp-tint); }
.minakami-lp .mlp-section.is-tint::before { content: ""; position: absolute; top: -17px; left: 0; right: 0; height: 18px; background: var(--mlp-bg); pointer-events: none; -webkit-mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; }

/* Hero: the reel, the snow, and the photograph sinking into white (--mlp-sink, 0→1 while scrolling past). */
.minakami-lp .mlp-hero { --mlp-sink: 0; position: relative; height: max(560px, 92svh); overflow: hidden; background: #c9d2d6; color: #fcfcfc; }
.minakami-lp .mlp-reel, .minakami-lp .mlp-reel img { position: absolute; inset: 0; }
.minakami-lp .mlp-reel img { opacity: 0; transform: scale(1.08); transition: opacity 1.6s ease, transform 7s linear; filter: blur(calc(var(--mlp-sink) * 6px)); }
.minakami-lp .mlp-reel img.is-on { opacity: 1; transform: scale(1); }
.minakami-lp .mlp-reel-bars { position: absolute; z-index: 4; top: calc(var(--header-height) + 10px); left: 20px; right: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.minakami-lp .mlp-reel-bars li { height: 2px; overflow: hidden; border-radius: 2px; background: rgb(252 252 252 / 35%); }
.minakami-lp .mlp-reel-bars i { display: block; width: 100%; height: 100%; background: #fcfcfc; transform: scaleX(0); transform-origin: left; }
.minakami-lp .mlp-reel-bars li.is-done i { transform: scaleX(1); }
.minakami-lp .mlp-reel-bars li.is-on i { animation: mlp-bar var(--mlp-reel-ms, 5200ms) linear forwards; }
@keyframes mlp-bar { to { transform: scaleX(1); } }
.minakami-lp .mlp-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(20 24 28 / 40%) 0%, rgb(20 24 28 / 8%) 24%, rgb(20 24 28 / 8%) 46%, rgb(20 24 28 / 46%) 72%, rgb(20 24 28 / 30%) 84%, rgb(252 252 252 / 90%) 97%, #fcfcfc 100%); pointer-events: none; }
.minakami-lp .mlp-hero-veil { position: absolute; inset: 0; z-index: 2; background: #fcfcfc; opacity: calc(var(--mlp-sink) * .9); pointer-events: none; }
.minakami-lp .mlp-snow { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.minakami-lp .mlp-hero-line { position: absolute; z-index: 3; top: 42%; left: 20px; right: 20px; display: grid; gap: 10px; justify-items: center; font-size: 17px; line-height: 1.6; font-weight: 500; text-align: center; text-shadow: 0 1px 18px rgb(0 0 0 / 30%); opacity: calc(1 - var(--mlp-sink) * 1.6); transform: translateY(calc(var(--mlp-sink) * -30px)); }
.minakami-lp .mlp-hero-place { font-size: 12px; font-weight: 700; opacity: .9; }
.minakami-lp .mlp-hero-title { position: absolute; z-index: 3; left: 0; right: 0; bottom: 34%; display: grid; justify-items: center; color: #fcfcfc; font-size: min(15.6vw, 168px); line-height: 1; font-weight: 700; text-align: center; white-space: nowrap; text-shadow: 0 2px 30px rgb(0 0 0 / 28%); transform: translateY(calc(var(--mlp-sink) * -24px)); }

/* BUB's own hand (the logo's murmur face has Latin and figures only): the days to the pre-open. */
.minakami-lp .mlp-hand { font-family: murmur, bubbub, cursive; font-weight: 400; }

/* Section bar: waits under the hero. */
.minakami-lp .mlp-nav { position: sticky; top: var(--header-height); z-index: 20; display: flex; gap: 22px; overflow-x: auto; scrollbar-width: none; padding: 0 20px; box-shadow: inset 0 -1px var(--mlp-line); background: rgb(252 252 252 / 92%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.minakami-lp .mlp-nav::-webkit-scrollbar { display: none; }
.minakami-lp .mlp-nav a { position: relative; flex: none; padding: 13px 0; color: var(--mlp-sub); font-size: 13px; line-height: 18px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.minakami-lp .mlp-nav a.is-current { color: var(--mlp-ink); font-weight: 700; }
.minakami-lp .mlp-nav a.is-current::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--mlp-ink); }
.minakami-lp .mlp-nav[data-reveal] { margin-bottom: -45px; opacity: 0; transform: translateY(-100%); pointer-events: none; transition: opacity .25s ease, transform .3s ease; }
.minakami-lp .mlp-nav[data-reveal].is-shown, .minakami-lp .mlp-nav[data-reveal]:focus-within { opacity: 1; transform: none; pointer-events: auto; }

/* Summary: four cells held by hairlines, no boxes. */
.minakami-lp .mlp-summary { position: relative; z-index: 2; padding: 8px 0 24px; background: var(--mlp-paper); }
.minakami-lp .mlp-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--mlp-line); }
.minakami-lp .mlp-summary-grid li { border-bottom: 1px solid var(--mlp-line); }
.minakami-lp .mlp-summary-grid li:nth-child(odd) { border-right: 1px solid var(--mlp-line); }
.minakami-lp .mlp-summary-grid a { display: grid; align-content: start; gap: 6px; min-height: 118px; padding: 16px 14px; color: var(--mlp-ink); text-decoration: none; }
.minakami-lp .mlp-summary-grid a > span { color: var(--mlp-sub); font-size: 12px; line-height: 1.4; font-weight: 700; }
.minakami-lp .mlp-summary-grid b { font-size: 15px; line-height: 1.4; font-weight: 700; }
.minakami-lp .mlp-summary-grid .mlp-big { font-size: 30px; line-height: 1.05; letter-spacing: -.02em; }
.minakami-lp .mlp-summary-grid .mlp-big em { font-style: normal; font-size: 36px; }
.minakami-lp .mlp-summary-grid b .mlp-tbd { margin: 4px 0 0; }
.minakami-lp .mlp-summary-grid small { color: var(--mlp-sub); font-size: 11px; line-height: 1.5; }

/* Concept: a line in the white, and the mountain rising out of it. */
.minakami-lp .mlp-concept { padding-bottom: 72px; }
.minakami-lp .mlp-statement { text-align: center; }
.minakami-lp .mlp-statement h2 { margin-top: 18px; font-size: min(30px, 7.4vw); line-height: 1.45; font-weight: 700; }
.minakami-lp .mlp-statement > p:not(.mlp-label) { margin-top: 14px; color: var(--mlp-sub); font-size: 15px; line-height: 1.9; }
.minakami-lp .mlp-peak { position: relative; height: 58svh; max-height: 640px; margin-top: -24px; -webkit-mask: linear-gradient(180deg, transparent 0%, #000 38%, #000 84%, transparent 100%); mask: linear-gradient(180deg, transparent 0%, #000 38%, #000 84%, transparent 100%); }
.minakami-lp .mlp-peak img { object-position: 50% 30%; background: none; }
.minakami-lp .mlp-facts { margin-top: -96px; }

/* Tall photo cards with words on the photograph (White Desert's itineraries). */
.minakami-lp .mlp-tall { position: relative; overflow: hidden; aspect-ratio: 3 / 4; border-radius: 4px; background: var(--mlp-tint); }
.minakami-lp :is(.mlp-tall, .mlp-wide) img { transition: transform 1.2s var(--mlp-ease); }
.minakami-lp .mlp-tall::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 34%) 0%, rgb(0 0 0 / 0%) 34%, rgb(0 0 0 / 0%) 54%, rgb(0 0 0 / 58%) 100%); pointer-events: none; }
.minakami-lp .mlp-tall figcaption { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; color: #fcfcfc; }
.minakami-lp .mlp-tall figcaption b { font-size: 34px; line-height: 1; font-weight: 700; letter-spacing: -.02em; }
.minakami-lp .mlp-tall figcaption span { font-size: 14px; line-height: 1.8; font-weight: 700; }
.minakami-lp .mlp-fact-text { display: grid; gap: 4px; }
.minakami-lp .mlp-fact-text strong { font-size: 15px; line-height: 1.6; font-weight: 700; }
.minakami-lp .mlp-fact-text small { font-size: 12.5px; line-height: 1.7; font-weight: 500; opacity: .9; }
.minakami-lp .mlp-tall.is-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.minakami-lp .mlp-tall.is-room { aspect-ratio: 4 / 3; }
.minakami-lp .mlp-tall.is-room::after { display: none; }

/* Phone: a row of cards slides sideways instead of stacking screen-tall. */
.minakami-lp .mlp-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 12px; margin-inline: -20px; padding: 0 20px 4px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 20px; scrollbar-width: none; }
.minakami-lp .mlp-rail::-webkit-scrollbar { display: none; }
.minakami-lp .mlp-rail > * { scroll-snap-align: start; min-width: 0; }
.minakami-lp .mlp-wrap.mlp-rail { width: auto; margin-inline: 0; }

/* Activity: the day on white */
.minakami-lp .mlp-activity { padding-bottom: 0; }
.minakami-lp .mlp-day { position: relative; height: 54svh; max-height: 620px; margin-top: 40px; }
.minakami-lp .mlp-day figcaption { position: absolute; left: 20px; right: 20px; bottom: 56px; z-index: 2; display: grid; gap: 6px; color: #fcfcfc; font-size: 16px; line-height: 1.6; font-weight: 700; text-shadow: 0 1px 14px rgb(0 0 0 / 30%); }
.minakami-lp .mlp-day-label { font-size: 40px; line-height: 1; }
.minakami-lp .mlp-day::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #fcfcfc 0%, rgb(252 252 252 / 0%) 20%, rgb(47 47 47 / 0%) 46%, rgb(47 47 47 / 55%) 76%, var(--mlp-night) 100%); pointer-events: none; }
.minakami-lp .mlp-day .mlp-snow { z-index: 1; }

/* …and the slope after hours: the page turns to night. */
.minakami-lp .mlp-night { position: relative; overflow: hidden; padding: 0 0 88px; background: var(--mlp-night); color: #fcfcfc; }
.minakami-lp .mlp-night-photo { height: 56svh; max-height: 640px; -webkit-mask: linear-gradient(180deg, transparent 0%, #000 30%, #000 58%, transparent 100%); mask: linear-gradient(180deg, transparent 0%, #000 30%, #000 58%, transparent 100%); }
.minakami-lp .mlp-night-photo img { background: none; }
.minakami-lp .mlp-night .mlp-snow { height: 56svh; max-height: 640px; }
.minakami-lp .mlp-night-body { margin-top: -120px; }
.minakami-lp .mlp-night .mlp-label { color: rgb(252 252 252 / 64%); }
.minakami-lp .mlp-night-time { margin-top: 14px; color: var(--mlp-kaiho); font-size: 56px; line-height: 1; font-weight: 700; letter-spacing: -.03em; text-shadow: 0 0 36px rgb(138 173 216 / 45%); }
.minakami-lp .mlp-night-time i { margin: 0 4px; font-style: normal; font-size: 28px; opacity: .7; }
.minakami-lp .mlp-night h3 { margin-top: 22px; font-size: 26px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-night-body > p:last-child { max-width: 32em; margin-top: 16px; color: rgb(252 252 252 / 76%); font-size: 14px; line-height: 2; }

/* BIG or ACT */
.minakami-lp .mlp-choose { padding-top: 104px; }
.minakami-lp .mlp-choose::before { content: ""; position: absolute; top: -17px; left: 0; right: 0; height: 18px; background: var(--mlp-paper); -webkit-mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; }
/* BIG or ACT, set as two big words: the chosen one in ink, the other quiet; what it is, centred under it without rules. */
.minakami-lp .mlp-tabs { display: grid; grid-template-columns: 1fr 1fr; width: min(100%, 560px); margin: 40px auto 0; scroll-margin-top: calc(var(--header-height) + 64px); }
.minakami-lp .mlp-tabs button { position: relative; display: grid; justify-items: center; gap: 6px; padding: 8px 0 14px; border: 0; background: none; color: rgb(47 47 47 / 22%); font: inherit; cursor: pointer; transition: color .3s ease; }
.minakami-lp .mlp-tabs b { font: 700 56px/1 var(--font-num); letter-spacing: -.03em; }
.minakami-lp .mlp-tabs button[aria-selected="true"] { color: var(--mlp-ink); }
.minakami-lp .mlp-tabs button::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: 0; transition: opacity .3s ease; }
.minakami-lp .mlp-tabs button[aria-selected="true"]::after { opacity: 1; }
.minakami-lp .mlp-pick { order: -1; padding: 2px 8px; border-radius: 999px; background: var(--mlp-accent); color: #fcfcfc; font-size: 11px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-tabs button:not([aria-selected="true"]) .mlp-pick { opacity: .5; }
.minakami-lp .mlp-tabs button:not(:has(.mlp-pick))::before { content: ""; height: 20px; }
.minakami-lp .mlp-route-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: min(100%, 560px); margin: 12px auto 0; text-align: center; }
.minakami-lp .mlp-route-facts dt { color: var(--mlp-sub); font-size: 11px; line-height: 1.5; font-weight: 500; }
.minakami-lp .mlp-route-facts dd { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 6px; margin-top: 4px; font-size: 13px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-tabs[hidden] { display: none; }
.minakami-lp .mlp-sub-head { display: flex; align-items: center; gap: 10px; margin-top: 48px; font-size: 17px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-sub-head.is-plain { display: block; margin-top: 72px; text-align: center; font-size: 20px; }
.minakami-lp [data-mlp-tabbed] .mlp-panel .mlp-sub-head { display: none; }
.minakami-lp [data-mlp-tabbed] .mlp-panel[hidden] { display: none; }
.minakami-lp .mlp-acts { margin-top: 20px; }
.minakami-lp .mlp-act { scroll-margin-top: calc(var(--header-height) + 60px); }
.minakami-lp .mlp-act .mlp-tall figcaption span { font-size: 12px; font-weight: 500; }
.minakami-lp .mlp-act h4 { margin-top: 12px; font-size: 16px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-act-desc { margin-top: 4px; font-size: 13px; line-height: 1.7; }
.minakami-lp .mlp-more { display: grid; gap: 12px; margin-top: 24px; }
.minakami-lp .mlp-wide { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 4px; }
.minakami-lp .mlp-wide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(20 24 28 / 0%) 20%, rgb(20 24 28 / 55%) 55%, rgb(20 24 28 / 82%) 100%); }
.minakami-lp .mlp-wide figcaption { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; display: grid; gap: 6px; padding: 20px; color: #fcfcfc; }
.minakami-lp .mlp-wide small { font-size: 12px; line-height: 1.5; font-weight: 700; opacity: .8; }
.minakami-lp .mlp-wide b { font-size: 22px; line-height: 1.4; font-weight: 700; }
.minakami-lp .mlp-wide span { font-size: 13px; line-height: 1.85; opacity: .9; }
.minakami-lp .mlp-soon { justify-self: start; margin-top: 6px; padding: 5px 10px; border-radius: 999px; background: rgb(252 252 252 / 18%); font-size: 12px; line-height: 1.5; font-style: normal; font-weight: 700; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

/* Schedule */
/* Schedule: the day's light down a line — sky (KAIHO) through dusk (MUCHU) to night (YOZORA), morning back to sky.
   No boxes: a dot of that hour's colour marks each time. */
.minakami-lp .mlp-timeline { width: min(100%, 760px); margin: 48px auto 0; }
.minakami-lp .mlp-day-no { display: flex; align-items: baseline; gap: 12px; margin: 48px 0 8px; color: var(--mlp-sub); font-size: 13px; line-height: 1; font-weight: 600; }
.minakami-lp .mlp-day-no:first-child { margin-top: 0; }
.minakami-lp .mlp-day-no::after { content: ""; flex: 1; height: 1px; background: var(--mlp-line); }
.minakami-lp .mlp-day-no b { margin-right: -8px; color: var(--mlp-ink); font-size: 32px; font-weight: 600; letter-spacing: -.02em; }
.minakami-lp .mlp-timeline ol { --mlp-sky: var(--mlp-kaiho); --mlp-dusk: var(--mlp-accent); position: relative; padding-left: 30px; }
.minakami-lp .mlp-timeline ol::before { content: ""; position: absolute; left: 5.5px; top: 30px; bottom: 30px; width: 1px; opacity: .7; background: linear-gradient(180deg, var(--mlp-sky) 0%, var(--mlp-sky) 42%, var(--mlp-dusk) 66%, var(--mlp-night) 92%); }
.minakami-lp .mlp-timeline ol:last-of-type::before { background: linear-gradient(180deg, var(--mlp-sky) 0%, var(--mlp-sky) 100%); }
.minakami-lp .mlp-timeline > ol > li { --mlp-dot: var(--mlp-sky); position: relative; display: grid; gap: 6px; padding: 22px 0; }
.minakami-lp .mlp-timeline > ol > li::before { content: ""; position: absolute; left: -30px; top: 28px; width: 12px; height: 12px; border: 3px solid var(--mlp-bg, var(--mlp-tint)); border-radius: 50%; background: var(--mlp-dot); box-sizing: border-box; transform: translateX(0); box-shadow: 0 0 0 1px var(--mlp-dot); }
.minakami-lp .mlp-timeline > ol > li.is-dusk { --mlp-dot: var(--mlp-dusk); }
.minakami-lp .mlp-timeline > ol > li.is-night { --mlp-dot: var(--mlp-night); }
.minakami-lp .mlp-timeline time { display: flex; align-items: baseline; gap: 6px; font-size: 24px; line-height: 1; font-weight: 600; letter-spacing: -.01em; }
.minakami-lp .mlp-timeline time i { color: var(--mlp-sub); font-size: 13px; font-style: normal; font-weight: 400; letter-spacing: 0; }
.minakami-lp .mlp-timeline h3 { margin-top: 4px; font-size: 16px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-timeline > ol > li.is-pick h3::after { content: "選べる時間"; display: inline-block; margin-left: 10px; color: var(--mlp-sub); font-size: 12px; font-weight: 500; line-height: 1.7; vertical-align: 1px; }
.minakami-lp .mlp-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-top: 4px; color: var(--mlp-sub); font-size: 13px; line-height: 1.8; }
.minakami-lp .mlp-flow li { display: inline-flex; align-items: center; }
.minakami-lp .mlp-flow li + li::before { content: ""; width: 3px; height: 3px; margin: 0 10px; border-radius: 50%; background: currentColor; opacity: .6; }
.minakami-lp .mlp-flow.is-stack { flex-direction: column; align-items: flex-start; }
.minakami-lp .mlp-flow.is-stack li + li::before { display: none; }
.minakami-lp .mlp-or { display: inline-flex; align-items: center; gap: 6px; }
.minakami-lp .mlp-round { min-width: 3.4em; font-size: 12px; font-weight: 500; color: var(--mlp-sub); }
.minakami-lp .mlp-tag { display: inline-block; padding: 1px 7px; border: 1px solid var(--mlp-line); border-radius: 999px; background: var(--mlp-paper); color: var(--mlp-ink); font: 600 11px/1.6 var(--font-num); text-decoration: none; }
.minakami-lp .mlp-tag.is-big { border-color: rgb(47 47 47 / 36%); }
.minakami-lp .mlp-timeline .mlp-tag { border-color: rgb(47 47 47 / 16%); background: transparent; font-size: 12px; transition: border-color .2s ease; }
.minakami-lp .mlp-timeline .mlp-tag.is-big { border-color: rgb(47 47 47 / 36%); }
@media (hover: hover) { .minakami-lp .mlp-timeline .mlp-tag:hover { border-color: var(--mlp-ink); } }
.minakami-lp .mlp-timeline a.mlp-tag { margin: 2px 0; padding: 4px 10px; }

/* Bases: SUIGEN STATION / YAMA HOUSE head their sections */
.minakami-lp .has-band { padding-top: 0; }
.minakami-lp .mlp-band { position: relative; display: grid; align-items: end; min-height: 64svh; max-height: 820px; overflow: hidden; color: #fcfcfc; }
.minakami-lp .mlp-band-photo { position: absolute; inset: 0; }
.minakami-lp .mlp-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 10%) 0%, rgb(0 0 0 / 0%) 30%, rgb(0 0 0 / 55%) 100%); }
.minakami-lp .mlp-band.is-cool::after { background: linear-gradient(180deg, rgb(40 60 80 / 20%) 0%, rgb(30 45 60 / 0%) 30%, rgb(20 30 40 / 66%) 100%); }
.minakami-lp .mlp-band.is-warm::after { background: linear-gradient(180deg, rgb(80 55 40 / 16%) 0%, rgb(60 40 30 / 0%) 30%, rgb(40 28 20 / 66%) 100%); }
.minakami-lp .mlp-band-inner { position: relative; z-index: 1; display: grid; justify-items: start; gap: 10px; width: min(calc(100% - 40px), 1120px); margin-inline: auto; padding: 96px 0 40px; }
.minakami-lp .mlp-soon-badge { padding: 6px 12px; border: 1px solid rgb(252 252 252 / 55%); border-radius: 999px; font-size: 12px; line-height: 1; font-weight: 700; }
.minakami-lp .mlp-band-name { font: 700 44px/1 var(--font-num); letter-spacing: -.02em; }
.minakami-lp .mlp-band-sub { font-size: 15px; line-height: 1.6; font-weight: 700; }
.minakami-lp .mlp-band-desc { max-width: 30em; font-size: 13px; line-height: 1.9; opacity: .9; }
.minakami-lp .mlp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.minakami-lp .mlp-chips li { padding: 6px 12px; border-radius: 999px; background: rgb(252 252 252 / 16%); font: 600 11px/1.4 var(--font-num); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.minakami-lp .has-band > .mlp-wrap { margin-top: 72px; }

/* Meals: square art with the words under it, for photographs or the planned illustrations alike */
.minakami-lp .mlp-meal-art { overflow: hidden; aspect-ratio: 1; border-radius: 12px; background: var(--mlp-tint); }
.minakami-lp .mlp-meal-art.is-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.minakami-lp .mlp-meal-time { display: flex; align-items: baseline; gap: 10px; margin-top: 16px; color: var(--mlp-sub); font-size: 12px; line-height: 1.4; }
.minakami-lp .mlp-meal-time b { color: var(--mlp-ink); font-size: 13px; font-weight: 700; }
/* Meals */
.minakami-lp .mlp-meal-grid { margin-top: 40px; }
/* 昼食 is outside the plan (みっくん 10/27), so it sits apart from the two included meals. */
.minakami-lp .mlp-meal-lunch { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 16px; align-items: start; margin-top: 32px; padding-top: 24px; border-top: 1px solid rgb(47 47 47 / 12%); }
.minakami-lp .mlp-meal-lunch .mlp-meal-art { grid-row: 1 / span 3; }
.minakami-lp .mlp-meal-lunch .mlp-meal-art .mlp-image-note { display: none; }
.minakami-lp .mlp-meal-lunch .mlp-meal-time { margin-top: 0; }
.minakami-lp .mlp-meal-lunch .mlp-meal-time span { padding: 2px 8px; border-radius: 999px; background: rgb(47 47 47 / 7%); color: var(--mlp-ink); font-weight: 700; }
.minakami-lp .mlp-meal .mlp-tall figcaption { justify-content: flex-start; flex-direction: row; align-items: baseline; gap: 10px; }
.minakami-lp .mlp-meal .mlp-tall figcaption b { font-size: 22px; }
.minakami-lp .mlp-meal .mlp-tall figcaption span { font-size: 13px; }
.minakami-lp .mlp-meal h3 { margin-top: 6px; font-size: 19px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-meal > p { margin-top: 8px; color: var(--mlp-sub); font-size: 14px; line-height: 1.9; }
.minakami-lp .mlp-note { margin-top: 32px; color: var(--mlp-sub); font-size: 12px; line-height: 1.8; text-align: center; }
.minakami-lp :is(.mlp-note, .mlp-table dd) a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Rooms */
.minakami-lp .mlp-opening { display: grid; grid-template-columns: 1fr 1fr; margin: 40px auto 0; max-width: 560px; border-top: 1px solid var(--mlp-line); border-bottom: 1px solid var(--mlp-line); }
.minakami-lp .mlp-opening li { position: relative; display: grid; gap: 8px; padding: 20px 4px 20px 0; }
.minakami-lp .mlp-opening li + li { padding-left: 20px; border-left: 1px solid var(--mlp-line); }
.minakami-lp .mlp-opening span { display: grid; gap: 2px; color: var(--mlp-sub); font-size: 11px; line-height: 1.5; font-weight: 500; }
.minakami-lp .mlp-opening span b { color: var(--mlp-ink); font-size: 13px; }
.minakami-lp .mlp-opening strong { font-size: 15px; line-height: 1; font-weight: 700; }
.minakami-lp .mlp-opening em { margin-right: 2px; font-style: normal; font-size: 56px; line-height: .9; font-weight: 700; letter-spacing: -.03em; }
.minakami-lp .mlp-opening strong.is-text { align-self: end; font-size: 24px; line-height: 1.3; }
.minakami-lp .mlp-room-grid { margin-top: 40px; grid-auto-columns: 86%; }
.minakami-lp .mlp-room-type { margin-top: 16px; color: var(--mlp-sub); font-size: 12px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-room-type b { color: var(--mlp-ink); font-size: 13px; }
.minakami-lp .mlp-room h3 { margin-top: 4px; font-size: 19px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-room > p:last-child { margin-top: 6px; color: var(--mlp-sub); font-size: 14px; line-height: 1.9; }

/* Price, access details: label / value rows */
.minakami-lp .mlp-table { margin-top: 36px; border-top: 1px solid var(--mlp-line); }
.minakami-lp .mlp-table > div { display: grid; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--mlp-line); }
.minakami-lp .mlp-table dt { color: var(--mlp-sub); font-size: 12px; line-height: 1.5; font-weight: 500; }
.minakami-lp .mlp-table dd { font-size: 15px; line-height: 1.7; font-weight: 700; }

/* Access */
.minakami-lp .mlp-access { padding-top: 0; }
.minakami-lp .mlp-access-photo { height: 40svh; max-height: 520px; margin-bottom: 56px; -webkit-mask: linear-gradient(180deg, #000 60%, transparent 100%); mask: linear-gradient(180deg, #000 60%, transparent 100%); }
.minakami-lp .mlp-access-photo img { background: none; }
.minakami-lp .mlp-routes { margin-top: 36px; border-top: 1px solid var(--mlp-line); }
.minakami-lp .mlp-routes li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--mlp-line); }
.minakami-lp .mlp-routes span { display: grid; gap: 2px; }
.minakami-lp .mlp-routes span b { font-size: 15px; line-height: 1.6; font-weight: 700; }
.minakami-lp .mlp-routes small { color: var(--mlp-sub); font-size: 12px; line-height: 1.6; }
.minakami-lp .mlp-routes em { flex: none; font-size: 13px; font-style: normal; font-weight: 700; white-space: nowrap; }
.minakami-lp .mlp-routes em b { margin-inline: 2px; font-size: 44px; line-height: 1; letter-spacing: -.03em; }
.minakami-lp .mlp-routes + .mlp-table { margin-top: 0; border-top: 0; }

/* FAQ */
.minakami-lp .mlp-faq-list { margin-top: 32px; border-top: 1px solid var(--mlp-line); }
.minakami-lp .mlp-faq-list details { border-bottom: 1px solid var(--mlp-line); }
.minakami-lp .mlp-faq-list summary { position: relative; padding: 20px 32px 20px 0; font-size: 15px; line-height: 1.6; font-weight: 700; list-style: none; cursor: pointer; }
.minakami-lp .mlp-faq-list summary::-webkit-details-marker { display: none; }
.minakami-lp .mlp-faq-list summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); transition: transform .2s ease; }
.minakami-lp .mlp-faq-list details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.minakami-lp .mlp-faq-list details p { padding: 0 0 18px; color: var(--mlp-sub); font-size: 14px; line-height: 1.9; }

/* Reservation: the mountain at night, the days to the pre-open glowing */
.minakami-lp .mlp-reserve { position: relative; overflow: hidden; padding: 120px 0 calc(104px + env(safe-area-inset-bottom)); background: var(--mlp-night); color: #fcfcfc; text-align: center; scroll-margin-top: calc(var(--header-height) + 44px); }
.minakami-lp .mlp-reserve::before { content: ""; position: absolute; z-index: 3; top: -1px; left: 0; right: 0; height: 18px; background: var(--mlp-tint); transform: scaleY(-1); -webkit-mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; }
.minakami-lp .mlp-reserve-photo { position: absolute; inset: 0; opacity: .45; background: none; }
.minakami-lp .mlp-reserve::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(47 47 47 / 30%) 0%, rgb(47 47 47 / 85%) 70%, var(--mlp-night) 100%); }
.minakami-lp .mlp-reserve .mlp-snow { z-index: 1; }
.minakami-lp .mlp-reserve-body { z-index: 2; }
.minakami-lp .mlp-reserve .mlp-label { color: rgb(252 252 252 / 64%); }
.minakami-lp .mlp-reserve h2 { margin-top: 14px; font-size: 20px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-reserve-date { margin-top: 10px; font-size: 52px; line-height: 1; font-weight: 700; letter-spacing: -.03em; }
/* Year and weekday ride beside the date, small (みっくん 10/28: 2026年11月1日（日）). */
.minakami-lp .mlp-reserve-date small { font-size: .38em; font-weight: 700; letter-spacing: 0; }
.minakami-lp .mlp-reserve-count { display: flex; justify-content: center; align-items: baseline; gap: 6px; margin-top: 18px; font-size: 16px; line-height: 1; font-weight: 700; }
.minakami-lp .mlp-reserve-count[hidden] { display: none; }
.minakami-lp .mlp-reserve-count b { color: var(--mlp-accent); font-size: 72px; line-height: .9; letter-spacing: -.03em; text-shadow: 0 0 32px rgb(213 110 89 / 50%); }
.minakami-lp .mlp-steps { display: grid; grid-template-columns: 1fr 1fr; width: min(100%, 560px); margin: 40px auto 0; border-top: 1px solid rgb(252 252 252 / 18%); border-bottom: 1px solid rgb(252 252 252 / 18%); text-align: left; }
.minakami-lp .mlp-steps li { display: grid; align-content: start; gap: 10px; padding: 20px 16px 22px 0; word-break: auto-phrase; text-wrap: balance; font-size: 14px; line-height: 1.7; font-weight: 700; }
.minakami-lp .mlp-steps li + li { padding-left: 16px; border-left: 1px solid rgb(252 252 252 / 18%); }
.minakami-lp .mlp-steps b { color: var(--mlp-kaiho); font-size: 40px; line-height: 1; font-weight: 700; letter-spacing: -.03em; }
.minakami-lp .mlp-reserve .mlp-steps .mlp-tbd { display: table; margin: 10px 0 0; }
.minakami-lp .mlp-reserve .mlp-tbd { margin: 4px 0 0; border-color: rgb(252 252 252 / 50%); color: rgb(252 252 252 / 86%); }
.minakami-lp .mlp-reserve-meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 24px; margin-top: 28px; font-size: 13px; line-height: 1.7; }
.minakami-lp .mlp-reserve-meta div { display: flex; gap: 8px; }
.minakami-lp .mlp-reserve-meta dt { opacity: .64; }
.minakami-lp .mlp-reserve-meta dd { font-weight: 700; }
.minakami-lp .mlp-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding: 17px 32px; border-radius: 999px; background: #fcfcfc; color: #2f2f2f; font-size: 15px; line-height: 1; font-weight: 700; text-decoration: none; }
.minakami-lp .mlp-cta.is-hold { cursor: default; }
.minakami-lp .mlp-cta-sub { display: flex; align-items: center; justify-content: center; gap: 6px; width: fit-content; margin: 18px auto 0; color: #fcfcfc; font-size: 14px; line-height: 1.5; font-weight: 700; text-decoration: underline; text-decoration-color: rgb(252 252 252 / 40%); text-underline-offset: 4px; }
.minakami-lp .mlp-cta-sub .mlp-icon { width: 16px; height: 16px; }

/* Floating reservation pill (wide screens; the phone's bottom bar has 予約) */
.minakami-lp .mlp-float { display: none; }

/* Motion: blocks rise once; the hero settles in. */
@media (prefers-reduced-motion: no-preference) {
  .minakami-lp .mlp-hero-line { animation: mlp-rise 1.2s var(--mlp-ease) .3s both; }
  .minakami-lp .mlp-hero-title { animation: mlp-title 1.6s var(--mlp-ease) .1s both; }
  .minakami-lp [data-mlp-in] { opacity: 0; transform: translateY(28px); transition: opacity 1s var(--mlp-ease), transform 1s var(--mlp-ease); }
  .minakami-lp [data-mlp-in].is-in { opacity: 1; transform: none; }
  .minakami-lp .mlp-tall:hover img, .minakami-lp .mlp-wide:hover img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) { .minakami-lp .mlp-reel img { transition: none; } }
/* Phones: filters on full-screen photographs while scrolling stutter on iPhone; the white veil alone sinks them. */
@media (max-width: 767px) { .minakami-lp .mlp-reel img, .minakami-lp .mlp-hero-title { filter: none; } }
@keyframes mlp-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
/* No filter on the title: Safari clips a filtered element's text-shadow to its box, which drew a dark band behind it (owner 10/12). */
@keyframes mlp-title { from { opacity: 0; letter-spacing: .2em; } to { opacity: 1; letter-spacing: 0; } }

@media (min-width: 768px) {
  .minakami-lp .mlp-section { padding: 112px 0; }
  /* Sections that open or close on a full photograph keep that edge flush on wide screens too. */
  .minakami-lp .mlp-activity { padding-bottom: 0; }
  .minakami-lp .has-band, .minakami-lp .mlp-access { padding-top: 0; }
  .minakami-lp .mlp-head h2 { font-size: 38px; line-height: 1.5; }
  .minakami-lp .mlp-head > p:not(.mlp-label) { font-size: 15px; }
  .minakami-lp .mlp-hero { height: 100svh; min-height: 640px; max-height: 1000px; }
  .minakami-lp .mlp-reel-bars { left: 50%; right: auto; width: 320px; transform: translateX(-50%); }
  .minakami-lp .mlp-hero-line { font-size: 22px; }
  .minakami-lp .mlp-hero-place { font-size: 13px; }
  .minakami-lp .mlp-nav { justify-content: center; gap: 32px; }
  .minakami-lp .mlp-summary { padding: 24px 0 40px; }
  .minakami-lp .mlp-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--mlp-line); }
  .minakami-lp .mlp-summary-grid li { border-bottom: 0; border-right: 1px solid var(--mlp-line); }
  .minakami-lp .mlp-summary-grid li:last-child { border-right: 0; }
  .minakami-lp .mlp-summary-grid a { min-height: 150px; padding: 24px; }
  .minakami-lp .mlp-summary-grid .mlp-big { font-size: 40px; }
  .minakami-lp .mlp-summary-grid .mlp-big em { font-size: 48px; }
  .minakami-lp .mlp-statement h2 { font-size: 56px; }
  .minakami-lp .mlp-statement > p:not(.mlp-label) { font-size: 18px; }
  .minakami-lp .mlp-peak { height: 90svh; max-height: 880px; margin-top: -40px; }
  .minakami-lp .mlp-facts { margin-top: -180px; }
  .minakami-lp .mlp-rail { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: auto; gap: 20px; margin-inline: 0; padding: 0; overflow: visible; }
  .minakami-lp .mlp-wrap.mlp-rail { width: min(calc(100% - 40px), 1120px); margin-inline: auto; }
  .minakami-lp .mlp-tall figcaption { padding: 24px; }
  .minakami-lp .mlp-tall figcaption b { font-size: 44px; }
  .minakami-lp .mlp-day { height: 86svh; max-height: 860px; margin-top: 72px; }
  .minakami-lp .mlp-day figcaption { left: max(20px, calc((100% - 1120px) / 2)); bottom: 88px; font-size: 20px; }
  .minakami-lp .mlp-day-label { font-size: 64px; }
  .minakami-lp .mlp-night { padding-bottom: 112px; }
  .minakami-lp .mlp-night-photo, .minakami-lp .mlp-night .mlp-snow { height: 86svh; max-height: 860px; }
  .minakami-lp .mlp-night-body { margin-top: -220px; }
  .minakami-lp .mlp-night-time { font-size: 112px; }
  .minakami-lp .mlp-night-time i { font-size: 48px; }
  .minakami-lp .mlp-night h3 { font-size: 40px; }
  .minakami-lp .mlp-night-body > p:last-child { font-size: 16px; }
  .minakami-lp .mlp-acts { margin-top: 48px; }
  .minakami-lp .mlp-tabs { margin-top: 56px; }
  .minakami-lp .mlp-timeline { margin-top: 72px; }
  .minakami-lp .mlp-timeline > ol > li { grid-template-columns: 220px minmax(0, 1fr); column-gap: 24px; padding: 28px 0; }
  .minakami-lp .mlp-timeline > ol > li > div { grid-column: 2; }
  .minakami-lp .mlp-timeline time { grid-row: 1; font-size: 30px; }
  .minakami-lp .mlp-timeline h3 { margin-top: 0; font-size: 18px; }
  .minakami-lp .mlp-timeline > ol > li::before { top: 37px; }
  .minakami-lp .mlp-day-no b { font-size: 40px; }
  .minakami-lp .mlp-tabs b { font-size: 88px; }
  .minakami-lp .mlp-route-facts dd { font-size: 15px; }
  .minakami-lp .mlp-more { grid-template-columns: 1fr 1fr; gap: 20px; }
  .minakami-lp .mlp-wide { aspect-ratio: 16 / 11; }
  .minakami-lp .mlp-wide figcaption { padding: 32px; }
  .minakami-lp .mlp-wide b { font-size: 28px; }
  .minakami-lp .mlp-band { min-height: 100svh; max-height: 980px; }
  .minakami-lp .mlp-band-inner { padding-top: 120px; }
  .minakami-lp .mlp-band-inner { padding-bottom: 96px; }
  .minakami-lp .mlp-band-name { font-size: 104px; }
  .minakami-lp .mlp-band-sub { font-size: 18px; }
  .minakami-lp .mlp-band-desc { font-size: 15px; }
  .minakami-lp .has-band > .mlp-wrap { margin-top: 144px; }
  .minakami-lp .mlp-meal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 800px); margin: 64px auto 0; gap: 24px; }
  .minakami-lp .mlp-meal-lunch { width: min(100%, 800px); margin: 40px auto 0; grid-template-columns: 200px minmax(0, 1fr); column-gap: 24px; }
  .minakami-lp .mlp-room-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 1120px); margin: 56px auto 0; }
  .minakami-lp .mlp-opening em { font-size: 80px; }
  .minakami-lp .mlp-opening strong.is-text { font-size: 32px; }
  .minakami-lp .mlp-table > div { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 20px 0; }
  .minakami-lp .mlp-table dt { font-size: 13px; line-height: 1.7; }
  .minakami-lp .mlp-access-photo { height: 64svh; max-height: 720px; margin-bottom: 80px; }
  .minakami-lp .mlp-routes em b { font-size: 64px; }
  .minakami-lp .mlp-faq-list summary { padding: 24px 36px 24px 0; font-size: 16px; }
  .minakami-lp .mlp-reserve { padding: 176px 0 160px; }
  .minakami-lp .mlp-reserve h2 { font-size: 24px; }
  .minakami-lp .mlp-steps li { padding: 28px 24px 30px 0; font-size: 15px; }
  .minakami-lp .mlp-steps li + li { padding-left: 24px; }
  .minakami-lp .mlp-steps b { font-size: 56px; }
  .minakami-lp .mlp-reserve-date { font-size: 112px; }
  .minakami-lp .mlp-reserve-count b { font-size: 120px; }
  .minakami-lp .mlp-float { position: fixed; z-index: 30; right: 32px; bottom: 32px; display: flex; align-items: center; gap: 10px; padding: 14px 18px 14px 22px; border-radius: 999px; background: #2f2f2f; color: #fcfcfc; box-shadow: 0 8px 24px rgb(0 0 0 / 18%); font-size: 13px; line-height: 1; font-weight: 700; text-decoration: none; white-space: nowrap; opacity: 0; pointer-events: none; transform: translateY(16px); transition: opacity .3s ease, transform .4s var(--mlp-ease); }
  .minakami-lp .mlp-float span { font-size: 11px; font-weight: 500; opacity: .7; }
  .minakami-lp .mlp-float .mlp-icon { width: 16px; height: 16px; }
  .minakami-lp .mlp-float.is-on { opacity: 1; pointer-events: auto; transform: none; }
}
/* The handwritten days are thinner than Inter: a size up, same glow. */
.minakami-lp .mlp-reserve-count b.mlp-hand { font-size: 104px; line-height: .8; letter-spacing: 0; }
@media (min-width: 768px) { .minakami-lp .mlp-reserve-count b.mlp-hand { font-size: 160px; } }

/* Running text set like a magazine column (owner 2026-10-13): each sentence on its own line (the <br> after 「。」 is
   in the markup), lines justified edge to edge so a paragraph reads as a clean block, no word left alone. */
.minakami-lp :is(.mlp-night-body > p:last-child, .mlp-room > p:last-child, .mlp-wide span, .mlp-faq-list details p) { text-align: justify; text-justify: inter-character; line-break: strict; }
.minakami-lp :is(.mlp-head > p:not(.mlp-label), .mlp-statement > p:not(.mlp-label), .mlp-note) { word-break: auto-phrase; text-wrap: pretty; }
.minakami-lp .mlp-night-body > p:last-child { max-width: 36em; }
/* The glued sentence end takes nothing from span rules around it (昼's 40px, card captions…), only its parent's text. */
.minakami-lp span.mlp-nw.mlp-nw { all: unset; white-space: nowrap; }

/* トリツメ: a full-width 「、」 in a heading gives back its empty half. */
.minakami-lp .mlp-tsume { margin-right: -.42em; font-style: normal; }


/* The base bands are torn in by hand at both ends (the TOP's hand-drawn edge), not cut straight. */
.minakami-lp .mlp-edge { position: absolute; z-index: 2; left: 0; right: 0; height: 18px; pointer-events: none; -webkit-mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; }
.minakami-lp .mlp-edge.is-top { top: -1px; background: var(--mlp-band-above, var(--mlp-paper)); transform: scaleY(-1); }
.minakami-lp .mlp-edge.is-bottom { bottom: -1px; background: var(--mlp-paper); }
.minakami-lp #meals .mlp-band { --mlp-band-above: var(--mlp-paper); }
.minakami-lp #rooms .mlp-band { --mlp-band-above: var(--mlp-paper); }

/* A justified line in a phone-width card stretches its gaps when the glued sentence end moves down; set those ragged. */
@media (max-width: 767px) { .minakami-lp :is(.mlp-meal > p, .mlp-room > p:last-child, .mlp-wide span) { text-align: start; } }
/* Touch targets: the schedule's BIG/ACT links and the news link reach 40px. */
.minakami-lp .mlp-timeline a.mlp-tag { position: relative; display: inline-flex; align-items: center; min-height: 28px; margin: 3px 0; padding: 0 12px; }
/* The pill reads small; its tap area still reaches 34px. */
.minakami-lp .mlp-timeline a.mlp-tag::after { content: ""; position: absolute; inset: -3px -2px; }
.minakami-lp .mlp-cta-sub { min-height: 44px; }

/* Wireframe intents brought back (2026-10-13): the place's identity, the three pillars numbered, the two bases. */
.minakami-lp .mlp-identity { display: grid; gap: 28px; margin-top: 88px; }
.minakami-lp .mlp-aerial { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 4px; }
.minakami-lp .mlp-aerial::after { content: ""; position: absolute; inset: 0; background: rgb(20 30 40 / 18%); pointer-events: none; }
.minakami-lp .mlp-pin { position: absolute; z-index: 1; left: var(--x); top: var(--y); display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 10px; border-radius: 999px; background: rgb(252 252 252 / 92%); color: var(--mlp-ink); font-size: 12px; line-height: 1.3; font-weight: 700; white-space: nowrap; box-shadow: 0 4px 16px rgb(0 0 0 / 18%); }
.minakami-lp .mlp-pin.is-slope { padding-left: 12px; background: rgb(47 47 47 / 72%); color: #fcfcfc; font-weight: 500; box-shadow: none; }
.minakami-lp .mlp-pin.is-base { transform: translate(-12px, -50%); }
.minakami-lp .mlp-pin i { position: relative; width: 10px; height: 10px; border-radius: 50%; background: var(--mlp-accent); }
.minakami-lp .mlp-pin i::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--mlp-accent); opacity: 0; }
@media (prefers-reduced-motion: no-preference) { .minakami-lp .mlp-pin i::after { animation: mlp-ping 2.4s ease-out infinite; } }
@keyframes mlp-ping { 0% { opacity: .8; transform: scale(.6); } 100% { opacity: 0; transform: scale(1.8); } }
.minakami-lp .mlp-identity-text { text-align: center; }
.minakami-lp .mlp-identity-text h2 { margin-top: 14px; font-size: min(28px, 7vw); line-height: 1.45; font-weight: 700; }
.minakami-lp .mlp-identity-text > p:not(.mlp-label) { margin-top: 14px; color: var(--mlp-sub); font-size: 14px; line-height: 1.95; word-break: auto-phrase; text-wrap: pretty; }
.minakami-lp .mlp-label b { margin-right: 8px; font-family: var(--font-num); }
/* 01 reads like 02 and 03 (the wide cards): a large white figure before a small label (owner 10/12). */
.minakami-lp .mlp-night .mlp-label { display: flex; align-items: baseline; color: rgb(252 252 252 / 80%); line-height: 1.5; }
.minakami-lp .mlp-night .mlp-label b { color: inherit; font-size: 22px; line-height: 1.4; font-weight: 700; }
@media (min-width: 768px) { .minakami-lp .mlp-night .mlp-label b { font-size: 28px; } }
.minakami-lp .mlp-pillar { aspect-ratio: 4 / 5; }
.minakami-lp .mlp-wide small b { margin-right: 8px; font-family: var(--font-num); }
.minakami-lp .mlp-choose-head { margin-top: 88px; }
.minakami-lp .mlp-bases-head { padding-bottom: 64px; }
.minakami-lp .mlp-base-index { display: grid; grid-template-columns: 1fr 1fr; width: min(100%, 560px); margin: 32px auto 0; border-top: 1px solid var(--mlp-line); border-bottom: 1px solid var(--mlp-line); }
.minakami-lp .mlp-base-index li + li { border-left: 1px solid var(--mlp-line); }
.minakami-lp .mlp-base-index a { display: grid; gap: 4px; padding: 18px 16px; color: var(--mlp-ink); text-decoration: none; }
.minakami-lp .mlp-base-index span { color: var(--mlp-sub); font-size: 12px; line-height: 1; font-weight: 700; }
.minakami-lp .mlp-base-index b { font: 700 18px/1.2 var(--font-num); letter-spacing: -.01em; }
.minakami-lp .mlp-base-index small { color: var(--mlp-sub); font-size: 12px; line-height: 1.5; }
.minakami-lp .mlp-band-no { display: flex; align-items: baseline; gap: 8px; font-size: 12px; line-height: 1; font-weight: 700; opacity: .85; }
@media (min-width: 768px) {
  .minakami-lp .mlp-identity { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 64px; margin-top: 112px; }
  .minakami-lp .mlp-identity-text { text-align: left; }
  .minakami-lp .mlp-identity-text h2 { font-size: 40px; }
  .minakami-lp .mlp-identity-text > p:not(.mlp-label) { font-size: 15px; }
  .minakami-lp .mlp-pin { font-size: 14px; }
  .minakami-lp .mlp-pillar { aspect-ratio: 21 / 9; }
  .minakami-lp .mlp-choose-head { margin-top: 128px; }
  .minakami-lp .mlp-more { grid-template-columns: minmax(0, 760px); justify-content: center; }
  .minakami-lp .mlp-bases-head { padding-bottom: 96px; }
  .minakami-lp .mlp-base-index a { padding: 24px; }
  .minakami-lp .mlp-base-index b { font-size: 24px; }
}
/* 「16:30頃〜20:00頃」 stays on one line on a phone. */
@media (max-width: 767px) {
  .minakami-lp .mlp-night-time { font-size: 44px; white-space: nowrap; }
  .minakami-lp .mlp-night-time i { margin: 0 2px; font-size: 20px; }
}
/* BIG / ACT facts each stay on one line: columns size to their words. */
.minakami-lp .mlp-route-facts { grid-template-columns: repeat(3, auto); justify-content: space-around; }
.minakami-lp .mlp-route-facts dd { white-space: nowrap; }
@media (max-width: 767px) { .minakami-lp .mlp-route-facts dd { font-size: 12.5px; } }
/* Wide screens use their width instead of their height: no information is dropped, only empty height.
   Bands open a chapter without taking the whole screen; the two days sit side by side; access puts the
   train beside the routes. */
@media (min-width: 768px) {
  .minakami-lp .mlp-band { min-height: 62svh; max-height: 640px; }
  .minakami-lp .mlp-band-inner { padding-top: 96px; padding-bottom: 64px; }
  .minakami-lp .mlp-band-name { font-size: 88px; }
  .minakami-lp .has-band > .mlp-wrap { margin-top: 96px; }
  .minakami-lp .mlp-meal-art { aspect-ratio: 4 / 3; }
  .minakami-lp .mlp-peak { height: 72svh; max-height: 700px; }
  .minakami-lp .mlp-wide { aspect-ratio: 2 / 1; }
  .minakami-lp .mlp-acts .mlp-tall, .minakami-lp .mlp-facts .mlp-tall { aspect-ratio: 4 / 5; }
}
@media (min-width: 1024px) {
  .minakami-lp .mlp-timeline { display: grid; grid-auto-flow: column; grid-template-rows: auto 1fr; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; width: min(100%, 1120px); }
  .minakami-lp .mlp-timeline > ol > li { grid-template-columns: minmax(0, 1fr); padding: 22px 0; }
  .minakami-lp .mlp-timeline > .mlp-day-no { margin-top: 0; }
  .minakami-lp .mlp-timeline > ol > li > div { grid-column: 1; }
  .minakami-lp .mlp-timeline > ol > li::before { top: 31px; }
  .minakami-lp .mlp-access { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: 64px; padding-top: 112px; }
  .minakami-lp .mlp-access-photo { align-self: stretch; height: auto; min-height: 560px; max-height: none; margin: 0; border-radius: 0 12px 12px 0; -webkit-mask: none; mask: none; }
  .minakami-lp .mlp-access > .mlp-wrap { width: auto; max-width: 560px; margin: 0; }
  .minakami-lp .mlp-access .mlp-head { text-align: left; }
}
/* Depth (owner's sketch 10/12): photographs at the back drift slower than the page, the words laid over them
   drift faster, so they slide across. Scroll-driven CSS, run by the browser with the scroll itself (the
   script version stuttered on iPhone); where it is not supported the page simply stands still. */
.minakami-lp :is(.mlp-peak, .mlp-day, .mlp-night-photo, .mlp-access-photo) { overflow: hidden; }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .minakami-lp :is(.mlp-peak img, .mlp-day img, .mlp-night-photo img, .mlp-band-photo, .mlp-access-photo img, .mlp-reserve-photo) { scale: 1.16; animation: mlp-depth-back linear both; animation-timeline: view(); }
    /* Only words that sit inside their photograph's own box move: the 01–03 rail continues into ordinary content,
       where a moving gap read as the layout coming apart on iPhone (owner 10/12). */
    .minakami-lp :is(.mlp-night-body, .mlp-band-inner) { animation: mlp-depth-front linear both; animation-timeline: view(); }
  }
}
@keyframes mlp-depth-back { from { translate: 0 -6%; } to { translate: 0 6%; } }
@keyframes mlp-depth-front { from { translate: 0 36px; } to { translate: 0 -36px; } }
/* Summary: every cell's big figure sits in the same fixed-height line on one baseline, so the label, the
   figure and the small line read straight across the cells (12.25 is Latin only, 約1時間 mixes in kanji). */
.minakami-lp .mlp-summary-grid .mlp-big { display: flex; align-items: baseline; height: 40px; line-height: 1; white-space: nowrap; }
.minakami-lp .mlp-summary-grid .mlp-big em { line-height: 1; }
@media (min-width: 768px) { .minakami-lp .mlp-summary-grid .mlp-big { height: 52px; } }
/* The kanji around a figure (約・時間, 回, 全・室) are drawn to the figure's ink: Zen Kaku's kanji stand 0.92em
   tall and drop 0.077em under the baseline where Inter's figures stand 0.736em and sit on it, so the kanji are
   set at 0.8× the figure and lifted by their drop — tops and bottoms line up across the cells. */
.minakami-lp .mlp-summary-grid .mlp-big { --mlp-fig: 36px; }
.minakami-lp .mlp-summary-grid .mlp-big em { font-size: var(--mlp-fig); }
.minakami-lp .mlp-summary-grid .mlp-unit { position: relative; top: -.077em; font-size: calc(var(--mlp-fig) * .8); }
@media (min-width: 768px) { .minakami-lp .mlp-summary-grid .mlp-big { --mlp-fig: 48px; } }
/* A tint section hands back to paper on the same freehand edge it opened with (施設 after スケジュール,
   アクセス after 料金; owner 10/12). */
.minakami-lp .mlp-section.is-tint + .mlp-section:not(.is-tint)::before { content: ""; position: absolute; z-index: 2; top: -17px; left: 0; right: 0; height: 18px; background: var(--mlp-paper); pointer-events: none; -webkit-mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; mask: url('/assets/images/top-handdrawn-edge.png') center -72px / 140% 198px no-repeat; }

/* A room shown by its floor plan (team's 客室案内図, 2026-10-19): the whole plan, never cropped, on its own grey. */
.minakami-lp .mlp-tall.is-plan { background: var(--mlp-tint); }
.minakami-lp .mlp-tall.is-plan img { object-fit: contain; padding: 20px 28px 42px; background: none; }
.minakami-lp .mlp-tall.is-plan figcaption { position: absolute; inset: auto auto 10px 12px; display: block; padding: 0; color: rgb(47 47 47 / 64%); font-size: 11px; line-height: 16px; background: none; }
.minakami-lp .mlp-room-soon { position: absolute; inset: 12px auto auto 12px; z-index: 1; padding: 5px 10px; border-radius: 999px; background: rgb(252 252 252 / 88%); color: var(--mlp-sub); font-size: 11px; line-height: 1; font-weight: 700; }
/* アクセス opens on a photograph, so a paper tear would lie on the photo as a white strip; the 料金 tint
   tears down over it instead, as the reservation band does. From 1024px the photo sits beside the text
   below a paper margin, so the paper tear stays. */
@media (max-width: 1023px) { .minakami-lp .mlp-section.is-tint + .mlp-section.mlp-access::before { z-index: 3; top: -1px; background: var(--mlp-tint); transform: scaleY(-1); } }

/* SAMPLE (10/19): one photograph per time of day, so the day reads at a glance; the words stay quiet. */
.minakami-lp .mlp-timeline > ol > li { grid-template-columns: minmax(0, 1fr) 84px; column-gap: 16px; }
.minakami-lp .mlp-timeline > ol > li > :is(time, div) { grid-column: 1; }
.minakami-lp .mlp-tl-photo { grid-column: 2; grid-row: 1 / span 2; align-self: start; width: 84px; aspect-ratio: 1; margin-top: 2px; overflow: hidden; border-radius: 12px; }
@media (min-width: 768px) {
  .minakami-lp .mlp-timeline > ol > li { grid-template-columns: 220px minmax(0, 1fr) 132px; column-gap: 24px; }
  .minakami-lp .mlp-timeline > ol > li > time { grid-column: 1; }
  .minakami-lp .mlp-timeline > ol > li > div { grid-column: 2; }
  .minakami-lp .mlp-tl-photo { grid-column: 3; grid-row: 1; width: 132px; aspect-ratio: 4 / 3; margin-top: 0; }
}
@media (min-width: 1024px) {
  .minakami-lp .mlp-timeline > ol > li { grid-template-columns: minmax(0, 1fr) 120px; }
  .minakami-lp .mlp-timeline > ol > li > :is(time, div) { grid-column: 1; }
  .minakami-lp .mlp-tl-photo { grid-column: 2; grid-row: 1 / span 2; width: 120px; }
}
/* The photo narrows the column, so a flow can wrap: the dot rides at the end of a line, never opens one. */
.minakami-lp .mlp-timeline .mlp-flow:not(.is-stack) li + li::before { display: none; }
.minakami-lp .mlp-timeline .mlp-flow:not(.is-stack) li:not(:last-child)::after { content: ""; width: 3px; height: 3px; margin: 0 10px; border-radius: 50%; background: currentColor; opacity: .6; }
/* Stand-in photographs of places that are not built or shot yet say so (owner 10/19). */
.minakami-lp .mlp-image-note { margin-top: 14px; color: rgb(252 252 252 / 72%); font-size: 11px; line-height: 1.6; }
/* The note sits in the photo's corner; the caption padding of .mlp-tall figcaption would push it 18px further in (owner 2026-10-20). */
.minakami-lp .mlp-tall.is-room > .mlp-image-note { position: absolute; inset: auto auto 10px 12px; margin: 0; padding: 0; text-shadow: 0 0 6px rgb(0 0 0 / 45%); }
/* Photo frames clip rather than hide: an overflow:hidden box is still a scroll container, so find-in-page or a
   focus inside it could scroll its photo and torn edges out of line (SUIGEN band, 10/19). Older browsers keep hidden. */
.minakami-lp :is(.mlp-hero, .mlp-night, .mlp-band, .mlp-reserve, .mlp-peak, .mlp-day, .mlp-night-photo, .mlp-access-photo, .mlp-tall, .mlp-wide, .mlp-aerial, .mlp-meal-art, .mlp-tl-photo) { overflow: clip; }

/* みっくん 10/21: the reading sits under each base's English name; its places are glass tiles like the chips they replace. */
.minakami-lp .mlp-band-name small { display: block; margin-top: 10px; font-family: inherit; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: .08em; opacity: .8; }
.minakami-lp .mlp-band-no .mlp-soon-badge { margin-left: 4px; padding: 4px 9px; border: 0; background: rgb(252 252 252 / 18%); font-size: 11px; }
/* Head of each band in three steps: label, name with its reading, then the description. */
.minakami-lp .mlp-band-inner { gap: 0; }
.minakami-lp .mlp-band-name { margin-top: 14px; }
.minakami-lp .mlp-band-name small { margin-top: 8px; opacity: .72; }
.minakami-lp .mlp-band-desc { max-width: 36em; margin-top: 18px; text-wrap: pretty; }
.minakami-lp .mlp-places { margin-top: 22px; }
.minakami-lp .mlp-band-inner > .mlp-image-note { margin-top: 14px; }
.minakami-lp .mlp-places { display: grid; width: min(100%, 34em); margin-top: 10px; padding: 2px 16px; border-radius: 14px; background: rgb(20 24 28 / 28%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.minakami-lp .mlp-places li { display: grid; gap: 2px; padding: 11px 0; }
.minakami-lp .mlp-places li + li { border-top: 1px solid rgb(252 252 252 / 16%); }
.minakami-lp .mlp-places b { font: 700 12px/1.4 var(--font-num); letter-spacing: .02em; }
.minakami-lp .mlp-places span { font-size: 12px; line-height: 1.6; opacity: .88; }
/* The two bases as blocks (owner 10/21), the facility picker's grey tiles with the still-life on top. */
.minakami-lp .mlp-base-blocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: min(100%, 720px); margin: 32px auto 0; }
.minakami-lp .mlp-base-blocks a { display: grid; align-content: start; gap: 4px; height: 100%; padding: 16px 16px 18px; border-radius: 12px; background: #eceeed; color: var(--mlp-ink); text-decoration: none; transition: background-color .2s ease; }
.minakami-lp .mlp-base-blocks a:active { background: #dde3e3; }
.minakami-lp .mlp-base-blocks .mlp-base-icon { width: 80px; height: 80px; margin: 0 0 10px; object-fit: contain; background: none; border-radius: 0; }
.minakami-lp .mlp-base-blocks .mlp-base-no { display: flex; align-items: baseline; gap: 8px; color: var(--mlp-sub); font-size: 12px; line-height: 1; font-weight: 700; }
.minakami-lp .mlp-base-blocks b { font: 700 17px/1.25 var(--font-num); letter-spacing: -.01em; }
.minakami-lp .mlp-base-blocks small { color: var(--mlp-sub); font-size: 12px; line-height: 1.5; }
.minakami-lp .mlp-pc-only { display: none; }
@media (min-width: 768px) {
  .minakami-lp .mlp-band-name small { font-size: 14px; }
  .minakami-lp .mlp-band-name { margin-top: 18px; }
  .minakami-lp .mlp-band-desc { max-width: 40em; margin-top: 24px; }
  .minakami-lp .mlp-places { margin-top: 28px; }
  .minakami-lp .mlp-places { width: min(100%, 560px); padding: 4px 22px; }
  .minakami-lp .mlp-places li { grid-template-columns: 12em 1fr; gap: 12px; align-items: baseline; padding: 14px 0; }
  .minakami-lp .mlp-places b { font-size: 14px; }
  .minakami-lp .mlp-places span { font-size: 13px; }
  .minakami-lp .mlp-base-blocks { gap: 16px; margin-top: 40px; }
  .minakami-lp .mlp-base-blocks a { padding: 28px 28px 30px; border-radius: 16px; }
  .minakami-lp .mlp-base-blocks .mlp-base-icon { width: 120px; height: 120px; margin-bottom: 14px; }
  .minakami-lp .mlp-base-blocks b { font-size: 26px; }
  .minakami-lp .mlp-base-blocks small { font-size: 13px; }
  .minakami-lp .mlp-pc-only { display: inline; }
  .minakami-lp .mlp-sp-only { display: none; }
}
/* Schedule picks: BIG and ACT buttons share one width so the rows line up. */
.minakami-lp .mlp-timeline a.mlp-tag { justify-content: center; min-width: 64px; }

/* Price (owner 10/21): the access section's rows, the fee as the big figure, what it includes as icons. */
.minakami-lp .mlp-price-routes li.is-includes { display: grid; justify-content: stretch; gap: 16px; }
.minakami-lp .mlp-price-includes { display: flex; justify-content: space-between; }
.minakami-lp .mlp-price-includes li { display: grid; justify-items: center; gap: 8px; padding: 0; border: 0; color: var(--mlp-ink); font-size: 12px; line-height: 1.2; font-weight: 600; letter-spacing: .04em; }
.minakami-lp .mlp-price-includes .ic { width: 24px; height: 24px; stroke-width: 1.5; opacity: .82; }
.minakami-lp .mlp-price-routes + .mlp-note { margin-top: 24px; line-height: 1.9; }
@media (min-width: 768px) {
  .minakami-lp .mlp-price-routes li.is-includes { display: flex; justify-content: space-between; }
  .minakami-lp .mlp-price-includes { justify-content: flex-end; gap: 32px; }
  .minakami-lp .mlp-price-includes li { font-size: 13px; }
  .minakami-lp .mlp-price-includes .ic { width: 26px; height: 26px; }
  .minakami-lp .mlp-price-routes + .mlp-note { margin-top: 28px; }
}

/* Access (owner 10/21): the shuttle joins the route rows; address and parking drop to a quiet note. */
.minakami-lp .mlp-routes em.is-text { font-size: 28px; line-height: 1; letter-spacing: -.01em; }
.minakami-lp .mlp-routes + .mlp-access-note { margin-top: 24px; line-height: 1.9; }
.minakami-lp .mlp-access-note .ic { display: inline-block; width: 14px; height: 14px; margin-right: 4px; vertical-align: -2px; stroke-width: 1.8; }
@media (min-width: 768px) {
  .minakami-lp .mlp-routes em.is-text { font-size: 40px; }
  .minakami-lp .mlp-routes + .mlp-access-note { margin-top: 28px; }
}

/* Meals (owner 10/21): the image note sits on each photo as on the rooms, so the note below keeps two lines. */
.minakami-lp .mlp-meal-art { position: relative; }
.minakami-lp .mlp-meal-art > .mlp-image-note { position: absolute; inset: auto auto 10px 12px; margin: 0; padding: 0; text-shadow: 0 0 6px rgb(0 0 0 / 45%); }
/* A soft shade along the bottom so the image note reads on light photos (soba, rooms). */
.minakami-lp :is(.mlp-meal-art, .mlp-tall.is-room:not(.is-plan))::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(180deg, rgb(0 0 0 / 0%), rgb(0 0 0 / 46%)); pointer-events: none; }
.minakami-lp :is(.mlp-meal-art, .mlp-tall.is-room) > .mlp-image-note { z-index: 1; }
/* Band text sits on the left; on wide screens shade that side so bright windows (YAMA HOUSE) do not swallow it. */
@media (min-width: 768px) {
  .minakami-lp .mlp-band.is-cool::after { background: linear-gradient(90deg, rgb(20 30 40 / 58%) 0%, rgb(20 30 40 / 0%) 62%), linear-gradient(180deg, rgb(40 60 80 / 20%) 0%, rgb(30 45 60 / 0%) 30%, rgb(20 30 40 / 66%) 100%); }
  .minakami-lp .mlp-band.is-warm::after { background: linear-gradient(90deg, rgb(40 28 20 / 62%) 0%, rgb(40 28 20 / 0%) 62%), linear-gradient(180deg, rgb(80 55 40 / 16%) 0%, rgb(60 40 30 / 0%) 30%, rgb(40 28 20 / 66%) 100%); }
}

/* 10/26 みっくん: three summary cells (体験 cell dropped), the 3 headline experiences large and the rest
   as a gallery, and the price by age. */
.minakami-lp .mlp-summary-grid.is-three li:nth-child(3) { grid-column: span 2; border-right: 0; }
.minakami-lp .mlp-acts.is-gallery { display: grid; grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-columns: auto; gap: 20px 12px; margin-inline: 0; padding: 0; overflow: visible; }
.minakami-lp .mlp-acts.is-gallery .mlp-tall { aspect-ratio: 1 / 1; }
.minakami-lp .mlp-acts.is-gallery h4 { margin-top: 10px; font-size: 14px; }
.minakami-lp .mlp-acts.is-gallery .mlp-act-desc { font-size: 12px; }
.minakami-lp .mlp-price-ages { margin-top: 0; border-top: 0; }
.minakami-lp .mlp-price-ages li { padding: 16px 0; }
.minakami-lp .mlp-price-ages em.is-text { font-size: 15px; }
@media (min-width: 768px) {
  .minakami-lp .mlp-summary-grid.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .minakami-lp .mlp-summary-grid.is-three li:nth-child(3) { grid-column: auto; }
  .minakami-lp .mlp-acts.is-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .minakami-lp .mlp-acts.is-gallery h4 { font-size: 15px; }
  .minakami-lp .mlp-acts.is-gallery .mlp-act-desc { font-size: 13px; }
}

/* 10/26 みっくん: the rooms are small, so the page asks for light luggage and points to the lift/rental plan. */
.minakami-lp .mlp-pack { display: grid; justify-items: center; gap: 10px; margin-top: 40px; padding: 28px 20px; border-radius: 16px; background: var(--mlp-tint); text-align: center; }
.minakami-lp .mlp-pack-icon { width: 96px; height: 96px; margin-bottom: -4px; }
.minakami-lp .mlp-pack h3 { font-size: 18px; line-height: 1.5; font-weight: 700; }
.minakami-lp .mlp-pack p { color: var(--mlp-sub); font-size: 13px; line-height: 1.9; }
.minakami-lp .mlp-pack .mlp-pack-bring { margin-top: 2px; color: var(--mlp-ink); font-size: 15px; font-weight: 700; }
.minakami-lp .mlp-price-plan { margin-top: 0; border-top: 0; scroll-margin-top: calc(var(--header-height) + 120px); }
.minakami-lp .mlp-price-plan li { padding: 18px 0; }
.minakami-lp .mlp-price-plan em.is-text { font-size: 15px; }
@media (min-width: 768px) {
  .minakami-lp .mlp-pack { margin-top: 56px; padding: 36px 32px; }
  .minakami-lp .mlp-pack h3 { font-size: 20px; }
  .minakami-lp .mlp-pack p { font-size: 14px; }
}

/* 10/26 みっくん: the lift/rental plan shows where guests think about gear: the summary, the ski card, booking. */
.minakami-lp .mlp-act-plan { margin-top: 6px; font-size: 12px; line-height: 1.7; font-weight: 700; }
.minakami-lp .mlp-steps.is-three { grid-template-columns: 1fr; }
.minakami-lp .mlp-steps.is-three li { grid-template-columns: 40px 1fr; align-items: center; gap: 14px; padding: 16px 0; }
.minakami-lp .mlp-steps.is-three li + li { padding-left: 0; border-left: 0; border-top: 1px solid rgb(252 252 252 / 18%); }
.minakami-lp .mlp-steps.is-three b { font-size: 32px; }
@media (min-width: 768px) {
  .minakami-lp .mlp-act-plan { font-size: 13px; }
  .minakami-lp .mlp-steps.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 760px); }
  .minakami-lp .mlp-steps.is-three li { grid-template-columns: none; align-items: start; gap: 10px; padding: 28px 24px 30px 0; }
  .minakami-lp .mlp-steps.is-three li + li { padding-left: 24px; border-top: 0; border-left: 1px solid rgb(252 252 252 / 18%); }
  .minakami-lp .mlp-steps.is-three b { font-size: 56px; }
}
/* Featured activities: the catch phrase sits on the photo in place of the name, the h4 is gone (みっくん round 3, 2026-10-27). */
.minakami-lp .mlp-tall figcaption .mlp-act-catch { font-size: 22px; line-height: 1.4; letter-spacing: 0; text-shadow: 0 1px 14px rgb(0 0 0 / 28%); }
.minakami-lp .mlp-acts.is-featured .mlp-act-desc { margin-top: 12px; }
.minakami-lp .mlp-faq-more { display: flex; align-items: center; justify-content: center; gap: 8px; width: fit-content; margin: 32px auto 0; padding: 15px 28px; border-radius: 999px; background: var(--mlp-ink); color: #fcfcfc; font-size: 14px; line-height: 1; font-weight: 700; text-decoration: none; }
.minakami-lp .mlp-faq-more .mlp-icon { width: 16px; height: 16px; }
@media (min-width: 768px) {
  .minakami-lp .mlp-tall figcaption .mlp-act-catch { font-size: 28px; }
  .minakami-lp .mlp-room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 880px); }
}
