.mikata-content {
    color: var(--qa-text);
    font-size: 16px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.mikata-content * { box-sizing: border-box; }
.mikata-content p { margin-bottom: 20px; }
.mikata-content h1,
.mikata-content h2,
.mikata-content h3 { color: var(--qa-navy); }

.mikata-content .qa-case {
    overflow: hidden;
    margin-bottom: 38px;
    background: linear-gradient(145deg, var(--qa-hero-start) 0%, var(--qa-hero-middle) 58%, var(--qa-hero-end) 100%);
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(24, 64, 84, .08);
}

.mikata-content .qa-hero-copy { padding: 28px 28px 4px; }
.mikata-content .qa-header-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mikata-content .qa-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 13px;
    color: var(--qa-blue);
    background: rgba(255, 255, 255, .9);
    border-radius: 999px;
    box-shadow: 0 5px 12px rgba(31, 93, 119, .08);
    font-size: 13px;
    font-weight: 700;
}
.mikata-content .qa-published-at { color: var(--qa-date); font-size: 12px; white-space: nowrap; }
.mikata-content .qa-hero h1 { margin: 18px 0 0; padding: 0; border: 0; font-size: 28px; font-weight: 700; line-height: 1.45; }

.mikata-content .qa-profile { margin: 24px 28px 8px; }
.mikata-content .qa-profile-title { margin: 0 0 12px; color: var(--qa-navy); font-size: 16px; font-weight: 700; }
.mikata-content .qa-profile-title i { margin-right: 6px; }
.mikata-content .qa-profile-title small { font-size: 12px; font-weight: 400; }
.mikata-content .qa-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.mikata-content .qa-profile-item { padding: 7px 9px; background: rgba(255, 255, 255, .72); border-radius: 9px; }
.mikata-content .qa-profile-item span { display: block; color: var(--qa-profile-muted); font-size: 11px; line-height: 1.4; }
.mikata-content .qa-profile-item strong { display: block; color: var(--qa-navy); font-size: 14px; line-height: 1.5; }

.mikata-content .qa-visual { padding: 12px 18px 0; }
.mikata-content .qa-visual img { display: block; width: 100%; height: auto; max-height: 285px; object-fit: contain; }
.mikata-content .qa-question { padding: 27px 28px 28px; background: rgba(255, 255, 255, .72); }
.mikata-content .qa-question p:last-child { margin-bottom: 0; }
.mikata-content .qa-question-icon {
    float: left;
    width: 40px;
    height: 40px;
    margin: 0 14px 4px 0;
    color: var(--qa-thinking);
    font-size: 40px;
    line-height: 1;
}
.mikata-content .qa-question-icon.fa-frown { color: var(--qa-worried); } /* 困った */
.mikata-content .qa-question-icon.fa-grimace { color: var(--qa-trouble); } /* トラブル・焦り */
.mikata-content .qa-question-icon.fa-flushed { color: var(--qa-embarrassed); } /* はずかしい */
.mikata-content .qa-question-icon.fa-sad-tear { color: var(--qa-sad); } /* かなしい */
.mikata-content .qa-question-icon.fa-angry { color: var(--qa-angry); } /* 怒っている */
.mikata-content .qa-question-icon.fa-smile { color: var(--qa-relieved); } /* ほっとした */
.mikata-content .qa-question-icon.fa-grin-beam { color: var(--qa-happy); } /* うれしい */

.mikata-content .qa-privacy-note { margin: 18px 4px 30px; color: var(--qa-privacy); font-size: 13px; line-height: 1.7; }

