/* ============================================================
   theme-light-sub.css — サブページ用ライトテーマ上書き
   theme-light.css の後に読み込む。body.theme-light 配下のみ有効。
   対象：course / service / about / recruit / privacy / tokushoho
        / thanks / coming-soon の各コンポーネント。
   本採用しない場合は index-light.html と theme-light*.css を削除。
   ============================================================ */

/* ---- Course の交互セクション地色 ---- */
.theme-light #sec-about,
.theme-light #sec-target,
.theme-light #sec-pricing,
.theme-light #course-contact { background: #ffffff; }
.theme-light #sec-instructor,
.theme-light #sec-learn,
.theme-light #sec-faq { background: linear-gradient(180deg, #ffffff, var(--paper-2)); }

.theme-light #sec-about,
.theme-light #sec-instructor,
.theme-light #sec-target,
.theme-light #sec-learn,
.theme-light #sec-pricing,
.theme-light #sec-faq,
.theme-light #course-contact,
.theme-light .pricing-cta-band {
  border-top: 1px solid var(--line);
  box-shadow: inset 0 16px 32px rgba(23,19,15,.04);
}

/* ---- Subpage hero（about / service-video / service-ip） ---- */
.theme-light .subpage-hero {
  background: linear-gradient(180deg, #ffffff, var(--paper-2));
  border-bottom: 1px solid var(--line);
}
.theme-light .subpage-hero .blob { opacity: .16; mix-blend-mode: normal; }
.theme-light .subpage-hero .blob-a { background: radial-gradient(circle, #ffd7b3, transparent 70%); }
.theme-light .subpage-hero .blob-b { background: radial-gradient(circle, #ffe3c6, transparent 70%); }
.theme-light .subpage-hero .hero-grid {
  background-image: linear-gradient(rgba(23,19,15,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(23,19,15,.04) 1px, transparent 1px);
}
.theme-light .breadcrumb { color: var(--txt-3); }
.theme-light .breadcrumb a { color: var(--cyan); }
.theme-light .subpage-title { color: var(--navy-600); }
.theme-light .subpage-lead { color: var(--txt-2); }

/* ---- Course hero（強化版） ---- */
.theme-light .course-hero {
  background: linear-gradient(180deg, #ffffff, var(--paper-2));
  border-bottom: 1px solid var(--line);
}
.theme-light .course-hero .blob { opacity: .16; mix-blend-mode: normal; }
.theme-light .course-hero .blob-a { background: radial-gradient(circle, #ffd7b3, transparent 70%); }
.theme-light .course-hero .blob-b { background: radial-gradient(circle, #ffe3c6, transparent 70%); }
.theme-light .course-hero .hero-grid {
  background-image: linear-gradient(rgba(23,19,15,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(23,19,15,.04) 1px, transparent 1px);
}
.theme-light .course-hero .scanline-overlay { display: none; }
.theme-light .title-line-1 { color: var(--txt-2); }
.theme-light .title-line-3 { color: var(--navy-600); }
.theme-light .course-hero-title { color: var(--navy-600); }
.theme-light .course-hero-lead { color: var(--txt-2); }
.theme-light .gradient-text {
  background: linear-gradient(120deg, var(--cyan), var(--steel));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Hero stats / trust badges */
.theme-light .hero-stats { background: #ffffff; border: 1px solid var(--line); box-shadow: 0 6px 20px rgba(23,19,15,.05); }
.theme-light .hero-stat-div { background: var(--line); }
.theme-light .stat-num { color: var(--cyan); text-shadow: none; }
.theme-light .stat-label { color: var(--txt-3); }
.theme-light .trust-badges span { color: var(--txt-2); background: var(--paper-2); border: 1px solid var(--line); }
.theme-light .trust-badges span i { color: var(--steel); }

/* ---- 汎用カード ---- */
.theme-light .feature-card,
.theme-light .feature-card-v2,
.theme-light .usecase-card,
.theme-light .voice-card,
.theme-light .instructor-note-card,
.theme-light .learning-flow,
.theme-light .flow-counseling-card,
.theme-light .price-card,
.theme-light .plan-assurance,
.theme-light .about-name-block {
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: 0 2px 10px rgba(23,19,15,.05);
}
.theme-light .feature-card:hover,
.theme-light .feature-card-v2:hover,
.theme-light .usecase-card:hover,
.theme-light .instructor-note-card:hover { border-color: rgba(255,122,47,.4); }

.theme-light .feature-card h3,
.theme-light .feature-card-v2 h3,
.theme-light .usecase-card h3 { color: var(--navy-600); }
.theme-light .feature-card p,
.theme-light .feature-card-v2 p,
.theme-light .usecase-card p { color: var(--txt-2); }
.theme-light .feature-card .fc-icon,
.theme-light .feature-card-v2 .fcv2-icon { color: var(--cyan); text-shadow: none; }
.theme-light .fcv2-num { color: rgba(255,122,47,.1); }
.theme-light .feature-card-v2.featured {
  border-color: rgba(255,122,47,.35);
  background: linear-gradient(160deg, rgba(255,122,47,.05), rgba(255,150,70,.03));
  box-shadow: 0 10px 30px rgba(255,122,47,.08);
}
.theme-light .fcv2-detail { border-top-color: var(--line); }
.theme-light .fcv2-detail span { color: var(--txt-3); }
.theme-light .fcv2-detail span i { color: var(--steel); }
.theme-light .usecase-card .uc-tag { color: var(--cyan); }

/* strength-row */
.theme-light .strength-row { border-bottom: 1px solid var(--line); }
.theme-light .strength-row .sr-num { color: var(--cyan); text-shadow: none; }
.theme-light .strength-row p { color: var(--txt-2); }

/* target-item / flow-step */
.theme-light .target-item { border-bottom: 1px solid var(--line); }
.theme-light .target-item span { color: var(--txt); }
.theme-light .target-item i { color: var(--cyan); }
.theme-light .flow-step { border-left: 1px solid rgba(255,122,47,.3); }
.theme-light .flow-step:last-child { border-left-color: transparent; }
.theme-light .flow-num {
  background: #ffffff; border: 1px solid var(--cyan); color: var(--cyan);
  box-shadow: 0 0 10px rgba(255,122,47,.18);
}
.theme-light .flow-step p { color: var(--txt-2); }

/* ---- Pricing ---- */
.theme-light .pricing-tabs { background: var(--paper-2); border: 1px solid var(--line); }
.theme-light .pricing-tab { color: var(--txt-2); }
.theme-light .pricing-tab.active {
  background: linear-gradient(120deg, #ff9a3d, var(--cyan)); color: #fff; box-shadow: 0 4px 14px rgba(255,122,47,.3);
}
.theme-light .price-name { color: var(--navy-600); }
.theme-light .price-desc { color: var(--txt-2); }
.theme-light .price-amount .num { color: var(--navy-600); }
.theme-light .price-amount .unit { color: var(--txt-3); }
.theme-light .price-amount .from { color: var(--txt-2); }
.theme-light .price-arrow { color: var(--txt-3); }
.theme-light .price-features li { color: var(--txt); }
.theme-light .price-features li i { color: var(--steel); }
.theme-light .price-features li.muted { color: var(--txt-3); }
.theme-light .price-features li.muted i { color: var(--txt-3); }
.theme-light .price-card.pro-plan { border-color: rgba(255,122,47,.25); }
.theme-light .price-card.basic-plan:hover { border-color: rgba(255,122,47,.6); box-shadow: 0 20px 44px rgba(255,122,47,.15); }
.theme-light .price-card.pro-plan:hover { border-color: rgba(226,120,40,.6); box-shadow: 0 20px 44px rgba(226,120,40,.15); }
.theme-light .plan-fit-tag.cyan { background: rgba(255,122,47,.1); color: var(--cyan); border: 1px solid rgba(255,122,47,.3); }
.theme-light .plan-fit-tag.magenta { background: rgba(226,120,40,.09); color: var(--navy-600); border: 1px solid rgba(226,120,40,.25); }
.theme-light .price-original { color: var(--txt-3); text-decoration-color: rgba(225,29,72,.5); }
.theme-light .price-discount-badge { background: linear-gradient(120deg, #ff7a2f, var(--cyan)); color: #fff; }
.theme-light .price-saving { color: var(--cyan); }

/* 残席表示 */
.theme-light .seats-info { background: var(--paper-2); border: 1px solid var(--line); }
.theme-light .seats-info i { color: var(--txt-3); }
.theme-light .seats-info .seats-label { color: var(--txt-2); }
.theme-light .seats-info.ample .seats-num { color: var(--cyan); }
.theme-light .seats-info.low .seats-num { color: #d08700; }
.theme-light .seats-info.last .seats-num { color: var(--magenta); }
.theme-light .seats-info.soldout { border-color: rgba(225,29,72,.3); background: rgba(225,29,72,.05); }
.theme-light .seats-info.soldout .seats-num { color: var(--magenta); }
.theme-light .seats-soldout-badge { color: var(--magenta); border: 1px solid rgba(225,29,72,.5); }
.theme-light .deadline-notice { background: rgba(225,29,72,.05); border: 1px solid rgba(225,29,72,.22); color: var(--txt-2); }
.theme-light .deadline-notice i { color: var(--magenta); }

/* ---- FAQ ---- */
.theme-light .faq-item { border-bottom: 1px solid var(--line); }
.theme-light .faq-q { color: var(--navy-600); }
.theme-light .faq-q i { color: var(--cyan); }
.theme-light .faq-a { color: var(--txt-2); }
.theme-light .note { color: var(--txt-3); }

/* ---- LP shared ---- */
.theme-light .lp-cta-band {
  background: linear-gradient(120deg, rgba(255,122,47,.08), rgba(255,150,70,.06));
  border: 1px solid rgba(255,122,47,.18);
}
.theme-light .lp-cta-band .glow { background: radial-gradient(circle, rgba(255,122,47,.25), transparent 70%); opacity: .3; }
.theme-light .lp-mini-form { background: #ffffff; border: 1px solid var(--line); box-shadow: 0 6px 24px rgba(23,19,15,.06); }
.theme-light .cta-band-features span { color: var(--txt-2); }
.theme-light .form-trust-bar { background: var(--paper-2); border: 1px solid var(--line); }
.theme-light .form-trust-bar span { color: var(--txt-2); }

/* ---- Compare table ---- */
.theme-light .compare-table { border: 1px solid var(--line); }
.theme-light .compare-header { background: var(--paper-2); border-bottom: 1px solid var(--line); }
.theme-light .compare-row { border-bottom: 1px solid var(--line); }
.theme-light .compare-row:hover { background: rgba(255,122,47,.03); }
.theme-light .compare-label { color: var(--navy-600); }
.theme-light .compare-other { color: var(--txt-2); border-left: 1px solid var(--line); }
.theme-light .compare-us { background: rgba(255,122,47,.06); border-left: 2px solid rgba(255,122,47,.4); color: var(--txt); }
.theme-light .compare-header .compare-us { color: var(--cyan); }
.theme-light .compare-note { color: var(--txt-3); }
.theme-light .logo-dot.small { background: var(--cyan); box-shadow: 0 0 8px rgba(255,122,47,.5); }

/* ---- Instructor ---- */
.theme-light .instructor-card { background: #ffffff; border: 1px solid var(--line); box-shadow: 0 4px 18px rgba(23,19,15,.06); }
.theme-light .instructor-card-glow { background: radial-gradient(circle, rgba(255,122,47,.12), transparent 70%); }
.theme-light .instructor-avatar {
  background: linear-gradient(135deg, rgba(255,122,47,.18), rgba(255,150,70,.12));
  border: 2px solid rgba(255,122,47,.4); color: var(--cyan); box-shadow: 0 0 24px rgba(255,122,47,.12);
}
.theme-light .instructor-badge { background: linear-gradient(120deg, #ff7a2f, var(--cyan)); color: #fff; }
.theme-light .instructor-name { color: var(--navy-600); }
.theme-light .instructor-bio { color: var(--txt-2); }
.theme-light .instructor-tags span { background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.25); color: var(--cyan); }
.theme-light .ach-item { color: var(--txt-2); }

/* instructor note card */
.theme-light .inc-number { color: rgba(255,122,47,.08); }
.theme-light .inc-title { color: var(--navy-600); border-bottom: 1px solid rgba(255,122,47,.18); }
.theme-light .inc-body { color: var(--txt-2); }
.theme-light .inc-body strong,
.theme-light .inc-body em { color: var(--navy-600); background: linear-gradient(transparent 60%, rgba(255,122,47,.18) 60%); }
.theme-light .inc-tag { color: var(--cyan); border-top: 1px solid var(--line); }

/* ---- Before / After ---- */
.theme-light .ba-card { border: 1px solid var(--line); }
.theme-light .ba-card.before { background: var(--paper-2); }
.theme-light .ba-card.after { background: rgba(255,122,47,.06); border-color: rgba(255,122,47,.25); box-shadow: 0 6px 24px rgba(255,122,47,.06); }
.theme-light .ba-card.before .ba-label { background: rgba(23,19,15,.06); color: var(--txt-3); }
.theme-light .ba-card.after .ba-label { background: linear-gradient(120deg, #ff9a3d, var(--cyan)); color: #fff; }
.theme-light .ba-card.before .ba-list li { color: var(--txt-3); }
.theme-light .ba-card.after .ba-list li { color: var(--txt); }
.theme-light .ba-card.before .ba-list li i { color: rgba(225,29,72,.6); }
.theme-light .ba-card.after .ba-list li i { color: var(--cyan); }
.theme-light .ba-arrow { color: rgba(255,122,47,.5); text-shadow: none; }

/* ---- Student voice ---- */
.theme-light .voice-card::before { color: rgba(255,122,47,.15); }
.theme-light .voice-text { color: var(--txt-2); }
.theme-light .voice-meta { border-top: 1px solid var(--line); }
.theme-light .voice-tag { color: var(--cyan); background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.2); }
.theme-light .voice-name { color: var(--txt-3); }

/* result banner */
.theme-light .result-banner { background: linear-gradient(120deg, rgba(255,122,47,.08), rgba(255,150,70,.05)); border: 1px solid var(--line); }
.theme-light .rb-glow { background: radial-gradient(circle, rgba(255,122,47,.15), transparent 70%); }
.theme-light .rb-num { color: var(--txt-3); }
.theme-light .rb-label { color: var(--txt-3); }
.theme-light .rb-big { color: var(--cyan); text-shadow: none; }
.theme-light .rb-div { background: var(--line); }

/* not-for box */
.theme-light .not-for-box { background: rgba(210,150,30,.06); border: 1px solid rgba(210,150,30,.2); }
.theme-light .not-for-title { color: var(--navy-600); }
.theme-light .not-for-box li { color: var(--txt-2); }
.theme-light .not-for-box li i { color: rgba(225,29,72,.6); }

/* roadmap */
.theme-light .roadmap-phase { border: 1px solid var(--line); }
.theme-light .roadmap-phase.highlight { border-color: rgba(255,122,47,.35); box-shadow: 0 6px 24px rgba(255,122,47,.08); }
.theme-light .rp-header { background: var(--paper-2); border-bottom: 1px solid var(--line); }
.theme-light .roadmap-phase.highlight .rp-header { background: rgba(255,122,47,.07); border-bottom-color: rgba(255,122,47,.2); }
.theme-light .rp-phase { color: var(--cyan); background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.25); }
.theme-light .rp-title { color: var(--navy-600); }
.theme-light .rp-goal { color: var(--txt-3); }
.theme-light .rp-items span { color: var(--txt-2); }
.theme-light .rp-items span i { color: var(--steel); }
.theme-light .roadmap-arrow { color: rgba(255,122,47,.4); }

/* learning flow */
.theme-light .lf-step { border-bottom: 1px solid var(--line); }
.theme-light .lf-step:hover,
.theme-light .lf-step-highlight:hover { background: rgba(255,122,47,.05); box-shadow: inset 4px 0 0 rgba(255,122,47,.6); }
.theme-light .lf-step:hover .lf-step-title { color: var(--cyan); }
.theme-light .lf-step:hover .lf-message { color: var(--txt); }
.theme-light .lf-phase-badge { color: var(--cyan); background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.25); }
.theme-light .lf-step-title { color: var(--navy-600); }
.theme-light .lf-goal { color: var(--txt-3); }
.theme-light .lf-goal i { color: rgba(255,122,47,.5); }
.theme-light .lf-message { color: var(--txt-2); }
.theme-light .lf-connector { color: rgba(255,122,47,.35); background: rgba(23,19,15,.015); border-bottom: 1px solid var(--line); }
.theme-light .lf-footer { background: rgba(255,122,47,.05); border-top: 1px solid rgba(255,122,47,.15); color: var(--txt-2); }
.theme-light .lf-footer i { color: var(--cyan); }
.theme-light .lf-footer strong { color: var(--navy-600); }

/* guarantee box */
.theme-light .guarantee-box { background: rgba(255,122,47,.05); border: 1px solid rgba(255,122,47,.2); }

/* flow counseling card */
.theme-light .fcc-header { background: rgba(255,122,47,.07); border-bottom: 1px solid rgba(255,122,47,.2); }
.theme-light .fcc-step-badge { background: linear-gradient(120deg, #ff9a3d, var(--cyan)); color: #fff; }
.theme-light .fcc-title { color: var(--navy-600); }
.theme-light .fcc-time { color: var(--cyan); background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.25); }
.theme-light .fcc-sub { color: var(--txt-3); }
.theme-light .fcc-body { border-bottom: 1px solid var(--line); }
.theme-light .fcc-body-lead { color: var(--txt-3); }
.theme-light .fcc-item { border-bottom: 1px solid var(--line); }
.theme-light .fcc-item-icon { background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.2); color: var(--cyan); }
.theme-light .fcc-item h4 { color: var(--navy-600); }
.theme-light .fcc-item p { color: var(--txt-2); }
.theme-light .fcc-fork-center { color: rgba(255,122,47,.6); }
.theme-light .fcc-branch.match { background: rgba(255,122,47,.07); border: 1px solid rgba(255,122,47,.25); }
.theme-light .fcc-branch.nomatch { background: var(--paper-2); border: 1px solid var(--line); }
.theme-light .fcc-branch.match .fcc-branch-icon { color: var(--cyan); }
.theme-light .fcc-branch.nomatch .fcc-branch-icon { color: var(--txt-3); }
.theme-light .fcc-branch.match h4 { color: var(--navy-600); }
.theme-light .fcc-branch.nomatch h4 { color: var(--txt-2); }
.theme-light .fcc-branch.match p { color: var(--txt-2); }
.theme-light .fcc-branch.nomatch p { color: var(--txt-3); }
.theme-light .fcc-fork-divider span { color: var(--txt-3); }

/* capacity card */
.theme-light .capacity-card { border: 1px solid rgba(255,122,47,.3); background: linear-gradient(135deg, rgba(255,150,70,.07), rgba(255,122,47,.05)); }
.theme-light .capacity-glow { background: radial-gradient(circle, rgba(255,122,47,.18), transparent 70%); }
.theme-light .capacity-left { border-right: 1px solid var(--line); background: rgba(255,122,47,.05); }
.theme-light .capacity-eyebrow { color: var(--magenta); }
.theme-light .capacity-num { color: var(--navy-600); text-shadow: 0 0 30px rgba(255,122,47,.25); }
.theme-light .capacity-unit { color: var(--txt-2); }
.theme-light .capacity-limit { color: var(--txt-3); }
.theme-light .capacity-reason-title { color: var(--navy-600); }
.theme-light .capacity-reason { color: var(--txt-2); }
.theme-light .capacity-warning { background: rgba(225,29,72,.06); border: 1px solid rgba(225,29,72,.2); color: var(--txt-2); }
.theme-light .capacity-warning i { color: var(--magenta); }
.theme-light .capacity-section-head { border-bottom: 1px solid var(--line); }
.theme-light .first-gen-banner { background: linear-gradient(120deg, rgba(225,29,72,.08), rgba(255,122,47,.07)); border: 1px solid rgba(225,29,72,.28); color: var(--txt-2); }
.theme-light .first-gen-banner i { color: var(--magenta); }
.theme-light .first-gen-banner strong { color: var(--navy-600); }

/* plan assurance */
.theme-light .plan-assurance-title { color: var(--navy-600); }
.theme-light .pa-item { background: rgba(255,122,47,.04); border: 1px solid rgba(255,122,47,.15); }
.theme-light .pa-item > i { color: var(--cyan); }
.theme-light .pa-item strong { color: var(--navy-600); }
.theme-light .pa-item p { color: var(--txt-2); }
.theme-light .plan-notes { border-top: 1px solid var(--line); }
.theme-light .plan-notes li { color: var(--txt-3); }
.theme-light .plan-notes li i { color: var(--txt-3); }

/* corporate problem / link card */
.theme-light .corp-problem-card { background: rgba(210,150,30,.05); border: 1px solid rgba(210,150,30,.18); color: var(--txt-2); }
.theme-light .corp-link-card { border: 1px solid rgba(255,122,47,.2); background: linear-gradient(135deg, rgba(255,122,47,.05), rgba(255,150,70,.04)); }
.theme-light .corp-link-card:hover { border-color: rgba(255,122,47,.4); box-shadow: 0 8px 32px rgba(255,122,47,.1); }
.theme-light .corp-link-eyebrow { color: var(--cyan); }
.theme-light .corp-link-title { color: var(--navy-600); }
.theme-light .corp-link-desc { color: var(--txt-2); }

/* target grid (course) */
.theme-light .target-col { border: 1px solid var(--line); }
.theme-light .target-col-header.good { background: rgba(255,122,47,.1); border-bottom: 1px solid rgba(255,122,47,.2); color: var(--cyan); }
.theme-light .target-col-header.bad { background: rgba(210,150,30,.08); border-bottom: 1px solid rgba(210,150,30,.2); color: #b8860b; }
.theme-light .target-col-body { background: #ffffff; }
.theme-light .target-item i.fa-circle-check { color: var(--cyan); }
.theme-light .target-item.not i.fa-xmark { color: rgba(225,29,72,.7); }
.theme-light .target-item.not span { color: var(--txt-3); }

/* pricing CTA band (full-bleed dark → light) */
.theme-light .pricing-cta-band {
  background: linear-gradient(120deg, #fff6ee, var(--paper-2));
  border-top: 1px solid rgba(255,122,47,.2);
  border-bottom: 1px solid var(--line);
}
.theme-light .pricing-cta-grid { background-image: linear-gradient(rgba(255,122,47,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,122,47,.08) 1px, transparent 1px); }
.theme-light .pricing-cta-glow-l { background: radial-gradient(circle, rgba(255,122,47,.25), transparent 65%); }
.theme-light .pricing-cta-glow-r { background: radial-gradient(circle, rgba(255,150,70,.22), transparent 65%); }
.theme-light .pricing-cta-title { color: var(--navy-600); }
.theme-light .pricing-cta-lead { color: var(--txt-2); }

/* ---- About page ---- */
.theme-light .about-name-formula { color: var(--navy-600); }
.theme-light .about-name-formula span { color: var(--cyan); }
.theme-light .about-name-body { border-top: 1px solid var(--line); }
.theme-light .about-name-body p { color: var(--txt-2); }
.theme-light .about-award-item { background: #ffffff; border: 1px solid var(--line); }
.theme-light .about-award-item:hover { background: var(--paper-2); border-color: var(--line-strong); }
.theme-light .award-gold { background: rgba(210,150,30,.14); color: #b8860b; border: 1px solid rgba(210,150,30,.35); }
.theme-light .award-silver { background: rgba(120,140,165,.12); color: #5a6b80; border: 1px solid rgba(120,140,165,.3); }
.theme-light .award-finalist { background: rgba(255,122,47,.1); color: var(--cyan); border: 1px solid rgba(255,122,47,.25); }
.theme-light .award-semi { background: var(--paper-2); color: var(--txt-2); border: 1px solid var(--line); }
.theme-light .award-name { color: var(--txt); }
.theme-light .about-specialty-item { background: #ffffff; border: 1px solid var(--line); color: var(--txt); }
.theme-light .about-specialty-item:hover { background: rgba(255,122,47,.06); border-color: rgba(255,122,47,.3); color: var(--navy-600); }
.theme-light .about-specialty-item i { color: var(--cyan); }
.theme-light .about-specialty-item small { color: var(--txt-3); }
.theme-light .about-info-table { border: 1px solid var(--line); }
.theme-light .about-info-row { border-bottom: 1px solid var(--line); }
.theme-light .about-info-row dt { background: var(--paper-2); color: var(--txt-2); }
.theme-light .about-info-row dd { color: var(--txt); }

/* ---- spec-table（privacy / tokushoho / recruit のインライン定義を上書き）---- */
.theme-light .spec-table { border: 1px solid var(--line); background: #ffffff; }
.theme-light .spec-row { border-bottom: 1px solid var(--line); }
.theme-light .spec-label { color: var(--cyan); }
.theme-light .spec-value { color: var(--txt); }
.theme-light .spec-value a { color: var(--cyan); }
.theme-light .pp-note { color: var(--txt-3); }

/* ============================================================
   ▼ RECRUIT ページ（ネオンダーク → 明色）
   ============================================================ */
body.theme-light.recruit-page { background: #ffffff; }

.theme-light.recruit-page .job-card,
.theme-light.recruit-page .usecase-card,
.theme-light.recruit-page .spec-table,
.theme-light.recruit-page .contact-form {
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: 0 8px 30px rgba(23,19,15,.06);
}
.theme-light.recruit-page .job-card::before,
.theme-light.recruit-page .usecase-card::before,
.theme-light.recruit-page .spec-table::before,
.theme-light.recruit-page .contact-form::before {
  background: linear-gradient(90deg, var(--cyan), var(--steel));
  opacity: 1;
}
.theme-light.recruit-page .job-card::after,
.theme-light.recruit-page .usecase-card::after,
.theme-light.recruit-page .contact-form::after {
  background: radial-gradient(circle, rgba(255,122,47,.1), transparent 70%);
}
.theme-light.recruit-page .job-card:hover,
.theme-light.recruit-page .usecase-card:hover {
  border-color: rgba(255,122,47,.5);
  box-shadow: 0 26px 52px rgba(23,19,15,.12), 0 0 30px rgba(255,122,47,.08);
}
.theme-light.recruit-page .job-card-tags span { background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.35); }
.theme-light.recruit-page .job-card .job-card-salary { color: var(--cyan); text-shadow: none; }
.theme-light.recruit-page .job-card .btn-ghost {
  color: #fff; background: linear-gradient(120deg, #ff9a3d, var(--cyan)); border: 1px solid transparent; font-weight: 700;
}
.theme-light.recruit-page .job-card .btn-ghost:hover { box-shadow: 0 8px 22px rgba(255,122,47,.35); filter: brightness(1.03); }
.theme-light.recruit-page .form-field input[type="file"] { color: var(--txt-2); }
.theme-light.recruit-page .form-field input[type="file"]::file-selector-button {
  background: rgba(255,122,47,.1); color: var(--cyan); border: 1px solid rgba(255,122,47,.4);
}
.theme-light.recruit-page .form-field input[type="file"]::file-selector-button:hover {
  background: rgba(255,122,47,.18); border-color: rgba(255,122,47,.6);
}

/* ============================================================
   ▼ THANKS ページ（インライン定義の上書き）
   ============================================================ */
.theme-light .thanks-card { background: #ffffff !important; border: 1px solid var(--line) !important; box-shadow: 0 12px 40px rgba(23,19,15,.08); }
.theme-light .thanks-icon { background: linear-gradient(135deg, rgba(255,122,47,.15), rgba(255,150,70,.12)); border: 1px solid rgba(255,122,47,.3); color: var(--cyan); }
.theme-light .thanks-title { color: var(--navy-600); }
.theme-light .thanks-email-box { background: rgba(255,122,47,.07); border: 1px solid rgba(255,122,47,.25); color: var(--cyan); }
.theme-light .thanks-note { background: var(--paper-2); border-left: 2px solid rgba(255,122,47,.4); color: var(--txt-2); }

/* ============================================================
   ▼ COMING SOON（coming-soon.html / service-corporate.html）
   ============================================================ */
.theme-light .coming-soon-wrap { background: linear-gradient(180deg, #ffffff, var(--paper-2)); }
.theme-light .cs-blob-a { background: radial-gradient(circle, #ffd7b3, transparent 70%); opacity: .2; mix-blend-mode: normal; }
.theme-light .cs-blob-b { background: radial-gradient(circle, #ffe3c6, transparent 70%); opacity: .2; mix-blend-mode: normal; }
.theme-light .cs-grid { background-image: linear-gradient(rgba(23,19,15,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(23,19,15,.04) 1px, transparent 1px); }
.theme-light .cs-eyebrow { color: var(--cyan); background: rgba(255,122,47,.1); border: 1px solid rgba(255,122,47,.25); }
.theme-light .cs-title { background: linear-gradient(120deg, var(--navy-600) 30%, var(--cyan) 75%, var(--steel) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.theme-light .cs-lead { color: var(--txt-2); }
.theme-light .cs-back-btn { color: var(--txt-2); border: 1px solid var(--line-strong); background: #ffffff; }
.theme-light .cs-back-btn:hover { color: var(--cyan); border-color: rgba(255,122,47,.4); background: rgba(255,122,47,.05); }
.theme-light .cs-footer-strip { color: var(--txt-3); }

/* ---- Course 下部固定目次バー（course-toc-bottom）---- */
.theme-light #course-toc-bottom {
  background: rgba(255,255,255,.92);
  border-top: 1px solid var(--line);
  box-shadow: 0 -6px 24px rgba(23,19,15,.06);
}
.theme-light .toc-b-link { color: var(--txt-3); }
.theme-light .toc-b-link:hover { color: var(--navy-600); }
.theme-light .toc-b-link.toc-b-active { color: var(--cyan); border-top-color: var(--cyan); }
.theme-light .toc-b-cta { color: rgba(255,122,47,.7) !important; }
.theme-light .toc-b-cta:hover,
.theme-light .toc-b-cta.toc-b-active { color: var(--cyan) !important; }

/* ---- privacy.html 本文（pp-article）---- */
.theme-light .pp-article h3 { color: var(--navy-600); }
.theme-light .pp-article h3 .pp-num { background: rgba(255,122,47,.12); color: var(--cyan); }
.theme-light .pp-article p,
.theme-light .pp-article li { color: var(--txt-2); }
.theme-light .pp-note { background: var(--paper-2); border: 1px solid var(--line); }

/* ---- tokushoho.html 注記（tksh-note）---- */
.theme-light .tksh-note { background: var(--paper-2); border: 1px solid var(--line); color: var(--txt-2); }
