
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
　ページ遷移
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/	
	
#sec_page {
	background-color: rgba(0,0,0,0.75);
	bottom: 0px;
	position: fixed;
	z-index: 100;
	width: 100%;
	height: 70px;
}

#sec_page .title {
	line-height: 70px;
	font-size: 14px;
	color: #fff;
	float: left;
}

#sec_page ul {
	float: right;
	margin-top: 15px;
}

#sec_page ul li {
	float: left;
	padding: 0 5px 0 5px;
}

#sec_page ul li a {
	display: block;
	line-height: 35px;
	height: 35px;
	padding: 0 20px;
	background: #ff1d2a;
	border-bottom: 5px solid #cc000c;
	color: #fff;
	text-align: center;
	font-size: 12px;
	/*radius*/
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

#sec_page ul li a:hover {
	background-color: #a8ff00;
    border-bottom: solid 5px #76b201;
    color: #191919;
}

#sec_page ul li.active a {
	background-color: #a8ff00;
    border-bottom: solid 5px #76b201;
    color: #191919;
	}

footer #ft_info {
	padding: 50px 0 110px 0 !important;	
}





/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
　ページ移動
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/	

.sec_pagemove {
	width: 100%;
	height: 50px;
	overflow: hidden;
	padding: 100px 0 200px 0;
	/*radius*/
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.sec_pagemove .none {
	background-color: rgba(0,0,0,0.5) !important;
}

.sec_pagemove .left {
	float: left;
	width: 50%;
	height: 50px;
	border-right: 1px solid #555;
	margin-left: -1px;
	background-color: rgba(0,0,0,0.75);
	border-radius: 5px 0 0 5px;
    -webkit-border-radius: 5px 0 0 5px;
    -moz-border-radius: 5px 0 0 5px;
}

.sec_pagemove .right {
	float: right;
	width: 50%;
	height: 50px;
	background-color: rgba(0,0,0,0.75);
	border-radius: 0 5px 5px 0;
    -webkit-border-radius: 0 5px 5px 0;
    -moz-border-radius: 0 5px 5px 0;
}

.sec_pagemove li:hover {
	background-color: rgba(255,27,47,0.5) !important;
}

.sec_pagemove .hvnone:hover {
	background-color: rgba(0,0,0,0.5) !important;
}

.sec_pagemove a {
	display: block;
	width: 100%;
	height: 50px;
	line-height: 50px;
	color: #fff;
}

.sec_pagemove .left a {
	color: #fff;
}

.sec_pagemove .right a {
	text-align: right;
}

.sec_pagemove .left a span {
	padding-left: 20px;
}

.sec_pagemove .right a span {
	text-align: right;
	padding-right: 20px;
	}





/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
　差分
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.top_return {
	width: 300px;
	height: 60px;
	margin: 0 auto;
	text-align: center;
	background: #000;
	color: #fff;
	margin-bottom: 100px;
}

.top_return:hover {
	background: #191919;
}

/*.return a {
	width: 100%;
	line-height: 60px;
	text-align: center;
	display: block;
	font-weight: bold;
	color: #fff;
	margin-top: -2px;
	font-size: 18px;
}*/



#wrap_txt {
	overflow: hidden;
	padding: 0 10px;
}

.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.mt60 {
	margin-top: 60px;
}
.mt70 {
	margin-top: 70px;
}
.mt80 {
	margin-top: 80px;
}
.mt90 {
	margin-top: 90px;
}
.mt100 {
	margin-top: 100px;
}

.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;
}
.mb100 {
	margin-bottom: 100px;
}

.pt50 {
	padding-top: 50px;
}
.pt100 {
	padding-top: 100px;
}
.pt150 {
	padding-top: 150px;
}
.pt200 {
	padding-top: 200px;
}

.pt100 {
	padding-top: 100px;
}
.pt200 {
	padding-top: 200px;
}
.pt300 {
	padding-top: 300px;
}
.pt400 {
	padding-top: 400px;
}
.pt500 {
	padding-top: 500px;
}

.pb100 {
	padding-bottom: 100px;
}
.pb200 {
	padding-bottom: 200px;
}
.pb300 {
	padding-bottom: 300px;
}
.pb400 {
	padding-bottom: 400px;
}
.pb500 {
	padding-bottom: 500px;
}

