
    body { font-family: serif; line-height: 1.45; margin: 1em; }
    h1, h2, h3, h4, h5, h6 { line-height: 1.15; margin: 0.35em 0 0.15em 0; }
    p { margin: 0 0 0.55em 0; }
    strong, b, .va-bold, .va-bold * { font-weight: 700 !important; }
    em, i, .va-italic, .va-italic * { font-style: italic !important; }
    img {
        max-width: 100% !important;
        height: auto !important;
        display: block;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }
    .image-box {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-align: center !important;
        margin: 0.10em auto 0.20em auto;
        overflow: visible;
        page-break-inside: avoid;
        break-inside: avoid;
        -webkit-column-break-inside: avoid;
    }
    .image-box img,
    img.epub-illustration {
        display: block !important;
        height: 60vh !important;
        max-height: 1000px !important;
        max-width: 100% !important;
        width: auto !important;
        object-fit: contain;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }
    figure.image-figure {
        display: block;
        text-align: center !important;
        margin: 0.05em auto 0.25em auto;
        padding: 0;
        page-break-inside: avoid !important;
        break-inside: avoid-page !important;
        -webkit-column-break-inside: avoid;
    }
    figure.image-figure .image-box {
        margin: 0.02em auto 0.08em auto;
        page-break-inside: avoid !important;
        break-inside: avoid-page !important;
    }
    figure.image-figure img.epub-illustration {
        display: block !important;
        height: 60vh !important;
        max-height: 1000px !important;
        max-width: 100% !important;
        width: auto !important;
        object-fit: contain;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }
    figure.image-figure figcaption {
        display: block;
        text-align: center;
        font-size: 0.86em;
        line-height: 1.05;
        margin: 0.03em auto 0 auto;
        padding: 0;
        page-break-before: avoid;
        break-before: avoid;
    }
    figure.image-figure figcaption p {
        margin: 0.04em 0;
        padding: 0;
        page-break-inside: avoid;
        break-inside: avoid;
    }
    table { width: 100%; border-collapse: collapse; margin: 1em 0; }
    td { border: 1px solid #cccccc; padding: 0.35em; vertical-align: top; }
    .align-center { text-align: center; }
    .align-right { text-align: right; }
    .align-justify { text-align: justify; }
    .underline { text-decoration: underline; }
    .image { text-align: center; page-break-inside: avoid; break-inside: avoid; }
    .list-like { margin-left: 1.5em; }
    a { color: #0645ad; text-decoration: underline; }
    .service-page { margin: 0; padding-top: 1em; text-align: center; color: #666666; font-size: 0.9em; }
    .service-page p { margin: 0.4em 0; page-break-inside: avoid; break-inside: avoid; }
    
