@charset "UTF-8";

/* --- 共通・スマホ（デフォルト） --- */
.member-introduction_area {
    padding-top: 30px; /* マージン相殺を避けるためpaddingを推奨 */
}

.membership-lists {
    margin-top: 40px;
}

.members-wrap {
    padding: 0;
    list-style: none;
}

/* 2番目以降のリストに余白 */
.member-list:not(:first-child) {
    margin-top: 30px;
}

.member-name {
    font-size: 1.5rem;
    font-weight: bold;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 10px;
}

.member-desc {
    margin-top: 10px;
    line-height: 1.6;
}

/* 画像サイズの固定指定 */
.member-image {
    margin-top: 20px;
    margin-inline: auto;
}

.member-image img {
    width: 100%;
    height: auto;
    object-fit: cover; /* 比率が違う画像でも歪まずにトリミングされる */
    display: block;
}

/* 特典内容のボックス */
.benefit {
    margin-top: 20px;
    border: 1px solid #0073bb;
    display: flex;
    flex-direction: column;
}

.benefit-title {
    background-color: #0073bb;
    color: #fff;
    padding: 15px;
    text-align: center;
    font-weight: bold;
}

.benefit-desc {
    padding: 20px;
    line-height: 1.6;
}

/* --- パソコン表示 (768px以上) --- */
@media screen and (min-width: 768px) {
    .member-wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 40px; /* テキストと画像の間隔 */
    }

    .member-info {
        flex: 1;
    }

    .member-image {
        margin: 0; /* PC時は横並びにするため上マージンをリセット */
        max-width: 325px;
        flex: 1;
    }

    .member-image img {
        min-width: 0;
        width: 100%;
        height: auto;
        object-fit: cover; /* 比率が違う画像でも歪まずにトリミングされる */
        display: block;
    }

    .benefit {
        flex-direction: row; /* 特典内容を横並びに */
        margin-top: 30px;
    }

    .benefit-title {
        width: 160px; /* 青い部分の幅を固定 */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .benefit-desc {
        flex: 1;
        background-color: #fff;
    }
}