@charset "utf-8";

/* ---------------------------------------------------------- */
/* body */
/* ---------------------------------------------------------- */
body {
	min-width: 1100px;
	color: #fff;
	background: #000;
	}

@media (max-width: 768px){
body {
	min-width: 100%;
	}
}


/* ---------------------------------------------------------- */
/* header */
/* ---------------------------------------------------------- */
header {
	width: 100%;
	background: url(../images/menu/bg_top.png) 0 35px repeat-x rgba(0,0,0,0.8);
	top: 0;
	left: 0;
	position: fixed;
	padding: 20px 0;
	z-index: 100;
	}

header #menu {
	width: 1100px;
	height: 95px;
	margin: 0 auto;
	position: relative;
	}

header #menu #headerMenu h1 {
	top: 0;
	left: 74px;
	position: absolute;
	}

header #menu #headerMenu h1 img {
	width: 95px;
	height: auto;
	}

header #menu #headerMenu h1 a:hover {
	opacity: 0.7;
	}

header #menu nav {
	border-left: 1px solid #99a3b1;
	top: 15px;
	right: 0;
	position: absolute;
	}

header #menu nav ul.mainMenu {
	width: 855px;
	display: table;
	}

header #menu nav ul.mainMenu:first-child {
	border-bottom: 1px solid #99a3b1;
	}

header #menu nav ul.mainMenu li {
	border-right: 1px solid #99a3b1;
	display: table-cell;
	}

header #menu nav ul.mainMenu li ,
header #menu nav ul.mainMenu:last-child li {
	width: 20%;
	}

header #menu nav ul.mainMenu li a ,
header #menu nav ul.mainMenu li .comingsoon {
	text-align: center;
	line-height: 0;
	padding: 10.5px 0;
	display: block;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}

header #menu nav ul.mainMenu li .comingsoon {
	opacity: 0.3;
	}

header #menu nav ul.mainMenu li a:hover ,
header #menu nav ul.mainMenu li.active a {
	background: #99a3b1;
	}

header #menu nav ul.mainMenu li img {
	width: auto;
	height: 11px;
	}

header #menu #headerMenu .menuBtn {
	display: none;
	}

@media (max-width: 768px){
header {
	background: none;
	padding: 0;
	}

header #menu {
	width: 100%;
	height: auto;
	position: static;
	}

header #menu #headerMenu {
	background: #fff;
	border-bottom: 5px solid #000;
	padding: 5px 7px 5px 5px;
	}

header #menu #headerMenu h1 {
	line-height: 0;
	float: left;
	position: static;
	}

header #menu #headerMenu h1 img {
	width: 50px;
	}

header #menu #headerMenu .menuBtn {
	width: 42px;
	height: 50px;
	float: right;
	display: inline-block;
	position: relative;
	cursor: pointer;
	}

header #menu #headerMenu .menuBtn span {
	width: 42px;
	height: 8px;
	background: #000;
	margin: -12px 0 0 -20px;
	top: 50%;
	left: 50%;
	transition: .2s;
	display: block;
	position: absolute;
	}

header #menu #headerMenu .menuBtn span:before {
	width: 42px;
	height: 8px;
	background: #000;
	margin: -17px 0 0 0;
	content: "";
	top: 50%;
	left: 0;
	transition: .3s;
	display: block;
	position: absolute;
	}

header #menu #headerMenu .menuBtn span:after {
	width: 42px;
	height: 8px;
	background: #000;
	margin: 9px 0 0 0;
	content: "";
	top: 50%;
	left: 0;
	transition: .3s;
	display: block;
	position: absolute;
	}

header #menu #headerMenu .menuBtn span.close {
	background: transparent;
	}

header #menu #headerMenu .menuBtn span.close:before {
	margin: -4px 0 0 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	}

header #menu #headerMenu .menuBtn span.close:after {
	margin: -4px 0 0 0;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	}

