@charset "utf-8";
/* ---------------------------------------------------------

wrapper

----------------------------------------------------------*/
#wrapper{
	background-repeat: repeat;
	width: 100%;
	min-width: 768px;
	background-image: url("../img/common/ptn/PTN_japanese_01.png");
	background-size: 4%;
	background-color: #FFC400;
}
@media screen and (max-width: 768px) {
	#action #wrapper{
		background-size: 9vw;
		min-width: 280px;
	}
}
/* ---------------------------------------------------------

head

----------------------------------------------------------*/
#head{
	width: 100%;
	box-sizing: border-box;
	padding: 20px;
	padding-bottom: 8%;
    margin-bottom: -5%;
	background-image: url("../img/common/ptn/PTN_japanese_01.png");
	background-color: #009205;
	background-size: 4%;
}
#stage #head{
	background: url("../img/stage/BG_stageMain.jpg")no-repeat;
	background-size: cover;
}
#update #head{
	background: url("../img/update/BG_updateMain.jpg")no-repeat;
	background-size: cover;
}
#update .vol2 #head{
	background: url("../img/update/BG_updateMain2.jpg")no-repeat;
	background-size: cover;
}
@media screen and (max-width: 768px) {
	#head{
		padding: 3vw 10px;
		padding-bottom: 10vw;
		margin-bottom: -6vw;
		background-size: 9vw;
	}
}
/* ---------------------------------------------------------

container

----------------------------------------------------------*/
#head .container{
	max-width: 1280px;
	min-width: 768px;
	margin: 0 auto;
	margin-top: -100px;
}
#stage #head .container{
	margin-top: 0;
}
#update #head .container{
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	#head .container{
		min-width: inherit;
		margin-top: -8vw;
	}
	.container{
		width: 100%;
		min-width: inherit;
		padding: 0;
	}
}
/* playMoive ----------------------- */
#head .container .playMovie{
	display: block;
	max-width: 500px;
	margin: 30px auto 60px;
	width: 80%;
}
#head .container .playMovie:hover img{
	opacity: 0.9;
}
#head .container .playMovie img{
	display: block;
	width: 100%;
}
@media screen and (max-width: 768px) {
	#head .container .playMovie{
	    margin: 4vw auto 6vw;
    	width: 60vw;
	}
}
/* anchorArea ----------------------- */
#head .container .anchorArea{
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0 auto 40px;
}
#head .container .anchorArea a.btn{
	display: block;
	max-width: 267px;
	margin: 0 20px;
}
#head .container .anchorArea a.btn img{
	display: block;
	width: 100%;
}
#head .container .anchorArea a.btn:hover img{
	opacity: 0.9
}
/* anchorArea(stage) ----------------------- */
#stage #head .container .anchorArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 0 auto 20px;
}
#head .container .anchorArea a.btn{
	display: block;
	width: 267px;
	margin: 0 10px 20px 10px;
}
@media screen and (max-width: 768px) {
	#head .container .anchorArea{
		margin: 0 auto 10px;
	}
	#stage #head .container .anchorArea {
		margin-bottom: 0;
	}
	#head .container .anchorArea a.btn{
		max-width: inherit;
		margin: 0 5px;
	}
	#stage #head .container .anchorArea a.btn,
	#update #head .container .anchorArea a.btn{
		width: 30vw;
		margin-bottom: 10px;
	}
}
/* anchorArea(update) ----------------------- */
#update #head .container .anchorArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
}
update #head .container .anchorArea a.btn{
	display: block;
	width: 267px;
	margin: 0 20px 20px 0;
}
@media screen and (max-width: 768px) {
	update #head .container .anchorArea{
		margin: 0 auto 10px;
	}
	update #head .container .anchorArea {
		margin-bottom: 0;
	}
	update #head .container .anchorArea a.btn{
		max-width: inherit;
		margin: 0 5px;
	}
	update #head .container .anchorArea a.btn{
		width: 30vw;
		min-width: 148px;
		margin-bottom: 10px;
	}
}
/* ---------------------------------------------------------

H2

----------------------------------------------------------*/
h2{
	display: block;
	width: 100%;
	max-width: 1084px;
	margin: auto;
}
#action .bakeru h2{
	margin-bottom: -8%;
}
#action .henge h2{
	margin-bottom: -16%;
}
#stage h2{
	margin-bottom: -6%;
}
#update h2{
	display: block;
	width: 100%;
	max-width: 880px;
	margin: -150px auto 30px auto;
	pointer-events: none;
}
h2 img{
	width: 100%;
}
@media screen and (max-width: 768px) {
	#action .bakeru h2{
		margin-bottom: -8vw;
	}
	#action .henge h2{
		margin-bottom: -18vw;
	}
	#update h2{
		margin: -16vw auto 20px auto;
	}
}
/* ---------------------------------------------------------

navArea

----------------------------------------------------------*/
#head .navArea{
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 1280px;
	min-width: 960px;
	margin: auto;
	position: relative;
}
#head .navArea .btn{
	width: 400px;
	margin: 0 20px;
	position: relative;
}
#head .navArea img{
	width: 100%;
}
#head .navArea a.btn{
	display: block;
	position: relative;
}
#head .navArea a.btn img{
	position: absolute;
	left: 0;
	top:0;
}
#head .navArea a.btn:hover img.off{
	display: none;
}
#head .navArea .btn img.new{
	display: block;
	width: 28%;
	position: absolute;
	left: -3%;
	top: -8%;
	pointer-events:none;
}
@media screen and (max-width: 768px) {
	#head .navArea{
		min-width: 280px;
		padding: 0;
	}
	#head .navArea .btn{
		margin: 0 5px;
	}
}
/* ---------------------------------------------------------

H3

----------------------------------------------------------*/
#contents h3{
	background-image: url("../img/underLayer/BG_hdl_small_left.png");
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	position: relative;
	padding: 0% 0% 2% 2%;
	filter: drop-shadow(0px 5px 0 #000);
	z-index: 1;
}
#contents h3 .chara{
	filter: none;
}
#contents h3.right{
	text-align: right;
}
#contents h3 img{
	height: 208px;
	position: relative;
	z-index: 6;
}
#contents h3.right{
	background-image: url("../img/underLayer/BG_hdl_small_right.png");
}
#contents h3.right img.titleText{
	left: -2%;
}
@media screen and (max-width: 1151px) {
	#contents h3{
		filter: drop-shadow(0px 3px 0 #000);
	}
	#contents h3 img{
		height: 15vw;
		min-height: inherit !important;
	}
	#contents h3.right{
		text-align: right;
	}
	#contents h3.right img{
		display: inline;
		right: 0;
	}
}
/* charaArt(stage) ----------------------- */
#stage #usually .chara{
	height: 36vw;
	max-height: 692px;
	min-height: 440px;
	position: absolute;
	bottom: -180%;
	left: 50%;
}
#stage #usually #omatsuriArt{
	position: absolute;	
	width: 80%;
	bottom: -5%;
	left: -20%
}
#stage #extra .chara{
	height: 20vw;
	max-height: 384px;
	min-height: 288px;
	position: absolute;
	bottom: -20%;
	right: 70%;
}
#stage #hero .chara{
	height: 40vw;
	max-height: 768px;
	position: absolute;
	bottom: -160%;
	left: 40%;
}
#stage #robo .chara{
	height: 50vw;
	max-height: 960px;
	min-height: 620px;
	position: absolute;
	bottom: -220%;
	right: 45%;
}
@media screen and (max-width: 768px) {
	#stage #usually .chara{
		height: 45vw;
		min-height: 176px;
		position: absolute;
		bottom: -180%;
		left: 50%;
	}
	#stage #usually #omatsuriArt{
		position: absolute;	
		width: 80%;
		bottom: -5%;
		left: -10%
	}
	#stage #extra .chara{
		height: 28vw;
		max-height: 384px;
		min-height: inherit;
		position: absolute;
		bottom: -20%;
		right: 60%;
	}
	#stage #hero .chara{
		height: 45vw;
		max-height: inherit;
		position: absolute;
		bottom: -170%;
		left: 35%;
	}
	#stage #robo .chara{
		height: 55vw;
		max-height: 960px;
		min-height: inherit;
		position: absolute;
		bottom: -190%;
		right: 45%;
	}
}
/* charaArt(henge) ----------------------- */
#action .henge #sun .chara{
	height: 38vw;
	max-height: 850px;
	min-height: 652px;
	position: absolute;
	bottom: -180%;
	left: 60%;
}
#action .henge #kintaro .chara{
	height: 42vw;
	max-height: 1100px;
	min-height: 624px;
	position: absolute;
	bottom: -220%;
    right: 50%;
}
#action .henge #urashimataro .chara{
	height: 45vw;
	max-height: 1100px;
	min-height: 638px;
	position: absolute;
	bottom: -220%;
	left: 50%;
}
#action .henge #momotaro .chara{
	height: 50vw;
	max-height: 1100px;
	min-height: 760px;
	position: absolute;
	bottom: -220%;
	right: 50%;
}

