@charset "UTF-8";
/* =========================================================
   市町村の補助金さがし（js/subsidy.js）
   色は luxury.css の変数（--green＝ブロンズゴールド など）を使います
   ========================================================= */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.sbf { max-width: 920px; margin: 40px auto 0; text-align: left; }
.sbf__pick { padding: 28px 32px; background: #fff; border: 1px solid var(--line); border-top: 2px solid var(--green); }
.sbf__label { display: block; font-family: var(--serif, serif); font-weight: 600; font-size: 17px; letter-spacing: .08em; color: var(--text); }
.sbf__select { position: relative; margin-top: 12px; }
.sbf__select::after { content: ""; position: absolute; right: 20px; top: 50%; width: 9px; height: 9px; border-right: 1.5px solid var(--green); border-bottom: 1.5px solid var(--green); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.sbf__select select {
  width: 100%; height: 58px; padding: 0 52px 0 18px;
  appearance: none; -webkit-appearance: none;
  border: 1px solid var(--line); border-radius: 2px; background: var(--gray);
  font: inherit; font-size: 17px; color: var(--text); cursor: pointer;
  transition: border-color .25s, background .25s;
}
.sbf__select select:hover { border-color: var(--green); }
.sbf__select select:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; background: #fff; }
.sbf__legend { margin-top: 10px; font-size: 12px; color: var(--muted); }

.sbf__result { margin-top: 28px; }
.sbf__hint { padding: 22px 24px; background: var(--gray); font-size: 14px; line-height: 2; color: var(--muted); }
.sbf__hint b { font-family: var(--en); font-size: 22px; color: var(--green); margin: 0 2px; }
.sbf__city { font-family: var(--serif, serif); font-weight: 600; font-size: 26px; letter-spacing: .08em; }
.sbf__city small { font-size: 15px; margin-left: 6px; color: var(--muted); }
.sbf__sub { margin: 36px 0 0; padding-top: 22px; border-top: 1px solid var(--line); font-family: var(--serif, serif); font-weight: 600; font-size: 17px; letter-spacing: .06em; }
.sbf__none { margin-top: 14px; padding: 20px 22px; background: var(--gray); font-size: 14px; line-height: 2; }

.sbf__cards { display: grid; gap: 16px; margin-top: 16px; }
.sbf-card { padding: 24px 26px; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--green); animation: sbf-in .45s ease both; }
@keyframes sbf-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.sbf-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.sbf-card__ttl { font-family: var(--serif, serif); font-weight: 600; font-size: 17px; line-height: 1.6; letter-spacing: .04em; }
.sbf-badge { flex-shrink: 0; padding: 3px 12px; font-size: 12px; font-weight: 700; letter-spacing: .08em; border: 1px solid currentColor; white-space: nowrap; }
.sbf-badge.is-open { background: var(--green); border-color: var(--green); color: #fff; }
.sbf-badge.is-closed { color: var(--muted); background: var(--gray); }
.sbf-badge.is-unknown { color: var(--green-d); }
.sbf-card__body { margin-top: 14px; display: grid; gap: 6px; }
.sbf-card__row { display: grid; grid-template-columns: 6.5em 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 14px; line-height: 1.8; }
.sbf-card__row:last-child { border-bottom: 0; }
.sbf-card__row dt { color: var(--muted); font-size: 13px; }
.sbf-card__row dd { margin: 0; }
.sbf-card__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 14px; font-weight: 700; color: var(--green-d); border-bottom: 1px solid currentColor; padding-bottom: 2px; transition: opacity .25s; }
.sbf-card__link:hover { opacity: .7; }

.sbf__cta { margin-top: 32px; padding: 28px 24px; text-align: center; background: var(--dark); color: #fff; }
.sbf__cta .btn { min-width: 0; max-width: 100%; height: auto; min-height: 56px; padding: 14px 28px; white-space: normal; line-height: 1.5; }
.sbf__cta p { margin-top: 12px; font-size: 13px; color: rgba(255,255,255,.75); }
.sbf__note { margin-top: 22px; font-size: 12px; line-height: 1.9; color: var(--muted); }

/* 暗い背景のセクションに置いたとき */
.lp-sec--dark .sbf__note, .sec--dark .sbf__note { color: rgba(255,255,255,.65); }

@media (max-width: 767px) {
  .sbf { margin-top: 28px; }
  .sbf__pick { padding: 20px 18px; }
  .sbf-card { padding: 18px 16px; }
  .sbf-card__head { flex-direction: column; gap: 8px; }
  .sbf-card__row { grid-template-columns: 1fr; gap: 2px; }
  .sbf__city { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { .sbf-card { animation: none; } }
.sbf-lead { margin-top: 18px; font-size: 14px; color: var(--muted); }
