/* ============================================================
   jpx-pub.css — 出版セクション共通スタイル（ISBN / 一般出版）
   読み込み: テーマ header（wp_template_part 42）から 1 回だけ
   ============================================================ */

/* ---------- 記事レイアウト（ISBN ページ） ---------- */
.jpxis{margin-top:1.4rem;font-size:15.5px;color:#2b3440;}
.jpxis p{line-height:1.95;margin:.9em 0;}
.jpxis .jpxis-lead{font-size:16px;color:#33414f;line-height:1.95;}
.jpxis ul{margin:.7em 0 1.1em;padding-left:1.25em;}
.jpxis li{margin:.5em 0;line-height:1.9;}
.jpxis b,.jpxis strong{color:#1f3a5f;}

/* ヒーロー插图 */
.jpxis .jpxis-hero{margin:0 0 2rem;padding:0;border-radius:12px;overflow:hidden;background:#faf6ec;box-shadow:0 1px 0 #e6eaf0;}
.jpxis .jpxis-hero img{display:block;width:100%;max-width:none!important;height:auto!important;aspect-ratio:920/465;object-fit:cover;object-position:50% 78%;border:0;}

/* 目次 */
.jpxis .jpxis-toc{counter-reset:jpxistoc;background:#f7f9fc;border:1px solid #e6eaf0;border-radius:10px;padding:1.05em 1.2em 1.1em;margin:1.9rem 0 .2rem;}
.jpxis .jpxis-toc .t{display:block;font-size:11.5px;letter-spacing:.18em;color:#b0843c;font-weight:700;margin-bottom:.45em;}
.jpxis .jpxis-toc a{display:block;position:relative;padding:.34em 0 .34em 1.9em;color:#1f3a5f;text-decoration:none;font-size:14px;line-height:1.65;border-bottom:1px dashed #e2e8f0;}
.jpxis .jpxis-toc a:last-child{border-bottom:0;}
.jpxis .jpxis-toc a:before{counter-increment:jpxistoc;content:counter(jpxistoc,decimal-leading-zero);position:absolute;left:0;top:.38em;font-size:11.5px;font-weight:700;color:#b0843c;letter-spacing:.04em;}
.jpxis .jpxis-toc a:hover{color:#b0843c;}

/* 見出し */
.jpxis .jpxis-h2{font-size:21px;font-weight:700;color:#1f3a5f;letter-spacing:.01em;margin:2.6rem 0 1.1rem;padding:0 0 .55rem;border-bottom:2px solid #e4e9f0;scroll-margin-top:96px;}
.jpxis .jpxis-h3{font-size:17px;font-weight:700;color:#1f3a5f;margin:1.9rem 0 .7rem;padding-left:.65rem;border-left:4px solid #b0843c;line-height:1.55;scroll-margin-top:96px;}

/* ISBN の構造チップ */
.jpxis .jpxis-code{display:flex;flex-wrap:wrap;gap:8px;margin:1.1rem 0 1rem;}
.jpxis .jpxis-code .c{flex:1 1 0;min-width:62px;text-align:center;}
.jpxis .jpxis-code .c b{display:block;font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:700;color:#1f3a5f;background:#eef2f8;border:1px solid #dbe3ee;border-radius:6px;padding:.34em 0;letter-spacing:.04em;}
.jpxis .jpxis-code .c i{display:block;font-style:normal;font-size:11.5px;color:#6b7784;margin-top:.35em;}

/* 図 */
.jpxis figure{margin:1.3rem 0 1.4rem;padding:0;}
.jpxis figure img{display:block;width:100%;height:auto!important;max-width:100%!important;border:1px solid #e6eaf0;border-radius:8px;background:#fff;}
.jpxis .jpxbar img{aspect-ratio:1000/470;}
.jpxis figcaption{font-size:12.5px;color:#6b7784;text-align:center;margin-top:.55rem;line-height:1.7;}

/* 表 */
.jpxis table{width:100%;border-collapse:collapse;margin:1rem 0 .4rem;font-size:14px;}
.jpxis thead th{background:#1f3a5f;color:#fff;font-weight:600;text-align:left;padding:.62em .7em;font-size:13.5px;white-space:nowrap;}
.jpxis tbody td{border-bottom:1px solid #e6eaf0;padding:.62em .7em;vertical-align:top;}
.jpxis tbody tr:nth-child(even) td{background:#f7f9fc;}
.jpxis tbody td:first-child{white-space:nowrap;color:#1f3a5f;font-weight:600;}

/* 注記・コラム */
.jpxis .jpxis-note{font-size:12.5px;color:#6b7784;line-height:1.8;margin:.5rem 0 0;}
.jpxis .jpxis-tip{background:#faf6ec;border-left:4px solid #b0843c;border-radius:0 6px 6px 0;padding:.85em 1em;margin:1.1rem 0;font-size:14.5px;line-height:1.85;color:#3c3428;}

/* 関連ページ */
.jpxis .jpxis-rel{margin:3rem 0 1rem;padding-top:1.6rem;border-top:1px solid #e6eaf0;}
.jpxis .jpxis-rel .t{display:block;font-size:11.5px;letter-spacing:.18em;color:#6b7784;font-weight:700;margin:0 0 .8em;}
.jpxis .jpxis-rel .g{display:grid;grid-template-columns:1fr;gap:.6em;}
.jpxis .jpxis-rel a{display:block;border:1px solid #e6eaf0;border-radius:9px;padding:.8em .95em;text-decoration:none;background:#fff;}
.jpxis .jpxis-rel a:hover{border-color:#c9a160;background:#fdfbf6;}
.jpxis .jpxis-rel b{display:block;color:#1f3a5f;font-size:14.5px;line-height:1.5;}
.jpxis .jpxis-rel span{display:block;color:#6b7784;font-size:12.5px;line-height:1.65;margin-top:.25em;}

/* ---------- ランディング（一般出版） ---------- */
.jpxpub{margin-top:1.2rem;font-size:15.5px;color:#2b3440;}
.jpxpub p{line-height:1.95;margin:.85em 0;}
.jpxpub b,.jpxpub strong{color:#1f3a5f;}
.jpxpub .jpxpub-hero{margin:0 0 1.9rem;padding:0;border-radius:12px;overflow:hidden;background:#faf6ec;box-shadow:0 1px 0 #e6eaf0;}
.jpxpub .jpxpub-hero img{display:block;width:100%;max-width:none!important;height:auto!important;aspect-ratio:920/440;object-fit:cover;object-position:50% 80%;border:0;}
.jpxpub .jpxpub-lead{font-size:16px;line-height:2;color:#33414f;}
.jpxpub .jpxpub-points{list-style:none;margin:1.3rem 0 1.6rem;padding:0;display:grid;gap:.55em;}
.jpxpub .jpxpub-points li{position:relative;padding:.1em 0 .1em 1.75em;line-height:1.8;font-size:14.5px;}
.jpxpub .jpxpub-points li:before{content:"";position:absolute;left:0;top:.62em;width:.62em;height:.62em;border-radius:50%;background:#b0843c;}
.jpxpub .jpxpub-h2{font-size:20px;font-weight:700;color:#1f3a5f;margin:2.5rem 0 1rem;padding:0 0 .5rem;border-bottom:2px solid #e4e9f0;}
.jpxpub .jpxpub-cards{display:grid;grid-template-columns:1fr;gap:.75em;margin:1.2rem 0 2rem;}
.jpxpub .jpxpub-card{position:relative;display:block;border:1px solid #e6eaf0;border-radius:11px;background:#fff;padding:1.05em 3em 1.05em 1.2em;text-decoration:none;}
.jpxpub .jpxpub-card:hover{border-color:#c9a160;background:#fdfbf6;}
.jpxpub .jpxpub-card .n{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;color:#b0843c;margin-bottom:.15em;}
.jpxpub .jpxpub-card b{display:block;font-size:16px;color:#1f3a5f;line-height:1.5;}
.jpxpub .jpxpub-card span{display:block;font-size:12.5px;color:#6b7784;line-height:1.7;margin-top:.3em;}
.jpxpub .jpxpub-card:after{content:"\2192";position:absolute;right:1.15em;top:50%;transform:translateY(-50%);color:#b0843c;font-size:15px;}
.jpxpub .jpxpub-contact{background:#1f3a5f;color:#eef2f8;border-radius:11px;padding:1.2em 1.3em;margin:2rem 0 .5rem;font-size:14px;line-height:1.9;}
.jpxpub .jpxpub-contact b{color:#fff;}
.jpxpub .jpxpub-contact a{color:#f2d9a3;text-decoration:none;border-bottom:1px solid rgba(242,217,163,.5);}
.jpxpub .jpxpub-note{font-size:12.5px;color:#6b7784;line-height:1.8;}

/* 戻るリンク・ギャラリー・動画 */
.jpxback{font-size:13px;margin:0 0 1.2rem;}
.jpxback a{color:#6b7784;text-decoration:none;border-bottom:1px solid #dbe3ee;padding-bottom:1px;}
.jpxback a:hover{color:#b0843c;border-color:#c9a160;}
.jpxis .jpxis-gal{display:grid;grid-template-columns:1fr 1fr;gap:.6em;margin:1.2rem 0;padding:0;}
.jpxis .jpxis-gal img{display:block;width:100%;height:auto!important;max-width:100%!important;border:1px solid #e6eaf0;border-radius:8px;background:#fff;aspect-ratio:1/1;object-fit:contain;background:#f7f9fc;}
.jpxis .jpxis-video{margin:1.4rem 0;}
.jpxis .jpxis-video video{display:block;width:100%;height:auto;border-radius:10px;background:#000;}


/* 日本語の見出しは語単位で折り返す */
.jpxis .jpxis-h2,.jpxis .jpxis-h3,.jpxpub .jpxpub-h2,.jpxpub .jpxpub-card b{word-break:auto-phrase;line-break:strict;}

/* ---------- 机上（min-width:900px）は本文欄を広げる ---------- */
@media(min-width:900px){
  .jpxis .jpxis-hero,.jpxpub .jpxpub-hero{--w:min(920px,calc(100vw - 72px));width:var(--w);max-width:none!important;margin-left:calc(50% - var(--w)/2)!important;margin-right:calc(50% - var(--w)/2)!important;}
  .jpxis .jpxis-hero{margin-bottom:2.2rem!important;}
  .jpxis figure{--w:min(920px,calc(100vw - 72px));width:var(--w);max-width:none!important;margin-left:calc(50% - var(--w)/2)!important;margin-right:calc(50% - var(--w)/2)!important;}
  .jpxpub .jpxpub-cards{grid-template-columns:1fr 1fr;}
}
@media(min-width:640px){
  .jpxis .jpxis-toc{display:grid;grid-template-columns:1fr 1fr;column-gap:1.8em;}
  .jpxis .jpxis-toc .t{grid-column:1/-1;}
  .jpxis .jpxis-toc a:nth-child(2){border-bottom:1px dashed #e2e8f0;}
  .jpxis .jpxis-rel .g{grid-template-columns:1fr 1fr;}
}

/* ---------- モバイル ---------- */
@media(max-width:781px){
  .jpxis .jpxbar img{aspect-ratio:360/430;}
  .jpxis .jpxis-h2{font-size:19px;margin-top:2rem;}
  .jpxis .jpxis-h3{font-size:16px;}
  .jpxis table{font-size:12.5px;}
  .jpxis thead th,.jpxis tbody td{padding:.55em .45em;}
  .jpxis tbody td:first-child{white-space:normal;}
  .jpxis .jpxis-code .c b{font-size:16px;}
  .jpxis .jpxis-hero img,.jpxpub .jpxpub-hero img{aspect-ratio:auto;height:auto!important;object-fit:fill;}
  .jpxpub .jpxpub-h2{font-size:18px;}
}

/* ---------- 手机端：logo 缩半 + 页面标题不显示 ---------- */
@media (max-width:782px){
  .wp-block-site-logo,.wp-block-site-logo a{width:60px!important;}
  .wp-block-site-logo img{width:60px!important;height:auto!important;max-width:60px!important;}
}
/* ページ／ページタイトルは表示しない（検索・読み上げ用に DOM は残す） */
body.page .wp-block-post-title + .wp-block-spacer,
body.page .wp-block-spacer:has(+ .wp-block-post-title){display:none!important;}
body.page .wp-block-post-title{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;}

/* ---------- 手机端：ISBN 费用表改卡片式，四列不再挤出屏幕 ---------- */
@media (max-width:640px){
  .jpxis .jpxtbl{display:block;width:100%;border:0;margin:1rem 0 .6rem;font-size:14px;}
  .jpxis .jpxtbl thead{display:none;}
  .jpxis .jpxtbl tbody{display:block;}
  .jpxis .jpxtbl tbody tr{display:block;border:1px solid #dfe6ef;border-radius:10px;margin:0 0 .7rem;background:#fff;overflow:hidden;}
  .jpxis .jpxtbl tbody tr:nth-child(even) td{background:#fff;}
  .jpxis .jpxtbl tbody tr td{display:flex;justify-content:space-between;align-items:baseline;gap:1em;padding:.5rem .85rem;border:0;border-top:1px solid #eef2f7;text-align:right;white-space:normal;font-weight:400;color:#23303f;}
  .jpxis .jpxtbl tbody tr td:first-child{display:block;background:#f4f7fb!important;border-top:0;text-align:left;font-weight:700;color:#1f3a5f;font-size:15px;}
  .jpxis .jpxtbl tbody tr td:first-child::before{content:none;}
  .jpxis .jpxtbl tbody tr td::before{content:attr(data-l);color:#5b6b7c;font-weight:600;font-size:12.5px;white-space:nowrap;}
}

/* ---------- 日中フォント混在対策：特定語を中国語フォントで描く ---------- */
.jpxzh{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Source Han Sans SC",sans-serif!important;}

/* ---------- 出版事業ページ：料金比較表（項目×3プラン） ---------- */
.entry-content .jpxpl{margin:1.5rem 0 1.8rem;}
.entry-content .jpxpl table{width:100%!important;max-width:100%!important;table-layout:fixed!important;border-collapse:separate;border-spacing:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(31,58,95,.07);font-size:14.5px;line-height:1.6;}
.entry-content .jpxpl thead th{background:#1f3a5f;color:#fff;font-weight:600;padding:11px 12px;text-align:left;border:0;font-size:13.5px;line-height:1.45;}
.entry-content .jpxpl thead th:first-child{width:21%;}
.entry-content .jpxpl tbody th{background:#eef3fa;color:#1f3a5f;font-weight:600;padding:11px 12px;text-align:left;vertical-align:top;border:0;border-top:1px solid #e2e8f0;font-size:13.5px;line-height:1.45;}
.entry-content .jpxpl tbody th small{display:block;font-weight:400;font-size:11px;color:#6b7c92;margin-top:2px;}
.entry-content .jpxpl tbody td{padding:11px 12px;border:0;border-top:1px solid #e2e8f0;color:#33414f;vertical-align:top;font-size:13.5px;}
.entry-content .jpxpl tbody tr:nth-child(even) td{background:#f7fafd;}
.entry-content .jpxpl tbody tr:first-child th,.entry-content .jpxpl tbody tr:first-child td{border-top:0;}


@media (min-width:783px){
  .entry-content .jpxpl tbody td[colspan]::before{content:"全プラン共通";display:inline-block;margin-right:8px;padding:1px 7px;border-radius:999px;background:#e8eff8;color:#5b7291;font-size:11px;font-weight:600;vertical-align:1px;}
}

@media (max-width:782px){
  .entry-content .jpxpl{margin:1.2rem 0 1.4rem;}
  .entry-content .jpxpl table{display:block!important;width:100%!important;max-width:100%!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;table-layout:auto!important;font-size:15px;}
  .entry-content .jpxpl thead{display:none!important;}
  .entry-content .jpxpl tbody{display:block!important;width:100%!important;}
  .entry-content .jpxpl tbody tr{display:block!important;width:100%!important;margin:0 0 12px!important;border:1px solid #e2e8f0!important;border-radius:12px!important;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(31,58,95,.06);}
  .entry-content .jpxpl tbody th{display:block!important;width:auto!important;background:#1f3a5f!important;color:#fff!important;border:0!important;padding:10px 14px!important;font-size:15px!important;white-space:normal!important;}
  .entry-content .jpxpl tbody th small{color:#c6d4e6;font-size:11.5px;}
  .entry-content .jpxpl tbody td{display:flex!important;width:auto!important;justify-content:space-between;align-items:flex-start;gap:1em;padding:9px 14px!important;border:0!important;border-top:1px solid #eef1f6!important;background:#fff!important;text-align:right;font-size:14.5px;}
  .entry-content .jpxpl tbody td::before{content:attr(data-l);color:#7d8b9d;font-size:12.5px;font-weight:600;white-space:nowrap;flex:0 0 auto;padding-top:1px;}
}
