@charset "UTF-8";

* {margin:0;padding:0;}

html{height:100%; margin:0; padding:0;}

body{
  min-height:100%;
  margin:0;
  padding:0; 
}

#wrapper {width:100%;height:100%;min-height:100%;}

body > #wrapper {height: auto;}


body {
  line-height:1.5rem;
  font-size: 1rem;
  margin:0;
  padding:0;
  min-width:1300px;
  overflow-x:hidden;
  position: relative;
  background-color: #fccc0d;
}
body img{
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
}
body a.hover:hover{
  opacity: 0.6;
}

*:focus{outline: none;}
img{vertical-align: bottom;}



body {
	font-family: -apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
               'Helvetica Neue', /* Macの欧文 (OS X 10.10以前) */
               'Segoe UI',       /* Windowsの欧文 */
               YuGothicM,        /* Windows8.1以上は游ゴシック */
               YuGothic,         /* Macの游ゴシック */
               Meiryo,           /* 游ゴシックが入っていないWindows */
               sans-serif;
 	font-weight: 500;
}

/* IE8〜11はメイリオ */
@media screen\0 {
  body {
    font-family: 'Segoe UI', /* Windowsの欧文 */
                 Meiryo,     /* メイリオ */
                 sans-serif;
  }
}

/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local('YuGothic-Medium'),  /* Mediumを明示的に指定 */
       local('Yu Gothic Medium'), /* Chrome用 */
       local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local('YoGothic-Bold'), /* Boldはそのまま */
       local('Yu Gothic');     /* Chrome用 */
}


/* -------- loading --------  */

#loader {
	width: 80px;
	height: 80px;
	display: none;
	position: fixed;
	_position: absolute; /* IE6対策 */
	top: 50%;
	left: 50%;
	margin-top: -40px; /* heightの半分のマイナス値 */
	margin-left: -40px; /* widthの半分のマイナス値 */
	z-index: 100;
}
	 
#fade {
	width: 100%;
	height: 100% !important;
	display: none;
	background-color: #fdb82f; /* fadeの背景色 */
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 50;
}



/* Common */

ul,li{list-style:none;}

.clear {
	clear: both;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.nodisp {
	display: none;
}

.hide {
	font-size:0px;
	line-height:0px;
	text-indent:100%;
	white-space:nowrap;
	color:transparent;
	overflow: hidden;
}

.alphaBnr a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.ml-5{margin-left:-5px;}

.mt-10{margin-top:-10px;}

.mt-15{margin-top:-15px;}

.mt-20{margin-top:-20px;}

.mt-40{margin-top:-40px;}

.mt-60{margin-top:-60px;}

.mt-80{margin-top:-80px;}

.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}

.ml-30{margin-left:-30px;}

.ml15{margin-left:15px;}

.ml60{margin-left:60px;}

.ml70{margin-left:70px;}

.mb10{margin-bottom:10px;}

.mb20{margin-bottom:20px;}

.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb70{margin-bottom:70px;}
.mb80{margin-bottom:80px;}
.mb90{margin-bottom:90px;}

.pb10{padding-bottom:10px;}
.pb16{padding-bottom:16px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb50{padding-bottom:50px;}

.pl_100{padding-left:100px;}

.tac{
  text-align: center;
}


.fadeOut {
    -webkit-animation: fadeOut .5s cubic-bezier(.55,0,.1,1) both;
    animation: fadeOut .5s cubic-bezier(.55,0,.1,1) both;
}
.fadeIn {
    -webkit-animation: fadeIn .5s cubic-bezier(.55,0,.1,1) both;
    animation: fadeIn .5s cubic-bezier(.55,0,.1,1) both;
}

@-webkit-keyframes fadeOut { to { opacity: 0; -webkit-transform: scale(1.2); }}
@keyframes fadeOut { to { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2); }}
@-webkit-keyframes fadeIn { from { opacity: 0; -webkit-transform: scale(.8); }}
@keyframes fadeIn { from { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8); }}





