.document address,
.document blockquote,
.document .code,
.document .code pre,
.document .warning,
.document .example,
.document .point {
    position: relative;
    display: block;
    width: 100%;
    margin: calc(var(--document_block_size_margin) + var(--document_block_size_font)) 0 var(--document_block_size_margin) 0;
    padding: calc(var(--document_block_size_padding) + var(--document_block_size_font)) var(--document_block_size_padding) var(--document_block_size_padding)
        var(--document_block_size_padding);
}
.document address:before,
.document blockquote:before,
.document .code > .codeType,
.document .warning:before,
.document .example:before,
.document .point:before {
    z-index: 1;
    pointer-events: none;
    user-select: none;
    position: absolute;
    top: calc(var(--document_block_size_font) * -0.75);
    padding: 4px;
    left: 8px;
    font-weight: var(--document_general_font_bold);
    font-size: var(--document_block_size_font);
    line-height: var(--document_block_size_font);
}
.document address:first-child,
.document blockquote:first-child,
.document .code:first-child,
.document .warning:first-child,
.document .example:first-child,
.document .point:first-child {
    margin-top: var(--document_block_size_font);
}
.document address:last-child,
.document blockquote:last-child,
.document .code:last-child,
.document .warning:last-child,
.document .example:last-child,
.document .point:last-child {
    margin-bottom: 0;
}

.document address {
    font-family: inherit;
    font-style: normal;
    font-weight: var(--document_general_font_normal);
    font-size: var(--document_general_size_font);
    border: solid 1px var(--document_general_color_use);
    color: var(--document_general_color_use);
    background-color: var(--document_general_color_base);
}
.document address:before {
    content: '表記';
    border: solid 1px var(--document_general_color_use);
    color: var(--document_general_color_use);
    background-color: var(--document_general_color_base);
}

.document blockquote {
    border: solid 1px var(--document_general_color_half);
    color: var(--document_general_color_half);
    background-color: var(--document_general_color_base);
}
.document blockquote:before {
    content: '引用';
    border: solid 1px var(--document_general_color_half);
    color: var(--document_general_color_half);
    background-color: var(--document_general_color_base);
}

.document pre {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0;
    padding: 0;
    font-family: var(--document_general_font_code);
    font-style: normal;
    font-weight: var(--document_general_font_normal);
    font-size: calc(var(--document_general_size_font) - 2px);
}
.document pre::-webkit-scrollbar {
    display: none;
}

.document .code {
    padding: 0;
    border: solid 1px var(--document_general_color_use);
    color: var(--document_general_color_base);
    background-color: var(--document_general_color_use);
}
.document .code pre {
    overflow-x: scroll;
    overflow-y: scroll;
    scrollbar-width: initial;
    -ms-overflow-style: initial;
    max-height: 320px;
    margin: calc(var(--document_block_size_padding) + var(--document_block_size_font) * 0.25) 0 0 0;
    padding-top: 0;
}
.document .code.noScroll pre {
    height: 100%;
    max-height: 100%;
}
.document .code .codeType {
    border: solid 1px var(--document_general_color_base);
    color: var(--document_general_color_base);
    background-color: var(--document_general_color_half);
}

.document .warning {
    border: solid 1px var(--document_block_color_warning);
    color: var(--document_block_color_warning);
    background-color: var(--document_general_color_base);
}
.document .warning:before {
    content: '注意';
    border: solid 1px var(--document_block_color_warning);
    color: var(--document_block_color_warning);
    background-color: var(--document_general_color_base);
}

.document .example {
    border: solid 1px var(--document_block_color_example);
    color: var(--document_block_color_example);
    background-color: var(--document_general_color_base);
}
.document .example:before {
    content: '実例';
    border: solid 1px var(--document_block_color_example);
    color: var(--document_block_color_example);
    background-color: var(--document_general_color_base);
}

.document .point {
    border: solid 1px var(--document_block_color_point);
    color: var(--document_block_color_point);
    background-color: var(--document_general_color_base);
}
.document .point:before {
    content: '要点';
    border: solid 1px var(--document_block_color_point);
    color: var(--document_block_color_point);
    background-color: var(--document_general_color_base);
}

.document .block,
.document .hugeContent,
.document .math,
.document .caption,
.document > ins,
.document > del {
    margin: var(--document_block_size_margin) 0;
}
.document .block:after {
    content: '';
    display: block;
    clear: both;
}
.document .block:first-child,
.document .hugeContent:first-child,
.document .math:first-child,
.document .caption:first-child,
.document > ins:first-child,
.document > del:first-child {
    margin-top: 0;
}
.document .block:last-child,
.document .hugeContent:last-child,
.document .math:last-child,
.document .caption:last-child,
.document > ins:last-child,
.document > del:last-child {
    margin-bottom: 0;
}

.document .hugeContent,
.document .math {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    white-space: nowrap;
}
.document .hugeContent::-webkit-scrollbar,
.document .math::-webkit-scrollbar {
    display: none;
}

.document .caption {
    width: 100%;
    text-align: center;
    font-weight: var(--document_general_font_bold);
}

.document > ins,
.document > del,
.document address > ins,
.document address > del,
.document blockquote > ins,
.document blockquote > del,
.document .warning > ins,
.document .warning > del,
.document .example > ins,
.document .example > del,
.document .point > ins,
.document .point > del,
.document .informationCard > .main > ins,
.document .informationCard > .main > del,
.document .spoiler > .spoilerContent > ins,
.document .spoiler > .spoilerContent > del {
    position: relative;
    display: block;
    text-decoration: none;
}

.document > ins:before,
.document > del:before {
    user-select: none;
    position: absolute;
    top: calc(var(--document_general_size_font) * -1);
    left: 0;
    padding: 2px;
    font-weight: var(--document_general_font_bold);
    font-size: calc(var(--document_general_size_font) * 0.75);
    line-height: calc(var(--document_general_size_font) * 0.75);
    color: var(--document_general_color_base);
}

.document > ins:before {
    content: '+ 追加';
    background-color: var(--document_general_color_insert);
}

.document > del:before {
    content: '- 削除';
    background-color: var(--document_general_color_delete);
}

@media print {
    .document pre {
        white-space: pre-wrap;
    }
    .document .code pre {
        height: 100%;
        max-height: 100%;
    }
}