header #menu #headerMenu .menuBtn p {
	width: 100%;
	line-height: 0;
	text-align: center;
	left: 0;
	bottom: 0;
	position: absolute;
	}

header #menu nav {
	border-left: none;
	top: 65px;
	bottom: 0;
	left: 0;
	right: 0;
	overflow-y: auto;
	display: none;
	position: fixed;
	}

header #menu nav ul.mainMenu {
	width: 100%;
	display: block;
	}

header #menu nav ul.mainMenu:first-child {
	border-bottom: none;
	}

header #menu nav ul.mainMenu:first-child li ,
header #menu nav ul.mainMenu:last-child li {
	width: 100%;
	background: rgba(255,255,255,0.9);
	border-bottom: 1px solid #99a3b1;
	border-right: none;
	display: block;
	}

header #menu nav ul.mainMenu:last-child li:last-child {
	border-bottom: 5px solid #000;
	}

header #menu nav ul.mainMenu li a ,
header #menu nav ul.mainMenu li .comingsoon {
	padding: 15px 0;
	-webkit-transition: none;
	-moz-transition: none;
	transition: none;
	}

header #menu nav ul.mainMenu li a:hover {
	background: none;
	}
}

@media (min-width: 769px){
header #menu nav {
	display: block !important;
	}
}


/* ---------------------------------------------------------- */
/* wrapper */
/* ---------------------------------------------------------- */
#wrapper {
	width: 1100px;
	margin: 145px auto 100px auto;
	}

#wrapper h2 {
	text-align: center;
	margin: 0 0 30px 0;
	}

#lower #wrapper h2 {
	font-size: 3.0rem;
	background: #333;
	margin: 0;
	padding: 10px 20px;
	}

@media (max-width: 768px){
#wrapper {
	width: 100%;
	margin: 0 auto 30px auto;
	}

#lower #wrapper {
	margin: 95px auto 40px auto;
	padding: 0 15px;
	}

#wrapper h2 {
	margin: 0 0 10px 0;
	}

#wrapper h2 img {
	width: auto;
	height: 25px;
	}

#lower #wrapper h2 {
	font-size: 1.8rem;
	text-align: center;
	margin: 0;
	padding: 5px;
	}
}

@media (max-width: 640px){
#wrapper h2 img {
	height: 20px;
	}
}


/* ---------------------------------------------------------- */
/* main */
/* ---------------------------------------------------------- */
#main {
	height: 1220px;
	margin: 0 auto 100px auto;
	position: relative;
	}

/* mainimg */
#main #mainimg {
	width: 795px;
	height: 1070px;
	background: url(../images/top/mainimg.png) no-repeat;
	top: 0;
	right: 0;
	float: right;
	position: relative;
	}

#main #mainimg p#catch {
	width: 100%;
	text-align: center;
	top: 57%;
	right: 0;
	margin: -3.5% 0 0 0;
	position: absolute;
	}

/* link */
#main #link {
	width: 280px;
	top: 0;
	left: 0;
	position: absolute;
	}

#main #link p {
	text-align: center;
	margin: 5px 0 20px 0;
	}

#main #link ul li {
	line-height: 0;
	margin: 0 0 15px 0;
	}

#main #link ul li a {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	}

#main #link ul li a:hover {
	-webkit-opacity: 0.7;
	-moz-opacity: 0.7;
	opacity: 0.7 !important;
	}

/* start */
#main #start {
	width: 100%;
	bottom: 0;
	left: 0;
	position: absolute;
	}

#main #start p {
	height: 91px;
	font-size: 0;
	background: url(../images/top/txt_start.png) top center no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	}

@media (max-width: 768px){
#main {
	width: 100%;
	height: auto;
	margin: 65px 0 30px 0;
	position: static;
	}

/* mainimg */
#main #mainimg {
	width: 100%;
	height: 0;
	background-size: contain;
	float: none;
	margin: 0 0 25px 0;
	padding: 134.59119% 0 0 0;
	}

