@charset "utf-8";
hr{
	border:none;
	border-top:dashed 1px #aaa;
	height:1px;
	margin:15px 0 14px 0;
}
section{
	box-sizing: border-box;
}
.sans-serif{
     font-family: "Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif!important;
}
/*----------------------------- responsive -------------------------------*/
.respd{
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

/*---------------------------------- mainimage ----------------------------------------*/

/*header*/
.mainimage .logo{
	width: 70%;
    bottom: 17%;
    left: 15%;
	text-align: center;
}
.mainimage .hide_640{
	width: 100%;
}
.titleblock{
	width: 55%;
	text-align: center;
	float: left;
}
.titlelogo{
	display: block;
}
.titleimg_en{
	margin: -25px 0 0;
}
.titleimg_ja{
	margin: -10px 0 15px;
}
.langblock{
	text-align: center;
	width: 100%;
}
.langblock div{
	display: inline-block;
	margin: 0 5px;
}
.slider_small {
    position: absolute;
    top: 73px;
    right: 20px;
	width: 30%;
    max-width: 330px;
    z-index: 5;
}
.slider_small .prev {
    position: absolute;
    top: calc(50% - 18px);
    left: -20px;
    z-index: 5;
    cursor: pointer;
	width: 15px;
}
.slider_small .next{
	position: absolute;
    top: calc(50% - 18px);
    right: -20px;
    z-index: 5;
    cursor: pointer;
	width: 15px;
}
.index_h2{
	margin-bottom: 15px;
}
.headeritem{
	display: inline-block;
}
@media only screen and (max-width: 1120px) {
	.langblock div{
		width: 40%;
		max-width: 220px;
		margin: 0 1%;
	}
	.slider_small{
		right: 40px;
	}
}
@media only screen and (max-width: 768px) {
	.youtubeblock{
		width: 70%;
		max-width: 540px;
		margin: 10px auto 0;
		padding: 17px;
		float: none;
	}
	.titleblock{
		width: 80%;
		float: none;
		margin: 0 auto;
	}
	.titleimg_en{
		margin: 0;
		width: 95%;
	}
	.titleimg_ja{
		margin: 0 auto;
		width: 90%;
	}
	.header_logo{
		padding-top: 0;
	}
}
@media only screen and (max-width: 480px) {
	.maincontents{
		position: absolute;
		bottom: 10px;
		left: 0;
		width: 100%;
	}
	.index_h2_a img{
		height: 60px;
	}
	.index_h2_b_ja img,.index_h2_b_tc img,.index_h2_b_sc img{
		height: 90px;
	}
	.index_h2_b_en img{
		height: 55px;
	}
}
@media only screen and (max-width: 360px) {
	.index_h2_a img{
		height: 40px;
	}
	.index_h2_b_ja img,.index_h2_b_tc img,.index_h2_b_sc img{
		height: 60px;
	}
	.index_h2_b_en img{
		height: 40px;
	}
}

/*---------------------------------- NEWS BANNER --------------------------------------*/

#first_block{
	padding: 70px 0;
}
#newsbanner{
	padding: 10px 0;
	position: relative;
	margin-bottom: 80px;
}
.grad_left,.grad_right{
	height: calc(100% + 20px);
	position: absolute;
	top: -10px;
	width: 15px;
	z-index: 5;
}
.grad_left{
	background: url('/wp/wp-content/themes/sltheme3729/img/grad_left.png') repeat-y;
	left: 0;
}
.grad_right{
	background: url('/wp/wp-content/themes/sltheme3729/img/grad_right.png') repeat-y;
	right: 0;
}
.slickitem .slick-slide{
	padding: 0 15px;
}
@media only screen and (max-width: 768px) {
	#first_block {
	    padding: 30px 0 60px;
	}
	#newsbanner {
	    margin-bottom: 30px;
	}
	.slickitem .slick-slide {
	    padding: 0 5px;
	}
}


/*-------------------------------------- NEWS -----------------------------------------*/

#news{
	float: left;
	width: 38.5%;
}
#news .link_arrow_small{
	margin-top: 20px;
}
.news_block td{
	padding: 10px 0;
	border-bottom: 1px solid #4c473c;
	word-break: break-all;
}
.news_block .published{
	color: #bfad8b;
	padding-right: 20px;
	width: 80px;
}
.news_cover{
	overflow-x:hidden;
	overflow-y:scroll;
	padding-right: 20px;
    max-height: 350px;
	position: relative;
}
.news_cover a{
	text-decoration: none;
}
.news_block{
	width: 100%;
}
@media only screen and (max-width: 768px) {
	#news {
		width: 80%;
		margin: 0 auto 40px;
		float: none;
	}
	.news_block td {
	    padding: 0 0 10px;
	    display: block;
		width: 100%;
	}
	.news_block .published {
	    border-bottom: none;
	    padding: 5px 0 0;
	}
	.news_cover{
	    max-height: 200px;
	}
}
@media only screen and (max-width: 640px) {
	#news{
		width: 100%;
	}
}


