/* =========================================================
   作品③：読みやすさの修正（「細字が読めない」フィードバック 2026-09-28）
   1) 小さい文字は明朝→ゴシック  2) 最小サイズ14px（スマホ13px）
   3) 英字の飾り文字を太く大きく  4) 文字の緑・灰色を濃く（背景との差4.5以上）
   ========================================================= */
:root {
  --green: #3d7a32;     /* 文字・ボタン：白地で 5.2:1 */
  --green-2: #3d7a32;
  --muted: #5a6058;     /* 補足文：白地で 6.5:1 */
  --text: #1f231e;
  --line: rgba(40, 60, 40, .16);
}
body { font-size: 16px; }

/* ---- 4) 白文字を載せる緑の面は、明るいほうの端でも 4.5:1 以上に ---- */
.panel-green, .num, .vm-card, .cta-band .cta-box, .hub2-out {
  background: radial-gradient(ellipse 80% 60% at 20% 0%, rgba(255,255,255,.12), transparent 60%), linear-gradient(160deg, #4a8338, #3a7030) !important;
}
.vm-card:nth-child(2) { background: linear-gradient(160deg, #42793a, #33652b) !important; }
.work-date b, .tag, .artist-vname, .btn-primary, .gnav .btn-primary { background: #3d7a32 !important; }
.btn-primary:hover, .gnav .btn-primary:hover { background: #33652b !important; }
.btn-ghost { border-color: #3d7a32; color: #3d7a32; border-width: 1.5px; }
.menu-btn { background: #3d7a32; }
.footer { background: linear-gradient(160deg, #3f7431, #2f5d27); }
.footer, .footer a, .footer-addr, .footer-bottom { color: rgba(255,255,255,.92); }
.hub2-out > p, .hub2-out-en, .num-l small { color: rgba(255,255,255,.92) !important; }

/* ---- 1)2) 小さい説明文はゴシックにし、14px以上に ---- */
.rule-sub, .hub-card p, .story-label, .kanji-card p, .step-ja, .ms-ja, .hub2-out > p,
.tl-ev em, .rbars small, .num-l small, .pj-place, .work-meta, .biz-card-tag, .artist-card-body li,
.record-table small, .breadcrumb, .page-lead, .word-role, .footer-addr, .footer-bottom, .f-row label,
.company-table, .value-card p, .biz-list li, .chips li, .artist-cols li, .movie-head p, .wf-text, .work-desc {
  font-family: var(--sans) !important;
}
.rule-sub { font-size: 14px; font-weight: 500; letter-spacing: .12em; color: var(--muted); margin-top: 6px; }
.hub-card p { font-size: 14px; line-height: 1.75; color: #4a5048; }
.hub-card h3 { font-size: clamp(17px, 1.5vw, 20px); }
.story-label { font-size: 14px; font-weight: 500; letter-spacing: .08em; color: var(--green); }
.story p { font-size: 15px; }
.step-ja, .ms-ja { font-size: 14px; font-weight: 500; }
.hub2-out > p { font-size: 14.5px; }
.hub2-out li { font-size: 16px; }
.tl-ev em { font-size: 14px; color: var(--muted); }
.rbars small { font-size: 14px; color: var(--muted); }
.pj-place, .biz-card-tag { font-size: 14px; color: var(--muted); }
.pj-title { font-size: 16px; }
.biz-card-tag { color: var(--green); font-weight: 500; }
.artist-card-body li, .artist-cols li, .biz-list li, .chips li { font-size: 14.5px; color: #3a4038; }
.artist-card-body .catch, .artist-catch { color: var(--green); }
.footer-hand { font-size: 16px !important; }
.footer-addr, .footer-bottom, .footer-bottom a { font-size: 13.5px; }
.footer-nav a { font-size: 15px; }
.company-table > div { font-size: 15px; }
.company-table dt { font-family: var(--serif); color: var(--green); }
.company-table a.ext { font-size: 14px; color: var(--green); }
.f-row label { font-size: 15px; }
.breadcrumb { font-size: 14px; }
.page-lead { font-size: 15.5px; color: #3a4038; }
.work-meta, .work-meta span { font-size: 14px; color: var(--green); }
.value-card p, .word-role { font-size: 15px; }
.lead, .intro-text .lead { color: #2f342e; }
.record-table { font-size: 15px; }
.record-table small { font-size: 13.5px; }

/* ---- 3) 英字の飾り文字：大きく・太く・字間を詰めて濃い緑に ---- */
.eyebrow { font-size: 16px; font-weight: 600; letter-spacing: .2em; color: var(--green); }
.hero-label { font-size: 15px; font-weight: 600; letter-spacing: .22em; color: var(--green); }
.step-no, .pj-date { font-size: 16px; font-weight: 600; color: var(--green); }
.biz-card-en { font-size: 18px; font-weight: 600; letter-spacing: .12em; }
.hub2-out-en { font-size: 12.5px !important; letter-spacing: .2em; }
.hub2-vert { color: rgba(61, 122, 50, .6); font-size: 14px; }
.hero2-cap { font-size: 13.5px; color: #3a4038; }
.hero2-cap b { color: var(--green); }
.link-more { color: var(--green); font-size: 15px; }
.tl-months { color: #4a5048; font-weight: 600; }
.rbars b { color: var(--green); }
.cy-node b { color: var(--green); }
.ms-en { color: var(--green); font-size: 13px; }

/* ---- スマホ：最小13px ---- */
@media (max-width: 700px) {
  body { font-size: 15px; }
  .hub-card p, .rule-sub, .step-ja, .pj-place, .tl-ev em, .rbars small { font-size: 13.5px; }
  .footer-addr, .footer-bottom, .footer-bottom a { font-size: 13px; }
}

/* 取りこぼしの修正 */
.cta-band .cta-box .btn-primary { background: #fff !important; color: #2f5d27 !important; }
.vm-card .eyebrow, .vm-card .eyebrow::before { color: #e6f0de; }
.artist-card-body .link-more { font-size: 14px; }
.hero2-cap b { font-size: 14px; }
.record-table th { font-size: 14px; }
.cy-node span { font-size: clamp(12px, 1.25vw, 14px); }
.f-row label em { font-size: 12px; }

.v3 .hero2 .hero-label { color: #2f5d27; text-shadow: 0 0 8px #fff, 0 0 16px #fff, 0 0 26px rgba(255,255,255,.9); }
.v3 .hero2 .hero-lead { color: #1f231e; font-weight: 700; }
