/* Plans (アニバーサリー・ロングステイ・乳幼児・わんちゃん) in the room pages' tone (owner, 2026-10-07):
 * the quick facts as one light line, space instead of hairlines, 22px heads, 12px photos with a small
 * expand mark, plain list rows without rules, the related plans as /activity/'s photo cards, and the
 * booking card in 12px / 52px. */
.bub-site-page main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) {
  --plan-line: rgb(47 47 47 / 10%);
}
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 0; border: 0; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) > div { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; min-height: 0; margin: 0; padding: 0; border: 0; grid-template-columns: none; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) dt { display: inline-flex; align-items: center; gap: 4px; width: auto; color: rgb(47 47 47 / 70%); font-size: 13px; line-height: 20px; font-weight: 500; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) dt svg { width: 16px; height: 16px; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) dd { margin: 0; color: var(--ink); font-size: 15px; line-height: 22px; font-weight: 700; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) dd small,
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-facts, .long-stay-facts, .baby-facts, .pets-facts) dd + dd { display: none; }

/* Sections: space, not rules; 22px heads with TOP's 15px lead. */
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) { border-top: 0 !important; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) h2 { font-size: 22px; line-height: 32px; font-weight: 700; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) h2 + p { margin-top: 8px; color: rgb(47 47 47 / 85%); font-size: 15px; line-height: 26px; }

/* Photos: 12px, a small expand mark instead of 「拡大」. */
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) .room-reference-context-photo :is(.bell-photo-trigger, img) { overflow: hidden; border-radius: 12px; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) .bell-photo-trigger::after {
  content: "" !important; right: 8px !important; bottom: 8px !important; width: 28px; height: 28px; padding: 0 !important; border-radius: 4px !important; font-size: 0 !important;
  background: rgb(47 47 47 / 64%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcfcfc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}

/* Lists and their rows: no rules between rows; labels muted. */
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > * { border-top: 0 !important; border-bottom: 0 !important; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) { border: 0 !important; }

/* Notes: TOP's closing grey band, as the room pages. */
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) { border-color: var(--plan-line); }

/* Related plans as /activity/'s photo cards. */
.bub-site-page[data-bub-detail-tone] main .plan-related-cards { display: grid; grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; overflow: visible; }
.bub-site-page[data-bub-detail-tone] main .plan-related-card { display: block; min-width: 0; padding: 0; border: 0; background: none; color: var(--ink); text-decoration: none; }
.bub-site-page[data-bub-detail-tone] main .plan-related-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 8px; object-fit: cover; }
.bub-site-page[data-bub-detail-tone] main .plan-related-card :is(strong, h3) { display: block; margin-top: 10px; font-size: 15px; line-height: 22px; font-weight: 700; }
.bub-site-page[data-bub-detail-tone] main .plan-related-card :is(p, small, span:not(:first-child)) { color: rgb(47 47 47 / 70%); font-size: 13px; line-height: 20px; }
.bub-site-page[data-bub-detail-tone] main .plan-related-card > svg { display: none; }

/* Booking card: 12px corners, 52px action, no eyebrow. */
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) .chosei-room-listing-booking { border-radius: 12px; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) .chosei-room-listing-booking .eyebrow { display: none; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) .chosei-room-listing-booking .button { min-height: 52px; border-radius: 12px; font-weight: 700; }

@media (min-width: 768px) {
  .bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) h2 { font-size: 24px; line-height: 34px; }
  .bub-site-page[data-bub-detail-tone] main .plan-related-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
}
/* Text links as bold 「〜 >」, not underlines. */
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.long-stay-plans, .anniversary-experiences, .pets-experiences, .baby-experiences) a:not(.bell-photo-trigger) { display: inline-flex; align-items: center; gap: 2px; color: var(--ink); font-weight: 700; text-decoration: none; }
.bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.long-stay-plans, .anniversary-experiences, .pets-experiences, .baby-experiences) a:not(.bell-photo-trigger)::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url('/assets/icons/lucide/source/chevron-right.svg') center / contain no-repeat; mask: url('/assets/icons/lucide/source/chevron-right.svg') center / contain no-repeat; }
/* The web on the header's 1200 grid. */
@media (min-width: 1024px) {
  .bub-site-page[data-bub-detail-tone] main:is(.anniversary-reference-detail, .long-stay-reference-detail, .baby-reference-detail, .pets-reference-detail) :is(.chosei-room-listing-hero, .chosei-room-listing-layout) { width: min(calc(100% - 64px), 1200px) !important; max-width: none !important; margin-inline: auto !important; }
}
/* The closing 「〜の滞在をもっと見る」 band: its title and cards on the page's left edge. */
@media (min-width: 1024px) {
  .bub-site-page[data-bub-detail-tone] main :is(.long-stay-related, .anniversary-related, .baby-related, .pets-related) { margin-left: 0 !important; }
}

