/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: "Noto Sans JP", Meiryo, sans-serif, monospace;
	font-size: 100%;
}

body {

}

#wrapper{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: 1;
}

.clear{clear:both;}

li{list-style-type:none}

.pc{ display: inherit; }
.sp{ display: none; }
@media screen and (max-width: 699px){
.pc{ display: none; }
.sp{ display: inherit; }
}

/* アニメーション_setting
================================================== */

.fadein{
  -webkit-transition: all 1s linear;
  -o-transition: all 1s linear;
  transition: all 1s linear;
  opacity: 0;
}
.fadein.active{
  opacity: 1;
}

.fadein2{
  -webkit-transition: all 3s linear;
  -o-transition: all 3s linear;
  transition: all 3s linear;
  opacity: 0;
}
.fadein2.active{
  opacity: 1;
}

/* モーダルウィンドウ_setting
================================================== */

.white_fadein{
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	width:100%;
	height:100%;
	background-color: black;
	position: fixed;
	pointer-events: none;
	z-index: 9998;
}

.load_bg_fade{
  -webkit-animation: slidein 3s 1s forwards;
          animation: slidein 3s 1s forwards;
	pointer-events: none;
}

@keyframes slidein {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

.top_load_logo{
	width: 100%;
	margin: auto;
	padding-bottom: 5%;
}

.top_load_text_style1{
	color: white;
	text-align: center;
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 2px;
	padding-bottom: 5%;
}

.top_load_text_box{
	width: 44%;
	margin: auto;
	text-align: center;
	letter-spacing: -1em;
}

.top_load_text_left{
	width: 30%;
	margin: 0 10%;
	display: inline-block;
}

.top_load_text_right{
	width: 30%;
	margin: 0 10%;
	display: inline-block;
}

.text_fade img:hover{
  -webkit-animation: text_fade_anime 0.6s 0s forwards;
          animation: text_fade_anime 0.6s 0s forwards;
}

@keyframes text_fade_anime {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0.4;
	}
}

.top_close_bt{
	position: absolute;
	z-index: 0;
	top: 0%;
	right: 3%;
	width: 3%;
}

@keyframes slideout {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

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

	.top_close_bt{
		position: absolute;
		z-index: 0;
		top: 0%;
		right: 10%;
		width: 8%;
	}

	.top_load_text_style1{
		color: white;
		text-align: center;
		font-size: 14px;
		line-height: 26px;
		letter-spacing: 0px;
		padding-bottom: 10%;
		padding-left: 4%;
		padding-right: 4%;
	}

	.top_load_text_box{
		width: 80%;
		margin: auto;
		text-align: center;
		letter-spacing: -1em;
	}

	.top_load_text_left{
		width: 30%;
		margin: 0 10%;
		display: inline-block;
	}

	.top_load_text_right{
		width: 30%;
		margin: 0 10%;
		display: inline-block;
	}

}


/* CONTENTS_setting
================================================== */

