/* ============================================================
   ACUERDO 顧問先ポータル - Custom CSS v8.14
   acuerdo-sr.jp reference style for Super.so
   ============================================================ */

:root {
  --aq-navy: #06152e;
  --aq-navy-2: #06152d;
  --aq-wine: #8a1c24;
  --aq-gold: #906a3b;
  --aq-light-blue: #a6caec;
  --aq-bg: #ffffff;
  --aq-bg-alt: #f3f3f3;
  --aq-bg-sub: #dadce0;
  --aq-border: #d7d9dd;
  --aq-text: #111111;
  --aq-text-sub: #505865;
  --aq-text-light: #ffffff;
  --aq-sidebar-w: 336px;
  --aq-sidebar-box-w: 280px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  background: var(--aq-bg) !important;
}

body {
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  color: var(--aq-text) !important;
  font-family:
    Roboto,
    "Droid Sans",
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    Meiryo,
    sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

a {
  color: inherit !important;
  text-decoration: none !important;
}

button {
  font-family: inherit !important;
}

/* ============================================================
   Header
   ============================================================ */

#aq-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1100;
  height: 86px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 26px;
  padding: 0 34px;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--aq-border);
  box-shadow: none;
}

.aq-header-logo {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  min-width: 206px;
}

.aq-header-logo-mark {
  display: block;
  width: 50px;
  height: 50px;
  background: transparent url("https://assets.super.so/ff55fa24-943b-4570-bc4b-3531dfc71017/uploads/favicon/2271fa94-63af-4f5e-8ac4-48481418b2c3.png") center / contain no-repeat;
  color: transparent !important;
  font-size: 0 !important;
}

.aq-header-logo-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.aq-header-logo-name {
  color: var(--aq-navy) !important;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.aq-header-logo-sub {
  color: var(--aq-text-sub) !important;
  font-size: 12px;
  line-height: 1.2;
}

.aq-header-nav {
  min-width: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
}

.aq-header-link {
  position: relative;
  min-width: 82px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--aq-text) !important;
  text-align: center;
  cursor: pointer;
}

.aq-header-link::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 0;
  height: 3px;
  background: var(--aq-wine);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .16s ease;
}

.aq-header-link span {
  color: var(--aq-navy) !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.aq-header-link small {
  color: var(--aq-text-sub) !important;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.aq-header-link:hover::after,
.aq-header-link.is-active::after,
.aq-header-group.is-active > .aq-header-link::after {
  transform: scaleX(1);
}

.aq-header-link:hover span,
.aq-header-link.is-active span,
.aq-header-group.is-active > .aq-header-link span {
  color: var(--aq-wine) !important;
}

.aq-header-group {
  position: relative;
  display: flex;
  align-items: stretch;
}

.aq-header-toggle {
  font-family: inherit !important;
}

.aq-header-sub {
  position: absolute;
  top: 100%;
  left: 50%;
  min-width: 168px;
  display: none;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid var(--aq-border);
  border-top: 3px solid var(--aq-wine);
}

.aq-header-group:hover .aq-header-sub,
.aq-header-group:focus-within .aq-header-sub,
.aq-header-group.is-open .aq-header-sub {
  display: block;
}

.aq-header-sub a {
  display: block;
  padding: 12px 16px;
  border-bottom: 1px solid var(--aq-border);
  color: var(--aq-text) !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}

.aq-header-sub a:last-child {
  border-bottom: 0;
}

.aq-header-sub a:hover {
  background: var(--aq-bg-alt);
  color: var(--aq-wine) !important;
}

.aq-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.aq-header-ai,
.aq-header-contact {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.aq-header-ai {
  border: 1px solid var(--aq-border);
  color: var(--aq-navy) !important;
  background: #fff;
}

.aq-header-contact {
  border: 1px solid var(--aq-navy);
  background: var(--aq-navy);
  color: #fff !important;
}

.aq-header-ai:hover,
.aq-header-contact:hover {
  border-color: var(--aq-wine);
  background: var(--aq-wine);
  color: #fff !important;
}

/* ============================================================
   Super.so chrome cleanup
   ============================================================ */

.notion-topbar,
[class*="topbar"],
[class*="nav-bar"],
[class*="super-navbar"],
.super-navbar,
.super-sidebar,
.notion-header,
.notion-header__cover,
.notion-header__icon-wrapper,
.notion-header__title-wrapper {
  display: none !important;
}

.super-root,
.super-content,
.super-content-wrapper,
.super-content-wrapper.has-sidebar,
.page__index {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--aq-bg) !important;
}

body.aq-is-home [data-aq-hidden="1"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.aq-is-home #aq-portal {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.aq-is-home #aq-sidebar,
body.aq-is-home #aq-hamburger,
body.aq-is-home #aq-overlay,
body.aq-is-home #acuerdo-footer {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.aq-is-home #aq-sidebar {
  display: flex !important;
}

/* Home preview fallback: keep the static portal visible so the Super.so editor never turns blank. */
#aq-portal {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.aq-is-home #aq-portal {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* ============================================================
   Left navigation
   ============================================================ */

#aq-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--aq-sidebar-w);
  height: 100vh;
  z-index: 1000;
  overflow-y: auto;
  background: #fff;
  border-right: 1px solid var(--aq-border);
  box-shadow: none;
  transition: transform .24s ease;
  display: none;
}

.aq-sidebar-inner {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 26px;
  padding: 30px 26px 26px;
}

.aq-logo {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--aq-border);
}

.aq-logo-badge,
.footer-logo-badge {
  display: block;
  width: 54px;
  height: 54px;
  background: transparent url("https://assets.super.so/ff55fa24-943b-4570-bc4b-3531dfc71017/uploads/favicon/2271fa94-63af-4f5e-8ac4-48481418b2c3.png") center / contain no-repeat;
  color: transparent !important;
  font-size: 0 !important;
  border-radius: 0;
}

.aq-logo-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.aq-logo-name {
  color: var(--aq-navy) !important;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0;
}

.aq-logo-sub {
  color: var(--aq-text-sub) !important;
  font-size: 12px;
  line-height: 1.3;
}

.aq-nav,
.aq-nav-group,
.aq-nav-sub {
  display: flex;
  flex-direction: column;
}

.aq-nav {
  gap: 2px;
}

.aq-nav-group {
  gap: 0;
}

.aq-nav-sub {
  display: none;
  margin: 2px 0 8px 16px;
  padding-left: 14px;
  border-left: 1px solid var(--aq-bg-sub);
}

.aq-nav-group.is-open .aq-nav-sub {
  display: flex;
}

.aq-nav-item,
.aq-sidebar-cta {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 12px 0 12px 16px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--aq-text) !important;
  text-align: left;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.aq-nav-toggle {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.aq-nav-toggle > span:first-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.aq-nav-en {
  display: block;
  color: var(--aq-text-sub) !important;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.aq-nav-ja {
  display: block;
  color: inherit !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aq-nav-item:hover,
.aq-nav-item.is-active {
  background: var(--aq-bg-alt);
  border-left-color: var(--aq-wine);
  color: var(--aq-navy) !important;
}

.aq-nav-item:hover .aq-nav-en,
.aq-nav-item.is-active .aq-nav-en {
  color: var(--aq-wine) !important;
}

.aq-nav-arrow {
  flex: 0 0 auto;
  color: var(--aq-gold);
  font-size: 11px;
  transform-origin: center;
  transition: transform .16s ease;
}

.aq-nav-group.is-open .aq-nav-arrow {
  transform: rotate(180deg);
}

.aq-nav-sub-item {
  padding: 9px 0 9px 12px;
}

.aq-nav-sub-item .aq-nav-ja {
  font-size: 13px;
}

/* カレンダー枠 (常時展開、JS不要) — 他のナビ項目と同じトーンに */
.aq-nav-calendar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.aq-nav-calendar-title {
  margin: 8px 6px 2px;
  padding: 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--aq-gold);
}
.aq-nav-calendar-item {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: 15px;
  background: #f0f2f5;
  color: #1f2937 !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .14s ease, color .14s ease;
}
.aq-nav-calendar-item:hover,
.aq-nav-calendar-item.is-active {
  background: #111827;
  color: #fff !important;
}

.aq-sidebar-cta {
  margin-top: auto;
  padding: 16px 18px;
  background: var(--aq-navy);
  color: #fff !important;
  border-left-color: var(--aq-wine);
}

.aq-sidebar-cta .aq-nav-en,
.aq-sidebar-cta .aq-nav-ja {
  color: #fff !important;
}

.aq-sidebar-note {
  margin: 0;
  padding: 14px 16px;
  background: var(--aq-bg-alt);
  border-left: 3px solid var(--aq-gold);
  color: var(--aq-text-sub) !important;
  font-size: 12px;
  line-height: 1.6;
}

#aq-hamburger,
#aq-overlay {
  display: none;
}

/* ============================================================
   Home portal
   ============================================================ */

#aq-portal {
  width: 100%;
  min-height: 100vh;
  padding-top: 86px;
  background: var(--aq-bg);
}

#aq-hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.aq-hero-inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 104px 44px 76px;
}

.aq-kicker {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px !important;
  padding-left: 46px;
  color: var(--aq-light-blue) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.aq-kicker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 34px;
  height: 1px;
  background: var(--aq-light-blue);
}

.aq-hero-title {
  max-width: 760px;
  margin: 0 0 20px !important;
  color: #fff !important;
  font-size: 54px !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.aq-hero-sub {
  max-width: 720px;
  margin: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 17px;
  line-height: 1.9;
}

.aq-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.aq-btn-primary,
.aq-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 28px;
  border: 1px solid #fff;
  border-radius: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.aq-btn-primary {
  background: #fff;
  color: var(--aq-navy) !important;
}

.aq-btn-secondary {
  background: transparent;
  color: #fff !important;
}

.aq-btn-primary:hover,
.aq-btn-secondary:hover {
  background: var(--aq-wine);
  border-color: var(--aq-wine);
  color: #fff !important;
}

.aq-portal-body {
  max-width: 1180px;
  margin: 0 auto;
  padding: 54px 44px 72px;
  display: flex;
  flex-direction: column;
  gap: 42px;
}

.aq-band,
.aq-panel,
.aq-menu-card,
.aq-contact-card {
  border-radius: 0;
  box-shadow: none;
}

.aq-band {
  background: var(--aq-bg-alt);
  padding: 30px 34px 34px;
}

.aq-section-head {
  position: relative;
  min-height: 72px;
  display: flex;
  align-items: flex-end;
  margin-bottom: 20px;
  padding-left: 24px;
  isolation: isolate;
}

.aq-section-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 2px;
  width: 1px;
  background: var(--aq-navy);
}

.aq-section-head::after {
  content: attr(data-en);
  position: absolute;
  left: 22px;
  top: -10px;
  z-index: -1;
  color: rgba(6,21,46,.07);
  font-size: 68px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.aq-section-head h2,
.aq-panel-head h2,
.aq-contact-card h2 {
  margin: 0 !important;
  color: var(--aq-navy) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.aq-check-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: var(--aq-border);
}

.aq-check-list li {
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 18px 20px;
  background: #fff;
  color: var(--aq-text) !important;
  font-size: 14px;
  line-height: 1.55;
}

.aq-check-list li span {
  color: var(--aq-wine);
  font-size: 12px;
  font-weight: 700;
}

.aq-row2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 26px;
}

.aq-panel {
  min-width: 0;
  padding: 28px 30px;
  background: #fff;
  border: 1px solid var(--aq-border);
}

.aq-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--aq-border);
}

.aq-panel-head h2 {
  font-size: 24px !important;
}

.aq-panel-head a {
  flex: 0 0 auto;
  color: var(--aq-wine) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

.aq-news-list,
.aq-cal-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.aq-news-list li {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid var(--aq-border);
  color: var(--aq-text) !important;
  font-size: 14px;
}

.aq-news-list li:first-child {
  padding-top: 0;
}

.aq-news-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.aq-news-list time {
  color: var(--aq-text-sub);
  font-size: 12px;
  line-height: 24px;
  white-space: nowrap;
}

.aq-news-list a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.aq-tag,
.aq-badge,
.aq-cal-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 9px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.aq-tag.wine,
.aq-cal-tag.wine {
  background: var(--aq-wine);
  color: #fff !important;
}

.aq-tag.navy,
.aq-cal-tag.navy {
  background: var(--aq-navy);
  color: #fff !important;
}

.aq-tag.gold,
.aq-cal-tag.gold {
  background: var(--aq-gold);
  color: #fff !important;
}

.aq-purpose {
  background: var(--aq-bg-alt);
}

.aq-link-grid,
.aq-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--aq-border);
}

.aq-link-grid a,
.aq-form-grid a {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 13px 16px;
  background: #fff;
  color: var(--aq-text) !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.aq-link-grid a:hover,
.aq-form-grid a:hover {
  background: var(--aq-navy);
  color: #fff !important;
}

.aq-menu-section {
  padding-top: 4px;
}

.aq-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--aq-border);
  border: 1px solid var(--aq-border);
}

.aq-menu-card {
  position: relative;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 22px 22px;
  background: #fff;
  color: var(--aq-text) !important;
  transition: background-color .16s ease, color .16s ease;
}

.aq-menu-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 24px;
  width: 3px;
  background: var(--aq-wine);
  opacity: 0;
  transition: opacity .16s ease;
}

.aq-menu-card:hover {
  background: var(--aq-navy);
  color: #fff !important;
}

.aq-menu-card:hover::before {
  opacity: 1;
}

.aq-menu-no {
  color: var(--aq-wine);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.aq-menu-label {
  color: var(--aq-gold);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.aq-menu-card h3 {
  margin: 10px 0 0 !important;
  color: inherit !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.aq-menu-card p {
  margin: 0 !important;
  color: inherit !important;
  opacity: .78;
  font-size: 13px;
  line-height: 1.7;
}

.aq-menu-link {
  margin-top: auto;
  color: inherit !important;
  font-size: 13px;
  font-weight: 700;
}

.aq-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 14px;
}

.aq-table th,
.aq-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--aq-border);
  color: var(--aq-text) !important;
  text-align: left;
  vertical-align: middle;
}

.aq-table th {
  background: var(--aq-bg-alt);
  color: var(--aq-navy) !important;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.aq-table tr:last-child td {
  border-bottom: 0;
}

.aq-badge.high {
  background: var(--aq-wine);
  color: #fff !important;
}

.aq-badge.mid {
  background: var(--aq-bg-sub);
  color: var(--aq-navy) !important;
}

.aq-cal-list li {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 54px;
  padding: 12px 0;
  border-bottom: 1px solid var(--aq-border);
  color: var(--aq-text) !important;
  font-size: 14px;
}

.aq-cal-list li:first-child {
  padding-top: 0;
}

.aq-cal-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.aq-cal-month {
  color: var(--aq-wine) !important;
  font-size: 13px;
  font-weight: 700;
}

.aq-cal-tag {
  background: var(--aq-bg-alt);
  color: var(--aq-text-sub) !important;
}

.aq-form-note {
  margin: 14px 0 0 !important;
  color: var(--aq-text-sub) !important;
  font-size: 12px;
  line-height: 1.7;
}

.aq-contact-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px 34px;
  background: var(--aq-navy);
  color: #fff !important;
}

.aq-contact-label {
  margin: 0 0 16px !important;
  color: var(--aq-light-blue) !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.aq-contact-card h2 {
  color: #fff !important;
  font-size: 26px !important;
}

.aq-contact-card p:not(.aq-contact-label) {
  max-width: 460px;
  margin: 18px 0 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px;
  line-height: 1.8;
}

.aq-contact-card a {
  width: fit-content;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 26px;
  padding: 12px 28px;
  background: #fff;
  color: var(--aq-navy) !important;
  border: 1px solid #fff;
  font-size: 14px;
  font-weight: 700;
}

.aq-contact-card a:hover {
  background: var(--aq-wine);
  border-color: var(--aq-wine);
  color: #fff !important;
}

/* ============================================================
   Footer
   ============================================================ */

#acuerdo-footer {
  background: var(--aq-navy-2);
  color: rgba(255,255,255,.72) !important;
}

.footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 44px 22px;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.1fr;
  column-gap: 32px;
  row-gap: 18px;
  align-items: start;
}

.footer-col {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.footer-brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.footer-logo-badge {
  margin-bottom: 0 !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px;
}

.footer-brand-name {
  color: #fff !important;
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .01em;
}

.footer-desc,
.footer-contact-info {
  margin: 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 13.5px;
  line-height: 1.55;
}

a.footer-contact-info {
  text-decoration: none !important;
}

a.footer-contact-info:hover {
  color: #fff !important;
}

.footer-col h4 {
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .08em;
}

.footer-col a {
  color: rgba(255,255,255,.72) !important;
  font-size: 13.5px;
  line-height: 1.45;
}

.footer-col a:hover {
  color: #fff !important;
}

.footer-contact-btn {
  width: fit-content;
  margin-top: 6px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 6px;
  color: #fff !important;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
}

.footer-contact-btn:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.65);
}

.footer-bottom {
  padding: 10px 44px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.5) !important;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

/* ============================================================
   Notion page fallback styling
   ============================================================ */

.notion-root,
.notion-root.max-width,
article.notion-root {
  width: min(100%, 1100px) !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 126px 40px 70px !important;
  color: var(--aq-text) !important;
}

article.notion-root > a.notion-link.notion-page {
  display: none !important;
}

.notion-heading,
h1,
h2,
h3 {
  color: var(--aq-navy) !important;
  letter-spacing: 0 !important;
}

h2.notion-heading,
.notion-heading.notion-h2 {
  position: relative;
  margin: 38px 0 18px !important;
  padding-left: 20px !important;
  border: 0 !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

h2.notion-heading::before,
.notion-heading.notion-h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  bottom: .1em;
  width: 1px;
  background: var(--aq-navy);
}

.notion-callout {
  border: 1px solid var(--aq-border) !important;
  border-left: 4px solid var(--aq-navy) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--aq-bg-alt) !important;
}

.notion-callout[data-color="red"],
.notion-callout.bg-red-light {
  border-left-color: var(--aq-wine) !important;
}

.notion-table,
.notion-simple-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
}

.notion-table td,
.notion-table th,
.notion-simple-table td,
.notion-simple-table th {
  padding: 12px 14px !important;
  border-color: var(--aq-border) !important;
  color: var(--aq-text) !important;
}

/* ============================================================
   Completion image layout overrides
   ============================================================ */

body {
  margin-left: var(--aq-sidebar-w) !important;
  background: #f3f6fb !important;
  color: #111827 !important;
}

#aq-sidebar {
  inset: 36px auto 36px 36px;
  width: var(--aq-sidebar-box-w);
  height: auto;
  max-height: calc(100vh - 72px);
  display: flex;
  border: 1px solid #d9e0ea;
  border-radius: 28px;
  background: #fff;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}

#aq-sidebar::-webkit-scrollbar { width: 6px; }
#aq-sidebar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }
#aq-sidebar::-webkit-scrollbar-track { background: transparent; }

.aq-sidebar-inner {
  gap: 28px;
  padding: 36px 26px 28px;
}

.aq-logo {
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 0;
}

.aq-logo-badge {
  width: 62px;
  height: 62px;
  background: transparent url("https://assets.super.so/ff55fa24-943b-4570-bc4b-3531dfc71017/uploads/favicon/2271fa94-63af-4f5e-8ac4-48481418b2c3.png") center / contain no-repeat !important;
  border-radius: 0;
}

.aq-logo-name {
  color: #111827 !important;
  font-size: 24px;
  font-weight: 800;
}

.aq-logo-sub {
  color: #6b7280 !important;
  font-size: 14px;
}

.aq-nav {
  gap: 10px;
}

.aq-nav-sub {
  margin: 8px 0 0;
  padding-left: 0;
  border-left: 0;
  gap: 8px;
}

.aq-nav-item,
.aq-sidebar-cta {
  min-height: 50px;
  justify-content: center;
  padding: 12px 22px;
  border: 0;
  border-radius: 15px;
  background: #f0f2f5;
  color: #1f2937 !important;
}

.aq-nav-item:hover,
.aq-nav-item.is-active {
  background: #111827;
  color: #fff !important;
}

/* first-child を常にアクティブに見せるのはホームページのみに限定 */
body.aq-is-home .aq-nav > .aq-nav-item:first-child {
  background: #111827;
  color: #fff !important;
}

.aq-nav-item:hover .aq-nav-en,
.aq-nav-item.is-active .aq-nav-en,
body.aq-is-home .aq-nav > .aq-nav-item:first-child .aq-nav-en {
  color: rgba(255,255,255,.65) !important;
}

.aq-nav-en {
  display: none;
}

.aq-nav-ja {
  font-size: 16px;
  font-weight: 800;
}

.aq-nav-arrow {
  color: currentColor;
}

.aq-nav-sub-item {
  min-height: 42px;
  padding: 10px 16px;
}

.aq-sidebar-cta {
  margin-top: auto;
  background: #f0f2f5;
  color: #1f2937 !important;
}

.aq-sidebar-cta .aq-nav-en {
  display: none;
}

.aq-sidebar-cta .aq-nav-ja {
  color: inherit !important;
}

.aq-sidebar-note {
  margin-top: 36px;
  padding: 24px 20px;
  background: #f3f4f6;
  border: 0;
  border-radius: 18px;
  color: #6b7280 !important;
  font-size: 15px;
}

#aq-portal {
  width: calc(100vw - var(--aq-sidebar-w));
  min-height: 100vh;
  padding: 36px 36px 64px 0;
  background: #f3f6fb;
}

#aq-hero {
  min-height: 350px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 48px;
  padding: 42px 50px;
  border-radius: 28px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  visibility: visible !important;
  opacity: 1 !important;
}

.aq-hero-copy {
  min-width: 0;
}

.aq-kicker {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  margin: 0 0 28px !important;
  padding: 7px 18px;
  border-radius: 999px;
  background: rgba(51,65,85,.9);
  color: #fff !important;
  font-size: 17px;
  font-weight: 800;
}

.aq-kicker::before {
  display: none;
}

.aq-hero-title {
  max-width: 720px;
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1.14 !important;
}

.aq-hero-sub {
  max-width: 650px;
  color: rgba(255,255,255,.82) !important;
  font-size: 23px;
  line-height: 1.5;
}

.aq-hero-actions {
  gap: 18px;
  margin-top: 36px;
}

.aq-btn-primary,
.aq-btn-secondary {
  min-height: 48px;
  padding: 12px 28px;
  border-radius: 12px;
  font-size: 18px;
  font-weight: 900;
}

.aq-btn-primary {
  border-color: #fff;
  background: #fff;
  color: #111827 !important;
}

.aq-btn-secondary {
  border-color: #fff;
  background: transparent;
  color: #fff !important;
}

.aq-hero-check-card {
  padding: 28px 28px 24px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: #24344d;
  color: #fff !important;
}

.aq-hero-check-card h2 {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

.aq-hero-check-card ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.aq-hero-check-card li {
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.09);
  color: #fff !important;
  font-size: 15px;
  font-weight: 800;
}

.aq-portal-body {
  max-width: none;
  margin: 0;
  padding: 26px 0 0;
  gap: 32px;
}

.aq-row2 {
  gap: 22px;
}

.aq-top-row {
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .95fr);
}

.aq-band,
.aq-panel,
.aq-menu-card,
.aq-contact-card {
  border-radius: 22px;
  background: #fff;
  border: 1px solid #d9e0ea;
  box-shadow: none;
}

.aq-panel {
  padding: 28px 28px;
}

.aq-panel-head {
  margin-bottom: 18px;
  padding-bottom: 0;
  border-bottom: 0;
}

.aq-panel-head h2,
.aq-section-head h2,
.aq-contact-card h2 {
  color: #111827 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

.aq-section-head {
  min-height: auto;
  display: block;
  margin: 16px 0 18px;
  padding-left: 0;
}

.aq-section-head::before,
.aq-section-head::after {
  display: none;
}

.aq-news-list li {
  min-height: 48px;
  grid-template-columns: 78px 70px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  padding: 8px 16px;
  border: 1px solid #dde4ed;
  border-radius: 14px;
  background: #f8fafc;
}

.aq-tag,
.aq-badge,
.aq-cal-tag {
  border-radius: 999px;
}

.aq-tag.wine,
.aq-tag.navy,
.aq-tag.gold {
  background: #fff;
  color: #334155 !important;
}

.aq-news-list time {
  color: #94a3b8;
  font-size: 14px;
}

.aq-news-list a {
  color: #111827 !important;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aq-purpose {
  background: #fff;
}

.aq-link-grid,
.aq-form-grid {
  gap: 12px 16px;
  background: transparent;
}

.aq-link-grid a,
.aq-form-grid a {
  min-height: 46px;
  border-radius: 12px;
  background: #f1f5f9;
  color: #243244 !important;
  font-size: 15px;
  font-weight: 800;
}

.aq-menu-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  border: 0;
  background: transparent;
}

.aq-menu-card {
  min-height: 176px;
  padding: 20px 20px 44px;
  border-radius: 18px;
  overflow: hidden;
}

.aq-menu-card::before {
  display: none;
}

.aq-menu-no {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #eef3f8;
  color: #111827 !important;
  font-size: 0 !important;
  font-weight: 900;
  line-height: 1;
}

.aq-menu-no svg {
  width: 25px;
  height: 25px;
  display: none;
  color: currentColor;
}

.aq-menu-no::before {
  display: block;
  width: 25px;
  height: 25px;
  background-color: currentColor;
  content: "";
  -webkit-mask: var(--aq-menu-icon) center / contain no-repeat;
  mask: var(--aq-menu-icon) center / contain no-repeat;
}

.aq-menu-card:nth-child(1) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3l5 8 5-8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 11v10M8 11h8M8 15h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(2) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='5' width='16' height='12' rx='4' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='9' cy='11' r='1.5'/%3E%3Ccircle cx='15' cy='11' r='1.5'/%3E%3Cpath d='M8 17l-2 3M16 17l2 3M10.5 14h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(3) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9.5 9a2.7 2.7 0 0 1 5 1.5c0 2-2.5 2.1-2.5 4M12 18h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(4) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l4 4v14H7zM14 3v5h5M9 12h6M9 16h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(5) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='5' width='16' height='15' rx='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 10h16M8 14h3M13 14h3M8 17h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(6) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M5 7h14M7 7l-3 6h6zM17 7l-3 6h6zM8 21h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(7) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21V6l8-3 8 3v15M9 21v-7h6v7M8 9h.01M12 9h.01M16 9h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.aq-menu-card:nth-child(8) .aq-menu-no {
  --aq-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5h12a2 2 0 0 1 2 2v12H7a2 2 0 0 1-2-2zM5 7H3v10a2 2 0 0 0 2 2M9 9h6M9 13h6M9 17h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.aq-menu-label {
  position: absolute;
  top: 24px;
  right: 22px;
  max-width: calc(100% - 92px);
  padding: 7px 14px;
  border-radius: 999px;
  background: #111827;
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aq-menu-card h3 {
  margin-top: 16px !important;
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  word-break: keep-all;
  overflow-wrap: normal;
}

.aq-menu-card p {
  color: #64748b !important;
  font-size: 13px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.aq-menu-link {
  position: absolute;
  left: 20px;
  bottom: 16px;
  color: #111827 !important;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
}

.aq-menu-card:hover {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #fff !important;
}

.aq-menu-card:hover h3,
.aq-menu-card:hover p,
.aq-menu-card:hover .aq-menu-link {
  color: #fff !important;
  opacity: 1;
}

.aq-menu-card:hover .aq-menu-no {
  background: rgba(255,255,255,.18);
  color: #fff !important;
}

.aq-menu-card:hover .aq-menu-label {
  background: #fff;
  color: #111827 !important;
}

.aq-table th {
  background: #eef3f8;
}

.aq-table th:first-child {
  border-radius: 14px 0 0 0;
}

.aq-table th:last-child {
  border-radius: 0 14px 0 0;
}

.aq-cal-list li {
  margin-bottom: 10px;
  padding: 9px 14px;
  border: 0;
  border-radius: 14px;
  background: #f8fafc;
}

.aq-cal-month {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: #111827 !important;
}

.aq-contact-card {
  background: #fff;
}

.aq-contact-card .aq-contact-label {
  color: #111827 !important;
}

.aq-contact-card p:not(.aq-contact-label) {
  color: #64748b !important;
}

.aq-contact-card a {
  border-radius: 14px;
  background: #111827;
  color: #fff !important;
}

/* ============================================================
   Responsive
   ============================================================ */

@media (max-width: 1100px) {
  #aq-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    padding: 0 22px;
  }

  .aq-header-logo {
    min-width: 176px;
  }

  .aq-header-link {
    min-width: 70px;
    padding: 0 8px;
  }

  .aq-header-link span,
  .aq-header-ai,
  .aq-header-contact {
    font-size: 10px;
  }

  .aq-check-list,
  .aq-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 820px) {
  body {
    margin-left: 0 !important;
  }

  #aq-header {
    height: 72px;
    grid-template-columns: auto 1fr;
    padding: 0 76px 0 18px;
  }

  .aq-header-logo {
    min-width: 0;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .aq-header-logo-mark {
    width: 42px;
    height: 42px;
  }

  .aq-header-logo-name {
    font-size: 19px;
  }

  .aq-header-nav,
  .aq-header-actions {
    display: none;
  }

  #aq-sidebar {
    width: min(88vw, 320px);
    transform: translateX(-100%);
    display: block;
    z-index: 1150;
  }

  body.aq-is-home #aq-sidebar {
    display: block !important;
  }

  #aq-sidebar.is-open {
    transform: translateX(0);
  }

  #aq-overlay {
    position: fixed;
    inset: 0;
    z-index: 1140;
    background: rgba(0,0,0,.42);
  }

  #aq-overlay.is-open {
    display: block;
  }

  #aq-hamburger {
    position: fixed;
    top: 14px;
    right: 16px;
    left: auto;
    z-index: 1200;
    width: 44px;
    height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 0;
    border-radius: 0;
    background: var(--aq-navy);
    cursor: pointer;
  }

  #aq-hamburger span {
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
    transition: transform .2s ease, opacity .2s ease;
  }

  #aq-hamburger.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  #aq-hamburger.is-open span:nth-child(2) {
    opacity: 0;
  }

  #aq-hamburger.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  #aq-hero {
    min-height: 430px;
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 32px 22px;
  }

  #aq-portal {
    width: 100%;
    padding: 82px 16px 44px;
  }

  .aq-hero-title {
    font-size: 34px !important;
  }

  .aq-hero-sub {
    font-size: 16px;
  }

  .aq-kicker {
    font-size: 13px;
  }

  .aq-hero-check-card {
    padding: 20px;
  }

  .aq-top-row {
    grid-template-columns: 1fr;
  }

  .aq-hero-inner {
    padding: 98px 24px 52px;
  }

  .aq-hero-title {
    font-size: 40px !important;
  }

  .aq-hero-sub {
    font-size: 15px;
  }

  .aq-portal-body {
    padding: 38px 20px 56px;
    gap: 30px;
  }

  .aq-band,
  .aq-panel,
  .aq-contact-card {
    padding: 24px 22px;
  }

  .aq-row2 {
    grid-template-columns: 1fr;
  }

  .aq-news-list li {
    grid-template-columns: auto auto;
  }

  .aq-news-list a {
    grid-column: 1 / -1;
  }

  .notion-root,
  .notion-root.max-width,
  article.notion-root {
    width: 100% !important;
    padding: 104px 18px 48px !important;
  }
}

@media (max-width: 560px) {
  .aq-logo {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .aq-logo-badge,
  .footer-logo-badge {
    width: 52px;
    height: 52px;
  }

  #aq-hero {
    min-height: 390px;
  }

  .aq-hero-title {
    font-size: 30px !important;
  }

  .aq-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .aq-btn-primary,
  .aq-btn-secondary {
    width: 100%;
  }

  .aq-section-head {
    min-height: 58px;
    padding-left: 18px;
  }

  .aq-section-head::after {
    font-size: 44px;
    left: 18px;
    top: 0;
  }

  .aq-section-head h2,
  .aq-panel-head h2,
  .aq-contact-card h2 {
    font-size: 24px !important;
  }

  .aq-check-list,
  .aq-menu-grid,
  .aq-link-grid,
  .aq-form-grid {
    grid-template-columns: 1fr;
  }

  .aq-menu-card {
    min-height: 170px;
  }

  .aq-cal-list li {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .aq-cal-tag {
    grid-column: 2;
    width: fit-content;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    padding: 18px 22px 14px;
  }

  .footer-bottom {
    padding: 6px 22px;
  }
}

/* ============================================================
   v8.15 追加: 新デザイン用要素
   ============================================================ */

/* サイドバー下部の「顧問先限定」カード */
.aq-sidebar-note-card {
  margin: 16px 16px 0;
  padding: 14px 16px;
  background: var(--aq-bg-alt);
  border-radius: 12px;
  color: var(--aq-text-sub) !important;
}

.aq-sidebar-note-card .aq-sidebar-note-title {
  margin: 0 0 6px !important;
  color: var(--aq-text) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.aq-sidebar-note-card .aq-sidebar-note-text {
  margin: 0 !important;
  color: var(--aq-text-sub) !important;
  font-size: 12px;
  line-height: 1.7;
}

/* セクション見出し下のサブテキスト */
.aq-section-sub {
  margin: 6px 0 0 !important;
  color: var(--aq-text-sub) !important;
  font-size: 13px;
  line-height: 1.7;
}

/* パネル見出し下のサブテキスト */
.aq-panel-sub {
  margin: 4px 0 16px !important;
  color: var(--aq-text-sub) !important;
  font-size: 13px;
  line-height: 1.7;
}

/* メインメニューカードのラベルをピル化 */
.aq-menu-card {
  position: relative;
}

.aq-menu-card .aq-menu-label {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 4px 10px;
  background: var(--aq-navy);
  color: #fff !important;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

.aq-menu-card:hover .aq-menu-label {
  background: var(--aq-gold);
  color: #fff !important;
}

/* 年間カレンダー: 月/タイトル+サブテキスト/タグの3列 */
.aq-cal-list li {
  align-items: flex-start;
}

.aq-cal-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.aq-cal-title {
  color: var(--aq-text) !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.aq-cal-desc {
  color: var(--aq-text-sub) !important;
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 760px) {
  .aq-cal-list li {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .aq-cal-body {
    grid-column: 2;
  }
  .aq-cal-tag {
    grid-column: 2;
  }
}

/* ============================================================
   助成金早見表 (B) - subpage at /3687a82fba9a8144ade0c81178fafa77
   path: /3687a82fba9a8144ade0c81178fafa77
   ============================================================ */

/* Wrap visibility by body class */
body.aq-is-josei #aq-home-wrap { display: none !important; }
#aq-josei-wrap { display: none; }
body.aq-is-josei #aq-josei-wrap { display: block !important; }

/* Hide native Notion-rendered content on home & josei paths (our custom UI replaces it) */
body.aq-is-home [data-aq-purge="1"],
body.aq-is-josei [data-aq-purge="1"],
body.aq-is-home .notion-root,
body.aq-is-josei .notion-root,
body.aq-is-home article.notion-root,
body.aq-is-josei article.notion-root,
body.aq-is-home .notion-page-content,
body.aq-is-josei .notion-page-content,
body.aq-is-home main#page-index,
body.aq-is-josei main#page-index,
body.aq-is-home .notion-frame,
body.aq-is-josei .notion-frame,
body.aq-is-home .notion-page,
body.aq-is-josei .notion-page,
body.aq-is-home [data-block-id],
body.aq-is-josei [data-block-id] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}
/* But NEVER hide our own chrome even if a stray purge marker lands on it */
#aq-sidebar[data-aq-purge="1"],
#aq-overlay[data-aq-purge="1"],
#aq-hamburger[data-aq-purge="1"],
#aq-home-wrap[data-aq-purge="1"],
#aq-josei-wrap[data-aq-purge="1"],
#acuerdo-footer[data-aq-purge="1"],
#aq-sidebar [data-aq-purge="1"],
#aq-home-wrap [data-aq-purge="1"],
#aq-josei-wrap [data-aq-purge="1"],
#acuerdo-footer [data-aq-purge="1"] {
  display: revert !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

#aq-josei-wrap {
  width: calc(100vw - var(--aq-sidebar-w));
  min-height: 100vh;
  margin-left: var(--aq-sidebar-w);
  padding: 28px 36px 56px;
  background: #f3f6fb;
  color: var(--aq-text);
}

.aq-josei-main {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Hero */
.aq-josei-hero {
  position: relative;
  background: #fff;
  color: var(--aq-text);
  border-radius: 16px;
  border: 1px solid var(--aq-border);
  padding: 30px 34px 30px 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 24px;
  overflow: hidden;
}
.aq-josei-hero::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 8px; background: linear-gradient(180deg, #906a3b 0%, #8a1c24 100%);
}
.aq-josei-hero-text h1 {
  margin: 6px 0 10px !important;
  font-size: 30px !important;
  letter-spacing: -.01em !important;
  color: #06152e !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}
.aq-josei-hero-text p {
  margin: 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.8;
}
.aq-josei-hero .aq-hero-kicker {
  background: rgba(144,106,59,.12); color: #906a3b !important;
}
.aq-josei-search {
  background: #f1f5f9;
  border-color: var(--aq-border);
}
.aq-josei-search-icon { color: #94a3b8; }
#aq-josei-q { color: var(--aq-text) !important; }
#aq-josei-q::placeholder { color: #94a3b8; }
.aq-josei-search {
  position: relative;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  height: 44px;
}
.aq-josei-search-icon {
  width: 18px; height: 18px; color: #94a3b8; flex: 0 0 18px;
}
#aq-josei-q {
  flex: 1; min-width: 0;
  background: transparent;
  border: 0;
  color: #fff !important;
  font-size: 14px;
  margin-left: 10px;
  outline: none;
}
#aq-josei-q::placeholder { color: #94a3b8; }

/* Tabs */
.aq-josei-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.aq-josei-tabs button {
  border: 1px solid var(--aq-border);
  background: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 14px;
  color: var(--aq-text);
  cursor: pointer;
  transition: background .12s, color .12s, border-color .12s;
}
.aq-josei-tabs button:hover { background: var(--aq-bg-alt); }
.aq-josei-tabs button.is-active {
  background: var(--aq-navy);
  color: #fff;
  border-color: var(--aq-navy);
}

/* Table */
.aq-josei-tablewrap {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  overflow: hidden;
}
.aq-josei-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.aq-josei-table thead th {
  text-align: left;
  background: #f8fafc;
  color: #64748b;
  font-weight: 500;
  padding: 14px 16px;
  font-size: 12.5px;
  border-bottom: 1px solid var(--aq-border);
}
.aq-josei-table tbody td {
  padding: 16px;
  border-bottom: 1px solid #eef0f3;
  vertical-align: middle;
}
.aq-josei-table tbody tr:last-child td { border-bottom: 0; }
.aq-josei-table tbody tr {
  cursor: pointer;
  transition: background .1s;
}
.aq-josei-table tbody tr:hover { background: #f8fafc; }
.aq-josei-icol { width: 56px; text-align: center; }
.aq-josei-row-icon {
  display: inline-flex;
  width: 36px; height: 36px;
  align-items: center; justify-content: center;
  background: #f1f5f9;
  border-radius: 50%;
  font-size: 18px;
}
.aq-josei-name { color: var(--aq-navy); font-weight: 600; }
.aq-josei-amt {
  color: #b91c1c;
  font-weight: 700;
  white-space: nowrap;
}
.aq-josei-arrow {
  text-align: right;
  color: #cbd5e1;
  font-size: 18px;
  width: 28px;
}
.aq-josei-empty {
  padding: 28px;
  text-align: center;
  color: var(--aq-text-sub);
  font-size: 14px;
}

/* Info banner */
.aq-josei-info {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  padding: 12px 18px;
  font-size: 13px;
  color: #1e3a8a;
}
.aq-josei-info-icon {
  display: inline-flex;
  width: 20px; height: 20px;
  align-items: center; justify-content: center;
  background: #3b82f6;
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  font-size: 12px;
  flex: 0 0 20px;
}

/* Flow */
.aq-josei-flow-h {
  margin: 18px 0 6px;
  font-size: 22px;
  color: var(--aq-text);
}
.aq-josei-flow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.aq-josei-flow li {
  position: relative;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.aq-josei-flow li::after {
  content: '›';
  position: absolute;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  color: #cbd5e1;
  font-size: 28px;
  line-height: 1;
}
.aq-josei-flow li:last-child::after { display: none; }
.aq-josei-step-no {
  display: inline-flex;
  width: 22px; height: 22px;
  background: var(--aq-navy);
  color: #fff;
  border-radius: 50%;
  align-items: center; justify-content: center;
  font-size: 12px;
  font-weight: 700;
}
.aq-josei-step-icon { font-size: 24px; }
.aq-josei-step-title { font-weight: 600; font-size: 15px; color: var(--aq-text); }
.aq-josei-step-desc { color: var(--aq-text-sub); font-size: 12.5px; }

@media (max-width: 1100px) {
  .aq-josei-hero { grid-template-columns: 1fr; }
  .aq-josei-flow { grid-template-columns: repeat(2, 1fr); }
  .aq-josei-flow li:nth-child(2n)::after { display: none; }
}
@media (max-width: 820px) {
  #aq-josei-wrap {
    width: 100vw;
    margin-left: 0;
    padding: 18px 14px 48px;
  }
  .aq-josei-hero { padding: 22px; }
  .aq-josei-hero-text h1 { font-size: 24px; }
  .aq-josei-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .aq-josei-tabs button { white-space: nowrap; flex-shrink: 0; }
  .aq-josei-tablewrap { overflow-x: auto; }
  .aq-josei-table { min-width: 640px; font-size: 13px; }
  .aq-josei-table thead th { padding: 10px 12px; font-size: 11.5px; }
  .aq-josei-table tbody td { padding: 12px; }
}
@media (max-width: 560px) {
  .aq-josei-flow { grid-template-columns: 1fr; }
  .aq-josei-flow li::after { display: none; }
}

/* ============================================================
   汎用サブページレイアウト (forms / lawrev / calendar / subsidies / jimukumiai)
   ============================================================ */

body.aq-is-forms #aq-home-wrap,
body.aq-is-lawrev #aq-home-wrap,
body.aq-is-calendar #aq-home-wrap,
body.aq-is-subsidies #aq-home-wrap,
body.aq-is-jimukumiai #aq-home-wrap,
body.aq-is-joseikin #aq-home-wrap,
body.aq-is-news #aq-home-wrap,
body.aq-is-notices #aq-home-wrap,
body.aq-is-notice-detail #aq-home-wrap { display: none !important; }

/* サブページは自身の margin-left を持つので body の margin-left をリセット */
body.aq-is-josei,
body.aq-is-forms,
body.aq-is-lawrev,
body.aq-is-calendar,
body.aq-is-subsidies,
body.aq-is-jimukumiai,
body.aq-is-joseikin,
body.aq-is-joseikin-bot,
body.aq-is-news,
body.aq-is-notices,
body.aq-is-notice-detail {
  margin-left: 0 !important;
}

body.aq-is-notice-detail .aq-breadcrumb {
  display: none !important;
}

body.aq-is-joseikin-bot .aq-breadcrumb {
  display: none !important;
}

/* パンくず (サブページ識別) */
.aq-breadcrumb {
  position: sticky; top: 0; z-index: 50;
  width: 100%;
  margin-left: 0;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #06152e 0%, #1e293b 100%);
  color: #fff;
  font-size: 13px; font-weight: 700;
  border-bottom: 3px solid #906a3b;
  box-shadow: 0 2px 8px rgba(15,23,42,.15);
}
.aq-breadcrumb-home {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px;
  background: rgba(255,255,255,.10);
  color: #fff !important;
  border-radius: 999px;
  font-size: 12.5px; font-weight: 700;
  transition: background .12s;
  white-space: nowrap;
}
.aq-breadcrumb-home:hover {
  background: rgba(255,255,255,.20);
}
.aq-breadcrumb-arrow { font-size: 14px; }
.aq-breadcrumb-sep { color: #94a3b8; font-size: 11px; }
.aq-breadcrumb-current {
  color: #fff; font-weight: 800; font-size: 14px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
@media (max-width: 820px) {
  .aq-breadcrumb { width: 100vw; margin-left: 0; padding: 10px 16px; }
}

.aq-subpage-wrap {
  width: calc(100vw - var(--aq-sidebar-w));
  min-height: 100vh;
  margin-left: var(--aq-sidebar-w);
  padding: 28px 24px 56px 28px;
  background: #f3f6fb;
  color: var(--aq-text);
  overflow-x: clip;
}

.aq-subpage-main {
  max-width: 1280px;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.aq-subpage-hero {
  position: relative;
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--aq-border);
  padding: 30px 34px 30px 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 24px;
  overflow: hidden;
}
.aq-subpage-hero::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 8px; background: linear-gradient(180deg, #906a3b 0%, #8a1c24 100%);
}
.aq-subpage-hero-text h1 { margin: 6px 0 10px !important; font-size: 30px !important; letter-spacing: -.01em !important; color: #06152e !important; font-weight: 800 !important; line-height: 1.4 !important; }
.aq-subpage-hero-text p { margin: 0; color: #475569; font-size: 16px; line-height: 1.8; }
.aq-subpage-hero .aq-hero-kicker {
  background: rgba(144,106,59,.12); color: #906a3b !important;
}
.aq-subpage-search {
  position: relative;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  height: 44px;
}
.aq-subpage-search svg { width: 18px; height: 18px; color: #94a3b8; flex: 0 0 18px; }
.aq-subpage-search input {
  flex: 1; min-width: 0;
  background: transparent; border: 0;
  color: #fff !important;
  font-size: 14px;
  margin-left: 10px;
  outline: none;
}
.aq-subpage-search input::placeholder { color: #94a3b8; }

.aq-subpage-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.aq-subpage-tabs button {
  border: 1px solid var(--aq-border);
  background: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 14px;
  color: var(--aq-text);
  cursor: pointer;
  transition: background .12s, color .12s, border-color .12s;
}
.aq-subpage-tabs button:hover { background: var(--aq-bg-alt); }
.aq-subpage-tabs button.is-active {
  background: var(--aq-navy);
  color: #fff;
  border-color: var(--aq-navy);
}

.aq-subpage-empty {
  padding: 28px; text-align: center;
  color: var(--aq-text-sub); font-size: 14px;
  background: #fff; border: 1px solid var(--aq-border); border-radius: 16px;
}

.aq-subpage-note {
  margin: 8px 4px 0 !important;
  color: var(--aq-text-sub); font-size: 12px; line-height: 1.7;
  display: flex; align-items: flex-start; gap: 6px;
}

.aq-subpage-note svg {
  flex: 0 0 auto;
  width: 15px !important;
  height: 15px !important;
  margin-top: 2px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1100px) { .aq-subpage-hero { grid-template-columns: 1fr; } }
@media (max-width: 820px) {
  .aq-subpage-wrap { width: 100vw; margin-left: 0; padding: 18px 14px 48px; }
  .aq-subpage-hero { padding: 22px; }
  .aq-subpage-hero-text h1 { font-size: 24px; }
  .aq-subpage-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .aq-subpage-tabs button { white-space: nowrap; flex-shrink: 0; }
}

/* ============================================================
   forms ページ
   ============================================================ */

.aq-forms-section { display: flex; flex-direction: column; gap: 12px; }
.aq-forms-section-h {
  margin: 8px 0 0; font-size: 22px; color: var(--aq-text);
  display: flex; align-items: center; gap: 12px;
}
.aq-forms-count {
  font-size: 12px; font-weight: 700;
  background: #eef3f8; color: #475569;
  padding: 3px 10px; border-radius: 999px;
}
.aq-forms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}
.aq-form-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 16px 16px 14px;
  display: flex; flex-direction: column; gap: 12px;
  transition: border-color .12s, box-shadow .12s, transform .12s;
}
.aq-form-card:hover { border-color: var(--aq-navy); box-shadow: 0 4px 12px rgba(15,23,42,.08); }
.aq-form-no {
  position: absolute; top: 12px; right: 14px;
  font-size: 11px; font-weight: 700; color: #94a3b8;
}
.aq-form-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding-right: 40px; }
.aq-form-name { margin: 0; font-size: 15px; font-weight: 700; color: var(--aq-navy); line-height: 1.35; }
.aq-form-use  { margin: 0; font-size: 12px; color: var(--aq-text-sub); line-height: 1.5; }
.aq-form-dls { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.aq-dl {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 6px 12px; border-radius: 8px; border: 1px solid var(--aq-border);
  background: #f8fafc; color: var(--aq-navy) !important;
  font-size: 12px; font-weight: 700;
  transition: background .12s, color .12s, border-color .12s;
}
.aq-dl:hover { background: var(--aq-navy); color: #fff !important; border-color: var(--aq-navy); }
.aq-dl-doc { color: #1d4ed8 !important; }
.aq-dl-doc:hover { background: #1d4ed8; }
.aq-dl-pdf { color: #b91c1c !important; }
.aq-dl-pdf:hover { background: #b91c1c; }
.aq-dl-ex  { color: #475569 !important; }
.aq-dl-ex:hover  { background: #475569; }

/* 書式ページ ─ アコーディオン構造 */
#aq-forms-cats { display: flex; flex-direction: column; gap: 22px; }

.aq-form-cat {
  background: #fff; border: 1px solid var(--aq-border); border-radius: 16px;
  overflow: hidden;
}
.aq-form-cat-header {
  padding: 22px 26px;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #fff;
}
.aq-form-cat-header h2 {
  margin: 0 !important;
  display: flex; align-items: center; gap: 10px;
  color: #fff !important; font-size: 24px !important; font-weight: 800 !important;
  line-height: 1.4 !important;
}
.aq-form-cat-icon { font-size: 28px; }
.aq-form-cat-header p {
  margin: 10px 0 0; color: #cbd5e1; font-size: 15px; line-height: 1.8;
}
.aq-form-cat-body { padding: 14px 18px; display: flex; flex-direction: column; gap: 10px; }

.aq-form-subcat {
  border: 1px solid var(--aq-border); border-radius: 12px; overflow: hidden;
  background: #fff;
}
.aq-form-subcat[open] { box-shadow: 0 2px 8px rgba(15,23,42,.06); }
.aq-form-subcat-summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; gap: 12px;
  padding: 18px 22px;
  background: #f8fafc;
  font-size: 17px; font-weight: 800; color: var(--aq-navy);
  transition: background .12s;
  user-select: none;
}
.aq-form-subcat-summary::-webkit-details-marker { display: none; }
.aq-form-subcat-summary:hover { background: #eef3f8; }
.aq-form-subcat[open] .aq-form-subcat-summary {
  background: var(--aq-navy); color: #fff;
  border-bottom: 1px solid var(--aq-border);
}
.aq-form-subcat-icon { font-size: 20px; }
.aq-form-subcat-label { flex: 1; }
.aq-form-subcat-count {
  padding: 3px 12px; border-radius: 999px;
  background: #fff; color: var(--aq-navy);
  font-size: 12px; font-weight: 800;
}
.aq-form-subcat[open] .aq-form-subcat-count { background: rgba(255,255,255,.18); color: #fff; }
.aq-form-subcat-chevron {
  color: #94a3b8; font-size: 12px; transition: transform .2s;
}
.aq-form-subcat[open] .aq-form-subcat-chevron { transform: rotate(180deg); color: #fff; }
.aq-form-subcat-body {
  display: flex; flex-direction: column;
  animation: aqFormSlide .25s ease-out;
}
@keyframes aqFormSlide {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.aq-form-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(0, 2fr) auto;
  gap: 16px; align-items: center;
  padding: 14px 20px;
  border-bottom: 1px solid #eef0f3;
}
.aq-form-row:last-child { border-bottom: 0; }
.aq-form-row:hover { background: #fbfcfe; }

.aq-form-row-name {
  display: flex; align-items: baseline; gap: 8px;
  min-width: 0;
}
.aq-form-no-pill {
  flex: 0 0 auto;
  padding: 2px 8px; border-radius: 6px;
  background: #f1f5f9; color: #475569;
  font-size: 10.5px; font-weight: 800; font-family: ui-monospace, Consolas, monospace;
  letter-spacing: .02em;
}
.aq-form-row-title {
  font-size: 16px; font-weight: 700; color: var(--aq-navy);
  line-height: 1.5;
}
.aq-form-row-desc {
  font-size: 14.5px; color: var(--aq-text); line-height: 1.7;
}
.aq-form-row-btns {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.aq-form-open {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 9px 18px;
  background: var(--aq-navy); color: #fff !important;
  border-radius: 8px; font-size: 14px; font-weight: 800;
  text-decoration: none;
  transition: background .12s, transform .12s;
  white-space: nowrap;
}
.aq-form-open:hover { background: #1e293b; transform: translateY(-1px); }
.aq-form-open-pdf { background: #b91c1c; }
.aq-form-open-pdf:hover { background: #991b1b; }
.aq-form-open-xls { background: #15803d; }
.aq-form-open-xls:hover { background: #166534; }
.aq-form-req-badge {
  display: inline-flex; align-items: center; padding: 6px 12px;
  background: #fef3c7; color: #92400e;
  border-radius: 8px; font-size: 11px; font-weight: 800;
}

@media (max-width: 760px) {
  .aq-form-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px 16px;
  }
  .aq-form-row-desc { font-size: 12px; }
  .aq-form-cat-header { padding: 18px 20px; }
  .aq-form-subcat-summary { padding: 14px 16px; }
}

/* ============================================================
   共通: ピル / バッジ
   ============================================================ */

.aq-pill {
  display: inline-flex; align-items: center;
  padding: 3px 10px;
  background: #eef3f8; color: #475569;
  border-radius: 999px;
  font-size: 11.5px; font-weight: 700;
  line-height: 1.4; white-space: nowrap;
}
.aq-pill-cat { background: #e0e7ff; color: #1e3a8a; }
.aq-pill-sev.aq-sev-high { background: #fee2e2; color: #b91c1c; }
.aq-pill-sev.aq-sev-mid  { background: #fef3c7; color: #92400e; }
.aq-pill-sev.aq-sev-low  { background: #e0f2fe; color: #075985; }
.aq-pill-tanto { background: #f0fdf4; color: #15803d; }

/* ============================================================
   法改正カレンダー
   ============================================================ */

.aq-lawrev-list { display: flex; flex-direction: column; gap: 14px; }
.aq-lawrev-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 18px 20px;
  border-left: 4px solid #cbd5e1;
}
.aq-lawrev-card.aq-lawrev-upcoming { border-left-color: #b91c1c; }
.aq-lawrev-card.aq-lawrev-active   { border-left-color: #16a34a; }
.aq-lawrev-date { display: flex; flex-direction: column; gap: 6px; }
.aq-lawrev-date time {
  font-size: 16px; font-weight: 800; color: var(--aq-navy);
  white-space: nowrap;
}
.aq-lawrev-status {
  display: inline-block; width: fit-content;
  padding: 3px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700;
  background: #f1f5f9; color: #475569;
}
.aq-lawrev-card.aq-lawrev-upcoming .aq-lawrev-status { background: #fee2e2; color: #b91c1c; }
.aq-lawrev-card.aq-lawrev-active   .aq-lawrev-status { background: #dcfce7; color: #166534; }
.aq-lawrev-body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.aq-lawrev-head { display: flex; flex-wrap: wrap; gap: 6px; }
.aq-lawrev-cat {
  padding: 3px 10px; border-radius: 999px;
  background: #e0e7ff; color: #1e3a8a;
  font-size: 11.5px; font-weight: 700;
}
.aq-lawrev-sev {
  padding: 3px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700;
}
.aq-sev-high { background: #fee2e2; color: #b91c1c; }
.aq-sev-mid  { background: #fef3c7; color: #92400e; }
.aq-sev-low  { background: #e0f2fe; color: #075985; }
.aq-lawrev-title { margin: 0; font-size: 18px; color: var(--aq-text); font-weight: 700; line-height: 1.5; }
.aq-lawrev-summary { margin: 0; color: var(--aq-text); font-size: 14.5px; line-height: 1.75; }
.aq-lawrev-scope { display: flex; flex-wrap: wrap; gap: 6px; }
.aq-lawrev-details summary {
  cursor: pointer; padding: 6px 0; font-size: 13px; color: #1d4ed8; font-weight: 700;
  list-style: none;
}
.aq-lawrev-details summary::before { content: '▶ '; font-size: 10px; transition: transform .12s; display: inline-block; }
.aq-lawrev-details[open] summary::before { content: '▼ '; }
.aq-lawrev-actions {
  margin: 6px 0 0; padding-left: 22px;
  color: var(--aq-text); font-size: 13px; line-height: 1.7;
}
.aq-lawrev-actions li { margin-bottom: 2px; }

@media (max-width: 700px) {
  .aq-lawrev-card { grid-template-columns: 1fr; gap: 10px; }
}

/* ============================================================
   月別カレンダー (calendar / jimukumiai 共通)
   ============================================================ */

.aq-cal-months { display: flex; flex-direction: column; gap: 18px; scroll-margin-top: 80px; }
.aq-cal-month-block {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 18px 20px;
  scroll-margin-top: 80px;
}
.aq-cal-month-block.is-now {
  border-color: var(--aq-gold);
  box-shadow: 0 0 0 1px var(--aq-gold) inset, 0 6px 18px -10px rgba(144,106,59,.35);
}
.aq-cal-month-h {
  margin: 0 0 12px; padding-bottom: 12px;
  border-bottom: 1px solid var(--aq-border);
  display: flex; align-items: baseline; gap: 6px;
  font-size: 16px; color: var(--aq-text);
}
.aq-cal-month-no {
  font-size: 28px; font-weight: 900; color: var(--aq-navy);
}
.aq-cal-month-label { font-size: 14px; font-weight: 700; color: var(--aq-navy); }
.aq-cal-month-now {
  margin-left: 10px;
  padding: 3px 9px; border-radius: 999px;
  background: var(--aq-gold); color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: .04em;
}
.aq-cal-month-count {
  margin-left: auto;
  padding: 3px 10px; border-radius: 999px;
  background: #f1f5f9; color: #475569;
  font-size: 11.5px; font-weight: 700;
}

/* 月ジャンプバー */
.aq-cal-jump {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin: 4px 0 14px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 12px;
  position: sticky; top: 64px; z-index: 5;
}
.aq-cal-jump-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; padding: 6px 10px;
  border-radius: 8px;
  background: #f1f5f9; color: var(--aq-navy);
  font-size: 13px; font-weight: 700;
  font-family: inherit;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.aq-cal-jump-btn:hover { background: #e2e8f0; }
.aq-cal-jump-btn.is-now {
  background: var(--aq-gold); color: #fff;
  border-color: var(--aq-gold);
}
.aq-cal-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.aq-cal-item {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 14px;
  background: #f8fafc;
  border-radius: 12px;
}
.aq-cal-day { display: flex; flex-direction: column; gap: 4px; align-items: center; padding-top: 2px; }
.aq-cal-day time {
  font-size: 18px; font-weight: 800; color: var(--aq-navy);
  white-space: nowrap;
}
.aq-cal-day small { font-size: 10px; color: var(--aq-text-sub); white-space: nowrap; }
.aq-cal-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.aq-cal-itemhead { display: flex; flex-wrap: wrap; gap: 6px; }
.aq-cal-title { margin: 0; font-size: 16px; font-weight: 700; color: var(--aq-text); line-height: 1.5; }
.aq-cal-summary { margin: 0; font-size: 14.5px; color: var(--aq-text); line-height: 1.75; }
.aq-cal-details summary {
  cursor: pointer; padding: 4px 0; font-size: 12.5px; color: #1d4ed8; font-weight: 700;
  list-style: none;
}
.aq-cal-details summary::before { content: '▶ '; font-size: 10px; }
.aq-cal-details[open] summary::before { content: '▼ '; }
.aq-cal-actions { margin: 4px 0 0; padding-left: 22px; font-size: 12.5px; line-height: 1.7; color: var(--aq-text); }
.aq-cal-actions li { margin-bottom: 2px; }

.aq-cal-item.is-noday { grid-template-columns: minmax(0, 1fr); }
.aq-cal-anytime { border-style: dashed; background: #fafafa; }
.aq-cal-anytime-label {
  font-size: 17px; font-weight: 800; color: var(--aq-navy);
  padding: 4px 12px; background: #fff; border: 1px solid var(--aq-border); border-radius: 999px;
}
.aq-cal-anytime-desc {
  margin: 6px 0 12px; font-size: 13.5px; color: var(--aq-text-sub);
}
.aq-cal-anytime .aq-cal-day time { font-size: 14px; }

.aq-jim-block { margin-top: 8px; padding: 10px 12px; background: #fff; border: 1px solid var(--aq-border); border-radius: 10px; }
.aq-jim-block h4 { margin: 0 0 6px; font-size: 12px; color: var(--aq-navy); font-weight: 800; }
.aq-jim-block ul { margin: 0; padding-left: 18px; font-size: 12.5px; color: var(--aq-text); line-height: 1.7; }
.aq-jim-block p { margin: 0; font-size: 12.5px; color: var(--aq-text); line-height: 1.6; }
.aq-jim-support { background: #f0fdf4; border-color: #bbf7d0; }
.aq-jim-support h4 { color: #166534; }

@media (max-width: 560px) {
  .aq-cal-item { grid-template-columns: 1fr; gap: 8px; }
  .aq-cal-day { flex-direction: row; align-items: baseline; gap: 8px; }
  .aq-cal-jump { top: 56px; padding: 8px 10px; gap: 4px; }
  .aq-cal-jump-btn { min-width: 38px; padding: 5px 8px; font-size: 12px; }
}

/* ============================================================
   補助金カレンダー
   ============================================================ */

.aq-sub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}
.aq-sub-card {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 10px;
  border-left: 4px solid #cbd5e1;
}
.aq-sub-card.aq-sub-open     { border-left-color: #16a34a; }
.aq-sub-card.aq-sub-upcoming { border-left-color: #d97706; }
.aq-sub-card.aq-sub-closed   { opacity: .72; }
.aq-sub-head { display: flex; flex-wrap: wrap; gap: 6px; }
.aq-pill-status.aq-status-open     { background: #dcfce7; color: #166534; }
.aq-pill-status.aq-status-upcoming { background: #fed7aa; color: #9a3412; }
.aq-pill-status.aq-status-closed   { background: #e2e8f0; color: #475569; }
.aq-pill-diff.aq-diff-easy { background: #dcfce7; color: #166534; }
.aq-pill-diff.aq-diff-mid  { background: #fef3c7; color: #92400e; }
.aq-pill-diff.aq-diff-hard { background: #fee2e2; color: #b91c1c; }
.aq-sub-title { margin: 0; font-size: 17px; font-weight: 800; color: var(--aq-navy); line-height: 1.5; }
.aq-sub-summary { margin: 0; font-size: 14.5px; color: var(--aq-text); line-height: 1.75; }
.aq-sub-meta { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 14px; }
.aq-sub-meta dt { color: var(--aq-text-sub); font-weight: 700; }
.aq-sub-meta dd { margin: 0; color: var(--aq-text); }
.aq-sub-targets { display: flex; flex-wrap: wrap; gap: 6px; }
.aq-sub-link {
  margin-top: 4px;
  font-size: 13px; font-weight: 800; color: #1d4ed8 !important;
  text-decoration: none;
}
.aq-sub-link:hover { color: #1e3a8a !important; text-decoration: underline; }

/* ============================================================
   助成金ガイドページ (/joseikin/)
   ============================================================ */

.aq-hero-kicker {
  display: inline-block; margin: 0 0 14px;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #cbd5e1 !important; font-size: 12px; font-weight: 700;
  line-height: 1.4;
}
#aq-joseikin-wrap .aq-subpage-hero-text h1 { font-size: 32px !important; line-height: 1.25 !important; }
.aq-jos-hero-actions { display: flex; flex-direction: column; gap: 10px; }
.aq-jos-cta-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 20px; border-radius: 12px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.30);
  color: #fff !important;
  font-size: 14px; font-weight: 800;
  transition: background .12s, transform .12s;
}
.aq-jos-cta-btn:hover { background: rgba(255,255,255,.20); transform: translateY(-1px); }
.aq-jos-cta-btn.primary { background: #fff; color: #0f172a !important; border-color: #fff; }
.aq-jos-cta-btn.primary:hover { background: #f1f5f9; }

.aq-jos-section {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 32px 30px;
}
.aq-jos-h2 {
  margin: 0 0 18px !important; font-size: 22px !important; color: var(--aq-navy) !important; font-weight: 800 !important;
  padding-bottom: 14px; border-bottom: 2px solid var(--aq-navy);
  line-height: 1.5 !important;
}
.aq-jos-sub { margin: 0 0 20px !important; color: var(--aq-text-sub); font-size: 13.5px; line-height: 1.75; }

.aq-jos-bene-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.aq-jos-bene-card {
  padding: 18px;
  background: #f8fafc; border: 1px solid var(--aq-border); border-radius: 12px;
  border-left: 4px solid #1d4ed8;
}
.aq-jos-bene-card h3 { margin: 0 0 6px; font-size: 15px; color: var(--aq-navy); font-weight: 800; }
.aq-jos-bene-card p  { margin: 0; font-size: 13px; color: var(--aq-text); line-height: 1.6; }

.aq-jos-checklist {
  margin: 0; padding: 0; list-style: none;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}
.aq-jos-checklist li {
  padding: 12px 14px 12px 38px; position: relative;
  background: #f8fafc; border-radius: 10px;
  font-size: 13.5px; color: var(--aq-text); line-height: 1.5;
}
.aq-jos-checklist li::before {
  content: '✓';
  position: absolute; left: 14px; top: 10px;
  width: 18px; height: 18px;
  background: #16a34a; color: #fff;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 900;
}
.aq-jos-note {
  margin: 12px 0 0;
  font-size: 11.5px; color: var(--aq-text-sub); line-height: 1.7;
}

.aq-jos-cases {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 14px;
}
.aq-jos-case {
  background: #f8fafc; border: 1px solid var(--aq-border); border-radius: 14px;
  padding: 18px; display: flex; flex-direction: column; gap: 12px;
  transition: border-color .12s, box-shadow .12s;
}
.aq-jos-case:hover { border-color: var(--aq-navy); box-shadow: 0 4px 14px rgba(15,23,42,.08); }
.aq-jos-case-head { display: flex; align-items: center; gap: 10px; }
.aq-jos-case-tag {
  padding: 4px 12px; border-radius: 999px;
  background: var(--aq-navy); color: #fff;
  font-size: 11px; font-weight: 800;
}
.aq-jos-case-amount {
  margin-left: auto;
  color: #b91c1c; font-size: 24px; font-weight: 900; line-height: 1;
}
.aq-jos-case-amount small { font-size: 12px; font-weight: 800; margin-left: 2px; }
.aq-jos-case-title {
  margin: 0; font-size: 15px; color: var(--aq-text); font-weight: 800; line-height: 1.4;
}
.aq-jos-case-flow { display: flex; flex-direction: column; gap: 8px; }
.aq-jos-case-step {
  display: grid; grid-template-columns: 42px 1fr; gap: 10px;
  font-size: 12.5px; line-height: 1.6;
}
.aq-jos-case-step b {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 3px 0; border-radius: 6px;
  background: #e0e7ff; color: #1e3a8a;
  font-size: 11px; font-weight: 800;
  height: fit-content;
}
.aq-jos-case-step span { color: var(--aq-text); }
.aq-jos-case-step span strong { color: var(--aq-navy); font-weight: 800; }

.aq-jos-next .aq-jos-next-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.aq-jos-next-card {
  display: flex; flex-direction: column; gap: 8px;
  padding: 20px; background: #f8fafc; border: 1px solid var(--aq-border); border-radius: 14px;
  color: var(--aq-text) !important;
  transition: background .12s, transform .12s, border-color .12s;
}
.aq-jos-next-card:hover {
  background: var(--aq-navy); color: #fff !important; border-color: var(--aq-navy);
  transform: translateY(-2px);
}
.aq-jos-next-card h3 { margin: 0; font-size: 16px; font-weight: 800; color: inherit !important; }
.aq-jos-next-card p  { margin: 0; font-size: 13px; color: inherit !important; opacity: .85; line-height: 1.6; }
.aq-jos-next-link { margin-top: auto; font-size: 13px; font-weight: 800; color: inherit !important; }

.aq-jos-disclaimer {
  background: #fff7ed; border: 1px solid #fed7aa; border-left: 4px solid #ea580c;
  border-radius: 12px;
  padding: 18px 22px;
}
.aq-jos-disclaimer h3 { margin: 0 0 8px; font-size: 14px; color: #9a3412; font-weight: 800; }
.aq-jos-disclaimer ul { margin: 0; padding-left: 20px; font-size: 12.5px; color: #7c2d12; line-height: 1.7; }
.aq-jos-disclaimer li { margin-bottom: 3px; }

/* ============================================================
   助成金早見表 (リニューアル版)
   ============================================================ */

/* 共通セクション見出し */
.aq-jl-section-h {
  margin: 0 0 14px !important;
  font-size: 24px !important;
  color: var(--aq-navy) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  display: flex; align-items: baseline; gap: 14px;
}
.aq-jl-section-en {
  font-size: 12px; color: #906a3b;
  font-weight: 800; letter-spacing: .18em;
}
.aq-jl-section-sub {
  margin: 0 0 22px !important;
  color: var(--aq-text-sub); font-size: 13px;
  line-height: 1.75;
}

/* PURPOSE ナビ */
.aq-jl-navi-section {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 30px 28px;
}
.aq-jl-navi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 6px;
}
.aq-jl-navi-card {
  display: flex; flex-direction: column; gap: 6px;
  padding: 16px;
  background: #f8fafc;
  border: 1px solid var(--aq-border); border-radius: 14px;
  cursor: pointer; text-align: left;
  transition: background .15s, border-color .15s, transform .15s, box-shadow .15s;
  font-family: inherit;
}
.aq-jl-navi-card:hover {
  background: var(--aq-navy); border-color: var(--aq-navy);
  transform: translateY(-2px); box-shadow: 0 6px 16px rgba(15,23,42,.12);
}
.aq-jl-navi-card:hover .aq-jl-navi-title,
.aq-jl-navi-card:hover .aq-jl-navi-meta,
.aq-jl-navi-card:hover .aq-jl-navi-arrow,
.aq-jl-navi-card:hover .aq-jl-navi-no { color: #fff !important; }
.aq-jl-navi-no {
  font-size: 11px; font-weight: 800; color: #906a3b;
  letter-spacing: .1em;
}
.aq-jl-navi-icon { font-size: 26px; line-height: 1; }
.aq-jl-navi-title { font-size: 16px; font-weight: 800; color: var(--aq-navy); }
.aq-jl-navi-meta  { font-size: 12px; color: var(--aq-text-sub); }
.aq-jl-navi-arrow {
  margin-top: 6px; font-size: 12px; font-weight: 800;
  color: #1d4ed8;
}

/* 早見表セクション */
.aq-jl-list-section {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 30px 28px;
}

/* タブのカウントピル */
.aq-jl-count {
  margin-left: 6px; padding: 1px 8px;
  background: rgba(0,0,0,.08); color: inherit;
  border-radius: 999px; font-size: 11px; font-weight: 800;
}
.aq-josei-tabs button.is-active .aq-jl-count {
  background: rgba(255,255,255,.22); color: #fff;
}

/* テーブル */
.aq-jl-table { margin-top: 14px; border-radius: 14px; overflow: hidden; border: 1px solid var(--aq-border); }
.aq-jl-table-head {
  display: grid;
  grid-template-columns: 110px minmax(0, 1.4fr) minmax(0, 1.6fr) 110px 36px;
  gap: 12px;
  padding: 12px 16px;
  background: #f8fafc;
  border-bottom: 1px solid var(--aq-border);
  font-size: 12.5px; font-weight: 700; color: #64748b;
}
.aq-jl-rows { display: flex; flex-direction: column; }
.aq-jl-item { border-bottom: 1px solid #eef0f3; }
.aq-jl-item:last-child { border-bottom: 0; }
.aq-jl-row {
  list-style: none; cursor: pointer; user-select: none;
  display: grid;
  grid-template-columns: 110px minmax(0, 1.4fr) minmax(0, 1.6fr) 110px 36px;
  gap: 12px; align-items: center;
  padding: 14px 16px;
  background: #fff;
  font-family: inherit; text-align: left;
  transition: background .12s;
}
.aq-jl-row::-webkit-details-marker { display: none; }
.aq-jl-row:hover { background: #f8fafc; }
.aq-jl-item[open] > .aq-jl-row { background: var(--aq-navy); color: #fff; }
.aq-jl-item[open] > .aq-jl-row .aq-jl-col-name,
.aq-jl-item[open] > .aq-jl-row .aq-jl-col-when { color: #fff; }
.aq-jl-item[open] > .aq-jl-row .aq-jl-col-amount { color: #fff; }
.aq-jl-col-toggle { text-align: center; }
.aq-jl-chevron { display: inline-block; color: #94a3b8; font-size: 12px; transition: transform .2s; }
.aq-jl-item[open] > .aq-jl-row .aq-jl-chevron { transform: rotate(180deg); color: #fff; }

.aq-jl-badge {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 3px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 800;
  white-space: nowrap;
}
.aq-jl-badge.cat-hire { background: #fef3c7; color: #92400e; }
.aq-jl-badge.cat-edu  { background: #dbeafe; color: #1e40af; }
.aq-jl-badge.cat-care { background: #fce7f3; color: #9d174d; }
.aq-jl-badge.cat-wage { background: #dcfce7; color: #166534; }
.aq-jl-badge.cat-env  { background: #e0e7ff; color: #3730a3; }
.aq-jl-badge.cat-prod { background: #fee2e2; color: #b91c1c; }

.aq-jl-col-when  { font-size: 15px; color: var(--aq-text); line-height: 1.6; }
.aq-jl-col-name  { font-size: 15px; font-weight: 700; color: var(--aq-navy); line-height: 1.5; }
.aq-jl-col-amount{
  font-size: 16px; font-weight: 800; color: #b91c1c;
  text-align: right; white-space: nowrap;
}
.aq-jl-col-toggle { text-align: center; }
.aq-jl-chevron {
  display: inline-block; font-size: 12px; color: #94a3b8;
  transition: transform .2s;
}
.aq-jl-item.is-open .aq-jl-chevron { transform: rotate(180deg); }

/* 詳細展開エリア */
.aq-jl-detail {
  background: #f8fafc;
  border-top: 1px solid var(--aq-border);
}
.aq-jl-detail-inner {
  padding: 22px 26px;
  font-size: 15px; color: var(--aq-text); line-height: 1.85;
}

.js-desc {
  margin: 0 0 14px; padding: 14px 16px;
  background: #fff; border-left: 4px solid #1d4ed8; border-radius: 8px;
  color: var(--aq-text); font-size: 15px; line-height: 1.85;
}
.js-desc strong { color: var(--aq-navy); font-weight: 800; }

.js-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px; margin-bottom: 14px;
}
.js-item {
  background: #fff; border: 1px solid var(--aq-border); border-radius: 10px;
  padding: 10px 12px; display: flex; gap: 10px; align-items: baseline;
}
.js-label {
  flex: 0 0 auto;
  padding: 3px 10px; border-radius: 999px;
  background: #e0e7ff; color: #1e3a8a;
  font-size: 12.5px; font-weight: 800; white-space: nowrap;
}
.js-value { font-size: 14px; color: var(--aq-text); line-height: 1.75; }

.js-section-h {
  margin: 22px 0 10px !important;
  font-size: 16px !important; font-weight: 800 !important;
  color: var(--aq-navy) !important;
  padding-bottom: 6px; border-bottom: 2px solid var(--aq-navy);
  display: flex; align-items: center; gap: 8px;
  line-height: 1.5 !important;
}
.js-new {
  display: inline-block; padding: 2px 8px; border-radius: 999px;
  background: #b91c1c; color: #fff;
  font-size: 10px; font-weight: 800; letter-spacing: .04em;
}

.js-table {
  width: 100%; margin-bottom: 12px;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--aq-border); border-radius: 8px; overflow: hidden;
  font-size: 14px;
}
.js-table th {
  padding: 10px 12px; background: #f1f5f9; color: #475569;
  font-weight: 700; text-align: left;
  border-bottom: 1px solid var(--aq-border);
}
.js-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #eef0f3;
  color: var(--aq-text);
  line-height: 1.65;
}
.js-table tr:last-child td { border-bottom: 0; }
.js-table tr.hl td { background: #fef3c7; font-weight: 700; }
.js-table td.num { text-align: right; white-space: nowrap; font-weight: 700; color: #b91c1c; }

.js-note {
  margin: 0 0 12px;
  font-size: 13px; color: var(--aq-text-sub); line-height: 1.75;
}
.js-flow {
  margin: 0 0 12px; padding-left: 22px;
  font-size: 14px; color: var(--aq-text); line-height: 1.8;
}
.js-flow li { margin-bottom: 4px; }

.impact-points {
  display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px;
}
.impact-point {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 12px 14px;
  background: #fff; border-radius: 8px;
  font-size: 14px; line-height: 1.7;
}
.impact-point i {
  flex: 0 0 auto; margin-top: 4px; font-size: 8px; color: #94a3b8;
}
.impact-point strong { color: var(--aq-navy); font-weight: 800; }
.impact-point.info { border-left: 3px solid #1d4ed8; }
.impact-point.good { border-left: 3px solid #16a34a; }
.impact-point.warn { border-left: 3px solid #d97706; }
.impact-point.note { border-left: 3px solid #64748b; }

.info-box {
  margin: 0 0 14px; padding: 14px 16px;
  background: #eff6ff; border: 1px solid #dbeafe; border-radius: 8px;
  color: #1e3a8a; font-size: 14px; line-height: 1.75;
}

/* 解説 (旧: 公式パンフレット解説より) */
.js-supplement {
  margin-top: 22px;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 14px;
  overflow: hidden;
}
.js-supplement > .js-section-h {
  margin: 0 !important;
  padding: 14px 22px;
  background: linear-gradient(135deg, #06152e 0%, #1e293b 100%);
  color: #fff !important;
  font-size: 14px !important; font-weight: 800 !important;
  letter-spacing: .25em;
  border: 0 !important;
  display: flex; align-items: center; gap: 10px;
}
.js-supplement > .js-section-h::before {
  content: '📖'; font-size: 16px;
  letter-spacing: 0;
}
.js-supplement-meta {
  margin: 0 !important;
  padding: 10px 22px;
  background: #f8fafc;
  border-bottom: 1px solid var(--aq-border);
  font-size: 13px; color: var(--aq-text-sub);
}
.js-supplement-meta strong { color: var(--aq-navy); font-weight: 800; }
.js-supplement-block {
  margin: 0;
  padding: 18px 22px;
  border-bottom: 1px solid var(--aq-border);
  background: #fff;
}
.js-supplement-block:last-child { border-bottom: 0; }
.js-supplement-block.js-supplement-overview { background: #fafbfc; }
.js-supplement-h {
  display: inline-flex; align-items: center; gap: 8px;
  margin-bottom: 12px;
  padding: 4px 14px;
  background: #06152e; color: #fff;
  border-radius: 999px;
  font-size: 13px; font-weight: 800;
  letter-spacing: .04em;
}
.js-supplement-course .js-supplement-h {
  background: #906a3b;
}
.js-supplement-block p {
  margin: 0 0 10px !important;
  font-size: 14.5px; color: var(--aq-text); line-height: 1.95;
}
.js-supplement-block p:last-child { margin-bottom: 0 !important; }
/* 最初の段落は強調 (リード文として) */
.js-supplement-block p:first-of-type {
  font-size: 15.5px; font-weight: 600; color: var(--aq-navy);
  padding-left: 12px; border-left: 3px solid #906a3b;
}

/* ============================================================
   お知らせ (news) ページ
   ============================================================ */
.aq-news-list {
  display: flex; flex-direction: column; gap: 18px;
}
.aq-news-card {
  background: #fff;
  border: 1px solid var(--aq-border);
  border-left: 4px solid #1d4ed8;
  border-radius: 14px;
  padding: 24px 26px;
}
.aq-news-card.aq-tag-navy { border-left-color: #1d4ed8; }
.aq-news-card.aq-tag-wine { border-left-color: #b91c1c; }
.aq-news-card.aq-tag-gold { border-left-color: #d97706; }

.aq-news-card-head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
}
.aq-news-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  background: #f1f5f9; border-radius: 10px;
  font-size: 20px;
}
.aq-news-meta {
  display: flex; flex-direction: column; gap: 2px;
}
.aq-news-date {
  font-size: 12.5px; color: var(--aq-text-sub); font-weight: 700;
}
.aq-news-cat {
  display: inline-block; width: fit-content;
  padding: 2px 10px; border-radius: 999px;
  background: #e0e7ff; color: #1e3a8a;
  font-size: 11px; font-weight: 800;
}
.aq-news-card.aq-tag-wine .aq-news-cat { background: #fee2e2; color: #b91c1c; }
.aq-news-card.aq-tag-gold .aq-news-cat { background: #fef3c7; color: #92400e; }

.aq-news-title {
  margin: 0 0 12px !important;
  font-size: 20px !important; font-weight: 800 !important;
  color: var(--aq-navy) !important;
  line-height: 1.5 !important;
}
.aq-news-lead {
  margin: 0 0 14px;
  font-size: 15.5px; color: var(--aq-text); line-height: 1.8;
}
.aq-news-body {
  font-size: 15px; color: var(--aq-text); line-height: 1.85;
}
.aq-news-body h4 {
  margin: 14px 0 8px !important;
  font-size: 14px !important; font-weight: 800 !important;
  color: var(--aq-navy) !important;
  padding-bottom: 4px; border-bottom: 2px solid #e2e8f0;
  line-height: 1.4 !important;
}
.aq-news-body h4:first-child { margin-top: 0 !important; }
.aq-news-body ul, .aq-news-body ol {
  margin: 0 0 14px; padding-left: 4px;
  list-style: none;
}
/* card-body list items must NOT inherit the homepage .aq-news-list li grid */
.aq-news-body li {
  display: block;
  position: relative;
  min-height: 0;
  grid-template-columns: none;
  align-items: stretch;
  gap: 0;
  padding: 4px 0 4px 24px;
  margin: 0 0 4px;
  border: 0;
  background: none;
  font-size: 15px;
  line-height: 1.7;
}
.aq-news-body ul > li::before {
  content: '';
  position: absolute; left: 6px; top: 13px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--aq-navy);
}
.aq-news-card.aq-tag-wine .aq-news-body ul > li::before { background: #b91c1c; }
.aq-news-card.aq-tag-gold .aq-news-body ul > li::before { background: #d97706; }
.aq-news-body ol { counter-reset: aq-li; padding-left: 4px; }
.aq-news-body ol > li { counter-increment: aq-li; }
.aq-news-body ol > li::before {
  content: counter(aq-li);
  position: absolute; left: 0; top: 5px;
  width: 18px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--aq-navy); color: #fff;
  border-radius: 50%; font-size: 10px; font-weight: 800;
}
.aq-news-body p { margin: 0 0 10px; }
.aq-news-body strong { color: var(--aq-navy); font-weight: 800; }

.aq-news-checks {
  list-style: none !important;
  margin: 0 0 12px !important; padding: 0 !important;
}
.aq-news-checks li {
  display: block;
  grid-template-columns: none;
  min-height: 0;
  border: 0;
  position: relative;
  padding: 10px 14px 10px 40px;
  background: #f8fafc; border-radius: 8px;
  margin: 0 0 8px !important;
  font-size: 14px; line-height: 1.65;
}
.aq-news-checks li::before {
  content: '✓';
  position: absolute; left: 12px; top: 11px;
  width: 18px; height: 18px;
  background: #16a34a; color: #fff;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 900;
}

.aq-news-note {
  margin: 12px 0 0 !important;
  padding: 10px 14px;
  background: #fffbeb; border-left: 3px solid #d97706; border-radius: 6px;
  font-size: 12.5px; color: #7c2d12; line-height: 1.7;
}

.aq-news-card a.aq-news-link {
  display: inline-block; margin-top: 14px;
  padding: 10px 18px;
  background: var(--aq-navy);
  color: #fff !important;
  border-radius: 10px; font-size: 13px; font-weight: 800;
  text-decoration: none !important;
  transition: background .12s, transform .12s;
}
.aq-news-card a.aq-news-link:hover { background: #1e293b; transform: translateY(-1px); }

/* CSS-only タブ絞り込み (ラジオ + ラベル方式 — JS不要) */
#aq-news-wrap input.aq-news-cat-radio {
  position: absolute; opacity: 0; pointer-events: none;
  width: 0; height: 0;
}
#aq-news-wrap .aq-subpage-tabs label.aq-news-tab {
  display: inline-block;
  border: 1px solid var(--aq-border);
  background: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 14px;
  color: var(--aq-text);
  cursor: pointer;
  user-select: none;
  transition: background .12s, color .12s, border-color .12s;
}
#aq-news-wrap .aq-subpage-tabs label.aq-news-tab:hover { background: var(--aq-bg-alt); }

/* デフォルト: すべて表示 */
#aq-news-wrap #news-cat-all:checked ~ main .aq-subpage-tabs label[for="news-cat-all"],
#aq-news-wrap #news-cat-josei:checked ~ main .aq-subpage-tabs label[for="news-cat-josei"],
#aq-news-wrap #news-cat-hojo:checked ~ main .aq-subpage-tabs label[for="news-cat-hojo"],
#aq-news-wrap #news-cat-law:checked ~ main .aq-subpage-tabs label[for="news-cat-law"] {
  background: var(--aq-navy);
  color: #fff;
  border-color: var(--aq-navy);
}

/* カテゴリ絞り込み */
#aq-news-wrap #news-cat-josei:checked ~ main .aq-news-card:not([data-cat="助成金"]) { display: none; }
#aq-news-wrap #news-cat-hojo:checked  ~ main .aq-news-card:not([data-cat="補助金"]) { display: none; }
#aq-news-wrap #news-cat-law:checked   ~ main .aq-news-card:not([data-cat="法改正"]) { display: none; }

/* MyKomon / PSR ニュース一覧 */
#aq-notices-wrap input.aq-notice-filter-radio {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}

#aq-notices-wrap .aq-subpage-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.aq-notice-count {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 74px;
  padding: 10px 16px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #f8fafc;
  color: var(--aq-navy);
}

.aq-notice-count strong {
  font-size: 28px;
  line-height: 1;
}

.aq-notice-count span {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
}

#aq-notices-wrap .aq-subpage-tabs label.aq-notice-tab {
  display: inline-block;
  border: 1px solid var(--aq-border);
  background: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 800;
  color: var(--aq-text);
  cursor: pointer;
  user-select: none;
  transition: background .12s, color .12s, border-color .12s;
}

#aq-notices-wrap .aq-subpage-tabs label.aq-notice-tab:hover {
  background: var(--aq-bg-alt);
}

#aq-notices-wrap #notice-filter-all:checked ~ main .aq-subpage-tabs label[for="notice-filter-all"],
#aq-notices-wrap #notice-filter-news:checked ~ main .aq-subpage-tabs label[for="notice-filter-news"],
#aq-notices-wrap #notice-filter-leaflet:checked ~ main .aq-subpage-tabs label[for="notice-filter-leaflet"] {
  background: var(--aq-navy);
  color: #fff;
  border-color: var(--aq-navy);
}

#aq-notices-wrap #notice-filter-news:checked ~ main .aq-notice-list-item:not(.aq-notice-is-news),
#aq-notices-wrap #notice-filter-leaflet:checked ~ main .aq-notice-list-item:not(.aq-notice-is-leaflet) {
  display: none;
}

.aq-notice-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aq-notice-list-item {
  display: grid;
  grid-template-columns: 92px 118px 104px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 10px 14px;
  border: 1px solid var(--aq-border);
  border-radius: 8px;
  background: #fff;
  color: inherit !important;
  text-decoration: none !important;
  overflow: hidden;
  box-shadow: 0 5px 16px rgba(15,23,42,.05);
}

.aq-notice-list-item summary {
  display: grid;
  grid-template-columns: 92px 118px 104px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
}

.aq-notice-list-item summary::-webkit-details-marker {
  display: none;
}

.aq-notice-list-item:hover {
  background: #f8fbff;
}

.aq-notice-type,
.aq-notice-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.aq-notice-type {
  color: #0f766e;
  background: #e6fffb;
}

.aq-notice-is-leaflet .aq-notice-type {
  color: #92400e;
  background: #fff7ed;
}

.aq-notice-cat {
  color: #1e3a8a;
  background: #eaf2ff;
}

.aq-notice-list-item time {
  color: var(--aq-text-sub);
  font-size: 12.5px;
  font-weight: 800;
  white-space: nowrap;
}

.aq-notice-title {
  min-width: 0;
  color: var(--aq-navy);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.4;
  overflow-wrap: anywhere;
  white-space: normal;
}

.aq-notice-arr {
  color: #64748b;
  font-size: 19px;
  transform-origin: center;
  transition: transform .18s ease;
}

.aq-notice-list-item[open] .aq-notice-arr {
  transform: rotate(90deg);
}

.aq-notice-detail {
  padding: 0 16px 16px;
  border-top: 1px solid #eaf0f7;
  background: #fbfdff;
}

.aq-notice-summary,
.aq-notice-body p {
  margin: 11px 0 0;
  color: #40516a;
  font-size: 13.5px;
  line-height: 1.65;
}

.aq-notice-summary {
  color: #17385f;
  font-weight: 800;
}

.aq-notice-link {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  color: #0f5f95 !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
}

.aq-notice-link:hover {
  text-decoration: underline !important;
}

body.aq-is-notices .aq-subpage-main.aq-notice-page {
  max-width: 1180px;
  gap: 0;
}

body.aq-is-notices .aq-notice-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  padding: 30px 34px;
  box-shadow: 0 3px 14px rgba(15,23,42,.04);
}

body.aq-is-notices .aq-notice-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 7px 14px;
  border: 1px solid #cbe5ea;
  border-radius: 999px;
  background: #f1fbfb;
  color: #177d78;
  font-size: 12px;
  font-weight: 900;
}

body.aq-is-notices .aq-notice-hero h1 {
  margin: 0 0 14px !important;
  color: #123a5a !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.aq-is-notices .aq-notice-hero p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.9;
}

body.aq-is-notices .aq-notice-stats {
  display: grid;
  grid-template-columns: repeat(2, 128px);
  gap: 12px;
}

body.aq-is-notices .aq-notice-stat {
  min-height: 96px;
  padding: 17px;
  border: 1px solid #d9e8f0;
  border-radius: 16px;
  background: #f4fafd;
}

body.aq-is-notices .aq-notice-stat.teal {
  border-color: #d5ece9;
  background: #f5fcfb;
}

body.aq-is-notices .aq-notice-stat span {
  display: block;
  color: #2679a6;
  font-size: 11px;
  font-weight: 900;
}

body.aq-is-notices .aq-notice-stat.teal span {
  color: #177d78;
}

body.aq-is-notices .aq-notice-stat strong {
  display: block;
  margin-top: 5px;
  color: #123a5a;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.15;
}

body.aq-is-notices .aq-notice-stat.teal strong {
  font-size: 19px;
  line-height: 1.45;
}

body.aq-is-notices .aq-notice-stat small {
  margin-left: 2px;
  font-size: 14px;
}

body.aq-is-notices .aq-notice-searchbox {
  margin-top: 24px;
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(15,23,42,.04);
}

body.aq-is-notices .aq-notice-search-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px 190px;
  gap: 14px;
  align-items: end;
}

body.aq-is-notices .aq-notice-field span {
  display: block;
  margin-bottom: 8px;
  color: #123a5a;
  font-size: 12px;
  font-weight: 900;
}

body.aq-is-notices .aq-notice-field input,
body.aq-is-notices .aq-notice-field select {
  width: 100%;
  height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
  padding: 0 14px;
  color: #334155;
  font-size: 14px;
  outline: none;
}

body.aq-is-notices .aq-notice-field input:focus,
body.aq-is-notices .aq-notice-field select:focus {
  border-color: #177d78;
  box-shadow: 0 0 0 4px rgba(23,125,120,.1);
}

body.aq-is-notices .aq-notice-search-meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid #f1f5f9;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

body.aq-is-notices .aq-notice-search-meta button {
  border: 0;
  background: none;
  color: #177d78;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

body.aq-is-notices .aq-notice-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 28px 0 16px;
}

body.aq-is-notices .aq-notice-section-head p {
  margin: 0;
  color: #177d78;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .17em;
}

body.aq-is-notices .aq-notice-section-head h2 {
  margin: 6px 0 0 !important;
  color: #123a5a !important;
  font-size: 23px !important;
  font-weight: 900 !important;
}

body.aq-is-notices .aq-notice-section-head > span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

body.aq-is-notices .aq-notice-cards {
  display: grid;
  gap: 13px;
}

body.aq-is-notices .aq-notice-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 19px 21px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(15,23,42,.03);
  transition: border-color .18s, box-shadow .18s, transform .18s;
}

body.aq-is-notices .aq-notice-card[hidden],
body.aq-is-notices .aq-notice-empty[hidden] {
  display: none !important;
}

body.aq-is-notices .aq-notice-card:hover {
  border-color: #c6dce7;
  box-shadow: 0 8px 20px rgba(15,23,42,.07);
  transform: translateY(-1px);
}

body.aq-is-notices .aq-notice-card-icon {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f1f7fa;
  color: #2679a6;
  font-size: 21px;
  font-weight: 900;
}

body.aq-is-notices .aq-notice-is-leaflet .aq-notice-card-icon {
  background: #f2fcfa;
  color: #177d78;
}

body.aq-is-notices .aq-notice-card-main {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
}

body.aq-is-notices .aq-notice-card-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

body.aq-is-notices .aq-notice-card time {
  margin-left: auto;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

body.aq-is-notices .aq-notice-card .aq-notice-type,
body.aq-is-notices .aq-notice-card .aq-notice-cat {
  min-height: 24px;
  padding: 5px 10px;
  font-size: 10px;
}

body.aq-is-notices .aq-notice-card .aq-notice-cat {
  color: #64748b;
  background: #f1f5f9;
}

body.aq-is-notices .aq-notice-card .aq-notice-title {
  display: block;
  margin-top: 11px;
  color: #123a5a;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.65;
}

body.aq-is-notices .aq-notice-lead {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.85;
}

body.aq-is-notices .aq-notice-card .aq-notice-arr {
  flex: 0 0 auto;
  margin-top: 14px;
  color: #94a3b8;
}

body.aq-is-notices .aq-notice-empty {
  padding: 44px 20px;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  background: #fff;
  color: #64748b;
  text-align: center;
  font-size: 13px;
}

body.aq-is-notices .aq-notice-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid #e2e8f0;
}

body.aq-is-notices .aq-notice-page-info {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

body.aq-is-notices .aq-notice-pages {
  display: flex;
  align-items: center;
  gap: 7px;
}

body.aq-is-notices .aq-notice-pages button {
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

body.aq-is-notices .aq-notice-pages button.is-active {
  border-color: #123a5a;
  background: #123a5a;
  color: #fff;
}

body.aq-is-notices .aq-notice-pages button:disabled {
  cursor: default;
  opacity: .45;
}

body.aq-is-notices .aq-notice-consult {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 36px;
  padding: 20px;
  border: 1px solid #d5ece9;
  border-radius: 18px;
  background: #f4fcfb;
}

body.aq-is-notices .aq-notice-consult h2 {
  margin: 0 !important;
  color: #123a5a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.aq-is-notices .aq-notice-consult p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.8;
}

body.aq-is-notices .aq-notice-consult a {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-radius: 11px;
  background: #177d78;
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none !important;
}

/* MyKomon / PSR 記事詳細 */
#aq-notice-detail-wrap {
  width: auto;
  margin-left: var(--aq-sidebar-w);
  padding: 20px 28px 42px;
  background: #f3f6fb;
  overflow-x: hidden;
}

.aq-nd-main {
  width: 100%;
  max-width: 960px;
  margin: 0;
  color: #26364f;
}

.aq-nd-hero,
.aq-nd-section,
.aq-nd-points,
.aq-nd-cta {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 8px 28px -24px rgba(15,42,80,.35);
}

.aq-nd-hero {
  position: relative;
  overflow: hidden;
  padding: 30px 34px 34px;
}

.aq-nd-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: #2679a6;
}

.aq-nd-is-leaflet .aq-nd-hero::before {
  background: #15918b;
}

.aq-nd-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
  color: #123a5a !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
}

.aq-nd-back::before {
  content: "←";
}

.aq-nd-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.aq-nd-type,
.aq-nd-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.aq-nd-type {
  color: #0f766e;
  background: #e6fffb;
}

.aq-nd-is-leaflet .aq-nd-type {
  color: #92400e;
  background: #fff7ed;
}

.aq-nd-cat {
  color: #1e3a8a;
  background: #eaf2ff;
}

.aq-nd-meta time {
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}

.aq-nd-hero h1 {
  margin: 0 !important;
  color: #123a5a !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .01em !important;
  overflow-wrap: anywhere;
}

.aq-nd-lead {
  max-width: 820px;
  margin: 18px 0 0 !important;
  color: #40516a;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.8;
}

.aq-nd-section,
.aq-nd-points,
.aq-nd-cta {
  margin-top: 18px;
  padding: 26px 30px;
}

.aq-nd-eyebrow {
  margin-bottom: 8px;
  color: #087887;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}

.aq-nd-section h2,
.aq-nd-points h2,
.aq-nd-cta h2 {
  margin: 0 0 12px !important;
  color: #123a5a !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

.aq-nd-article p,
.aq-nd-point p,
.aq-nd-cta p {
  margin: 0 0 10px;
  color: #40516a;
  font-size: 15px;
  line-height: 1.78;
}

.aq-nd-article p:last-child,
.aq-nd-point p:last-child,
.aq-nd-cta p:last-child {
  margin-bottom: 0;
}

.aq-nd-points {
  background: #f7fbfd;
}

.aq-nd-article a {
  color: #0f5f95 !important;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.aq-nd-point-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.aq-nd-point {
  padding: 16px;
  border: 1px solid #d9e8f0;
  border-radius: 14px;
  background: #fff;
}

.aq-nd-point strong {
  display: block;
  margin-bottom: 7px;
  color: #123a5a;
  font-size: 14px;
  font-weight: 900;
}

.aq-nd-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #123a5a;
}

.aq-nd-cta .aq-nd-eyebrow {
  color: #8fd5d1;
}

.aq-nd-cta h2 {
  color: #fff !important;
}

.aq-nd-cta p {
  color: #d7e0ea;
}

.aq-nd-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 20px;
  border-radius: 12px;
  background: #fff;
  color: #123a5a !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
  white-space: nowrap;
}

/* レスポンシブ */
@media (max-width: 900px) {
  .aq-jl-table-head { display: none; }
  .aq-jl-row {
    grid-template-columns: auto 1fr 28px;
    grid-template-areas:
      "cat name toggle"
      "when when when"
      "amount amount amount";
    gap: 8px;
    padding: 14px;
  }
  .aq-jl-col-cat    { grid-area: cat; }
  .aq-jl-col-name   { grid-area: name; font-size: 13.5px; }
  .aq-jl-col-when   { grid-area: when; font-size: 12.5px; color: var(--aq-text-sub); }
  .aq-jl-col-amount { grid-area: amount; text-align: left; font-size: 15px; }
  .aq-jl-col-toggle { grid-area: toggle; }
  .aq-jl-detail-inner { padding: 14px 16px; }
  .js-table { font-size: 11.5px; }
  .js-table th, .js-table td { padding: 6px 8px; }
  #aq-notices-wrap .aq-subpage-hero {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .aq-notice-count {
    min-height: 0;
    min-width: 0;
    padding: 7px 11px;
    flex-direction: row;
    gap: 5px;
    align-items: flex-start;
  }
  .aq-notice-count strong { font-size: 18px; }
  .aq-notice-count span { margin-top: 0; }
  .aq-notice-list-item {
    grid-template-columns: auto auto 1fr 16px;
    min-height: 0;
    gap: 6px 8px;
    padding: 10px 12px 12px;
  }
  .aq-notice-list-item time {
    grid-column: 1 / 3;
    grid-row: 2;
    font-size: 12px;
  }
  .aq-notice-title {
    grid-column: 1 / 5;
    grid-row: 3;
    font-size: 13.5px;
  }
  .aq-notice-arr {
    grid-column: 4;
    grid-row: 1 / 3;
    justify-self: end;
  }
  body.aq-is-notices .aq-notice-hero,
  body.aq-is-notices .aq-notice-search-grid {
    grid-template-columns: 1fr;
  }
  body.aq-is-notices .aq-notice-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  body.aq-is-notices .aq-notice-card-icon {
    display: none;
  }
  body.aq-is-notices .aq-notice-card-tags time {
    width: 100%;
    margin-left: 0;
  }
  body.aq-is-notices .aq-notice-pagination,
  body.aq-is-notices .aq-notice-consult {
    align-items: flex-start;
    flex-direction: column;
  }
  body.aq-is-notices .aq-notice-pages {
    flex-wrap: wrap;
  }
  #aq-notice-detail-wrap {
    width: 100vw;
    margin-left: 0;
    padding: 18px 14px 48px;
  }
  .aq-nd-hero {
    padding: 26px 22px 28px;
  }
  .aq-nd-hero h1 {
    font-size: 24px !important;
  }
  .aq-nd-section,
  .aq-nd-points,
  .aq-nd-cta {
    padding: 22px 20px;
  }
  .aq-nd-point-grid {
    grid-template-columns: 1fr;
  }
  .aq-nd-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ============================================================
   助成金相談AIボット (joseikin-bot) — Chatworkメンション例の図のみ
   ============================================================ */

.aq-subpage-main > * { min-width: 0; }

.aq-bot-figure {
  margin: 0;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 16px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.aq-bot-figure-img {
  display: block;
  width: 100%;
  max-width: 720px;
  height: auto;
  border: 1px solid var(--aq-border);
  border-radius: 8px;
}
.aq-bot-figure figcaption {
  font-size: 12.5px;
  color: var(--aq-text-sub);
}

/* ============================================================
   助成金相談AIボット / POD
   ============================================================ */

.aq-pod-wrap {
  background: #f4f7fb;
  overflow-x: hidden;
}

.aq-pod-main {
  width: 100%;
  max-width: 1180px;
  gap: 18px;
}

.aq-pod-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: 24px;
  align-items: center;
  padding: 30px;
  border: 1px solid #dfe8f1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 40px -34px rgba(15, 42, 80, .35);
}

.aq-pod-hero-simple {
  position: relative;
  grid-template-columns: 1fr;
  padding: 34px;
  border-color: #c9ddea;
  background:
    linear-gradient(90deg, rgba(23, 125, 120, .12) 0, rgba(23, 125, 120, .12) 7px, transparent 7px),
    linear-gradient(135deg, #fff 0%, #f8fcff 55%, #eef8f7 100%);
  overflow: hidden;
}

.aq-pod-hero-simple .aq-pod-hero-copy {
  position: relative;
  max-width: 860px;
  z-index: 1;
}

.aq-pod-title-lockup {
  display: flex;
  align-items: center;
  gap: 16px;
}

.aq-pod-ai-mark {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 74px;
  height: 74px;
  border: 1px solid #b8d9d6;
  border-radius: 18px;
  background: linear-gradient(135deg, #123a5a 0%, #177d78 100%);
  color: #fff;
  box-shadow: 0 18px 34px -24px rgba(15, 42, 80, .55);
}

.aq-pod-ai-mark::after {
  content: "AI";
  position: absolute;
  right: -8px;
  bottom: -8px;
  display: inline-grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #f2b84b;
  color: #123a5a;
  font-size: 11px;
  font-weight: 900;
}

.aq-pod-ai-mark svg {
  width: 46px;
  height: 46px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-pod-title-lockup h1 strong {
  color: #177d78;
  font-weight: 900;
  white-space: nowrap;
}

.aq-pod-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px !important;
  padding: 7px 12px;
  border: 1px solid #cde9e6;
  border-radius: 999px;
  background: #f0fbfa;
  color: #147a75;
  font-size: 12px;
  font-weight: 900;
}

.aq-pod-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #177d78;
}

.aq-pod-hero h1 {
  margin: 0 !important;
  color: #123a5a !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

.aq-pod-hero p {
  max-width: 690px;
  margin: 18px 0 0 !important;
  color: #475569;
  font-size: 15.5px;
  line-height: 1.9;
}

.aq-pod-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.aq-pod-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 16px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  color: #123a5a !important;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none !important;
}

.aq-pod-btn.primary {
  border-color: #123a5a;
  background: #123a5a;
  color: #fff !important;
}

.aq-pod-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px -18px rgba(15, 42, 80, .45);
}

.aq-pod-btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-pod-mini-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.aq-pod-mini-points li {
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef7fb;
  color: #1d5d7c;
  font-size: 12px;
  font-weight: 850;
}

.aq-pod-chat {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9e5ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 42px -28px rgba(15, 23, 42, .48);
}

.aq-pod-chat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: #123a5a;
  color: #fff;
}

.aq-pod-chat-head strong {
  display: block;
  font-size: 15px;
  font-weight: 900;
}

.aq-pod-chat-head span {
  display: block;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 800;
}

.aq-pod-chat-dots {
  width: 26px;
  height: 6px;
  border-radius: 999px;
  background: radial-gradient(circle, #fff 2px, transparent 3px) 0 0 / 9px 6px;
}

.aq-pod-chat-body {
  padding: 16px;
  background: #f7fafc;
}

.aq-pod-chat-card,
.aq-pod-reply {
  border: 1px solid #dfe8f1;
  border-radius: 12px;
  background: #fff;
  padding: 14px;
}

.aq-pod-chat-label {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 900;
}

.aq-pod-mention {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #eaf4fa;
  color: #1a5a7a;
  font-size: 12px;
  font-weight: 900;
}

.aq-pod-mention span,
.aq-pod-reply-avatar {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #2679a6;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.aq-pod-message {
  min-height: 56px;
  margin-top: 11px;
  padding: 10px;
  border: 1px solid #dfe8f1;
  border-radius: 8px;
  background: #f8fafc;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.aq-pod-send {
  width: fit-content;
  margin: 10px 0 0 auto;
  padding: 7px 14px;
  border-radius: 8px;
  background: #2679a6;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.aq-pod-reply {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
  border-color: #cde8e4;
  background: #f4fcfb;
}

.aq-pod-reply-avatar {
  width: 31px;
  height: 31px;
  background: #177d78;
}

.aq-pod-reply strong {
  color: #123a5a;
  font-size: 12px;
  font-weight: 900;
}

.aq-pod-reply p {
  margin: 5px 0 0 !important;
  color: #64748b;
  font-size: 12px;
  line-height: 1.65;
}

.aq-pod-link-chip {
  display: inline-flex;
  margin-top: 8px;
  padding: 7px 10px;
  border-radius: 8px;
  background: #177d78;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.aq-pod-section {
  padding: 24px;
  border: 1px solid #dfe8f1;
  border-radius: 14px;
  background: #fff;
}

body.aq-is-joseikin-bot .aq-pod-main {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.aq-is-joseikin-bot .aq-pod-hero,
body.aq-is-joseikin-bot .aq-pod-section {
  width: 100%;
}

.aq-pod-section-soft {
  background: #f8fcfc;
}

.aq-pod-section-head {
  max-width: 740px;
  margin: 0 auto 20px;
  text-align: center;
}

.aq-pod-section-head.left {
  margin-left: 0;
  text-align: left;
}

.aq-pod-section-head p {
  margin: 0 0 8px !important;
  color: #087887;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.aq-pod-section-head h1,
.aq-pod-section-head h2 {
  margin: 0 !important;
  color: #123a5a !important;
  font-size: 27px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.aq-pod-section-head span {
  display: block;
  margin-top: 10px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.75;
}

.aq-pod-card-grid {
  display: grid;
  gap: 12px;
}

.aq-pod-card-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aq-pod-card,
.aq-pod-related {
  display: block;
  min-width: 0;
  padding: 18px;
  border: 1px solid #dfe8f1;
  border-radius: 10px;
  background: #fbfdff;
  color: #26364f !important;
  text-decoration: none !important;
}

.aq-pod-card:hover,
.aq-pod-related:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px -22px rgba(15, 42, 80, .45);
}

.aq-pod-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #eef7fb;
  color: #2679a6;
}

.aq-pod-icon.teal {
  background: #e9fbf8;
  color: #177d78;
}

.aq-pod-icon.gold {
  background: #fff7df;
  color: #a16207;
}

.aq-pod-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-pod-card h3 {
  margin: 14px 0 0;
  color: #123a5a;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
}

.aq-pod-card p,
.aq-pod-related p {
  margin: 8px 0 0 !important;
  color: #64748b;
  font-size: 13px;
  line-height: 1.75;
}

.aq-pod-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pod-step;
}

.aq-pod-steps li {
  padding: 18px;
  border: 1px solid #dfe8f1;
  border-radius: 10px;
  background: #fff;
}

.aq-pod-steps li > span {
  display: inline-flex;
  margin-bottom: 13px;
  color: #177d78;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.aq-pod-steps strong {
  display: block;
  color: #123a5a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.45;
}

.aq-pod-steps p {
  margin: 8px 0 0 !important;
  color: #64748b;
  font-size: 12.8px;
  line-height: 1.75;
}

.aq-pod-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #cde8e4;
  border-radius: 10px;
  background: #f4fcfb;
}

.aq-pod-route strong {
  color: #123a5a;
  font-size: 14px;
  font-weight: 900;
}

.aq-pod-route span {
  flex: none;
  padding: 9px 12px;
  border-radius: 8px;
  background: #fff;
  color: #177d78;
  font-size: 12px;
  font-weight: 900;
}

.aq-pod-mention-section {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 20px;
  align-items: center;
}

.aq-pod-figure {
  margin: 0;
}

.aq-pod-questions {
  display: grid;
  gap: 10px;
  max-width: 860px;
  margin: 0 auto;
}

.aq-pod-questions div {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 14px;
  border: 1px solid #d5ece9;
  border-radius: 10px;
  background: #fff;
}

.aq-pod-questions span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e8f7f6;
  color: #177d78;
  font-size: 13px;
  font-weight: 900;
}

.aq-pod-questions p {
  margin: 0 !important;
  color: #475569;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.65;
}

.aq-pod-notes {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1fr);
  gap: 20px;
  align-items: start;
}

.aq-pod-notes ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aq-pod-notes li {
  position: relative;
  padding: 13px 14px 13px 40px;
  border: 1px solid #dfe8f1;
  border-radius: 10px;
  background: #fbfdff;
  color: #475569;
  font-size: 13px;
  line-height: 1.7;
}

.aq-pod-notes li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 18px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #177d78;
}

.aq-pod-related strong {
  display: block;
  color: #123a5a;
  font-size: 16px;
  font-weight: 900;
}

.aq-pod-related span {
  display: inline-flex;
  margin-top: 12px;
  color: #177d78;
  font-size: 13px;
  font-weight: 900;
}

.aq-pod-related span::after {
  content: "›";
  margin-left: 6px;
}

.aq-pod-redirect {
  display: grid;
  justify-items: center;
  min-height: 320px;
  align-content: center;
}

@media (max-width: 1180px) {
  .aq-pod-hero,
  .aq-pod-mention-section,
  .aq-pod-notes {
    grid-template-columns: 1fr;
  }
  .aq-pod-chat,
  .aq-pod-figure {
    max-width: 720px;
  }
  .aq-pod-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.aq-is-joseikin-bot .aq-pod-wrap {
    padding-top: 72px !important;
  }
  .aq-pod-main {
    gap: 14px;
  }
  .aq-pod-hero,
  .aq-pod-section {
    padding: 20px;
    border-radius: 12px;
  }
  .aq-pod-hero h1 {
    font-size: 34px !important;
  }
  .aq-pod-card-grid.three,
  .aq-pod-steps {
    grid-template-columns: 1fr;
  }
  .aq-pod-route {
    align-items: flex-start;
    flex-direction: column;
  }
  .aq-pod-route span {
    flex: auto;
  }
}

@media (max-width: 560px) {
  .aq-pod-title-lockup {
    gap: 12px;
  }
  .aq-pod-title-lockup h1 {
    font-size: 30px !important;
  }
  .aq-pod-ai-mark {
    width: 58px;
    height: 58px;
    border-radius: 14px;
  }
  .aq-pod-ai-mark svg {
    width: 35px;
    height: 35px;
  }
  .aq-pod-ai-mark::after {
    right: -6px;
    bottom: -6px;
    min-width: 26px;
    height: 26px;
    font-size: 10px;
  }
  .aq-pod-actions,
  .aq-pod-btn {
    width: 100%;
  }
  .aq-pod-mini-points {
    display: grid;
    grid-template-columns: 1fr;
  }
  .aq-pod-chat-body {
    padding: 12px;
  }
  .aq-pod-section-head h1,
  .aq-pod-section-head h2 {
    font-size: 23px !important;
  }
}

/* ============================================================
   Home action blocks
   ============================================================ */

.aq-action-section,
.aq-event-section,
.aq-grant-check-section {
  margin: 0 0 22px;
}

.aq-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.aq-action-card {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 206px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(6, 21, 46, .06);
}

.aq-action-card.is-urgent {
  border-color: rgba(138, 28, 36, .35);
  background: linear-gradient(180deg, #fff7f7 0, #fff 54%);
}

.aq-action-date {
  display: grid;
  place-items: center;
  min-height: 66px;
  padding: 8px 6px;
  color: #fff;
  background: var(--aq-navy);
  border-radius: 8px;
  text-align: center;
}

.aq-action-card.is-urgent .aq-action-date {
  background: var(--aq-wine);
}

.aq-action-date strong {
  display: block;
  font-size: 18px;
  line-height: 1;
}

.aq-action-date span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 700;
}

.aq-action-body {
  min-width: 0;
}

.aq-action-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  color: var(--aq-wine);
  background: #fbf1f2;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.aq-action-body h3 {
  margin: 7px 0 4px;
  color: var(--aq-navy);
  font-size: 18px;
  line-height: 1.35;
}

.aq-action-body p {
  margin: 0;
  color: var(--aq-text-sub);
  font-size: 13px;
  line-height: 1.6;
}

.aq-action-body ul {
  margin: 7px 0 0;
  padding-left: 18px;
  color: var(--aq-text);
  font-size: 13px;
  line-height: 1.55;
}

.aq-action-link {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 11px;
  color: #fff !important;
  background: var(--aq-navy);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
}

.aq-action-link:hover {
  background: var(--aq-wine);
}

.aq-event-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.aq-event-card {
  min-height: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(6, 21, 46, .05);
  overflow: hidden;
}

.aq-event-card:hover {
  border-color: var(--aq-wine);
}

.aq-event-card[open] {
  border-color: rgba(138, 28, 36, .45);
  box-shadow: 0 14px 30px rgba(6, 21, 46, .08);
}

.aq-event-summary {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 9px 10px;
  align-items: center;
  min-height: 96px;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.aq-event-summary::-webkit-details-marker {
  display: none;
}

.aq-event-summary strong {
  display: block;
  color: var(--aq-navy);
  font-size: 15px;
  line-height: 1.3;
}

.aq-event-summary > span:last-of-type {
  grid-column: 2 / 4;
  display: block;
  color: var(--aq-text-sub);
  font-size: 12px;
  line-height: 1.4;
}

.aq-event-summary i {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 24px;
  padding: 2px 8px;
  color: var(--aq-navy);
  background: var(--aq-bg-alt);
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.aq-event-card[open] .aq-event-summary i {
  color: #fff;
  background: var(--aq-wine);
}

.aq-event-card[open] .aq-event-summary i::before {
  content: "閉じる";
  font-size: 11px;
}

.aq-event-card[open] .aq-event-summary i {
  font-size: 0;
}

.aq-event-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  color: var(--aq-wine);
  background: #fbf1f2;
  border-radius: 8px;
}

.aq-event-icon svg {
  display: block;
  width: 22px;
  height: 22px;
}

.aq-event-detail {
  padding: 0 12px 12px 62px;
}

.aq-event-detail h3 {
  margin: 0 0 6px;
  color: var(--aq-wine);
  font-size: 13px;
  line-height: 1.35;
}

.aq-event-detail ul {
  margin: 0;
  padding-left: 18px;
  color: var(--aq-text-sub);
  font-size: 12px;
  line-height: 1.55;
}

.aq-event-detail li + li {
  margin-top: 3px;
}

.aq-event-detail-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.aq-event-detail-links a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  color: var(--aq-navy) !important;
  background: #f7f3ec;
  border: 1px solid rgba(144, 106, 59, .25);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.aq-event-detail-links a:hover {
  color: #fff !important;
  background: var(--aq-gold);
}

.aq-grant-check-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.aq-grant-check-card {
  min-height: 166px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--aq-border);
  border-top: 4px solid var(--aq-gold);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(6, 21, 46, .05);
}

.aq-check-no {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 2px 9px;
  color: #fff;
  background: var(--aq-gold);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.aq-grant-check-card h3 {
  margin: 9px 0 5px;
  color: var(--aq-navy);
  font-size: 18px;
  line-height: 1.35;
}

.aq-grant-check-card p {
  margin: 0 0 10px;
  color: var(--aq-text-sub);
  font-size: 13px;
  line-height: 1.6;
}

.aq-grant-check-card a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 11px;
  color: var(--aq-navy) !important;
  background: #f7f3ec;
  border: 1px solid rgba(144, 106, 59, .28);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
}

.aq-grant-check-card a:hover {
  color: #fff !important;
  background: var(--aq-gold);
}

@media (max-width: 1100px) {
  .aq-action-grid {
    grid-template-columns: 1fr;
  }

  .aq-event-grid,
  .aq-grant-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .aq-action-card,
  .aq-event-grid,
  .aq-grant-check-grid {
    grid-template-columns: 1fr;
  }

  .aq-action-date {
    width: 88px;
    min-height: 64px;
  }

  .aq-action-link {
    grid-column: auto;
  }

  .aq-event-summary {
    min-height: 86px;
  }

  .aq-event-detail {
    padding-left: 12px;
  }
}

/* Home action UI refinement */
.aq-action-section .aq-section-head,
.aq-event-section .aq-section-head,
.aq-grant-check-section .aq-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 12px;
  padding: 0 0 0 14px;
  border-left: 4px solid var(--aq-wine);
}

.aq-action-section .aq-section-head h2,
.aq-event-section .aq-section-head h2,
.aq-grant-check-section .aq-section-head h2 {
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.aq-action-section .aq-section-sub,
.aq-event-section .aq-section-sub,
.aq-grant-check-section .aq-section-sub {
  margin-top: 3px !important;
  font-size: 12px;
  line-height: 1.55;
}

.aq-action-grid {
  gap: 10px;
}

.aq-action-card {
  position: relative;
  grid-template-columns: 68px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 178px;
  padding: 12px;
  border-left: 4px solid var(--aq-navy);
}

.aq-action-card.is-urgent {
  border-left-color: var(--aq-wine);
}

.aq-action-date {
  width: 62px;
  min-height: 58px;
  border-radius: 6px;
}

.aq-action-date strong {
  font-size: 16px;
}

.aq-action-kicker {
  min-height: 22px;
  padding: 2px 8px;
  font-size: 11px;
}

.aq-action-body h3 {
  margin-top: 6px;
  font-size: 16px;
}

.aq-action-body p,
.aq-action-body ul {
  font-size: 12px;
}

.aq-action-link {
  grid-column: 2;
  justify-self: start;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
}

.aq-event-grid {
  gap: 8px;
}

.aq-event-card {
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.aq-event-card:hover,
.aq-event-card:focus-within {
  transform: translateY(-1px);
}

.aq-event-card[open] {
  grid-column: span 2;
  transform: none;
}

.aq-event-summary {
  min-height: 78px;
  grid-template-columns: 36px minmax(0, 1fr) 32px;
  gap: 7px 9px;
  padding: 10px;
}

.aq-event-icon {
  width: 34px;
  height: 34px;
  border-radius: 7px;
}

.aq-event-icon svg {
  width: 19px;
  height: 19px;
}

.aq-event-summary strong {
  font-size: 14px;
}

.aq-event-summary > span:last-of-type {
  grid-column: 2 / 3;
  font-size: 11px;
  line-height: 1.35;
}

.aq-event-summary i {
  align-self: center;
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  border: 1px solid var(--aq-border);
  border-radius: 50%;
  background: #fff;
  color: var(--aq-navy);
  font-size: 0;
}

.aq-event-summary i::before {
  content: "";
}

.aq-event-summary i::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .16s ease;
}

.aq-event-card[open] .aq-event-summary i {
  background: var(--aq-wine);
  border-color: var(--aq-wine);
  color: #fff;
}

.aq-event-card[open] .aq-event-summary i::after {
  transform: rotate(225deg) translate(-1px, -1px);
}

.aq-event-detail {
  margin: 0 10px 10px;
  padding: 11px 12px;
  background: #f8fafc;
  border: 1px solid #e4e9f0;
  border-radius: 7px;
}

.aq-event-detail h3 {
  margin-bottom: 5px;
  font-size: 12px;
}

.aq-event-detail ul {
  font-size: 12px;
}

.aq-event-detail li::marker {
  color: var(--aq-wine);
}

.aq-event-detail-links {
  margin-top: 8px;
}

.aq-event-detail-links a {
  min-height: 28px;
  padding: 4px 9px;
}

.aq-grant-check-grid {
  gap: 8px;
}

.aq-grant-check-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 150px;
  padding: 14px;
  border-top: 0;
  border-left: 4px solid var(--aq-gold);
}

.aq-check-no {
  position: absolute;
  top: 12px;
  right: 12px;
  min-height: 22px;
  padding: 2px 8px;
  font-size: 11px;
}

.aq-grant-check-card h3 {
  margin-top: 0;
  padding-right: 42px;
  font-size: 16px;
}

.aq-grant-check-card p {
  flex: 1;
  font-size: 12px;
}

.aq-grant-check-card a {
  align-self: flex-start;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
}

@media (max-width: 1100px) {
  .aq-event-card[open] {
    grid-column: span 2;
  }
}

@media (max-width: 620px) {
  .aq-action-section .aq-section-head,
  .aq-event-section .aq-section-head,
  .aq-grant-check-section .aq-section-head {
    display: block;
  }

  .aq-action-card {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .aq-action-link {
    grid-column: 1 / -1;
  }

  .aq-event-card[open] {
    grid-column: span 1;
  }

  .aq-event-summary {
    min-height: 76px;
  }
}

/* ============================================================
   v9.0 - Home redesign: sidebar icons + new home sections
   ============================================================ */

/* Sidebar nav: icon + text row layout */
.aq-nav-item {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px;
}

.aq-nav-icon {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-nav-icon svg {
  width: 18px;
  height: 18px;
}

.aq-sidebar-note {
  margin-top: auto !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 16px 14px !important;
  border-radius: 16px !important;
  background: #f3f4f6 !important;
  border: 0 !important;
  font-size: 12px !important;
  line-height: 1.6;
  color: #6b7280 !important;
}

.aq-sidebar-note-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #e5e7eb;
  color: #374151;
  margin-bottom: 2px;
}

.aq-sidebar-note-icon svg {
  width: 16px;
  height: 16px;
}

.aq-sidebar-note strong {
  display: block;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

/* Hero check card list items with icons */
.aq-hero-check-card li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 14px !important;
}

.aq-check-icon {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
}

.aq-check-icon svg {
  width: 16px;
  height: 16px;
}

.aq-hero-check-card li > span:not(.aq-check-icon):not(.aq-check-arrow) {
  flex: 1;
  min-width: 0;
}

.aq-check-arrow {
  flex: 0 0 auto;
  font-size: 18px;
  color: rgba(255,255,255,.4);
  line-height: 1;
}

/* Hero buttons: flex row with icon */
.aq-btn-primary,
.aq-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
}

/* News list: 4-column with arrow */
.aq-news-list li {
  grid-template-columns: 78px 70px minmax(0,1fr) auto !important;
  align-items: center !important;
}

.aq-news-arr {
  font-size: 16px;
  color: #cbd5e1;
  justify-self: end;
}

/* ============================================================
   Home: purpose grid
   ============================================================ */

.aq-purpose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.aq-purpose-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  color: #111827 !important;
  transition: background .14s, border-color .14s;
}

.aq-purpose-card:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}

.aq-purpose-icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}

.aq-purpose-icon svg {
  width: 22px;
  height: 22px;
}

.aq-purpose-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.aq-purpose-text strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  color: #111827;
}

.aq-purpose-text small {
  display: block;
  font-size: 11px;
  color: #64748b;
  line-height: 1.4;
}

/* ============================================================
   Home: content grid
   ============================================================ */

.aq-content-section {
  padding: 24px 28px 28px !important;
}

.aq-content-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 14px;
}

.aq-content-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 12px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  color: #111827 !important;
  text-align: center;
  transition: background .14s, border-color .14s;
}

.aq-content-card:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
}

.aq-content-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #f1f5f9;
  color: #374151;
}

.aq-content-icon svg {
  width: 24px;
  height: 24px;
}

.aq-content-card strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  color: #111827;
}

.aq-content-card small {
  display: block;
  font-size: 11px;
  color: #64748b;
}

/* ============================================================
   Home: recommend grid
   ============================================================ */

.aq-recommend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.aq-recommend-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 20px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}

.aq-recommend-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.aq-recommend-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
}

.aq-recommend-icon svg {
  width: 26px;
  height: 26px;
}

.aq-recommend-card strong {
  display: block;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  color: #111827;
}

.aq-recommend-card p {
  margin: 0 !important;
  font-size: 13px;
  color: #64748b !important;
  line-height: 1.6;
  flex: 1;
}

.aq-recommend-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: #2563eb !important;
}

/* ============================================================
   Home: flow steps
   ============================================================ */

.aq-flow-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.aq-flow-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 12px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #f8fafc;
  text-align: center;
}

.aq-flow-num {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111827;
  color: #fff !important;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}

.aq-flow-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.aq-flow-body svg {
  width: 26px;
  height: 26px;
  color: #374151;
}

.aq-flow-body strong {
  display: block;
  font-size: 14px;
  font-weight: 900;
  color: #111827;
  line-height: 1.2;
}

.aq-flow-body p {
  margin: 0 !important;
  font-size: 12px;
  color: #64748b !important;
  line-height: 1.4;
}

.aq-flow-sep {
  flex: 0 0 auto;
  font-size: 22px;
  color: #cbd5e1;
  line-height: 1;
}

/* ============================================================
   Home: FAQ list
   ============================================================ */

.aq-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.aq-faq-item {
  border-bottom: 1px solid #e2e8f0;
}

.aq-faq-item:last-child {
  border-bottom: 0;
}

.aq-faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 4px;
  color: #111827 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.aq-faq-arr {
  flex: 0 0 auto;
  font-size: 16px;
  color: #94a3b8;
}

/* ============================================================
   Home: trouble contact section
   ============================================================ */

.aq-trouble-section > h2 {
  margin: 0 0 20px !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #111827 !important;
  line-height: 1.3 !important;
}

.aq-trouble-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}

.aq-trouble-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 20px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #f8fafc;
}

.aq-trouble-icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  margin-bottom: 4px;
}

.aq-trouble-icon svg {
  width: 24px;
  height: 24px;
}

.aq-trouble-card strong {
  display: block;
  font-size: 16px;
  font-weight: 900;
  color: #111827;
  line-height: 1.2;
}

.aq-trouble-card small {
  display: block;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}

.aq-trouble-tel {
  display: block;
  margin-top: 4px;
  font-size: 22px;
  font-weight: 900;
  color: #1d4ed8 !important;
  letter-spacing: .02em;
  line-height: 1;
}

.aq-trouble-email {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
  color: #16a34a !important;
}

.aq-trouble-chat {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  background: #111827;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
}

.aq-trouble-chat:hover {
  background: #374151 !important;
  color: #fff !important;
}

/* ============================================================
   Floating chat widget
   ============================================================ */

.aq-float-widget {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.aq-float-bubble {
  max-width: 220px;
  padding: 12px 16px;
  border-radius: 16px 16px 4px 16px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 20px rgba(0,0,0,.10);
}

.aq-float-bubble p {
  margin: 0 !important;
  font-size: 11px;
  color: #374151 !important;
  line-height: 1.7;
}

.aq-float-btn {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #111827;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(0,0,0,.22);
  transition: background .14s;
}

.aq-float-btn:hover {
  background: #1d4ed8;
}

.aq-float-btn svg {
  width: 24px;
  height: 24px;
}

/* ============================================================
   Responsive overrides for new home sections
   ============================================================ */

@media (max-width: 1100px) {
  .aq-content-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .aq-purpose-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 820px) {
  .aq-purpose-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .aq-content-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .aq-recommend-grid,
  .aq-trouble-grid {
    grid-template-columns: 1fr;
  }
  .aq-flow-row {
    flex-direction: column;
    gap: 4px;
  }
  .aq-flow-sep {
    transform: rotate(90deg);
  }
  .aq-float-widget {
    bottom: 16px;
    right: 16px;
  }
  .aq-float-bubble {
    display: none;
  }
  .aq-news-list li {
    grid-template-columns: 70px 62px minmax(0,1fr) auto !important;
    gap: 8px !important;
  }
}

/* ============================================================
   v9.3 - 賑わい全面改善 (Liveliness, scale, vibrancy)
   ============================================================ */

/* ---- Hero layout ---- */
#aq-hero {
  grid-template-columns: minmax(0, 1fr) 186px 316px !important;
  gap: 20px !important;
  min-height: 380px !important;
  align-items: center !important;
  padding: 44px 46px !important;
}

.aq-hero-title {
  font-size: 64px !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  word-break: keep-all !important;
}

.aq-hero-sub {
  font-size: 17px !important;
  line-height: 1.8 !important;
}

.aq-hero-actions {
  gap: 14px !important;
  margin-top: 30px !important;
}

.aq-btn-primary,
.aq-btn-secondary {
  min-height: 46px !important;
  padding: 11px 24px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.aq-hero-illust {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.aq-hero-illust svg {
  width: 100%;
  height: auto;
  max-height: 260px;
}

/* ---- Hero check card: prevent wrapping ---- */
.aq-hero-check-card {
  padding: 20px 16px 16px !important;
  border-radius: 20px !important;
}

.aq-hero-check-card h2 {
  font-size: 15px !important;
  font-weight: 900 !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}

.aq-hero-check-card ul {
  gap: 8px !important;
}

.aq-hero-check-card li {
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 9px 10px !important;
  gap: 8px !important;
  border-radius: 11px !important;
}

.aq-check-icon {
  flex: 0 0 auto !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
}

.aq-check-icon svg {
  width: 13px !important;
  height: 13px !important;
}

.aq-check-arrow {
  font-size: 16px !important;
}

/* ---- Purpose grid: 3-column × 2-row for LARGE cards ---- */
.aq-purpose-grid {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 14px !important;
}

.aq-purpose-card {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 28px 16px 24px !important;
  gap: 14px !important;
  min-height: 190px !important;
  justify-content: flex-start !important;
  border-radius: 18px !important;
}

.aq-purpose-text {
  align-items: center !important;
  text-align: center !important;
}

.aq-purpose-text strong {
  font-size: 16px !important;
  font-weight: 900 !important;
  word-break: keep-all;
  line-height: 1.35 !important;
}

.aq-purpose-text small {
  font-size: 13px !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
}

.aq-purpose-icon {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.25) !important;
}

.aq-purpose-icon svg {
  width: 34px !important;
  height: 34px !important;
  stroke: #fff !important;
  color: #fff !important;
  stroke-width: 1.8 !important;
}

/* ---- Content cards: bigger, colored icons ---- */
.aq-content-grid {
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  gap: 14px !important;
}

.aq-content-card {
  padding: 26px 14px 22px !important;
  gap: 14px !important;
  border-radius: 18px !important;
}

.aq-content-icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 18px !important;
}

.aq-content-icon svg {
  width: 30px !important;
  height: 30px !important;
}

.aq-content-card strong {
  font-size: 14px !important;
  font-weight: 900 !important;
}

.aq-content-card small {
  font-size: 12px !important;
}

.aq-content-card:nth-child(1) .aq-content-icon { background: #fef9c3; color: #b45309; }
.aq-content-card:nth-child(2) .aq-content-icon { background: #ede9fe; color: #6d28d9; }
.aq-content-card:nth-child(3) .aq-content-icon { background: #dcfce7; color: #15803d; }
.aq-content-card:nth-child(4) .aq-content-icon { background: #e0f2fe; color: #0369a1; }
.aq-content-card:nth-child(5) .aq-content-icon { background: #dbeafe; color: #1d4ed8; }
.aq-content-card:nth-child(6) .aq-content-icon { background: #faf5ff; color: #7c3aed; }

/* ---- News tags: rectangular ---- */
.aq-tag {
  border-radius: 5px !important;
  font-size: 10px !important;
  padding: 3px 7px !important;
}

/* ---- Recommend cards ---- */
.aq-recommend-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 16px !important;
}

.aq-recommend-icon svg {
  width: 28px !important;
  height: 28px !important;
}

.aq-recommend-card strong {
  font-size: 16px !important;
  font-weight: 900 !important;
}

.aq-recommend-card p {
  font-size: 13px !important;
}

/* ---- Flow steps ---- */
.aq-flow-step {
  padding: 20px 14px 16px !important;
}

.aq-flow-num {
  width: 40px !important;
  height: 40px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.aq-flow-body svg {
  width: 30px !important;
  height: 30px !important;
}

.aq-flow-body strong {
  font-size: 15px !important;
  font-weight: 900 !important;
}

.aq-flow-body p {
  font-size: 13px !important;
}

/* ---- FAQ ---- */
.aq-faq-q {
  font-size: 14px !important;
  padding: 16px 4px !important;
}

/* ---- Trouble cards ---- */
.aq-trouble-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
}

.aq-trouble-icon svg {
  width: 26px !important;
  height: 26px !important;
}

.aq-trouble-card strong {
  font-size: 17px !important;
}

.aq-trouble-card small {
  font-size: 13px !important;
}

/* ---- Responsive ---- */
@media (max-width: 1300px) {
  #aq-hero {
    grid-template-columns: minmax(0, 1fr) 306px !important;
    gap: 24px !important;
    padding: 38px 40px !important;
  }
  .aq-hero-illust { display: none !important; }
  .aq-content-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}

@media (max-width: 820px) {
  #aq-hero {
    grid-template-columns: 1fr !important;
    padding: 28px 20px !important;
    min-height: auto !important;
  }
  .aq-hero-title { font-size: 40px !important; }
  .aq-purpose-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .aq-content-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

/* ============================================================
   v9.2 - Forms dashboard layout
   ============================================================ */

body.aq-is-forms {
  margin-left: var(--aq-sidebar-w) !important;
  background:
    radial-gradient(circle at 86% 0%, rgba(96, 165, 250, .18), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%) !important;
}

body.aq-is-forms .aq-breadcrumb,
body.aq-is-notices .aq-breadcrumb {
  display: none !important;
}

body.aq-is-forms #aq-sidebar {
  border-radius: 8px !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .06);
}

body.aq-is-forms .aq-nav-item.is-active {
  background: #07142d !important;
  color: #fff !important;
}

.aq-forms-dashboard {
  width: auto;
  max-width: calc(100vw - var(--aq-sidebar-w));
  min-height: 100vh;
  padding: 24px 28px 28px 0;
  color: #07142d;
  overflow-x: clip;
}

.aq-forms-main {
  width: 100%;
  max-width: 1520px;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.aq-forms-head {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(560px, auto);
  align-items: center;
  gap: 22px;
  min-height: 86px;
}

.aq-forms-title h1 {
  margin: 0 0 8px !important;
  color: #07142d !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

.aq-forms-title p {
  margin: 0 !important;
  color: #18243a !important;
  font-size: 16px;
  line-height: 1.75;
}

.aq-forms-head-actions {
  display: grid;
  grid-template-columns: minmax(250px, 330px) auto minmax(250px, 1fr);
  align-items: center;
  justify-content: end;
  gap: 12px;
}

.aq-forms-search {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #cdd8e7;
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
}

.aq-forms-search input,
.aq-forms-filter-search input,
.aq-forms-filter-panel select {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #07142d !important;
  font: inherit;
}

.aq-forms-search input {
  flex: 1;
  font-size: 13px;
}

.aq-forms-search-icon,
.aq-forms-fav svg,
.aq-forms-guide-icon svg,
.aq-forms-download svg,
.aq-forms-chat-button svg,
.aq-forms-cta-icon svg {
  flex: 0 0 auto;
}

.aq-forms-search-icon svg,
.aq-forms-fav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-forms-search-icon {
  color: #17376b;
  line-height: 1;
}

.aq-forms-fav,
.aq-forms-text-button,
.aq-forms-clear {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit !important;
}

.aq-forms-fav {
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid #9fb5d6;
  border-radius: 8px;
  color: #1450a3;
  background: rgba(255, 255, 255, .82);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.aq-forms-guide-link {
  min-height: 78px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border: 1px solid #d5dfec;
  border-radius: 8px;
  background: rgba(255, 255, 255, .88);
}

.aq-forms-guide-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #d9e9ff;
  color: #2365bd;
}

.aq-forms-guide-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-forms-guide-link strong,
.aq-forms-guide-link small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.aq-forms-guide-link strong {
  color: #07142d;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.aq-forms-guide-link small {
  margin-top: 6px;
  color: #1450a3;
  font-size: 12px;
  font-weight: 800;
}

.aq-forms-panel {
  min-width: 0;
  border: 1px solid #d9e3ef;
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .04);
}

.aq-forms-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.aq-forms-panel h2,
.aq-forms-panel-head h2 {
  margin: 0 !important;
  color: #07142d !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.aq-forms-category-panel {
  padding: 18px 16px 14px;
}

.aq-forms-category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.aq-forms-category-card {
  position: relative;
  min-width: 0;
  min-height: 116px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px 12px 12px;
  border: 1px solid #d6e0ed;
  border-radius: 8px;
  background: #fff;
  color: #07142d;
  text-align: center;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.aq-forms-category-card:hover {
  transform: translateY(-2px);
  border-color: #8fb2e8;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .1);
}

.aq-forms-category-icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2f6fca;
}

.aq-forms-category-icon svg {
  width: 40px;
  height: 40px;
  fill: rgba(47, 111, 202, .12);
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-forms-category-card strong {
  display: block;
  max-width: 100%;
  color: #07142d;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.aq-forms-category-card small {
  color: #07142d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.aq-forms-category-arrow {
  position: absolute;
  right: 14px;
  bottom: 16px;
  color: #17376b;
  font-size: 22px;
  line-height: 1;
}

.aq-forms-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.aq-forms-list-panel,
.aq-forms-results-panel {
  padding: 16px 10px 10px;
}

.aq-forms-list {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dfe7f1;
  border-radius: 8px;
}

.aq-forms-list-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 36px 36px;
  align-items: center;
  column-gap: 4px;
  padding: 10px 8px 10px 12px;
  border-bottom: 1px solid #e2e9f2;
  background: #fff;
}

.aq-forms-row-lead {
  align-self: start;
  padding-top: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-forms-row-body {
  min-width: 0;
}

.aq-forms-row-line1 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  min-width: 0;
}

.aq-forms-row-line1 h3 {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aq-forms-row-line2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding-right: 8px;
}

.aq-forms-list-row:last-child {
  border-bottom: 0;
}

.aq-forms-row-lead {
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-forms-rank {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #d7a50f;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.aq-forms-list-row:nth-child(2) .aq-forms-rank { background: #9aa6b4; }
.aq-forms-list-row:nth-child(3) .aq-forms-rank { background: #c88543; }
.aq-forms-list-row:nth-child(4) .aq-forms-rank,
.aq-forms-list-row:nth-child(5) .aq-forms-rank { background: #79a8df; }

.aq-forms-new-badge {
  min-width: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  border: 1px solid #f59e0b;
  border-radius: 7px;
  color: #f59e0b;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.1;
}

.aq-forms-row-main {
  min-width: 0;
}

.aq-forms-row-main h3,
.aq-forms-row-line1 h3 {
  margin: 0 !important;
  color: #07142d !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aq-forms-row-body p,
.aq-forms-row-main p {
  margin: 0 !important;
  color: #5d6a7e !important;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.aq-forms-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}

.aq-forms-tag {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 3px 8px;
  border-radius: 5px;
  background: #e4eefb;
  color: #20508c;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.aq-forms-tag-format {
  background: #eef2f7;
  color: #344256;
}

.aq-forms-row-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #56657a;
  font-size: 12px;
  text-align: right;
}

.aq-forms-count-text {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.aq-forms-count-text small {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eef4ff;
  color: #2563eb;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.aq-forms-row-meta time,
.aq-forms-row-actions time {
  color: #94a3b8;
  font-size: 11px;
  white-space: nowrap;
}

.aq-forms-download {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5e0ee;
  border-radius: 7px;
  background: #fff;
  color: #1450a3 !important;
  justify-self: center;
}

.aq-forms-download svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-forms-download:hover {
  border-color: #1450a3;
  background: #eaf3ff;
}

.aq-forms-download.is-disabled {
  color: #94a3b8 !important;
  pointer-events: none;
}

.aq-forms-text-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #1450a3;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.aq-forms-text-button::after,
.aq-forms-clear::after {
  content: ">";
  font-size: 13px;
  line-height: 1;
}

.aq-forms-results-panel[hidden] {
  display: none !important;
}

.aq-forms-empty {
  margin: 0 !important;
  padding: 20px;
  background: #fff;
  color: #64748b !important;
  font-size: 13px;
}

.aq-forms-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) minmax(0, 1.2fr);
  gap: 12px;
}

.aq-forms-filter-panel,
.aq-forms-mini-panel,
.aq-forms-notice-panel {
  padding: 16px;
}

.aq-forms-filter-panel h2,
.aq-forms-mini-panel h2,
.aq-forms-notice-panel h2 {
  margin: 0 0 14px !important;
}

.aq-forms-filter-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.aq-forms-filter-row label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #07142d;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.3;
}

.aq-forms-filter-panel select,
.aq-forms-filter-search input {
  height: 40px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid #d5e0ee;
  border-radius: 7px;
  background: #fff;
  color: #07142d !important;
  font-size: 14px;
}

.aq-forms-filter-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 10px;
  margin-top: 16px;
}

.aq-forms-filter-search button,
.aq-forms-outline-button,
.aq-forms-contact-strip a,
.aq-forms-chat-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.aq-forms-filter-search button {
  border: 1px solid #07142d;
  background: #07142d;
  color: #fff;
  cursor: pointer;
}

.aq-forms-clear {
  float: right;
  margin-top: 8px;
  color: #1450a3;
  font-size: 12px;
  font-weight: 900;
}

.aq-forms-mini-panel p {
  margin: 0 0 14px !important;
  color: #526179 !important;
  font-size: 14px;
  line-height: 1.8;
}

.aq-forms-guide-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin-bottom: 16px;
}

.aq-forms-guide-menu span {
  position: relative;
  min-width: 0;
  padding-left: 24px;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

.aq-forms-guide-menu span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
  border-radius: 5px;
  background: #e5effd;
  border: 1px solid #cddcf1;
}

.aq-forms-guide-menu span::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 5px;
  height: 5px;
  border-right: 2px solid #1450a3;
  border-bottom: 2px solid #1450a3;
  transform: rotate(45deg);
}

.aq-forms-outline-button {
  width: 170px;
  margin: 0 auto;
  border: 1px solid #cbd8e8;
  background: #f8fbff;
  color: #07142d !important;
}

.aq-forms-notice-panel ul {
  margin: 0 0 12px !important;
  padding-left: 18px !important;
  color: #334155 !important;
  font-size: 14px;
  line-height: 1.8;
}

.aq-forms-notice-panel li::marker {
  color: #1450a3;
}

.aq-forms-contact-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #ffe6a3;
}

.aq-forms-contact-strip span {
  color: #7c5200;
  font-size: 13px;
  font-weight: 900;
}

.aq-forms-contact-strip a {
  min-height: 34px;
  padding: 0 16px;
  background: #fff;
  color: #07142d !important;
}

.aq-forms-cta-bar {
  min-height: 56px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 11px 22px;
  border-radius: 8px;
  background: linear-gradient(90deg, #eaf3ff 0%, #f8fbff 100%);
  color: #1450a3;
}

.aq-forms-cta-bar strong {
  min-width: 0;
  color: #1450a3;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.aq-forms-cta-icon {
  width: 28px;
  height: 28px;
  color: #1450a3;
}

.aq-forms-cta-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-forms-chat-button {
  gap: 8px;
  min-height: 38px;
  padding: 0 20px;
  background: #07142d;
  color: #fff !important;
}

.aq-forms-chat-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1380px) {
  .aq-forms-head {
    grid-template-columns: 1fr;
  }

  .aq-forms-head-actions {
    grid-template-columns: minmax(220px, 1fr) auto minmax(230px, .8fr);
    justify-content: stretch;
  }

  .aq-forms-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  body.aq-is-forms {
    margin-left: 0 !important;
  }

  .aq-forms-dashboard {
    width: 100%;
    max-width: none;
    padding: 82px 16px 28px;
  }

  .aq-forms-head-actions,
  .aq-forms-board,
  .aq-forms-bottom-grid {
    grid-template-columns: 1fr;
  }

  .aq-forms-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  body.aq-is-forms #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    transform: translateX(-105%) !important;
    border-radius: 0 8px 8px 0 !important;
  }

  body.aq-is-forms #aq-sidebar.is-open {
    transform: translateX(0) !important;
  }

  .aq-forms-dashboard {
    padding: 74px 12px 24px;
  }

  .aq-forms-title h1 {
    font-size: 28px !important;
  }

  .aq-forms-category-grid,
  .aq-forms-filter-row,
  .aq-forms-guide-menu {
    grid-template-columns: 1fr;
  }

  .aq-forms-list-row {
    grid-template-columns: 34px minmax(0, 1fr) 38px;
    gap: 8px;
  }

  .aq-forms-row-meta {
    grid-column: 2 / -1;
    justify-content: flex-start;
    text-align: left;
  }

  .aq-forms-download {
    grid-column: 3;
    grid-row: 1;
  }

  .aq-forms-filter-search,
  .aq-forms-contact-strip,
  .aq-forms-cta-bar {
    grid-template-columns: 1fr;
  }

  .aq-forms-chat-button,
  .aq-forms-outline-button {
    width: 100%;
  }
}

/* ============================================================
   v9.5 - 賑わい大幅強化 Bold vibrancy overhaul
   ============================================================ */

/* ---- Page background: light gray so white panels POP ---- */
.aq-portal-body {
  background: transparent;
}

/* All panels: white + shadow for depth */
.aq-panel {
  background: #fff !important;
  box-shadow: 0 2px 14px rgba(15,23,42,.08) !important;
}

/* ---- Section panel headings: BIG and BOLD ---- */
.aq-panel-head {
  margin-bottom: 22px !important;
  padding-bottom: 18px !important;
  border-bottom: 2px solid #f1f5f9 !important;
}

.aq-panel-head h2 {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
}

.aq-panel-head a {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #dc2626 !important;
}

/* ---- Purpose grid & cards: MAXIMUM size ---- */
.aq-purpose-grid {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 16px !important;
}

.aq-purpose-card {
  padding: 30px 14px 26px !important;
  min-height: 210px !important;
  gap: 16px !important;
  border-radius: 20px !important;
  border: 1.5px solid #e8edf5 !important;
  box-shadow: 0 4px 16px rgba(15,23,42,.07) !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}

.aq-purpose-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(15,23,42,.12) !important;
}

.aq-purpose-icon {
  width: 84px !important;
  height: 84px !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
}

.aq-purpose-icon svg {
  width: 40px !important;
  height: 40px !important;
  stroke-width: 1.75 !important;
}

.aq-purpose-text strong {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.35 !important;
}

.aq-purpose-text small {
  font-size: 13px !important;
  color: #64748b !important;
  line-height: 1.55 !important;
}

/* ---- News: prominent items ---- */
.aq-news-list li {
  padding: 14px 16px !important;
  margin-bottom: 6px !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  border: 1px solid #e8edf5 !important;
}

.aq-news-list a {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

.aq-news-list time {
  font-size: 13px !important;
  color: #94a3b8 !important;
}

/* Tags: bigger and more colorful */
.aq-tag {
  min-height: 24px !important;
  padding: 4px 9px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  border-radius: 5px !important;
  letter-spacing: .01em !important;
}

.aq-tag.navy { background: #1e40af !important; color: #fff !important; }
.aq-tag.wine { background: #dc2626 !important; color: #fff !important; }
.aq-tag.gold { background: #d97706 !important; color: #fff !important; }

/* ---- Content cards: large colorful icons ---- */
.aq-content-section {
  padding: 28px 32px 32px !important;
}

.aq-content-grid {
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  gap: 16px !important;
}

.aq-content-card {
  padding: 28px 14px 24px !important;
  gap: 14px !important;
  border-radius: 20px !important;
  border: 1.5px solid #e8edf5 !important;
  box-shadow: 0 3px 12px rgba(15,23,42,.07) !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}

.aq-content-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.12) !important;
}

.aq-content-icon {
  width: 68px !important;
  height: 68px !important;
  border-radius: 18px !important;
}

.aq-content-icon svg {
  width: 32px !important;
  height: 32px !important;
}

.aq-content-card strong {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
}

.aq-content-card small {
  font-size: 12px !important;
  color: #64748b !important;
}

/* Colorful icon backgrounds */
.aq-content-card:nth-child(1) .aq-content-icon { background: #fef3c7; color: #b45309; }
.aq-content-card:nth-child(2) .aq-content-icon { background: #ede9fe; color: #6d28d9; }
.aq-content-card:nth-child(3) .aq-content-icon { background: #dcfce7; color: #15803d; }
.aq-content-card:nth-child(4) .aq-content-icon { background: #e0f2fe; color: #0369a1; }
.aq-content-card:nth-child(5) .aq-content-icon { background: #dbeafe; color: #1d4ed8; }
.aq-content-card:nth-child(6) .aq-content-icon { background: #faf5ff; color: #7c3aed; }

/* ---- Recommend cards: colored accent top border ---- */
.aq-recommend-grid {
  gap: 20px !important;
}

.aq-recommend-card {
  padding: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 3px 14px rgba(15,23,42,.08) !important;
  border: 1.5px solid #e8edf5 !important;
}

.aq-recommend-card:nth-child(1) { border-top: 4px solid #2563eb !important; }
.aq-recommend-card:nth-child(2) { border-top: 4px solid #16a34a !important; }
.aq-recommend-card:nth-child(3) { border-top: 4px solid #d97706 !important; }

.aq-recommend-card > * {
  padding-left: 22px;
  padding-right: 22px;
}

.aq-recommend-tag {
  margin-top: 20px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.aq-recommend-icon {
  width: 60px !important;
  height: 60px !important;
  margin: 0 22px !important;
}

.aq-recommend-card strong {
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.4 !important;
}

.aq-recommend-card p {
  font-size: 14px !important;
  color: #475569 !important;
  line-height: 1.65 !important;
}

.aq-recommend-link {
  display: block !important;
  padding: 12px 22px 18px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
}

/* ---- Flow steps: gradient numbers ---- */
.aq-flow-row {
  gap: 10px !important;
}

.aq-flow-step {
  padding: 24px 16px 20px !important;
  background: #f8fafc !important;
  border: 1.5px solid #e8edf5 !important;
  box-shadow: 0 2px 10px rgba(15,23,42,.06) !important;
}

.aq-flow-num {
  width: 44px !important;
  height: 44px !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, #1d4ed8, #3b82f6) !important;
  box-shadow: 0 4px 14px rgba(29,78,216,.35) !important;
}

.aq-flow-sep {
  font-size: 28px !important;
  color: #cbd5e1 !important;
}

.aq-flow-body svg {
  color: #3b82f6 !important;
  width: 32px !important;
  height: 32px !important;
}

.aq-flow-body strong {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

.aq-flow-body p {
  font-size: 13px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* ---- FAQ: more prominent ---- */
.aq-faq-q {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  padding: 18px 4px !important;
}

.aq-faq-arr {
  color: #64748b !important;
  font-size: 18px !important;
}

.aq-faq-item {
  border-bottom: 1px solid #e8edf5 !important;
}

/* ---- Trouble / contact cards ---- */
.aq-trouble-section > h2 {
  font-size: 24px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

.aq-trouble-grid {
  gap: 20px !important;
}

.aq-trouble-card {
  padding: 28px 24px 22px !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1.5px solid #e8edf5 !important;
  box-shadow: 0 3px 14px rgba(15,23,42,.08) !important;
}

.aq-trouble-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  margin-bottom: 8px !important;
}

.aq-trouble-icon svg {
  width: 28px !important;
  height: 28px !important;
}

.aq-trouble-card strong {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

.aq-trouble-card small {
  font-size: 13px !important;
  color: #64748b !important;
}

.aq-trouble-tel {
  font-size: 24px !important;
  font-weight: 900 !important;
}

/* ---- Floating widget: more prominent ---- */
.aq-float-btn {
  width: 60px !important;
  height: 60px !important;
  background: #1d4ed8 !important;
  box-shadow: 0 6px 24px rgba(29,78,216,.45) !important;
}

/* v9.5 responsive */
@media (max-width: 1300px) {
  .aq-content-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
  .aq-purpose-icon { width: 72px !important; height: 72px !important; }
  .aq-purpose-icon svg { width: 34px !important; height: 34px !important; }
}

@media (max-width: 820px) {
  .aq-purpose-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .aq-content-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .aq-recommend-grid { grid-template-columns: 1fr !important; }
  .aq-trouble-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   v9.6 - Compact + text-driven (user: ぎゅうぎゅう詰め)
   ============================================================ */

/* ---- Global: remove excess whitespace ---- */
.aq-portal-body { gap: 12px !important; }
.aq-row2       { gap: 10px !important; }

/* All panels: tight padding */
.aq-panel { padding: 16px 18px !important; }
.aq-content-section { padding: 16px 18px 18px !important; }

.aq-panel-head {
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #f1f5f9 !important;
}

.aq-panel-head h2 {
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}

/* ---- Purpose: compact cards, unified icon color ---- */
.aq-purpose-grid {
  gap: 8px !important;
}

.aq-purpose-card {
  padding: 16px 10px 14px !important;
  min-height: 148px !important;
  gap: 10px !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 6px rgba(15,23,42,.06) !important;
}

.aq-purpose-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.12) !important;
}

/* All purpose icons: unified navy blue */
.aq-purpose-icon {
  width: 56px !important;
  height: 56px !important;
  background: #1e3a8a !important;
  box-shadow: 0 3px 10px rgba(30,58,138,.35) !important;
}

.aq-purpose-icon svg {
  width: 26px !important;
  height: 26px !important;
  stroke-width: 1.8 !important;
}

/* Text is the visual anchor */
.aq-purpose-text strong {
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}

.aq-purpose-text small {
  font-size: 11.5px !important;
  line-height: 1.45 !important;
}

/* ---- Content grid: compact, consistent icon color ---- */
.aq-content-grid { gap: 8px !important; }

.aq-content-card {
  padding: 16px 10px 14px !important;
  gap: 10px !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 6px rgba(15,23,42,.06) !important;
}

.aq-content-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.11) !important;
}

/* All content icons: same neutral tone */
.aq-content-icon,
.aq-content-card:nth-child(1) .aq-content-icon,
.aq-content-card:nth-child(2) .aq-content-icon,
.aq-content-card:nth-child(3) .aq-content-icon,
.aq-content-card:nth-child(4) .aq-content-icon,
.aq-content-card:nth-child(5) .aq-content-icon,
.aq-content-card:nth-child(6) .aq-content-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 12px !important;
  background: #eef2f7 !important;
  color: #1e40af !important;
}

.aq-content-icon svg { width: 26px !important; height: 26px !important; }
.aq-content-card strong { font-size: 14px !important; font-weight: 900 !important; }
.aq-content-card small  { font-size: 12px !important; }

/* ---- News: compact ---- */
.aq-news-list li {
  padding: 9px 12px !important;
  margin-bottom: 4px !important;
  border-radius: 10px !important;
}

.aq-news-list a { font-size: 14px !important; font-weight: 800 !important; }
.aq-news-list time { font-size: 12px !important; }

/* ---- Recommend: compact, reset v9.5 padding:0 ---- */
.aq-recommend-grid { gap: 10px !important; }

.aq-recommend-card {
  padding: 16px 18px 14px !important;
  gap: 8px !important;
  box-shadow: 0 1px 8px rgba(15,23,42,.07) !important;
}

.aq-recommend-tag   { margin-top: 0 !important; }
.aq-recommend-icon  { margin: 0 !important; width: 48px !important; height: 48px !important; }
.aq-recommend-icon svg { width: 24px !important; height: 24px !important; }
.aq-recommend-card strong { font-size: 15px !important; }
.aq-recommend-card p      { font-size: 13px !important; }
.aq-recommend-link { padding: 6px 0 0 !important; }

/* ---- Flow: compact ---- */
.aq-flow-row  { gap: 6px !important; }
.aq-flow-step { padding: 14px 10px 12px !important; }
.aq-flow-sep  { font-size: 20px !important; }

.aq-flow-num {
  width: 36px !important;
  height: 36px !important;
  font-size: 16px !important;
}

.aq-flow-body svg    { width: 24px !important; height: 24px !important; }
.aq-flow-body strong { font-size: 14px !important; }
.aq-flow-body p      { font-size: 12px !important; }

/* ---- FAQ: compact ---- */
.aq-faq-q { padding: 12px 4px !important; font-size: 14px !important; }

/* ---- Trouble cards: compact ---- */
.aq-trouble-grid { gap: 10px !important; }

.aq-trouble-card {
  padding: 18px 18px 14px !important;
  border-radius: 16px !important;
}

.aq-trouble-icon {
  width: 46px !important;
  height: 46px !important;
  margin-bottom: 4px !important;
}

.aq-trouble-icon svg { width: 22px !important; height: 22px !important; }
.aq-trouble-card strong { font-size: 16px !important; }
.aq-trouble-card small  { font-size: 12px !important; }
.aq-trouble-tel   { font-size: 20px !important; }

/* ---- Responsive v9.6 ---- */
@media (max-width: 1300px) {
  .aq-content-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}

@media (max-width: 820px) {
  .aq-purpose-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .aq-content-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* ============================================================
   v10 - Screenshot-matched home dashboard
   ============================================================ */

body.aq-is-home {
  --aq-sidebar-w: 336px;
  --aq-sidebar-box-w: 280px;
  --aq-home-gap: 16px;
  margin-left: var(--aq-sidebar-w) !important;
  background: #f4f7fb !important;
  color: #0b1730 !important;
  overflow-x: hidden;
}

body.aq-is-home #aq-sidebar {
  inset: 36px auto 36px 36px !important;
  width: var(--aq-sidebar-box-w) !important;
  height: auto !important;
  display: flex !important;
  border: 1px solid #d9e0ea !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(10, 25, 52, .06) !important;
  overflow: hidden !important;
}

body.aq-is-home .aq-sidebar-inner {
  gap: 28px !important;
  padding: 36px 26px 28px !important;
}

body.aq-is-home .aq-logo {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 0 0 18px !important;
  border-bottom: 0 !important;
}

body.aq-is-home .aq-logo-badge {
  width: 62px !important;
  height: 62px !important;
}

body.aq-is-home .aq-logo-name {
  color: #0d1930 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
}

body.aq-is-home .aq-logo-sub {
  color: #6d7a8f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.aq-is-home .aq-nav {
  gap: 10px !important;
}

body.aq-is-home .aq-nav-item {
  min-height: 48px !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  border-radius: 0 !important;
  color: #182844 !important;
  background: transparent !important;
}

body.aq-is-home .aq-nav-item.is-active,
body.aq-is-home .aq-nav-item:hover {
  border-bottom-color: transparent !important;
  border-radius: 6px !important;
  background: #07142d !important;
  color: #fff !important;
}

body.aq-is-home .aq-nav-icon {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
}

body.aq-is-home .aq-nav-icon svg {
  width: 20px !important;
  height: 20px !important;
}

body.aq-is-home .aq-nav-ja {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-sidebar-note {
  margin-top: auto !important;
  padding: 16px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f0f4f8 !important;
  color: #5f6d83 !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
}

body.aq-is-home .aq-sidebar-note-icon {
  color: #3466b3 !important;
}

body.aq-is-home .aq-sidebar-note strong {
  margin-bottom: 6px !important;
  color: #13213a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.aq-is-home #aq-portal {
  width: calc(100vw - var(--aq-sidebar-w)) !important;
  min-height: 100vh !important;
  padding: 16px 22px 10px var(--aq-home-gap) !important;
  background: #f4f7fb !important;
}

body.aq-is-home #aq-hero {
  height: 270px !important;
  min-height: 270px !important;
  display: grid !important;
  grid-template-columns: minmax(450px, 1fr) minmax(190px, 250px) minmax(360px, 500px) !important;
  gap: 20px !important;
  align-items: center !important;
  padding: 18px 28px 18px 40px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 62% 16%, rgba(71, 118, 188, .26), transparent 32%),
    linear-gradient(135deg, #07142d 0%, #0b1732 52%, #102340 100%) !important;
  box-shadow: 0 14px 34px rgba(13, 24, 48, .12) !important;
  overflow: hidden !important;
}

body.aq-is-home .aq-kicker {
  min-height: 30px !important;
  margin: 0 0 10px !important;
  padding: 6px 15px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.aq-is-home .aq-kicker::before {
  display: none !important;
}

body.aq-is-home .aq-hero-title {
  max-width: 580px !important;
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
  word-break: keep-all !important;
}

body.aq-is-home .aq-hero-sub {
  max-width: 620px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

body.aq-is-home .aq-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

body.aq-is-home .aq-btn-primary,
body.aq-is-home .aq-btn-secondary {
  min-height: 44px !important;
  gap: 9px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-btn-primary svg,
body.aq-is-home .aq-btn-secondary svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 auto !important;
}

body.aq-is-home .aq-btn-primary {
  min-width: 210px !important;
  border: 1px solid #fff !important;
  background: #fff !important;
  color: #0a1730 !important;
}

body.aq-is-home .aq-btn-secondary {
  min-width: 205px !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  background: rgba(255,255,255,.03) !important;
  color: #fff !important;
}

body.aq-is-home .aq-hero-illust {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 0 !important;
}

body.aq-is-home .aq-hero-illust svg {
  width: min(100%, 308px) !important;
  height: auto !important;
  max-height: 220px !important;
}

body.aq-is-home .aq-hero-check-card {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 18px 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.aq-is-home .aq-hero-check-card h2 {
  margin: 0 0 11px !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-hero-check-card ul {
  gap: 7px !important;
}

body.aq-is-home .aq-hero-check-card li {
  min-height: 37px !important;
  display: grid !important;
  grid-template-columns: 27px minmax(0, 1fr) auto !important;
  gap: 11px !important;
  align-items: center !important;
  padding: 6px 11px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.aq-is-home .aq-check-icon {
  width: 23px !important;
  height: 23px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
}

body.aq-is-home .aq-check-icon svg {
  width: 15px !important;
  height: 15px !important;
}

body.aq-is-home .aq-check-arrow {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

body.aq-is-home .aq-portal-body {
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 10px 0 !important;
  display: grid !important;
  gap: 8px !important;
}

body.aq-is-home .aq-home-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(430px, .92fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

body.aq-is-home .aq-home-grid-top {
  grid-template-columns: minmax(0, 1.42fr) minmax(420px, .9fr) !important;
}

body.aq-is-home .aq-home-section {
  min-width: 0 !important;
}

body.aq-is-home .aq-home-section:nth-child(2) {
  border-left: 1px solid #dbe3ee !important;
  padding-left: 22px !important;
}

body.aq-is-home .aq-panel-head {
  min-height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.aq-is-home .aq-panel-head h2 {
  margin: 0 !important;
  color: #0b1730 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.aq-is-home .aq-panel-head a {
  color: #1e63c7 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-purpose-grid,
body.aq-is-home .aq-content-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body.aq-is-home .aq-purpose-card,
body.aq-is-home .aq-content-card {
  min-width: 0 !important;
  min-height: 118px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 9px 9px !important;
  border: 1px solid #dce5ef !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(11,23,48,.1) !important;
  color: #0b1730 !important;
  text-align: center !important;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease !important;
}

body.aq-is-home .aq-purpose-card:hover,
body.aq-is-home .aq-content-card:hover,
body.aq-is-home .aq-recommend-card:hover {
  transform: translateY(-2px) !important;
  border-color: #b9c9de !important;
  box-shadow: 0 6px 16px rgba(11,23,48,.12) !important;
}

body.aq-is-home .aq-purpose-icon,
body.aq-is-home .aq-content-icon {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 13px !important;
  background: var(--p-bg, #2563eb) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px -4px var(--p-shadow, rgba(37,99,235,.45)), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

body.aq-is-home .aq-purpose-icon svg {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
}

body.aq-is-home .aq-purpose-icon.blue   { --p-bg: linear-gradient(135deg,#3b82f6,#1d4ed8); --p-shadow: rgba(29,78,216,.45); }
body.aq-is-home .aq-purpose-icon.indigo { --p-bg: linear-gradient(135deg,#6366f1,#4338ca); --p-shadow: rgba(67,56,202,.45); }
body.aq-is-home .aq-purpose-icon.green  { --p-bg: linear-gradient(135deg,#22c55e,#15803d); --p-shadow: rgba(21,128,61,.45); }
body.aq-is-home .aq-purpose-icon.orange { --p-bg: linear-gradient(135deg,#fb923c,#d8541a); --p-shadow: rgba(216,84,26,.45); }
body.aq-is-home .aq-purpose-icon.violet { --p-bg: linear-gradient(135deg,#a78bfa,#6d28d9); --p-shadow: rgba(109,40,217,.45); }
body.aq-is-home .aq-purpose-icon.teal   { --p-bg: linear-gradient(135deg,#14b8a6,#0d6f74); --p-shadow: rgba(13,111,116,.45); }

body.aq-is-home .aq-content-icon svg,
body.aq-is-home .aq-recommend-icon svg,
body.aq-is-home .aq-flow-body svg,
body.aq-is-home .aq-trouble-icon svg {
  width: 34px !important;
  height: 34px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.aq-is-home .aq-content-icon svg *,
body.aq-is-home .aq-recommend-icon svg *,
body.aq-is-home .aq-flow-body svg *,
body.aq-is-home .aq-trouble-icon svg * {
  fill: none !important;
  stroke: currentColor !important;
}

body.aq-is-home .aq-purpose-icon svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.aq-is-home .aq-purpose-icon svg [data-fill] {
  fill: currentColor !important;
  stroke: none !important;
}

body.aq-is-home .aq-purpose-text {
  align-items: center !important;
  gap: 3px !important;
}

body.aq-is-home .aq-purpose-text strong,
body.aq-is-home .aq-content-card strong {
  display: block !important;
  max-width: 100% !important;
  color: #111b30 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.24 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.aq-is-home .aq-purpose-text small,
body.aq-is-home .aq-content-card small {
  display: block !important;
  max-width: 100% !important;
  color: #41506a !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  overflow-wrap: anywhere !important;
}

body.aq-is-home .aq-news-list {
  gap: 6px !important;
}

body.aq-is-home .aq-news-list li {
  min-height: 46px !important;
  display: grid !important;
  grid-template-columns: 72px 76px minmax(0, 1fr) 14px !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #dde6f1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(11,23,48,.04) !important;
}

body.aq-is-home .aq-news-list time {
  color: #7b889e !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.aq-is-home .aq-news-list a {
  color: #0e1a31 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.aq-is-home .aq-tag {
  min-height: 24px !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  color: #2456a3 !important;
  background: #e9f2ff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.aq-is-home .aq-tag.wine { color: #315a91 !important; background: #edf4fd !important; }
body.aq-is-home .aq-tag.sky { color: #157b54 !important; background: #e8f8ee !important; }
body.aq-is-home .aq-tag.violet { color: #6d4cb5 !important; background: #f2eefe !important; }
body.aq-is-home .aq-tag.gray { color: #536175 !important; background: #eef2f7 !important; }

body.aq-is-home .aq-news-arr {
  justify-self: end !important;
  color: #1b55a9 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.aq-is-home .aq-content-card {
  min-height: 126px !important;
}

body.aq-is-home .aq-content-icon {
  background: #eef4fb !important;
  color: #1f5fc3 !important;
}

body.aq-is-home .aq-recommend-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.aq-is-home .aq-recommend-card {
  height: 168px !important;
  min-height: 168px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 12px 14px 12px !important;
  border: 1px solid #cdddf1 !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(11,23,48,.09) !important;
  overflow: hidden !important;
}

body.aq-is-home .aq-recommend-tag {
  width: fit-content !important;
  min-height: 18px !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.aq-is-home .aq-recommend-tag.blue { color: #245bb4 !important; background: #e8f1ff !important; }
body.aq-is-home .aq-recommend-tag.violet { color: #6747b6 !important; background: #f1ebff !important; }
body.aq-is-home .aq-recommend-tag.green { color: #187248 !important; background: #e7f7ed !important; }

body.aq-is-home .aq-recommend-icon {
  width: 50px !important;
  height: 32px !important;
  margin: 0 !important;
  background: transparent !important;
  color: #2d63c7 !important;
}

body.aq-is-home .aq-recommend-icon svg {
  display: none !important;
}

body.aq-is-home .aq-recommend-icon::before {
  display: block !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.aq-is-home .aq-recommend-card:nth-child(1) .aq-recommend-icon::before {
  content: "↗" !important;
}

body.aq-is-home .aq-recommend-card:nth-child(2) .aq-recommend-icon::before {
  content: "⚖" !important;
}

body.aq-is-home .aq-recommend-card:nth-child(3) .aq-recommend-icon::before {
  content: "●" !important;
}

body.aq-is-home .aq-recommend-card:nth-child(2) .aq-recommend-icon { color: #7149c8 !important; }
body.aq-is-home .aq-recommend-card:nth-child(3) .aq-recommend-icon { color: #159447 !important; }

body.aq-is-home .aq-recommend-card strong {
  color: #13213a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.24 !important;
  display: block !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
}

body.aq-is-home .aq-recommend-card p {
  margin: 0 !important;
  color: #34445f !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  display: block !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
}

body.aq-is-home .aq-recommend-link {
  margin-top: auto !important;
  align-self: flex-end !important;
  color: #1e63c7 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.aq-is-home .aq-flow-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 6px !important;
}

body.aq-is-home .aq-flow-step {
  min-width: 0 !important;
  min-height: 76px !important;
  flex: 1 1 0 !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 10px !important;
  border: 1px solid #dce5ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  text-align: left !important;
  box-shadow: 0 2px 7px rgba(11,23,48,.05) !important;
}

body.aq-is-home .aq-flow-num {
  width: 18px !important;
  height: 18px !important;
  align-self: start !important;
  margin-top: 2px !important;
  background: #2b66bd !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

body.aq-is-home .aq-flow-body {
  align-items: flex-start !important;
  gap: 4px !important;
}

body.aq-is-home .aq-flow-body svg {
  width: 29px !important;
  height: 29px !important;
  color: #3d6ba8 !important;
}

body.aq-is-home .aq-flow-body strong {
  color: #111b30 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.aq-is-home .aq-flow-body p {
  margin: 0 !important;
  color: #41506a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-flow-sep {
  align-self: center !important;
  color: #0f2341 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
}

body.aq-is-home .aq-faq-list {
  gap: 6px !important;
}

body.aq-is-home .aq-faq-item {
  border: 1px solid #dce5ef !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(11,23,48,.04) !important;
}

body.aq-is-home .aq-faq-q {
  min-height: 38px !important;
  padding: 8px 12px !important;
  color: #111b30 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

body.aq-is-home .aq-faq-arr {
  color: #1e63c7 !important;
  font-size: 14px !important;
}

body.aq-is-home .aq-home-contact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
}

body.aq-is-home .aq-home-contact h2 {
  margin: 0 !important;
  color: #0b1730 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-trouble-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(250px, .86fr) !important;
  gap: 10px !important;
}

body.aq-is-home .aq-trouble-grid::after {
  content: "ご不明点やご要望がございましたら\aお気軽にご連絡ください。\a担当者が迅速にサポートいたします。";
  white-space: pre-line;
  height: 92px;
  min-height: 92px;
  display: flex;
  align-items: center;
  padding: 14px 78px 14px 22px;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #eaf0f7;
  color: #0d1930;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.55;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='54' viewBox='0 0 24 24' fill='none' stroke='%2307142d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0 1 18 0v6'/%3E%3Cpath d='M21 19a2 2 0 0 1-2 2h-3'/%3E%3Crect x='1.5' y='11' width='5' height='7' rx='2'/%3E%3Crect x='17.5' y='11' width='5' height='7' rx='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
}

body.aq-is-home .aq-trouble-card {
  height: 92px !important;
  min-height: 92px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: 4px 12px !important;
  padding: 13px 16px !important;
  border: 1px solid #dce5ef !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: 0 2px 7px rgba(11,23,48,.05) !important;
}

body.aq-is-home .aq-trouble-icon {
  grid-row: 1 / 4 !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  border-radius: 8px !important;
}

body.aq-is-home .aq-trouble-icon.blue { background: #2f6fce !important; color: #fff !important; }
body.aq-is-home .aq-trouble-icon.green { background: #2fa04f !important; color: #fff !important; }
body.aq-is-home .aq-trouble-icon.yellow { background: #f5a80b !important; color: #fff !important; }

body.aq-is-home .aq-trouble-icon svg {
  width: 24px !important;
  height: 24px !important;
}

body.aq-is-home .aq-trouble-card strong {
  color: #111b30 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.aq-is-home .aq-trouble-card small {
  color: #44546d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-trouble-tel,
body.aq-is-home .aq-trouble-email,
body.aq-is-home .aq-trouble-chat {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1e63c7 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-trouble-email {
  color: #159447 !important;
  font-size: 15px !important;
}

body.aq-is-home .aq-trouble-chat {
  display: inline-flex !important;
  color: #0b1730 !important;
  font-size: 14px !important;
}

body.aq-is-home .aq-trouble-chat-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-trouble-chat-help {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
}

@media (hover: hover) and (pointer: fine) {
  body.aq-is-home .aq-trouble-tel[data-mobile-tel] {
    cursor: default !important;
    pointer-events: none !important;
  }
}

body.aq-is-home .aq-float-widget {
  display: none !important;
}

@media (max-width: 1500px) {
  body.aq-is-home #aq-hero {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 450px) !important;
  }

  body.aq-is-home .aq-hero-illust {
    display: none !important;
  }

  body.aq-is-home .aq-hero-title {
    font-size: 38px !important;
  }

  body.aq-is-home .aq-purpose-grid,
  body.aq-is-home .aq-content-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1100px) {
  body.aq-is-home .aq-home-grid,
  body.aq-is-home .aq-home-grid-top {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-home-section:nth-child(2) {
    border-left: 0 !important;
    padding-left: 0 !important;
  }

  body.aq-is-home .aq-trouble-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.aq-is-home {
    margin-left: 0 !important;
  }

  body.aq-is-home #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    height: 100vh !important;
    transform: translateX(-105%) !important;
    border-radius: 0 8px 8px 0 !important;
    z-index: 1150 !important;
  }

  body.aq-is-home #aq-sidebar.is-open {
    transform: translateX(0) !important;
  }

  body.aq-is-home #aq-portal {
    width: 100vw !important;
    padding: 78px 12px 18px !important;
  }

  body.aq-is-home #aq-hero {
    height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px 18px !important;
  }

  body.aq-is-home .aq-hero-title {
    font-size: 30px !important;
  }

  body.aq-is-home .aq-hero-check-card {
    align-self: auto !important;
  }

  body.aq-is-home .aq-purpose-grid,
  body.aq-is-home .aq-content-grid,
  body.aq-is-home .aq-recommend-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.aq-is-home .aq-flow-row {
    flex-direction: column !important;
  }

  body.aq-is-home .aq-flow-sep {
    display: none !important;
  }

  body.aq-is-home .aq-news-list li {
    grid-template-columns: 70px 72px minmax(0, 1fr) 14px !important;
  }
}

@media (max-width: 560px) {
  body.aq-is-home .aq-purpose-grid,
  body.aq-is-home .aq-content-grid,
  body.aq-is-home .aq-recommend-grid,
  body.aq-is-home .aq-trouble-grid {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-news-list li {
    grid-template-columns: 70px minmax(0, 1fr) 14px !important;
  }

  body.aq-is-home .aq-news-list time {
    display: none !important;
  }
}

/* ============================================================
   書式ページ 記入例ガイド ドロワー
   ============================================================ */

.aq-guide-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0,0,0,.48);
}

.aq-guide-overlay[hidden] { display: none; }

.aq-guide-drawer {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: min(540px, 92vw);
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  box-shadow: -4px 0 32px rgba(0,0,0,.18);
}

.aq-guide-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px 16px;
  border-bottom: 2px solid #f1f5f9;
}

.aq-guide-drawer-head h2 {
  margin: 0 0 4px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

.aq-guide-drawer-head p {
  margin: 0 !important;
  font-size: 13px;
  color: #64748b;
}

.aq-guide-close {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e9f2;
  border-radius: 8px;
  background: #f8fafc;
  cursor: pointer;
  color: #64748b;
}

.aq-guide-close:hover { background: #f1f5f9; color: #0f172a; }
.aq-guide-close svg { width: 16px; height: 16px; }

.aq-guide-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px 32px;
}

.aq-guide-cat { margin-bottom: 20px; }

.aq-guide-cat-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px !important;
  padding: 7px 12px !important;
  background: #eff6ff;
  border-left: 3px solid #2563eb;
  border-radius: 0 8px 8px 0;
  font-size: 14px !important;
  font-weight: 900 !important;
  color: #1e40af !important;
}

.aq-guide-cat-icon {
  flex: 0 0 auto;
  width: 18px; height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2563eb;
}

.aq-guide-cat-icon svg {
  width: 15px; height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-guide-list { display: flex; flex-direction: column; }

.aq-guide-item {
  padding: 10px 4px;
  border-bottom: 1px solid #f1f5f9;
}

.aq-guide-item:last-child { border-bottom: 0; }

.aq-guide-item strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 3px;
}

.aq-guide-item p {
  margin: 0 !important;
  font-size: 13px;
  color: #475569;
  line-height: 1.6;
}

/* プレビューボタン */
.aq-forms-preview-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8edf5;
  border-radius: 7px;
  background: #fff;
  justify-self: center;
  color: #64748b;
  cursor: pointer;
  transition: background .12s, color .12s;
  padding: 0;
}

.aq-forms-preview-btn:hover {
  background: #eff6ff;
  color: #2563eb;
}

.aq-forms-preview-btn svg {
  width: 17px;
  height: 17px;
}

.aq-forms-preview-btn.is-disabled {
  opacity: .25;
  cursor: default;
  pointer-events: none;
}

/* PDFプレビューモーダル */
.aq-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(0,0,0,.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.aq-preview-overlay[hidden] { display: none; }

.aq-preview-modal {
  width: 100%;
  max-width: 880px;
  height: 90vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.45);
}

.aq-preview-modal-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  border-bottom: 1px solid #e2e9f2;
  background: #fff;
}

.aq-preview-title {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.aq-preview-close {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e9f2;
  border-radius: 8px;
  background: #f8fafc;
  cursor: pointer;
  color: #64748b;
}

.aq-preview-close:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
.aq-preview-close svg { width: 15px; height: 15px; }

.aq-preview-iframe {
  flex: 1;
  width: 100%;
  border: none;
  display: block;
}

/* button版ガイドリンクのスタイル維持 */
button.aq-forms-guide-link {
  cursor: pointer;
  background: transparent;
  border: 0;
  font-family: inherit;
  text-align: left;
  padding: 0;
}

/* クリック可能なガイド項目 */
.aq-guide-item-clickable {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  transition: background .12s;
}

.aq-guide-item-clickable:hover {
  background: #f0f6ff;
}

.aq-guide-item-info { flex: 1; min-width: 0; }

.aq-guide-item-arrow {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  color: #2563eb;
  white-space: nowrap;
}

/* PDF詳細ビュー */
.aq-guide-detail { display: flex; flex-direction: column; height: 100%; }

.aq-guide-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 14px;
  padding: 6px 12px 6px 8px;
  border: 1px solid #e2e9f2;
  border-radius: 8px;
  background: #f8fafc;
  font-size: 13px;
  font-weight: 700;
  color: #334155;
  cursor: pointer;
  width: fit-content;
}

.aq-guide-back:hover { background: #f1f5f9; }
.aq-guide-back svg { width: 16px; height: 16px; }

.aq-guide-detail-head {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f1f5f9;
}

/* 記入例 / ひな形 バッジ */
.aq-guide-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 8px;
}

.aq-guide-type-example {
  background: #dbeafe;
  color: #1d4ed8;
}

.aq-guide-type-template {
  background: #f1f5f9;
  color: #475569;
}

.aq-guide-cat-desc {
  margin: -4px 0 10px !important;
  padding: 0 4px;
  font-size: 12px;
  color: #64748b;
  line-height: 1.6;
}

.aq-guide-detail-head h3 {
  margin: 0 0 8px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.4 !important;
}

.aq-guide-detail-desc {
  margin: 0 0 14px !important;
  padding: 10px 14px;
  background: #f8fafc;
  border-left: 3px solid #e2e9f2;
  border-radius: 0 8px 8px 0;
  font-size: 13px !important;
  color: #334155 !important;
  line-height: 1.7;
}

.aq-guide-detail-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.aq-guide-dl-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 8px;
  background: #1d4ed8;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}

.aq-guide-dl-btn svg { width: 14px; height: 14px; }
.aq-guide-dl-pdf { background: #dc2626 !important; }
.aq-guide-dl-pdf:hover { background: #b91c1c !important; }
.aq-guide-dl-btn:hover { background: #1e40af !important; }

.aq-guide-dl-doc {
  background: #16a34a !important;
}

.aq-guide-dl-doc:hover { background: #15803d !important; }

.aq-guide-pdf-wrap {
  flex: 1;
  min-height: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e2e9f2;
}

.aq-guide-pdf {
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: none;
  display: block;
}

.aq-guide-no-pdf {
  padding: 20px;
  text-align: center;
  color: #64748b;
  font-size: 14px;
}

/* ============================================================
   v9.7 - カードはみ出し修正・サイズ拡大
   ============================================================ */

/* ---- よく使うコンテンツ: カードを大きく ---- */
.aq-content-card {
  padding: 24px 14px 20px !important;
  gap: 12px !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

.aq-content-card strong {
  white-space: normal !important;
  word-break: keep-all;
  line-height: 1.4 !important;
  font-size: 13px !important;
  text-align: center;
}

.aq-content-card small {
  font-size: 11px !important;
  text-align: center;
}

/* ---- 今月のおすすめ情報: はみ出し修正 ---- */
.aq-recommend-card {
  padding: 18px 18px 16px !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.aq-recommend-card > * {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.aq-recommend-tag {
  margin-top: 0 !important;
}

.aq-recommend-icon {
  margin: 0 !important;
  width: 48px !important;
  height: 48px !important;
}

.aq-recommend-icon svg {
  width: 24px !important;
  height: 24px !important;
}

.aq-recommend-card strong {
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
  word-break: keep-all;
}

.aq-recommend-card p {
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  flex: 1;
}

.aq-recommend-link {
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
}

/* ---- 目的から探す: カードを大きく・テキスト収める ---- */
.aq-purpose-card {
  padding: 22px 12px 18px !important;
  min-height: 160px !important;
  gap: 10px !important;
}

.aq-purpose-text strong {
  font-size: 14px !important;
  font-weight: 900 !important;
  word-break: keep-all;
  line-height: 1.4 !important;
}

.aq-purpose-text small {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* ---- ご利用の流れ: 文字を収める ---- */
.aq-flow-body strong {
  font-size: 14px !important;
  font-weight: 900 !important;
  word-break: keep-all;
}

.aq-flow-body p {
  font-size: 12px !important;
  line-height: 1.5 !important;
  word-break: keep-all;
}

/* ---- セクション間の余白を詰める ---- */
.aq-portal-body {
  gap: 14px !important;
}

/* ============================================================
   v9.8 - アイコン右上・カード大型化
   ============================================================ */

/* ---- 目的から探す: アイコン右上、テキスト左揃え ---- */
.aq-purpose-card {
  position: relative !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 16px 62px 14px 16px !important;
  min-height: 120px !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

.aq-purpose-icon {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 44px !important;
  height: 44px !important;
  flex: none !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.18) !important;
}

.aq-purpose-text {
  align-items: flex-start !important;
  text-align: left !important;
  width: 100%;
}

.aq-purpose-text strong {
  font-size: 15px !important;
  text-align: left !important;
  line-height: 1.35 !important;
}

.aq-purpose-text small {
  font-size: 12px !important;
  text-align: left !important;
  line-height: 1.5 !important;
}

/* ---- よく使うコンテンツ: アイコン右上、テキスト左揃え ---- */
.aq-content-card {
  position: relative !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 16px 62px 14px 16px !important;
  gap: 6px !important;
  min-height: 0 !important;
}

.aq-content-icon {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 44px !important;
  height: 44px !important;
  flex: none !important;
  border-radius: 12px !important;
}

.aq-content-icon svg {
  width: 22px !important;
  height: 22px !important;
}

.aq-content-card strong {
  font-size: 14px !important;
  font-weight: 900 !important;
  text-align: left !important;
  line-height: 1.35 !important;
  word-break: keep-all;
}

.aq-content-card small {
  font-size: 11px !important;
  text-align: left !important;
  color: #64748b !important;
}

/* ---- グリッド余白をなくす ---- */
.aq-purpose-grid {
  gap: 6px !important;
}

.aq-content-grid {
  gap: 6px !important;
}

/* ---- パネル内余白を詰める ---- */
.aq-panel {
  padding: 14px 16px !important;
}

.aq-content-section {
  padding: 14px 16px !important;
}

.aq-row2 {
  gap: 10px !important;
}

/* ---- 今月のおすすめ: アイコン右上 ---- */
.aq-recommend-card {
  position: relative !important;
}

.aq-recommend-icon {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  margin: 0 !important;
  width: 44px !important;
  height: 44px !important;
}

.aq-recommend-card strong {
  padding-right: 52px;
}

@media (max-width: 1300px) {
  .aq-purpose-card { padding: 14px 56px 12px 14px !important; }
  .aq-content-card { padding: 14px 56px 12px 14px !important; }
}

/* ============================================================
   v11 - Subsidy dashboard page
   ============================================================ */

body.aq-is-joseikin {
  --aq-sidebar-w: 336px;
  --aq-sidebar-box-w: 280px;
  margin-left: var(--aq-sidebar-w) !important;
  background: #f4f7fb !important;
  color: #0b1730 !important;
  overflow-x: hidden;
}

body.aq-is-joseikin .aq-breadcrumb { display: none !important; }

body.aq-is-joseikin #aq-sidebar {
  inset: 36px auto 36px 36px !important;
  width: var(--aq-sidebar-box-w) !important;
  height: auto !important;
  display: flex !important;
  border: 1px solid #d9e0ea !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(10, 25, 52, .06) !important;
  overflow: hidden !important;
}

body.aq-is-joseikin .aq-sidebar-inner {
  gap: 28px !important;
  padding: 36px 26px 28px !important;
}

body.aq-is-joseikin .aq-logo {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 0 0 18px !important;
  border-bottom: 0 !important;
}

body.aq-is-joseikin .aq-logo-badge { width: 62px !important; height: 62px !important; }

body.aq-is-joseikin .aq-logo-name {
  color: #0d1930 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
}

body.aq-is-joseikin .aq-logo-sub {
  color: #6d7a8f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.aq-is-joseikin .aq-nav { gap: 10px !important; }

body.aq-is-joseikin .aq-nav-item {
  min-height: 48px !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  border-radius: 0 !important;
  color: #182844 !important;
  background: transparent !important;
}

body.aq-is-joseikin .aq-nav > .aq-nav-item:first-child {
  border-bottom: 1px solid #dfe6f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #182844 !important;
}

body.aq-is-joseikin .aq-nav-item.is-active,
body.aq-is-joseikin .aq-nav-item:hover {
  border-bottom-color: transparent !important;
  border-radius: 6px !important;
  background: #07142d !important;
  color: #fff !important;
}

body.aq-is-joseikin .aq-nav-icon {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
}

body.aq-is-joseikin .aq-nav-icon svg { width: 20px !important; height: 20px !important; }

body.aq-is-joseikin .aq-nav-ja {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

body.aq-is-joseikin .aq-sidebar-note {
  margin-top: auto !important;
  padding: 16px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f0f4f8 !important;
  color: #5f6d83 !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
}

body.aq-is-joseikin .aq-sidebar-note-icon { color: #3466b3 !important; }

body.aq-is-joseikin .aq-sidebar-note strong {
  margin-bottom: 6px !important;
  color: #13213a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.aq-is-joseikin #acuerdo-footer {
  width: calc(100vw - var(--aq-sidebar-w)) !important;
  margin-left: 0 !important;
}

.aq-josdash-wrap {
  width: calc(100vw - var(--aq-sidebar-w));
  min-height: 100vh;
  padding: 18px 20px 16px 12px;
  background: #f4f7fb;
}

.aq-josdash-main {
  width: 100%;
  max-width: none;
  display: grid;
  gap: 16px;
}

.aq-josdash-top {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, .72fr);
  gap: 16px;
  align-items: stretch;
}

.aq-josdash-hero,
.aq-josdash-panel {
  border: 1px solid #dce5ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(10, 25, 52, .05);
}

.aq-josdash-hero {
  min-height: 238px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  align-items: center;
  gap: 20px;
  padding: 26px 38px;
  overflow: hidden;
  background:
    radial-gradient(circle at 77% 8%, rgba(122, 173, 237, .28), transparent 38%),
    linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
}

.aq-josdash-hero h1 {
  margin: 0 0 14px !important;
  color: #07142d !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
}

.aq-josdash-hero p {
  max-width: 740px;
  margin: 0 !important;
  color: #223653 !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.7 !important;
}

.aq-josdash-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.aq-josdash-btn {
  min-width: 204px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 9px 20px;
  border: 2px solid #1d3d73;
  border-radius: 7px;
  background: #fff;
  color: #09204a !important;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}

.aq-josdash-btn.primary {
  background: #0b2d69;
  color: #fff !important;
  border-color: #0b2d69;
}

.aq-josdash-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(10, 45, 105, .14);
}

.aq-josdash-btn span { font-size: 22px; line-height: 1; }

.aq-josdash-hero-art {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-josdash-hero-art svg {
  width: 220px;
  height: auto;
  display: block;
}

.aq-josdash-panel {
  min-width: 0;
  padding: 18px;
}

.aq-josdash-panel-head {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.aq-josdash-panel-head h2,
.aq-josdash-table-head h2 {
  margin: 0 !important;
  color: #07142d !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.aq-josdash-panel-head a,
.aq-josdash-more {
  color: #1f63c4 !important;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.aq-josdash-checks ul,
.aq-josdash-news ul,
.aq-josdash-faq ul,
.aq-josdash-ranking ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.aq-josdash-checks ul { display: grid; gap: 7px; }

.aq-josdash-checks li {
  position: relative;
  min-height: 44px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 16px;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 1px 12px;
  padding: 7px 12px;
  border: 1px solid #dfe7f2;
  border-radius: 10px;
  background: #fff;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.aq-josdash-checks li:hover {
  border-color: #1d4ed8;
  background: #f6f9fd;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px -6px rgba(29,78,216,.35);
}
.aq-josdash-link-overlay {
  position: absolute;
  inset: 0;
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  border-radius: inherit;
  text-indent: -9999px;
  overflow: hidden;
  z-index: 1;
}
.aq-josdash-link-overlay:focus-visible {
  outline: 2px solid #1d4ed8;
  outline-offset: 2px;
}

.aq-josdash-line-icon {
  grid-row: 1 / 3;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1e64c8;
  font-size: 22px;
  font-weight: 900;
}

.aq-josdash-line-icon.indigo { color: #2d58be; }
.aq-josdash-line-icon.green { color: #229469; }
.aq-josdash-line-icon.sky { color: #2773cd; }

.aq-josdash-checks strong {
  color: #13213a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}

.aq-josdash-checks small {
  color: #54657d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.aq-josdash-checks li > span:last-of-type {
  grid-row: 1 / 3;
  grid-column: 3;
  color: #18375f;
  font-size: 22px;
  font-weight: 900;
}

.aq-josdash-grid {
  display: grid;
  gap: 16px;
  align-items: start;
}

.aq-josdash-grid-upper {
  grid-template-columns: minmax(390px, .84fr) minmax(470px, 1.14fr) minmax(340px, .74fr);
}

.aq-josdash-grid-lower {
  grid-template-columns: minmax(680px, 1.35fr) minmax(430px, .88fr);
}

.aq-josdash-purpose { padding: 18px 18px 10px; }

.aq-josdash-purpose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.aq-josdash-tile {
  min-height: 84px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 8px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  color: #0b1730 !important;
  text-align: center;
  box-shadow: 0 2px 8px rgba(10, 25, 52, .05);
}

.aq-josdash-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(10, 25, 52, .09);
}

.aq-josdash-tile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  color: #1f63c4;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.aq-josdash-tile strong {
  color: #13213a;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.aq-josdash-purpose .aq-josdash-more {
  display: block;
  margin: 9px 4px 0 auto;
  text-align: right;
}

.aq-josdash-news ul { display: grid; gap: 7px; }

.aq-josdash-news li {
  min-height: 44px;
  display: grid;
  grid-template-columns: 82px 70px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  padding: 7px 12px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #fff;
}

.aq-josdash-news time {
  color: #6e7d92;
  font-size: 12px;
  font-weight: 900;
}

.aq-josdash-chip {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: #e7f1ff;
  color: #245db2;
  font-size: 11px;
  font-weight: 900;
}

.aq-josdash-chip.cyan { background: #e6f8fb; color: #118094; }
.aq-josdash-chip.navy { background: #e9eefb; color: #294b9a; }

.aq-josdash-news a {
  color: #13213a !important;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}

.aq-josdash-news li > span:last-child {
  color: #18375f;
  font-size: 20px;
  font-weight: 900;
}

/* 申請にあたっての注意点パネル */
.aq-josdash-notes-source {
  color: #6e7d92;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .04em;
}
.aq-josdash-notes ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.aq-josdash-note-btn {
  width: 100%;
  min-height: 46px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 16px;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 10px;
  padding: 8px 12px;
  border: 1px solid #dfe7f2;
  border-radius: 10px;
  background: #f6f9fd;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: #13213a;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.aq-josdash-note-btn:hover {
  border-color: #2b66c0;
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px -6px rgba(43,102,192,.4);
}
.aq-josdash-note-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #e7f1ff;
  color: #245db2;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
}
.aq-josdash-note-btn strong {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  min-width: 0;
  font-size: 13.5px;
  font-weight: 900;
  line-height: 1.25;
  color: #13213a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aq-josdash-note-btn small {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  min-width: 0;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #5d6f8a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aq-josdash-note-arrow {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  color: #245db2;
  font-size: 18px;
  font-weight: 900;
  text-align: right;
}

/* 注意点モーダル */
.aq-josdash-note-overlay {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .55);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.aq-josdash-note-overlay[hidden] { display: none; }
.aq-josdash-note-modal {
  width: min(640px, 100%);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 28px 60px -20px rgba(15,23,42,.55);
  overflow: hidden;
}
.aq-josdash-note-modal-head {
  position: relative;
  padding: 22px 56px 18px 28px;
  background: linear-gradient(135deg, #1d4ed8, #0b2a6b);
  color: #fff;
}
.aq-josdash-note-modal-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  color: #b8d1ff;
  margin-bottom: 6px;
}
.aq-josdash-note-modal-head h3 {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  color: #fff !important;
}
.aq-josdash-note-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .15s ease;
}
.aq-josdash-note-modal-close:hover { background: rgba(255,255,255,.35); }
.aq-josdash-note-modal-body {
  padding: 22px 28px 6px;
  overflow-y: auto;
  color: #1f2937;
  font-size: 14px;
  line-height: 1.7;
}
.aq-josdash-note-modal-body p { margin: 0 0 12px; }
.aq-josdash-note-modal-body .aq-note-lead {
  background: #eef4ff;
  border-left: 3px solid #1d4ed8;
  padding: 12px 14px;
  border-radius: 6px;
  font-weight: 700;
  color: #0b2a6b;
}
.aq-josdash-note-modal-body h4 {
  margin: 18px 0 8px;
  font-size: 14px;
  font-weight: 900;
  color: #1d4ed8;
}
.aq-josdash-note-modal-body ul {
  margin: 0 0 14px;
  padding-left: 20px;
}
.aq-josdash-note-modal-body ul li {
  margin-bottom: 4px;
  font-size: 13.5px;
}
.aq-josdash-note-modal-body strong {
  color: #1d4ed8;
  font-weight: 900;
}
.aq-josdash-note-modal-foot {
  padding: 14px 28px 22px;
  border-top: 1px solid #e2e8f0;
  background: #f6f9fd;
}
.aq-josdash-note-modal-foot a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: 10px;
  background: #1d4ed8;
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  transition: background-color .15s ease, transform .15s ease;
}
.aq-josdash-note-modal-foot a:hover {
  background: #0b2a6b;
  transform: translateY(-1px);
}

.aq-josdash-ranking ol { display: grid; }

.aq-josdash-ranking li {
  position: relative;
  min-height: 39px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0 12px;
  padding: 6px 8px;
  border-bottom: 1px solid #e5ecf4;
  border-radius: 8px;
  transition: background-color .15s ease;
}
.aq-josdash-ranking li:hover {
  background: #f6f9fd;
}

.aq-josdash-ranking li:last-child { border-bottom: 0; }

.aq-josdash-ranking li span {
  grid-row: 1 / 3;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eff3f8;
  color: #28405d;
  font-size: 14px;
  font-weight: 900;
}

.aq-josdash-ranking li:nth-child(1) span { background: #ffe39a; color: #b66b00; }
.aq-josdash-ranking li:nth-child(2) span { background: #e7edf5; color: #6c788b; }
.aq-josdash-ranking li:nth-child(3) span { background: #f6d2af; color: #a35b22; }

.aq-josdash-ranking strong {
  color: #13213a;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
}

.aq-josdash-ranking small {
  color: #5d6c82;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.aq-josdash-quick { padding: 16px 18px 14px; }

.aq-josdash-table-head {
  display: grid;
  grid-template-columns: minmax(250px, auto) minmax(320px, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 10px;
}

.aq-josdash-table-head label {
  min-height: 38px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  padding: 0 12px;
  border: 1px solid #d6e0ec;
  border-radius: 10px;
  background: #f9fbfe;
}

.aq-josdash-table-head label span {
  color: #6c7b91;
  font-size: 18px;
}

.aq-josdash-table-head input {
  min-width: 0;
  border: 0;
  background: transparent;
  color: #15243b;
  font-size: 13px;
  font-weight: 800;
  outline: 0;
}

.aq-josdash-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.aq-josdash-tabs button {
  min-height: 28px;
  padding: 5px 18px;
  border: 1px solid #cfd9e6;
  border-radius: 999px;
  background: #fff;
  color: #263a57;
  font-size: 12px;
  font-weight: 900;
}

.aq-josdash-tabs button.is-active {
  border-color: #07142d;
  background: #07142d;
  color: #fff;
}

.aq-josdash-table-wrap {
  overflow-x: auto;
  border: 1px solid #dce5ef;
  border-radius: 10px;
}

.aq-josdash-table-wrap table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: #fff;
}

.aq-josdash-table-wrap th,
.aq-josdash-table-wrap td {
  padding: 8px 12px;
  border-bottom: 1px solid #e6edf5;
  color: #13213a;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}

.aq-josdash-table-wrap th {
  background: #f3f7fb;
  color: #526177;
  font-size: 12px;
  font-weight: 900;
}

.aq-josdash-table-wrap tr:last-child td { border-bottom: 0; }
.aq-josdash-table-wrap td:nth-child(2) { color: #1f63c4; font-weight: 900; }

.aq-josdash-table-wrap a {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border: 1px solid #cbd8e8;
  border-radius: 999px;
  color: #25446c !important;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.aq-josdash-note {
  margin: 8px 0 0 !important;
  color: #5f6d83 !important;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.5 !important;
}

.aq-josdash-more.table {
  display: block;
  margin-top: 2px;
  text-align: right;
}

.aq-josdash-strength-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.aq-josdash-strength article {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 12px 10px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.aq-josdash-strength article span {
  color: #1f63c4;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.aq-josdash-strength strong {
  color: #13213a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}

.aq-josdash-strength small {
  color: #5c6b81;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.aq-josdash-bottom {
  display: grid;
  grid-template-columns: minmax(680px, 1.35fr) minmax(430px, .88fr);
  gap: 16px;
  align-items: start;
}

.aq-josdash-flow { padding: 16px 18px; }

.aq-josdash-flow ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.aq-josdash-flow li {
  position: relative;
  min-height: 94px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 8px;
  border-top: 1px solid #dce5ef;
  text-align: center;
}

.aq-josdash-flow li::after {
  content: "›";
  position: absolute;
  right: -11px;
  top: 45%;
  color: #1d2f4f;
  font-size: 25px;
  font-weight: 900;
}

.aq-josdash-flow li:last-child::after { display: none; }

.aq-josdash-flow li span {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #8bb4ed;
  border-radius: 50%;
  background: #ddecff;
  color: #1f63c4;
  font-size: 15px;
  font-weight: 900;
}

.aq-josdash-flow strong {
  color: #13213a;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
}

.aq-josdash-flow small {
  color: #526177;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.aq-josdash-faq ul { display: grid; gap: 8px; }

.aq-josdash-faq li {
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
}

.aq-josdash-faq a {
  color: #13213a !important;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.45;
}

.aq-josdash-faq span {
  color: #1f63c4;
  font-size: 15px;
  font-weight: 900;
}

@media (max-width: 1500px) {
  .aq-josdash-top,
  .aq-josdash-grid-lower,
  .aq-josdash-bottom {
    grid-template-columns: 1fr;
  }

  .aq-josdash-grid-upper {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr);
  }

  .aq-josdash-purpose { grid-column: 1 / -1; }
  .aq-josdash-strength-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .aq-josdash-hero { grid-template-columns: minmax(0, 1fr); }
  .aq-josdash-hero-art { display: none; }
  .aq-josdash-grid-upper { grid-template-columns: 1fr; }
  .aq-josdash-purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aq-josdash-table-head { grid-template-columns: 1fr; }
  .aq-josdash-strength-grid,
  .aq-josdash-flow ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aq-josdash-flow li::after { display: none; }
}

@media (max-width: 820px) {
  body.aq-is-joseikin { margin-left: 0 !important; }

  body.aq-is-joseikin #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    height: 100vh !important;
    transform: translateX(-105%) !important;
    border-radius: 0 8px 8px 0 !important;
    z-index: 1150 !important;
  }

  body.aq-is-joseikin #aq-sidebar.is-open { transform: translateX(0) !important; }
  body.aq-is-joseikin #acuerdo-footer { width: 100vw !important; }

  .aq-josdash-wrap {
    width: 100vw;
    padding: 78px 12px 18px;
  }

  .aq-josdash-main { gap: 12px; }

  .aq-josdash-hero {
    min-height: auto;
    padding: 24px 18px;
  }

  .aq-josdash-hero h1 { font-size: 30px !important; }
  .aq-josdash-hero p { font-size: 15px !important; }
  .aq-josdash-actions { flex-direction: column; }
  .aq-josdash-btn { width: 100%; }
  .aq-josdash-panel { padding: 16px; }

  .aq-josdash-news li { grid-template-columns: 80px minmax(0, 1fr) 16px; }
  .aq-josdash-news .aq-josdash-chip { display: none; }
}

@media (max-width: 560px) {
  .aq-josdash-purpose-grid,
  .aq-josdash-strength-grid,
  .aq-josdash-flow ol {
    grid-template-columns: 1fr;
  }

  .aq-josdash-panel-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .aq-josdash-panel-head h2,
  .aq-josdash-table-head h2 {
    font-size: 21px !important;
  }

  .aq-josdash-checks li {
    grid-template-columns: 36px minmax(0, 1fr) 14px;
  }
}

/* ============================================================
   v9.9 - アイコン中央上・縦長カード・おすすめアイコン削除
   ============================================================ */

/* ---- 目的から探す: アイコン中央上、縦長 ---- */
.aq-purpose-card {
  position: static !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 28px 14px 22px !important;
  min-height: 200px !important;
  gap: 14px !important;
  justify-content: flex-start !important;
}

.aq-purpose-icon {
  position: static !important;
  top: auto !important;
  right: auto !important;
  width: 54px !important;
  height: 54px !important;
}

.aq-purpose-text {
  align-items: center !important;
  text-align: center !important;
  width: 100%;
}

.aq-purpose-text strong,
.aq-purpose-text small {
  text-align: center !important;
  display: block;
}

/* ---- よく使うコンテンツ: アイコン中央上、縦長 ---- */
.aq-content-card {
  position: static !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 26px 10px 20px !important;
  gap: 12px !important;
}

.aq-content-icon {
  position: static !important;
  top: auto !important;
  right: auto !important;
  width: 54px !important;
  height: 54px !important;
}

.aq-content-card strong {
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}

.aq-content-card small {
  text-align: center !important;
  font-size: 11px !important;
}

/* ---- ご利用の流れ: 縦長 ---- */
.aq-flow-step {
  padding: 22px 12px 18px !important;
  min-height: 170px !important;
}

/* ---- 今月のおすすめ情報: アイコン削除・テキスト余白拡大 ---- */
.aq-recommend-icon {
  display: none !important;
}

.aq-recommend-card {
  position: static !important;
  padding: 22px 24px 20px !important;
  gap: 12px !important;
}

.aq-recommend-card strong {
  padding-right: 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

.aq-recommend-card p {
  font-size: 13px !important;
  line-height: 1.75 !important;
  color: #475569 !important;
}

/* ============================================================
   v9.10 - おすすめアイコン右上・各カード縦長化
   ============================================================ */

/* ---- 今月のおすすめ: アイコン右上、テキスト開始を下げる ---- */
.aq-recommend-card {
  position: relative !important;
  padding: 18px 18px 18px 20px !important;
}

.aq-recommend-icon {
  display: flex !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  border-radius: 12px !important;
}

.aq-recommend-icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
}

/* タグとタイトルの間に余白を入れてテキスト開始を下げる */
.aq-recommend-card strong {
  margin-top: 14px !important;
  padding-right: 0 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  color: #0f172a !important;
}

/* ---- 目的から探す: さらに縦長 ---- */
.aq-purpose-card {
  min-height: 240px !important;
  padding: 32px 14px 26px !important;
  gap: 16px !important;
}

.aq-purpose-icon {
  width: 58px !important;
  height: 58px !important;
}

/* ---- よく使うコンテンツ: さらに縦長 ---- */
.aq-content-card {
  min-height: 170px !important;
  padding: 28px 10px 22px !important;
  gap: 14px !important;
}

.aq-content-icon {
  width: 56px !important;
  height: 56px !important;
}

/* ---- ご利用の流れ: さらに縦長 ---- */
.aq-flow-step {
  min-height: 210px !important;
  padding: 26px 14px 22px !important;
}

/* ============================================================
   v12 - Top page compact spacing pass
   ============================================================ */

body.aq-is-home #aq-portal {
  padding: 16px 14px 8px 14px !important;
}

body.aq-is-home #aq-hero {
  height: 270px !important;
  min-height: 270px !important;
  padding: 18px 28px 18px 40px !important;
}

body.aq-is-home .aq-portal-body {
  padding: 8px 8px 0 !important;
  gap: 6px !important;
}

body.aq-is-home .aq-home-grid,
body.aq-is-home .aq-home-grid-top {
  gap: 14px !important;
}

body.aq-is-home .aq-panel-head {
  min-height: 24px !important;
  margin-bottom: 5px !important;
}

body.aq-is-home .aq-panel-head h2 {
  font-size: 21px !important;
}

body.aq-is-home .aq-purpose-grid,
body.aq-is-home .aq-content-grid {
  gap: 6px !important;
}

body.aq-is-home .aq-purpose-card,
body.aq-is-home .aq-content-card {
  position: static !important;
  min-height: 112px !important;
  padding: 9px 8px !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.aq-is-home .aq-content-card {
  min-height: 116px !important;
}

body.aq-is-home .aq-purpose-icon,
body.aq-is-home .aq-content-icon {
  position: static !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
}

body.aq-is-home .aq-purpose-icon::before {
  font-size: 34px !important;
}

body.aq-is-home .aq-purpose-text,
body.aq-is-home .aq-purpose-text strong,
body.aq-is-home .aq-purpose-text small,
body.aq-is-home .aq-content-card strong,
body.aq-is-home .aq-content-card small {
  text-align: center !important;
}

body.aq-is-home .aq-purpose-text strong,
body.aq-is-home .aq-content-card strong {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-purpose-text small,
body.aq-is-home .aq-content-card small {
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}

body.aq-is-home .aq-news-list {
  gap: 4px !important;
}

body.aq-is-home .aq-news-list li {
  min-height: 36px !important;
  padding: 4px 10px !important;
}

body.aq-is-home .aq-news-list a {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-tag {
  min-height: 21px !important;
  padding: 3px 9px !important;
  font-size: 10.5px !important;
}

body.aq-is-home .aq-recommend-grid {
  gap: 8px !important;
}

body.aq-is-home .aq-recommend-card {
  height: 138px !important;
  min-height: 138px !important;
  padding: 10px 12px !important;
  gap: 5px !important;
}

body.aq-is-home .aq-recommend-icon {
  position: static !important;
  width: 42px !important;
  height: 28px !important;
  display: flex !important;
}

body.aq-is-home .aq-recommend-icon svg {
  display: none !important;
}

body.aq-is-home .aq-recommend-card strong {
  margin-top: 0 !important;
  padding-right: 0 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-recommend-card p {
  font-size: 11.8px !important;
  line-height: 1.32 !important;
}

body.aq-is-home .aq-flow-row {
  gap: 6px !important;
}

body.aq-is-home .aq-flow-step {
  min-height: 72px !important;
  padding: 6px 10px !important;
}

body.aq-is-home .aq-flow-body svg {
  width: 28px !important;
  height: 28px !important;
}

body.aq-is-home .aq-flow-body strong {
  font-size: 13px !important;
}

body.aq-is-home .aq-flow-body p {
  font-size: 11.5px !important;
}

body.aq-is-home .aq-faq-list {
  gap: 4px !important;
}

body.aq-is-home .aq-faq-q {
  min-height: 31px !important;
  padding: 5px 10px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-home-contact {
  gap: 5px !important;
}

body.aq-is-home .aq-home-contact h2 {
  font-size: 18px !important;
}

body.aq-is-home .aq-trouble-grid {
  gap: 8px !important;
}

body.aq-is-home .aq-trouble-card {
  height: 76px !important;
  min-height: 76px !important;
  padding: 9px 12px !important;
  gap: 2px 10px !important;
}

body.aq-is-home .aq-trouble-grid::after {
  height: 76px !important;
  min-height: 76px !important;
  padding: 10px 72px 10px 16px !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

body.aq-is-home .aq-trouble-icon {
  width: 40px !important;
  height: 40px !important;
}

body.aq-is-home .aq-trouble-icon svg {
  width: 21px !important;
  height: 21px !important;
}

body.aq-is-home .aq-trouble-card strong {
  font-size: 14px !important;
}

body.aq-is-home .aq-trouble-card small {
  font-size: 10.5px !important;
}

body.aq-is-home .aq-trouble-tel,
body.aq-is-home .aq-trouble-email,
body.aq-is-home .aq-trouble-chat {
  font-size: 14px !important;
}

.aq-flow-body svg {
  width: 32px !important;
  height: 32px !important;
}

/* v12.1 - final density trim for the top dashboard */
body.aq-is-home .aq-content-card { min-height: 102px !important; }
body.aq-is-home .aq-news-list { gap: 3px !important; }
body.aq-is-home .aq-news-list li {
  min-height: 31px !important;
  grid-template-columns: 66px 70px minmax(0, 1fr) 12px !important;
  gap: 6px !important;
  padding: 3px 9px !important;
}
body.aq-is-home .aq-news-list time { font-size: 11px !important; }
body.aq-is-home .aq-news-list a {
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.aq-is-home .aq-tag {
  min-height: 19px !important;
  padding: 2px 8px !important;
  font-size: 10px !important;
}
body.aq-is-home .aq-recommend-card {
  height: 132px !important;
  min-height: 132px !important;
  padding: 9px 11px 20px !important;
  position: relative !important;
}
body.aq-is-home .aq-recommend-tag {
  min-height: 17px !important;
  padding: 2px 9px !important;
  font-size: 10px !important;
}
body.aq-is-home .aq-recommend-icon {
  width: 36px !important;
  height: 23px !important;
}
body.aq-is-home .aq-recommend-card strong {
  font-size: 12.5px !important;
  line-height: 1.22 !important;
}
body.aq-is-home .aq-recommend-card p {
  font-size: 10.8px !important;
  line-height: 1.22 !important;
}
body.aq-is-home .aq-recommend-link {
  position: absolute !important;
  right: 10px !important;
  bottom: 6px !important;
  font-size: 10.8px !important;
  line-height: 1.1 !important;
}
body.aq-is-home .aq-flow-step {
  min-height: 62px !important;
  padding: 5px 9px !important;
}
body.aq-is-home .aq-flow-body svg {
  width: 24px !important;
  height: 24px !important;
}
body.aq-is-home .aq-flow-body strong { font-size: 12.5px !important; }
body.aq-is-home .aq-flow-body p { font-size: 10.8px !important; }
body.aq-is-home .aq-faq-q {
  min-height: 27px !important;
  padding: 4px 9px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* ============================================================
   v13 - Top page layout matched to the compact blue dashboard
   ============================================================ */

body.aq-is-home {
  --aq-sidebar-w: 200px !important;
  --aq-sidebar-box-w: 200px !important;
  margin-left: var(--aq-sidebar-w) !important;
  background: #f5f8fc !important;
}

body.aq-is-home #aq-sidebar {
  inset: 0 auto 0 0 !important;
  width: var(--aq-sidebar-box-w) !important;
  height: 100vh !important;
  border: 0 !important;
  border-right: 1px solid #e3ebf5 !important;
  border-radius: 0 !important;
  box-shadow: 10px 0 30px rgba(15, 45, 88, .05) !important;
  background: #fff !important;
}

body.aq-is-home .aq-sidebar-inner {
  padding: 38px 12px 22px !important;
  gap: 28px !important;
}

body.aq-is-home .aq-logo {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 0 10px 18px !important;
}

body.aq-is-home .aq-logo-badge {
  width: 28px !important;
  height: 30px !important;
  background: none !important;
  color: #2b75d6 !important;
  font-size: 0 !important;
}

body.aq-is-home .aq-logo-badge::before {
  content: "A";
  display: block;
  color: #2b75d6;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
}

body.aq-is-home .aq-logo-name {
  color: #0a4fb8 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-logo-sub {
  color: #5f6f85 !important;
  font-size: 10.5px !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-nav {
  gap: 8px !important;
}

body.aq-is-home .aq-nav-item {
  min-height: 50px !important;
  padding: 10px 16px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #071c44 !important;
  background: transparent !important;
}

body.aq-is-home .aq-nav-item.is-active,
body.aq-is-home .aq-nav-item:hover {
  background: #e8f1ff !important;
  color: #0f5bc7 !important;
}

body.aq-is-home .aq-nav-icon {
  width: 24px !important;
  height: 24px !important;
}

body.aq-is-home .aq-nav-icon svg {
  width: 22px !important;
  height: 22px !important;
  stroke-width: 2.3 !important;
}

body.aq-is-home .aq-nav-ja {
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.aq-is-home .aq-sidebar-note {
  min-height: 116px !important;
  margin: auto 0 0 !important;
  padding: 14px 12px !important;
  border: 1px solid #dbe6f4 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #33445f !important;
  font-size: 10.5px !important;
  line-height: 1.55 !important;
}

body.aq-is-home .aq-sidebar-note strong {
  color: #0b2455 !important;
  font-size: 12px !important;
}

body.aq-is-home #aq-portal {
  width: calc(100vw - var(--aq-sidebar-w)) !important;
  padding: 14px 18px 8px !important;
  background: #f5f8fc !important;
}

body.aq-is-home #aq-hero {
  height: 302px !important;
  min-height: 302px !important;
  grid-template-columns: minmax(420px, .95fr) minmax(210px, 260px) minmax(520px, 1.05fr) !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 34px 38px !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 54% 30%, rgba(35, 109, 205, .35), transparent 34%),
    linear-gradient(135deg, #08245f 0%, #061944 48%, #052456 100%) !important;
}

body.aq-is-home .aq-kicker {
  min-height: 30px !important;
  margin-bottom: 16px !important;
  padding: 6px 15px !important;
  background: rgba(255,255,255,.13) !important;
  font-size: 13px !important;
}

body.aq-is-home .aq-hero-title {
  max-width: 620px !important;
  margin-bottom: 12px !important;
  font-size: 42px !important;
  line-height: 1.08 !important;
}

body.aq-is-home .aq-hero-sub {
  max-width: 620px !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
}

body.aq-is-home .aq-hero-actions {
  margin-top: 18px !important;
  gap: 12px !important;
}

body.aq-is-home .aq-btn-primary,
body.aq-is-home .aq-btn-secondary {
  min-width: 228px !important;
  min-height: 50px !important;
  padding: 11px 20px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
}

body.aq-is-home .aq-btn-secondary {
  min-width: 250px !important;
}

body.aq-is-home .aq-hero-illust svg {
  width: min(100%, 260px) !important;
  max-height: 210px !important;
}

body.aq-is-home .aq-hero-check-card {
  align-self: stretch !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.aq-is-home .aq-hero-check-card h2 {
  margin: 0 0 14px !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
}

body.aq-is-home .aq-hero-check-card h2::before {
  content: none !important;
}

body.aq-is-home .aq-hero-check-card ul {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.aq-is-home .aq-hero-check-card li {
  min-height: 132px !important;
  display: grid !important;
  grid-template-columns: 1fr 12px !important;
  grid-template-rows: 52px minmax(0, 1fr) 16px !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 14px 9px 10px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #071c44 !important;
  text-align: center !important;
  box-shadow: 0 8px 22px rgba(2, 20, 52, .18) !important;
}

body.aq-is-home .aq-hero-check-card li > span:nth-child(2) {
  grid-column: 1 / 3 !important;
  color: #071c44 !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
}

body.aq-is-home .aq-check-icon {
  grid-column: 1 / 3 !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #1c63d8 !important;
  color: #fff !important;
}

body.aq-is-home .aq-hero-check-card li:nth-child(2) .aq-check-icon { background: #18a05b !important; }
body.aq-is-home .aq-hero-check-card li:nth-child(3) .aq-check-icon { background: #7650d5 !important; }
body.aq-is-home .aq-hero-check-card li:nth-child(4) .aq-check-icon { background: #ff7417 !important; }

body.aq-is-home .aq-check-icon svg {
  width: 24px !important;
  height: 24px !important;
}

body.aq-is-home .aq-check-arrow {
  grid-column: 2 !important;
  grid-row: 3 !important;
  justify-self: end !important;
  color: #0a2e67 !important;
  font-size: 20px !important;
}

body.aq-is-home .aq-portal-body {
  padding: 14px 8px 0 !important;
  gap: 14px !important;
}

body.aq-is-home .aq-home-grid,
body.aq-is-home .aq-home-grid-top {
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
  gap: 22px !important;
}

body.aq-is-home .aq-home-section:nth-child(2) {
  padding-left: 22px !important;
}

body.aq-is-home .aq-panel-head {
  min-height: 29px !important;
  margin-bottom: 8px !important;
}

body.aq-is-home .aq-panel-head h2 {
  font-size: 22px !important;
}

body.aq-is-home .aq-purpose-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.aq-is-home .aq-purpose-card {
  min-height: 136px !important;
  gap: 10px !important;
  padding: 15px 12px 12px !important;
  border-radius: 7px !important;
}

body.aq-is-home .aq-purpose-icon {
  width: 50px !important;
  height: 50px !important;
}

body.aq-is-home .aq-purpose-icon::before {
  font-size: 40px !important;
}

body.aq-is-home .aq-purpose-text strong {
  font-size: 15px !important;
}

body.aq-is-home .aq-purpose-text small {
  font-size: 11.5px !important;
}

body.aq-is-home .aq-news-list {
  gap: 0 !important;
}

body.aq-is-home .aq-news-list li {
  min-height: 38px !important;
  grid-template-columns: 78px 80px minmax(0, 1fr) 14px !important;
  padding: 5px 12px !important;
  border-radius: 0 !important;
  border-bottom: 0 !important;
}

body.aq-is-home .aq-news-list li:first-child {
  border-radius: 8px 8px 0 0 !important;
}

body.aq-is-home .aq-news-list li:last-child {
  border-radius: 0 0 8px 8px !important;
  border-bottom: 1px solid #dce5ef !important;
}

body.aq-is-home .aq-news-list a {
  font-size: 13px !important;
}

body.aq-is-home .aq-content-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

body.aq-is-home .aq-content-card {
  min-height: 96px !important;
  padding: 9px 7px !important;
  gap: 6px !important;
  border-radius: 7px !important;
}

body.aq-is-home .aq-content-icon {
  width: 36px !important;
  height: 36px !important;
}

body.aq-is-home .aq-content-card strong {
  font-size: 12px !important;
}

body.aq-is-home .aq-content-card small {
  font-size: 10px !important;
}

body.aq-is-home .aq-recommend-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.aq-is-home .aq-recommend-card {
  height: 172px !important;
  min-height: 172px !important;
  padding: 13px 12px 22px !important;
  border-radius: 8px !important;
}

body.aq-is-home .aq-recommend-card strong {
  font-size: 13.5px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-recommend-card p {
  font-size: 11.6px !important;
  line-height: 1.42 !important;
}

body.aq-is-home .aq-recommend-icon {
  position: absolute !important;
  right: 12px !important;
  bottom: 14px !important;
  width: 56px !important;
  height: 44px !important;
  opacity: .9 !important;
}

body.aq-is-home .aq-recommend-icon::before {
  font-size: 34px !important;
}

body.aq-is-home .aq-recommend-link {
  left: 13px !important;
  right: auto !important;
  bottom: 10px !important;
  font-size: 12px !important;
}

body.aq-is-home .aq-flow-row {
  gap: 12px !important;
}

body.aq-is-home .aq-flow-step {
  min-height: 112px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 10px !important;
  text-align: center !important;
}

body.aq-is-home .aq-flow-body {
  align-items: center !important;
  text-align: center !important;
}

body.aq-is-home .aq-flow-body svg {
  width: 32px !important;
  height: 32px !important;
}

body.aq-is-home .aq-flow-body strong {
  font-size: 14px !important;
}

body.aq-is-home .aq-flow-body p {
  font-size: 11px !important;
}

body.aq-is-home .aq-faq-list {
  gap: 5px !important;
}

body.aq-is-home .aq-faq-q {
  min-height: 29px !important;
  padding: 5px 11px !important;
  font-size: 12.4px !important;
}

body.aq-is-home .aq-home-contact {
  margin-top: 4px !important;
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 20px !important;
  border: 1px solid #dce5ef !important;
  border-radius: 7px !important;
  background: #fff !important;
}

body.aq-is-home .aq-home-contact h2 {
  align-self: start !important;
  margin-top: 4px !important;
  font-size: 17px !important;
}

body.aq-is-home .aq-home-contact h2::after {
  content: "ご不明な点やご相談がございましたら、お気軽にご連絡ください。";
  display: block;
  margin-top: 8px;
  color: #34445f;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
}

body.aq-is-home .aq-trouble-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(190px, .72fr) !important;
  gap: 16px !important;
}

body.aq-is-home .aq-trouble-card {
  height: 76px !important;
  min-height: 76px !important;
  padding: 10px 14px !important;
}

body.aq-is-home .aq-trouble-grid::after {
  content: "サポートページを見る  →";
  height: 76px !important;
  min-height: 76px !important;
  justify-content: center;
  padding: 10px 18px !important;
  border-color: #2b66d4;
  background: #fff;
  color: #0f5bc7;
  font-size: 14px !important;
  font-weight: 900;
  line-height: 1.2 !important;
  background-image: none;
}

@media (max-width: 820px) {
  body.aq-is-home {
    margin-left: 0 !important;
  }

  body.aq-is-home #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    height: 100vh !important;
    transform: translateX(-105%) !important;
    border-radius: 0 8px 8px 0 !important;
    z-index: 1150 !important;
  }

  body.aq-is-home #aq-sidebar.is-open {
    transform: translateX(0) !important;
  }

  body.aq-is-home #aq-portal {
    width: 100vw !important;
    padding: 78px 12px 18px !important;
  }

  body.aq-is-home #aq-hero {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    padding: 24px 18px !important;
  }

  body.aq-is-home .aq-hero-illust {
    display: none !important;
  }

  body.aq-is-home .aq-hero-title {
    font-size: 30px !important;
  }

  body.aq-is-home .aq-hero-check-card ul,
  body.aq-is-home .aq-purpose-grid,
  body.aq-is-home .aq-content-grid,
  body.aq-is-home .aq-recommend-grid,
  body.aq-is-home .aq-trouble-grid {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-home-grid,
  body.aq-is-home .aq-home-grid-top {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-home-section:nth-child(2) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.aq-is-home .aq-home-contact {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-flow-row {
    flex-direction: column !important;
  }

  body.aq-is-home .aq-flow-sep {
    display: none !important;
  }
}

/* ============================================================
   v14 - Keep homepage sidebar and tone aligned with other pages
   ============================================================ */

body.aq-is-home {
  --aq-sidebar-w: 336px !important;
  --aq-sidebar-box-w: 280px !important;
  margin-left: var(--aq-sidebar-w) !important;
  background: #f4f7fb !important;
}

body.aq-is-home #aq-sidebar {
  inset: 36px auto 36px 36px !important;
  width: var(--aq-sidebar-box-w) !important;
  height: auto !important;
  display: flex !important;
  border: 1px solid #d9e0ea !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(10, 25, 52, .06) !important;
  overflow: hidden !important;
}

body.aq-is-home .aq-sidebar-inner {
  gap: 28px !important;
  padding: 36px 26px 28px !important;
}

body.aq-is-home .aq-logo {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 0 0 18px !important;
  border-bottom: 0 !important;
}

body.aq-is-home .aq-logo-badge {
  width: 62px !important;
  height: 62px !important;
  background: transparent url("https://assets.super.so/ff55fa24-943b-4570-bc4b-3531dfc71017/uploads/favicon/2271fa94-63af-4f5e-8ac4-48481418b2c3.png") center / contain no-repeat !important;
  color: transparent !important;
  font-size: 0 !important;
}

body.aq-is-home .aq-logo-badge::before {
  content: none !important;
}

body.aq-is-home .aq-logo-name {
  color: #0d1930 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  white-space: normal !important;
}

body.aq-is-home .aq-logo-sub {
  color: #6d7a8f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: normal !important;
}

body.aq-is-home .aq-nav {
  gap: 10px !important;
}

body.aq-is-home .aq-nav-item {
  min-height: 48px !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  border-radius: 0 !important;
  color: #182844 !important;
  background: transparent !important;
}

body.aq-is-home .aq-nav-item.is-active,
body.aq-is-home .aq-nav-item:hover {
  border-bottom-color: transparent !important;
  border-radius: 6px !important;
  background: #07142d !important;
  color: #fff !important;
}

body.aq-is-home .aq-nav-icon {
  width: 22px !important;
  height: 22px !important;
}

body.aq-is-home .aq-nav-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2 !important;
}

body.aq-is-home .aq-nav-ja {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: inherit !important;
}

body.aq-is-home .aq-sidebar-note {
  min-height: 0 !important;
  margin-top: auto !important;
  padding: 16px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f0f4f8 !important;
  color: #5f6d83 !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
}

body.aq-is-home .aq-sidebar-note strong {
  margin-bottom: 6px !important;
  color: #13213a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.aq-is-home #aq-portal {
  width: calc(100vw - var(--aq-sidebar-w)) !important;
  padding: 18px 24px 24px 18px !important;
  background: #f4f7fb !important;
}

body.aq-is-home #aq-hero {
  grid-template-columns: minmax(520px, 1fr) minmax(160px, 210px) minmax(400px, .92fr) !important;
  gap: 18px !important;
  padding: 32px 34px !important;
  border-radius: 18px !important;
  height: 280px !important;
  min-height: 280px !important;
}

body.aq-is-home .aq-hero-title {
  font-size: 40px !important;
}

body.aq-is-home .aq-hero-sub {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.aq-is-home .aq-hero-check-card li {
  min-height: 118px !important;
  padding: 12px 10px 10px !important;
  grid-template-rows: 42px minmax(0, 1fr) 16px !important;
}

body.aq-is-home .aq-check-icon {
  width: 40px !important;
  height: 40px !important;
}

body.aq-is-home .aq-check-icon svg {
  width: 20px !important;
  height: 20px !important;
}

body.aq-is-home .aq-portal-body {
  padding: 14px 8px 0 !important;
  gap: 16px !important;
}

body.aq-is-home .aq-home-grid,
body.aq-is-home .aq-home-grid-top {
  gap: 20px !important;
}

body.aq-is-home .aq-panel-head {
  min-height: 30px !important;
  margin-bottom: 8px !important;
}

body.aq-is-home .aq-panel-head h2 {
  font-size: 22px !important;
}

body.aq-is-home .aq-purpose-grid {
  gap: 10px !important;
}

body.aq-is-home .aq-purpose-card {
  min-height: 118px !important;
  padding: 14px 12px !important;
  gap: 7px !important;
}

body.aq-is-home .aq-purpose-icon {
  width: 44px !important;
  height: 44px !important;
}

body.aq-is-home .aq-purpose-icon::before {
  font-size: 36px !important;
}

body.aq-is-home .aq-purpose-text strong {
  font-size: 15px !important;
}

body.aq-is-home .aq-purpose-text small {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-news-list li {
  min-height: 36px !important;
  padding: 5px 12px !important;
}

body.aq-is-home .aq-news-list a {
  font-size: 13px !important;
}

body.aq-is-home .aq-content-grid {
  gap: 8px !important;
}

body.aq-is-home .aq-content-card {
  min-height: 100px !important;
  padding: 11px 8px !important;
  gap: 6px !important;
}

body.aq-is-home .aq-content-icon {
  width: 38px !important;
  height: 38px !important;
}

body.aq-is-home .aq-content-card strong {
  font-size: 12.6px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-content-card small {
  font-size: 10.5px !important;
  line-height: 1.3 !important;
}

body.aq-is-home .aq-recommend-card {
  height: 142px !important;
  min-height: 142px !important;
  padding: 12px 12px 24px !important;
}

body.aq-is-home .aq-recommend-card strong {
  font-size: 13.6px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-recommend-card p {
  font-size: 11.2px !important;
  line-height: 1.38 !important;
}

body.aq-is-home .aq-flow-step {
  min-height: 96px !important;
  padding: 12px 10px !important;
}

body.aq-is-home .aq-flow-body svg {
  width: 32px !important;
  height: 32px !important;
}

body.aq-is-home .aq-flow-body strong {
  font-size: 13.8px !important;
}

body.aq-is-home .aq-flow-body p {
  font-size: 11.2px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-faq-q {
  min-height: 34px !important;
  padding: 7px 11px !important;
  font-size: 12.6px !important;
  line-height: 1.35 !important;
}

body.aq-is-home .aq-home-contact {
  padding: 18px 18px !important;
}

/* トップページ: 最新のお知らせを隣の目的カード群と高さを合わせたスクロール窓にする */
body.aq-is-home .aq-home-grid-top .aq-home-section:nth-child(2) {
  display: flex !important;
  flex-direction: column !important;
}

body.aq-is-home .aq-news-window {
  height: 278px !important;
  max-height: 278px !important;
  min-height: 278px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 1px solid #dce5ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 4px 14px rgba(11,23,48,.08) !important;
  scrollbar-gutter: stable !important;
}

body.aq-is-home .aq-news-window:focus {
  outline: 2px solid rgba(29,100,216,.28) !important;
  outline-offset: 2px !important;
}

body.aq-is-home .aq-news-window::-webkit-scrollbar {
  width: 10px !important;
}

body.aq-is-home .aq-news-window::-webkit-scrollbar-track {
  background: #f1f5f9 !important;
  border-radius: 999px !important;
}

body.aq-is-home .aq-news-window::-webkit-scrollbar-thumb {
  background: #b8c7da !important;
  border: 2px solid #f1f5f9 !important;
  border-radius: 999px !important;
}

body.aq-is-home .aq-news-window .aq-news-list {
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.aq-is-home .aq-news-window .aq-news-list li {
  min-height: 64px !important;
  grid-template-columns: 78px 82px minmax(0, 1fr) 14px !important;
  padding: 9px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e4ebf4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.aq-is-home .aq-news-window .aq-news-list li:first-child,
body.aq-is-home .aq-news-window .aq-news-list li:last-child {
  border-radius: 0 !important;
}

body.aq-is-home .aq-news-window .aq-news-list li:last-child {
  border-bottom: 0 !important;
}

body.aq-is-home .aq-news-window .aq-news-list li:hover {
  background: #f8fbff !important;
}

body.aq-is-home .aq-news-window .aq-news-list time {
  color: #64748b !important;
}

body.aq-is-home .aq-news-window .aq-news-list a {
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

body.aq-is-home .aq-home-news-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.aq-is-home .aq-home-news-item {
  margin: 0 !important;
  border-bottom: 1px solid #e4ebf4 !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.aq-is-home .aq-home-news-item:last-child {
  border-bottom: 0 !important;
}

body.aq-is-home .aq-home-news-item {
  display: grid !important;
  grid-template-columns: 72px 88px 82px minmax(0, 1fr) 16px !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 52px !important;
  padding: 6px 11px !important;
  cursor: pointer !important;
  list-style: none !important;
}

body.aq-is-home .aq-home-news-item:focus-visible {
  outline: 2px solid rgba(29,100,216,.28) !important;
  outline-offset: -3px !important;
}

body.aq-is-home .aq-home-news-item:hover {
  background: #f8fbff !important;
}

body.aq-is-home .aq-home-news-type,
body.aq-is-home .aq-home-news-item .aq-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 21px !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.aq-is-home .aq-home-news-type {
  color: #0f766e !important;
  background: #e6fffb !important;
}

body.aq-is-home .aq-home-news-leaflet .aq-home-news-type {
  color: #92400e !important;
  background: #fff7ed !important;
}

body.aq-is-home .aq-home-news-item time {
  color: #64748b !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-home-news-title {
  min-width: 0 !important;
  color: #0f2b4f !important;
  font-size: 13.2px !important;
  font-weight: 850 !important;
  line-height: 1.32 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

body.aq-is-home .aq-home-news-item .aq-news-arr {
  color: #64748b !important;
  font-size: 18px !important;
  transform-origin: center !important;
  transition: transform .18s ease !important;
}

body.aq-is-home .aq-trouble-card,
body.aq-is-home .aq-trouble-grid::after {
  height: 84px !important;
  min-height: 84px !important;
}

@media (max-width: 1500px) {
  body.aq-is-home #aq-hero {
    grid-template-columns: minmax(0, 1fr) minmax(440px, .92fr) !important;
  }

  body.aq-is-home .aq-hero-illust {
    display: none !important;
  }

  body.aq-is-home .aq-hero-title {
    font-size: 36px !important;
  }
}

@media (max-width: 820px) {
  body.aq-is-home {
    margin-left: 0 !important;
  }

  body.aq-is-home #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    height: 100vh !important;
    transform: translateX(-105%) !important;
    border-radius: 0 8px 8px 0 !important;
    z-index: 1150 !important;
  }

  body.aq-is-home #aq-sidebar.is-open {
    transform: translateX(0) !important;
  }

  body.aq-is-home #aq-portal {
    width: 100vw !important;
    padding: 78px 12px 18px !important;
  }

  body.aq-is-home #aq-hero {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px 18px !important;
  }

  body.aq-is-home .aq-hero-title {
    font-size: 30px !important;
  }

  body.aq-is-home .aq-hero-sub {
    font-size: 14px !important;
  }

  body.aq-is-home .aq-hero-illust {
    display: none !important;
  }

  body.aq-is-home .aq-hero-check-card ul,
  body.aq-is-home .aq-purpose-grid,
  body.aq-is-home .aq-content-grid,
  body.aq-is-home .aq-recommend-grid,
  body.aq-is-home .aq-trouble-grid {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-hero-check-card li {
    min-height: 96px !important;
  }

  body.aq-is-home .aq-home-grid,
  body.aq-is-home .aq-home-grid-top {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-home-section:nth-child(2) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.aq-is-home .aq-news-window {
    height: 260px !important;
    max-height: 260px !important;
    min-height: 0 !important;
  }

  body.aq-is-home .aq-home-news-item {
    grid-template-columns: 70px minmax(90px, auto) 1fr 16px !important;
    min-height: 66px !important;
    gap: 6px 8px !important;
    padding: 8px 10px !important;
  }

  body.aq-is-home .aq-home-news-item time {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
  }

  body.aq-is-home .aq-home-news-title {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    font-size: 13.2px !important;
  }

  body.aq-is-home .aq-home-news-item .aq-news-arr {
    grid-column: 4 !important;
    grid-row: 1 / 3 !important;
  }

  body.aq-is-home .aq-home-contact {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-home .aq-flow-row {
    flex-direction: column !important;
  }

  body.aq-is-home .aq-flow-sep {
    display: none !important;
  }
}

/* ============================================================
   助成金早見表ページ 新デザイン適用 (body.aq-is-josei)
   ============================================================ */

/* Hero: ダークグラデーションに統一 */
body.aq-is-josei .aq-josei-hero {
  background: linear-gradient(135deg, #0f172a 0%, #111827 55%, #1e3a5f 100%) !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 36px 44px !important;
  grid-template-columns: 1fr !important;
  color: #fff !important;
  box-shadow: 0 8px 32px rgba(11,23,48,.22) !important;
}

body.aq-is-josei .aq-josei-hero::before {
  display: none !important;
}

body.aq-is-josei .aq-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  padding: 5px 14px !important;
  background: rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
}

body.aq-is-josei .aq-josei-hero-text h1 {
  color: #fff !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
  line-height: 1.12 !important;
  margin: 0 0 12px !important;
}

body.aq-is-josei .aq-josei-hero-text p {
  color: rgba(255,255,255,.82) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* セクションコンテナ: 新デザインに合わせた影・色 */
body.aq-is-josei .aq-jl-navi-section,
body.aq-is-josei .aq-jl-list-section {
  background: #fff !important;
  border: 1px solid #dce5ef !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(11,23,48,.07) !important;
  padding: 24px 26px !important;
}

/* セクション見出し */
body.aq-is-josei .aq-jl-section-h {
  color: #0b1730 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin-bottom: 16px !important;
}

body.aq-is-josei .aq-jl-section-en {
  color: #1d64d8 !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
}

body.aq-is-josei .aq-jl-section-sub {
  color: #475569 !important;
  font-size: 13px !important;
  margin-bottom: 16px !important;
}

/* ナビカード: 新デザイン purpose-card に合わせる */
body.aq-is-josei .aq-jl-navi-grid {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}

body.aq-is-josei .aq-jl-navi-card {
  background: #fff !important;
  border: 1px solid #dce5ef !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgba(11,23,48,.08) !important;
  padding: 16px 18px !important;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease !important;
}

body.aq-is-josei .aq-jl-navi-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(11,23,48,.14) !important;
  background: #0b1730 !important;
  border-color: #0b1730 !important;
}

body.aq-is-josei .aq-jl-navi-no {
  color: #1d64d8 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

body.aq-is-josei .aq-jl-navi-icon {
  font-size: 28px !important;
}

body.aq-is-josei .aq-jl-navi-title {
  color: #0b1730 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.aq-is-josei .aq-jl-navi-meta {
  color: #64748b !important;
  font-size: 12px !important;
}

body.aq-is-josei .aq-jl-navi-arrow {
  color: #1d64d8 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* テーブル */
body.aq-is-josei .aq-jl-table {
  border: 1px solid #dce5ef !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(11,23,48,.05) !important;
  overflow: hidden !important;
}

body.aq-is-josei .aq-jl-table-head {
  background: #f4f6fb !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid #dce5ef !important;
}

body.aq-is-josei .aq-jl-row {
  border-bottom: 1px solid #eef1f6 !important;
}

body.aq-is-josei .aq-jl-row:hover {
  background: #f8fafd !important;
}

/* タブ */
body.aq-is-josei .aq-josei-tabs {
  gap: 6px !important;
}

body.aq-is-josei .aq-josei-tabs button {
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border: 1px solid #dce5ef !important;
  background: #fff !important;
  color: #334155 !important;
  padding: 7px 14px !important;
  box-shadow: 0 1px 4px rgba(11,23,48,.06) !important;
}

body.aq-is-josei .aq-josei-tabs button.is-active {
  background: #0b1730 !important;
  border-color: #0b1730 !important;
  color: #fff !important;
}

/* メインレイアウト: gap調整 */
body.aq-is-josei .aq-josei-main {
  gap: 18px !important;
  padding-bottom: 40px !important;
}

/* ============================================================
   助成金早見表 トンマナ統一・可読性向上
   ============================================================ */

/* ---- テーブル行: 読みやすい高さ・フォント ---- */
body.aq-is-josei .aq-jl-row {
  padding: 16px 18px !important;
  gap: 16px !important;
  border-bottom: 1px solid #eef1f6 !important;
}

body.aq-is-josei .aq-jl-row:hover {
  background: #f4f8ff !important;
}

body.aq-is-josei .aq-jl-item[open] > .aq-jl-row {
  background: #0b1730 !important;
}

body.aq-is-josei .aq-jl-table-head {
  padding: 12px 18px !important;
  gap: 16px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #64748b !important;
  letter-spacing: .03em !important;
  background: #f4f6fb !important;
}

/* ---- 列テキスト: 新デザインの色変数に統一 ---- */
body.aq-is-josei .aq-jl-col-when {
  font-size: 14px !important;
  color: #334155 !important;
  line-height: 1.55 !important;
}

body.aq-is-josei .aq-jl-col-name {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0b1730 !important;
  line-height: 1.45 !important;
}

body.aq-is-josei .aq-jl-col-amount {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #c0392b !important;
}

/* ---- バッジ: 新デザインに合わせた配色 ---- */
body.aq-is-josei .aq-jl-badge {
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  border-radius: 6px !important;
}

body.aq-is-josei .aq-jl-badge.cat-hire { background: #fef9c3; color: #854d0e; }
body.aq-is-josei .aq-jl-badge.cat-edu  { background: #dbeafe; color: #1e3a8a; }
body.aq-is-josei .aq-jl-badge.cat-care { background: #fce7f3; color: #831843; }
body.aq-is-josei .aq-jl-badge.cat-wage { background: #dcfce7; color: #14532d; }
body.aq-is-josei .aq-jl-badge.cat-env  { background: #ede9fe; color: #3b0764; }
body.aq-is-josei .aq-jl-badge.cat-prod { background: #fee2e2; color: #7f1d1d; }

/* ---- 詳細展開エリア ---- */
body.aq-is-josei .aq-jl-detail {
  background: #f8fafc !important;
  border-top: 1px solid #dce5ef !important;
}

body.aq-is-josei .aq-jl-detail-inner {
  padding: 26px 28px !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  color: #334155 !important;
}

/* 詳細: 説明文ボックス */
body.aq-is-josei .js-desc {
  background: #fff !important;
  border-left: 4px solid #1d64d8 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  color: #0b1730 !important;
  margin-bottom: 18px !important;
  box-shadow: 0 2px 8px rgba(11,23,48,.05) !important;
}

/* 詳細: グリッド項目 */
body.aq-is-josei .js-item {
  background: #fff !important;
  border: 1px solid #dce5ef !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 4px rgba(11,23,48,.05) !important;
  padding: 12px 14px !important;
  gap: 12px !important;
}

body.aq-is-josei .js-label {
  background: #eff6ff !important;
  color: #1e3a8a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
}

body.aq-is-josei .js-value {
  font-size: 14px !important;
  color: #334155 !important;
  line-height: 1.7 !important;
}

/* 詳細: セクション見出し */
body.aq-is-josei .js-section-h {
  color: #0b1730 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  border-bottom: 2px solid #dce5ef !important;
  padding-bottom: 8px !important;
  margin: 22px 0 12px !important;
}

/* 詳細: 申請ステップテーブル */
body.aq-is-josei .js-table {
  border: 1px solid #dce5ef !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 4px rgba(11,23,48,.05) !important;
}

body.aq-is-josei .js-table th {
  background: #f4f6fb !important;
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border-bottom: 1px solid #dce5ef !important;
  padding: 10px 14px !important;
}

body.aq-is-josei .js-table td {
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #334155 !important;
  border-bottom: 1px solid #eef1f6 !important;
  line-height: 1.7 !important;
}

/* ---- 注意書き ---- */
body.aq-is-josei .aq-josei-info {
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: #78350f !important;
  line-height: 1.7 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body.aq-is-josei .aq-josei-info-icon {
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  background: #f59e0b !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

/* ---- フロー（詳細を見る流れ） ---- */
body.aq-is-josei .aq-josei-flow-h {
  color: #0b1730 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin: 0 0 14px !important;
}

body.aq-is-josei .aq-josei-flow {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.aq-is-josei .aq-josei-flow li {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 20px 14px 18px !important;
  background: #fff !important;
  border: 1px solid #dce5ef !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 12px rgba(11,23,48,.07) !important;
  text-align: center !important;
}

body.aq-is-josei .aq-josei-step-no {
  width: 36px !important;
  height: 36px !important;
  background: linear-gradient(135deg, #1d4ed8, #3b82f6) !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 10px rgba(29,78,216,.3) !important;
}

body.aq-is-josei .aq-josei-step-icon {
  font-size: 28px !important;
  line-height: 1 !important;
}

body.aq-is-josei .aq-josei-step-title {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #0b1730 !important;
}

body.aq-is-josei .aq-josei-step-desc {
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* ============================================================
   全ページ共通サイドバー: 助成金ページスタイルに統一
   ============================================================ */

/* サイドバー本体: 浮いた角丸パネル */
body:not(.aq-is-home) #aq-sidebar {
  inset: 36px auto 36px 36px !important;
  width: var(--aq-sidebar-box-w) !important;
  height: auto !important;
  display: flex !important;
  border: 1px solid #d9e0ea !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(10,25,52,.06) !important;
  overflow: hidden !important;
}

body:not(.aq-is-home) .aq-sidebar-inner {
  gap: 28px !important;
  padding: 36px 26px 28px !important;
}

/* ロゴ */
body:not(.aq-is-home) .aq-logo {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 0 0 18px !important;
  border-bottom: 0 !important;
}

body:not(.aq-is-home) .aq-logo-badge {
  width: 62px !important;
  height: 62px !important;
}

body:not(.aq-is-home) .aq-logo-name {
  color: #0d1930 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
}

body:not(.aq-is-home) .aq-logo-sub {
  color: #6d7a8f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* ナビゲーション */
body:not(.aq-is-home) .aq-nav {
  gap: 10px !important;
}

body:not(.aq-is-home) .aq-nav-item {
  min-height: 48px !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  border-radius: 0 !important;
  color: #182844 !important;
  background: transparent !important;
  justify-content: flex-start !important;
}

body:not(.aq-is-home) .aq-nav-item.is-active,
body:not(.aq-is-home) .aq-nav-item:hover {
  border-bottom-color: transparent !important;
  border-radius: 6px !important;
  background: #07142d !important;
  color: #fff !important;
}

body:not(.aq-is-home) .aq-nav-icon {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
  background: transparent !important;
}

body:not(.aq-is-home) .aq-nav-icon svg {
  width: 20px !important;
  height: 20px !important;
  color: inherit !important;
  stroke: currentColor !important;
}

body:not(.aq-is-home) .aq-nav-ja {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

/* サイドバー下部ノート */
body:not(.aq-is-home) .aq-sidebar-note {
  margin-top: auto !important;
  padding: 16px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f0f4f8 !important;
  color: #5f6d83 !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
  flex-direction: column !important;
  gap: 4px !important;
}

body:not(.aq-is-home) .aq-sidebar-note-icon {
  color: #3466b3 !important;
}

body:not(.aq-is-home) .aq-sidebar-note strong {
  margin-bottom: 4px !important;
  color: #13213a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

/* メインコンテンツ: サイドバー分のマージン */
body:not(.aq-is-home) #aq-portal {
  width: calc(100vw - var(--aq-sidebar-w)) !important;
  margin-left: 0 !important;
  min-height: 100vh !important;
}

/* レスポンシブ */
@media (max-width: 820px) {
  body:not(.aq-is-home) #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    height: 100vh !important;
    border-radius: 0 28px 28px 0 !important;
    transform: translateX(-100%) !important;
    z-index: 1150 !important;
  }

  body:not(.aq-is-home) #aq-sidebar.is-open {
    transform: translateX(0) !important;
  }
}

/* ============================================================
   jimukumiai 専用検索バー
   ============================================================ */

.aq-jim-searchbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #d5deea;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(15,35,70,.04);
}

.aq-jim-searchbar svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: #94a3b8;
}

.aq-jim-searchbar input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  color: #0b1730;
}

.aq-jim-searchbar input::placeholder {
  color: #94a3b8;
}

/* ============================================================
   サイドバー first-child (トップ) 文字消え修正
   .aq-nav > .aq-nav-item:first-child { color:#fff } が詳細度[0,3,0]で
   body:not(.aq-is-home) .aq-nav-item [0,2,1] を上回るため白文字→透明になる。
   より詳細度の高いセレクタで上書きする。
   ============================================================ */

body:not(.aq-is-home) .aq-nav > .aq-nav-item:first-child {
  color: #182844 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body:not(.aq-is-home) .aq-nav > .aq-nav-item:first-child.is-active,
body:not(.aq-is-home) .aq-nav > .aq-nav-item:first-child:hover {
  background: #07142d !important;
  color: #fff !important;
  border-radius: 6px !important;
}

/* ============================================================
   FAQ dashboard
   ============================================================ */

body.aq-is-faq .aq-breadcrumb {
  display: none !important;
}

body.aq-is-faq {
  margin-left: 0 !important;
}

body.aq-is-faq .aq-subpage-wrap {
  padding: 28px 30px 48px 28px !important;
  background: #f5f8fc !important;
}

body.aq-is-faq .aq-subpage-main {
  max-width: 1500px !important;
  gap: 18px !important;
}

.aq-faq-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
}

.aq-faq-hero-main,
.aq-faq-hero-side,
.aq-faq-search-panel,
.aq-faq-panel,
.aq-faq-side-card,
.aq-faq-category-card {
  border: 1px solid #d5deea;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 35, 70, .05);
}

.aq-faq-hero-main {
  min-height: 220px;
  padding: 28px 32px;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff 0%, #fff 66%, #eaf3ff 100%);
}

.aq-faq-eyebrow {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #eaf3ff;
  color: #1d5eb3;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-hero-main h1 {
  margin: 12px 0 10px !important;
  color: #081834 !important;
  font-size: 38px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

.aq-faq-hero-main p {
  max-width: 820px;
  margin: 0;
  color: #465873;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 700;
}

.aq-faq-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 24px;
}

.aq-faq-stats span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.aq-faq-stats strong {
  color: #17395f;
  font-size: 23px;
  line-height: 1.1;
  font-weight: 900;
}

.aq-faq-stats small {
  color: #718095;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.aq-faq-hero-side {
  padding: 22px;
  border-radius: 16px;
  background: linear-gradient(145deg, #102a4e, #17395f);
  color: #fff;
}

.aq-faq-hero-side h2 {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.aq-faq-quick {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.aq-faq-quick a {
  display: flex;
  min-height: 78px;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.10);
  color: #fff !important;
  text-decoration: none !important;
}

.aq-faq-quick strong {
  font-size: 12px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-faq-quick span {
  color: #d7e6fb;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 800;
}

.aq-faq-search-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px 140px;
  gap: 12px;
  padding: 16px;
  border-radius: 16px;
}

.aq-faq-search {
  position: relative;
  display: block;
}

.aq-faq-search svg {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  color: #326ab6;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-faq-search input {
  width: 100%;
  min-height: 52px;
  padding: 0 16px 0 46px;
  border: 1px solid #cbd6e7;
  border-radius: 10px;
  background: #fbfdff;
  color: #132542;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  outline: none;
}

.aq-faq-search input:focus {
  border-color: #5e91d1;
  box-shadow: 0 0 0 3px rgba(41,104,191,.12);
}

.aq-faq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-btn-primary {
  min-height: 52px;
  background: #07142d;
  color: #fff;
}

.aq-faq-btn-soft {
  background: #eef5fc;
  color: #225899;
}

.aq-faq-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.aq-faq-section-head h2 {
  margin: 0 !important;
  color: #0b1a34 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

.aq-faq-section-head p,
.aq-faq-section-head span {
  margin: 4px 0 0;
  color: #667895;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 800;
}

.aq-faq-categories {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.aq-faq-category-card {
  min-height: 118px;
  padding: 14px 12px;
  border-radius: 12px;
  text-align: left;
  color: #172847;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.aq-faq-category-card:hover {
  transform: translateY(-2px);
  border-color: #b7cce8;
}

.aq-faq-category-card.is-active {
  border-color: #2d6fc1;
  background: #f1f7ff;
  box-shadow: 0 10px 24px rgba(36,104,196,.12);
}

.aq-faq-category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #edf4ff;
  color: #2566b9;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-category-card strong {
  display: block;
  margin-top: 10px;
  color: #10213d;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-faq-category-card small {
  display: block;
  margin-top: 3px;
  color: #6d7d90;
  font-size: 11.5px;
  font-weight: 800;
}

.aq-faq-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  align-items: start;
}

.aq-faq-panel {
  padding: 17px;
  border-radius: 16px;
}

.aq-faq-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 13px;
  border-bottom: 1px solid #dfe7f2;
}

.aq-faq-result-head h2 {
  margin: 0 !important;
  color: #0b1a34 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.aq-faq-result-head p {
  margin: 3px 0 0;
  color: #738197;
  font-size: 12px;
  font-weight: 800;
}

.aq-faq-list {
  margin-top: 6px;
}

.aq-faq-card {
  overflow: hidden;
  margin-top: 10px;
  border: 1px solid #dfe7f2;
  border-radius: 10px;
  background: #fff;
}

.aq-faq-question {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  gap: 8px;
  align-items: center;
  min-height: 62px;
  padding: 13px 15px;
  border: 0;
  background: #fff;
  color: #27374d;
  text-align: left;
  cursor: pointer;
}

.aq-faq-q-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #eaf3ff;
  color: #2060ae;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-q-text {
  color: #24364f;
  font-size: 14.5px;
  line-height: 1.55;
  font-weight: 900;
}

.aq-faq-chev {
  color: #7d91aa;
  font-size: 22px;
  line-height: 1;
  text-align: center;
  transition: transform .16s ease;
}

.aq-faq-card.is-open .aq-faq-chev {
  transform: rotate(180deg);
}

.aq-faq-answer {
  display: none;
  padding: 0 20px 18px 65px;
  border-top: 1px solid #edf2f7;
  background: #fbfdff;
  color: #4d5d72;
  font-size: 14px;
  line-height: 1.8;
}

.aq-faq-card.is-open .aq-faq-answer {
  display: block;
}

.aq-faq-answer-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

.aq-faq-answer-body h3 {
  margin: 8px 0 0 !important;
  color: #17395f !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}

.aq-faq-answer-body h3:first-child {
  margin-top: 0 !important;
}

.aq-faq-answer-body p {
  margin: 10px 0 0;
}

.aq-faq-answer-body h3 + p,
.aq-faq-answer-body h3 + ul,
.aq-faq-answer-body p:first-child {
  margin-top: 0;
}

.aq-faq-answer-body ul {
  margin: 0;
  padding-left: 20px;
}

.aq-faq-answer-body li {
  margin: 4px 0;
}

.aq-faq-answer-body strong {
  color: #1b355c;
  font-weight: 900;
}

.aq-faq-answer-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: #17395f;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-answer-label span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e7f2ff;
  color: #1d5eb3;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-more {
  width: 100%;
  margin-top: 14px;
}

.aq-faq-empty {
  padding: 36px 18px;
  color: #667895;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
}

.aq-faq-side {
  display: grid;
  gap: 14px;
}

.aq-faq-side-card {
  padding: 18px;
  border-radius: 14px;
}

.aq-faq-side-card h2 {
  margin: 0 0 12px !important;
  color: #0b1a34 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.aq-faq-popular-item {
  width: 100%;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid #edf2f7;
  background: transparent;
  color: #13294a;
  text-align: left;
  cursor: pointer;
}

.aq-faq-popular-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.aq-faq-popular-item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #edf4ff;
  color: #2466ba;
  font-size: 11px;
  font-weight: 900;
}

.aq-faq-popular-item strong {
  color: #1f314d;
  font-size: 12.5px;
  line-height: 1.5;
  font-weight: 900;
}

.aq-faq-side-card p {
  margin: 0;
  color: #617189;
  font-size: 13px;
  line-height: 1.7;
  font-weight: 800;
}

.aq-faq-tip {
  background: linear-gradient(145deg, #fff9e9, #fff);
}

.aq-faq-answer-guide {
  background: linear-gradient(145deg, #eaf4ff, #fff);
}

@media (max-width: 1280px) {
  .aq-faq-categories {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .aq-faq-content-grid {
    grid-template-columns: 1fr;
  }

  .aq-faq-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .aq-faq-hero {
    grid-template-columns: 1fr;
  }

  .aq-faq-search-panel {
    grid-template-columns: 1fr;
  }

  .aq-faq-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aq-faq-side {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body.aq-is-faq .aq-subpage-wrap {
    padding: 78px 14px 30px !important;
  }

  .aq-faq-hero-main {
    min-height: 0;
    padding: 24px 18px;
  }

  .aq-faq-hero-main h1 {
    font-size: 30px !important;
  }

  .aq-faq-hero-main p {
    font-size: 14px;
  }

  .aq-faq-stats {
    gap: 16px;
  }

  .aq-faq-quick,
  .aq-faq-categories {
    grid-template-columns: 1fr 1fr;
  }

  .aq-faq-section-head,
  .aq-faq-result-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .aq-faq-result-head .aq-faq-btn {
    width: 100%;
  }

  .aq-faq-question {
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    min-height: 58px;
    padding: 12px;
  }

  .aq-faq-answer {
    padding: 0 14px 16px;
  }
}

/* FAQ reference layout */
body.aq-is-faq .aq-breadcrumb {
  display: none !important;
}

body.aq-is-faq .aq-subpage-wrap {
  padding: 26px 30px 42px 28px !important;
  background: #f5f8fc !important;
}

body.aq-is-faq .aq-subpage-main {
  max-width: 1560px !important;
  gap: 16px !important;
}

.aq-faq-dashboard {
  color: #0a1d3f;
}

.aq-faq-dashboard svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-faq-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  align-items: center;
  min-height: 174px;
  padding: 28px 34px;
  border: 1px solid #d5deea;
  border-radius: 4px;
  background:
    radial-gradient(circle at 78% 38%, rgba(92, 155, 231, .16), transparent 26%),
    linear-gradient(120deg, #fff 0%, #fff 58%, #edf5ff 100%);
  box-shadow: 0 14px 32px rgba(15, 35, 70, .05);
}

.aq-faq-hero-copy {
  position: relative;
  z-index: 1;
}

.aq-faq-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 14px;
  border: 1px solid #cfe0f6;
  border-radius: 999px;
  background: #fff;
  color: #174f9e;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-hero h1 {
  margin: 16px 0 10px !important;
  color: #071b3f !important;
  font-size: 44px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.aq-faq-hero h1 span {
  display: inline-block;
}

.aq-faq-hero p {
  max-width: 760px;
  margin: 0;
  color: #213452;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 800;
}

.aq-faq-hero-visual {
  position: relative;
  height: 150px;
}

.aq-faq-illust-doc {
  position: absolute;
  right: 126px;
  top: 10px;
  width: 132px;
  height: 132px;
  border: 7px solid #dce9f8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 32px rgba(33, 83, 151, .15);
  transform: rotate(-2deg);
}

.aq-faq-illust-doc span {
  display: block;
  height: 10px;
  margin: 18px 20px 0 34px;
  border-radius: 999px;
  background: #d9e3ef;
}

.aq-faq-illust-doc span::before {
  content: "";
  position: absolute;
  left: 18px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #2abf83;
}

.aq-faq-illust-lens {
  position: absolute;
  right: 84px;
  top: 42px;
  width: 80px;
  height: 80px;
  border: 9px solid #122e55;
  border-radius: 50%;
  opacity: .92;
}

.aq-faq-illust-lens::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -22px;
  width: 54px;
  height: 9px;
  border-radius: 999px;
  background: #122e55;
  transform: rotate(42deg);
}

.aq-faq-illust-bubble {
  position: absolute;
  right: 12px;
  top: 24px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #3b83db;
  color: #fff;
  font-size: 36px;
  font-weight: 900;
  box-shadow: 0 14px 26px rgba(59, 131, 219, .25);
}

.aq-faq-illust-check {
  position: absolute;
  right: 272px;
  top: 92px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #27b36d;
}

.aq-faq-illust-check::after {
  content: "";
  position: absolute;
  left: 12px;
  top: 9px;
  width: 17px;
  height: 9px;
  border-left: 5px solid #fff;
  border-bottom: 5px solid #fff;
  transform: rotate(-45deg);
}

.aq-faq-feature-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.aq-faq-feature-card,
.aq-faq-search-panel,
.aq-faq-category-card,
.aq-faq-panel,
.aq-faq-side-card,
.aq-faq-guide-links,
.aq-faq-howto,
.aq-faq-support {
  border: 1px solid #d5deea;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 35, 70, .05);
}

.aq-faq-feature-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 82px;
  padding: 14px 18px;
}

.aq-faq-feature-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  font-size: 27px;
}

.aq-faq-blue { color: #1f66c4; background: #eaf3ff; }
.aq-faq-amber { color: #f2a100; background: #fff5dc; }
.aq-faq-cyan { color: #0c95b5; background: #e7f8fb; }
.aq-faq-indigo { color: #245ac6; background: #edf3ff; }

.aq-faq-feature-card strong {
  display: block;
  color: #10213d;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-faq-feature-card p {
  margin: 3px 0 0;
  color: #2d3e5a;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 800;
}

.aq-faq-search-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
}

.aq-faq-search {
  position: relative;
  display: block;
}

.aq-faq-search > span {
  position: absolute;
  left: 17px;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  color: #2466ba;
  font-size: 22px;
}

.aq-faq-search input {
  width: 100%;
  min-height: 50px;
  padding: 0 18px 0 52px;
  border: 1px solid #cbd6e7;
  border-radius: 6px;
  background: #fff;
  color: #132542;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  outline: none;
}

.aq-faq-search input:focus {
  border-color: #5791d8;
  box-shadow: 0 0 0 3px rgba(36, 102, 186, .12);
}

.aq-faq-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #2b3f5d;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-keywords button {
  min-height: 25px;
  padding: 0 12px;
  border: 1px solid #cfe0f6;
  border-radius: 999px;
  background: #eff6ff;
  color: #1b5cad;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-main-grid {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.12fr) 360px;
  gap: 18px;
  align-items: start;
}

.aq-faq-left,
.aq-faq-guide-links,
.aq-faq-howto,
.aq-faq-support {
  min-width: 0;
}

.aq-faq-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 10px;
}

.aq-faq-section-head h2,
.aq-faq-result-head h2,
.aq-faq-side-card h2 {
  margin: 0 !important;
  color: #071b3f !important;
  font-size: 21px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.aq-faq-section-head span,
.aq-faq-result-head p {
  color: #59708f;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.aq-faq-category-card {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-height: 58px;
  padding: 10px 12px;
  color: #132847;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.aq-faq-category-card:hover {
  transform: translateY(-1px);
  border-color: #aac5e8;
}

.aq-faq-category-card.is-active {
  border-color: #2367c2;
  background: #eff6ff;
  box-shadow: 0 10px 22px rgba(36,104,196,.12);
}

.aq-faq-category-icon {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #2566b9;
  font-size: 24px;
}

.aq-faq-category-card strong {
  display: block;
  min-width: 0;
  color: #112442;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 900;
}

.aq-faq-category-card small {
  color: #718095;
  font-size: 11px;
  font-weight: 900;
}

.aq-faq-panel {
  overflow: hidden;
  padding: 0;
}

.aq-faq-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 12px 18px;
  border-bottom: 1px solid #dbe5f1;
  background: linear-gradient(135deg, #071936, #0b2a61);
}

.aq-faq-result-head h2,
.aq-faq-result-head p {
  color: #fff !important;
}

.aq-faq-result-head p {
  margin: 3px 0 0;
  opacity: .78;
}

.aq-faq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 15px;
  border: 0;
  border-radius: 6px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-btn-soft {
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.12);
  color: #fff;
}

.aq-faq-list {
  margin: 0;
}

.aq-faq-card {
  overflow: hidden;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #dce5f0;
  border-radius: 0;
  background: #fff;
}

.aq-faq-card:last-child {
  border-bottom: 0;
}

.aq-faq-question {
  width: 100%;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 24px;
  gap: 10px;
  align-items: center;
  min-height: 50px;
  padding: 12px 18px;
  border: 0;
  background: #fff;
  color: #27374d;
  text-align: left;
  cursor: pointer;
}

.aq-faq-q-badge {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #edf4ff;
  color: #1d5eb3;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-q-text {
  color: #173052;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 900;
}

.aq-faq-chev {
  position: relative;
  width: 20px;
  height: 20px;
}

.aq-faq-chev::before,
.aq-faq-chev::after {
  content: "";
  position: absolute;
  top: 9px;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: #215cae;
  transition: transform .16s ease;
}

.aq-faq-chev::before {
  left: 4px;
  transform: rotate(45deg);
}

.aq-faq-chev::after {
  right: 3px;
  transform: rotate(-45deg);
}

.aq-faq-card.is-open .aq-faq-chev::before {
  transform: rotate(-45deg);
}

.aq-faq-card.is-open .aq-faq-chev::after {
  transform: rotate(45deg);
}

.aq-faq-answer {
  display: none;
  padding: 0 22px 18px 58px;
  border-top: 1px solid #edf2f7;
  background: #fbfdff;
  color: #33445d;
  font-size: 13px;
  line-height: 1.75;
}

.aq-faq-card.is-open .aq-faq-answer {
  display: block;
}

.aq-faq-answer-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: #17395f;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-answer-label span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e7f2ff;
  color: #1d5eb3;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-answer-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.aq-faq-answer-body h3 {
  margin: 8px 0 0 !important;
  color: #17395f !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}

.aq-faq-answer-body h3:first-child,
.aq-faq-answer-body p:first-child {
  margin-top: 0 !important;
}

.aq-faq-answer-body p {
  margin: 8px 0 0;
}

.aq-faq-answer-body ul {
  margin: 0;
  padding-left: 18px;
}

.aq-faq-answer-body li {
  margin: 3px 0;
}

.aq-faq-more {
  width: calc(100% - 36px);
  margin: 14px 18px 18px;
  border: 1px solid #cfdcf0;
  background: #f4f8ff;
  color: #1c5ba9;
}

.aq-faq-empty {
  padding: 34px 18px;
  color: #667895;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
}

.aq-faq-right {
  display: grid;
  gap: 14px;
}

.aq-faq-side-card {
  padding: 16px 18px;
}

.aq-faq-side-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.aq-faq-side-card header button {
  border: 0;
  background: transparent;
  color: #1b5cad;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-side-list,
.aq-faq-topic-list,
.aq-faq-check-list {
  display: grid;
  gap: 0;
}

.aq-faq-side-list button,
.aq-faq-topic-list button,
.aq-faq-check-list button {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 36px;
  padding: 9px 0;
  border: 0;
  border-top: 1px solid #edf2f7;
  background: transparent;
  color: #10213d;
  text-align: left;
  cursor: pointer;
}

.aq-faq-side-list button:first-child,
.aq-faq-topic-list button:first-child,
.aq-faq-check-list button:first-child {
  border-top: 0;
}

.aq-faq-side-list span {
  min-width: 38px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #ff4d7a;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}

.aq-faq-side-list strong,
.aq-faq-topic-list strong,
.aq-faq-check-list strong {
  color: #173052;
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 900;
}

.aq-faq-side-list time {
  color: #6480a4;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.aq-faq-topic-list button {
  grid-template-columns: 54px minmax(0, 1fr);
}

.aq-faq-topic-list span {
  padding: 4px 8px;
  border-radius: 4px;
  background: #2d73cf;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}

.aq-faq-topic-list button:nth-child(2) span { background: #00a99d; }
.aq-faq-topic-list button:nth-child(3) span { background: #f09b32; }
.aq-faq-topic-list button:nth-child(4) span { background: #f05277; }
.aq-faq-topic-list button:nth-child(5) span { background: #5997d8; }

.aq-faq-check-list button {
  grid-template-columns: 22px minmax(0, 1fr);
}

.aq-faq-check-list span {
  position: relative;
  width: 18px;
  height: 18px;
}

.aq-faq-check-list span::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 9px;
  height: 5px;
  border-left: 2px solid #2566b9;
  border-bottom: 2px solid #2566b9;
  transform: rotate(-45deg);
}

.aq-faq-guide-links,
.aq-faq-howto,
.aq-faq-support {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.aq-faq-guide-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.aq-faq-guide-grid a,
.aq-faq-howto-grid article,
.aq-faq-support-grid a {
  border: 1px solid #d5deea;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 35, 70, .05);
}

.aq-faq-guide-grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 66px;
  padding: 12px;
  color: #10213d !important;
  text-decoration: none !important;
}

.aq-faq-guide-grid span {
  color: #2367c2;
  font-size: 30px;
}

.aq-faq-guide-grid strong {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-faq-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, .64fr) minmax(0, .36fr);
  gap: 18px;
}

.aq-faq-howto-grid,
.aq-faq-support-grid {
  display: grid;
  gap: 12px;
}

.aq-faq-howto-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aq-faq-howto-grid article {
  position: relative;
  min-height: 98px;
  padding: 18px 16px 16px 72px;
}

.aq-faq-howto-grid article > span {
  position: absolute;
  left: 24px;
  top: 18px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #1f66c4;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-howto-grid article > span::after {
  content: "";
  position: absolute;
  left: -4px;
  top: 31px;
  width: 32px;
  height: 32px;
  border: 2px solid #d5e5fb;
  border-radius: 50%;
}

.aq-faq-howto-grid strong,
.aq-faq-support-grid strong {
  display: block;
  color: #10213d;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-faq-howto-grid p,
.aq-faq-support-grid small {
  display: block;
  margin-top: 5px;
  color: #536781;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 800;
}

.aq-faq-support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aq-faq-support-grid a {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 82px;
  padding: 14px;
  color: #10213d !important;
  text-decoration: none !important;
}

.aq-faq-support-grid span {
  grid-row: 1 / span 2;
  color: #164f9e;
  font-size: 31px;
}

@media (max-width: 1500px) {
  .aq-faq-main-grid {
    grid-template-columns: minmax(280px, .82fr) minmax(390px, 1fr);
  }

  .aq-faq-right {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aq-faq-bottom-grid,
  .aq-faq-support-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .aq-faq-hero,
  .aq-faq-main-grid,
  .aq-faq-bottom-grid {
    grid-template-columns: 1fr;
  }

  .aq-faq-hero-visual {
    display: none;
  }

  .aq-faq-feature-row,
  .aq-faq-guide-grid,
  .aq-faq-howto-grid,
  .aq-faq-support-grid,
  .aq-faq-right {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.aq-is-faq .aq-subpage-wrap {
    padding: 78px 14px 30px !important;
  }

  .aq-faq-hero {
    min-height: 0;
    padding: 24px 18px;
  }

  .aq-faq-hero h1 {
    font-size: 33px !important;
  }

  .aq-faq-hero p {
    font-size: 14px;
  }

  .aq-faq-feature-row,
  .aq-faq-categories,
  .aq-faq-guide-grid,
  .aq-faq-howto-grid,
  .aq-faq-support-grid,
  .aq-faq-right {
    grid-template-columns: 1fr;
  }

  .aq-faq-result-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .aq-faq-result-head .aq-faq-btn {
    width: 100%;
  }

  .aq-faq-question {
    grid-template-columns: 28px minmax(0, 1fr) 22px;
    padding: 12px;
  }

  .aq-faq-answer {
    padding: 0 14px 16px;
  }
}

/* ============================================================
   Annual calendar dashboard
   ============================================================ */

body.aq-is-calendar .aq-subpage-wrap {
  padding: 28px 30px 42px 28px !important;
  background: #f5f8fc !important;
}

body.aq-is-calendar .aq-breadcrumb {
  display: none !important;
}

body.aq-is-calendar .aq-subpage-main {
  max-width: 1550px !important;
  gap: 18px !important;
}

.aq-cal-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.aq-cal-page-head h1 {
  margin: 0 0 10px !important;
  color: #081834 !important;
  font-size: 38px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

.aq-cal-page-head p {
  margin: 0;
  color: #2d3d58;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 700;
}

.aq-cal-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #cad6e7;
  border-radius: 10px;
  background: #fff;
  color: #10254a !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(15, 35, 70, .04);
  white-space: nowrap;
}

.aq-cal-help svg,
.aq-cal-switch svg,
.aq-cal-clear svg,
.aq-cal-searchbox svg,
.aq-cal-footnote svg,
.aq-cal-mini-link svg,
.aq-cal-guide svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-cal-help svg {
  width: 20px;
  height: 20px;
}

.aq-cal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 30px;
  align-items: start;
}

.aq-cal-primary {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.aq-cal-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #cfd9e8;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.aq-cal-switch a {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #667895 !important;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none !important;
  border-right: 1px solid #d8e0ec;
}

.aq-cal-switch a:last-child {
  border-right: 0;
}

.aq-cal-switch a.is-active {
  background: linear-gradient(135deg, #06142e 0%, #0c2047 100%);
  color: #fff !important;
}

.aq-cal-switch svg {
  width: 22px;
  height: 22px;
}

.aq-cal-filterbar {
  display: grid;
  grid-template-columns: 1.05fr 1.05fr minmax(260px, 1.15fr) auto;
  gap: 18px;
  align-items: end;
  padding: 18px;
  border: 1px solid #d5deea;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 35, 70, .04);
}

.aq-cal-filterbar label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.aq-cal-filterbar label > span:first-child {
  color: #33435e;
  font-size: 13px;
  font-weight: 900;
}

.aq-cal-filterbar select,
.aq-cal-filterbar input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #cbd6e7;
  border-radius: 9px;
  background: #fff;
  color: #122542;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  outline: none;
}

.aq-cal-filterbar select {
  padding: 0 14px;
}

.aq-cal-searchbox {
  position: relative;
  display: block;
}

.aq-cal-searchbox input {
  padding: 0 44px 0 14px;
}

.aq-cal-searchbox svg {
  position: absolute;
  right: 14px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  color: #1b4386;
}

.aq-cal-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #cbd6e7;
  border-radius: 9px;
  background: #fff;
  color: #1b4386;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.aq-cal-clear svg {
  width: 18px;
  height: 18px;
}

.aq-cal-table-card {
  overflow: hidden;
  border: 1px solid #d5deea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 35, 70, .05);
}

.aq-cal-year-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.aq-cal-year-table th {
  height: 46px;
  padding: 0 18px;
  background: linear-gradient(180deg, #f4f8fd 0%, #edf3fa 100%);
  color: #172847;
  font-size: 14px;
  font-weight: 900;
  text-align: left;
  border-bottom: 1px solid #dbe4ef;
}

.aq-cal-year-table th:first-child,
.aq-cal-year-table td:first-child {
  width: 76px;
  text-align: center;
}

.aq-cal-year-table th:nth-child(2) {
  width: 35%;
}

.aq-cal-year-table th:last-child,
.aq-cal-year-table td:last-child {
  width: 146px;
  text-align: center;
}

.aq-cal-year-table td {
  padding: 12px 18px;
  border-bottom: 1px solid #e2e9f2;
  color: #162944;
  font-size: 14px;
  line-height: 1.55;
  vertical-align: middle;
}

.aq-cal-year-table tr:last-child td {
  border-bottom: 0;
}

.aq-cal-year-table strong {
  display: block;
  margin-top: 4px;
  color: #0b1a34;
  font-size: 14.5px;
  font-weight: 900;
  line-height: 1.45;
}

.aq-cal-month {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 900;
}

.aq-cal-month.m04,
.aq-cal-month.m10 { background: #ffe7f1; color: #e22c7a; }
.aq-cal-month.m05,
.aq-cal-month.m06,
.aq-cal-month.m02,
.aq-cal-month.m03 { background: #dcf6e7; color: #16864b; }
.aq-cal-month.m07 { background: #ddecff; color: #1d63d8; }
.aq-cal-month.m08 { background: #def7ff; color: #087c96; }
.aq-cal-month.m09 { background: #e9e5ff; color: #5c4ed1; }
.aq-cal-month.m11 { background: #ffe9d2; color: #df6a14; }
.aq-cal-month.m12 { background: #fff0c8; color: #b77900; }
.aq-cal-month.m01 { background: #fff5d9; color: #c18700; }

.aq-cal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.aq-cal-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.aq-cal-tags .green { background: #e4f7ec; color: #157044; }
.aq-cal-tags .orange { background: #fff0df; color: #c15a12; }
.aq-cal-tags .purple { background: #eeeaff; color: #5144c7; }
.aq-cal-tags .blue { background: #e6f1ff; color: #1d63d8; }

.aq-cal-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  min-height: 36px;
  border: 1px solid #d5deea;
  border-radius: 9px;
  background: #fff;
  color: #183764 !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 5px 14px rgba(15, 35, 70, .04);
}

.aq-cal-detail::after {
  content: "›";
  margin-left: 8px;
  font-size: 18px;
  line-height: 1;
  color: #2258a7;
}

.aq-cal-footnote {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 18px 16px;
  border-top: 1px solid #e5ebf4;
  color: #7c8aa1;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

.aq-cal-footnote svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: #8aa4cf;
}

.aq-cal-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.aq-cal-side-card {
  padding: 20px;
  border: 1px solid #d5deea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 35, 70, .04);
}

.aq-cal-side-card h2 {
  margin: 0 0 16px !important;
  color: #0b1a34 !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.aq-cal-task {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px 10px;
}

.aq-cal-task-month {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 36px;
  border-radius: 14px;
  background: #ffe7f1;
  color: #e22c7a;
  font-weight: 900;
}

.aq-cal-task label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  grid-column: 2;
  color: #263750;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 800;
}

.aq-cal-task label:first-of-type {
  grid-row: 1;
}

.aq-cal-task input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #2467d5;
  flex: 0 0 auto;
}

.aq-cal-side-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e2e9f2;
  color: #1f5fc0 !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

.aq-cal-side-link::after {
  content: "›";
  font-size: 18px;
}

.aq-cal-mini-link {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  color: #13294a !important;
  text-decoration: none !important;
  border-bottom: 1px solid #e5ebf4;
}

.aq-cal-mini-link:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.aq-cal-mini-link svg {
  width: 30px;
  height: 30px;
  color: #2467d5;
}

.aq-cal-mini-link strong {
  display: block;
  color: #10213d;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-cal-mini-link small {
  display: block;
  margin-top: 2px;
  color: #667895;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 800;
}

.aq-cal-side-card p {
  margin: 0 0 14px;
  color: #445672;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 800;
}

.aq-cal-guide {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.aq-cal-guide li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  color: #41526e;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 800;
}

.aq-cal-guide svg {
  width: 25px;
  height: 25px;
  color: #0b2756;
}

.aq-cal-guide strong {
  display: block;
  color: #10213d;
  font-size: 13px;
  font-weight: 900;
}

@media (max-width: 1240px) {
  .aq-cal-layout {
    grid-template-columns: 1fr;
  }

  .aq-cal-side {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .aq-cal-page-head {
    flex-direction: column;
  }

  .aq-cal-filterbar {
    grid-template-columns: 1fr 1fr;
  }

  .aq-cal-clear {
    grid-column: span 2;
  }

  .aq-cal-side {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body.aq-is-calendar .aq-subpage-wrap {
    padding: 78px 14px 28px !important;
  }

  .aq-cal-page-head h1 {
    font-size: 30px !important;
  }

  .aq-cal-page-head p {
    font-size: 14px;
  }

  .aq-cal-help {
    width: 100%;
  }

  .aq-cal-switch,
  .aq-cal-filterbar {
    grid-template-columns: 1fr;
  }

  .aq-cal-switch a {
    min-height: 52px;
    border-right: 0;
    border-bottom: 1px solid #d8e0ec;
  }

  .aq-cal-switch a:last-child {
    border-bottom: 0;
  }

  .aq-cal-clear {
    grid-column: auto;
  }

  .aq-cal-table-card {
    overflow-x: auto;
  }

  .aq-cal-year-table {
    min-width: 860px;
  }
}

/* ============================================================
   カレンダー系ページ: ブレッドクラム非表示・タブ形状修正
   ============================================================ */

/* 年間カレンダー・事務組合カレンダー: ブレッドクラム不要 */
body.aq-is-calendar .aq-breadcrumb,
body.aq-is-jimukumiai .aq-breadcrumb {
  display: none !important;
}

/* カレンダーページのタブ: 丸型→角丸矩形に変更（黒い丸を防止） */
body.aq-is-calendar .aq-subpage-tabs,
body.aq-is-jimukumiai .aq-subpage-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.aq-is-calendar .aq-subpage-tabs button,
body.aq-is-jimukumiai .aq-subpage-tabs button {
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 7px 14px !important;
  border: 1px solid #dce5ef !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: 0 1px 4px rgba(11,23,48,.06) !important;
}

body.aq-is-calendar .aq-subpage-tabs button.is-active,
body.aq-is-jimukumiai .aq-subpage-tabs button.is-active {
  background: #0b1730 !important;
  border-color: #0b1730 !important;
  color: #fff !important;
}

/* ============================================================
   補助金カレンダー (body.aq-is-subsidies)
   ============================================================ */

body.aq-is-subsidies .aq-breadcrumb { display: none !important; }

.aq-sub-wrap { background: #f4f6fb !important; }
.aq-sub-main { gap: 20px !important; }

/* ヘッダー */
.aq-sub-page-head {
  padding: 28px 0 8px;
}
.aq-sub-kicker {
  display: inline-block;
  padding: 4px 14px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
  border-radius: 999px;
  margin-bottom: 10px;
}
.aq-sub-page-head h1 {
  margin: 0 0 8px !important;
  color: #0b1730 !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.aq-sub-page-head p {
  margin: 0 !important;
  color: #475569;
  font-size: 15px;
  line-height: 1.7;
}

/* 今月バナー */
.aq-sub-today-banner {
  background: #0b1730;
  border-radius: 12px;
  color: #fff;
  padding: 14px 20px;
  font-size: 13px;
}
.aq-sub-today-inner { display: flex; align-items: flex-start; gap: 16px; }
.aq-sub-today-label {
  flex: 0 0 auto;
  background: rgba(255,255,255,.15);
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.aq-sub-today-inner ul {
  display: flex; flex-wrap: wrap; gap: 6px 20px;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.aq-sub-today-inner li { font-size: 13px; font-weight: 700; opacity: .9; }

/* フィルター */
.aq-sub-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(11,23,48,.05);
}
.aq-sub-filter-row select {
  height: 38px;
  padding: 0 12px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  background: #f8fafc;
  cursor: pointer;
  min-width: 130px;
}
.aq-sub-keyword-wrap {
  flex: 1;
  min-width: 200px;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #f8fafc;
}
.aq-sub-keyword-wrap svg { width: 16px; height: 16px; color: #94a3b8; flex-shrink: 0; }
.aq-sub-keyword-wrap input {
  flex: 1; border: 0; outline: 0; background: transparent;
  font-size: 13px; color: #334155;
}
.aq-sub-keyword-wrap input::placeholder { color: #94a3b8; }
.aq-sub-clear {
  height: 38px; padding: 0 14px;
  border: 1px solid #dce5ef; border-radius: 8px;
  background: #fff; color: #64748b;
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.aq-sub-clear:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }

/* Ganttラッパー */
.aq-sub-gantt-wrap {
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 14px;
  box-shadow: 0 3px 14px rgba(11,23,48,.07);
  overflow: hidden;
}
.aq-sub-gantt-legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px 18px 12px;
  border-bottom: 1px solid #eef1f6;
  background: #f8fafc;
}
.aq-sub-gantt-year {
  font-size: 15px;
  font-weight: 900;
  color: #0b1730;
}
.aq-sub-legend-items { display: flex; gap: 16px; flex-wrap: wrap; }
.aq-sub-legend-items .leg {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; color: #475569;
}
.aq-sub-legend-items .leg::before {
  content: ''; display: block; width: 28px; height: 8px; border-radius: 4px;
}
.aq-sub-legend-items .leg.prepare::before { background: #f59e0b; }
.aq-sub-legend-items .leg.apply::before { background: #3b82f6; }
.aq-sub-legend-items .leg.selection::before { background: #8b5cf6; }
.aq-sub-legend-items .leg.milestone::before { background: #ef4444; border-radius: 0; clip-path: polygon(50% 0%,100% 50%,50% 100%,0% 50%); }

/* Ganttグリッド */
.aq-sub-gantt { overflow-x: auto; }
.aq-sub-gantt-head {
  display: grid;
  grid-template-columns: 240px 1fr 80px;
  background: #f4f6fb;
  border-bottom: 2px solid #dce5ef;
  font-size: 12px; font-weight: 800; color: #64748b;
}
.aq-sub-col-label { padding: 10px 14px; border-right: 1px solid #eef1f6; }
.aq-sub-months-head {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  border-right: 1px solid #eef1f6;
}
.aq-sub-months-head span {
  text-align: center; padding: 10px 4px;
  border-right: 1px solid #eef1f6; font-size: 11px;
}
.aq-sub-months-head span:last-child { border-right: 0; }
.aq-sub-col-detail { padding: 10px 8px; text-align: center; }

/* Gantt行 */
.aq-sub-gantt-row {
  display: grid;
  grid-template-columns: 240px 1fr 80px;
  border-bottom: 1px solid #eef1f6;
  align-items: stretch;
  min-height: 58px;
}
.aq-sub-gantt-row:last-child { border-bottom: 0; }
.aq-sub-gantt-row:hover { background: #f8fafc; }

.aq-sub-col-label {
  padding: 10px 14px;
  border-right: 1px solid #eef1f6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  color: #0b1730;
}
.aq-sub-col-label strong {
  font-size: 14px; font-weight: 800; color: #0b1730 !important; line-height: 1.35;
}
.aq-sub-col-label small { font-size: 11px; color: #64748b !important; }

/* ステータスバッジ */
.aq-sub-badge {
  display: inline-flex; align-items: center;
  padding: 2px 9px; border-radius: 999px;
  font-size: 11px; font-weight: 800; width: fit-content;
}
.aq-sub-badge.open    { background: #dcfce7; color: #15803d; }
.aq-sub-badge.soon    { background: #fef9c3; color: #92400e; }
.aq-sub-badge.prepare { background: #dbeafe; color: #1d4ed8; }
.aq-sub-badge.closed  { background: #f1f5f9; color: #64748b; }

/* バーエリア */
.aq-sub-bar-area {
  position: relative;
  border-right: 1px solid #eef1f6;
  overflow: hidden;
}

/* 月区切り線 */
.aq-sub-bar-area::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: repeating-linear-gradient(
    90deg,
    transparent,
    transparent calc(100% / 12 - 1px),
    #eef1f6 calc(100% / 12 - 1px),
    #eef1f6 calc(100% / 12)
  );
  pointer-events: none;
}

/* バー */
.aq-gantt-bar {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  height: 14px; border-radius: 7px;
  z-index: 1;
}
.aq-gantt-bar.prepare { background: #f59e0b; }
.aq-gantt-bar.apply   { background: #3b82f6; }

/* マーカー */
.aq-gantt-marker {
  position: absolute;
  top: 50%; transform: translateX(-50%) translateY(-50%);
  font-size: 14px; line-height: 1; z-index: 1;
}
.aq-gantt-marker.selection span { color: #8b5cf6; }
.aq-gantt-marker.milestone span { color: #ef4444; }

/* 詳細ボタン */
.aq-sub-col-detail { text-align: center; padding: 8px; }
.aq-sub-detail-btn {
  padding: 5px 12px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  font-size: 12px; font-weight: 700; color: #334155;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(11,23,48,.06);
}
.aq-sub-detail-btn:hover { background: #0b1730; color: #fff; border-color: #0b1730; }

/* 下部グリッド */
.aq-sub-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.aq-sub-guide-card,
.aq-sub-cta-card {
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 14px;
  padding: 22px 24px;
  box-shadow: 0 2px 8px rgba(11,23,48,.05);
}
.aq-sub-guide-card h2,
.aq-sub-cta-card h2 {
  margin: 0 0 10px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #0b1730 !important;
}
.aq-sub-guide-card p,
.aq-sub-cta-card p {
  margin: 0 0 16px !important;
  font-size: 13px;
  color: #475569;
  line-height: 1.7;
}
.aq-sub-cta-btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  background: #0b1730;
  color: #fff !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
}
.aq-sub-cta-btn:hover { background: #1d4ed8 !important; }

/* モーダル */
.aq-sub-modal-overlay {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(0,0,0,.55);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.aq-sub-modal-overlay[hidden] { display: none; }
.aq-sub-modal {
  width: 100%; max-width: 580px; max-height: 88vh;
  display: flex; flex-direction: column;
  background: #fff; border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  overflow: hidden;
}
.aq-sub-modal-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 18px 20px; border-bottom: 1px solid #eef1f6;
}
.aq-sub-modal-head h2 {
  margin: 0 !important; font-size: 16px !important;
  font-weight: 900 !important; color: #0b1730 !important;
}
.aq-sub-modal-close {
  flex: 0 0 auto; width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid #dce5ef; border-radius: 8px;
  background: #f8fafc; cursor: pointer; color: #64748b;
}
.aq-sub-modal-close svg { width: 15px; height: 15px; }
.aq-sub-modal-body { flex: 1; overflow-y: auto; padding: 20px; }
.aq-sub-modal-dl { display: grid; grid-template-columns: 100px 1fr; gap: 8px 12px; }
.aq-sub-modal-dl dt { font-size: 12px; font-weight: 800; color: #64748b; padding-top: 2px; }
.aq-sub-modal-dl dd { margin: 0 !important; font-size: 14px; color: #0b1730; line-height: 1.6; }
.aq-sub-modal-src {
  display: inline-block; margin-top: 16px; padding: 8px 16px;
  border: 1px solid #dce5ef; border-radius: 8px;
  font-size: 13px; font-weight: 700; color: #1d4ed8 !important;
}
.aq-sub-modal-src:hover { background: #eff6ff; }
.aq-sub-empty { padding: 32px; text-align: center; color: #64748b; font-size: 14px; }

/* ------------------------------------------------------------
   アクエルドコンサルティング ブランドゾーン (補助金ページ)
   ------------------------------------------------------------ */

/* ① ヒーロー */
.aq-subcon-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 28px;
  align-items: center;
  background: linear-gradient(120deg, #123a5a 0%, #14524d 100%);
  border-radius: 18px;
  padding: 34px 38px;
  margin-top: 8px;
}
.aq-subcon-hero-copy { position: relative; z-index: 1; }
.aq-subcon-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.aq-subcon-badge {
  display: inline-flex; align-items: center;
  padding: 5px 13px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.32);
  color: #eafaf8;
  font-size: 12px; font-weight: 800;
  border-radius: 999px;
}
.aq-subcon-hero h1 {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.32 !important;
  letter-spacing: .01em;
}
.aq-subcon-hero-copy p {
  margin: 0 !important;
  color: #d6e6e4;
  font-size: 14.5px;
  line-height: 1.8;
}
.aq-subcon-hero-copy p strong { color: #fff; }
.aq-subcon-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.aq-subcon-btn {
  display: inline-flex; align-items: center;
  padding: 12px 22px;
  border-radius: 10px;
  font-size: 14px; font-weight: 800;
  text-decoration: none;
  transition: .18s;
}
.aq-subcon-btn.primary { background: #f0a500; color: #1f2937 !important; }
.aq-subcon-btn.primary:hover { background: #ffb71a; }
.aq-subcon-btn.ghost { background: rgba(255,255,255,.08); color: #fff !important; border: 1px solid rgba(255,255,255,.4); }
.aq-subcon-btn.ghost:hover { background: rgba(255,255,255,.18); }
.aq-subcon-cert {
  margin: 16px 0 0 !important;
  color: #9fc4c0 !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .02em;
}
.aq-subcon-hero-art { position: relative; z-index: 1; display: flex; justify-content: center; }
.aq-subcon-hero-art svg { width: 100%; max-width: 300px; height: auto; }

/* ② 強みカード */
.aq-subcon-strengths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.aq-subcon-card {
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 14px;
  padding: 22px 22px 24px;
  box-shadow: 0 2px 8px rgba(11,23,48,.05);
}
.aq-subcon-card-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 12px;
  margin-bottom: 14px;
}
.aq-subcon-card-icon svg { width: 24px; height: 24px; }
.aq-subcon-card-icon.a { background: #e6f4f3; color: #0f766e; }
.aq-subcon-card-icon.b { background: #fef3d8; color: #b45309; }
.aq-subcon-card-icon.c { background: #e0edf7; color: #1d4ed8; }
.aq-subcon-card h3 {
  margin: 0 0 10px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #0b1730 !important;
  line-height: 1.45 !important;
}
.aq-subcon-card p {
  margin: 0 !important;
  font-size: 13px;
  color: #475569;
  line-height: 1.75;
}
.aq-subcon-card p strong { color: #0f4f4a; }

/* ③ 使えるケース */
.aq-subcon-usecases {
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 14px;
  padding: 24px 26px;
  box-shadow: 0 2px 8px rgba(11,23,48,.05);
}
.aq-subcon-usecases h2 {
  margin: 0 0 16px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0b1730 !important;
}
.aq-subcon-uselist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
}
.aq-subcon-uselist li {
  display: flex; flex-direction: column; gap: 3px;
  background: #f4f8f7;
  border: 1px solid #e0ece9;
  border-left: 3px solid #177d78;
  border-radius: 10px;
  padding: 12px 14px;
}
.aq-subcon-uselist li strong { font-size: 13.5px; font-weight: 800; color: #0b1730; }
.aq-subcon-uselist li span { font-size: 12px; color: #0f766e; font-weight: 700; }
.aq-subcon-usenote { margin: 0 !important; font-size: 13px; color: #64748b; }
.aq-subcon-usenote a { color: #1d4ed8 !important; font-weight: 700; }

/* ⑤ 相談の流れ */
.aq-subcon-flow {
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 14px;
  padding: 24px 26px;
  box-shadow: 0 2px 8px rgba(11,23,48,.05);
}
.aq-subcon-flow h2 {
  margin: 0 0 18px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0b1730 !important;
}
.aq-subcon-flow-row { display: flex; align-items: stretch; gap: 6px; }
.aq-subcon-step {
  flex: 1;
  background: #f8fafc;
  border: 1px solid #e7eef5;
  border-radius: 12px;
  padding: 16px 14px;
  text-align: center;
}
.aq-subcon-step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: #123a5a; color: #fff;
  font-size: 14px; font-weight: 900;
  margin-bottom: 10px;
}
.aq-subcon-step strong { display: block; font-size: 14px; font-weight: 800; color: #0b1730; margin-bottom: 6px; }
.aq-subcon-step p { margin: 0 !important; font-size: 12px; color: #64748b; line-height: 1.6; }
.aq-subcon-flow-sep { display: flex; align-items: center; color: #cbd5e1; font-size: 22px; font-weight: 700; }

/* ⑥ CTA(コンサル) */
.aq-subcon-cta { background: linear-gradient(120deg, #123a5a 0%, #14524d 100%) !important; border-color: transparent !important; }
.aq-subcon-cta-tag {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.3);
  color: #eafaf8;
  font-size: 11px; font-weight: 800;
  border-radius: 999px;
  margin-bottom: 12px;
}
.aq-subcon-cta h2 { color: #fff !important; }
.aq-subcon-cta p { color: #d6e6e4 !important; }
.aq-subcon-cta p strong { color: #fff; }
.aq-subcon-cta .aq-sub-cta-btn { background: #f0a500; color: #1f2937 !important; }
.aq-subcon-cta .aq-sub-cta-btn:hover { background: #ffb71a !important; }

@media (max-width: 820px) {
  body.aq-is-subsidies .aq-subpage-wrap { padding: 16px 14px 40px; }
  .aq-sub-bottom-grid { grid-template-columns: 1fr; }
  .aq-sub-gantt-head,
  .aq-sub-gantt-row { grid-template-columns: 180px 1fr 60px; }
  .aq-sub-col-label strong { font-size: 12px; }
  .aq-sub-filter-row select { min-width: 110px; }

  .aq-subcon-hero { grid-template-columns: 1fr; padding: 26px 22px; }
  .aq-subcon-hero-art { display: none; }
  .aq-subcon-hero h1 { font-size: 25px !important; }
  .aq-subcon-strengths { grid-template-columns: 1fr; }
  .aq-subcon-flow-row { flex-direction: column; }
  .aq-subcon-flow-sep { justify-content: center; transform: rotate(90deg); }
}

/* 補助金カレンダー: サイドバー項目を確実に表示 */
body:not(.aq-is-home) a.aq-nav-item[data-nav="subsidies"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* カレンダー系ページのSVG circle: fill:noneのみ個別指定 */
body.aq-is-calendar .aq-cal-guide li svg circle,
body.aq-is-calendar .aq-cal-help svg circle,
body.aq-is-calendar .aq-cal-mini-link svg circle,
body.aq-is-calendar .aq-subpage-note svg circle,
body.aq-is-jimukumiai .aq-cal-guide li svg circle,
body.aq-is-jimukumiai .aq-cal-mini-link svg circle {
  fill: none !important;
}

/* 法改正ページ: 参照デザインに合わせた上書き */
body.aq-is-lawrev .aq-subpage-wrap {
  padding: 24px 28px 34px !important;
  background: #f5f8fc !important;
}

body.aq-is-lawrev .aq-subpage-main {
  max-width: 1530px !important;
  gap: 16px !important;
}

body.aq-is-lawrev .aq-lr-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px 320px !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 10px 0 0 !important;
}

body.aq-is-lawrev .aq-lr-head-left h1 {
  font-size: 36px !important;
  line-height: 1.15 !important;
  color: #0a1d3f !important;
}

body.aq-is-lawrev .aq-lr-head-left p {
  color: #1b2d4c !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 800 !important;
}

body.aq-is-lawrev .aq-lr-head-right {
  display: contents !important;
}

body.aq-is-lawrev .aq-lr-search {
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  border-radius: 9px !important;
}

body.aq-is-lawrev .aq-lr-search svg {
  order: 2;
  width: 21px !important;
  height: 21px !important;
  color: #0b2c67 !important;
}

body.aq-is-lawrev .aq-lr-search input {
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

body.aq-is-lawrev .aq-lr-guide-link {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 72px !important;
  padding: 12px 14px !important;
  border-color: #c7d5e8 !important;
  border-radius: 9px !important;
  background: #fff !important;
  text-decoration: none !important;
  transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

body.aq-is-lawrev .aq-lr-guide-link:hover {
  border-color: #07142d !important;
  box-shadow: 0 10px 22px rgba(15, 35, 70, .10) !important;
  transform: translateY(-1px);
}

body.aq-is-lawrev .aq-lr-guide-icon {
  background: #07142d !important;
  color: #fff !important;
}

body.aq-is-lawrev .aq-lr-guide-link > span:last-child {
  min-width: 0;
}

body.aq-is-lawrev .aq-lr-guide-link strong {
  color: #0b1730 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body.aq-is-lawrev .aq-lr-guide-link small {
  display: inline-flex;
  margin-top: 3px;
  color: #0f766e !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.aq-is-lawrev .aq-lr-section,
body.aq-is-lawrev .aq-lr-news-section,
body.aq-is-lawrev .aq-lr-timeline-section,
body.aq-is-lawrev .aq-lr-points-section,
body.aq-is-lawrev .aq-lr-impact-section {
  border-radius: 10px !important;
  box-shadow: 0 12px 28px rgba(15, 35, 70, .04) !important;
}

body.aq-is-lawrev .aq-lr-section-head h2 {
  font-size: 18px !important;
}

body.aq-is-lawrev .aq-lr-section-head h2 span {
  color: #164d9d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.aq-is-lawrev .aq-lr-featured-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.aq-is-lawrev .aq-lr-feat-card {
  height: 210px !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 8px !important;
  padding: 18px !important;
  overflow: hidden !important;
}

body.aq-is-lawrev .aq-lr-feat-card h3 {
  margin-bottom: 10px !important;
  font-size: 16px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.aq-is-lawrev .aq-lr-feat-card p {
  display: -webkit-box;
  flex-shrink: 0;
  overflow: hidden;
  font-size: 13px !important;
  line-height: 1.65 !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

body.aq-is-lawrev .aq-lr-feat-foot {
  margin-top: auto !important;
  padding-top: 8px !important;
}

body.aq-is-lawrev .aq-lr-badge.critical {
  background: #ffe5dd !important;
  color: #d95535 !important;
}

body.aq-is-lawrev .aq-lr-badge.caution {
  background: #fff1c9 !important;
  color: #a2690b !important;
}

body.aq-is-lawrev .aq-lr-badge.info {
  background: #dff4e8 !important;
  color: #12834c !important;
}

body.aq-is-lawrev .aq-lr-target {
  background: #fff2ed !important;
  color: #5b6678 !important;
}

body.aq-is-lawrev .aq-lr-mid-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body.aq-is-lawrev .aq-lr-news-section,
body.aq-is-lawrev .aq-lr-timeline-section {
  min-width: 0 !important;
}

body.aq-is-lawrev .aq-lr-news-table {
  table-layout: fixed !important;
}

body.aq-is-lawrev .aq-lr-news-table th,
body.aq-is-lawrev .aq-lr-news-table td {
  vertical-align: middle !important;
}

body.aq-is-lawrev .aq-lr-news-table th:nth-child(1) { width: 51%; }
body.aq-is-lawrev .aq-lr-news-table th:nth-child(2) { width: 13%; }
body.aq-is-lawrev .aq-lr-news-table th:nth-child(3) { width: 15%; }
body.aq-is-lawrev .aq-lr-news-table th:nth-child(4) { width: 14%; }
body.aq-is-lawrev .aq-lr-news-table th:nth-child(5) { width: 7%; }

body.aq-is-lawrev .aq-lr-news-row td {
  overflow: hidden;
}

body.aq-is-lawrev .aq-lr-news-cell,
body.aq-is-lawrev .aq-lr-news-cell > div {
  min-width: 0 !important;
}

body.aq-is-lawrev .aq-lr-news-cell strong {
  font-size: 13.5px !important;
}

body.aq-is-lawrev .aq-lr-news-cell small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #5d6f88 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.aq-is-lawrev .aq-lr-news-badge.new {
  background: #fff3df !important;
  color: #fb6b17 !important;
  border: 1px solid #ffc57f;
}

body.aq-is-lawrev .aq-lr-news-badge.updated {
  background: #e3f8e8 !important;
  color: #169653 !important;
  border: 1px solid #a9e5bb;
}

body.aq-is-lawrev .aq-lr-news-arrow {
  color: #1d4ed8;
  font-size: 22px !important;
  font-weight: 900;
  text-align: right;
}

body.aq-is-lawrev .aq-lr-timeline {
  overflow: hidden !important;
  padding: 18px 8px 4px !important;
}

body.aq-is-lawrev .aq-lr-tl-track {
  position: relative;
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(104px, 1fr);
  gap: 14px !important;
  min-width: 0 !important;
}

body.aq-is-lawrev .aq-lr-tl-track::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  height: 2px;
  background: #c6d8f0;
}

body.aq-is-lawrev .aq-lr-tl-track::after {
  content: "›";
  position: absolute;
  right: 0;
  top: 21px;
  color: #8babd8;
  font-size: 26px;
  font-weight: 900;
}

body.aq-is-lawrev .aq-lr-tl-month {
  position: relative;
  min-width: 0 !important;
  padding: 0 8px 0 0 !important;
}

body.aq-is-lawrev .aq-lr-tl-label {
  margin-bottom: 18px !important;
  color: #10213d !important;
  font-size: 13px !important;
}

body.aq-is-lawrev .aq-lr-tl-dot {
  position: absolute;
  top: 29px;
  left: 0;
  z-index: 1;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  background: #4f87d3 !important;
  box-shadow: 0 0 0 3px rgba(79,135,211,.16) !important;
}

body.aq-is-lawrev .aq-lr-tl-items {
  gap: 10px !important;
  padding-top: 10px !important;
}

body.aq-is-lawrev .aq-lr-tl-item {
  position: relative;
  padding: 0 0 0 16px !important;
  background: transparent !important;
  color: #1d2f4c !important;
  font-size: 12px !important;
}

body.aq-is-lawrev .aq-lr-tl-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4f87d3;
}

body.aq-is-lawrev .aq-lr-tl-item.critical::before { background: #f06a3a; }
body.aq-is-lawrev .aq-lr-tl-item.caution::before { background: #4f87d3; }
body.aq-is-lawrev .aq-lr-tl-item.info::before { background: #39a66a; }

body.aq-is-lawrev .aq-lr-timeline-link {
  display: flex !important;
  width: min(330px, 100%) !important;
  justify-content: center !important;
  margin: 22px auto 0 !important;
}

body.aq-is-lawrev .aq-lr-bottom-grid {
  grid-template-columns: 1.45fr 1fr !important;
}

body.aq-is-lawrev .aq-lr-impact-section {
  background: linear-gradient(135deg, #fff8df, #fff 72%) !important;
}

body.aq-is-lawrev .aq-lr-cta-bar {
  min-height: 58px !important;
  border-radius: 10px !important;
  background: #eaf3ff !important;
  color: #164d9d !important;
}

body.aq-is-lawrev .aq-lr-cta-bar > span {
  color: #164d9d !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.aq-is-lawrev .aq-lr-cta-bar strong {
  color: #164d9d !important;
}

body.aq-is-lawrev .aq-lr-cta-btn-primary,
body.aq-is-lawrev .aq-lr-cta-btn-bot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 210px;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
}

body.aq-is-lawrev .aq-lr-cta-btn-primary {
  border: 1px solid #c9d8ea;
  background: #fff !important;
  color: #0d244b !important;
}

body.aq-is-lawrev .aq-lr-cta-btn-bot {
  background: #07142d !important;
  color: #fff !important;
}

body.aq-is-lawrev .aq-lr-cta-btn-bot svg {
  width: 19px;
  height: 19px;
}

body.aq-is-lawrev .aq-lr-source-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 18px;
  padding: 0 18px;
  border: 1px solid #c9d8ea;
  border-radius: 8px;
  background: #f7fbff;
  color: #164d9d !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

body.aq-is-lawrev .aq-lr-source-link::after {
  content: "↗";
  margin-left: 8px;
}

@media (max-width: 1320px) {
  body.aq-is-lawrev .aq-lr-head,
  body.aq-is-lawrev .aq-lr-mid-grid,
  body.aq-is-lawrev .aq-lr-bottom-grid {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-lawrev .aq-lr-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.aq-is-lawrev .aq-subpage-wrap {
    padding: 78px 14px 28px !important;
  }

  body.aq-is-lawrev .aq-lr-head-left h1 {
    font-size: 32px !important;
  }

  body.aq-is-lawrev .aq-lr-featured-grid {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-lawrev .aq-lr-feat-card {
    height: auto !important;
    min-height: 170px !important;
  }

  body.aq-is-lawrev .aq-lr-tl-track {
    grid-auto-columns: 190px;
    overflow-x: auto;
  }

  body.aq-is-lawrev .aq-lr-cta-bar {
    align-items: stretch !important;
  }

  body.aq-is-lawrev .aq-lr-cta-btn-primary,
  body.aq-is-lawrev .aq-lr-cta-btn-bot {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ============================================================
   FAQ layout: compact guide without AI bot
   ============================================================ */
body.aq-is-faq .aq-breadcrumb {
  display: none !important;
}

body.aq-is-faq .aq-subpage-wrap {
  padding: 24px 28px 34px !important;
  background: #f5f8fc !important;
}

body.aq-is-faq .aq-subpage-main {
  max-width: 1530px !important;
  gap: 16px !important;
}

.aq-faq-v2,
.aq-faq-v2 * {
  box-sizing: border-box;
}

.aq-faq-v2 {
  color: #0b1b38;
}

.aq-faq-v2 svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-faq-v2-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.aq-faq-v2-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 410px 300px;
  gap: 18px;
  align-items: center;
}

.aq-faq-v2-title h1 {
  margin: 0 !important;
  color: #0a1d3f !important;
  font-size: 42px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.aq-faq-v2-title h1 span {
  display: inline-block;
  font-size: 23px;
}

.aq-faq-v2-title p {
  margin: 14px 0 0;
  color: #1b2d4c;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 800;
}

.aq-faq-v2-search {
  position: relative;
  display: block;
}

.aq-faq-v2-search input {
  width: 100%;
  min-height: 54px;
  padding: 0 54px 0 18px;
  border: 1px solid #cbd6e7;
  border-radius: 9px;
  background: #fff;
  color: #0c1f3d;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  outline: none;
  box-shadow: 0 8px 24px rgba(15, 35, 70, .04);
}

.aq-faq-v2-search input:focus {
  border-color: #4f86d8;
  box-shadow: 0 0 0 3px rgba(37, 102, 185, .12);
}

.aq-faq-v2-search span {
  position: absolute;
  right: 17px;
  top: 50%;
  color: #0b2c67;
  font-size: 22px;
  transform: translateY(-50%);
}

.aq-faq-v2-guide,
.aq-faq-v2-feature-row article,
.aq-faq-v2-cats,
.aq-faq-v2-list-panel,
.aq-faq-v2-rank,
.aq-faq-v2-consult,
.aq-faq-v2-request,
.aq-faq-v2-note {
  border: 1px solid #d6e0ec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 35, 70, .04);
}

.aq-faq-v2-guide {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 3px 14px;
  align-items: center;
  min-height: 72px;
  padding: 14px 18px;
  color: #12428e !important;
  text-decoration: none !important;
}

.aq-faq-v2-guide span {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: #eef5ff;
  color: #2b6dcc;
  font-size: 28px;
}

.aq-faq-v2-guide strong {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 900;
}

.aq-faq-v2-guide small {
  color: #24599e;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.aq-faq-v2-feature-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.aq-faq-v2-feature-row article {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 18px;
  min-height: 170px;
  padding: 26px 28px;
  border-radius: 0;
  border-left-width: 0;
}

.aq-faq-v2-feature-row article:first-child {
  border-left-width: 1px;
  border-radius: 8px 0 0 8px;
}

.aq-faq-v2-feature-row article:last-child {
  border-radius: 0 8px 8px 0;
}

.aq-faq-v2-feature-icon {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: linear-gradient(135deg, #edf4ff, #e4eefc);
  color: #2d6dcc;
  font-size: 33px;
}

.aq-faq-v2-feature-row h2 {
  margin: 0 0 10px !important;
  color: #10213d !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}

.aq-faq-v2-feature-row p,
.aq-faq-v2-feature-row li {
  color: #233955;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 800;
}

.aq-faq-v2-feature-row ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aq-faq-v2-feature-row li {
  position: relative;
  padding-left: 18px;
}

.aq-faq-v2-feature-row li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 4px;
  border-left: 2px solid #31a867;
  border-bottom: 2px solid #31a867;
  transform: rotate(-45deg);
}

.aq-faq-v2-feature-row button,
.aq-faq-v2-feature-row a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 12px;
  border: 0;
  background: transparent;
  color: #175db5 !important;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  cursor: pointer;
}

.aq-faq-v2-feature-row button::after {
  content: "→";
}

.aq-faq-v2-feature-row a {
  min-height: 40px;
  padding: 0 22px;
  border: 1px solid #ccd9eb;
  border-radius: 6px;
  background: #fff;
  color: #0d244b !important;
}

.aq-faq-v2-cats {
  padding: 18px 22px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.aq-faq-v2-cats header,
.aq-faq-v2-rank h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.aq-faq-v2-cats header {
  margin-bottom: 14px;
}

.aq-faq-v2-cats h2,
.aq-faq-v2-rank h2,
.aq-faq-v2-consult h2,
.aq-faq-v2-request h2 {
  margin: 0 !important;
  color: #0b1b38 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.aq-faq-v2-cats header button {
  border: 0;
  background: transparent;
  color: #1a5fb4;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-v2-cats header button::after {
  content: "›";
  margin-left: 6px;
}

.aq-faq-v2-cat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  max-width: 100%;
}

.aq-faq-v2-cat {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 6px;
  align-items: center;
  min-height: 36px;
  padding: 5px 8px;
  border: 1px solid #d6e0ec;
  border-radius: 6px;
  background: #fff;
  color: #112544;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.aq-faq-v2-cat.is-active,
.aq-faq-v2-cat:hover {
  border-color: #82addf;
  background: #f3f8ff;
}

.aq-faq-v2-cat span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: #eaf3ff;
  color: #286cc8;
  font-size: 13px;
}

.aq-faq-v2-cat strong {
  color: #122848;
  font-size: 11.5px;
  line-height: 1.2;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.aq-faq-v2-cat small,
.aq-faq-v2-cat i {
  display: none;
}

.aq-faq-v2-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 18px;
  align-items: start;
}

.aq-faq-v2-list-panel {
  overflow: hidden;
}

.aq-faq-v2-tabs {
  display: flex;
  gap: 0;
  min-height: 56px;
  padding: 0 16px;
  border-bottom: 1px solid #dbe5f1;
}

.aq-faq-v2-tabs button {
  position: relative;
  min-width: 190px;
  border: 0;
  background: transparent;
  color: #233955;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-v2-tabs button.is-active {
  color: #0c3c90;
}

.aq-faq-v2-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 4px;
  background: #226ad6;
}

.aq-faq-v2-list {
  display: grid;
  gap: 10px;
  padding: 14px 16px 0;
}

.aq-faq-v2-item {
  overflow: hidden;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  background: #fff;
}

.aq-faq-v2-q {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto 22px;
  gap: 12px;
  align-items: center;
  min-height: 48px;
  padding: 10px 14px;
  border: 0;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.aq-faq-v2-q > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid #c8dcf7;
  border-radius: 6px;
  background: #f4f9ff;
  color: #2367c2;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-v2-q strong {
  color: #0e274a;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 900;
}

.aq-faq-v2-q em {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  min-width: 220px;
  font-style: normal;
}

.aq-faq-v2-q b {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid #d3deec;
  border-radius: 6px;
  background: #f5f8fc;
  color: #60718a;
  font-size: 11px;
  font-weight: 900;
}

.aq-faq-v2-q i {
  position: relative;
  width: 18px;
  height: 18px;
}

.aq-faq-v2-q i::before,
.aq-faq-v2-q i::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: #0f326a;
}

.aq-faq-v2-q i::before {
  left: 3px;
  transform: rotate(45deg);
}

.aq-faq-v2-q i::after {
  right: 2px;
  transform: rotate(-45deg);
}

.aq-faq-v2-item.is-open .aq-faq-v2-q i::before {
  transform: rotate(-45deg);
}

.aq-faq-v2-item.is-open .aq-faq-v2-q i::after {
  transform: rotate(45deg);
}

.aq-faq-v2-a {
  display: none;
  padding: 0 18px 18px 58px;
  border-top: 1px solid #edf2f7;
  background: #fbfdff;
}

.aq-faq-v2-item.is-open .aq-faq-v2-a {
  display: block;
}

.aq-faq-v2-a > div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 10px;
  color: #17395f;
  font-size: 13px;
  font-weight: 900;
}

.aq-faq-v2-a > div span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e7f2ff;
  color: #1d5eb3;
}

.aq-faq-v2-a section {
  color: #33445d;
  font-size: 13px;
  line-height: 1.8;
  font-weight: 700;
}

.aq-faq-v2-a h3 {
  position: relative;
  margin: 16px 0 8px !important;
  padding: 6px 0 6px 14px !important;
  border-left: 4px solid #1d64d8 !important;
  background: linear-gradient(90deg, #eaf2ff 0%, rgba(234,242,255,0) 80%) !important;
  color: #0b2a6b !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}
.aq-faq-v2-a h3:first-child {
  margin-top: 4px !important;
}

.aq-faq-v2-a p {
  margin: 7px 0 0;
}

.aq-faq-v2-a ul {
  margin: 7px 0 0;
  padding-left: 18px;
}

.aq-faq-v2-a li {
  margin: 3px 0;
}

.aq-faq-v2-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: min(430px, calc(100% - 32px));
  min-height: 52px;
  margin: 44px auto 30px;
  border: 1px solid #c9d8ea;
  border-radius: 8px;
  background: #fff;
  color: #0f3677;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.aq-faq-v2-empty {
  margin: 0;
  padding: 28px;
  color: #60718a;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
}

.aq-faq-v2-side {
  display: grid;
  gap: 14px;
}

.aq-faq-v2-rank,
.aq-faq-v2-consult,
.aq-faq-v2-request {
  padding: 22px;
}

.aq-faq-v2-rank h2 {
  margin-bottom: 14px !important;
}

.aq-faq-v2-rank div {
  display: grid;
  gap: 8px;
}

.aq-faq-v2-rank button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 45px;
  padding: 9px 10px;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.aq-faq-v2-rank button span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #d9a948;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.aq-faq-v2-rank button:nth-child(n+2) span {
  background: #a8b5c7;
}

.aq-faq-v2-rank button:nth-child(n+4) span {
  background: #cfd8e5;
  color: #51647f;
}

.aq-faq-v2-rank strong {
  color: #112544;
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 900;
}

.aq-faq-v2-rank small {
  padding: 4px 8px;
  border: 1px solid #d7e2f0;
  border-radius: 6px;
  background: #f8fbff;
  color: #506781;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.aq-faq-v2-consult {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 116px;
  gap: 12px;
  align-items: end;
  background: linear-gradient(135deg, #fff6dc, #fff 72%);
}

.aq-faq-v2-request {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 10px;
  align-items: end;
  background: linear-gradient(135deg, #eef7ff, #fff 72%);
}

.aq-faq-v2-consult p,
.aq-faq-v2-request p {
  margin: 12px 0;
  color: #344861;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 800;
}

.aq-faq-v2-consult a,
.aq-faq-v2-request a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #c8d6e8;
  border-radius: 8px;
  background: #fff;
  color: #0d244b !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

.aq-faq-v2-consult > span,
.aq-faq-v2-request > span {
  display: grid;
  place-items: center;
  color: #2f65b8;
  font-size: 78px;
}

.aq-faq-v2-request > span {
  color: #5a89cc;
  font-size: 64px;
}

.aq-faq-v2-note {
  margin: 0;
  padding: 13px 18px;
  color: #24599e;
  font-size: 12.5px;
  line-height: 1.5;
  font-weight: 800;
  background: #eaf3ff;
}

.aq-faq-v2-note::before {
  content: "i";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 1px solid #6da1e4;
  border-radius: 50%;
  color: #2367c2;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1420px) {
  .aq-faq-v2-head {
    grid-template-columns: 1fr 390px;
  }

  .aq-faq-v2-guide {
    grid-column: 1 / -1;
  }

  .aq-faq-v2-cat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .aq-faq-v2-content {
    grid-template-columns: 1fr;
  }

  .aq-faq-v2-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1040px) {
  .aq-faq-v2-head,
  .aq-faq-v2-feature-row,
  .aq-faq-v2-side {
    grid-template-columns: 1fr;
  }

  .aq-faq-v2-feature-row article,
  .aq-faq-v2-feature-row article:first-child,
  .aq-faq-v2-feature-row article:last-child {
    border-left-width: 1px;
    border-radius: 8px;
  }
}

@media (max-width: 760px) {
  body.aq-is-faq .aq-subpage-wrap {
    padding: 78px 14px 28px !important;
  }

  .aq-faq-v2-title h1 {
    font-size: 35px !important;
  }

  .aq-faq-v2-title h1 span {
    font-size: 20px;
  }

  .aq-faq-v2-feature-row article {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 0;
    padding: 20px 18px;
  }

  .aq-faq-v2-feature-icon {
    width: 52px;
    height: 52px;
    font-size: 27px;
  }

  .aq-faq-v2-cat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aq-faq-v2-tabs {
    overflow-x: auto;
    padding: 0 10px;
  }

  .aq-faq-v2-tabs button {
    min-width: 170px;
  }

  .aq-faq-v2-q {
    grid-template-columns: 30px minmax(0, 1fr) 20px;
  }

  .aq-faq-v2-q em {
    grid-column: 2 / 3;
    justify-content: flex-start;
    min-width: 0;
  }

  .aq-faq-v2-q i {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .aq-faq-v2-a {
    padding: 0 14px 16px;
  }

  .aq-faq-v2-consult,
  .aq-faq-v2-request {
    grid-template-columns: 1fr;
  }

  .aq-faq-v2-consult > span,
  .aq-faq-v2-request > span {
    display: none;
  }
}

/* ============================================================
   法改正情報ページ (body.aq-is-lawrev)
   ============================================================ */

body.aq-is-lawrev .aq-breadcrumb { display: none !important; }
.aq-lr-wrap { background: #f4f6fb !important; }
.aq-lr-main { gap: 18px !important; }

/* ヘッダー */
.aq-lr-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 20px; padding: 20px 0 4px; flex-wrap: wrap;
}
.aq-lr-head-left h1 {
  margin: 0 0 6px !important; color: #0b1730 !important;
  font-size: 30px !important; font-weight: 900 !important;
}
.aq-lr-head-left p { margin: 0 !important; font-size: 14px; color: #475569; }
.aq-lr-head-right { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.aq-lr-search {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 16px; width: 340px;
  background: #fff; border: 1px solid #dce5ef; border-radius: 10px;
  box-shadow: 0 2px 6px rgba(11,23,48,.05);
}
.aq-lr-search svg { width: 16px; height: 16px; color: #94a3b8; flex-shrink: 0; }
.aq-lr-search input { flex: 1; border: 0; outline: 0; background: transparent; font-size: 13px; color: #334155; }
.aq-lr-search input::placeholder { color: #94a3b8; }
.aq-lr-guide-link {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; background: #fff;
  border: 1px solid #dce5ef; border-radius: 10px;
  box-shadow: 0 2px 6px rgba(11,23,48,.05);
}
.aq-lr-guide-icon {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  background: #eff6ff; border-radius: 8px; color: #1d4ed8; flex-shrink: 0;
}
.aq-lr-guide-icon svg { width: 18px; height: 18px; }
.aq-lr-guide-link strong { display: block; font-size: 13px; font-weight: 800; color: #0b1730; }
.aq-lr-guide-link small { font-size: 11px; color: #1d4ed8; }

/* セクション共通 */
.aq-lr-section, .aq-lr-news-section, .aq-lr-timeline-section,
.aq-lr-points-section, .aq-lr-impact-section {
  background: #fff; border: 1px solid #dce5ef;
  border-radius: 14px; padding: 20px 22px;
  box-shadow: 0 2px 10px rgba(11,23,48,.06);
}
.aq-lr-section-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.aq-lr-section-head h2 {
  margin: 0 !important; font-size: 18px !important; font-weight: 900 !important; color: #0b1730 !important;
}
.aq-lr-section-head h2 span { font-size: 13px; font-weight: 700; color: #475569; margin-left: 8px; }
.aq-lr-see-all {
  font-size: 13px; font-weight: 700; color: #1d4ed8;
  border: 0; background: transparent; cursor: pointer; padding: 0;
}

/* 重要度バッジ */
.aq-lr-badge {
  display: inline-flex; align-items: center;
  padding: 2px 8px; border-radius: 4px;
  font-size: 11px; font-weight: 800;
}
.aq-lr-badge.critical { background: #fee2e2; color: #b91c1c; }
.aq-lr-badge.caution  { background: #fef3c7; color: #92400e; }
.aq-lr-badge.info     { background: #dbeafe; color: #1d4ed8; }

/* 注目の法改正 */
.aq-lr-featured-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px;
}
.aq-lr-feat-card {
  border: 1px solid #dce5ef; border-radius: 12px; padding: 16px;
  background: #fff; cursor: pointer;
  transition: box-shadow .14s, transform .14s;
}
.aq-lr-feat-card:hover { box-shadow: 0 6px 20px rgba(11,23,48,.12); transform: translateY(-2px); }
.aq-lr-feat-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.aq-lr-feat-date { font-size: 11px; color: #64748b; font-weight: 700; }
.aq-lr-feat-card h3 { margin: 0 0 6px !important; font-size: 14px !important; font-weight: 900 !important; color: #0b1730 !important; line-height: 1.4 !important; }
.aq-lr-feat-card p { margin: 0 0 12px !important; font-size: 12px; color: #475569; line-height: 1.55; }
.aq-lr-feat-foot { display: flex; align-items: center; justify-content: space-between; }
.aq-lr-target { font-size: 11px; font-weight: 700; color: #64748b; background: #f1f5f9; padding: 2px 8px; border-radius: 999px; }
.aq-lr-arrow { color: #1d4ed8; font-size: 16px; font-weight: 700; }

/* 新着 + カレンダー */
.aq-lr-mid-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.aq-lr-news-table-wrap { overflow-x: auto; }
.aq-lr-news-table { width: 100%; border-collapse: collapse; }
.aq-lr-news-table th {
  padding: 8px 10px; background: #f4f6fb; color: #64748b;
  font-size: 11px; font-weight: 800; text-align: left;
  border-bottom: 1px solid #dce5ef;
}
.aq-lr-news-row { cursor: pointer; border-bottom: 1px solid #eef1f6; }
.aq-lr-news-row:hover { background: #f8fafc; }
.aq-lr-news-row td { padding: 10px 10px; font-size: 13px; vertical-align: middle; }
.aq-lr-news-cell { display: flex; align-items: flex-start; gap: 8px; }
.aq-lr-news-cell strong { display: block; font-size: 13px; font-weight: 800; color: #0b1730; line-height: 1.35; }
.aq-lr-news-cell small { font-size: 11px; color: #64748b; }
.aq-lr-news-badge { display: inline-flex; align-items: center; padding: 1px 7px; border-radius: 4px; font-size: 10px; font-weight: 800; white-space: nowrap; flex-shrink: 0; }
.aq-lr-news-badge.new { background: #dbeafe; color: #1d4ed8; }
.aq-lr-news-badge.updated { background: #dcfce7; color: #15803d; }
.aq-lr-news-date, .aq-lr-news-target { font-size: 12px; color: #64748b; white-space: nowrap; }

/* タイムライン */
.aq-lr-timeline-section h2 small { font-size: 12px; font-weight: 700; color: #64748b; margin-left: 4px; }
.aq-lr-timeline { overflow-x: auto; padding-bottom: 8px; }
.aq-lr-tl-track { display: flex; gap: 0; min-width: max-content; }
.aq-lr-tl-month { min-width: 120px; padding-right: 12px; }
.aq-lr-tl-label { font-size: 12px; font-weight: 800; color: #334155; margin-bottom: 8px; }
.aq-lr-tl-dot { width: 10px; height: 10px; border-radius: 50%; background: #1d4ed8; margin-bottom: 8px; box-shadow: 0 0 0 3px rgba(29,78,216,.15); }
.aq-lr-tl-items { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex; flex-direction: column; gap: 6px; }
.aq-lr-tl-item { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 6px; line-height: 1.4; }
.aq-lr-tl-item.critical { background: #fee2e2; color: #b91c1c; }
.aq-lr-tl-item.caution  { background: #fef3c7; color: #92400e; }
.aq-lr-tl-item.info     { background: #dbeafe; color: #1d4ed8; }
.aq-lr-timeline-link {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 14px;
  padding: 8px 14px; border: 1px solid #dce5ef; border-radius: 8px;
  font-size: 13px; font-weight: 700; color: #334155 !important; background: #f8fafc;
}
.aq-lr-timeline-link svg { width: 16px; height: 16px; }
.aq-lr-timeline-link:hover { background: #eff6ff; color: #1d4ed8 !important; border-color: #bfdbfe; }

/* ポイント解説 + 影響確認 */
.aq-lr-bottom-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.aq-lr-points-section h2, .aq-lr-impact-section h2 {
  margin: 0 0 14px !important; font-size: 18px !important; font-weight: 900 !important; color: #0b1730 !important;
}
.aq-lr-points-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; align-items: start; }
.aq-lr-pf-badge { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.aq-lr-pf-label { font-size: 11px; font-weight: 800; color: #64748b; }
.aq-lr-point-featured h3 { margin: 0 0 8px !important; font-size: 15px !important; font-weight: 900 !important; color: #0b1730 !important; line-height: 1.4 !important; }
.aq-lr-point-featured p { margin: 0 0 14px !important; font-size: 13px; color: #475569; line-height: 1.65; }
.aq-lr-pf-btn {
  padding: 8px 16px; border-radius: 8px; border: 1px solid #dce5ef;
  background: #fff; font-size: 13px; font-weight: 700; color: #334155;
  cursor: pointer; box-shadow: 0 1px 4px rgba(11,23,48,.06);
}
.aq-lr-pf-btn:hover { background: #0b1730; color: #fff; border-color: #0b1730; }
.aq-lr-point-list { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex; flex-direction: column; gap: 0; }
.aq-lr-point-list li {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px; border-bottom: 1px solid #eef1f6;
  font-size: 13px; font-weight: 700; color: #0b1730;
  cursor: pointer; border-radius: 0;
}
.aq-lr-point-list li:first-child { border-radius: 8px 8px 0 0; }
.aq-lr-point-list li:last-child { border-bottom: 0; border-radius: 0 0 8px 8px; }
.aq-lr-point-list li:hover { background: #f8fafc; }
.aq-lr-point-list li span { color: #1d4ed8; font-size: 14px; }

/* 影響確認 */
.aq-lr-impact-section p { margin: 0 0 14px !important; font-size: 13px; color: #475569; }
.aq-lr-impact-list { margin: 0 0 16px !important; padding: 0 !important; list-style: none !important; display: flex; flex-direction: column; gap: 8px; }
.aq-lr-impact-list li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #334155; }
.aq-lr-impact-list li svg { width: 16px; height: 16px; color: #16a34a; flex-shrink: 0; }
.aq-lr-impact-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; border-radius: 10px; background: #0b1730;
  color: #fff !important; font-size: 14px; font-weight: 800;
}
.aq-lr-impact-btn svg { width: 16px; height: 16px; }
.aq-lr-impact-btn:hover { background: #1d4ed8 !important; }

/* CTAバー */
.aq-lr-cta-bar {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 14px 20px; background: #0b1730; border-radius: 12px;
  color: #fff; font-size: 13px;
}
.aq-lr-cta-bar > svg { width: 18px; height: 18px; flex-shrink: 0; color: #fbbf24; }
.aq-lr-cta-bar > span { flex: 1; }
.aq-lr-cta-bar strong { color: #93c5fd; }
.aq-lr-cta-btn-outline {
  padding: 8px 16px; border: 1px solid rgba(255,255,255,.4); border-radius: 8px;
  color: #fff !important; font-size: 13px; font-weight: 800; white-space: nowrap;
}
.aq-lr-cta-btn-outline:hover { background: rgba(255,255,255,.1) !important; }
.aq-lr-cta-btn-primary {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; background: #1d4ed8; border-radius: 8px;
  color: #fff !important; font-size: 13px; font-weight: 800; white-space: nowrap;
}
.aq-lr-cta-btn-primary svg { width: 16px; height: 16px; }
.aq-lr-cta-btn-primary:hover { background: #1e40af !important; }

/* モーダル */
.aq-lr-modal-overlay {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(0,0,0,.55);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.aq-lr-modal-overlay[hidden] { display: none; }
.aq-lr-modal {
  width: 100%; max-width: 580px; max-height: 88vh;
  display: flex; flex-direction: column;
  background: #fff; border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden;
}
.aq-lr-modal-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 18px 20px; border-bottom: 1px solid #eef1f6;
}
.aq-lr-modal-head h2 { margin: 0 !important; font-size: 16px !important; font-weight: 900 !important; color: #0b1730 !important; }
.aq-lr-modal-close {
  flex: 0 0 auto; width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid #dce5ef; border-radius: 8px;
  background: #f8fafc; cursor: pointer; color: #64748b;
}
.aq-lr-modal-close svg { width: 15px; height: 15px; }
.aq-lr-modal-body { flex: 1; overflow-y: auto; padding: 20px; }
.aq-lr-modal-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; align-items: center; }
.aq-lr-modal-cat, .aq-lr-modal-date, .aq-lr-modal-target {
  font-size: 12px; font-weight: 700; color: #64748b;
  background: #f1f5f9; padding: 3px 10px; border-radius: 999px;
}
.aq-lr-modal-summary { font-size: 14px; color: #334155; line-height: 1.75; margin-bottom: 18px; }
.aq-lr-modal-actions h4 { margin: 0 0 8px !important; font-size: 14px !important; font-weight: 800 !important; color: #0b1730 !important; }
.aq-lr-modal-actions ul { margin: 0 !important; padding: 0 0 0 16px !important; }
.aq-lr-modal-actions li { font-size: 13px; color: #334155; line-height: 1.7; margin-bottom: 4px; }

@media (max-width: 1100px) {
  .aq-lr-featured-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .aq-lr-mid-grid { grid-template-columns: 1fr; }
  .aq-lr-bottom-grid { grid-template-columns: 1fr; }
  .aq-lr-points-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  body.aq-is-lawrev .aq-subpage-wrap { padding: 16px 14px 40px; }
  .aq-lr-head { flex-direction: column; }
  .aq-lr-head-right { align-items: stretch; width: 100%; }
  .aq-lr-search { width: 100%; }
  .aq-lr-featured-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   助成金早見表 v2
   ============================================================ */
body.aq-is-josei .aq-breadcrumb { display: none !important; }
.aq-jl2-wrap { background: #f4f6fb !important; }
.aq-jl2-main { gap: 16px !important; }
.aq-jl2-hero { display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#0b1730 0%,#1e3a6e 100%);border-radius:16px;padding:28px 32px;overflow:hidden;min-height:140px; }
.aq-jl2-kicker { display:inline-flex;align-items:center;padding:3px 12px;background:rgba(255,255,255,.15);border-radius:999px;color:rgba(255,255,255,.9);font-size:12px;font-weight:700;margin-bottom:8px; }
.aq-jl2-hero h1 { margin:0 0 8px !important;color:#fff !important;font-size:32px !important;font-weight:900 !important;line-height:1.15 !important; }
.aq-jl2-hero-body p { margin:0 !important;color:rgba(255,255,255,.82);font-size:13px;line-height:1.65; }
.aq-jl2-hero-illust { flex:0 0 150px;height:110px; }
.aq-jl2-hero-illust svg { width:100%;height:100%; }
.aq-jl2-feats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.aq-jl2-feat { display:flex;align-items:center;gap:12px;padding:13px 14px;background:#fff;border:1px solid #dce5ef;border-radius:12px;box-shadow:0 2px 8px rgba(11,23,48,.05); }
.aq-jl2-feat-icon { flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px; }
.aq-jl2-feat-icon svg { width:17px;height:17px; }
.aq-jl2-feat-icon.blue{background:#dbeafe;color:#1d4ed8}.aq-jl2-feat-icon.green{background:#dcfce7;color:#16a34a}.aq-jl2-feat-icon.orange{background:#fef3c7;color:#d97706}.aq-jl2-feat-icon.purple{background:#ede9fe;color:#7c3aed}
.aq-jl2-feat strong { display:block;font-size:12px;font-weight:800;color:#0b1730; }
.aq-jl2-feat small  { display:block;font-size:11px;color:#64748b;line-height:1.4;margin-top:2px; }
.aq-jl2-filter-card { background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:16px 18px;box-shadow:0 2px 8px rgba(11,23,48,.05);display:flex;flex-direction:column;gap:10px; }
.aq-jl2-filters { display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px; }
.aq-jl2-kw-wrap { display:flex;align-items:center;border:1px solid #dce5ef;border-radius:8px;background:#f8fafc;padding:0 12px;height:40px; }
.aq-jl2-kw-wrap input { flex:1;border:0;outline:0;background:transparent;font-size:13px;color:#334155; }
.aq-jl2-kw-wrap input::placeholder { color:#94a3b8;font-size:12px; }
.aq-jl2-filters select { height:40px;padding:0 10px;border:1px solid #dce5ef;border-radius:8px;background:#f8fafc;font-size:13px;font-weight:600;color:#334155;cursor:pointer; }
.aq-jl2-filter-actions { display:flex;gap:10px;justify-content:flex-end; }
.aq-jl2-search-btn { display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 18px;background:#0b1730;color:#fff;border:0;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer; }
.aq-jl2-search-btn svg { width:15px;height:15px; }
.aq-jl2-search-btn:hover { background:#1d4ed8; }
.aq-jl2-clear-btn { height:40px;padding:0 14px;border:1px solid #dce5ef;border-radius:8px;background:#fff;font-size:13px;font-weight:700;color:#64748b;cursor:pointer; }
.aq-jl2-table-section { background:#fff;border:1px solid #dce5ef;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(11,23,48,.06); }
.aq-jl2-table-head { display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #eef1f6; }
.aq-jl2-table-head h2 { margin:0 !important;font-size:17px !important;font-weight:900 !important;color:#0b1730 !important; }
.aq-jl2-table-head h2 span { font-size:13px;font-weight:700;color:#64748b;margin-left:6px; }
.aq-jl2-status-legend { display:flex;gap:12px;font-size:12px;font-weight:700;color:#64748b; }
.aq-jl2-table-wrap { overflow-x:auto; }
.aq-jl2-table { width:100%;border-collapse:collapse; }
.aq-jl2-table th { padding:9px 11px;background:#f4f6fb;color:#475569;font-size:11px;font-weight:800;text-align:left;border-bottom:1px solid #dce5ef;white-space:nowrap; }
.aq-jl2-row { cursor:pointer;border-bottom:1px solid #eef1f6; }
.aq-jl2-row:last-child { border-bottom:0; }
.aq-jl2-row:hover { background:#f8fafc; }
.aq-jl2-row td { padding:11px 11px;font-size:13px;vertical-align:middle; }
.aq-jl2-name > div { display:flex;flex-direction:column;gap:4px; }
.aq-jl2-name span { font-size:13px;font-weight:800;color:#0b1730;line-height:1.4; }
.aq-jl2-purpose,.aq-jl2-target { font-size:12px;color:#475569; }
.aq-jl2-amount { font-size:13px;font-weight:800;color:#0b1730;white-space:nowrap; }
.aq-jl2-rate,.aq-jl2-deadline { font-size:12px;color:#64748b;white-space:nowrap; }
.aq-jl2-st { display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap; }
.aq-jl2-st.open{background:#dcfce7;color:#15803d}.aq-jl2-st.soon{background:#fef9c3;color:#92400e}.aq-jl2-st.anytime{background:#f1f5f9;color:#64748b}
.aq-jl2-detail-btn { padding:4px 10px;border:1px solid #dce5ef;border-radius:6px;background:#fff;font-size:11px;font-weight:700;color:#1d4ed8;cursor:pointer;white-space:nowrap; }
.aq-jl2-detail-btn:hover { background:#eff6ff;border-color:#bfdbfe; }
.aq-jl2-more-wrap { padding:14px;text-align:center;border-top:1px solid #eef1f6; }
.aq-jl2-more-btn { padding:9px 24px;border:2px solid #0b1730;border-radius:8px;background:#fff;font-size:13px;font-weight:800;color:#0b1730;cursor:pointer; }
.aq-jl2-more-btn:hover { background:#0b1730;color:#fff; }
.aq-jl2-bottom-grid { display:grid;grid-template-columns:1fr 1.4fr;gap:14px; }
.aq-jl2-tips,.aq-jl2-purpose { background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(11,23,48,.05); }
.aq-jl2-tips h2,.aq-jl2-purpose h2 { margin:0 0 12px !important;font-size:17px !important;font-weight:900 !important;color:#0b1730 !important; }
.aq-jl2-tips-list { margin:0 0 14px !important;padding:0 !important;list-style:none !important;display:flex;flex-direction:column;gap:8px; }
.aq-jl2-tips-list li { display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#334155; }
.aq-jl2-tips-list li svg { width:15px;height:15px;color:#16a34a;flex-shrink:0;margin-top:2px; }
.aq-jl2-tips-btn { display:inline-flex;align-items:center;gap:8px;padding:9px 16px;background:#0b1730;color:#fff !important;border-radius:8px;font-size:13px;font-weight:800; }
.aq-jl2-tips-btn svg { width:14px;height:14px; }
.aq-jl2-tips-btn:hover { background:#1d4ed8 !important; }
.aq-jl2-purpose-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px; }
.aq-jl2-purpose-grid button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 6px;text-align:center;background:#f4f6fb;border:1px solid #dce5ef;border-radius:10px;font-size:11px;font-weight:800;color:#334155;cursor:pointer;line-height:1.3; }
.aq-jl2-purpose-grid button svg { width:20px;height:20px;color:#1d4ed8; }
.aq-jl2-purpose-grid button:hover { background:#dbeafe;border-color:#93c5fd;color:#1d4ed8; }
.aq-jl2-purpose-all { display:block;width:100%;padding:7px;text-align:center;background:#f4f6fb;border:1px solid #dce5ef;border-radius:8px;font-size:12px;font-weight:700;color:#1d4ed8;cursor:pointer; }
.aq-jl2-purpose-all:hover { background:#dbeafe; }
.aq-jl2-cta-bar { display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 22px;background:#0b1730;border-radius:14px;color:#fff; }
.aq-jl2-cta-text { flex:1; }
.aq-jl2-cta-text strong { display:block;font-size:14px;font-weight:900;color:#fff; }
.aq-jl2-cta-text small { font-size:11px;color:rgba(255,255,255,.7); }
.aq-jl2-cta-phone,.aq-jl2-cta-form { display:flex;align-items:center;gap:10px;padding:11px 16px;background:#fff;border-radius:10px;color:#0b1730 !important;min-width:160px; }
.aq-jl2-cta-phone svg,.aq-jl2-cta-form svg { width:18px;height:18px;flex-shrink:0;color:#1d4ed8; }
.aq-jl2-cta-phone strong,.aq-jl2-cta-form strong { display:block;font-size:13px;font-weight:900;color:#0b1730; }
.aq-jl2-cta-phone small,.aq-jl2-cta-form small { font-size:11px;color:#64748b; }
.aq-jl2-cta-phone:hover,.aq-jl2-cta-form:hover { background:#eff6ff !important; }
.aq-jl2-modal-overlay { position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px; }
.aq-jl2-modal-overlay[hidden] { display:none; }
.aq-jl2-modal { width:100%;max-width:720px;max-height:88vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.35);overflow:hidden; }
.aq-jl2-modal-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #eef1f6;background:#f8fafc; }
.aq-jl2-modal-head h2 { margin:0 !important;font-size:15px !important;font-weight:900 !important;color:#0b1730 !important;line-height:1.4 !important; }
.aq-jl2-modal-head button { flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #dce5ef;border-radius:8px;background:#fff;cursor:pointer;color:#64748b; }
.aq-jl2-modal-head button svg { width:14px;height:14px; }
.aq-jl2-modal-body { flex:1;min-height:0;overflow-y:auto;padding:18px; }
.aq-jl2-modal-meta { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center; }
.aq-jl2-modal-cat,.aq-jl2-modal-amount { font-size:12px;font-weight:700;background:#f1f5f9;color:#64748b;padding:3px 10px;border-radius:999px; }
.aq-jl2-footnote { margin:0 !important;padding:8px 4px;font-size:11px;color:#94a3b8;text-align:center;line-height:1.6; }
@media (max-width:1100px) {
  .aq-jl2-feats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aq-jl2-filters { grid-template-columns:1fr 1fr; }
  .aq-jl2-bottom-grid { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  body.aq-is-josei .aq-subpage-wrap { padding:13px 12px 32px; }
  .aq-jl2-hero { flex-direction:column;padding:20px 18px; }
  .aq-jl2-hero-illust { display:none; }
  .aq-jl2-feats { grid-template-columns:1fr; }
  .aq-jl2-filters { grid-template-columns:1fr; }
  .aq-jl2-purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aq-jl2-cta-bar { flex-direction:column; }
  .aq-jl2-cta-phone,.aq-jl2-cta-form { width:100%; }
}

/* 法改正ページ: スクリーンショットに合わせた下部イラスト */
body.aq-is-lawrev .aq-lr-points-section,
body.aq-is-lawrev .aq-lr-impact-section {
  position: relative !important;
  overflow: hidden !important;
}

body.aq-is-lawrev .aq-lr-bottom-grid {
  align-items: start !important;
}

body.aq-is-lawrev .aq-lr-points-layout {
  grid-template-columns: minmax(0, 1fr) minmax(104px, 150px) minmax(220px, .95fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

body.aq-is-lawrev .aq-lr-points-illust {
  align-self: center;
  justify-self: center;
  width: min(150px, 100%);
  max-height: 112px;
  object-fit: contain;
  margin: 0;
  pointer-events: none;
}

body.aq-is-lawrev .aq-lr-point-featured p {
  margin-bottom: 10px !important;
}

body.aq-is-lawrev .aq-lr-point-list li {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

body.aq-is-lawrev .aq-lr-impact-section {
  min-height: 196px !important;
  padding-right: 170px !important;
}

body.aq-is-lawrev .aq-lr-impact-illust {
  position: absolute;
  right: 20px;
  bottom: 18px;
  width: 132px;
  max-width: 32%;
  pointer-events: none;
}

body.aq-is-lawrev .aq-lr-impact-btn {
  position: relative;
  z-index: 1;
  min-width: 260px;
  justify-content: center;
}

@media (max-width: 1180px) {
  body.aq-is-lawrev .aq-lr-points-layout {
    grid-template-columns: minmax(0, 1fr) minmax(96px, 140px) minmax(220px, .95fr) !important;
  }
}

@media (max-width: 820px) {
  body.aq-is-lawrev .aq-lr-points-layout {
    grid-template-columns: 1fr !important;
  }

  body.aq-is-lawrev .aq-lr-points-illust {
    width: min(220px, 70%);
    margin: 4px auto 0;
  }

  body.aq-is-lawrev .aq-lr-impact-section {
    padding-right: 18px !important;
  }

  body.aq-is-lawrev .aq-lr-impact-illust {
    position: static;
    display: block;
    width: min(210px, 68%);
    max-width: none;
    margin: 4px auto 12px;
  }

  body.aq-is-lawrev .aq-lr-impact-btn {
    width: 100%;
    min-width: 0;
  }
}

/* ============================================================
   Contact page
   ============================================================ */

body.aq-is-contact {
  margin-left: 0 !important;
  background: #f3f6fb !important;
}

body.aq-is-contact .aq-breadcrumb {
  display: none !important;
}

body.aq-is-contact .aq-subpage-wrap {
  padding: 28px 28px 48px !important;
}

body.aq-is-contact .aq-contact-main {
  max-width: 1440px !important;
  gap: 18px !important;
}

.aq-contact-page svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aq-contact-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 42%);
  min-height: 328px;
  gap: 28px;
  padding: 34px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background:
    radial-gradient(circle at 48% 34%, rgba(37, 99, 235, .24), transparent 35%),
    linear-gradient(135deg, #07142d 0%, #0c2e68 58%, #0a4c8f 100%);
  color: #fff;
  box-shadow: 0 10px 28px rgba(11, 23, 48, .12);
  overflow: hidden;
}

.aq-contact-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.aq-contact-kicker {
  width: fit-content;
  padding: 7px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #dbeafe;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.aq-contact-hero h1 {
  margin: 20px 0 12px !important;
  color: #fff !important;
  font-size: 42px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.aq-contact-hero p {
  max-width: 720px;
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  font-weight: 700;
}

.aq-contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.aq-contact-primary,
.aq-contact-secondary,
.aq-contact-map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}

.aq-contact-primary {
  background: #fff;
  color: #0b3f8f !important;
  border: 1px solid #fff;
}

.aq-contact-secondary {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.08);
}

.aq-contact-primary:hover,
.aq-contact-secondary:hover {
  transform: translateY(-1px);
}

.aq-contact-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.aq-contact-hero-visual {
  position: relative;
  min-height: 260px;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
}

.aq-contact-hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
}

.aq-contact-hero-visual figcaption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(7,20,45,.78);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
}

.aq-contact-route-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.aq-contact-route-card,
.aq-contact-panel,
.aq-contact-flow-panel,
.aq-contact-bottom-cta {
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(11, 23, 48, .06);
}

.aq-contact-route-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 138px;
  padding: 18px;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.aq-contact-route-card:hover {
  transform: translateY(-2px);
  border-color: #b8c7dc;
  box-shadow: 0 10px 24px rgba(11, 23, 48, .1);
}

.aq-contact-route-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  color: #fff;
}

.aq-contact-route-phone .aq-contact-route-icon { background: #1d4ed8; }
.aq-contact-route-mail .aq-contact-route-icon { background: #16a34a; }
.aq-contact-route-form .aq-contact-route-icon { background: #8a1c24; }
.aq-contact-route-chat .aq-contact-route-icon { background: #906a3b; }

.aq-contact-route-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.aq-contact-route-body strong {
  color: #0b1730;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.aq-contact-route-body em {
  color: #0f4eb3;
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.aq-contact-route-body small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.aq-contact-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .85fr);
  gap: 14px;
}

.aq-contact-panel {
  padding: 24px;
}

.aq-contact-section-head {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 16px;
}

.aq-contact-section-head span {
  color: #1d64d8;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.aq-contact-section-head h2 {
  margin: 0 !important;
  color: #0b1730 !important;
  font-size: 23px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.aq-contact-lead {
  margin: 0 0 18px !important;
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  font-weight: 700;
}

.aq-contact-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.aq-contact-topic-grid article {
  min-height: 144px;
  padding: 18px;
  border: 1px solid #e1e8f2;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.aq-contact-topic-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
  border-radius: 8px;
}

.aq-contact-topic-icon.blue { color: #1d4ed8; background: #dbeafe; }
.aq-contact-topic-icon.green { color: #15803d; background: #dcfce7; }
.aq-contact-topic-icon.orange { color: #c2410c; background: #ffedd5; }
.aq-contact-topic-icon.purple { color: #6d28d9; background: #ede9fe; }

.aq-contact-topic-grid h3 {
  margin: 0 0 7px !important;
  color: #0b1730 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.aq-contact-topic-grid p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  font-weight: 700;
}

.aq-contact-office dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid #e5eaf2;
}

.aq-contact-office dl div {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #e5eaf2;
}

.aq-contact-office dt {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.aq-contact-office dd {
  margin: 0;
  color: #0b1730;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.65;
}

.aq-contact-office dd a {
  color: #0f4eb3 !important;
  overflow-wrap: anywhere;
}

.aq-contact-map-link {
  width: 100%;
  margin-top: 18px;
  border: 1px solid #0b1730;
  background: #0b1730;
  color: #fff !important;
}

.aq-contact-flow-panel {
  padding: 24px;
}

.aq-contact-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aq-contact-flow li {
  position: relative;
  min-height: 132px;
  padding: 18px 18px 18px 70px;
  border: 1px solid #e1e8f2;
  border-radius: 8px;
  background: #f8fbff;
}

.aq-contact-flow li span {
  position: absolute;
  left: 18px;
  top: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #1d4ed8;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}

.aq-contact-flow li strong {
  display: block;
  margin-bottom: 7px;
  color: #0b1730;
  font-size: 17px;
  font-weight: 900;
}

.aq-contact-flow li small {
  display: block;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.aq-contact-bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #edf5ff 0%, #fff 60%, #fff7ed 100%);
}

.aq-contact-bottom-cta span {
  display: block;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}

.aq-contact-bottom-cta strong {
  display: block;
  margin-top: 4px;
  color: #0b1730;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
}

.aq-contact-bottom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.aq-contact-bottom-actions a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 8px;
  border: 1px solid #0b1730;
  background: #fff;
  color: #0b1730 !important;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.aq-contact-bottom-actions a:first-child {
  background: #0b1730;
  color: #fff !important;
}

@media (max-width: 1180px) {
  .aq-contact-hero,
  .aq-contact-content-grid {
    grid-template-columns: 1fr;
  }

  .aq-contact-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.aq-is-contact .aq-subpage-wrap {
    padding: 16px 14px 36px !important;
  }

  .aq-contact-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 24px 20px;
    gap: 20px;
  }

  .aq-contact-hero h1 {
    font-size: 32px !important;
  }

  .aq-contact-hero p {
    font-size: 15px !important;
  }

  .aq-contact-hero-visual,
  .aq-contact-hero-visual img {
    min-height: 210px;
  }

  .aq-contact-route-grid,
  .aq-contact-topic-grid,
  .aq-contact-flow {
    grid-template-columns: 1fr;
  }

  .aq-contact-content-grid {
    grid-template-columns: 1fr;
  }

  .aq-contact-panel,
  .aq-contact-flow-panel {
    padding: 18px;
  }

  .aq-contact-route-card {
    min-height: 124px;
  }

  .aq-contact-bottom-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .aq-contact-bottom-actions {
    justify-content: stretch;
  }

  .aq-contact-bottom-actions a {
    flex: 1 1 180px;
  }
}

/* ============================================================
   Home: external LP recommendation carousel
   ============================================================ */

body.aq-is-home .aq-recommend-strip {
  width: 100% !important;
  min-width: 0 !important;
  margin: -2px -2px 0 !important;
  padding: 2px 2px 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-gutter: stable !important;
}

body.aq-is-home .aq-recommend-strip:focus {
  outline: 2px solid rgba(29, 100, 216, .28) !important;
  outline-offset: 2px !important;
}

body.aq-is-home .aq-recommend-strip::-webkit-scrollbar {
  height: 10px !important;
}

body.aq-is-home .aq-recommend-strip::-webkit-scrollbar-track {
  background: #eef3f8 !important;
  border-radius: 999px !important;
}

body.aq-is-home .aq-recommend-strip::-webkit-scrollbar-thumb {
  background: #b8c7da !important;
  border: 2px solid #eef3f8 !important;
  border-radius: 999px !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-grid {
  width: max-content !important;
  max-width: none !important;
  display: flex !important;
  grid-template-columns: none !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card {
  position: relative !important;
  flex: 0 0 220px !important;
  width: 220px !important;
  min-height: 156px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 12px 13px 11px !important;
  border: 1px solid #d8e3f0 !important;
  border-top: 4px solid #2563eb !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #13213a !important;
  text-decoration: none !important;
  box-shadow: 0 5px 16px rgba(11, 23, 48, .08) !important;
  scroll-snap-align: start !important;
  overflow: hidden !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card:hover,
body.aq-is-home .aq-recommend-strip .aq-recommend-card:focus-visible {
  border-color: #9bb5d5 !important;
  box-shadow: 0 8px 22px rgba(11, 23, 48, .13) !important;
  transform: translateY(-1px) !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card:focus-visible {
  outline: 2px solid rgba(29, 100, 216, .35) !important;
  outline-offset: 2px !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card > * {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card.aq-tag-navy {
  border-top-color: #2563eb !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card.aq-tag-wine {
  border-top-color: #b91c1c !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card.aq-tag-gold {
  border-top-color: #d97706 !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-meta time {
  color: #7b8ba1 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-tag {
  width: auto !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-tag.navy {
  color: #245bb4 !important;
  background: #e8f1ff !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-tag.wine {
  color: #9f1d1d !important;
  background: #fee7e7 !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-tag.gold {
  color: #8a570c !important;
  background: #fff3cf !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-icon {
  display: none !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-icon::before {
  content: none !important;
  display: none !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card strong {
  min-height: 38px !important;
  margin-top: 0 !important;
  padding-right: 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  color: #13213a !important;
  font-size: 13.2px !important;
  font-weight: 900 !important;
  line-height: 1.42 !important;
  overflow-wrap: anywhere !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-card p {
  min-height: 36px !important;
  margin: 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  color: #475569 !important;
  font-size: 11.4px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-link {
  position: static !important;
  inset: auto !important;
  min-height: 24px !important;
  margin-top: auto !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  align-self: flex-start !important;
  color: #0f4eb3 !important;
  font-size: 11.8px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.aq-is-home .aq-recommend-strip .aq-recommend-link svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 auto !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 820px) {
  body.aq-is-home .aq-recommend-strip .aq-recommend-card {
    flex-basis: min(72vw, 260px) !important;
    width: min(72vw, 260px) !important;
  }
}

@media (max-width: 560px) {
  body.aq-is-home .aq-recommend-strip .aq-recommend-card {
    flex-basis: min(78vw, 260px) !important;
    width: min(78vw, 260px) !important;
    min-height: 154px !important;
  }
}

/* ============================================================
   News: curated external LP archive
   ============================================================ */

body.aq-is-news .aq-breadcrumb {
  display: none !important;
}

body.aq-is-news {
  overflow-x: hidden;
}

body.aq-is-news .aq-subpage-wrap {
  width: auto;
  margin-left: var(--aq-sidebar-w);
  padding-top: 28px;
  overflow-x: clip;
}

body.aq-is-news .aq-news-page {
  max-width: 1180px;
  gap: 18px;
}

body.aq-is-news #aq-news-wrap,
body.aq-is-news .aq-news-page,
body.aq-is-news .aq-news-hero,
body.aq-is-news .aq-news-toolbar,
body.aq-is-news .aq-news-list,
body.aq-is-news .aq-news-card,
body.aq-is-news .aq-news-consult {
  min-width: 0;
}

body.aq-is-news .aq-news-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  padding: 30px 34px;
  box-shadow: 0 3px 14px rgba(15, 23, 42, .04);
}

body.aq-is-news .aq-news-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 7px 14px;
  border: 1px solid #cbe5ea;
  border-radius: 999px;
  background: #f1fbfb;
  color: #177d78;
  font-size: 12px;
  font-weight: 900;
}

body.aq-is-news .aq-news-hero h1 {
  margin: 0 0 14px !important;
  color: #123a5a !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.aq-is-news .aq-news-hero p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.9;
}

body.aq-is-news .aq-news-stats {
  display: grid;
  grid-template-columns: 128px 168px;
  gap: 12px;
}

body.aq-is-news .aq-news-stat {
  min-height: 96px;
  padding: 17px;
  border: 1px solid #d9e8f0;
  border-radius: 16px;
  background: #f4fafd;
}

body.aq-is-news .aq-news-stat.amber {
  border-color: #f1dfb8;
  background: #fffbeb;
}

body.aq-is-news .aq-news-stat span {
  display: block;
  color: #2679a6;
  font-size: 11px;
  font-weight: 900;
}

body.aq-is-news .aq-news-stat.amber span {
  color: #92620f;
}

body.aq-is-news .aq-news-stat strong {
  display: block;
  margin-top: 10px;
  color: #123a5a;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.05;
}

body.aq-is-news .aq-news-stat.amber strong {
  font-size: 22px;
  white-space: nowrap;
}

body.aq-is-news .aq-news-stat strong small {
  margin-left: 2px;
  font-size: 13px;
}

body.aq-is-news .aq-news-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #fff;
}

body.aq-is-news .aq-news-toolbar-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
}

body.aq-is-news .aq-news-toolbar-title span {
  color: #2679a6;
  font-size: 11px;
  font-weight: 900;
}

body.aq-is-news .aq-news-toolbar-title strong {
  color: #123a5a;
  font-size: 15px;
  font-weight: 900;
}

body.aq-is-news .aq-news-tabs {
  justify-content: flex-end;
}

body.aq-is-news #aq-news-wrap .aq-subpage-tabs label.aq-news-tab {
  min-height: 36px;
  padding: 8px 16px;
  border-color: #d9e4ef;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
}

body.aq-is-news #aq-news-wrap #news-cat-all:checked ~ main .aq-subpage-tabs label[for="news-cat-all"],
body.aq-is-news #aq-news-wrap #news-cat-josei:checked ~ main .aq-subpage-tabs label[for="news-cat-josei"],
body.aq-is-news #aq-news-wrap #news-cat-hojo:checked ~ main .aq-subpage-tabs label[for="news-cat-hojo"],
body.aq-is-news #aq-news-wrap #news-cat-law:checked ~ main .aq-subpage-tabs label[for="news-cat-law"] {
  background: #123a5a;
  border-color: #123a5a;
  color: #fff;
}

body.aq-is-news .aq-news-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.aq-is-news .aq-news-card {
  display: flex;
  flex-direction: column;
  min-height: 300px;
  max-width: 100%;
  padding: 20px;
  border: 1px solid #dbe3ee;
  border-top: 4px solid #2563eb;
  border-left: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
  overflow: hidden;
}

body.aq-is-news .aq-news-card.aq-tag-navy {
  border-top-color: #2563eb;
}

body.aq-is-news .aq-news-card.aq-tag-wine {
  border-top-color: #b91c1c;
}

body.aq-is-news .aq-news-card.aq-tag-gold {
  border-top-color: #d97706;
}

body.aq-is-news .aq-news-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

body.aq-is-news .aq-news-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f1f5f9;
  font-size: 18px;
}

body.aq-is-news .aq-news-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.aq-is-news .aq-news-date {
  color: #7b8ba1;
  font-size: 12px;
  font-weight: 850;
}

body.aq-is-news .aq-news-cat {
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f1ff;
  color: #245bb4;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

body.aq-is-news .aq-news-card.aq-tag-wine .aq-news-cat {
  background: #fee7e7;
  color: #9f1d1d;
}

body.aq-is-news .aq-news-card.aq-tag-gold .aq-news-cat {
  background: #fff3cf;
  color: #8a570c;
}

body.aq-is-news .aq-news-title {
  margin: 0 0 10px !important;
  color: #0f253f !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.48 !important;
  overflow-wrap: anywhere;
}

body.aq-is-news .aq-news-lead {
  margin: 0 0 14px;
  color: #475569;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.aq-is-news .aq-news-detail {
  margin: 0 0 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  overflow: hidden;
}

body.aq-is-news .aq-news-detail summary {
  position: relative;
  min-height: 42px;
  padding: 12px 42px 12px 14px;
  color: #123a5a;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

body.aq-is-news .aq-news-detail summary::-webkit-details-marker {
  display: none;
}

body.aq-is-news .aq-news-detail summary::after {
  content: "+";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #2679a6;
  font-size: 18px;
  font-weight: 900;
}

body.aq-is-news .aq-news-detail[open] summary::after {
  content: "-";
}

body.aq-is-news .aq-news-body {
  padding: 0 14px 14px;
  color: #334155;
  font-size: 13.5px;
  line-height: 1.75;
}

body.aq-is-news .aq-news-body h4 {
  margin: 12px 0 8px !important;
  padding-bottom: 5px;
  border-bottom: 1px solid #dbe3ee;
  color: #123a5a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.aq-is-news .aq-news-body ul,
body.aq-is-news .aq-news-body ol {
  margin-bottom: 12px;
}

body.aq-is-news .aq-news-body li {
  padding: 3px 0 3px 20px;
  font-size: 13.5px;
  line-height: 1.7;
}

body.aq-is-news .aq-news-body ul > li::before {
  left: 6px;
  top: 12px;
  width: 5px;
  height: 5px;
}

body.aq-is-news .aq-news-note {
  margin-top: 10px !important;
  padding: 10px 12px;
  border-left: 3px solid #d97706;
  border-radius: 8px;
  background: #fff8e1;
  color: #7c2d12;
  font-size: 12.5px;
  line-height: 1.7;
}

body.aq-is-news .aq-news-card a.aq-news-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  align-self: flex-start;
  min-height: 40px;
  margin-top: auto;
  padding: 10px 16px;
  border-radius: 9px;
  background: #123a5a;
  color: #fff !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  transition: background .16s ease, transform .16s ease;
}

body.aq-is-news .aq-news-card a.aq-news-link:hover {
  background: #0b2740;
  transform: translateY(-1px);
}

body.aq-is-news .aq-news-card a.aq-news-link svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.aq-is-news .aq-news-consult {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 4px;
  padding: 22px 24px;
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  background: #fff;
}

body.aq-is-news .aq-news-consult h2 {
  margin: 0 0 8px !important;
  color: #123a5a !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
}

body.aq-is-news .aq-news-consult p {
  margin: 0;
  color: #64748b;
  font-size: 13.5px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.aq-is-news .aq-news-consult a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 20px;
  border-radius: 9px;
  background: #123a5a;
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
}

@media (max-width: 1100px) {
  body.aq-is-news .aq-news-hero {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.aq-is-news .aq-news-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.aq-is-news .aq-subpage-wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0;
    padding: 16px 14px 40px;
  }

  body.aq-is-news .aq-news-hero {
    padding: 24px 20px;
    border-radius: 14px;
  }

  body.aq-is-news .aq-news-hero h1 {
    font-size: 28px !important;
  }

  body.aq-is-news .aq-news-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  body.aq-is-news .aq-news-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }

  body.aq-is-news .aq-news-list {
    grid-template-columns: 1fr;
  }

  body.aq-is-news .aq-news-card {
    min-height: 0;
  }

  body.aq-is-news .aq-news-consult {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  body.aq-is-news .aq-news-hero h1 {
    font-size: 24px !important;
  }

  body.aq-is-news .aq-news-stats {
    grid-template-columns: 1fr;
  }

  body.aq-is-news .aq-news-stat {
    min-height: 82px;
  }

  body.aq-is-news .aq-news-card {
    padding: 18px 16px;
  }
}

/* ============================================================
   Office letter archive
   ============================================================ */

body.aq-is-office-letter {
  margin-left: 0 !important;
  overflow-x: hidden;
  background: #f3f6fb !important;
}

body.aq-is-office-letter .aq-breadcrumb {
  display: none !important;
}

body.aq-is-office-letter .aq-subpage-wrap {
  width: auto;
  min-height: 100vh;
  margin-left: var(--aq-sidebar-w);
  padding: 28px 24px 56px 28px;
  background: #f3f6fb;
  overflow-x: clip;
}

body.aq-is-office-letter #acuerdo-footer {
  width: auto;
  margin-left: var(--aq-sidebar-w);
}

body.aq-is-office-letter .aq-office-main {
  max-width: 1180px;
  gap: 18px;
}

body.aq-is-office-letter #aq-office-wrap,
body.aq-is-office-letter .aq-office-main,
body.aq-is-office-letter .aq-office-hero,
body.aq-is-office-letter .aq-office-filter,
body.aq-is-office-letter .aq-office-archive,
body.aq-is-office-letter .aq-office-month,
body.aq-is-office-letter .aq-office-card,
body.aq-is-office-letter .aq-office-note {
  min-width: 0;
}

body.aq-is-office-letter .aq-office-type-radio {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}

body.aq-is-office-letter .aq-office-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  padding: 30px 34px;
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(15, 23, 42, .04);
}

body.aq-is-office-letter .aq-office-eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  padding: 7px 14px;
  border: 1px solid #cbe5ea;
  border-radius: 999px;
  background: #f1fbfb;
  color: #177d78;
  font-size: 12px;
  font-weight: 900;
}

body.aq-is-office-letter .aq-office-hero h1 {
  margin: 0 0 14px !important;
  color: #123a5a !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.aq-is-office-letter .aq-office-hero p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.9;
}

body.aq-is-office-letter .aq-office-stats {
  display: grid;
  grid-template-columns: repeat(3, 118px);
  gap: 12px;
}

body.aq-is-office-letter .aq-office-stat {
  min-height: 96px;
  padding: 17px;
  border: 1px solid #d9e8f0;
  border-radius: 16px;
  background: #f4fafd;
}

body.aq-is-office-letter .aq-office-stat.teal {
  border-color: #d5ece9;
  background: #f5fcfb;
}

body.aq-is-office-letter .aq-office-stat.amber {
  border-color: #f1dfb8;
  background: #fffbeb;
}

body.aq-is-office-letter .aq-office-stat span {
  display: block;
  color: #2679a6;
  font-size: 11px;
  font-weight: 900;
}

body.aq-is-office-letter .aq-office-stat.teal span {
  color: #177d78;
}

body.aq-is-office-letter .aq-office-stat.amber span {
  color: #92620f;
}

body.aq-is-office-letter .aq-office-stat strong {
  display: block;
  margin-top: 10px;
  color: #123a5a;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.1;
}

body.aq-is-office-letter .aq-office-stat strong small {
  margin-left: 2px;
  font-size: 13px;
}

body.aq-is-office-letter .aq-office-filter,
body.aq-is-office-letter .aq-office-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #fff;
}

body.aq-is-office-letter .aq-office-filter-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

body.aq-is-office-letter .aq-office-filter-title span,
body.aq-is-office-letter .aq-office-section-head p {
  margin: 0;
  color: #2679a6;
  font-size: 11px;
  font-weight: 900;
}

body.aq-is-office-letter .aq-office-filter-title strong {
  color: #123a5a;
  font-size: 15px;
  font-weight: 900;
}

body.aq-is-office-letter .aq-office-tabs {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

body.aq-is-office-letter .aq-office-tab {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border: 1px solid #d9e4ef;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

body.aq-is-office-letter #office-type-all:checked ~ main label[for="office-type-all"],
body.aq-is-office-letter #office-type-general:checked ~ main label[for="office-type-general"],
body.aq-is-office-letter #office-type-medical:checked ~ main label[for="office-type-medical"],
body.aq-is-office-letter #office-type-care:checked ~ main label[for="office-type-care"] {
  border-color: #123a5a;
  background: #123a5a;
  color: #fff;
}

body.aq-is-office-letter #office-type-general:checked ~ main .aq-office-card:not([data-kind="general"]),
body.aq-is-office-letter #office-type-medical:checked ~ main .aq-office-card:not([data-kind="medical"]),
body.aq-is-office-letter #office-type-care:checked ~ main .aq-office-card:not([data-kind="care"]) {
  display: none;
}

body.aq-is-office-letter .aq-office-archive {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.aq-is-office-letter .aq-office-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 4px 0;
}

body.aq-is-office-letter .aq-office-section-head h2 {
  margin: 4px 0 0 !important;
  color: #123a5a !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

body.aq-is-office-letter .aq-office-section-head > span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

body.aq-is-office-letter .aq-office-month {
  padding: 20px;
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(15, 23, 42, .04);
}

body.aq-is-office-letter .aq-office-month-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}

body.aq-is-office-letter .aq-office-month-head h2 {
  margin: 0 !important;
  color: #123a5a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

body.aq-is-office-letter .aq-office-month-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

body.aq-is-office-letter .aq-office-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.aq-is-office-letter .aq-office-card {
  display: flex;
  flex-direction: column;
  min-height: 220px;
  max-width: 100%;
  padding: 18px;
  border: 1px solid #dbe3ee;
  border-top: 4px solid #2563eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
  overflow: hidden;
}

body.aq-is-office-letter .aq-office-card.aq-office-medical {
  border-top-color: #0f8a83;
}

body.aq-is-office-letter .aq-office-card.aq-office-care {
  border-top-color: #d97706;
}

body.aq-is-office-letter .aq-office-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}

body.aq-is-office-letter .aq-office-kind {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f1ff;
  color: #245bb4;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

body.aq-is-office-letter .aq-office-medical .aq-office-kind {
  background: #e7f7f6;
  color: #0f766e;
}

body.aq-is-office-letter .aq-office-care .aq-office-kind {
  background: #fff3cf;
  color: #8a570c;
}

body.aq-is-office-letter .aq-office-size {
  color: #7b8ba1;
  font-size: 12px;
  font-weight: 850;
}

body.aq-is-office-letter .aq-office-card h3 {
  margin: 0 0 10px !important;
  color: #0f253f !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}

body.aq-is-office-letter .aq-office-card p {
  margin: 0 0 16px;
  color: #475569;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.aq-is-office-letter .aq-office-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
}

body.aq-is-office-letter .aq-office-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

body.aq-is-office-letter .aq-office-btn svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.aq-is-office-letter .aq-office-btn.primary {
  background: #123a5a;
  color: #fff !important;
}

body.aq-is-office-letter .aq-office-btn.secondary {
  border: 1px solid #cfe0f0;
  background: #fff;
  color: #123a5a !important;
}

body.aq-is-office-letter .aq-office-empty {
  padding: 28px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #fff;
  color: #64748b;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

body.aq-is-office-letter .aq-office-note {
  margin-top: 2px;
}

body.aq-is-office-letter .aq-office-note h2 {
  margin: 0 0 8px !important;
  color: #123a5a !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
}

body.aq-is-office-letter .aq-office-note p {
  margin: 0;
  color: #64748b;
  font-size: 13.5px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.aq-is-office-letter .aq-office-note a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 20px;
  border-radius: 9px;
  background: #123a5a;
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
}

@media (max-width: 1100px) {
  body.aq-is-office-letter .aq-office-hero {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.aq-is-office-letter .aq-office-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.aq-is-office-letter .aq-office-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.aq-is-office-letter .aq-subpage-wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0;
    padding: 78px 14px 40px;
  }

  body.aq-is-office-letter #acuerdo-footer {
    width: 100vw;
    margin-left: 0;
  }

  body.aq-is-office-letter .aq-office-hero {
    padding: 24px 20px;
    border-radius: 14px;
  }

  body.aq-is-office-letter .aq-office-hero h1 {
    font-size: 28px !important;
  }

  body.aq-is-office-letter .aq-office-filter,
  body.aq-is-office-letter .aq-office-note {
    align-items: stretch;
    flex-direction: column;
  }

  body.aq-is-office-letter .aq-office-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }

  body.aq-is-office-letter .aq-office-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  body.aq-is-office-letter .aq-office-hero h1 {
    font-size: 24px !important;
  }

  body.aq-is-office-letter .aq-office-stats {
    grid-template-columns: 1fr;
  }

  body.aq-is-office-letter .aq-office-stat {
    min-height: 82px;
  }

  body.aq-is-office-letter .aq-office-month {
    padding: 16px;
  }

  body.aq-is-office-letter .aq-office-card {
    min-height: 0;
    padding: 16px;
  }
}

/* Home support contact: keep the bottom contact cards readable after real links were added. */
body.aq-is-home .aq-home-contact {
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
}

body.aq-is-home .aq-home-contact h2 {
  margin: 0 !important;
}

body.aq-is-home .aq-home-contact h2::after {
  max-width: none !important;
}

body.aq-is-home .aq-trouble-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.aq-is-home .aq-trouble-grid::after {
  content: none !important;
  display: none !important;
}

body.aq-is-home .aq-trouble-card {
  height: 92px !important;
  min-height: 92px !important;
}

body.aq-is-home .aq-trouble-card {
  padding: 12px 14px !important;
}

body.aq-is-home .aq-trouble-card strong {
  white-space: nowrap !important;
}

body.aq-is-home .aq-trouble-card small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.aq-is-home .aq-trouble-email {
  font-size: 13px !important;
}

@media (max-width: 820px) {
  body.aq-is-home .aq-trouble-card,
  body.aq-is-home .aq-trouble-grid::after {
    height: auto !important;
    min-height: 92px !important;
  }
}

/* ============================================================
   Responsive safety net (全ページ共通)
   モバイル/タブレットでよくある overflow・崩れを一括防止
   ============================================================ */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

img, svg, video, iframe {
  max-width: 100%;
  height: auto;
}

/* ---- タブレット (≤1100px) ---- */
@media (max-width: 1100px) {
  .aq-purpose-grid,
  .aq-content-grid,
  .aq-menu-grid,
  .aq-check-list {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  }
}

/* ---- モバイル/タブレット (≤820px) ---- */
@media (max-width: 820px) {
  /* サイドバーオフキャンバス & ハンバーガー表示 */
  body {
    margin-left: 0 !important;
  }

  #aq-sidebar {
    inset: 0 auto 0 0 !important;
    width: min(86vw, 320px) !important;
    max-height: 100vh !important;
    height: 100vh !important;
    border-radius: 0 !important;
    border: 0 !important;
    transform: translateX(-100%);
    transition: transform .25s ease;
    z-index: 1150 !important;
  }

  #aq-sidebar.is-open {
    transform: translateX(0);
  }

  #aq-overlay {
    position: fixed;
    inset: 0;
    z-index: 1140;
    background: rgba(0,0,0,.45);
    display: none;
  }

  #aq-overlay.is-open {
    display: block;
  }

  #aq-hamburger {
    position: fixed !important;
    top: 14px;
    right: 14px;
    z-index: 1200;
    width: 44px;
    height: 44px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 0;
    border-radius: 10px;
    background: #0b1730;
    cursor: pointer;
  }

  #aq-hamburger span {
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
  }

  /* テーブルを横スクロール可能に */
  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* グリッドを 1〜2 列に集約 */
  .aq-josdash-grid,
  .aq-josdash-grid-upper,
  .aq-josdash-grid-lower,
  .aq-josdash-bottom,
  .aq-home-grid,
  .aq-home-grid-top,
  .aq-portal-body section,
  .aq-jl2-bottom-grid,
  .aq-cal-layout,
  .aq-faq-v2-content,
  .aq-contact-content-grid,
  .aq-svc-svc-cards,
  .aq-svc-grid3,
  .aq-svc-grid4 {
    grid-template-columns: 1fr !important;
  }

  /* 4 連お問い合わせカードは 2 列に */
  .aq-contact-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* タップターゲット最小 44px */
  button, a.aq-btn-primary, a.aq-btn-secondary,
  .aq-josdash-btn, .aq-jl2-search-btn, .aq-jl2-clear-btn,
  .aq-josdash-tile, .aq-purpose-card, .aq-content-card,
  .aq-faq-v2-tabs button, .aq-faq-v2-cat {
    min-height: 44px;
  }

  /* メインコンテンツ余白を縮小 */
  .aq-subpage-wrap,
  .aq-portal-body,
  #aq-portal,
  .aq-jl2-top,
  .aq-cal-layout {
    padding: 70px 14px 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ヒーロー圧縮 */
  .aq-josdash-hero,
  .aq-home-hero,
  #aq-hero {
    grid-template-columns: 1fr !important;
    padding: 22px 18px !important;
    gap: 18px !important;
  }

  .aq-josdash-hero h1,
  .aq-home-hero h1,
  .aq-hero-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }

  /* ヒーロー右側のイラスト・アート系は非表示 */
  .aq-hero-illust,
  .aq-josdash-hero-art {
    display: none !important;
  }

  /* モーダルは画面いっぱい近くに */
  .aq-jl2-modal,
  .aq-josdash-note-modal,
  .aq-svc-modal,
  .aq-guide-modal {
    width: 94vw !important;
    max-width: 94vw !important;
    max-height: 90vh !important;
  }
}

/* ---- スマホ (≤560px) ---- */
@media (max-width: 560px) {
  /* グリッドをほぼ全て 1 列 */
  .aq-purpose-grid,
  .aq-content-grid,
  .aq-menu-grid,
  .aq-contact-route-grid,
  .aq-trouble-grid {
    grid-template-columns: 1fr !important;
  }

  /* テキストサイズ控えめ */
  h1 { font-size: 22px !important; line-height: 1.3 !important; }
  h2 { font-size: 18px !important; line-height: 1.35 !important; }

  /* CTA バー縦並び */
  .aq-jl2-cta-bar,
  .aq-josdash-actions,
  .aq-hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .aq-jl2-cta-bar > *,
  .aq-josdash-actions > *,
  .aq-hero-actions > * {
    width: 100% !important;
  }

  /* セル padding 縮小 */
  td, th { padding: 8px 10px !important; }

  /* フッターを縦 1 列 */
  .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 22px 18px 14px !important;
  }
}

body.aq-is-home .aq-hero-check-card li {
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.aq-is-home .aq-hero-check-card li > a {
  min-height: inherit !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 1fr 12px !important;
  grid-template-rows: 42px minmax(0, 1fr) 16px !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 12px 10px 10px !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.aq-is-home .aq-hero-check-card li > a > span:nth-child(2) {
  grid-column: 1 / 3 !important;
  color: #071c44 !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
}

body.aq-is-home .aq-hero-check-card li:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 26px rgba(2, 20, 52, .22) !important;
}

body.aq-is-home .aq-hero-check-card li:focus-within {
  outline: 3px solid rgba(90, 151, 255, .45) !important;
  outline-offset: 2px !important;
}

body.aq-is-home .aq-hero-check-card li > a:focus {
  outline: none !important;
}
