@charset "utf-8";

body {
    background-color: #000;
    min-width: 1160px;
}
body.preload.wow.fadeIn,
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 {
    width: 100%;
  height: auto;
}

a {
    transition: .3s;
}
a:hover {
    opacity: .7;
}
@media screen and (max-width:768px) {
    body {
        min-width: 0;
    }
    body:before{
        content:"";
        display:block;
        position:fixed;
        top:0;
        left:0;
        z-index:-1;
        width:100%;
        height:100vh;
        background: url(../images/about/gallery_01_bg_sp.jpg) center no-repeat;
        background-size:cover;
    }
}


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

@media screen and (max-width:768px) {
    .bnr {
        width: 30%;
    }
}


.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(4,56,92,.4);
    z-index: 100;
}
.header-contents {
    display: flex;
    justify-content: space-between;
    max-width: 1255px;
    margin: auto;
    padding: 3% 2% 1.5%;
}
.header-logo {
    max-width: 272px;
    width: 22%;
}
.header-menu {
    display: flex;
    width: 50%;
    justify-content: flex-end;
    align-items: center;
}
.header-menu-item {
    margin: 0 2%;
}
.header-menu-item a {
    display: block;
}
.header-menu-item a img {
    vertical-align: middle;
}
@media screen and (max-width:768px) {
    .header {
        display: none;
    }
}



.menu-head-box {
    display: none;
    position: relative;
}
.menu-head {
    width: 60px;
    height: 52px;
}


/* drawer */
.drawer-btn,
.drawer-btn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.drawer-btn {
    position: absolute;
    top: 13px;
    left: 7px;
    width: 36px;
    height: 30px;
}
.drawer-btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #a47824;
}
.drawer-btn span:nth-of-type(1) {
    top: 0;
}
.drawer-btn span:nth-of-type(2) {
    top: 12px;
}
.drawer-btn span:nth-of-type(3) {
    bottom: 0;
}

.drawer-btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
}
.drawer-btn.active span:nth-of-type(2) {
    opacity: 0;
}
.drawer-btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(-15px) rotate(45deg);
    transform: translateY(-15px) rotate(45deg);
    bottom: -1px;
}

.drawer-btn {
    display: none;
}

.drawer {
    display: none;
}

@media screen and (max-width:768px) {
    .menu-head-box {
        position: fixed;
        top: 0;
        right: 0;
        display: block;
        z-index: 121;
        background-color: #fff;
    }
    .drawer-btn span {
        position: absolute;
        display: block;
        width: 100%;
        height: 4px;
        background-color: #CB0815;
        transition-duration: 0.3s;
        transition-timing-function: ease-out;
    }
}

