div.menu {
	background-color:#0086cc;
	background-repeat:repeat;
	padding: 15px 0;
/*
	background-image: -webkit-gradient(linear, left top, right top, from(hsla(272,100%,78%,0)), color-stop(0.25, hsla(272,100%,78%,1)), color-stop(0.75, hsla(272,100%,78%,1)), to(hsla(272,100%,78%,0)));
	background-image: -webkit-linear-gradient(left, hsla(272,100%,78%,0), hsla(272,100%,78%,1) 25%, hsla(272,100%,78%,1) 75%, hsla(272,100%,78%,0));
	background-image: linear-gradient(to right, hsla(272,100%,78%,0), hsla(272,100%,78%,1) 50%, hsla(272,100%,78%,1) 75%, hsla(272,100%,78%,0));
*/
}
div.menu > nav {
	position:relative;
}
div.menu > nav div.outer {
	overflow:hidden;
}
div.menu > nav ul {
	list-style-type:none;
}
div.menu > nav div.outer ul {
	-webkit-transform: translateZ(0);
	display:table;
}
div.menu > nav div.outer ul li {
	display:table-cell;
}
div.menu > nav ul li a,
div.menu > nav ul li a span {
	display:block;
}
div.menu > nav ul li a {
	text-decoration:none;
}
div.menu > nav div.outer ul li a {
	background-color:#fff;
	text-align:center;
	line-height:1.25;
	padding:0.25em 1.25em 0.5em;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	background-repeat: no-repeat;
}

@media all and (min-width: 768px) {
div.menu > nav div.outer ul li a {
	width: 270px;
	height: 95px;
	background-size: cover;
}
div.menu > nav div.outer ul li.mquestion a {
	width: 135px;
	height: 95px;
	background-size: cover;
}
}
@media all and (max-width: 767px) {
div.menu > nav div.outer ul li a {
	width: 170px;
	height: 60px;
	background-size: cover;
}
div.menu > nav div.outer ul li.mquestion a {
	width: 55px;
	height: 60px;
	background-size: cover;
}
}
div.menu > nav div.outer ul li.mtopics a  { background-image: url(../img/bn_topics.jpg);}
div.menu > nav div.outer ul li.mgallery a  { background-image: url(../img/bn_gallery.jpg);}
div.menu > nav div.outer ul li.mextra a  { background-image: url(../img/bn_extra.jpg);}
div.menu > nav div.outer ul li.mpresent a  { background-image: url(../img/bn_present.jpg);}
div.menu > nav div.outer ul li.mkubota a  { background-image: url(../img/bn_kubota.jpg);}
div.menu > nav div.outer ul li.mquestion a  { background-image: url(../img/bn_question.jpg);}
div.menu > nav div.outer ul li.mdictionary a  { background-image: url(../img/bn_dictionary.jpg);}
div.menu > nav div.outer ul li.minterview a  { background-image: url(../img/bn_interview.jpg);}
div.menu > nav div.outer ul li.mcomment a  { background-image: url(../img/bn_comment.jpg);}





.cmn div.menu > nav div.outer ul li a:before,
.cmn div.menu > nav div.outer ul li a span {
	white-space:nowrap;
}
.cmn div.menu > nav div.outer ul li a:before {
	display:block;
	color:#000;
	font-family:'Passion One', 'sans serif';
	font-weight:normal;
	text-shadow:1px 2px 0 hsla(0,0%,0%,0.1);
	margin-bottom:0.1em;
}
.cmn div.menu > nav div.outer ul li a span {
	color:#0086cc;
}
div.menu > nav div.outer ul li a:hover,
.news div.menu > nav div.outer ul li.mnews a,
.intro div.menu > nav div.outer ul li.mintro a,
.cast div.menu > nav div.outer ul li.mcast a,
.staff div.menu > nav div.outer ul li.mstaff a,
.music div.menu > nav div.outer ul li.mmusic a,
.story div.menu > nav div.outer ul li.mstory a,
.bbs div.menu > nav div.outer ul li.mbbs a,
.original div.menu > nav div.outer ul li.moriginal a,
.report div.menu > nav div.outer ul li.mreport a,
.chart div.menu > nav div.outer ul li.mchart a,
.interview div.menu > nav div.outer ul li.minterview a,
.present div.menu > nav div.outer ul li.mpresent a,
.gallery div.menu > nav div.outer ul li.mgallery a {
	background-color:#cceaf7;
}

