/* お知らせ詳細ページ専用。確定済み一覧ページのCSSは変更せず、.ndv2-* 内だけを整える。 */

.ndv2-hero{
  position:relative; min-height:184px; overflow:hidden;
  background:linear-gradient(120deg,#eef8ff 0%,#f8fcff 58%,#e5f3fd 100%);
  color:var(--nv-navy);
}
.ndv2-hero::before,.ndv2-hero::after{
  content:""; position:absolute; border-radius:50%; pointer-events:none;
}
.ndv2-hero::before{ width:220px; height:220px; right:12%; top:-130px; background:rgba(98,180,231,.16); }
.ndv2-hero::after{ width:110px; height:110px; right:5%; bottom:-58px; border:1px solid rgba(33,130,196,.23); }
.ndv2-hero-wave{ position:absolute; inset:auto 0 0; width:100%; height:72px; color:#fff; }
.ndv2-hero-inner{ position:relative; z-index:2; width:min(1200px,calc(100% - 80px)); margin:auto; padding:42px 0 86px; }
.ndv2-hero-en{ margin:0 0 8px; color:var(--nv-blue); font-size:12px; font-weight:800; letter-spacing:.18em; }
.ndv2-hero-title{ margin:0; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:32px; font-weight:600; line-height:1.3; }
.ndv2-hero-lead{ margin:10px 0 0; color:var(--nv-text); font-size:13px; line-height:1.7; }

.ndv2-detail{ background:linear-gradient(180deg,#fff 0,#f6fbff 100%); padding:0 0 88px; }
.ndv2-breadcrumb{
  width:min(1120px,calc(100% - 80px)); margin:auto; padding:20px 0;
  display:flex; align-items:center; gap:9px; color:#60778c; font-size:12px; line-height:1.5;
}
.ndv2-breadcrumb a{ color:var(--nv-blue-dark); }
.ndv2-breadcrumb-current{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.ndv2-article{
  width:min(920px,calc(100% - 80px)); margin:0 auto; padding:64px 80px 52px;
  background:#fff; border:1px solid #dceaf5; border-radius:20px;
  box-shadow:0 18px 50px rgba(14,60,100,.08);
}
.ndv2-article-header{
  display:block; padding:0 0 26px; border-bottom:1px solid #dceaf5; background:#fff;
}
.ndv2-article-title{
  margin:0; color:var(--nv-navy); font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:38px; font-weight:600; line-height:1.5; letter-spacing:.015em; overflow-wrap:anywhere;
}
.ndv2-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-top:22px; }
.ndv2-category{
  display:inline-flex; min-height:28px; align-items:center; padding:4px 14px;
  border:1px solid var(--nv-blue); border-radius:999px; color:var(--nv-blue-dark);
  background:#f3f9fe; font-size:12px; font-weight:700;
}
.ndv2-category.project-baiten::before{ content:"売店情報"; }
.ndv2-category.project-yakkyoku::before{ content:"薬局情報"; }
.ndv2-category.project-kyushoku::before{ content:"給食部情報"; }
.ndv2-category.project-saiyou::before{ content:"採用情報"; }
.ndv2-category.project-kigyou::before{ content:"企業情報"; }
.ndv2-category.project-sonota::before{ content:"その他"; }
.ndv2-date{ color:#61778a; font-size:13px; letter-spacing:.04em; }
.ndv2-new{ display:none; padding:4px 9px; border-radius:4px; background:#ee5148; color:#fff; font-size:10px; font-weight:800; }
.ndv2-new.project-new{ display:inline-flex; }
.ndv2-new.project-new::before{ content:"NEW"; }

.ndv2-body{ display:block; width:min(720px,100%); margin:32px auto 0; color:#263f55; font-size:16px; line-height:2; text-align:left; overflow-wrap:anywhere; }
.ndv2-body > :first-child{ margin-top:0; }
.ndv2-body p{ margin:0 0 1.35em; }
.ndv2-body h2{ margin:2.4em 0 1em; padding:0 0 .65em 18px; border-left:4px solid var(--nv-blue); border-bottom:1px solid #dceaf5; color:var(--nv-navy); font-size:26px; line-height:1.5; }
.ndv2-body h3{ margin:2em 0 .8em; color:var(--nv-navy); font-size:20px; line-height:1.55; }
.ndv2-body ul,.ndv2-body ol{ margin:1.2em 0 1.5em; padding-left:1.7em; }
.ndv2-body li+li{ margin-top:.45em; }
.ndv2-body blockquote{ margin:1.8em 0; padding:20px 24px; border-left:4px solid #8bc6ea; background:#f2f8fd; color:#456175; }
.ndv2-body strong{ color:var(--nv-navy); font-weight:700; }
.ndv2-body a{ color:var(--nv-blue-dark); text-decoration:underline; text-underline-offset:4px; }
.ndv2-body img{ display:block; max-width:100%; height:auto; margin-inline:auto; }
.ndv2-body table{ display:block; width:100%; max-width:100%; margin:1.8em 0; overflow-x:auto; border-collapse:collapse; white-space:nowrap; }
.ndv2-body th,.ndv2-body td{ padding:12px 14px; border:1px solid #cddfeb; text-align:left; }
.ndv2-body th{ background:#eef7fd; color:var(--nv-navy); }

.ndv2-attachments{ width:min(720px,100%); margin:28px auto 0; }
.ndv2-attachments:not(:has(a)){ display:none; }
.ndv2-attachments:has(a)::before{ content:"添付資料"; display:block; margin-bottom:10px; color:var(--nv-navy); font-size:14px; font-weight:700; }
.ndv2-attachments a{
  display:flex; align-items:center; gap:12px; width:100%; min-height:56px; padding:13px 18px;
  border:1px solid #9dc9e6; border-radius:10px; background:#f3f9fe; color:var(--nv-blue-dark);
  font-size:14px; font-weight:700; line-height:1.5; overflow-wrap:anywhere;
}
.ndv2-attachments a::before{ content:"PDF"; flex:none; padding:4px 7px; border-radius:4px; background:var(--nv-blue); color:#fff; font-size:10px; letter-spacing:.06em; }
.ndv2-attachments a::after{ content:"↗"; margin-left:auto; font-size:16px; }

.ndv2-media-grid{ width:min(720px,100%); margin:28px auto 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ndv2-media-slot:not(:has(img)){ display:none; }
.ndv2-media-slot:has(img):only-child{ grid-column:1/-1; }
.ndv2-media-slot a{ display:block; border-radius:12px; overflow:hidden; border:1px solid #dceaf5; background:#f8fbfe; }
.ndv2-media-slot img{ display:block; width:auto; max-width:100%; height:auto; max-height:620px; margin-inline:auto; padding:0; object-fit:contain; }
.ndv2-media-grid:not(:has(.ndv2-media-slot:nth-child(2) img,.ndv2-media-slot:nth-child(3) img,.ndv2-media-slot:nth-child(4) img)) .ndv2-media-slot:has(img){ grid-column:1/-1; }
.ndv2-media-grid:not(:has(.ndv2-media-slot:nth-child(2) img,.ndv2-media-slot:nth-child(3) img,.ndv2-media-slot:nth-child(4) img)) .ndv2-media-slot a{ width:min(50%,360px); margin-inline:auto; }

.ndv2-article-nav{
  margin-top:48px; padding-top:24px; border-top:1px solid #dceaf5;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px;
}
.ndv2-nav-link{
  display:inline-flex; align-items:center; gap:9px; min-height:46px; color:var(--nv-blue-dark);
  font-size:13px; font-weight:700;
}
.ndv2-nav-link--next{ justify-self:end; text-align:right; }
.ndv2-nav-link[href=""]{ visibility:hidden; pointer-events:none; }
.ndv2-back{
  display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px;
  border-radius:999px; background:var(--nv-blue); color:#fff; font-size:13px; font-weight:700;
  box-shadow:0 8px 20px rgba(10,116,183,.18);
}
#nv2Page .ndv2-back,
#nv2Page .ndv2-back:link,
#nv2Page .ndv2-back:visited,
#nv2Page .ndv2-back:hover,
#nv2Page .ndv2-back:focus,
#nv2Page .ndv2-back:focus-visible{ color:#fff; }

@media (max-width:900px){
  .ndv2-hero-inner{ width:calc(100% - 80px); }
  .ndv2-detail{ padding-bottom:72px; }
  .ndv2-breadcrumb{ width:calc(100% - 80px); }
  .ndv2-article{ width:calc(100% - 80px); padding:52px 56px 46px; }
  .ndv2-article-title{ font-size:34px; }
}

@media (max-width:480px){
  .ndv2-hero{ min-height:148px; }
  .ndv2-hero-inner{ width:calc(100% - 32px); padding:28px 0 42px; }
  .ndv2-hero-title{ font-size:26px; }
  .ndv2-hero-lead{ font-size:12px; }
  .ndv2-hero::before{ width:140px; height:140px; right:-22px; top:-76px; }
  .ndv2-hero::after{ width:76px; height:76px; right:10px; bottom:-40px; }
  .ndv2-hero-wave{ height:50px; }
  .ndv2-detail{ padding-bottom:44px; }
  .ndv2-breadcrumb{ width:calc(100% - 32px); padding:13px 0; font-size:10.5px; }
  .ndv2-article{ width:calc(100% - 32px); padding:32px 20px 30px; border-radius:14px; }
  .ndv2-article-header{ padding-bottom:22px; }
  .ndv2-article-title{ font-size:27px; line-height:1.5; }
  .ndv2-meta{ margin-top:16px; gap:8px 12px; }
  .ndv2-category{ min-height:26px; padding:3px 11px; font-size:11px; }
  .ndv2-date{ font-size:12px; }
  .ndv2-body{ margin-top:28px; font-size:15px; line-height:1.9; }
  .ndv2-body h2{ margin-top:2em; padding-left:12px; font-size:21px; }
  .ndv2-body h3{ font-size:18px; }
  .ndv2-body blockquote{ padding:16px 18px; }
  .ndv2-media-grid{ grid-template-columns:1fr; gap:14px; margin-top:24px; }
  .ndv2-media-grid:not(:has(.ndv2-media-slot:nth-child(2) img,.ndv2-media-slot:nth-child(3) img,.ndv2-media-slot:nth-child(4) img)) .ndv2-media-slot a{ width:100%; max-width:360px; }
  .ndv2-attachments{ margin-top:22px; }
  .ndv2-attachments a{ padding:12px 14px; font-size:12.5px; }
  .ndv2-article-nav{ margin-top:38px; padding-top:22px; grid-template-columns:1fr 1fr; gap:12px; }
  .ndv2-back{ grid-column:1/-1; grid-row:1; width:100%; }
  .ndv2-nav-link--prev{ grid-column:1; grid-row:2; }
  .ndv2-nav-link--next{ grid-column:2; grid-row:2; }
}
