@charset "UTF-8";

body{
	margin: 0;
	font-size: 80%;
	line-height: 160%;
	background: #F8F8F8;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	-webkit-text-size-adjust: 100%;
}
div,p,ul,li,dl,dt,dd,form{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-size:1rem;font-weight:normal;}
li{
	list-style: none;
}
table {
	border-collapse: collapse;
}
a {
	color: #00f;
}
/* global header */
#header {
	background: #FFF;
	position: relative;
}

#header h1{
	text-align: center;
	margin-bottom: 15px;
}

#hnav ul {
	display: table;
}
#hnav li {
	display: table-cell;
}
#article {
	background: #FFF;
	padding: 3%;
}

@media (max-width:949px){
	#header.fixed {
		position: fixed;
		top: 0;
		left: 0;
		padding-bottom: 0;
		z-index: 100;
	}
	.header-social {
		position: absolute;
		/*
		bottom: 6px;
		left: 30px;
		*/
	    left: 0;
	    top: 5px;
	}
}

@media(max-width: 374px){
	.header-social {
		display: none;
	}
}
@media print, screen and (min-width:950px) {
	#article {
		margin-bottom: 50px;
	}
	#header {
		margin-bottom: 30px;
		box-shadow:0px 15px 22px -20px #000;
	}
	#header>div {
		position: relative;
		width: 950px;
		margin: auto;
	}
	.header-social {
		position: relative;
		width: 950px;
		margin: auto;
	}
	.header-social>div {
		position: absolute;
		top: 6px;
		left: 200px;
		z-index: 100;
	}
	#hnav {
		padding: 6px 0;
	}
	#hnav ul {
		float: right;
		clear: both;
		margin-bottom: 4px;
	}
	#hnav li {
		padding-right: 5px;
	}
	#hnav li a {
		color: #FFF;
		background: #ff8c00;
		text-decoration: none;
		line-height: 100%;
		display: inline-block;
		border-radius: 3px;
		padding: 5px 10px;
	}
	#hnav li a:hover {
		background: #EEE;
	}
	#header h1{
		padding-top: 30px;
	}
	#gnav-trigger {
		display: none;
	}
	#gnav {
	}
	#gnav ul {
		display: table;
		margin: auto;
		width: 950px;
	}
	#gnav ul::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
		overflow: hidden;
	}
	#gnav li {
		background: #FFF;
		display: table-cell;
	}
	#gnav li:last-child {
		margin-right: 0;
	}
	#gnav li a {
		border-bottom: 4px solid #fff;
		color: #000;
		display: block;
		padding: 0 0 15px 0;
		text-decoration: none;
		line-height: 1;
		font-size: 15px;
		font-weight: bold;
	}
	#gnav li a.active,
	#gnav li a:hover {
		border-bottom: 4px solid #ff8c00;
	}
	#gnav li a span {
		display: block;
		border-right: 1px solid #CCC;
		padding: 10px 13px;
		text-align: center;
	}
	#gnav li:first-child a span {
		border-left: 1px solid #CCC;
	}
	#content {
		margin: auto;
		width: 950px;
	}
	#content::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
		overflow: hidden;
	}
	#article {
		float: left;
		margin-bottom: 50px;
/*
		width: 620px;*/
		width: 65.3%;
		padding: 40px;
		border-radius: 10px;
		box-shadow:0px 0px 28px -9px #000000;
	}

	
}

@media print {
	#content {
		width: auto;
		padding: 0 3%;
	}
}

@media only screen and (max-width:949px){
	/*
	.header-social {
		padding: 5px 5px 0 5px;
	}
	*/
	#hnav {
		background: #ff8c00;
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	#hnav ul {
		display: flex;
		flex-basis: 100%;
	}
	#hnav li {
		border-left: 1px solid #FFF;
		text-align: center;
	}
	#hnav li a {
		color: #FFF;
		display: block;
		padding: 5px 8px;
		line-height: 100%;
		text-decoration: none;
	}
	#hnav li.ann {
		color: #fff;
		border: none;
		padding-right: 5px;
		font-size: .7rem;
		width: 75vw;
		text-align: right;
	}
	#hnav li.ann span {
		display: none;
	}
	#header h1 {
		width: -webkit-calc(100% - 70px);
		width : calc(100% - 70px) ;
		margin-right: 70px;
		margin-left: 5px;
		margin-bottom: 5px;
		margin-top: 15px;
	}
	#gnav-trigger,
	#gnav-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#gnav-trigger {
		position: absolute;
		width: 38px;
		height: 29px;
		top: 20px;
		right: 3%;
		z-index: 100;
		cursor: pointer;
	}
	#gnav-trigger::after {
		font-family: sans-serif;
		content: "MENU";
		color: #555;
		font-size: 10px;
		letter-spacing: 0;
		bottom:-15px;
		left: -2px;
		display: block;
		position: absolute;
        text-align: center;
		width: 42px;
		line-height: 100%;
	}
	#gnav-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 5px;
		background-color: #333;
		border-radius: 4px;
	}
	#gnav-trigger span:nth-of-type(1) {
		top: 0;
	}
	#gnav-trigger span:nth-of-type(2) {
		top: 12px;
	}
	#gnav-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	#gnav-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(500px) rotate(-45deg);
		transform: translateY(12px) rotate(-45deg);
	}
	#gnav-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	#gnav-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(45deg);
		transform: translateY(-12px) rotate(45deg);
	}
	#gnav ul {
		display: none;
	}
	#gnav li {
		background: #FFF;
		text-align: center;
		border-bottom: 1px solid #CCC;
		padding: 10px;
		opacity: .95;
	}
	#gnav li a {
		display: block;
    	font-size: 1.1rem;
		padding: 10px;
		text-decoration: none;
	}
	#gnav li:first-child {
		border-top: 1px solid #CCC;
	}
	#gnav li img {
		height: 30px;
	}
/*
#gnav {
  overflow: hidden;
  height: 3em; 
  width: 100%;
}
#gnav .mask {
  height: 5em; 
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; 
}
#gnav ul {
  display: inline-table;
  max-width: 100%;
}
#gnav li {
  display: table-cell;
}
*/


}

/* aside
--------------------------------------------------------------------*/
#aside {
	position: relative;
}
#aside .scrollFixIt {
	display: none;
}
	#aside section h2 span {
		display: inline-block;
		float: right;
}
/*
		position: absolute;
		right: 0;
		top: 0;
*/
		font-size: 10px;
		color: #FFF;
		background: #F60;
		text-decoration: none;
		line-height: 100%;
		display: inline-block;
		border-radius: 3px;
		padding: 4px 5px;
	}
	#aside section h2::after {
		content: "";
		clear: both;
		display: block;
		height: 0;
	}
	#aside section p.desc {
		font-size: .75rem;
		margin-bottom: 10px;
	}
	#aside section p.btn {
		text-align: center;
	}
	#aside section p.btn a {
		background-color: #E00;
		background: linear-gradient(#F00, #D00);
		border-radius: 5px;
		display: inline-block;
		color: #FFF;
		cursor: pointer;
		font-size: .8rem;
		font-weight: bold;
		text-align: center;
		text-shadow: 1px 1px 1px rgba(0,0,0,.5);
		padding: 5px 20%;
		text-decoration: none;
	}

	#aside section h2 {
		border-bottom: 2px solid #F60;
		margin-bottom: 8px;
		padding-bottom: 3px;
		position: relative;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-weight: 800;
		color: #f60;
	}
	#aside section h2 img {
		height: 17px;
	}

	#aside section.attention {
		position: relative;
	}
	#aside section.attention::before {
		display: block;
		width: 1em;
		position: absolute;
		top: -5px;
		left: -5px;
		font-size: 24px;
		color: #F60;
		text-shadow: 1px 1px 1px rgba(255,255,255,1);
		word-wrap: break-word;
	}
	#aside section.attention.attention1::before {
		content: "★";
	}
	#aside section.attention.attention2::before {
		content: "★★";
	}
	#aside section.bank {
		background: #ffe9a5;
	}
#aside .recommend-books ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
#aside .recommend-books li {
	flex-basis: 48%;
	font-size: .7rem;
}
@media print, screen and (min-width:950px){
	#aside {
		float: right;
/*
		width: 220px;*/
		width: 23.2%;

	}
	#aside section {
		background: #FFF;
		border-radius: 10px;
		box-shadow:0px 0px 28px -9px #000000;
		margin-bottom: 20px;
		padding: 15px;
	}
	#aside section p.btn a:hover {
		background: #F00;
	}
}

@media only screen and (max-width:949px){
	#aside {
		padding: 3%;
	}
	#aside section {
		background: #FFF;
		margin-bottom: 20px;
		padding: 5%;
	}

}

#article>h1 {
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 40px;
	border-bottom: 1px dotted #CCC;
	padding-bottom: 20px;
}
#article section {
	margin-bottom: 50px;
}


#footer {
	color: #FFF;
	text-align: center;
	padding: 20px;
	background: #666;
}
#footer a {
	color: #FFF;
}
#footer #pagetop {
	position: fixed;
	bottom: 10px;
	right: 15px;
	font-size: .9rem;
	font-weight: bold;
	z-index: 30;
}
#footer #pagetop a {
	text-decoration: none;
	color: #FFF;
	text-align: center;
	display: block;
	border-radius: 5px;
	background: #FFF0E0;
	line-height:1rem;
	padding: 15px 10px;
/*	background-color: rgba(234, 85, 20, .7);*/
	background-color: rgba(255, 153, 0, .7);
	box-shadow:rgb(100, 100, 100) 0px 0px 5px -1px;
}
#footer #pagetop a img {
	position: relative;
	top: 4px;
	margin-left: 4px;
}

#footer .related {
	margin-bottom: 20px;
}
/*

#footer .related dt {
	float: left;
}
#footer .related dd {
	float: left;
	margin-right: 10px;
}
*/

@media print, screen and (min-width:950px){
	#footer .related {
		margin: 0 auto 20px auto;
		width: 950px;
		line-height: 2;
	}
	#footer .related::after {
		content: "";
		clear: both;
		display: block;
		height: 0;
	}
	#footer .related dt {
		white-space: nowrap;
	}
	#footer .related dt,
	#footer .related dd {
		display: inline;
	}
	#footer .related dd {
		margin-right: 10px;
	}
	/*
	#footer .related dt:nth-of-type(4) {
		clear: both;
	}
	*/
	#footer #pagetop a:hover{
		-moz-opacity:0.85;
		opacity:0.85;
		filter:alpha(opacity=85);
	}
/*
	#footer .related dt:nth-child(7) {
		clear: both;
	}
*/
}
@media only screen and (max-width:480px){
	#footer {
		padding-bottom: 70px;
	}
	#footer .related::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
		overflow: hidden;
	}
	#footer .related dt {
		clear: both;
		float: left;
		text-align: left;
		width: 6.5em;
	}
	#footer .related dd {
		float: none;
		padding-left: 6.5em;
		text-align: left;
	}
}

