@charset "UTF-8";

/* d-link
========================================== */
.d-link-area {
	margin: 40px auto 0;
}

@media only screen and (max-width: 600px) {
	.d-link-area {
		margin: 12% auto 4%;
	}
}


/* d-banner
========================================== */
.d-banner-area {
	margin: 60px auto;
}

.d-banner-text {
	margin-bottom: 10px;
	font-weight: bold;
	text-align: center;
}

/* d-banner-list
------------------------------------------ */
.d-banner-list {
	width: 100%;
	margin: 0 auto;
	padding: 0 60px;
	font-size: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: flex-end;
}
.d-banner-item {
	flex: 0 0 49%;
	max-width: 49%;
}
.d-banner-item:not(:first-child) {
	margin-top: 0;
}
.d-banner-item:nth-child(2n) {
	margin-left: 2%;
}
.d-banner-item:nth-child(n+3) {
	margin-top: 30px;
}
.d-banner-item a {
	flex: 0 0 100%;
	max-width: 100%;
	max-width: 432px;
}

@media only screen and (min-width: 601px) and (max-width: 992px) {
	.d-banner-text {
		font-size: 1.5rem;
	}
}

@media only screen and (max-width: 600px) {
	.d-banner-area {
		margin: 12% auto;
	}

	.d-banner-text {
		margin-bottom: 5px;
	}

	/* d-banner-list
	------------------------------------------ */
	.d-banner-list {
		padding: 0 3%;
	}
	.d-banner-item {
		flex-basis: 100%;
		max-width: 100%;
	}
	.d-banner-item a {
		flex-basis: 100%;
		max-width: 100%;
	}
	.d-banner-item:not(:first-child) {
		margin-top: 20px;
	}
	.d-banner-item:nth-child(2n) {
		margin-left: 0;
	}
	.d-banner-item:nth-child(n+3) {
		margin-top: 20px;
	}
}


/* story
========================================== */
.story-area {}
.story-area.d-area {
	margin-bottom: 0;
}
.story-area a { display: block; }
.story-inner {
	background: url(../images/story/story-bg.png) no-repeat right top transparent;
	background-size: 100% auto;
}

@media only screen and (max-width: 600px) {
	.story-inner {
		background-position: 60% -0.2%;
		background-size: 150% auto;
	}
}


/* story-article
------------------------------------------ */
.story-article-body {
	margin: 0 auto;
	padding-bottom: 70px;
	background-color: transparent;
}

.story-article-mainImg {
	width: 100%;
	height: 0;
	margin: 0 auto;
	padding-top: calc(586 / 1000 * 100%);
	background-repeat:no-repeat;
	background-position: center;
	background-size: cover;
}

.story-article-contents {
	padding: 0 60px;
}
.story-article-contents p {
	margin: 0;
	font-size: 1.8rem;
	line-height: 1.75;
	text-align: justify;
}
.story-article-contents figure {
	width: 100%;
	max-width: 840px;
	height: 0;
	margin: 0 auto;
	background-repeat:no-repeat;
	background-position: center;
	background-size: cover;
}

.story-article-contents figure.fig-l {
	float: left;
	width: 50%;
	padding-top: calc(667 / 1000 * 50%);
	margin: 0 2em 1em 0;
}

.story-article-contents figure.fig-r {
	float: right;
	width: 50%;
	padding-top: calc(667 / 1000 * 50%);
	margin: 0 0 1em 2em;
}

.story-article-contents figure.fig-col2 {
	float: left;
	width: 49%;
	margin-left: 2%;
}
.story-article-contents figure.fig-col2:nth-of-type(2n+1) {
	clear: both;
	margin-left: 0;
}

.story-article-contents br.cb {
	clear: both;
}

.story-article-title {
	margin: 50px 25px;
	overflow: hidden;
}
.story-article-title-inner {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
	align-content: stretch;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 0;
	vertical-align: baseline;
	position: relative;
}
.story-article-title-inner:before {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 325px;
	background-color: #000;
}
.story-article-title span {
	position: relative;
}
.story-article-title span.text {
	color: #000;
	font-size: 4rem;
	font-weight: normal;
	line-height: 1;
	bottom: 0;
}
.story-article-title span.number {
	margin: 0 12px;
	color: #000;
	font-size: 6rem;
	font-weight: normal;
	line-height: 1.2;
	bottom: 4px;
}
.story-article-title span.date {
	margin-left: 35px;
	color: #000;
	font-size: 2.2rem;
	line-height: 1;
	bottom: -12px;
}

/* story-article-title - #10 */
.story-article-title.final {}
.story-article-title.final .story-article-title-inner:before {
	right: 350px;
}
.story-article-title.final span.number {
	margin: 0 12px 0 6px;
	letter-spacing: -3px;
}