.purun {
      -webkit-animation: purun 0.8s linear 0s 1;
      animation: purun 0.8s linear 0s 1;
}

@-webkit-keyframes purun {
0%   { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
15%  { -webkit-transform: scale(0.9, 0.9) translate(0%, 5%); }
30%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 10%); }
50%  { -webkit-transform: scale(0.9, 1.1) translate(0%, -10%); }
70%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes purun {
0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
30%  { transform: scale(1.1, 0.9) translate(0%, 10%); }
50%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}





/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
　PC/SP共通
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

body {
	background:#191919 !important;
}

.keyVisual{
	position: relative;
	margin: 0 auto;
	width: 1200px;
}
.keyVisual .pc{
	display: block;
}
.keyVisual .sp{
	display: none;
}
.keyVisual>img{
	position: relative;
	width: 100%;
}
.titleLogo{
	position: fixed;
	top: 20px;
	left: 30px;
	width: 150px;
	z-index: 100;
}
.titleLogo img{
	width: 100%;
}


article{
	position: relative;
	margin: 0 auto;
	width: 700px;
	/*background-color: rgba(255,255,255,.1);*/
}
article>h2{
	text-align: center;
    font-weight: 300;
    /*font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;*/
    color: #fff;
    font-size: 24px;
    line-height: 48px;
	/*text-shadow: 0 2px 0 #191919,2px 0 0 #191919,0 -2px 0 #191919,-2px 0 0 #191919,2px 2px 0 #191919,-2px 2px 0 #191919,2px -2px 0 #191919,-2px -2px 0 #191919;*/
	text-shadow: 0 2px 2px #191919,2px 0 2px #191919,0 -2px 2px #191919,-2px 0 2px #191919,2px 2px 2px #191919,-2px 2px 2px #191919,2px -2px 2px #191919,-2px -2px 2px #191919,
	0 1px 0 #191919,1px 0 0 #191919,0 -1px 0 #191919,-1px 0 0 #191919,1px 1px 0 #191919,-1px 1px 0 #191919,1px -1px 0 #191919,-1px -1px 0 #191919 !important;
	padding: 200px 0;
}
.story{
}
.story>li{
	position: relative;
	width: 100%;
	color: #fff;
	clear: both;
}
.story>li.sideL{
	width: 550px;
	float: left;
}
.story>li.sideR{
	width: 550px;
	float: right;
}
.story>li.narration>p{
	margin: 4% 0;
	color: #fff;
	font-size: 18px;
	line-height: 2;
	/*text-shadow: 0 2px 0 #191919,2px 0 0 #191919,0 -2px 0 #191919,-2px 0 0 #191919,2px 2px 0 #191919,-2px 2px 0 #191919,2px -2px 0 #191919,-2px -2px 0 #191919;*/
	text-shadow: 0 2px 2px #191919,2px 0 2px #191919,0 -2px 2px #191919,-2px 0 2px #191919,2px 2px 2px #191919,-2px 2px 2px #191919,2px -2px 2px #191919,-2px -2px 2px #191919,
	0 1px 0 #191919,1px 0 0 #191919,0 -1px 0 #191919,-1px 0 0 #191919,1px 1px 0 #191919,-1px 1px 0 #191919,1px -1px 0 #191919,-1px -1px 0 #191919 !important;
	padding: 50px 0;
}
.story>li>figure{
	text-align: center;
	
}
.face{
	position: absolute;
	top: 0;
	width: 100px;
	height: 100px;
	display: inline-block;
	border-radius: 50%;
	overflow: hidden;
	z-index:0;/*border-radius&transform Bug Fix*/
	background: #ddd;
}

.sideL>.face{
	left: 0;
}
.sideR>.face{
	right: 0;
}
.face>img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.face.ef_vibration{
	animation: vib 0.12s linear infinite;
}
@keyframes vib {
	0%	{transform:rotate(0deg)	translate(0,0);}
	12.5%	{transform:rotate(0.4deg)	translate(1px,-1px);}
	25%	{transform:rotate(0.8deg)	translate(0px,1px);}
	37.5%	{transform:rotate(0.4deg)	translate(-1px,0);}
	50%	{transform:rotate(0deg)	translate(0,0);}
	62.5%	{transform:rotate(-0.4deg)	translate(1px,0);}
	75%	{transform:rotate(-0.8deg)	translate(0,1px);}
	87.5%	{transform:rotate(-0.4deg)	translate(-1px,-1px);}
	100%	{transform:rotate(0deg)	translate(0,0);}
}