/* common
--------------------------------------------------------------------*/
img {
	max-width: 100%;
	width: auto;
	height: auto;
}
h2 {
	border-bottom: 1px solid #ff8c00;
	color: #ff8c00;
	font-size: 1.1rem;
	font-weight: bold;
	margin-bottom: 15px;
	padding-bottom: 3px;
}
h2 span.circle {
	display: inline-block;
	border: 1px solid #ff8c00;
	border-radius: 50%;
	font-size: 14px;
    height: 17px;
    width: 22px;
    line-height: 1;
    padding-top: 5px;
    text-align: center;
	margin-right: 5px;
	position: relative;
	top: -1px;
}
@media(min-width: 768px){
	.sp {
		display: none;
	}
}
@media(max-width: 767px){
	.pc {
		display: none;
	}
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.nowrap {
	white-space: nowrap;
}
.notice {
	color: #D00;
}
span.ib {
	display: inline-block;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb70 {
	margin-bottom: 70px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb120 {
	margin-bottom: 120px;
}
.ml20 {
	margin-left: 20px;
}
.ml30 {
	margin-left: 30px;
}
.ml100 {
	margin-left: 100px;
}
.ml1em{
	margin-left: 1em;
}
.mt30 {
	margin-top: 30px;
}
.mt60 {
	margin-top: 60px;
}
.mt80 {
	margin-top: 80px;
}
.mt100 {
	margin-top: 100px;
}
.indent2 {
	text-indent: 2em;
}
.red {
	color: #E00;
}
.font70 {
	font-size: .7rem;
}
.font75 {
	font-size: .75rem;
}
.font90 {
	font-size: .9rem;
}
.font100 {
	font-size: 1rem;
}
.font110 {
	font-size: 1.1rem;
}
.w50 {
	width: 50px;
}
.w100 {
	width: 100px;
}
.w150 {
	width: 150px;
}
.w200 {
	width: 200px;
}
.w300 {
	width: 300px;
}
.w400 {
	width: 400px;
}
.w500 {
	width: 500px;
}
.alphabet {
	ime-mode: disabled;
}
a.mark {
	color: #FFF;
	background: #ff8c00;
	text-decoration: none;
	line-height: 100%;
	display: inline-block;
	border-radius: 3px;
	padding: 5px 10px;
}
.clearfix::after {
	clear: both;
	display: block;
	content: "";
	line-height: 0;
}
.fRight {
	float: right;
}
.fLeft {
	float: left;
}
.ml1em {
	margin-left: 1rem;
}
.txt-prefix {
	text-indent: -1em;
	margin-left: 1em;
}
@media(min-width: 950px) {
	a.mark:hover {
		background: #EEE;
	}
}
@media(max-width: 480px) {
	.pc {
		display: none;
	}
}

/* index
--------------------------------------------------------------------*/
#index #article section {
	margin-bottom: 80px;
}
#index #article section.info ,
#viewing #article section.info,
#primary #article section.info,
#sponsor #article section.info,
#index #article section.sponsor {
	margin-bottom: 20px;
}
#index section.info>div,
#viewing section.info>div,
#primary section.info>div,
#sponsor section.info>div,
#sponsor section.sponsor>div,
#index section.sponsor>div {
	border: 5px solid #EEE;
	padding: 4%;
	margin-bottom: 35px;
}
#index section.info dt,
#primary section.info dt,
#sponsor section.info dt,
#viewing section.info dt {
	clear: both;
	float: left;
	color: #060;
	width: 7.5em;
	border-right: 1px solid #DDD;
}
#index section.info dd,
#primary section.info dd,
#sponsor section.info dd,
#viewing section.info dd {
	padding: 0 0 0 9em;
	margin-bottom: 7px;
}
#index section.info dd span,
#primary section.info dd span,
#sponsor section.info dd span,
#viewing section.info dd span {
	display: inline-block;
	float: right;
}
#index section.info dd:last-child,
#primary section.info dd:last-child,
#sponsor section.info dd:last-child,
#viewing section.info dd:last-child {
	margin-bottom: 0;
}
#index section.digest-movie,
#viewing section.digest-movie {
	text-align: center;
}
#index p.btn,
#final p.btn,
#primary p.btn {
	margin: 10px auto;
	text-align: center;
}
#index p.btn a,
#final p.btn a/*
#primary p.btn */{
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 5px;
	display: inline-block;
	color: #FFF;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
	padding: 15px 10%;
	text-decoration: none;
	min-width: 40%;
}
#index .video-entry-btn {
	margin: 40px 0;
}
#index .video-entry-btn  p.btn {
	margin-bottom: 12px;
}
#index .video-entry-btn p.btn a {
	font-size: 1rem;
	padding: 10px;
	width: 70%;
}
#index section.intro,
#viewing section.intro {
	font-size: .9rem;
	text-align: center;
}
#index section.intro .right,
#viewing section.intro .right {
	margin-right: 8%;
}
#index section.final-movie ul::after,
#viewing section.final-movie ul::after {
	clear: both;
	display: block;
	content: "";
	line-height: 0;
}
#index section.final-movie ul,
#viewing section.final-movie ul {
	margin-bottom: 40px;
}
#index section.final-movie ul li,
#viewing section.final-movie ul li {
	margin-bottom: 25px;
	text-align: center;
}
#index section.chance .info {
	padding: 3%;
	background: #fcf89f;
	font-size: .95rem;
	font-weight: bold;
	text-align: center;
	line-height: 160%;
	margin-bottom: 25px;
}
#index section.chance .chance {
	border: 5px solid #EEE;
	padding: 3%;
	margin-bottom: 15px;
}
#index section.chance h3 {
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 10px;
}
#index section.chance .chance li {
	float: left;
	margin-right: 5px;
}
#index section.chance .chance li img {
	width: 90px;
	height: 128px;
}
#index section.chance .newspaper p {
	margin-bottom: 20px;
}
#index section.voice3 li {
	color: rgb(102, 0, 0);
    list-style-type: disc;
    margin-left: 1.5em;
    margin-bottom: 4px;
}

#index section.voice3 li:nth-child(4n) {
	margin-bottom: 25px;
}

/* indexにCSSを追加しました。2017/03/17momo
--------------------------------------------------------------------*/
#index div.voice {
	background: #FFF0E0;
	padding: 25px;
	border-radius: 5px;
	margin-bottom: 30px;
}
#index h3 {
	font-weight: bold;
	margin-bottom: 8px;
}
#index .voice p.name {
	text-align: right;
}
/* ↑voice.voiceから拾ってきました。（行2036-2053）
--------------------------------------------------------------------*/

/* indexにCSSを追加しました。2017/04/30前山
--------------------------------------------------------------------*/
#index .voice2 li {
	padding: 5%;
	border-radius: 10px;
	border: 1px dotted #999;
	margin-bottom: 15px;
}
#index .voice2 .fLeft li:nth-child(3n),
#index .voice2 .fRight li:nth-child(3n+2) {
	color: #F36;
}
#index .voice2 .fLeft li:nth-child(3n+1),
#index .voice2 .fRight li:nth-child(3n) {
	color: #390;
}
#index .voice2 .fLeft li:nth-child(3n+2),
#index .voice2 .fRight li:nth-child(3n+1) {
	color: #369;
}
@media print, screen and (min-width:768px){
	#index .voice2 .fLeft,
	#index .voice2 .fRight {
		width: 49%;
	}
}







#index section.profile .fLeft dl,
#viewing section.profile .fLeft dl{
	margin-bottom:20px;	
}
#index section.profile .fLeft dt,
#viewing section.profile .fLeft dt{
	width: 6.5em;
	float: left;	
	text-align: right;
}
#index section.profile .fLeft dd,
#viewing section.profile .fLeft dd{
	margin-left: 7em;
}

#index section.profile .fLeft dt.strong,
#index section.profile .fLeft dd.strong,
#viewing section.profile .fLeft dt.strong,
#viewing section.profile .fLeft dd.strong{
	font-weight:bold;
	margin-top:8px;
	margin-bottom:8px;
}
#index section.profile .fLeft dd.full1,
#viewing section.profile .fLeft dd.full1{
	margin-left:2.5em;
	margin-bottom:8px;
}
#index section.profile .fLeft dd.full2,
#viewing section.profile .fLeft dd.full2{
	margin-left:6.5em;	
}
#index section.profile .fLeft div p,
#viewing section.profile .fLeft div p{
	margin-left:6.5em;	
}
#index section.profile .fLeft div. p,
#viewing section.profile .fLeft div. p{
	margin-left:2.5em;	
}
#index section.profile .fLeft.book, 
#viewing section.profile .fLeft.book {
	font-size: .75rem;
	padding-bottom: 20px;
}
#index section.profile .fLeft div.book,
#viewing section.profile .fLeft div.book{
	margin-top:30px;
}
#index section.profile .fLeft div.book p.right,
#viewing section.profile .fLeft div.book p.right{
	margin:0;	
	padding-right:25px;
}
/*
#index section.profile .fLeft.book span, 
#viewing section.profile .fLeft.book span {
	display: block;
	float: right;
}
#index section.profile .fLeft.book span::after, 
#viewing section.profile .fLeft.book span::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}
*/

#index section.profile .fLeft h3,
#viewing section.profile .fLeft h3 {
	margin-bottom: 10px;
}
#index section.profile .fRight p,
#viewing section.profile .fRight p{
	margin:0 0 40px 0;
}
#index section.profile .fRight p.pht,
#viewing section.profile .fRight p.pht{
	margin-bottom:10px;
}
#index section.profile .fRight p:last-child,
#viewing section.profile .fRight p:last-child{
	margin-top:-10px;
}
#viewing section.profile .fRight .book .book-catch {
	color: #f60;
	font-weight: bold;
	margin-bottom: 5px;
}
#viewing section.profile .book .book-title {
	font-weight: bold;
	font-size: .8rem;
	margin-bottom: 0;
}
#viewing section.profile .book .book-title a {
	color: #000;
	text-decoration: none;
}
#viewing section.profile .book .btn a {
	background: #f90;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: .7rem;
	line-height: 1;
}

#article section.related table {
	margin: auto;
}
#article section.related th,
#article section.related td {
	padding: 4px 0;
	vertical-align: top;
	word-wrap: break-word;
}
#article section.related th {
	text-align: left;
	white-space: nowrap;
	font-weight: normal;
}
#index .guest-list dt {
	display: list-item;
	list-style: disc outside;
	margin-left: 1em;
	float: left;
	clear: both;
	margin-bottom: .5em;
}
#index .guest-list dd {
	padding-left: 8.5em;
	margin-bottom: .5em;
	text-indent: -1em;
}
#index .guest-list dd::before {
	content: "（";
}
#index .guest-list dd::after {
	content: "）";
}
#index section.profile .fRight .book p,
#viewing section.profile .fRight .book p {
	margin: 0;
}
section.profile .fRight .book .catch {
	color: #f60;
	font-weight: 800;
}
section.profile .fRight .book .name {
	font-weight: 800;
	margin-bottom: 8px;
}
#index #article section.profile .fRight .book .cover,
#viewing #article section.profile .fRight .book .cover {
	margin-right: 22%;
	margin-left: 22%;
}
#index #article section.profile .fRight .book .shinbun,
#viewing #article section.profile .fRight .book .shinbun {
	margin: 3.5rem 12%;
}
section.profile .fRight .book {
	margin-bottom: 45px;
}
section.profile .fRight .book .link a {
	border-radius: 15px;
	display: inline-block;
	background: linear-gradient(#f80, #f60);
	color: #fff;
	text-decoration: none;
	padding: 4px 20px;
	text-align: center;
	line-height: 1;
}

	#article section.related td a,
	#article section.related td span {
		white-space: nowrap;
	}
@media print, screen and (min-width:768px){
	#viewing #article .pre-btn a:hover img,
	#index #article .pre-btn a:hover img {
		opacity: .7;
	}
	#index p.btn a:hover {
		background: #F00;
	}
	#index #article .pre-btn,
	#viewing #article .pre-btn {
		position: relative;
		top: -15px;
		left: -15px;
		margin-bottom: 20px;
	}
	#index section.final-movie ul li ,
	#viewing section.final-movie ul li {
		float: left;
		width: 32%;
		margin-right: 2%;
	}
	#index section.final-movie ul.col2 ,
	#viewing section.final-movie ul.col2 {
		margin-bottom: 40px;
	}
	#index section.final-movie ul.col2 li:first-child ,
	#viewing section.final-movie ul.col2 li:first-child {
		margin-left: 17%;
	}
	#viewing section.final-movie ul.col2 li {
		margin: 0 7% 40px 7%;
	}

	#index section.final-movie ul li:nth-child(3n) ,
	#viewing section.final-movie ul li:nth-child(3n) {
		margin-right: 0;
	}
	#index section.final-movie ul li:nth-child(3n+1) ,
	#viewing section.final-movie ul li:nth-child(3n+1) {
		clear: both;
	}
