/* =========================================================
   News Ticker (hero直下)
========================================================= */
.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); }
}
.p-news-ticker__link{
  display:flex; align-items:center; gap:clamp(.6rem, 1.4vw, 1rem);
  padding:.85rem 1.4rem;
  background:#fff;
  border:1px solid rgba(15,78,231,.10);
  border-left:4px solid var(--brand-teal);
  border-radius:var(--radius);
  box-shadow:0 4px 24px rgba(12,36,64,.07), 0 1px 3px rgba(12,36,64,.04);
  text-decoration:none;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.p-news-ticker__link:hover,
.p-news-ticker__link:focus-visible{
  border-color:rgba(47,183,166,.35);
  box-shadow:0 8px 32px rgba(47,183,166,.10), 0 2px 6px rgba(12,36,64,.05);
  transform:translateY(-2px);
  text-decoration:none;
}
.p-news-ticker__badge{
  flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  padding:.2rem .65rem;
  min-width:42px;
  font-family:var(--font-display);
  font-size:.65rem; font-weight:800; letter-spacing:.1em;
  color:#fff;
  background:var(--gradient-strong);
  border-radius:999px;
  line-height:1.5;
  text-align:center;
  box-shadow:0 2px 8px rgba(47,183,166,.25);
}
.p-news-ticker__date{
  flex-shrink:0;
  font-size:.8rem; font-weight:700;
  color:var(--brand-teal);
  white-space:nowrap;
  letter-spacing:.02em;
}
.p-news-ticker__title{
  flex:1; min-width:0;
  font-size:.92rem; font-weight:600;
  color:var(--ink);
  line-height:1.5;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.p-news-ticker__arrow{
  flex-shrink:0;
  width:28px; height:28px;
  background:rgba(47,183,166,.08);
  border-radius:50%;
  position:relative;
  transition:background .25s ease, transform .25s ease;
}
.p-news-ticker__arrow::after{
  content:"";
  position:absolute; top:50%; left:50%;
  width:7px; height:7px;
  border-top:2px solid var(--brand-teal);
  border-right:2px solid var(--brand-teal);
  transform:translate(-60%,-50%) rotate(45deg);
}
.p-news-ticker__link:hover .p-news-ticker__arrow{
  background:var(--brand-teal);
  transform:scale(1.05);
}
.p-news-ticker__link:hover .p-news-ticker__arrow::after{
  border-color:#fff;
}
@media (max-width:599px){
  .p-news-ticker{ padding:0 .8rem; }
  .p-news-ticker__link{ padding:.7rem .9rem; gap:.5rem; border-left-width:3px; }
  .p-news-ticker__badge{ font-size:.6rem; padding:.15rem .5rem; min-width:36px; }
  .p-news-ticker__date{ font-size:.72rem; }
  .p-news-ticker__title{ font-size:.82rem; }
  .p-news-ticker__arrow{ width:24px; height:24px; }
}

/* =========================================================
   News
========================================================= */
.p-front-news{
  max-width:var(--container);
  margin:var(--section-gap) auto;
  padding: clamp(2.4rem, 4vw, 3.2rem) clamp(1.4rem, 3vw, 2.4rem);
  background:var(--gradient-card);
  border:var(--border-card);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
}
.p-front-news__title__head{ margin-bottom:1.6rem; text-align:center; }
.p-front-news__title-en{
  font-family:var(--font-display);
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:var(--eyebrow);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.p-front-news__title-en::before{
  content:"";
  width:40px;
  height:1px;
  background:linear-gradient(90deg, rgba(15,78,231,0), rgba(15,78,231,0.65));
}
.p-front-news__title{
  font-size: clamp(1.5rem, 1.2vw + 1rem, 2rem);
  font-weight:800;
  margin-top:.35rem;
  color:#0c2540;
}
.p-front-news__list{ display:grid; gap:.8rem; margin-top:1.2rem; }
.p-front-news__item a{
  position:relative;
  overflow:hidden;
  display:grid; grid-template-columns: 140px 1fr; gap:1rem; align-items:center;
  background:#fff; border:1px solid rgba(15,78,231,0.12); padding:1rem 1.2rem; border-radius:var(--radius);
  box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.p-front-news__thumb{
  width:140px; height:74px; object-fit:cover; border-radius:calc(var(--radius) - 4px);
}
.p-front-news__body{ display:grid; gap:.3rem; }
.p-front-news__item a::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:var(--lp-hover-gradient);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.p-front-news__item a:hover,
.p-front-news__item a:focus-visible{
  border-color:rgba(15,78,231,0.26);
  box-shadow:var(--shadow);
  text-decoration:none;
  transform:translateY(-2px);
}
.p-front-news__item a:hover::after,
.p-front-news__item a:focus-visible::after{ opacity:.62; }
.p-front-news__date{
  display:inline-flex;
  padding:.25rem .7rem;
  border-radius:999px;
  background:rgba(47,183,166,.1);
  color:var(--brand-teal);
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.03em;
  white-space:nowrap;
}
@media (max-width:599px){
  .p-front-news__item a{ grid-template-columns:100px 1fr; gap:.7rem; padding:.8rem; }
  .p-front-news__thumb{ width:100px; height:53px; }
  .p-front-news__text{ font-size:.88rem; }
}
.p-front-news__more{ margin-top:1rem; text-align:center; }
.p-front-news__more a{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  padding:.6rem 1.2rem; border-radius:999px; border:1px solid rgba(15,78,231,0.18);
  color:var(--brand-blue); font-weight:700; text-decoration:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.p-front-news__more a::after{ content:"→"; font-size:.9rem; }
.p-front-news__more a:hover{
  background:var(--gradient-strong);
  border-color:transparent;
  color:#fff;
}