#main #mainimg p#catch img {
	width: 80%;
	}

/* link */
#main #link {
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
	position: static;
	}

#main #link p {
	display: none;
	}

#main #link ul {
	display: table;
	}

#main #link ul li {
	width: 50%;
	margin: 0;
	float: left;
	display: table-cell;
	}

#main #link ul li:nth-child(odd) {
	padding: 0 2.5px 5px 0;
	}

#main #link ul li:nth-child(even) {
	padding: 0 0 5px 2.5px;
	}

#main #link ul li:last-child {
	width: 100%;
	text-align: center;
	padding: 0 5px;
	}

#main #link ul li img {
	width: 100%;
	}

#main #link ul li:last-child img {
	width: 50%;
	}

#main #link ul li a:hover {
	-webkit-opacity: 1;
	-moz-opacity: 1;
	opacity: 1 !important;
	}

/* start */
#main #start {
	width: 100%;
	margin: 0 auto 25px auto;
	padding: 0 15px;
	position: static;
	}

#main #start p {
	width: 100%;
	height: 0;
	background: url(../images/top/txt_start_sp.png) top center no-repeat;
	background-size: contain;
	padding: 21.12676% 0 0 0;
	}
}


/* ---------------------------------------------------------- */
/* contents */
/* ---------------------------------------------------------- */
#contents {
	margin: -150px 0 100px 0;
	padding: 150px 0 0 0;
	}

#contents .detail {
	margin: 0 auto;
	}

#contents .detail .bg {
	background: #141414;
	}

#contents .detail .moreBtn {
	text-align: center;
	}

#contents .detail .moreBtn a ,
#contents .detail .moreBtn span {
	width: 300px;
	font-size: 2.4rem;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: url(../images/top/bg_moreBtn.png);
	margin: 0 auto;
	padding: 10px;
	display: inline-block;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer;
	}

#contents .detail .moreBtn:hover a ,
#contents .detail .moreBtn span:hover {
	opacity: 0.7;
	}

#contents .notes {
	color: #f00;
	text-align: center;
	padding: 40px 0 0 0;
	}

@media (max-width: 768px){
#contents {
	margin: -80px 0 30px 0;
	padding: 80px 15px 0 15px;
	}

#contents .detail {
	width: 100%;
	}

#contents .detail .moreBtn a ,
#contents .detail .moreBtn span {
	width: 50%;
	font-size: 1.6rem;
	}

#contents .detail .moreBtn:hover a ,
#contents .detail .moreBtn span:hover {
	opacity: 1;
	}

#contents .notes {
	padding: 20px 0 0 0;
	}
}

@media (max-width: 640px){
#contents #tab ul li a {
	padding: 10px;
	}

#contents #tab ul li a img {
	height: 12px;
	}
}

@media (max-width: 480px){
#contents #tab ul li a {
	padding: 10px 5px;
	}

#contents #tab ul li a img {
	height: 10px;
	}

#contents .notes {
	font-size: 1.1rem;
	}
}

@media (max-width: 450px){
#contents #tab ul li a img {
	height: 8px;
	}
}

@media (max-width: 320px){
#contents #tab ul li a img {
	height: 6px;
	}
}


/* ---------------------------------------------------------- */
/* NEWS */
/* ---------------------------------------------------------- */
#news .bg {
	padding: 25px;
	}

#lower #news {
	background: #141414;
	padding: 25px;
	}

#news article {
	width: 100%;
	border-bottom: 1px dashed #2c2c2c;
	margin: -155px 0 25px 0;
	padding: 155px 0 25px 0;
	display: table;
	}

#news article:nth-child(n+3) {
	border-bottom: none;
	}

#lower #wrapper #news article:nth-child(n+3) {
	border-bottom: 1px dashed #2c2c2c;
	}

#news article:last-child {
	border-bottom: none !important;
	margin: 0;
	padding: 0;
	}

