/* =========================================================
   お知らせ詳細ページ（news article）
   ========================================================= */
body{ background:var(--c-ink); color:var(--text); padding-bottom:100px; }
.art-header{ position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:12px clamp(16px,4vw,28px); background:rgba(10,8,7,.82); backdrop-filter:blur(6px);
  border-bottom:2px solid var(--c-red); }
.art-header img{ height:42px; width:auto; display:block; }
.art-back{ font-family:var(--font-accent); font-size:14px; color:#fff; text-decoration:none;
  border:2px solid var(--c-yellow); border-radius:var(--r-pill); padding:8px 16px; white-space:nowrap;
  transition:background .2s,color .2s; }
.art-back:hover{ background:var(--c-red); color:var(--c-yellow); }

.art{ max-width:760px; margin:0 auto; padding:36px clamp(20px,5vw,32px) 0; }
.art__meta{ font-family:var(--font-accent); color:var(--c-yellow); letter-spacing:.06em; font-size:14px; }
.art__title{ font-family:var(--font-display); font-weight:900; line-height:1.4;
  font-size:clamp(22px,4.6vw,34px); margin:10px 0 24px; }
.art__kv{ width:100%; height:auto; display:block; border:3px solid var(--c-ink);
  border-radius:var(--r-md); box-shadow:4px 4px 0 var(--c-red); }
.art p{ font-size:15px; line-height:2; margin:18px 0; }
.art h2{ font-family:var(--font-accent); font-weight:700; color:var(--c-yellow); font-size:19px;
  margin:40px 0 14px; padding-left:14px; border-left:5px solid var(--c-red); }
.info{ display:grid; grid-template-columns:auto 1fr; gap:12px 18px; margin:14px 0; font-size:14.5px; line-height:1.9; }
.info dt{ font-family:var(--font-accent); color:var(--c-yellow); white-space:nowrap; }
.info dd{ margin:0; }
.art small{ color:var(--text-muted); font-size:12.5px; }
.art a.link{ color:var(--c-yellow); text-decoration:underline; text-underline-offset:3px; word-break:break-all; }
.sns-row{ display:flex; gap:22px; margin:10px 0 4px; font-size:26px; }
.sns-row a{ color:#fff; } .sns-row a:hover{ color:var(--c-yellow); }
.art__cta{ text-align:center; margin:44px 0 8px; }
.art hr{ border:0; border-top:1px solid rgba(255,255,255,.14); margin:40px 0; }

.art .btn{ margin-top:8px; }
