#popup-july4sub .popup-content {
    width: 700px;
    height: 500px;
    padding: 0 15px;
    background-image: url(../images/sub/popup-back.webp);
    background-image: -webkit-image-set(url("../images/sub/popup-back.webp") 1x,
            url("../images/sub/popup-back@2x.webp") 2x);
}

#popup-july4sub .popup-close {
    width: auto;
    height: auto;
    top: 0;
    right: 0;
    padding: 20px;
}

#popup-july4sub form {
    margin-top: 21px;
}

#popup-july4sub form select,
#popup-july4sub form input {
    border-color: #a3a3a6;
}

#popup-july4sub .button {
    width: 10.5em;
    height: 2.2em;
    border-radius: 20px;
    font-size: 1.125em;
    margin-top: 12px;
    margin-bottom: 20px;
    padding: 0;
    background-color: #b2071c;
}

#popup-july4sub .bottom-text {
    font-size: 14px;
}

#popup-july4sub .toggle-text {
    cursor: pointer;
}

#popup-july4sub .popup-text {
    background: #fff;
    width: 617px;
    height: 408px;
    padding: 28px 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

#popup-july4sub .popup-text .close {
    position: absolute;
    top: 13px;
    right: 20px;
    cursor: pointer;
}

#popup-july4sub .popup-text .title {
    font-size: 25px;
    color: #233260;
}

#popup-july4sub .scroll-text {
    margin-top: 18px;
    padding: 22px 37px 0 37px;
    border-top: 1px solid #dcdcdc;
    overflow: auto;
    height: 19em;
    font-size: 15px;
    line-height: 17px;
    color: #232323;
}

#popup-july4sub .scroll-text p {
    margin-bottom: 12px;
}

#popup-july4sub .popup-thanks .thanks {
    font-size: 55px;
    line-height: 1em;
    letter-spacing: -0.015em;
    margin-bottom: 24px;
}

#popup-july4sub .popup-thanks .thanks-2 {
    font-size: 22px;
    line-height: 29px;
    letter-spacing: -0.015em;
}

#popup-july4sub .popup-thanks .button {
    margin-top: 24px;
}

#popup-july4sub .form-text {
    font-size: 40px;
    line-height: 35px;
    color: #ffffff;
}

#popup-july4sub .form-text span {
    font-size: 22px;
}

#popup-july4sub .thanks-top {
    font-size: 36px;
    line-height: 40px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    -webkit-text-stroke: 5px #053c63;
    paint-order: stroke fill;
    margin-bottom: 1em;
}

/* legacy Safari without text-box support */
@supports (background: -webkit-named-image(i)) and (not (text-box: trim-both cap alphabetic)) {
  #popup-july4sub .button {
    padding-top: 4px;
  }
}
/* font-metric independent CTA label centering (Safari 18.2+, Chrome 133+);
   <button> needs display:block so text-box applies, its native content
   centering then centers the trimmed text */
@supports (text-box: trim-both cap alphabetic) {
  #popup-july4sub button.button {
    display: block;
    text-box: trim-both cap alphabetic;
  }
  #popup-july4sub a.button > span {
    display: block;
    text-box: trim-both cap alphabetic;
  }
}

#popup-july4sub .popup-thanks .button {
    width: 10.5em;
    height: 2.25em;
}

@media screen and (max-width: 567px) {
    #popup-july4sub .popup-text {
        height: 80%;
    }
    #popup-july4sub .scroll-text {
        font-size: 17px;
        line-height: 25px;
        height: 92%;
    }
    #popup-july4sub .popup-content {
        width: 100%;
        height: 100%;
        background-image: url(../images/sub/popup-back-m.webp);
        background-image: -webkit-image-set(url("../images/sub/popup-back-m.webp") 1x,
                url("../images/sub/popup-back-m@2x.webp") 2x);
    }

    #popup-july4sub .popup-thanks .thanks {
        font-size: 37px;
    }

    #popup-july4sub form {
        margin-top: 16px;
    }

    #popup-july4sub .form-text {
        font-size: 34px;
    }

    #popup-july4sub .form-text span {
        font-size: 19px;
    }

    #popup-july4sub .button {
        width: 7.3em;
        height: 2.53em;
        margin-top: 7px;
        font-size: 15px;
    }
}