*{
    padding:0px;
    margin:0px;
}
body{
    font-family: "Noto Sans JP";
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size:15px;
    letter-spacing:0;
    color:#000;
    background: #32261E;
}
a{
    text-emphasis:none;
    color:#000;
}
a:hover{opacity:0.6;transition: .4s;}
img{
    display:inline-block;
    vertical-align:bottom;
    width:100%;
}
.pc-br{display:block;}
.sp-br{display:none;}
@media screen and (max-width: 768px){
    .pc-br{display:none;}
    .sp-br{display:block;}
}

header{background: #EEEDE7;}
h1{
    padding:10px 0px;
    color: #415F4C;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.main{
    width:100%;
    max-width: 900px;
    margin:auto;
    background: #32261E;
}
.contents{
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    margin:auto;
}
@media screen and (max-width: 768px){
    h1{
        color: #415F4C;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: 20px; /* 142.857% */
        padding:10px;
    }
}


.introduction{
    width:100%;
    padding: 40px 0 80px 0;
    background: #32261E
}
.introduction .box{
    max-width:800px;
    margin:auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    align-self: stretch;
}
.introduction h2{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.introduction h3{
    color: #FFF;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: 54px; /* 150% */
    letter-spacing: 3.6px;
}
.introduction p{
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px; /* 200% */
}
@media screen and (max-width: 768px){
    .introduction{
        width:calc(100% - 40px);
        padding: 30px 20px;
    }
    .introduction .box{gap: 30px;}
    .introduction h2{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    .introduction h3{
        color: #FFF;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 30px; /* 150% */
        letter-spacing: 2px;
        margin-top:-10px;
    }
    .introduction p{
        color: #FFF;
        font-family: "Noto Serif JP";
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 28px; /* 200% */
    }
}

.story{
    width:100%;
    padding: 70px 0 90px 0;
    background: #415F4C;
}
.story > .box{
    max-width:800px;
    margin:auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    align-self: stretch;
}
.story h2{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.story h3{
    color: #FFF;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: 54px; /* 150% */
    letter-spacing: 3.6px;
}
.story p{
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px; /* 200% */
}
@media screen and (max-width: 768px){
    .story{
        width:calc(100% - 40px);
        padding:30px 20px;
    }
    .story > .box{gap:30px}
    .story h2{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    .story h3{
        color: #FFF;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 30px; /* 150% */
        letter-spacing: 2px;
        margin-top:-10px;
    }
    .story p{
        color: #FFF;
        font-family: "Noto Serif JP";
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 28px; /* 200% */
    }
}

.cast-staff{
    width: 100%;
    background: #567760;
}
.cast-staff .box{
    max-width: 800px;
    margin:auto;
    display: flex;
    padding: 70px 0 90px 0;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    align-self: stretch;
}
.cast-staff h2{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding-bottom:30px;
}
.staff-box{
    display: flex;
    align-items: center;
    gap: 60px;
    align-self: stretch
}
.staff-box .img{
    width:280px;
    flex-shrink: 0;
}
.staff-box .text h3{
    color: #E5C460;
    font-family: "Noto Serif JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding-bottom:12px;
    border-bottom:1px solid #FF8A40;
}
.staff-box .text h3 > span{
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    display: block;
}
.staff-box .text > p{
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 187.5% */
    padding-top:20px;
}
@media screen and (max-width: 768px){
    .cast-staff .box{
        padding: 30px 20px;
        gap: 30px;
    }
    .cast-staff h2{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        padding-bottom:0;
    }
    .staff-box{
        flex-direction: column;
        gap: 15px;
        align-items: center;
        align-self: stretch;
        display: flex;
    }
    .staff-box .img{
        order:1;
        width: 220px;
    }
    .staff-box .text{order:2;}
    .staff-box .text h3{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    .staff-box .text h3 > span{
        color: #FFF;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
    .staff-box .text > p{
        color: #FFF;
        font-family: "Noto Sans JP";
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 28px; /* 200% */
        padding-top:15px;
    }
}

.trailer{
    width:100%;
    background: #415F4C;
}
.trailer .box{
    max-width: 800px;
    margin:auto;
    display: flex;
    padding: 70px 0 90px 0;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    align-self: stretch;
}
.trailer h2{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.trailer .youtube-box{
    width: 800px;
    height: 450px
}
.trailer .main-credits{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 42px;
    display: flex;
    flex-wrap: wrap; 
    gap: 0px 1em;
    justify-content: center;
}
.trailer .script-credits{
    padding:22px 0px;
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    display: flex;
    flex-wrap: wrap; 
    gap: 0px 1em;
    justify-content: center;
}
.trailer .producer{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    display: flex;
    flex-wrap: wrap; 
    gap: 0px 1em;
    justify-content: center;
}
.trailer .additional{
    color: #E5C460;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; /* 157.143% */
    display: flex;
    flex-wrap: wrap; 
    gap: 0px 1em;
    justify-content: center;
    margin-top:2px;
}
@media screen and (max-width: 768px){
    .trailer .box{
        padding: 30px 20px 40px 20px;
        gap: 30px;
    }
    .trailer h2{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    .trailer .youtube-box{
        width: 100%;
        height: auto;
        aspect-ratio: 140/79;
    }
    .trailer .main-credits{
        display:block;
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 22px; /* 157.143% */
        gap:0;
    }
    .trailer .main-credits > span{display: block;}
    .trailer .script-credits{
        padding:10px 0px;
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px; /* 166.667% */
        gap: 0;
    }
    .trailer .script-credits > span{display: block;}
    .trailer .producer{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 10px;
        font-style: normal;
        font-weight: 500;
        line-height: 18px; /* 180% */
        gap:0;
    }
    .trailer .producer > span{display: block;}
    .trailer .additional{
        color: #E5C460;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 10px;
        font-style: normal;
        font-weight: 500;
        line-height: 16px; /* 160% */
        gap:0;
    }
    .trailer .additional > span{display: block;}
}

footer{
    width:100%;
    background: #D4EAF4;
    padding:70px 0px 0px 0px;
}
footer h2{
    color: #415F4C;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
footer .link{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    padding:70px 0px 30px 0px;
}
footer .link > div{
    width: 390px;
    flex-shrink: 0;
}
footer .copy{
    color: #415F4C;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
@media screen and (max-width: 768px){
    footer{
        padding:30px 0px 0px 0px;
    }
    footer h2{
        color: #415F4C;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    footer .link{
        padding:30px 0px 10px 0px;
        gap:10px;
        width: 260px;
        flex-direction: column;
        align-items: center;
        margin:auto
    }
    footer .link > div{width:100%;}
    footer .copy{
        color: #415F4C;
        text-align: center;
        font-family: "Noto Serif JP";
        font-size: 11px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
}