.wrap{
  position: relative;
  opacity: 0;
  -webkit-backface-visibility:hidden;
  backface-visibility: hidden;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.wrap.is-show{
  opacity: 1;
}
.wrap img{
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
}
.wrap a.hover:hover{
  opacity: 0.6;
}

.header{
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  min-width:1300px;
  background-color: #eb6100;
  display: flex;
  align-items: center;
  padding-left: 5px;
}
.is-home .header{
  position: absolute;
}
.headerTxt{
  width: 500px;
}
.headerTxt a:hover img{
  opacity: 0.6;
}
.headerSoundNav{
  margin-right: 10px;
  display: flex;
}
.headerSoundNav dl{
  background-color: #ffa800;
  display: flex;
  align-items: center;
  border-radius: 100px;
  padding: 0 20px;
  line-height: 0;
}
.headerSoundNav dd{
  margin-left: 5px;
  position: relative;
}
.headerSoundNav dd:nth-child(3){
  margin-left: 15px;
}
.headerSoundNav dd:nth-child(3):before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -9px;
  margin: auto;
  background:url(../img/home/img_header_sound.svg) 0 0 no-repeat;
  background-size: 100%;
  width: 5px;
  height: 5px;
}
.headerSoundNav dl a{
  padding: 3px 0;
  display: block;
  border-bottom: #ffa800 2px solid;
}
.headerSoundNav dl .is-current{
  border-bottom: #fff 2px solid;
}
.headerSoundNavIcon{
  width: 44px;
  margin-right: 10px;
}
.headerSoundNavIcon img{
  width: 44px;
}
.headerSnsNav ul{
  display: flex;
}
.headerSnsNav ul li{
  /*width: 6.92vw;*/
}
.headerSnsNav ul li img{
  height: 62px;
}
.headerGnav{
  /*width: 642px;*/
  margin-right: auto;
  margin-left: auto;
}
.headerGnavUl{
  display: flex;
  height: 44px;
  font-size: 0;
  border-right: #ff9600 1px solid;
}
.headerGnavItem{
  border-left: #ff9600 1px solid;
  height: 44px;
  position: relative;
}
.headerGnavItem:nth-child(2):before{
  content:"";
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin-right: auto;
  margin-left: auto;
  width: 18px;
  height: 15px;
  background:url(../img/common/icon_current.svg) 0 0 no-repeat;
  background-size: 100%;
}
.headerGnavItem > span,
.headerGnavItem > a{
  display: flex;
  align-items: center;
  height: 44px;
  padding: 0 12px;
}
.headerGnavItem > span img,
.headerGnavItem > a img{
  vertical-align: middle;
}
.headerGnavItem > a:hover img{
  opacity: 0.6;
}
.headerSnav{
  position: absolute;
  top: 62px;
  left: 0;
  width: 100%;
  z-index: 20;
  background-color: #ff9600;
}
.headerSnavUl{
  display: flex;
  justify-content: center;
  height: 44px;
  font-size: 0;
}
.headerSnavItem{
  height: 44px;
  position: relative;
}
.headerSnavItem > a{
  display: flex;
  align-items: center;
  height: 44px;
  padding: 0 15px;
  position: relative;
}
.headerSnavItem > a img{
  vertical-align: middle;
  width: auto;
  height: 18px;
}
.headerSnavItem > a:hover img{
  opacity: 0.6;
}
.headerSnavItem.is-current > a:before{
  content:'';
  position: absolute;
  left: 0;
  right: 0;
  margin-right: auto;
  margin-left: auto;
  bottom: 8px;
  width: 85%;
  height: 3px;
  background-color: #fccc0d;
}



.container{
  display: flex;
  min-width:1300px;
  min-height: 100vh;
  /*background-color: #fccc0d;*/
  position: relative;
  z-index: 10;
}

.gNav{
  width: 20.7vw;
  padding: 72px 1.7vw 0 1.9vw;
  background-color: #ffa800;
}
.gNav .gNavLogo{
  width: 40vw;
}

.gNav .gNavInner{
  padding-top: 0.5vw;
  position: relative;
}

.gNav .gNavInner .bnrPia{
  width: 40vw;
  left:0;
  top:6px;
  position: absolute;
  z-index: -1;
}

.gNav .gNavMain{
  padding-top: 1vw;
  z-index: 12;
}
.gNav .gNavMain li{
  border-bottom: #fff 2px dotted;
}
.gNav .gNavMain li a{
  display: block;
  padding: 8px 0;
}
.gNav li.gNavItem3 a{
  padding: 11px 0;
}
.gNav .gNavBnr{
  padding-top: 1vw;
}
.gNav .gNavBnr li{
  padding-top: 8px;
  text-align: center;
}
.gNav .gNavBnr li.small img{
  width: 200px;
}

