@charset "UTF-8";
/* =========================================
   サービス詳細ページ 共通スタイル
   （base.css の変数・トーンを踏襲。新しい色は増やさない）
========================================= */

:root {
    --danger: #e53935;
    --danger-dark: #c62828;
    --danger-bg: #fff5f5;
    --todo-bg: #fff3cd;
    --todo-text: #8a5200;
    --line-green: #06c755;
    --border-gray: #e3e3e3;
}

/* 未確定箇所（公開前に TODO ごと外す） */
.todo {
    background: var(--todo-bg); color: var(--todo-text);
    border-bottom: 2px dotted #e0a800; padding: 0 4px;
    border-radius: 3px; font-weight: bold;
}

/* =========================================
   リード（.service-lead-section）
========================================= */
.service-lead-section { padding: 70px 0 0; }
.service-lead-section .lead-text { max-width: 860px; margin: 0 auto; }
.service-lead-section .lead-text p { margin: 0 0 20px; line-height: 2; }
.service-lead-section .lead-text strong { color: var(--primary-color); }

.trust-bar {
    display: flex; max-width: 860px; margin: 40px auto 0;
    background: var(--light-blue-bg); border-radius: var(--border-radius-lg); overflow: hidden;
}
.trust-item { flex: 1; text-align: center; padding: 24px 12px; }
.trust-item + .trust-item { border-left: 1px solid rgba(0,123,182,0.15); }
.trust-label { display: block; font-size: 0.85rem; color: var(--text-muted); margin-bottom: 6px; }
.trust-value {
    display: block; font-size: 1.9rem; font-weight: 900;
    color: var(--primary-color); font-family: var(--font-en); line-height: 1.2;
}

/* 本文中CTA（.service-cta / template-parts/service/cta.php） */
.inline-cta { display: flex; gap: 16px; max-width: 860px; margin: 40px auto 0; }
.inline-cta a {
    flex: 1; text-align: center; padding: 18px 10px; border-radius: 8px;
    font-weight: bold; color: var(--white); font-size: 1rem; transition: 0.3s;
}
.inline-cta .c-tel  { background: var(--primary-color); }
.inline-cta .c-line { background: var(--line-green); }
.inline-cta .c-mail { background: var(--accent-color); }
.inline-cta a:hover { opacity: 0.85; transform: translateY(-2px); }

/* =========================================
   目次（.service-toc）
========================================= */
.service-toc { padding: 60px 0 0; }
.toc-box {
    max-width: 900px; margin: 0 auto; background: var(--white);
    border: 1px solid var(--border-gray); border-radius: var(--border-radius-lg);
    padding: 28px 32px;
}
.toc-box > summary {
    font-size: 1.15rem; font-weight: bold; color: var(--primary-color);
    cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px;
}
.toc-box > summary::-webkit-details-marker { display: none; }
.toc-box > summary::before {
    content: "\f0ca"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 0.95rem;
}
.toc-box > summary::after {
    content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900;
    margin-left: auto; font-size: 0.85rem; color: var(--secondary-color); transition: transform 0.3s;
}
.toc-box[open] > summary::after { transform: rotate(180deg); }
.toc-list {
    list-style: none; padding: 20px 0 0; margin: 0;
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 28px;
}
.toc-list li { counter-increment: toc; }
.toc-list a {
    display: flex; gap: 10px; font-size: 0.95rem; padding: 6px 0;
    border-bottom: 1px dashed #eee;
}
.toc-list a::before {
    content: counter(toc, decimal-leading-zero);
    color: var(--secondary-color); font-family: var(--font-en); font-weight: 900; font-size: 0.85rem;
}
.toc-list { counter-reset: toc; }
.toc-list a:hover { color: var(--primary-color); }

/* =========================================
   症状チップ（.symptom-nav）
========================================= */
.symptom-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.symptom-nav a {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--white); border: 1px solid var(--secondary-color);
    color: var(--primary-color); border-radius: 40px; padding: 10px 20px;
    font-size: 0.95rem; font-weight: bold; transition: 0.3s;
}
.symptom-nav a::after {
    content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 0.75rem;
}
.symptom-nav a:hover { background: var(--secondary-color); color: var(--white); }

