.mt30{
	margin-top:30px;
}
.price h2 {
    font-size: 2.4rem;
    color: #333;
    margin-top: 2em;
    border-bottom: 1px solid #CCC;
    width: 80%;
    margin: 2em auto 0 auto;
}
.price dl {
    display: flex;
    width: 80%;
    margin: 0 auto;
    border: 1px solid #CCC;
    background-color: #FFF;
    border-radius: 30px;
    overflow: hidden;
    margin-top: 20px;
	font-size:28px;
	line-height:1.3em;
}

.price dl dt {
    width: 45%;
    text-align: center;
    background-color: #00F;
    color: #FFF;
}

.price dl dd {
    text-align: center;
    color: #C00;
    width: 55%;
	margin:0;
}

.price p {
    font-size: 1.4rem;
    color: #333;
    /* width: 80%; */
}

.price ul li {
    font-size: 1.8rem;
    color: #333;
    text-align: center;
    /* width: 80%; */
}

.price ul {
    width: 80%;
    margin: 10px auto;
}

.early {
    margin-top: 30px;
    border: 1px solid #FF0000;
    width: 80%;
    margin: 30px auto 0 auto;
	border-radius: 8px;
	overflow: hidden;
}

.early h3 {
    background-color: #FF0000;
    color: #FFF;
    margin-top: 0;
    font-size: 28px;
    line-height: 1.3em;
}

.early p {
    font-size: 2rem;
}

.campaign {
    margin-top: 30px;
    border: 1px solid #FF0000;
    width: 80%;
    margin: 30px auto 0 auto;
	border-radius: 8px;
	overflow: hidden;
}

.campaign h3 {
    background-color: #FF0000;
    color: #FFF;
}

.early p {
    font-size: 2rem;
}

.price .campaign p {
    font-size: 2rem;
}
.pricetable {
    display: flex;
    width: 80%;
    margin: 0 auto;
}
.price table {
    width: 80%;
    margin: 30px auto 20px auto;
    border: 1px solid #CCC;
    border-collapse: collapse;
}

.price table th {
    color: #333;
    padding: 0.2em;
    border: 1px solid #CCC;
    background-color: #EEEEFF;
}

.price table td {
    border: 1px solid #CCC;
    padding: 0.2em;
    color: #333;
}
.price table .midashi th, .price table .midashi td {
    background-color: #F2F2F2;
}

.price table td.newcommer {
    color: #CC0000;
    font-weight: bold;
}
.price p {
    /* margin-top: 0; */
}

.price .caution h3 {
    width: 80%;
    text-align: left;
    margin: 1em auto 0.2em auto;
    text-align: center;
    border-bottom: 1px solid #CCC;
}

.caution ul li {
    text-align: left;
    font-size: 1.2rem;
}

.price .caution {
    margin-bottom: 30px;
}

.caution h3 {}

.price {
    border: 1px solid #CCC;
    border-radius: 8px;
    text-align: center;
    font-size: 1.6rem;
	line-height:1.2em;
    color: red;
    padding: 0.5em;
    background-color: #FFFAFA;
    margin-top: 15px;
	margin-bottom:20px;
}

.price .caution {
    font-size: 18px;
    color: #333;
}
.mainimg {
    height: auto;
    padding: 2em 15px;
    background-color: #316857;
    background-size: 100% auto;
    background-position: bottom left;
    background-repeat: no-repeat;
}
.mainimg h2{
	font-size: 4.8rem;
    line-height: 1.2em;
    padding-top: 0em;
    text-align: center;
    color: #FFF;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	margin:0;
	padding:0;
	text-decoration:none;
	border-bottom:none;
}
.classlist h2 {
    font-size: 2.4rem;
    margin-bottom: 1em;
}

.classname {
    padding-left: 0;
    width: 35%;
}

.classline {
    font-size: 16px;
}

.teacher {
    width: 15%;
}

.term {
    width: 35%;
	text-align: center;
}