/*----------------------------------- TRAILER -----------------------------------------*/

#trailer{
	width: 57.5%;
	float: right;
}
#trailer .youtube_ctrl{
	border: 1px solid #333;
}
.youtube {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
.youtube img{
    width: 100%;
}
.youtube::before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    transition: all 0.3s;
}
.youtube:hover::before {
    background: rgba(0, 0, 0, 0.7);
    cursor: pointer;
    transition: all 0.3s;
}
.youtube_play{
    position: absolute;
    top: calc(50% - 26px);
    left: calc(50% - 26px);
    z-index: 11;
    cursor: pointer;
    width: 52px!important;
    height: 52px!important;
}
.slideitem_youtube_thumb{
	padding: 0 10px;
	margin-top: 20px;
	z-index: 10;
}
.slideitem_youtube_thumb li{
	padding: 0 7px;
	box-sizing: border-box;
	cursor: pointer;
	outline: none;
}
.slideitem_youtube_thumb .prev {
    position: absolute;
    top: calc(50% - 16px);
    left: -15px;
    z-index: 10;
    cursor: pointer;
}
.slideitem_youtube_thumb .next{
	position: absolute;
	top: calc(50% - 16px);
    right: -15px;
	z-index: 10;
	cursor: pointer;
}
@media only screen and (max-width: 768px) {
	#trailer{
		width: 80%;
		margin: 0 auto;
		float: none;
	}
}
@media only screen and (max-width: 640px) {
	#trailer{
		width: 100%;
	}
}


/*-------------------------------------- STORY ----------------------------------------*/
#story{
	width: 100%;
	text-align: center;
}
#story .wrapper{
	padding: 70px 0 90px;
}
.bg_left{
	background: url('/wp/wp-content/themes/sltheme3729/img/index_story_left.png') no-repeat bottom left;
	background-size: contain;
}
.bg_right{
	background: url('/wp/wp-content/themes/sltheme3729/img/index_story_right.png') no-repeat bottom right;
	background-size: contain;
}
.story_absolute{
	text-align: center;
}
.story_morebutton{
	display: block;
	text-decoration: none;
	color: #000;
	font-size: 24px;
	letter-spacing: 2px;
	width: 200px;
	line-height: 50px;
	background: rgba(255, 255, 255, 0.7);
	margin: 60px auto 0;
}
.story_text{
	font-size: 24px;
    line-height: 2;
	text-shadow:0px 0px 3px #000;
	width: 80%;
	margin: 0 auto;
}
.elem {
	opacity: 0.1;
	transition: 1s;
	transform: translate(0,10px);
	display: inline-block;
}

.isAnimate {
	opacity: 1;
	transform: translate(0,0);
}
@media only screen and (max-width: 1080px) {
	.bg_left{
		background: url('/wp/wp-content/themes/sltheme3729/img/index_story.png') no-repeat bottom left;
		background-size: 100%;
	}
	.bg_right{
		background: none;
	}
}
@media only screen and (max-width: 768px) {
	#story .wrapper{
		padding: 40px 15% 60px;
	}
	.story_morebutton {
	    margin: 30px auto 0;
	}
	.story_text{
		font-size: 16px;
		line-height: 1.7;
	}
}
@media only screen and (max-width: 480px) {
	.story_morebutton{
		font-size: 14px;
		letter-spacing: 2px;
		width: 150px;
		line-height: 40px;
	}
	.story_text{
		font-size: 14px;
		width: 90%;
	}
}
/*------------------------------------ CREATOR ----------------------------------------*/
#creator{
	text-align: center;
	padding: 50px 0 70px;
}
#creator .index_h2{
	margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
	#creator {
	    text-align: center;
	    padding: 40px 5% 50px;
	}
	#creator .index_h2{
		margin-bottom: 30px;
	}
}
@media only screen and (max-width: 640px) {
	#creator{
		width: 100%;
	}
}


/*-------------------------------------- CAST ----------------------------------------*/
#cast{
	text-align: center;
	padding: 60px 0 100px;
}
#cast .index_h2{
	margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
	#cast {
	    text-align: center;
	    padding: 40px 0 70px;
	}
	#cast .index_h2{
		margin-bottom: 30px;
	}
}
@media only screen and (max-width: 640px) {
	#cast{
		width: 100%;
	}
}

