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

/*	background
============================== */
div.tbs-fix-bg {
	width: 100%;
	height: 100%;
	position: fixed;
	background-repeat:no-repeat;
	background-position:center center;
	background-size: cover;
	/* background-color:#ffb200; */
	z-index: -1;
}
.about div.tbs-fix-bg,
.story div.tbs-fix-bg, .cast div.tbs-fix-bg, .staff div.tbs-fix-bg,
.topics div.tbs-fix-bg, .bbs div.tbs-fix-bg, .chart div.tbs-fix-bg, .interview div.tbs-fix-bg,
.gallery div.tbs-fix-bg, .present div.tbs-fix-bg {
	background-size: 120px 120px;
	background-repeat:repeat;
	background-position:center top;
}
.recipe div.tbs-fix-bg, .oitoma div.tbs-fix-bg, .uika div.tbs-fix-bg {
	background-repeat:repeat;
	background-position:center top;
}
body > div.lazy-done {
	-webkit-animation: fadeIn 1000ms;
	animation: fadeIn 1000ms;
}
@media all and (min-width: 768px) {
.comic > div.lazy-done {
	background-image:url(../img/bg_comic.jpg?0);
	background-position:center bottom;
	background-size: contain;
	background-color:#f9cfb5;
}
.recipe div.tbs-fix-bg {
	background-size: 88px 88px;
}
.oitoma div.tbs-fix-bg, .uika div.tbs-fix-bg {
	background-size: 176px 176px;
}
/*
.chart > div.lazy-done {
	background-image:url(../img/bg_chara.jpg?0);
	background-position:center bottom;
	background-size: cover;
	background-color:#f9cfb5;
}
*/
}
@media all and (max-width: 767px) {
.comic > div.lazy-done {
	background-image:url(../img/bg_comic_smp.jpg?0);
}
.recipe div.tbs-fix-bg {
	background-size: 44px 44px;
}
.oitoma div.tbs-fix-bg, .uika div.tbs-fix-bg {
	background-size: 88px 88px;
}
/*
.chart > div.lazy-done {
	background-image:url(../img/bg_chara_smp.jpg?0);
}
*/
}

/*	header
============================== */
header.header {
	background-image:url(../img/cmn_header_bg.png);
	background-repeat:repeat-x;	
	background-color:#fff000;
}
header.header div.header-inner {
	position:relative;
	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: fadeIn 700ms;
	animation: fadeIn 700ms;
}
header.header div.header-inner p.date span.lazy-done {
	-webkit-animation: fadeIn 700ms;
	animation: fadeIn 700ms;
}
header.header div.header-inner p {
	position:absolute;
	z-index:5;
}
header.header div.header-inner p.logo {
	left:50%;
	top:50%;
}
header.header div.header-inner p.date {
	right:50%;
}
header.header div.header-inner:before,
header.header div.header-inner:after {
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	background-repeat:no-repeat;	
}
header.header div.header-inner:before {
	background-image:url(../img/cmn_header_cloud_lef.png);
	left:0;
}
header.header div.header-inner:after {
	background-image:url(../img/cmn_header_cloud_rig.png);
	right:0;
}
header.header div.menu:before {
	content:"";
	display:block;
	position:absolute;
	background-image:url(../img/cmn_header_bench.png);
	top:0;
	background-repeat:no-repeat;	
}
header.header div.walk,
header.header div.walk span,
header.header div.walk span img {
	display:block;
}
header.header div.walk {
	position:absolute;
	z-index:6;
	left:-236px;
}
@media all and (min-width: 768px) {
header.header {
	background-position:center top;
}
header.header div.header-inner {
	height:180px;
}
header.header div.header-inner p.logo {
	margin-left:-192px;
	margin-top:-75px;
}
header.header div.header-inner p.logo,
header.header div.header-inner p.logo a {
	width:384px;
	height:150px;
}
header.header div.header-inner p.date {
	margin-right:-186px;
	bottom:16px;
}
header.header div.header-inner p.date span {
	width:200px;
	height:40px;
}
header.header div.header-inner:before,
header.header div.header-inner:after {
	width:200px;
	height:96px;
}
header.header div.menu:before {
	width:160px;
	height:180px;
	left:50%;
	margin-left:169px;
}
header.header div.walk {
	top:62px;
}
header.header div.walk,
header.header div.walk span,
header.header div.walk span img {
	width:140px;
	height:118px;
}
}
@media all and (max-width: 767px) {
header.header {
	background-position:left top;
}
header.header div.header-inner {
	height:135px;
}
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:282px;
	height:110px;
}
header.header div.header-inner p.logo {
	margin-left:-141px;
	margin-top:-55px;
}
header.header div.header-inner p.date {
	margin-right:-135px;
	bottom:11px;
}
header.header div.header-inner p.date span {
	width:146px;
	height:30px;
}
header.header div.header-inner:before,
header.header div.header-inner:after {
	width:150px;
	height:72px;
	background-size:cover;
}
header.header div.menu:before {
	width:111px;
	height:135px;
	right:0;
	background-size:111px 135px;
}
header.header div.walk {
	top:63px;
}
header.header div.walk,
header.header div.walk span,
header.header div.walk span img {
	width:85px;
	height:72px;
}
}