.cmn div.menu > nav div.outer ul li.mhome a:before {content:"TOP";}
.cmn div.menu > nav div.outer ul li.mnews a:before {content:"NEWS";}
.cmn div.menu > nav div.outer ul li.mintro a:before {content:"INTRODUCTION";}
.cmn div.menu > nav div.outer ul li.mcast a:before {content:"CAST";}
.cmn div.menu > nav div.outer ul li.mstaff a:before {content:"STAFF";}
.cmn div.menu > nav div.outer ul li.mmusic a:before {content:"MUSIC";}
.cmn div.menu > nav div.outer ul li.mstory a:before {content:"STORY";}
.cmn div.menu > nav div.outer ul li.mchart a:before {content:"CHART";}
.cmn div.menu > nav div.outer ul li.moriginal a:before {content:"ORIGINAL";}
.cmn div.menu > nav div.outer ul li.mreport a:before {content:"REPORT";}
.cmn div.menu > nav div.outer ul li.minterview a:before {content:"INTERVIEW";}
.cmn div.menu > nav div.outer ul li.mpresent a:before {content:"PRESENT";}
.cmn div.menu > nav div.outer ul li.mgallery a:before {content:"GALLERY";}
.cmn div.menu > nav div.outer ul li.mbbs a:before {content:"BBS";}

@media all and (min-width: 768px) {
div.menu {
	background-position:center top;
	margin-bottom: 20px;
}
div.menu > nav {
	width:980px;
	margin:0 auto;
}
div.menu > nav div.outer {
	margin:0 30px;
}
div.menu > nav div.outer ul li:not(:last-child) {
	padding-right:8px;
}
div.menu > nav div.outer ul li a {
	border-width:3px;
	border-radius:8px;
	/* -webkit-box-shadow:0 0 15px hsla(0,0%,0%,0.3) inset;
	box-shadow:0 0 15px hsla(0,0%,0%,0.3) inset; */
}
.cmn div.menu > nav div.outer ul li a:before {
	font-size:150%;
}
.cmn div.menu > nav div.outer ul li a span {
	font-size:75%;
}
}
@media all and (max-width: 767px) {
div.menu {
	background-position:left top;
	background-size:30px;
	margin-bottom: 20px;
}
div.menu > nav div.outer {
	margin:0 26px;
}
div.menu > nav div.outer ul li:not(:last-child) {
	padding-right:4px;
}
div.menu > nav div.outer ul li a {
	border-width:2px;
	border-radius:6px;
	/* -webkit-box-shadow:0 0 10px hsla(0,0%,0%,0.3) inset;
	box-shadow:0 0 10px hsla(0,0%,0%,0.3) inset; */
}
.cmn div.menu > nav div.outer ul li a:before {
	font-size:112.5%;
}
.cmn div.menu > nav div.outer ul li a span {
	font-size:62.5%;
}
div.menu > nav div.outer ul li a span {
}
}
/* ctrl */
div.menu > nav ul.ctrl li {
	position:absolute;
	top:50%;
	margin-top:-17px;
}
div.menu > nav ul.ctrl li.ctrl-lef {
	left:0;
}
div.menu > nav ul.ctrl li.ctrl-rig {
	right:0;
}
div.menu > nav ul.ctrl li a {
	width:24px;
	height:34px;
	background-image:url(../img/arrow40.svg);
	background-repeat:no-repeat;
	background-size:136px 34px;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-color:#1ca5ef;
}
div.menu > nav ul.ctrl li.ctrl-lef a {
	background-position:-5px 0;
}
div.menu > nav ul.ctrl li.ctrl-rig a {
	background-position:-39px 0;
}
div.menu > nav ul.ctrl li a.hidebtn {
	opacity:0.25;
	cursor:default;
}
@media all and (min-width: 768px) {
div.menu > nav ul.ctrl li.ctrl-lef a:not(.hidebtn):hover {
	background-position:-73px 0;
}
div.menu > nav ul.ctrl li.ctrl-rig a:not(.hidebtn):hover {
	background-position:-107px 0;
}
}
@media all and (max-width: 767px) {
}

