@charset "utf-8";
/*
Theme Name: 転職ボイス
Theme URI: https://tenshoku-voice.com/
Description: 転職ボイス（tenshoku-voice.com）の自前テーマ。親テーマなし。声のデータベース型ページは inc/01-db-core.php の器が JSON から描く。
Author: 転職ボイス編集部
Version: 2026.09.15.11a
Requires PHP: 7.4
Text Domain: tenshoku-voice
*/

/* ============================================================
   転職ボイス サイト全体の見た目（ヘッダー・フッター・固定ページ・記事）
   ------------------------------------------------------------
   ⑪a（2026-09-15 藤井さん「下層もトップと同じデザインに」）＝白ベース＋4色（toridori.co.jp の型）
   ・黒 #111（押せるもの・見出し）／リンクの文字は青 #0057B7／面は薄い灰色 #F5F5F5／白い箱は影 0 0 0 1px #E6E6E6／注意は赤 #CD001A
   ・黄 #FFD100 は見出しのマーカーと1位の印、緑 #027223 は印だけ
   ・文字 #111・補助 #666・本文16px・行間1.7・書体は Noto Sans JP（Google Fonts・inc/00c-design.php が読む）・数字は Jost
   ・細い線で囲まない（面と影で区切る）・角丸8px・ダークモード無し・入力欄は16px以上
   ・ヘッダー／フッター／共通の部品は assets/site.css。DB型ページの部品は assets/db.css（器）。ここには置かない
   ============================================================ */