#news article .newsImage {
	width: 365px;
	text-align: center;
	vertical-align: top;
	padding: 0 20px 0 0;
	display: table-cell;
	}

#news article .newsText {
	vertical-align: top;
	display: table-cell;
	}

#news article .newsTitle time {
	font-size: 1.6rem;
	margin: 0;
	}

#news article .newsTitle h3 {
	font-size: 1.8rem;
	font-weight: bold;
	}

#lower #wrapper #news article .newsTitle {
	position: relative;
	cursor: pointer;
	padding: 0 50px 0 0;
	}

#lower #wrapper #news article .newsTitle:after {
	content: "";
	width: 10px;
	height: 10px;
	top: 50%;
	right: 20px;
	border-top: 3px solid #2c2c2c;
	border-right: 3px solid #2c2c2c;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	margin: -8px 0 0 0;
	position: absolute;
	display: block;
	}

#lower #wrapper #news article .newsTitle.newsClose:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin: -4px 0 0 0;
	}

#news article .newsDetail {
	margin: 25px 0 0 0;
	}

#news article .newsDetail h4 {
	font-size: 1.4rem;
	border-bottom: 1px solid #fff;
	margin: 0 0 10px 0;
	padding: 0 0 3px 0;
	}

#news article .newsDetail h5 {
	font-size: 1.4rem;
	}

#news article .newsDetail a {
	color: #fff;
	}

/* 枠 */
#news article .newsDetail .box {
	border: 1px solid #fff;
	padding: 15px;
	clear: both;
	}

/* 表 */
#news article .newsDetail table.table {
	width: 100%;
	color: #141414;
	border-collapse: collapse;
	}

#news article .newsDetail table.table thead th {
	font-weight: normal;
	background: #ebebeb;
	border: 1px solid #3e3e3e;
	padding: 10px 20px;
	}

#news article .newsDetail table.table tbody th {
	font-weight: normal;
	text-align: left;
	background: #fff;
	border: 1px solid #3e3e3e;
	padding: 10px 20px;
	}

#news article .newsDetail table.table tbody th.item ,
#news article .newsDetail table.table tbody th.item2 {
	background: #ebebeb;
	white-space: nowrap;
	}

#news article .newsDetail table.table tbody td {
	vertical-align: middle;
	background: #fff;
	border: 1px solid #3e3e3e;
	padding: 10px 20px;
	}

#news article .newsDetail table.table tbody td a {
	color: #141414;
	}

#news article .newsDetail table.table tbody td strong {
	display: none;
	}

/* 画像リスト */
#news article .newsDetail ul.imageList:last-child {
	margin: 0 0 -20px 0;
	}

#news article .newsDetail ul.imageList li {
	text-align: center;
	margin: 0 30px 20px 0;
	float: left;
	}

@media (max-width: 768px){
#news .bg {
	padding: 15px;
	}

#news article {
	margin: -80px 0 15px 0;
	padding: 80px 0 15px 0;
	}

#news article:nth-child(n+2) {
	display: none;
	}

#lower #wrapper #news article:nth-child(n+2) {
	display: block;
	}

#news article:first-child {
	border-bottom: none;
	}

#lower #wrapper #news article:first-child {
	border-bottom: 1px dashed #2c2c2c;
	}

#news article .newsImage {
	width: 100%;
	padding: 0 0 20px 0;
	display: block;
	}

#news article .newsText {
	width: 100%;
	display: block;
	}

#news article .newsTitle h3 {
	line-height: 1.3;
	}

#lower #wrapper #news article .newsTitle {
	padding: 0 40px 0 0;
	}

#lower #wrapper #news article .newsTitle:after {
	right: 10px;
	}

#news article .newsDetail {
	margin: 15px 0 0 0;
	}

/* 中央寄せ */
#news article .newsDetail .center {
	text-align: center;
	}