.mikata-content .qa-answerer-card {
    width: min(600px, 100%);
    margin: 28px auto 46px;
    padding: 15px 0;
    background: linear-gradient(135deg, var(--qa-card-start) 0%, var(--qa-card-end) 100%);
    border: 0;
    border-radius: 16px;
    box-shadow: inset 0 0 0 1px var(--qa-card-border), inset 0 5px 0 var(--qa-card-accent), 0 12px 26px rgba(31, 88, 113, .08);
}
.mikata-content .qa-answerer-inner {
    display: flex;
    flex-wrap: wrap;
    min-height: 100px;
    margin: 0;
}
.mikata-content .qa-answerer-badge-mobile { display: none; }
.mikata-content .qa-answerer-avatar-wrap {
    display: flex;
    flex: 0 0 25%;
    align-items: center;
    justify-content: center;
    max-width: 25%;
    min-height: 100px;
    padding-left: 15px;
}
.mikata-content .qa-answerer-avatar {
    display: block;
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 5px 13px rgba(24, 64, 84, .14);
}
.mikata-content .qa-answerer-content {
    display: flex;
    flex: 0 0 75%;
    flex-direction: column;
    justify-content: center;
    max-width: 75%;
    min-height: 100px;
    padding: 0 15px;
}
.mikata-content .qa-answerer-badge-desktop { display: block; position: static; min-height: 36.3px; }
.mikata-content .qa-answerer-badge {
    display: inline-block;
    position: static;
    margin: 0 0 7.5px;
    padding: 0 15px;
    color: #fff;
    background: var(--qa-blue);
    border-radius: 999px;
    font-size: 16px;
    font-weight: 400;
    line-height: 28.8px;
    transform: none;
    vertical-align: top;
}
.mikata-content .qa-answerer-badge small { font-size: 14px; line-height: 25.2px; }
.mikata-content .qa-answerer-meta { margin: 0 !important; color: var(--qa-answerer-muted); font-size: 14px; line-height: 25.2px; }
.mikata-content .qa-answerer-meta span { display: inline-block; }
.mikata-content .qa-answerer-name { margin: 0 !important; color: var(--qa-navy); font-size: 20px; font-weight: 400; letter-spacing: 6px; line-height: 36px; }

.mikata-content .qa-answer-lead { margin-bottom: 56px; }
.mikata-content .qa-answer-heading {
    margin: 0 0 28px;
    padding: 0 !important;
    border: 0;
    background: none !important;
    color: var(--qa-navy);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.55;
}
.mikata-content .qa-answer-heading-badge {
    display: table;
    margin-bottom: 10px;
    padding: 5px 12px;
    color: var(--qa-blue);
    background: var(--qa-sky);
    border-radius: 999px;
    font-size: 14px;
    letter-spacing: .04em;
    line-height: 1.5;
}
.mikata-content .qa-answer-heading-text { display: block; text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere; }

.mikata-content .qa-section { margin: 58px 0; }
.mikata-content .qa-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin: 0 0 12px;
    padding: 0 !important;
    border: 0;
    background: none !important;
    color: var(--qa-navy);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
}
.mikata-content .qa-section-number {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-top: 1px;
    border: 1px solid var(--qa-blue);
    border-radius: 50%;
    color: #fff;
    background: var(--qa-blue);
    font-size: 16px;
    line-height: 1;
}

.mikata-content .qa-note {
    margin: 24px 0;
    padding: 16px 18px;
    background: var(--qa-note-bg);
    border: 1px solid var(--qa-note-border);
    border-radius: 12px;
}
.mikata-content .qa-note > strong { display: block; margin-bottom: 4px; color: var(--qa-note-accent); }
.mikata-content .qa-note p { margin: 0; }

.mikata-content .qa-answer-visual {
    margin: 28px 0 12px;
    padding: 20px;
    background: var(--qa-image-bg);
    border: 1px solid var(--qa-image-border);
    border-radius: 14px;
}
.mikata-content .qa-answer-visual img { display: block; width: 100%; height: auto; }

