@charset "UTF-8";

/* ============================================================
   service.css
   「初めての方へ」ページ専用スタイル
   ============================================================ */


/* ============================================================
   MV セクション (.service_mv)
   - 左: テキスト群 (ラベル + 2 タグ + 大タイトル + 白ピル吹き出し)
   - 右: モデル写真 (photo_model_1.webp)
   - 背景: クリーム
============================================================ */
.service_mv {
    width: 100%;
    background: var(--col_cream);
    padding: 16px 0 0;
    box-sizing: border-box;
}
.service_mv_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}
.service_mv_breadcrumb {
    padding: 0 0 0;
}

/* 本体 (PC: position レイヤー — 左テキストの上に右写真を重ねる) */
.service_mv_body {
    position: relative;
    padding-bottom: 100px;
}
.service_mv_body br {
    display: none;
}

/* 左テキスト群 — 通常フロー (写真より下のレイヤー) */
.service_mv_text {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 8px;
    max-width: 67%;
}
.service_mv_label {
    margin: 0 0 40px;
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.4;
}
.service_mv_tags {
    list-style: none;
    margin: 0 0 15px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.service_mv_tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 22px;
    border-radius: 999px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
}
.service_mv_tag_green {
    background: var(--col_green);
}
.service_mv_tag_yellow {
    background: var(--col_yellow);
}

/* 大タイトル */
.service_mv_title {
    margin: 0 0 20px;
    font-size: 8rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

/* 白ピル吹き出し風キャプション */
.service_mv_caption {
    margin: 0;
    text-align: left;
}
.service_mv_caption_inner {
    display: inline-block;
    background: #fff;
    border-radius: 999px;
    padding: 8px 25px 10px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    border: 2px solid var(--col_green);
}
.service_mv_caption_inner strong {
    font-weight: 700;
    color: var(--col_green);
}

/* 右モデル写真 — 絶対配置で右下に重ねる */
.service_mv_photo {
    position: absolute;
    right: -17%;
    bottom: 0;
    max-width: 1057px;
    height: 107%;
    line-height: 0;
    z-index: 2;
    pointer-events: none;
    width: 79%;
}
.service_mv_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

@media screen and (max-width: 1250px) {
    .service_mv_text {
        padding-top: 4vw;
    }
    .service_mv_label {
        font-size: 4vw;
        margin: 0 0 3vw;
    }
    .service_mv_tag {
        font-size: 1.6vw;
    }
    .service_mv_title {
        font-size: 6.3rem;
    }
    .service_mv_caption_inner {
        font-size: 2.3vw;
    }
    .service_mv_body {
        padding-bottom: 5vw;
    }
}


/* ============================================================
   MV セクション SP (≤768px)
============================================================ */
@media screen and (max-width: 768px) {
    .service_mv {
        padding: 12px 0 0;
    }
    .service_mv_inner {
        padding: 0;
    }
    .service_mv_breadcrumb {
        padding: 0 16px 20px;
    }
    .service_mv_breadcrumb .breadcrumb_list {
        font-size: 1.2rem;
        flex-wrap: nowrap;
        white-space: nowrap;
        gap: 4px 6px;
    }

    /* SP: position 解除して縦積み (テキスト → 写真 → 吹き出し) */
    .service_mv_body {
        position: relative;
        min-height: 0;
        text-align: center;
        padding-bottom: 0;
    }
    .service_mv_body br {
        display: block;
    }
    .service_mv_text {
        position: static;
        max-width: none;
        padding: 0 16px;
        display: inline-block;
    }
    .service_mv_label {
        font-size: 2.6rem;
        margin-bottom: 14px;
        text-align: left;
    }
    .service_mv_tags {
        gap: 8px;
        margin-bottom: 18px;
    }
    .service_mv_tag {
        padding: 8px 25px;
        font-size: 1.5rem;
        text-align: center;
    }
    .service_mv_title {
        font-size: 3.4rem;
        line-height: 1.3;
        margin-bottom: 0;
        text-align: left;
    }

    /* SP: 写真はテキスト下に全幅で表示 (絶対配置解除) */
    .service_mv_photo {
        position: static;
        max-width: 500px;
        margin: -100px auto 0;
        width: 100%;
        pointer-events: auto;
    }
    .service_mv_photo img {
        width: 100%;
        height: auto;
    }

    /* SP: 吹き出しは写真下に中央寄せで配置 */
    .service_mv_caption {
        text-align: center;
        padding: 0 16px;
        position: absolute;
        z-index: 2;
        bottom: 21vw;
        left: 0;
        right: 0;
    }
    .service_mv_caption_inner {
        padding: 8px 30px 10px;
        font-size: 1.8rem;
        line-height: 1.6;
    }
}


/* ============================================================
   登録セクション (.entry_cta) — service ページ用上書き
   - 背景色を #ffffff に変更
============================================================ */
.entry_cta.entry_cta_service {
    background: #fff;
}


/* ============================================================
   解決セクション (.service_solve_sec)
   - top に wave (bg_wave_top_*.webp)
   - 3 つの不安カード + 下向き三角 + 解決タイトル
   - その下に CM ブロック (.cm_sec_caption / .cm_sec_title / .cm_sec_movie を再利用)
============================================================ */
.service_solve_sec {
    --solve-wave-pc: url("../images/module/bg_wave_top_12_pc.webp");
    --solve-wave-sp: url("../images/module/bg_wave_top_12_sp.webp");
    position: relative;
    width: 100%;
    background: var(--col_l_beige);
    padding: 160px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.service_solve_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--solve-wave-pc) no-repeat top center / 100% auto;
    z-index: 0;
    pointer-events: none;
}
.service_solve_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    text-align: center;
}

/* 不安カード (3 枚) */
.service_solve_sec_cards {
    list-style: none;
    margin: 0 auto 24px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1100px;
}
.service_solve_sec_card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 90px;
    padding: 16px 44px 16px 16px;
    background: #fff;
    border: 2px solid var(--col_head_green);
    border-radius: 12px;
    box-sizing: border-box;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--col_head_green);
    text-align: center;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.service_solve_sec_card:hover,
.service_solve_sec_card:focus-visible {
    background: var(--col_cream);
    color: var(--col_head_green);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    text-decoration: none;
}
.service_solve_sec_card_text {
    display: inline-block;
}
.service_solve_sec_card_arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    width: 12px;
    height: 12px;
    border-right: 2px solid var(--col_head_green);
    border-bottom: 2px solid var(--col_head_green);
    transform: translateY(-75%) rotate(45deg);
}

/* 下向き三角 (案内アロー) */
.service_solve_sec_triangle {
    width: 0;
    height: 0;
    margin: 0 auto 24px;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 28px solid var(--col_head_green);
}

/* 解決タイトル */
.service_solve_sec_title {
    margin: 0 auto 80px;
    padding-bottom: 16px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 2px solid var(--col_head_green);
    display: inline-block;
}
.service_solve_sec_title_em {
    color: var(--col_head_green);
}

@media screen and (max-width: 768px) {
    .service_solve_sec {
        padding: 100px 16px 50px;
    }
    .service_solve_sec::before {
        height: 60px;
        background-image: var(--solve-wave-sp);
    }

    /* カードは縦積み */
    .service_solve_sec_cards {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 18px;
    }
    .service_solve_sec_card {
        min-height: 72px;
        font-size: 1.8rem;
        padding: 12px 36px 12px 16px;
    }
    .service_solve_sec_card_arrow {
        right: 12px;
        width: 10px;
        height: 10px;
    }

    /* 三角はやや小さく */
    .service_solve_sec_triangle {
        margin-bottom: 18px;
        border-left-width: 22px;
        border-right-width: 22px;
        border-top-width: 20px;
    }

    /* タイトル */
    .service_solve_sec_title {
        font-size: 2.4rem;
        line-height: 1.6;
        margin-bottom: 50px;
        padding-bottom: 10px;
    }
}


/* ============================================================
   低価格セクション (.service_price_sec)
   - top に wave (bg_wave_top_2_*.webp)
   - タイトル + リード文 + 理由 1 + 理由 2 + まとめ流れ図 + 結論 + ボタン
============================================================ */
.service_price_sec {
    --price-wave-pc: url("../images/module/bg_wave_top_9_pc.webp");
    --price-wave-sp: url("../images/module/bg_wave_top_9_sp.webp");
    position: relative;
    width: 100%;
    background: var(--col_cream);
    padding: 160px 20px 100px;
    box-sizing: border-box;
    overflow: hidden;
}
.service_price_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--price-wave-pc) no-repeat top center / 100% auto;
    z-index: 0;
    pointer-events: none;
}
.service_price_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* 大タイトル */
.service_price_sec_title {
    margin: 0 0 32px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.5;
}
.service_price_sec_title_em {
    color: var(--col_orange);
}

/* リード文 */
.service_price_sec_lead {
    margin: 0 0 64px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.75;
}

/* 理由ブロック (各 2 つ) */
.service_price_sec_reason {
    margin-bottom: 64px;
}
.service_price_sec_reason_title {
    display: inline-block;
    margin: 0 auto 32px;
    padding-bottom: 8px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 2px solid var(--col_orange);
}
.service_price_sec_reason_title_em {
    color: var(--col_orange);
}
.service_price_sec_reason_imgs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto;
}
.service_price_sec_reason_img {
    display: block;
}
.service_price_sec_reason_img img {
    display: block;
    width: 100%;
    height: auto;
}

