.kmj-callout,
.kmj-outline-box {
    box-sizing: border-box;
    margin: 2.25rem 0;
    padding: clamp(1.5rem, 4vw, 2.75rem);
    color: #162137;
}

.kmj-callout--sand { background: #e8d8c5; }
.kmj-callout--mint { background: #cfe4dc; }
.kmj-outline-box { border: 1px solid rgba(23,37,62,.45); background: transparent; box-shadow: none; }
.kmj-callout__label { margin: 0 0 1.75rem !important; color: #3e65a0; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kmj-callout h2, .kmj-callout h3, .kmj-outline-box h2, .kmj-outline-box h3 { margin-top: 0; color: #17253e; letter-spacing: -.03em; }
.kmj-callout > :last-child, .kmj-outline-box > :last-child { margin-bottom: 0; }
.kmj-responsive-table { display: block; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; margin-block: 2rem; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; scrollbar-color: #315f88 #e8ece9; scrollbar-width: thin; }
.kmj-responsive-table table { width: 100% !important; min-width: 640px; height: auto !important; border-collapse: collapse; }
.kmj-responsive-table th { background: #17253e; color: #fff; }
.kmj-responsive-table th, .kmj-responsive-table td { padding: .9rem 1rem; border: 1px solid rgba(22,33,55,.22); text-align: left; vertical-align: top; }
.kmj-responsive-table tbody tr:nth-child(even) { background: #f0eadf; }

@media (max-width: 700px) {
    .kmj-responsive-table::before { content: '표는 좌우로 움직여 확인할 수 있습니다 →'; position: sticky; left: 0; display: block; width: max-content; margin-bottom: 10px; color: #315f88; font-size: 12px; font-weight: 700; }
}
mark, .has-inline-color mark { padding: .08em .18em; background: linear-gradient(transparent 48%, #bceadf 48%); color: inherit; }