/* 画像 */
#news article img.image {
	width: 80%;
	height: auto;
	}

#news article img.image_h {
	width: 50%;
	height: auto;
	}

/* 動画 */
#news article .newsDetail .movie {
	height: 0;
	padding: 0 0 56.25% 0;
	overflow: hidden;
	position: relative;
	}

#news article .newsDetail .movie iframe {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	}

/* 表 */
#news article .newsDetail table.table {
	width: 100%;
	color: #fff;
	}

#news article .newsDetail table.table thead {
	display: none;
	}

#news article .newsDetail table.table tbody tr {
	margin: 0 0 20px 0;
	display: block;
	}

#news article .newsDetail table.table tbody tr:last-child {
	margin: 0;
	}

#news article .newsDetail table.table tbody th th ,
#news article .newsDetail table.table tbody th.item {
	width: 100%;
	color: #141414;
	background: #ebebeb;
	margin: 0 0 10px 0;
	padding: 5px 10px;
	display: block;
	}

#news article .newsDetail table.table tbody th.item2 {
	width: 100%;
	font-weight: bold;
	color: #fff;
	background: none;
	border: none;
	border-bottom: 1px solid #fff;
	margin: 0 0 10px 0;
	padding: 0 0 5px 0;
	display: block;
	}

#news article .newsDetail table.table tbody td {
	width: 100%;
	background: none;
	border: none;
	padding: 0;
	display: block;
	}

#news article .newsDetail table.table tbody td:last-child {
	margin: 0;
	}

#news article .newsDetail table.table tbody td a {
	color: #fff;
	}

#news article .newsDetail table.table tbody td strong {
	display: inline-block;
	}

/* 画像リスト */
#news article .newsDetail ul.imageList {
	margin: 0 0 20px 0;
	}

#news article .newsDetail ul.imageList:last-child {
	margin: 0;
	}

#news article .newsDetail ul.imageList li {
	margin: 0 0 20px 0;
	}

#news article .newsDetail ul.imageList li:last-child {
	margin: 0;
	}

#news article .newsDetail ul.imageList li img {
	width: 100%;
	height: auto;
	}
}

@media (max-width: 640px){
#news article .newsTitle time {
	font-size: 1.4rem;
	}

#news article .newsTitle h3 {
	font-size: 1.6rem;
	}

#news article img.image {
	width: 100%;
	}

#news article img.image_h {
	width: 70%;
	}
}

@media (max-width: 480px){
#news article img.image_h {
	width: 100%;
	}
}


/* ---------------------------------------------------------- */
/* INTRODUCTION */
/* ---------------------------------------------------------- */
#introduction .bg {
	padding: 60px 25px 0 25px;
	}

#introduction ul {
	width: 100%;
	}

#introduction ul li {
	font-size: 1.8rem;
	border-bottom: 1px dashed #2c2c2c;
	margin: 0 0 60px 0;
	padding: 0 35px 60px 35px;
	}

#introduction ul li:last-child {
	border-bottom: none;
	margin: 0;
	}

#introduction ul li h3 {
	text-align: center;
	}

#introduction ul li .story ,
#introduction ul li .cast ,
#introduction ul li .schedule {
	margin: 50px 0 0 0;
	}

@media (max-width: 768px){
#introduction .bg {
	padding: 40px 25px 0 25px;
	}

#introduction ul li {
	margin: 0 0 40px 0;
	padding: 0 0 40px 0;
	}

#introduction ul li h3 img {
	width: 90%;
	line-height: 0;
	}

#introduction ul li .story ,
#introduction ul li .cast ,
#introduction ul li .schedule {
	margin: 40px 0 0 0;
	}
}

@media (max-width: 640px){
#introduction .bg {
	padding: 25px 15px 0 15px;
	}

#introduction ul li {
	font-size: 1.4rem;
	margin: 0 0 25px 0;
	padding: 0 0 25px 0;
	}

#introduction ul li h3 img {
	width: 100%;
	}

