/* =========================================================================
   お知らせの詳細（news-*.html・2026-09-20）
   導入実例の詳細（p-case-detail.css の .cd-*）と同じ「記事＋右サイドバー」の版面に、
   お知らせ用の部品（日付と分類・表・一覧・前後のお知らせ・最新のお知らせ）を足したもの。
   本文は _tools/newsgen/gen_news.py で書き出す
   ========================================================================= */

/* 日付・分類・タイトル・共有 */
.nd-head { position: relative; padding-bottom: 28px; border-bottom: 1px solid var(--cd-line); }
.nd-head__meta { display: flex; align-items: center; gap: 16px; }
.nd-head__date { font-family: var(--f-en); font-size: 15px; font-weight: 500; letter-spacing: .06em; }
.nd-head__tag {
  display: inline-flex;
  justify-content: center;
  min-width: 92px;
  padding: 4px 10px;
  border: 1px solid rgba(24, 154, 211, .55);
  border-radius: 2px;
  background: #fff;
  font-size: 12px;
  line-height: 1.3;
  color: var(--c-blue) !important;
  transition: background .3s var(--ease), color .3s var(--ease);
}
.nd-head__tag:hover { background: var(--c-blue); color: #fff !important; }
.nd-head__ttl {
  margin-top: 18px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.6;
  word-break: auto-phrase;
}
/* 共有ボタンは見出しの下の右端に横並び */
.cd-share.nd-share { position: static; flex-direction: row; justify-content: flex-end; gap: 14px; margin-top: 20px; }

.nd-vis { margin-top: 40px; }

/* 本文 */
.cd-body.nd-body { margin-top: 40px; }
.nd-body .cd-body__h2:first-child { margin-top: 0; }
.nd-ul { display: grid; gap: 10px; margin: 20px 0; padding: 26px 28px; border-radius: 5px; background: #fff; }
.nd-ul li { position: relative; padding-left: 20px; font-size: 16px; letter-spacing: .04em; line-height: 1.6; }
.nd-ul li::before {
  content: "";
  position: absolute;
  top: .6em;
  left: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-blue);
}
.nd-dl { margin: 20px 0; border-top: 2px solid var(--c-ink); }
.nd-dl > div {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 0 24px;
  padding: 18px 4px;
  border-bottom: 1px solid var(--cd-line);
}
.nd-dl dt { font-size: 15px; font-weight: 700; letter-spacing: .04em; line-height: 1.7; }
.nd-dl dd { font-size: 16px; letter-spacing: .04em; line-height: 1.7; }
.cd-body .nd-link { margin-top: 32px; }
.cd-body .nd-link a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  font-weight: 700;
  text-decoration: none;
  color: var(--c-blue);
}
.nd-link i { width: 16px; height: 16px; background: currentColor; -webkit-mask: url(images/icon/arrow-r-thin.svg) center / 16px no-repeat; mask: url(images/icon/arrow-r-thin.svg) center / 16px no-repeat; transition: translate .3s var(--ease); }
.nd-link a:hover i { translate: 4px 0; }
.nd-body .cd-body__end { text-align: right; }

/* 前後のお知らせ・一覧へ */
.nd-pager {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  margin-top: 70px;
  padding: 26px 0;
  border-top: 1px solid var(--cd-line);
  border-bottom: 1px solid var(--cd-line);
}
.nd-pager__a--none { visibility: hidden; }
.nd-pager__a { display: grid; gap: 6px; min-width: 0; transition: color .3s var(--ease); }
.nd-pager__a--next { text-align: right; }
.nd-pager__a:hover { color: var(--c-blue); }
.nd-pager__lbl { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--c-blue); }
.nd-pager__a--prev .nd-pager__lbl::before { content: "← "; }
.nd-pager__a--next .nd-pager__lbl::after { content: " →"; }
.nd-pager__ttl {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1.6;
}
.nd-pager__list {
  display: grid;
  place-items: center;
  height: 48px;
  padding: 0 26px;
  border: 1px solid var(--c-ink);
  border-radius: 99px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: nowrap;
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.nd-pager__list:hover { border-color: var(--c-blue); background: var(--c-blue); color: #fff; }
.nd .cd-cta { margin-top: 90px; }

/* 右サイドバー：最新のお知らせ（日付＋分類＋タイトル・2026-09-20 作り替え） */
.nd-side__news li + li { border-top: 1px dashed #d3e1ea; }
.nd-side__news a { display: grid; gap: 8px; padding: 16px 2px; transition: color .3s var(--ease); }
.nd-side__news a:hover { color: var(--c-blue); }
.nd-side__meta { display: flex; align-items: center; gap: 10px; }
.nd-side__meta time { font-family: var(--f-en); font-size: 12px; font-weight: 500; letter-spacing: .06em; color: var(--c-ink-2); }
.nd-side__tag { padding: 2px 8px; border-radius: 99px; background: #eef6fa; font-size: 11px; line-height: 1.4; color: var(--c-blue); }
.nd-side__ttl {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.6;
}

/* ---------- スマホ ---------- */
@media (max-width: 767px) {
  .nd-head { padding-bottom: 20px; }
  .nd-head__date { font-size: 14px; }
  .nd-head__ttl { margin-top: 14px; font-size: 21px; }
  .cd-share.nd-share { margin-top: 14px; margin-bottom: 0; }
  .nd-vis { margin-top: 24px; }
  .cd-body.nd-body { margin-top: 30px; }
  .nd-ul { padding: 20px 18px; }
  .nd-ul li { font-size: 15px; }
  .nd-dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 14px 2px; }
  .nd-dl dt { font-size: 14px; }
  .nd-dl dd { font-size: 15px; }
  .nd-pager { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 50px; padding: 20px 0; }
  .nd-pager__list { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
  .nd .cd-cta { margin-top: 64px; }
}