/*
	#index section.final-movie ul li:nth-child(4) ,
	#viewing section.final-movie ul li:nth-child(4) {
		margin-left: 16%;
	}
*/
	#index section.chance .desc {
		margin-left: 90px;
	}
	#index section.chance .chance li:nth-child(5n+1) {
		clear:both;
	}
	#index section.profile .fLeft,
	#viewing section.profile .fLeft{
		width: 63%;
		margin-bottom: 30px;
	}
	#index section.profile .fRight,
	#viewing section.profile .fRight{
		width: 35%;
		text-align:center;
	}
	#index section.profile .book-photo,
	#viewing section.profile .book-photo {
		margin-top: 200px; 
	}
	#index section.voice li span,
	#viewing section.voice.finalist-voice li span {
		white-space: nowrap;
	}
	#index section.related tr th:nth-child(n+2) {
		padding-left: 50px;
	}
}
@media only screen and (min-width:481px) and (max-width:767px){
	#index section.profile .fLeft,
	#viewing section.profile .fLeft{
		width: 63%;
		margin-bottom: 30px;
	}
	#index section.profile .fRight,
	#viewing section.profile .fRight{
		width: 35%;
		text-align:center;
	}
}
@media only screen and (max-width:767px){
	#index section.final-movie ul li ,
	#viewing section.final-movie ul li {
		float: left;
		width: 49%;
		margin-right: 2%;
	}
	#index section.final-movie ul li:nth-child(2n) ,
	#viewing section.final-movie ul li:nth-child(2n) {
		margin-right: 0;
	}
	#index section.final-movie ul li:nth-child(2n+1) ,
	#viewing section.final-movie ul li:nth-child(2n+1) {
		clear: both;
	}
	#index section.digest-movie,
	#viewing section.digest-movie iframe {
		width: 100%;
	}
	#index section.digest-movie iframe,
	#viewing section.digest-movie iframe {
		width: 100% !important;
	}
	#article section.related th, 
	#article section.related td {
		display: block;
/*		width: 100%; */
	}
	#article section.related th {
		float: left;
		width: 6em;
	} 
	#article section.related td {
		margin-left: 6em;
	}
	#article section.related td a,
	#article section.related td span {
		white-space: nowrap;
	}

	section.profile .fRight .book {
		text-align: center;
	}
	#index section.profile .fRight p.pht,
	#viewing section.profile .fRight p.pht{
		margin-top: 40px;
	}
	#index section.profile .fRight p,
	#viewing section.profile .fRight p{
		text-align: center;

	}
}

@media only screen and (max-width:480px){

	#index section.final-movie ul li a br,
	#viewing section.final-movie ul li a br {
		display: none;
	}
	#index section.profile .fLeft,
	#index section.profile .fRight {
		float: none;
		margin-bottom: 30px;
	}
	#index section.profile .fRight {
		text-align: center;
	}
	#index section.chance .chance li {
		width: 32%;
		margin-right: 1%;
	}
	#index section.chance .chance li:nth-child(3n) {
		margin-right: 0;
	}
	#index section.chance .chance li:nth-child(3n+1) {
		clear: both;
	}
}


section.sponsor h3 {
	font-size: .9rem;
	background: #ff8c00;
	color: #fff;
	padding: 5px 12px;
	margin-bottom: 5px;
	margin-top: 30px;
}
section.sponsor h3:first-child {
	margin-top: 0;
}
section.sponsor p {
	margin-bottom: 5px;
	font-size: .9rem;
}
section.sponsor p:last-child {
	margin-bottom: 0;
}


/* entry
--------------------------------------------------------------------*/
#page h2 {
	font-size:130%;
	border-bottom: 1px solid #CCC;
	border-left:8px solid #ACF;
	padding:4px 0 4px 8px;
	margin:10px 0 10px 0;
}
#entry h3 {
	background: #F60;
	color: #FFF;
	padding: 10px;
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#entry h4 {
	font-weight: bold;
	margin-bottom: 15px;
}
#entry h4::before {
	content: "◆";
	margin-right: 3px;
}
#entry #article section {
	margin-bottom: 60px;
}
#entry section.situation dt {
	color: #060;
}

#entry section.situation>div,
#entry section.method>div {
	border: 5px solid #EEE;
	padding: 4%;
	margin-bottom: 35px;
}
#entry section.method>div p {
	margin-bottom: 25px;
}
#entry section.method>div p:last-child {
	margin-bottom: 0;
}
#entry p.btn ,
#viewing p.btn {
		text-align: center;
		font-size: 200%;
}
#entry p.btn a ,
#viewing p.btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 5px;
	display: inline-block;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
	padding: 50px 8px;
	text-decoration: none;
	position: relative;
}
#index p.btn a.finish {
	position: relative;
}
#index p.btn a.finish,
#index p.btn a.finish:hover,
#entry p.btn a.finish,
#entry p.btn a.finish:hover {
	background: #ccc;
}
#index p.btn a.finish::after,
#entry p.btn a.finish::after {
    font-size: .75rem;
    display: inline-block;
    position: absolute;
    bottom: -7px;
    left: 24%;
    background: #f90;
    padding: 0 15px;

}
#index p.btn a.finish::after {
	left: 40%;
}
#index p.btn a.full,
#ticket p.btn a.full,
#entry p.btn a.full {
	position: relative;
	background: #ccc;
	margin-bottom: 1.7em;
}
#index p.btn a.full::after,
#ticket p.btn a.full::after,
#entry p.btn a.full::after {
	content: "満員御礼";
}
#index p.btn a.full::after,
#ticket p.btn a.full::after,
#entry p.btn a.full::after {
    font-size: .75rem;
    display: inline-block;
    position: absolute;
    bottom: -13px;
    left: 40%;
    background: #f90;
    padding: 0 15px;
}
#ticket p.btn a.full::after {
    left: 31%;	
}
#index p.btn a.finish::after,
#ticket p.btn a.finish::after,
#entry .method p.btn a.finish::after {
    content: "終了しました";
}
#entry .btn-left .btn a.full:hover {
	background: #ccc;
}
#entry .btn-left .btn a.full::after {
	left: 30%;
	bottom: 22px;
}
@media(max-width:767px){
	#entry p.btn a.finish::after {
   	left: 32%;
	}
	#index p.btn a.finish::after {
		left: 24%;
	}
	#index p.btn a.full::after {
		left: 30%;
	}
}
#entry .btn-left,
#entry .btn-right {
	text-align: center;
}
#entry .btn-left .notice,
#entry .btn-right .notice {
	margin-top: -20px;
}
#entry .video-entry-btn,
#viewing .entry-btn {
	margin: 100px 0;
}
#entry .video-entry-btn  p.btn,
#viewing .entry-btn  p.btn {
	margin-bottom: 12px;
}
#entry .video-entry-btn p.btn a,
#viewing .entry-btn p.btn a {
	font-size: 1rem;
	padding: 10px;
	width: 70%;
/*	pointer-events: none;*/
}
#viewing .entry-btn p.btn a {
	width: auto;
	padding: 18px 8%;
	font-size: 1.5rem;
}
/*
	border: 5px solid #EEE;
	padding: 4%;
	margin-bottom: 35px;	
}
*/
#entry table.program {
	border-collapse:collapse;
	margin:30px 0 40px 0;
}
#entry table.program td, 
#entry table.program th {
	border:1px solid #CCC;
	padding:5px 10px;
	vertical-align:top;
}
#entry table.program th {
	font-weight:normal;
	background-color:#ACF;
	white-space:nowrap;
	text-align:center;
}
#entry table.program td.classTitle {
	width:100px;
}
#entry table.program td.classDate {
	width:100px;
}
#entry section.class dt {
	float: left;
	font-size: 1.2rem;
	font-weight: bold;
}
#entry section.class dd {
	padding: 0 0 30px 150px;
	margin-bottom: 30px;
	border-bottom: 1px dotted #DDD;
}
#entry section.price td {
	font-size: .9rem;
	font-weight: 800;
	padding: 10px;
}
#entry section.price p span.capacity {
	display: inline-block;
	color: #FFF;
	background: #000;
	font-weight: bold;
	font-size: .9rem;
	padding: 6px;
	margin-left: 1em;
}
#entry section.price p span.font-s {
	font-size: .8rem;
}


#entry section.price h2 span.capacity {
	display: inline-block;
	color: #FFF;
	background: #000;
	font-weight: bold;
	font-size: .9rem;
	padding: 6px;
	margin-left: .3em;
	line-height: 1;
}
#entry section.payment a {
	font-weight: bold;
	text-decoration: none;
	display: inline-block;

	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 15px;
	color: #FFF;
	cursor: pointer;
	font-size: 1.1rem;
	padding: 15px 10px;

	text-align: center;
	margin: 0 10px 10px 0;
	width: 270px;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}

#entry section.furikomi,
#viewing section.furikomi,
#index section.furikomi {
	border: 1px solid #900;
	padding: 4% 4% 3% 4%;
}
#entry section.furikomi p,
#viewing section.furikomi p,
#index section.furikomi p {
	margin-bottom: 15px;
}
#entry section.furikomi p.ml30,
#viewing section.furikomi p.ml30,
#index section.furikomi p.ml30 {
	text-indent: -1em;
}
#entry section.furikomi dl,
#viewing section.furikomi dl,
#index section.furikomi dl {
	margin: 0 0 25px 1em;
}
#entry section.furikomi dt,
#viewing section.furikomi dt,
#index section.furikomi dt {
	clear: both;
	float: left;
}
#entry section.furikomi dd,
#viewing section.furikomi dd,
#index section.furikomi dd {
	padding-left: 13.5em;
}
#entry section.furikomi dd span,
#viewing section.furikomi dd span,
#index section.furikomi dd span {
	font-size: .7rem;
	display: inline-block;
}
#entry .payment-btn a {
	position: relative;
}
#entry .payment-btn .notice {
    display: block;
    position: absolute;
    background: #fff;
	border-radius: 3px;
    padding: 5px 15px;
    text-shadow: none;
    text-align: center;
    margin: 4% 25%;
    top: 0;
    opacity: .9;
    font-size: .9rem;
    transform: rotate(-5deg);
}
#entry .payment-btn a.finish,
#entry .payment-btn a.full {
	pointer-events: none;
}
#entry .payment-btn a.full::after {
	content: "満員御礼";
}
#entry .payment-btn a.slight::after {
	content: "残席わずか";
}
#entry .payment-btn a.full::after,
#entry .payment-btn a.slight::after {
    font-size: .75rem;
    display: inline-block;
    position: absolute;
    bottom: -7px;
    left: 32%;
    background: #f90;
    padding: 0 15px;
}
#entry .payment-btn a.finish {
	background: #ccc;
}
@media(min-width:768px){
	#entry p.btn a:hover,
	#viewing p.btn a:hover {
		background: #F00;
	}
	#entry section.payment a:hover {
		background: #F00;
	}
	#entry section.situation dt {
		clear: both;
		float: left;
		width: 9em;
	}
	#entry section.situation dd {
		padding: 0 0 0 9em;
		margin-bottom: 10px;
	}
	#entry section.situation dd span {
		display: inline-block;
		float: right;
	}
	#entry section.situation dd:last-child {
		margin-bottom: 0;
	}
	#entry .btn-left,
	#entry .btn-right {
		width: 50%;
	}
	#entry .btn-right {
		float: right;
	}
	#entry .btn-left {
		float: left;
	}

}
@media(max-width:767px){
	#entry section.situation dd {
		margin-bottom: 10px;
		margin-left: 1em;
	}
	#entry section.situation dd span {
		display: block;
	}
	#entry .btn-left .btn a,
	#entry .btn-right .btn a {
		width: 80%;
		max-width: 280px;
	}
	#entry .btn-left {
		margin-bottom: 20px;
	}
}
@media(max-width:480px){
	#entry .payment-btn {
		text-align: center;
	}
	#entry table.program tr th {
		display: none;
	}
	#entry table.program tr td {
		border: none;
		display: block;
		width: auto;
	}
	#entry table.program tr td:first-child {
		background-color:#ACF;
		clear: both;
		width: 94%;
	}
	#entry table.program tr td:first-child br {
		display: none;
	}
	#entry table.program tr td:nth-child(2)::before {
		content: "日程";
		display: block;
		font-weight: bold;
	}
	#entry table.program tr td:nth-child(2) {
		float: left;
		font-size: .7rem;
		width: calc(8em);
		background: #F8F8F8;
	}
	#entry table.program tr td:nth-child(3) {
		font-size: .75rem;
		width: calc(94% - 8em);
		margin-left: 9em;
	}
	#entry table.program tr td:nth-child(3) .ml20,
	#entry table.program tr td:nth-child(3) .ml30 {
		margin-left: 10px;
	}
	#entry section.class dt {
		float: none;
		font-size: .9rem;
		margin-bottom: 8px;
	}
	#entry section.class dd {
		padding: 0 0 20px 0;
		margin-bottom: 20px;
		border-bottom: 1px dotted #DDD;
	}
	#entry section.program .ml20,
	#entry section.program .ml30,
	#entry section.payment .ml20,
	#entry section.payment .ml30,
	#entry section.entry .ml20,
	#entry section.entry .ml30 {
		margin-left: 10px;
	}
	#entry section.furikomi p.ml30,
	#viewing section.furikomi p.ml30,
	#index section.furikomi p.ml30 {
		margin-left: 10px;
	}
}


