/* 統合コラム専用の視覚階層。共通 ai-column.css の後に読み込む */
.ai-summary-body .ai-summary-lead { margin: 0 0 45px; padding: 25px 27px 23px; border: 1px solid #cbd9e8; border-top: 4px solid #2471bd; border-radius: 5px; background: #f8fbfe; }
.ai-summary-eyebrow { color: #24639d; font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.ai-summary-body .ai-summary-lead h2 { margin: 8px 0 14px; padding: 0; border: 0; color: #062852; font-size: 20px; line-height: 1.65; }
.ai-summary-body .ai-summary-lead > p:not(.ai-summary-eyebrow):not(.ai-summary-caveat) { margin-bottom: 17px; }
.ai-summary-takeaways { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 18px 0; }
.ai-summary-takeaways > div { display: flex; flex-direction: column; gap: 6px; padding: 15px 13px; background: #eaf2fa; border-radius: 4px; }
.ai-summary-num { color: #5181ab; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.ai-summary-takeaways strong { font-size: 14px; color: #123d67; }
.ai-summary-takeaways div > span:last-child { color: #526578; font-size: 12px; line-height: 1.7; }
.ai-summary-body .ai-summary-caveat { margin: 0; font-size: 12px; color: #667582; }
.ai-summary-part-heading { display: flex; align-items: baseline; gap: 13px; margin: 0 0 30px; padding: 0 0 12px; border-bottom: 2px solid #244e79; color: #062852; }
.ai-summary-part-heading span { flex: 0 0 auto; font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #52769a; }
.ai-summary-part-heading strong { font-size: 17px; }
.ai-summary-body .ai-column-section { margin-bottom: 45px; }
.ai-summary-body .ai-column-section > h2.section-title { font-size: 20px; margin-bottom: 23px; }
.ai-summary-body .ai-column-section h3 { margin-top: 27px; padding: 9px 12px; border-left: 3px solid #90abc5; background: #f2f6fa; color: #173b62; font-size: 15.5px; }
.ai-summary-body .ai-column-section h3 + p { margin-top: 16px; }
.ai-summary-perspective-heading { margin-top: 58px; border-color: #728498; }
.ai-summary-body .ai-summary-perspective { padding: 23px 25px 24px; border: 1px solid #d0d9e2; border-left: 4px solid #71899f; background: #f6f8fb; border-radius: 3px; }
.ai-summary-body .ai-summary-perspective > h2.section-title { border-left-color: #71899f; }
.ai-summary-perspective-intro { margin: 0 0 20px; padding-bottom: 13px; border-bottom: 1px solid #d8e0e8; }
.ai-summary-perspective-intro > span { display: inline-block; margin-bottom: 7px; font-size: 12px; font-weight: 700; color: #46617a; }
.ai-summary-perspective-intro p { margin-bottom: 0; color: #526578; font-size: 13.5px; }
.ai-summary-body .ai-summary-final { margin-top: 52px; padding: 28px 28px 30px; border: 1px solid #b8ccdf; border-top: 5px solid #2471bd; border-radius: 4px; background: #f7fbff; }
.ai-summary-body .ai-summary-final-label { margin: 0 0 12px; color: #28649a; font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.ai-summary-body .ai-summary-final > h2.section-title { padding: 0; border: 0; font-size: 21px; }
.ai-summary-body .ai-summary-final .ai-column-conclusion { background: #e8f1fa; border-left-width: 5px; padding: 22px 23px; }
.ai-summary-body .ai-summary-final .ai-column-conclusion p { font-size: 17px; }
@media(max-width:767px) {
  .ai-summary-body .ai-summary-lead { padding: 19px 17px; margin-bottom: 35px; }
  .ai-summary-body .ai-summary-lead h2 { font-size: 18px; }
  .ai-summary-takeaways { grid-template-columns: 1fr; gap: 7px; }
  .ai-summary-takeaways > div { display: grid; grid-template-columns: 27px 95px 1fr; gap: 8px; align-items: baseline; padding: 11px; }
  .ai-summary-takeaways div > span:last-child { font-size: 12px; }
  .ai-summary-part-heading { gap: 9px; }
  .ai-summary-part-heading strong { font-size: 15px; }
  .ai-summary-body .ai-column-section > h2.section-title { font-size: 18px; }
  .ai-summary-body .ai-summary-perspective { padding: 18px 15px; }
  .ai-summary-body .ai-summary-final { padding: 22px 17px; }
  .ai-summary-body .ai-summary-final > h2.section-title { font-size: 19px; }
  .ai-summary-body .ai-summary-final .ai-column-conclusion p { font-size: 15px; }
}

/* 統合コラム：教科別の具体例を必要に応じて開く */
.ai-summary-body .ai-summary-examples { margin: 22px 0 24px; display: grid; gap: 12px; }
.ai-summary-body details.ai-summary-example { border: 1px solid #cddceb; background: #f8fbfe; border-radius: 5px; overflow: hidden; }
.ai-summary-body details.ai-summary-example[open] { background: #fbfdff; }
.ai-summary-body details.ai-summary-example > summary { display: flex; align-items: center; gap: 11px; padding: 14px 47px 14px 17px; position: relative; cursor: pointer; list-style: none; color: #062852; font-weight: 700; line-height: 1.6; }
.ai-summary-body details.ai-summary-example > summary::-webkit-details-marker { display: none; }
.ai-summary-body details.ai-summary-example > summary::marker { content: ""; }
.ai-summary-body details.ai-summary-example > summary::after { content: "＋"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: #28649a; font-size: 21px; font-weight: 400; }
.ai-summary-body details.ai-summary-example[open] > summary::after { content: "−"; }
.ai-summary-body details.ai-summary-example > summary:hover { background: #edf5fc; }
.ai-summary-body details.ai-summary-example > summary:focus-visible { outline: 3px solid #2a6daf; outline-offset: -3px; }
.ai-summary-example-label { flex: 0 0 auto; padding: 2px 7px; border-radius: 3px; background: #e5eef7; color: #496f92; font-size: 11px; }
.ai-summary-example-title { font-size: 15px; }
.ai-summary-body .ai-summary-example-content { border-top: 1px solid #dce7f1; padding: 17px 19px 18px; }
.ai-summary-body .ai-summary-example-content p { margin: 0 0 15px; }
.ai-summary-body .ai-summary-example-content p:last-child { margin-bottom: 0; }
/* 既存の共通CSSを変えず、この統合コラムの本文リンクのみ整える */
.ai-summary-article .ai-summary-body a:not(.btn) { color: #145b9b; text-decoration: underline; text-decoration-color: #91b6d5; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.ai-summary-article .ai-summary-body a:not(.btn):hover { color: #062852; text-decoration-color: currentColor; }
.ai-summary-article .ai-summary-body a:not(.btn):focus-visible { outline: 2px solid #0066cc; outline-offset: 3px; }
/* 結論の最初の一文を、問いへの回答として明示する */
.ai-summary-body .ai-summary-final .ai-summary-answer { margin: 20px 0 23px; color: #062852; font-size: 16.5px; line-height: 1.95; }
@media (max-width: 767px) { .ai-summary-body details.ai-summary-example > summary { padding: 12px 43px 12px 12px; gap: 7px; } .ai-summary-example-title { font-size: 14px; } .ai-summary-body .ai-summary-example-content { padding: 14px 13px; } .ai-summary-body .ai-summary-final .ai-summary-answer { font-size: 15.5px; } }

/* 最終調整：検証時期、教科名ラベル、主観パートの明確な場面転換 */
.ai-summary-article .ai-summary-tested-date { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin:15px 0 0; padding:11px 0 0; border-top:1px solid #c9d9e7; color:#49657d; font-size:13px; line-height:1.7; }
.ai-summary-tested-date > span { color:#466783; font-size:12px; font-weight:700; }
.ai-summary-tested-date time { color:#062852; font-weight:700; }
.ai-summary-tested-date small { color:#667b8e; font-size:12px; }
.ai-summary-body .ai-summary-perspective { margin-top:64px; padding:28px 29px 29px; border:1px solid #c9d7e4; border-left:5px solid #6688a7; border-radius:5px; background:#f5f8fc; }
.ai-summary-perspective-kicker { display:block; margin:0 0 12px; color:#4d6d8a; font-size:12px; font-weight:700; letter-spacing:.03em; }
.ai-summary-body .ai-summary-perspective > h2.section-title { margin:0 0 16px; padding:0 0 16px; border:0; border-bottom:1px solid #ccd9e5; color:#062852; font-size:23px; line-height:1.6; }
.ai-summary-body .ai-summary-perspective .ai-summary-perspective-opening { margin:0 0 23px; color:#4d657b; font-size:14px; }
.ai-summary-example-label { white-space:nowrap; }
@media(max-width:767px) {
 .ai-summary-article .ai-summary-tested-date { display:block; }
 .ai-summary-tested-date > span, .ai-summary-tested-date time { display:inline-block; margin-right:9px; }
 .ai-summary-tested-date small { display:block; }
 .ai-summary-body .ai-summary-perspective { margin-top:48px; padding:22px 17px; }
 .ai-summary-body .ai-summary-perspective > h2.section-title { font-size:20px; }
 .ai-summary-body details.ai-summary-example > summary { flex-wrap:wrap; }
}

/* 2026年10月：統合コラム内の2つの比較表を共通デザインで強調。
   共通 ai-column.css や他の5記事には影響させない。 */
.ai-summary-article .ai-summary-body table.ai-column-guide-table {
  width: 100%;
  margin: 24px 0 27px;
  border: 1px solid #c1d4e6;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 5px;
  overflow: hidden;
  background: #fbfdff;
  font-size: 13.5px;
  line-height: 1.8;
}
.ai-summary-article .ai-summary-body table.ai-column-guide-table thead th {
  padding: 14px 15px;
  color: #082e56;
  background: #d4e4f3;
  border-bottom: 2px solid #a6c4df;
  font-weight: 700;
  text-align: left;
}
.ai-summary-article .ai-summary-body table.ai-column-guide-table tbody tr:nth-child(even) {
  background: #f0f6fc;
}
.ai-summary-article .ai-summary-body table.ai-column-guide-table tbody td {
  padding: 13px 15px;
  border-bottom: 1px solid #d2e0ed;
  vertical-align: top;
}
.ai-summary-article .ai-summary-body table.ai-column-guide-table tbody tr:last-child td {
  border-bottom: 0;
}
.ai-summary-article .ai-summary-body table.ai-column-guide-table tbody td:first-child {
  color: #173b62;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ai-summary-article .ai-summary-body table.ai-column-guide-table {
    margin: 19px 0 23px;
    font-size: 12.5px;
    line-height: 1.7;
  }
  .ai-summary-article .ai-summary-body table.ai-column-guide-table thead th,
  .ai-summary-article .ai-summary-body table.ai-column-guide-table tbody td {
    padding: 10px 9px;
    overflow-wrap: anywhere;
  }
}
