/* =========================================================
   スペシャルメンバーズ規約ページのスタイル
   ========================================================= */

/* 1. 全体の箱のデザイン */
.fs-p-terms-page {
    background-color: #ffffff;
    border: 1px solid #d4c6b5;
    max-width: 900px;
    width: 100%;
    padding: 70px 60px;
    margin: 100px auto 80px;
    box-shadow: 0 4px 15px rgba(94, 76, 65, 0.1);
    position: relative;
    box-sizing: border-box;
    color: #5e4c41;
    line-height: 1.8;
}

/* 内側の二重線 */
.fs-p-terms-page::before {
    content: ""; position: absolute; top: 5px; right: 5px; bottom: 5px; left: 5px;
    border: 1px solid #d4c6b5; pointer-events: none; z-index: 10;
}

/* 2. タイトルのデザイン */
.fs-p-terms-header {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    z-index: 20;
}
.fs-p-terms-title {
    font-size: 1.8rem;
    color: #5e4c41;
    letter-spacing: 0.1em;
    margin: 0 0 5px 0;
    font-weight: normal;
    font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "Times New Roman", serif; /* 明朝体で格式高く */
}
.fs-p-terms-subtitle {
    font-size: 0.8rem;
    color: #a89a8d;
    font-family: "Times New Roman", serif;
    letter-spacing: 0.2em;
}

/* 3. 各章（セクション）のデザイン */
.fs-p-terms-section {
    margin-bottom: 45px;
    position: relative;
    z-index: 20;
}
.fs-p-terms-section h2 {
    font-size: 16px;
    color: #5e4c41;
    border-bottom: 1px solid #e8e2da;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.fs-p-terms-section p {
    margin: 0 0 15px 0;
    font-size: 16px;
}

/* 4. リスト（箇条書き）の美しい配置設定 */
.fs-p-terms-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fs-p-terms-list > li {
    margin-bottom: 15px;
    font-size: 16px;
    /* 折り返した2行目が綺麗に揃う（ぶら下がりインデント）設定 */
    padding-left: 2.5em;
    text-indent: -2.5em;
}
.fs-p-terms-num {
    display: inline-block;
    width: 2.5em;
    color: #8c7b70; /* 番号だけ少し色を抜いて上品に */
    font-family: "Times New Roman", serif;
}

/* サブリスト（1）2）などの表記） */
.fs-p-terms-sublist {
    list-style: none;
    padding: 10px 0 0 0;
    margin: 0;
}
.fs-p-terms-sublist > li {
    margin-bottom: 8px;
    /* サブリスト用のぶら下がりインデント */
    padding-left: 2em;
    text-indent: -2em;
    color: #5e4c41;
}
.fs-p-terms-subnum {
    display: inline-block;
    width: 2em;
    color: #8c7b70;
}

/* 5. スマホ表示（レスポンシブ対応） */
@media screen and (max-width: 1023px) {
    .fs-p-terms-page {
        padding: 50px 20px;
        margin: 80px auto 40px;
    }
    .fs-p-terms-title {
        font-size: 1.4rem;
    }
    .fs-p-terms-section h2 {
        font-size: 1.1rem;
    }
    .fs-p-terms-section p, 
    .fs-p-terms-list > li {
        font-size: 16px;
    }
    /* スマホ画面に合わせてインデント幅を微調整 */
    .fs-p-terms-list > li {
        padding-left: 2.2em;
        text-indent: -2.2em;
    }
    .fs-p-terms-num {
        width: 2.2em;
    }
}


/* =========================================================
   スペシャルメンバーズ：お知らせアコーディオン
   ========================================================= */

/* 1. 全体の箱（規約の箱と統一感を持たせる） */
.fs-p-member-news-container {
    background-color: #ffffff;
    border: 1px solid #d4c6b5;
    max-width: 900px;
    width: 100%;
    padding: 50px 40px;
    margin: 100px auto 40px auto; /* 規約の箱の上に置くことを想定した余白 */
    box-shadow: 0 4px 15px rgba(94, 76, 65, 0.1);
    position: relative;
    box-sizing: border-box;
}

/* 内側の二重線 */
.fs-p-member-news-container::before {
    content: ""; position: absolute; top: 5px; right: 5px; bottom: 5px; left: 5px;
    border: 1px solid #d4c6b5; pointer-events: none; z-index: 10;
}