.mikata-content .qa-table-wrap { overflow-x: auto; margin: 22px 0; border: 1px solid var(--qa-table-border); border-radius: 12px; }
.mikata-content .qa-table { width: 100%; min-width: 540px; margin: 0; background: #fff; border-collapse: collapse; }
.mikata-content .qa-table th, .mikata-content .qa-table td { padding: 12px 13px; border-bottom: 1px solid var(--qa-table-rule); vertical-align: top; }
.mikata-content .qa-table th { color: var(--qa-navy); background: var(--qa-table-header); font-size: 14px; }
.mikata-content .qa-table tr:last-child td { border-bottom: 0; }

.mikata-content .qa-steps { display: grid; gap: 12px; margin: 22px 0; padding: 0; list-style: none; }
.mikata-content .qa-steps li {
    position: relative;
    min-height: 82px;
    padding: 15px 18px 15px 48px;
    background: var(--qa-checklist-bg);
    border-radius: 12px;
}
.mikata-content .qa-steps li::before {
    position: absolute;
    top: 15px;
    left: 18px;
    color: var(--qa-checklist-accent);
    content: "✓";
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}
.mikata-content .qa-steps li > strong { display: block; color: var(--qa-navy); }

.mikata-content .qa-summary {
    margin: 42px 0 22px;
    padding: 22px 26px;
    background: var(--qa-summary-bg);
    border: 1px solid var(--qa-summary-border);
    border-top: 5px solid var(--qa-summary-accent);
    border-radius: 14px;
}
.mikata-content .qa-summary h2 { margin: 0 0 12px; padding: 0 !important; border: 0; background: none !important; color: var(--qa-summary-title); font-size: 22px; }
.mikata-content .qa-summary ul { margin: 0; padding: 0; list-style: none; }
.mikata-content .qa-summary li { position: relative; padding-left: 26px; }
.mikata-content .qa-summary li::before { position: absolute; left: 0; color: var(--qa-summary-check); content: "✓"; font-weight: 700; }
.mikata-content .qa-disclaimer { margin: 0 4px 34px; color: var(--qa-disclaimer); font-size: 12px; line-height: 1.7; }

.mikata-content .qa-consultation {
    margin-top: 34px;
    padding: 14px 26px 16px;
    background: linear-gradient(135deg, var(--qa-card-start) 0%, var(--qa-card-end) 100%);
    border: 1px solid var(--qa-card-border);
    border-top: 5px solid var(--qa-card-accent);
    border-radius: 18px;
    box-shadow: 0 12px 26px rgba(31, 88, 113, .08);
}
.mikata-content .qa-consultation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    grid-template-areas: "badge avatar" "profile avatar";
    align-items: center;
    gap: 6px 32px;
    min-height: 150px;
}
.mikata-content .qa-consultation-badge {
    grid-area: badge;
    justify-self: start;
    padding: 0 15px;
    color: #fff;
    background: var(--qa-blue);
    border-radius: 999px;
    font-size: 16px;
    font-weight: 400;
    line-height: 28.8px;
}
.mikata-content .qa-consultation-badge small { font-size: 14px; line-height: 25.2px; }
.mikata-content .qa-consultation-profile { grid-area: profile; min-width: 0; }
.mikata-content .qa-consultation-avatar {
    grid-area: avatar;
    width: 150px;
    height: 150px;
    object-fit: cover;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #fff, 0 7px 18px rgba(24, 64, 84, .14);
}
.mikata-content .qa-consultation-title {
    margin: 8px 0 2px !important;
    padding: 0 !important;
    border: 0;
    background: none !important;
    font-size: 20px;
    font-weight: 700;
}
.mikata-content .qa-consultation-meta { margin: 0 0 4px !important; color: var(--qa-consultation-muted); font-size: 14px; line-height: 1.55; }
.mikata-content .qa-consultation-name { margin: 0 !important; color: var(--qa-navy); font-size: 26px; font-weight: 700; letter-spacing: .04em; }
.mikata-content .qa-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 9px 0 6px; }
.mikata-content .qa-tags span { padding: 3px 12px; color: var(--qa-blue); background: var(--qa-tag-bg); border-radius: 999px; font-size: 13px; font-weight: 700; }
.mikata-content .qa-consultation-copy { margin: 0 !important; font-size: 14px; }
.mikata-content .qa-consultation-action { margin: 20px 0 0; text-align: center; }
.mikata-content .qa-consultation-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 330px;
    padding: 14px 38px;
    color: #fff !important;
    background: var(--qa-orange);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(239, 124, 72, .22);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
}
.mikata-content .qa-consultation-caution { margin: 7px 0 0; color: var(--qa-caution); font-size: 12px; text-align: center; }