/* =========================================
   注意ボックス（.alert-box）
========================================= */
.alert-box {
    background: var(--light-blue-bg); border-left: 6px solid var(--secondary-color);
    border-radius: 8px; padding: 24px 28px; margin: 30px 0;
}
.alert-box .alert-title {
    display: flex; align-items: center; gap: 10px; margin: 0 0 10px;
    font-weight: bold; font-size: 1.1rem; color: var(--primary-color);
}
.alert-box p { margin: 0; line-height: 1.9; }
.alert-box ul { margin: 0; padding: 0; list-style: none; }
.alert-box li { position: relative; padding-left: 20px; margin-bottom: 10px; line-height: 1.7; }
.alert-box li::before {
    content: ""; position: absolute; left: 4px; top: 12px;
    width: 6px; height: 6px; border-radius: 50%; background: var(--secondary-color);
}
.alert-box--danger { background: var(--danger-bg); border-left-color: var(--danger); }
.alert-box--danger .alert-title { color: var(--danger-dark); }
.alert-box--danger strong { color: var(--danger-dark); }
.alert-box--danger li::before { background: var(--danger); }

/* 情報ボックス */
.info-box {
    background: var(--light-blue-bg); border-radius: var(--border-radius-lg);
    padding: 28px 32px; margin: 30px 0;
}
.info-box h3 { font-size: 1.2rem; color: var(--primary-color); margin: 0 0 14px; }
.info-box p { margin: 0 0 12px; line-height: 1.9; }
.info-box p:last-child { margin-bottom: 0; }

/* =========================================
   症状カード（.symptom-card）
========================================= */
.symptom-list { display: flex; flex-direction: column; gap: 32px; }
.symptom-card {
    background: var(--white); border-radius: var(--border-radius-lg);
    box-shadow: var(--box-shadow); padding: 36px 40px; scroll-margin-top: 130px;
}
.symptom-card__head {
    display: flex; align-items: flex-start; gap: 12px;
    padding-bottom: 14px; margin-bottom: 24px; border-bottom: 2px solid var(--light-blue-bg);
}
.symptom-card__no {
    flex-shrink: 0; background: var(--secondary-color); color: var(--white);
    font-family: var(--font-en); font-size: 0.9rem; font-weight: 900;
    border-radius: 6px; padding: 3px 10px; line-height: 1.6;
}
.symptom-card__head h3 { font-size: 1.35rem; color: var(--primary-color); margin: 0; }
.symptom-card h4 {
    font-size: 1.02rem; color: var(--secondary-color); margin: 24px 0 10px;
    display: flex; align-items: center; gap: 8px;
}
.symptom-card h4::before {
    content: ""; width: 8px; height: 8px; border-radius: 50%;
    background: var(--accent-color); flex-shrink: 0;
}
.symptom-card h4:first-of-type { margin-top: 0; }
.symptom-card p { margin: 0 0 14px; line-height: 1.9; }
.symptom-card p:last-child { margin-bottom: 0; }
.symptom-card--danger { border: 2px solid var(--danger); }
.symptom-card--danger .symptom-card__head { border-bottom-color: #ffebee; }
.symptom-card--danger .symptom-card__head h3 { color: var(--danger-dark); }
.symptom-card--danger .symptom-card__no { background: var(--danger); }

.cause-list { counter-reset: cause; list-style: none; padding: 0; margin: 0 0 14px; }
.cause-list li {
    counter-increment: cause; position: relative;
    padding-left: 34px; margin-bottom: 10px; line-height: 1.7;
}
.cause-list li::before {
    content: counter(cause); position: absolute; left: 0; top: 2px;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--light-blue-bg); color: var(--primary-color);
    font-family: var(--font-en); font-size: 0.8rem; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
}
.dot-list { list-style: none; padding: 0; margin: 0 0 14px; }
.dot-list li { position: relative; padding-left: 20px; margin-bottom: 10px; line-height: 1.7; }
.dot-list li::before {
    content: ""; position: absolute; left: 4px; top: 12px;
    width: 6px; height: 6px; border-radius: 50%; background: var(--secondary-color);
}