.gNav .gNavBnr2{
  padding-top: 1vw;
}
.gNav .gNavBnr2 li.frt_r{
  float:right;
  width: 48%;
  padding-bottom: 8px
}
.gNav .gNavBnr2 li.frt_l{
  float:left;
  width: 48%;
  padding-bottom: 8px 
}

.content{
  padding-top: 62px;
  padding-bottom: 5.8vw;
  flex:1;
  position: relative;
}
.content .contentSns{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 1.4vw;
  margin: auto;
  width: 12.8vw;
}
.content .contentSns dt{
  padding-right: 0.2vw;
}
.content .contentSns dd{
  padding: 0 0.2vw;
}
.content .contentKv{
  width: 47vw;
  min-width:680px;
  margin: auto;
}
.content .contentTxt{
  padding-top: 1vw;
  width: 40vw;
  min-width:620px;
  margin: auto;
}
.content .contentImg1{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 23vw;
}
.content .contentImg2{
  position: absolute;
  right: 0;
  bottom: 0;
  width: 24.6vw;
}
.content .contentBnr{
  position: absolute;
  right: 8px;
  top: 80px;
  width: 179px;
}
.content .contentBnr li{
  padding-bottom: 10px;
}
.content .contentBnr2{
  position: absolute;
  top: 490px;
  right: 8px;
  width: 179px;
  padding: 18px 0 12px;
  line-height: 0;
}
.content .contentBnr2 li{
  padding: 2px 0;
}
.content .slick-prev{
  position: absolute;
  top: -12px;
  left: 0;
  background: url(../img/home/bt_pagenation_1.svg) no-repeat;
  background-size: 100%;
  width: 179px;
  height: 16px;
}
.content .slick-next{
  position: absolute;
  top: auto;
  right: auto;
  bottom: -28px;
  left: 0;
  background: url(../img/home/bt_pagenation_2.svg) no-repeat;
  background-size: 100%;
  width: 179px;
  height: 16px;
}
.content .slick-next:before,
.content .slick-prev:before{
  display: none;
}

.content .slick-prev:focus,
.content .slick-prev:active,
.content .slick-prev:hover{
  background: url(../img/home/bt_pagenation_1.svg) no-repeat;
  background-size: 100%;
}
.content .slick-next:focus,
.content .slick-next:active,
.content .slick-next:hover{
  background: url(../img/home/bt_pagenation_2.svg) no-repeat;
  background-size: 100%;
}

.splash{
  min-width:1300px;
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: #fccc0d;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /*opacity: 0;*/
}
/*.splash.is-show{
  opacity: 1;
}*/
.splash .splashTit{
  width: 36vw;
  margin: 0 auto;
  text-align: center;
}
.splash .splashTxt{
  width: 28vw;
  margin: 0 auto;
  padding: 45px 0;
  text-align: center;
}
.splash .splashNav{
  display: flex;
  margin: 0 auto;
}
.splash .splashNav li{
  width: 7.7vw;
  margin: 0 40px;
  text-align: center;
}



/* -------- 作品紹介modal --------  */
.aboutWrap{
  /*display:block; background: transparent; width: auto; height:100vh; margin : 0 auto; text-align: center;*/
  width: 1060px;
  height: 680px;
  overflow: hidden;
  
}

.aboutBoxScroll{
  width: 1090px;
  height: 680px;
  overflow-y: scroll;
  
}

.aboutBox{
  display:block;
  width:1024px;
  height: 1200px;
  margin:80px auto 0 auto;
  padding:0;
  text-align: center;
  background: #fabe00  url(../img/intro/photo.png) left top no-repeat;
  border: 3px solid #fff;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  -o-border-radius: 20px;
  -ms-border-radius: 20px; 
  position:relative;}

.aboutBox .mainCopy{
  margin-top:330px;
}

.aboutBox div.aboutText{
  display:block;
  width:860px;
  height:auto;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  color:#000;
}

.aboutText p{
  font-size: 16px;
  line-height: 24px;
  text-align:justify;
  text-justify: distribute-all-lines;}

.containerWrap{
  position: relative;
}
.containerOverlay{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 11;
  background: #fccc0d url(ajax-loader.gif) center center no-repeat;
  -webkit-background-size: 100px;
  background-size: 100px;
  display: none;
}




