/* =========================================================================
   お知らせ一覧ページ — news-styles.css  (top-styles.css の後に読み込む)
   ========================================================================= */
.wrap{max-width:1240px;margin:0 auto;padding:0 6vw;}

/* hero */
.nl-hero{background:var(--ink);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden;}
.nl-hero::before{content:"";position:absolute;top:-40%;right:-6%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(37,99,235,0.18),transparent 65%);pointer-events:none;}
.nl-hero .wrap{position:relative;z-index:1;}
.nl-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Inter",monospace;font-size:12px;letter-spacing:0.3em;font-weight:700;color:var(--blue2);margin-bottom:26px;}
.nl-eyebrow .dash{width:30px;height:1px;background:var(--blue2);}
.nl-hero h1{font-family:"Noto Serif JP",serif;font-weight:900;font-size:clamp(40px,6vw,88px);line-height:1.02;letter-spacing:-0.03em;margin:0;}
.nl-hero h1 .y{color:var(--yellow);}
.nl-hero p{font-size:clamp(14px,1.1vw,17px);line-height:1.9;color:rgba(255,255,255,0.7);max-width:640px;margin:26px 0 0;}

/* featured */
.nl-feat-sec{background:var(--paper);padding:48px 0 10px;}
.nl-feat{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--ink);text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow .3s,transform .3s;}
.nl-feat:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,0.18);}
.nl-feat-img{position:relative;min-height:340px;background-size:cover;background-position:center;}
.nl-feat-badge{position:absolute;top:16px;left:16px;background:var(--yellow);color:var(--ink);font-family:"Inter";font-size:12px;font-weight:900;letter-spacing:0.12em;padding:7px 13px;}
.nl-cat{position:absolute;font-family:"Inter",sans-serif;font-size:12px;font-weight:900;letter-spacing:0.06em;padding:6px 11px;color:#fff;background:var(--blue);}
.nl-feat-img .nl-cat{top:16px;right:16px;}
.nl-cat.ud{background:var(--blue);}
.nl-cat.site{background:var(--ink);}
.nl-cat.recruit{background:#0f9d58;}
.nl-cat.media{background:#7b2ff7;}
.nl-cat.award{background:var(--red);}
.nl-feat-body{padding:40px 42px;display:flex;flex-direction:column;justify-content:center;}
.nl-feat-date{font-family:"Inter",monospace;font-size:13px;font-weight:700;color:var(--blue);letter-spacing:0.06em;margin-bottom:16px;}
.nl-feat-ttl{font-family:"Noto Serif JP",serif;font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.4;margin:0 0 16px;letter-spacing:-0.01em;}
.nl-feat-ex{font-size:15px;line-height:1.85;color:#555;margin:0 0 24px;}
.nl-feat-go{font-family:"Inter";font-size:14px;font-weight:900;letter-spacing:0.06em;color:var(--ink);display:inline-flex;align-items:center;gap:10px;}
.nl-feat-go span{color:var(--blue);transition:transform .2s;}
.nl-feat:hover .nl-feat-go span{transform:translateX(6px);}

/* list section */
.nl-list{background:var(--paper);padding:40px 0 90px;}
.nl-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;padding-bottom:22px;border-bottom:2px solid var(--ink);}
.nl-tab{font-family:inherit;font-size:14px;font-weight:700;padding:11px 20px;background:#fff;border:1px solid var(--ink);color:var(--ink);cursor:pointer;transition:.18s;letter-spacing:0.04em;}
.nl-tab:hover{background:#ecece7;}
.nl-tab.on{background:var(--ink);color:#fff;}

.nl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.nl-card{background:#fff;border:1px solid var(--ink);text-decoration:none;color:inherit;display:block;opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s,box-shadow .3s;}
.nl-card.in{opacity:1;transform:none;}
.nl-card:hover{box-shadow:0 18px 40px rgba(0,0,0,0.16);transform:translateY(-5px);}
.nl-card-img{position:relative;aspect-ratio:16/10;background-size:cover;background-position:center;overflow:hidden;}
.nl-card-img .nl-cat{top:12px;left:12px;}
.nl-new{position:absolute;top:12px;left:12px;z-index:3;background:var(--yellow);color:var(--ink);font-family:"Inter",sans-serif;font-size:12px;font-weight:900;letter-spacing:0.08em;padding:6px 12px;box-shadow:0 3px 10px rgba(0,0,0,0.25);}
.nl-card.is-latest .nl-card-img .nl-cat{left:auto;right:12px;}
.nl-card.is-latest{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue);}
.nl-card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,0.28));opacity:0;transition:opacity .3s;}
.nl-card:hover .nl-card-img::after{opacity:1;}
.nl-card-body{padding:20px 20px 24px;}
.nl-card-date{font-family:"Inter",monospace;font-size:12px;font-weight:700;color:var(--blue);letter-spacing:0.06em;margin-bottom:11px;}
.nl-card-ttl{font-size:16px;font-weight:700;line-height:1.6;margin-bottom:16px;min-height:2.9em;}
.nl-card-go{font-family:"Inter";font-size:12.5px;font-weight:700;letter-spacing:0.04em;color:var(--ink);border-bottom:2px solid var(--yellow);padding-bottom:3px;}
.nl-card:hover .nl-card-go{color:var(--blue);border-color:var(--blue);}

.nl-more-wrap{display:flex;justify-content:center;margin-top:48px;}
.nl-more{font-family:inherit;font-size:15px;font-weight:900;letter-spacing:0.1em;padding:17px 48px;background:#fff;border:1px solid var(--ink);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:14px;transition:.2s;}
.nl-more:hover{background:var(--ink);color:#fff;}
.nl-more span{color:var(--blue);font-size:18px;}
.nl-more:hover span{color:var(--yellow);}


/* footer styles are inherited from top-styles.css */


/* responsive */
@media(max-width:980px){.nl-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:760px){
  .nl-hero h1{font-size:32px;line-height:1.18;letter-spacing:-0.02em;}
  .nl-feat{grid-template-columns:1fr;}
  .nl-feat-img{min-height:220px;}
  .nl-grid{grid-template-columns:1fr;}
}
.nl-body a,.nl-feat-ex a{color:var(--blue);}
.nl-body a:hover,.nl-feat-ex a:hover{color:var(--ink);}
.ft-mark{color:#fff;}
.ft-mark:hover{color:#fff;}