/*	slider menu
============================== */
div.menu {
	/* position:relative;
	z-index:5; */
	background-color:hsla(0,0%,100%,0.75);
	background-color:#10d1dd;
	background-image:url(../img/cmn_menu_bg.png);
	background-position:center top;
	background-repeat:repeat-x;
/*
	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;
	text-shadow:0px 2px 2px hsla(0,0%,0%,0.25);
	color:#004eff;
	background-image:-webkit-linear-gradient(top,#fff,#d6d6d6 80%,#fff);
	background-image:linear-gradient(to bottom,#fff,#d6d6d6 80%,#fff);
	background-color:#fff;
	border-style:solid;
	border-color:#000;
	/*
	-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;
}
.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:#004eff; */
	font-family:'Press Start 2P', 'sans serif';
	font-weight:normal;
	/**/
	/* font-kerning: normal; */
	font-feature-settings: "palt";
	/* text-justify: inter-ideograph; */
	/**/
}
.cmn div.menu > nav div.outer ul li a span {
	color:#000;
}
div.menu > nav div.outer ul li a:hover,
.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,
.story div.menu > nav div.outer ul li.mstory a,
.bbs div.menu > nav div.outer ul li.mbbs a,
.comic div.menu > nav div.outer ul li.mcomic a,
.topics div.menu > nav div.outer ul li.mtopics 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 {
	color:#fff000;
	text-shadow:1px 2px 2px hsla(0,0%,0%,0.25);
	background-color:#fb48c4;
	background-image:none;
	/* -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; */
}
div.menu > nav div.outer ul li a:hover 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,
.story div.menu > nav div.outer ul li.mstory a span,
.bbs div.menu > nav div.outer ul li.mbbs a span,
.comic div.menu > nav div.outer ul li.mcomic a span,
.topics div.menu > nav div.outer ul li.mtopics 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,
.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.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.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.mcomic a:before {content:"COMIC";}
.cmn div.menu > nav div.outer ul li.mtopics a:before {content:"TOPICS";}
.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;
	padding:13px 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 {
	padding:11px 13px;
	border-right-width:4px;
	border-bottom-width:4px;
	/* 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:125%;
}
.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:24px 69px;
	padding:6px 2px;
}
div.menu > nav div.outer {
	margin:0 30px;
}
div.menu > nav div.outer ul li:not(:last-child) {
	padding-right:4px;
}
div.menu > nav div.outer ul li a {
	padding:5px 7px;
	border-right-width:2px;
	border-bottom-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:100%;
}
.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:-20px;
}
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:41px;
	background-image:url(../img/arrow_menu.png);
	background-repeat:no-repeat;
	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) {
}


/*	.wrap .contents
============================== */
div.wrap {
	background-image:url(../img/cmn_bg_wrap.png);
	background-repeat:repeat;
	background-color:#fff000;
}
div.wrap > div.contents {
	text-align:left;
	background-color:hsla(0,0%,100%,0.9);
}
@media all and (min-width: 768px) {
div.wrap {
	background-position:center top;
	padding:30px 0;
}
div.wrap > div.contents {
	width:924px;
	margin:0 auto;
}
}
@media all and (max-width: 767px) {
div.wrap {
	background-position:left top;
	background-size:16px 270px;
	padding:15px 10px;
}
}

/*	h1
============================== */
main > article > header {
	text-align:left;
}
main > article > header > h1 {
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-image:url(../img/cmn_h1.png?1);
	background-position:left top;
	background-repeat:no-repeat;
	margin:0 auto;
}
@media all and (min-width: 768px) {
main > article > header {
	padding:15px 0;
}
main > article > header h1 {
	width:400px;
	height:120px;
}
.about main > article > header h1 {}
.story main > article > header h1 {background-position:0 -120px;}
.cast main > article > header h1 {background-position:0 -240px;}
.staff main > article > header h1 {background-position:0 -360px;}
.comic main > article > header h1 {background-position:0 -480px;}
.bbs main > article > header h1 {background-position:0 -600px;}
.topics main > article > header h1 {background-position:0 -720px;}
.interview main > article > header h1 {background-position:0 -840px;}
.chart main > article > header h1 {background-position:0 -960px;}
.present main > article > header h1 {background-position:0 -1080px;}
.gallery main > article > header h1 {background-position:0 -1200px;}
.recipe main > article > header h1 {background-position:0 -1320px;}
.oitoma main > article > header h1 {background-position:0 -1440px;}
.uika main > article > header h1 {background-position:0 -1560px;}
}
@media all and (max-width: 767px) {
main > article > header {
	padding:11px 0;
}
main > article > header h1 {
	background-size:300px 1260px;
	width:300px;
	height:90px;
}
.story main > article > header h1 {background-position:0 -90px;}
.cast main > article > header h1 {background-position:0 -180px;}
.staff main > article > header h1 {background-position:0 -270px;}
.comic main > article > header h1 {background-position:0 -360px;}
.bbs main > article > header h1 {background-position:0 -450px;}
.topics main > article > header h1 {background-position:0 -540px;}
.interview main > article > header h1 {background-position:0 -630px;}
.chart main > article > header h1 {background-position:0 -720px;}
.present main > article > header h1 {background-position:0 -810px;}
.gallery main > article > header h1 {background-position:0 -900px;}
.recipe main > article > header h1 {background-position:0 -990px;}
.oitoma main > article > header h1 {background-position:0 -1080px;}
.uika main > article > header h1 {background-position:0 -1170px;}
}


/*	.subox
============================== */
article.subox {
	background-color:hsla(0,0%,100%,0.5);
}
article.subox header {
	background-color:#78e687;
}
article.subox > header > h2, article.subox > header > h3 {
	line-height:1.5;
	text-shadow:1px 1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff;
}
.about article.subox > header > h2 {
	background-image:url(../img/cmn_bg_yellow.png);
	background-repeat:repeat;
	background-position:left top;
}
article.subox > header > h3 {
	background-image:url(../img/topics_h3_bg.png);
	background-repeat:repeat-x;
	background-position:left bottom;
}
article.subox > section.unit > h3, article.subox > section.unit > h4 {
	line-height:1.5;
	padding:0 0.75em;
	margin-bottom:1.5em;
	background-color:hsla(56,100%,50%,0.9);
/*
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(56,100%,50%,0.9)), to(hsla(56,100%,50%,0.9)));
	background-image: linear-gradient(transparent 50%, hsla(56,100%,50%,0.9) 50%);
*/
}
@media all and (min-width: 768px) {
article.subox {
	padding:40px 30px;
}
article.subox header {
	margin:-40px -30px 40px;
}
div.unit-inner article.subox:not(:last-child),
article.subox > section:not(:last-child), article.subox > div:not(:last-child) {
	margin-bottom:40px;
}
article.subox > header > h2, article.subox > header > h3 {
	font-size:125%;
	padding:1em 1.5em;
}
.about article.subox > header > h2 {
	background-size:490px 490px;
}
.topics article.subox > header > h3 {
	padding:0.5em 1.5em 1.75em;
}
article.subox > section.unit > h3, article.subox > section.unit > h4 {
	font-size:112.5%;
}
}
@media all and (max-width: 767px) {
article.subox {
	padding:20px 12px;
}
article.subox header {
	margin:-20px -12px 20px;
}
div.unit-inner article.subox:not(:last-child),
article.subox > section:not(:last-child), article.subox > div:not(:last-child) {
	margin-bottom:20px;
}
article.subox > header > h2, article.subox > header > h3 {
	font-size:112.5%;
	padding:0.5em 1.5em;
}
.about article.subox > header > h2 {
	background-size:400px 400px;
}
.topics article.subox > header > h3 {
	background-size:72px 21px;
	padding:0.5em 1.5em 1.25em;
}
article.subox > section.unit > h3, article.subox > section.unit > h4 {
	font-size:87.5%;
}
}




/*	text lines
============================== */
main > article cite {
	color:#ff007b;
	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;
}
main > article p.lines img {
	vertical-align:middle;
}
@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.mov-outer {
	background-color:#000;
}
div.mov-inner {
	position:relative;
	height:0;
	padding-top:56.25%;
}
div.mov-inner iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

/*	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:#fff04e;
}
@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 #ffb200;
	box-shadow:10px 10px 0 0 #ffb200;
}
/*
.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 #ffb200;
	box-shadow:6px 6px 0 0 #ffb200;
}
.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%;
}
}

/* ---0913---- */

.pic-m-0913_1 span.pic {
	padding-top:193.2258%;
}

.pic-m-present0913_1 {
	float:left;
	width:291px;
	margin-left:86px;
	margin-right:43px;
}

.pic-m-present0913_2 {
	float:left;
	width:309px;
	margin-left:43px;
	margin-right:86px;
}

.pic-m-present0913_1 span.pic {
	padding-top:141.77215%;
	background-size:cover;
}

.pic-m-present0913_2 span.pic {
	padding-top:133.333333333333333%;
	background-size:cover;
}

.pic-m-present0913_1 figcaption > span,
.pic-m-present0913_2 figcaption > span {
	background-color:transparent;
	font-size:120%;
	font-weight:bold;
}

.pic-m-present0913_2 span.pic {
	padding-top:133.333333333333333%;
	background-size:cover;
}

@media all and (max-width: 767px) {

.pic-m-present0913_1,
.pic-m-present0913_2 {
float:none;
width:auto;
margin-left:15%;
margin-right:15%;
}

}


/*	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 #ffb200;
	box-shadow:8px 8px 0 0 #ffb200;
}
}
@media all and (max-width: 767px) {
div.cmn-pic-sub {
	position:relative;
	margin:0 -12px 20px;
}
div.cmn-pic-sub figure.subpic-lef > span {margin-right:3px;}
div.cmn-pic-sub figure.subpic-rig > span {margin-left:3px;}

div.cmn-pic-sub figure > span span.lazy-done {
	-webkit-box-shadow:0 5px 0 0 #ffb200;
	box-shadow:0 5px 0 0 #ffb200;
}
}


/*	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%;
}
}



/*	sns share
============================== */
div.sns-share {
	text-align:left;
}
div.sns-share section {
	display:table;
	width:100%;
}
div.sns-share section h2, div.sns-share section h3, div.sns-share section div.sns-rig {
	display:table-cell;
	width:50%;
}
div.sns-share section h2, div.sns-share section h3 {
	line-height:1.5;
	text-align:right;
	vertical-align:middle;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
body:not(.topics) div.sns-share section h2 > span,
body:not(.topics) div.sns-share section h3 > span {
	padding:0.25em 0.5em;
	background-color:hsla(0,0%,100%,0.75);
}
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:left top;
}
div.sns-share section ul li.shr-ln a {
	background-color:#00b900;
	background-position:left bottom;
}
div.sns-share section ul li.shr-fb a {
	background-color:#315096;
	background-position:right top;
}
@media all and (min-width: 768px) {
div.sns-share {
	padding:40px 0;
}
div.sns-share section h2, div.sns-share section h3 {
	font-size:83%;
	padding-right:10px;
}
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:128px 128px;
	border-radius:12px;
}
}
@media all and (max-width: 767px) {
div.sns-share {
	padding:20px 0;
}
.topics div.sns-share section h3 {
	width:55%;
}
.topics div.sns-share section div.sns-rig {
	width:45%;
}
div.sns-share section h2, div.sns-share section h3 {
	font-size:75%;
	padding-right:6px;
}
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:80px 80px;
	border-radius:10px;
}
}
@media all and (max-width: 374px) {
div.sns-share section h3 {
	font-size:62.5%;
}
div.sns-share section ul li:not(:last-child) {
	margin-right:3px;
}
div.sns-share section h2 {
	width:55%;
}
div.sns-share section div.sns-rig {
	width:45%;
}
}