@media (max-width: 575.98px) {
    .mikata-content { font-size: 15px; }
    .mikata-content .qa-hero-copy { padding: 22px 18px 4px; }
    .mikata-content .qa-header-meta { align-items: flex-start; }
    .mikata-content .qa-hero h1 { font-size: 23px; }
    .mikata-content .qa-profile { margin: 20px 18px 8px; }
    .mikata-content .qa-profile-grid { grid-template-columns: 1fr; }
    .mikata-content .qa-profile-item { display: grid; grid-template-columns: 90px 1fr; align-items: center; }
    .mikata-content .qa-visual { padding: 10px 4px 0; }
    .mikata-content .qa-question { padding: 23px 18px 24px; }
    .mikata-content .qa-question-icon { width: 40px; height: 40px; margin-right: 11px; }
    .mikata-content .qa-answerer-card { width: 100%; padding: 15px 0; }
    .mikata-content .qa-answerer-inner { min-height: 106.5px; }
    .mikata-content .qa-answerer-badge-mobile {
        display: block;
        flex: 0 0 100%;
        width: 100%;
        min-height: 31.5px;
        line-height: 24px;
        text-align: center;
    }
    .mikata-content .qa-answerer-badge-mobile .qa-answerer-badge {
        margin-bottom: 7.5px;
        padding: 0 7.5px;
        font-size: 16px;
        line-height: 24px;
    }
    .mikata-content .qa-answerer-badge-mobile .qa-answerer-badge small { font-size: 14px; line-height: 21px; }
    .mikata-content .qa-answerer-badge-desktop { display: none; }
    .mikata-content .qa-answerer-avatar-wrap { min-height: 75px; }
    .mikata-content .qa-answerer-avatar { width: 75px; height: 75px; }
    .mikata-content .qa-answerer-content { min-height: 75px; }
    .mikata-content .qa-answerer-meta { font-size: 14px; line-height: 21px; }
    .mikata-content .qa-answerer-name { font-size: 20px; line-height: 30px; }
    .mikata-content .qa-answer-heading { font-size: 24px; }
    .mikata-content .qa-section-heading { gap: 10px; font-size: 18px; }
    .mikata-content .qa-section { margin: 46px 0; }
    .mikata-content .qa-answer-visual { padding: 10px; }
    .mikata-content .qa-summary { padding: 18px; }
    .mikata-content .qa-consultation { padding: 16px 18px 18px; }
    .mikata-content .qa-consultation-layout {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        min-height: auto;
        text-align: center;
    }
    .mikata-content .qa-consultation-badge { margin-bottom: 14px; padding: 0 7.5px; font-size: 16px; line-height: 24px; }
    .mikata-content .qa-consultation-badge small { font-size: 14px; line-height: 21px; }
    .mikata-content .qa-consultation-avatar { width: 150px; height: 150px; margin-bottom: 14px; }
    .mikata-content .qa-consultation-profile { width: 100%; text-align: center; }
    .mikata-content .qa-consultation-title { margin-top: 0 !important; font-size: 17px; }
    .mikata-content .qa-consultation-meta { font-size: 12px; }
    .mikata-content .qa-consultation-name { font-size: 22px; }
    .mikata-content .qa-tags { justify-content: center; }
    .mikata-content .qa-consultation-button { width: 100%; min-width: 0; font-size: 17px; }
}

.mikata-content .qa-question::after { content: ""; display: block; clear: both; }
.mikata-content .qa-answer-intro strong { background: linear-gradient(transparent 64%, var(--qa-yellow) 0); }
.mikata-content .qa-answer-visual img { max-width: 100%; }
.mikata-content .qa-answer-visual figcaption { margin-top: 8px; font-size: 14px; }
.mikata-content .qa-steps p { margin: 0; }
