main {
    section {
        scroll-margin-top: 80px;

        @media (width <=768px) {
            scroll-margin-top: 64px;
        }
    }

    .hero {
        margin: 0 -24px;

        @media (width <=768px) {
            margin: 0 -16px;
        }

        .layout {
            position: relative;

            .hero-image {
                width: 100%;
                max-height: 520px;
                object-fit: cover;

                @media (width <=768px) {
                    max-height: 400px;
                }
            }

            .wrapper {
                /* 上下中央配置 */
                width: fit-content;
                height: fit-content;
                position: absolute;
                inset: 0;
                margin: auto;
                /* 上下中央配置 */
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;

                .top-h1 {
                    text-align: center;
                    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
                    position: relative;
                    z-index: 10;
                    color: #ffffff;
                    font-size: 28px;
                    font-weight: bold;

                    .second-br {
                        display: none;
                    }

                    @media (width <=768px) {
                        font-size: 22px;

                        .first-br {
                            display: none;
                        }

                        .second-br {
                            display: inline;
                        }
                    }
                }

                p {
                    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
                    padding: 4px 0;
                    position: relative;
                    z-index: 10;
                    color: #ffffff;
                    font-size: 16px;

                    @media (width <=768px) {
                        font-size: 15px;
                    }
                }
            }

            &::after {
                content: "";
                position: absolute;
                background: rgba(0, 0, 0, 0.2);
                inset: 0;
                z-index: 1;
            }
        }
    }

    .news {
        text-align: center;

        .layout {
            padding: 2em 2em 3em;

            h3 {
                font-size: 20px;
                padding-bottom: 1em;
            }
        }
    }

    .service {

        .layout {
            padding: 64px 16px 96px;

            @media (max-width: 768px) {
                padding: 48px 0 80px;
            }

            .wrapper {
                display: grid;
                grid-template-columns: 1fr 1fr;
                row-gap: 40px;
                column-gap: 30px;

                @media (max-width: 768px) {
                    grid-template-columns: 1fr;
                }

                a {
                    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
                    position: relative;
                    border-radius: 10px;
                    padding: 24px;
                    display: grid;
                    grid-template-columns: 70px 1fr 40px;
                    column-gap: 16px;
                    align-items: center;
                    transition: all 0.4s ease;

                    @media (max-width: 768px) {
                        max-height: 150px;
                        padding: 24px 16px;
                    }


                    .outer {
                        h3 {
                            font-size: 24px;
                            font-weight: bold;

                            @media (max-width: 768px) {
                                font-size: 22px;

                            }
                        }

                        p {
                            font-size: 16px;
                        }
                    }

                    &::after {
                        content: ">";
                        position: absolute;
                        width: fit-content;
                        height: fit-content;
                        top: calc(50% + -18.5px);
                        right: 30px;
                        font-size: 24px;
                        color: #ffffff;
                        transition: color 0.4s ease;
                    }

                    &::before {
                        content: "";
                        width: 36px;
                        height: 36px;
                        background-color: #292929;
                        border-radius: 100px;
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        right: 20px;
                        margin: auto 0;
                        transition: background-color 0.4s ease;
                    }

                    &:hover {
                        transition: all 0.4s ease;
                        background-color: rgb(201, 201, 201);

                        &::after {
                            color: rgb(201, 201, 201);
                        }

                        &::before {
                            background-color: #1a2a23;
                        }
                    }
                }
            }

            .detail-btn {
                background-color: #161616;
                color: #ffffff;
                padding: 16px;
                display: block;
                text-align: center;
                width: 50%;
                margin: 80px auto 0;
                border-radius: 10px;

                &:hover {
                    background-color: #4b4b4b;
                }

                @media (max-width: 768px) {
                    margin: 64px auto 0;

                }
            }
        }
    }
}