/* viewing
--------------------------------------------------------------------*/
#viewing #article section {
	margin-bottom: 80px;
}
#final section.program table ,
#viewing section.program table {
	border-collapse:collapse;
	margin: 0 0 40px 0;
}
#final section.program td, 
#final section.program th,
#viewing section.program td, 
#viewing section.program th {
	border:1px solid #CCC;
	padding:5px 10px;
	vertical-align:top;
}
#final section.program th,
#viewing section.program th {
	font-weight:normal;
	background-color:#ACF;
	white-space:nowrap;
	text-align:center;
}
#viewing section.ticket .fLeft,
#viewing section.ticket .fRight {
	border-radius: 10px;
	padding: 4%;
	position: relative;
}

#viewing section.ticket .fLeft {
	background-color: #fffcc7;
}
#viewing section.ticket .fRight {
	background-color: #feefd2;
}
#viewing section.ticket .attention {
	position: absolute;
	right: 25px;
	top: 27px;
	background: #000;
	color: #fff;
	line-height: 100%;
	padding: 4px 6px;
	font-size: .75rem;
}
#viewing section.ticket h3 {
	border-bottom: 1px solid #999;
	padding-bottom: 6px;
	font-size: 1.2rem;
	font-weight: 800;
	margin-bottom: 10px;
}
#viewing section.ticket h3 > span {
	margin-left: 10px;
	font-size: .9rem;
}
#viewing section.ticket h3 span.tax {
	font-size: .75rem;
}
#viewing section.ticket dt {
	color: #D00;
	font-weight: bold;
	float: left;
}
#viewing section.ticket dt {
	float: left;
}
#viewing section.ticket dd {
	padding-left: 3em;
}
#viewing section.ticket dd p {
	text-indent: -1em;
	margin-left: 1em;
}


/* ticket 161110 */
#viewing section.ticket161110 .ticket-type {
	margin-bottom: 10px;
	font-size: 1.2rem;
	font-weight: 800;
}
#viewing section.ticket161110 .fLeft>h3,
#viewing section.ticket161110 .fRight>h3 {
	background: #D00;
	color: #FFF;
	padding: 5px 10px;
	font-size: 1rem;
}

#viewing section.ticket161110 .fLeft > p > strong,
#viewing section.ticket161110 .fRight > p > strong {
	/*
	color: #ff8c00;
	font-size: .9rem;
	*/
}

#viewing section.ticket161110 .catch {
	font-size: 1.2rem;
	margin-bottom: 30px;
	font-weight: 800;
}
#viewing section.ticket161110 .friends {
	margin-left: 8%;
	margin-bottom: 50px;
	max-width: 250px;
	margin-top: 65px;
}
#viewing section.ticket161110 .friends a:hover img {
	opacity: .7;
}
#viewing section.ticket161110 .sheet-s {
	background-color: #fee;
	border-radius: 10px;
	padding: 4%;
	position: relative;
	margin-bottom: 20px;
}
#viewing section.ticket161110 .sheet-a {
	background-color: #ffc;
	border-radius: 10px;
	padding: 4%;
	position: relative;
}
#viewing section.ticket161110 .sheet-f {
	background-color: #f0fff0;
	border-radius: 10px;
	padding: 4%;
	position: relative;
	margin-bottom: 20px;
}

#viewing section.ticket161110 .sheet-s .full {
	color: #e00;
    margin-top: 1em;
}
#viewing section.ticket161110 .web {
	background-color: #feefd2;
	border-radius: 10px;
	padding: 4%;
	margin-bottom: 20px;
}
#viewing section.ticket161110 .free {
	font-size: .9rem;
	font-weight: bold;
	line-height: 1.5;
}
#viewing section.ticket161110 .viewing {
	margin-bottom: 20px;
}
#viewing section.ticket161110 .reason,
#viewing section.ticket161110 .supporter {
	padding: 4%;
	background: #f8f8f8;
	font-size: .75rem;
	line-height: 140%;
}
#viewing section.ticket161110 .supporter {
	background: #eef8ff;
}
#viewing section.ticket161110 .attention {
	position: absolute;
	right: 25px;
	top: 13px;
	background: #000;
	color: #fff;
	line-height: 100%;
	padding: 4px 6px;
	font-size: .75rem;
}
#viewing section.ticket161110 .sheet-a .attention {
	background: #e00;
}
#viewing section.ticket161110 h3 {
	border-bottom: 1px solid #999;
	padding-bottom: 6px;
	font-size: 1.1rem;
	font-weight: 800;
	margin-bottom: 10px;
}
#viewing section.ticket161110 h3 span {
	margin-left: 5px;
	font-size: .8rem;
}
#viewing section.ticket161110 dt {
	color: #D00;
	font-weight: bold;
	float: left;
}
#viewing section.ticket161110 dt {
	float: left;
}
#viewing section.ticket161110 .sheet-s dd ,
#viewing section.ticket161110 .sheet-f dd ,
#viewing section.ticket161110 .sheet-a dd {
	padding-left: 3em;
}
#viewing section.ticket161110 dd p {
	text-indent: -1em;
	margin-left: 1em;
}
#viewing section.ticket161110 .entry-btn {
	margin: 60px auto 20px auto;
}
#viewing section.ticket161110 .entry-btn .btn a {
	line-height: 120%;
	font-size: 1.1rem;
}

#viewing section.ticket161110 .bank {
	clear: both;
	text-align: center;
	margin-bottom: 60px;
}
#viewing section.ticket161110 .photo {
	float: right;
	margin-left: 15px;
	margin-bottom: 40px;
}
#viewing section.ticket161110 .fLeft .friends {
	margin-top: 70px;
}

#viewing section.intro .catch {
	font-size: 1.4rem;
	font-weight: 800;
	margin-bottom: 30px;
	text-align: center;
	line-height: 1.5;
}
#viewing section.voice li {
	color: #600;
	list-style-type: disc;
	margin-left: 1.5em;
	margin-bottom: 4px;
}
#viewing section.voice li:nth-child(4n) {
	margin-bottom: 25px;
}
#viewing section.voice2 li {
	padding: 5%;
	border-radius: 10px;
	border: 1px dotted #999;
	margin-bottom: 15px;
	list-style-type: none;
}
#viewing section.voice2 .fLeft li:nth-child(3n),
#viewing section.voice2 .fRight li:nth-child(3n+2) {
	color: #F36;
}
#viewing section.voice2 .fLeft li:nth-child(3n+1),
#viewing section.voice2 .fRight li:nth-child(3n) {
	color: #390;
}
#viewing section.voice2 .fLeft li:nth-child(3n+2),
#viewing section.voice2 .fRight li:nth-child(3n+1) {
	color: #369;
}

#viewing section.voice.finalist-voice li {
	clear: both;
	list-style-type: none;
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 30px;
}
#viewing section.voice.finalist-voice li::before {
	content: "★";
	color: #F90;
}
#viewing section.voice.finalist-voice li span {
	display: block;
	float: right;
	margin-bottom: 2em;
}

@media print, screen and (min-width:768px){
	#viewing section.schedule .fLeft {
		width: 65%;
	}
	#viewing section.schedule .fRight {
		width: 34%;
	}
	#viewing section.ticket .fLeft{
		width: 42%;
	}
	#viewing section.ticket .fRight {
		width: 38%;
	}
	#viewing section.ticket161110 .fLeft{
		width: 48%;
	}
	#viewing section.ticket161110 .fRight {
		width: 48%;
	}
	#viewing section.message .fRight {
		margin-right: 50px;
	}
	#viewing section.voice2 .fLeft,
	#viewing section.voice2 .fRight {
		width: 49%;
	}
	#viewing section.intro .fLeft,
	#viewing section.intro .fRight {
		width: 49%;
	}
}
@media only screen and (max-width:480px){
	#viewing section.ticket .fLeft,
	#viewing section.ticket .fRight,
	#viewing section.ticket161110 .fLeft,
	#viewing section.ticket161110 .fRight {
		float: none;
		width: auto;
	}
	#viewing section.ticket .fLeft ,
	#viewing section.ticket161110 .fLeft {
		margin-bottom: 80px;
	}
	#viewing section.ticket .attention,
	#viewing section.ticket161110 .attention {
		right: 25px;
		top: 17px;
	}
	#viewing section.ticket161110 .entry-btn {
		margin: 60px auto 60px auto;
	}
	#viewing section.ticket161110 .photo {
		float: none;
		text-align: center;
	}

	#viewing section.ticket161110 .friends {
		margin: 40px auto;
		text-align: center;

	}
	#viewing section.ticket161110 .fLeft .friends {
		margin: 40px auto;
		text-align: center;
		
	}
	#viewing section.infro .fLeft,
	#viewing section.infro .fRight {
		float: none;
		width: auto;
		
	}
	#viewing section.schedule .fLeft {
		margin-bottom: 30px;
	}
	#viewing section.schedule .fRight {
		float: none;
		width: auto;
		text-align: center;
	}

}

