/*
 * 採用LLMO総研（ブログ）＋固定ページのスタイル — v5（青系）。
 * style.css の :root（--navy/--blue/--tint/--line/--ink/--muted 等）に依存。
 */

/* パンくず */
.crumbs{background:var(--tint2);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.crumbs .wrap{padding-top:14px;padding-bottom:14px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--blue)}
.crumbs .sep{margin:0 8px;color:#b9c6d8}
.crumbs .current{color:var(--navy)}

/* 総研トップ／アーカイブの見出し */
.research-head{background:var(--tint2);border-bottom:1px solid var(--line);padding:54px 0 44px}
.research-head .lead{margin:12px 0 16px}
.research-head .body-col a{color:var(--blue);font-weight:700}
.research-head .body-col a:hover{color:var(--blue-d)}

/* 背景写真つき（総研トップ）— 文字は左の紺地、写真は右。重ねないので可読性を確保 */
.research-head--photo{position:relative;background:var(--navy);border-bottom:3px solid var(--blue);padding:76px 0 66px;overflow:hidden}
.research-head--photo .research-photo{position:absolute;top:0;right:0;bottom:0;width:50%;background-size:cover;background-position:center 20%}
.research-head--photo .research-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(20,36,58,.72) 26%,rgba(20,36,58,0) 78%)}
.research-head--photo .wrap{position:relative;z-index:1}
.research-head--photo .research-head-inner{max-width:600px}
.research-head--photo .eyebrow{color:#8fc0f0}
.research-head--photo .lead{color:#fff;margin:12px 0 16px}
.research-head--photo .body-col{color:#dbe6f2}
.research-head--photo .body-col a{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.5)}
.research-head--photo .body-col a:hover{color:#8fc0f0;border-color:#8fc0f0}
@media(max-width:860px){
	.research-head--photo .research-photo{width:100%}
	.research-head--photo .research-photo::before{background:rgba(20,36,58,.82)}
	.research-head--photo .research-head-inner{max-width:none}
}

/* 記事一覧 */
.blog-wrap{padding-top:60px;padding-bottom:80px}
.blog-head{margin-bottom:40px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:#fff;border:1px solid #E3EBF4;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.post-card:hover{box-shadow:0 22px 44px -30px rgba(20,36,58,.35);transform:translateY(-2px)}
.post-card .thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--tint)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px}
.post-card-title{font-size:18px;line-height:1.5;font-weight:700;color:var(--navy)}
.post-card-title a:hover{color:var(--blue)}
.post-card-excerpt{color:#516074;font-size:14px}
.readmore{color:var(--blue);font-weight:700;font-size:13.5px;margin-top:auto}
.readmore:hover{color:var(--blue-d)}
.post-meta{font-size:12.5px;color:var(--muted);letter-spacing:.02em}
.post-meta .sep{margin:0 7px;color:#b9c6d8}
.post-meta .cat{color:var(--blue);font-weight:700}
.post-meta a.by{color:var(--muted)}
.post-meta a.by:hover,.post-meta .cat:hover{color:var(--blue-d)}
.post-meta .rt{color:var(--muted)}
.no-posts{color:var(--muted)}
.no-posts a{color:var(--blue);font-weight:700}

/* ページネーション */
.pagination,.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px;justify-content:center}
.pagination .page-numbers{display:inline-block;padding:9px 15px;border:1.5px solid var(--line);border-radius:8px;color:var(--navy);font-size:14px;font-weight:700}
.pagination .page-numbers.current{background:var(--blue);color:#fff;border-color:var(--blue)}
.pagination a.page-numbers:hover{border-color:var(--blue2);color:var(--blue)}

/* 単一記事 */
.single-wrap{padding-bottom:72px}
.single-head{padding-top:44px;padding-bottom:6px}
.post-cat-tag{display:inline-block;font-size:12px;letter-spacing:.06em;color:var(--blue);background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:5px 14px;margin-bottom:14px;font-weight:700}
.post-cat-tag:hover{border-color:var(--blue2);background:#fff}
.single-head h1{font-size:clamp(26px,3.4vw,38px);line-height:1.45;color:var(--navy);font-weight:700;margin:14px 0 14px}
.single-head .post-meta{margin-top:6px}
.single-hero-img{max-width:960px;margin:0 auto 40px;border-radius:16px;overflow:hidden}
.single-hero-img img{width:100%;height:auto;display:block}
.entry{max-width:760px;margin:0 auto;font-size:16.5px;color:#334052;line-height:1.9}
.entry h2{font-size:24px;color:var(--navy);font-weight:700;margin:46px 0 14px;padding-top:8px}
.entry h3{font-size:19px;color:var(--navy);font-weight:700;margin:32px 0 12px}
.entry p{margin:0 0 20px}
.entry ul,.entry ol{margin:0 0 20px 1.4em}
.entry li{margin-bottom:8px}
.entry a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-weight:500}
.entry a:hover{color:var(--blue-d)}
.entry strong{color:var(--navy)}
.entry blockquote{border-left:3px solid var(--blue);background:var(--tint2);padding:16px 22px;margin:0 0 22px;color:#3f4b5c;border-radius:0 10px 10px 0}
.entry img{max-width:100%;height:auto;border-radius:10px}
.entry figure{margin:0 0 24px}
.entry code{background:var(--tint);padding:2px 6px;border-radius:4px;font-size:.9em}
.entry pre{background:var(--navy);color:#fff;padding:18px;border-radius:10px;overflow:auto;margin:0 0 22px}
.entry table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:15px}
.entry th,.entry td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--line)}
.entry thead th{border-bottom:2px solid var(--blue);color:var(--navy)}
.entry tbody th{width:32%;white-space:nowrap;color:var(--navy);font-weight:700;background:var(--tint2)}
.entry .lead-note{font-size:clamp(18px,2.1vw,22px);font-weight:700;color:var(--navy);line-height:1.7;margin:0 0 24px}

/* 目次 */
.toc{max-width:760px;margin:0 auto 36px;background:#fff;border:1px solid #E3EBF4;border-radius:14px;padding:22px 26px}
.toc-title{font-weight:700;color:var(--navy);margin-bottom:10px}
.toc ul{list-style:none;margin:0}
.toc li{padding:5px 0;font-size:14px}
.toc li.lv3{padding-left:18px;font-size:13.5px}
.toc a{color:#3f4b5c}
.toc a:hover{color:var(--blue)}

/* タグ・執筆者 */
.entry-foot{max-width:760px;margin:40px auto 0}
.tag-list a{display:inline-block;font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 14px;margin:0 6px 6px 0}
.tag-list a:hover{border-color:var(--blue2);color:var(--blue)}
.author-line{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:#4f5b6b}
.author-line .al-label{color:var(--blue);font-weight:700;margin-right:10px}
.author-line .al-name{font-weight:700;color:var(--navy)}
a.al-name:hover{color:var(--blue)}
.author-line .al-bio{display:block;margin-top:6px;font-size:13.5px;color:var(--muted)}
.author-line .al-more{display:inline-block;margin-top:10px;font-size:13px;color:var(--blue);font-weight:700}
.author-line .al-more:hover{color:var(--blue-d)}

/* 記事末の導線カード */
.research-cta{background:var(--navy);color:#fff;border-radius:16px;padding:34px 34px 32px;margin:48px 0 8px}
.research-cta .eyebrow{color:#7fb0e6}
.research-cta .rc-lead{font-size:20px;color:#fff;margin:10px 0 10px;font-weight:700}
.research-cta .rc-body{color:#c4d3e6;font-size:15px;max-width:40em;margin-bottom:22px}
.research-cta .rc-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.research-cta .rc-sub{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}
.research-cta .rc-lp{color:#8fc0f0;font-size:14px;font-weight:700}
.research-cta .rc-lp:hover{color:#fff}

/* 関連記事 */
.related{background:var(--tint2);border-top:1px solid var(--line);padding:64px 0}
.related .lead{margin-bottom:30px}

@media(max-width:860px){
	.post-grid{grid-template-columns:1fr}
	.research-cta{padding:28px 24px}
}