#introduction ul li .story ,
#introduction ul li .cast ,
#introduction ul li .schedule {
	margin: 20px 0 0 0;
	}
}


/* ---------------------------------------------------------- */
/* STAFF */
/* ---------------------------------------------------------- */
#staff {
	text-align: center;
	}

#staff .bg {
	padding: 60px 25px;
	}

#staff p {
	line-height: 0;
	text-align: center;
	}

@media (max-width: 768px){
#staff .bg {
	padding: 40px 25px;
	}

#staff p img {
	width: 80%;
	}
}

@media (max-width: 640px){
#staff .bg {
	padding: 25px;
	}
}

@media (max-width: 480px){
#staff p img {
	width: 100%;
	}
}


/* ---------------------------------------------------------- */
/* TICKET */
/* ---------------------------------------------------------- */
#ticket {
	text-align: center;
	}

#ticket .bg {
	padding: 50px 50px 30px 50px;
	}

#ticket .list h3 {
	line-height: 0;
	margin: 0 0 30px 0;
	}

#ticket .list ul {
	width: 100%;
	}

#ticket .list ul li {
	line-height: 0;
	margin: 0 0 20px 0;
	}

#ticket .moreBtn {
	margin: 0 auto 20px auto !important;
	}

@media (max-width: 768px){
#ticket .bg {
	padding: 25px 15px 5px 15px;
	}

#ticket .list h3 {
	margin: 0 0 20px 0;
	}

#ticket .list h3 img {
	width: 90%;
	}

#ticket .list ul li img {
	width: 100%;
	}
}

@media (max-width: 640px){
#ticket .list h3 img {
	width: 100%;
	}

#ticket .list ul li {
	margin: 0 0 10px 0;
	}
}


/* ---------------------------------------------------------- */
/* SPECIAL */
/* ---------------------------------------------------------- */
#special {
	text-align: center;
	margin: -150px 0 0 0;
	padding: 150px 0 0 0;
	}

#special ul {
	width: 1100px;
	margin: 0 auto;
	display: table;
	}

#special ul li {
	width: 50%;
	margin: 0 0 30px 0;
	float: left;
	display: table-cell;
	}

#special ul li:nth-child(odd) {
	padding: 0 15px 0 0;
	}

#special ul li:nth-child(even) {
	padding: 0 0 0 15px;
	}

#special ul li .movie {
	height: 0;
	padding: 0 0 56.25% 0;
	overflow: hidden;
	position: relative;
	}

#special ul li .movie iframe {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	}

#special ul li p {
	font-size: 1.8rem;
	margin: 15px 0 0 0;
	}

@media (max-width: 768px){
#special {
	margin: -80px 0 0 0;
	padding: 80px 15px 0 15px;
	}

#special ul {
	width: 100%;
	display: block;
	}

#special ul li {
	width: 100%;
	margin: 0 0 20px 0;
	float: none;
	display: block;
	}

#special ul li:last-child {
	margin: 0;
	}

#special ul li:nth-child(odd) ,
#special ul li:nth-child(even) {
	padding: 0;
	}

#special ul li p {
	font-size: 1.6rem;
	margin: 10px 0 0 0;
	}
}


/* ---------------------------------------------------------- */
/* 配信サイト一覧 */
/* ---------------------------------------------------------- */
#digital {
	color: #141414;
	text-align: center;
	background: #fff;
	padding: 40px;
	}

#digital h3 {
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
	background: #000;
	margin: 0 0 20px 0;
	padding: 10px;
	}

#digital .title {
	margin: 0 0 40px 0;
	}

#digital .title ul {
	font-size: 1.8rem;
	display: inline-block;
	}

#digital .haishin01 {
	margin: 0 0 40px 0;
	}

#digital .haishin01 ul ,
#digital .haishin02 ul {
	width: 100%;
	display: table;
	}

