/* =================================
	lower CSS
================================= */

div.wrap {
	position:relative;
}

/*	header
============================== */
header.header {
	background-color:#eef0f2;
}
header.header div.header-inner {
	position:relative;
	z-index:5;
	text-align:left;
}
header.header div.header-inner p a,
header.header div.header-inner p span {
	display:block;
	background-position:center center;
	background-repeat:no-repeat;
}
header.header div.header-inner p span {
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
header.header div.header-inner p.logo a.lazy-done {
	-webkit-animation: fadeInLeft 700ms;
	animation: fadeInLeft 700ms;
}
header.header div.header-inner p.date span.lazy-done {
	-webkit-animation: fadeInRight 700ms;
	animation: fadeInRight 700ms;
}
header.header div.header-inner p {
	position:absolute;
}
header.header div.header-inner p.logo {
	left:50%;
	top:50%;
}
header.header div.header-inner p.date {
	right:50%;
}
@media all and (min-width: 768px) {
header.header {
	margin-bottom:30px;
}
header.header div.header-inner {
	width:980px;
	height:180px;
	margin:0 auto;
}
header.header div.header-inner p.logo {
	margin-left:-100px;
	margin-top:-67px;
}
header.header div.header-inner p.logo,
header.header div.header-inner p.logo a {
	width:200px;
	height:134px;
}
header.header div.header-inner p.date {
	margin-right:-180px;
	bottom:13px;
}
header.header div.header-inner p.date span {
	width:81px;
	height:81px;
}
}
@media all and (max-width: 767px) {
header.header {
	margin-bottom:20px;
}
header.header div.header-inner {
	height:132px;
}
header.header div.header-inner p a,
header.header div.header-inner p span {
	background-size:cover;
}
header.header div.header-inner p.logo,
header.header div.header-inner p.logo a {
	width:152px;
	height:102px;
}
header.header div.header-inner p.logo {
	margin-left:-76px;
	margin-top:-51px;
}
header.header div.header-inner p.date {
	margin-right:-134px;
	bottom:7px;
}
header.header div.header-inner p.date span {
	width:61px;
	height:61px;
}
}

/*	triangle
============================== */
div.triangle {
	position:absolute;
}
div.tri-hu {left:0;top:0;}
div.tri-hs {left:0;bottom:0;}
div.tri-ms {right:0;bottom:0;}
div.tri-mu {right:0;top:0;}
div.triangle span {
	background-size:cover;
	background-repeat:no-repeat;
}
div.tri-hu span.lazy-done {
	background-image:url(../img/poster_hu.png);
	-webkit-animation: slideInLeft 700ms;
	animation: slideInLeft 700ms;
}
div.tri-hs span.lazy-done {
	background-image:url(../img/poster_hs.png);
	-webkit-animation: slideInUp 700ms;
	animation: slideInUp 700ms;
}
div.tri-ms span.lazy-done {
	background-image:url(../img/poster_ms.png);
	-webkit-animation: slideInRight 700ms;
	animation: slideInRight 700ms;
}
div.tri-mu  span.lazy-done {
	background-image:url(../img/poster_mu.png);
	-webkit-animation: slideInDown 700ms;
	animation: slideInDown 700ms;
}
div.triangle span, div.triangle span img {
	display:block;
}
div.triangle span {
	position:relative;
	height:0;
	padding-top:100%;
}
div.triangle span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
div.triangle {
	width:36.5%;
	width:38%;
}
}
@media all and (max-width: 767px) {
div.triangle {
	width:30%;
}
}

