/* 共通部分 上書き用 */
div.head h1 {
    width: 100%;
}

section {
    width: 960px;
    height: auto;
    margin: auto;
}

article.mainContainer {
    width: 100%;
    height: auto;
    margin: auto;
    background: white;
}

div.head + a {
    display: block;
    width: 300px;
    margin: 5px 0 5px 20px;
    line-height: 0;
}
.head + a > img {
    width: 100%;
}

h2 {
    width: 100%;
    margin: auto;
    padding-left: 20px;
    color: white;
    background-color: #333333;
    height: 40px;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    -webkit-align-items:center;
    align-items:center;
}
h2 > a {
    color: white;
    font-size: 1.6rem;
    text-decoration: underline;
    padding-right: 8px
}

    h2 + p {
        width: 960px;
        text-align: center;
        margin: 20px auto 20px;
        font-size: 1.6rem;
        font-weight: normal;
}

section.movie {
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-flow: row wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

h3 {
    width: 100%;
    height: 40px;
    font-size: 1.6rem;
    color: white;
    padding: 0 0 0 10px;
    margin: 0 0 20px 0;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    -webkit-align-items:center;
    align-items:center;
}
h3:nth-of-type(1) {
    background-color: #cb5544;
}
h3:nth-of-type(2){
    background-color:#646464;
}
h3:nth-of-type(3){
    background-color:#655586;
}
h3:nth-of-type(4){
    background-color:#0086b9;
}
h3:nth-of-type(5){
    background-color:#cc5588;
}
h3:nth-of-type(6){
    background-color:#eab855;
}

figure {
    width: 49.5%;
    margin-bottom: 20px;
}
figure > figurecaption > h4 {
    font-size: 1.6rem;
}
figure > iframe {
    width: 100%;
    height: 266px;
}

@media screen and (max-width:959px) {
    article.mainContainer {
    }
    section {
        width: 100%;
    }
    div.head + img {
        width: 200px;
        margin: 5px 0 5px 20px
    }
    h2 + p {
        width: 100%;
        padding: 0 2%;
    }
    figure {
        padding: 0 2%
    }
}
@media screen and (max-width:767px) {
    div.head + a {
        display: block;
        width: 150px;
        margin: 5px 0 5px 20px;
        line-height: 0;
    }
    .head + a > img {
        width: 100%;
    }
    h2 + p {
        font-size: 1.4rem;
    }
}
@media screen and (max-width:414px) {
    section.movie {
        -ms-flex-pack: center;
        justify-content: center;
    }
    figure {
        width: 98%;
        padding: 0;
    }
}
@media screen and (max-width:320px) {}
