@charset "utf-8";

body {
    background-color: #000;
}
body.preload .wow.fadeIn {
  opacity: 0 !important;
}

svg {
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform: translateZ(0);
}

h1,h2,h3,h4,h5,h6 {
  margin: 0;
  padding: 0;
}

img {
  height: auto;
}

a {
    transition: .3s;
}
a:hover {
    opacity: .7;
}

/* ---------------------------- mv ---------------------------- */
.mv {
    position: relative;
    height: 0;
    padding-top: 64.54%;
    background-image: url(../images/full/mv_bg_pc.jpg);
    background-size: cover;
}
.mv-twitter {
    position: absolute;
    top: 5%;
    right: 3%;
    width: 4%;
    z-index: 10;
}
.mv-twitter a {
    display: block;
}
.mv-wrapper {
    position: absolute;
    top: 42%;
    left: 0;
    right: 0;
    margin: auto;
    width: 86%;
}
.mv-hand-sp {
    display: none;
}
.mv-txt {
    position: absolute;
    top: -8%;
    left: -1%;
    width: 68%;
}
.mv-logo {
    width: 100%;
}
.mv-day {
    max-width: 416px;
    width: 36%;
    margin: -2% auto 0;
}
.mv-details {
    position: absolute;
    bottom: 2%;
    right: 3%;
    width: 23%;
}

.mv-bnr-piccoma {
    position: absolute;
    top: 4%;
    left: 3%;
    width: 20%;
}

.mv-bnr-comment {
    position: absolute;
    top: 4%;
    left: 24%;
    width: 9%;
}
.mv-bnr-theater {
    position: absolute;
    top: 4%;
    left: 34%;
    width: 9%;
}
.mv-bnr-drive {
    position: absolute;
    top: 20%;
    left: 3%;
    width: 20%;
}
.mv-bnr-gekioshi {
    position: absolute;
    top: 20%;
    left: 24%;
    width: 9%;
}
.mv-bnr-dvd {
    position: absolute;
    top: 30%;
    left: 3%;
    width: 20%;
}

.mv-bnr-theater a,
.mv-bnr-gekioshi a,
.mv-bnr-piccoma a,
.mv-bnr-comment a,
.mv-bnr-drive a,
.mv-bnr-dvd a {
    display: block;
}
.ex-bnr {
    display: none;
}

.bnr-list {
    display: flex;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: 0 auto;
}
.bnr-list a {
    display: block;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 2%;
    border: 1px solid #444;
    box-sizing: border-box;
}
.bnr-list a:nth-of-type(3n) {
    margin-right: 0;
}

.bnr {
    width: 20%;
    margin: 0 auto 2%;
}
.bnr a {
    display: block;
}

@media screen and (max-width:768px) {
    .mv {
        padding-top: 163.083%;
        background-image: url(../images/full/mv_bg_sp.jpg);
    }
    .mv-twitter {
        top: 3%;
        right: 3%;
        width: 11%;
    }
    .mv-wrapper {
        top: 12%;
        width: 100%;
        padding: 0 3%;
        box-sizing: border-box;
    }
    .mv-hand-sp {
        display: block;
        position: absolute;
        bottom: -3%;
        right: 0;
        width: 22%;
        z-index: 10;
    }
    .mv-txt {
        top: 31%;
        left: auto;
        right: 3%;
        width: 41%;
        max-width: none;
        margin-bottom: 0;
    }
    .mv-logo {
        margin-bottom: 2%;
    }
    .mv-day {
        position: absolute;
        bottom: 2%;
        left: 15%;
        max-width: none;
        width: 40%;
        margin-bottom: 0;
    }
    
    .mv-details {
        position: static;
        max-width: none;
        width: 70%;
        margin: 0 auto 10%;
    }
    
    .mv-bnr-theater,
    .mv-bnr-gekioshi,
    .mv-bnr-piccoma,
    .mv-bnr-comment,
    .mv-bnr-drive,
    .mv-bnr-dvd {
        display: none;
    }
    .ex-bnr {
        display: flex;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto 8%;
    }
    .ex-bnr-50 {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 4%;
    }
    .ex-bnr-50:nth-child(2n) {
        margin-right: 0;
    }
    .ex-bnr-80 {
        width: 65%;
        margin: 0 auto 4%;
    }
    .ex-bnr-100 {
        width: 100%;
        margin-bottom: 4%;
    }
    
    .bnr-list {
        width: 90%;
        margin: auto;
    }
    .bnr-list a {
        width: 49%;
    }
    .bnr-list a:nth-of-type(3n) {
        margin-right: 2%;
    }
    .bnr-list a:nth-of-type(2n) {
        margin-right: 0;
    }
    
    .bnr {
        width: 30%;
    }
}