/*	buttons
============================== */
p.btn a, p.btn a span {
	display:block;
}
p.btn a {
	position:relative;
	overflow:hidden;
	text-decoration:none;
	border-style:solid;
	border-color:#6270fa;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	color:#283cc8;
	background-color:#00ff78;
	background-image:-webkit-linear-gradient(top,#b1fd18,#00ff78 80%,#06bbf2);
	background-image:linear-gradient(to bottom,#b1fd18,#00ff78 80%,#06bbf2);
}
p.btn a span {
	font-weight:bold;
	text-align:center;
	text-shadow:0 0px 2px hsla(0, 0%, 100%, .9);
}
p.btn a span: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 {
	margin:0 120px;
}
p.btn:not(:last-child) {
	margin-bottom:30px;
}
p.btn a {
	border-radius:25px;
	height:50px;
	border-width:3px;
}
p.btn a span {
	font-size:112.5%;
	line-height:44px;
}
p.btn a:hover {
	color:#fff;
	background-color:#06bbf2;
	background-image:none;
}
p.btn a:hover span {
	text-shadow:0 2px 2px hsla(0, 0%, 0%, .2);
}
p.btn a span: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:not(:last-child) {
	margin-bottom:15px;
}
p.btn a {
	border-radius:18px;
	height:36px;
	border-width:2px;
}
p.btn a span {
	font-size:87.5%;
	line-height:32px;
}
p.btn a span:before {
	left:4px;
	background-position:-93px -3px;
	background-size:120px 30px;
	border-radius:12px;
	width:24px;
	height:24px;
	margin-top:-12px;
}
}


p.btn-caption {
	color:#c00;
	font-weight:bold;
	text-align:center;
	line-height:1.5;
}
p.btn-caption span {
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(56,100%,50%,0.5)), to(hsla(56,100%,50%,0.5)));
	background-image: linear-gradient(transparent 50%, hsla(56,100%,50%,0.5) 50%);
	padding:0 1em 0.25em;
}
@media all and (min-width: 768px) {
p.btn-caption:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
p.btn-caption {
	font-size:83%;
}
p.btn-caption:not(:last-child) {
	margin-bottom:20px;
}
}


