/* ============================================
   G検定 用語解説ページ（g/terms/）専用スタイル
   ============================================ */

.gt-main { max-width: 860px; margin: 0 auto; padding: 84px 20px 60px; }

/* パンくず */
.gt-main .breadcrumb-nav { font-size: 0.82rem; color: #64748b; margin-bottom: 18px; }
.gt-main .breadcrumb-nav a { color: #0d9488; text-decoration: none; }
.gt-main .breadcrumb-nav a:hover { text-decoration: underline; }

/* ヒーロー */
.gt-hero { background: linear-gradient(135deg, #eafaf7 0%, #ffffff 60%); border: 1px solid #cdeae5; border-radius: 16px; padding: 26px 28px; margin-bottom: 22px; }
.gt-field { display: inline-block; font-size: 0.72rem; font-weight: 800; color: #0f766e; background: #ccf2ec; border-radius: 999px; padding: 3px 12px; letter-spacing: 0.05em; margin-bottom: 10px; }
.gt-hero h1 { font-size: 1.5rem; font-weight: 900; color: #134e4a; line-height: 1.4; margin: 0 0 10px; }
.gt-lead { font-size: 0.92rem; color: #475569; line-height: 1.8; margin: 0 0 14px; }
.badge-new-sample, .badge-new { display: inline-block; font-size: 0.66rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, #f59e0b, #ef4444); border-radius: 6px; padding: 1px 8px; letter-spacing: 0.04em; vertical-align: 2px; }
.gt-adv-note { font-size: 0.8rem; color: #64748b; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 10px; padding: 10px 14px; margin: 0; line-height: 1.7; }

/* 進捗バー */
.gt-progress { margin: 0 0 14px; }
.gt-progress-bar { height: 10px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.gt-progress-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #0d9488, #059669); border-radius: 999px; transition: width 0.4s ease; }
#gtProgressText { font-size: 0.8rem; font-weight: 700; color: #0f766e; margin: 6px 0 0; }

/* 横断検索 */
.gt-search { position: relative; margin-bottom: 22px; }
.gt-search input { width: 100%; box-sizing: border-box; font-size: 0.95rem; padding: 12px 16px; border: 2px solid #cdeae5; border-radius: 12px; background: #fff; font-family: inherit; }
.gt-search input:focus { outline: none; border-color: #0d9488; }
.gt-search-results { position: absolute; z-index: 50; left: 0; right: 0; top: calc(100% + 4px); background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,0.12); max-height: 340px; overflow-y: auto; display: none; }
.gt-search-results.open { display: block; }
.gt-search-results a { display: block; padding: 10px 16px; font-size: 0.88rem; color: #1f3a5f; text-decoration: none; border-bottom: 1px solid #f1f5f9; }
.gt-search-results a:hover { background: #eafaf7; }
.gt-search-results a small { display: block; font-size: 0.72rem; color: #94a3b8; margin-top: 1px; }
.gt-search-results .gt-nohit { padding: 12px 16px; font-size: 0.85rem; color: #94a3b8; }

/* ページ内目次 */
.gt-toc { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px 22px; margin-bottom: 30px; }
.gt-toc-title { font-size: 0.85rem; font-weight: 800; color: #1f3a5f; margin: 0 0 10px; }
.gt-toc ul { list-style: none; margin: 0; padding: 0; }
.gt-toc li { margin: 0; }
.gt-toc li a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 6px; font-size: 0.9rem; color: #0f766e; text-decoration: none; border-bottom: 1px dashed #e2e8f0; }
.gt-toc li:last-child a { border-bottom: none; }
.gt-toc li a:hover { background: #eafaf7; border-radius: 6px; }
.gt-toc-n { font-size: 0.72rem; font-weight: 700; color: #94a3b8; flex-shrink: 0; }

/* 覚えたチェック（JSが各カードに注入） */
.gt-check { display: inline-flex; align-items: center; gap: 6px; font-size: 0.78rem; font-weight: 700; color: #64748b; background: #f1f5f9; border: 1.5px solid #e2e8f0; border-radius: 999px; padding: 5px 14px; cursor: pointer; margin-top: 10px; font-family: inherit; transition: all 0.15s ease; }
.gt-check:hover { border-color: #0d9488; color: #0f766e; }
.term-card.gt-done { background: #f6fefb; border-color: #99e5d5; }
.term-card.gt-done .gt-check { background: #0d9488; border-color: #0d9488; color: #fff; }

/* 前後ページナビ */
.gt-pn { display: flex; justify-content: space-between; gap: 12px; margin: 36px 0 8px; flex-wrap: wrap; }
.gt-pn-link { display: inline-block; font-size: 0.88rem; font-weight: 700; color: #0f766e; background: #fff; border: 1.5px solid #cdeae5; border-radius: 999px; padding: 10px 20px; text-decoration: none; }
.gt-pn-link:hover { background: #eafaf7; }

/* E資格発展リンクをピル化 */
.e-exam-ref-link { display: inline-block; font-size: 0.78rem !important; font-weight: 700; color: #1a56b8 !important; background: #eef4fe; border: 1px solid #cddcfb; border-radius: 999px; padding: 4px 14px; text-decoration: none !important; margin-top: 8px; }
.e-exam-ref-link::before { content: "発展 ↗ "; font-weight: 800; }
.e-exam-ref-link:hover { background: #dce8fd; }

@media (max-width: 560px) {
    .gt-main { padding: 76px 14px 48px; }
    .gt-hero { padding: 20px 18px; }
    .gt-hero h1 { font-size: 1.25rem; }
    .gt-pn { flex-direction: column; }
    .gt-pn-link { text-align: center; }
}
