/* blog.css — ブログ静的ページ用 (LP の design token と同系) */
:root {
  --ink: #0d1826;
  --paper: #f7f4ee;
  --paper-2: #efeae0;
  --paper-line: rgba(13, 24, 38, 0.12);
  --text-dark: #1b2433;
  --text-dark-2: #4a5468;
  --text-light: #f2efe8;
  --text-light-2: #a9b4c4;
  --gold: #b98a3e;
  --gold-bright: #d4a557;
  --gold-deep: #966f2e;
  --serif: "Shippori Mincho B1", "Hiragino Mincho ProN", serif;
  --sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--sans); background: var(--paper); color: var(--text-dark); line-height: 2.05; font-size: 16px; -webkit-font-smoothing: antialiased; }
a { color: var(--gold-deep); }
.bwrap { max-width: 760px; margin: 0 auto; padding: 0 24px; }

.bnav { background: var(--ink); padding: 16px 0; }
.bnav-in { display: flex; justify-content: space-between; align-items: center; max-width: 1080px; }
.bnav-logo { font-family: var(--serif); font-weight: 800; font-size: 19px; letter-spacing: 0.1em; color: var(--text-light); text-decoration: none; }
.bnav-logo span { color: var(--gold-bright); }
.bnav-links { display: flex; gap: 22px; align-items: center; }
.bnav-links a { color: var(--text-light-2); font-size: 13px; text-decoration: none; }
.bnav-cta { background: var(--gold); color: #fff !important; padding: 9px 18px; border-radius: 2px; font-weight: 700; }

.barticle { padding: 60px 24px 90px; }
.bcrumb { font-size: 12.5px; margin-bottom: 26px; color: var(--text-dark-2); }
.bcrumb a { color: var(--text-dark-2); }
.barticle h1 { font-family: var(--serif); font-size: clamp(24px, 4.6vw, 34px); font-weight: 800; line-height: 1.6; letter-spacing: 0.03em; margin-bottom: 14px; }
.bmeta { font-size: 13px; color: var(--text-dark-2); margin-bottom: 44px; padding-bottom: 22px; border-bottom: 1px solid var(--paper-line); }
article h2 { font-family: var(--serif); font-size: 22px; font-weight: 700; line-height: 1.7; margin: 52px 0 18px; padding-left: 16px; border-left: 3px solid var(--gold); }
article h3 { font-family: var(--serif); font-size: 17.5px; font-weight: 700; margin: 36px 0 12px; }
article p { margin: 0 0 22px; }
article ul, article ol { margin: 0 0 22px; padding-left: 26px; }
article li { margin-bottom: 6px; }
article strong { font-weight: 700; }
article blockquote { border-left: 3px solid var(--paper-line); padding: 4px 0 4px 20px; color: var(--text-dark-2); margin: 0 0 22px; }
article table { width: 100%; border-collapse: collapse; margin: 0 0 22px; font-size: 14px; }
article th, article td { border: 1px solid var(--paper-line); padding: 10px 14px; text-align: left; line-height: 1.8; }
article th { background: var(--paper-2); font-weight: 700; }
article hr { border: none; border-top: 1px solid var(--paper-line); margin: 40px 0; }

.bcta { background: var(--ink); color: var(--text-light); padding: 36px 38px; margin: 56px 0 0; }
.bcta-t { font-family: var(--serif); font-size: 19px; font-weight: 700; margin-bottom: 12px; }
.bcta p { font-size: 14px; color: var(--text-light-2); line-height: 2; margin-bottom: 22px; }
.bcta .bcta-t { color: var(--text-light); }
.bbtn { display: inline-block; background: var(--gold); color: #fff; font-weight: 700; font-size: 15px; letter-spacing: 0.05em; padding: 15px 32px; border-radius: 2px; text-decoration: none; }
.bback { margin-top: 46px; font-size: 14px; }

.bcard { display: block; background: #fff; border: 1px solid var(--paper-line); padding: 28px 30px; margin-bottom: 18px; text-decoration: none; color: var(--text-dark); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.bcard:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(13, 24, 38, 0.1); }
.bcard-date { font-size: 12px; color: var(--text-dark-2); margin-bottom: 6px; }
.bcard-title { font-family: var(--serif); font-size: 19px; font-weight: 700; line-height: 1.7; margin-bottom: 8px; }
.bcard-desc { font-size: 13.5px; color: var(--text-dark-2); line-height: 1.95; }

.bfoot { background: #0a1420; color: var(--text-light-2); padding: 50px 0 36px; font-size: 13px; }
.bfoot-logo { font-family: var(--serif); font-weight: 800; font-size: 18px; color: var(--text-light); letter-spacing: 0.1em; margin-bottom: 8px; }
.bfoot-logo span { color: var(--gold-bright); }
.bfoot-links { margin-top: 14px; }
.bfoot-links a { color: var(--text-light-2); margin-right: 18px; }
.bfoot-copy { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.12); font-size: 12px; }