@media all and (min-width: 768px) {
	.wrap {
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
}
}
div#page-top {
	background-image: url(../img/space.jpg);
	background-position: center top;
}
div.lower_header {
	background-image: url(../img/bg_rocket.jpg);
	margin: 0 auto;
	background-repeat: no-repeat;
}
div.lower_header h1 span {
	display: block;
	margin: 0 auto;
	background-repeat: no-repeat;
	white-space: nowrap; text-indent: 100%; overflow: hidden;
}
div.bg {
	background: -moz-linear-gradient(top, rgba(125,185,232,0) 0px, rgba(28,165,239,1) 50px);
	background: -webkit-linear-gradient(top, rgba(125,185,232,0) 0px,rgba(28,165,239,1) 50px);
	background: linear-gradient(to bottom, rgba(125,185,232,0) 0px,rgba(28,165,239,1) 50px);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#007db9e8', endColorstr='#1ca5ef',GradientType=0 );
}
div.bg div.inner {
	background-image: url(../img/cloud.png);
	background-repeat: repeat-y;
	background-position: center top;
	background-size: 100%;
}
div.content {
	background-color: hsla(0, 0%, 100%, 0.85);
	box-shadow: 5px 10px 15px 0px hsla(209, 97%, 30%, 0.2);

}
div.recta {
	width: 300px;
	margin: 0 auto 20px;
}
div.sns-btns {
	margin: 0 auto;
}
div.aside {
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 90%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 90%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 90%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
@media all and (min-width: 1310px) {
	div.lower_header {
		background-size: cover!important;
	}
}
@media all and (min-width: 768px) {
	div.lower_header {
		height: 180px;
		background-position: center -50px;
		background-size: 1310px 400px;
		padding-top: 50px;
		margin-bottom: -50px;
	}
	div.lower_header h1 span {
		height: 104px;
	}
	div.content {
		width: 980px;
		border-radius: 20px;
		border: solid 10px #1ca5ef;
		margin: 0 auto 20px;
		padding: 0 110px 80px;
		box-sizing:  border-box;
	}
}
@media all and (max-width: 767px) {
		div.bg {
			padding-top: 70px;
		}
		div.content {
			margin: 0 15px 20px;
			padding: 15px 15px;
			border-radius: 10px;
			box-sizing: border-box;
		}
		div.lower_header {
			background-size:cover;
			height:0;
			padding-top: 26%;
			position: relative;
			margin-bottom: -70px;
		}
		div.lower_header h1 {
			display: block;
			height:100%;
			position:absolute;
			left:0;
			top:0;
			width:100%;
			padding-top: 7%;
		}
		div.lower_header h1 span {
		margin-bottom: 20px;
		background-size: 100%;
		height:0;
		padding-top: 26%;
		position: relative;
		width:  50%;
	}
	div.lower_header h1 span img {
		display: block;
		height:100%;
		position:absolute;
		left:0;
		top:0;
		width:100%;
	}
}

/*	Youtube
============================== */
div.player-deco {
	background-image:url(../img/space.jpg);
	background-size: 30%;
	background-position:left top;
	background-repeat:repeat;
}
div.player-outer {
	position:relative;
	height:0;
	padding-top:56.25%;
}
div.player-outer iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
div.player-deco {
	padding: 10px;
	margin-bottom: 30px;
}
div.board div.player-deco:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
div.player-deco {
	padding:6px;
	margin-bottom: 1em;
}
div.board div.player-deco:not(:last-child) {
	margin-bottom:20px;
}
}

/*	text lines
============================== */

