/*
 * 大阪の学校の歴史 だけの足し（2026-11-11）
 * 型（editorial.css）に無い物だけ。線だけで区切り、箱にしない。
 */
/* 記事がまだ無いカード（日付の代わり） */
.card .card-soon { display: block; margin-top: 8px; font-size: 15px; color: var(--ink-2); }
/* 建物の表（線だけ） */
.bld-wrap { margin: 1.6em 0 0; }
.bld { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.6; }
.bld caption { caption-side: top; text-align: left; padding: 0 0 10px; font-size: 15px; font-weight: 700; }
.bld th, .bld td { padding: 11px 12px 11px 0; border-bottom: 1px solid var(--rule-soft); text-align: left; vertical-align: top; }
.bld thead th { border-top: 2px solid var(--ink); border-bottom: 1px solid var(--rule); font-size: 15px; color: var(--ink-2); white-space: nowrap; }
.bld td.n { font-family: var(--font-en); white-space: nowrap; }
.bld-note { margin: 10px 0 0; font-size: 15px; color: var(--ink-2); }
/* 年表の出典の列 */
.chrono td.src-col { font-size: 15px; color: var(--ink-2); white-space: nowrap; }
.chrono td.src-col a { border-bottom: 1px solid currentColor; }
/* 出典の一覧 */
.src-list { margin: 1em 0 0; padding-left: 1.4em; }
.src-list li { margin: 0 0 .9em; font-size: 16px; line-height: 1.7; }
.src-list .pub { display: block; font-size: 15px; color: var(--ink-2); }
.a-body .src-list a { word-break: break-all; }
/* 見出しを語の切れ目で折る */
.a-head h1, .slide-text h2, .card h3, .a-body h2 { word-break: auto-phrase; }
@media (max-width: 767px) {
  .bld { font-size: 15px; }
  .bld th, .bld td { padding-right: 8px; }
  /* 年表：SP は2段（日付と出典が上、出来事が下） */
  .chrono td.src-col { grid-column: 2; grid-row: 1; text-align: right; }
}

/* 問い合わせのフォーム（2026-11-12）。型（editorial.css）に無い部品だけ */
.contact .form { max-width: 720px; margin-top: 32px; }
.contact .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact .field { margin: 0 0 22px; }
.contact .field label { display: block; font-weight: 700; margin-bottom: 8px; font-size: 16px; }
.contact .req, .contact .opt { font-size: 15px; font-weight: 700; margin-left: 6px; }
.contact .req { color: #b4372f; } .contact .opt { color: var(--ink-2); }
.contact input[type=text], .contact input[type=email], .contact input[type=url], .contact select, .contact textarea {
  width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; padding: 12px 14px; border: 1px solid #b9b3a6; background: #fff; color: inherit; }
.contact textarea { min-height: 200px; }
.contact .field__help { font-size: 15px; color: var(--ink-2); margin: 8px 0 0; }
.contact .field__err { font-size: 15px; color: #b4372f; margin: 6px 0 0; font-weight: 700; }
.contact .alert { padding: 14px 16px; background: #f4efe4; border-left: 4px solid var(--accent, #2F5D50); margin: 24px 0; }
.contact .alert--error { border-left-color: #b4372f; }
.contact .form__privacy { font-size: 15px; color: var(--ink-2); }
.contact .btn { display: inline-block; padding: 14px 32px; background: var(--accent, #2F5D50); color: #fff; border: 0; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.contact .confirm dt { font-weight: 700; margin-top: 12px; } .contact .confirm dd { margin: 4px 0 0; }

/* 画面には出さず、読み上げと検索にだけ渡す（トップの h1・2026-11-12） */
.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; }