/* =========================================
   汎用データテーブル（横スクロールに統一）
========================================= */
.data-table-wrap { overflow-x: auto; margin: 24px 0; -webkit-overflow-scrolling: touch; }
.data-table {
    width: 100%; min-width: 560px; border-collapse: collapse;
    border: 1px solid var(--border-gray); background: var(--white);
}
.data-table th, .data-table td {
    padding: 14px 18px; border: 1px solid var(--border-gray);
    text-align: left; line-height: 1.7; font-size: 0.95rem;
}
.data-table thead th {
    background: var(--primary-color); color: var(--white);
    font-weight: bold; text-align: center;
}
.data-table tbody th {
    background: #f7fcff; color: var(--primary-color); font-weight: bold; width: 46%;
}
.data-table tbody tr:nth-child(even) td { background: #fcfcfc; }
.data-table td.is-need { color: var(--danger-dark); font-weight: bold; text-align: center; }
.data-table td.is-free { color: var(--text-muted); text-align: center; }
.data-table td.is-highlight { background: #fff8e1 !important; color: var(--accent-color); font-weight: bold; }
.table-note { font-size: 0.85rem; color: var(--text-muted); line-height: 1.8; margin: 10px 0 0; }

/* 料金表は横幅いっぱいに */
.service-price-section .price-table-wrap { max-width: 100%; }

/* 料金の補足2カラム */
.price-sub { display: flex; gap: 24px; max-width: 100%; margin: 40px auto 0; flex-wrap: wrap; }
.price-sub-box {
    flex: 1; min-width: 300px; background: var(--white);
    border: 1px solid var(--border-gray); border-radius: var(--border-radius-lg); padding: 24px 28px;
}
.price-sub-box h3 {
    font-size: 1.05rem; color: var(--primary-color); margin: 0 0 12px;
    padding-bottom: 10px; border-bottom: 1px solid #eee;
}
.price-sub-box p, .price-sub-box li { font-size: 0.92rem; line-height: 1.85; }
.price-sub-box ul { list-style: none; padding: 0; margin: 0; }
.price-sub-box li { position: relative; padding-left: 18px; margin-bottom: 9px; }
.price-sub-box li::before {
    content: ""; position: absolute; left: 3px; top: 10px;
    width: 5px; height: 5px; border-radius: 50%; background: var(--secondary-color);
}
.price-sub-box .no-extra {
    margin-top: 14px; padding: 10px 14px; background: var(--light-blue-bg);
    border-radius: 6px; color: var(--primary-color); font-weight: bold; font-size: 0.9rem;
}

/* =========================================
   対応機器・メーカー（.service-maker-section）
========================================= */
.tag-group { margin-bottom: 28px; }
.tag-group h3 { font-size: 1.05rem; color: var(--primary-color); margin: 0 0 14px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.tag-list li {
    background: var(--white); border: 1px solid #ddd; border-radius: 6px;
    padding: 8px 16px; font-size: 0.9rem;
}
.tag-list.is-maker li {
    background: var(--light-blue-bg); border-color: transparent;
    color: var(--primary-color); font-weight: bold;
}

/* =========================================
   選ばれる理由（既存 .feature-* を流用しつつ番号付きカードに）
========================================= */
.reason-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.reason-item {
    background: var(--white); border-radius: var(--border-radius-lg);
    box-shadow: var(--box-shadow); padding: 32px; transition: 0.3s;
}
.reason-item:hover { transform: translateY(-4px); box-shadow: var(--box-shadow-hover); }
.reason-item:first-child { grid-column: 1 / -1; }
.reason-num {
    font-family: var(--font-en); font-size: 2.6rem; font-weight: 900;
    color: rgba(2,136,209,0.15); line-height: 1; margin: 0 0 6px;
}
.reason-item h3 { font-size: 1.15rem; color: var(--primary-color); margin: 0 0 12px; }
.reason-item p { margin: 0; font-size: 0.94rem; line-height: 1.85; }

/* =========================================
   施工事例（.case-card）
========================================= */
.case-list { display: flex; flex-direction: column; gap: 40px; }
.case-card {
    background: var(--white); border-radius: var(--border-radius-lg);
    box-shadow: var(--box-shadow); overflow: hidden;
}
.case-card__head {
    background: var(--primary-color); color: var(--white);
    padding: 18px 28px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.case-card__no {
    font-family: var(--font-en); font-weight: 900; font-size: 0.8rem;
    background: rgba(255,255,255,0.22); border-radius: 4px; padding: 3px 10px;
}
.case-card__head h3 { font-size: 1.1rem; margin: 0; color: var(--white); }
.case-card__body { padding: 28px; display: flex; gap: 32px; }
.case-card__body .data-table-wrap { flex: 1.3; margin: 0; }
.case-card__body .data-table { min-width: 0; }
.case-card__photos { flex: 1; display: flex; flex-direction: column; gap: 14px; min-width: 240px; }
.photo-ph {
    background: #eef1f4; border: 2px dashed #c6ced6; border-radius: 8px;
    aspect-ratio: 4 / 3; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 6px;
    color: #90a0b0; font-size: 0.85rem; font-weight: bold;
}
.photo-ph i { font-size: 1.8rem; }
.case-card__comment {
    margin: 0; padding: 18px 28px 24px; border-top: 1px dashed var(--border-gray);
    font-size: 0.93rem; line-height: 1.85;
}
.case-card__comment .label {
    display: inline-block; background: var(--accent-color); color: var(--white);
    font-size: 0.78rem; font-weight: bold; border-radius: 4px; padding: 2px 10px; margin-right: 10px;
}

/* =========================================
   お客様の声（.voice-card）
========================================= */
.voice-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.voice-card {
    background: var(--white); border-radius: var(--border-radius-lg);
    box-shadow: var(--box-shadow); padding: 28px; position: relative;
}
.voice-card::before {
    content: "\f10d"; font-family: "Font Awesome 6 Free"; font-weight: 900;
    position: absolute; top: 18px; right: 20px; font-size: 1.6rem; color: var(--light-blue-bg);
}
.voice-card__meta {
    display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
    padding-bottom: 14px; border-bottom: 1px solid #f0f0f0;
}
.voice-card__avatar {
    width: 44px; height: 44px; border-radius: 50%; background: var(--light-blue-bg);
    display: flex; align-items: center; justify-content: center;
    color: var(--secondary-color); flex-shrink: 0;
}
.voice-card__name { font-weight: bold; font-size: 0.95rem; margin: 0; }
.voice-card__area { font-size: 0.82rem; color: var(--text-muted); margin: 0; }
.voice-card__text { margin: 0; font-size: 0.92rem; line-height: 1.85; }

/* =========================================
   資格・保証（.assurance-item）
========================================= */
.assurance-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 940px; margin: 0 auto; }
.assurance-item {
    background: var(--white); border: 1px solid var(--border-gray);
    border-radius: var(--border-radius-lg); padding: 24px 28px;
    display: flex; gap: 18px; align-items: flex-start;
}
.assurance-item > i { color: var(--secondary-color); font-size: 1.5rem; margin-top: 2px; flex-shrink: 0; }
.assurance-item h3 { font-size: 1rem; color: var(--primary-color); margin: 0 0 6px; }
.assurance-item p { margin: 0; font-size: 0.9rem; line-height: 1.75; }

/* =========================================
   対応エリア（.area-chips）
========================================= */
.area-box { max-width: 1000px; margin: 0 auto; }
.area-chips {
    display: flex; flex-wrap: wrap; gap: 10px; list-style: none;
    padding: 28px; margin: 0 0 24px;
    background: var(--light-blue-bg); border-radius: var(--border-radius-lg);
}
.area-chips li {
    background: var(--white); border-radius: 4px; padding: 7px 14px;
    font-size: 0.9rem; font-weight: bold; color: var(--primary-color);
}
.area-text { font-size: 0.95rem; line-height: 1.95; margin: 0 0 16px; }

/* =========================================
   FAQ（.faq-list / details・summary）
========================================= */
.faq-list { max-width: 900px; margin: 0 auto; border-top: 1px solid #eee; }
.faq-item { border-bottom: 1px solid #eee; }
.faq-item > summary {
    padding: 20px 50px 20px 20px; font-weight: bold; font-size: 1.1rem;
    cursor: pointer; position: relative; color: var(--text-color);
    display: flex; align-items: flex-start; gap: 10px;
    list-style: none; transition: background-color 0.3s;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::before {
    content: "Q."; color: var(--primary-color); font-weight: 900;
    font-family: var(--font-en); font-size: 1.3rem; line-height: 1.2;
}
.faq-item > summary::after {
    content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900;
    position: absolute; top: 50%; right: 20px; transform: translateY(-50%);
    transition: transform 0.3s; font-size: 1rem; color: var(--secondary-color);
}
.faq-item[open] > summary { color: var(--primary-color); }
.faq-item[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
.faq-item > summary:hover { background-color: #f9f9f9; }
.faq-answer {
    background-color: #f7fcff; padding: 20px 20px 20px 50px;
    position: relative; border-top: 1px dashed #ddd;
}
.faq-answer::before {
    content: "A."; position: absolute; top: 20px; left: 20px;
    color: var(--accent-color); font-weight: 900;
    font-family: var(--font-en); font-size: 1.3rem; line-height: 1.2;
}
.faq-answer p { margin: 0; font-size: 0.95rem; line-height: 1.8; }

/* =========================================
   関連するサービス（.related-card）
========================================= */
.related-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.related-card {
    display: block; background: var(--white); border: 1px solid var(--border-gray);
    border-radius: var(--border-radius-lg); padding: 24px 26px; transition: 0.3s;
}
.related-card:hover { border-color: var(--secondary-color); transform: translateY(-4px); box-shadow: var(--box-shadow); }
.related-card h3 {
    font-size: 1.02rem; color: var(--primary-color); margin: 0 0 8px;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.related-card h3::after {
    content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900;
    font-size: 0.8rem; color: var(--secondary-color);
}
.related-card p { margin: 0; font-size: 0.87rem; color: var(--text-muted); line-height: 1.7; }

/* =========================================
   監修者（.service-supervisor）
========================================= */
.supervisor-box {
    max-width: 900px; margin: 0 auto; background: var(--white);
    border: 1px solid var(--border-gray); border-radius: var(--border-radius-lg);
    padding: 30px 34px; display: flex; gap: 24px; align-items: flex-start;
}
.supervisor-avatar {
    width: 84px; height: 84px; border-radius: 50%; background: var(--light-blue-bg);
    display: flex; align-items: center; justify-content: center;
    color: var(--secondary-color); font-size: 2rem; flex-shrink: 0;
}
.supervisor-label { font-size: 0.78rem; color: var(--text-muted); margin: 0 0 4px; letter-spacing: 0.1em; }
.supervisor-name { font-size: 1.15rem; color: var(--primary-color); margin: 0 0 10px; }
.supervisor-desc { margin: 0; font-size: 0.9rem; line-height: 1.8; }
.update-date { max-width: 900px; margin: 16px auto 0; text-align: right; font-size: 0.82rem; color: var(--text-muted); }

/* =========================================
   スマホ固定CTA（.sp-fixed-cta）
========================================= */
.sp-fixed-cta { display: none; }

/* =========================================
   レスポンシブ
========================================= */
@media (max-width: 900px) {
    .voice-list, .related-list { grid-template-columns: repeat(2, 1fr); }
    .reason-list, .assurance-list { grid-template-columns: 1fr; }
    .reason-item:first-child { grid-column: auto; }
    .case-card__body { flex-direction: column; }
    .toc-list { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .service-lead-section { padding-top: 40px; }
    .service-lead-section .lead-text p { font-size: 0.95rem; line-height: 1.9; }
    .trust-bar { flex-direction: column; }
    .trust-item + .trust-item { border-left: none; border-top: 1px solid rgba(0,123,182,0.15); }
    .trust-value { font-size: 1.6rem; }
    .inline-cta { flex-direction: column; gap: 12px; }

    .service-toc { padding-top: 30px; }
    .toc-box { padding: 20px; }

    .symptom-nav { gap: 8px; }
    .symptom-nav a { font-size: 0.85rem; padding: 9px 15px; }
    .symptom-card { padding: 24px 20px; }
    .symptom-card__head h3 { font-size: 1.1rem; }
    .symptom-card h4 { font-size: 0.96rem; }
    .symptom-card p, .cause-list li, .dot-list li { font-size: 0.92rem; }

    .alert-box, .info-box { padding: 20px; }
    .data-table th, .data-table td { padding: 11px 13px; font-size: 0.88rem; }
    .price-sub { flex-direction: column; gap: 16px; }
    .price-sub-box { min-width: 0; padding: 20px; }

    .voice-list, .related-list { grid-template-columns: 1fr; }
    .case-card__head { padding: 15px 20px; }
    .case-card__head h3 { font-size: 1rem; }
    .case-card__body, .case-card__comment { padding: 20px; }
    .reason-item { padding: 24px 20px; }
    .assurance-item { padding: 20px; }
    .area-chips { padding: 20px; gap: 8px; }
    .area-chips li { font-size: 0.83rem; padding: 6px 11px; }
    .faq-item > summary { font-size: 0.95rem; padding: 15px 35px 15px 10px; }
    .faq-item > summary::before { font-size: 1rem; }
    .faq-answer { padding: 15px 15px 15px 30px; }
    .faq-answer::before { left: 10px; top: 15px; font-size: 1rem; }
    .supervisor-box { flex-direction: column; align-items: center; text-align: center; padding: 24px 20px; }
    .update-date { text-align: center; }

    /* 画面下に固定の電話ボタン */
    .sp-fixed-cta {
        display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 900;
        gap: 1px; background: rgba(0,0,0,0.08); box-shadow: 0 -2px 12px rgba(0,0,0,0.15);
    }
    .sp-fixed-cta a {
        flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
        gap: 2px; padding: 10px 4px; color: var(--white);
        font-size: 0.78rem; font-weight: bold; line-height: 1.3;
    }
    .sp-fixed-cta a i { font-size: 1.05rem; }
    .sp-fixed-cta .c-tel  { background: var(--primary-color); }
    .sp-fixed-cta .c-line { background: var(--line-green); }
    .sp-fixed-cta .c-mail { background: var(--accent-color); }
    body { padding-bottom: 60px; }
}

/* =========================================
   料金表：3列版（作業内容／料金／作業時間の目安）
   ※2列のページには影響させないため専用クラスで指定
========================================= */
.price-table--3col th:first-child,
.price-table--3col td.p-work { width: 40%; text-align: left; }
.price-table--3col th:nth-child(2),
.price-table--3col td:nth-child(2) { width: 33%; }
.price-table--3col th:last-child,
.price-table--3col td.p-time {
    width: 27%; font-size: 0.95rem; font-weight: normal; white-space: nowrap;
}

@media (max-width: 768px) {
    .price-table--3col { min-width: 660px; }
    .price-table--3col th,
    .price-table--3col td { padding: 11px 10px; font-size: 0.86rem; }
    .price-table--3col td { font-size: 0.9rem; }
    .price-table--3col td.p-time { font-size: 0.84rem; }
}

/* =========================================
   症状カード：1枚に複数のチップが飛んでくる場合の受け口
========================================= */
.symptom-anchor { display: block; height: 0; scroll-margin-top: 130px; }

/* 用語解説などの補足カード（症状ではないので番号を振らない） */
.symptom-card--info .symptom-card__head {
    border-bottom-color: var(--border-gray);
}
.symptom-card--info .symptom-card__head h3 {
    display: flex; align-items: center; gap: 10px;
}
.symptom-card--info .symptom-card__head h3::before {
    content: "\f05a"; font-family: "Font Awesome 6 Free"; font-weight: 900;
    color: var(--secondary-color); font-size: 1.1rem;
}