/* まとめ流れ図 (小規模専門 + エリア集中出店 → 固定費・人件費を最適化) */
.service_price_sec_summary {
    margin: 0 auto 24px;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.service_price_sec_summary_pill {
    margin: 0;
    padding: 12px 24px;
    border-radius: 999px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    box-sizing: border-box;
}
.service_price_sec_summary_pill_outline {
    background: #fff;
    border: 1px solid var(--col_orange);
}
.service_price_sec_summary_pill_solid {
    background: var(--col_orange);
    color: #fff;
    border: 1px solid var(--col_orange);
    font-size: 3.2rem;
}
.service_price_sec_summary_plus {
    margin: 0;
    font-size: 3.2rem;
    font-weight: 700;
    color: var(--col_orange);
    line-height: 1;
    text-align: center;
}
.service_price_sec_summary_arrow {
    align-self: center;
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 14px solid var(--col_orange);
    margin: 4px 0;
}

/* 結論 */
.service_price_sec_conclusion {
    display: inline-block;
    margin: 24px 0 16px;
    padding-bottom: 6px;
    font-size: 5.6rem;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 3px solid var(--col_orange);
}
.service_price_sec_conclusion_em {
    color: var(--col_orange);
}
.service_price_sec_conclusion_desc {
    margin: 0 0 32px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.75;
}

/* もっと見るボタン */
.service_price_sec_more {
    margin: 0;
    text-align: center;
}
.service_price_sec_more_link {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 14px 36px;
    background: #fff;
    border-radius: 6px;
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.2),
        inset 0 1px 4px rgba(255, 255, 255, 0.15),
        inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.service_price_sec_more_link:hover {
    opacity: 0.85;
    color: #333;
}
.service_price_sec_more_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
    .service_price_sec {
        padding: 80px 16px 60px;
    }
    .service_price_sec::before {
        height: 60px;
        background-image: var(--price-wave-sp);
    }
    .service_price_sec_title {
        font-size: 2.7rem;
        margin-bottom: 20px;
    }
    .service_price_sec_lead {
        font-size: 1.6rem;
        line-height: 1.7;
        text-align: left;
        margin-bottom: 36px;
    }
    .service_price_sec_reason {
        margin-bottom: 36px;
    }
    .service_price_sec_reason_title {
        font-size: 2.4rem;
        margin-bottom: 20px;
    }
    .service_price_sec_reason_imgs {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .service_price_sec_summary {
        max-width: 280px;
    }
    .service_price_sec_summary_pill {
        font-size: 1.8rem;
        padding: 10px 18px;
    }
    .service_price_sec_summary_pill_solid {
        font-size: 2.2rem;
    }
    .service_price_sec_summary_plus {
        font-size: 2.4rem;
    }
    .service_price_sec_conclusion {
        font-size: 3.8rem;
        margin: 20px 0 12px;
    }
    .service_price_sec_conclusion_desc {
        font-size: 1.8rem;
        text-align: left;
        margin-bottom: 24px;
    }
    .service_price_sec_conclusion_desc br {
        display: none;
    }
    .service_price_sec_more_link {
        font-size: 1.5rem;
        padding: 12px 24px;
    }
}


/* ============================================================
   4 つのプランセクション (.service_plan_sec)
   - 上部に「だから」三角バナー (clip-path で下向き三角形)
   - 4 行のプランテーブル: 画像 / プラン名 / 会員価格 / 葬儀の流れ
============================================================ */
.service_plan_sec {
    position: relative;
    width: 100%;
    background: var(--col_l_beige);
    padding: 0 20px 80px;
    box-sizing: border-box;
}

/* だから 三角バナー (下向き三角形 + 中央にテキスト) */
.service_plan_sec_banner {
    position: relative;
    width: 680px;
    height: 170px;
    margin: 0 auto 24px;
    background: #FFE6DD;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 50px;
    box-sizing: border-box;
}
.service_plan_sec_banner_text {
    font-size: 4.2rem;
    font-weight: 700;
    color: var(--col_orange);
    line-height: 1;
    display: inline-flex;
    gap: 0;
}
/* 1 文字ごとの span: 上に 7.5px の ● を ::before で配置 */
.service_plan_sec_banner_char {
    position: relative;
    display: inline-block;
    line-height: 1;
}
.service_plan_sec_banner_char::before {
    content: "";
    position: absolute;
    top: -10px;                /* 文字とのスペースを詰める */
    left: 50%;
    transform: translateX(-50%);
    width: 7.5px;
    height: 7.5px;
    border-radius: 50%;
    background: var(--col_orange);
}

.service_plan_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* キャプション「\ 〜 /」 */
.service_plan_sec_caption {
    margin: 0 0 12px;
    color: var(--col_brown);
    font-size: 2.4rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    justify-content: center;
}
.service_plan_sec_caption_slash {
    display: block;
}
.service_plan_sec_caption_slash_inner {
    display: inline-block;
}
.service_plan_sec_caption_slash_inner::before,
.service_plan_sec_caption_slash_inner::after {
    content: "";
    width: 2px;
    height: 22px;
    background: var(--col_brown);
    display: inline-block;
}
.service_plan_sec_caption_slash_inner::before {
    margin: 0 16px -2px 0;
    transform: rotate(-20deg);
}
.service_plan_sec_caption_slash_inner::after {
    margin: 0 0 -2px 16px;
    transform: rotate(20deg);
}

/* タイトル */
.service_plan_sec_title {
    margin: 0 0 40px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
}

/* テーブル本体 */
.service_plan_sec_table {
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 8px;
    overflow-x: auto;             /* 1200px 以下では横スクロール */
    -webkit-overflow-scrolling: touch;
    background: #fff;
}
/* 内側は常に 1080px 以上を維持 → コンテナが狭くなったら横スクロール */
.service_plan_sec_thead,
.service_plan_sec_row {
    min-width: 1080px;
}

/* ヘッダー行 (PC のみ) */
.service_plan_sec_thead {
    display: grid;
    grid-template-columns: 200px 230px 312px 296px;
    background: #898989;
    color: #fff;
    font-weight: 700;
    width: 1200px;
}
.service_plan_sec_th {
    padding: 12px 16px;
    text-align: center;
    font-size: 2rem;
}
.service_plan_sec_th_name { grid-column: 2; }
.service_plan_sec_th_price { grid-column: 3; }
.service_plan_sec_th_flow { grid-column: 4; }

/* プラン行 */
.service_plan_sec_row {
    display: grid;
    grid-template-columns: 200px 230px 312px 296px;
    align-items: center;
    gap: 30px;
    padding: 35px 35px;
    background: #fff;
    border-top: 1px solid #e8e0d4;
}
.service_plan_sec_row:nth-child(odd) {
    background: var(--col_cream);
}
.service_plan_sec_row:first-of-type {
    border-top: 0;
}

.service_plan_sec_cell {
    box-sizing: border-box;
}

/* セル 1: 画像 */
.service_plan_sec_cell_img {
    max-width: 200px;
}

.service_plan_sec_cell_img img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 4px;
}

/* セル 2: プラン名 + 詳細ボタン */
.service_plan_sec_cell_name {
    text-align: left;
}
.service_plan_sec_lead {
    margin: 0 0 6px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
}
.service_plan_sec_name {
    margin: 0 0 14px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.3;
}
.service_plan_sec_detail {
    margin: 0;
}
.service_plan_sec_detail_link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px;
    background: #fff;
    border-radius: 6px;
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.15),
        inset 0 -2px 4px rgba(0, 0, 0, 0.05);
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s;
}
.service_plan_sec_detail_link:hover {
    opacity: 0.85;
}
.service_plan_sec_detail_arrow {
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
    display: inline-block;
}

/* セル 3: 価格 */
.service_plan_sec_cell_price {
    text-align: left;
}
.service_plan_sec_price_label {
    margin: 0 0 4px;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--col_orange);
}
.service_plan_sec_price_main {
    margin: 0 0 4px;
    color: var(--col_orange);
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
}
.service_plan_sec_price_num {
    font-family: 'Roboto', sans-serif;
    font-size: 6.2rem;
}
.service_plan_sec_price_yen {
    font-size: 3.2rem;
    margin-left: 2px;
}
.service_plan_sec_price_tax {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--col_orange);
}

/* セル 4: 葬儀の流れ (画像) */
.service_plan_sec_cell_flow {
    text-align: center;
}
.service_plan_sec_flow_img {
    display: block;
    width: 100%;
    max-width: 320px;
    height: auto;
    margin: 0 auto;
}


/* SP (≤768px) */
@media screen and (max-width: 768px) {
    .service_plan_sec {
        padding: 0 16px 40px;
    }
    .service_plan_sec_banner {
        width: 100%;
        max-width: 375px;
        height: 125px;
        padding-top: 37px;
        margin-bottom: 16px;
    }
    .service_plan_sec_banner_text {
        font-size: 2.6rem;
    }
    .service_plan_sec_caption {
        font-size: 1.5rem;
        gap: 10px;
    }
    .service_plan_sec_thead {
        grid-template-columns: 150px 180px 245px 222px;
        background: #898989;
        width: auto;
    }
    .service_plan_sec_caption_slash_inner::before,
    .service_plan_sec_caption_slash_inner::after { height: 18px; }
    .service_plan_sec_title {
        font-size: 2.6rem;
        margin-bottom: 24px;
    }
    .service_plan_sec_row {
        grid-template-columns: 150px 180px 245px 222px;
        gap: 25px;
        padding: 25px;
        -moz-box-sizing: border-box;
        box-sizing: border-box; 
    }
    .service_plan_sec_cell_img {
        max-width: 150px;
    }
    .service_plan_sec_th {
        font-size: 1.5rem;
    }
    .service_plan_sec_thead, .service_plan_sec_row {
        min-width: 924px;
    }
    .service_plan_sec_lead {
        font-size: 1.2rem;
    }
    .service_plan_sec_name {
        font-size: 1.8rem;
    }
    .service_plan_sec_detail_link {
        font-size: 1.2rem;
    }
    .service_plan_sec_price_label {
        font-size: 1.6rem;
    }
    .service_plan_sec_price_num {
        font-size: 4.2rem;
    }
    .service_plan_sec_price_tax {
        font-size: 1.2rem;
    }

    /* SP: テーブルの横スクロール / min-width はベーススタイルで対応済み */
}


/* ============================================================
   実績セクション (.service_result_sec)
   - top に wave (bg_wave_top_2_*.webp)
   - タイトル + 共通 common-result-head (リード + 年間実績画像) + 結びの一文
============================================================ */
.service_result_sec {
    --result-wave-pc: url("../images/module/bg_wave_top_2_pc.webp");
    --result-wave-sp: url("../images/module/bg_wave_top_2_sp.webp");
    position: relative;
    width: 100%;
    background: #fff;
    padding: 180px 20px 100px;
    box-sizing: border-box;
    overflow: hidden;
}
.service_result_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--result-wave-pc) no-repeat top center / 100% auto;
    z-index: 0;
    pointer-events: none;
}
.service_result_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.service_result_sec_title {
    margin: 0 0 40px;
    font-size: 4.0rem;
    font-weight: 700;
    line-height: 1.4;
}
.service_result_sec_title_em {
    color: var(--col_yellow);
}

/* common-result-head 内の余白調整 */
.service_result_sec .result_sec_lead {
    margin: 0 0 32px;
}
.service_result_sec .result_sec_jisseki {
    margin: 0 0 32px;
}

/* 結びの一文 */
.service_result_sec_closing {
    margin: 0;
    font-size: 3.2rem;
    line-height: 1.75;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .service_result_sec {
        padding: 80px 16px 50px;
    }
    .service_result_sec::before {
        height: 60px;
        background-image: var(--result-wave-sp);
    }
    .service_result_sec_title {
        font-size: 2.7rem;
        line-height: 1.48;
        margin-bottom: 24px;
    }
    .service_result_sec_closing {
        font-size: 2.4rem;
        line-height: 1.7;
    }
}


/* ============================================================
   サポートセクション (.service_support_sec)
   - top に wave (bg_wave_top_4_*.webp)
   - リード + タイトル + 説明 + 10 アイコンメニュー + ボタン
   - 全宗派対応カード (タイトル + 6 ピル + 注釈 + ボタン)
============================================================ */
.service_support_sec {
    --support-wave-pc: url("../images/module/bg_wave_top_4_pc.webp");
    --support-wave-sp: url("../images/module/bg_wave_top_4_sp.webp");
    position: relative;
    width: 100%;
    background: var(--col_l_beige);
    padding: 180px 20px 100px;
    box-sizing: border-box;
    overflow: hidden;
}
.service_support_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--support-wave-pc) no-repeat top center / 100% auto;
    z-index: 0;
    pointer-events: none;
}
.service_support_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* ヘッダー */
.service_support_sec_lead {
    margin: 0 0 12px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.6;
}
.service_support_sec_title {
    margin: 0 0 24px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
}
.service_support_sec_desc {
    margin: 0 0 56px;
    font-size: 1.8rem;
    line-height: 1.75;
}

/* メニュー見出し */
.service_support_sec_menu_title {
    margin: 0 0 36px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
}

/* アイコンメニュー (PC: 5 列 / SP: 2 列) */
.service_support_sec_menu {
    list-style: none;
    margin: 0 auto 48px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px 24px;
    max-width: 1100px;
}
.service_support_sec_menu_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.service_support_sec_menu_ico {
    width: 128px;
    height: 128px;
}
.service_support_sec_menu_ico img {
    width: 100%;
    height: auto;
}
.service_support_sec_menu_label {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

/* ボタン (アフターサポートはこちら / 宗教者紹介はこちら 共通) */
.service_support_sec_btn,
.service_support_sec_religion_btn {
    margin: 0;
    text-align: center;
}
.service_support_sec_btn_link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 14px 36px;
    background: #fff;
    border-radius: 6px;
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.2),
        inset 0 1px 4px rgba(255, 255, 255, 0.15),
        inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.service_support_sec_btn_link:hover {
    opacity: 0.85;
    color: #333;
}
.service_support_sec_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

