/* 天才キャンプ・メディア取材 in TOP's tone (owner, 2026-10-07): no 01–04 badges or ‹ › arrow buttons
 * (rails scroll by hand, as TOP's cards), no grey boxes around single facts, 12px photos, rental items as
 * a plain two-column list, and contact actions at 52px / 12px. */
/* Strength points: a bold title, no number badges. */
.bub-site-page main.tensaicamp-page .tensai-strength-title > span { display: none !important; }
.bub-site-page main.tensaicamp-page .tensai-strength-title h3 { font-size: 17px; line-height: 26px; }
/* Rails scroll by hand; the arrow pair goes. */
.bub-site-page main:is(.tensaicamp-page, .media-location-page) :is(.tensai-plan-controls, .media-rail-controls) { display: none !important; }
/* Photos and cards: 12px; plan cards without a frame. */
.bub-site-page main:is(.tensaicamp-page, .media-location-page) :is(.tensai-plan-grid img, .tensai-gallery-grid img, .tensai-crew-row img, .media-facility-grid img, .media-location-section img) { border-radius: 12px; }
.bub-site-page main.tensaicamp-page .tensai-plan-grid > * { border: 0 !important; border-radius: 0; background: none; box-shadow: none; padding: 0; }
.bub-site-page main.tensaicamp-page .tensai-plan-copy { padding: 12px 0 0; }
/* Media: rental items as a plain list; conditions without grey boxes. */
.bub-site-page main.media-location-page .media-rental-list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.bub-site-page main.media-location-page .media-rental-list li { display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: 40px; padding: 0; border: 0; border-radius: 0; background: none; font-size: 14px; }
.bub-site-page main.media-location-page .media-rental-list li svg { width: 18px; height: 18px; color: rgb(47 47 47 / 60%); }
.bub-site-page main.media-location-page .media-condition-row { padding: 16px 0; border: 0; border-radius: 0; background: none; }
.bub-site-page main.media-location-page .media-condition-row + .media-condition-row { border-top: 1px solid rgb(47 47 47 / 10%); }
/* Contact: 52px / 12px, no arrow. */
.bub-site-page main:is(.tensaicamp-page, .media-location-page) .button.primary { min-height: 52px; border-radius: 12px; font-weight: 700; }
.bub-site-page main:is(.tensaicamp-page, .media-location-page) .button.primary svg[class*="arrow"], .bub-site-page main.media-location-page .media-location-contact .button.primary::after { display: none; }
/* The web on the header's 1200 grid. */
@media (min-width: 1024px) {
  .bub-site-page main:is(.tensaicamp-page, .media-location-page) :is(.tensai-section, .tensai-hero-copy, .tensai-introduction, .media-location-section, .media-location-hero-copy, .media-introduction) { width: min(calc(100% - 64px), 1200px) !important; max-width: none !important; margin-inline: auto !important; }
}
/* Settle against the page's own rules. */
.bub-site-page main.tensaicamp-page .tensai-strength-title { display: block !important; grid-template-columns: none !important; }
.bub-site-page main.media-location-page .media-rental-list li { flex-direction: row !important; justify-content: flex-start !important; min-height: 40px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; font-weight: 500; }
.bub-site-page main.media-location-page .media-condition-row { padding: 16px 0 !important; border-radius: 0 !important; background: none !important; }
.bub-site-page main.media-location-page .media-location-contact .button.primary svg { display: none; }

/* お問い合わせ (owner, 2026-10-07): the availability note as a plain line (no grey box), its links bold
   without underlines; the phone as the page's main action. */
.bub-site-page main.contact-service-page .contact-availability { margin: 0 0 20px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: rgb(47 47 47 / 80%); font-size: 14px; line-height: 24px; }
.bub-site-page main.contact-service-page .contact-availability a { color: var(--ink); font-weight: 700; text-decoration: none; }
.bub-site-page main.contact-service-page .button.primary { min-height: 52px; border-radius: 12px; font-weight: 700; }

