.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 20;
    width: 100%;
    z-index: 99;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    width: 80%;
    max-width: 560px;
    left: 50%;
    position: absolute;
    top: 15px;
    padding: 30px;
    transform: translate(-50%,0%);
    position: relative;
}
.modal__content .js-modal-close { 
    position: absolute; top: 5px; right: 5px; text-decoration: none;
}
.modal__content .check { 
    font-size: 1.2rem;
    text-align: right;
    padding-right: 30px;
    margin-top: -10px;
}
.modal__content .check input[type=checkbox] {
    width: 16px;
    height: 16px;
    vertical-align: text-bottom; margin-top: 0px;margin-left: 8px;border: 1px solid #4f93bd;background-color: #e8f4fb;position: relative;
}
.modal__content .check p { font-size: 1.0rem; margin-top: 3px;}

.modal__content .check input[type=checkbox] + label{
   margin-left: 3px;
}
.modal__content .check input[type=checkbox]:checked::after{
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  left: 2px;
  width: 6px;
  height: 12px;
  transform: rotate(40deg);
  border-bottom: 4px solid #4f93bd;
  border-right: 4px solid #4f93bd;
}

@media screen and (max-width:568px){
    .modal__content{
        padding: 20px;
    }
    .modal__content .js-modal-close img { 
        width: 23px; height: 23px;
    }
    .modal__content .check {
        text-align: left;
        padding-right: 30px;
        margin-top: -5px;
        margin-left: -10px;
    }
}