@charset "utf-8";

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

body {font-size:16px;text-align:center;line-height:2;margin: 0; 
	}

.wrapper {
	overflow: hidden;
	position: relative;
	width: 100%;
	min-width: 320px;
}
.pc {
	display: none;
}
.sp {
	display: block;
}

p br{
	display: none;
}

/* header*/
#header {
	background: url("../images/main_photo.jpg") bottom center no-repeat;
	background-size: cover;
	display: block;
	position: relative;
	margin-bottom: 20px;
	width: 100%;
	min-width: 320px;
	height: 200px;
}
	#header .inner {
		margin: 0;
		width: auto;
	}

	#header h1{
		position: absolute;
		top: 100px;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		padding: auto;
		width: 360px;
	}
	#header h1 img{
		width: 100%;
	}




#program {
	background-color: #e1f297;
	background-size: cover;
	display: block;
	position: relative;
	margin-bottom: 20px;
	width: 100%;
	min-width: 320px;
}

#program .ttl {
	background-size: cover;
	display: block;
	position: relative;
	margin-bottom: 20px;
	width: 100%;
	min-width: 320px;
}
	#program .inner  {
		margin: 0;
		width: auto;
	}

/* price
--------------------------------------------------------------------*/

#price {
	margin-bottom: 0px;
	margin-top: 40px;
	width: 100%;
	height: auto;
	min-width: 320px;
	padding: 0;

}

	#price h2.sp img{
		margin-bottom: 20px;
	}



	#price h3{
		margin: 10px auto 20px;
		font-size: 120%;
		font-weight: bold;
		border: 1px solid #000000;
		padding: 8px;
		width: 300px;
		line-height: 1em;
	}

	#price .inner {
		margin: 0 auto;
		width: auto;
	}


	#price a.textlink{
		font-weight: bold;
		text-decoration: underline;
	}

	#price p{
		margin: 10px;
	}

    #price .inner .demo01 th,
    #price .inner .demo01 td{
		width: 100%;
        display: block;
		border-top: none;
    }
	
	#price .inner .demo01 tr:first-child th	{ border-top: 1px solid #ddd; }
	
		#price .inner .txtkome {
			width: 100%;
			text-align:left;
			margin: 0 auto;
	}

/* footer
--------------------------------------------------------------------*/
#footer {
	background-color: #B7D339;
	position: relative;
	padding: 10px 0;
	width: 100%;
}
	#footer .inner {
		text-align: left;
		margin: 0 15px;
		width: auto;
	}
	
	#footer dl {
		font-size: 13px;
		text-align: center;
	}

/* common
--------------------------------------------------------------------*/


 .inner{
   width: 100%;
   margin: 0 auto;
}

.left{
	float: none;
}

.right{
	float: none;
}

.textM{
	font-size: 120%;
	font-weight: bold;
}
.textS{
	font-size: 90%;
	font-weight: bold;
}

.fontW{
	color: #ffffff;
}

.block{
	display: block;
}


#concept {
	margin-bottom: 0px;
	margin-top: 10px;
	width: 100%;
	height: auto;
	min-width: 320px;
	padding: 0;
}

#concept h3.sp{
	border-bottom: 1px solid #333333;
	margin: 30px 10px 10px 10px;
	font-size: 180%;
}

#concept p.sp img{
	width: 240px;
}

#concept p.sp{
	margin: 30px 12px 12px 12px;
} 

#concept p.sp span{
	display: block;
	font-size: 120%;
	font-weight: bold;
	line-height: 1.3em;
}




.cttxt{
	overflow: hidden;
	background-color: #FFF;
	padding: 20px;
	margin: 30px 10px 10px ;
}

.cttxt2{
	overflow: hidden;
	padding: 20px;
}

.cttxt .left{
	width: 100%;
	text-align:center;
}

.cttxt .right{
	width: 100%;
	text-align: left;
	margin-top: 20px;
}

.cttxt .right h3{
	font-size: 130%;
	font-weight: bold;
	text-align: center;
}






.mb20{
	margin-bottom: 20px;
}





/*bottom ph*/
#bottom_ph  {
	margin-bottom: 0px;
	margin-top: 50px;
	width: 100%;
	height: auto;
	min-width: 320px;
	padding: 0;
}
	#bottom_ph .inner {
		margin: 0 auto;
		width: auto;
	}
	
	/*access */
	

#access {
	margin-bottom: 0px;
	margin-top: 40px;
	width: 100%;
	height: auto;
	min-width: 320px;
	padding: 0;

}

#access .inner {
		margin: 0 auto;
		width: auto;
	}

#access .inner h2.sp img {
		margin-bottom: 0;
	}
	
.txtmain {
	text-align:left;
	width: 100%;
	height: auto;
	min-width: 320px;
	padding: 0;
	line-height: 1.5em;
}	

.red {
	color:#F00;
}
	
}