.text_set{
	display: inline-block;Z
	width: 100%;
	box-sizing: border-box;
	vertical-align: top;
	padding-top: 50px;
}
.sideL>.text_set{
	margin-left: 130px;
}
.sideR>.text_set{
	margin-right: 130px;
	text-align: right;
	float: right;
	
}
.text_set>.name{
	font-size: 16px;
	color: #fff;
	/*text-shadow: 0 2px 0 #191919,2px 0 0 #191919,0 -2px 0 #191919,-2px 0 0 #191919,2px 2px 0 #191919,-2px 2px 0 #191919,2px -2px 0 #191919,-2px -2px 0 #191919;*/
	text-shadow: 0 2px 2px #191919,2px 0 2px #191919,0 -2px 2px #191919,-2px 0 2px #191919,2px 2px 2px #191919,-2px 2px 2px #191919,2px -2px 2px #191919,-2px -2px 2px #191919,
	0 1px 0 #191919,1px 0 0 #191919,0 -1px 0 #191919,-1px 0 0 #191919,1px 1px 0 #191919,-1px 1px 0 #191919,1px -1px 0 #191919,-1px -1px 0 #191919 !important;
}
.sideL>.text_set>.name{
	top: 20px;
	left: 110px;
	position: absolute;
}
.sideR>.text_set>.name{
	top: 20px;
	right: 110px;
	position: absolute;
}

.serif{
	word-break: break-all !important;
	position: relative;
	display: inline-block;
	padding: 20px;
	font-size: 18px;
	line-height: 1.5;
	color: #000;
	background-color: #fff;
	border-radius: 10px;
    -webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.1);
    box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.1);
}
.serif.big{
	font-size: 26px;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
	line-height: 1.4em !important;
}
.sideL .serif{
	margin: 0 0px 30px 0;
}
.sideR .serif{
	margin: 0 0px 30px 0px;
}
.serif:before{
	content: '';
	position: absolute;
	top: 0vw;
	width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top: 20px solid #fff;
}
.sideL .serif:before{
	left: -20px;
}
.sideR .serif:before{
	right: -20px;
}

.voice{
	position: absolute;
	top: -15px;
	width: 30px;
	height: 28px;
	font-size: 10px;
	line-height: 3.5vw;
	color: #fff;
	background-color: #ff1324;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: 70%;
	background-size: 70%;
	background-image: url(/magicianwiz/lp/yaoyorozu4/img/story/icon_voice.png);
	border-bottom: 2px solid #d30001;
	text-align: center;
	border-radius: 15px;
	cursor: pointer;
	display: block;
}

.voice:hover{
	background-image: url(/magicianwiz/lp/yaoyorozu4/img/story/icon_voice.png);
	background-color: #00b258;
	border-bottom: 2px solid #007f3f;
}

.sideL .voice{
	right: -15px;
}
.sideR .voice{
	left: -15px;
}

/* Bg control ------------------------------------------*/
.bgContWrap{
	position: fixed;
	top: 0;
	left: 0;
	padding-top: 100%;
	width: 100%;
	height: 0;
	z-index: -1;
}
.bgContWrap>div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	opacity: 0;
	z-index: -1;
	transition:opacity 400ms ease-in;
}
.bgContWrap>div.show{
	opacity: 1;
}


/* bgmPlayer -------------------------------------------*/
.bgmPlayer{
	position: fixed;
	display: table;
	table-layout: fixed;
	top: 0;
	right: 0;
	height: 30px;
	text-align: center;
	vertical-align: middle;
	font-family: system-ui;
	z-index: 10;
}
.bgmPlayer>h3{
	display: inline-block;
	padding: 0 7px 0 0;
	font-size: 11px;
	line-height: 11px;
	color: #fff;
}
.bgmPlayer>button{
	display: table-cell;
	width: 60px;
	height: 30px;
	text-align: center;
	cursor: pointer;
	border: none;
	background-color: #fff;
	outline: 0;
}
.bgmPlayer.off>.btnBgmPause,
.bgmPlayer.on>.btnBgmPlay{
	background-color: #a8ff00;
}

