@charset "UTF-8";

body{
	margin: 0;
	font-size: 80%;
	line-height: 160%;
	background: #F8F8F8;
}
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;
}

/* global header */
#header {
	background: #FFF;
	position: relative;
}

#header h1{
	text-align: center;
	margin-bottom: 10px;
}
#header .info {
	border: 3px solid #FC0;
	text-align: center;
	padding: 10px;
	line-height: 100%;
	font-size: 1.1rem;
	margin-bottom: 15px;
}
#header .info span {
	font-size: .9rem;
}

#hnav {
	display: table;
}
#hnav li {
	display: table-cell;
}
article {
	background: #FFF;
	padding: 3%;
	margin-bottom: 50px;
}
article h1 {
}
@media(min-width:950px){
	#header {
		margin-bottom: 30px;
		padding-top: 20px;
	}
	#hnav {
		position: absolute;
		right: 0;
		top: 10px;
	}
	#hnav li {
		padding-right: 10px;
	}
	#gnav-trigger {
		display: none;
	}
	#gnav {
		background: #FC0;
		padding: 6px;
		box-shadow: 0 2px 2px 2px rgba(100,100,100,.1);
	}
	#header .info {
		margin: 0 auto 15px auto;
		width: 930px;
	}
	#gnav ul {
		margin: auto;
		width: 950px;
	}
	#gnav ul::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
		overflow: hidden;
	}
	#gnav li {
		background: #FFF;
		border: 4px solid #F0F0F0;
		border-radius: 10px;
		float: left;
		margin-right: 6px;
	}
	#gnav li:last-child {
		margin-right: 0;
	}
	#gnav li a {
		color: #000;
		display: block;
		padding: 10px 16px;
		text-decoration: none;
		line-height: 1;
	}
	#gnav li a img {
		height: 30px;
	}
	#gnav li:hover img {
		opacity: .8;
	}
/*
	#gnav li:hover {
		background: #D00;
	}
	#gnav li:hover a {
		color: #FFF;
	}
*/
	#content {
		margin: auto;
		width: 950px;
	}
	#content::after {
		clear: both;
		content: "";
		display: block;
		height: 0;
		overflow: hidden;
	}
	#article {
		float: left;
		margin-bottom: 50px;
/*		width: 950px; */
		width: 620px;
		padding: 40px;
		border-radius: 10px;
		box-shadow: 0 0 3px 3px rgba(200,200,200,.1);
	}
	#aside {
		float: right;
		width: 220px;
	}
	#aside section {
		background: #FFF;
		padding: 20px;
	}

	
}


@media(max-width:949px){
	#header {
	}
	#hnav {
		background: #FC0;
		width: 100%;
		margin-bottom: 10px;
	}
	#hnav li {
		border-right: 1px solid #FFF;
		text-align: center;
	}
	#hnav li a {
		display: block;
		padding: 5px 8px;
		line-height: 100%;
		text-decoration: none;
		color: #333;
	}
	#header h1 {
		width: -webkit-calc(100% - 65px);
		width : calc(100% - 65px) ;

		margin-left: 65px;
	}

	#header .info {
		font-size: .8rem;
		margin: 0 3%;
		line-height: 140%;
	}
	#header .info span {
		display: block;
		font-size: .7rem;
	}
	#gnav-trigger,
	#gnav-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#gnav-trigger {
		position: absolute;
		width: 38px;
		height: 29px;
		top: 40px;
		left: 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;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	#gnav li {
		background: #FFF;
		text-align: center;
		border-bottom: 1px solid #CCC;
		padding: 10px;
		opacity: .95;
	}
	#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;
}
*/


}
#article>h1 {
	font-size: 1.2rem;
	margin-bottom: 40px;
}
#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: .8rem;
	z-index: 30;
}
#footer #pagetop a {
	text-decoration: none;
	color: #666;
	text-align: center;
	display: block;
	border-radius: 5px;
	background:#FFF;
	line-height:1rem;
	padding: 5px 10px;
	box-shadow:rgb(100, 100, 100) 0px 0px 5px -1px;
}
#footer #pagetop a:hover{
	-moz-opacity:0.85;
	opacity:0.85;
	filter:alpha(opacity=85);
}
#footer #pagetop a img {
	position: relative;
	top: 4px;
	margin-left: 4px;
}

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

}
#footer .related::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	overflow: hidden;
}
#footer .related dt {
	float: left;
}
#footer .related dd {
	float: left;
	margin-right: 10px;
}

@media(min-width:950px){
	#footer .related {
		margin: auto;
		width: 950px;
	}
}

/* common
--------------------------------------------------------------------*/
/* ▼▼▼桃太郎▼▼▼追加　201607271622--*/
momo{
font-size:200%;
font-weight: bold; 
}

