/* =========================================================
   News Ticker (hero直下) — C案（フラット罫線）
========================================================= */
.p-news-ticker{
  max-width:var(--container);
  margin:clamp(1.2rem, 2.5vw, 2rem) auto 0;
  padding:0 clamp(1rem, 3vw, 2rem);
  animation:ticker-in .5s cubic-bezier(.22,1,.36,1) both;
}
@keyframes ticker-in{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce){
  .p-news-ticker{ animation:none; }
}
.p-news-ticker__link{
  display:flex; align-items:center; gap:clamp(.6rem, 1.4vw, 1rem);
  padding:.8rem 1.3rem;
  background:var(--base);
  border:1px solid var(--line);
  border-left:3px solid var(--accent);
  text-decoration:none;
  transition:border-color .25s ease, background .25s ease;
}
.p-news-ticker__link:hover,
.p-news-ticker__link:focus-visible{
  border-color:var(--accent);
  text-decoration:none;
}
.p-news-ticker__badge{
  flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  padding:.2rem .6rem; min-width:40px;
  font-family:var(--en); font-size:.66rem; font-weight:700; letter-spacing:.12em;
  color:var(--base); background:var(--accent);
  line-height:1.5; text-align:center;
}
.p-news-ticker__date{
  flex-shrink:0;
  font-family:var(--en); font-size:.82rem; letter-spacing:.08em;
  color:var(--ink); white-space:nowrap;
}
.p-news-ticker__title{
  flex:1; min-width:0;
  font-size:.88rem; color:var(--ink-soft); line-height:1.5;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.p-news-ticker__arrow{
  flex-shrink:0; width:24px; height:24px; position:relative;
}
.p-news-ticker__arrow::after{
  content:""; position:absolute; top:50%; left:50%;
  width:7px; height:7px;
  border-top:1.5px solid var(--accent); border-right:1.5px solid var(--accent);
  transform:translate(-60%,-50%) rotate(45deg);
}
@media (max-width:599px){
  .p-news-ticker{ padding:0 .8rem; }
  .p-news-ticker__link{ padding:.65rem .85rem; gap:.5rem; }
  .p-news-ticker__badge{ font-size:.6rem; padding:.15rem .5rem; min-width:34px; }
  .p-news-ticker__date{ font-size:.74rem; }
  .p-news-ticker__title{ font-size:.8rem; }
}

/* =========================================================
   News Section — C案（comp .news / note最新3件リスト）
========================================================= */
.news{ background:var(--base); padding:var(--section-gap) 0; }
.n-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; }
.n-head .h-ja{ margin:10px 0 0; }
.news ul{ margin-top:clamp(36px, 5vw, 50px); border-top:1px solid var(--line); list-style:none; padding:0; }
.news li a{ display:flex; gap:clamp(16px, 3vw, 30px); align-items:baseline; padding:22px 0; border-bottom:1px solid var(--line); font-size:var(--ts-body); color:var(--ink-body); }
.news li time{ font-family:var(--en); letter-spacing:.1em; flex:none; color:var(--ink); }
.news li a:hover{ color:var(--ink); text-decoration:none; }
