/* A04 uses the shared article panels and adds the parallel preparation timeline. */
@media screen {
    .page-a04 main .vp-art .vp-art-head > .vp-art-summary {
        padding: 0 var(--vp-panel-pad) var(--vp-panel-pad);
        border: 1px solid var(--vp-panel-line);
        border-radius: var(--vp-panel-radius);
        background: #fff;
    }

    .page-a04 main .vp-art .vp-art-head .vp-art-summary-title {
        margin: 0 calc(-1 * var(--vp-panel-pad)) 12px;
        padding: 12px var(--vp-panel-pad);
        background: var(--vp-panel-green);
        color: #fff;
    }
}

.page-a04 .a04-stages th:first-child {
    width: 31%;
}

.page-a04 .a04-stat,
.page-a04 .a04-timing-result {
    margin: 1.2em 0;
    padding: .8em 1em;
    border: 1px solid var(--vp-panel-line);
    border-radius: 10px;
    background: var(--vp-panel-soft);
}

.page-a04 .a04-stat {
    display: grid;
    grid-template-columns: minmax(8em, 1fr) minmax(0, 2.35fr);
    align-items: center;
    gap: .75rem 1.2rem;
}

.page-a04 .a04-stat p,
.page-a04 .a04-timing-result p {
    margin: 0;
}

.page-a04 .a04-stat span {
    display: block;
    font-size: .825em;
}

.page-a04 .a04-stat strong {
    color: var(--vp-panel-green);
    font-size: 1.65em;
    line-height: 1.25;
    white-space: nowrap;
}

.page-a04 .a04-timeline {
    display: grid;
    gap: .8rem;
    margin: 1.25em 0;
}

.page-a04 .a04-track {
    display: grid;
    grid-template-columns: minmax(7em, .75fr) minmax(0, 1fr);
    align-items: center;
    gap: .35rem 1rem;
}

.page-a04 .a04-track dt {
    font-weight: 600;
}

.page-a04 .a04-track dd {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .6em;
    margin: 0;
}

.page-a04 .a04-track dd strong {
    grid-column: 2;
    grid-row: 1;
    color: var(--vp-panel-green);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.page-a04 .a04-track-line {
    grid-column: 1;
    grid-row: 1;
    height: .5em;
    border-radius: 999px;
    background: var(--vp-panel-total);
}

.page-a04 .a04-track-line::before {
    display: block;
    width: var(--a04-duration);
    height: 100%;
    border-radius: inherit;
    background: var(--vp-panel-green);
    content: "";
}

.page-a04 .a04-track-contract {
    --a04-duration: calc(100% * 14 / 21);
}

.page-a04 .a04-track-bank {
    --a04-duration: 100%;
}

.page-a04 .a04-timing-result h3 {
    margin: 0 0 .35em;
    color: var(--vp-panel-green);
    font-size: 1.05em;
    line-height: 1.4;
}

@media screen and (max-width: 1023px) {
    .page-a04 .vp-art-aside--contents-only {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .page-a04 .a04-stages tbody th:first-child {
        width: 100%;
        margin-bottom: .25em;
    }

    .page-a04 main .a04-stages-wrap .a04-stages tbody :is(th, td) {
        margin-top: 0;
        padding: 0;
    }
}

@media screen and (max-width: 560px) {
    .page-a04 .a04-stat,
    .page-a04 .a04-track {
        grid-template-columns: minmax(0, 1fr);
    }
}
