/* page styles: news  (source: docs/CHIZAI_LANDSCAPE_PC/news.html) */
.h-jp{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;line-height:1.42;letter-spacing:.02em;color:var(--ink);font-size:clamp(1.7rem,3.6vw,2.7rem)}
.hero h1{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.28;letter-spacing:.01em;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.page-hero h1{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:clamp(2rem,4.6vw,3.2rem);color:#fff;line-height:1.32;margin-bottom:8px}
.jstep .jt{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:1.1rem;margin:6px 0 4px;color:#fff}
.bcard h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.2rem;color:var(--ink);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.issue h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.14rem;color:var(--ink);margin-bottom:12px;font-weight:700;position:relative;z-index:1;max-width:80%}
.svc h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.18rem;color:#fff;margin-bottom:12px;font-weight:700}
.note-band .nk{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--cyan);font-size:1.12rem;white-space:nowrap}
.ind h4{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.05rem;color:var(--ink);font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.step h4{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.05rem;color:var(--ink);font-weight:700;margin-bottom:8px}
.case .cbody h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.15rem;color:var(--ink);margin-bottom:16px;font-weight:700;line-height:1.5}
.voice h4{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1rem;color:var(--ink);margin-bottom:10px;font-weight:700;position:relative}
.reason h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.28rem;color:var(--ink);margin-bottom:14px;font-weight:700}
.mem .avatar .ini{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:1.7rem;color:#fff;position:relative;z-index:1}
.mem .name{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.5rem;color:var(--ink);font-weight:700;line-height:1.2}
.company th{width:30%;color:var(--ink);font-weight:700;background:var(--paper);font-family:"Zen Kaku Gothic New",sans-serif}
.msg .sign{margin-top:24px;font-family:"Zen Kaku Gothic New",sans-serif;color:var(--ink);font-weight:700}
.ni h3{font-size:1.12rem;color:var(--ink);font-weight:700;line-height:1.55;margin-bottom:8px;font-family:"Zen Kaku Gothic New",sans-serif}
.vid .vmeta h4{font-family:"Zen Kaku Gothic New",sans-serif;font-size:.96rem;color:var(--ink);margin-top:6px;font-weight:700;line-height:1.5}
.csel h4{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1rem;color:var(--ink);font-weight:700;margin:6px 0 4px}
.access .map .pin{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--navy);font-weight:700;text-align:center}
.access .ainfo h4{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--ink);font-weight:700;margin-bottom:6px}
.uc h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.16rem;color:var(--ink);font-weight:700;margin-bottom:10px}
.ip-item .k{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--ink);font-size:1.02rem}
.si-main h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:1.16rem;color:var(--ink);font-weight:700;margin-bottom:4px}
.mix-chip{width:100%;max-width:300px;text-align:center;border:1px solid rgba(91,197,238,.4);border-radius:12px;padding:15px 18px;color:#fff;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:.98rem;background:rgba(255,255,255,.04)}
.mix-res{width:100%;max-width:300px;text-align:center;border:1.5px solid var(--cyan);border-radius:12px;padding:17px 22px;color:var(--ink);background:var(--cyan);font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:1.04rem;box-shadow:0 14px 34px -12px rgba(91,197,238,.5)}
.edge-card h3{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.4;color:#fff;margin-bottom:16px}
.uw .q{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--ink);font-size:1.08rem;display:flex;align-items:center;gap:12px}
.stance-h{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3rem);line-height:1.38;color:var(--ink);letter-spacing:.01em}
.news-index{padding-top:clamp(40px,5vw,64px)}
.n-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:clamp(30px,4vw,48px)}
.n-chip{border:1px solid rgba(43,111,196,.5);background:#fff;color:var(--navy);border-radius:999px;padding:10px 22px;font-size:.85rem;font-weight:500;cursor:pointer;transition:.3s var(--ease);font-family:"Zen Kaku Gothic New",sans-serif}
.n-chip:hover{background:var(--paper)}
.n-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.news-list{border-bottom:1px solid var(--line)}
.n-item{position:relative;display:block;text-decoration:none;border-top:1px solid var(--line);padding:30px 6px;transition:.3s var(--ease)}
.n-item:hover{background:linear-gradient(90deg,rgba(91,197,238,.05),transparent)}
.n-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.n-l{display:flex;align-items:center;gap:16px}
.n-date{font-family:"Zilla Slab",serif;font-weight:600;font-size:.9rem;color:var(--cyan-d);letter-spacing:.04em}
.n-cat{background:var(--navy);color:#fff;font-size:.74rem;font-weight:700;border-radius:6px;padding:5px 14px;letter-spacing:.04em}
.n-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  color: var(--slate);
  font-size: .8rem
}
/* Tag links sit above the title's stretched overlay so they stay clickable. */
/* .n-tags a{position:relative;z-index:1;color:inherit;text-decoration:none;transition:.3s var(--ease)}
.n-tags a:hover{color:var(--cyan-d)}
.n-tags a.on{color:var(--navy);font-weight:700} */
.n-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:16px;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:1.08rem;color:var(--ink);line-height:1.6;text-decoration:none}
/* Stretches the title link over the whole card, keeping it fully clickable. */
/* .n-title::after{content:"";position:absolute;inset:0;z-index:0} */
.n-arr{color:var(--navy);flex:none;font-size:1.05rem;margin-top:2px}
.n-item:hover .n-title{color:var(--navy)}
.n-exc{margin-top:12px;color:var(--slate-d);font-size:.9rem;line-height:1.95}
.n-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:clamp(40px,5vw,64px)}
.n-pg{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-family:"Zilla Slab",serif;font-weight:600;font-size:.95rem;color:var(--ink-2);cursor:pointer;transition:.3s var(--ease)}
.n-pg:hover{background:var(--paper)}
.n-pg.active{background:var(--navy);color:#fff}
.n-dots{color:var(--slate)}



/* ===== active tag filter bar (refined) ===== */
    .n-filters {
      margin-bottom: 18px
    }

    .tagbar {
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transform: translateY(-6px);
      transition: max-height .5s var(--ease), opacity .45s var(--ease), transform .45s var(--ease);
      margin-bottom: 0
    }

    .tagbar.on {
      max-height: 220px;
      opacity: 1;
      transform: none;
      margin-bottom: clamp(26px, 3.5vw, 40px)
    }

    .tagbar-inner {
      position: relative;
      display: flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
      background: linear-gradient(90deg, rgba(91, 197, 238, .07), rgba(37, 80, 165, .03) 55%, transparent);
      border: 1px solid var(--line);
      border-radius: 4px;
      padding: 16px 22px
    }

    .tagbar-inner::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 4px;
      border-radius: 4px 0 0 4px;
      background: linear-gradient(180deg, var(--cyan), var(--navy))
    }

    .tagbar .tb-label {
      font-family: "Zilla Slab", serif;
      font-weight: 600;
      font-size: .62rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--cyan-d);
      white-space: nowrap
    }

    .tagbar .tb-chips {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap
    }

    .tb-chip {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: linear-gradient(135deg, var(--navy), var(--cyan-d));
      color: #fff;
      border: none;
      border-radius: 999px;
      padding: 8px 10px 8px 16px;
      font-family: "Zen Kaku Gothic New", sans-serif;
      font-size: .84rem;
      font-weight: 500;
      letter-spacing: .02em;
      cursor: pointer;
      box-shadow: 0 10px 22px -14px rgba(37, 80, 165, .9);
      transition: .35s var(--ease);
      animation: chipIn .4s var(--ease)
    }

    @keyframes chipIn {
      from {
        opacity: 0;
        transform: scale(.86)
      }

      to {
        opacity: 1;
        transform: scale(1)
      }
    }

    .tb-chip {
      text-decoration: none
    }

    .tb-chip::before {
      content: "#";
      color: var(--glint);
      font-weight: 700
    }

    .tb-chip .x {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .18);
      font-size: .72rem;
      line-height: 1;
      transition: .3s var(--ease)
    }

    .tb-chip:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 28px -14px rgba(37, 80, 165, 1)
    }

    .tb-chip:hover .x {
      background: #fff;
      color: var(--navy);
      transform: rotate(90deg)
    }

    .tagbar .tb-count {
      margin-left: auto;
      display: flex;
      align-items: baseline;
      gap: 7px;
      white-space: nowrap
    }

    .tagbar .tb-count .num {
      font-family: "Zilla Slab", serif;
      font-weight: 700;
      font-size: 1.5rem;
      line-height: 1;
      color: var(--navy)
    }

    .tagbar .tb-count .u {
      font-size: .78rem;
      color: var(--slate)
    }

    .tagbar .tb-clear {
      font-family: "Zen Kaku Gothic New", sans-serif;
      font-size: .78rem;
      font-weight: 500;
      color: var(--slate);
      background: none;
      border: none;
      text-decoration: none;
      cursor: pointer;
      padding: 6px 2px;
      border-bottom: 1px solid var(--line);
      transition: .3s var(--ease);
      white-space: nowrap
    }

    .tagbar .tb-clear:hover {
      color: var(--navy);
      border-color: var(--cyan)
    }

    @media(max-width:640px) {
      .tagbar-inner {
        gap: 12px;
        padding: 14px 16px
      }

      .tagbar .tb-count {
        margin-left: 0;
        width: 100%;
        order: 9
      }
    }

    /* clickable tags on items */
    .n-tags a {
      color: inherit;
      text-decoration: none;
      cursor: pointer;
      transition: .3s var(--ease);
      border-radius: 6px;
      padding: 2px 6px;
      margin: -2px 0
    }

    .n-tags a:hover {
      color: var(--navy);
      background: rgba(91, 197, 238, .14)
    }

    .n-tags a.on {
      color: #fff;
      background: linear-gradient(135deg, var(--navy), var(--cyan-d))
    }

    @media(prefers-reduced-motion:reduce) {

      .tagbar,
      .tb-chip,
      .tb-chip .x,
      .n-tags a {
        transition: none;
        animation: none
      }
    }