/*	slider menu
============================== */
div.menu {
	position:relative;
	z-index:5;
	background-color:hsla(0,0%,100%,0.75);
/*
	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 {
	text-align:center;
	line-height:1.25;
	color:#fff;
	text-shadow:1px 2px 2px hsla(0,0%,0%,0.5);
	background-color:#b20c18;
	/* border-color:#99d6f0;
	border-style:solid; */
	-webkit-box-shadow:0 0 20px 0 hsla(0,0%,0%,0.25) inset;
	box-shadow:0 0 20px 0 hsla(0,0%,0%,0.25) inset;
	padding:0.5em 1.25em;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	border:1px solid #c00;
}
.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;
	font-family:'Fjalla One', 'sans serif';
	font-weight:normal;
}
.cmn div.menu > nav div.outer ul li a span {
}
div.menu > nav div.outer ul li a:hover,
.news div.menu > nav div.outer ul li.mnews a,
.about div.menu > nav div.outer ul li.mabout 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,
.download div.menu > nav div.outer ul li.mdownload a,
.column div.menu > nav div.outer ul li.mcolumn a,
.gallery div.menu > nav div.outer ul li.mgallery a {
	color:#c00;
	text-shadow:1px 2px 2px hsla(0,0%,100%,0.5);
	background-color:#fff;
	-webkit-box-shadow:0 0 20px 0 hsla(0,0%,0%,0.25) inset;
	box-shadow:0 0 20px 0 hsla(0,0%,0%,0.25) inset;
	border:1px solid #c2c2c2;
}
div.menu > nav div.outer ul li a:hover span,
.news div.menu > nav div.outer ul li.mnews a span,
.about div.menu > nav div.outer ul li.mabout a span,
.cast div.menu > nav div.outer ul li.mcast a span,
.staff div.menu > nav div.outer ul li.mstaff a span,
.music div.menu > nav div.outer ul li.mmusic a span,
.story div.menu > nav div.outer ul li.mstory a span,
.bbs div.menu > nav div.outer ul li.mbbs a span,
.original div.menu > nav div.outer ul li.moriginal a span,
.report div.menu > nav div.outer ul li.mreport a span,
.chart div.menu > nav div.outer ul li.mchart a span,
.interview div.menu > nav div.outer ul li.minterview a span,
.present div.menu > nav div.outer ul li.mpresent a span,
.download div.menu > nav div.outer ul li.mdownload a span,
.column div.menu > nav div.outer ul li.mcolumn a span,
.gallery div.menu > nav div.outer ul li.mgallery a span {
	color:#000;
}

.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.mabout a:before {content:"ABOUT";}
.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.mcolumn a:before {content:"COLUMN";}
.cmn div.menu > nav div.outer ul li.mgallery a:before {content:"GALLERY";}
.cmn div.menu > nav div.outer ul li.mdownload a:before {content:"DOWNLOAD";}
.cmn div.menu > nav div.outer ul li.mbbs a:before {content:"B B S";}

@media all and (min-width: 768px) {
div.menu {
	background-position:center top;
	padding:12px 0;
}
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;
	padding:6px 0;
}
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:-19px;
}
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:26px;
	height:38px;
	background-image:url(../img/arrow_menu.svg);
	background-repeat:no-repeat;
	background-size:156px 38px;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div.menu > nav ul.ctrl li.ctrl-lef a {
	background-position:0 0;
}
div.menu > nav ul.ctrl li.ctrl-rig a {
	background-position:-26px 0;
}
div.menu > nav ul.ctrl li a.hidebtn {
	cursor:default;
}
div.menu > nav ul.ctrl li.ctrl-lef a.hidebtn {
	background-position:-104px 0;
}
div.menu > nav ul.ctrl li.ctrl-rig a.hidebtn {
	background-position:-130px 0;
}
@media all and (min-width: 768px) {
div.menu > nav ul.ctrl li.ctrl-lef a:not(.hidebtn):hover {
	background-position:-52px 0;
}
div.menu > nav ul.ctrl li.ctrl-rig a:not(.hidebtn):hover {
	background-position:-78px 0;
}
}
@media all and (max-width: 767px) {
}


div.contents {
	position:relative;
	z-index:5;
	text-align:left;
}
div.contents main > article {
	background-color:hsla(0,0%,100%,0.5);
	text-align:left;
	position:relative;
}
div.contents main > article,
div.contents main div.board div.unit {
	/* overflow:hidden; */
}
/*
body:not(.news) div.contents main > article:after,
div.contents main div.board div.unit:after {
	content:"";
	display:block;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position:absolute;
	background-color:hsla(0,0%,0%,0.1);
}
*/
@media all and (min-width: 768px) {
div.contents {
	width:924px;
	margin:0 auto;
}
body:not(.news) div.contents main > article {
	padding-bottom:94px;
}
body:not(.news) div.contents main > article:after,
div.contents main div.board div.unit:after {
	width:256px;
	height:256px;
	right:-142px;
	bottom:-142px;
}
}
@media all and (max-width: 767px) {
body:not(.news) div.contents main > article {
	padding-bottom:60px;
}
body:not(.news) div.contents main > article:after,
div.contents main div.board div.unit:after {
	width:128px;
	height:128px;
	right:-71px;
	bottom:-71px;
}
}


