@charset "UTF-8";
/*スマホ用
----------------------------------*/
/*@media only screen and (max-width: 1035px) {
  .FEATURE-box .text {width: 100%;}
.FEATURE-box .right {width: 100%;}
.FEATURE-box .left {width: 100%;}  
}*/

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

header .head {background: #fff;}
header .read {font-size: 20px;}
header .contents {display: none;}
header .sp-logo-box {display: block;}
header .sp-logo-box h1 {width: 100%; text-align: center; padding: 40px 0; background: #2f373a;}
header .slide-area {padding: 0; background-size: 310%; height: 100vh; animation: none;}
header .slide-area .read {top: 175px;}
.scroll {bottom: 15%;}
.scroll img {width:35px;}
.contents ul.NEWS-area li span {margin-bottom: 15px; display: block;}
.contents {width: 90%; margin:0 5%;}
br.sp-br {display: block;}

header h1.sp-index-logo {width: 100%; position: absolute; float: none; z-index: 999; text-align: center; padding: 100px 0;}
header .sp-navi {display: block;}
.sp-zone {display: block;}
.pc-zone {display: none;}










.page-content.works-archive.works-single .piczoom {
    z-index: -1;
}





/*btn-navi*/
.Btn-navi {padding: 10px 5px; right: 10px; bottom: 60px; position: fixed; background: #333; width: 40px; display:block; line-height:1em; z-index:9999; transition: .3s;}
.Btn-navi .name {font-weight: bold; position: relative; bottom: -25px; vertical-align:middle; text-align:center; color:#ffffff; font-size:7.3px; line-height: 1em; }
.Btn-navi .menuBtn {display: inline-block; position: relative; width: 40px; height:30px;}
.menu-icon {display: block; position: absolute; top: 20%; left: 50%; width: 24px; height: 2px; margin: -1px 0 0 -12px; background: #ffffff; transition: .2s;}
.menu-icon:before,.menu-icon:after {display: block; content: ""; position: absolute; top: 50%; left: 0; width: 24px; height: 2px; background: #ffffff; transition: .3s;}
.menu-icon:before {margin-top: -8px;}
.menu-icon:after {margin-top: 6px;}
.menuBtn:hover .menu-icon:before {margin-top: -10px;}
.menuBtn:hover .menu-icon:after {margin-top: 8px;}
.Btn-navi.close .name { color:#ffffff; overflow: hidden; left: 0px; width: 100%; font-size: 7.3px; line-height: 10px; text-align: center; font-weight: bold; height: 8px;}
.Btn-navi.close .name:before {display: block; content: 'CLOSE'; overflow: hidden; margin-right: 20px: }
.Btn-navi.close .menu-icon:before,.Btn-navi.close .menu-icon:after {background: #ffffff;}
.Btn-navi.close .menuBtn .menu-icon {background: transparent;}
.Btn-navi.close .menuBtn .menu-icon:before, .Btn-navi.close .menuBtn .menu-icon:after {margin-top: 0;}
.Btn-navi.close .menuBtn .menu-icon:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
.Btn-navi.close .menuBtn .menu-icon:after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg);}
#mainhead .Btn-navi{ position: absolute; left:5px; top:5px; }
#mainhead .Btn-navi.close { opacity: 0; display: none;}
#fixBtn-navi {position: fixed;  width: auto; bottom: 20px; right:15px;}
#fixBtn-navi.Btn-navi .menuBtn { display: block; background-color:#333; border-radius: 10px; padding:10px 0px 0px;}
#fixBtn-navi.Btn-navi .menuBtn .menu-icon {margin-top: -6px;}
#fixBtn-navi .menu-icon,#fixBtn-navi .menu-icon:before,#fixBtn-navi .menu-icon:after {background-color: #ffffff;}
#fixBtn-navi .menu-icon:before{margin-top: -7px;}
#fixBtn-navi .menu-icon:after {margin-top: 5px;}
#fixBtn-navi.close .menu-icon:before,#fixBtn-navi.close .menu-icon:after {margin-top: 0;}
#fixBtn-navi.close .menu-icon {background: transparent;}
#fixBtn-navi .name { color: #ffffff; display: block; position: relative; left:0px; bottom: -17px;}
#fixBtn-navi .name:before { display: inline; content: 'MENU';}
#fixBtn-navi.close .name:before { display: inline; content: 'CLOSE';}
#fixBtn-navi.close .name { color: #ffffff;}
#cavor.Btn-navi {width: 100%; height: 100%; position: fixed; top:0px; left: -100%; transition:0s;  z-index: 999;}
#cavor.Btn-navi .menuBtn {display:block; width: 100%; height: 100%; background:rgba(255,255,255,0.6); }
#cavor.close { left: 0px; }
.navi {
    background-color: #fff; /*メニュー背景色*/
    box-sizing: border-box;
    height: 100%;
    padding: 10px 40px; /*メニュー内部上下左右余白*/
    position: fixed;
    left: -40%; /*メニュー横幅①と合わせる*/
    top: 0;
    transition: .2s; /*0.3s は変化するのにかかる時間*/
    width: 40%; /*メニュー横幅①*/
    z-index: 1000;
}
.Btn-navi:hover + .navi-background {
    opacity: 0.5; /*黒背景部分透過度*/
    z-index: 999;
}
/*.navi-background {width: 100%; height: 100%; position: fixed; top: 0px; left: 0%; transition: 0s; z-index: 999;}*/
.navi-background a.background-btn{display: block; width: 100%; height: 100%; background: rgba(255,255,255,0.6);}
.navi.open { left: 0; }
.navi-background {z-index: 999; display: none; position: fixed; width: 100%; height: 100%; top: 0; left:0; }
.navi-background.open {display: block; background: rgba(255,255,255,0.6); }
.navi.open {padding-bottom: 10px; padding-top: 30px; text-align: center;}
.navi.open ul li {font-size: 14px; margin-bottom: 25px;}

.Btn-navi_first {padding: 5px; background: #816a29; width: 40px; display:none; line-height:1em; z-index:9999; transition: .3s;}
.Btn-navi_first .name { vertical-align:middle; text-align:center; color:#ffffff; font-size:7.3px; line-height: 1em; }
.Btn-navi_first .menuBtn {display: inline-block; position: relative; width: 40px; height:30px;}
/*footer .navi ul {display: block; padding: 30px 0px;}*/
footer .navi ul {
    font-size: 12px;
    height: 280px;
    overflow: auto;
    /* background-color: #FFF; */
    padding: 10px 10px;
    margin-bottom: 15px;
    /* border: 1px solid #CCC; */
    display: block;
    padding: 30px 0px;
}






header .top-menu {display: none;}

footer.top {position: relative; width: 90%; margin: auto; height: auto; bottom: 0vh; padding-bottom: 5%;}



footer.top .footer-wrap {height: auto;}
footer.page {position: relative; width: 90%; margin: auto; height: auto; padding: 0 5%; z-index: -1;}
footer .fnavi {display: none;}
footer .address {font-size: 16px; line-height: 1.5em; margin-top: 10px;}

.top-img {position: relative; background-color: #000;}
.top-img .bx-wrapper {opacity: 0.7;}
.top-img {height: 90vh !important;}
.top-img .bx-viewport {height: 90vh !important;}
.top-img h1.sp-zone {position: absolute; width: 65%; margin: auto; top: 45vh; left: 0; right: 0;}
.top-img h1.sp-zone img {width: 100%; height: auto;}

.navi {background: rgba(255,255,255,0.8);}
.navi-background.open {background: rgba(0,0,0,0.1);}
header.page .navi-background.open {background: rgba(0,0,0,0.4);}
.navi.open ul li {text-shadow: 0px 0px 5px #aaa; font-size: 20px; margin-bottom: 25px; text-align: left;}
.navi.open ul li a {color: #333; font-weight: 600; font-size: 14px;}
.Btn-navi {box-shadow: 0px 0px 10px rgba(0,0,0,0.4);}
#pagetop {display: none !important;}
.page-content .wrap .title-zone .company {left: 0px;}
.page-content .wrap .title-zone .company h1 {font-size: 14px;}
.page-content .wrap .title-zone h2 {font-size: 7vw;}



.page-content {margin-left: 0; width: 100%;}
.page-content .wrap .content-wrap {width: 90%; padding: 0; margin: auto;}
.page-content .wrap .concept-content {width: 100%;}

.page-content .wrap .concept-content h3 {font-size: 23px;}
.page-content .wrap .concept-content .concept-flex {display: block;}
.page-content .wrap .concept-content .concept-flex .text {width: 100%; margin-bottom: 30px;}
.page-content .wrap .concept-content .concept-flex .photo {width: 60%; margin: auto;}




#profile .page-content .wrap .content-wrap .left {width: 100%; margin-left: 0; float: none; width: 40%; margin: auto auto 30px auto;}
#profile .page-content .wrap .content-wrap .left img {width: 100%;}
#profile .page-content .wrap .content-wrap .right {width: 100%; margin-left: 0; float: none;}



.page-content.works-archive .worksbox {width: 48%;}
.page-content.works-archive.works-single .piczoom {width: 80%; padding: 10%;}
.page-content.works-archive.works-single .thumbwrap .thumb {width: 19%;}

#publArea .publBoxWrap {width: 100%;}
#publArea .publBoxWrap .publBox {width: 100%; margin: 0;}
#publArea .publBoxWrap .publBox .publImg {margin: 0 auto 15px auto;}
#publArea .publBoxWrap .publBox {margin: 0 0 60px 0;}
#publArea .publBoxWrap .publBox .publImg img {max-height: 83%;}
.page-content .wrap .concept-content dl {z-index: 1; /*z-index: -1;*/}



#publArea .publBoxWrap .publBox .publImg a img {

}


#flowArea .flowBox .flowL {float: none; width: 95%; margin-bottom: 30px;}
#flowArea .flowBox .flowR {width: 40%; margin: auto; float: none;}
#flowArea .flowBox .flowR img {width: 100%; height:auto;}



.page-content .wrap .concept-content .policy {text-align: left;}
.page-content .wrap .concept-content .policy a {color: #ff0000;}
#policy .page-content .wrap .concept-content h3 {font-size: 5vw;}
#policy #c13 {margin-bottom: 60px;}
#policy #c14 p {margin-bottom: 60px;}





#works .page-content .wrap .content-wrap {width: 90%; padding: 0;}
.page-content.works-archive .wbcss a {}
.page-content.works-archive .wbcss a img {max-width: 100%;
    max-height: 100%;}





body.open .page-content.movie_interview .wrap .concept-content .movie-item iframe {
    z-index: -1;
}

body.open #publArea .publBoxWrap .publBox {
    z-index: -1;
}

body.open #publArea .publBoxWrap .publBox .publImg {
    z-index: -1;
}

.page-content .wrap .concept-content dl {

}




.toppage .bloglist {
position: static;
margin-bottom: 10%;
}
.toppage .bloglist ul {
    display: block;
}
.toppage .bloglist ul li {
    width: 100%;
    border-bottom: 1px solid #aaa;
}
.toppage .bloglist ul li:last-child {
    border-bottom: none;
}
.toppage .bloglist ul li a {
padding: 2.5%;
width: 88%;
display: block;
}
.toppage .bloglist ul li a:after {
    top: 20%;
}

body.toppage {
    height: 90vh;
    overflow: scroll;
}
.top-img ul.bxslide li:nth-child(1) {background: url(../images/backgraund-bg04sp.png) no-repeat 50% 0px; width: 100%; height: 100vh; opacity: 1.0; background-size: 75vh; background-position: bottom 20% !important; background-repeat: no-repeat; background-attachment: fixed; z-index: -1 !important;}
.top-img ul.bxslide li:nth-child(2) {background: url(../images/backgraund-bg02sp.png) no-repeat 50% 0px; width: 100%; height: 100vh; opacity: 1.0; background-size: 75vh; background-position: bottom 20% !important; background-repeat: no-repeat; background-attachment: fixed; z-index: -1 !important;}
.top-img ul.bxslide li:nth-child(3) {background: url(../images/backgraund-bg03sp.png) no-repeat 50% 0px; width: 100%; height: 100vh; opacity: 1.0; background-size: 75vh; background-position: bottom 20% !important; background-repeat: no-repeat; background-attachment: fixed; z-index: -1 !important;}
.top-img ul.bxslide li:nth-child(4) {background: url(../images/backgraund-bg01sp.png) no-repeat 50% 0px; width: 100%; height: 100vh; opacity: 1.0; background-size: 75vh; background-position: bottom 20% !important; background-repeat: no-repeat; background-attachment: fixed; z-index: -1 !important;}
.top-img ul.bxslide li:nth-child(5) {background: url(../images/backgraund-bg05sp.png) no-repeat 50% 0px; width: 100%; height: 100vh; opacity: 1.0; background-size: 75vh; background-position: bottom 20% !important; background-repeat: no-repeat; background-attachment: fixed; z-index: -1 !important;}
.top-img ul.bxslide li:nth-child(6) {background: url(../images/backgraund-bg06sp.png) no-repeat 50% 0px; width: 100%; height: 100vh; opacity: 1.0; background-size: 75vh; background-position: bottom 20% !important; background-repeat: no-repeat; background-attachment: fixed; z-index: -1 !important;}




.page-content .wrap .concept-content ul.bloglist li .img {margin-right: 20px;}
.page-content .wrap .concept-content ul.bloglist li .inWrap {display: block;}
.page-content.movie_interview .wrap .concept-content .movie-item {
            padding-top: 65%;
}
.page-content.movie_interview .wrap .concept-content .movie-item iframe {
    height: 95%;
}

.page-content.movie_interview .wrap .concept-content .movie h4 {
        font-size: 3.5vw;
}

.page-content.movie_interview .wrap .concept-content .movie-item {
    width: 100%;
}
.page-content.movie_interview .wrap .concept-content .archive {
    display: block;
}
.page-content.movie_interview .wrap .concept-content .archive li {
    width: 100%;
    margin-bottom: 10%;
}





}
@media only screen and (max-width: 680px) {
header h1.sp-index-logo {padding: 100px 0;}
header .slide-area .read {top: 175px;}
}
@media only screen and (max-width: 480px) {
    
}
@media only screen and (max-width: 320px) {
    
}