/* 寄付のしかた（sec_howto）：4つの手順と、気をつけること */
.sec_howto {
    padding: 80px 0;
    background: var(--color-white);

    @media (max-width: 900px) {
        padding: 64px 0;
    }
    @media (max-width: 600px) {
        padding: 48px 0;
    }
    .wrap {
        margin: 0 auto;
        padding: 0 var(--pad-side);
        max-width: calc(var(--wrap-max) + var(--pad-side) * 2);
        display: flex;
        flex-direction: column;
        gap: 32px;

        @media (max-width: 600px) {
            gap: 24px;
        }
    }
    .step {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 24px;
        counter-reset: step;

        @media (max-width: 1200px) {
            gap: 20px;
        }
        @media (max-width: 1000px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        @media (max-width: 600px) {
            grid-template-columns: minmax(0, 1fr);
            gap: 12px;
        }
        > li {
            padding: 24px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            background: var(--color-bg);
            border-radius: 12px;
            counter-increment: step;

            @media (max-width: 600px) {
                padding: 20px;
            }
            &::before {
                content: counter(step);
                width: 32px;
                height: 32px;
                display: flex;
                justify-content: center;
                align-items: center;
                background: var(--color-main);
                color: var(--color-white);
                font-family: var(--font-en);
                font-size: 16px;
                font-weight: 700;
                line-height: 1em;
                border-radius: 50%;
            }
        }
        .ttl {
            font-size: 18px;
            font-weight: 700;
            line-height: 1.5em;

            @media (max-width: 600px) {
                font-size: 16px;
            }
        }
        .txt {
            color: var(--color-sub);
            font-size: 14px;
            line-height: 1.8em;
        }
    }
    .note {
        padding: 24px 28px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        background: var(--color-accent-pale);
        border-radius: 12px;

        @media (max-width: 600px) {
            padding: 20px;
        }
        .ttl {
            color: var(--color-accent);
            font-size: 16px;
            font-weight: 700;
            line-height: 1.5em;
        }
        .list {
            display: flex;
            flex-direction: column;
            gap: 8px;

            > li {
                padding-left: 1em;
                font-size: 14px;
                line-height: 1.8em;
                text-indent: -1em;

                &::before {
                    content: "・";
                }
            }
            b {
                color: var(--color-accent);
            }
        }
    }
}