/* 全宗派対応カード */
.service_support_sec_religion {
    max-width: 1100px;
    margin: 80px auto 0;
    padding: 40px 48px;
    background: #fff;
    border-radius: 12px;
    text-align: left;
}
.service_support_sec_religion_title {
    margin: 0 0 24px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
}
.service_support_sec_religion_tags {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.service_support_sec_religion_tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 173px;
    padding: 10px 22px;
    background: #C3944E;
    color: #fff;
    border-radius: 100vh;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    -moz-box-sizing: border-box;
	box-sizing: border-box;
}
.service_support_sec_religion_note {
    margin: 0 0 24px;
    font-size: 1.8rem;
    line-height: 1.7;
}
.service_support_sec_religion_btn {
    text-align: left;
}

@media screen and (max-width: 768px) {
    .service_support_sec {
        padding: 100px 16px 60px;
    }
    .service_support_sec::before {
        height: 60px;
        background-image: var(--support-wave-sp);
    }
    .service_support_sec_lead {
        font-size: 1.6rem;
    }
    .service_support_sec_title {
        font-size: 2.7rem;
        margin-bottom: 20px;
    }
    .service_support_sec_desc {
        font-size: 1.6rem;
        text-align: left;
        margin-bottom: 40px;
    }
    .service_support_sec_menu_title {
        font-size: 2.4rem;
        margin-bottom: 24px;
    }

    /* SP: アイコンは 2 列 */
    .service_support_sec_menu {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 16px;
        margin-bottom: 32px;
        max-width: 300px;
    }
    .service_support_sec_menu_ico {
        width: 96px;
        height: 96px;
    }
    .service_support_sec_menu_ico img {
        width: 100%;
        height: auto;
    }
    .service_support_sec_menu_label {
        font-size: 1.8rem;
    }

    .service_support_sec_btn_link {
        padding: 12px 24px;
        font-size: 1.5rem;
        width: 100%;
        justify-content: center;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    /* 全宗派カード SP */
    .service_support_sec_religion {
        margin-top: 56px;
        padding: 24px 20px;
        border-radius: 10px;
    }
    .service_support_sec_religion_title {
        font-size: 2.7rem;
        margin-bottom: 20px;
    }
    .service_support_sec_religion_tags {
        gap: 8px;
        margin-bottom: 16px;
    }
    .service_support_sec_religion_tag {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
        font-size: 1.8rem;
        padding: 8px 12px;
    }
    .service_support_sec_religion_note {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }
}


/* ============================================================
   探すセクション (.service_search_sec)
   - 背景に日本地図 (search_map.svg) を薄く配置
   - リード + 7 都県のカードグリッド (PC: 2 列 / SP: 1 列)
   - 各カードの「地域から選ぶ」ボタンクリックで .hall_modal を起動
     (.search_sec_btn[data-pref] は site.js の hallModal ハンドラに拾われる)
============================================================ */
.service_search_sec {
    position: relative;
    width: 100%;
    background:
        url("../images/service/search_map_pc.svg") no-repeat center center / contain,
        var(--col_cream);
    background-size: cover;
    padding: 100px 20px 100px;
    box-sizing: border-box;
}
.service_search_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* リード文 */
.service_search_sec_lead {
    margin: 0 0 0;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.7;
}
.service_search_sec_lead2 {
    margin: 0 0 60px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.7;
}
.service_search_sec_lead_em {
    color: #67A954;
}

/* カードリスト */
.service_search_sec_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 30px;
}
.service_search_sec_card {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 16px;
    padding: 20px 32px;
    background: #fff;
    border: 1px solid #67A954;
    border-radius: 8px;
}
@media screen and (max-width: 1080px) {
    .service_search_sec_card {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        gap: 5px 16px;
    }
}
.service_search_sec_card_pref {
    margin: 0;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: left;
}
.service_search_sec_card_count {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 2rem;
    text-align: left;
}
.service_search_sec_card_ico {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: #67A954;
    -webkit-mask: url("../images/service/icon/ico_search.svg") no-repeat center / contain;
            mask: url("../images/service/icon/ico_search.svg") no-repeat center / contain;
}
.service_search_sec_card_count_num {
    font-weight: 700;
}

/* 「地域から選ぶ」ボタン (モーダル起動) */
.service_search_sec_card_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 30px;
    background: #fff;
    border: 1px solid #67A954;
    border-radius: 6px;
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
    position: static;
    transform: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 4px rgba(255, 255, 255, 0.15), inset 0 -2px 4px rgba(0, 0, 0, 0.1);
}
.service_search_sec_card_btn:hover {
    background: #67A954;
    border-color: #67A954;
    color: #fff;
}
.service_search_sec_card_btn_arrow {
    display: inline-block;
    width: 28px;
    height: 28px;
    background: url("../images/service/icon/ico_arrow.png") no-repeat center / contain;
}

@media screen and (max-width: 768px) {
    .service_search_sec {
        padding: 40px 16px 60px;
        background:
            url("../images/service/search_map_sp.svg") no-repeat center center / contain,
            var(--col_cream);
            background-size: cover;
    }
    .service_search_sec_lead {
        font-size: 1.8rem;
        margin-bottom: 5px;
    }
    .service_search_sec_lead2 {
        font-size: 2.7rem;
        margin-bottom: 24px;
    }
    /* SP: カード 1 列縦並び */
    .service_search_sec_list {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    /* SP: 1 行目 = 県名 / 2 行目 = 件数 + ボタン (横並び)
       上の 1080px クエリで display: flex に切替わっているため、ここで grid に戻す */
    .service_search_sec_card {
        display: grid;
        grid-template-columns: 1fr auto;
        column-gap: 16px;
        row-gap: 0;
        padding: 14px 18px;
    }
    .service_search_sec_card_pref {
        grid-column: 1 / -1;            /* 1 行目を独占 → 改行 */
        font-size: 2.1rem;
    }
    .service_search_sec_card_count {
        font-size: 1.8rem;
        justify-self: start;
        align-self: center;
    }
    .service_search_sec_card_btn {
        font-size: 1.6rem;
        padding: 10px 10px 10px 25px;
        justify-self: end;
        align-self: center;
    }
}


/* ============================================================
   流れセクション (.service_flow_sec)
   - 葬儀の流れ 5 ステップ (?ボタンで補足ポップアップ)
   - 2 つの疑問 → 三角 → 安心メッセージ
   - お急ぎ / 事前相談の 2 カード
   - 3 ボタンエリア + お役立ち情報カード
============================================================ */
.service_flow_sec {
    position: relative;
    width: 100%;
    background: var(--col_cream);
    padding: 80px 20px 100px;
    box-sizing: border-box;
}
.service_flow_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
}
.service_flow_sec_title {
    margin: 0 0 40px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

/* ご逝去後の流れ 5 ステップ */
.service_flow_sec_steps {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 32px;
    margin: 0 0 56px;
    align-items: start;
}
.service_flow_sec_steps_label {
    margin: 8px 0 0;
    padding-left: 14px;
    border-left: 4px solid var(--col_orange);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4;
}
.service_flow_sec_steps_list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.service_flow_sec_step {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px dashed var(--col_orange);
}
.service_flow_sec_step:last-child {
    border-bottom: 1px dashed var(--col_orange);
}
/* ステップ番号 — index.php の .result_sec_list_num と同仕様 */
.service_flow_sec_step_num {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 0 66%;
    background: #FA916C;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}
.service_flow_sec_step_label {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4;
}

/* ? ヘルプボタン (テキスト直後に配置) + ポップアップのラッパー */
.service_flow_sec_step_help_wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.service_flow_sec_step_help {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    width: 32px;
    height: 32px;
}
.service_flow_sec_step_help img {
    display: block;
    width: 100%;
    height: 100%;
}

/* ヘルプポップアップ — PC: ?ボタンの右に吹き出し (左向き三角) */
.service_flow_sec_step_popup {
    --flow-popup-shift: 0px;
    position: absolute;
    top: 50%;
    left: calc(100% + 14px);              /* ?ボタンの右にギャップを取って配置 */
    transform: translate(var(--flow-popup-shift), -50%);
    z-index: 5;
    width: 360px;
    max-width: calc(100vw - 24px);
    padding: 18px 22px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
    text-align: left;
    box-sizing: border-box;
}
/* PC: 左辺中央に三角形 (左向き → ?ボタンを指す) */
.service_flow_sec_step_popup::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 10px 8px 0;
    border-color: transparent #fff transparent transparent;
    filter: drop-shadow(-2px 0 2px rgba(0, 0, 0, 0.06));
}
.service_flow_sec_step_popup[hidden] {
    display: none;
}
.service_flow_sec_step_popup_text {
    margin: 0 0 10px;
    font-size: 1.8rem;
    line-height: 1.6;
}
.service_flow_sec_step_popup_link {
    margin: 0;
}
.service_flow_sec_step_popup_link a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2673c3;
    text-decoration: underline;
    font-size: 1.8rem;
    font-weight: 500;
    text-underline-offset: 3px;
}
.service_flow_sec_step_popup_arrow {
    width: 40px;
    height: 40px;
    background: url(../images/module/ico_link_arrow.svg) no-repeat center / contain;
    position: relative;
    display: inline-block;
    flex-shrink: 0;
}

/* 2 つの疑問カード (緑枠) */
.service_flow_sec_qs {
    list-style: none;
    margin: 0 auto 24px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 1038px;
}
.service_flow_sec_q {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px 16px;
    background: #fff;
    border: 2px solid var(--col_head_green);
    border-radius: 12px;
    color: var(--col_head_green);
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

/* 下向き三角 */
.service_flow_sec_triangle {
    width: 0;
    height: 0;
    margin: 0 auto 24px;
    border-left: 75px solid transparent;
    border-right: 75px solid transparent;
    border-top: 36px solid var(--col_head_green);
}


/* 安心メッセージ */
.service_flow_sec_assure {
    margin: 0 auto 16px;
    padding-bottom: 6px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    border-bottom: 2px solid var(--col_head_green);
    display: table;
}
.service_flow_sec_assure_desc {
    margin: 0 0 40px;
    font-size: 2rem;
    line-height: 1.75;
    text-align: center;
}

/* お急ぎ / 事前相談 2 カード */
.service_flow_sec_cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 0 0 56px;
}
.service_flow_sec_card {
    padding: 32px 32px 28px;
    background: #fff;
    border-radius: 12px;
    text-align: center;
}
.service_flow_sec_card_title {
    margin: 0 0 14px;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
}
.service_flow_sec_card_desc {
    margin: 0 0 22px;
    font-size: 1.8rem;
    line-height: 1.7;
}
.service_flow_sec_card_btn {
    margin: 0;
}
.service_flow_sec_card_btn a {
    display: inline-block;
    line-height: 0;
    transition: opacity 0.2s, transform 0.2s;
}
.service_flow_sec_card_btn a:hover {
    opacity: 0.88;
    transform: translateY(-2px);
}
.service_flow_sec_card_btn img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* 3 ボタンエリア (流れ大 / Q&A / 補助金) */
.service_flow_sec_btns {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 12% 3.3%;
    margin: 0 0 40px;
    grid-template-columns: 60% 36.7%;
}
.service_flow_sec_btn {
    display: block;
    line-height: 0;
    border-radius: 8px;
    overflow: hidden;
    transition: opacity 0.2s, transform 0.2s;
}
.service_flow_sec_btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}
.service_flow_sec_btn img {
    display: block;
    width: 100%;
    height: auto;
}
.service_flow_sec_btn_large {
    grid-row: 1 / span 2;     /* PC: 左列を 2 行ぶち抜き */
}