@media all and (min-width: 768px) {
div.contents main > article > .board {
	padding:0 50px 50px;
}
}
@media all and (max-width: 767px) {
div.contents main > article > .board {
	padding:0 12px 20px;
}
}



/*	h1
============================== */

div.contents main > article > header {
	position:relative;
	background-color:hsla(0,0%,0%,0.1);
	background-position:center center;
	background-repeat:no-repeat;
}
.about div.contents main > article > header {
	background-image:url(../img/header_about.jpg);
}
.cast div.contents main > article > header {
	background-image:url(../img/header_cast.jpg);
}
.staff div.contents main > article > header {
	background-image:url(../img/header_staff.jpg);
}
.story div.contents main > article > header {
	background-image:url(../img/header_story.jpg);
}
.news div.contents main > article > header {
	background-image:url(../img/header_news.jpg);
}
.bbs div.contents main > article > header {
	background-image:url(../img/header_bbs.jpg);
}
.chart div.contents main > article > header {
	background-image:url(../img/header_chart.jpg);
}
.gallery div.contents main > article > header {
	background-image:url(../img/header_gallery.jpg);
}
.present div.contents main > article > header {
	background-image:url(../img/header_present.jpg);
}
.download div.contents main > article > header {
	background-image:url(../img/header_download.jpg);
}
.column div.contents main > article > header {
	background-image:url(../img/header_column.jpg);
}
div.contents main > article > header h1 {
	position:absolute;
	left:50%;
	top:50%;
	background-image:url(../img/cmn_h1_bg.png);
	background-repeat:no-repeat;
	background-position:right bottom;
	background-color:hsla(0,0%,100%,0.9);
}
div.contents main > article > header h1 span {
	display:block;
	background-image:url(../img/cmn_h1.png?2);
	background-repeat:no-repeat;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
@media all and (min-width: 768px) {
div.contents main > article > header {
	height:180px;
	margin-bottom:70px;
	-webkit-box-shadow:0 10px 0 0 hsla(0,0%,0%,0.1);
	box-shadow:0 10px 0 0 hsla(0,0%,0%,0.1);
}
div.contents main > article > header h1,
div.contents main > article > header h1 span {
	width:404px;
	height:120px;
}
div.contents main > article > header h1 {
	margin-left:-202px;
	margin-top:-60px;
	-webkit-box-shadow:0 0 20px 0 hsla(0,0%,0%,0.5);
	box-shadow:0 0 20px 0 hsla(0,0%,0%,0.5);
}
div.contents main > article > header h1 span {
	-webkit-box-shadow:0 0 0 4px hsla(0,0%,0%,0.15) inset;
	box-shadow:0 0 0 4px hsla(0,0%,0%,0.15) inset;
}
.news div.contents main > article > header h1 span {
	background-position:left top;
}
.about div.contents main > article > header h1 span {
	background-position:0 -120px;
}
.story div.contents main > article > header h1 span {
	background-position:0 -240px;
}
.cast div.contents main > article > header h1 span {
	background-position:0 -360px;
}
.staff div.contents main > article > header h1 span {
	background-position:0 -480px;
}
.bbs div.contents main > article > header h1 span {
	background-position:0 -600px;
}
.chart div.contents main > article > header h1 span {
	background-position:0 -720px;
}
.gallery div.contents main > article > header h1 span {
	background-position:0 -960px;
}
.present div.contents main > article > header h1 span {
	background-position:0 -1080px;
}
.download div.contents main > article > header h1 span {
	background-position:0 -1200px;
}
}
@media all and (max-width: 767px) {
div.contents main > article > header {
	background-size:cover;
	height:100px;
	margin-bottom:30px;
	-webkit-box-shadow:0 7px 0 0 hsla(0,0%,0%,0.1);
	box-shadow:0 7px 0 0 hsla(0,0%,0%,0.1);
}
div.contents main > article > header h1,
div.contents main > article > header h1 span {
	width:256px;
	height:76px;
}
div.contents main > article > header h1 {
	margin-left:-128px;
	margin-top:-38px;
	background-size:cover;
	-webkit-box-shadow:0 0 12px 0 hsla(0,0%,0%,0.5);
	box-shadow:0 0 12px 0 hsla(0,0%,0%,0.5);
}
div.contents main > article > header h1 span {
	-webkit-box-shadow:0 0 0 3px hsla(0,0%,0%,0.15) inset;
	box-shadow:0 0 0 3px hsla(0,0%,0%,0.15) inset;
	background-size:256px 912px;
}
.news div.contents main > article > header h1 span {
	background-position:left top;
}
.about div.contents main > article > header h1 span {
	background-position:0 -76px;
}
.story div.contents main > article > header h1 span {
	background-position:0 -152px;
}
.cast div.contents main > article > header h1 span {
	background-position:0 -228px;
}
.staff div.contents main > article > header h1 span {
	background-position:0 -304px;
}
.bbs div.contents main > article > header h1 span {
	background-position:0 -380px;
}
.chart div.contents main > article > header h1 span {
	background-position:0 -456px;
}
.gallery div.contents main > article > header h1 span {
	background-position:0 -608px;
}
.present div.contents main > article > header h1 span {
	background-position:0 -684px;
}
.download div.contents main > article > header h1 span {
	background-position:0 -760px;
}
}


/*	sns share
============================== */
div.sns-share {
	position:absolute;
	z-index:5;
}
div.sns-share section h2, div.sns-share section h3 {
	background-image:url(../img/sns_h2h3.png);
	background-repeat:no-repeat;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	float:left;
}
div.sns-share section h3 {
	background-position:left bottom;
}
div.sns-share section div.sns-rig {
	float:right;
}
div.sns-share section ul li {
	float:left;
}
div.sns-share section ul li a {
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-image:url(../img/sns_logos.svg);
	background-repeat:no-repeat;
}
div.sns-share section ul li.shr-tw a {
	background-color:#55acee;
	background-position:center top;
}
div.sns-share section ul li.shr-ln a {
	background-color:#00b900;
	background-position:center bottom;
}
@media all and (min-width: 768px) {
div.sns-share {
	right:30px;
	bottom:30px;
}
.news div.sns-share {
}
div.sns-share section h2, div.sns-share section h3 {
	width:170px;
	height:64px;
}
div.sns-share section ul li {
	width:64px;
}
div.sns-share section ul li:not(:last-child) {
	margin-right:10px;
}
div.sns-share section ul li a {
	height:64px;
	background-size:64px 128px;
	border-radius:12px;
}
}
@media all and (max-width: 767px) {
div.sns-share {
	right:12px;
	bottom:12px;
}
.news div.sns-share {
}
.news div.sns-share section ul li {
}
div.sns-share section h2, div.sns-share section h3 {
	background-size:106px 80px;
	width:106px;
	height:40px;
}
div.sns-share section ul li {
	width:40px;
}
div.sns-share section ul li:not(:last-child) {
	margin-right:6px;
}
div.sns-share section ul li a {
	height:40px;
	background-size:40px 80px;
	border-radius:10px;
}
}



/*	figure (main)
============================== */
.pic-main {
	position:relative;
}
.pic-main span,
.pic-main span img {
	display:block;
}
.pic-main span.pic {
	position:relative;
	height:0;
	background-position:center center;
	background-repeat:no-repeat;
	padding-top:66.1290322580645%;
}
.pic-m-tate span.pic {
	padding-top:133.333333333333333%;
}
.pic-main span.lazy-done {
	-webkit-animation: fadeIn 1000ms;
	animation: fadeIn 1000ms;
}
.pic-main span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.pic-main figcaption {
	display:block;
	text-align:center;
	line-height:1.75;
	margin-top:20px;
}
.pic-main figcaption span {
	display:inline;
}
.pic-main figcaption > span {
	background-color:#ebedef;
}
@media all and (min-width: 768px) {
.pic-main {
	width:620px;
	margin:0 auto 50px;
}
.pic-m-tate {
	width:420px;
}
.pic-main span.lazy-done {
	-webkit-box-shadow:10px 10px 0 0 #e61419;
	box-shadow:10px 10px 0 0 #e61419;
}
.column .pic-main span.lazy-done {
	-webkit-box-shadow:10px 10px 0 0 hsla(50,97%,53%,0.5);
	box-shadow:10px 10px 0 0 hsla(50,97%,53%,0.5);
}
.pic-main figcaption {
	font-size:87.5%;
}
}
@media all and (max-width: 767px) {
.pic-main {
	margin:0 12px 20px;
}
.pic-m-tate {
	margin:0 15%;
	margin-bottom:20px;
}
.pic-main span.pic {
	background-size:cover;
}
.pic-main span.lazy-done {
	-webkit-box-shadow:6px 6px 0 0 #e61419;
	box-shadow:6px 6px 0 0 #e61419;
}
.column .pic-main span.lazy-done {
	-webkit-box-shadow:6px 6px 0 0 hsla(50,97%,53%,0.5);
	box-shadow:6px 6px 0 0 hsla(50,97%,53%,0.5);
}
.pic-main figcaption {
	font-size:83%;
}
}



/*	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 span,
div.cmn-pic-sub figure span img {
	display:block;
}
div.cmn-pic-sub figure > span {
	/* border:1px solid #fff;
	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 > span span {
	position:relative;
	height:0;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:66.1290322580645%;
}
div.cmn-pic-sub figure > span span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.cmn-pic-sub figure > span span.lazy-done {
	-webkit-animation: fadeIn 1000ms;
	animation: fadeIn 1000ms;
}
@media all and (min-width: 768px) {
div.cmn-pic-sub figure.subpic-lef > span {margin-right:12px}
div.cmn-pic-sub figure.subpic-rig > span {margin-left:12px}
div.cmn-pic-sub {
	margin-bottom:30px;
}
div.cmn-pic-sub figure > span span.lazy-done {
	-webkit-box-shadow:8px 8px 0 0 #e61419;
	box-shadow:8px 8px 0 0 #e61419;
}
}
@media all and (max-width: 767px) {
div.cmn-pic-sub figure.subpic-lef > span {margin-right:6px}
div.cmn-pic-sub figure.subpic-rig > span {margin-left:6px}
div.cmn-pic-sub {
	margin-bottom:20px;
}
div.cmn-pic-sub figure > span span.lazy-done {
	-webkit-box-shadow:5px 5px 0 0 #e61419;
	box-shadow:5px 5px 0 0 #e61419;
}
}


/*	figure (three)
============================== */
div.cmn-pic-three figure {
	width:33.3%;
}
div.cmn-pic-three figure {
	float:left;
}

div.cmn-pic-three figure span,
div.cmn-pic-three figure span img {
	display:block;
}
div.cmn-pic-three figure > span {
}
div.cmn-pic-three figure > span span.pic {
	position:relative;
	height:0;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:66.1290322580645%;
}
div.cmn-pic-three figure > span span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.cmn-pic-three figure > span span.lazy-done {
	-webkit-animation: fadeIn 1000ms;
	animation: fadeIn 1000ms;
}
div.cmn-pic-three figure figcaption {
	line-height:1.5;
	text-align:center;
	margin-top:0.75em;
}

@media all and (min-width: 768px) {
div.cmn-pic-three {
	margin-bottom:30px;
}
div.cmn-pic-three figure > span span.lazy-done {
	-webkit-box-shadow:8px 8px 0 0 #e61419;
	box-shadow:8px 8px 0 0 #e61419;
}
div.cmn-pic-three figure figcaption {
	font-size:87.5%;
}
}
@media all and (max-width: 767px) {
div.cmn-pic-three {
	margin-bottom:20px;
}
div.cmn-pic-three figure > span span.lazy-done {
	-webkit-box-shadow:5px 5px 0 0 #e61419;
	box-shadow:5px 5px 0 0 #e61419;
}
div.cmn-pic-three figure figcaption {
	font-size:75%;
}
}






/* =================================
	cast / staff
================================= */

/*	table
============================== */

main table {
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	padding:0;
}
.cast main table th, .cast main table td,
.staff main table th, .staff main table td {
	vertical-align:top;
	line-height:1.75;
	text-align:left;
	padding-bottom:0.5em;
}
.cast main table th, .cast main table td {
	vertical-align:bottom;
}
.staff main table th, .staff main table td {
	padding-bottom:0.75em;
}
.staff main table td b {
/*	color:#0086cc; */
}
.cast main table th,
.staff main table th {
	text-align:right;
	font-weight:normal;
	color:#7b1700;
	white-space: nowrap;
	font-weight:bold;
}
.cast main table th {
	width:46%;
}
.cast main table td:not(.naka) {
	font-weight:bold;
}
.cast main table td.naka,
.staff main table td.naka {
	font-family: sans-serif;
	color:#cc0a14;
	text-align:center;
	width:2em;
}
@media all and (min-width: 768px) {
.cast main table th, .cast main table td,
.staff main table th, .staff main table td {
	font-size:125%;
}
}
@media all and (max-width: 767px) {
.cast main table th, .cast main table td,
.staff main table th, .staff main table td {
	font-size:87.5%;
}
}




/*	kome
============================== */
main ul.kome li, main ul.kome2 li {
	color:#5e5e5e;
	line-height:1.5;
	margin-bottom:0.25em;
}
main div.nuri ul.kome li {
	color:#000;
}
main article#books ul.kome li {
	color:#c00;
}
main ul.kome li:before, main ul.kome2 li:before {
	display:block;
	float:left;
	font-family:serif;
}
main ul.kome li:before {
	content:"※";
}
main ul.kome2 li:nth-child(1):before {
	content:"※1";
}
main ul.kome2 li:nth-child(2):before {
	content:"※2";
}
main ul.kome li span, main ul.kome2 li span {
	display:block;
}
main ul.kome li span {
	padding-left:1.5em;
}
main ul.kome2 li span {
	padding-left:2.5em;
}
main div.unit-inner ul.kome:not(:last-child) {
	margin-bottom:1.5em;
}
@media all and (min-width: 768px) {
main ul.kome li, main ul.kome2 li {
	font-size:87.5%;
}
}
@media all and (max-width: 767px) {
main ul.kome li, main ul.kome2 li {
	font-size:83%;
}
}


