@charset "UTF-8";
/* ==========================================================================
   gi-virus.css ─ 最新コンピュータウィルス・セキュリティ情報（wind/news/virus.html）専用
   2026年9月の整理で追加。共通の gi-legacy.css の上に重ねる。
   HTML には記号や style を書かず、見た目はすべてここで付ける。
   ========================================================================== */

.gi-legacy .vi-page .legacy-entry-title { margin-bottom: 16px; }
.gi-legacy .vi-page .vi-lead { font-size: 17px; margin: 0 0 12px; }
.gi-legacy .vi-guide { list-style: none; margin: 0 0 8px; padding: 14px 18px; background: #f4f7fa; border-left: 3px solid var(--gi-navy); font-size: 15px; }
.gi-legacy .vi-guide li { padding: 3px 0; }

/* 年の見出し */
.gi-legacy .vi-page .vi-year > h2,
.gi-legacy .vi-page .vi-past > h2 { margin-top: 48px; }

/* 記事 1件 */
.gi-legacy .vi-item { padding: 24px 0 22px; border-bottom: 1px solid var(--gi-line); }
.gi-legacy .vi-year > h2 + .vi-item { padding-top: 4px; }
.gi-legacy .vi-page .vi-item__title { margin: 0 0 4px; font-size: 19px; line-height: 1.6; }
.gi-legacy .vi-page .vi-item__date { margin: 0 0 12px; color: var(--gi-sub); font-size: 14px; }
.gi-legacy .vi-item p { margin: 0 0 12px; font-size: 15px; line-height: 1.85; }
.gi-legacy .vi-item > :last-child { margin-bottom: 0; }

/* 長い注意喚起の小見出し（I. 概要 など） */
.gi-legacy .vi-page .vi-item h4 { margin: 20px 0 8px; padding-left: 10px; border-left: 3px solid var(--gi-navy); color: var(--gi-navy); font-size: 16px; line-height: 1.6; }
.gi-legacy .vi-item .vi-subhead { margin: 12px 0 4px; color: var(--gi-navy); font-weight: 700; }

/* 箇条書き */
.gi-legacy .vi-list { margin: 0 0 12px; padding: 0 0 0 1.3em; font-size: 15px; line-height: 1.8; }
.gi-legacy .vi-list li { padding: 2px 0; }

/* 情報源・関連文書 */
.gi-legacy .vi-refs { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 16px; margin: 0; padding: 12px 16px; background: #f7f9fb; font-size: 14px; line-height: 1.7; }
.gi-legacy .vi-refs dt { grid-column: 1; color: var(--gi-navy); font-weight: 700; }
.gi-legacy .vi-refs dd { grid-column: 2; margin: 0; min-width: 0; }
.gi-legacy .vi-refs dt:not(:first-child), .gi-legacy .vi-refs dt:not(:first-child) + dd { margin-top: 6px; }

/* 名前付きのリンク */
.gi-legacy .vi-links { list-style: none; margin: 0 0 12px; padding: 10px 16px; background: #f7f9fb; font-size: 14px; line-height: 1.7; }
.gi-legacy .vi-links li { padding: 5px 0; }
.gi-legacy .vi-links li + li { border-top: 1px dotted var(--gi-line); }
.gi-legacy .vi-links__label { display: block; color: var(--gi-text); }

/* URL は長いので折り返す */
.gi-legacy .vi-refs a, .gi-legacy .vi-links a { word-break: break-all; }

/* あとからの追記 */
.gi-legacy .vi-update { margin: 16px 0; padding: 14px 18px 2px; border: 1px solid #e4b9b7; border-left: 4px solid var(--gi-accent); background: #fdf7f6; }
.gi-legacy .vi-item .vi-update__title { margin-bottom: 6px; color: var(--gi-accent); font-size: 14px; font-weight: 700; }

/* 過去の情報（年ごとに折りたたむ） */
.gi-legacy .vi-past__lead { color: var(--gi-sub); font-size: 15px; }
.gi-legacy .vi-archive { margin: 0 0 10px; border: 1px solid var(--gi-line); border-radius: 4px; background: #fff; }
.gi-legacy .vi-archive > summary {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; cursor: pointer; list-style: none;
  color: var(--gi-navy); font-size: 17px; font-weight: 700;
}
.gi-legacy .vi-archive > summary::-webkit-details-marker { display: none; }
.gi-legacy .vi-archive > summary::after { content: "＋"; font-weight: 400; }
.gi-legacy .vi-archive[open] > summary::after { content: "－"; }
.gi-legacy .vi-archive > summary:hover { background: #f4f7fa; }
.gi-legacy .vi-archive > .vi-item { margin: 0 18px; }
.gi-legacy .vi-archive > .vi-item:last-child { border-bottom: 0; }

@media (max-width: 767px) {
  .gi-legacy .vi-page .vi-lead { font-size: 16px; }
  .gi-legacy .vi-page .vi-item__title { font-size: 17px; }
  .gi-legacy .vi-refs { grid-template-columns: 1fr; gap: 2px; padding: 10px 12px; }
  .gi-legacy .vi-refs dt, .gi-legacy .vi-refs dd { grid-column: 1; }
  .gi-legacy .vi-links { padding: 8px 12px; }
  .gi-legacy .vi-archive > .vi-item { margin: 0 12px; }
}
