/* Supplied 2025 statistics, designed within the existing recruitment card layout. */
.lp-recruit-number-cards .lp-recruit-number {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    min-height: 340px;
    height: auto;
    padding: 28px 24px 24px;
    color: var(--ink);
    text-align: center;
    letter-spacing: .04em;
}
.lp-recruit-number .lp-stat-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    font-size: clamp(17px, 6.2cqw, 20px);
    line-height: 1.5;
    text-wrap: balance;
}
.lp-stat-title .lp-stat-subtitle {
    margin-top: 4px;
    font-size: 13px;
    font-weight: 500;
    color: #657582;
}
.lp-stat-title-line { display: block; }
.lp-stat--parental-leave-counts .lp-stat-title-line { display: inline-block; }
.lp-stat--parental-leave-counts .lp-stat-title,
.lp-stat--women-in-management .lp-stat-title {
    font-size: clamp(15px, 5.65cqw, 18px);
}
.lp-stat-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: 14px;
    padding-block: 14px;
}
.lp-stat-body .lp-stat-icon {
    width: clamp(88px, 34cqw, 108px);
    height: clamp(88px, 34cqw, 108px);
    flex: none;
    object-fit: contain;
}
.lp-stat-body .lp-stat-value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    margin: 0;
    color: #1476dd;
    white-space: nowrap;
    line-height: 1.15;
}
.lp-stat-value > strong {
    font: 600 clamp(56px, 24cqw, 76px)/1.15 var(--font-en);
    font-variant-numeric: lining-nums tabular-nums;
    letter-spacing: -.045em;
}
.lp-stat-value > span { font-size: 22px; font-weight: 700; }
.lp-stat-body .lp-stat-note { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 500; }
.lp-stat--women-in-management .lp-stat-body { gap: 6px; padding-block: 4px; }
.lp-stat--women-in-management .lp-stat-icon { width: 88px; height: 88px; }
.lp-stat--women-in-management .lp-stat-value > strong { font-size: clamp(52px, 21cqw, 66px); }
.lp-stat--women-in-management .lp-stat-note { font-size: 13px; line-height: 1.4; }
.lp-stat--parental-leave-counts .lp-stat-title-line { display: block; }
.lp-recruit-number .lp-stat-year { margin: 8px 0 0; color: #657582; font-size: 13px; line-height: 1.5; font-weight: 500; }
.lp-stat-table { width: 100%; border-collapse: collapse; table-layout: fixed; line-height: 1.5; }
.lp-stat-table th, .lp-stat-table td { padding: 13px 2px; text-align: center; }
.lp-stat-table thead th { background: #edf8fe; color: #1476dd; font-size: 15px; font-weight: 700; }
.lp-stat-table thead th:first-of-type { border-radius: 6px 0 0 6px; }
.lp-stat-table thead th:last-of-type { border-radius: 0 6px 6px 0; }
.lp-stat-table thead td { width: 23%; }
.lp-stat-table tbody th { color: #657582; font-size: 13px; font-weight: 500; white-space: nowrap; }
.lp-stat-table tbody tr + tr { border-top: 1px solid #e0edf5; }
.lp-stat-table tbody td { color: #1476dd; white-space: nowrap; }
.lp-stat-table td strong { font: 600 32px/1 var(--font-en); letter-spacing: 0; }
.lp-stat-table td span { margin-left: 3px; font-size: 12px; font-weight: 500; }
.lp-stat-rates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; width: 100%; max-width: 292px; }
.lp-stat-rate { min-width: 0; }
.lp-stat-rate .lp-stat-rate-label { margin: 0 0 12px; font-size: 16px; font-weight: 700; line-height: 1.5; }
.lp-stat-ring { position: relative; display: grid; place-items: center; aspect-ratio: 1; }
.lp-stat-ring::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(var(--blue) var(--stat-rate), #dceff9 0);
}
.lp-stat-ring::after { content: ''; position: absolute; inset: 14px; border-radius: 50%; background: #fff; }
.lp-stat-ring[data-value="100"]::before { background: var(--blue); }
.lp-stat-ring[data-value="0"]::before { background: #dceff9; }
.lp-stat-ring .lp-stat-rate-value { position: relative; z-index: 1; margin: 0; color: #1476dd; line-height: 1; white-space: nowrap; }
.lp-stat-rate-value strong { font: 600 clamp(27px, 10cqw, 36px)/1 var(--font-en); letter-spacing: -.04em; }
.lp-stat-rate-value span { margin-left: 1px; font-size: 15px; font-weight: 700; }
@media (min-width: 768px) and (max-width: 1023px) {
    .lp-recruit-number-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .lp-recruit-number-cards { max-width: 440px; margin-inline: auto; }
    .lp-recruit-number-cards .lp-recruit-number { min-height: 350px; padding: 24px; }
    .lp-recruit-number .lp-stat-title { min-height: 60px; }
    .lp-recruit-numbers .lp-heading h2 { line-height: 1.5; text-wrap: balance; }
}
@media (max-width: 359px) {
    .lp-recruit-number-cards .lp-recruit-number { padding-inline: 20px; }
    .lp-stat-rates { gap: 14px; }
    .lp-stat-ring::after { inset: 12px; }
}
