.higashiosaka-subsidy-page {
  --higashi-blue: #005aa8;
  --higashi-blue-dark: #063b66;
  --higashi-blue-pale: #eef7ff;
  --higashi-border: #b8d3e8;
  --higashi-text: #172b3a;
}

.higashiosaka-subsidy-page .container { max-width: 1120px; }
.higashiosaka-subsidy-page .content-narrow { max-width: 880px; }
.higashiosaka-subsidy-page main { color: var(--higashi-text); }
.higashiosaka-subsidy-page h1 { overflow-wrap: anywhere; }
.higashiosaka-subsidy-page a { text-underline-offset: .18em; }
.higashiosaka-subsidy-page main a:not([class]) { color: var(--higashi-blue); text-decoration: underline; }
.higashiosaka-subsidy-page a:focus-visible,
.higashiosaka-subsidy-page summary:focus-visible,
.higashiosaka-subsidy-page .table-scroll:focus-visible,
.higashiosaka-subsidy-page .hamburger:focus-visible {
  outline: 3px solid #f0a500;
  outline-offset: 3px;
}

.higashiosaka-subsidy-page .conclusion-block {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 2px solid var(--higashi-border);
  border-left: 6px solid var(--higashi-blue);
  border-radius: 10px;
  background: var(--higashi-blue-pale);
}
.higashiosaka-subsidy-page .conclusion-block .eyebrow {
  margin: 0 0 .25rem;
  color: var(--higashi-blue-dark);
  font-weight: 800;
}
.higashiosaka-subsidy-page .conclusion-block h2 { margin-top: 0; }
.higashiosaka-subsidy-page .date-pair { display: grid; gap: .75rem; margin: 1rem 0; }
.higashiosaka-subsidy-page .date-pair div { padding: .75rem; border: 1px solid var(--higashi-border); background: #fff; }
.higashiosaka-subsidy-page .date-pair dt { font-size: .85rem; font-weight: 700; color: #365466; }
.higashiosaka-subsidy-page .date-pair dd { margin: .2rem 0 0; font-weight: 800; }
.higashiosaka-subsidy-page .notice-line { margin-bottom: 0; }

.higashiosaka-subsidy-page .table-scroll { width: 100%; }
.higashiosaka-subsidy-page .program-table,
.higashiosaka-subsidy-page .program-table tbody,
.higashiosaka-subsidy-page .program-table tr,
.higashiosaka-subsidy-page .program-table th,
.higashiosaka-subsidy-page .program-table td { display: block; width: 100%; box-sizing: border-box; }
.higashiosaka-subsidy-page .program-table { border: 0; border-collapse: collapse; }
.higashiosaka-subsidy-page .program-table thead { display: none; }
.higashiosaka-subsidy-page .program-table tr { margin-bottom: 1rem; border: 1px solid var(--higashi-border); background: #fff; }
.higashiosaka-subsidy-page .program-table tbody th { padding: .85rem 1rem; background: var(--higashi-blue-dark); color: #fff; text-align: left; }
.higashiosaka-subsidy-page .program-table td { display: grid; grid-template-columns: minmax(7.5rem, 38%) minmax(0, 1fr); gap: .75rem; padding: .7rem 1rem; border-top: 1px solid #d9e4ec; overflow-wrap: anywhere; }
.higashiosaka-subsidy-page .program-table td::before { content: attr(data-label); color: #284d68; font-weight: 700; }
.higashiosaka-subsidy-page .status-badge { display: inline-block; width: fit-content; padding: .2rem .55rem; border: 1px solid #2f7351; border-radius: 999px; color: #18583a; background: #eaf8f0; font-weight: 800; }
.higashiosaka-subsidy-page .program-table small { display: block; margin-top: .3rem; }
.higashiosaka-subsidy-page .table-note { margin-bottom: 0; font-size: .93rem; }

.higashiosaka-subsidy-page .formula { margin: 1rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--higashi-blue); background: #f5f9fc; }
.higashiosaka-subsidy-page .formula h3 { margin-top: 0; }
.higashiosaka-subsidy-page .requirements-grid { display: grid; gap: 1.25rem; }
.higashiosaka-subsidy-page .requirements-grid > section { border-top: 3px solid var(--higashi-blue); padding-top: .75rem; }
.higashiosaka-subsidy-page .flow-list { margin: 1.25rem 0; padding: 0; counter-reset: flow; list-style: none; }
.higashiosaka-subsidy-page .flow-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .1rem .75rem; padding: .75rem 0; border-bottom: 1px solid #ccdae4; counter-increment: flow; }
.higashiosaka-subsidy-page .flow-list li::before { content: counter(flow); grid-row: 1 / 3; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: #fff; background: var(--higashi-blue-dark); font-weight: 800; }
.higashiosaka-subsidy-page .flow-list span { grid-column: 2; }
.higashiosaka-subsidy-page .attention { margin-top: 1.25rem; padding: 1rem 1.25rem; border: 2px solid #b05b00; background: #fff8e8; }
.higashiosaka-subsidy-page .attention h3 { margin-top: 0; color: #6d3700; }
.higashiosaka-subsidy-page .direct-answer { font-size: 1.08rem; }
.higashiosaka-subsidy-page .system-list { margin: 1rem 0; }
.higashiosaka-subsidy-page .system-list div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); border-top: 1px solid var(--higashi-border); padding: .75rem 0; }
.higashiosaka-subsidy-page .system-list dt { font-weight: 800; color: var(--higashi-blue-dark); }
.higashiosaka-subsidy-page .system-list dd { margin: 0; }
.higashiosaka-subsidy-page .source-list li { margin-bottom: .65rem; }
.higashiosaka-subsidy-page .faq-item summary { min-height: 44px; box-sizing: border-box; cursor: pointer; }
.higashiosaka-subsidy-page .related-links { display: grid; gap: .65rem; }
.higashiosaka-subsidy-page .related-links a { display: flex; align-items: center; min-height: 44px; padding: .55rem .8rem; border-bottom: 1px solid var(--higashi-border); color: var(--higashi-blue); font-weight: 700; }
.higashiosaka-subsidy-page .final-cta { text-align: center; background: var(--higashi-blue-dark); color: #fff; }
.higashiosaka-subsidy-page .final-cta .section-heading { color: #fff; }
.higashiosaka-subsidy-page .cta-actions { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; max-width: 680px; margin: 1.25rem auto 0; }
.higashiosaka-subsidy-page .cta-actions a { display: flex; align-items: center; justify-content: center; min-height: 48px; box-sizing: border-box; padding: .7rem 1rem; border: 2px solid #fff; border-radius: 6px; font-weight: 800; text-align: center; text-decoration: none; }
.higashiosaka-subsidy-page .cta-primary { color: var(--higashi-blue-dark); background: #fff; }
.higashiosaka-subsidy-page .cta-secondary { color: #fff; background: transparent; }

@media (min-width: 40rem) {
  .higashiosaka-subsidy-page .date-pair,
  .higashiosaka-subsidy-page .requirements-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .higashiosaka-subsidy-page .related-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .higashiosaka-subsidy-page .cta-actions { flex-direction: row; }
  .higashiosaka-subsidy-page .cta-actions a { flex: 1; }
}

@media (min-width: 769px) {
  .higashiosaka-subsidy-page .program-table { display: table; width: 100%; table-layout: fixed; border: 1px solid var(--higashi-border); font-size: .82rem; }
  .higashiosaka-subsidy-page .program-table thead { display: table-header-group; }
  .higashiosaka-subsidy-page .program-table tbody { display: table-row-group; }
  .higashiosaka-subsidy-page .program-table tr { display: table-row; border: 0; }
  .higashiosaka-subsidy-page .program-table th,
  .higashiosaka-subsidy-page .program-table td { display: table-cell; width: auto; padding: .7rem .45rem; border: 1px solid var(--higashi-border); vertical-align: top; overflow-wrap: anywhere; }
  .higashiosaka-subsidy-page .program-table thead th { background: var(--higashi-blue-dark); color: #fff; text-align: left; }
  .higashiosaka-subsidy-page .program-table tbody th { background: #dceeff; color: #173d59; }
  .higashiosaka-subsidy-page .program-table td::before { content: none; }
  .higashiosaka-subsidy-page .program-table th:nth-child(1) { width: 13%; }
  .higashiosaka-subsidy-page .program-table th:nth-child(2) { width: 17%; }
  .higashiosaka-subsidy-page .program-table th:nth-child(3),
  .higashiosaka-subsidy-page .program-table th:nth-child(4) { width: 9%; }
  .higashiosaka-subsidy-page .program-table th:nth-child(5) { width: 11%; }
  .higashiosaka-subsidy-page .program-table th:nth-child(6) { width: 12%; }
  .higashiosaka-subsidy-page .program-table th:nth-child(7) { width: 29%; }
}

@media (min-width: 64rem) {
  .higashiosaka-subsidy-page .program-table { font-size: .9rem; }
}
