@charset "UTF-8";

/* -ed- */
body {
	color:#3e3a39;
}

p {
	margin:15px;
	text-align: justify;
}

.text2{
	display: none;
}

.hide{
	display: none;
}

h1 {
	background:#084F89;
	line-height:100%;
	text-align:center;
	padding:20px 0;
	font-size:16px;
	color:#fff;
}

ul#step {
	border:1px solid #084F89;
	border-width:1px 0;
	height:40px;
	margin-top:10px;
	overflow:hidden;
	margin-left:-10px;
	background-color:#fff;
	color: #084F89;
}

ul#step li {
	font-size:18px;
	float:left;
	height:100%;
	line-height:40px;
	width:33%;
	text-align:center;
	background-repeat:no-repeat;
	background-position:left center;
	-webkit-background-size:26px 50px;
	background-size:26px 50px;
	background-image:url(../img/step5.gif);
	box-sizing:border-box;
	padding-left:20px;
}

ul#step li.start {
	background-image:none!important;
	padding-left:15px!important;
	background-color:#fff;
}

ul#step li.current {
	background-color:#feb42b;
	background-image:url(../img/step4.gif);
}

ul#step li.current + li {
	background-color:#fff;
	background-image:url(../img/step3.gif);
}

ul#step li.last {
	float:right;
}

div.confirm ul#step {
	background-color:#feb42b!important;
}

.dtbg{
	display: none;
}


dt {
	font-size:14px;
	font-weight:700;
	text-align:left;
	padding-left:10px;
	position:relative;
	background:#E0EDF7;
	box-sizing:border-box;
	line-height:20px;
	padding:10px;
	border-top: 1px #a3c8e6 solid;
	color: #084F89
}

dt:before {
	content:"■ ";
	color:#0011bf;
}

dt span {
	font-size:11px;
	font-weight:400;
}

dt .req,dt .n_req {
	display:inline-block;
	border:1px solid #b4283b;
	color:#b4283b;
	line-height:100%;
	padding:3px;
	box-sizing:border-box;
	border-radius:4px;
	font-size:12px;
	margin-left:.5em;
}

dt .n_req {
	border:1px solid #3e3a39;
	color:#3e3a39;
}

dd {
	margin:15px;
	font-size:16px;
	padding:0;
	position:relative;
}

dd > span {
	position:absolute;
	top:0;
	left:0;
	line-height:30px;
}

dd.name {
	padding-left:1.5em;
}

		dd.name >span{
			text-align: center;
			width: 38px;
			left: -14px
		}
		
		dd.name > span.err{
			text-align: center;
			width: 38px;
			left: 0px
		}

.kana1 span, .kana2 span{
	font-size: 14px;
}

.text,textarea {
	box-sizing:border-box;
	display:block;
	width:100%;
	box-sizing:border-box;
	font-size:16px;
	line-height:18px;
	border-radius:4px;
	padding:5px;
	border:2px solid #ccc!important;
	box-shadow:none!important;
}

textarea {
	height:8em !important;
	line-height:160%!important;
	width: 100% !important;
}

.cbox {
	display:inline-block;
	font-size:30px;
	margin: 5px 8px;
}

label {
	display:block;
	padding:4px 0;
}

/*
.email{
	ime-mode: inactive;
}
*/
ul.normal {
	margin-left:-10px;
}

ul li {
	margin-bottom:10px;
}

select {
	display:block;
	width:100%;
	font-size:14px!important;
	box-sizing:border-box;
	background: #fcfcfc;
}



.kome {
	text-indent:-1em;
	padding-left:1em;
	text-align:justify;
	margin-left:1em;
	line-height:160%;
	clear:both;
	margin-top:1em!important;
}

.kome2 {
	margin: 0px;
	font-size:12px!important;
}

/* !!住所 */
dd.add {
	padding-left:6em;
}

.zip p{
	font-size: 13px;
	margin: 0;
	margin-left: -0.5em;
}

.zip .err_msg{
	margin-left: 3px;
	
}

.pref select{
	display: inline-block;
	margin-top: 4px;
}

/* !! メールアドレス */
.mail_conf div {
	overflow:hidden;
	position:relative;
}