/* 規約・ポリシー (owner, 2026-10-07): long reading — 18px section heads with space, 14px body at 85%,
   the index and related links as plain rows with 「>」, no boxes. */
.bub-site-page main.legal-document-page .legal-document-main :is(h2, h3) { margin-top: 32px; font-size: 18px; line-height: 28px; font-weight: 700; }
.bub-site-page main.legal-document-page .legal-document-main :is(p, li, dd, td) { color: rgb(47 47 47 / 85%); font-size: 14px; line-height: 26px; }
.bub-site-page main.legal-document-page :is(.legal-document-index, .legal-toc) { border-radius: 0; background: none; box-shadow: none; }
.bub-site-page main.legal-document-page .legal-related-links a { display: flex; align-items: center; justify-content: space-between; min-height: 52px; border: 0; border-bottom: 1px solid rgb(47 47 47 / 10%); border-radius: 0; background: none; color: var(--ink); font-weight: 700; text-decoration: none; }

/* お問い合わせ (owner 10/7): the 1200 grid on the web, link rows as grouped cells instead of hairlines,
 * and a light 必須 label. */
.bub-site-page main.contact-service-page .contact-quick-links { overflow: hidden; border: 0 !important; border-radius: 12px; background: var(--surface-subtle, #f3f4f4); }
.bub-site-page main.contact-service-page .contact-quick-links a { position: relative; border: 0 !important; padding-inline: 16px !important; }
.bub-site-page main.contact-service-page .contact-quick-links a + a::before { content: ""; position: absolute; top: 0; left: 16px; right: 0; border-top: 1px solid rgb(47 47 47 / 8%); }
.bub-site-page main.contact-service-page .contact-group-link { border: 0 !important; border-radius: 12px; background: var(--surface-subtle, #f3f4f4); padding-inline: 16px !important; }
.bub-site-page main.contact-service-page .contact-form-send { border-top: 0 !important; }
.bub-site-page main.contact-service-page .contact-field em { padding: 0 6px; border-radius: 4px; background: rgb(213 110 89 / 12%) !important; color: #b4533f !important; font-style: normal; font-weight: 700; }
@media (min-width: 1024px) {
  .bub-site-page main.contact-service-page { width: min(calc(100% - 64px), 1200px) !important; max-width: none !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; column-gap: 48px !important; }
}
/* Form controls at 12px like the button; the phone band gets the brush edge; links bold, not underlined. */
.bub-site-page main.contact-service-page #contact-form :is(input:not([type="checkbox"]), select, textarea) { border-radius: 12px !important; }
.bub-site-page main.contact-service-page .contact-consent a { color: var(--ink); font-weight: 700; text-decoration: none !important; border: 0 !important; }
/* One availability note, under the button it explains (owner 10/7: no second copy at the top). */
.bub-site-page main.contact-service-page #contact-form .contact-availability { margin: 10px 0 0 !important; color: rgb(47 47 47 / 75%) !important; font-size: 13px !important; line-height: 20px !important; text-align: center; }
.bub-site-page main.contact-service-page #contact-form .contact-availability a { color: var(--ink); font-weight: 700; text-decoration: none; }
@media (max-width: 1023px) {
  .bub-site-page main.contact-service-page #contact-form { position: relative; margin-block: 18px !important; }
  .bub-site-page main.contact-service-page #contact-form::before,
  .bub-site-page main.contact-service-page #contact-form::after { content: ""; position: absolute; left: 0; right: 0; height: 18px; background: inherit; 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; }
  .bub-site-page main.contact-service-page #contact-form::before { top: -17px; }
  .bub-site-page main.contact-service-page #contact-form::after { bottom: -17px; transform: scaleY(-1); }
}
.bub-site-page main.contact-service-page #contact-form .contact-form-send > .contact-availability { order: 10; grid-row: auto !important; grid-column: 1 / -1 !important; width: 100%; }