/* video-list
--------------------------------------------------------------------*/
.video-list li {
	margin-bottom: 35px;
	position: relative;
	padding-bottom: 80px;
	border: 1px solid #DDD;
}
.video-list li.voted::after {
	content: "投票済";
	color: #F90;
	padding: 5%;
}
.video-list ul::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	overflow: hidden;
}
#search {
	border-radius: 5px;
	background: #F0F0F0;
	padding: 2%;
	margin-bottom: 30px;
}
.video-list .count {
/*	display: table; */
}
.video-list .count p {
/*	display: table-cell; */
}
.video-list .count p:first-child {
	padding-right: 10px;
}
.view-count::before, 
.vote-count::before {
	border: 1px solid #CCC;
	border-radius: 3px;
	margin-right: 5px;
	display: inline-block;
	line-height: 100%;
	padding: 3px 5px;

}
.view-count::before {
	content: "再生数";
}
.vote-count::before {
	content: "得票数";
}
.view-count .fix {
	color: #d00;
}
.video-list li p:first-child {
	margin-bottom: 10px;
}
.video-list li>.title,
.video-list li>.count {
	padding: 0 3%;
}
.video-list li .title {
	margin-bottom: 8px;
}
.video-list li .title a {
	color: inherit;
	text-decoration: none;
}
.video-list li .photo img {
	width: 100%;
}
.video-list li .vote-btn {
	position: absolute;
	bottom: 7%;
	width: 100%;
	text-align: center;
	margin-top: 15px;
}
.video-list li .vote-btn a,
#primary .main .btn a,
#video.single .flow .btn a {
	color: #FFF;
	display: inline-block;
	padding: 6px 20px;
	margin: auto;
	line-height: 100%;

	background-color: #FFF;
	background: linear-gradient(#F00, #D00);
	border: 1px solid #DDD;
	border-radius: 20px;
	text-decoration: none;
	line-height: 100%;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}
.video-list li .link a {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
@media(min-width:768px){
	.video-list li {
		float: left;
		margin-right: 3.5%;
		width: 30%;
		width: calc(31% - 2px);
	}
	.video-list li:nth-child(3n) {
		margin-right: 0;
	}
	.video-list li:nth-child(3n+1) {
		clear: both;
	}
	.video-list li:hover .vote-btn a ,
	#primary .main .btn a:hover,
	#video.single .flow .btn a:hover {
		background: #F00;
	}
	.video-list li:hover p img {
		opacity: .5;
	}
}

@media(min-width:451px and max-width:767px){
	.video-list li {
		float: left;
		margin-right: 3%;
		width: 48.5%;
	}
	.video-list li:nth-child(2n) {
		margin-right: 0;
	}
	.video-list li:nth-child(2n+1) {
		clear: both;
	}
}
@media(max-width:450px){
	#video.single article > .vote-btn {
		margin: 3em 0;
	}
}


/* video
--------------------------------------------------------------------*/
#video h1 {
	line-height: 160%;
	margin-bottom: 15px;
}
#video .youtube {
	width: 100%;
	margin-bottom: 15px;
}
#primary article > .vote-btn,
#video article > .vote-btn {
	margin-bottom: 30px;
	text-align: center;
}
#primary article >  .vote-btn p,
#video article >  .vote-btn p,
#primary .rank-btn p,
#video .rank-btn p{
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 3px solid #EEE;
	border-radius: 50px;
	color: #FFF;
	display: inline-block;
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	padding: 20px 50px;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);

}

#primary .rank-btn,
#video .rank-btn {
	text-align: center;
	margin-bottom: 5em;
}
#primary .rank-btn p,
#video .rank-btn p {
	margin: auto;
}
#primary .rank-btn p a,
#video .rank-btn p a{
	text-decoration: none;
	color: #fff;
	font-size: 1.4rem;
}
#video .vote-notice {
	font-size: .7rem;
	text-align: center;
	margin: -28px 0 55px 0;
}
#video .video-list {
	margin-bottom: 0;
}
#video .stat p {
	margin-bottom: 7px;
}
#video .stat {
	font-size: 1rem;
}
#video .view-count::before, 
#video .vote-count::before {
	font-size: 1rem;
	padding: 5px 8px;

}
#primary article > .vote-btn .voted,
#video article > .vote-btn .voted {
	background: #CCC;
}
#primary article > .vote-btn p span,
#video article > .vote-btn p span {
	display: block;
	font-size: .8rem;
}
#video .description {
	line-height: 170%;
	margin-bottom: 40px;
}
#video.single .notice {
	color: inherit;
	font-size: .7rem;
}
#video.single .back {
	padding: 10px 10px 10px 0;
	margin-top: 30px;
	border-top: 1px solid #CCC;
}
#primary .signin-btn {
	margin-bottom: 25px;
}
#primary .signin-btn .mark {
	border-radius: 8px;
	font-size: 1.1rem;
	padding: 10px 15px 10px 45px;
	position: relative;
}
#primary .signin-btn .mark::before {
	content: "";
	background: url(/common/img/arrow-right.png) no-repeat top center;
	background-size: contain;
	width: 24px;
	height: 24px;
	margin-right: 3px;
	display: inline-block;
	position: absolute;
	top: 7px;
	left: 10px;
}
#primary .koshi {
	text-align: center;
	margin-bottom: 70px;
}
#primary .koshi .catch {
	font-size: 1.2rem;
	font-weight: bold;
	padding-top: 10px;
	margin-bottom: 40px;
	white-space: nowrap;
}
#primary .koshi .btn p {
	display: inline-block;
	margin: 0 2%;
}
#primary .main .btn {
	text-indent: -9999px;
}
#primary .flow,
#final .flow,
#video.single .flow {
	display: table;
}
#primary .flow > p,
#final .flow > p,
#video.single .flow > p {
	display: table-cell;
}
#primary #primary-entrant {
	position: relative;
	line-height: 1.5;
}
#primary #primary-entrant span {
	font-size: .7rem;
}
#final .flow > p {
	line-height: 0;
}
#video .other-video {
	margin-top: 5em;
	margin-bottom: 3em;
}
#video .other-video > p {
	margin-bottom: 2em;
}

@media(min-width:768px){
	#video .youtube {
		height: 500px;
	}
	#primary article > .vote-btn p:hover,
	#video article > .vote-btn p:hover,
	#primary .rank-btn p:hover,
	#video .rank-btn p:hover {
		background: #F00;
	}
	#primary .main,
	#final .flow,
	#video.single .flow {
		position: relative;
	}
	#primary .main .btn p a,
	#final .flow .btn p a,
	#video.single .flow .btn p a {
		font-size: 12px;
	}
	#primary .main .btn p,
	#final .flow .btn p,
	#video.single .flow .btn p {
		position: absolute;
		bottom: 30px;
	}
	#primary .main .btn p:first-child,
	#final .flow .btn p:first-child,
	#video.single .flow .btn p:first-child {
		left: 160px;
	}
	#primary .main .btn p:nth-child(2),
	#final .flow .btn p:nth-child(2), 
	#video.single .flow .btn p:nth-child(2) {
		left: 365px;
	}
	#primary .main .btn p:nth-child(3),
	#final .flow .btn p:nth-child(3),
	#video.single .flow .btn p:nth-child(3) {
		left: 575px;
	}
	#video.single .inapp-notice {
		display: none;
	}
	#primary #primary-entrant span.img {
		position:absolute;
		right:0;
		bottom:0;
	}
	#video .shokin,
	#primary .shokin {
		float: right;
		margin: 5px 25px 0 15px;
		text-align: center;
		max-width: 320px;
	}
	#video .shokin p,
	#primary .shokin p {
	}
}
@media(max-width:767px){
	#primary .main .btn,
	#final .flow .btn,
	#video.single .flow .btn {
		display: none;
	}
	#video.single .inapp-notice {
		text-align: center;
		margin-bottom: 10px;
	}
	#video .shokin,
	#primary .shokin {
		margin-bottom: 40px;
		text-align: center;
	}
	#video .shokin p,
	#primary .shokin p {
	}
}

/* narrow
--------------------------------------------------------------------*/
.narrow #content {
	margin-bottom: 40px;
	width: auto;
}
@media print, screen and (min-width:600px){
	.narrow #article {
		float: none;
		margin: auto;
		width: 600px;
	}
}

/* single
--------------------------------------------------------------------*/
@media screen and (min-width:768px){
	.single #article {
		float: none;
		width: 870px;
	}
}

@media print {
	.single #article {
		float: none;
		width: auto;
	}
}

/* signin
--------------------------------------------------------------------*/
#signin .form {
	margin-bottom:25px;
}



/* form
--------------------------------------------------------------------*/
.form {
	background:#F0F0F0;
	border-radius:10px;
	padding:40px;
	margin:auto;
}
.form .g-recaptcha {
	margin-bottom: 25px;
}
.form .notice.recaptcha {
	position: relative;
	top: -21px;
}
.form .btn {
	text-align: center;
}
.form .btn input[type="submit"]{
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 15px;
	color: #FFF;
	cursor: pointer;
	font-size: 1.2rem;
	padding: 15px;
	width: 90%;
}
.form .btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 15px;
	display: inline-block;
	color: #FFF;
	cursor: pointer;
	font-size: 1.2rem;
	padding: 15px;
/*	width: 90%; */
	text-decoration: none;
}
.form .col2 {
	display: table;
	width: 100%;
}
.form .col2 form {
	display: table-cell;
	width: 50%;
}
.form .btn.back a ,
.form .btn.back input[type="submit"]{
	background: #ccc;
	background: linear-gradient(#ccc, #999);
}
.form dl {
	margin-bottom:20px;
}
.form dt {
	font-size:.8rem;
	font-weight:bold;
}
.form dt span {
	font-size:.7rem;
	font-weight:normal;
	margin-left:4px;
}
.form dd {
	margin-bottom:15px;
}
.form input[type="text"],
.form input[type="password"],
.form textarea {
	background-color:#FFF;
	border-radius:3px;
	border:1px solid #999;
	font-size:1.1rem;
	padding:8px 3%;
	-webkit-appearance: none;
	width:94%;
}
.form select {
	border:1px solid #999;
	border-radius:3px;
	padding:8px 3%;
}
.form .alert {
	display: none;
	background: #C00;
	color: #FFF;
	font-weight: bold;
	padding: 15px;
	margin: 10px 0 20px;
}
.form .alert a {
	color: #FFF;
}
.form dd.mail {
	margin-bottom: 35px;
}
.form dl.card {
	border:1px solid #CCC;
	border-radius: 10px;
	padding: 5%;
}
.form dl.card dd:last-child {
	margin-bottom: 0;
}

@media(min-width:950px){
	.form .btn:hover input[type="submit"]{
		background: #F00;
	}
}
@media(max-width:480px){
	.form {
		padding: 5%;
	}
}

/* signup
--------------------------------------------------------------------*/
#signup .rule {
	height: 300px;
	overflow: auto;
	margin-bottom: 30px;
}
#signup .btn {
	text-align: center;
}
#signup .btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 15px;
	display: inline-block;
	color: #FFF;
	cursor: pointer;
	font-size: 1.2rem;
	padding: 15px 10%;
	text-decoration: none;
	text-align: center;
	margin-bottom: 5px;
}
#signup ol li {
	list-style-type: decimal;
	margin-left: -1.2em;
}
section.supporter-intro > h3 {
    font-weight: bold;
    margin-bottom: 10px;
	font-size: .9rem;
    background: #ff8c00;
    color: #fff;
    padding: 5px 12px;
    margin-bottom: 5px;
}
@media(min-width:950px){
	#index section.supporter-intro .photo,
	#sponsor section.supporter-intro .photo,
	#signup section.supporter-intro .photo,
	#payment section.supporter-intro .photo {
		float: right;
		margin-left: 10px;
	}
	#index section.supporter-intro .photo-l,
	#sponsor section.supporter-intro .photo-l,
	#signup section.supporter-intro .photo-l,
	#payment section.supporter-intro .photo-l {
		float: left;
		max-width: 200px;
		margin-right: 15px;
		margin-bottom: 30px;
	}
	#signup .btn a:hover {
		background: #F00;
	}
}
@media(max-width:450px){
	#index section.supporter-intro .photo,
	#sponsor section.supporter-intro .photo,
	#signup section.supporter-intro .photo,
	#payment section.supporter-intro .photo {
		text-align: center;
		margin-bottom: 20px;
	}
	#index section.supporter-intro .photo-l,
	#sponsor section.supporter-intro .photo-l,
	#signup section.supporter-intro .photo-l,
	#payment section.supporter-intro .photo-l {
		text-align: center;
		margin-bottom: 20px;
	}
	#signup .rule {
		height: 200px;
	}
}
/* friends
--------------------------------------------------------------------*/
#friends .rule {
	height: 300px;
	overflow: auto;
	margin-bottom: 30px;
}
#friends .btn {
	text-align: center;
}
#friends .btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 15px;
	display: inline-block;
	color: #FFF;
	cursor: pointer;
	font-size: 1.2rem;
	padding: 22px 12%;
	text-decoration: none;
	text-align: center;
	margin-bottom: 5px;
}
#friends ol li {
	list-style-type: decimal;
	margin-left: -1.2em;
	margin-bottom: 1em;
}
@media(min-width:950px){
	#friends section.intro .photo{
		float: right;
		margin-left: 10px;
	}
	#friends .btn a:hover {
		background: #F00;
	}
}
@media(max-width:450px){
	#friends section.intro .photo {
		text-align: center;
		margin-bottom: 20px;
	}
	#friends .rule {
		height: 200px;
	}
}
/* signup mobile
--------------------------------------------------------------------*/
#payment h1 span.box {
	display: inline-block;
	padding: 5px 10px;
	font-size: .8rem;
	background: #d00;
	color: #fff;
	margin: 10px 5px;
	vertical-align: middle;
}
#payment .signup-mobile .info {
	border: 4px solid #DDD;
	padding: 5%;
	margin-bottom: 40px;
}

