﻿@import url("https://www.tbs.co.jp/saitamanohost_tbs/css/snsicons.css");
@import url("keyframes.css");


/* =================================
	Web Fonts
================================= */

@font-face {
	font-family: 'Playfair Display';
	src: url('/um/library/fonts/Playfair_Display/PlayfairDisplay-Medium.ttf') format("truetype");
	font-weight:500;
	font-style:normal;
}

div.menu nav ul li a:before,
main > article > header h1:before,
div.story article header h2/*, div.story article header p*/,
div.interview article header h2,
div.wnew section h2 span,
div.tbs-topics article header h2,
div.chara article header h2,
.idx div.cover div.sns > aside div section > h3,
section.story-bn ul li span a.lazy-done:before,
ul.yt-lists li span a.yt-playing:after,
section.unit > h3 > span > span.relay {
	font-family: "Playfair Display", sans-serif;
	font-weight: 500;
	font-style: normal;
/*	letter-spacing:0.05em;
	text-indent:0.05em; */
}

.old-font {
	font-family:Arial,"游ゴシック Medium","Yu Gothic Medium","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-family:Arial,"游明朝体 Medium","Yu Mincho Medium","游明朝体",YuMincho,"ヒラギノ明朝 Pro","Hiragino Mincho Pro",serif;
	font-weight:bold;
	font-variant-east-asian: jis90;
	-moz-font-feature-settings: "jp90";
	-webkit-font-feature-settings: "jp90";
	font-feature-settings: "jp90";
}

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

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

/* 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;
}
}
@media all and (max-width: 767px) {
.br-pc {
	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: black;
	text-align:center;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	font-family:"Hiragino Sans","ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
}
div.cover {
	/**/
	font-family: YakuHanJP, ten-mincho-text, serif;
	font-weight: 400;
	font-style: normal;
	/**/
/*	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt"; */
	overflow:hidden;
}
@media all and (max-width: 767px) {
div.cover {
	min-width:320px;
}
}

/*	fix bg
============================== */
@media all and (min-width: 768px) {
body {
	background-image: url(../img/bg.jpg?0);
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position: center center;
	background-size: cover;
}
}
@media all and (max-width: 767px) {
body:before {
	content: "";
	width:100vw;
	height:100vh;
	background-image: url(../img/bg.jpg?0);
	position: fixed;
	background-size: cover;
	background-position: center center;
	top: 0px;
	left: 0px;
	z-index: -1; 
}
}
/*	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) {
body.story main > article > div.mov-outer,
body.story main > article > div.yt-player {
	margin:0 auto 40px;
	max-width:800px;
}
}
@media all and (max-width: 767px) {
body.story main > article > div.mov-outer,
body.story main > article > div.yt-player {
	margin:0 12px 20px;
}
}
@media print {
div.mov-inner {
	display:none;
}
}


/*	article.plylist
============================== */

article.plylist nav.yt-playlist-btn ul {
	width:100%;
	background-color:hsla(300,42%,8%,0.8);
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:8px;
	padding:8px;
}
article.plylist nav.yt-playlist-btn ul li {
	display: flex;
	flex-direction:column;
}
article.plylist nav.yt-playlist-btn ul li a {
	display: flex;
	flex-direction:column;
	justify-content: center;
	flex-grow: 1;
	/**/
	/**/
	text-decoration:none;
	color:#0c467c;
	background-color:#fff;
	padding:0.25em 0.75em;
	line-height:1.5;
	text-align:center;
}
article.plylist nav.yt-playlist-btn ul li a.yt-playing {
	background-color:#86b45a;
	background-image: -webkit-gradient(linear, left top, right bottom, from(#86b45a), to(#507806));
	background-image: linear-gradient(135deg, #86b45a, #507806);
	/**/
	font-weight:bold;
	color:#fff;
}
article.plylist nav.yt-playlist-btn ul li a.yt-playing:after {
	content:"NOW PLAYING";
	background-color:hsla(0,100%,100%,0.5);
	/**/
	/**/
	color:#34069c;
	line-height:1.1;
	font-size:75%;
	margin-top:0.25em;
	padding:0.1em 0.25em;
	display:inline-block;
}
@media all and (min-width: 768px) {
article.plylist nav.yt-playlist-btn ul li {
	width:calc((100% - 8*2px)/3);
}
article.plylist nav.yt-playlist-btn ul li a {
	font-size:112.5%;
}
}
@media all and (max-width: 767px) {
article.plylist nav.yt-playlist-btn ul li {
	width:calc((100% - 8px)/2);
}
article.plylist nav.yt-playlist-btn ul li a {
	font-size:83%;
}
}




/*	.header p
============================== */
div.header header p:not(.logo) {
	color:#34069c;
	text-align:center;
	line-height:1.5;
	/*text-shadow:2px 3px 3px hsla(0,0%,0%,0.2);
	text-shadow:1px 1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, 2px 3px 0 #fff;*/
	margin-top:0.25em;
}
div.header header p:not(.logo) > span {
	display:inline-block;
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.6, transparent), color-stop(0.6, hsla(0,100%,100%,0.9)), to(hsla(0,100%,100%,0.9)));
	background-image: linear-gradient(transparent 60%, hsla(0,100%,100%,0.9) 60%);
	padding:0 0.25em;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-shadow:2px 3px 3px hsla(0,100%,100%,0.5);
}
div.header header p:not(.logo) > span > span {
	font-size:125%;
	color:#090;
}
@media all and (min-width: 980px) {
div.header header p:not(.logo) {
	font-size:275%;
}
}
@media all and (min-width: 768px) and (max-width: 979px) {
div.header header p:not(.logo) {
	font-size:200%;
}
}
@media all and (max-width: 767px) {
div.header header p:not(.logo) {
	font-size:4.5vw;
	font-size:5vw;
}
}

/*	menu
============================== */
div.menu {
/*	background-image: -webkit-gradient(linear, center left, center right, from(transparent), color-stop(0.3, transparent), color-stop(0.3, hsla(206,46%,62%,0.4)), to(hsla(206,46%,62%,0.4)));
	background-image: linear-gradient(90deg,transparent 30%, hsla(206,46%,62%,0.4) 30%); */
	background-color:hsla(300,23%,41%,0.8);
}
div.menu nav {
	position:relative;
	z-index:2;
	text-align:left;
}
div.menu nav ul {
	display:flex;
	justify-content:center;
	width:100%;
}
div.menu nav ul li {
	box-shadow: 1px 1px 1px hsla(0,0%,0%,0.2);
}
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%,1);
}
div.menu nav ul li a:before {
	display:block;
	white-space:nowrap;
	line-height:1.25;
	color:#008c00;
	text-shadow:0 0 6px hsla(94,86%,46%,0.4);
}
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.chara a:before {
	content:"Character";
}
div.menu nav ul li.news a:before {
	content:"News";
}
div.menu nav ul li.onair a:before {
	content:"Onair";
}
div.menu nav ul li a span {
	color:#2c0890;
	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, hsla(92,100%,41%,.3)), to(hsla(92,100%,41%,.3)));
	background-image: linear-gradient(transparent 50%, hsla(92,100%,41%,.3) 50%);
}
.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,
.character div.menu nav ul li.chara a:before,
.news div.menu nav ul li.news a:before,
.onair div.menu nav ul li.onair a:before {
	color:#802880;
}