:root{
  --tv-main:#111111; --tv-main-dark:#333333; --tv-link:#0057B7; --tv-surface:#F5F5F5; --tv-chip:#ECECEC; --tv-soft:#F7F7F7; --tv-line:#E6E6E6; --tv-shadow:0 0 0 1px #E6E6E6;
  --tv-ink:#111111; --tv-sub:#666666; --tv-red:#CD001A; --tv-yellow:#FFD100; --tv-paper:#ffffff;
  --tv-font:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",-apple-system,BlinkMacSystemFont,sans-serif;
  --tv-num:"Jost","Noto Sans JP","Hiragino Sans",sans-serif;
  --tv-w:980px;
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--tv-paper);color:var(--tv-ink);font-family:var(--tv-font);font-size:16px;line-height:1.7;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;word-break:normal;overflow-wrap:anywhere}
*,*::before,*::after{box-sizing:border-box}
a{color:var(--tv-link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit;font-size:16px;line-height:inherit;color:inherit}
h1,h2,h3,h4{line-height:1.45;margin:0;font-weight:800;letter-spacing:0}
p{margin:0}
.tv-visually-hidden,.tvdb-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── ヘッダーとフッターは assets/site.css（.hd / .ft・⑪a）。緑の .tv-hd / .tv-ft は外した ── */

/* ── 本文の器 ── */
.tv-main{max-width:calc(var(--tv-w) + 32px);margin:0 auto;padding:8px 16px 40px}   /* 中身980px＋左右16px＝DB型ページ（.tvdb 980px）と左端がそろう */
.tv-main a:hover{text-decoration:underline}
.tv-main--db{max-width:none;padding:8px 0 40px}   /* DB型ページは器（.tvdb）が 980px を持つ。比べる表だけ1,280pxへ広がる */
.tv-main--db>.tvdb-wrap{padding:0 16px}

/* ── 固定ページ・記事 ── */
.tv-page__head,.tv-post__head{padding:14px 0 18px;margin:0 0 14px}
.tv-page__title,.tv-post__title{font-size:30px;font-weight:900;line-height:1.4;color:var(--tv-ink);letter-spacing:.01em}
.tv-post__meta{font-size:13px;color:var(--tv-sub);margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 14px}
.tv-post__meta a{color:var(--tv-ink);font-weight:700;background:var(--tv-surface);border-radius:999px;padding:2px 10px}
.tv-post__meta a:hover{background:#FFF3B8;text-decoration:none}
.tv-crumb{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:14px 0 4px;font-size:12px;color:var(--tv-sub)}
.tv-crumb a{color:var(--tv-link)}   /* ⑪c：リンクの色は青にそろえる */
.tv-crumb__sep{opacity:.5}
.tv-content{font-size:16px;line-height:1.85}
.tv-content>*{margin:0 0 1.1em}
.tv-content h2{font-size:22px;font-weight:900;display:table;position:relative;isolation:isolate;margin:2em 0 .8em;scroll-margin-top:84px;letter-spacing:.01em}
.tv-content h2::after{content:"";display:block;position:absolute;left:-.1em;right:-.1em;bottom:.06em;height:.42em;background:var(--tv-yellow);z-index:-1}   /* トップと同じ黄色のマーカー */
.tv-content h3{scroll-margin-top:84px}
.tv-content h3{font-size:17.5px;font-weight:800;margin:1.6em 0 .6em}
.tv-content ul,.tv-content ol{padding-left:1.4em}
.tv-content li{margin:0 0 .4em}
.tv-content table{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:15px}
.tv-content th{background:var(--tv-main);color:#fff;font-weight:700;padding:10px 12px;text-align:left}
.tv-content th:first-child{border-radius:8px 0 0 8px}
.tv-content th:last-child{border-radius:0 8px 8px 0}
.tv-content td{background:var(--tv-soft);padding:10px 12px;vertical-align:top}
.tv-content tr:nth-child(even) td{background:var(--tv-surface)}
.tv-content blockquote{margin:0 0 1.1em;padding:14px 18px;background:var(--tv-soft);border-radius:8px}
.tv-content .tv-box{background:var(--tv-surface);border-radius:8px;padding:18px 20px}
.tv-content .tv-box--red{background:#FBE4E6;color:#8A0012}
.tv-content dl.tv-dl{background:var(--tv-soft);border-radius:8px;padding:14px 18px}
.tv-content dl.tv-dl dt{font-weight:800;margin-top:10px}
.tv-content dl.tv-dl dt:first-child{margin-top:0}
.tv-content dl.tv-dl dd{margin:2px 0 0}

/* 記事の一覧（index / archive / search） */
.tv-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tv-list__i a{display:block;background:#fff;box-shadow:var(--tv-shadow);border-radius:8px;padding:18px 20px;color:var(--tv-ink);transition:transform .18s,box-shadow .18s}
.tv-list__i a:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 0 0 1px var(--tv-line),0 10px 24px rgba(0,0,0,.08)}
.tv-list__t{font-size:18px;font-weight:800;line-height:1.5;color:var(--tv-ink)}
.tv-list__i a:hover .tv-list__t{color:var(--tv-link)}
.tv-list__m{font-size:13px;color:var(--tv-sub);margin-top:6px}
.tv-list__x{font-size:14.5px;color:var(--tv-ink);margin-top:8px;line-height:1.7}
.tv-pager{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.tv-pager .page-numbers{display:inline-block;background:var(--tv-surface);border-radius:999px;padding:8px 14px;font-weight:700;color:var(--tv-ink)}
.tv-pager .page-numbers.current{background:var(--tv-main);color:#fff}
.tv-pager a.page-numbers:hover{background:#FFF3B8;text-decoration:none}
.tv-empty{background:var(--tv-surface);border-radius:8px;padding:24px;text-align:center;color:var(--tv-sub)}

/* お問い合わせフォーム（inc/03-contact.php） */
.tv-form{background:var(--tv-surface);border-radius:8px;padding:22px 22px 18px;margin:0 0 1.1em}
.tv-form__row{margin:0 0 14px}
.tv-form__lb{display:block;font-size:14px;font-weight:800;margin:0 0 6px}
.tv-form__lb i{font-style:normal;font-size:12px;font-weight:700;color:#fff;background:var(--tv-red);border-radius:999px;padding:2px 8px;margin-left:8px;vertical-align:middle}
.tv-form__in,.tv-form__ta,.tv-form__sel{display:block;width:100%;font-size:16px;padding:12px 14px;border:0;border-radius:8px;background:#fff;box-shadow:var(--tv-shadow);color:var(--tv-ink);-webkit-appearance:none;appearance:none}
.tv-form__ta{min-height:160px;resize:vertical}
.tv-form__in:focus,.tv-form__ta:focus,.tv-form__sel:focus{outline:3px solid rgba(0,87,183,.35);outline-offset:2px}
.tv-form__help{font-size:13px;color:var(--tv-sub);margin:4px 0 0}
.tv-form__btn{display:inline-block;font-size:16px;font-weight:800;color:#fff;background:var(--tv-main);border:0;border-radius:999px;padding:14px 28px;cursor:pointer;transition:background .15s,transform .15s}
.tv-form__btn:hover{background:var(--tv-main-dark);transform:translateY(-1px)}
.tv-form__hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.tv-form__msg{background:#fff;box-shadow:var(--tv-shadow);border-radius:8px;padding:14px 18px;margin:0 0 14px;font-weight:700}
.tv-form__msg.is-err{background:#FBE4E6;color:#8A0012}
.tv-form__msg.is-ok{background:#DFF0E3;color:#027223}

/* ── スマホ ── */
@media (max-width:680px){
  .tv-main{padding:6px 12px 32px}
  .tv-main--db{padding-left:0;padding-right:0}
  .tv-main--db>.tvdb-wrap{padding:0 20px}   /* 器の中身は350px。カードと表は器が -12px で374pxに広げる（合格の線370px以上） */
  .tv-page__head,.tv-post__head{padding:8px 0 14px}
  .tv-page__title,.tv-post__title{font-size:22px}
  .tv-form{padding:16px 14px 14px}
}