/* お役立ち情報カード */
.service_flow_sec_article {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 28px;
    padding: 18px;
    background: #fff;
    border-radius: 8px;
    align-items: center;
}
.service_flow_sec_article_img picture,
.service_flow_sec_article_img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}
.service_flow_sec_article_body {
    padding-right: 16px;
}
.service_flow_sec_article_label {
    margin: 0 0 15px;
    padding-left: 12px;
    border-left: 4px solid var(--col_orange);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
}
.service_flow_sec_article_link {
    margin: 0;
}
.service_flow_sec_article_link a {
    color: #2673c3;
    text-decoration: underline;
    font-size: 2.4rem;
    line-height: 1.6;
    text-underline-offset: 3px;
}

@media screen and (max-width: 768px) {
    .service_flow_sec {
        padding: 40px 16px 60px;
    }
    .service_flow_sec_title {
        font-size: 3rem;
        margin-bottom: 24px;
    }

    /* SP: ステップは縦積み (ラベル → リスト) */
    .service_flow_sec_steps {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 32px;
    }
    .service_flow_sec_step_num {
        width: 38px;
        height: 38px;
        font-size: 1.4rem;
    }
    .service_flow_sec_step_label {
        font-size: 1.8rem;
    }
    /* SP: ポップアップは ?マークの下、横は画面中央寄せ (上向き三角) */
    .service_flow_sec_step_popup {
        position: absolute;
        top: calc(100% + 14px);              /* ?ボタンの下 */
        left: 50%;
        right: auto;
        bottom: auto;
        transform: translate(calc(-50% + var(--flow-popup-shift)), 0);         /* ?マークを中心に左右展開 */
        width: calc(100vw - 32px);
        max-width: 320px;
        z-index: 1000;
    }
    /* SP: 上辺中央に三角形 (上向き → ?ボタンを指す) */
    .service_flow_sec_step_popup::before {
        display: block;
        top: -10px;
        left: 50%;
        right: auto;
        bottom: auto;
        transform: translateX(-50%);
        border-width: 0 8px 10px 8px;
        border-color: transparent transparent #fff transparent;
        filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.06));
    }

    /* SP: 疑問カードは縦積み */
    .service_flow_sec_qs {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .service_flow_sec_q {
        font-size: 1.8rem;
        padding: 14px 12px;
    }

    .service_flow_sec_assure {
        font-size: 2.1rem;
    }
    .service_flow_sec_assure_desc {
        font-size: 1.6rem;
        line-height: 1.7;
        text-align: left;
        margin-bottom: 28px;
    }

    /* SP: お急ぎ / 事前相談カードは縦積み */
    .service_flow_sec_cards {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 32px;
    }
    .service_flow_sec_card {
        padding: 22px 20px 20px;
    }
    .service_flow_sec_card_title {
        font-size: 2.1rem;
    }
    .service_flow_sec_card_desc {
        font-size: 1.6rem;
    }

    /* SP: 3 ボタンは縦積み (全部 1 カラム) */
    .service_flow_sec_btns {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 14px;
    }
    .service_flow_sec_btn_large {
        grid-row: auto;
    }

    /* SP: お役立ち情報カードは縦積み */
    .service_flow_sec_article {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 14px;
    }
    .service_flow_sec_article_body {
        padding-right: 0;
    }
    .service_flow_sec_article_link a {
        font-size: 1.8rem;
    }
}


/* ============================================================
   会員制度セクション (.service_member_sec)
   - スラッシュキャプション + タイトル
   - 3 つのティール円形カード (PC: 横並び / SP: 縦積み)
   - ティールボタン + 結びメッセージ
============================================================ */
.service_member_sec {
    width: 100%;
    padding: 40px 20px 100px;
    box-sizing: border-box;
}
.service_member_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* キャプション「\ 〜 /」 */
.service_member_sec_caption {
    margin: 0 0 12px;
    color: var(--col_brown);
    font-size: 2.4rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    justify-content: center;
}
.service_member_sec_caption_slash {
    display: block;
}
.service_member_sec_caption_slash_inner {
    display: inline-block;
}
.service_member_sec_caption_slash_inner::before,
.service_member_sec_caption_slash_inner::after {
    content: "";
    width: 2px;
    height: 22px;
    background: var(--col_brown);
    display: inline-block;
}
.service_member_sec_caption_slash_inner::before {
    margin: 0 16px -2px 0;
    transform: rotate(-20deg);
}
.service_member_sec_caption_slash_inner::after {
    margin: 0 0 -2px 16px;
    transform: rotate(20deg);
}

.service_member_sec_title {
    margin: 0 0 48px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
}

/* 3 つの円形カード */
.service_member_sec_circles {
    list-style: none;
    margin: 0 0 48px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    justify-items: center;
}
.service_member_sec_circle {
    width: 360px;
    height: 360px;
    border: 2px solid var(--col_head_green);
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding: 24px;
}
.service_member_sec_circle_label {
    margin: 0 0 8px;
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--col_head_green);
    line-height: 1.4;
}
.service_member_sec_circle_value {
    margin: 0;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--col_head_green);
}
.service_member_sec_circle_value_num {
    color: var(--col_orange);
}
.service_member_sec_circle_value_orange {
    color: var(--col_orange);
    font-size: 6.4rem;
}

/* ボタン */
.service_member_sec_btn {
    margin: 0 0 40px;
    text-align: center;
}
/* 会員登録ボタン (画像 btn_members_pc/sp.png) */
.service_member_sec_btn_link {
    display: inline-block;
    line-height: 0;
    transition: opacity 0.2s, transform 0.2s;
}
.service_member_sec_btn_link:hover {
    opacity: 0.88;
    transform: translateY(-2px);
}
.service_member_sec_btn_link picture,
.service_member_sec_btn_link img {
    display: block;
    width: 100%;
    height: auto;
}

/* 結びメッセージ */
.service_member_sec_closing {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.7;
}
.service_member_sec_closing_em {
    color: var(--col_head_green);
    font-size: 4rem;
}

@media screen and (max-width: 768px) {
    .service_member_sec {
        padding: 40px 16px 60px;
    }
    .service_member_sec_caption {
        font-size: 1.8rem;
        gap: 10px;
    }
    .service_member_sec_caption_slash_inner::before,
    .service_member_sec_caption_slash_inner::after { height: 18px; }
    .service_member_sec_title {
        font-size: 3rem;
        margin-bottom: 32px;
    }

    /* SP: 円形カードは縦積み */
    .service_member_sec_circles {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-bottom: 32px;
    }
    .service_member_sec_circle {
        width: 275px;
        height: 275px;
        padding: 18px;
    }
    .service_member_sec_circle_label {
        font-size: 2.1rem;
    }
    .service_member_sec_circle_value {
        font-size: 3.2rem;
    }
    .service_member_sec_circle_value_orange {
        font-size: 3.2rem;
    }

    /* SP: ボタン (画像幅 max) */
    .service_member_sec_btn_link {
        width: 100%;
        max-width: 320px;
    }

    /* SP: 結び */
    .service_member_sec_closing {
        font-size: 2.1rem;
    }
    .service_member_sec_closing_em {
        font-size: 3rem;
    }
}


/* ============================================================
   5つの特長ページ (/service/features.php)
============================================================ */

/* 1_リード文 (.features_sec_lead) */
.features_sec_lead {
    padding: 60px 20px 0;
}
.features_sec_lead_inner {
    max-width: 1200px;
    margin: 0 auto;
}
.features_sec_lead_text {
    margin: 0;
    font-size: 2rem;
    line-height: 1.8;
}
@media screen and (max-width: 768px) {
    .features_sec_lead {
        padding: 40px 16px 0;
    }
    .features_sec_lead_text {
        font-size: 1.8rem;
    }
}

/* 1_5つの特長セクション (.features_sec)
   - 画像 + クリーム背景カードがジグザグに交互配置
   - 奇数番目: 画像 左 / カード 右、偶数番目 (.features_sec_item_reverse): 反転 */
.features_sec {
    padding: 60px 20px 100px;
}
.features_sec::after {
    display: none;
}
.features_sec_inner {
    max-width: 1400px;
    margin: 0 auto;
}
.features_sec_item {
    display: flex;
    align-items: flex-start;
}
.features_sec_item + .features_sec_item {
    margin-top: 80px;
}
.features_sec_item_reverse {
    flex-direction: row-reverse;
}
.features_sec_item_media {
    position: relative;
    z-index: 1;
    flex: 0 0 47%;
    border-radius: 6px;
}
.features_sec_item_media img {
    width: 100%;
    height: auto;
}
.features_sec_item_body {
    position: relative;
    z-index: 0;
    flex: 1 1 auto;
    box-sizing: border-box;
    padding: 0 60px 50px;
    background: var(--col_cream);
}
.features_sec_item:not(.features_sec_item_reverse) .features_sec_item_body {
    margin-top: 48px;
    margin-left: calc(-47% + 140px);
    padding-left: calc(47% - 140px + 65px);
    border-radius: 0 8px 8px 0;
    min-height: 442px;
}
.features_sec_item_reverse .features_sec_item_body {
    margin-top: 48px;
    margin-right: calc(-47% + 140px);
    padding-right: calc(47% - 140px + 65px);
    border-radius: 8px 0 0 8px;
    min-height: 442px;
}
.features_sec_item_ico {
    display: block;
    width: 92px;
    height: 92px;
    margin: -46px 0 16px;
}
.features_sec_item_title {
    margin: 0 0 35px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
}
.features_sec_item_price_cap {
    margin: 0 0 4px;
    font-size: 2rem;
    font-weight: 700;
    color: var(--col_orange);
    text-align: left;
}
.features_sec_item_price {
    margin: 0 0 16px;
    line-height: 1;
    text-align: left;
}
.features_sec_item_price_label {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--col_orange);
    text-align: left;
}
.features_sec_item_price_unit {
    font-size: 3.2rem;
    font-weight: 700;
    color: var(--col_orange);
    text-align: left;
}
.features_sec_item_price_num {
    margin: 0 4px;
    font-size: 6rem;
    font-weight: 600;
    color: var(--col_orange);
    font-family: 'Roboto', sans-serif;
    text-align: left;
}
.features_sec_item_price_tax {
    color: var(--col_orange);
    margin-left: 6px;
    font-size: 2rem;
    font-weight: 700;
    text-align: left;
}
.features_sec_item_desc {
    margin: 0 0 35px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
}
/* 「いつでも見学できます」キャプション (voice_sec_caption_slash と同構成) */
.features_sec_item_caption {
    font-size: 2rem;
    margin: 0 0 16px;
    text-align: center;
}
.features_sec_item_caption_slash_inner {
    display: inline-block;
    font-weight: 700;
    color: var(--col_orange);
}
.features_sec_item_caption_slash_inner::before {
    content: "";
    width: 2px; height: 18px;
    margin: 0 12px -2px 0;
    background: var(--col_orange);
    transform: rotate(-20deg);
    display: inline-block;
}
.features_sec_item_caption_slash_inner::after {
    content: "";
    width: 2px; height: 18px;
    margin: 0 0 -2px 12px;
    background: var(--col_orange);
    transform: rotate(20deg);
    display: inline-block;
}