/*	button
============================== */
p.btn {
	position:relative;
	overflow:hidden;
/*	-webkit-box-shadow: #fff 0 0 5px 0;
	box-shadow: #fff 0 0 5px 0; */
}
p.btn a {
	display:block;
	color: #fff;
/*	text-shadow:0 2px 2px hsla(0, 0%, 100%, .5); */
	background-color:#c00;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
/*
	background-image:-moz-linear-gradient(transparent 50%, #dea048 50%);
	background-image:-webkit-gradient(linear, left top, left bottom, from(transparent),color-stop(0.5,transparent),color-stop(0.5,#dea048),to(#dea048));
	background-image:-ms-linear-gradient(transparent 50%, #dea048 50%);
	background-image:linear-gradient(transparent 50%, #dea048 50%);
*/
}
p.btn a:before {
	content:"";
	display:block;
	position:absolute;
	top:50%;
	background-image:url(../img/arrow40.svg);
	background-repeat:no-repeat;
	background-color:#fff;
}
@media all and (min-width: 768px) {
p.btn {
	border-radius:22px;
	margin:0 120px;
}
p.btn:not(:last-child) {
	margin-bottom:30px;
}
p.btn a {
	height:44px;
	line-height:44px;
}
p.btn a:hover {
	background-color:#900;
	background-image:none;
}
p.btn a:before {
	left:6px;
	background-position:-124px -4px;
	background-size:160px 40px;
	border-radius:16px;
	width:32px;
	height:32px;
	margin-top:-16px;
}
}
@media all and (max-width: 767px) {
p.btn {
	border-radius:16px;
}
p.btn:not(:last-child) {
	margin-bottom:15px;
}
p.btn a {
	font-size:87.5%;
	height:32px;
	line-height:32px;
}
p.btn a:before {
	left:4px;
	background-position:-93px -3px;
	background-size:120px 30px;
	border-radius:12px;
	width:24px;
	height:24px;
	margin-top:-12px;
}
}


