/* =========================================================
   JPニュース CSS（整理版・置換用）
   - 余分な .jpch-* / .site-header__inner の重複を排除
   - タブレット含む 768px 以上はヘッダー横並び固定
   - 767px 以下のみ pill の2ボタン
   ========================================================= */

/* ---------- 基本 ---------- */
body, input, button, textarea, select{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-weight:400;
}
.jpnews,.jpnews-archive{ max-width:960px; margin:0 auto; padding:0px 5px 0; box-sizing:border-box; }
@media (min-width:1280px){ .jpnews,.jpnews-archive{ max-width:1040px; } }
.jpnews *,.jpnews-archive *,.jpnews-hero__inner *,.jpnews-footer__inner *{ box-sizing:border-box; }

/* ---------- シングル（本文） ---------- */
.single-jpnews .jp-content{ color:#111827; font-size:1rem; letter-spacing:.02em; }
.single-jpnews .jp-content p{ line-height:1.9; margin:0 0 0.5em; }

/* 日付 */
.single-jpnews .jp-meta{ color:#667085; font-size:.95rem; margin:0 0 12px; }
body.single-jpnews .jp-date, body.single-jpnews .entry-meta, body.single-jpnews time{
  display:block; text-align:right; font-size:.9rem; color:#667085; margin-bottom:8px;
}

/* タイトル（h1に上下ライン） */
.single-jpnews h1.jp-title,
.single-jpnews .entry-title,
.single-jpnews .jpnews h1{
  font-size:clamp(26px,3.2vw,30px); line-height:1.25; font-weight:500; letter-spacing:.01em;
  margin:6px 0 12px; padding:16px 0 18px; position:relative; color:#0b0b0b;
  background:
    linear-gradient(90deg,rgba(10,91,220,.95),rgba(10,91,220,.95)) bottom/72px 4px no-repeat,
    linear-gradient(90deg,rgba(15,23,42,.15),rgba(15,23,42,.15)) bottom/100% 2px no-repeat,
    linear-gradient(90deg,#333,#333) top/100% 3px no-repeat;
}

/* リード */
.single-jpnews .jp-content>p:first-of-type,
.single-jpnews .jp-content p.is-lead{ font-size:1.06rem; line-height:1.9; color:#1f2937; margin:12px 0 25px; }
.single-jpnews .jp-content>p:first-of-type strong,
.single-jpnews .jp-content p.is-lead strong{ background:linear-gradient(transparent 60%,rgba(10,91,220,.10) 0); padding:0 .08em; }

/* CTA（上・本文内共通） */
.single-jpnews .jp-cta{ margin:12px 0; display:flex; gap:10px; flex-wrap:wrap; }
.single-jpnews a.jpbtn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:38px; padding:8px 14px; border-radius:10px; font-weight:700; text-decoration:none;
  border:1px solid rgba(16,90,220,.25); background:#0A5BDC; color:#fff;
}
@media (max-width:768px){ .single-jpnews .jp-cta .jpbtn{ width:100%; } }

/* 目次 */
.single-jpnews .jp-toc{ background:#f6f7f9; border:1px solid #E6E9EF; border-radius:14px; padding:16px; margin:24px 0; }
.single-jpnews .jp-toc__title{ font-weight:650; font-size:1.3rem; margin:0 0 12px; }
.single-jpnews .jp-toc__list{ list-style:none; margin:0; padding:5px 8px; border-top:1px solid #D0D5DD; }
.single-jpnews .jp-toc__item a{ display:flex; align-items:center; gap:8px; padding:5px 4px; text-decoration:none; color:#111827; }
.single-jpnews .jp-toc__item a:hover{ background:#F2F6FF; }
.single-jpnews .jp-toc__item--sub a{ padding-left:18px; color:#344054; }
.single-jpnews .jp-toc__label{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:78%; }
.single-jpnews .jp-toc__fill{ flex:1 1 auto; height:0; border-bottom:1px dotted #CBD5E1; margin:0 6px; }
@media (max-width:768px){ .single-jpnews .jp-toc__label{ max-width:90%; } }
html{ scroll-behavior:smooth; }
.single-jpnews .jp-content h2[id], .single-jpnews .jp-content h3[id]{ scroll-margin-top:100px; }

/* 見出し（h2/h3） */
body.single-jpnews .jp-content h2{
  position:relative; font-size:clamp(22px,2.2vw,26px); font-weight:600; color:#0b0b0b;
  margin:1em 0 0; padding:.25em 0 .7em 1.05em; scroll-margin-top:100px;
}
body.single-jpnews .jp-content h2::before{ content:""; position:absolute; left:0; top:.25em; bottom:.75em; width:5px; background:#0A5BDC; border-radius:5px; }
body.single-jpnews .jp-content h2::after{ content:""; position:absolute; left:0; right:0; bottom:0; border-bottom:1px dashed #D0D5DD; }
body.single-jpnews .jp-content h2 + p{ margin-top:.6em; font-size:1.02rem; color:#1f2937; }

body.single-jpnews .jp-content h3,
body.single-jpnews .jp-subttl {
  position: relative;
  font-size: clamp(18px, 1.7vw, 20px);
  font-weight: 700;
  color: #111827;
  margin: 0.5em 0 0.8em;
  padding-left: 1em;                /* 余白をやや広げて視認性UP */
  line-height: 1.5;
  scroll-margin-top: 100px;
}

/* before: 丸→縦バーへ変更（知的でビジネス感） */
body.single-jpnews .jp-content h3::before,
body.single-jpnews .jp-subttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 4px;                         /* 細く縦バーに */
  height: 1.2em;
  border-radius: 0px;
  background: #7BA9E6;
  box-shadow: none;                   /* リングを削除 */
}

/* after: 下線を淡く・余白をとる */
body.single-jpnews .jp-content h3::after,
body.single-jpnews .jp-subttl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.5em;
  border-bottom: 1px solid #EEF1F5;    /* トーンを落とす */
}



/* 画像・図版 */
.single-jpnews .jp-content img{
  display:block; max-width:100%; height:auto; margin:0.5em auto; border-radius:10px;

}
.single-jpnews .jp-content figure{ margin:0.2em 0; text-align:center; }
.single-jpnews .jp-content figcaption, .single-jpnews .jp-content .wp-caption-text{ color:#667085; font-size:.9rem; margin-top:.45em; }
.single-jpnews .wp-caption{ max-width:100%; }
.single-jpnews .alignleft{ float:left; margin:0 1.2em 1.2em 0; max-width:46%; }
.single-jpnews .alignright{ float:right; margin:0 0 1.2em 1.2em; max-width:46%; }
@media (max-width:768px){ .single-jpnews .alignleft,.single-jpnews .alignright{ float:none; margin:1.2em auto; max-width:100%; } }

/* 表・引用・hr */
.single-jpnews .jp-content table{ width:100%; border-collapse:collapse; margin:1.2em 0; }
.single-jpnews .jp-content th,.single-jpnews .jp-content td{ border:1px solid #E6E9EF; padding:.6em .8em; }
.single-jpnews .jp-content blockquote{ border-left:4px solid #E6E9EF; margin:1.2em 0; padding:.6em 1em; color:#475467; background:#F8FAFF; }
.single-jpnews .jp-content hr{ border:0; border-top:1px solid #E6E9EF; margin:2em 0; }

/* ---------- 読みやすさユーティリティ ---------- */
body.single-jpnews .jp-content strong{ font-weight:600; }
body.single-jpnews .jp-kpis{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 14px; }
body.single-jpnews .jp-kpi{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid #D0D5DD; border-radius:999px; background:#fff; box-shadow:0 1px 0 rgba(16,24,40,.04); }
body.single-jpnews .jp-kpi strong{ font-size:1.02rem; }
@media (min-width:769px){
  body.single-jpnews .jp-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  body.single-jpnews .jp-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  body.single-jpnews .jp-media{ display:grid; grid-template-columns:48% 1fr; gap:18px; align-items:start; }
}
body.single-jpnews .jp-media .jp-media__cap{ color:#667085; font-size:.9rem; margin-top:.45em; }
body.single-jpnews .jp-callout{ background:#F8FAFF; border:1px solid #E6E9EF; border-left:4px solid #0A5BDC; border-radius:10px; padding:12px 14px; margin:14px 0; color:#111827; }
body.single-jpnews .jp-note{ background:#FFFDF7; border:1px solid #F4E5BE; border-left:4px solid #F0C23B; border-radius:10px; padding:10px 12px; margin:12px 0 15px 0; color:#3b3b3b; }

/* ---------- 記事内CTA（ピル2列） ---------- */
body.single-jpnews .jp-inline-cta{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  margin:36px 0; padding:24px 20px; background:#FFF8F0; border:1px solid #FFE0B2; border-radius:12px;
}
body.single-jpnews .jp-inline-cta .cta-heading{ margin:0 0 6px; text-align:center; }
body.single-jpnews .jp-inline-cta .cta-text{ margin:0 0 12px; text-align:center; font-size:16px; line-height:1.6; color:#333; }
body.single-jpnews .jp-inline-cta .cta-text strong{ color:#0A5BDC; }
body.single-jpnews .jp-inline-cta a{
  display:inline-flex; align-items:center; justify-content:center; min-width:220px;
  padding:14px 22px; border-radius:999px; font-size:16px; font-weight:700; line-height:1; text-decoration:none;
  transition:transform .25s, box-shadow .25s, background .25s;
}
body.single-jpnews .jp-inline-cta a.is-main{ background:#FF7A00; color:#fff; border:1px solid #FF7A00; }
body.single-jpnews .jp-inline-cta a.is-main:hover{ background:#e86a00; transform:translateY(-3px) scale(1.04); box-shadow:0 6px 16px rgba(0,0,0,.2); }
body.single-jpnews .jp-inline-cta a.is-ghost{ background:#fff; color:#FF7A00; border:1px solid #FF7A00; }
body.single-jpnews .jp-inline-cta a.is-ghost:hover{ background:#fff4ec; transform:translateY(-3px) scale(1.03); box-shadow:0 6px 16px rgba(0,0,0,.1); }
body.single-jpnews .jp-inline-cta__buttons{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:16px; margin-top:8px; }
body.single-jpnews .jp-inline-cta__buttons .cta-col{ display:flex; flex-direction:column; align-items:center; row-gap:2px; }
body.single-jpnews .jp-inline-cta__buttons .cta-note{ margin:2px 0 0; font-size:12px; line-height:1.4; color:#666; text-align:center; }
body.single-jpnews .jp-inline-cta + *{ margin-top:16px; }
@media (max-width:640px){
  body.single-jpnews .jp-inline-cta{ padding-top:14px; padding-bottom:16px; }
  body.single-jpnews .jp-inline-cta__buttons{ flex-direction:column; gap:8px; }
}

/* ---------- アーカイブ ---------- */
.jpnews-archive .jp-lead{ color:#666; margin:4px 0 16px; }
.jpnews-archive .jp-list{ display:grid; gap:20px; }
.jpnews-archive .jp-item{ border:1px solid #e5e8ef; border-radius:8px; padding:7px; background:#fff; }
.jpnews-archive .jp-item a{ text-decoration:none; color:inherit; display:block; }
.jpnews-archive .jp-row{ display:flex; align-items:flex-start; gap:1rem; }
.jpnews-archive .jp-thumb{ flex:0 0 300px; margin:-2px -2px 0; border-radius:8px; overflow:hidden; }
.jpnews-archive .jp-thumb img{ display:block; width:100%; height:auto; transition:.25s; }
.jpnews-archive .jp-item:hover .jp-thumb img{ transform:scale(1.02); }
.jpnews-archive .jp-body{ flex:1; }
.jpnews-archive .jp-date{ color:#667085; font-size:.9rem; }
.jpnews-archive .jp-title{ font-size:1.5rem; font-weight:700; color:#222; margin:.2rem 0; }
.jpnews-archive .jp-ex{ color:#444; font-size:.96rem; line-height:1.7; margin-top:.4em;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.jpnews-archive .jp-more{ margin-top:8px; color:#0A5BDC; font-size:.92rem; }
@media (max-width:768px){
  .jpnews-archive .jp-row{ flex-direction:column; }
  .jpnews-archive .jp-thumb{ flex:0 0 auto; width:100%; }
}

/* =========================================
   まかせてチャンネル｜ヘッダーナビ（安全置き換え）
   - 影響範囲：.site-header--jp 配下のみ
   - Tablet(≥641px)：横並びのまま右寄せ
   - SP(≤640px)：中央寄せ・横長ピル2ボタン
   ========================================= */

/* ロゴの安定サイズ（巨大化防止） */
.site-header--jp .news-logo img{
  height: clamp(60px, 6vw, 70px);
  width: auto;
  display: block;
}

/* 行レイアウト（共通） */
.site-header--jp .site-header__inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 5px 10px 10px 5px;
  display: flex;
  align-items: center;
	gap: 5;
}

/* PC/Tablet：ナビは右寄せ・横並び */
.site-header--jp .jpch-nav{ margin-left: auto; }
.site-header--jp .jpch-nav__list{
  display: flex;
  flex-direction: row;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header--jp .jpch-nav__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 25px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  color: #333;
  transition: background .2s, color .2s, border-color .2s;
}
.site-header--jp .jpch-nav__link:hover:not(.is-active){ background:#f3f7fb; }
.site-header--jp .jpch-nav__link.is-active{
  background:#0A5BDC; color:#fff; border-color:#0A5BDC;
}

/* ===== SP（～640px）：ロゴ下で横長・低めの2ボタン ===== */
@media (max-width:640px){
  .site-header--jp .site-header__inner{
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .site-header--jp .jpch-nav{ margin-left: 0; width: 100%; }
  .site-header--jp .jpch-nav__list{
    display: grid;
    grid-template-columns: minmax(170px,1fr) minmax(170px,1fr);
    gap: 12px;
    max-width: 520px;
    margin: 0 auto;
    padding-top: 2px;
    justify-content: center;
    align-items: stretch;
  }
  .site-header--jp .jpch-nav__link{
    min-height: 44px;      /* 高さは控えめ */
    padding: 0 22px;       /* 横長に見せる */
    border: 1px solid #d1d5db;
    border-radius: 9999px; /* pill */
    background: #fff;
    color: #111;
    font-size: 15.5px;
  }
  .site-header--jp .jpch-nav__link.is-active{
    background:#0A5BDC;
	  color:#fff;
	  border-color:#0A5BDC;
	  border-radius: 9999px; /* pill */
  }
}

/* タブレット以上は必ず横並び（SP用gridの打ち消し保険） */
@media (min-width:641px){
  .site-header--jp .jpch-nav__list{
    display: flex !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    padding-top: 0 !important;
  }
}

/* ===== SP（～640px）ナビを幅いっぱい・中央配置 ===== */
@media (max-width:640px){
  .site-header--jp .jpch-nav{
    width:100%;
    margin-left:0;
  }
  .site-header--jp .jpch-nav__list{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2等分 */
    gap:12px;
    width:100%;
    max-width:none !important;     /* 520px上限を解除 */
    margin:0 auto;
    justify-content:center;
    align-items:stretch;
    justify-items:stretch;         /* 各セルいっぱいに */
  }
  .site-header--jp .jpch-nav__list > li{ width:100%; }
  .site-header--jp .jpch-nav__link{
    width:100%;                    /* ボタンを横長に */
    min-height:44px;
    padding:0 18px;                /* 高さは控えめ、横は長め */
    border:1px solid #d1d5db;
    border-radius:9999px;
    background:#fff;
    color:#111;
    font-size:15.5px;
    text-align:center;
  }
  .site-header--jp .jpch-nav__link.is-active{
    background:#0A5BDC; color:#fff; border-color:#0A5BDC;
  }
}


/* 超小型端末の微調整（任意） */
@media (max-width: 360px){
  .site-header--jp .jpch-nav__list{
    grid-template-columns: minmax(140px,1fr) minmax(140px,1fr);
    gap: 8px;
    max-width: 100%;
  }
  .site-header--jp .jpch-nav__link{
    min-height: 40px;
    padding: 0 16px;
    font-size: 15px;
  }
}

/* --- 共通：ホバー/アクティブの下線バー（PC/タブレットのみ） --- */
@media (min-width:641px){
  .site-header--jp .jpch-nav__link{
    position: relative;
  }
  .site-header--jp .jpch-nav__link::after{
    content:"";
    position:absolute;
    left:10px; right:10px; bottom:-6px;
    height:2px; border-radius:2px;
    background:#0A5BDC;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .2s ease;
  }
  .site-header--jp .jpch-nav__link:hover::after,
  .site-header--jp .jpch-nav__link.is-active::after,
  .site-header--jp .jpch-nav__link[aria-current="page"]::after{
    transform:scaleX(1);
  }
}

/* --- CTA：会員登録だけ常にボタン風（両ブレイクポイント対応） --- */
.site-header--jp .jpch-nav__link--cta{
  background:#0A5BDC;
  color:#fff;
  border-color:#0A5BDC;
  border-radius:9999px;
  padding:8px 16px;
}
.site-header--jp .jpch-nav__link--cta:hover{
  background:#094ebf; border-color:#094ebf; color:#fff;
}
/* SPでもCTAを維持 */
@media (max-width:640px){
  .site-header--jp .jpch-nav__link--cta{
    min-height:44px;
    background:#0A5BDC !important;
    color:#fff !important;
    border-color:#0A5BDC !important;
  }
}

/* --- フォーカス可視化（キーボード操作のアクセシビリティ） --- */
.site-header--jp .jpch-nav__link:focus-visible{
  outline: 3px solid #9fd1ff;
  outline-offset: 2px;
  border-radius: 25px;
}

/* --- スクロール時の影（任意：is-scrolledをヘッダーに付与） --- */
.site-header--jp.is-scrolled{
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  backdrop-filter: saturate(120%) blur(6px);
}

/* 1) PC/Tablet：下線は「通常リンクのみ」 */
@media (min-width:641px){
  .site-header--jp .jpch-nav__link{ position:relative; min-height:40px; line-height:1; }
  .site-header--jp .jpch-nav__link::after{
    content:"";
    position:absolute; left:10px; right:10px; bottom:-6px;
    height:2px; border-radius:2px; background:#0A5BDC;
    transform:scaleX(0); transform-origin:left center;
    transition:transform .2s ease;
  }
  /* ホバーで下線 */
  .site-header--jp .jpch-nav__link:hover::after{ transform:scaleX(1); }

  /* ★ 下線を出さない対象：アクティブ&CTA */
  .site-header--jp .jpch-nav__link.is-active::after,
  .site-header--jp .jpch-nav__link[aria-current="page"]::after,
  .site-header--jp .jpch-nav__link.jpch-nav__link--cta::after{
    display:none;
  }
}

/* 2) アクティブは “薄いハイライト＋文字色だけ青” に変更（塗りつぶしをやめる） */
.site-header--jp .jpch-nav__link.is-active:not(.jpch-nav__link--cta),
.site-header--jp .jpch-nav__link[aria-current="page"]:not(.jpch-nav__link--cta){
  background:#f1f6fe;           /* ほんのり */
  color:#0A5BDC;
  border-color:#cfe3ff;
  border-radius:25px;
}

/* 3) CTAは常時ボタン風（他と差別化） */
.site-header--jp .jpch-nav__link.jpch-nav__link--cta{
  background:#0A5BDC; color:#fff; border-color:#0A5BDC;
  border-radius:9999px; padding:8px 16px;
}
.site-header--jp .jpch-nav__link.jpch-nav__link--cta:hover{
  background:#094ebf; border-color:#094ebf; color:#fff;
}


/* ---------- フッター（全面青） ---------- */
footer.jpnews-footer{ position:relative; z-index:0; background:transparent; border:0; margin-top:60px; color:#fff; }
footer.jpnews-footer::before{
  content:""; position:absolute; left:50%; transform:translateX(-50%); width:100vw; top:0; bottom:0;
  background:#0A5BDC; border-top:1px solid rgba(255,255,255,.25); z-index:-1; pointer-events:none;
}
.jpnews-footer__inner{ max-width:960px; margin:0 auto; padding:18px 16px 24px; }
@media (min-width:1280px){ .jpnews-footer__inner{ max-width:1040px; } }
.jpnews-svcs-grid{ display:grid; gap:16px; grid-template-columns:repeat(3,1fr); margin:0 0 8px; }
@media (max-width:768px){ .jpnews-svcs-grid{ grid-template-columns:1fr; } }
.svc-col{ min-width:0; }
.svc-ttl{ margin:0 0 12px; padding:0 0 6px; font-size:18px; font-weight:700; color:#fff; border-bottom:1px solid rgba(255,255,255,.35); }
.svc-ttl a{ color:inherit; text-decoration:none; } .svc-ttl a:hover{ text-decoration:underline; }
.svc-list{ list-style:none; padding:0; margin:0; display:grid; gap:3px; }
.svc-list a{ color:#fff; text-decoration:none; font-size:13px; line-height:1; } .svc-list a:hover{ text-decoration:underline; }
.jpnews-copy{ display:block; text-align:center; color:#fff; opacity:.9; font-size:12px; margin-top:10px; }


/* ===== JPニュース一覧｜ヘッダー（カード見出し）復元 ===== */
.jpnews-archive .head--card{
  --accent:#0A5BDC;      /* ラベル青 */
  --muted:#475569;       /* 説明文の色 */
  --border:#e7eef9;      /* 枠線色 */
  --bg:#f5f9ff;          /* 背景帯色 */
  margin:8px 0 16px;
}

.jpnews-archive .head--card .titlebar{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:12px;
}

.jpnews-archive .head--card h1{
  margin:0;
  font-size:20px; line-height:1.25; font-weight:600; letter-spacing:.01em;
}



/* 「ニュース購読者限定」などのバッジ */
.jpnews-archive .head--card .label{
  display:inline-block;
  font-size:11.5px; font-weight:400; color:#fff;
  background:var(--accent);
  padding:.28em .75em;
  border-radius:999px;
  white-space:nowrap;
}

/* 説明文 */
.jpnews-archive .head--card .lead{
  margin:8px 2px 0;
  color:var(--muted);
  line-height:1.7;
  font-size:14.5px;
}
.jpnews-archive .head--card .lead .nowrap{ white-space:nowrap; }

/* モバイル調整 */
@media (max-width:640px){
  .jpnews-archive .head--card .titlebar{
    flex-direction:column; align-items:flex-start; gap:4px;
    border-radius:10px;
  }
  .jpnews-archive .head--card h1{ font-size:18px; }
  .jpnews-archive .head--card .label{ font-size:11px; padding:.25em .6em; }
  .jpnews-archive .head--card .lead{ font-size:14px; line-height:1.6; }
}

/* === JP News ヘッダーカード修正（SPも横並び／サブコピーを小さく灰色） === */

/* 見出しのサブコピー（隔週火曜日配信）を小さく・グレーに */
.jpnews-archive .head--card h1 {
  display: flex;              /* 文字とサブコピーのベースラインを揃える */
  align-items: baseline;
  gap: .5em;
  margin: 0;
}
.jpnews-archive .head--card h1 > span{
  font-size: 12.5px;          /* 小さく */
  color: #667085;             /* グレー */
  font-weight: 500;
  white-space: nowrap;
}

/* SPでも横一列で：左=タイトル、右=「ニュース購読者限定」 */
@media (max-width: 640px){
  .jpnews-archive .head--card .titlebar{
    display: grid !important;                 /* 既存の column 指定を打ち消し */
    grid-template-columns: 1fr auto;          /* 左1fr / 右auto */
    align-items: center;
    gap: 8px;
  }
  .jpnews-archive .head--card h1{
    font-size: 18px;                          /* SP見出しサイズ */
  }
  .jpnews-archive .head--card .label{
    justify-self: end;                         /* 右端に固定 */
  }
}


/* ─────────── レイアウト基本 ─────────── */
.jp-article { font-family: "Noto Sans JP", sans-serif; line-height: 1.8; color: #222; }
.jp-article h2 { font-size: 20px; font-weight: 700; margin: 28px 0 12px; color: #111; }
.jp-article p { margin: 5px 0 14px; }
.jp-clear { clear: both; }

/* ─────────── 強調・ハイライト ─────────── */
.jp-mark {
  font-weight: 700;
  color: inherit;
  background-image: linear-gradient(to bottom, transparent 60%, #e6f2fb 0);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-bottom: 1px;
	}
	
/* --- jp-highlight 緑トーン統一版 --- */
.jp-highlight {
  background: #f7fff9;
  border: 1px solid #bde5c8;
  border-radius: 6px;
  padding: 16px 20px;
  margin: 18px 0;
	font-size: 17px;
  line-height: 1.7;
}

/* 成果見出し（「効果」「成功事例より」など） */
.jp-highlight strong {
  color: #2a2c2d !important; /* ← 旧スタイルを上書き */
  font-weight: 700;
}

/* リスト項目内の強調も緑に */
.jp-highlight li strong {
  color: #00884b !important; /* 赤を完全にリセット */
}

/* リストテキスト全体の色 */
.jp-highlight ul.jp-list-plain li {
  color: #2a2c2d;
}

/* 引用ボックス（声やコメント） */
.jp-note {
  background: #fafffb;
  border: 1px solid #d5f1dc;
  border-radius: 6px;
  padding: 8px 12px;
  margin-top: 10px;
  color: #292b2c;
  font-size: 14px;
  font-style: italic;
}

/* 導入の進め方：guideボックス（中立グレー） */
.jp-highlight.guide {
  background: #f8f9fa;       /* 明るいグレー */
  border: 1px solid #ddd;    /* グレー枠 */
  border-radius: 6px;
  padding: 18px 20px;
  margin: 20px 0;
  color: #333;               /* 本文は黒系 */
}

/* 強調色をブランドブルーに変更（緑指定を打ち消す） */
.jp-highlight.guide strong {
  color: #0b5cff !important;   /* ← !importantで上位の緑指定を上書き */
  font-weight: 700;
}

/* リスト内テキストは通常色 */
.jp-highlight.guide ul.jp-list-plain li {
  color: #333;
}

/* 下部ノートボックス */
.jp-highlight.guide .jp-note {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 8px 12px;
  margin-top: 12px;
  color: #555;
  font-size: 14px;
  font-style: italic;
}



/* ─────────── 目次 ─────────── */
.jp-toc { background: #f9fbff; border: 1px solid #e6efff; border-radius: 12px; padding: 14px 16px; margin: 18px 0; }
.jp-toc__title { font-weight: 700; margin-bottom: 6px; }
.jp-toc__list { list-style: none; margin: 0; padding: 0; }
.jp-toc__item + .jp-toc__item { margin-top: 6px; }
.jp-toc__item a { display: flex; gap: 8px; text-decoration: none; color: #0b5cff; }
.jp-toc__fill {
  flex: 0 0 20px; height: 1px;
  background-image: linear-gradient(to right, rgba(11,92,255,.3) 33%, transparent 0);
  background-size: 6px 1px; background-repeat: repeat-x; opacity: .8;
}

/* ─────────── 図・画像 ─────────── */
.jp-imgfloat-right img { width: 100%; height: auto; display: block; }
.jp-caption { font-size: 13px; line-height: 1.6; color: #666; margin-top: 6px; text-align: center; }
.jp-figure { margin: 16px 0 20px; text-align: center; }
.jp-figure img { width: 100%; height: auto;}


/* ─────────── 2カラムブロック（声など）─────────── */
.jp-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0;
}
.jp-subttl { font-weight: 700; font-size: 16px; margin: 0 0 8px; color: #222; }
.jp-grid-2 p + p { margin-top: 12px; }

/* バリエーション */
.jp-grid-2.is-bordered > * {
  border: 1px solid #e6eaf0;
  border-radius: 10px;
  padding: 14px 16px;
  background: #fcfdff;
}

.jp-figure.two-col {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 20px 0;
}

.jp-figure.two-col figure {
  flex: 1 1 45%;
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 8px;
  padding: 12px 16px;
  text-align: center;
}

.jp-figure.two-col img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.jp-figure.two-col figcaption {
  border-top: 1px solid #eef2f7;
  padding-top: 6px;
  margin-top: 10px;
}


/* ✅ 2カラムのカード枠は残す */
.jp-article .jp-figure.two-col > figure{
  background: #fff;
  border: 1px solid #e6eaf0;       /* 外枠を戻す */
  border-radius: 12px;
  box-shadow: none;
  padding: 12px 16px;
}

/* ✅ 画像の枠線・影だけ消す（figureは触らない） */
.jp-article .jp-figure.two-col > figure img{
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}

/* レイアウトはそのまま */
.jp-article .jp-figure.two-col{
  display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; margin: 24px 0;
}
.jp-article .jp-figure.two-col figcaption{
  font-size: 14px; color: #555; text-align: center; margin-top: 8px;
}

/* スマホで縦積み */
@media (max-width: 640px){
  .jp-article .jp-figure.two-col{ flex-direction: column; align-items: center; }

  .jp-figure.two-col {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .jp-figure.two-col figure {
    max-width: 100%;
    border-radius: 10px;
  }

}

/* ─────────── レスポンシブ対応 ─────────── */
@media (max-width: 820px) {
  .jp-imgfloat-right { float: none !important; width: 100% !important; margin: 8px 0 12px 0 !important; }
  .jp-kpis { flex-direction: column; }
  .jp-grid-2 { grid-template-columns: 1fr; gap: 16px; }
}


/* ─────────── 記事内CTAの自動入力 ─────────── */
/* ==========================
   JPニュース CTAブロック（共通）
========================== */
/* 上の小CTAだけ横並び */
.jp-cta.jp-cta--top{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* 下の大CTAは縦積み・中央寄せ */
.jp-cta.jp-cta--bottom{
  display:block;            /* ← これが肝 */
  text-align:center;
  background:#fff8f2;
  border:1px solid #f6d4b5;
  border-radius:10px;
  padding:40px 20px;
  margin:60px auto 24px;
  max-width:1200px;
}

.jp-cta.jp-cta--bottom .cta-title{
  display:block;
  font-size:20px;
  font-weight:700;
  color:#005bbb;   /* ← ここだけ変更 */
  margin:0 0 10px;
  line-height:1.5;
}

.jp-cta.jp-cta--bottom .cta-lead{
  display:block;
  font-size:16px;
  color:#333;
  margin:0 0 24px;
  line-height:1.8;
}



/* 下CTA：左ボタン（1個目）＝塗りオレンジ */
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn:first-child {
  background:#ff8000 !important; color:#fff !important; border:none !important;
}

/* 下CTA：右ボタン（2個目）＝白抜きオレンジ */
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn:nth-child(2) {
  background:#fff !important; color:#ff8000 !important; border:2px solid #ff8000 !important;
}

/* スムーズな色変化 */
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn{
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* 左ボタン（1個目） hover：少し明るいオレンジ */
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn:first-child:hover{
  background:#ff9a2b !important;
  color:#fff !important;
}

/* 右ボタン（2個目） hover：塗りオレンジに反転 */
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn:nth-child(2):hover{
  background:#ff8000 !important;
  color:#fff !important;
  border-color:#ff8000 !important;
}

/* 片方しかない場合の保険（1ボタン運用時） */
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn:only-child{
  background:#ff8000 !important; color:#fff !important; border:none !important;
}
.jp-cta.jp-cta--bottom .cta-actions a.jpbtn:only-child:hover{
  background:#ff9a2b !important; color:#fff !important;
}


/* ボタンは横並び（スマホは折返し） */
.jp-cta.jp-cta--bottom .cta-actions{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin:0 0 10px;
}

.jp-cta.jp-cta--bottom .jpbtn{
  padding:12px 28px;
  border-radius:28px;
  font-weight:700;
  text-decoration:none;
}

/* パンくず（共通） */
.common_bread {
  padding: 1.5rem 0;
  justify-content: left;
  display: flex;
}
.common_bread ul {
  display: flex;
  flex-wrap: wrap;
}
.common_bread li {
	font-size: 0.8rem;
  letter-spacing: 0.05em;
  position: relative;
}
.common_bread li:not(:first-child) {
  padding-left: 1.7rem;
}
.common_bread li:not(:last-child) {
  margin-right: 0.8rem;
}
.common_bread li:not(:first-child)::before {
  position: absolute;
  top: 0.75em;
  left: 5px;
  content: "";
  width: 12px;
  height: 1px;
  border-bottom: 1px solid #184e9e;
}
.common_bread a {
  color: #004ea2;
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  transition: 0.3s;
}
.common_bread a:hover {
  transition: 0.3s;
  opacity: 0.7;
}

/* JPニュース専用：パンくず左詰め */
.single-jpnews .common_bread {
  justify-content: flex-start; /* 左寄せに変更 */
}

.single-jpnews .common_bread .common_inner {
  padding-left: 0; /* 既存のインナー余白を打ち消す */
  margin-left: 0;
}

/* JPニュース専用：パンくず左詰め */
.single-jpnews .common_bread {
  justify-content: flex-start; /* 左寄せに変更 */
}

.single-jpnews .common_bread .common_inner {
  padding-left: 0; /* 既存のインナー余白を打ち消す */
  margin-left: 0;
}

/* === 動画のパンくずをJPニュースと同じ左揃え＆サイズに === */
.single-videos .common_bread { justify-content: flex-start; }
.single-videos .common_bread .common_inner { padding-left: 0; margin-left: 0; }
.single-videos .common_bread li,
.single-videos .common_bread a {
	font-size: 0.8rem; 
  letter-spacing: 0.05em;
}

/* SP時の文字サイズ */
@media (max-width: 767px) {
  .single-videos .common_bread li,
  .single-videos .common_bread a { font-size: 11px; }
}

/* 混在対策：以前の「>」を消す（li::after を無効化） */
.single-videos .common_bread li::after { content: none !important; }

/* 「>」だけ消す */
.single-videos .common_bread li::after { content: none !important; }

/* 区切り線（::before）は出す — 念のため再指定 */
.single-videos .common_bread li:not(:first-child)::before { content: "" !important; }



/* SP */
@media (max-width: 767px) {
  .common_bread {
    padding: 15px 0;
    display: flex;
    justify-content: left;
  }
  .common_bread li {
    font-size: 11px;
  }
  .common_bread li:not(:first-child) {
    padding-left: 12px;
  }
  .common_bread li:not(:last-child) {
    margin-right: 5px;
  }
  .common_bread li:not(:first-child)::before {
    top: 9px;
    width: 7px;
    border-bottom: 1px solid #004ea2;
  }
  .common_bread a {
    font-size: 11px;
  }
}

/* 動画一覧ページだけパンくずを左寄せにする */
.post-type-archive-videos .common_bread {
  justify-content: flex-start !important;
  text-align: left !important;
}
.post-type-archive-videos .common_bread .common_inner {
  margin-left: 0;
  padding-left: 0;
}

/* ==== 前後記事ナビ：フルセット（2カラム／16:9固定／小さめサムネ） ==== */
:root{ --jp-accent:#008b7d; } /* 必要ならテーマ色に合わせて変更 */

.jp-prevnext{
  margin:48px 0 16px;
  border-top:1px solid #ddd;
  padding-top:16px;
}

/* 2カラム＋中央の仕切り */
.jp-prevnext__grid{
  display:grid;
  grid-template-columns:1fr 1px 1fr;
  gap:3px;
  align-items:stretch;
}
.jp-prevnext__divider{ background:#ddd; }

/* カード */
.jp-prevnext__item{
  position:relative;
  display:block;            /* a全体をクリック可 */
  padding:0 30px;           /* 矢印スペース */
  color:inherit;
  text-decoration:none;
}
.jp-prevnext__item:hover .jp-prevnext__title{ text-decoration:underline; }

.jp-prevnext__label{
  font-size:13px;
  color:#666;
  margin:0 0 6px;
}

/* サムネ小さめ（16:9維持）＋本文 */
.jp-prevnext__inner{
  display:grid;
  grid-template-columns:120px 1fr;  /* ← サムネ幅 */
  gap:14px;
  align-items:center;
  min-height: calc(120px * 9/16);   /* 矢印の縦中央を安定 */
}
.jp-prevnext__media{ width:120px; }

.jp-prevnext__thumb{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
  display:block;
  border-radius:6px;
  background:#f5f5f5;
}

/* タイトルは2行省略＆少し大きめ */
.jp-prevnext__title{
  font-size:16px;
  font-weight:600;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* 矢印（テキスト。SVG/フォント不要。縦中央） */
.jp-prevnext__item.is-prev::before,
.jp-prevnext__item.is-next::after{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:32px;           /* ← 大きさ */
  line-height:1;
  color:var(--jp-accent);
}
.jp-prevnext__item.is-prev::before{ content:'‹'; left:6px; }
.jp-prevnext__item.is-next::after { content:'›'; right:6px; }

/* スマホ：1カラム＋さらに小さめ */
@media (max-width:768px){
  .jp-prevnext__grid{ grid-template-columns:1fr; gap:20px; }
  .jp-prevnext__divider{ display:none; }
  .jp-prevnext__inner{
    grid-template-columns:100px 1fr; /* ← サムネ幅（SP） */
    gap:12px;
    min-height: calc(100px * 9/16);
  }
  .jp-prevnext__media{ width:100px; }
  .jp-prevnext__title{ font-size:16px; }
  .jp-prevnext__item.is-prev::before,
  .jp-prevnext__item.is-next::after{ font-size:24px; }
}

/* === Prev/Next base === */
.jp-prevnext { margin-top: 2.5rem; }
.jp-prevnext__grid{
  display:grid;
  grid-template-columns: 1fr 1px 1fr; /* 左 | 仕切り | 右 */
  align-items:flex-start;             /* 高さ違いでも崩れない */
  gap:2rem;
}

.jp-prevnext__divider{
  background: #e5e7eb; /* 仕切り線 */
  width:1px;
  height:100%;
  align-self:stretch;
}

/* カード本体（a） */
.jp-prevnext__item{ display:block; text-decoration:none; color:inherit; }
.jp-prevnext__label{ font-size:12px; opacity:.75; margin-bottom:.5rem; }

/* 内側：サムネ112px + タイトル */
.jp-prevnext__inner{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:12px;
  align-items:flex-start;
}

.jp-prevnext__media{ width:112px; }
.jp-prevnext__thumb{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:6px;
  display:block;
}
.jp-prevnext__thumb--ph{ background:#eee; }

/* 長いタイトルでも必ず折り返す */
.jp-prevnext__title{
  font-weight:600;
  line-height:1.5;
  overflow-wrap:anywhere; /* or word-break: break-word; */
  max-width: 28ch;        /* タイトル行長の上限（好みで） */
}

/* SPは1カラムにして仕切りも非表示 */
@media (max-width: 768px){
  .jp-prevnext__grid{ grid-template-columns:1fr; gap:1rem; }
  .jp-prevnext__divider{ display:none; }
  .jp-prevnext__title{ max-width:none; }
}


/* ===== 一覧へ戻るリンク（中央寄せ） ===== */
.jp-backlist{
  margin: 24px 0 0;
  text-align: center; /* ← センター寄せ */
}

.jp-backlist a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid #e3e3e3;
  border-radius: 9999px;
  text-decoration: none;
  color: #333;
  background: #fff;
  font-weight: 600;
  font-size: 15px;
  transition: all .2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.jp-backlist a:hover{
  background: #f7f7f7;
  border-color: #ccc;
  transform: translateY(-1px);
}

.jp-backlist__chev{
  font-size: 18px;
  line-height: 1;
  color: var(--jp-accent, #008b7d);
}

/* ===== 2カラム等高カード：最小・一本化（強制上書き） ===== */
:where(.jp-article, .content, .article, body) .kh-split.kh-split--cards{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  grid-auto-flow: row !important;   /* 列流しリセット */
  column-count: initial !important; /* multi-column無効化 */
  column-gap: normal !important;
}
:where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-split__item{
  display: flex !important;
  width: auto !important; max-width: none !important;
  float: none !important; margin: 0 !important;
  grid-column: auto !important; grid-row: auto !important;
  justify-self: stretch !important; align-self: stretch !important;
  min-width: 0 !important;
}
:where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card{
  width: 100%; display: flex; flex-direction: column;
  border: 1px solid #e5e7eb; border-radius: 14px;
  padding: 20px; background: #fff;
}
:where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card h3{ margin:0 0 8px; }
:where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card ul{ margin:0; }

/* SPは1カラム＋読みやすい余白 */
@media (max-width: 768px){
  :where(.jp-article, .content, .article, body) .kh-split.kh-split--cards{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  :where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card{
    padding: 16px 18px !important; border-radius: 12px !important;
  }
  :where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card li{
    line-height: 1.9 !important; margin: 0 0 10px !important;
    overflow-wrap: anywhere; word-break: break-word;
  }
}

/* PCではカード間を広げる＆内側の余白も少し増やす */
@media (min-width: 1024px){
  :where(.jp-article, .content, .article, body) .kh-split.kh-split--cards{
    gap: 40px !important;              /* 24px → 40px に拡張 */
    padding-inline: 4px;                /* 親の左右に少し余白（任意） */
  }
  :where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card{
    padding: 24px 24px !important;      /* 中の詰まりも緩和 */
  }
  /* 視覚的に離して見せたい場合は薄い影を追加（任意） */
  :where(.jp-article, .content, .article, body) .kh-split.kh-split--cards .kh-card{
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
  }
}

.jp-btn-area {
  text-align: center;
  margin:1.5rem 0;
}

.jp-btn-primary {
  display: inline-block;
  background: #0078c9;
  color: #fff;
  padding: 14px 36px;
  border-radius: 24px; /* ← 角丸を強めに */
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(0, 120, 201, 0.25);
}

.jp-btn-primary:hover {
  background-color: #005ea8;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 120, 201, 0.35);
}

.jp-btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0, 120, 201, 0.2);
}

/* JPニュースのページネーションを横並びに */
/* JPニュースのページネーションを横並びに */
.c-pagination { margin: 24px 0 48px; }
.c-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.c-pagination li { margin: 0; }
.c-pagination a.page-numbers,
.c-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  line-height: 1;
  box-sizing: border-box;
}
.c-pagination span.page-numbers.current {
  background: #0a5bd8;
  border-color: #0a5bd8;
  color: #fff;
}
.c-pagination .page-numbers.dots {
  min-width: auto;
  min-height: auto;
  border: 0;
  padding: 10px 6px;
}

.c-pagination a.prev.page-numbers,
.c-pagination a.next.page-numbers {
  border-color: #0a5bd8;
  color: #0a5bd8;
  font-weight: 700;
  padding: 10px 16px;
}

.c-pagination a.prev.page-numbers:hover,
.c-pagination a.next.page-numbers:hover {
  background: #f5f8ff;
  border-color: #0a5bd8;
  color: #0a5bd8;
}

  /* ニュース記事内の強調リスト専用スタイル */
  .jp-bullet {
    margin: 16px 0 22px !important;   /* 上下の余白を確実に確保 */
    padding-left: 0 !important;       /* デフォルトULの左インデントを消す */
  }

  .jp-bullet li {
    margin: 6px 0 !important;          /* 各行の余白 */
    line-height: 1.8 !important;       /* 読みやすい行間 */
    list-style-position: inside !important;
  }

.cta-demo-link{
  margin-top: 12px;
}

.cta-demo-link a,
.cta-demo-link a:visited{
  color:#cc5f00;
  font-weight:700;
  text-decoration: none;
  border-bottom: 1px solid currentColor; /* 下線を細く */
  padding-bottom: 2px;
}


.cta-demo-link a:hover{
  opacity:.8;
}

/* iToGo / JPニュース用：黄色ハイライト（マーカー風） */
.highlight{
  /* 文字の後ろにマーカーを引く */
  background: linear-gradient(transparent 62%, #fff3a0 62%);
  padding: 0 .12em;
  border-radius: .12em;
  /* 1行でも複数行でも自然に見える */
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* 濃い背景やリンク内でも読めるように */
a .highlight{
  text-decoration: none;
}

/* 印刷時は薄めに（任意） */
@media print{
  .highlight{
    background: linear-gradient(transparent 70%, #ffe9a3 70%);
  }
}

/* ダークモードをテーマが使っている場合の保険（任意） */
@media (prefers-color-scheme: dark){
  .highlight{
    background: linear-gradient(transparent 62%, rgba(255, 243, 160, .55) 62%);
  }
}

.jpnews-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}

.jpnews-filter--child {
  margin-bottom: 30px;
}

/* 親 */
.jpnews-filter--parent a {
  display: inline-block;
  padding: 10px 18px;
  border: 1.5px solid #1f5fa8;
  border-radius: 999px;
  background: #fff;
  color: #1f5fa8;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  transition: .2s;
}

.jpnews-filter--parent a:hover,
.jpnews-filter--parent a.is-active {
  background: #1f5fa8;
  color: #fff;
}

/* 子 */
.jpnews-filter--child a {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #8fb4e5;
  border-radius: 999px;
  background: #fff;
  color: #1f5fa8;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.1;
  transition: .2s;
}

.jpnews-filter--child a:hover {
  background: #eef5ff;
  color: #1f5fa8;
}

.jpnews-filter--child a.is-active {
  background: #dceaff;
  border-color: #1f5fa8;
  color: #1f5fa8;
  font-weight: 700;
}