/*
div.menu nav ul li:nth-last-child(1) {
	opacity:0.5;
}
div.menu nav ul li:nth-last-child(1) a {
	cursor:default;
}
*/

@media all and (min-width: 768px) {
div.menu {
	padding:10px 0;
}
div.menu nav {
	max-width:1080px;
	margin:0 auto;
}
div.menu nav ul li {
	width:17%;
}
div.menu nav ul li:nth-child(1) {
	width:24%;
}
div.menu nav ul li:nth-child(2) {
	width:21%;
}
div.menu nav ul li:not(:last-child) {
	margin-right:1%;
}
div.menu nav ul li a {
	padding:0.75em 0 1.25em;
	-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:250%;
}
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:200%;
}
div.menu nav ul li a span {
	font-size:87.5%;
}
}
@media all and (max-width: 767px) {
div.menu {
	padding:2%;
}
div.menu nav ul {
	flex-wrap:wrap;
}
div.menu nav ul li:nth-child(1), div.menu nav ul li:nth-child(2) {
	width:49%;
	margin-bottom:2%;
}
div.menu nav ul li:nth-child(1), div.menu nav ul li:nth-child(3), div.menu nav ul li:nth-child(4) {
	margin-right:2%;
}
div.menu nav ul li:nth-child(3), div.menu nav ul li:nth-child(4), div.menu nav ul li:nth-child(5) {
	width:32%;
}
div.menu nav ul li a {
	padding:0.25em 0 0.5em;
/*	border:2px solid #fff; */
	-webkit-box-shadow:hsla(0, 100%, 100%,0.8) 0 0 30px 0 inset;
	box-shadow:hsla(0, 100%, 100%,0.8) 0 0 30px 0 inset;
}
div.menu nav ul li a:before {
	font-size:7vw;
}
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:125%;
	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:112.5%;
	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:24px;
}
div.pagetop-on {
	right:0;
}
div.pagetop-off {
	right:-70px;
}
div.pagetop a {
	width:68px;
	height:68px;
}
}


/*	images
============================== */
div.imgs {
	z-index:-1;
	position:absolute;
	opacity:0.6;
}
div.imgs span, div.imgs img {
	display:block;
}
div.imgs > span {
	position:relative;
	height:0;
	padding-top: -webkit-calc(1800 / 1600 * 100%);
	padding-top: calc(1800 / 1600 * 100%);
	background-size:80%;
	background-position:center center;
	background-repeat:no-repeat;
}
div.imgs > span.lazy-done {
	-webkit-animation: fadeIn 800ms;
	animation: fadeIn 800ms;
}
div.imgs > span img {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.imgs-tl, div.imgs-tr {
	top:0;
}
div.imgs-bl, div.imgs-br {
	bottom:0;
}
div.imgs-tl, div.imgs-bl {
	left:0;
}
div.imgs-tr, div.imgs-br {
	right:0;
}
@media all and (min-width: 768px) {
div.imgs {
	width:600px;
}
.idx div.story div.imgs-tl.imgs {
	left:-340px;
	top:-320px;
}
.idx div.tbs-topics div.imgs-tr.imgs {
	right:-340px;
	top:60px;
}
.lower div.imgs-tl.imgs {
	left:-240px;
	top:-220px;
}
.lower div.imgs-br.imgs {
	right:-300px;
	bottom:-180px;
}
}
@media all and (max-width: 767px) {
div.imgs {
	width:400px;
}
.idx div.story div.imgs-tl.imgs {
	left:-140px;
	top:-160px;
}
.idx div.tbs-topics div.imgs-tr.imgs {
	right:-140px;
	top:-140px;
}
.lower div.imgs-tl.imgs {
	left:-140px;
	top:-160px;
}
.lower div.imgs-br.imgs {
	right:-140px;
	bottom:-100px;
}
}