/* 読みもの一覧・記事ページ用の共通ヘッダーとフッター（新しいページと同じメニュー）。本文のスタイルには触らない */
.tc-header, .tc-footer { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; line-height: 1.6; box-sizing: border-box; }
.tc-header *, .tc-footer * { box-sizing: border-box; }
.tc-header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding: 10px 4px 12px; margin: 0 0 16px; border-bottom: 2px solid #1b1b1d; background: #fff; }
.tc-header a, .tc-footer a { text-decoration: none; }
.tc-brand { display: flex; align-items: center; gap: 8px; color: #1b1b1d; }
.tc-brand svg { width: 30px; height: 23px; fill: #1b1b1d; flex: none; }
.tc-brand span { display: grid; line-height: 1.1; }
.tc-brand b { font-size: 22px; font-weight: 900; letter-spacing: .08em; color: #1b1b1d; }
.tc-brand small { font-size: 13px; margin-left: 6px; letter-spacing: .02em; }
.tc-brand em { font-style: normal; font-size: 10px; font-weight: 700; margin-top: 3px; color: #1b1b1d; }
.tc-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.tc-main, .tc-sub { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.tc-nav a { color: #1b1b1d; padding: 6px 0; display: inline-block; }
.tc-main a { font-size: 15px; font-weight: 700; }
.tc-sub a { font-size: 13px; font-weight: 500; }
.tc-nav a:hover { color: #e8412c; }

.tc-footer { margin: 40px 0 0; padding: 30px 20px 22px; background: #1b1b1d; color: #fff; font-size: 14px; }
.tc-footer p { margin: 6px 0 0; color: #fff; font-size: 14px; }
.tc-footer a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.tc-foot-top { display: grid; gap: 20px; }
.tc-foot-brand { font-size: 26px; font-weight: 900; letter-spacing: .08em; text-decoration: none !important; }
.tc-foot-brand small { font-size: 14px; margin-left: 8px; }
.tc-footer .tc-h { font-size: 16px; font-weight: 900; margin: 0 0 4px; }
.tc-row { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 20px; font-weight: 700; }
.tc-line { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .3); }
.tc-footer .tc-copy { margin-top: 16px; font-size: 13px; }
body > .tc-header { padding-left: 16px; padding-right: 16px; }
body > .tc-footer { margin-top: 48px; }
@media (min-width: 720px) {
  .tc-foot-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