/* faq
--------------------------------------------------------------------*/
#faq {
	margin-bottom: 8em;
}
#faq #article section p,
#article #faq  section p {
	margin-bottom: 10px;
}
#faq #article section,
#article #faq  section,
#index #article .faq-list section {
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 1px dotted #CCC;
}
#article #faq section h2,
#faq #article section h2,
#index .faq-list h3 {
	background: url(../img/icon_q.gif) no-repeat;
	border: none;
	color: #333;
	font-size: .8rem;
	padding: 0 0 0 28px; 
	margin: 0 0 15px 0;
}
.faq-list section>div {
	background: url(../img/icon_a.gif) no-repeat;
	padding: 0 0 0 28px; 
}

/* voice
--------------------------------------------------------------------*/
#voice .voice {
	background: #FFF0E0;
	padding: 25px;
	border-radius: 5px;
	margin-bottom: 30px;
}
#voice h3 {
	font-weight: bold;
	margin-bottom: 8px;
}
#voice .voice p.name {
	text-align: right;
}
#voice .voice2 li {
	padding: 5%;
	border-radius: 10px;
	border: 1px dotted #999;
	margin-bottom: 15px;
}
#voice .voice2 .fLeft li:nth-child(3n),
#voice .voice2 .fRight li:nth-child(3n+2) {
	color: #F36;
}
#voice .voice2 .fLeft li:nth-child(3n+1),
#voice .voice2 .fRight li:nth-child(3n) {
	color: #390;
}
#voice .voice2 .fLeft li:nth-child(3n+2),
#voice .voice2 .fRight li:nth-child(3n+1) {
	color: #369;
}
@media print, screen and (min-width:768px){
	#voice .voice2 .fLeft,
	#voice .voice2 .fRight {
		width: 49%;
	}
}
#voice #finalistvoice td {
	padding-bottom: 1.5em;
}
@media (max-width:600px){
	#voice #finalistvoice td {
		display: block;
		width: 100%;
	}
}
#voice section.voice3 li {
	color: #600;
	list-style-type: disc;
	margin-left: 1.5em;
	margin-bottom: 4px;
}
#voice section.voice3 li:nth-child(4n) {
	margin-bottom: 25px;
}

#voice section.chance h2 {
	margin-bottom: 30px;
}
#voice section.chance .newspaper p {
	margin-bottom: 20px;
}



/* pager
--------------------------------------------------------------------*/
.pager {
	display: table;
	margin: auto;
	margin-bottom: 50px;
}
.pager li {
	display: table-cell;

}
.pager li a {
	border: 1px solid #CCC;
	border-radius: 3px;
	color: #333;
	display: block;
	padding: 6px 8px;
	line-height: 100%;
	margin: 0 5px;
	text-decoration: none;
}
.pager li.selected a {
	background: #F60;
	color: #FFF;
}

@media(min-width:950px){
	.pager li a:hover {
		background: #F60;
		color: #FFF;
	}
}

/* payment
--------------------------------------------------------------------*/
#payment .price {
	font-size: 1rem;
}
#payment .price span {
	font-size: .8rem;
}
#payment p.btn {
	text-align: center;
	margin-top: 20px;
}
#payment p.btn input[type="submit"] {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 20px;
	color: #FFF;
	display: inline-block;
	cursor: pointer;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	padding: 20px 40px;
}
#payment p.btn.back a ,
#payment p.btn.back input[type="submit"]{
	background: #ccc;
	background: linear-gradient(#ccc, #999);
}
#payment .security-code input[type="text"] {
	width: 100px;
}

@media(min-width:950px){
	#payment p.btn input[type="submit"]:hover {
		background: #FCC;
		color: #000;
	}
}
@media(max-width:480px){
	#payment .form .col2 form {
		width: auto;
	}
	#payment p.btn input[type="submit"] {
		font-size: 1rem;
		padding: 20px 10px;
	}
}

/* final
--------------------------------------------------------------------*/
#final section {
	margin-bottom: 120px;
}
#final section.primary section {
	margin-bottom: 60px;
}
#final .youtube {
	width: 100%;
	margin-bottom: 25px;
}
#final dd.finalist {
	font-size: 1rem;
	line-height: 150%;
	margin-bottom: 30px;
}
#final dd.finalist label {
	display: block;
	margin-bottom: 15px;
	text-indent: -1em;
	margin-left: 1em;
}
#final form dt {
	font-size: 1rem;
	margin-bottom: 5px;
}
#final form dd input.w100 {
	width: 100px;
}
#final form dd input.w200 {
	width: 200px;
}
#final .supporter-signup {
	margin-bottom: 25px;
	border: 1px solid #ddd;
	padding: 15px;
	border-radius: 10px;
}
#final form dd span.btn a,
#final .supporter-signup span.btn a {
	display: inline-block;
	font-size: .9rem;
	width: 200px;
	padding: 10px;
	margin-left: 20px;
	text-align: center;
}
#final .supporter-signup span.btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 15px;
	display: inline-block;
	color: #FFF;
	cursor: pointer;
	padding: 15px;
/*	width: 90%; */
	text-decoration: none;
}
#final .live-view-btn {
	text-align: center;
	margin: 80px 0;
}
#final .live-view-btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 15px;
	display: inline-block;
	color: #FFF;
	cursor: pointer;
	font-size: 1.2rem;
	padding: 22px 5%;
	text-decoration: none;
	text-align: center;
}
#final .price-notice {
	font-size: 1rem;
	margin-top: 10px;
}
#final .video {
	margin-bottom: 20px;
}
#final .video iframe {
	width: 100% !important;
}
@media(min-width:970px){
	#final .video iframe {
		height: 400px;
	}
}
@media(max-width:969px) and (min-width:481px){
	#final .video iframe {
		height: 48vw;
	}
}
@media(max-width:480px){
	#final .video iframe {
		height: 55vw;
	}
}
section.finalist .name {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 15px;
}
section.finalist .name span {
	font-size: .75rem;
	font-weight: 100;	
}
#viewing section.finalist .name span {
	display: block;
}
#viewing section.finalist .profile {
	font-size: .75rem;
}
#final section.finalist {
	margin-bottom: 100px;
}
section.finalist .name span::before {
	content: "（";
}
section.finalist .name span::after {
	content: "）";
}
section.finalist .theme {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 20px;
}
section.finalist .theme span {
	display: inline-block;
}
section.finalist .theme span:last-child {
	text-align: right;
}
section.finalist .theme::before {
	content: "テーマ";
	display: block;
	font-size: .75rem;
	font-weight: 100;
}
section.guest .guest {
	margin-bottom: 90px;
}
section.guest .guest .name {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 20px;

}
section.guest .guest p {
	margin-bottom: 15px;
}
section.guest .guest::after {
	clear: both;
	content: "";
	display: block;
	height: 0;

}
section.guest .guest .photo {
	float: left;
	max-width: 37%;
}
section.guest .guest .photo img {
	max-width: 100%;
}
section.guest .guest .photo p {
	margin-bottom: 30px;
}
section.guest .guest .photo .book {
	margin: 15px 12%;
	text-align: center;
	padding: 0 10%;
}
section.guest .otani dl{
	margin-bottom:20px;	
}
section.guest .otani dt{
	width:6em;
	float:left;	
	text-align:right;
}
section.guest .otani dd{
	margin-left:6.5em;
}

section.guest .otani dt.strong,
section.guest .otani dd.strong,{
	font-weight:bold;
	margin-top:8px;
	margin-bottom:8px;
}
section.guest .otani dd.full1{
	margin-left:2.5em;
	margin-bottom:8px;
}
section.guest .otani dd.full2{
	margin-left:6.5em;	
}
section.guest .otani div p:not(.name){
	margin-left:6.5em;	
}
section.guest .otani div. p{
	margin-left:2.5em;	
}
section.guest .otani.book{
	font-size: .75rem;
	padding-bottom: 20px;
}
section.guest .otani div.book{
	margin-top:30px;
}
section.guest .otani div.book p.right{
	margin:0;	
	padding-right:25px;
}
section.guest .otani h3{
	margin-bottom: 10px;
}
#index section.profile .fRight p{
	margin:0 0 30px 0;
}
#index section.profile .fRight p.pht{
	margin-bottom:10px;
}
/*
#index section.profile .fRight p:last-child{
	margin-top:-10px;
}
*/

	section.finalist .h2 {
		position: relative;
	}
	section.finalist .h2 span {
		position: absolute;
		display: block;
		color: #fff;
	}
	#primary section.finalist .h2 span {
		display: none;
	}

@media print, screen and (min-width:768px) {
	section.finalist ul::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
	}
	section.finalist li {
		border-top: 1px solid #ccc;
		display: table;
		float:left;
		padding: 20px 0;
	}
	section.finalist li:nth-child(2n+1) {
		clear: both;
		border-right: 1px solid #ccc;
		width: 50%;
	}
	section.finalist li:nth-child(2n) {
		padding-left: 3%;
		width: 46%;
	}
	
	section.finalist li:nth-child(1),
	section.finalist li:nth-child(2) {
		border-top: none;
	}
	section.finalist li .photo ,
	section.finalist li>div {
		display: table-cell;
		vertical-align: top;
	}
	section.finalist li .photo {
		width: 32%;
	}
	section.finalist li .photo img {
		max-width: 100%;
		width: 100%;
		height: auto;
	}
	section.finalist li>div {
		display: table-cell;
	}
	section.finalist li:nth-child(2n+1)>div {
		padding: 0 20px;
	}
	section.finalist li:nth-child(2n)>div {
		padding-left: 20px;
	}
	section.guest .guest {
		clear: both;
	}
	section.guest .guest::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
	}
	section.guest .guest > .photo {
		float: left;
		width: 25%;
	}
	section.guest .guest > div {
		float: right;
		width: 72%;
	}
	#final .youtube {
		height: 500px;
	}
	#final section.vote .vote-number,
	#final .supporter-signup .vote-number {
		float: right;
	}
	section.finalist .h2 span {
		font-size: 1.2rem;
		right: 18px;
		top: 21px;
	}
}
@media print {
	section.finalist li {
		border: none !important;
	}
	section.finalist li .photo {
		width: 120px !important;
	}

}
@media(max-width:767px){
	
	section.finalist li {
		padding-top: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #ccc;
	}
	section.finalist li .photo {
		float: left;
		width: 35%;
		margin-right: 4%;
	}
	section.finalist li .profile {
		margin-bottom: 40px;
		clear: both;
	}

	section.finalist .name,
	section.finalist .theme {
		font-size: .9rem;
		font-weight: 600;
		margin-bottom: 15px;
	}
	section.guest .guest > .photo {
		margin-right: 3%;
	}
	#final section.vote .vote-number,
	#final .supporter-signup .vote-number {
		margin-bottom: 10px;
		text-align: center;
	}
	section.finalist .h2 span {
		right: 12px;
		top: 4px;
		font-size: .8rem;
	}
}