@media screen and (max-width: 768px) {
	#action .henge #sun .chara{
		min-height: inherit;
		height: 50vw;
		bottom: -35vw;
	}
	#action .henge #kintaro .chara{
		min-height: inherit;
		height: 50vw;
		bottom: -35vw;
	}
	#action .henge #urashimataro .chara{
		min-height: inherit;
		height: 55vw;
		bottom: -35vw;
	}
	#action .henge #momotaro .chara{
		min-height: inherit;
		height: 60vw;
		bottom: -35vw;
	}
}

/* ---------------------------------------------------------

contents

----------------------------------------------------------*/
#contents{
	width: 100%;
}
#contents .contentsWrap{
	padding-bottom: 40px
}
#contents .contentsInner{
	width: 100%;
}
#contents .contentsInner .container{
	width: 100%;
	max-width: 1280px;
	padding-left: 20px;
	padding-right: 20px;
	min-width: 768px;
	margin: auto;
	box-sizing: border-box;
}
/* ---------------------------------------------------------

cateBox

----------------------------------------------------------*/
.cateBox{
	display: flex;
	align-items: flex-end;
	padding-top: 40px;
	padding-bottom: 0;
	position: relative;
}
.bakeru .cateBox{
	border-bottom: #FFA915 dashed 5px;
	padding: 40px 0;
}
.cateBox.reverse{
	flex-direction: row-reverse;
}
.cateBox .cateBoxInner1{
	width: 43.5%;
	box-sizing: border-box;
	padding-right: 20px;
}
.cateBox.reverse .cateBoxInner1{
	padding-right: 0;
	padding-left: 20px;
}
.cateBox .cateBoxInner2{
	position: relative;
	width: 56.5%;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	#contents .contentsWrap{
		padding-bottom: 10px;
	}
	#contents .contentsInner .cateBox{
		padding: 2vw 0;
	}
	.bakeru #contents .contentsInner .cateBox{
		align-items: center;
		border-bottom: #FFA915 dashed 2px;
	}
	#contents .contentsInner .container{
		width: 100%;
		padding: 0 10px;
		min-width: 280px;
		margin: auto;
		box-sizing: border-box;
	}
	#contents .contentsInner .cateBoxInner1,
	#contents .contentsInner .cateBoxInner2{
		width: 50%;
	}
	#contents .contentsInner .cateBox .cateBoxInner1{
		padding-right: 10px;
		padding-left: 0;
	}
	#contents .contentsInner .cateBox.reverse .cateBoxInner1{
		padding-right: 0;
		padding-left: 10px;
	}
}
/* ---------------------------------------------------------

videoWrap

----------------------------------------------------------*/
.videoWrap{
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
.videoWrap video{
	width: 100%;
	border-radius: 70px 0;
	display: block;
	box-sizing: border-box;
	padding: 3.4%;
}
.videoWrap .movieFlame{
	width: 100%;
	height: 100%;
	background: url("../img/underLayer/movieFlame.png")no-repeat;
	background-size: 100%;
	background-position: left top;
	position: absolute;
	left: 0;
	top: 0;
}
@media screen and (max-width: 768px) {
	.videoWrap{
		width: 100%;
	}
	.videoWrap video{
		border-radius: 25px 0;
		box-sizing: border-box;
		padding: 5.4%;
	}
	.videoWrap .movieFlame{
		background: url("../img/underLayer/movieFlame_sp.png")no-repeat;
		background-size: 100%;
		background-position: left top;
		position: absolute;
		left: 0;
		top: 0;
	}
}
/* ---------------------------------------------------------

checkBox

----------------------------------------------------------*/
.checkBox{
	box-sizing: border-box;
	position: relative;
	border: #000 18px solid;
	padding: 12px;
	margin: 50px auto;
	background-color:#fff;
	background-image: url("../img/underLayer/BG_flame.png");
	width: 100%;
	z-index: 0;
}
.checkBox .checkPoint{
	position: absolute;
	left: 0;
	top: -52px;
	height: 70px;
	z-index: 2;
}
.checkBox.right .checkPoint{
	left: inherit;
	right: 0;
}
.checkBox::after{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: linear-gradient(180deg, rgba(255,255,255,1.00), rgba(255,255,255,0));
	z-index: 0;
}
.checkBoxInner{
	border: #000 5px solid;
	position: relative;
	padding: 1.5em;
	display: flex;
	align-items: center;
	z-index: 1;
}
.checkBox.right .checkBoxInner{
	flex-direction: row-reverse;
}
.checkBoxInner .checkBoxImage{
	width: 40%;
}
.checkBoxInner .checkBoxImage img{
	display: block;
	width: 100%;
}
.checkBoxInner .checkBoxImage video{
	display: block;
	width: 100%;
	filter: drop-shadow(5px 5px 0 #000);
	margin-bottom: 5px;
}
.checkBoxInner .checkBoxText{
	width: 60%;
	box-sizing: border-box;
	padding-left: 1.5em;
}
.checkBox.right .checkBoxInner .checkBoxText{
	padding-left: 0;
	padding-right: 1.3em;
}
.checkBoxInner .checkBoxText h4{
	height: 35px;
	border-bottom: 4px solid #000;
	padding-bottom: 0.7em;
	margin-bottom: 0.7em;
}
.checkBoxInner .checkBoxText h4 img{
	display: block;
	width: 100%;
}
.checkBoxInner .checkBoxText p{
	font-size:min(1.92vw,26px);
	font-weight: 800;
}
@media screen and (max-width: 1151px) {
	.checkBox{
		border: #000 1.4vw solid;
		padding: 0.7vw;
		background-size: 200%;
		margin: 4vw 0;
	}
	.checkBox .checkPoint{
		top: -4vw;
		height: 6vw;
	}
	.checkBoxInner {
		border: #000 0.4vw solid;
		padding: 2vw;
	}
	.checkBoxInner .checkBoxText{
		padding-left: 1.5vw;
	}
	.checkBoxInner .checkBoxText h4{
		height: 2.8vw;
		margin-bottom: 0.2em;
		border-bottom: 1px solid #000;
		padding-bottom: 0.2em;
		width: 100%;
		display: block;
	}
	.checkBoxInner .checkBoxImage{
		margin: auto;
	}
	.checkBox.right .checkBoxInner .checkBoxText{
		padding-left: 0;
		padding-right: 0.7em;
	}
	.checkBoxInner .checkBoxText p{
		font-size: 2vw;
	}
	.checkBoxInner .checkBoxImage video {
		filter: drop-shadow(2px 2px 0 #000);
	}
}
/* ---------------------------------------------------------

checkBox slider

----------------------------------------------------------*/
.slideContents .checkBoxInner{
	display: block !important;
}
.slide{
	display: flex !important;
	align-items: center;
	padding: 0 40px;
	box-sizing: border-box;
}
.slider .slick-slide{
	height:auto!important;
	margin-right: 0.5vw!important;
	margin-left: 0.5vw!important;
}
.slider .slick-arrow{
	z-index:2!important;
}
.slider .slick-next{
	right:0!important;
}
.slider .slick-prev{
	left:0!important;
}
.slide-dots li{
	margin-top: 1vw;
}
.slide-dots li button{
}
.slick-dots li button::before {
	background-image:url("../img/underLayer/ICO_slider_off.png");
	background-repeat: no-repeat;
	background-size: contain!important;
	content: "";
	cursor: pointer;
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 1vw !important;
	width: 20px !important;
	opacity: 1 !important;
}
.slick-dots li.slick-active button::before {
  	background-image: url("../img/underLayer/ICO_slider_on.png");
	background-repeat: no-repeat;
	background-size: contain!important;
}
.prev-arrow.slick-disabled,
.next-arrow.slick-disabled{
	display: none !important;
}
.slick-dots li button:before{
	content: ''!important;
	height: 100%!important;
	width: 100%!important;
}
.slider .prev-arrow{
	display: block;
	position: absolute;
	top: 50%;
    left: -10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 40px;
	cursor: pointer !important;
	z-index: 5;
}
.slider .next-arrow{
	display: block;
	position: absolute;
	top: 50%;
    right: -10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 40px;
	cursor: pointer !important;
	z-index: 5;
}
@media screen and (max-width: 768px) {
	.slide{
		padding: 0;
	}
	.slick-dots li {
		margin: 0 !important;
	}
	.slick-dots li button::before {
		height: 10px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		top: 1vw !important;
		width: 10px !important;
		opacity: 1 !important;
	}
	.slider .prev-arrow{
		display: block;
		position: absolute;
		top: 56%;
		left: -4vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		width: 4vw;
		cursor: pointer !important;
		z-index: 5;
	}
	.slider .next-arrow{
		display: block;
		position: absolute;
		top: 56%;
		right: -4vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		width: 4vw;
		cursor: pointer !important;
		z-index: 5;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 20px !important;
	}
}
@media screen and (max-width: 430px) {
	.slider .prev-arrow{
		left: -5vw;
		width: 5vw;
	}
	.slider .next-arrow{
		right: -5vw;
		width: 5vw;
	}
	
}
/* ---------------------------------------------------------

shotBox

----------------------------------------------------------*/
#extra .cateBox{
	display: flex;
	align-items: top;
	height: 100%;
	position: relative;
}
#extra .cateBox .cateBoxInner1{
	z-index: 10;
}
.shotBox{
	width: 100%;
	height: 100%;
}
.shotBox .shotBoxInner{
	width: 26%;
}
.shotBox .shotBoxInner .imageMain{
	width: 100%;
	display: block;
	position: relative;
}
/*fkd--------------------------------*/
.shotBox .shotBoxInner:first-child .fkd{
	width: 80%;
	position: absolute;
	left: 80%;
	top: -10%;
}
.shotBox .shotBoxInner:last-child .fkd{
	width: 80%;
	position: absolute;
	right: 80%;
	top: -10%;
}
/*pt1--------------------------------*/
.shotBox.pt1 .shotBoxInner:first-child{
	position: absolute;
	right: 15%;
	top: 10%;
	transform:rotate(3deg);
}
.shotBox.pt1 .shotBoxInner:last-child{
	position: absolute;
	right: 0%;
	top: 60%;
	transform:rotate(-3deg);
}
/*pt2--------------------------------*/
.shotBox.pt2 .shotBoxInner:first-child{
	position: absolute;
	left: 0%;
	top: 10%;
	transform:rotate(3deg);
}
.shotBox.pt2 .shotBoxInner:last-child{
	position: absolute;
	left: 15%;
	top: 60%;
	transform:rotate(-3deg);
}
@media screen and (max-width: 768px) {
	.shotBox .shotBoxInner{
		width: 30%;
	}
	/*fkd--------------------------------*/
	.shotBox .shotBoxInner:first-child .fkd{
		width: 100%;
		position: absolute;
		left: 70%;
		top: -10%;
	}
	.shotBox .shotBoxInner:last-child .fkd{
		width: 100%;
		position: absolute;
		right: 70%;
		top: -10%;
	}
	/*pt1--------------------------------*/
	.shotBox.pt1 .shotBoxInner:first-child{
		position: absolute;
		right: 20%;
		top: 10%;
		transform:rotate(3deg);
	}
	.shotBox.pt1 .shotBoxInner:last-child{
		position: absolute;
		right: 0%;
		top: 60%;
		transform:rotate(-3deg);
	}
	/*pt2--------------------------------*/
	.shotBox.pt2 .shotBoxInner:first-child{
		position: absolute;
		left: 0%;
		top: 10%;
		transform:rotate(3deg);
	}
	.shotBox.pt2 .shotBoxInner:last-child{
		position: absolute;
		left: 20%;
		top: 60%;
		transform:rotate(-3deg);
	}
	#extra #location.checkBox{
		margin-top: 8vw;
	}
}