﻿@import url("/um/v7/css/reset.css");
@import url("snsicons.css");
@import url("keyframes.css");


@media all and (min-width: 768px) {
div.bn-recta {
	padding-top:40px;
	margin-bottom:40px;
}
}
@media all and (max-width: 767px) {
div.bn-recta {
	padding-top:20px;
	margin-bottom:20px;
}
}


/* =================================
	Web Fonts
================================= */
div.menu nav ul li a:before,
main > article > header h1:before,
div.tbs-topics article header h2,
.idx div.sns aside section h3 span,
.idx div.story article header h2,
.caststaff main > article > div.unit > article > div.outer > div.inner > div.contents > h2,
div.wnew article header h2, div.wnew article ul li a > span.date,
div.stream-footer aside h2 span {
	font-family: como, sans-serif;
	font-weight: 700;
	font-style: normal;
/*	letter-spacing:0.05em;
	text-indent:0.05em; */
}


div.menu nav ul li a span,
.lower main > article > header h1 span,
div.sns-icons aside div:first-child h2 span,
.oa-story, div.btn-story a span,
.chart div.header-chart h2 span {
	font-family: "vdl-penletter", sans-serif;
	font-weight: 500;
	font-style: normal;
}


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

/* link */
a:link {
	text-decoration:underline;
	color:#c00;
}
a:visited {
	text-decoration:none;
	color:#c00;
}
a:active {
	text-decoration:none;
	color:#c00;
}
a:hover {
	text-decoration:underline;
	color:#c00;
}

/* font size */
.xxl {
	font-size:150%;
}
.xl {
	font-size:125%;
}
.l {
	font-size:112.5%;
}
.s {
	font-size:83%;
}
.xs {
	font-size:75%;
}
.xxs {
	font-size:62.5%;
}

@media all and (max-width: 374px) {
.xl, .xxl {
	font-size:112.5%;
}
.s, .xs {
	font-size:62.5%;
}
}

/* smp br */
@media all and (min-width: 768px) {
.br-smp {
	display:none;
}
}

.ff {
	font-family:serif;
}
.lazy {
	display:block;
	position:relative;
}
.wbr {
	white-space: nowrap;
	display: inline-block;
}

/*	copyright
============================== */
div.copyright p {
	line-height:1.25;
	text-align:center;
}
div.copyright p > small {
	display:block;
}
@media all and (min-width: 768px) {
	div.copyright p {
		font-size:75%;
	}
	div.copyright p > small {
		padding:40px 0;
	}
	div.copyright p a:hover {
		text-decoration:none;
	}
}
@media all and (max-width: 767px) {
	div.copyright p {
		font-size:62.5%;
	}
	div.copyright p > small {
		padding:30px 12px;
	}
}