.mail_conf b {
	display:block;
	position:static;
	float:left;
	height:40px!important;
	width:10%;
	line-height:40px;
	text-align:center;
	font-size:24px;
}

.email2 {
	float:left;
	width:60%;
	clear:left;
}

.email3 {
	float:right;
	width:30%;
	clear:right;
}

.email3 input{
	width: 100% !important;
}

/* !!希望コース */
ul#course, ul#policy_check {
	overflow:hidden;
	border-radius: 4px;
}

ul#course li {
	float:left;
	width:100%;
	margin:0;
}

@media screen and (max-width: 700px) {
	ul#course li {
		float:left;
		width:100%;
		margin:0;
	}
}

/* !!希望教室 */
dd.room {
	padding-left:4em;
	
}

	dd.room select{
		display: inline-block;
		margin-top: 2px;
	}

dd.room_name select option{
	-webkit-appearance: none;
	-moz-appearance: none
}

ul#classroom{
	overflow: hidden;
}
	ul#classroom li{
		margin-bottom: 0;
		width: 7em;
		float: left;
	}
	
	ul#classroom li label{
		width: 7em;
	}

/* !------------------------------------ */
/* !! プライバシーポリシー */
/* !------------------------------------ */
.policy {
	margin:5px;
	border:1px solid #ccc;
	padding:10px;
	display:none;
}

.policy h2 {
	font-size:16px;
}

.policy p {
	margin:10px 0;
	font-size:13px;
}

.policy .boldBlue {
	font-weight:700;
	color:#1173c4;
}

.toggle {
	display:inline-block;
	float:right;
	margin-right:15px;
	font-size:30px;
	cursor:pointer;
}

.minus {
	display:none;
}

dt#pol0.show .plus {
	display:none!important;
}

dt#pol0.show .minus {
	display:inline-block!important;
}

	#policy_check li{
		margin-bottom: 0 !important;
	}


/* !------------------------------------ */
/* !! ボタン */
/* !------------------------------------ */
div.btnwrap {
	margin:15px;
}

	@media screen and (min-width: 480px) {
		div.btnwrap {
			margin:15px auto;
			max-width: 400px;
		}
	}


.btn {
	display:block;
	background:url(../img/btnbg.gif);
	background-position:left center;
	color:#fff;
	width:100%;
	box-sizing:border-box;
	margin:0px auto;
	border:4px solid #e96243;
	font-size:18px;
	border-radius:8px;
	line-height:36px;
	box-shadow:0 1px 1px rgba(0,0,0,0.3);
	cursor: pointer;
}

	.reset{
		display:block;
		width:100%;
		box-sizing:border-box;
		margin:10px auto;
		font-size:18px;
		border-radius:8px;
		line-height:36px;
		cursor: pointer;
		
		box-shadow: none;
		background: #fff;
		border: 1px dashed #ccc;
		color: #666;
		font-size: 13px;
	}

.btn.disabled,div.disabled.btnwrap {
	visibility:hidden;
}

.btn.disabled + span,div.disabled.btnwrap + span {
	display:block!important;
}

.btn + span,div.btnwrap + span {
	display:none!important;
}

div.btnwrap {
	box-shadow:none;
	position:relative;
	height: 50px;
	box-sizing: border-box;
}


div.btnwrap > span {
	position:absolute;
	top:0;
	left:0;
	z-index: -1;
	height:100%;
	box-sizing: border-box;
	font-size:13px;
	line-height:44px !important;
	width:100%;
	text-align:center;
	border:4px solid #eee;
	font-size:18px;
	border-radius:8px;
	color:#ccc;
	display: block !important;
}


/* !------------------------------------ */
/* !! エラー */
/* !------------------------------------ */
.text.err, select.err, ul.err {
	background: #fff0f0;
}


.err_msg {
	clear: both;
	display: none;
	text-align: left;
	margin: 5px 0;
	color: #F00;
	font-size: 12px;
	line-height: normal;
	background-repeat: no-repeat;
	background-position: 0px 1px;
	position: static;
}

dd.policywrap div.mfp_err,
dd.course div.mfp_err{
	position: static;
	margin-top: 5px;
}



