/* =========================================================
   AIO最適化用 FAQスタイル（検索窓削除版）
   ========================================================= */
.cmn-faq-aio { 
    font-family: sans-serif; 
    color: #333; 
    margin: 30px auto;
    max-width: 1000px;
    padding: 0 20px;
    box-sizing: border-box;
}

/* 1. 見出しのデザイン */
.cmn-faq-aio h1 { font-size: 1.8em; font-weight: bold; color: #002d74; margin-bottom: 10px; }
.cmn-faq-aio h2 { font-size: 1.5em; font-weight: bold; color: #002d74; border-bottom: 2px solid #002d74; padding-bottom: 8px; margin-top: 40px; margin-bottom: 20px; }
.cmn-faq-aio h4 { font-size: 1.2em; font-weight: bold; color: #002d74; margin-top: 30px; margin-bottom: 15px; padding-left: 10px; border-left: 4px solid #002d74; line-height: 1.4; }

/* すべて開く/閉じるボタンのコンテナ */
.faq-toggle-container { display: flex; justify-content: flex-end; gap: 12px; margin-bottom: 20px; }
.faq-toggle-btn { background-color: #fff; color: #002d74; border: 1px solid #002d74; padding: 8px 16px; font-size: 14px; font-weight: bold; border-radius: 4px; cursor: pointer; transition: background-color 0.2s, color 0.2s; }
.faq-toggle-btn:hover { background-color: #002d74; color: #fff; }

/* 2. FAQアコーディオン（details/summary）のデザイン */
.cmn-faq__details { background-color: #fff; border: 1px solid #ddd; border-radius: 4px; margin-bottom: 16px; overflow: hidden; }
.cmn-faq__summary { display: block; cursor: pointer; background-color: #f7f9fa; padding: 16px 20px; position: relative; list-style: none !important; }
.cmn-faq__summary::-webkit-details-marker { display: none !important; }

/* アコーディオンの開閉アイコン */
.cmn-faq__summary::after { content: "＋"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-weight: bold; color: #002d74; font-size: 1.2em; }
.cmn-faq__details[open] .cmn-faq__summary::after { content: "－"; }

.cmn-faq__summary__tit { font-size: 1.1em; font-weight: bold; margin: 0; padding-right: 30px; line-height: 1.4; color: #333; }

/* 3. FAQ本文（回答部分）のデザイン */
.cmn-faq__body { padding: 20px; border-top: 1px solid #ddd; background-color: #fff; }
.cmn-faq__body p { margin-top: 0; margin-bottom: 16px; line-height: 1.6; }
.cmn-faq__body p:last-child { margin-bottom: 0; }
.cmn-faq__body strong { color: #333; font-weight: bold; display: inline-block; margin-bottom: 4px; }
.cmn-faq__body a { color: #005bac; text-decoration: underline; }

/* リストのデザイン */
.cmn-faq__body ul { list-style: none !important; padding-left: 0 !important; margin-bottom: 16px !important; margin-left: 0 !important; }
.cmn-faq__body ul li { position: relative !important; padding-left: 1.2em !important; margin-bottom: 8px !important; line-height: 1.5 !important; display: block !important; }
.cmn-faq__body ul li::before { content: "●" !important; position: absolute !important; left: 0 !important; top: 0 !important; color: #333 !important; font-size: 0.8em !important; line-height: 1.8 !important; }

.cmn-faq__body ol { list-style: none !important; padding-left: 0 !important; margin-bottom: 16px !important; margin-left: 0 !important; counter-reset: faq-counter !important; }
.cmn-faq__body ol li { position: relative !important; padding-left: 1.5em !important; margin-bottom: 8px !important; line-height: 1.5 !important; display: block !important; }
.cmn-faq__body ol li::before { counter-increment: faq-counter !important; content: counter(faq-counter) "." !important; position: absolute !important; left: 0 !important; top: 0 !important; color: #333 !important; }

/* テーブル（表）のデザイン */
.cmn-faq__body table { width: 100%; border-collapse: collapse; margin-top: 10px; margin-bottom: 16px; }
.cmn-faq__body th, .cmn-faq__body td { border: 1px solid #ccc; padding: 10px; font-size: 14px; text-align: left; line-height: 1.4; }
.cmn-faq__body thead th { background-color: #002d74; color: #fff; font-weight: bold; }
.cmn-faq__body tbody th { background-color: #f7f9fa; color: #333; font-weight: bold; }

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .cmn-faq-aio { padding: 0 15px; }
    .cmn-faq__summary { padding: 12px 16px; }
    .cmn-faq__summary__tit { font-size: 1em; }
    .cmn-faq__body p { font-size: 14px; }
    .faq-toggle-container { justify-content: space-between; }
    .faq-toggle-btn { flex: 1; text-align: center; padding: 10px; font-size: 13px; }
}