/*	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;
}
}

/*	ul button
============================== */
ul.btns {
	list-style-type:none;
}
ul.btns li {
	width:50%;
	float:left;
}
ul.btns li a, ul.btns li span {
	display:block;
}
ul.btns li a {
	position:relative;
	overflow:hidden;
	text-decoration:none;
	border-style:solid;
	border-color:#6270fa;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	color:#283cc8;
	background-color:#00ff78;
	background-image:-webkit-linear-gradient(top,#b1fd18,#00ff78 80%,#06bbf2);
	background-image:linear-gradient(to bottom,#b1fd18,#00ff78 80%,#06bbf2);
}
ul.btns li a span {
	font-weight:bold;
	text-align:center;
	text-shadow:0 0px 2px hsla(0, 0%, 100%, .9);
}
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;
}
@media all and (min-width: 768px) {
ul.btns {
	margin:0 32px;
}
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) > span {
	margin-right:6px;
}
ul.btns li:nth-child(even) > span {
	margin-left:6px;
}
ul.btns li a {
	border-radius:25px;
	height:50px;
	border-width:3px;
}
ul.btns li a:hover {
	color:#fff;
	background-color:#06bbf2;
	background-image:none;
}
ul.btns li a:hover span {
	text-shadow:0 2px 2px hsla(0, 0%, 0%, .2);
}
ul.btns li a span {
	font-size:100%;
	line-height:44px;
}
ul.btns li a span: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) {
ul.btns {
	margin:6px 6px 0;
}
ul.btns li {
	margin-bottom:4px;
}
ul.btns li:nth-child(odd) > span {
	margin-right:2px;
}
ul.btns li:nth-child(even) > span {
	margin-left:2px;
}
ul.btns li a {
	border-radius:18px;
	height:36px;
	border-width:2px;
}
ul.btns li a span {
	text-indent:16px;
	font-size:87.5%;
	line-height:32px;
}
ul.btns li a span:before {
	left:4px;
	background-position:-93px -3px;
	background-size:120px 30px;
	border-radius:12px;
	width:24px;
	height:24px;
	margin-top:-12px;
}
}