@media screen and (max-width:768px) {

    .drawer-btn {
        display: block;
        position: absolute;
        top: 12px;
        left: 10px;
        width: 40px;
        height: 28px;
    }
    .drawer-btn.active {
        top: 13px;
    }

    .drawer {
        background-image: url(../images/full/menu_bg.jpg);
        background-size: cover;
        background-repeat: repeat-y;
        position: fixed;
        overflow-y: scroll;
        top: 0;
        left: 0;
        z-index: 120;
        width: 100%;
        height: 100%;
        -webkit-overflow-scrolling: touch;
        padding: 30% 0 0;
        box-sizing: border-box;
        background-color: #000;
    }

    .drawer-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .drawer-list-item {
        width: 100%;
        opacity: 0;
        -webkit-transform: translate3d(0, -80px, 0);
        transform: translate3d(0, -80px, 0);
        -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
        transition: transform 0.5s, opacity 0.5s;
    }

    .drawer-list-item.active .drawer-list-item-btn {
        color: #A50001;
    }
    .drawer-list-item-btn {
        position: relative;
        display: block;
        width: 90%;
        margin: 0 auto 6%;
        padding: 3% 0;
        font-size: 4vw;
        font-weight: bold;
        text-align: center;
        line-height: 1;
        text-decoration: none;
        color: #CB0815;
        background-color: #FFF;
        transition: .3s;
    }

    .drawer {
        visibility: hidden;
        opacity: 0;
        -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
        transition: opacity 0.5s, visibility 0s 0.5s;
    }
    .drawer.is-open {
        visibility: visible;
        opacity: 1;
        -webkit-transition: opacity 0.5s;
        transition: opacity 0.5s;
        background-color: rgba(255,237,52,.9);
    }
    .drawer.is-open nav ul li {
        opacity: 0;
        -webkit-transform: translate3d(0, -80px, 0);
        transform: translate3d(0, -80px, 0);
        -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
        transition: transform 0.5s, opacity 0.5s;
    }
    .drawer.is-open nav ul:first-child li:first-child {
        -webkit-transition-delay: 0.05s;
        transition-delay: 0.05s;
    }
    .drawer.is-open nav ul:first-child li:nth-child(2) {
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s;
    }
    .drawer.is-open nav ul:first-child li:nth-child(3) {
        -webkit-transition-delay: 0.15s;
        transition-delay: 0.15s;
    }
    .drawer.is-open nav ul:first-child li:nth-child(4) {
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s;
    }
    .drawer.is-open nav ul:first-child li:nth-child(5) {
        -webkit-transition-delay: 0.25s;
        transition-delay: 0.25s;
    }
    .drawer.is-open nav ul li {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .drawer-list-item-txt {
        padding-left: 6px;
    }
    
    .drawer-sns {
        width: 30%;
        margin: auto;
    }
    .drawer-sns-btn {
        display: block;
    }
}



.comment {
    position: relative;
    height: 0;
    padding-top: 101.90%;
    background-image: url(../images/about/comment_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}
.comment-box {
    position: absolute;
    top: 15%;
    left: 0;
    right: 0;
    margin: auto;
    width: 85%;
    max-width: 1115px;
}
.comment-ttl-01 {
    margin-bottom: 6%;
}
.comment-ttl-02 {
    margin-right: -4%;
    margin-bottom: 8%;
}
.comment-penin {
    max-width: 668px;
    margin: auto;
    width: 60%;
}
@media screen and (max-width:768px) {
    .comment {
        padding-top: 214.35%;
        background-image: url(../images/about/comment_bg_sp.jpg);
    }
    .comment-box {
        top: 6%;
    }
    .comment-ttl-02 {
        margin: 0 -7.5% 12%;
    }
    .comment-penin {
        max-width: none;
        width: 100%;
    }
}


.intro {
    position: relative;
    background-color: #FFF;
    z-index: 1;
    overflow: hidden;
}
.intro:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1070px;
    height: 884px;
    margin: auto;
    background-image: url(../images/about/intro_bg_pattern_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}
.intro-ttl {
    position: relative;
    margin-bottom: 2%;
}
.intro-ttl-img {
    position: absolute;
    top: 15%;
    left: 0;
    right: 0;
    margin: auto;
    width: 85%;
    max-width: 1115px;
}
.intro-ttl-img img {
    margin: auto;
    max-width: 788px;
    width: 71%;
}

.intro-wrapper {
    position: relative;
    max-width: 1115px;
    width: 85%;
    margin: auto;
    padding-right: 10%;
    box-sizing: border-box;
    z-index: 3;
}

.intro-cast {
    position: absolute;
    top: -29%;
    right: -18%;
    width: 49%;
    max-width: 546px;
    z-index: -1;
}
.intro-contents-ttl {
    margin-bottom: 2%;
}
.intro-contents-txt {
    font-size: 16px;
    font-weight: 500;
}
@media screen and (max-width:1200px) {
    .intro-cast {
        top: -20%;
        width: 40%;
    }
}
@media screen and (max-width:1000px) {
    .intro-cast {
        top: -13%;
    }
}
@media screen and (max-width:768px) {
    .intro:before {
        top: 9%;
        bottom: auto;
        right: -23%;
        left: auto;
        width: 700px;
        background-image: url(../images/about/intro_bg_pattern_sp.png);
        background-size: contain;
        background-position: top;
    }
    .intro-wrapper {
        width: 90%;
        padding-right: 0;
        padding-bottom: 6%;
    }
    .intro-ttl {
        margin-bottom: 6%;
    }
    .intro-ttl-img {
        top: 4%;
        width: 80%;
        max-width: none;
    }
    .intro-ttl-img img {
        max-width: none;
        width: 100%;
    }
    .intro-cast {
        top: -10%;
        right: -9.5%;
        width: 42%;
        max-width: none;
    }
    .intro-contents-ttl {
        margin-bottom: 6%;
    }
    .intro-contents-txt {
        font-size: 14px;
    }
}
@media screen and (max-width:620px) {
    .intro-cast {
        top: -3%;
        width: 38%;
    }
}
@media screen and (max-width:320px) {
    .intro-cast {
        top: -2%;
    }
}


.gallery-01-bg {
    height: 0;
    padding-top: 56.22%;
    background-image: url(../images/about/gallery_01_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}
@media screen and (max-width:768px) {
    .gallery-01-bg {
        height: 0;
        padding-top: 58.33%;
        background-image: none;
        background-attachment: local;
    }
}



.production {
    background-image: url(../images/about/yellow_bg_pc.jpg);
    background-size: cover;
    background-position: center;
}
.production-ttl {
    position: relative;
    max-width: 1115px;
    width: 85%;
    margin: auto;
    padding: 7% 0 4%;
    z-index: 1;
}
.production-ttl-img {
    max-width: 702px;
    width: 45%;
}
.production-ttl-t {
    position: absolute;
    top: 0;
    left: -11%;
    width: 33%;
    max-width: 368px;
    z-index: -1;
}

.production-list {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1115px;
    width: 85%;
    margin: auto;
    padding-bottom: 10%;
}
.production-list-item {
    position: relative;
    width: 49%;
    margin-bottom: 2%;
}
.production-list-item:before {
    content:"";
    display:inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height:60px;
    background: url(../images/about/modal_btn_y.png) no-repeat;
    background-size:contain;
    z-index: 1;
}
.production-list-item a {
    display: block;
}
.production-list-item a:hover {
    opacity: 1;
}
.production-list-item a img {
    -webkit-filter: grayscale(0);
    filter: none;
    filter: grayscale(0);
    transition: .3s;
}
.production-list-item a:hover img {
    -webkit-filter: grayscale(1);
    filter: gray;
    filter: grayscale(1);
}
@media screen and (max-width:768px) {
    .production-ttl {
        width: 75%;
        padding: 10% 0 8%;
    }
    .production-ttl-img {
        max-width: none;
        width: 100%;
    }
    .production-ttl-t {
        left: -12%;
        width: 48%;
        max-width: none;
    }
    .production-list {
        width: 90%;
        padding-bottom: 20%;
    }
    .production-list-item {
        width: 100%;
        margin-bottom: 5%;
    }
    .production-list-item:before {
        width: 40px;
        height: 40px;
    }
}


.gallery-02 {
    position: relative;
    margin-top: -10%;
    margin-bottom: -5%;
    z-index: 1;
}
@media screen and (max-width:768px) {
    .gallery-02 {
        margin-top: -15%;
        margin-bottom: 0;
    }
}


.profiles {
    position: relative;
    background-image: url(../images/about/yellow_bg_pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: repeat-y;
    overflow: hidden;
}
.profiles:before {
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 112.65%;
}
.profiles:after {
    content: "";
    position: absolute;
    bottom: 0;
    left:0;
    right: 0;
    display: block;
    width: 100%;
    height: 1100px;
    margin: auto;
    background-image: url(../images/about/profiles_bg_t_pc.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.profiles-wrapper {
    position: relative;
    z-index: 1;
    max-width: 1115px;
    margin: auto;
    padding: 0 0 6%;
}
.profiles-ttl {
    position: relative;
    max-width: 1115px;
    width: 85%;
    margin: auto;
    padding: 7% 0 0;
    z-index: 1;
}
.profiles-ttl-img {
    max-width: 274px;
    width: 45%;
}
.profiles-ttl-t {
    position: absolute;
    top: 0;
    left: -11%;
    width: 33%;
    max-width: 368px;
    z-index: -1;
}

.profiles-list {
    padding-bottom: 1%;
}
.profiles-list-item {
    outline: none;
    min-height: 651px;
}
.profiles-list-item-01 {
    background-image: url(../images/about/profiles_list_bg_01.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-02 {
    background-image: url(../images/about/profiles_list_bg_02.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-03 {
    background-image: url(../images/about/profiles_list_bg_03.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-04 {
    background-image: url(../images/about/profiles_list_bg_04.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-05 {
    background-image: url(../images/about/profiles_list_bg_05.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-06 {
    background-image: url(../images/about/profiles_list_bg_06.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-07 {
    background-image: url(../images/about/profiles_list_bg_07.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-list-item-08 {
    background-image: url(../images/about/profiles_list_bg_08.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
.profiles-details {
    width: 52%;
    padding: 8% 0 6% 6%;
    box-sizing: border-box;
}
.profiles-details-headline {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 20px;
    font-weight: 600;
    color: #FFF;
}
.profiles-details-name {
    font-size: 33px;
    font-weight: 700;
    color: #FFED34;
}
.profiles-details-txt {
    font-size: 14px;
    text-align: justify;
    font-weight: 500;
    letter-spacing: -.02em;
    color: #FFF;
}

.slick-dots {
    bottom: -2%;
    display: flex;
}
.slick-dots li {
    width: 12%;
    transition: .3s;
}
.slick-dots li:hover {
    opacity: .7;
}

.profiles-directed {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    padding: 16% 0 4%;
}
.profiles-directed-img {
    width: 44%;
}
.profiles-directed-details {
    width: 51%;
}
.profiles-directed-details-headline {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    color: #000;
}
.profiles-directed-details-name {
    padding: 12px 0;
    font-size: 33px;
    font-weight: 700;
    line-height: 1;
    color: #000;
}
.profiles-directed-details-txt {
    font-size: 14px;
    text-align: justify;
    font-weight: 500;
    color: #000;
}
@media screen and (max-width:768px) {
    .profiles:before {
        padding-top: 275.8%;
    }
    .profiles:after {
        height: 1100px;
        background-image: url(../images/about/profiles_bg_t_sp.png);
    }
    .profiles-ttl {
        width: 90%;
        padding: 15% 0 10%;
    }
    .profiles-ttl-img {
        max-width: none;
        width: 35%;
        margin: auto;
    }
    .profiles-ttl-t {
        top: 4%;
        right: 6%;
        margin: auto;
        width: 54%;
        max-width: none;
    }
    .profiles-wrapper {
        width: 90%;
    }
    .profiles-list-sp {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .profiles-list-sp-item {
        width: 49.5%;
        margin-bottom: 1%;
    }
    .profiles-directed {
        display: block;
        width: 90%;
        margin: auto;
    }
    .profiles-directed-img {
        width: 100%;
        padding-bottom: 4%;
    }
    .profiles-directed-details {
        width: 100%;
    }
    .profiles-directed-details-headline {
        text-align: center;
    }
    .profiles-directed-details-name {
        padding: 2% 0 6%;
        text-align: center;
        font-size: 25px;
    }
    .profiles-directed-details-txt {
        line-height: 2;
    }
}



.last-scene {
    position: relative;
    height: 0;
    padding-top: 66.54%;
    background-image: url(../images/about/last_scene_bg_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #000;
}
.last-scene-box {
    position: absolute;
    top: 10%;
    left: 0;
    right: 0;
    margin: auto;
    width: 85%;
    max-width: 1115px;
}
.last-scene-box-img {
    max-width: 418px;
    width: 38%;
}
.last-scene-box-txt {
    font-size: 13px;
    color: #FFF;
}
@media screen and (max-width:768px) {
    .last-scene {
        padding-top: 190.56%;
        background-image: url(../images/about/last_scene_bg_sp.jpg);
    }
    .last-scene-box {
        top: auto;
        bottom: 8%;
    }
    .last-scene-box-img {
        width: 92%;
    }
}