article cite {
	color:#ea337b;
	font-style:normal;
	font-weight:bold;
}
article p.lines {
	background-position:left bottom;
	background-repeat:repeat;
	text-align: justify;
	text-justify: inter-ideograph; /* IE のみ、こちらも必要 */
	padding: 0 0.75em;
}
@media all and (min-width: 768px) {
article p.lines {
	font-size:87.5%;
	background-image:url(../img/line47.png);
	line-height: 47px;
	font-size: 17px;
}
article p.lines:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
article p.lines {
	font-size:87.5%;
	background-image:url(../img/line47.png);
	background-size: 30px 30px;
	line-height:30px;
}
article p.lines:not(:last-child) {
	margin-bottom:27px;
	margin-bottom: 30px;
}
}
/*	button
============================== */
p.button,p.button2{
   display:block;
   text-align:center;
}
p.button a{
   display:block;
   margin:0 auto;
}
p.button2 a{
   display:block;
   margin:0 auto;
}
p.button a {
  display: block;
  cursor: pointer;
  margin: 0 auto;
  padding: 30px;
  color: #fff;
  font-size:160%;
  text-align: center;
  text-decoration: none;
  background-color: #1e4e9c;
  border-radius: 10px;
  box-shadow: 0 6px 0 #2D4868, 0 12px 0 rgba(0,0,0,0.1);
  -webkit-transition: color 0.3s,
  background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
p.button a:hover {
   background-color: #1e4e9c;
   box-shadow: 0 3px 0 #2d4874, 0 6px 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(3px);
   transform: translateY(3px);
}
p.button a:active {
   color: #ddd;
   background-color: #2D4868;
   box-shadow: 0 0 0 #000, 0 0 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(6px);
   transform: translateY(6px);
   transition-duration: 0.1s;
}
p.button2 a {
   display: block;
   cursor: pointer;
   margin: 0 auto;
   padding: 30px;
   color: #fff;
   font-size:160%;
   text-align: center;
   text-decoration: none;
   background-color: #1ca5ef;
   border-radius: 10px;
   box-shadow: 0 6px 0 #067ab8, 0 12px 0 rgba(0,0,0,0.1);
   -webkit-transition: color 0.3s,
   background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
   transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
p.button2 a:hover {
   background-color: #188ecd;
   box-shadow: 0 3px 0 #188ecd, 0 6px 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(3px);
   transform: translateY(3px);
}
p.button2 a:active {
   color: #ddd;
   background-color: #067ab8;
   box-shadow: 0 0 0 #000, 0 0 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(6px);
   transform: translateY(6px);
   transition-duration: 0.1s;
}
@media all and (min-width: 768px) {
p.button a{
   display:block;
   width: 250px;
   padding: 12px 0;
   font-size: 110%;
   line-height:100%;
   margin: 25px auto 40px;
}
p.button2 a{
   display:block;
   width:600px;
   padding: 15px 0;
   font-size: 130%;
   letter-spacing: 0.13em;
   line-height:100%;
   margin:30px auto 0;
}
}
@media all and (max-width: 767px) {
p.button a{
   display:block;
   padding: 0em 0;
   padding: 0.7em 0;
   font-size: 90%;
   line-height:100%;
   margin: 1.5em auto 2em;
   font-weight:bold;
   width:  80%;
}
p.button2 a{
   display:block;
   width:90%;
   padding:1em;
   font-size:100%;
   line-height:100%;
   margin:1.5em auto 0;
   font-weight:bold;
}
}

/*	header_button
============================== */
@media all and (min-width: 768px) {
header .button,header .button2{
   display:block;
   text-align:center;
}
header .button a{
   display:block;
   margin:0 auto;
}
header .button2 a{
   display:block;
   margin:0 auto;
}
header .button a {
  display: block;
  cursor: pointer;
  margin: 0 auto;
  padding: 30px;
  color: #fff;
  font-size:160%;
  text-align: center;
  text-decoration: none;
  background-color: #1e4e9c;
  border-radius: 10px;
  box-shadow: 0 6px 0 #2D4868, 0 12px 0 rgba(0,0,0,0.1);
  -webkit-transition: color 0.3s,
  background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
header .button a:hover {
   background-color: #1e4e9c;
   box-shadow: 0 3px 0 #2d4874, 0 6px 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(3px);
   transform: translateY(3px);
}
header .button a:active {
   color: #ddd;
   background-color: #2D4868;
   box-shadow: 0 0 0 #000, 0 0 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(6px);
   transform: translateY(6px);
   transition-duration: 0.1s;
}
header .button2 a {
   display: block;
   cursor: pointer;
   margin: 0 auto;
   padding: 30px;
   color: #fff;
   font-size:160%;
   text-align: center;
   text-decoration: none;
   background-color: #1ca5ef;
   border-radius: 10px;
   box-shadow: 0 6px 0 #067ab8, 0 12px 0 rgba(0,0,0,0.1);
   -webkit-transition: color 0.3s,
   background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
   transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
header .button2 a:hover {
   background-color: #188ecd;
   box-shadow: 0 3px 0 #188ecd, 0 6px 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(3px);
   transform: translateY(3px);
}
header .button2 a:active {
   color: #ddd;
   background-color: #067ab8;
   box-shadow: 0 0 0 #000, 0 0 0px rgba(0,0,0,0.1);
   -webkit-transform: translateY(6px);
   transform: translateY(6px);
   transition-duration: 0.1s;
}

header .button a{
   display:block;
   width: 250px;
   padding: 12px 0;
   font-size: 110%;
   line-height:100%;
   margin: 5px auto 0;
}
header .button2 a{
   display:block;
   width:600px;
   padding: 15px 0;
   font-size: 130%;
   letter-spacing: 0.13em;
   line-height:100%;
   margin:30px auto 0;
}
}
/*	figure (main)
============================== */
figure.cmn-pic-main > p {
	border:1px solid #6ec4ea;
	background-color:#fff;
	/* background-image: -webkit-gradient(linear, center top, center bottom, from(#d9eafc), color-stop(0.5, #fff), to(#d9eafc));
	background-image: linear-gradient(#d9eafc, #fff 50%, #d9eafc); */
}
figure.cmn-pic-main > p,
figure.cmn-pic-main > p span {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
figure.cmn-pic-main > p span,
figure.cmn-pic-main > p span img {
	display:block;
}
figure.cmn-pic-main > p span.lazy-done {
	-webkit-animation: fadeIn 500ms;
	animation: fadeIn 500ms;
}
figure.cmn-pic-main > p span {
	position:relative;
	height:0;
	background-repeat:no-repeat;
	background-position:center center;
	padding-top:66.0714285714286%;
}
figure.cmn-pic-main > p span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
figure.cmn-pic-main figcaption {
	margin-top:12px;
	text-align:center;
}
figure.cmn-pic-main figcaption > span {
	background-color:#d4eef9;
	padding:0.25em 0.2em;
	line-height:1.5;
	font-size:75%;
}
@media all and (min-width: 768px) {
figure.cmn-pic-main > p {
	padding:9px;
}
div.board figure.cmn-pic-main:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
figure.cmn-pic-main > p {
	padding:4px;
}
figure.cmn-pic-main > p span {
	background-size:cover;
}
div.board figure.cmn-pic-main:not(:last-child) {
	margin-bottom:20px;
}
}


/*	figure (sub)
============================== */
div.cmn-pic-sub figure {
	width: 50%;
}
div.cmn-pic-sub figure.subpic-lef {
	float:left;
}
div.cmn-pic-sub figure.subpic-rig {
	float:right;
}
div.cmn-pic-sub figure > p {
	border:1px solid #6ec4ea;
	background-color:#fff;
	/* background-image: -webkit-gradient(linear, center top, center bottom, from(#d9eafc), color-stop(0.5, #fff), to(#d9eafc));
	background-image: linear-gradient(#d9eafc, #fff 50%, #d9eafc); */
}
div.cmn-pic-sub figure > p span {
	position:relative;
	height:0;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:66.0714285714286%;
}
div.cmn-pic-sub figure > p span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.cmn-pic-sub figure > p span,
div.cmn-pic-sub figure > p span img {
	display:block;
}
div.cmn-pic-sub figure > p span.lazy-done {
	-webkit-animation: fadeIn 500ms;
	animation: fadeIn 500ms;
}
@media all and (min-width: 768px) {
div.cmn-pic-sub figure > p {
	padding:9px;
}
div.cmn-pic-sub figure.subpic-lef > p {margin-right:6px}
div.cmn-pic-sub figure.subpic-rig > p {margin-left:6px}
div.board div.cmn-pic-sub:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
div.cmn-pic-sub figure > p {
	padding:4px;
}
div.cmn-pic-sub figure.subpic-lef > p {margin-right:2px}
div.cmn-pic-sub figure.subpic-rig > p {margin-left:2px}
div.board div.cmn-pic-sub:not(:last-child) {
	margin-bottom:20px;
}
}