/* ===== Plan detail, app layout (owner 2026-10-07 「아직도 개밤티」; prototype on /anniversary-plan/) =====
 * The activity detail grammar: the photo hero with the title on it (brush edge), the terms as one grouped list
 * of labelled cells, the day's three moments as a photo rail, inclusions and booking as grouped cells, then
 * the booking card and the stay. Web: photo mosaic on the 1200 grid, title under it, the plan left and the
 * booking card right (sticky). */
body.bub-site-page main.plan-app { --plan-cell: var(--surface-subtle, #f3f4f4); }
body.bub-site-page main.plan-app .chosei-room-listing-hero { position: relative; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell { position: relative; width: 100% !important; height: clamp(440px, 64svh, 560px) !important; aspect-ratio: auto !important; margin: 0 !important; overflow: hidden; border-radius: 0 !important; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell :is(.chosei-room-listing-gallery, .chosei-room-listing-photo, .bell-photo-trigger) { height: 100% !important; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .bell-photo-trigger::after { display: none !important; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(0 0 0 / 28%) 0%, rgb(0 0 0 / 0%) 22%, rgb(0 0 0 / 0%) 36%, rgb(0 0 0 / 76%) 100%); pointer-events: none; }
body.bub-site-page main.plan-app .chosei-room-listing-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; z-index: 4; height: 18px; background: var(--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; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell :is(.room-editorial-side-photo, .room-reference-hero-nav) { display: none !important; }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .chosei-room-gallery-open { top: 64px !important; bottom: auto !important; right: 16px !important; z-index: 3; }
body.bub-site-page main.plan-app .plan-app-hero-copy { position: absolute; left: 20px; right: 20px; bottom: 52px; z-index: 3; color: #fcfcfc; pointer-events: none; }
body.bub-site-page main.plan-app .plan-app-hero-copy a { pointer-events: auto; }
body.bub-site-page main.plan-app .plan-app-kicker { display: inline-flex; align-items: center; gap: 4px; color: #fcfcfc !important; font-size: 14px; line-height: 22px; font-weight: 700; text-decoration: none; }
body.bub-site-page main.plan-app .plan-app-kicker .ic { width: 16px; height: 16px; color: #fcfcfc; }
body.bub-site-page main.plan-app .plan-app-hero-copy h1 { margin: 6px 0 0; color: #fcfcfc; font-size: 32px; line-height: 1.25; font-weight: 700; }
body.bub-site-page main.plan-app .plan-app-hero-copy :is(.anniversary-lead, .long-stay-lead, .baby-lead, .pets-lead) { margin: 10px 0 0; color: #fcfcfc !important; opacity: .92; font-size: 15px; line-height: 1.8; font-weight: 500; }

body.bub-site-page main.plan-app .chosei-room-listing-layout { display: flex !important; flex-direction: column; width: auto !important; max-width: none !important; margin: 0 !important; padding: 24px 20px 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-content, .long-stay-content, .baby-content, .pets-content) { display: contents; }
body.bub-site-page main.plan-app .chosei-room-listing-heading { order: 1; margin: 0; padding: 0; }
body.bub-site-page main.plan-app .url-subnav { order: 2; }
body.bub-site-page main.plan-app :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) { order: 3; }
body.bub-site-page main.plan-app .chosei-room-listing-booking { order: 4; }
body.bub-site-page main.plan-app :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related) { order: 5; }

/* Grouped cells: the terms, inclusions and booking steps. */
body.bub-site-page main.plan-app :is(.plan-app-cells, :is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list)) { display: block !important; margin: 0 !important; padding: 0 !important; overflow: hidden; border: 0 !important; border-radius: 12px; background: var(--plan-cell); list-style: none; }
body.bub-site-page main.plan-app :is(.plan-app-cells > div, :is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article)) { position: relative; display: grid !important; grid-template-columns: 68px minmax(0, 1fr); align-items: start; column-gap: 8px; margin: 0 !important; padding: 14px 16px !important; border: 0 !important; background: none !important; }
body.bub-site-page main.plan-app :is(.plan-app-cells > div, :is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article)) + *::before { content: ""; position: absolute; top: 0; left: 16px; right: 0; border-top: 1px solid rgb(47 47 47 / 8%); }
body.bub-site-page main.plan-app .plan-app-cells dt { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; margin: 0; padding-top: 1px; color: rgb(47 47 47 / 60%) !important; font-size: 13px !important; line-height: 22px !important; font-weight: 500 !important; }
body.bub-site-page main.plan-app .plan-app-cells dt .ic { width: 18px; height: 18px; color: rgb(47 47 47 / 60%); }
body.bub-site-page main.plan-app .plan-app-cells dd { display: grid !important; gap: 2px; margin: 0 !important; color: var(--ink) !important; }
body.bub-site-page main.plan-app .plan-app-cells dd strong { font-size: 15px !important; line-height: 22px !important; font-weight: 700 !important; }
body.bub-site-page main.plan-app .plan-app-cells dd .anniversary-fact-price { font: 700 20px/26px var(--font-num), var(--font-ja) !important; }
body.bub-site-page main.plan-app .plan-app-cells dd small { display: block !important; color: rgb(47 47 47 / 70%); font-size: 12px; line-height: 18px; }
body.bub-site-page main.plan-app :is(:is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list)) > :is(li, article) > span { display: block !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: rgb(47 47 47 / 60%) !important; font: 500 13px/22px var(--font-num), var(--font-ja) !important; text-align: left !important; }
body.bub-site-page main.plan-app :is(:is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list)) h3 { margin: 0 !important; color: var(--ink); font-size: 15px !important; line-height: 22px !important; font-weight: 700 !important; }
body.bub-site-page main.plan-app :is(:is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list)) p { margin: 2px 0 0 !important; color: rgb(47 47 47 / 70%) !important; font-size: 13px !important; line-height: 20px !important; }

body.bub-site-page main.plan-app .url-subnav { margin: 32px 0 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) { margin: 0 !important; padding: 40px 0 0 !important; background: none !important; border: 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section)::before, body.bub-site-page main.plan-app :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section)::after { display: none !important; }
body.bub-site-page main.plan-app :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) > h2, body.bub-site-page main.plan-app :is(.anniversary-section-heading, .baby-section-heading, .pets-section-heading) h2 { margin: 0 0 16px !important; font-size: 22px !important; line-height: 30px !important; }
body.bub-site-page main.plan-app :is(.anniversary-section-heading, .baby-section-heading, .pets-section-heading) { margin: 0 !important; padding: 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-section-heading, .baby-section-heading, .pets-section-heading) p { margin: -8px 0 16px !important; color: rgb(47 47 47 / 80%); font-size: 15px; line-height: 26px; }

