@charset "UTF-8";

/* ============================================================
   1. SWELL正規スタイル (style-index.css ベース)
   ============================================================ */
.swell-block-faq { --swl-faq_icon_radius: 0; }
.swell-block-faq.-icon-rounded { --swl-faq_icon_radius: 10%; }
.swell-block-faq.-icon-circle { --swl-faq_icon_radius: 50%; }

.swell-block-faq .swell-block-faq__item + .swell-block-faq__item { margin-top: 1em; }

/* 質問 (Q) のデザイン */
.swell-block-faq .faq_q {
    font-size: inherit;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    padding: 1em 3em 0.8em 4em !important;
    position: relative;
    cursor: pointer;
    background-color: var(--color_main_thin); /* 好みの色があれば変更可 */
    color: var(--color_text);
    border-bottom: 4px solid var(--color_main); /* アクセント */
    transition: 0.3s;
    border-radius: 0.25rem;
}

/* Qアイコン */
.swell-block-faq .faq_q:before {
    border-radius: var(--swl-faq_icon_radius);
    bottom: unset;
    content: "Q";
    display: block;
    font-family: Arial, sans-serif;
    font-weight: 400;
    left: 0.75em; /* 位置微調整 */
    line-height: 2;
    position: absolute;
    text-align: center;
    top: 0.75em;
    width: 2em;
    background-color: var(--color_deep04);
    color: #fff;
}

/* 回答 (A) のデザイン */
.swell-block-faq .faq_a {
    line-height: 1.5;
    padding: 1em 1em 0.8em 4em !important;
    position: relative;
    background: #fff;
}

/* Aアイコン */
.swell-block-faq .faq_a:before {
    border-radius: var(--swl-faq_icon_radius);
    content: "A";
    display: block;
    font-family: Arial, sans-serif;
    left: 0.75em;
    line-height: 2;
    position: absolute;
    text-align: center;
    top: 1em;
    width: 2em;
    background-color: var(--color_main); /* 色はお好みで */
    color: #fff;
}


/* ============================================================
   2. 開閉機能 (CSSで制御)
   ============================================================ */
/* デフォルト（閉じている状態） */
.swell-block-faq .faq_a {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transition: all 0.3s ease; /* アニメーション */
    visibility: hidden;
}

/* 開いた状態 (.open クラスがついた時) */
.swell-block-faq__item.open .faq_a,
.faq_a.open {
    max-height: 2000px; /* 十分な高さ */
    opacity: 1;
    padding: 1em 1em 0.8em 4em !important;
    visibility: visible;
}

/* 開いた時のQのデザイン変化 */
.swell-block-faq__item.open .faq_q {
    border-bottom: none;
    border-radius: 5px 5px 0 0;
}


/* ============================================================
   3. 開閉アイコン (右側の矢印)
   ============================================================ */
.swell-block-faq__item .faq_q:after {
    content: ""; 
    /* 簡易的な矢印を作成 */
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--color_main);
    border-right: 2px solid var(--color_main);
    position: absolute;
    right: 1.5em;
    top: 50%;
    transform: translateY(-60%) rotate(135deg); /* 下向き */
    transition: 0.3s;
}

.swell-block-faq__item.open .faq_q:after {
    transform: translateY(-20%) rotate(-45deg); /* 上向き */
    border-color: var(--color_main);
}


/* ============================================================
   4. ブログパーツ崩れ対策 (余白リセット)
   ============================================================ */
.faq_q .p-blogParts,
.faq_q .post_content,
.faq_q .p-blogParts p,
.faq_q .post_content p {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    line-height: 1.5;
}
.faq_a .p-blogParts { margin-bottom: 0 !important; }
.faq_a .p-blogParts > p:first-child { margin-top: 0 !important; }
.faq_a .p-blogParts > p:last-child { margin-bottom: 0 !important; }