@media only screen and (min-width: 601px) and (max-width: 992px) {}
@media screen and (max-width: 992px) {
	.story-article-title {
		margin: 6% 3%;
	}
	.story-article-title-inner:before {
		right: 185px;
	}
	.story-article-title span {}
	.story-article-title span.text { font-size: 2.2rem; bottom: 0; }
	.story-article-title span.number { margin: 0 8px; font-size: 3.3rem; bottom: 2px; }
	.story-article-title span.date { margin-left: 15px; font-size: 1.4rem; bottom: -5px; }

	/* story-article-title - #10 */
	.story-article-title.final {}
	.story-article-title.final .story-article-title-inner:before { right: 200px; }
	.story-article-title.final span.number { margin: 0 12px 0 6px; letter-spacing: -3px; }
}
@media only screen and (max-width: 600px) {
	.story-article-body {
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
	}

	.story-article-mainImg {
		width: calc(94% + 1px);
		height: 0;
		padding-top: calc(667 / 1000 * 100%);
		margin: 0 auto;
		background-repeat:no-repeat;
		background-position: center;
		background-size: cover;
	}

	.story-article-contents {
		padding: 0 3%;
	}
	.story-article-contents p {
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.story-article-contents figure.fig-l {
		float: none;
		width: 100%;
		padding-top: calc(667 / 1000 * 100%);
		margin: 0 auto 1.5em;
	}
	.story-article-contents figure.fig-r {
		float: none;
		width: 100%;
		padding-top: calc(667 / 1000 * 100%);
		margin: 0 auto 1.5em;
	}
	.story-article-contents br.cb {
		display: none;
	}
}


/* story-share
------------------------------------------ */
.story-share {
	display: table;
	width: 100%;
	max-width: 790px;
	margin: 45px auto 40px;
	border-radius: 2px;
	overflow: hidden;
}

.story-share-title,
.story-share-body {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	background-color: #efefef;
	padding: 20px 0;
}

.story-share-title {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.1;
	width: 170px;
}
.story-share-title br { display: none; }

.story-share-body {
	border-left: 1px solid #fff;
}

.story-share-body > ul:after {
	content: "";
	display: block;
	clear: both;
}
.story-share-body > ul > li {
	vertical-align: middle;
	display: inline-block;
	padding: 0 5px;
}
.story-share-body > ul > li > a {
	display: block;
	width: 123px;
	text-align: center;
	padding: 7px 0;
	border-radius: 2px;
	color: #fff;
}
.story-share-body > ul > li > a.facebook { background-color: #3b5998; }
.story-share-body > ul > li > a.twitter { background-color: #55acee; }
.story-share-body > ul > li > a.line { background-color: #00b900; }

@media only screen and (min-width: 601px) and (max-width: 992px) {
	.story-share {
		max-width: 100%;
		padding: 0 60px;
	}
	.story-share-body > ul > li {
		margin: 5px 0;
	}
	.story-share-body > ul > li > a {
		width: 100px !important;
	}
}

@media only screen and (max-width: 600px) {
	.story-share {
		max-width: 94%;
		margin: 6% auto;
	}
	.story-share-title,
	.story-share-body {
		padding: 15px 0;
	}
	.story-share-title {
		font-size: 10px;
		font-size: 1.0rem;
		line-height: 1.1;
		width: 85px;
	}
	.story-share-title br { display: block; }
	.story-share-body > ul > li {
		padding: 0 10px;
	}
	.story-share-body > ul > li > a {
		display: block;
		text-indent: -9999px;
		white-space: nowrap;
		overflow: hidden;
		font-size: 0;
		width: 30px;
		height: 30px;
		background-color: transparent !important;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.story-share-body > ul > li > a.facebook { background-image: url("../images/sns/sns-facebook-square.png") !important; }
	.story-share-body > ul > li > a.twitter { background-image: url("../images/sns/sns-twitter-square.png") !important; }
	.story-share-body > ul > li > a.line { background-image: url("../images/sns/sns-line-square.png") !important; }
}


/* story-channel
------------------------------------------ */
.story-channel-area {
	margin-top: 40px;
}
.story-channel-inner {
	max-width: 880px;
	margin: 0 auto;
	overflow: hidden;
}

.story-channel-title {
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 2px;
	text-align: center;
}

.story-channel-list {
	width: 100%;
	font-size: 0;
	text-align: center;
}
.story-channel-item {
	display: inline-block;
	width: 48.45%;
	vertical-align: top;
}
.story-channel-item:not(:first-child) { margin-left: 3.1%; }
.story-channel-item a {
	width: 100%;
	padding: 13px 10px;
	border-radius: 3px;
}
.story-channel-item a span {
	display: block;
	height: 46px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
	white-space: nowrap;
}
.story-channel-item.tada a { background-color: #ff005a; }
.story-channel-item.tada a span { background-image: url("../images/story/story-channel-tada-pc.png"); }
.story-channel-item.hulu a { background-color: #67ae3e; }
.story-channel-item.hulu a span { background-image: url("/assets/images/drama/channel-hulu-pc.png"); }

@media only screen and (min-width: 601px) and (max-width: 992px) {
	.story-channel-inner {
		max-width: 100%;
	}
	.story-channel-list {
		padding: 0 60px;
	}
}
@media only screen and (max-width: 600px) {
	.story-channel-area {
		margin-top: 6%;
	}
	.story-channel-inner {
		max-width: 100%;
		margin: 0 3%;
	}
	.story-channel-title {
		margin-bottom: 10px;
		font-size: 1.5rem;
		letter-spacing: 0;
	}

	.story-channel-list { width: 94%; margin: 0 auto; font-size: 0; }
	.story-channel-item { width: 47%; }
	.story-channel-item:not(:first-child) { margin-left: 6%; }
	.story-channel-item a { padding: 13px 10px; }
	.story-channel-item a span { height: 43px; }
	.story-channel-item.tada a span { background-image: url("../images/story/story-channel-tada-sp.png"); }
	.story-channel-item.hulu a span { background-image: url("/assets/images/drama/channel-hulu-sp.png"); }
}


/* backnumber
========================================== */
.backnumber-area {
	background-image: url(../images/story/backnumber-bg.png), url(../images/common/bg-dot-01.png);
	background-repeat: no-repeat, repeat;
	background-position: left top, center;
	background-color: transparent;
	background-size: 40% auto, 4px auto;
	box-shadow: 0 16px 45px -6px rgba(0, 0, 0, 0.5) inset;
}

.backnumber-inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0 10px 0;
}

.backnumber-title {
	width: 100%;
	height: 0;
	padding-top: calc(140 / 1000 * 100%);
	background-image: url(../images/story/backnumber-title.png);
	background-repeat: no-repeat;
	background-position: center left;
	background-size: contain;
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
	white-space: nowrap;
}

.backnumber-body {
	margin: 0 auto;
	background-color: transparent;
}

.backnumber-num { /* preload for Webfont */
	display: none;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.backnumber-list {
	width: 100%;
	counter-reset: num;
}
.backnumber-list:after { content: ''; display: block; clear: both; }

.backnumber-list-item {
	display: inline-block;
	width: 23.4%;
	margin: 0 0.8%;
	margin-bottom: 4%;
	background-color: #fff;
	color: #000;
	vertical-align: top;
}
.backnumber-list-item.backnumber-list-item.is-current {
	border: 3px solid #ae0000;
}

.backnumber-list-item a {
	display: block;
	padding-bottom: 10px;
	text-align: center;
}
.backnumber-list-item.is-current a {
	pointer-events: none;
}

.backnumber-list-item-img {
	width: 100%;
	padding-top: calc(667 / 1000 * 100%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.backnumber-list-item-num {
	margin-top: 10px;
	padding: 0 10px;
	font-size: 2.5rem;
	font-weight: bold;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.backnumber-list-item-num span {
	position: relative;
}
.backnumber-list-item-num span:before {
	counter-increment: num;
	content: counter(num);
	display: inline-block;
	margin: 0 10px;
	color: #df0000;
	font-size: 3.8rem;
	line-height: 1;
	vertical-align: top;
}

.backnumber-list-item-text {
	margin-top: 3px;
	padding: 0 10px;
	font-size: 1.4rem;
	text-align: justify;
}

@media only screen and (min-width: 601px) and (max-width: 992px) {
	.backnumber-area {}
	.backnumber-body {
		padding: 0 30px;
	}
	.backnumber-title {
		width: auto;
		margin: 0 30px;
	}
}

@media only screen and (max-width: 600px) {
	.backnumber-area {
		background-repeat: no-repeat, repeat;
		background-position: left top, center;
		background-color: transparent;
		background-size: 70% auto, 2px auto;
		box-shadow: 0 16px 20px -10px rgba(0, 0, 0, 0.5) inset;
	}
	.backnumber-title {
		padding-top: calc(160 / 640 * 100%);
		background-size: auto 85%;
		background-position: -36% center;
	}
	.backnumber-body {
		margin: 0 auto;
	}
	.backnumber-list {
		padding: 0 3%;
	}
	.backnumber-list-item {
		display: inline-block;
		width: 48.5%;
		margin: 0;
		margin-bottom: 7%;
	}
	.backnumber-list-item:nth-child(even) {
		margin-left: 3%;
	}
	.backnumber-list-item a {
		padding-bottom: 7px;
	}
	.backnumber-list-item-img {}
	.backnumber-list-item-num {
		margin-top: 7px;
		padding: 0 7px;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.backnumber-list-item-num span:before {
		margin: 0 7px;
		color: #df0000;
		font-size: 2.4rem;
		vertical-align: top;
	}
	.backnumber-list-item-text {
		margin-top: 3px;
		padding: 0 7px;
		font-size: 1rem;
		line-height: 1.4;
	}
}


