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

/* =================================
	banner
================================= */
aside.bnr-footer > div {
	position:relative;
	z-index:2;
}
@media all and (min-width: 768px) {
aside.bnr-footer {
	padding-top:80px;
	padding-bottom:40px;
}
}
@media all and (max-width: 767px) {
aside.bnr-footer {
	padding-top:40px;
	padding-bottom:20px;
}
}


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

/*
@font-face {
	font-family: 'Amita';
	src: url('/um/library/fonts/Amita/Amita-Regular.ttf') format("truetype");
	font-weight:400;
	font-style:normal;
}
@font-face {
	font-family: 'Amita';
	src: url('/um/library/fonts/Amita/Amita-Bold.ttf') format("truetype");
	font-weight:700;
	font-style:normal;
}
*/


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

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

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

.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: white;
	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;
}
div.cover {
	/**/
	font-family: 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-color:#000;
	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 {
	background-color:#000;
	content: "";
	width:100vw;
	height:100vh;
	background-image: url(../img/bg.jpg?0);
	position: fixed;
	background-size: cover;
	top: 0px;
	left: 0px;
	z-index: -1; 
}
}


/*	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:200% 100%;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-repeat:no-repeat;
	background-position:left top;
}
div.pagetop a:hover {
	background-position:right top;
}
@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:8px;
}
div.pagetop-off {
	right:-70px;
}
div.pagetop a {
	width:68px;
	height:68px;
}
}



/*	.sns-icons
============================== */
div.sns-icons {
	/* background-color:hsla(0,0%,100%,0.1); */
}
div.sns-icons aside {
	display:flex;
	justify-content:center;
	align-items:center;
}
div.sns-icons aside > div h2,
div.sns-icons aside > div p {
	text-align:center;
	line-height:1.5;
}
div.sns-icons ul li span, div.sns-icons ul li a {
	display:block;
}
div.sns-icons ul {
	display:flex;
	justify-content:center;
}
div.sns-icons ul li a {
	position:relative;
	height:0;
	padding-top:100%;
	overflow:hidden;
	border-radius:50% 50%;
}
div.sns-icons ul li a span {
	background-size:300% 300%;
	background-image:url(/um/img/sns_logos.svg?0);
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div.sns-icons ul li.tw a span {
	background-image:url(/um/img/sns_logos_blk.svg?0);
}
div.sns-icons ul li.tw a span {
	background-color:#fff;
	background-position:left top;
}
div.sns-icons ul li.fb a span {
	background-color:#1877f2;
	background-position:center bottom;
}
div.sns-icons ul li.ln a span {
	background-color:#00b900;
	background-position:right top;
}
div.sns-icons ul li.ig a {
	background-image:url(/um/img/instagram_bg.jpg);
	background-size:cover;
}
div.sns-icons ul li.ig a span {
	/* background-color:#cf2e92; */
	background-position:center center;
}
div.sns-icons ul li.yt a span {
	background-color:#da1725;
	background-position:left center;
}
div.sns-icons ul li.tt a span {
	background-color:#000;
	background-position:right bottom;
}
@media all and (min-width: 768px) {
div.sns-icons {
	padding:25px 0 50px;
}
div.sns-icons aside > div {
	margin-right:32px;
}
div.sns-icons > aside > div h2 {
	font-size:150%;
}
div.sns-icons > aside > div p {
	font-size:83%;
}
div.sns-icons ul li {
	width:88px;
}
div.sns-icons ul li:not(:last-child) {
	margin-right:20px;
}
}
@media all and (max-width: 767px) {
div.sns-icons {
	padding:15px 12px 25px;
}
div.sns-icons > aside > div h2 {
	font-size:3.5vw;
}
div.sns-icons > aside > div p {
	font-size:2.5vw;
}
div.sns-icons aside > div {
	margin-right:14px;
}
div.sns-icons ul {
	width:40%;
}
div.sns-icons ul li {
	width:30%;
}
div.sns-icons ul li:not(:last-child) {
	margin-right:5%;
}
}



/*	div.sns-tl
============================== */
div.sns-tl aside {
	position:relative;
	z-index:2;
}
div.sns-tl aside section h3 {
	width:80px;
	margin:0 auto 12px;
}
div.sns-tl aside section h3 span {
	display:block;
	background-size:300% 300%;
	background-image:url(/um/img/sns_logos.svg?0);
	height:80px;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div.sns-tl aside section.tl-x h3 span {
	background-position:left top;
}
div.sns-tl aside section.tl-ig h3 span {
	background-position:center center;
}
@media all and (min-width: 768px) {
div.sns-tl {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	padding:60px 40px;
	max-width:1080px;
	margin:0 auto;
}
div.sns-tl aside {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	gap: 40px;
}
div.sns-tl aside > section {
	width:calc((100% - 40px)/2);
}
}
@media all and (max-width: 767px) {
div.sns-tl {
	padding:40px 0;
}
div.sns-tl aside > section.tl-x {
	padding:0 30px;
}
div.sns-tl aside > section.tl-ig {
	padding:0 12px;
}
div.sns-tl aside > section.tl-x div.x-inner {
	height:480px;
}
div.sns-tl aside > section:not(:last-child) {
	margin-bottom:30px;
}
}

/*	instagram
============================== */
div.insta {
}
div.insta ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
div.insta ul li a, div.insta ul li img {
	display:block;
}
div.insta ul li a, div.insta ul li a img {
	background-position:center center;
	background-repeat:no-repeat;
}
div.insta ul li a {
	background-size:cover;
	position:relative;
	height:0;
	padding-top:100%;
}
div.insta ul li a.lazy-done {
	-webkit-animation: fadeIn 800ms;
	animation: fadeIn 800ms;
}
div.insta ul li a:hover img {
	background-color:hsla(216,82%,13%,0.25);
}
div.insta ul li a img {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.insta ul li a.lazy-done img.icon-video {
	background-image:url(/um/img/play.png);
}
@media all and (min-width: 768px) {
div.insta ul {
	gap: 8px;
}
div.insta ul li {
	width:calc((100% - 8*2px)/3);
}
}
@media all and (max-width: 767px) {
div.insta ul {
	gap: 6px;
}
div.insta ul li {
	width:calc((100% - 6*2px)/3);
}
}



/*	.bnr
============================== */
div.bnr {
	text-align:left;
	/* background-color:hsla(0,100%,100%,.5); */
}
div.bnr aside {
	position:relative;
	z-index:2;
}
div.bnr aside ul li a, div.bnr aside ul li a span {
	display:block;
}
div.bnr aside ul li a {
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
	height:0;
	padding-top: -webkit-calc(240 / 800 * 100%);
	padding-top: calc(240 / 800 * 100%);
}
div.bnr aside ul li a span {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
div.bnr aside ul li a.lazy-done {
	-webkit-animation: fadeIn 800ms;
	animation: fadeIn 800ms;
}
div.bnr aside ul li a.lazy-done span {
	border:1px solid #faef38;
}
div.bnr aside ul li.bnr-unext a.lazy-done span {
	border:1px solid #fff;
}
div.bnr aside ul li.bnr-teaser a.lazy-done span {
	border:1px solid #999;
}
@media all and (min-width: 768px) {
div.bnr {
	padding:60px 0;
}
div.bnr aside {
	max-width:1080px;
	margin:0 auto;
}
div.bnr aside ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div.bnr aside ul li {
	width:calc((100% - 30px)/2);
}
div.bnr aside ul li.bnr-teaser {
	margin-left:25%;
	margin-right:25%;
}
div.bnr aside ul li:nth-child(2) {
	margin-right:30px;
}
div.bnr aside ul li:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
div.bnr {
	padding:30px 0;
}
div.bnr aside ul {
	width:82%;
	margin:0 auto;
}
div.bnr aside ul li:not(:last-child) {
	margin-bottom:20px;
}
}


/*	.header
============================== */
div.header, div.bnr, aside.bnr-footer, div.original article div.inner > div.unit, div.interview, div.movie {
	position:relative;
}
div.header:before, div.header:after,
div.bnr:before, .idx div.bnr:after,
aside.bnr-footer:before, aside.bnr-footer:after,
div.original article div.inner > div.novel1991:before,
div.original article div.inner > div.novel1991:after,
div.original article div.inner > div.novel1991:before,
div.interview:after,
div.movie:after {
	content:"";
	display:block;
	border-top:2px solid #fff20d;
	width:200%;
	position:absolute;
	left:-50%;
	z-index:1;
}
div.header:before {
	-webkit-transform: rotate(9deg);
	transform: rotate(9deg);
	bottom:0;
}
div.header:after {
	-webkit-transform: rotate(-3deg);
	transform: rotate(-3deg);
	bottom:30px;
}
div.bnr:before{
	-webkit-transform: rotate(-5deg);
	transform: rotate(-5deg);
	top:0;
}
.idx div.bnr:after{
	-webkit-transform: rotate(6deg);
	transform: rotate(6deg);
	bottom:-10px;
}
div.interview:after,
div.movie:after{
	-webkit-transform: rotate(-5deg);
	transform: rotate(-5deg);
	bottom:-10px;
}
aside.bnr-footer:before {
	-webkit-transform: rotate(3deg);
	transform: rotate(3deg);
	top:30px;
}
aside.bnr-footer:after {
	-webkit-transform: rotate(-5deg);
	transform: rotate(-5deg);
	top:50px;
}
div.original article div.inner > div.novel1991:before {
	-webkit-transform: rotate(-5deg);
	transform: rotate(-5deg);
}
div.original article div.inner > div.novel1991:after {
	-webkit-transform: rotate(5deg);
	transform: rotate(5deg);
}
div.header header {
	text-align:left;
	position:relative;
	z-index:2;
}
div.header header > div.logos span {
	display:block;
}
div.header header > div.logos > h1 > span,
div.header header > h1 > span,
div.header header > div.logos > p > span,
.lower div.header header > h1 > a {
	position:relative;
	height:0;
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.idx div.header header > h1 > span {
	padding-top: -webkit-calc(764 / 1080 * 100%);
	padding-top: calc(764 / 1080 * 100%);
}
.idx div.header header > div.logos > h1 > span,
div.header header > div.logos > h1 > a,
.voice div.header header > h1 > a{
	padding-top: -webkit-calc(528 / 1080 * 100%);
	padding-top: calc(528 / 1080 * 100%);
}

.original div.header header > h1 > a {
	padding-top: -webkit-calc(200 / 800 * 100%);
	padding-top: calc(200 / 800 * 100%);
}
div.header header > div.logos > p > span {
	padding-top: -webkit-calc(100 / 1080 * 100%);
	padding-top: calc(100 / 1080 * 100%);
}

.idx div.header header > h1 > span.lazy-done,
.lower div.header header > h1 > a.lazy-done {
	-webkit-animation:fadeIn 800ms;
	animation:fadeIn 800ms;
}
div.header header > div.logos > p > span.lazy-done {
	-webkit-animation:fadeIn 800ms;
	animation:fadeIn 800ms;
}
div.header header > div.logos > h1 > span.lazy-done,
.voice div.header header > h1 > a.lazy-done {
	-webkit-animation: backInRight 800ms;
    animation: backInRight 800ms;
}
div.header header > div.logos span span,
.idx div.header header > h1 > span span,
div.header header > div.logos > h1 > a > span,
div.header header > h1 > a > span{
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div.header header nav ul { text-align: center;}
div.header header nav ul li { display: inline-block;}
div.header header nav ul li a{
color:#fff20d;
padding-bottom:0.25em;
border-bottom:2px solid #fff20d;
display:inline-block;
text-decoration: none;}
div.header header nav ul li a:visited {text-decoration: none;}
div.header header nav ul li a span {
position: relative;
	display: inline-block;
	padding: 0 5px 0 30px;
	vertical-align: middle;
	text-decoration: none;
}
div.header header nav ul li a span::before {
    content: "";
    position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff20d;
    border-right: 3px solid #fff20d;
	transform: rotate(45deg);
}

@media all and (min-width: 768px) {
div.original article div.inner > div.novel1991:before {
	top:-40px;
}
div.original article div.inner > div.novel1991:after {
	bottom:20px;
}
div.header {
	padding:60px 0 80px;
	margin-bottom:40px;
}
.lower div.header {
	padding:30px 0 40px;
	margin-bottom:80px;
}
.voice div.header {
	padding:60px 0 80px;
	margin-bottom:40px;
}
div.header header {
	max-width:1080px;
	margin:0 auto;
}
div.header header > div.logos,
.idx div.header header > h1 {
	margin-bottom:40px;
}
	div.header header nav ul { margin: 2em 0;}
	div.header header nav ul li {font-size: 2em; margin: 0 1em ;}
}
@media all and (max-width: 767px) {
div.original article div.inner > div.novel1991:before {
	top:0;
}
div.original article div.inner > div.novel1991:after {
	bottom:-20px;
}
div.header {
	padding:30px 0 60px;
	margin-bottom:20px;
}
.lower div.header {
	padding:20px 0 40px;
	margin-bottom:10px;
}
.voice div.header {
	padding:30px 0 60px;
	margin-bottom:20px;
}

div.header header > div.logos,
.idx div.header header > h1 {
	margin-bottom:20px;
}
	div.header header nav ul li {font-size: 1.2em; margin: 0 0.5em 1em;}
	div.header header nav ul { margin: 2em 3em 0;}
	div.header header nav ul li a span {padding: 0 5px 0 15px;}
	div.header header nav ul li a span::before {
    width: 5px;
    height: 5px;
		border-top: 2px solid #fff20d;
    border-right: 2px solid #fff20d;
}
}

/*	main
============================== */
main {
}
@media all and (min-width: 768px) {
main {
	padding:60px 0;
}
.archive main {
	padding:0px 0;
}
}
@media all and (max-width: 767px) {
main {
	padding:30px 0;
}
.archive main {
	padding:0px 0;
}
}


/*	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 {
	padding:0 30px;
	margin:0 auto 80px;
	max-width:980px;
}
.lower div.mov-outer {
	margin-bottom:120px;
}
}
@media all and (max-width: 767px) {
div.mov-outer {
	padding:0 3.125vw;
	margin:0 auto 3.125vw;
}
.lower div.mov-outer {
	margin-bottom:60px;
}
}


/*	.original
============================== */

div.original {
	background-image: -webkit-gradient(linear, center left, center right, from(transparent), color-stop(0.3, transparent), color-stop(0.3, hsla(145,13%,64%,0.5)), to(hsla(145,13%,64%,0.2)));
	background-image: linear-gradient(90deg,transparent 30%, hsla(145,13%,64%,0.2) 30%);
}
div.original article div.inner > div.unit > figure,
div.original article div.inner > div.unit > article {
	position:relative;
	z-index:2;
}
div.original > article > header {
	text-align:center;
	margin-bottom:1.5em;
}
div.original > article > header p {
	text-align:center;
}
div.original > article > header > h2 {
	line-height:1.25;
}
div.original article h3,
div.original article p,
div.original article th, div.original article td {
	line-height:1.5;
}
div.original p {
	text-align:justify;
	text-justify:inter-ideograph;
}
div.original > article > header > h2,
div.highlights > article > header > h2,
div.caststaff > article > header > h2,
div.interview > article > header > h2,
div.movie > article > header > h2,
div.story > article > header > h2{
	color:#fff20d;
	padding-bottom:0.25em;
	border-bottom:2px solid #fff20d;
	display:inline-block;
	margin-bottom:.75em;
}
div.original > article > header > h2 > span,
div.highlights > article > header > h2 > span,
div.caststaff > article > header > h2 > span,
div.interview > article > header > h2 > span,
div.movie > article > header > h2 > span,
div.story > article > header > h2 > span{
	display:inline-block;
}
div.original > article > div.inner,
div.highlights > article > div.inner{
	text-align:left;
}
div.original > article > div.inner > p.p-title {
	text-align:center;
	margin-bottom:0.5em;
}
div.original > article > div.inner > section {
	border:1px solid #fff;
}
div.original > article > div.inner > section h3,
div.original > article > div.inner > div.unit article header {
	border-bottom:1px solid;
	padding-bottom:0.5em;
	margin-bottom:0.5em;
}
div.original > article > div.inner > div.unit article header {
	margin-bottom:0.75em;
}
div.original > article > div.inner > div.unit figure span,
div.original > article > div.inner > div.unit figure span img {
	display:block;
}
div.original > article > div.inner > div.unit figure span {
	position:relative;
	height:0;
	background-size:cover;
}
div.original > article > div.inner > div.novel1980 figure span {
	padding-top: -webkit-calc(949 / 640 * 100%);
	padding-top: calc(949 / 640 * 100%);
}
div.original > article > div.inner > div.novel1988 figure span {
	padding-top: -webkit-calc(903 / 640 * 100%);
	padding-top: calc(903 / 640 * 100%);
}
div.original > article > div.inner > div.novel1990 figure span {
	padding-top: -webkit-calc(899 / 640 * 100%);
	padding-top: calc(899 / 640 * 100%);
}
div.original > article > div.inner > div.novel1991 figure span {
	padding-top: -webkit-calc(905 / 640 * 100%);
	padding-top: calc(905 / 640 * 100%);
}
div.original > article > div.inner > div.unit figure span.lazy-done {
	-webkit-animation: fadeIn 500ms;
	animation: fadeIn 500ms;
}
div.original > article > div.inner > div.unit figure span img {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.original > article > div.inner > div.unit figure figcaption {
	font-size:75%;
	margin-top:0.5em;
	text-align:right;
}
div.original > article > div.inner > div.unit article header h3 {
	color:#fff20d;
}
div.original > article > div.inner > div.unit > article > p.txt {
	margin-bottom:1em;
}
div.original > article > div.inner > div.unit > article table {
	width:100%;
}
div.original > article > div.inner > div.unit > article table tr:not(:last-child) {
	border-bottom:1px solid #fff;
}
div.original > article > div.inner > div.unit > article table th,
div.original > article > div.inner > div.unit > article table td {
	padding:0.25em 0.5em;
}
div.original > article > div.inner > div.unit > article table th {
	background-color:hsla(0,0%,100%,0.3);
	text-align:center;
	width:6em;
}
div.original > article > div.inner > div.unit > article table td {
	background-color:hsla(0,0%,100%,0.15);
}


@media all and (min-width: 768px) {
div.original > article,
div.highlights > article,
div.caststaff > article,
div.story > article{
	max-width:1080px;
	padding:0 30px;
	margin:0 auto;
	transform: translate(0, -40px);
}
div.original > article > header > h2,
div.highlights > article > header > h2,
div.caststaff > article > header > h2,
div.interview > article > header > h2,
div.movie > article > header > h2,
div.story > article > header > h2{
	font-size:200%;
}
div.original > article > header > p,
div.original > article > div.inner > p.p-title {
	font-size:175%;
}
div.original > article > div.inner > section > h3 {
	font-size:125%;
}
div.original > article > div.inner > div article header h3 {
	font-size:150%;
}
div.original > article > div.inner > div article header p {
	font-size:125%;
}
div.original > article > div.inner > section > p,
div.original > article > div.inner > div article p,
div.original > article > div.inner > div article table th,
div.original > article > div.inner > div article table td {
	font-size:112.5%;
}
div.original > article > div.inner > section {
	padding:30px;
	margin-bottom:60px;
}
div.original > article > div.inner > div.unit:not(:last-child) {
	margin-bottom:60px;
}
div.original > article > div.inner > div.unit {
	display:flex;
	justify-content:space-between;
	align-items: center;
}
div.original > article > div.inner > div.unit > figure {
	width:32%;
}
div.original > article > div.inner > div.unit > article {
	width:calc(68% - 30px);
}
}
@media all and (max-width: 767px) {
div.original > article {
	padding:0 3.125vw;
	transform: translate(0, -20px);
}
div.highlights > article,
div.caststaff > article,
div.story > article {
	padding:0 3.125vw;
}
div.original > article > header > h2,
div.highlights > article > header > h2,
div.caststaff > article > header > h2,
div.interview > article > header > h2,
div.movie > article > header > h2,
div.story > article > header > h2{
	font-size:150%;
}
div.original > article > header > p {
	font-size:125%;
}
div.original > article > div.inner > p.p-title {
	font-size:5.5vw;
}
div.original > article > div.inner > section > h3 {
	font-size:112.5%;
}
div.original > article > div.inner > div article header h3 {
	font-size:125%;
}
div.original > article > div.inner > div article header p {
	font-size:100%;
}
div.original > article > div.inner > section > p,
div.original > article > div.inner > div article p,
div.original > article > div.inner > div article table th,
div.original > article > div.inner > div article table td {
	font-size:87.5%;
}
div.original > article > div.inner > section {
	padding:3.125vw;
	margin-bottom:30px;
}
div.original > article > div.inner > div.unit {
	width:80%;
	margin:0 auto;;
}
div.original > article > div.inner > div.unit:not(:last-child) {
	margin-bottom:40px;
}
div.original > article > div.inner > div.unit figure {
	margin-bottom:15px;
}
}

#highlights, #caststaff, #story {padding-top: 3em; margin-top: -3em;}

div.highlights .inner article {position: relative; margin-bottom: 2em; padding-bottom: 2em; border-bottom: rgba(255,255,255,0.5) solid 1px; }

div.highlights .inner a {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.nt { position: absolute; bottom:2em; right:0; border: solid 1px #fff20d; padding: 8px; }


div.highlights .ph_cut span {
    width: 100%;
    height: 0;
	padding-top: 70.740%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	display: block;
  position: relative;
  }
div.highlights .ph_cut span img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
div.highlights #arc20240526 .ph_cut span {padding-top: 59.907%;}
div.highlights #arc20240602 .ph_cut span {padding-top: 66.481%;}
div.highlights #arc20240612 .ph_cut span {padding-top: 33.333%;}
div.caststaff article:not(:last-child) { padding-bottom: 2em;}
div.caststaff h3 { padding-bottom: 1em;}
div.caststaff table {
 border-collapse:collapse;
 border-spacing:0;
 margin: 0 auto;
 letter-spacing: 0.05em;
}
div.caststaff table th ,
div.caststaff table td {
 padding-bottom: 0.8em;
vertical-align: baseline;
text-align: left; line-height: 1.8em;
}
div.caststaff table th {text-align: right;}
div.caststaff table .person { line-height: 1.0em; display: block;}
div.caststaff table .person:not(:last-child) { padding-bottom: 0.5em;}

.box {
    box-sizing: border-box;
    border: 1px solid rgba(236, 237, 240, 1);
    text-align: left;
}
.box a { color: #fff; text-decoration: none;}

div.caststaff .staff table .novel1990,
div.caststaff .staff table .novel1991{ display: inline-block}
div.caststaff .staff table figure {
	position:relative;
	z-index:2;
}
div.caststaff .staff table figure span,
div.caststaff .staff table figure span img {
	display:block;
}
div.caststaff .staff table figure span {
	position:relative;
	height:0;
	background-size:cover;
}
div.caststaff .staff table .novel1990 figure span {
	padding-top: -webkit-calc(899 / 640 * 100%);
	padding-top: calc(899 / 640 * 100%);
}
div.caststaff .staff table .novel1991 figure span {
	padding-top: -webkit-calc(905 / 640 * 100%);
	padding-top: calc(905 / 640 * 100%);
}
div.caststaff .staff table figure span.lazy-done {
	-webkit-animation: fadeIn 500ms;
	animation: fadeIn 500ms;
}
div.caststaff .staff table figure span img {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div.caststaff .staff table figure figcaption {
	font-size:75%;
	margin-top:0.5em;
	text-align:right;
	line-height: 1.2em;
}
div.caststaff .staff table .center {
	font-size:75%;
	text-align:center;
	line-height: 1.2em; display: block;
}

div.story .txtArea {text-align: left;}
div.story .txtArea p {line-height: 1.8em; padding-bottom: 1.5em;}

.iconNew {color: #f00; padding-left: 0.5em;}

@media all and (min-width: 768px) {
	div.highlights { padding: 80px 0 30px;}
	div.highlights .inner article .ph_cut { display: inline-block; vertical-align: top; width: 30%; margin-right: 2%; }
	div.highlights .inner article dl { display: inline-block; width: 65%; vertical-align: top; line-height: 1.8em;}
	div.highlights .inner article dl dd { font-size: 1.1em;}
	div.highlights #arc20240612 dl { padding-bottom: 2em;}
	
	div.caststaff .inner article  { font-size: 1.1em;}
	div.caststaff .cast table th { width: 50%;}
	div.caststaff .staff table th { width: 40%;}
	div.caststaff .staff table .novel1990,
	div.caststaff .staff table .novel1991{width: 150px; display: inline-block;}
	div.caststaff .staff table td.original { min-width: 400px;}
	div.caststaff .staff table .center {width: 300px;}
	.box { width: 1000px; margin: 0 auto;}
	.box p { padding: 1em 2em; line-height: 2em;}
	
	div.interview { padding: 30px 0 20px; margin-bottom: 100px;}
	div.movie { padding: 30px 0 20px; margin-bottom: 50px;}
	div.story .txtArea p { font-size: 1.1em;}
	
}
@media all and (max-width: 767px) {
	div.highlights { padding: 30px 0 15px;}
	div.highlights .inner article .ph_cut { width: 80%; margin: 0 auto 0.5em;}
	div.highlights .inner article dl {line-height: 1.5em;}
	div.highlights .inner article dl dt { font-size: 0.8em;}
div.highlights .inner article dl dd { font-size: 0.9em; padding-bottom: 40px;}
	.nt {padding: 5px; font-size: 0.9em; }
	
	div.caststaff .cast table th { width: 50%;}
	div.caststaff .staff table th { width: 30%;}
	div.caststaff .staff table .novel1990,
	div.caststaff .staff table .novel1991{width: 48%; display: inline-block;}
	div.caststaff .staff table figure figcaption {font-size: 55%;}
	.box { margin: 0 1em;}
	.box p { padding: 0.5em 1em; line-height: 1.5em;}
	
	div.interview { padding: 15px 0 20px; margin-bottom: 60px;}
	div.movie { padding: 15px 0 20px; margin-bottom: 0px;}
	div.story {margin-bottom: 2em;}
	div.story .txtArea p { font-size: 0.9em;}
}


/* =================================
	no print
================================= */

@media print {
div.header,
div.sns-tl,
div.mov-inner {
	display:none !important;
}
}