momo120{
font-size:120%;
font-weight: bold; 
}
momo140{
font-size:140%;
font-weight: bold; 
}
momo80{
font-size:80%;
font-weight: bold; 
}
toumei{
opacity: 0.4;
}
toumei2{
opacity: 0;
}


img {
	max-width: 100%;
	width: auto;
	height: auto;
}

/* ▲▲▲桃太郎▲▲▲--*/


h2 {
	background: #FC0;
	padding: 10px 15px;
	margin-bottom: 25px;
	border: 4px solid #F0F0F0;
	border-radius: 8px;
	font-size: .9rem;
	
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.notice {
	color: #D00;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.red {
	color: #E00;
}
.w100 {
	width: 100px;
}
.w200 {
	width: 200px;
}
.w300 {
	width: 300px;
}
.alphabet {
	ime-mode: disabled;
}


/* index
--------------------------------------------------------------------*/
.video-list li {

	margin-bottom: 25px;
}
.video-list li.voted::after {
	content: "投票済";
}
.video-list ul::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	overflow: hidden;
}
#search {
	margin-bottom: 30px;
}

.view-count::before {
	content: url("../img/play.png");
	margin-right: 3px;
	position: relative;
	top: 3px;
}
.vote-count::before {
	content: url("../img/box.png");
	margin-right: 3px;
	position: relative;
	top: 3px;
}

@media(min-width:768px){
	.video-list li {
		float: left;
		margin-right: 3.5%;
		width: 31%;
	}
	.video-list li:nth-child(3n) {
		margin-right: 0;
	}
	.video-list li:nth-child(3n+1) {
		clear: both;
	}
}

@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;
	}
}


/* video
--------------------------------------------------------------------*/
#video h1 {
	margin-bottom: 15px;
}
#video .youtube {
	width: 100%;
	height: 500px;
}
#video .vote-btn {
	margin-bottom: 30px;
	text-align: center;
}
#video .vote-btn p{
	background-color: #E00;
	background: linear-gradient(#F00, #D00);
	border: 4px solid #EEE;
	border-radius: 20px;
	color: #FFF;
	display: inline-block;
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	padding: 20px 40px;

}
#video .vote-btn p:hover {
	background: #FCC;
	color: #000;
}
#video .vote-btn p span {
	display: block;
	font-size: .8rem;
}
#video .description {
}

/* 画面幅を小さくする
--------------------------------------------------------------------*/
/*
#signout article,
#signin article,
#signup article,
#setting article,
#reminder article {
	width: 600px;
	
}
*/
.narrow #header {
	padding-bottom: 10px;
}
.narrow #content {
	margin-bottom: 40px;
	width: auto;
}
.narrow #article {
	float: none;
	margin: auto;
	width: 600px;
}
.narrow #aside {
}

@media(min-width:768px){
	.single #article {
		float: none;
		width: 870px;
	}
}
/* 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:hover input[type="submit"]{
	background: #F00;
}

.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"] {
	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%;
}


/* signup
--------------------------------------------------------------------*/
#signup .rule {
	height: 300px;
	overflow: auto;
	margin-bottom: 30px;
}
/* signup
--------------------------------------------------------------------*/

/* 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 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 table.program p{
	margin:0 0 10px 0;	
}
#entry dt {
	float: left;
	font-size: 1.2rem;
	font-weight: bold;
}
#entry dd {
	padding: 0 0 30px 150px;
	margin-bottom: 30px;
	border-bottom: 1px dotted #DDD;
}
#entry section.price p {
	font-size: 1.3rem;
}
#entry section.price p span.capacity {
	display: inline-block;
	color: #FFF;
	background: #E00;
	font-weight: bold;
	font-size: .9rem;
	padding: 6px;
}
#entry section.price p span.font-s {
	font-size: .8rem;
}
#entry section.payment p {
	margin-bottom: 30px;
}
#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.2rem;
	padding: 15px;

	text-align: center;
	margin: 0 10px 10px 0;
	width: 250px;
}
#entry section.payment a:hover {
	background: #F00;
}
#entry section.furikomi {
	border: 1px solid #900;
	padding: 30px 30px 20px 30px;
}
#entry section.furikomi p {
	margin-bottom: 15px;
}

/* faq
--------------------------------------------------------------------*/
#faq #article section p {
	margin-bottom: 10px;
}
/* pager
--------------------------------------------------------------------*/
.pager li {
	display: inline;
	margin-right: 10px;
}
/* payment
--------------------------------------------------------------------*/
#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-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	padding: 20px 40px;

}
#payment p.btn input[type="submit"]:hover {
	background: #FCC;
	color: #000;
}
/* final
--------------------------------------------------------------------*/
#final dd.finalist {
	font-size: 1.2rem;
	line-height: 150%;
}
#final dd.finalist label {
	margin-right: 15px;
	white-space: nowrap;
}