
    body { font-family: serif; line-height: 1.45; margin: 1em; }
    h1, h2, h3, h4, h5, h6 {
        line-height: 1.18;
        margin: 0.25em 0 0.20em 0;
        text-align: center;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        white-space: normal;
        hyphens: none;
        -webkit-hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }
    h1 { font-size: 70% !important; }
    h2 { font-size: 60% !important; }
    h3 { font-size: 52% !important; }
    h4, h5, h6 { font-size: 45% !important; }
    .va-heading {
        display: block;
        font-weight: 700 !important;
        text-align: center !important;
        line-height: 1.18 !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        margin: 0.25em 0 0.20em 0 !important;
    }
    .va-heading-1 { font-size: 0.70em !important; }
    .va-heading-2 { font-size: 0.60em !important; }
    .va-heading-3 { font-size: 0.52em !important; }
    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; }
    