.popupWrap{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 10;
	text-align: center;
	vertical-align: middle;
}

.popup{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 60px 20px 20px;
	width: 400px;
	height: 220px;
	text-align: center;
	background-color: #fff;
	background-position: center;
	background-image: url(/magicianwiz/lp/kugarize/img/common/bgm_bg.jpg);
	
}
.popup h2{
	margin: 0 0 22px;
	text-align: center;
	font-size: 17px;
	color: #c18c48;
}
.popup p{
	margin: 0 0 22px;
	text-align: center;
	font-size: 12px;
	line-height: 1.4;
	color: #000;
}
.popup button{
	padding: 20px 0;
	width: 160px;
	font-size: 14px;
	color: #fff;
	border: none;
	cursor: pointer;
	border-radius: 6px;
	outline: 0;
}
.popup button.btnBgmPlay{
	background-color: #ff1d2a;
	border-bottom: solid 5px #cd010d;
}
.popup button.btnBgmMute{
	background-color: #18971e;
	border-bottom: solid 5px #07700c;
}
.bgmCheck{
	display: none;
}





/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
　SP
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

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

.bgmCheck{
	position: relative;
	margin: 100px auto 50px auto;
	padding: 14px 10px;
	width: 180px;
	border-radius: 15px;
	background-color: #fff;
	display: block;
}
.bgmCheck.off{
	display: none;
}
.bgmCheck h4{
	padding: 0 0 0 38px;
	text-align: center;
}
.soundIcon{
	position: absolute;
	top: 6px;
	left: 17px;
	display: table;
	width: 30px;
	height: 30px;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	background-color: #ff1324;
	border-bottom: 2px solid #d30001;
	font-size: 10px;
	border-radius: 15px;
}
.soundIcon i{
	display: table-cell;
	vertical-align: middle;
}

/* ページ遷移 ------------------------------------------*/
	
#sec_page {
	background-color: rgba(0,0,0,0.75);
	bottom: 0px;
	position: fixed;
	z-index: 100;
	width: 100%;
	padding: 15px 0 25px 0;
	overflow: hidden;
}

#sec_page .title {
	display: none;
}

#sec_page ul {
	width: 100%;
	margin: 0 auto;
}

#sec_page ul li {
	float: left;
	padding: 0 1% 0 1%;
	margin-bottom: 10px;
}

#sec_page ul li a {
	display: block;
	padding: 0px 0;
	background: #ff1d2a;
	border-bottom: 3px solid #cc000c;
	color: #fff;
	text-align: center;
	font-size: 12px;
	/*radius*/
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

#sec_page ul li a:hover {
	border-bottom: 3px solid #76b201;
}

#sec_page ul li.active a {
	background-color: #a8ff00;
    border-bottom: solid 3px #76b201;
    color: #191919;
	}

/*個別設定*/

#sec_page ul li {
	width: 8% !important;
}
#sec_page ul .return {
	width: 97.8% !important;
}

footer #ft_info {
	padding: 10px 0 100px 0 !important;	
}





/* 基本 ------------------------------------------*/

.keyVisual{
	margin: 0 auto;
	width: 100%;
}
.keyVisual .sp{
	display: block;
}
.keyVisual .pc{
	display: none;
}

article{
	padding: 2vw;
	width: 100%;
	box-sizing: border-box;
}
.story>li.narration>p{
	font-size: 15px;
	padding: 50px 0;
	text-shadow: 0 2px 2px #191919,2px 0 2px #191919,0 -2px 2px #191919,-2px 0 2px #191919,2px 2px 2px #191919,-2px 2px 2px #191919,2px -2px 2px #191919,-2px -2px 2px #191919,
	0 1px 0 #191919,1px 0 0 #191919,0 -1px 0 #191919,-1px 0 0 #191919,1px 1px 0 #191919,-1px 1px 0 #191919,1px -1px 0 #191919,-1px -1px 0 #191919 !important;
}
.text_set>.name {
	font-size: 15px;
	text-shadow: 0 2px 2px #191919,2px 0 2px #191919,0 -2px 2px #191919,-2px 0 2px #191919,2px 2px 2px #191919,-2px 2px 2px #191919,2px -2px 2px #191919,-2px -2px 2px #191919,
	0 1px 0 #191919,1px 0 0 #191919,0 -1px 0 #191919,-1px 0 0 #191919,1px 1px 0 #191919,-1px 1px 0 #191919,1px -1px 0 #191919,-1px -1px 0 #191919 !important;
}
.serif{
	padding: 4vw;
	font-size: 15px;
}
.voice{
	top: -15px;
	right: -5vw;
	width: 7vw;
	height: 7vw;
	border-radius: 3.5vw;
}

