*{
    padding:0px;
    margin:0px;
}
body{
    font-family: "Noto Serif JP";
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size:15px;
    letter-spacing:0;
    color:#0E0E0E;
}
a{
    text-emphasis:none;
    color:#0E0E0E;
}
a:hover{opacity:0.6;transition: .4s;}
img{
    display:inline-block;
    vertical-align:bottom;
    width:100%;
}
.pc-br{display:block;}
.sp-br{display:none;}

header{
    background: #FFF33F;
    display:flex;
    padding:16px 20px;
    justify-content: center;
    align-items:center;
    align-self: stretch;
}
header h1{
    color: #2C4198;
    text-align:center;
    font-family: 'M PLUS 1', sans-serif;
    font-weight: 600;
    font-size:26px;
    line-height:normal;
    letter-spacing: 1.3px;
}
.contents{
    width:100%;
    max-width: 920px;
    margin: auto;
}
.campaign{
    display: flex;
    padding: 40px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    background-image: url(./images/cp_bg_pc.jpg);
    background-size: cover;
    background-position: top center;
}
.gojokai{
    background: linear-gradient(180deg, #161573 0%, #2CA6E0 40%, #FFF 80%);
    display: flex;
    padding: 30px 40px 0px 40px;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    align-self: stretch;
}
.gojokai h2{
    color: #FFF33F;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 29px;
    font-weight: 700;
    line-height: normal;
}
.container{
    display: flex;
    width:100%;
    max-width: 900px;
    padding: 30px 0px 0px 0px;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    border-radius: 20px;
    background: #FFF;
    margin:auto;
}
.container h3{
    color: #1D2087;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 26px;
    font-weight: 700;
    line-height: normal;
}
.container h4{
    color: #C30D23;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 30px;
    font-weight: 700;
    line-height: normal;
}
.container .detail{
    padding:30px 0px;
}
.container p{
    color: #000;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 21px;
    font-weight: 700;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width:548px;
    margin:10px auto 0px auto;
    background-image: url(./images/line.jpg);
    background-size:1px auto;
    background-repeat: repeat-x;
    background-position: center left;
}
.container p > span{
    background:#FFF;
    display:inline-block;
    padding:0px 10px;
}
footer{
    background: #FFF;
    display:flex;
    padding:50px 0px 0px 0px;
    flex-direction: column;
    align-items: center;
}
.footer-box{
    width:100%;
    max-width:900px;
    margin:auto;
}
.link-box{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    align-self: stretch;
    padding:0px 0px 30px 0px;
}
.sp-img{display:none;}
@media screen and (max-width: 768px){
    .pc-br{display:none;}
    .sp-br{display: block;}
    header{padding:14px 0px;}
    header h1{
        font-size:18px;
        font-weight:600;
        line-height:normal;
    }
    .campaign{
        padding:10px 0px;
        background-image: url(./images/cp_bg_sp.jpg);
    }
    .gojokai{
        padding:20px 20px 0px 20px;
        gap:20px;
        background: var(--blue, linear-gradient(180deg, #161573 0%, #2CA6E0 40%, #FFF 80%));
    }
    .gojokai h2{
        font-size: 17px;
        line-height: normal;
    }
    .container{
        border-radius: 10px;
        padding: 15px 0px 20px 0px;
    }
    .container h3{
        font-size: 16px;
        font-weight: 700;
        line-height: normal;
        padding:0px 10px;
    }
    .container .detail{
        padding:15px 0px;
    }
    .container h4{
        font-size: 18px;
        font-weight: 700;
        line-height: normal;
        padding-bottom:20px;
    }
    .container p{
        font-size: 14px;
        font-weight: 700;
        line-height: normal;
        width:260px;
        margin: 5px auto 0px auto;
    }
    .container p > span{padding:0px 5px}
    footer{padding:0px 20px}
    .link-box{flex-wrap:wrap;}
    .link-box div{width:100%;}
    .pc-img{display:none;}
    .sp-img{
        display: block;
        padding:20px 0px 35px 0px;
    }
}