.hero-sp {
    padding-block: 55px;
    overflow: hidden;
    .hero-blast {
        position: absolute;
        top: -420px;
        right: -420px;
        width: 730.94px;
        height: 730.94px;
        background: radial-gradient(
                97.99% 97.99% at 50% 50%,
                #f7bb65 16.35%,
                rgba(249, 145, 48, 0.5) 40.38%,
                rgba(255, 255, 255, 0) 100%
            )
            /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */;
        filter: blur(100px);
        z-index: -1;
    }

    .hero-wrap {
        .content {
            .title {
                font-weight: 600;
            }

            .desc {
                margin-top: 22px;
            }

            .cta {
                margin-top: 26px;
            }

            .tag {
                font-size: 12px;
                font-weight: 300;
                text-decoration: underline;
                margin-top: 18px;
            }

            img {
                max-width: 500px;
                width: 100%;
                margin-top: 30px;
            }
        }

        .hero-img {
            img {
                width: 100%;
                filter: drop-shadow(-10px 12px 15px rgba(0, 0, 0, 0.15));
            }
        }
    }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .hero-sp {
        padding-block: 45px;

        .hero-wrap {
            .content {
                .desc {
                    margin-top: 12px;
                }

                .cta {
                    margin-top: 18px;
                }

                img {
                    margin-top: 20px;
                }
            }
        }
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .hero-sp {
        padding-block: 55px;

        .hero-wrap {
            grid-template-columns: repeat(1, 1fr);
            .content {
                text-align: center;

                .title {
                    font-size: 38px;
                }

                .desc {
                    margin-top: 12px;
                }

                .cta {
                    margin-top: 26px;
                }

                .tag {
                    font-size: 12px;
                    font-weight: 400;
                    text-decoration: underline;
                    margin-top: 18px;
                }

                img {
                    max-width: 500px;
                    width: 100%;
                    margin-top: 30px;
                }
            }

            .hero-img {
                display: flex;
                justify-content: center;
                img {
                    max-width: 500px;
                    margin-inline: auto;
                }
            }
        }
    }
}

@media only screen and (max-width: 767px) {
    .hero-sp {
        padding-block: 35px;

        .hero-wrap {
            .content {
                .title {
                    font-size: 24px;
                    line-height: 34px;
                    font-weight: 700;
                }

                .desc {
                    margin-top: 12px;
                }

                .cta {
                    margin-top: 18px;
                }

                .tag {
                    font-size: 12px;
                    font-weight: 400;
                    text-decoration: underline;
                    margin-top: 18px;
                }

                img {
                    max-width: 500px;
                    width: 100%;
                    margin-top: 30px;
                }
            }

            .hero-img {
                img {
                    width: 100%;
                    filter: drop-shadow(-10px 12px 15px rgba(0, 0, 0, 0.15));
                }
            }
        }
    }
}
