/* ===== Topics 一覧アイテム（TOPとアーカイブ共通） ===== */
.topics-item {
  border:none;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
}

.col-12.col-lg-10.col-xl-8 > .topics-item + .topics-item{
  border-top: 1px solid #ccc;
}

.topics-thumb {
  flex-shrink: 0;
  width: 120px;
  height: 80px;
}

.topics-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.topics-item dl {
  flex: 1;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
}

#topics .topics-item:not(:first-child) {
    border-top: solid 1px #ccc;
}

/* ===== single-topics アイキャッチ ===== */
.topics-eyecatch {
  margin: 2em 0;
}

.topics-eyecatch img {
  width: 100%;
  height: auto;
  display: block;
}

/* ===== single-topics レイアウト ===== */
#topicsContent {
  padding: 120px 0;
}

#topicsContent article {
  font-size: .93333rem;
}

/* ===== WYSIWYG コンテンツ（h1〜h6, p, ul, ol, a, em 等） ===== */
#topicsContent article h1,
#topicsContent article h2,
#topicsContent article h3,
#topicsContent article h4,
#topicsContent article h5,
#topicsContent article h6 {
  font-weight: 700;
  line-height: 1.5;
  margin: 1.5em 0 0.5em;
  letter-spacing: 0.1em;
}

#topicsContent article h1 {font-size: 1.6rem;color: #003366;font-weight: bold;border-bottom: 2px solid #003366;padding-bottom: 0.8em;margin-bottom: 0.8em;}
#topicsContent article h2 {font-size: 1.4rem;color: #013a78;border-left: 8px solid #013a78;padding-left: 10px;position: relative;margin-bottom: 1em;}
#topicsContent article h2::before {content:"";display: block;height: 4px;width: 100%;background: #f0f0f0;bottom: -10px;position: absolute;}
#topicsContent article h2::after {content:"";display: block;height: 4px;width: 10%;background: #013a78;bottom: -10px;position: absolute;}
#topicsContent .ttl {
    background-color: #003366;
    color: #fff;
    padding: 20px 30px;
    border-radius: 8px;
    margin-top: 3em;
    margin-bottom: 3em;
}
#topicsContent .ttl time {}
#topicsContent .ttl h2 {
    font-size: 1.6em;
    font-weight: bold;
}
#topicsContent article h3 {font-size: 1.2rem;color: #013a78; border-left: 6px solid #003366; background: #f4f7f9; padding: 10px 15px;}
#topicsContent article h4 {font-size: 1.1rem;position: relative;margin-left: 20px;}
#topicsContent article h4::before {content:"";display: block;background: #003366;width: 12px;height: 12px;top: 50%;transform: translateY(-50%);position: absolute;left: -20px;}
#topicsContent article h5 {font-size: 1rem;border-bottom: 1px solid #003366;padding-bottom: 0.8em;margin-bottom: 0.8em;}
#topicsContent article h6 { font-size: 0.9rem; color: #666; }

#topicsContent article p {
  margin: 0 0 1em;
}

#topicsContent article ul,
#topicsContent article ol {
  margin: 0 0 1em;
  padding-left: 1.8em;
}

#topicsContent article li {
  margin-bottom: 0.3em;
}

#topicsContent article ul li {
  list-style: disc;
}

#topicsContent article ol li {
  list-style: auto;
}

#topicsContent article a {
  color: #013a78;
  text-decoration: underline;
}

#topicsContent article a:hover {
  opacity: .7;
  text-decoration: none;
}

#topicsContent article em {
  color: #eb7284;
  font-style: normal;
}

#topicsContent article strong {
  font-weight: 700;
}

#topicsContent article table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
}

#topicsContent article th,
#topicsContent article td {
  padding: 0.6em 1em;
  border: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
}

#topicsContent article th {
  background: #f0f0f0;
  font-weight: 700;
  white-space: nowrap;
}