/* The day's three moments: a photo rail on phones. */
body.bub-site-page main.plan-app :is(.anniversary-experiences, .long-stay-plans, .baby-experiences, .pets-experiences) { display: grid !important; grid-auto-flow: column; grid-auto-columns: 78%; gap: 12px; margin: 0 -20px !important; padding: 0 20px 4px !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 20px; scrollbar-width: none; list-style: none; background: none !important; }
body.bub-site-page main.plan-app :is(.anniversary-experiences, .long-stay-plans, .baby-experiences, .pets-experiences)::-webkit-scrollbar { display: none; }
body.bub-site-page main.plan-app :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; scroll-snap-align: start; }
body.bub-site-page main.plan-app :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) figure { margin: 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) figure img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
body.bub-site-page main.plan-app :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) > div { margin: 12px 0 0 !important; padding: 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-step-title, .plan-step-title) { display: flex !important; align-items: center; gap: 8px; margin: 0 !important; }
body.bub-site-page main.plan-app :is(.anniversary-step-title, .plan-step-title) span { flex: none; color: var(--muchu, #d56e59) !important; background: none !important; width: auto !important; height: auto !important; font: 700 13px/20px var(--font-num), var(--font-ja) !important; }
body.bub-site-page main.plan-app :is(.anniversary-step-title, .plan-step-title) h3 { margin: 0 !important; font-size: 16px !important; line-height: 24px !important; font-weight: 700 !important; }
body.bub-site-page main.plan-app :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) p { margin: 4px 0 0 !important; color: rgb(47 47 47 / 75%); font-size: 14px !important; line-height: 22px !important; }

body.bub-site-page main.plan-app :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) { margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 12px; background: var(--plan-cell); }
body.bub-site-page main.plan-app :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) summary { padding: 14px 16px !important; font-size: 15px !important; line-height: 22px !important; font-weight: 700 !important; text-align: left !important; }
body.bub-site-page main.plan-app :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) > p { margin: 0 !important; padding: 0 16px 16px !important; font-size: 13px; line-height: 20px; }