.features_sec_item_btn {
    margin: 0;
}
.features_sec_item_btn_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 380px;
    padding: 18px 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 4px rgba(255, 255, 255, 0.15), inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s;
}
.features_sec_item_btn_link:hover {
    opacity: 0.7;
}
.features_sec_item_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .features_sec {
        padding: 40px 16px 60px;
    }
    .features_sec_item,
    .features_sec_item_reverse {
        flex-direction: column;
        align-items: stretch;
    }
    .features_sec_item + .features_sec_item {
        margin-top: 50px;
    }
    .features_sec_item_media {
        flex: none;
    }
    .features_sec_item:not(.features_sec_item_reverse) .features_sec_item_body,
    .features_sec_item_reverse .features_sec_item_body {
        margin: -10px 0 0;
        padding: 26px 16px 26px;
        border-radius: 8px;
        min-height: inherit;
    }
    .features_sec_item_ico {
        width: 46px;
        height: 46px;
        margin: 0 0 10px;
    }
    .features_sec_item_title {
        font-size: 2.6rem;
        margin: 0 0 20px;
    }
    .features_sec_item_price {
        text-align: center;
    }
    .features_sec_item_price_cap {
        font-size: 1.6rem;
    }
    .features_sec_item_price_label {
        font-size: 2.2rem;
    }
    .features_sec_item_price_num {
        font-size: 5rem;
    }
    .features_sec_item_price_unit {
        font-size: 2.6rem;
    }
    .features_sec_item_price_tax {
        font-size: 1.6rem;
        white-space: nowrap;
    }
    .features_sec_item_desc {
        font-size: 1.6rem;
    }
}


/* ============================================================
   宗教者紹介ページ (/service/jiin.php)
============================================================ */

/* 1_ご手配セクション (.jiin_arrange_sec) */
.jiin_arrange_sec {
    padding: 60px 20px 100px;
}
.jiin_arrange_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
}
.jiin_arrange_sec_lead {
    margin: 0 0 70px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}

.jiin_arrange_sec_box {
    position: relative;
    text-align: center;
    margin: -45px 0 0;
}
.jiin_arrange_sec_badge {
    position: relative;
    top: 38px;
    z-index: 1;
    display: inline-block;
    margin: 0 33% 0 40px;
    padding: 10px 50px;
    background: #fa916c;
    border-radius: 8px;
    color: #fff;
    font-size: 2.8rem;
    font-weight: 700;
}
.jiin_arrange_sec_box_inner {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    min-height: 346px;
    padding: 70px 33% 50px 40px;
    background: #fbe9e4;
    border-radius: 0 8px 8px 8px;
    box-sizing: border-box;
    justify-content: center;
}
.jiin_arrange_sec_points {
    display: flex;
	flex-flow: row wrap;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.jiin_arrange_sec_point {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 218px;
     aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--col_orange);
    color: var(--col_orange);
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    box-sizing: border-box;
}
.jiin_arrange_sec_img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 33%;
    max-width: 394px;
}
.jiin_arrange_sec_img img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 1200px) {
    .jiin_arrange_sec_badge {
        padding: 10px 10px;
    }
    .jiin_arrange_sec_box_inner {
        padding: 6vw 33% 2vw 2vw;
        min-height: 27vw;
    }
    .jiin_arrange_sec_lead {
        font-size: 2.4rem;
    }
    .jiin_arrange_sec_points {
        gap: 1.5vw;
    }
    .jiin_arrange_sec_point {
        width: 18vw;
        font-size: 2.5vw;
    }
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .jiin_arrange_sec_box {
        margin: -45px 0 0;
    }
    .jiin_arrange_sec {
        padding: 40px 16px 20px;
    }
    .jiin_arrange_sec_lead {
        margin-bottom: 24px;
        font-size: 2rem;
    }
    .jiin_arrange_sec_badge {
        padding: 12px 16px;
        font-size: 2.0rem;
        margin: 0 16px;
        top: 45px;
    }
    .jiin_arrange_sec_box_inner {
        flex-direction: column;
        align-items: stretch;
        min-height: auto;
        padding: 61px 16px 20px;
    }
    .jiin_arrange_sec_points {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }
    .jiin_arrange_sec_point {
        width: 31%;
        font-size: 4.5vw;
    }
    .jiin_arrange_sec_img {
        position: relative;
        width: 65%;
        margin: 10px auto 0;
    }
}

/* 2_お悩みセクション (.jiin_worry_sec)
   - 上端 wave は --jiin-worry-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_pc/sp) */
.jiin_worry_sec {
    position: relative;
    width: 100%;
    background: var(--col_cream);
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.jiin_worry_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--jiin-worry-wave-pc, url("../images/module/bg_wave_top_3_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.jiin_worry_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.jiin_worry_sec_title {
    margin: 0 0 40px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}
.jiin_worry_sec_list {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.jiin_worry_sec_item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 384px;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid var(--col_green);
    border-radius: 8px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.jiin_worry_sec_item p {
    margin: 0;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    color: var(--col_green);
}
.jiin_worry_sec_spiral {
    position: absolute;
}
.jiin_worry_sec_spiral_1 {
    top: -18px;
    left: -18px;
    width: 56px;
    height: 68px;
}
.jiin_worry_sec_spiral_2 {
    bottom: -40px;
    right: -18px;
    width: 48px;
    height: 58px;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .jiin_worry_sec {
        padding: 80px 16px 60px;
    }
    .jiin_worry_sec::before {
        height: 60px;
        background-image: var(--jiin-worry-wave-sp, url("../images/module/bg_wave_top_3_sp.webp"));
    }
    .jiin_worry_sec_title {
        margin-bottom: 40px;
        font-size: 2.7rem;
    }
    .jiin_worry_sec_list {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .jiin_worry_sec_item {
        min-height: auto;
        padding: 20px;
        width: 47%;
        min-width: inherit;
    }
    .jiin_worry_sec_item p {
        font-size: 1.6rem;
    }
    .jiin_worry_sec_spiral_1 {
        top: -18px;
        left: -18px;
        width: 38px;
        height: 43px;
    }
    .jiin_worry_sec_spiral_2 {
        bottom: -15px;
        right: -10px;
        width: 25px;
        height: 39px;
    }
}

/* 3_aboutセクション (.jiin_about_sec)
   - 上端 wave は --jiin-about-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_pc/sp) */
.jiin_about_sec {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.jiin_about_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--jiin-about-wave-pc, url("../images/module/bg_wave_top_10_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.jiin_about_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.jiin_about_sec_title {
    margin: 0 0 40px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}
.jiin_about_sec_lead {
    margin: 0 0 24px;
    font-size: 1.8rem;
    line-height: 1.8;
}

.jiin_about_sec_table {
    margin: 0 0 24px;
    border: 1px solid #D4D4D4;
    border-radius: 8px;
    overflow: hidden;
}
.jiin_about_sec_table_row {
    display: flex;
}
.jiin_about_sec_table_row + .jiin_about_sec_table_row {
    border-top: 1px solid #D4D4D4;
}
.jiin_about_sec_table_row dt {
    flex: 0 0 220px;
    margin: 0;
    padding: 20px 24px;
    background: #fbf8f5;
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
}
.jiin_about_sec_table_row dd {
    flex: 1 1 auto;
    margin: 0;
    padding: 20px 24px;
    background: #fff;
    border-left: 1px solid #D4D4D4;
    font-size: 1.8rem;
    line-height: 1.6;
}
.jiin_about_sec_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.jiin_about_sec_tags li {
    display: inline-block;
    padding: 13px 10px;
    background: var(--col_blue);
    border-radius: 999px;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    width: 6em;
    text-align: center;
}

.jiin_about_sec_note {
    margin: 0;
    font-size: 1.8rem;
}
.jiin_about_sec_note a {
    color: #2673c3;
    text-decoration: underline;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .jiin_about_sec {
        padding: 80px 16px 60px;
    }
    .jiin_about_sec::before {
        height: 60px;
        background-image: var(--jiin-about-wave-sp, url("../images/module/bg_wave_top_10_sp.webp"));
    }
    .jiin_about_sec_title {
        margin-bottom: 24px;
        font-size: 2.7rem;
    }
    .jiin_about_sec_table_row {
        flex-direction: column;
    }
    .jiin_about_sec_table_row dt {
        flex: none;
        padding: 14px 16px;
    }
    .jiin_about_sec_table_row dd {
        padding: 16px;
        border-left: none;
    }
    .jiin_about_sec_tags li {
        padding: 8px 18px;
        font-size: 1.4rem;
    }
}

/* 4_理由セクション (.jiin_reason_sec)
   - 上端 wave は --jiin-reason-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_pc/sp) */
.jiin_reason_sec {
    position: relative;
    width: 100%;
    background: var(--col_l_beige);
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.jiin_reason_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--jiin-reason-wave-pc, url("../images/module/bg_wave_top_12_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.jiin_reason_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.jiin_reason_sec_title {
    margin: 0 0 60px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    color: #333;
}

.jiin_reason_sec_box {
    position: relative;
    padding: 80px 7% 100px;
    background: #fff;
    border: 1px solid var(--col_orange);
    border-radius: 12px;
    box-sizing: border-box;
}
.jiin_reason_sec_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 60px;
    row-gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.jiin_reason_sec_item {
    position: relative;
    padding-left: 70px;
}
.jiin_reason_sec_num {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 0 66%;
    background: #FA916C;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}
.jiin_reason_sec_item_title {
    margin: 4px 0 10px;
    min-height: 50px;
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--col_orange);
}
.jiin_reason_sec_item_desc {
    margin: 0;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.8;
}
/* 4番目の項目の下、カード右下に独立配置 */
.jiin_reason_sec_img {
    position: absolute;
    right: 19%;
    bottom: 0;
    width: 280px;
    aspect-ratio: 274 / 220;
    overflow: hidden;
    border-radius: 6px;
}
.jiin_reason_sec_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.jiin_reason_sec_btns {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}
.jiin_reason_sec_btn_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 380px;
    padding: 18px 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 4px rgba(255, 255, 255, 0.15), inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s;
}
.jiin_reason_sec_btn_link:hover {
    opacity: 0.7;
}
.jiin_reason_sec_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .jiin_reason_sec {
        padding: 80px 16px 60px;
    }
    .jiin_reason_sec::before {
        height: 60px;
        background-image: var(--jiin-reason-wave-sp, url("../images/module/bg_wave_top_12_sp.webp"));
    }
    .jiin_reason_sec_title {
        margin-bottom: 24px;
        font-size: 2.7rem;
    }
    .jiin_reason_sec_box {
        padding: 30px 25px 0;
    }
    .jiin_reason_sec_list {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }
    .jiin_reason_sec_img {
        position: relative;
        right: auto;
        bottom: auto;
        width: 80%;
        margin: 30px auto 0;
    }
    .jiin_reason_sec_num {
        width: 40px;
        height: 40px;
        font-size: 1.8rem;
    }
    .jiin_reason_sec_item_title {
        font-size: 2.4rem;
        min-height: auto;
    }
    .jiin_reason_sec_item_desc {
        font-size: 1.8rem;
    }
    .jiin_reason_sec_btns {
        flex-direction: column;
        margin: 30px auto;
        text-align: center;
    }
    .jiin_reason_sec_btns a {
        margin: 0 auto;
    }
}


/* 6_項目セクション (.jiin_items_sec)
   - 上端 wave は --jiin-items-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_10_pc/sp) */
.jiin_items_sec {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.jiin_items_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--jiin-items-wave-pc, url("../images/module/bg_wave_top_10_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.jiin_items_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.jiin_items_sec_title {
    margin: 0 0 40px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}
.jiin_items_sec_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}
.jiin_items_sec_item {
    position: relative;
    font-size: 2.2rem;
    font-weight: 500;
    text-align: center;
}
.jiin_items_sec_item_name {
    display: inline-block;
    padding: 10px 16px;
    background: var(--col_l_beige);
    border-radius: 8px;
    display: block;
}
.jiin_items_sec_item_note {
    margin: 8px 0 0;
    padding: 8px;
    background: #fff;
    border-radius: 4px;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: left;
}
.jiin_items_sec_text {
    margin: 0 0 16px;
    font-size: 1.8rem;
    line-height: 1.8;
}
.jiin_items_sec_text a {
    color: #2673c3;
    text-decoration: underline;
}

.jiin_items_sec_caption {
    margin: 40px 0 16px;
    text-align: center;
}
.jiin_items_sec_caption_slash_inner {
    display: inline-block;
    font-size: 2rem;
    font-weight: 700;
    color: var(--col_orange);
}
.jiin_items_sec_caption_slash_inner::before {
    content: "";
    width: 2px; height: 18px;
    margin: 0 12px -2px 0;
    background: var(--col_orange);
    transform: rotate(-20deg);
    display: inline-block;
}
.jiin_items_sec_caption_slash_inner::after {
    content: "";
    width: 2px; height: 18px;
    margin: 0 0 -2px 12px;
    background: var(--col_orange);
    transform: rotate(20deg);
    display: inline-block;
}

.jiin_items_sec_btn {
    margin: 0;
    text-align: center;
}
.jiin_items_sec_btn_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 380px;
    padding: 18px 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 4px rgba(255, 255, 255, 0.15), inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s;
}
.jiin_items_sec_btn_link:hover {
    opacity: 0.7;
}
.jiin_items_sec_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .jiin_items_sec {
        padding: 80px 16px 60px;
    }
    .jiin_items_sec::before {
        height: 60px;
        background-image: var(--jiin-items-wave-sp, url("../images/module/bg_wave_top_10_sp.webp"));
    }
    .jiin_items_sec_title {
        margin-bottom: 24px;
        font-size: 2.7rem;
    }
    .jiin_items_sec_item_note {
        font-size: 1.5rem;
    }
    .jiin_items_sec_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .jiin_items_sec_item {
        font-size: 2rem;
    }
    .jiin_items_sec_caption_slash_inner {
        font-size: 1.6rem;
    }
    .jiin_items_sec_caption_slash_inner::before,
    .jiin_items_sec_caption_slash_inner::after {
        height: 16px;
    }
    .jiin_items_sec_text {
        font-size: 1.6rem;
    }
}


/* 1_アフターサポートセクション (.support_sec) */
.support_sec {
    width: 100%;
    background: #fff;
    padding: 80px 20px;
    box-sizing: border-box;
}
.support_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.support_sec_title {
    margin: 0 auto 50px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--col_orange);
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    display: inline-block;
}
.support_sec_title_accent {
    color: var(--col_orange);
}