/*-------------------------------------- SPEC -----------------------------------------*/
#second_block .spec_padding{
	padding: 90px 0 80px;
}
#spec{
	width: 60%;
}
.spec_table{
	margin-bottom: 30px;
	width: 100%;
}
.spec_table th,.spec_table td{
	padding-bottom: 5px;
}
.spec_table th{
	color: #bfad8b;
	text-align: left;
	width: 85px;
}
.spec_space{
	text-align: center;
	width: 40px;
}
.spec_space img{
	vertical-align: text-top;
	margin-top: 5px;
}
/*
.spec_img{
	float: left;
	width: 150px;
	margin: 0 20px 0 0;
}
.specs{
	width: calc(100% - 170px);
	float: right;
}

.specs img{
	float: left;
	margin: 0 15px 10px 0;
}
.spec_playmode{
	width: 180px;
}
.spec_cero{
	width: auto;
	height: 68px;
}
*/
#spec .link_arrow_small{
	margin-top: 30px;
}
.somingsoon{
	width: 100%;
	padding-top: 50px;
	text-align: center;
	font-size: 18px;
	line-height: 18px;
	height: 275px;
	color: #bfad8b;
	letter-spacing: 2px;
	position: relative;
}
.somingsoon p{
	position: absolute;
	top: calc(50% - 9px);
	left: 0;
	text-align: center;
	width: 100%;
}
/*↓↓↓↓ 20200907 ↓↓↓↓*/

.spec_imgarea_ja,.spec_imgarea_en,.spec_imgarea_tc{
	position: relative;
	width: 100%;
	height: auto;
	min-height: 65px;
}
.spec_imgarea_en{
	padding-right: 160px;
}
.spec_img{
	width: 100%;
}
.spec_cero{
	position: absolute;
	bottom: 0;
	right: 0;
}
.spec_imgarea_ja .spec_cero{
	width: 55px;
}
.spec_imgarea_en .spec_cero{
	width: 140px;
}
/*↑↑↑↑ 20200907 ↑↑↑↑*/
@media only screen and (max-width: 768px) {
	#spec{
		width: 80%;
		margin: 0 auto 50px;
		float: none;
	}
	#second_block .spec_padding {
	    padding: 50px 0 80px;
	}
	.somingsoon{
		padding: 40px 0;
		height: auto;
	}
}
@media only screen and (max-width: 640px) {
	#spec{
		width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	.spec_table th,.spec_table td{
		display: block;
		width: 100%;
	}
	.spec_space{
		display: none!important;
	}
	.spec_table th{
		padding-left: 20px;
		position: relative;
	}
	.spec_table th::before{
		content: '';
		background: url('/wp/wp-content/themes/sltheme3729/img/space_table.png') no-repeat center left;
		width: 20px;
		height: 23px;
		position: absolute;
		top: 0;
		left: 0;
	}
}
/*------------------------------------ TWITTER ----------------------------------------*/

#twitter{
	width: 36%;
    background: #fff;
    position: absolute;
    top: 180px;
    right: 0;
}
.forrowbtn{
	width: 100%;
	background: #bfad8b;
	display: block;
	padding: 10px 0;
	font-size: 16px;
	font-style: italic;
	text-decoration: none;
	text-align: center;
	letter-spacing: 2px;
}
.timeline-Widget{
	border-radius: 0;
}
.tweet_iframe{
	width: 100%;
	border: 1px solid #aaa;
}
.tweet_iframe_ja{
	height: 685px;
}
.tweet_iframe_en,.tweet_iframe_tc,.tweet_iframe_sc{
	height: 320px;
}
.tweet_iframe iframe{
	border:none;
	width: 100%;
	height: 100%;
}
.twitter-timeline{
	width: 720px!important;
}
@media only screen and (max-width: 768px) {
	#twitter{
		width: 80%;
		margin: 0 auto;
		position: static;
	}
	.tweet_iframe{
		width: 100%;
		height: 400px!important;
		overflow-y:scroll;
		-webkit-overflow-scrolling:touch;
	}
	.tweet_iframe iframe{
		border:none;
	}
}
@media only screen and (max-width: 480px) {
	#twitter{
		width: 100%;
	}
}

/*-------------------------------- 【共通】スライダー -----------------------------------*/

.slickitem{
	width: 100%;
	position: relative;
}