/* 2. タイトル */
.fs-p-member-news-header {
    text-align: center; margin-bottom: 30px; position: relative; z-index: 20;
}
.fs-p-member-news-title {
    font-size: 1.4rem; color: #5e4c41; letter-spacing: 0.1em; margin: 0 0 5px 0;
    font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight: normal;
}
.fs-p-member-news-subtitle {
    font-size: 0.8rem; color: #a89a8d; font-family: "Times New Roman", serif; letter-spacing: 0.2em;
}

/* 3. リストと開閉ボタン */
.fs-p-member-news-list {
    list-style: none; padding: 0; margin: 0;
    border-top: 1px solid #d4c6b5; position: relative; z-index: 20;
}
.fs-p-member-news-item {
    border-bottom: 1px solid #d4c6b5; position: relative;
}
.fs-p-member-news-toggle {
    display: flex; align-items: center; width: 100%; background: transparent;
    border: none; padding: 20px 10px; cursor: pointer; text-align: left;
    transition: background-color 0.3s;
}
.fs-p-member-news-toggle:hover { background-color: #fcfaf5; }

/* 日付と見出し */
.fs-p-member-news-date {
    font-family: "Times New Roman", serif; font-size: 15px; color: #8c7b70;
    width: 110px; flex-shrink: 0; letter-spacing: 0.05em;
}
.fs-p-member-news-heading {
    flex: 1; font-size: 16px; font-weight: bold; color: #5e4c41; line-height: 1.5; padding-right: 20px;
}

/* 開閉アイコン（＋と－） */
.fs-p-member-news-icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.fs-p-member-news-icon::before, .fs-p-member-news-icon::after {
    content: ""; position: absolute; background-color: #5e4c41; transition: transform 0.3s ease, opacity 0.3s ease;
}
.fs-p-member-news-icon::before { top: 6px; left: 0; width: 14px; height: 2px; }
.fs-p-member-news-icon::after { top: 0; left: 6px; width: 2px; height: 14px; }
.fs-p-member-news-toggle[aria-expanded="true"] .fs-p-member-news-icon::after {
    transform: rotate(90deg); opacity: 0;
}

/* 4. アコーディオンの中身（滑らかに開く設定） */
.fs-p-member-news-content {
    display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; background-color: #fcfaf5;
}
.fs-p-member-news-toggle[aria-expanded="true"] + .fs-p-member-news-content {
    grid-template-rows: 1fr;
}
.fs-p-member-news-content-inner { overflow: hidden; }
.fs-p-member-news-content-inner p {
    padding: 25px 20px; 
margin: 0; 
color: #5e4c41; 
line-height: 1.8; 
font-size: 15px; 
border-top: 1px dashed #d4c6b5;
}

/* 5. スマホ対応 */
@media screen and (max-width: 1023px) {
    .fs-p-member-news-container { padding: 40px 15px; margin: 80px auto 40px; }
    .fs-p-member-news-toggle { flex-direction: column; align-items: flex-start; gap: 8px; padding: 15px 10px; }
    .fs-p-member-news-date { width: auto; font-size: 15px; }
    .fs-p-member-news-heading { font-size: 0.95rem; padding-right: 25px; width: 100%; box-sizing: border-box; }
    .fs-p-member-news-icon { position: absolute; right: 15px; top: 40px; }
    .fs-p-member-news-content-inner p { padding: 20px 15px; }
    .fs-p-terms-page {
        padding: 50px 20px;
        margin: 80px auto 40px;
    }
    .fs-p-terms-title {
        font-size: 1.4rem;
    }
    .fs-p-terms-section h2 {
        font-size: 1.1rem;
    }
    .fs-p-terms-section p, 
    .fs-p-terms-list > li {
        font-size: 16px;
    }
    .fs-p-terms-list,
    .fs-p-terms-sublist {
        padding-left: 1.5em; /* 枠線との距離を見ながら 1em 〜 2em の間で微調整してください */
    }

    .fs-p-terms-list > li {
        padding-left: 2.2em;
        text-indent: -2.2em;
    }
    .fs-p-terms-num {
        width: 2.2em;
    }
}