@charset "UTF-8";

#page-fv.type-page {
    &::before {
        background-color: #A9EEF1;
    }
}

#reason {
    padding-top: 15.2rem;
    padding-bottom: 15.2rem;

    @media screen and (max-width: 767px) {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    .title {
        margin-bottom: 6.1rem;

        @media screen and (max-width: 767px) {
            margin-bottom: 4.3rem;
        }
    }

    .main-text {
        margin-bottom: 10.4rem;

        @media screen and (max-width: 767px) {
            margin-bottom: 3.8rem;
        }

        .main {
            margin-bottom: 3.2rem;
            font-style: normal;
            font-weight: 600;
            font-size: 4rem;
            line-height: 160%;
            text-align: center;
            letter-spacing: 0.2em;
            color: #000000;

            @media screen and (max-width: 767px) {
                margin-bottom: 1.6rem;
                font-size: 1.8rem;
                text-align: left;
            }
        }

        .sub {
            font-style: normal;
            font-weight: 600;
            font-size: 1.8rem;
            line-height: 4rem;
            text-align: center;
            letter-spacing: 0.1em;
            color: #000000;

            @media screen and (max-width: 767px) {
                font-size: 1.4rem;
                line-height: 220%;
                text-align: left;
            }
        }
    }

    .img-area {
        display: flex;
        gap: 8rem;

        @media screen and (max-width: 767px) {
            flex-direction: column;
            gap: 3.6rem;
        }

        .img {
            width: calc((100% - 8rem) / 2);
            border-radius: 3rem;
            overflow: hidden;

            @media screen and (max-width: 767px) {
                width: 100%;
                border-radius: 1.5rem;
            }
        }
    }
}

#types {
    padding-bottom: 14.4rem;

    @media screen and (max-width: 767px) {
        padding-bottom: 8rem;
    }

    .title {
        margin-bottom: 6.1rem;

        @media screen and (max-width: 767px) {
            margin-bottom: 4.3rem;
        }
    }

    .main-text {
        margin-bottom: 7.6rem;
        font-style: normal;
        font-weight: 600;
        font-size: 1.8rem;
        line-height: 4rem;
        text-align: center;
        letter-spacing: 0.1em;
        color: #000000;

        @media screen and (max-width: 767px) {
            margin-bottom: 5rem;
            font-size: 1.6rem;
            line-height: 180%;
            text-align: left;
        }
    }

    .contents {
        display: flex;
        flex-wrap: wrap;
        column-gap: 9.1rem;
        row-gap: 8rem;

        @media screen and (max-width: 767px) {
            flex-direction: column;
            column-gap: 2rem;
            row-gap: 3rem;
        }

        .content {
            width: calc((100% - (9.1rem * 2)) / 3);

            @media screen and (max-width: 767px) {
                width: 100%;
            }

            .img {
                margin-bottom: 3.2rem;
                border-radius: 1.6rem;
                overflow: hidden;
                border: 1px solid #000;

                @media screen and (max-width: 767px) {
                    margin-bottom: 1.6rem;
                    border-radius: 1rem;
                }
            }

            .text {
                .main {
                    margin-bottom: 1.2rem;
                    font-style: normal;
                    font-weight: 700;
                    font-size: 2.2rem;
                    line-height: 3.5rem;
                    letter-spacing: 0.05em;
                    color: #000000;

                    @media screen and (max-width: 767px) {
                        margin-bottom: 0.8rem;
                        font-size: 1.6rem;
                        line-height: 180%;
                    }
                }

                .sub {
                    font-style: normal;
                    font-weight: 400;
                    font-size: 1.8rem;
                    line-height: 3.2rem;
                    letter-spacing: 0.1em;
                    color: #000000;

                    @media screen and (max-width: 767px) {
                        font-size: 1.4rem;
                        line-height: 180%;
                    }
                }
            }
        }
    }
}