/* Booking card. */
body.bub-site-page main.plan-app .chosei-room-listing-booking { position: static !important; display: flex !important; flex-direction: column; gap: 16px; width: auto !important; margin: 40px 0 0 !important; padding: 20px !important; border: 0 !important; border-radius: 12px !important; background: var(--plan-cell) !important; box-shadow: none !important; }
body.bub-site-page main.plan-app .chosei-room-listing-booking > .button { order: 2; display: flex !important; align-items: center; justify-content: center; min-height: 52px !important; margin: 0 !important; border-radius: 12px !important; font-size: 16px !important; font-weight: 700 !important; }
body.bub-site-page main.plan-app .chosei-room-listing-booking .room-reference-booking-info { order: 1; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.bub-site-page main.plan-app .chosei-room-listing-booking .room-reference-booking-info > * { margin: 0 !important; }
body.bub-site-page main.plan-app .chosei-room-listing-booking .room-reference-booking-info > p:first-child { color: rgb(47 47 47 / 60%); font-size: 13px; line-height: 20px; }
body.bub-site-page main.plan-app .chosei-room-listing-booking .chosei-room-listing-price { margin-top: 2px !important; font: 700 24px/32px var(--font-num), var(--font-ja) !important; }
body.bub-site-page main.plan-app .chosei-room-listing-booking .chosei-room-listing-price + p { color: rgb(47 47 47 / 70%); font-size: 12px; line-height: 18px; }
body.bub-site-page main.plan-app .chosei-room-listing-booking dl, body.bub-site-page main.plan-app .chosei-room-listing-booking :is(.anniversary-note, .long-stay-note, .baby-note, .pets-note) { display: none !important; }

body.bub-site-page main.plan-app :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related) { margin: 0 !important; padding: 48px 0 0 !important; background: none !important; }
body.bub-site-page main.plan-app :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related)::before { display: none !important; }
body.bub-site-page main.plan-app :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related) h2 { margin: 0 0 16px !important; font-size: 22px !important; line-height: 30px !important; }
body.bub-site-page main.plan-app .plan-related-card img { border-radius: 12px !important; }