.contents_top_title{
  position: absolute;
  width: 36%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.contents_top_scroll_down_icon{
	position: absolute;
	width: 5%;
	bottom: 5%;
	left: 50%;
  transform:translateX(-50%);
  -webkit- transform:translateX(-50%);
}

.contents_top_space{
	height: 100vh;
}

.center_contents_wrapper{
	width: 100%;
	position: relative;
	z-index: 1;
}

.center_link_text{
	text-align: center;
	position: relative;
	z-index: 999;
}


.contents_about_box{
	width: 56%;
	margin: 10% auto 0;
	display: table;
}

.contents_about_border{
	display: table-cell;
	width: 80%;
	background-image: url("../image/white_border.jpg");
	background-repeat: repeat-x;
	background-position: center;
}

.contents_about_title{
	display: table-cell;
	width: 20%;
	color: white;
	font-family: "Hannari";
	font-size: 42px;
	text-align: right;
}

.contents_text_box{
	width: 55%;
	margin: 3% auto;
	text-align: center;
	position: relative;
	z-index: 99;
}

.contents_about_text{
	display: inline-block;
/*	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;*/
	text-align: left;
	font-size: 18px;
	line-height: 40px;
	margin-bottom: 22%;
	color: white;
}
.contents_about_text p{
font-family: ten-mincho-text, serif;

font-weight: 500;

font-style: normal;
}
.contents_review_title{
	width: 6%;
	margin: auto;
	margin-bottom: 1%;
	margin-top: 8%;
}

.contents_review_title2{
	width: 20%;
	margin: auto;
	margin-bottom: 1%;
	margin-top: 18%;
}

.contents_review_border{
	width: 60%;
	height: 1px;
	background-color: white;
	margin: auto;
	margin-bottom: 1%;
}

.contents_review_text{
	width: 60%;
	margin: 4% auto 0;
	padding: 0 0 4%;
	text-align: center;
	color: white;
	position: relative;
	border-bottom: 1px solid white;
	z-index: 99;
}

.contents_review_text_style1{
	font-size: 34px;
	margin-bottom: 1%;
}

.contents_review_text_style2{
	font-size: 20px;
	margin-bottom: 2%;
}

.contents_review_text_style3{
	font-size: 18px;
	line-height: 2.4vw;
	text-align: left;
}

.review_text_footer{
	text-align: center;
	color: white;
	font-size: 16px;
	padding-top: 1%;
}

.contents_book_table{
	width: 42%;
	margin: 16% auto 0;
	display: table;
	position: relative;
	z-index: 99;
}

.contents_book_left{
	width: 46%;
	padding-right: 4%;
	display: table-cell;
	vertical-align: top;
}

.contents_book_right{
	width: 46%;
	padding-left: 4%;
	display: table-cell;
}

.contents_book_about_text{
	padding-bottom: 6%;
}

.contents_book_about_bt{
	width: 100%;
	margin: auto;
}

.link_btn02{
    width: 100%;
	text-align: center;
	vertical-align: middle;
	margin: auto;
	padding: 4% 4% 6%;
	border-radius: 10px;
	border:1px solid #fff;
	font-size: 140%;
	font-weight: bold;
    color: #fff;
	position: relative;
	z-index: 1;
	letter-spacing: 3px;
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}

.link_btn02:hover {
    background-color: #fff;
    background-position: -100% 100%;
	color: black;
}

.link_btn02 a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2;
}

.footer_space{
	width: 50%;
	height: 1000px;
}

.footer_wrapper{
	width: 60%;
	margin: auto;
}

.footer_text{
	width: 50%;
	margin: auto;
	padding-bottom: 35%;
}

.footer_copyright{
	text-align: center;
	color: white;
	letter-spacing: 2px;
	padding-bottom: 30px;
}

.sp_footer_wrapper{
	padding: 40% 0 12%;
	position: relative;
	z-index: 99;
}

.sp_footer_text_style1{
	color: white;
	text-align: center;
	font-size: 14px;
}

.sp_footer_text_style2{
	color: white;
	text-align: center;
}

.sp_footer_border_1{
	width: 1px;
	height: 22px;
	margin: 2% auto;
	background-color: white;
}

.sp_footer_border_2{
	width: 80%;
	height: 1px; 
	background-color: white;
	margin: auto;
	margin-bottom: 10%;
}

.sp_footer_music_box{
	width: 36%;
	margin: 2% auto 4%;
	display: block;
	text-align: center;
}

.sp_footer_music_box li{
	width: 30%;
	float: left;
	padding:0 10%;
}

.sp_footer_music_box_table_cell{

	opacity: 0.4;
}

.sp_footer_music_box_table_cell2{

}

.sp_footer_share_box{
	width: 46%;
	margin: 4% auto 12%;
	display: table;
}

.sp_footer_share_icon{
	display: table-cell;
	width: 20%;
	padding:0 6%;
}

.sp_footer_share_icon2{
	display: table-cell;
	width: 19%;
	padding:0 12%;
}

.sp_footer_share_icon3{
	display: table-cell;
	width: 20%;
	padding:0 6%;
}

