/* 年齢計算: 年齢早見表 */
.pt-age-hayami { margin-top: 2rem; }
.pt-age-hayami__jump { display: flex; flex-wrap: wrap; gap: 0.3rem 0.8rem; font-size: 0.9rem; }
.pt-age-hayami h3 { margin-top: 1.4rem; scroll-margin-top: 6.5rem; }
.pt-age-table th, .pt-age-table td { white-space: nowrap; }
.pt-age-table td:nth-child(2) { white-space: normal; }
.pt-age-table { font-size: 0.9rem; }
/* 早見表はスマホ幅で横に長くなるため、表の外側だけを横スクロールにする */
.pt-age-table-wrap { overflow-x: auto; }
.pt-age-print { margin: 0.3rem 0 0.6rem; }

@media (max-width: 30rem) {
    .pt-age-table { font-size: 0.8rem; }
    .pt-age-table th, .pt-age-table td { padding-left: 0.3rem; padding-right: 0.3rem; }
}

/* 印刷: 押した年の早見表だけを、A4に2段で出す */
@media print {
    @page { size: A4; margin: 10mm; }
    body.age-printing *:not(:has(.is-printing)):not(.is-printing):not(.is-printing *) { display: none !important; }
    body.age-printing, body.age-printing .pt-main { margin: 0 !important; padding: 0 !important; }
    body.age-printing .pt-age-print, body.age-printing .pt-age-hayami__jump { display: none !important; }
    body.age-printing .is-printing { column-count: 2; column-gap: 5mm; font-size: 7pt; }
    body.age-printing .is-printing h2 { column-span: all; font-size: 12pt; margin: 0 0 2pt; }
    body.age-printing .is-printing > p { column-span: all; font-size: 8pt; margin: 0 0 3pt; }
    body.age-printing .is-printing h3 { font-size: 7.5pt; margin: 2pt 0 0; break-after: avoid; }
    body.age-printing .pt-age-table-wrap { overflow: visible; }
    body.age-printing .pt-age-table { width: 100%; font-size: 7pt; line-height: 1.15; break-inside: auto; }
    body.age-printing .pt-age-table th, body.age-printing .pt-age-table td { padding: 0 2pt; white-space: nowrap; }
}
body.age-printing .is-printing .pt-note { column-span: all; font-size: 7pt; }