/******************************

 ソーシャルエリア全体を囲む要素
 * 他のコンテンツと距離を取りたい場合は[margin]を設定して下さい

******************************/
.social-area {
	width: 100% ;
	min-height: 100px ;
/*	background: #F8F8F8 */
}

/* デスクトップPCでは高さを拡張する */
@media ( min-width:480px ) {
	.social-area {
		padding-top: 20px;
		min-height: 119px ;
	}
}


/******************************

 [ul]要素

******************************/
/* スマホ */
ul.social-button {
	width: 238px ;
	margin: 24px auto ;
	padding: 0 ;
	border: none ;
	list-style-type: none ;
}

/* デスクトップ */
@media screen and ( min-width:480px ) {
	ul.social-button {
		width: 180px ;
	}
}


/******************************

 [li]要素

******************************/
ul.social-button li {
	float: left ;
	text-align: center ;
	height: 71px ;
	margin: 0 8px ;
	padding:0 ;
}


/******************************

 各種ボタン

******************************/
/* [Twitter] */
.sc-tw {
	width: 71px ;
}

.sc-tw svg {
	width: 30px ;
	height: 30px ;
 }

.sc-tw a {
	height: 56px ;
	margin: 0 auto ;
	padding-top: 6px ;
	display: block ;
	background: #1B95E0 ;
	font-size: 12px ;
	color: #fff ;
	font-weight: 700 ;
	text-decoration: none ;
	letter-spacing: .5px ;
	border-radius: 2px ;
}

.sc-tw a:hover {
	color: #fff ;
	background: #0c7abf ;
}

.sc-tw span:before {
	white-space: pre ;
	content: '\A' ;
}

/* [Facebook] */
.sc-fb {
	z-index: 99 ;
	width: 69px ;
}

/* [LINE] */
.sc-li {
	width: 50px ;
}

.sc-li-img {
	border: none ;
	margin: 0 auto ;
	padding:0 ;
	width: 36px ;
	height: 60px ;
}

/* デスクトップPCではLINEボタンを表示しない */
@media screen and ( min-width:480px ) {
	.sc-li {
		display: none ;
	}
}


#viewing .main .btn a {
	color: #FFF;
	display: inline-block;
	padding: 6px 10px;
	margin: auto;
	line-height: 100%;

	background-color: #FFF;
	background: linear-gradient(#F00, #D00);
	border: 1px solid #DDD;
	border-radius: 20px;
	text-decoration: none;
	line-height: 100%;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}
@media(min-width:768px){
	#viewing .main .btn a:hover {
		background: #F00;
	}
}
@media(min-width:768px){
	#viewing .main {
		position: relative;
	}
	#viewing .main .btn p a {
		font-size: 12px;
	}
	#viewing .main .btn p {
		position: absolute;
		bottom: 55px;
	}
	#viewing .main .btn p:first-child {
		left: 120px;
	}
	#viewing .main .btn p:nth-child(2) {
		left: 235px;
	}
	#viewing .main .btn p:nth-child(3) {
		left: 405px;
	}
}
@media(max-width:767px){
	#viewing .main .btn {
		display: none;
	}
}
#final .flow {
	background: #e75624;
}

#final .flow .btn a {
	color: #FFF;
	display: inline-block;
	padding: 6px 10px;
	margin: auto;
	line-height: 100%;

	background-color: #FFF;
	background: linear-gradient(#F00, #D00);
	border: 1px solid #DDD;
	border-radius: 20px;
	text-decoration: none;
	line-height: 100%;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}
@media print, screen and (min-width:768px) {
	#final .flow .btn a:hover {
		background: #F00;
	}
	#final .flow {
		position: relative;
	}
	#final .flow .btn p a {
		font-size: 12px;
	}
	#final .flow .btn p {
		position: absolute;
		bottom: 60px;
	}
	#final .flow .btn p:first-child {
		left: 185px;
	}
	#final .flow .btn p:nth-child(2) {
		left: 355px;
	}
	#final .flow .btn p:nth-child(3) {
		left: 550px;
	}
	#final .flow .btn p:nth-child(4) {
		left: 735px;
	}
}
@media(max-width:767px){
	#final .flow .btn {
		display: none;
	}
}


/* supporter
--------------------------------------------------------------------*/
#supporter h3 {
	background: #F60;
	color: #FFF;
	padding: 10px;
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#supporter h4 {
	font-weight: bold;
	margin-bottom: 15px;
}
#supporter h4::before {
	content: "◆";
	margin-right: 3px;
}
#supporter #article section {
	margin-bottom: 60px;
}
#supporter section.situation dt {
	color: #060;
}

#supporter section.situation>div,
#supporter section.method>div {
	border: 5px solid #EEE;
	padding: 4%;
	margin-bottom: 35px;
}
#supporter section.method>div p {
	margin-bottom: 25px;
}
#supporter section.method>div p:last-child {
	margin-bottom: 0;
}
#supporter p.btn ,
#viewing p.btn {
		text-align: center;
		font-size: 200%;
}
#supporter p.btn a ,
#viewing p.btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 5px;
	display: inline-block;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
	padding: 50px 8px;
	text-decoration: none;
}
#supporter .btn-left,
#supporter .btn-right {
	text-align: center;
}
#supporter .btn-left .notice,
#supporter .btn-right .notice {
	margin-top: -20px;
}
#supporter .video-entry-btn,
#viewing .entry-btn {
	margin: 100px 0;
}
#supporter .video-entry-btn  p.btn,
#viewing .entry-btn  p.btn {
	margin-bottom: 12px;
}
#supporter .video-entry-btn p.btn a,
#viewing .entry-btn p.btn a {
	font-size: 1rem;
	padding: 10px;
	width: 70%;
}
#viewing .entry-btn p.btn a {
	width: auto;
	padding: 18px 8%;
	font-size: 1.5rem;
}
	border: 5px solid #EEE;
	padding: 4%;
	margin-bottom: 35px;	
}
#supporter table.program {
	border-collapse:collapse;
	margin:30px 0 40px 0;
}
#supporter table.program td, 
#supporter table.program th {
	border:1px solid #CCC;
	padding:5px 10px;
	vertical-align:top;
}
#supporter table.program th {
	font-weight:normal;
	background-color:#ACF;
	white-space:nowrap;
	text-align:center;
}
#supporter table.program td.classTitle {
	width:100px;
}
#supporter table.program td.classDate {
	width:100px;
}
#supporter section.class dt {
	float: left;
	font-size: 1.2rem;
	font-weight: bold;
}
#supporter section.class dd {
	padding: 0 0 30px 150px;
	margin-bottom: 30px;
	border-bottom: 1px dotted #DDD;
}
#supporter section.price td {
	font-size: .9rem;
	font-weight: 800;
	padding: 10px;
}
#supporter section.price p span.capacity {
	display: inline-block;
	color: #FFF;
	background: #000;
	font-weight: bold;
	font-size: .9rem;
	padding: 6px;
}
#supporter section.price p span.font-s {
	font-size: .8rem;
}
#supporter section.payment a {
	font-weight: bold;
	text-decoration: none;
	display: inline-block;

	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 15px;
	color: #FFF;
	cursor: pointer;
	font-size: 1.2rem;
	padding: 15px;

	text-align: center;
	margin: 0 10px 10px 0;
	width: 250px;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}

#supporter section.furikomi,
#viewing section.furikomi,
#index section.furikomi {
	border: 1px solid #900;
	padding: 4% 4% 3% 4%;
}
#supporter section.furikomi p,
#viewing section.furikomi p,
#index section.furikomi p {
	margin-bottom: 15px;
}
#supporter section.furikomi p.ml30,
#viewing section.furikomi p.ml30,
#index section.furikomi p.ml30 {
	text-indent: -1em;
}
#supporter section.furikomi dl,
#viewing section.furikomi dl,
#index section.furikomi dl {
	margin: 0 0 25px 1em;
}
#supporter section.furikomi dt,
#viewing section.furikomi dt,
#index section.furikomi dt {
	clear: both;
	float: left;
}
#supporter section.furikomi dd,
#viewing section.furikomi dd,
#index section.furikomi dd {
	padding-left: 13.5em;
}
#supporter section.furikomi dd span,
#viewing section.furikomi dd span,
#index section.furikomi dd span {
	font-size: .7rem;
	display: inline-block;
}

#supporter .payment-btn a {
	position: relative;
}
#supporter .payment-btn .notice {
    display: block;
    position: absolute;
    background: #fff;
	border-radius: 3px;
    padding: 5px 15px;
    text-shadow: none;
    text-align: center;
    margin: 4% 25%;
    top: 0;
    opacity: .9;
    font-size: .9rem;
    transform: rotate(-5deg);
	
}
@media(min-width:768px){
	#supporter p.btn a:hover,
	#viewing p.btn a:hover {
		background: #F00;
	}
	#supporter section.payment a:hover {
		background: #F00;
	}
	#supporter section.situation dt {
		clear: both;
		float: left;
		width: 9em;
	}
	#supporter section.situation dd {
		padding: 0 0 0 9em;
		margin-bottom: 10px;
	}
	#supporter section.situation dd span {
		display: inline-block;
		float: right;
	}
	#supporter section.situation dd:last-child {
		margin-bottom: 0;
	}
	#supporter .btn-left,
	#supporter .btn-right {
		width: 50%;
	}
	#supporter .btn-right {
		float: right;
	}
	#supporter .btn-left {
		float: left;
	}

}
@media(max-width:767px){
	#supporter section.situation dd {
		margin-bottom: 10px;
		margin-left: 1em;
	}
	#supporter section.situation dd span {
		display: block;
	}
	#supporter .btn-left .btn a,
	#supporter .btn-right .btn a {
		width: 80%;
		max-width: 280px;
	}
}
@media(max-width:480px){
	#supporter .payment-btn {
		text-align: center;
	}
	#supporter table.program tr th {
		display: none;
	}
	#supporter table.program tr td {
		border: none;
		display: block;
		width: auto;
	}
	#supporter table.program tr td:first-child {
		background-color:#ACF;
		clear: both;
		width: 94%;
	}
	#supporter table.program tr td:first-child br {
		display: none;
	}
	#supporter table.program tr td:nth-child(2)::before {
		content: "日程";
		display: block;
		font-weight: bold;
	}
	#supporter table.program tr td:nth-child(2) {
		float: left;
		font-size: .7rem;
		width: calc(8em);
		background: #F8F8F8;
	}
	#supporter table.program tr td:nth-child(3) {
		font-size: .75rem;
		width: calc(94% - 8em);
		margin-left: 9em;
	}
	#supporter table.program tr td:nth-child(3) .ml20,
	#supporter table.program tr td:nth-child(3) .ml30 {
		margin-left: 10px;
	}
	#supporter section.class dt {
		float: none;
		font-size: .9rem;
		margin-bottom: 8px;
	}
	#supporter section.class dd {
		padding: 0 0 20px 0;
		margin-bottom: 20px;
		border-bottom: 1px dotted #DDD;
	}
	#supporter section.program .ml20,
	#supporter section.program .ml30,
	#supporter section.payment .ml20,
	#supporter section.payment .ml30,
	#supporter section.entry .ml20,
	#supporter section.entry .ml30 {
		margin-left: 10px;
	}
	#supporter section.furikomi p.ml30,
	#viewing section.furikomi p.ml30,
	#index section.furikomi p.ml30 {
		margin-left: 10px;
	}
}