.movie-wrapper {
    padding: 4% 0 12%;
}
.for-about-btn {
    font-family: 'Josefin Sans', sans-serif;
    display: block;
    max-width: 370px;
    width: 90%;
    margin: 0 auto 2%;
    padding: 10px 0 5px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .2em;
    border-radius: 2px;
    text-align: center;
    color: #FFF;
    background-color: #CB0815;
    transition: .3s;
}
.for-about-btn:hover {
    opacity: 1;
    background-color: #FFF;
    color: #CB0815;
}
.menu-list {
    display: flex;
    justify-content: center;
    max-width: 835px;
    margin: 0 auto 4%;
}
.menu-list-item {
    width: 30%;
    margin: 0 .5%;
}
.menu-list-item a {
    font-family: 'Josefin Sans', sans-serif;
    display: block;
    width: 100%;
    margin: auto;
    padding: 10px 0 5px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .2em;
    border-radius: 2px;
    text-align: center;
    color: #FFF;
    background-color: #1b5270;
    transition: .3s;
}
.menu-list-item a:hover {
    background-color: #e50213;
}
@media screen and (max-width:768px) {
    .for-about-btn {
        max-width: none;
    }
    .menu {
        margin-bottom: 10%;
    }
    .menu-list {
        flex-wrap: wrap;
    }
    .menu-list-item {
        width: 90%;
        margin-bottom: 2%;
    }
    .menu-list-item a {
        max-width: none;
        padding: 12px 0 6px;
    }
}




/* C2 */
.page-home #c2-container {
    position: relative;
    max-width: none;
    width: 100%;
    background-image: url(../images/full/home_sns_bg_pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: repeat-y;
}
.page-home .c2-container-wrapper {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 6% 2%;
    box-sizing: border-box;
}
.page-home #c2-container .c2-more {
    color: #FFF;
    background-color: #1b5270;
    border: 2px solid #1b5270;
}
.page-home #c2-container .c2-more:hover {
    opacity: 1;
    background-color: #CB0815;
    border-color: #CB0815;
}
@media screen and (max-width:768px) {
    .page-home #c2-container {
        background-image: url(../images/full/home_sns_bg_sp.jpg);
    }
    .page-home .c2-container-wrapper {
        padding: 8% 4%;
    }
}



.campaign-deco-left {
    position: absolute;
    top: 10%;
    left: 0;
    width: 22%;
    max-width: 368px;
}
.campaign-deco-right {
    position: absolute;
    top: 10%;
    right: 0;
    width: 23%;
    max-width: 387px;
}
.campaign-box {
    position: relative;
}
.campaign-txt-01 {
    margin-bottom: 1%;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    color: #CB0815;
}
.campaign-txt-01-small {
    font-size: 18px;
}
.campaign-ttl {
    margin-bottom: 2%;
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    color: #CB0815;
}
.campaign-limit {
    margin-bottom: 2%;
    font-size: 21px;
    font-weight: 500;
    text-align: center;
}
.campaign-btn {
    position: relative;
    display: block;
    width: 100%;
    max-width: 600px;
    margin: auto;
    padding: 6px 0;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    color: #FFF;
    background-color: #CB0815;
}
.campaign-btn:after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5px;
    margin: auto;
    box-sizing: border-box;
    border: 10px solid transparent;
    border-left: 16px solid #FFF;
}

.campaign-tag {
    font-size: 86px;
    font-weight: 900;
    text-align: center;
    color: #000;
}
.campaign-tag-small {
    font-size: 72px;
}
.campaign-txt-02 {
    margin-bottom: 6%;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width:768px) {
    .campaign-txt-01 {
        font-size: 18px;
    }
    .campaign-txt-01-small {
        font-size: 16px;
    }
    .campaign-ttl {
        font-size: 7vw;
        line-height: 8vw;
    }
    .campaign-limit {
        font-size: 16px;
    }
    .campaign-tag {
        font-size: 10vw;
    }
    .campaign-tag-small {
        font-size: 8vw;
    }
    .campaign-txt-02 {
        margin-bottom: 8%;
        font-size: 16px;
        line-height: 1.5;
        text-align: left;
    }
    .campaign-btn {
        font-size: 16px;
    }
    .campaign-btn:after {
        width: 10px;
        height: 10px;
        border: 6px solid transparent;
        border-left: 10px solid #FFF;
    }
}