:root {
    --qa-primary: #2196F3;
    --qa-secondary: #f39c21;
    --qa-shd: rgba(0, 0, 0, 0.54);
}

h2 {
    margin-right: auto;
    margin-left: auto;
    font-size: 2em;

}

h2:not(.be_linked) {
    margin-top: 48px;
    margin-top: 24px;
}

h2.be_linked {
    padding-top: calc(70px + 48px);
    margin-top:-70px;
}

h3:not(.be_linked) {
    margin-top: 32px;
    margin-bottom: 16px;
}

h4:not(.be_linked) {
    margin-top: 16px;
    margin-bottom: 8px;
}

mark {
    background: linear-gradient(transparent 80%, var(--qa-primary) 0%);
}

.passage {
    margin: 48px 0 24px 0;
}

main p {
    text-align: start;
}

.passage * {
    margin-bottom: 12px;
}

.caution {
    margin: 8px 2em;
    font-size: 0.8em;
}

.qa_list_of_content{
    margin: 0 auto;
    text-align: center;
    padding: 8px;
}

.qa_list_of_content h3 {
    margin: 12px auto;
}

.qa_list_of_content ol {
    counter-reset: section;
    max-width: 400px;
    margin: 0 auto;
}
.qa_list_of_content li {
    list-style: none;
    text-align: left;
}
.qa_list_of_content ol>li:before {
    content : counters(section, '.') '. ';
    counter-increment : section;
}

.qa_list_of_content li ul li {
    
    margin: 0 0 0 2em;
    padding: 0;
    list-style: disc;
}

.comment_box {
    display: flex;
    padding: 8px 8px;
    flex-wrap: wrap;
}

@media screen and (max-width: 600px) {
    .comment_name {
        width: 100%;
    }
}

@media not screen and (max-width: 600px) {
    .comment_name {
        width: max(10%, 100px);
    }
}


.comment_name {
    padding-left: 10px;
    text-align: start;
    color: var(--qa-primary);
    padding: 8px 8px;
    font-weight: bold;
}

.comment_block {
    display: block;
    flex: 1 1 400px;
    padding: 8px 8px;
}