/* ===== 医師のキャリアトレンドを考える｜カスタムCSS ===== */
:root{
  --main:#2C7A9B; --dark:#1E5A77; --accent:#4FA8CC;
  --ink:#2D3A3A; --sub:#6B7785; --line:#E5EBEF; --bg:#F7FAFB;
}
body{ color:var(--ink); background:var(--bg);
  font-family:-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;
  line-height:1.9; -webkit-font-smoothing:antialiased; }

/* 本文の読みやすさ */
.entry-content{ font-size:17px; line-height:2.0; color:var(--ink); letter-spacing:.01em; }
.entry-content p{ margin:1.2em 0; }

/* 見出し */
.entry-content h2{ font-size:24px; font-weight:700; color:var(--dark); margin:2.2em 0 1em;
  padding:.5em 0 .5em .8em; border-left:5px solid var(--main);
  background:linear-gradient(90deg,rgba(44,122,155,.06),transparent); }
.entry-content h3{ font-size:20px; font-weight:700; color:var(--main); margin:1.8em 0 .8em;
  padding-bottom:.3em; border-bottom:2px solid var(--line); }

/* リンク・リスト・引用・強調 */
.entry-content a{ color:var(--main); text-decoration:underline; text-underline-offset:2px; }
.entry-content a:hover{ color:var(--dark); }
.entry-content ul,.entry-content ol{ padding-left:1.4em; margin:1.2em 0; }
.entry-content li{ margin:.5em 0; }
.entry-content blockquote{ border-left:4px solid var(--accent); background:#fff; margin:1.4em 0;
  padding:.8em 1.2em; color:var(--sub); border-radius:0 6px 6px 0; }
.entry-content strong{ color:var(--dark);
  background:linear-gradient(transparent 60%, rgba(79,168,204,.25) 60%); }

/* 記事タイトル・カード */
.entry-title{ line-height:1.5; } .entry-title a{ color:var(--ink); }
.archive-entry,.entry{ background:#fff; border:1px solid var(--line); border-radius:10px;
  padding:20px 24px; margin-bottom:20px; box-shadow:0 2px 10px rgba(45,58,58,.04); }

/* サイドバー見出し */
.hatena-module-title{ font-size:15px; color:var(--dark); border-bottom:2px solid var(--main);
  padding-bottom:.4em; margin-bottom:.8em; }

/* ===== CTAボックス（記事末尾） ===== */
.cta-box{ background:#fff; border:1px solid var(--line); border-top:4px solid var(--main);
  border-radius:10px; padding:24px; margin:2.5em 0 1.5em; box-shadow:0 4px 16px rgba(45,58,58,.06); }
.cta-box-label{ display:inline-block; font-size:11px; letter-spacing:.1em; color:#fff;
  background:var(--sub); padding:2px 10px; border-radius:3px; margin:0 0 10px; }
.cta-box-title{ font-size:20px; font-weight:700; color:var(--dark); margin:0 0 6px; }
.cta-box-text{ font-size:15px; color:var(--sub); margin:0 0 16px; line-height:1.8; }
.cta-box-btn{ display:block; text-align:center; background:linear-gradient(135deg,var(--main),var(--dark));
  color:#fff !important; font-weight:700; font-size:17px; padding:16px; border-radius:8px;
  text-decoration:none !important; transition:.2s; }
.cta-box-btn:hover{ opacity:.92; transform:translateY(-1px); }

/* フォローボックス */
.follow-box{ text-align:center; background:var(--bg); border:1px dashed var(--main);
  border-radius:10px; padding:18px; margin:1.5em 0; }
.follow-box p{ margin:0 0 10px; color:var(--ink); font-size:14px; }
.follow-btn{ display:inline-block; background:#000; color:#fff !important; padding:10px 22px;
  border-radius:30px; text-decoration:none !important; font-weight:700; }

/* プロフィールボックス */
.profile-box{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px; }
.profile-name{ font-weight:700; color:var(--dark); margin:0 0 8px; }
.profile-desc{ font-size:13px; color:var(--sub); line-height:1.8; margin:0 0 12px; }
.profile-x{ display:inline-block; background:#000; color:#fff !important; font-size:13px;
  padding:6px 16px; border-radius:20px; text-decoration:none !important; }

@media(max-width:640px){ .entry-content{ font-size:16px; } .entry-content h2{ font-size:21px; } }