@charset "UTF_8";

body {
    display: flex;
    flex-direction: column;
    align-items: center;
}

main {
    flex: 1;
}

/* タイトル
-------------------------------------*/
#title {
    padding: 40px 0px;
}

#title .tone-contents {
    max-width: 1024px;
    width: 100%;
}

h1 {
    color: var(--black);
    font-size: 24px;
    font-style: normal;
    line-height: 150%;
    padding: 40px 0;
}

/* main
-------------------------------------*/
.tone-contents {
    line-height: 1.5;
    padding: 0 24px;
}

.option_container {
    display: flex;
    max-width: 672px;
    width: 100%;
    margin: auto;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    align-self: stretch;
}

.plan_wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;

    .planSubject_wrapper {
        padding: 24px 32px;
        background: var(--background-gray);
        border-radius: 16px;
        font-size: 16px;

        p {
            display: flex;
            align-items: center;
            gap: 16px;

            b {
                font-size: 20px;
            }
        }

        .notes {
            padding-top: 8px;

            li {
                font-size: 16px;
            }
        }

    }

    >p {
        padding: 0 24px;
    }
}

.announce {
    color: var(--secondary);
    font-weight: bold;
}

main .AcceptClosed {
    background: rgb(from var(--secondary) r g b / 0.1);
    color: var(--secondary);
    border-radius: 4px;
    position: relative;
    display: inline;
    translate: 0 0;
    top: auto;
    right: auto;
    width: fit-content;
    padding: 4px 20px;
    font-size: 12px;
    font-weight: bold;
}

/* タイトル、料金 */
.card_ttl_wrapper {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 0 24px;

    img {
        width: 80px;
        height: auto;
    }

    .card_ttl_box {
        display: flex;
        row-gap: 12px;
        column-gap: 16px;
        align-items: center;
        flex-wrap: wrap;

        h3 {
            font-size: 20px;
            width: 100%;
            line-height: 1.3;
        }

        p {
            line-height: 1;
        }
    }
}

ul.notes {
    padding: 0 24px;
    text-align: justify;
}

@media (max-width: 540px) {
    .plan_wrapper {
        .planSubject_wrapper {
            padding: 16px 24px;
            border-radius: 8px;

            p b {
                font-size: 16px;
            }

            .notes {
                padding-top: 4px;

                li {
                    font-size: 14px;
                }
            }
        }

        >p {
            padding: 0 16px;
        }
    }

    .plan_wrapper>p, .card_ttl_wrapper, ul.notes {
        padding: 0;
    }
}