/*	small button
============================== */
p.btn-s {
	position:relative;
	overflow:hidden;
}
p.btn-s a {
	display:block;
	color: #000;
	background-color:hsla(0,0%,100%,0.75);
	background-color:#f0d6a8;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
}
p.btn-s a:before {
	content:"";
	display:block;
	position:absolute;
	top:50%;
	background-image:url(../img/arrow40.svg);
	background-repeat:no-repeat;
	background-color:#fff;
}
@media all and (min-width: 768px) {
p.btn-s:not(:last-child) {
	margin-bottom:30px;
}
p.btn-s a {
	font-size:87.5%;
	height:32px;
	line-height:32px;
}
p.btn-s a:hover {
	background-color:#e5b36d;
	background-image:none;
}
p.btn-s a:before {
	left:6px;
	background-position:-20px 0;
	background-size:80px 20px;
	width:20px;
	height:20px;
	margin-top:-10px;
	border-radius:10px;
}
}
@media all and (max-width: 767px) {
p.btn-s {
}
p.btn-s:not(:last-child) {
	margin-bottom:15px;
}
p.btn-s a {
	font-size:83%;
	height:32px;
	line-height:32px;
}
p.btn-s a:before {
	left:6px;
	background-position:-20px 0;
	background-size:80px 20px;
	width:20px;
	height:20px;
	margin-top:-10px;
	border-radius:10px;
}
}


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

