:root {
    --faq-bg: #ffffff;
    --faq-text: #333333;
    --faq-muted: #666666;
    --faq-accent: #3b82f6;
    /* アクセント色（青） */
    --faq-accent-weak: #e8f1ff;
    --faq-border: #e5e7eb;
    --faq-item-bg: #ffffff;
    /* ← 固定で白 */
    --faq-radius: 12px;
}


/* 全体の余白・文字色の初期化（任意） */

.faq_container {
    color: var(--faq-text);
    background: var(--faq-bg);
}


/* 大見出し */

.faq_big {
    font-weight: 800;
    line-height: 1.2;
    font-size: clamp(1.6rem, 2.8vw, 2.2rem);
    margin: 28px 0 16px;
    padding: 8px 0 10px;
    border-bottom: 3px solid var(--faq-accent);
}


/* 中見出し */

.faq_midium {
    font-weight: 700;
    line-height: 1.3;
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    margin: 28px 0 12px;
    padding: 8px 12px;
    border-left: 6px solid var(--faq-accent);
    background: linear-gradient(90deg, var(--faq-accent-weak), transparent 60%);
    border-radius: 8px;
}


/* Q/A ボックス */

.faq_item {
    background: var(--faq-item-bg);
    border: 1px solid var(--faq-border);
    border-radius: var(--faq-radius);
    padding: 14px 16px;
    margin: 12px 0;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}


/* Q/A の見出し（Q: / A: の表示部分） */

.faq_item .faq_q {
    font-weight: 700;
    color: #006400;
    letter-spacing: 0.02em;
}

.faq_item .faq_a {
    font-weight: 700;
    color: #ff6347;
    /* tomato */
    letter-spacing: 0.02em;
}


/* 段落・リスト */

.faq_item p {
    margin: 6px 0;
}

.faq_item p:first-child {
    margin-top: 0;
}

.faq_item p:last-child {
    margin-bottom: 0;
}

.faq_item ul {
    margin: 8px 0 0 1.2em;
    padding: 0;
}

.faq_item li {
    margin: 6px 0;
    color: var(--faq-muted);
}


/* ちょいインタラクション */

.faq_item:hover {
    border-color: #d8dee9;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}


/* スマホ向け微調整 */

@media (max-width: 768px) {
    .faq_item {
        padding: 12px 14px;
    }
    .faq_midium {
        margin-top: 24px;
    }
}


/* 印刷用 */

@media print {
    .faq_big {
        border-bottom: 2px solid #000;
    }
    .faq_midium {
        background: none;
        border-left: 4px solid #000;
    }
    .faq_item {
        background: #fff;
        box-shadow: none;
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

.kudasai {
    text-decoration: underline;
    color: blue;
}