/* !!------------------------------------ */
/* !! 確認画面 */
/* !!------------------------------------ */



.confirm dl{
	overflow: hidden;
}

.confirm dt {
	background:#fff;
	color:#3e3a39;
	height:auto!important;
	border: none !important;
}

.confirm dl dd {
	margin-top:0;
	padding-left: 0 !important;
}

div.confirm form{
	display: block !important
}

div.confirm #dlgrp{
	display: none;
}

div.confirm .btnwrap{
	display: none;
}

div.confirm h4{
	display: none;
}

div.confirm .text1{
	display: none;
}

div.confirm .text2{
	display: block;
}

/* !!確認内容 */
ul#confirm_list{
	border: 1px solid #ccc;
	margin: 15px;
	box-sizing: border-box;
	display: none;
}

div.confirm ul#confirm_list{
	display: block;
}

ul#confirm_list li{
	border-bottom: 1px solid #ccc;
	margin: 0;
}


ul#confirm_list li.last{border: none}

ul#confirm_list span{
	display: block;
	box-sizing: border-box;
	height: 100%;
	border-bottom: 1px dashed #ccc;
	padding: 5px;
	background: #eee;
}

ul#confirm_list p{
	margin: 0;
	padding: 10px;
	min-height: 20px;
}


/* !!ボタン */
.btnwrap2{
	margin: 15px;
	text-align: center;
	
}

div.confirm .btnwrap2{
	margin: 15px;
	text-align: center;
	display: block;
}


.btnwrap2 input {
	width: 280px;
	display: inline-block;
}

#mfp_button_send{
	display:inline-block;
	background:url(../img/btnbg.gif);
	background-position:left center;
	color:#fff;
	box-sizing:border-box;
	margin:10px auto;
	border:4px solid #e96243;
	font-size:18px;
	border-radius:8px;
	line-height:36px;
	box-shadow:0 1px 1px rgba(0,0,0,0.3);
	cursor: pointer;
}

#cancel{
	background:url(../img/btnbg2.gif);
	background-position:left center;
	color:#fff;
	box-sizing:border-box;
	margin:10px auto;
	border:4px solid #eee;
	font-size:18px;
	border-radius:8px;
	line-height:36px;
	/* box-shadow:0 1px 1px rgba(0,0,0,0.3); */
	cursor: pointer;
}

/* !!アンケート */
div#enq-wrap{
	margin: 15px;
	border: 5px solid #eee;
	border-radius: 8px;
	box-sizing: border-box;
	display: none;
}
div.confirm div#enq-wrap{
	display: block !important;
}


/* !------------------------------------ */
/* !! 完了画面 */
/* !------------------------------------ */
p.thanks {
	font-weight:700;
	font-size:20px;
}



div#enq-wrap h2{
	font-size: 15px;
	text-align: center;
	margin: 15px 0;
}


div#enq-wrap p{
	margin: 0;
	background: #eee;
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
}

ul.enq{
	margin: 0;
	overflow: hidden;
	padding: 5px;
}

ul.enq li{
	margin: 5px 15px;
	position: relative;
	padding-left: 2em;
}

ul.enq li input{
	display: block;
	position: absolute;
	left: 0;top: 5px;
}

@media screen and(min-width:480px){
	ul.enq li{
		margin:5px 10px;
		float: left;
				width:35%;

	}

}
/* !------------------------------------ */
/* !! スマートフォン１列 2列 */
/* !------------------------------------ */
@media screen and (max-width: 479px) {
	/* !!住所 */
	dd.add {
		padding-left:0;
	}
	
	dd.add span {
		position:static;
	}
}

/* !!希望コース */
@media screen and (max-width: 479px) {
	ul#course li {
		float:none;
		width:100%;
		margin:0;
	}
}

/* !!完了画面 */
@media screen and (max-width: 479px) {
	br{
		display: none;
	}
	
	#confirm_list br{
		display: inline;
	}
}