.support_sec_worry {
    position: relative;
    margin: 0 auto 40px;
}
.support_sec_illust {
    max-width: 930px;
    margin: 0 auto;
}
.support_sec_illust img {
    width: 100%;
    display: block;
}

.support_sec_arrow {
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto 68px;
    border-left: 65px solid transparent;
    border-right: 65px solid transparent;
    border-top: 32px solid #fa916c;
}

.support_sec_care {
    background: #FCE9DF;
    border-radius: 8px;
    padding: 0 0 40px;
}
.support_sec_care_badge {
    position: relative;
    top: -33px;
    display: inline-block;
    margin: 0 0 7px;
    padding: 10px 30px;
    background: #fa916c;
    color: #fff;
    font-size: 2.8rem;
    font-weight: 700;
    border-radius: 8px;
}
.support_sec_care_box {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 0 40px;
}
.support_sec_care_img {
    flex: 0 0 35.5%;
}
.support_sec_care_img img {
    width: 100%;
    display: block;
    border-radius: 8px;
}
.support_sec_care_text {
    flex: 1 1 auto;
    margin: 0;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .support_sec {
        padding: 60px 16px;
    }
    .support_sec_title {
        margin-bottom: 30px;
        padding-bottom: 16px;
        font-size: 2.7rem;
    }
    .support_sec_arrow {
        border-left: 40px solid transparent;
        border-right: 40px solid transparent;
        border-top: 23px solid #fa916c;
    }
    .support_sec_care {
        padding: 0 0 20px;
    }
    .support_sec_care_badge {
        top: -27px;
        padding: 12px 20px;
        font-size: 1.8rem;
        margin: 0;
    }
    .support_sec_care_box {
        flex-direction: column;
        padding: 0 20px;
        gap: 20px;
    }
    .support_sec_care_img {
        flex: none;
        width: 100%;
    }
    .support_sec_care_text {
        font-size: 1.6rem;
    }
}


/* 2_強みセクション (.support_strengths_sec)
   - 上端 wave は --support-strengths-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_3_pc/sp) */
