:root {
    --base-font-size: 16px;
    /* Default base font size */
}

html {
    --base-font-size: 10px;
    /* Override the default base font size */
}

.sp_new_cta {
    display: none;
}

.cta_button_w {
    position: relative;
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}

.cta_button_w .cta-image {
    position: absolute;
    right: 0;
    bottom: 0;
    padding-top: 20px;
    border-radius: 0 0 32px 0;
}

.cta_button_w .ss-button.-cta .cta-arrow-icon {
    height: 18px;
    width: 18px;
}

#common-banner-sp .FixedArea.-single {
    padding: 8px 16px;
    background-color: transparent;
    display: block !important;
}

#common-banner-sp .FixedArea.-show {
    pointer-events: auto;
    z-index: 10000;
    opacity: 1;
}

#common-banner-sp .FixedArea {
    position: fixed;
    z-index: 10;
    width: 100%;
    padding: 16px;
    background-color: #EBEEF1;
    bottom: 0;
    right: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
}

#common-banner-sp .FixedArea.-single .ss-button {
    height: 64px;
}

#common-banner-sp .ss-button.-cta {
    background-color: #FFED56;
    color: #141821;
    transition: border 0.2s, transform 0.2s;
}

#common-banner-sp .ss-button.-cta {
    background-color: #FFED56;
    color: #141821;
    transition: border 0.2s, transform 0.2s;
}

#common-banner-sp .ss-button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-decoration: none;
    font-weight: 700;
    border-radius: 100px;
    width: 100%;
    height: 53px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 90px;
    background-color: transparent;
    border: none;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    cursor: pointer;
    gap: 5px;
}
@media (width >= 600px) {
    #common-banner-sp .ss-button {
        justify-content: center;
        padding-right: 0;
    }
}
@media (width >= 820px) {
    #common-banner-sp .ss-button {
        justify-content: flex-end;
        padding-right: 122px;
    }
}

@media (1400px <= width) {
    #float-banner-sp.FixedArea,  #common-banner-sp{
        display: none !important;
    }
}

@media (width <= 900px) {
    #wovn-translate-widget[wovn].type-default.wovn--position-bottom {
        bottom: 80px !important;
        max-width: 162px;
        left: 0;
    }
    #wovn-translate-widget[wovn].type-default.wovn--position-bottom .wovn-lang-selector {
        border-radius: 0 5px 5px 0;
    }
    div#ip-checker {
        bottom: 136px;
    }
}

@media (width <= 730px) {
    .l-body .ip-checker-container {
        bottom: 137px;
    }
    #preview-wovn-translate-widget[wovn].type-default.wovn--position-bottom,
    #preview-wovn-translate-widget[wovn].type-default.wovn--position-bottom.wovn--slide-in,
    #wovn-translate-widget[wovn].type-default.wovn--position-bottom,
    #wovn-translate-widget[wovn].type-default.wovn--position-bottom.wovn--slide-in {
        bottom: 81px !important;
        left: 0;
        z-index: 1000;
        width: max-content;
    }
}
.ss-button.-cta p {
    position: relative;
    display: flex;
    align-items: center;
}
.ss-button.-cta > p img {
    position: absolute;
    right: -36px;
    transition: all .3s;
    transform: translate(-50%, 0);
     z-index: 1000;
}
.ss-button.-cta:hover > p img {
    right: -40px;
   
}
.cta_button_w .ss-button.-cta.-animate.-staff:hover p::before {
    right: -32px;
}