/*reCAPTCHAのバッジを非表示に*/

.grecaptcha-badge {
    visibility: hidden;
}
/* LINEボタン */
.cta_line {
    margin: 2em 0 4em 0;
    @media (max-width: 500px) {
        margin-top: 1em;
    }
    * {
        box-sizing: border-box;
    }
    > p {
        font-size: 32px;
        text-align: center;
        font-weight: 700;
        color: #ff900f;
        white-space: nowrap;
        @media (max-width: 600px) {
            font-size: 20px;
        }
    }
    .line_btn {
        position: relative;
        margin: 0 auto;
        width: 100%;
        max-width: 600px;
        aspect-ratio: 1140/300;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 20px;
        background: #42b526;
        font-weight: 700;
        text-decoration: none;
        gap: 20px;
        transition: 0.3s;
        @media (max-width: 720px) {
            gap: 2%;
        }
        @media (max-width: 600px) {
            border-radius: 16px;
        }
        .icon {
            width: 15%;
            @media (max-width: 720px) {
                width: 12%;
            }
            svg {
                width: 100%;
                height: auto;
                fill: #fff;
            }
        }
        .text {
            font-size: 44px;
            color: #fff;
            @media (max-width: 720px) {
                font-size: 7vw;
            }
        }
        &::after {
            position: absolute;
            top: 6px;
            height: 6px;
            width: calc(100% - 12px);
            height: calc(100% - 12px);
            content: "";
            display: block;
            border: 2px solid #fff;
            border-radius: 20px;
            @media (max-width: 600px) {
                top: 4px;
                height: 4px;
                width: calc(100% - 8px);
                height: calc(100% - 8px);
                border-width: 1px;
                border-radius: 16px;
            }
        }

        &.huru {
            animation: huru 5s ease-in-out infinite;
        }
        &:hover {
            background: #319d16;
        }
    }
}

@keyframes huru {
    0%, 80% { transform: translateX(0); }
    84% { transform: translateX(-8px); }
    88% { transform: translateX(8px); }
    92% { transform: translateX(-4px); }
    96% { transform: translateX(4px); }
    100% { transform: translateX(0); }
}
/* lw_down_icon */
.lw_down_icon {
    display: flex;
    justify-content: center;
    padding: 0.5em 0;
    &::after {
        content: "";
        display: block;
        width: 100%;
        height: 60px;
        background: #cdcdcd;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        animation: pyon 3s ease-in-out infinite;
        @media (max-width: 600px) {
            height: 32px;
        }
    }
}

@keyframes pyon {
    0%, 100% { transform: translateY(0); }
    70% { transform: translateY(0); }
    78% { transform: translateY(12px); }
    84% { transform: translateY(0); }
    90% { transform: translateY(8px); }
    96% { transform: translateY(0); }
}
/* lw-follow-cta-sp */
.lw-follow-cta-sp {
    padding: 4px;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: .3s;
    @media (max-width: 600px) {
        display: block;
    }
    &.active{
        opacity: 1;
        visibility: initial;
    }
    * {
        box-sizing: border-box;
    }
    > a {
        position: relative;
        padding: 16px 0 12px 0;
        display: block;
        background: #42b526;
        color: #fff !important;
        text-decoration: none !important;
        border-radius: 12px;
        overflow: hidden;
        &::before {
            content: "";
            position: absolute;
            top: 0;
            left: -100%;
            width: 60%;
            height: 100%;
            background: linear-gradient(
                120deg,
                transparent 0%,
                rgba(255,255,255,0) 30%,
                rgba(255,255,255,0.4) 50%,
                rgba(255,255,255,0) 70%,
                transparent 100%
            );
            animation: kira 8s ease-in-out infinite;
            z-index: 1;
            pointer-events: none;
        }
        .text {
            margin-bottom: 4px;
            width: 100%;
            display: block;
            white-space: nowrap;
            text-align: center;
        }
        .inner {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            .icon {
                width: 15%;
                @media (max-width: 720px) {
                    width: 10%;
                }
                @media (max-width: 420px) {
                    width: 8%;
                }
                svg {
                    width: 100%;
                    height: auto;
                    fill: #fff;
                }
            }
            .in_text {
                font-size: 28px;
                font-weight: 600;
                @media (max-width: 420px) {
                    font-size: 24px;
                }
            }
        }
        &::after {
            position: absolute;
            top: 6px;
            left: 6px;
            height: 6px;
            width: calc(100% - 12px);
            height: calc(100% - 12px);
            content: "";
            display: block;
            border: 2px solid #fff;
            border-radius: 20px;
            @media (max-width: 600px) {
                top: 4px;
                left: 4px;
                height: 4px;
                width: calc(100% - 8px);
                height: calc(100% - 8px);
                border-width: 1px;
                border-radius: 12px;
            }
        }
    }
}

@keyframes kira {
    0% { left: -100%; }
    10% { left: 120%; }
    100% { left: 120%; }
}