.support_strengths_sec {
    position: relative;
    width: 100%;
    background: var(--col_cream);
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.support_strengths_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--support-strengths-wave-pc, url("../images/module/bg_wave_top_3_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.support_strengths_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.support_strengths_sec_title {
    margin: 0 0 50px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
}
.support_strengths_sec_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.support_strengths_sec_item {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.support_strengths_sec_item_img img {
    width: 100%;
    height: auto;
}
.support_strengths_sec_item_body {
    padding: 24px 24px 30px;
}
.support_strengths_sec_item_title {
    margin: 0 0 16px;
    color: var(--col_brown);
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
.support_strengths_sec_item_desc {
    margin: 0;
    font-size: 1.8rem;
    line-height: 1.8;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .support_strengths_sec {
        padding: 80px 16px 60px;
    }
    .support_strengths_sec::before {
        height: 60px;
        background-image: var(--support-strengths-wave-sp, url("../images/module/bg_wave_top_3_sp.webp"));
    }
    .support_strengths_sec_title {
        margin-bottom: 30px;
        font-size: 2.7rem;
    }
    .support_strengths_sec_list {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .support_strengths_sec_item_body {
        padding: 20px 20px 24px;
    }
    .support_strengths_sec_item_title {
        font-size: 2rem;
    }
    .support_strengths_sec_item_desc {
        font-size: 1.6rem;
    }
}


/* 3_メニューセクション (.support_menu_sec)
   - 上端 wave は --support-menu-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_3_pc/sp) */
.support_menu_sec {
    position: relative;
    width: 100%;
    background: #ffffff;
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.support_menu_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--support-menu-wave-pc, url("../images/module/bg_wave_top_10_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.support_menu_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
}
.support_menu_sec_title {
    margin: 0 0 50px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
}
.support_menu_sec_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 48px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.support_menu_sec_item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.support_menu_sec_item_ico {
    flex: 0 0 80px;
    width: 85px;
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.support_menu_sec_item_ico img {
    width: 100%;
    height: auto;
}
.support_menu_sec_item_body {
    flex: 1 1 auto;
}
.support_menu_sec_item_title {
    margin: 0 0 10px;
    font-size: 2.2rem;
    font-weight: 700;
}
.support_menu_sec_item_desc {
    margin: 0;
    font-size: 1.8rem;
    line-height: 1.8;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .support_menu_sec {
        padding: 80px 16px 60px;
    }
    .support_menu_sec::before {
        height: 60px;
        background-image: var(--support-menu-wave-sp, url("../images/module/bg_wave_top_10_sp.webp"));
    }
    .support_menu_sec_title {
        margin-bottom: 30px;
        font-size: 2.7rem;
    }
    .support_menu_sec_list {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .support_menu_sec_item_ico {
        flex: 0 0 64px;
        width: 64px;
        height: 64px;
    }
    .support_menu_sec_item_title {
        font-size: 2rem;
    }
    .support_menu_sec_item_desc {
        font-size: 1.6rem;
    }
}


/* 1_リードセクション (.consultation_lead_sec) */
.consultation_lead_sec {
    width: 100%;
    background: #fff;
    padding: 80px 20px;
    box-sizing: border-box;
}
.consultation_lead_sec_inner {
    max-width: 1000px;
    margin: 0 auto;
}
.consultation_lead_sec_text {
    margin: 0 0 40px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.9;
}

.consultation_lead_sec_box {
    display: flex;
    gap: 20px;
    background: var(--col_cream);
    border-radius: 8px;
    padding: 20px;
    box-sizing: border-box;
}
.consultation_lead_sec_btn_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 4px rgba(255, 255, 255, 0.15), inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    font-size: 2rem;
    font-weight: 500;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s;
}
.consultation_lead_sec_btn_link:hover {
    opacity: 0.7;
}
.consultation_lead_sec_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .consultation_lead_sec {
        padding: 60px 16px;
    }
    .consultation_lead_sec_text {
        margin-bottom: 30px;
        font-size: 1.6rem;
        font-weight: 400;
    }
    .consultation_lead_sec_box {
        flex-direction: column;
        gap: 12px;
        padding: 16px;
    }
    .consultation_lead_sec_btn_link {
        max-width: none;
        font-size: 1.5rem;
        padding: 16px 20px;
    }
}


/* 2_ご相談セクション (.consultation_method_sec)
   - 上端 wave は --consultation-method-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_3_pc/sp) */
.consultation_method_sec {
    position: relative;
    width: 100%;
    background: var(--col_cream);
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.consultation_method_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--consultation-method-wave-pc, url("../images/module/bg_wave_top_3_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.consultation_method_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.consultation_method_sec_title {
    margin: 0 0 40px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
}

.consultation_method_sec_card {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 40px;
    background: #fff;
    border-radius: 16px;
    padding: 25px 40px 40px 120px;
    margin-bottom: 30px;
    box-sizing: border-box;
}
.consultation_method_sec_card_ico {
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px 0 16px 0;
}
.consultation_method_sec_card_ico img {
    width: 100%;
    height: auto;
}
.consultation_method_sec_card_body {
    flex: 1 1 auto;
    min-width: 0;
}
.consultation_method_sec_card_title {
    display: flex;
    align-items: center;
    gap: 60px;
    margin: 0 0 24px;
    font-size: 3.2rem;
    font-weight: 700;
}
.consultation_method_sec_card_badge {
    font-size: 2rem;
    font-weight: 700;
    color: var(--col_orange);
}
.consultation_method_sec_card_desc {
    margin: 0 0 20px;
    font-size: 1.8rem;
}

/* 電話番号グリッド (3列 / 2列共用) */
.consultation_method_sec_tel_grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #E5E5E5;
}
.consultation_method_sec_tel_grid_2col {
    grid-template-columns: repeat(2, 1fr);
}
.consultation_method_sec_tel_cell {
    position: relative;
    padding: 20px 16px;
    border-bottom: 1px solid #E5E5E5;
    text-align: center;
}
.consultation_method_sec_tel_grid:not(.consultation_method_sec_tel_grid_2col) .consultation_method_sec_tel_cell:not(:nth-child(3n))::after {
    position: absolute;
    top: 15%;
    right: 1px;
    content: "";
    width: 1px;
    height: 70%;
    background-color:#E5E5E5;
    display: block;
}
.consultation_method_sec_tel_grid_2col .consultation_method_sec_tel_cell:nth-child(odd)::after {
    position: absolute;
    top: 15%;
    right: 1px;
    content: "";
    width: 1px;
    height: 70%;
    background-color:#E5E5E5;
    display: block;
}
.consultation_method_sec_tel_cell_head {
    margin: 0 0 10px;
    font-size: 2.4rem;
    font-weight: 500;
}
.consultation_method_sec_tel_cell_pill {
    display: inline-block;
    margin-right: 5px;
    padding: 4px 14px;
    border: 1px solid var(--col_orange);
    border-radius: 999px;
    color: var(--col_orange);
    font-size: 1.8rem;
    font-weight: 700;
}
.consultation_method_sec_tel_cell_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 3.8rem;
    font-weight: 700;
    text-decoration: none;
}
.consultation_method_sec_tel_cell_ico {
    display: inline-block;
    width: 20px;
    height: 22px;
    margin-top: 4px;
    background: url("../images/module/ico_phone.svg") no-repeat center / contain;
}

/* メールフォームからのご相談 */
.consultation_method_sec_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.consultation_method_sec_tags li {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 25px 8px 25px;
    background: #E1F2F1;
    border-radius: 999px;
    font-size: 1.8rem;
    font-weight: 700;
}
.consultation_method_sec_tags li::before {
    content: "";
    width: 12px;
    height: 7px;
    border-left: 3px solid var(--col_orange);
    border-bottom: 3px solid var(--col_orange);
    transform: rotate(-55deg);
    margin-top: -3px;
}
.consultation_method_sec_card_btn {
    margin: 0;
    flex: 0 0 auto;
}
.consultation_method_sec_card_btn_link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 25px 50px;
    background-image: linear-gradient(0deg, #d14a19, #e55927 10% 90%, #ff8b61);
    border-radius: 8px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    text-decoration: none;
    transition: opacity 0.2s;
}
.consultation_method_sec_card_btn_link:hover {
    opacity: 0.7;
}
.consultation_method_sec_card_btn_ico {
    width: 22px;
    height: 22px;
}
.consultation_method_sec_card_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

/* オンラインでのご相談 (Step タイムライン) */
.consultation_method_sec_card_online {
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 60px 60px 0;
}
.consultation_method_sec_step_head {
    margin: 20px 0;
    padding: 16px 20px;
    background: #f5f0e8;
    font-size: 2.4rem;
    font-weight: 700;
}
.consultation_method_sec_steps {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}
.consultation_method_sec_step {
    position: relative;
    display: flex;
    gap: 30px;
    padding: 30px 0 30px 90px;
}
.consultation_method_sec_step:first-child:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 40px;
    width: 2px;
    background: #fa916c;
}
.consultation_method_sec_step_num {
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fa916c;
    border-radius: 50%;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    z-index: 1;
}
.consultation_method_sec_step_num_digit {
    font-size: 2.8rem;
}
.consultation_method_sec_step_body {
    flex: 1 1 auto;
    min-width: 0;
}
.consultation_method_sec_step_title {
    margin: 0 0 14px;
    font-size: 2.4rem;
    font-weight: 700;
}
.consultation_method_sec_step_desc {
    margin: 0 0 20px;
    font-size: 1.8rem;
    line-height: 1.8;
}
.consultation_method_sec_step .consultation_method_sec_tel_grid {
    margin: 0;
}

.consultation_method_sec_note {
    margin: 50px 0 0;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.9;
    text-align: center;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .consultation_method_sec {
        padding: 80px 16px 60px;
    }
    .consultation_method_sec::before {
        height: 60px;
        background-image: var(--consultation-method-wave-sp, url("../images/module/bg_wave_top_3_sp.webp"));
    }
    .consultation_method_sec_title {
        margin-bottom: 30px;
        font-size: 2.7rem;
    }
    .consultation_method_sec_card {
        flex-direction: column;
        align-items: stretch;
        padding: 30px 20px 0 20px;
        margin-top: 30px;
    }
    .consultation_method_sec_card_ico {
        margin-bottom: 16px;
        width: 60px;
        height: 60px;
    }
    .consultation_method_sec_card_title {
        flex-direction: column;
        gap: 8px;
        font-size: 2.4rem;
        text-align: center;
    }
    .consultation_method_sec_card_badge {
        font-size: 1.8rem;
    }
    .consultation_method_sec_tel_grid {
        display: none;
    }
    .consultation_method_sec_tel_sp {
        text-align: center;
    }
    .consultation_method_sec_tel_sp_note {
        margin: 0 0 16px;
        color: var(--col_brown);
        font-size: 1.6rem;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        justify-content: center;
    }
    .consultation_method_sec_tel_sp_note_slash_inner {
        position: relative;
        display: inline-block;
        font-weight: 700;
        color: var(--col_brown);
        padding: 0 50px;
    }
    .consultation_method_sec_tel_sp_note_slash_inner::before {
        content: "";
        position: absolute;
        top: calc(50% - 1.25em);
        width: 1px;
        height: 2.5em;
        margin: 0 0 -2px 15px;
        background: var(--col_brown);
        transform: rotate(-30deg);
        display: inline-block;
        left: 0;
    }
    .consultation_method_sec_tel_sp_note_slash_inner::after {
        content: "";
        position: absolute;
        top: calc(50% - 1.25em);
        width: 1px;
        height: 2.5em;
        margin: 0 0 -2px 15px;
        background: var(--col_brown);
        transform: rotate(30deg);
        display: inline-block;
        right: 0;
    }
    .consultation_method_sec_tel_sp_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 18px 20px;
        background-image: linear-gradient(0deg, #d14a19, #e55927 10% 90%, #ff8b61);
        border-radius: 8px;
        color: #fff;
        font-size: 2.2rem;
        font-weight: 700;
        text-decoration: none;
        box-sizing: border-box;
        transition: opacity 0.2s;
    }
    .consultation_method_sec_tel_sp_btn:hover {
        opacity: 0.7;
    }
    .consultation_method_sec_tel_sp_btn_ico {
        display: inline-block;
        width: 18px;
        height: 22px;
        background: url("../images/module/ico_phone.svg") no-repeat center / contain;
        filter: brightness(0) invert(1);
    }
    .consultation_method_sec_tags {
        justify-content: center;
    }
    .consultation_method_sec_tags li {
        font-size: 1.6rem;
    }
    .consultation_method_sec_tel_sp_btn_arrow {
        display: inline-block;
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
    }
    .consultation_method_sec_card_btn_link {
        width: 100%;
        justify-content: center;
        padding: 18px 20px;
        font-size: 2rem;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .consultation_method_sec_card_desc {
        font-size: 1.6rem;
    }
    .consultation_method_sec_step_head {
        padding: 5px 20px;
        font-size: 1.8rem;
    }
    .consultation_method_sec_step {
        position: relative;
        gap: 16px;
        padding: 15px 0 45px 0;
    }
    .consultation_method_sec_step::before {
        left: 30px;
        display: none;
    }
    .consultation_method_sec_step::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 10px;
        width: 0;
        height: 0;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 17px solid #fa916c;
        transform: translateX(-50%);
    }
    .consultation_method_sec_step:last-child::after {
        display: none;
    }
    .consultation_method_sec_step_num {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    .consultation_method_sec_step_num_digit {
        font-size: 2.1rem;
    }
    .consultation_method_sec_step_title {
        font-size: 2rem;
        padding-left: 70px;
    }
    .consultation_method_sec_step_desc {
        font-size: 1.5rem;
    }
    .consultation_method_sec_note {
        font-size: 1.6rem;
        text-align: left;
        margin-top: 20px;
    }
}


/* 3_フォームセクション (.consultation_form_sec)
   - フォーム本体 (.contact_form*) は /contact/index.php と共通クラスを使用 (shared/css/contact.css)
   - 上端 wave は --consultation-form-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_bottom_2_pc/sp) */
.consultation_form_sec {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 180px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.consultation_form_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--consultation-form-wave-pc, url("../images/module/bg_wave_top_10_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.consultation_form_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.consultation_form_sec_title {
    margin: 0 0 40px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
}
.consultation_form_sec .contact_form_sec_intro {
    margin-bottom: 24px;
}

.consultation_form_sec_checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 0;
    font-size: 2rem;
    cursor: pointer;
}
.consultation_form_sec_checkbox input {
    width: 18px;
    height: 18px;
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .consultation_form_sec {
        padding: 80px 16px 60px;
    }
    .consultation_form_sec::before {
        height: 60px;
        background-image: var(--consultation-form-wave-sp, url("../images/module/bg_wave_top_10_sp.webp"));
    }
    .consultation_form_sec_title {
        margin-bottom: 30px;
        font-size: 2.4rem;
    }
}


/* 1_リードセクション (.member_lead_sec) */
.member_lead_sec {
    width: 100%;
    background: #fff;
    padding: 80px 20px;
    box-sizing: border-box;
}
.member_lead_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
}

.member_lead_sec_top {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 0;
}
.member_lead_sec_card {
    position: relative;
    flex: 0 0 39%;
    container-type: inline-size;
    line-height: 0;
}
.member_lead_sec_card img {
    width: 100%;
    display: block;
}
.member_lead_sec_card_num {
    position: absolute;
    left: 8%;
    bottom: 14%;
    color: #fff;
    font-size: 7.5cqw;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.member_lead_sec_text {
    flex: 1 1 auto;
    margin: 0;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.9;
    padding-bottom: 50px;
}

.member_lead_sec_benefits {
    display: flex;
    gap: 40px;
    margin-top: -55px;
    padding: 75px 40px 40px;
    background: #FCE9DF;
    border-radius: 8px;
}
.member_lead_sec_benefit {
    position: relative;
    flex: 1 1 60%;
    padding-top: 30px;
}
.member_lead_sec_benefit:first-child {
    flex: 1 1 40%;
}
.member_lead_sec_benefit_badge {
    position: absolute;
    top: -20px;
    left: 0;
    width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 2px solid var(--col_brown);
    border-radius: 50%;
    color: var(--col_brown);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}
.member_lead_sec_benefit_box {
    height: 100%;
    margin-left: 50px;
    padding: 24px 30px;
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
}
.member_lead_sec_benefit:last-child .member_lead_sec_benefit_box {
    display: flex;
    align-items: center;
}
.member_lead_sec_benefit_text {
    margin: 0 0 6px;
    font-size: 2.4rem;
    font-weight: 700;
    width: 100%;
}
.member_lead_sec_benefit_price {
    margin: 0;
    color: var(--col_orange);
    font-weight: 700;
    line-height: 1;
}
.member_lead_sec_benefit_price_label {
    font-size: 2.4rem;
}
.member_lead_sec_benefit_price_num {
    font-size: 6rem;
    margin: 0 4px;
}
.member_lead_sec_benefit_price_unit {
    font-size: 1.8rem;
}
.member_lead_sec_benefit_list {
    margin: 0;
    padding: 0 0 0 50px;
    list-style: none;
    color: var(--col_orange);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.9;
    text-align: left;
}
.member_lead_sec_benefit_list li {
    position: relative;
    padding-left: 20px;
}
.member_lead_sec_benefit_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--col_orange);
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 1090px) {
    .member_lead_sec {
        padding: 60px 16px;
    }
    .member_lead_sec_top {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }
    .member_lead_sec_card {
        flex: none;
        width: 70%;
        max-width: 360px;
        margin: 0 auto;
    }
    .member_lead_sec_text {
        font-size: 1.8rem;
        padding-bottom: 20px;
    }
    .member_lead_sec_benefits {
        flex-direction: column;
        gap: 40px;
        margin-top: 30px;
        padding: 40px 20px 30px;
    }
    .member_lead_sec_benefit_box {
        margin-left: 20px;
        padding: 20px;
    }
    .member_lead_sec_benefit_badge {
        width: 90px;
        height: 90px;
        font-size: 2rem;
    }
    .member_lead_sec_benefit_list {
        padding: 25px 0 0 0;
        font-size: 1.8rem;
    }
}


/* 2_ご入会方法 (.member_join_sec)
   - html/css は /service/prior-consultation.php の .consultation_lead_sec_box 系と同じ値 */
.member_join_sec {
    width: 100%;
    background: #fff;
    padding: 0 20px 80px;
    box-sizing: border-box;
}
.member_join_sec_inner {
    max-width: 1200px;
    margin: 0 auto;
}
.member_join_sec_title {
    margin: 0 0 24px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
}

.member_join_sec_box {
    display: flex;
    gap: 20px;
    background: var(--col_cream);
    border-radius: 8px;
    padding: 20px;
    box-sizing: border-box;
}
.member_join_sec_btn_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 4px rgba(255, 255, 255, 0.15), inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    font-size: 2rem;
    font-weight: 500;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s;
}
.member_join_sec_btn_link:hover {
    opacity: 0.7;
}
.member_join_sec_btn_arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid var(--col_orange);
    border-right: 2px solid var(--col_orange);
    transform: rotate(45deg);
}