.news_box{
	width: 60%;
	margin: auto;
	padding: 10% 0 0;
	position: relative;
	z-index: 99;
}

.news_title{
	font-size: 80px;
	padding: 0 0 1%;
	border-bottom: 1px solid white;
	color: white;
	text-align: center;
	font-family: ten-mincho-text, serif;
}

.news_table_box{
	padding: 2% 0 0;
	width: 90%;
	margin: auto;
	display: table;

}

.news_table_style1{
	color: white;
	display: table-cell;
	padding-right: 4%;
	text-align: left;
	width: 10%;
}

.news_table_style2{
	color: white;
	display: table-cell;
	text-align: left;
}

@media screen and (max-width: 699px){
	.contents_top_title{
	  position: absolute;
	  width: 70%;
	  top: 50%;
	  left: 50%;
	  transform: translateY(-50%) translateX(-50%);
	  -webkit- transform: translateY(-50%) translateX(-50%);
	}

	.contents_top_scroll_down_icon{
		position: absolute;
		width: 16%;
		bottom: 5%;
		left: 50%;
	  transform:translateX(-50%);
	  -webkit- transform:translateX(-50%);
	}

	.contents_about_box{
		width: 80%;
		margin: 30% auto 0;
		display: table;
	}

	.contents_text_box{
		width: 80%;
		margin: 3% auto;
		text-align: center;
		position: relative;
		z-index: 99;
	}
	
	.contents_about_text{
		display: inline-block;
		-ms-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		text-orientation: upright;
		text-align: left;
		font-size: 16px;
		line-height: 26px;
		margin-bottom: 22%;
		color: white;
	}
	
	.contents_review_title{
		width: 18%;
		margin: auto;
		margin-bottom: 2%;
		margin-top: 38%;
	}

	.contents_review_title2{
		width: 56%;
		margin: auto;
		margin-bottom: 2%;
		margin-top: 38%;
	}

	.contents_review_border{
		width: 80%;
		height: 1px;
		background-color: white;
		margin: auto;
		margin-bottom: 0%;
	}

	.contents_review_text{
		width: 80%;
		
		text-align: center;
		color: white;
		position: relative;
		z-index: 99;
		margin: 10% auto 0;
		padding: 0 0 10%;
	}

	.contents_review_text_style1{
		font-size: 22px;
		margin-bottom: 4%;
	}

	.contents_review_text_style2{
		font-size: 18px;
		margin-bottom: 4%;
	}

	.contents_review_text_style3{
		font-size: 16px;
		line-height: 32px;
		text-align: left;
	}
	
	.contents_book_table{
		width: 60%;
		margin: 50% auto 0;
		display: block;
		position: relative;
		z-index: 99;
	}

	.contents_book_left{
		width: 100%;
		padding-right: 0%;
		padding-bottom: 10%;
		display: block;
		vertical-align: top;
	}

	.contents_book_right{
		width: 100%;
		padding-left: 0%;
		display: block;
	}

	.contents_book_about_text{
		padding-bottom: 10%;
	}

	.contents_book_about_bt{
		width: 100%;
		margin: auto;
	}

	.link_btn02{
		width: 92%;
		text-align: center;
		vertical-align: middle;
		margin: auto;
		padding: 4% 4% 6%;
		border-radius: 10px;
		border:1px solid #fff;
		font-size: 140%;
		font-weight: bold;
		color: #fff;
		position: relative;
		z-index: 1;
		letter-spacing: 3px;
		-webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
		transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	}
	
	.footer_space{
		width: 50%;
		height: 500px;
	}

	.footer_text{
		width: 100%;
		margin: auto;
		padding-bottom: 140%;
	}
	.footer_copyright{
		text-align: center;
		color: white;
		letter-spacing: 2px;
		padding-bottom: 30px;
		display: block;
	}
	
	.news_box{
		width: 90%;
		margin: auto;
		padding: 20% 0 0;
		position: relative;
		z-index: 99;
	}

	.news_title{
		font-size: 42px;
		padding: 0 0 1%;
		border-bottom: 1px solid white;
		color: white;
		text-align: center;
		font-family: ten-mincho-text, serif;
	}

	.news_table_box{
		padding: 2% 0 0;
		width: 90%;
		margin: auto;
		display: block;

	}

	.news_table_style1{
		color: white;
		display: block;
		padding-right: 4%;
		text-align: left;
		width: auto;
	}

	.news_table_style2{
		color: white;
		display: block;
		text-align: left;
		padding-bottom: 2%;
	}

}

