.l-inner .kv-area{
    margin: 30px 0;
}
.l-inner .kv-area h1{
    text-align: center;
}
.l-inner .campaign-area{
    margin: 0 0 40px 0;
}
.l-inner .campaign-area img{
    display: block;
    margin: 0 auto;
    width: 60%;
}
.l-inner .login-area{
    width: 80%;
    margin: 100px auto 50px;
}
.l-inner .login-area .login-heading{
    width: 100%;
    align-items: center;
}
.l-inner .login-area p {
    font-size: 16px;
    text-align: center;
    margin-top: 30px;
}
.l-inner .login-area .login-img img{
    display: block;
    width: 60%;
    margin: 30px auto;

}
.l-inner .l-inner-info{
    text-align: center;
    max-width: 700px;
    border: 2px #EF1818 solid;
    border-radius: 10px;
    padding: 24px 58px;
    margin: 0 auto 100px;
}
.l-inner .l-inner-info h3{
    color: #EF1818;
    font-size: 18px;
    font-weight: 700;
}
.l-inner .l-inner-info p {
    padding-top: 15px;
    font-size: 16px;
}
.l-inner .l-inner-info a{
    text-decoration: underline;
}

/* ブルー背景エリア */
.bg-blue {
    background: #00A1E9;
    padding: 100px 0;
}
.bg-blue .l-inner h2 {
    margin: 0 auto 60px;
    width: 60%;
}
.bg-blue .l-inner .can-area {
    background: #fff;
    border-radius: 5px;
    margin-bottom: 20px;
    text-align: center;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 11px;
}
.bg-blue .l-inner .can-area img.illust-img{
    width: 60px;
}
.bg-blue .l-inner .can-area h3{
    font-size: 23px;
    font-weight: bold;
}
.bg-blue .l-inner .can-area .can3-item{
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-bottom: 1px solid #E4E4E4;
}
.bg-blue .l-inner .can-area .can3-item:last-child {
    border-bottom: none;
}
.bg-blue .l-inner .can-area h4{
    font-size: 23px;
    font-weight: bold;
}
.bg-blue .l-inner .can-area > h4{
    margin-top: 30px;
}
.bg-blue .l-inner .can-area .can3-item h4:not(:first-of-type){
    display: flex;
    align-items: center;
    font-size: 23px;
    justify-content: center;
}
.bg-blue .l-inner .can-area .can3-item h4 img{
    height: 40px;
}

.bg-blue .l-inner .can-area p, .bg-blue .l-inner .can-area a{
    font-size: 16px;
}
.bg-blue .l-inner .can-area a{
    text-decoration: underline;
}


.bg-blue .l-inner .can-area .can3Img{
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.bg-blue .l-inner .can-area .headhing-img{
    display: inline-block;
    width: 50%;
}

.bg-blue .l-inner .explanation-area{
    color: #fff;
    font-size: 14px;
}
.bg-blue .l-inner .explanation-area ul{
    padding-top: 20px;
}


/* グレー背景 */
.bg-gray {
    background: #F6F6F6;
    padding: 100px 0;
}

.bg-gray .l-inner .campaign-container img{
    display: inline-block;
    width: 50%;
    margin: 0 auto;
}
.bg-gray .l-inner .campaign-container .cp-kv p {
    text-align: center;
}
.bg-gray .l-inner .campaign-container .cp-txt{
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    position: relative;
    margin-bottom: 50px;
}
.bg-gray .l-inner .campaign-container .cp-txt h3,
.bg-gray .l-inner .campaign-container .cp-txt p{
    font-size: 22px;
    font-weight: bold;
}
.bg-gray .l-inner .campaign-container .cp-txt p{
    padding: 30px 0;
}
.cp-kv {
    margin: 0 0 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 40px;
}
.cp-kv img{
    text-align: center;
    width: 60%;
}
.campaign-container .cp-txt .br {
    font-size: 19px;
    display: block;
    padding: 20px 0;
    font-weight: bold;
}
.campaign-container .cp-txt ul.campaign-details li{
    padding-bottom: 32px;
    position: relative;
    border-bottom: 1px solid #E4E4E4;
}
br.sp{
    display: none;
}

@media screen and (max-width: 768px){
    .campaign-area img{
        width: 100%;
    }
    .l-inner .login-area{
        width: 100%;
    }
    .l-inner .campaign-area img{
        width: 100%;
    }
    .l-inner .login-area .login-img img{
        width: 100%;
    }
    .l-inner .l-inner-info{
        padding: 24px 30px;
    }
    .bg-blue{
        padding: 100px 0;
    }
    .bg-blue .l-inner h2{
        margin: 0 0 60px;
        width: 100%;
    }
    .bg-blue .l-inner .can-area{
        gap: 20px;
    }
    .bg-blue .l-inner .can-area p{
        font-size: 18px;
        text-align: left;
    }
    .bg-blue .l-inner .can-area .headhing-img{
        width: 100%;
    }
    .campaign-container .cp-txt .br {
        font-size: 20px;
    }
    .bg-gray .l-inner .campaign-container .cp-kv p{
        text-align: left;
    }
    .bg-gray .l-inner .campaign-container img{
        width: 100%;
    }
    br.sp{
    display: block;
    }
}

