*{
    padding:0px;
    margin:0px;
}
body{
    font-family: "Noto Serif JP";
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size:15px;
    letter-spacing:0;
    color:#EEE;
    background: #080000;
}
a{
    text-emphasis:none;
    color:#EEE;
}
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: #080000;}
h1{
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    padding:10px 0px;
}
.main{
    background-image: url(./images/bg_light.jpg);
    background-position: top center;
    background-size: cover;
    padding:90px 0px;
}
.main img{
    width:100%;
    max-width: 560px;
    margin:auto;
    display: block;
}
.date{
    display: flex;
    padding: 10px 0px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
}
.date img{
    width:100%;
    max-width:540px;
    display: block;
}
.contents{
    display: flex;
    padding: 60px 50px 80px 50px;
    gap: 50px;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    background-image: url(./images/bg_dark.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat:no-repeat;
}
h2{
    color:#CCC;
    text-align: center;
    font-size:28px;
    font-weight: 600;
    line-height:48px;
    letter-spacing: 5.6px;
}
h3{
    color: rgba(221, 221, 221, 0.87);
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 2.4px;
}
p{
    font-size: 17px;
    font-weight:600;
    line-height: 34px;
    letter-spacing: 3.4px;
    text-align:center;
}
.youtube img{
    width:100%;
    max-width: 640px;
}
.cast{
    width:100%;
    max-width:800px;
    margin:auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    gap: 50px;
    align-self: stretch;
    flex-wrap: wrap;
}
.cast > .img{width:380px;}
.cast > .text{width:340px;}
footer{
    background: #9E9E9F;
    display:flex;
    padding:20px 0px;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    align-self:stretch;
}
footer img{
    width:340px;
    margin:auto;
}
@media screen and (max-width: 768px){
    .pc-br{display:none;}
    .sp-br{display:block;}

    header{padding:10px;}
    h1{
        font-size: 14px;
        font-weight: 500;
        line-height: 20px;
        letter-spacing: 0px;
        padding:0;
    }
    .main{
        padding:0px;
    }
    .date{padding:10px 20px}
    .contents{
        padding:30px 20px 40px 20px;
        gap:30px;
        background-position: top left;
    }
    h2{
        font-size:19px;
        font-weight: 600;
        line-height:32px;
        letter-spacing:1.9px;
    }
    h3{
        color:#DDD;
        font-size:16px;
        font-weight: 500;
        letter-spacing: 0;
        line-height: normal;
    }
    p{
        font-size:12px;
        font-weight: 600;
        line-height:21px;
        letter-spacing:0;
    }
    footer{
        padding:20px 15px;
    }
    footer h2{
        font-size:13px;
        font-weight:500;
        line-height:normal;
        letter-spacing:1.3px;
    }
    footer a{
        max-width:260px;
        margin:15px auto;
    }
    footer p{
        font-size:10px;
        font-weight:500;
        line-height: normal;
        letter-spacing:1px;
    }
}