/* Career Passport language-aware typography: 20260903-type-system1 */
:root{
  --cp-font-zh:"PingFang SC","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",sans-serif;
  --cp-font-ja:"BIZ UDGothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP","Meiryo",sans-serif;
  --cp-type-caption:12px;
  --cp-type-body:14px;
  --cp-type-label:13px;
  --cp-type-title:20px;
}

html[lang^="zh"] body,
.cp-lang-zh{
  font-family:var(--cp-font-zh);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

:lang(ja),
[lang="ja"],
.cp-lang-ja,
.ja,
.ja-note,
.lang-ja{
  font-family:var(--cp-font-ja) !important;
  font-kerning:normal;
  font-variant-east-asian:proportional-width;
  font-feature-settings:"palt" 1;
  line-break:strict;
  word-break:normal;
  -webkit-font-smoothing:antialiased;
}

/* 振り仮名は日本語学習箇所だけに付け、中文UIには付けない。 */
ruby{
  font-family:var(--cp-font-ja);
  ruby-align:center;
  ruby-position:over;
}
rt{
  font-family:var(--cp-font-ja);
  font-size:.5em;
  font-weight:500;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}

button,input,select,textarea{font-family:inherit}

/* 主要導線で共通利用する可読性の下限。 */
.cp-readable.cp-readable small{font-size:max(11px,.78em);line-height:1.55}
.cp-readable.cp-readable .eyebrow{font-size:11px}
.cp-readable button,.cp-readable a,.cp-readable input,.cp-readable select{touch-action:manipulation}
@media(max-width:420px){
  .cp-readable{font-size:15px}
}

/* Core mobile flows: captions stay readable without competing with headings. */
.cp-readable .entry-topbar span,
.cp-readable .entry-hero .eyebrow,
.cp-readable .entry-progress li,
.cp-readable .step-heading>span,
.cp-readable .foundation-tag,
.cp-readable .readiness-tag{font-size:11px}
.cp-readable .entry-hero p,
.cp-readable .purpose-option small,
.cp-readable .basic-gate-status p,
.cp-readable .foundation-copy p,
.cp-readable .free-note span,
.cp-readable .readiness-heading p{font-size:12px}
.cp-readable .basic-gate-note,
.cp-readable .foundation-card>small,
.cp-readable .destination-card small,
.cp-readable .destination-gate p,
.cp-readable .job-copy small,
.cp-readable .readiness-bridge>small,
.cp-readable .entry-note p{font-size:11px}
.cp-readable .basic-required-fields span,
.cp-readable .readiness-topics span,
.cp-readable .basic-gate-badge{font-size:10px}
.cp-readable .basic-gate-status b,
.cp-readable .destination-card b,
.cp-readable .entry-note b{font-size:13px}

.cp-readable .mode-choice-card span,
.cp-readable .mode-switch-card span,
.cp-readable .growth-head>div span,
.cp-readable .retry-plan-head span,
.cp-readable .result-recommendations-head>div>span,
.cp-readable .result-recommendation-issue>span,
.cp-readable .result-readiness-head>div>span,
.cp-readable .result-recommendation-jobs span:first-child{font-size:10px}
.cp-readable .mode-choice-card p,
.cp-readable .mode-switch-card p,
.cp-readable .growth-card p,
.cp-readable .retry-plan p,
.cp-readable .privacy,
.cp-readable .self-revision-note,
.cp-readable .result-recommendation-issue>p,
.cp-readable .result-recommendation-action-copy p,
.cp-readable .result-readiness-check>p,
.cp-readable .result-recommendation-jobs p{font-size:12px}
.cp-readable .mode-choice-card strong,
.cp-readable .mode-switch-card strong,
.cp-readable .growth-head>div strong,
.cp-readable .retry-plan-head strong,
.cp-readable .result-recommendations-head strong{font-size:14px}
.cp-readable .fact span,
.cp-readable .growth-stats span,
.cp-readable .audio-trigger small,
.cp-readable .guide,
.cp-readable .reflection-step small,
.cp-readable .improvement-choice,
.cp-readable .reflection-structure,
.cp-readable .previous-answer,
.cp-readable .score-copy span,
.cp-readable .metric-head,
.cp-readable .feedback ul,
.cp-readable .feedback ol,
.cp-readable .correction,
.cp-readable .result-recommendation-action-copy strong,
.cp-readable .result-readiness-head strong,
.cp-readable .result-readiness-dimensions span,
.cp-readable .result-recommendation-jobs strong{font-size:12px}
.cp-readable .training-role-readiness{display:block;margin-top:10px;color:#216d63;font-size:12px;font-weight:800;text-decoration:none}

.cp-readable .mock-topbar span,
.cp-readable .mock-eyebrow,
.cp-readable .mode-link-card span,
.cp-readable .interviewer-intro span,
.cp-readable .question-status span,
.cp-readable .report-heading span{font-size:10px}
.cp-readable .mock-lead,
.cp-readable .mode-link-card p,
.cp-readable .interviewer-intro p,
.cp-readable .rules-card ol,
.cp-readable .question-status p,
.cp-readable .mock-recorder>p,
.cp-readable .report-hero p,
.cp-readable .report-note,
.cp-readable .pace-summary,
.cp-readable .report-card ul,
.cp-readable .question-report-body,
.cp-readable .privacy-result{font-size:12px}
.cp-readable .content-row>div,
.cp-readable .delivery-metric span,
.cp-readable .delivery-metric small,
.cp-readable .report-card h3,
.cp-readable .question-report summary{font-size:11px}

.cp-readable .setup-hero p,
.cp-readable .trial-access-copy p,
.cp-readable .program-card small,
.cp-readable .mode-card small,
.cp-readable .section-heading small,
.cp-readable .field-label,
.cp-readable .safety-note p,
.cp-readable .intent-card p,
.cp-readable .question-guide,
.cp-readable .record-status,
.cp-readable .transcript-lead{font-size:12px}
.cp-readable .setup-session-summary{margin:13px 2px 0;padding:10px 12px;border-radius:12px;background:#edf5fb;color:#315d7c;font-size:12px;font-weight:800;text-align:center}

.cp-readable .context-flow-label,
.cp-readable .context-flow-step,
.cp-readable .head .h-tx .eyebrow,
.cp-readable .head .h-tx .supv,
.cp-readable .field label .opt,
.cp-readable .field label .req,
.cp-readable .field label .pre,
.cp-readable .disc,
.cp-readable .privacy-note{font-size:11px}
.cp-readable .form-intro span,
.cp-readable .field .sub,
.cp-readable .cta-context p{font-size:12px}

/* Course center and hub legacy styles used 7–10px captions; align them to the same mobile floor. */
.cp-readable .catalogIndex small,
.cp-readable .catalogHeading span,
.cp-readable .catalogCount,
.cp-readable .courseNo,
.cp-readable .aiGroupTitle small,
.cp-readable .aiJobState,
.cp-readable .status,
.cp-readable .srow,
.cp-readable .stepno{font-size:11px}

/* Final mobile readability floor for legacy high-specificity selectors. */
.cp-readable .privacy-assurance-head>div>span,
.cp-readable .privacy-badges span,
.cp-readable .privacy-details summary,
.cp-readable .privacy-details p,
.cp-readable .basic-gate-status p,
.cp-readable .basic-gate-note,
.cp-readable .basic-required-fields span,
.cp-readable .destination-card small,
.cp-readable .job-copy small,
.cp-readable .job-action,
.cp-readable .free-note span,
.cp-readable .readiness-topics span,
.cp-readable .readiness-bridge>small,
.cp-readable .employment-divider,
.cp-readable .entry-note p{font-size:11px}
.cp-readable .privacy-slogan{font-size:12px}
.cp-readable .stephead .step-label,
.cp-readable .stephead .step-subtitle,
.cp-readable .step-meta,
.cp-readable .profession-heading small,
.cp-readable .hub-next-action span{font-size:11px}
.cp-readable .portalBody small,
.cp-readable .quickBody span,
.cp-readable .menuHead .eyebrow,
.cp-readable .menuGroupTitle span,
.cp-readable .coming .portalGo,
.cp-readable .passPrice del{font-size:11px}
.cp-readable .catalogBody .cardBody small,
.cp-readable .catalogBody .courseLink small,
.cp-readable .catalogBody .aiJobLink small,
.cp-readable .catalogBody .aiGroupTitle small,
.cp-readable .catalogBody .aiJobState,
.cp-readable .catalogHeading span,
.cp-readable .catalogCount,
.cp-readable .price .priceLabel,
.cp-readable .pass p,
.cp-readable .passIncludes,
.cp-readable .foot{font-size:11px}
.cp-readable .ai-growth-stats span,
.cp-readable .ai-growth-scope,
.cp-readable .training-relation small,
.cp-readable .training-relation-note,
.cp-readable .lp-state{font-size:11px}

.hub-next-action{width:100%;margin:0 0 14px;padding:14px 16px;border:0;border-radius:16px;background:linear-gradient(135deg,#1e3a5f,#2e4d74);color:#fff;text-align:left;box-shadow:0 8px 22px rgba(30,58,95,.16);cursor:pointer}
.hub-next-action span{display:block;color:#f3c99a;font-size:10px;font-weight:900;letter-spacing:.12em}
.hub-next-action strong{display:block;margin-top:3px;font-size:15px;line-height:1.4}
.hub-next-action small{display:block;margin-top:4px;color:#d8e0ea;font-size:12px}

.my-next-action{display:block;margin:0 0 13px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#1e3a5f,#2e4d74);color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(30,58,95,.15)}
.my-next-action>span{display:block;color:#f3c99a;font-size:11px;font-weight:900;letter-spacing:.08em}
.my-next-action>strong{display:block;margin-top:3px;font-size:15px;line-height:1.4}
.my-next-action>small{display:block;margin-top:4px;color:#d8e0ea;font-size:12px}

/* 「我的岗位」推荐层级与推荐理由。求人入口本身は「我的」内に限定する。 */
.my-job-tier{margin-top:14px}
.my-job-tier>h2,.my-job-tier>summary{color:#1e3a5f;font-size:15px;font-weight:900;line-height:1.45}
.my-job-tier>h2 small,.my-job-tier>summary small{color:#3c8a6b;font-size:12px}
.my-job-tier>p{margin:4px 2px 10px;color:#68645d;font-size:12px;line-height:1.65}
.my-job-additional{padding:13px;border:1px solid #d9d3c7;border-radius:15px;background:rgba(255,255,255,.48)}
.my-job-additional>summary{cursor:pointer;list-style:none}
.my-job-additional>summary::-webkit-details-marker{display:none}
.my-job-additional>summary::after{content:"＋";float:right;color:#8a8176}
.my-job-additional[open]>summary::after{content:"−"}
.my-job-reasons{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.my-job-reason{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#eaf5ef;color:#286b55;font-size:11px;font-weight:800;line-height:1.35}