/* ------------------------------------------------------------
   SP (≤768px)
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .member_join_sec {
        padding: 0 16px 60px;
    }
    .member_join_sec_title {
        margin-bottom: 20px;
        font-size: 2.4rem;
    }
    .member_join_sec_box {
        flex-direction: column;
        gap: 12px;
        padding: 16px;
    }
    .member_join_sec_btn_link {
        max-width: none;
        font-size: 1.5rem;
        padding: 16px 20px;
    }
}


/* 3_電話セクション (.member_tel_sec)
   - html/css は /service/prior-consultation.php の .consultation_method_sec 系と同じ値
   - 上端 wave は --member-tel-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_top_3_pc/sp) */
.member_tel_sec {
    position: relative;
    width: 100%;
    background: var(--col_cream);
    padding: 200px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.member_tel_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--member-tel-wave-pc, url("../images/module/bg_wave_top_3_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.member_tel_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.member_tel_sec_title {
    margin: 0 0 16px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
}
.member_tel_sec_lead {
    margin: 0 0 40px;
    font-size: 1.8rem;
    text-align: center;
}

.member_tel_sec_card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 50px 10% 10px;
    margin-bottom: 30px;
    box-sizing: border-box;
}

/* 電話番号グリッド (3列) */
.member_tel_sec_tel_grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #E5E5E5;
}
.member_tel_sec_tel_cell {
    position: relative;
    padding: 20px 16px;
    border-bottom: 1px solid #E5E5E5;
    text-align: center;
}
.member_tel_sec_tel_grid .member_tel_sec_tel_cell:not(:nth-child(2n))::after {
    position: absolute;
    top: 15%;
    right: 1px;
    content: "";
    width: 1px;
    height: 70%;
    background-color: #E5E5E5;
    display: block;
}
.member_tel_sec_tel_cell_head {
    margin: 0 0 10px;
    font-size: 2.4rem;
    font-weight: 500;
}
.member_tel_sec_tel_cell_pill {
    display: inline-block;
    margin-right: 5px;
    padding: 4px 14px;
    border: 1px solid var(--col_orange);
    border-radius: 999px;
    color: var(--col_orange);
    font-size: 1.8rem;
    font-weight: 700;
}
.member_tel_sec_tel_cell_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 3.8rem;
    font-weight: 700;
    text-decoration: none;
}
.member_tel_sec_tel_cell_ico {
    display: inline-block;
    width: 20px;
    height: 22px;
    margin-top: 4px;
    background: url("../images/module/ico_phone.svg") no-repeat center / contain;
}

/* Step タイムライン */
.member_tel_sec_steps {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}
.member_tel_sec_step {
    position: relative;
    display: flex;
    gap: 30px;
    padding: 30px 0 30px 90px;
}
.member_tel_sec_step:first-child:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 40px;
    width: 2px;
    background: #fa916c;
}
.member_tel_sec_step_num {
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fa916c;
    border-radius: 50%;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    z-index: 1;
}
.member_tel_sec_step_num_digit {
    font-size: 2.8rem;
}
.member_tel_sec_step_body {
    flex: 1 1 auto;
    min-width: 0;
}
.member_tel_sec_step_title {
    margin: 0 0 14px;
    font-size: 2.4rem;
    font-weight: 700;
}
.member_tel_sec_step_desc {
    margin: 0 0 20px;
    font-size: 1.8rem;
    line-height: 1.8;
}
.member_tel_sec_step .member_tel_sec_tel_grid {
    margin: 0;
}

.member_tel_sec_note {
    margin: 50px 0 0;
    font-size: 1.8rem;
    line-height: 1.9;
    text-align: center;
}

/* ------------------------------------------------------------
   SP (≤900px)
------------------------------------------------------------ */
@media screen and (max-width: 900px) {
    .member_tel_sec {
        padding: 80px 16px 60px;
    }
    .member_tel_sec::before {
        height: 60px;
        background-image: var(--member-tel-wave-sp, url("../images/module/bg_wave_top_3_sp.webp"));
    }
    .member_tel_sec_title {
        margin-bottom: 12px;
        font-size: 2.7rem;
    }
    .member_tel_sec_lead {
        font-size: 1.5rem;
    }
    .member_tel_sec_card {
        padding: 30px 20px 0 20px;
        margin-top: 30px;
    }
    .member_tel_sec_tel_grid {
        display: none;
    }
    .member_tel_sec_step:first-child:before {
        display: none;
    }
    .member_tel_sec_tel_sp {
        text-align: center;
    }
    .member_tel_sec_tel_sp_note {
        margin: 0 0 16px;
        color: var(--col_brown);
        font-size: 1.6rem;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        justify-content: center;
    }
    .member_tel_sec_tel_sp_note_slash_inner {
        position: relative;
        display: inline-block;
        font-weight: 700;
        color: var(--col_brown);
        padding: 0 50px;
    }
    .member_tel_sec_tel_sp_note_slash_inner::before {
        content: "";
        position: absolute;
        top: calc(50% - 1.25em);
        width: 1px;
        height: 2.5em;
        margin: 0 0 -2px 15px;
        background: var(--col_brown);
        transform: rotate(-30deg);
        display: inline-block;
        left: 0;
    }
    .member_tel_sec_tel_sp_note_slash_inner::after {
        content: "";
        position: absolute;
        top: calc(50% - 1.25em);
        width: 1px;
        height: 2.5em;
        margin: 0 0 -2px 15px;
        background: var(--col_brown);
        transform: rotate(30deg);
        display: inline-block;
        right: 0;
    }
    .member_tel_sec_tel_sp_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 18px 20px;
        background-image: linear-gradient(0deg, #d14a19, #e55927 10% 90%, #ff8b61);
        border-radius: 8px;
        color: #fff;
        font-size: 2.2rem;
        font-weight: 700;
        text-decoration: none;
        box-sizing: border-box;
        transition: opacity 0.2s;
    }
    .member_tel_sec_tel_sp_btn:hover {
        opacity: 0.7;
    }
    .member_tel_sec_tel_sp_btn_ico {
        display: inline-block;
        width: 18px;
        height: 22px;
        background: url("../images/module/ico_phone.svg") no-repeat center / contain;
        filter: brightness(0) invert(1);
    }
    .member_tel_sec_tel_sp_btn_arrow {
        display: inline-block;
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
    }
    .member_tel_sec_step {
        position: relative;
        gap: 16px;
        padding: 15px 0 45px 0;
    }
    .member_tel_sec_step::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 10px;
        width: 0;
        height: 0;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 17px solid #fa916c;
        transform: translateX(-50%);
    }
    .member_tel_sec_step:last-child::after {
        display: none;
    }
    .member_tel_sec_step_num {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    .member_tel_sec_step_num_digit {
        font-size: 2.1rem;
    }
    .member_tel_sec_step_title {
        font-size: 2rem;
        padding-left: 70px;
    }
    .member_tel_sec_step_desc {
        font-size: 1.5rem;
    }
    .member_tel_sec_note {
        font-size: 1.6rem;
        text-align: left;
        margin-top: 20px;
    }
}


/* 4_入会セクション (.member_form_sec)
   - html/css は /service/prior-consultation.php の .consultation_method_sec 系 (Step タイムライン) と同じ値
   - 上端 wave は --member-form-wave-pc / -sp で差し替え可能 (デフォルト bg_wave_bottom_2_pc/sp) */
.member_form_sec {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 160px 20px 80px;
    box-sizing: border-box;
    overflow: hidden;
}
.member_form_sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: var(--member-form-wave-pc, url("../images/module/bg_wave_bottom_2_pc.webp")) no-repeat top center / 100% auto;
    z-index: 0;
}
.member_form_sec_inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}
.member_form_sec_title {
    margin: 0 0 16px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
}
.member_form_sec_lead {
    margin: 0 0 40px;
    font-size: 1.8rem;
    text-align: center;
}

.member_form_sec_card {
    position: relative;
    background: var(--col_cream);
    border-radius: 16px;
    padding: 50px 10% 10px;
    margin-bottom: 30px;
    box-sizing: border-box;
}

.member_form_sec_steps {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}
.member_form_sec_step {
    position: relative;
    display: flex;
    gap: 30px;
    padding: 30px 0 30px 90px;
}
.member_form_sec_step:first-child:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 40px;
    width: 2px;
    background: #fa916c;
}
.member_form_sec_step_num {
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fa916c;
    border-radius: 50%;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    z-index: 1;
}
.member_form_sec_step_num_digit {
    font-size: 2.8rem;
}
.member_form_sec_step_body {
    flex: 1 1 auto;
    min-width: 0;
}
.member_form_sec_step_title {
    margin: 0 0 14px;
    font-size: 2.4rem;
    font-weight: 700;
}
.member_form_sec_step_desc {
    margin: 0 0 20px;
    font-size: 1.8rem;
    line-height: 1.8;
}

.member_form_sec_step_btn {
    margin: 0 0 10px;
}
.member_form_sec_step_btn_link {
    display: inline-block;
    transition: opacity 0.2s;
}
.member_form_sec_step_btn_link:hover {
    opacity: 0.7;
}
.member_form_sec_step_btn_link img {
    display: block;
    max-width: 460px;
}

.member_form_sec_note {
    margin: 50px 0 0;
    font-size: 2rem;
    line-height: 1.9;
    text-align: center;
}

/* ------------------------------------------------------------
   SP (≤900px)
------------------------------------------------------------ */
@media screen and (max-width: 900px) {
    .member_form_sec {
        padding: 80px 16px 60px;
    }
    .member_form_sec::before {
        height: 60px;
        background-image: var(--member-form-wave-sp, url("../images/module/bg_wave_bottom_2_sp.webp"));
    }
    .member_form_sec_title {
        margin-bottom: 12px;
        font-size: 2.7rem;
    }
    .member_form_sec_lead {
        font-size: 1.5rem;
    }
    .member_form_sec_card {
        padding: 30px 20px 0 20px;
        margin-top: 30px;
    }
    .member_form_sec_step_btn_link img {
        max-width: 100%;
    }
    .member_form_sec_step {
        position: relative;
        gap: 16px;
        padding: 15px 0 45px 0;
    }
    .member_form_sec_step::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 10px;
        width: 0;
        height: 0;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 17px solid #fa916c;
        transform: translateX(-50%);
    }
    .member_form_sec_step:first-child:before {
        display: none;
    }
    .member_form_sec_step:last-child::after {
        display: none;
    }
    .member_form_sec_step_num {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    .member_form_sec_step_num_digit {
        font-size: 2.1rem;
    }
    .member_form_sec_step_title {
        font-size: 2rem;
        padding-left: 70px;
    }
    .member_form_sec_step_desc {
        font-size: 1.5rem;
    }
    .member_form_sec_note {
        font-size: 1.6rem;
        text-align: left;
        margin-top: 20px;
    }
}


/* ============================================================
   ページ下端の wave 装飾 (.footer_wave) は template.css に移動 (共通モジュール化) */