/* 上書き ------------------------------------------*/

.wrap_txt h2 {
	text-shadow: 0 2px 2px #191919,2px 0 2px #191919,0 -2px 2px #191919,-2px 0 2px #191919,2px 2px 2px #191919,-2px 2px 2px #191919,2px -2px 2px #191919,-2px -2px 2px #191919,
	0 1px 0 #191919,1px 0 0 #191919,0 -1px 0 #191919,-1px 0 0 #191919,1px 1px 0 #191919,-1px 1px 0 #191919,1px -1px 0 #191919,-1px -1px 0 #191919 !important;
}

.story>li.sideL{
	width: 100% !important;
}
.story>li.sideR{
	width: 100% !important;
}

.story>li.sideL .text_set{
	padding-right: 40px !important;
}
.story>li.sideR .text_set{
	padding-left: 40px !important;
}

.face{
	width: 50px !important;
	height: 50px !important;
}

.text_set{
	padding-top: 25px !important;
}
.sideL>.text_set{
	margin-left: 70px !important;
}
.sideR>.text_set{
	margin-right: 70px !important;
}

.serif:before{
    border: 10px solid transparent !important;
    border-top: 10px solid #fff !important;
}
.sideL .serif:before{
	left: -10px !important;
}
.sideR .serif:before{
	right: -10px !important;
}

.sideL>.text_set>.name{
	top: 0px !important;
	left: 70px !important;
}
.sideR>.text_set>.name{
	top: 0px !important;
	right: 70px !important;
}

.serif.big{
	font-size: 20px;
}


/* Bg control ------------------------------------------*/

.bgContWrap{
	padding-top: 100vh;
}
.bgContWrap>div{
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}

/* bgmPlayer -------------------------------------------*/
.bgmPlayer{
	position: fixed;
	display: table;
	table-layout: fixed;
	top: 0;
	right: 0;
	padding: 0 0 0 0.5rem;
	height: 8.2vw;
	background-color: rgba(0,0,0,.2);
	text-align: center;
	vertical-align: middle;
	font-family: system-ui;
	z-index: 10;
}
.bgmPlayer>h3{
	display: inline-block;
	padding: 0 0.5rem 0 0;
	font-size: 2vw;
	line-height: 2vw;
	color: #fff;
}
.bgmPlayer.sp>h3{
	animation: ticker 2s 3 ease-in;
}
@keyframes ticker {
	0%{color: #fff;}
	50%{color: #FC4F0A;}
	100%{color: #fff;}
}
.bgmPlayer>button{
	display: table-cell;
	width: 10vw;
	height: 8.2vw;
	text-align: center;
	cursor: pointer;
	border: none;
	background-color: #fff;
	outline: 0;
}
.bgmPlayer.off>.btnBgmPause,
.bgmPlayer.on>.btnBgmPlay{
	background-color: #a8ff00;
}

.popupWrap{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 10;
	text-align: center;
	vertical-align: middle;
}

.popup{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 20vw 5vw 5vw;
	width: 80vw;
	height: 40vh;
	text-align: center;
	background-color: #fff;
	background-position: center;
	background-image: url(/magicianwiz/lp/kugarize/img/common/bgm_bg.jpg);
	
}
.popup h2{
	margin: 0 0 6vw;
	text-align: center;
	font-size: 5vw;
	color: #c18c48;
}
.popup p{
	margin: 0 0 8vw;
	text-align: center;
	font-size: 3.7vw;
	line-height: 1.4;
	color: #000;
}
.popup button{
	padding: 6vw 0;
	width: 36vw;
	font-size: 3.6vw;
	color: #fff;
	border: none;
	cursor: pointer;
	border-radius: 1.4vw;
	outline: 0;
}
.popup button.btnBgmPlay{
	background-color: #ff1d2a;
	border-bottom: solid 1.4vw #cd010d;
}
.popup button.btnBgmMute{
	background-color: #18971e;
	border-bottom: solid 1.4vw #07700c;
}


}