/*	background
============================== */
body {
	color: #0c2040;
	text-align:center;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	font-family:"ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
	background-color:#bbe4e6;
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(0.48, transparent), color-stop(0.52, #f2b1c9), to(#f2b1c9));
	background-image: -webkit-linear-gradient(left, transparent, transparent 48%, #f2b1c9 52%, #f2b1c9);
	background-image: linear-gradient(to right, transparent, transparent 48%, #f2b1c9 52%, #f2b1c9);
}
div.cover {
	/**/
	font-family: fot-udmarugo-large-pr6n, sans-serif;
	font-weight: 500;
	font-style: normal;
	/**/
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	overflow:hidden;
}
div.cover b {
	font-weight: 700;
}
@media all and (max-width: 767px) {
div.cover {
	min-width:320px;
}
}


/*	YouTube
============================== */
div.mov-inner {
	position:relative;
	height:0;
	padding-top:56.25%;
	background-color:#000;
	background-size:cover;
}
div.mov-inner iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
div.mov-outer {
	-webkit-box-shadow:10px 10px 0 0 #fae646;
	box-shadow:10px 10px 0 0 #fae646;
	margin:0 auto;
	max-width:800px;
}
div.mov-outer:not(:last-child) {
	margin-bottom:40px;
}
}
@media all and (max-width: 767px) {
div.mov-outer {
	-webkit-box-shadow:5px 5px 0 0 #fae646;
	box-shadow:5px 5px 0 0 #fae646;
	margin:0 12px;
}
div.mov-outer:not(:last-child) {
	margin-bottom:40px;
}
}
@media print {
div.mov-inner {
	display:none;
}
}


/*	YouTube buttons
============================== */
ul.yt-lists {
	width:100%;
	background-color:#bbe4e6;
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(0.48, transparent), color-stop(0.52, #f2b1c9), to(#f2b1c9));
	background-image: -webkit-linear-gradient(left, transparent, transparent 48%, #f2b1c9 52%, #f2b1c9);
	background-image: linear-gradient(to right, transparent, transparent 48%, #f2b1c9 52%, #f2b1c9);
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding:8px;
}
ul.yt-lists li span, ul.yt-lists li a {
	display:block;
}
ul.yt-lists li a {
	text-decoration:none;
	color:#0c467c;
	background-color:#fff;
	padding:1em;
	line-height:1.5;
	position:relative;
	text-align:center;
}
ul.yt-lists li a.yt-playing {
	background-color:#3fa19d;
}
ul.yt-lists li a.yt-playing span {
	font-weight:bold;
	color:#f9d8e4;
}
ul.yt-lists li a.yt-playing:after {
	content:"NOW PLAYING";
	background-color:yellow;
	/**/
	/**/
	color:#000;
	display:inline-block;
	line-height:1.25;
	font-size:75%;
	padding:0.1em 0.5em;
	position:absolute;
	top:-4px;
	right:-4px;
}
div.yt-playlist div.mov-outer {
	-webkit-box-shadow:none;
	box-shadow:none;
	margin:0;
}
@media all and (min-width: 768px) {
body.story div.yt-playlist {
	margin:0 auto 40px;
	max-width:800px;
}
ul.yt-lists li {
	width:calc((100% - 8px*3)/4);
}
ul.yt-lists li:not(:last-child) {
	margin-right:8px;
}
ul.yt-lists li a span {
	font-size:112.5%;
}
div.yt-playlist div.mov-outer {
	max-width:100%;
}
div.yt-playlist:not(:last-child) {
	margin-bottom:40px;
}
}
@media all and (max-width: 767px) {

body.story div.yt-playlist {
	margin:0 12px 20px;
}
ul.yt-lists li {
	width:calc((100% - 8px)/2);
}
ul.yt-lists li:not(:nth-child(even)) {
	margin-right:8px;
}

ul.yt-lists li:first-child {
	margin-bottom:8px;
}
/*
ul.yt-lists li:first-child {
	width:100%;
	margin-right:0;
	margin-bottom:8px;
}
*/
ul.yt-lists li a span {
	font-size:83%;
}
div.yt-playlist:not(:last-child) {
	margin-bottom:20px;
}
}


/*	menu
============================== */
div.menu {
	background-color:#c0f4ff;
	background-image: -webkit-gradient(linear, center top, center bottom, from(#60aaf1), to(#3f81d7));
	background-image: linear-gradient(#60aaf1 0%, #3f81d7 100%);
	padding:10px 0;
	border-bottom:16px solid #c0f4ff;
	-webkit-box-shadow: rgba(32,76,150,0.5) 0px 2px 10px 0px;
	-moz-box-shadow: rgba(32,76,150,0.5) 0px 2px 10px 0px;
	-ms-box-shadow: rgba(32,76,150,0.5) 0px 2px 10px 0px;
	-o-box-shadow: rgba(32,76,150,0.5) 0px 2px 10px 0px;
	box-shadow: rgba(32,76,150,0.5) 0px 2px 10px 0px;
}
div.menu:after {
	content:"";
	background-color:#f5eb7a;
	height:4px;
}
div.menu nav {
	background-color:#d6eff0;
	border-top:5px solid #fff;
	border-bottom:5px solid #fff;
	text-align:left;
	padding:10px 0;
}
div.menu nav ul {
	display:flex;
	justify-content:center;
	width:100%;
	max-width:1080px;
	marggin:0 auto;
}
div.menu nav ul li {
	/**/
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	/**/
}
div.menu nav ul li span,
div.menu nav ul li a {
	display:block;
}
div.menu nav ul li a {
	text-align:center;
	text-decoration:none;
	background-color:hsla(0,100%,100%,0);
}
div.menu nav ul li a:before {
	display:block;
	font-weight:700;
	white-space:nowrap;
	line-height:1.25;
	color:#d4587d;
	/**/
	background-image: -webkit-gradient(linear, center top, center bottom, from(#eb5fae), to(#e20b83));
	background-image: linear-gradient(#eb5fae, #e20b83);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	/**/
	text-shadow:2px 3px 3px hsla(0,100%,100%,0.5);
}
div.menu nav ul li.news a:before {
	content:"News";
}
div.menu nav ul li.about a:before {
	content:"About";
}
div.menu nav ul li.staff a:before {
	content:"Cast&Staff";
}
div.menu nav ul li.story a:before {
	content:"Story";
}
div.menu nav ul li.chart a:before {
	content:"Chart";
}
div.menu nav ul li.onair a:before {
	content:"Onair";
}

div.menu nav ul li a span {
	color:#000;
	display:inline-block;
	line-height:1.5;
	padding:0 0.5em;
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, #fcf781), to(#fcf781));
	background-image: linear-gradient(transparent 50%, #fcf781 50%);
}
div.menu nav ul li:not(.nolnk) a:hover:before,
.about div.menu nav ul li.about a:before,
.story div.menu nav ul li.story a:before,
.caststaff div.menu nav ul li.staff a:before,
.chart div.menu nav ul li.chart a:before,
.onair div.menu nav ul li.onair a:before,
.news div.menu nav ul li.news a:before {
	color:#227bd6;
	background-image:none;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	-webkit-text-fill-color: currentcolor;
}

div.menu nav ul li.nolnk a {
	opacity:0.5;
	cursor:default;
}


@media all and (min-width: 768px) {
div.menu {
}
div.menu nav ul {
	margin:0 auto;
}
div.menu nav ul li {
	width:15%;
}
div.menu nav ul li.staff {
	width:21%;
}
div.menu nav ul li.story, div.menu nav ul li.chart {
	width:17%;
}
div.menu nav ul li:not(:last-child) {
	border-right:4px solid #9ccfeb;
}
div.menu nav ul li a {
	padding:0.5em 0 1em;
	/*
	-webkit-box-shadow:hsla(0, 100%, 100%,0.8) 0 0 60px 0 inset;
	box-shadow:hsla(0, 100%, 100%,0.8) 0 0 60px 0 inset;
	*/
}
}
@media all and (min-width: 980px) {
div.menu nav ul li a {
/*	border:4px solid #fff; */
}
div.menu nav ul li a:before {
	font-size:200%;
}
div.menu nav ul li a span {
	font-size:112.5%;
}
}
@media all and (min-width: 768px) and (max-width: 979px) {
div.menu nav ul li a {
/*	border:3px solid #fff; */
}
div.menu nav ul li a:before {
	font-size:175%;
}
div.menu nav ul li a span {
	font-size:87.5%;
}
}
@media all and (max-width: 767px) {
div.menu {
}
div.menu nav ul {
	flex-wrap:wrap;
}
div.menu nav ul li {
	width:30%;
}
div.menu nav ul li.staff {
	width:40%;
}
div.menu nav ul li.story, div.menu nav ul li.chart {
	width:35%;
}
div.menu nav ul li:not(:nth-child(3n)) {
	border-right:4px solid #9ccfeb;
}

div.menu nav ul li:nth-child(1), div.menu nav ul li:nth-child(2), div.menu nav ul li:nth-child(3) {
/*	border-bottom:4px solid #9ccfeb;*/
	margin-bottom:8px;
}

div.menu nav ul li a {
	padding:0.25em 0 0.5em;
}
div.menu nav ul li a:before {
	font-size:6vw;
}
div.menu nav ul li a span {
	font-size:3.5vw;
}
}

/*	p.lines
============================== */
p.lines, dd.lines {
	background-position:left bottom;
	background-repeat:repeat;
	text-align:justify;
	text-justify:inter-ideograph;
	padding:0 0.75em;
}
@media all and (min-width: 768px) {
p.lines, dd.lines {
	font-size:112.5%;
	background-image:url(../img/line36.png);
	line-height:36px;
	background-size:36px 36px;
}
p.lines:not(:last-child), dd.lines:not(:last-child) {
	margin-bottom:36px;
}
}
@media all and (max-width: 767px) {
p.lines, dd.lines {
	font-size:100%;
	background-image:url(../img/line30.png);
	line-height:30px;
	background-size:30px 30px;
}
p.lines:not(:last-child), dd.lines:not(:last-child) {
	margin-bottom:30px;
}
}


/*	.pagetop
============================== */
div.pagetop {
	position:fixed;
	transition: right ease 1s;
	display:none;
	z-index:2;
}
div.pagetop a {
	display:block;
	background-image:url(../img/btn_pagetop.png?0);
	background-size:cover;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-repeat:no-repeat;
	background-position:right bottom;
}
@media all and (min-width: 768px) {
div.pagetop {
	bottom:20px;
}
div.pagetop-on {
	right:30px;
}
div.pagetop-off {
	right:-104px;
}
div.pagetop a {
	width:100px;
	height:100px;
}
}
@media all and (max-width: 767px) {
div.pagetop {
	bottom:72px;
}
div.pagetop-on {
	right:0;
}
div.pagetop-off {
	right:-70px;
}
div.pagetop a {
	width:68px;
	height:68px;
}
}


/*	.notebook
============================== */
main > article,
.idx .story > article {
	position:relative;
}
main > article > div.outer > div.inner,
main > article > div.unit > article > div.outer > div.inner,
.idx .story > article > div.outer > div.inner {
	background-image:url(../img/cmn_notebook.png);
	backgroud-position:left top;
	background-repeat:repeat-y;
	padding-bottom:1px;
}
main > article > div.outer:before, main > article > div.outer:after,
main > article > div.unit > article > div.outer:before, main > article > div.unit > article > div.outer:after,
.idx .story > article > div.outer:before, .idx .story > article > div.outer:after {
	content:"";
	display:block;
}
main > article > div.outer:before,
main > article > div.unit > article > div.outer:before,
.idx .story > article > div.outer:before {
	height:10px;
}
main > article > div.outer:after,
main > article > div.unit > article > div.outer:after,
.idx .story > article > div.outer:after {
	height:40px;
}
@media all and (min-width: 768px) {
main > article:before, main > article:after,
.idx .story > article:before, .idx .story > article:after {
	content:"";
	display:block;
	background-repeat:no-repeat;
	background-position:center center;
	position:absolute;
	z-index:-1;
}
main > article:before,
.idx .story > article:before {
	left:50%;
	top:30%;
	width:380px;
	height:630px;
	background-image:url(../img/cmn_notebook_bg_rig.png);
	margin-left:480px;
}
.idx .story > article:before {
	top:10%;
	margin-left:430px;
}
main > article:after,
.idx .story > article:after {
	right:50%;
	top:40%;
	width:416px;
	height:566px;
	background-image:url(../img/cmn_notebook_bg_lef.png);
	margin-right:416px;
}
.idx .story > article:after {
	top:20%;
	margin-right:366px;
}
main > article > div.outer:before, main > article > div.outer:after,
main > article > div.unit > article > div.outer:before, main > article > div.unit > article > div.outer:after,
.idx .story > article > div.outer:before, .idx .story > article > div.outer:after {
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(10px, transparent), color-stop(10px, #fff), to(#fffadc));
	background-image: -webkit-linear-gradient(left, transparent, transparent 10px, #fff 10px, #fffadc);
	background-image: linear-gradient(to right, transparent, transparent 10px, #fff 10px, #fffadc);
}
main > article > div.outer,
main > article > div.unit > article > div.outer,
.idx .story > article > div.outer {
	max-width:1080px;
	margin:0 auto;
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(48px, transparent), color-stop(48px, #fff), to(#fffadc));
	background-image: -webkit-linear-gradient(left, transparent, transparent 48px, #fff 48px, #fffadc);
	background-image: linear-gradient(to right, transparent, transparent 48px, #fff 48px, #fffadc);
	-webkit-box-shadow:10px 10px 0 0 #fae646;
	box-shadow:10px 10px 0 0 #fae646;
}
.idx .story > article > div.outer {
	max-width:980px;
}
main > article > div.outer > div.inner > div.contents,
main > article > div.unit > article > div.outer > div.inner > div.contents,
.idx .story > article > div.outer > div.inner > div.contents {
	padding:60px 60px 10px 80px;
}
main > article > div.unit:not(:last-child) {
	margin-bottom:60px;
}
}
@media all and (max-width: 767px) {
main > article > div.outer:before, main > article > div.outer:after,
main > article > div.unit > article > div.outer:before, main > article > div.unit > article > div.outer:after,
.idx .story > article > div.outer:before, .idx .story > article > div.outer:after {
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5px, transparent), color-stop(5px, #fff), to(#fffadc));
	background-image: -webkit-linear-gradient(left, transparent, transparent 5px, #fff 5px, #fffadc);
	background-image: linear-gradient(to right, transparent, transparent 5px, #fff 5px, #fffadc);
}
main > article > div.outer,
main > article > div.unit > article > div.outer,
.idx .story > article > div.outer {
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(24px, transparent), color-stop(24px, #fff), to(#fffadc));
	background-image: -webkit-linear-gradient(left, transparent, transparent 24px, #fff 24px, #fffadc);
	background-image: linear-gradient(to right, transparent, transparent 24px, #fff 24px, #fffadc);
	-webkit-box-shadow:5px 5px 0 0 #fae646;
	box-shadow:5px 5px 0 0 #fae646;
	margin-left:14px;
}
main > article > div.outer > div.inner,
main > article > div.unit > article > div.outer > div.inner,
.idx .story > article > div.outer > div.inner {
	background-size:25px 38px;
}
main > article > div.outer > div.inner:before,
.idx .story > article > div.outer > div.inner:before {
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	right:0;
	bottom:0;
	background-image:url(../img/cmn_notebook_smp.png);
	background-repeat:no-repeat;
	background-position:right bottom;
	background-size:60%;
}
main > article > div.outer > div.inner > div.contents,
.idx .story > article > div.outer > div.inner > div.contents {
	position:relative;
	z-index:2;
}
main > article > div.outer > div.inner > div.contents,
main > article > div.unit > article > div.outer > div.inner > div.contents,
.idx .story > article > div.outer > div.inner > div.contents {
	padding:30px 20px 0 40px;
}
main > article > div.unit:not(:last-child) {
	margin-bottom:30px;
}
}


/*	figure
============================== */
div.ph-large figure > span, div.ph-large figure span img {
	display:block;
}
div.ph-large figure > span {
	position:relative;
	height:0;
	padding-top:56.25%;
	background-size:cover;
}
div.ph-large figure span.lazy-done {
	-webkit-animation: fadeIn 800ms;
	animation: fadeIn 800ms;
}
div.ph-large figure span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.ph-large figure figcaption {
	text-align:center;
	line-height:1.5;
	margin-top:0.5em;
}

/**/
.idx div.story figure > span {
	padding-top: -webkit-calc(720 / 1080 * 100%);
	padding-top: calc(720 / 1080 * 100%);
}
.about div.about-kv figure > span {
	padding-top: -webkit-calc(720 / 1080 * 100%);
	padding-top: calc(720 / 1080 * 100%);
}
.news div.news1006 figure > span {
	padding-top: -webkit-calc(1528 / 1080 * 100%);
	padding-top: calc(1528 / 1080 * 100%);
}
.news div.news1012 figure > span {
	padding-top: -webkit-calc(810 / 1080 * 100%);
	padding-top: calc(810 / 1080 * 100%);
}
.news div.goods1016 figure > span {
	padding-top:100%;
}
/**/
@media all and (min-width: 768px) {
div.ph-large:not(:last-child) {
	margin-bottom:40px;
}
div.ph-large figure figcaption {
	font-size:83%;
}
div.ph-large figure span.lazy-done {
	-webkit-box-shadow:10px 10px 0 0 #fae646;
	box-shadow:10px 10px 0 0 #fae646;
}
.news div.news1006 {
	width:640px;
	margin:0 auto 40px;
}
.news div.goods1016 {
	width:500px;
	margin:0 auto 40px;
}
}
@media all and (max-width: 767px) {
div.ph-large:not(:last-child) {
	margin-bottom:20px;
}
div.ph-large figure figcaption {
	font-size:75%;
}
div.ph-large figure span.lazy-done {
	-webkit-box-shadow:5px 5px 0 0 #fae646;
	box-shadow:5px 5px 0 0 #fae646;
}
.news div.news1006 {
	width:70%;
	margin:0 auto 20px;
}
.news div.goods1016 {
	width:50%;
	margin:0 auto 20px;
}
}

/*	figure two
============================== */
div.ph-two figure > span, div.ph-two figure span img {
	display:block;
}
div.ph-two figure:not(:last-child), div.ph-two figure:not(:nth-last-child(1)) {
	margin-bottom:30px;;
}
div.ph-two figure > span {
	position:relative;
	height:0;
	padding-top: -webkit-calc(720 / 1080 * 100%);
	padding-top: calc(720 / 1080 * 100%);
	background-size:cover;
}
div.ph-two figure span.lazy-done {
	-webkit-animation: fadeIn 800ms;
	animation: fadeIn 800ms;
}
div.ph-two figure span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
div.ph-two:not(:last-child) {
	margin-bottom:40px;
}
div.ph-two figure span.lazy-done {
	-webkit-box-shadow:10px 10px 0 0 #fae646;
	box-shadow:10px 10px 0 0 #fae646;
}
div.ph-two {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div.ph-two figure {
	width:calc((100% - 40px)/2);
}
div.ph-two figure:nth-child(odd) {
	margin-right:40px;
}
}
@media all and (max-width: 767px) {
div.ph-two:not(:last-child),
div.ph-two figure:not(:last-child) {
	margin-bottom:20px;
}
div.ph-two figure span.lazy-done {
	-webkit-box-shadow:5px 5px 0 0 #fae646;
	box-shadow:5px 5px 0 0 #fae646;
}
}

@media print {
div.ph-large figure, div.ph-two figure {
	display:none;
}
}


/*	.oa-story
============================== */

.oa-story {
	display: flex;
	justify-content: center;
}
.oa-story > span {
	display:inline-block;
	line-height:1.5;
	padding:0.2em 0.5em;
}
.oa-story > span:first-child {
	background-color:#fbe34c;
}
.oa-story > span:last-child {
	background-color:#fff;
}
@media all and (min-width: 768px) {
.oa-story {
	margin-bottom:30px;
}
.oa-story > span {
	font-size:200%;
}
}
@media all and (max-width: 767px) {
.oa-story {
	letter-spacing:-0.1em;
	margin-bottom:15px;
}
.oa-story > span {
	font-size:125%;
}
}