@media (min-width: 1024px) {
  body.bub-site-page main.plan-app { --c: min(calc(100% - 64px), 1200px); display: grid !important; grid-template-columns: 1fr calc(var(--c) * 7 / 12 - 28px) 48px calc(var(--c) * 5 / 12 - 20px) 1fr; grid-template-rows: auto auto auto 1fr; align-content: start; }
  body.bub-site-page main.plan-app > * { grid-column: 1 / -1; min-width: 0; }
  body.bub-site-page main.plan-app > :is(.chosei-room-listing-hero, .chosei-room-listing-layout) { display: contents !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-hero::after, body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell::after { display: none; }
  body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell { grid-column: 2 / 5; grid-row: 1; height: 460px !important; margin: 24px 0 0 !important; border-radius: 12px !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .chosei-room-listing-gallery { display: grid !important; grid-template-columns: 2fr 1fr !important; grid-template-rows: 1fr 1fr; gap: 8px; width: 100% !important; transform: none !important; overflow: hidden !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .chosei-room-listing-photo { display: block !important; width: auto !important; height: auto !important; min-height: 0; margin: 0 !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .chosei-room-listing-photo:first-child { grid-row: 1 / -1; }
  body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .chosei-room-listing-photo:nth-child(n+4) { display: none !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell .chosei-room-gallery-open { top: auto !important; bottom: 16px !important; }
  body.bub-site-page main.plan-app .plan-app-hero-copy { position: static; grid-column: 2; grid-row: 2; margin: 32px 0 0; color: var(--ink); }
  body.bub-site-page main.plan-app .plan-app-kicker, body.bub-site-page main.plan-app .plan-app-kicker .ic { color: var(--ink) !important; }
  body.bub-site-page main.plan-app .plan-app-hero-copy h1 { color: var(--ink); font-size: 36px; }
  body.bub-site-page main.plan-app .plan-app-hero-copy :is(.anniversary-lead, .long-stay-lead, .baby-lead, .pets-lead) { color: rgb(47 47 47 / 80%) !important; opacity: 1; font-size: 16px; }
  body.bub-site-page main.plan-app :is(.anniversary-content, .long-stay-content, .baby-content, .pets-content) { display: block !important; grid-column: 2; grid-row: 3; padding: 32px 0 0; }
  body.bub-site-page main.plan-app .chosei-room-listing-booking { grid-column: 4; grid-row: 2 / 4; align-self: start; position: sticky !important; top: 96px; margin: 32px 0 0 !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-booking dl { display: block !important; margin-top: 12px !important; font-size: 13px; }
  body.bub-site-page main.plan-app .chosei-room-listing-booking dl dt { color: rgb(47 47 47 / 60%); }
  body.bub-site-page main.plan-app .chosei-room-listing-booking dl dd { margin: 0; font-weight: 700; }
  body.bub-site-page main.plan-app :is(.anniversary-experiences, .long-stay-plans, .baby-experiences, .pets-experiences) { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 !important; padding: 0 !important; overflow: visible; }
  body.bub-site-page main.plan-app :is(.anniversary-section, .long-stay-section, .baby-section, .pets-section) { padding-top: 56px !important; }
  body.bub-site-page main.plan-app :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related) { padding-top: 64px !important; }
  body.bub-site-page main.plan-app .chosei-room-listing-mobile-booking { display: none !important; }
}
body.bub-site-page main.plan-app :is(:is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article) > span, :is(.anniversary-step-title, .plan-step-title) span)::before { display: none !important; }
body.bub-site-page main.plan-app.room-reference-detail :is(.plan-app-cells > div, :is(.anniversary-inclusions, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article), :is(.anniversary-booking-steps, .pets-booking-steps, .long-stay-flow-list, .baby-detail-list, .baby-meal-list, .pets-detail-list) > :is(li, article)) { grid-template-columns: 68px minmax(0, 1fr) !important; }
body.bub-site-page main.plan-app.room-reference-detail .plan-app-cells dd small { padding: 0 !important; font-weight: 400 !important; }
body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking { align-self: stretch; }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related) { box-shadow: none !important; border-image: none !important; clip-path: none !important; }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) summary { display: flex !important; justify-content: space-between; align-items: center; }
body.bub-site-page main.plan-app.room-reference-detail { padding-bottom: 72px !important; }
@media (min-width: 1024px) {
  body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-gallery-shell > .chosei-room-listing-gallery { width: 100% !important; min-width: 100% !important; max-width: none !important; }
}
@media (min-width: 1024px) { body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-gallery-shell { display: block !important; } }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) summary { justify-content: space-between !important; text-align: left !important; }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) summary > svg { margin-left: auto !important; }
@media (min-width: 1024px) { body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking { align-self: start !important; } }
/* No hairlines in the booking card; the stay's names read as one line. */
body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking :is(.room-reference-booking-info, .room-reference-booking-info > *, dl) { border: 0 !important; box-shadow: none !important; }
body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking .chosei-room-listing-price + p { padding: 0 !important; }
body.bub-site-page main.plan-app.room-reference-detail .plan-related-names { display: block !important; margin-top: 2px; overflow: hidden; color: rgb(47 47 47 / 70%); font-size: 13px; line-height: 20px; white-space: nowrap; text-overflow: ellipsis; }
body.bub-site-page main.plan-app.room-reference-detail .plan-related-names > span { display: inline !important; margin: 0 !important; padding: 0 !important; }
body.bub-site-page main.plan-app.room-reference-detail .plan-related-names > span + span::before { content: "・"; }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-related, .long-stay-related, .baby-related, .pets-related) { border: 0 !important; }
/* Hero keeps one line; the rest opens the page. Web: price and 申込 live in the booking card only. */
body.bub-site-page main.plan-app.room-reference-detail .plan-app-intro { margin: 0 0 20px !important; color: var(--ink); font-size: 15px; line-height: 1.9; }
@media (min-width: 1024px) {
  body.bub-site-page main.plan-app.room-reference-detail .plan-app-cells > [data-plan-fact] { display: none !important; }
  body.bub-site-page main.plan-app.room-reference-detail .plan-app-cells > div:not([data-plan-fact])::before { display: none; }
  body.bub-site-page main.plan-app.room-reference-detail .plan-app-intro { font-size: 16px; }
}
@media (min-width: 1024px) {
  body.bub-site-page main.plan-app.room-reference-detail .plan-app-cells { display: none !important; }
  body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-content, .long-stay-content, .baby-content, .pets-content) { padding-top: 12px !important; }
  body.bub-site-page main.plan-app.room-reference-detail .plan-app-intro { margin: 0 !important; color: rgb(47 47 47 / 80%); }
  body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking dl { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px !important; }
  body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking dl > div { display: grid; gap: 2px; }
  body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking dl dt { font-size: 12px; line-height: 18px; }
  body.bub-site-page main.plan-app.room-reference-detail .chosei-room-listing-booking dl dd { font-size: 14px; line-height: 20px; }
}
/* The three other plan pages (long-stay, baby, pets) share the layout. */
body.bub-site-page main.plan-app .plan-app-cells > div { grid-template-columns: 96px minmax(0, 1fr) !important; }
body.bub-site-page main.plan-app.anniversary-reference-detail .plan-app-cells > div { grid-template-columns: 68px minmax(0, 1fr) !important; }
body.bub-site-page main.plan-app .plan-app-cells dt svg { flex: none; width: 18px !important; height: 18px !important; }
body.bub-site-page main.plan-app :is(.long-stay-section-intro, :is(.long-stay-section, .baby-section, .pets-section) > h2 + p) { margin: -8px 0 16px !important; color: rgb(47 47 47 / 80%) !important; font-size: 15px !important; line-height: 26px !important; }
body.bub-site-page main.plan-app :is(.baby-section, .pets-section) > .room-reference-context-photo { margin: 0 0 12px !important; }
body.bub-site-page main.plan-app :is(.baby-section, .pets-section) > .room-reference-context-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; }
body.bub-site-page main.plan-app :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) + :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) { margin-top: 8px !important; }
body.bub-site-page main.plan-app :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) summary { display: flex !important; justify-content: space-between !important; align-items: center; gap: 12px; text-align: left !important; }
body.bub-site-page main.plan-app :is(.anniversary-notes, .long-stay-notes, .baby-notes, .pets-notes) summary > svg { flex: none; margin-left: auto !important; }
body.bub-site-page main.plan-app .baby-meal .baby-age { white-space: nowrap; }
body.bub-site-page main.plan-app .long-stay-price { margin: 8px 0 0 !important; color: var(--ink) !important; font-size: 14px !important; line-height: 22px !important; }
body.bub-site-page main.plan-app .long-stay-price strong { font: 700 16px/22px var(--font-num), var(--font-ja); }
body.bub-site-page main.plan-app .long-stay-price a { display: inline-flex; align-items: center; margin-left: 4px; color: var(--ink) !important; font-weight: 700; text-decoration: none !important; border: 0 !important; }
body.bub-site-page main.plan-app .long-stay-price a::after { content: "›"; margin-left: 4px; font-weight: 700; }
body.bub-site-page main.plan-app .room-reference-booking-info > p:nth-child(2) { margin-top: 2px !important; font: 700 24px/32px var(--font-num), var(--font-ja) !important; color: var(--ink) !important; }
body.bub-site-page main.plan-app .room-reference-booking-info > p:nth-child(3):not([class$="-note"]) { color: rgb(47 47 47 / 70%); font-size: 12px; line-height: 18px; }
body.bub-site-page main.plan-app .plan-support-phone { margin: 16px 0 0 !important; padding: 20px !important; border: 0 !important; border-radius: 12px !important; background: var(--plan-cell) !important; box-shadow: none !important; }
body.bub-site-page main.plan-app .plan-support-phone :is(.button, a.support-contact__form) { min-height: 52px !important; border-radius: 12px !important; }
@media (min-width: 1024px) {
  body.bub-site-page main.plan-app :is(.baby-experiences, .pets-experiences) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.bub-site-page main.plan-app .long-stay-booking .room-reference-booking-info > p:nth-child(2) { font-size: 20px !important; }
}
body.bub-site-page main.plan-app.room-reference-detail .plan-app-cells > div { grid-template-columns: 96px minmax(0, 1fr) !important; }
body.bub-site-page main.plan-app.room-reference-detail.anniversary-reference-detail .plan-app-cells > div { grid-template-columns: 68px minmax(0, 1fr) !important; }
body.bub-site-page main.plan-app.room-reference-detail .plan-app-cells dt { white-space: nowrap; }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) :is(figure, .bell-photo-trigger) { display: block !important; width: 100% !important; max-width: none !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
body.bub-site-page main.plan-app.room-reference-detail :is(.anniversary-experience, .long-stay-plan-card, .baby-experience, .pets-experience) img { display: block !important; width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 4 / 3 !important; margin: 0 !important; object-fit: cover !important; border-radius: 12px !important; }

/* Other facilities' plan view (assets/js/plan-facility.js): the same app grammar without Chosei terms. */
body.bub-site-page .plan-app-consult { max-width: none !important; margin: 0 !important; padding: 0 0 72px !important; }
body.bub-site-page .plan-app-consult .plan-consult-hero { position: relative; height: clamp(380px, 56svh, 480px); overflow: hidden; background: var(--ink); }
body.bub-site-page .plan-app-consult .plan-consult-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.bub-site-page .plan-app-consult .plan-consult-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(0 0 0 / 24%) 0%, rgb(0 0 0 / 0%) 24%, rgb(0 0 0 / 0%) 34%, rgb(0 0 0 / 76%) 100%); }
body.bub-site-page .plan-app-consult .plan-consult-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; z-index: 3; height: 18px; background: var(--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; }
body.bub-site-page .plan-app-consult .plan-consultation-back { position: absolute; top: 12px; left: 12px; z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; border-radius: 50%; background: var(--paper); color: var(--ink); text-decoration: none; }
body.bub-site-page .plan-app-consult .plan-consultation-back .ic { width: 22px; height: 22px; }
body.bub-site-page .plan-app-consult .plan-consult-hero-copy { position: absolute; left: 20px; right: 20px; bottom: 48px; z-index: 2; color: #fcfcfc; }
body.bub-site-page .plan-app-consult .plan-app-kicker { display: inline-flex; align-items: center; gap: 4px; color: #fcfcfc; font-size: 14px; line-height: 22px; font-weight: 700; text-decoration: none; }
body.bub-site-page .plan-app-consult .plan-app-kicker .ic { width: 16px; height: 16px; }
body.bub-site-page .plan-app-consult h1 { margin: 6px 0 0; color: #fcfcfc; font-size: 32px; line-height: 1.25; }
body.bub-site-page .plan-app-consult .lead { margin: 10px 0 0; color: #fcfcfc; opacity: .92; font-size: 15px; line-height: 1.8; }
body.bub-site-page .plan-app-consult .plan-consult-body { padding: 24px 20px 0; }
body.bub-site-page .plan-app-consult .plan-consultation-card { display: grid; gap: 12px; margin: 0; padding: 20px; border-radius: 12px; background: var(--surface-subtle, #f3f4f4); }
body.bub-site-page .plan-app-consult .plan-consultation-card h2 { margin: 0; font-size: 18px; line-height: 26px; }
body.bub-site-page .plan-app-consult .plan-consultation-card p { margin: 0 0 4px; color: rgb(47 47 47 / 75%); font-size: 14px; line-height: 22px; }
/* ロングステイ (つくば・八ヶ岳): end times from the live pages, above the consultation. */
body.bub-site-page .plan-app-consult .plan-consult-times { display: grid; gap: 2px; padding-bottom: 16px; border-bottom: 1px solid rgb(47 47 47 / 12%); }
body.bub-site-page .plan-app-consult .plan-consultation-card .plan-consult-times-label { margin: 0; font-size: 13px; line-height: 20px; }
body.bub-site-page .plan-app-consult .plan-consultation-card .plan-consult-times-value { margin: 0 0 4px; color: var(--ink, #2f2f2f); font: 600 22px/30px var(--font-num, inherit); }
body.bub-site-page .plan-app-consult .plan-consultation-card .button { display: flex; align-items: center; justify-content: center; min-height: 52px; margin: 0; border-radius: 12px; font-size: 16px; font-weight: 700; }
body.bub-site-page .plan-app-consult .plan-consult-row { display: grid; grid-template-columns: 20px minmax(0, 1fr) 16px; align-items: center; column-gap: 12px; min-height: 52px; padding: 8px 16px; border: 0; border-radius: 12px; background: var(--paper); color: var(--ink); text-decoration: none; }
body.bub-site-page .plan-app-consult .plan-consult-row .ic { width: 18px; height: 18px; color: rgb(47 47 47 / 60%); }
body.bub-site-page .plan-app-consult .plan-consult-row .ic:last-child { width: 16px; height: 16px; }
body.bub-site-page .plan-app-consult .plan-consult-row span { display: grid; }
body.bub-site-page .plan-app-consult .plan-consult-row small { color: rgb(47 47 47 / 60%); font-size: 12px; line-height: 18px; }
body.bub-site-page .plan-app-consult .plan-consult-row strong { font: 700 18px/24px var(--font-num), var(--font-ja); }
body.bub-site-page .plan-app-consult .plan-consult-stay { display: flex; justify-content: center; font-size: 15px; font-weight: 700; }
body.bub-site-page .plan-app-consult .plan-consultation-related { margin: 0; padding: 48px 0 0; }
body.bub-site-page .plan-app-consult .plan-consultation-related h2 { margin: 0 0 16px; font-size: 22px; line-height: 30px; }
body.bub-site-page .plan-app-consult .plan-related-card img { border-radius: 12px; }
body.bub-site-page .plan-app-consult .plan-related-names { display: block; margin-top: 2px; overflow: hidden; color: rgb(47 47 47 / 70%); font-size: 13px; line-height: 20px; white-space: nowrap; text-overflow: ellipsis; }
body.bub-site-page .plan-app-consult .plan-related-names > span + span::before { content: "・"; }
@media (min-width: 1024px) {
  body.bub-site-page .plan-app-consult .plan-consult-hero { width: min(calc(100% - 64px), 1200px); height: 440px; margin: 24px auto 0; border-radius: 12px; }
  body.bub-site-page .plan-app-consult .plan-consult-hero::after, body.bub-site-page .plan-app-consult .plan-consultation-back { display: none; }
  body.bub-site-page .plan-app-consult .plan-consult-hero-copy { left: 40px; right: 40px; bottom: 40px; }
  body.bub-site-page .plan-app-consult h1 { font-size: 40px; }
  body.bub-site-page .plan-app-consult .plan-consult-body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; width: min(calc(100% - 64px), 1200px); margin: 0 auto; padding: 40px 0 0; }
  body.bub-site-page .plan-app-consult .plan-consultation-card { grid-column: 2; grid-row: 1; position: sticky; top: 96px; }
  body.bub-site-page .plan-app-consult .plan-consultation-related { grid-column: 1; grid-row: 1; padding: 0; }
}
body.bub-site-page main.plan-consultation-page .plan-app-consult { width: 100% !important; }
body.bub-site-page .plan-app-consult .plan-related-names > span { display: inline !important; margin: 0 !important; padding: 0 !important; }
body.bub-site-page .plan-app-consult .plan-related-names > span::before { content: none; }
body.bub-site-page .plan-app-consult .plan-related-names > span + span::before { content: "・" !important; }
body.bub-site-page .plan-app-consult .plan-related-names { display: block !important; }

/* Text on the hero photo reads at a glance (owner 10/7 「시인성제로」): a deeper scrim under the copy, as on TOP's
 * 「BUB RESORTとは」 photos, plus a soft shadow on the letters. */
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell::after,
body.bub-site-page .plan-app-consult .plan-consult-hero::before { background: linear-gradient(180deg, rgb(0 0 0 / 22%) 0%, rgb(0 0 0 / 0%) 18%, rgb(0 0 0 / 0%) 30%, rgb(0 0 0 / 38%) 52%, rgb(0 0 0 / 74%) 100%) !important; }
body.bub-site-page :is(main.plan-app .plan-app-hero-copy, .plan-app-consult .plan-consult-hero-copy) :is(a, h1, p) { text-shadow: 0 1px 12px rgb(0 0 0 / 45%), 0 1px 2px rgb(0 0 0 / 30%); }
@media (min-width: 1024px) { body.bub-site-page main.plan-app .plan-app-hero-copy :is(a, h1, p) { text-shadow: none; } }
body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell::after { inset: 0 !important; top: 0 !important; bottom: 0 !important; height: auto !important; -webkit-mask: none !important; mask: none !important; z-index: 1 !important; }
@media (min-width: 1024px) { body.bub-site-page main.plan-app .chosei-room-listing-gallery-shell::after { display: none !important; } }

/* Phones: the plan's price/time and 「空室確認」 stay in reach in a bottom bar, as on the room details
 * (QA 2026-10-07). The 予約 tab already opened 長生村, but a parent deciding on a plan books from here. */
@media (max-width: 1023px) {
  body.bub-site-page:has(main.plan-app) .mobile-action-bar { display: none !important; }
  body.bub-site-page:has(main.plan-app) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.bub-site-page main.plan-app .chosei-room-listing-mobile-booking { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; display: flex !important; align-items: center; justify-content: space-between; gap: 12px; min-height: 76px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid rgb(47 47 47 / 10%); background: var(--paper); }
  body.bub-site-page main.plan-app .chosei-room-listing-mobile-booking > div { display: grid; gap: 0; min-width: 0; }
  body.bub-site-page main.plan-app .chosei-room-listing-mobile-booking strong { color: var(--ink); font: 700 18px/24px var(--font-num), var(--font-ja); }
  body.bub-site-page main.plan-app .chosei-room-listing-mobile-booking span { color: rgb(47 47 47 / 65%); font-size: 12px; line-height: 18px; }
  body.bub-site-page main.plan-app .chosei-room-listing-mobile-booking > a { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 136px; min-height: 52px; padding: 0 20px; border-radius: 12px; background: var(--ink); color: var(--paper); font-size: 15px; font-weight: 700; text-decoration: none; }
}