/* intro
================================================================================*/
body.is-intro{
  background: #fccc0d url(../about/img/intro/bg_1.png) center 200px no-repeat fixed;
}

.intro{
  margin-top: 106px;
  margin-right: auto;
  margin-left: auto;
  width: 1200px;
  background-color: rgba(255,255,255,0.6);
  padding-bottom: 50px;
}
.introInner{
  width: 1060px;
  margin-right: auto;
  margin-left: auto;
}
.introInner h2{
  width: 1104px;
}
.introInner p{
  line-height: 1.8;
}
.introInner .img1{
  text-align: center;
}
.introInner .txt1{
  padding: 0 40px;
}






/* staff
================================================================================*/
body.is-staff{
  background: #fccc0d url(../about/img/staff/img_4.png) right 30px bottom 30px no-repeat fixed;
}


.staff{
  margin-top: 106px;
  margin-right: auto;
  margin-left: auto;
  width: 1200px;
  background-color: rgba(255,255,255,0.6);
  padding-top: 90px;
  padding-bottom: 50px;
}
.staffInner{
  width: 960px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
.staff img{
  width: auto;
  max-width:100%;
}
.staff .img1{
  position: absolute;
  top: -40px;
  left: -84px;
}
.staff .img2{
  margin-top: -210px;
  margin-left: 15px;
  float: right;
}
.staff .img3{
  padding:0 40px;
  margin-bottom: 20px;
  text-align: center;
}
.staff .img3 img{
  width: 140px;
  display: inline;
}
.staff .img4{
  padding:0 40px;
  margin-bottom: 80px;
  text-align: center;
}
.staff .img4 img{
  width: 220px;
  display: inline;
}
.staff .txt1{
  padding:0 20px;
  font-size: 14px;
  line-height: 1.7;
  position: relative;
  text-align: center;
}
.staff .txt1 span{
  padding:0 10px;
  display: inline-block;
  border-right: #000 1px solid;
  border-left: #000 1px solid;
}
.staff .txt2{
  line-height: 1.7;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}
.staff .txt3{
  margin-bottom: 80px;
  line-height: 1.8;
  text-align:justify;
}
.staff .txt4{
  padding-top: 130px;
  line-height: 1.8;
  width: 460px;
}
.staff .box{
  display: flex;
  justify-content: space-between;
}
.staff .boxItem{
  width: 450px;
}
.staff .box2{
  display: flex;
  justify-content: space-between;
  margin-bottom:20px;
}
.staff .box2Item:nth-child(1){
  width: 400px;
}
.staff .box2Item:nth-child(2){
  flex: 1;
}




/* interview
================================================================================*/
body.is-interview {
}
body.is-interview .container{
  display: block;
}

.interviewWoman{
  background: url(../about/img/interview/img_8.png) 50% 0 fixed;
  display: block;
  width: 100%;
  height: auto;
}
.interviewMan{
  background: url(../about/img/interview/img_9.png) 50% 0 fixed;
  display: block;
  width: 100%;
  height: auto;
  position: relative;
}
.interview{
  margin-top: 106px;
  margin-right: auto;
  margin-left: auto;
  width: 1200px;
  background-color: rgba(255,255,255,0.6);
  padding-bottom: 50px;
  position: relative;
  z-index: 3;
}
.interviewMan .interview{
  margin-top: 0;
}
.interviewInner{
  width: 980px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
.interview p{
  line-height: 1.8;
}
.interview .img1{
  position: absolute;
  top: 5px;
  left: 20px;
}
.interview .img2{
  padding-bottom: 10px;
}
.interview .img3{
  position: absolute;
  top: -150px;
  left: 0;
}
.interview .img4{
  float: right;
  margin-left: 20px;
  margin-top: -40px;
}
.interview .img5{
  float: right;
  margin-left: 20px;
  margin-top: 0;
}
.interview .tit1,
.interview .tit2{
  font-weight: 900;
  color: #b4135b;
  font-size: 17px;
  line-height: 1.4;
  margin-top: 50px;
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em;
}
.interview .tit2{
  color: #0780cc;
}
.interview .txt1{
  display: flex;
  margin-bottom: 10px; 
}
.interview .txt1 dt{
  font-weight: 800;
  width: 50px;
  position: relative;
}
.interviewMan .interview .txt1 dt{
  width: 65px;
}
.interview .txt1 dd{
  flex: 1;
  padding-left: 2px;
  padding-bottom: 10px;
  line-height: 1.6;
}
.interview .txt1 dt:after{
  content:'：';
  position: absolute;
  right:0;
  top: 0;
}
.interview .tumabuki,
.interview .natukawa{
  color: #00b1eb;
}
.interview .yoshiyuki{
  color: #ca54c9;
}
.interview .nishimura,
.interview .aoi{
  color: #ff7200;
}
.interview .nakajima,
.interview .hayashiya{
  color: #ff5696;
}
.interview .hashidume{
  color: #009b19;
}
.interview .copy{
  margin-top: 50px;
}


/* cast
================================================================================*/
body.is-cast{
  background: #fccc0d url(../about/img/cast/bg_1.png) center 70px;
  background-size: auto 100%;
}
.cast{
  margin-top: 106px;
  margin-right: auto;
  margin-left: auto;
  width: 1200px;
  min-height: 877px;
  padding-top: 10px;
  background: url(../about/img/cast/bg_2.png) center 0 no-repeat;
  position: relative;
}
.castInner{
}
.cast img{
  width: auto;
  max-width:100%;
}
.cast h2{
  width: auto;
  max-width:100%;
}
.cast .txt1{
  padding: 20px 0 0 70px;
}
.cast a:hover img{
  opacity: 0.6;
}
.cast .img1{
  position: absolute;
  top: 128px;
  left: 422px;
}
.cast .img2{
  position: absolute;
  top: 128px;
  left: 604px;
}
.cast .img3{
  position: absolute;
  top: 108px;
  left: 824px;
}
.cast .img4{
  position: absolute;
  top: 108px;
  left: 994px;
}
.cast .img5{
  position: absolute;
  top: 407px;
  left: 27px;
}
.cast .img6{
  position: absolute;
  top: 407px;
  left: 242px;
}
.cast .img7{
  position: absolute;
  top: 407px;
  left: 417px;
}
.cast .img8{
  position: absolute;
  top: 407px;
  left: 603px;
}
.cast .img9{
  position: absolute;
  top: 407px;
  left: 813px;
}
.cast .img10{
  position: absolute;
  top: 407px;
  left: 993px;
}
.cast .copy{
  position: absolute;
  bottom: 58px;
  right: 0;
  left: 0;
}
.castModal{
  padding: 40px;
  width: 640px;
  height: 640px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 31;
  margin: auto;
  border: #fff 10px solid;
  box-shadow: 0 0 14px rgba(0,0,0,0.6);
  display: none;
}
.castModal.is-woman{
  background: linear-gradient(to bottom, #fdece4, #f8c6c7);
}
.castModal.is-man{
  background: linear-gradient(to bottom, #e9f6fd, #b5ddf6);
}
.castModal.is-other{
  background: linear-gradient(to bottom, #fff2bf, #ffe685);
}
.castModal.is-show{
  display: block;
}
.castModalImg{
  padding-bottom: 24px;
}
.castModalTxt{
  text-align: justify;
  font-size: 16px;
  line-height: 1.8;
}
.castModalClose{
  position: absolute;
  top:-30px;
  right:-30px;
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 100%;
}
.l-overlay{
  background-color: rgba(0,0,0,0);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  margin: auto;
  width: 100%;
  height: 100%;
  display: none;
  
}


/* story
================================================================================*/
body.is-story {
}
body.is-story .container{
  display: block;
  margin-top: 106px;
}

.storyBox1{
  padding: 50px 0 100px;
  background: url(../about/img/story/bg_1.png) 50% 0 fixed;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}
.storyBox1 img{
  width: 1448px;
  margin-right: auto;
  margin-left: auto;
}
.storyBox2{
  padding: 50px 0 100px;
  background: url(../about/img/story/bg_2.png) 50% 0 fixed;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}
.storyBox2 img{
  width: 1460px;
  margin-right: auto;
  margin-left: auto;
}
.storyBox3{
  padding: 50px 0 100px;
  background: url(../about/img/story/bg_3.png) 50% 0 fixed;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}
.storyBox3 img{
  width: 1385px;
  margin-right: auto;
  margin-left: auto;
}
.storyBox4{
  padding: 74px 0 190px;
  background: url(../about/img/story/bg_4.png) center 0 no-repeat;
  background-size: 100% 100%;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}
.storyBox4 img{
  width: 1355px;
  margin-right: auto;
  margin-left: auto;
}