/*	pager
============================== */

/*	next
============================== */
div.cmn-pager > a {
	display:block;
	position:relative;
	text-decoration:none;
	background-color:hsla(178,100%,54%,0.5);
}
div.cmn-pager a dl {
}
div.cmn-pager a dl dt, div.cmn-pager a dl dd {
	color:#000;
	line-height:1.5;
}
div.cmn-pager a dl dd {
	font-weight:bold;
	color:#6270fa;
}
div.cmn-pager a dl dd:after {
	content:"＞";
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-image:url(../img/arrow26.svg);
	background-position:left top;
	background-repeat:no-repeat;
	position:absolute;
	top:50%;
}
div.cmn-pager > a:hover {
	background-color:#6270fa;
}
div.cmn-pager > a:hover dl dt,
div.cmn-pager > a:hover dl dd {
	color:#fff;
}
div.cmn-pager a:hover dl dd:after {
	background-position:right top;
}
@media all and (min-width: 768px) {
div.cmn-pager > a {
	padding:12px 48px 12px 24px;
	margin-bottom:12px;
}
div.cmn-pager a dl {
	min-height:50px;
	display:table;
	width:100%;
}
div.cmn-pager a dl dt, div.cmn-pager a dl dd {
	display:table-cell;
	vertical-align:middle;
}
div.cmn-pager a dl dt {
	font-size:87.5%;
}
div.cmn-pager a dl dd {
	font-size:112.5%;
}
div.cmn-pager a dl dd:after {
	right:6px;
	background-size:68px 50px;
	width:34px;
	height:50px;
	margin-top:-25px;
}
}
@media all and (max-width: 767px) {
div.cmn-pager > a {
	padding:6px 32px 6px 10px;
	margin-bottom:6px;
}
div.cmn-pager a dl {
	min-height:38px;
}
div.cmn-pager a dl dt {
	font-size:83%;
}
div.cmn-pager a dl dt span {
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(0,0%,100%,0.9)), to(hsla(0,0%,100%,0.9)));
	background-image: linear-gradient(transparent 50%, hsla(0,0%,100%,0.9) 50%);
	margin-left:-10px;
	padding-left:10px;
	padding-right:6px;
}
div.cmn-pager a:hover dl dt span {
	background-image:none;
}
div.cmn-pager a dl dd {
	font-size:87.5%;
}
div.cmn-pager a dl dd:after {
	right:3px;
	background-size:52px 38px;
	width:26px;
	height:38px;
	margin-top:-19px;
}
}