dl.invoice {
	margin-bottom: 40px;
}
dl.invoice::after {
	clear: both;
	display: block;
	height: 0;
	content: "";
}
dl.invoice dt {
	font-weight: 800;
	float: left;
	width: 7em;
	clear: both;
}
dl.invoice dd {
	padding-left: 7.5em;
	margin-bottom: .5em;
}

.koshijuku-bnr {
	display: table;
	margin: 50px auto;
}
.koshijuku-bnr p {
	display: table-cell;
	text-align: center;
}
@media(min-width:481px){
	.koshijuku-bnr p:first-child {
		padding-right: 60px;
	}
	.koshijuku-bnr p:last-child {
		padding-left: 60px;
	}
}
@media(max-width:480px){
	.koshijuku-bnr {
		width: 100%;
	}
	.koshijuku-bnr p:first-child {
		padding-right: 5px;
	}
	.koshijuku-bnr p:last-child {
		padding-left: 5px;
	}
}
#final-payment section {
	margin-bottom: 90px;
}
#final-payment  .flow {
	display: table;
}
#final-payment .flow > p {
	display: table-cell;
	vertical-align: top;
}

#final p.h2 {
	position: relative;
}
section.finalist ul.winner {
	margin-bottom: 60px;
}
section.finalist ul.winner2018 {
	margin-bottom: 40px;
}
section.finalist ul.winner li h3,
section.finalist ul.winner2018-2 li h3,
section.finalist h3 {
	font-weight: 800;
	background: #f90;
	color: #fff;
	padding: 8px;
	text-align: center;
}
section.finalist ul.winner2018 li {
	display: block;
}
section.finalist ul.winner2018 li .photo,
section.finalist ul.winner2018 li > div {
	display: block;
}
@media(min-width:768px){
	section.finalist ul.winner li,
	section.finalist ul.winner2018 li {
		border: none;
	}
	section.finalist ul.winner li:first-child {
		width: 100%;
	}
	section.finalist ul.winner li:first-child .photo {
		width: 25%;
	}

	section.finalist ul.winner li:nth-child(2),
	section.finalist ul.winner li:nth-child(4) {
		clear: none;
		padding-left: 0;
		width: 50%;
	}
	section.finalist ul.winner li:nth-child(3),
	section.finalist ul.winner li:nth-child(5) {
		padding-left: 3%;
		width: 46%;
		clear: none;
	}
	section.finalist ul.winner li h3 {
		display: table-caption;
	}
	section.finalist ul.winner li:nth-child(3) h3,
	section.finalist ul.winner li:nth-child(5) h3 {
		margin-left: 3%;
	}
	#final p.h2 span.archive,
	#gallery h2.r span {
		position: absolute;
		right: 5%;
		top: 19px;
		color: #fff;
		font-size: 1.4rem;
		font-weight: normal;
		text-align: right;
	}
	section.finalist ul.winner2018 li {
		width: 30%;
		clear: none;
		padding: 20px 1.5%;
	}
	section.finalist ul.winner2018 li .name {
		text-align: center;
	}
	section.finalist ul.winner2018 li .photo {
		width: 60%;
		margin: 0 auto 10px auto;
	}

}
@media(max-width:767px){
	section.finalist ul.winner li h3 {
		margin-bottom: 15px;
	}
	section.finalist ul.winner li {
		border: none;
		margin-bottom: 0;
	}
	#final p.h2 span.archive {
		position: absolute;
		right: 2%;
		top: 6%;
		color: #fff;
		font-size: .75rem;
		text-align: right;
	}
}

@media(min-width:768px){
	section.finalist ul.winner2018-2 li:first-child {
		margin-right: 1.5%;
	}
	section.finalist ul.winner2018-2 li {
		border: none;
		clear: none;
		padding-left: 0;
		width: 49%;
	}
	section.finalist ul.winner2018-2 li h3 {
		display: table-caption;
	}
}
@media(max-width:767px){
	section.finalist ul.winner2018-2 li h3 {
		margin-bottom: 15px;
	}
	section.finalist ul.winner2018-2 li {
		border: none;
		margin-bottom: 0;
	}
}
.modal {
	display: none;
}
.modaal-content-container {
	text-align: center;
}
.modal-close {
	background: #d00;
	background: linear-gradient(#F00, #D00);
	border: 1px solid #DDD;
    border-radius: 20px;
	color: #fff;
	line-height: 1;
	padding: 6px 20px;
	display: inline-block;
	margin-top: 10px;
	cursor: pointer;
}
#viewing .gakusei {
	text-align: center;
	margin-bottom: 80px;
}
#gallery .gallery ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 60px;

}
#gallery .gallery li {
	flex-basis: 49%;
	margin-bottom: 1%;
}
#gallery .gallery p.btn {
    margin: 10px auto;
	text-align: center;
}
#gallery .gallery p.btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 5px;
	display: inline-block;
	color: #FFF;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
	padding: 15px 10%;
	text-decoration: none;
	min-width: 40%;
}
.process .flow {
	width: 100%;
}

#entry section.furikomi dl.l1 {
	margin: -15px 1em 0 1em;
}
#entry section.furikomi dl.l1::after {
	clear: both;
	content: "";
	display: block;
}
#entry section.furikomi dl.l1 dt {
	float: left;
	width: 14em;
}
#entry section.furikomi dl.l1 dd {
	float: left;
	padding-left: 1em;
}
#entry section.movie {
	text-align: center;
}
@media(max-width: 768px){
	#entry section.movie iframe {
		width: 100% !important;
	}
}
#entry section.youtube-entry .btn a {
	line-height: 1.3;
	padding: 1em 3em;
	font-size: 1.2rem;
}
#gallery h2.r {
	position: relative;
	background: #c30d23;
	color: #fff;
	font-weight: 800;
	font-size:  1.6rem;
	padding: .7em;
	border: none;
}
#gallery h2.r::before {
	content: "◆";
}
@media(max-width:480px) {
	#gallery h2.r {
		font-size:  .8rem;
		padding: .3em .7em;
	}
}
.supporter-intro .col2 {
	display: table;
}
.supporter-intro .col2 > p {
	display: table-cell;
	padding-right: .7em;
}
#index .supporter-intro .btn {
	margin: 2em auto 70px auto;
}
section.cloudfunding > p {
	margin-bottom: 1em;
}
@media(min-width: 768px){
	section.cloudfunding > .col2 {
		display: table;
		margin: 2em auto 0 auto;
	}
	section.cloudfunding > .col2 > div {
		display: table-cell;
		vertical-align: top;
		padding-right: 1em;
	}
	section.cloudfunding > .col2 > div:last-child {
		padding-left: 5em;
	}
}	
@media(max-width: 767px){
	section.cloudfunding > .col2 > div {
		text-align: center;
		margin-bottom: 2em;
	}

}
#youtube_entry .flow img {
	max-height: 400px;
	display: block;
	margin: 1em auto 3em auto;
}
#zizen .flow {
	margin-bottom: 1em;
}

#ranking section.ranking li {
	display: flex;
	position: relative;
    border: 4px solid #ddd;
    padding: 10px;
    margin-bottom: 25px;

}
#ranking section.ranking li .rank {
	position: absolute;
	top: -4px;
	left: -4px;
	background: #ff8c00;
	color: #fff;
    line-height: 1;
}
#ranking section.ranking li:hover {
	background: #fc0;
}
#ranking section.ranking li .photo {
	flex-basis: 30%;
	line-height: 1;

}
#ranking section.ranking li > div {
	flex-basis: 70%;
}
#ranking section.ranking li .title {
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: .5em;
}
#ranking section.ranking li .title a {
	text-decoration: none;
	color: #333;
}
#ranking section.ranking li .vote-count {
	background: #fff;
	display: inline-block;
	border: 1px solid #f90;
	border-radius: 3px;
    padding: 3px 5px;
    line-height: 1;
    font-size: 1.1rem;
    margin-left: .7em;
}
#ranking section.ranking li .vote-count span {
    font-size: .85rem;
}
#ranking section.ranking li .vote-count::before {
	border: none;
    margin-right: 5px;
    display: inline-block;
    padding: 0;
    font-size: .85rem;

}
#ranking section.ranking li .link a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#ranking .btn {
	text-align: center;
	margin: 4em 0 1em 0;
}
#ranking .btn a {
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border-radius: 5px;
	display: inline-block;
	color: #FFF;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
	padding: 15px 10%;
	text-decoration: none;
	min-width: 40%;
}

@media(min-width: 481px){
	#ranking section.ranking li .rank {
	    padding: 10px;
	}
	#ranking section.ranking li .title {
		font-size: 1.2rem;
		padding-top: .5em;
	}
	#ranking section.ranking li > div {
		margin-left: 15px;
	}
}
@media(max-width: 480px){
	#ranking section.ranking li .rank {
	    padding: 6px;
	}
	#ranking section.ranking li .title {
		font-size: 1rem;
	}
	#ranking section.ranking li > div {
		margin-left: 8px;
	}
	#ranking section.ranking li .vote-count {
	    font-size: .9rem;
	}
	#ranking section.ranking li .vote-count span {
	    font-size: .8rem;
	}
}
#viewing-detail .social-distance {
	padding: 1em;
	border: 1px solid #ccc;
	border-radius: 10px;
	max-width: 360px;
	margin-bottom: 1em;
}
#article .recommend-books {
	background: #fff;
	border: 3px solid #ddd;
	padding: 10px;
	margin-bottom: 3em;
}
#article .recommend-books h3 {
	text-align: center;
	font-weight: 800;
	margin-bottom: .5em;

}
#article .recommend-books li {
	display: table;
	line-height: 1.5;
}
#article .recommend-books li > p,
#article .recommend-books li > div {
	display: table-cell;
	vertical-align: top;
	padding: 10px;
}
#article .recommend-books li > p:first-child {
	padding-right: 0;
}
#article .recommend-books li h4 {
	font-size: .8rem;
	font-weight: 800;
	margin-bottom: .5em;
}
#article .recommend-books li a {
	word-break: break-all;
}
#article .recommend-books img {
	max-width: 75px;
	height: auto;
}
@media(min-width: 481px){
	#article .recommend-books {
		float: right;
		max-width: 260px;
	}
}

tr.bg-gray td {
	background: #f8f8f8;
}
tr.bg-yellow td {
	background: #fffcf8;
}

#entry .entry-method {
  display: flex;
  justify-content: center;
  gap: 20px;
}
#entry .entry-method .btn {
  flex-basis: 40%;
}
#entry .entry-method .btn a {
  display: block !important;
}
#entry .entry-method .btn a.full:after {
  left: 34%;
  bottom: 15px;
}
@media(max-width: 767px){
  #entry .entry-method {
    flex-wrap: wrap;
  }
  #entry .entry-method .btn {
    flex-basis: 80%;
    margin-bottom: 0;
  }
}

@media(min-width: 950px){
	#gnav.gnav231021 ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#gnav.gnav231021 li {
		flex-basis: 20%;
		display: block;
		margin-bottom: 10px;
	}
	#gnav.gnav231021 li a {
		padding-bottom: 5px;
	}
	#gnav.gnav231021 li a span {
		padding: 5px 10px;
	}

	#gnav.gnav231021 li:nth-child(6) a span {
		border-left: 1px solid #ccc;
	}
}

/*
	#gnav.gnav231021 li a {
		font-size: 13px;
	}
	#gnav.gnav231021 li a span {
		font-size: 13px;
		padding: 10px;
	}
	*/