.time {
    width: 15%;
}
.btnarea button{
	display:block;
	font-size:200%;
	padding:0.5em 1em;
	border-radius:0.3em;
	color:#FFF;
	background-color:blue;
	border-none;
	margin:1em auto;
}
.backbtn a {
    display: inline-block;
    font-size: 2rem;
    background-color: #329F00;
    color: #FFF;
    padding: 15px 30px;
    margin-bottom:100px;
}
@media (max-width:768px){
	.formarea h2{
		font-size:40px;
		line-height:1.2em;
		padding-bottom:20px;
	}
	.formrow{
		padding:1em;
		border-bottom:1px dotted #CCC;
		font-size:18px;
	}
	.formrow input, .formrow select{
		font-size:18px;
	}
	.formrow::after{
		display:block;
		content:"";
		clear:both;
	}
	.elemlabel{
		box-sizing: border-box;
		width:40%;
		float:left;
		text-align:right;
		padding-right:1em;
	}
	.elemobj{
		box-sizing: border-box;
		width:60%;
		float:left;
	}
	.elemobj input[type=text]{
		border:1px solid #CCC;
		border-radius:8px;
		width:100%;
	}
	.elemobj input.birthy[type=text]{
		width:5em;
	}
	.elemobj input.zip1[type=text]{
		width:4em;
	}
	.elemobj input.zip2[type=text]{
		width:5em;
	}
	.elemobj input.tel[type=text]{
		width:100%;
	}
	.formarea input[type=submit]{
		display: block;
    font-size: 2.5rem;
    border: 1px solid #FFF;
    color: #FFF;
    text-decoration: none;
    padding: 0.3em;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.4);
    min-width: 100px;
		max-width:90%;
    text-align: center;
    margin: 1rem auto;
		background-color:#0009F6;
	}
	.formaresa input[type="submit"]::after{
		content: "";
    display: inline-block;
    vertical-align: baseline;
    width: 0;
    height: 0;
    border-left: 0.6em solid #FFF;
    border-top: 0.4em solid #CCC;
    border-bottom: 0.4em solid #CCC;
    border-right: none;
    margin-left: 0.3em;
	}
	.buttonform{
		float:none;
		width:auto;
	}
	.buttonform a{
		display:block;
		font-size:1.4rem;
		padding:0.4em;
		width:90%;
		border-radius:8px;
		background-color:#E20407;
		margin:1em auto 0 auto;
		color:#FFF;
		text-align:center;
	}
	.classline{
		display:block;
		clear:both;
		width:100%;
		box-sizing:border-box;
		padding:0.5em 1em;
	}
	.classline:after{
		content:"";
		display:block;
		clear:both;
	}
		.gakunen{
			width:100%;
		}

.formarea p {
    margin: 0;
    padding: 0 1em;
}
.formarea .classline{
display:block;
}
.formarea .classname {
    width: 100%;
    box-sizing: border-box;
}

.formarea .gakunen {
    width: 100%;
    box-sizing: border-box;
}

.formarea .term {
    width: 100%;
    box-sizing: border-box;
}
	h2 {
    margin-top: 1em;
    font-size: 1.8rem;
    text-align: center;
}
	.classname{
		width:100%;
		padding-left:0;
	}
.classlist div.hanrei {
    display: none;
}
	.time{
    width: 100%;
	}

.classlist .term {
    width: 100%;
	text-align: left;
}

.classlist .teacher {
    width: 100%;
    text-align: right;
	float:none;
}
	.code{
		width:100%;
	}
.code::before {content: "講座コード：";}

	.formarea h2{
		font-size:1.8rem;
	}
	.formarea h3{
		text-align: center;
	}
.mainimg h2{
	font-size: 2.4rem;
    line-height: 1.2em;
    padding-top: 0em;
    text-align: center;
    color: #FFF;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	margin:0;
	padding:0;
	text-decoration:none;
	border-bottom:none;
}

.price {
	margin:30px 0.5em 0 0.5em;
	font-size:15px;
}
.price dl{
	font-size:1.8rem;
}
.price dl, .price ul, .price .early, .price h2, .price .campaign, .price .caution h3{
	width:98%;
    margin: 10px auto 10px auto;
}
.price ul li, .price  p {
	text-align:left;
}
.pricetable {
display: block;
}

.price table {
width: 100%;
margin-top: 0;
margin-bottom:0;
}

.price table th {
width: 20%;
}

.price h2 {
margin-bottom: 1em;
}
.price .early{
	margin-bottom:1em;
}
.price .early h3 {
    font-size: 1.8rem;
}

.early p {
    font-size: 1.6rem;
    line-height: 1.2em;
    /* padding: 0 0.7em; */
    margin: 0.5em;
}
}