.c-prose {
    --prose-base-text-size: 19px;
    --prose-h3-text-size: 22px;
    --prose-h4-text-size: 20px;
    --prose-h5-text-size: 19px;

    &.c-prose-small {
        --prose-base-text-size: 17px;
        --prose-h3-text-size: 21px;
        --prose-h4-text-size: 18px;
        --prose-h5-text-size: 17px;
    }
    h3 {
        font-size: var(--prose-h3-text-size);
        @apply leading-140;
        @apply font-semibold;
    }

    h4 {
        font-size: var(--prose-h4-text-size);
        @apply leading-140;
        @apply font-semibold;
    }

    p,
    li {
        font-size: var(--prose-base-text-size);
        @apply leading-150;
    }
    ul {
        @apply list-disc;
    }
    ol {
        @apply list-decimal;
    }
    ul,
    ol {
        @apply ml-20;
    }
    li {
        &:not(:last-child) {
            @apply mb-4;
        }
    }
    pre {
        @apply bg-blue-100;
        @apply px-12 py-12;
        @apply rounded-8;
        code {
            font-size: calc(var(--prose-base-text-size) - 1px);
        }
        @apply overflow-auto;
    }
    *:not(pre) > code {
        @apply bg-blue-100;
        @apply py-2 px-4;
        @apply rounded-5;
        font-size: calc(var(--prose-base-text-size) - 1px);
        @apply whitespace-nowrap;
    }
    strong {
        @apply font-semibold;
    }

    details {
        @apply mt-12 pl-20;
        summary {
            font-size: var(--prose-h5-text-size);
            @apply cursor-pointer;
            @apply leading-140;
            @apply font-medium;
            @apply mb-8 ml-[-20px];
        }
    }

    h3 + p,
    h3 + pre,
    h3 + ul,
    h3 + ol,
    h3 + div,
    h4 + p,
    h4 + pre,
    h4 + ul,
    h4 + ol,
    h4 + div {
        @apply mt-6;
    }
    p + ul,
    p + ol {
        @apply mt-4;
    }
    p + p,
    ul + p,
    ol + p {
        @apply mt-12;
    }
    p + pre {
        @apply my-8;
    }
    pre + p {
        @apply mt-12;
    }

    * + h3,
    * + h4 {
        @apply mt-20;
    }

    .c-textblock-note {
        @apply my-20;
    }

    p a,
    li a {
        @apply font-semibold text-linkColor;
    }

    & table {
        @apply my-16;
        @apply bg-backgroundColorA;
        @apply rounded-5 overflow-hidden;

        & td,
        & th {
            @apply px-24 py-12;
            @apply text-left;
        }
        & th {
            @apply font-mono font-bold leading-150 text-textColor2;
            @apply border-b-2 border-borderColor6;
            font-size: calc(var(--prose-base-text-size) - 2px);
        }
        & td {
            font-size: var(--prose-base-text-size);
        }
        & td {
            @apply border-b-1 border-borderColor6;
        }
        & tr:last-child {
            & td {
                @apply border-b-0;
            }
        }
    }
}