#digital .haishin01 ul li {
	width: 33.33333%;
	margin: 0 0 40px 0;
	float: left;
	display: table-cell;
	}

#digital .haishin02 ul li {
	width: 25%;
	margin: 0 0 40px 0;
	float: left;
	display: table-cell;
	}

#digital .haishin01 ul li .logo ,
#digital .haishin02 ul li .logo {
	margin: 0 0 10px 0;
	}

#digital .haishin01 ul li a ,
#digital .haishin02 ul li a {
	width: 150px;
	color: #fff;
	line-height: 1.0;
	text-decoration: none;
	background: #000;
	margin: 0 auto;
	padding: 7px;
	display: block;
	}

#digital .haishin01 ul li a:hover ,
#digital .haishin02 ul li a:hover {
	background: #333;
	}

#digital p.notes {
	font-size: 1.4rem;
	margin: 30px 0 0 0;
	}

@media (max-width: 768px){
#digital {
	padding: 40px 30px;
	}

#digital h3 {
	font-size: 1.8rem;
	}

#digital .haishin01 ul li ,
#digital .haishin02 ul li {
	width: 50%;
	}

#digital p.notes {
	text-align: left;
	}
}

@media (max-width: 640px){
#digital {
	padding: 25px 15px;
	}

#digital .title {
	text-align: left;
	}

#digital .title ul {
	font-size: 1.4rem;
	}

#digital h3 {
	font-size: 1.6rem;
	text-align: center;
	padding: 5px 10px;
	}

#digital .haishin01 ul li ,
#digital .haishin02 ul li {
	width: 100%;
	border-bottom: 1px solid #3e3e3e;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	}
}


/* ---------------------------------------------------------- */
/* 過去作品 配信一覧 */
/* ---------------------------------------------------------- */
#past {
	color: #141414;
	background: #fff;
	padding: 40px 20px;
	}

#past table {
	width: 100%;
	word-break: break-all;
	border-collapse: collapse;
	}

#past table thead th {
	font-size: 1.6rem;
	font-weight: normal;
	background: #ebebeb;
	border: 1px solid #3e3e3e;
	padding: 20px 5px;
	}

#past table thead th a {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	}

#past table thead th a:hover {
	-webkit-opacity: 0.7;
	-moz-opacity: 0.7;
	opacity: 0.7;
	}

#past table tbody th {
	width: 25%;
	font-size: 1.8rem;
	vertical-align: middle;
	border: 1px solid #3e3e3e;
	padding: 15px;
	}

#past table thead th img ,
#past table tbody th img {
	line-height: 0;
	vertical-align: middle;
	}

#past table td {
	width: 15%;
	vertical-align: middle;
	border: 1px solid #3e3e3e;
	padding: 15px;
	}

#past table td strong {
	display: none;
	}

@media (max-width: 768px){
#past {
	padding: 25px 15px;
	}

#past table thead {
	display: none;
	}

#past table tbody tr {
	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
	display: block;
	position: relative;
	}

#past table tbody tr:after {
	width: 80%;
	border-top: 2px solid #141414;
	bottom: 0;
	margin: 0 0 0 -40%;
	left: 50%;
	content: "";
	display: block;
	position: absolute;
	}

#past table tbody tr:last-child {
	margin: 0;
	padding: 0;
	}

#past table tbody tr:last-child:after {
	border-top: none;
	}

#past tableail table.table tr:last-child {
	margin: 0;
	}

#past table tbody th {
	width: 100%;
	border: none;
	margin: 0 0 15px 0;
	padding: 0;
	display: block;
	}

#past table tbody td {
	width: 100%;
	border: none;
	margin: 0 0 20px 0;
	padding: 0;
	display: block;
	}

#past table td:last-child {
	margin: 0;
	}

#past table td strong {
	font-size: 1.6rem;
	font-weight: normal;
	text-align: center;
	background: #ebebeb;
	border: 1px solid #3e3e3e;
	margin: 0 0 10px 0;
	padding: 5px;
	display: block;
	}
}