main > article cite {
	color:#c00;
	font-style:normal;
	font-weight:bold;
}
main > 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) {
main > article p.lines {
	font-size:100%;
	background-image:url(../img/line36.png);
	line-height:36px;
}
main > article p.lines:not(:last-child) {
	margin-bottom:36px;
}
}
@media all and (max-width: 767px) {
main > article p.lines {
	font-size:87.5%;
	background-image:url(../img/line30.png);
	line-height:30px;
}
main > article p.lines:not(:last-child) {
	margin-bottom:30px;
}
}


/*	Youtube
============================== */
div.player-deco {
	background-color:#000;
}
div.player-outer {
	position:relative;
	height:0;
	padding-top:56.25%;
}
div.player-outer iframe,
div.player-outer > div {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
div.player-deco {
	margin:0 100px;
	-webkit-box-shadow:8px 8px 0 0 #e61419;
	box-shadow:8px 8px 0 0 #e61419;
}
div.board div.player-deco:not(:last-child) {
	margin-bottom:50px;
}
}
@media all and (max-width: 767px) {
div.player-deco {
	-webkit-box-shadow:6px 6px 0 0 #e61419;
	box-shadow:6px 6px 0 0 #e61419;
	margin:0 12px;
}
div.board div.player-deco:not(:last-child) {
	margin-bottom:20px;
}
}