/*	pager
============================== */

div.cmn-pager {
}
div.cmn-pager nav {
	text-align:center;
	background-color:hsla(178,100%,54%,0.5);
}
div.cmn-pager ul li {
	display:inline-block;
}
div.cmn-pager ul li a {
	text-decoration:none;
}
div.cmn-pager ul li.pager-prev,
div.cmn-pager ul li.pager-next {
	display:block;
}
div.cmn-pager ul li.pager-prev {
	float:left;
}
div.cmn-pager ul li.pager-next {
	float:right;
}
div.cmn-pager ul li.first::after,
div.cmn-pager ul li.last::before {
	font-family:serif !important;
}
div.cmn-pager ul li.first::after {
	content:" …｜";
}
div.cmn-pager ul li.last::before {
	content:"… ";
}
div.cmn-pager ul li.pager-prev,
div.cmn-pager ul li.pager-next {
	padding-top:0;
}
div.cmn-pager ul li a,
div.cmn-pager ul li b,
div.cmn-pager ul li span {
	display:inline-block;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	border-style:solid;
	border-color:#6270fa;
	color:#283cc8;
	background-color:#00ff78;
}
div.cmn-pager ul li b,
div.cmn-pager ul li a:hover {
	color:#fff;
	background-color:#6270fa;
}
div.cmn-pager ul li.pager-prev a,
div.cmn-pager ul li.pager-next a {
	background-image:url(../img/arrow40.svg);
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div.cmn-pager ul li.nolnk a {
	cursor:default;
	opacity:0;
	border-color:#000;
	background-color:transparent;
	/* background-image:none; */
}
@media all and (min-width: 768px) {
div.cmn-pager {
	padding:40px 128px;
}
div.cmn-pager nav {
	padding:12px;
}
div.cmn-pager ul li {
	padding-top:6px;
}
div.cmn-pager ul li a,
div.cmn-pager ul li b,
div.cmn-pager ul li span {
	font-size:150%;
	border-width:2px;
	line-height:44px;
	width:48px;
	height:48px;
}
div.cmn-pager ul li.pager-prev a,
div.cmn-pager ul li.pager-next a {
	background-size:240px 60px;
	width:60px;
	height:60px;
}
div.cmn-pager ul li.pager-prev a {
	background-position:-122px -2px;
}
div.cmn-pager ul li.pager-next a {
	background-position:-182px -2px;
}
div.cmn-pager ul li.pager-prev a:hover {
	background-position:-2px -2px;
}
div.cmn-pager ul li.pager-next a:hover {
	background-position:-62px -2px;
}
}
@media all and (max-width: 767px) {
div.cmn-pager {
	padding:0 10px 10px;
}
div.cmn-pager nav {
	padding:6px; 
}
div.cmn-pager ul li {
	padding-top:2px;
}
div.cmn-pager ul li a,
div.cmn-pager ul li b,
div.cmn-pager ul li span {
	font-size:100%;
	border-width:1px;
	line-height:26px;
	width:28px;
	height:28px;
}
div.cmn-pager ul li.pager-prev a,
div.cmn-pager ul li.pager-next a {
	background-size:128px 32px;
	width:32px;
	height:32px;
}
div.cmn-pager ul li.pager-prev a {
	background-position:-65px -1px;
}
div.cmn-pager ul li.pager-next a {
	background-position:-97px -1px;
}
div.cmn-pager ul li.pager-prev a:hover {
	background-position:-1px -1px;
}
div.cmn-pager ul li.pager-next a:hover {
	background-position:-33px -1px;
}
}


/*	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%;
}
}




/* =================================
	CAST STAFF CSS
================================= */

.cast div.wrap > div.contents,
.staff div.wrap > div.contents,
.chart div.wrap > div.contents {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

.cast main table tr.nocast th, .cast main table tr.nocast td {
	font-size:0.5em !important;
	padding-bottom:0;
}

@media all and (min-width: 768px) {
.cast div.wrap > div.contents,
.staff div.wrap > div.contents,
.chart div.wrap > div.contents {
	padding:40px 32px;
}
}
@media all and (max-width: 767px) {
.cast div.wrap > div.contents {
	padding:20px 10px;
}
.chart div.wrap > div.contents {
	padding:20px 16px;
}
.staff div.wrap > div.contents {
	padding:20px 32px;
}
}

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 tr.mama th, .cast main table tr.mama td {
	vertical-align:middle;
	line-height:1.25;
}
.cast main table th, .cast main table td {
	vertical-align:bottom;
}
.staff main table th, .staff main table td {
	padding-bottom:0.75em;
}
.cast main table th ruby rt {
	font-weight:normal;
}
.staff main table td b {
/*	color:#0086cc; */
}
.cast main table th,
.staff main table th {
	text-align:right;
	font-weight:normal;
	color:#ff337b;
	white-space: nowrap;
	font-weight:bold;
}
.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;
}

.cast main table th span.kakko {
	font-size:75%;
}

@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%;
}
.cast main table th {
	width:46%;
}
}
@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%;
}
.staff main table, .staff main table tbody, .staff main table tr {
	display:block;
}
.staff main table th, .staff main table td {
	display:block;
	text-align:center;
}
.staff main table th {
	padding:0;
	margin:0 0 0.5em;
}
.staff main table th span {
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(56,100%,50%,0.9)), to(hsla(56,100%,50%,0.9)));
	background-image: linear-gradient(transparent 50%, hsla(56,100%,50%,0.9) 50%);
	padding:0 0.5em;
}
.staff main table td.naka {
	display:none;
}
.staff main table td {
	width:100%;
}
}
@media all and (max-width: 413px) {
.cast div.wrap > div.contents {
	padding:20px 0 20px 10px;
}
.cast main table th {
	width:40%;
}
.cast main table th span.tume1 {
	letter-spacing:-1px;
}
.cast main table th span.tume2 {
	letter-spacing:-0.5em;
}
.cast main table th, .cast main table td {
	font-size:83%;
}
}


@media all and (max-width: 374px) {
.cast main table th span.kakko {
	font-size:62.5%;
}
}