/* =========================================================
   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:12px 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 1.2em; }

/* 日付 */
.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:600; 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 18px; }
.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:700; font-size:1.1rem; margin:0 0 12px; }
.single-jpnews .jp-toc__list{ list-style:none; margin:0; padding:12px 8px; border-top:1px solid #D0D5DD; }
.single-jpnews .jp-toc__item a{ display:flex; align-items:center; gap:8px; padding:10px 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:70%; } }
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:1.6em 0 .7em; padding-left:.95em; scroll-margin-top:100px;
}
body.single-jpnews .jp-content h3::before,
body.single-jpnews .jp-subttl::before{
  content:""; position:absolute; left:0; top:.55em; width:12px; height:12px; border-radius:999px; background:#0A5BDC;
  box-shadow:0 0 0 2px rgba(10,91,220,.14);
}
body.single-jpnews .jp-content h3::after,
body.single-jpnews .jp-subttl::after{ content:""; position:absolute; left:0; right:0; bottom:-.25em; border-bottom:1px solid #E6E9EF; }

/* 画像・図版 */
.single-jpnews .jp-content img{
  display:block; max-width:100%; height:auto; margin:1.2em auto; border-radius:10px;
  box-shadow:0 10px 24px rgba(16,24,40,.06), 0 1px 0 rgba(16,24,40,.04);
}
.single-jpnews .jp-content figure{ margin:1.3em 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; 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:#FF7A00; }
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(40px, 6vw, 70px);
  width: auto;
  display: block;
}

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

/* 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: 6px;
  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;
  }
}

/* タブレット以上は必ず横並び（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;
  }
}



/* ---------- フッター（全面青） ---------- */
footer.jpnews-footer{ position:relative; z-index:0; background:transparent; border:0; margin-top:32px; 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;                         /* 右端に固定 */
  }
}