/*	ul button
============================== */
ul.btns {
	list-style-type:none;
}
ul.btns li a,
ul.btns li a span {
	display:block;
}
ul.btns li a {
	position:relative;
	overflow:hidden;
	text-decoration:none;
}
ul.btns li.nolink a {
	cursor:default;
}
ul.btns li a span {
	color: #000;
	text-shadow:0 2px 2px hsla(0, 0%, 0%, .1);
	background-color:#f0d6a8;
	font-weight:bold;
	text-align:center;
/*
	background-image:-moz-linear-gradient(transparent 50%, #dea048 50%);
	background-image:-webkit-gradient(linear, left top, left bottom, from(transparent),color-stop(0.5,transparent),color-stop(0.5,#dea048),to(#dea048));
	background-image:-ms-linear-gradient(transparent 50%, #dea048 50%);
	background-image:linear-gradient(transparent 50%, #dea048 50%);
*/
}
ul.btns li a span:before {
	content:"";
	display:block;
	position:absolute;
	top:50%;
	background-image:url(../img/arrow40.svg);
	background-repeat:no-repeat;
	background-color:#fff;
}
ul.btns li.nolink a span:before {
	opacity:0.2;
}
ul.btns li.nolink a span {
	color: #a4a4a4;
	background-color:#e0e0e0;
	text-shadow:none;
}
@media all and (min-width: 768px) {
ul.btns {
	margin-bottom:30px;
}
ul.btns li {
	width:50%;
	float:left;
	border-radius:22px;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	margin-bottom:10px;
}
ul.btns li:nth-child(odd) {
	padding-right:6px;
}
ul.btns li:nth-child(even) {
	padding-left:6px;
}
ul.btns li a {
	border-radius:22px;
}
ul.btns li a span {
	height:44px;
	line-height:44px;
}
ul.btns li:not(.nolink) a:hover span {
	background-color:#e5b36d;
	background-image:none;
}
ul.btns li a span:before {
	left:6px;
	background-position:-44px -4px;
	background-size:160px 40px;
	border-radius:16px;
	width:32px;
	height:32px;
	margin-top:-16px;
}
}
@media all and (max-width: 767px) {
ul.btns {
	margin-bottom:15px;
}
ul.btns li:not(:last-child) {
	margin-bottom:6px;
}
ul.btns li a {
	border-radius:16px;
}
ul.btns li a span {
	font-size:87.5%;
	height:32px;
	line-height:32px;
}
ul.btns li a span:before {
	left:4px;
	background-position:-33px -3px;
	background-size:120px 30px;
	border-radius:12px;
	width:24px;
	height:24px;
	margin-top:-12px;
}
}