.slickitem .prev {
    position: absolute;
    top: calc(50% - 16px);
    left: 10px;
    z-index: 10;
    cursor: pointer;
}
.slickitem .next {
    position: absolute;
    top: calc(50% - 16px);
    right: 10px;
    z-index: 10;
    cursor: pointer;
}
@media only screen and (max-width: 480px) {
	.su-slider-prev, .su-slider-next{
		background-size: cover!important;
	    width: 20px!important;
	    height: 40px!important;
	    top: calc(50% - 20px)!important;
	}
}

/*↓↓↓↓ 20201214 ↓↓↓↓*/
.blackmask{
	display: none;
	position: fixed;
	width: 100%;
	height: calc(100% + 65px);
	background-color: rgba(0,0,0,0.8);
	top: 0;
	left: 0;
	z-index: 10000;
}
.popup_wrapper{
	display: none;
	border: #b8a16f 1px solid;
	width: 60%;
	height: auto;
	max-height: 70%;
	position: fixed;
	top: 15%;
	left:20%;
	background: url('/wp/wp-content/themes/sltheme3729/img/top/bg_pc.jpg') no-repeat top center;
	background-size: cover;
	padding: 20px 25px;
	z-index: 10001;
	text-align: center;
}
.popup_text {
	display: block;
	margin: 80px auto 0px;
	width: 85%;
}
.popup_wrapper .cf{
	width: 85%;
	margin: 0 auto 60px;
}
.popup_wrapper .left{
	float: left;
	padding-right: 15px;
}
.popup_wrapper .right{
	float: right;
	padding-left: 15px;
}
.popup_wrapper .left,.popup_wrapper .right{
	width: 50%;
	text-align: center;
	margin-top: 30px;
}
.popup_wrapper .left a,.popup_wrapper .right a{
	width: 100%;
	display: block;
}
.flameimg1{
	position: absolute;
	top:-9px;
	left:-12px;
}
.flameimg2{
	position: absolute;
	bottom:-18px;
	right:-13px;
}
.css-cancel_position{
	float: right;
	margin: -65px -25px 0 0;
	cursor: pointer;
}
.css-cancel{
  display: inline-block;
  position: relative;
  margin: 0 20px 0 20px;
  padding: 0;
  width: 1px;
  height: 40px;
  background: #fff;
  transform: rotate(45deg);
}
.css-cancel:before{
  display: block;
  content: "";
  position: absolute;
  top: 20px;
  left: -20px;
  width: 40px;
  height: 1px;
  background: #fff;
}
/*イレギュラーパターン*/
.popup_wrapper.irregular {
	top: 5%!important;
	max-height: 90%!important;
}
.popup_wrapper.irregular .css-cancel_position {
	margin: -25px -75px 0 0!important;
}
.popup_wrapper.irregular .popup_text {
	margin: 5px auto 0px!important;
	width: 80%!important;
}
.popup_wrapper.irregular .left, .popup_wrapper.irregular .right {
	margin-top: 10px!important;
	width: 50%!important;
	float: left!important;
}
.popup_wrapper.irregular .cf {
	width: 70%!important;
	margin: 0 auto 20px!important;
}
@media only screen and (max-width: 1080px) {
	.popup_wrapper{
		width: 80%;
		top: 20%;
		left:10%;
	}
	.flameimg1 {
		top: -5px;
		left: -8px;
		width: 140px;
	}
	.flameimg2 {
		bottom: -12px;
		right: -8px;
		width: 140px;
	}
}
@media only screen and (max-width: 840px) {
	.popup_text {
		margin: 15px auto 0px;
		width: 100%;
	}
	.popup_wrapper .left, .popup_wrapper .right {
		margin-top: 15px;
	}
	.popup_wrapper .left a, .popup_wrapper .right a {
		margin: 0 auto;
	}
	.popup_wrapper{
		top: 10%;
		max-height: 80%;
	}
}
@media only screen and (max-width: 640px) {
	.popup_text {
		margin: 15px auto 0px;
		width: 100%;
	}
	.popup_wrapper{
		padding: 15px;
	}
	.popup_wrapper{
		width: 80%;
		top: 12%;
		max-height: 83%;
		left:10%;
		background: url('/wp/wp-content/themes/sltheme3729/img/top/bg_sp.jpg') no-repeat top center;
		background-size: cover;
	}
	.popup_wrapper .cf {
		width: 100%;
		margin: 0 auto 20px;
	}
	.popup_wrapper .left, .popup_wrapper .right {
		margin-top: 15px;
		float: none;
		width: 100%;
		padding: 0;
	}
	.popup_wrapper .left a, .popup_wrapper .right a {
		width: 80%;
		max-width: 240px;
		margin: 0 auto;
	}
}

/*↑↑↑↑ 20201214 ↑↑↑↑*/