/* !!------------------------------------ */
/* !! PC */
/* !!------------------------------------ */
@media screen and (min-width: 1000px) {
	#container {
		width:950px;
		margin:0 auto;
	}
	
	h1 {
		margin-top:30px;
		background:url(../img/pc/titleH1.gif) no-repeat;
		height:60px;
		text-indent:-1000px;
		text-align:left;
		padding:0;
	}
	
	
	div.confirm h1,div.complete h1 {
		height:46px!important;
		margin-bottom:30px;
	}
	
	ul#step {
		background-image:url(../img/pc/stepbg.gif);
		background-repeat:no-repeat;
		border:none;
		height:50px;
		margin:2em 0;
	}
	
	ul#step li {
		display:none;
	}
	
	ul#step.confirm {
		background-position:0 -50px;
		background-color:transparent!important;
	}
	
	ul#step.complete {
		background-position:0 -100px;
		background-color:transparent!important;
	}
	
	#dlgrp {
		position:relative!important;
		overflow:visible;
	}
	
	#dl1 {
		margin:0;
		border:1px solid #ccc;
		box-sizing:border-box;
	}
	
	#dl1 p.kome {
		margin-left:160px;
		margin-right:20px;
	}
	
	#dl2 {
		border:1px solid #ccc;
		border-top:none;
		margin:0;
		overflow:hidden;
	}
	
	dl {
		position:relative;
		overflow:visible;
	}
	
		.dtbg {
			display:block;
			content:"";
			position:absolute;
			height:100%;
			border-right:1px solid #ccc;
			top:0;
			left:0px;
			width:258px;
			background: #E0EDF7;
			z-index:0;
		}
	
	dt {
		float:left;
		width:268px;
		clear:left;
		padding-top:20px;
		padding-left:57px;
		border-top: none;
		color: #3e3a39;
		height: 0;
		background: none;
	}
	
	dt:before {
		display:none;
	}
	
	dt span {
		display:block;
		text-align:left;
		text-indent:-.5em;
	}
	
	span.req,span.n_req {
		position:absolute;
		top:20px;
		left:20px;
		text-indent:0;
		display: block !important
	}
	
	dd {
		box-sizing:border-box;
		margin:0;
		float:left;
		clear:right;
		padding:15px 20px ;
		padding-bottom: 0;
	/* padding-left: 160px !important; */
	/* border-bottom: 1px solid #ccc; */
	}
	
	dd.clr {
		clear:right;
		padding-bottom:19px!important;
		/* height:82px!important; */
	}
	
	dd.clr:after {
		content:"";
		display:block;
		border-bottom:1px solid #ccc;
		width:950px;
		position:absolute;
		bottom:0;
		right:0;
	}
	
	dd > span {
		top:19px;
		left:4px;
	}
	
	/* !!名前 */
	
	dd.name {
	/* padding-left: 176px !important; */
		width:340px;
		padding-left:2em;
	}
	
		dd.name >span{
			text-align: center;
			width: 38px;
			left: -6px;
		}
		
	
	dd.kana1{
		margin-left: 268px;
	}
	
		
	
	dd.nb {
		border:none;
		padding-bottom:0;
	}
	
	.text,textarea,select {
	/* max-width: 270px; */
	}
	
	#dl2 .text,#dl2 textarea,#dl2 select {
	/* max-width: 290px; */
	}
	
	.req,dt .n_req,n_req {
		margin-left:0!important;
	}
	
	/* !!資料送付先住所 */
	dd.add {
		float:left;
	/* padding-left: 176px !important; */
		width:340px!important;
		padding-left:6em;
		clear:right!important;
		/* height:60px; */
	}
	
	.zip p{
		position: absolute;
		top:20px; left:325px;
		width: 300px;
		font-size: 13px;
	}
	
	.zip .err_msg{
		position: static;
	}
	
	.add select {
		font-size:12px;
	}
	
	dd.pref {
		clear:left;
		margin-left:268px;
		width:400px!important;
	}
		.pref select{
			display: inline-block;
			margin-top: 7px;
		}
	
	dd.col2 {
		width:680px!important;
		margin-left:268px;
	}
	
	/* !!電話番号 */
	dd.row1 {
		width:680px;
		padding-right:400px;
	}
	
	 .tel .err{
		 left: 20px !important;
	 }
	
	/* !! email */
	dd.mail1 {
		width:680px;
		padding-right:400px;
		padding-bottom: 0;
	}
	
	
	dd.mail_conf {
		width:680px!important;
		padding-bottom: 1em;
		/* margin-left:268px; */
	}
	
	dd.mail_conf > div {
		width:436px;
	}
	
	dd.mail_conf div{
		overflow: visible;
	}
	
		dd.mail_conf .err{
			top: -34px !important;
			left: 0 !important;
		}
		
		dd.mail_conf .email2 .err{
			left: 5em !important;
		}
	
	p.kome {
		margin-left:288px!important;
	}
	
	/* !!学年 */
	.gakunen .err{
		left: 20px !important;
	}
	
	/* !!コース名 */
	dd.course {
		width:680px;
		height:auto!important;
	}
	
	/* !!教室 */
	dd.room_area{
		float:left;
	/* padding-left: 176px !important; */
		width: auto;
		padding-left:4em;
		clear:right!important;
		height:60px;
		width: 680px;
	}
	
		dd.room_area select{
			width: 260px;
		}
	
	dd.room_name{
		margin-left:268px;
		width: 680px;
	}
	
		dd.room_name select{
			width: 260px;
		}
	
	dd.room > span{
		top:17px;
	}
	
	dd.room select{
		/* display: inline-block; */
		
	}
	
	ul#classroom{min-height: 33px}
	
	/* !!お問い合わせ */
	dd.row1.query {
		padding-right:20px!important;
		height:auto!important;
	}
	
	/* !!入塾説明会の予約 */
	dd.row1.meeting {
		height:auto!important;
	}
	
	/* policy */
	dd.policywrap {
		padding-right:20px!important;
		height:auto!important;
		padding-bottom: 15px;
	}
	
	#pol0 span {
		display:none;
	}
	
	#pol1_con {
		display:block;
		height:300px;
		overflow:auto;
		box-sizing:border-box;
		margin:0;
		margin-bottom:20px;
	}
	
	
	#policy_check li{
		margin-bottom: 0 !important;
	}
	
	/* !!ボタン */
	div.btnwrap {
		width:400px;
		height:50px;
		margin:30px auto;
	}
	
	/*  !! エラー   */
	
		dd.name div.mfp_err{left: 32px !important;}
		dd.add div.mfp_err{left: 96px !important;}
		dd.mail_conf div.mfp_err{left: 0px !important;}
		.email_simple{
			position: static !important;
			margin-top: 10px;
		}
		dd.policywrap div.mfp_err{
							position: static;
							margin-top: 10px;
						}
	
	
	.clr div.mfp_err{
		bottom: 1px;
	}
	
		dd.add .err{
			left:8em !important;
		}
	
	span.err:before {
		border:none;
		background:#fff;
		color:red;
		margin-left:4px;
		margin-top:-7px;
	}
	
	span.err:after {
		content:"▼";
		position:absolute;
		bottom:-10px;
		left:50%;
		margin-left:-5px;
		color:red;
		font-size:10px;
	}
	
	/* !!確認画面 */
	div.confirm p.kome{
		margin: 10px auto !important;
		/* width: 633px; */
	}
	
	/* 確認内容 */
	#confirm_list{
		margin: 20px 0 !important;
	}

	div.confirm dl {
		margin:0 auto!important;
		border:1px solid #ccc;
		/* width: 640px; */
	}
	
	div.confirm dl:after {
		left:230px!important;
	}
	
	div.confirm dl dt {
		width:230px;
		padding: 10px;
		padding-left: 36px;
	}
	
	div.confirm dl dd {
		min-height:10px;
		padding: 10px;
		padding-left:51px!important;
	}
	
	div.confirm dl + dl {
		border-top:none;
	}
	
	div#enq-wrap{
			margin: 30px auto;
			width: auto;
	}
	
	ul.enq li{
		margin:5px 10px;
		float: left;
		width:27%;
	}

	
}

/* @media screen and (min-width: 1000px) */


/* !!------------------------------------ */
/* !! ssl */
/* !!------------------------------------ */
#ssl_mark{
	text-align:right;
}

#ssl_mark a{
	display: inline-block;
}