/* ---------------------------------------------------------- */
/* footer */
/* ---------------------------------------------------------- */
/* banner */
footer #banner_sp {
	width: 840px;
	line-height: 0;
	text-align: center;
	margin: 0 auto 20px auto;
	}

footer #banner_sp ul li {
	margin: 0 5px 10px 5px;
	float: left;
	}

footer #banner_sp ul li.big {
	margin: 0 0 10px 0;
	float: none;
	}

footer #banner {
	line-height: 0;
	text-align: center;
	margin: 0 0 50px 0;
	}

footer #banner ul {
	width: 840px;
	display: inline-block;
	}

footer #banner ul li {
	margin: 0 5px 10px 5px;
	float: left;
	}

footer #banner_sp ul li a ,
footer #banner ul li a {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	}

footer #banner_sp ul li a:hover ,
footer #banner ul li a:hover {
	-webkit-opacity: 0.7;
	-moz-opacity: 0.7;
	opacity: 0.7;
	}

/* twitter */
footer #twitter {
	width: 1100px;
	margin: 0 auto 15px auto;
	}

footer #twitter ul li {
	margin: 0 10px 0 0;
	float: left;
	}

footer #twitter ul li:last-child {
	margin: 0 0 0 10px;
	}

footer #twitter ul li p {
	font-size: 1.4rem;
	background: #141414;
	margin: 0 0 15px 0;
	padding: 10px;
	display: inline-block;
	}

footer #twitter ul li p a {
	color: #4891d8;
	}

footer #twitter ul li iframe {
	width: 540px !important;
	height: 520px !important;
	}

/* share */
footer #share {
	width: 1100px;
	height: 20px;
	overflow: hidden;
	margin: 0 auto 30px auto;
	}

footer #share ul li {
	margin: 0 10px 0 0;
	float: left;
	}

/* copyright */
footer #copyright {
	text-align: center;
	padding: 30px 0;
	}

footer #copyright p {
	font-size: 1.0rem;
	margin: 0 5px;
	display: inline-block;
	}

footer p span {
	font-family: Verdana , Droid Sans;
	}

@media (max-width: 768px){
/* banner */
footer #banner_sp {
	width: 100%;
	margin: 0 0 20px 0;
	}

footer #banner_sp ul li {
	margin: 0 0 10px 0;
	padding: 0 15px;
	float: none;
	}

footer #banner_sp ul li img {
	width: 100%;
	}

footer #banner {
	margin: 0 15px 30px 15px;
	}

footer #banner ul {
	width: 100%;
	display: table;
	}

footer #banner ul li {
	width: 50%;
	margin: 0 0 10px 0;
	display: table-cell;
	}

footer #banner ul li:nth-child(odd) {
	padding: 0 5px 0 0;
	}

footer #banner ul li:nth-child(even) {
	padding: 0 0 0 5px;
	}

footer #banner ul li img {
	width: 100%;
	height: auto;
	}

footer #banner_sp ul li a:hover ,
footer #banner ul li a:hover {
	-webkit-opacity: 1;
	-moz-opacity: 1;
	opacity: 1;
	}

/* twitter */
footer #twitter {
	width: 100%;
	margin: 0 auto 30px 0;
	}

footer #twitter ul li {
	text-align: center;
	margin: 0 0 10px 0;
	padding: 0 30px;
	float: none;
	}

footer #twitter ul li:last-child {
	margin: 0;
	}

footer #twitter ul li iframe {
	height: 250px !important;
	}

footer #twitter ul li p {
	display: none;
	}

footer #twitter ul li .tweet {
	line-height: 0;
	}

/* share */
footer #share {
	width: 100%;
	text-align: center;
	margin: 0;
	}

footer #share ul {
	display: inline-block;
	}

/* copyright */
footer #copyright {
	padding: 15px 0;
	}
}