/* side_setting
================================================== */

.bgm_wrapper{
	position: fixed;
	top: 3%;
	left: 0%;
	width: 120px;
	height: 94%;
	border-right: 1px solid #fff;
	z-index: 99;
	display: flex;
}

.bgm_box{
	margin: auto;
	text-align: center;
}

.bgm_title{
	width: 28%;
	margin: auto;
	padding-bottom: 40%;
}

.bgm_border{
	width: 1px;
	height: 50px;
	background-color: white;
	margin: auto;
	margin-bottom: 40%;
}

.bgm_text{
	display: inline-block;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: white;
	font-size: 12px;
	letter-spacing: 3px;
	margin-bottom: 40%;
}

.bgm_li_box{
	width: 70%;
	margin: auto;
	opacity: 0.4;
}

.bgm_li_box2{
	width: 70%;
	margin: auto;
	
}


.share_wrapper{
	position: fixed;
	top: 0%;
	right: 0%;
	width: 120px;
	height: 100%;
	background-color: black;
	z-index: 99;
	display: flex;
}

.share_box{
	margin: auto;
	text-align: center;
}

.share_title{
	width: 20%;
	margin: auto;
	padding-bottom: 30%;
}

.share_border{
	width: 1px;
	height: 50px;
	background-color: white;
	margin: auto;
	margin-bottom: 40%;
}

.share_icon_twitter{
	width: 34%;
	margin: auto;
	margin-bottom: 40%;
}

.share_icon_facebook{
	width: 20%;
	margin: auto;
	margin-bottom: 40%;
}

.share_icon_line{
	width: 36%;
	margin: auto;
}

.share_icon_twitter a:hover{
	opacity: 0.4;
}

.share_icon_facebook a:hover{
	opacity: 0.4;
}

.share_icon_line a:hover{
	opacity: 0.4;
}

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

	.bgm_wrapper{
		position: fixed;
		top: 0%;
		left: 0%;
		width: 100%;
		height: 9%;
		border-right: 0px solid #fff;
		
		z-index: 100;
		display: none;
	}


	.share_wrapper{
		position: fixed;
		top: 0%;
		right: 0%;
		width: 120px;
		height: 100%;
		background-color: black;
		z-index: 99;
		display: none;
	}
}

/* movie_setting
================================================== */

.movie_gradation{
	position: fixed;
	z-index: -1;
	width: 100%;
	min-height: 100%;
	height: auto;
	top: 0;
	background: linear-gradient(0deg, rgba(118, 0, 34, 0.5), rgba(7, 162, 188, 0.5));
}

.movie_gradation_sp{
	position: fixed;
	z-index: -1;
	width: 100%;
	min-height: 100%;
	height: auto;
	top: 0;
	background: linear-gradient(0deg, rgba(118, 0, 34, 0.5), rgba(7, 162, 188, 0.5));
}

.movie_wrap{
	width: 100%;
	
}

#bg-video{
 position: fixed;
 right: 0;
 bottom: 0;
 min-width: 100%;
 min-height: 100%;
 width: auto;
 height: auto;
 z-index: -100;
 background: url('poster.jpg') no-repeat;
 background-size: cover;
}

#bg-video_sp{
 position: fixed;
 right: 0;
 bottom: 0;
 min-width: 100%;
 min-height: 100%;
 width: auto;
 height: auto;
 z-index: -100;
 background: url('poster.jpg') no-repeat;
 background-size: cover;
}

.header-title{
 position: relative; /*必ず必要*/
 z-index: 2; /*必ず必要*/
 width: 90%;
 height: 50%;
 overflow: auto;
 margin: auto;
}














