@charset "utf-8";

/******************************
 #course
 コース紹介
******************************/
#course > article{
	position:relative;
	float:left;
	padding:5px;
	width:340px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}
#course > article:first-child{
	margin-right:20px;
}
#course > article .courseName{
	z-index:2px;
	margin-bottom:5px;
	height:40px;
	line-height:40px;
	-moz-text-shadow:0 -1px 1px rgba(0,0,0,0.2);
	-webkit-text-shadow:0 -1px 1px rgba(0,0,0,0.2);
	text-shadow:0 -1px 1px rgba(0,0,0,0.2);
}
#course > article .courseName a{
	display:block;
	padding:0 10px;
	background-color:#f6f6f6;
	background:-moz-linear-gradient(top, #fff, #eee);
	background:-webkit-gradient(linear, center top, center bottom, from(#fff), to(#eee));
	background:linear-gradient(top, #fff, #eee);
	-moz-border-radius:4px 4px 0 0;
	-webkit-border-radius:4px 4px 0 0;
	border-radius:4px 4px 0 0;
	color:inherit;
	text-decoration:none;
}
#course > article .btn{
	position:absolute;
	top:10px;
	right:10px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	border-radius:3px;
}
#course > article .btn a{
	display:block;
	padding:0 10px;
	height:30px;
	color:#fff;
	font-size:80%;
	line-height:30px;
	text-decoration:none;
	-moz-text-shadow:2px 2px 1px rgba(0,0,0,0.3);
	-webkit-text-shadow:2px 2px 1px rgba(0,0,0,0.3);
	text-shadow:2px 2px 1px rgba(0,0,0,0.3);
}
#course > article .textBody{
	position:relative;
	padding:10px;
	background-color:#f6f6f6;

	-moz-border-radius:0 0 4px 4px;
	-webkit-border-radius:0 0 4px 4px;
	border-radius:0 0 4px 4px;
	-moz-box-shadow:4px 0 1px rgba(0,0,0,0.05) inset, 0 4px 1px rgba(0,0,0,0.05) inset, -4px 0 1px rgba(0,0,0,0.05) inset, 0 -4px 1px rgba(0,0,0,0.05) inset;
	-webkit-box-shadow:4px 0 1px rgba(0,0,0,0.05) inset, 0 4px 1px rgba(0,0,0,0.05) inset, -4px 0 1px rgba(0,0,0,0.05) inset, 0 -4px 1px rgba(0,0,0,0.05) inset;
	box-shadow:4px 0 1px rgba(0,0,0,0.05) inset, 0 4px 1px rgba(0,0,0,0.05) inset, -4px 0 1px rgba(0,0,0,0.05) inset, 0 -4px 1px rgba(0,0,0,0.05) inset;
	font-size:75%;
	line-height:1.5em;
	zoom:1;
}
#course > article .textBody .image{
	float:right;
	margin-left:10px;
}
#course > article .textBody .caption{
	margin-bottom:5px;
	font-weight:bold;
	font-size:150%;
	line-height:1.3em;
}

#course article#regular,
#course article#regular .btn{
	background-color:#FF9933;
}
#course article#regular .courseName a,
#course article#regular .textBody .caption{
	color:#FF9933;
}
#course article#video,
#course article#video .btn{
	background-color:#0099FF;
}
#course article#video .courseName a,
#course article#video .textBody .caption{
	color:#0099FF;
}

/******************************
 #schoolinfo
 スクール案内
******************************/
#schoolinfo{
	position:relative;
	overflow:hidden;
	top:0;
}
#schoolinfo .course > h2{
	padding:10px;
	width:330px;
	background-color:#ccc;
	color:#fff;
	font-weight:bold;
	line-height:20px;
	cursor:pointer;
}
#schoolinfo .course div.textBox{
	clear:both;
	margin:0;
	padding-top:10px;
	width:100%;
	border-top:10px solid #ccc;
}

#schoolinfo .course.hidden{
	position:absolute;
	top:0;
	width:100%;
}
#schoolinfo .course.hidden > *{
	display:none;
}
#schoolinfo .course.hidden > h2{
	display:block;
}
#schoolinfo .course h3 {
	font-size:120%;
}

#regular.course > h2{
	float:left;
	background-color:#f93;
}
#regular.course div.textBox{
	border-top-color:#f93;
}
#regular.course h3{
	color:#f93;
}
#regular.course.hidden > h2{
	background-color:#F1DDC9;
	color:#f93;
}

#video.course > h2{
	float:right;
	background-color:#09f;
}
#video.course div.textBox{
	border-top-color:#09f;
}
#video.course h3{
	color:#09f;
}
#video.course.hidden > h2{
	background-color:#C5E3F8;
	color:#09f;
}

#junior.course {
	border-top: 2px solid #390;
	padding-top: 40px;
	margin-top: 60px;
}

#junior.course > h2{
	color: #339900;
	font-size: 24px;
	font-weight: 700;
}

#junior.course .lead {
	margin-top: 1.5em;
}

#junior.course .course-table {
	border-collapse: collapse;
	border-left: 1px solid #888;
	border-top: 1px solid #888;
	margin-top: 20px;
	table-layout: fixed;
	width: 100%;
}
#junior.course .course-table td,
#junior.course .course-table th {
	border-bottom: 1px solid #888;
	border-right: 1px solid #888;
	line-height: 1.5;
	padding: 12px 16px;
}
#junior.course .course-table th {
	vertical-align: middle;
	width: 25%;
}

/*========== fee ==========*/
#schoolinfo .fee h3{
	margin:30px 0 10px;
	color:#390;
}
#schoolinfo .fee table{
	width:100%;
	border:3px solid #94C77B;
	border-top:0;
	font-size:85%;
}
#schoolinfo .fee table th,
#schoolinfo .fee table td{
	padding:1em;
	border-top:3px solid #94C77B;
	line-height:1.7em;
}
#schoolinfo .fee table th{
	width:10em;
	background-color:rgba(148,199,123,0.3);
	border-right:3px solid #94C77B;
	color:#390;
	font-weight:normal;
	text-align:left;
}
#schoolinfo .fee table td p{
	margin-bottom:1em;
}
#schoolinfo .fee table td p:last-child{
	margin-bottom:0;
}
#schoolinfo .fee table .caution{
	display:inline-block;
	color:#333;
	font-size:90%;
}

/*========== flow ==========*/
.flow{
	margin-top:30px;
}
.flow h3{
	margin-bottom:10px;
}

#regular .flow h3,
#video .flow h3{
	color:#390;
}
.flow ul{
	padding-left:10px;
	font-size:85%;
	line-height:1.7em;
}
.flow ul li{
	margin-bottom:1em;
}
.flow li h4{
	margin-bottom:0.5em;
	border-bottom:3px solid #e6e6e6;
}
.flow .matter{
	background-color:#eee;
	padding:10px;
}

/*========== location ==========*/
#schoolinfo .loc h3{
	margin:30px 0 10px;
	color:#339900;
}
#schoolinfo .loc > div{
	padding:10px;
	border:10px solid #eee;
}
#schoolinfo .loc .image{
	float:right;
	margin-left:20px;
}
#schoolinfo .loc h4{
	margin-bottom:10px;
	color:#666;
	font-size:110%;
}
#schoolinfo .loc p{
	font-size:90%;
	line-height:1.5em;
}
#schoolinfo .loc .btn{
	margin-top:10px;
}

/******************************
 #profile
 プロフィール
******************************/
#profile .image{
	float:right;
	margin:0 0 20px 20px;
	padding:5px;
	background-color:#fff;
	box-shadow:2px 0 5px rgba(0,0,0,0.1), -2px 0 5px rgba(0,0,0,0.1), 0px 2px 5px rgba(0,0,0,0.1), 0px -2px 5px rgba(0,0,0,0.1);
}
#profile h2.name{
	margin-bottom:15px;
	font-size:150%;
}
#profile h2.name span{
	display:block;
	margin-top:0.3em;
	font-size:60%;
	font-weight:normal;
}
#profile dl{
	margin-bottom:20px;
}
#profile dt{
	float:left;
}
#profile dd{
	margin-bottom:0.5em;
	padding-left:4em;
}


/******************************
 #schedule
 レッスンスケジュール
******************************/
#schedule{
	position:relative;
}
#calendar > h2{
	height:40px;
	background-color:#390;
	background:-moz-linear-gradient(top, #44AA11, #339900);
	background:-webkit-gradient(linear, center top, center bottom, from(#44AA11),to(#339900));
	background:linear-gradient(top, #44AA11, #339900);
	color:#fff;
	line-height:40px;
	text-align:center;
	-moz-text-shadow:0 -1px 1px rgba(0,0,0,0.3);
	-webkit-text-shadow:0 -1px 1px rgba(0,0,0,0.3);
	text-shadow:0 -1px 1px rgba(0,0,0,0.3);
}
#schedule .btn{
	position:absolute;
	top:5px;
	width:70px;
	height:30px;
	background-color:#f6f6f6;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
	-moz-box-shadow:2px 2px 3px rgba(0,0,0,0.1) inset;
	-webkit-box-shadow:2px 2px 3px rgba(0,0,0,0.1) inset;
	box-shadow:2px 2px 3px rgba(0,0,0,0.1) inset;
	line-height:30px;
}
#schedule .btn.prev{
	left:5px;
}
#schedule .btn.next{
	right:5px;
}
#schedule .btn a{
	display:block;
	font-size:80%;
	text-align:center;
}
#schedule .btn.prev a{
	padding:0 5px 0 25px;
	background:url(../images/arrowLeft02.png) left 50% no-repeat;
}
#schedule .btn.next a{
	padding:0 25px 0 5px;
	background:url(../images/arrowRight02.png) right 50% no-repeat;
}
/*========== calendar ==========*/
table.calendar{
	width:100%;
	border:1px solid #ccc;
	border-top:0;
	font-size:90%;
}
table.calendar th, table.calendar td{
	padding:0.5em;
	width:14%;
	border-bottom:1px solid #ccc;
	border-left:1px solid #ccc;
}
table.calendar th:first-child, table.calendar td:first-child{
	border-left:0;
}
table.calendar th{
	background-color:#eee;
	border-bottom:3px double #ccc;
}
table.calendar td > div{
	min-height:100px;
}
table.calendar td .day{
	font-weight:bold;
	margin-bottom:5px;
}
table.calendar td .day .ttl{
	display:inline-block;
	margin-left:5px;
	font-size:90%;
	font-weight:normal;
}
table.calendar td ul{
	font-size:13px;
	line-height:1.2em;
}
table.calendar th.sun, table.calendar td.sun .day{
	color:#f00;
}
table.calendar th.sat, table.calendar td.sat .day{
	color:#00f;
}
table.calendar td.no{
	background-color:#eee;
}
table.calendar td.other > *{
	-moz-opacity:0.3;
	opacity:0.3;
}
/*========== reserve ==========*/
#schedule .reserve{
	margin-top:30px;
	padding:15px;
	background-color:#f6f6f6;
	border:10px solid #eee;
	-moz-box-shadow:2px 0 5px rgba(0,0,0,0.1), -2px 0 5px rgba(0,0,0,0.1), 0px 2px 5px rgba(0,0,0,0.1), 0 -2px 5px rgba(0,0,0,0.1);
	-webkit-box-shadow:2px 0 5px rgba(0,0,0,0.1), -2px 0 5px rgba(0,0,0,0.1), 0px 2px 5px rgba(0,0,0,0.1), 0 -2px 5px rgba(0,0,0,0.1);
	box-shadow:2px 0 5px rgba(0,0,0,0.1), -2px 0 5px rgba(0,0,0,0.1), 0px 2px 5px rgba(0,0,0,0.1), 0 -2px 5px rgba(0,0,0,0.1);
	font-size:85%;
}
#schedule p{
	line-height:1.7em;
}
#schedule .reserve .contact{
	float:left;
	margin-right:20px;
	width:250px;
	border-right:1px solid #ddd;
}
#schedule .reserve h2{
	color:#390;
	margin-bottom:15px;
	font-size:130%;
}
#schedule .reserve .contact .phone{
	color:#666;
	font-size:200%;
	font-weight:bold;
	line-height:1em;
}



/******************************
 #faq
 よくある質問
******************************/
#faq > ul{
	border-top:1px solid #ddd;
}
#faq > ul > li{
	padding:25px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #ddd;
	font-size:90%;
}
#faq li .question{
	padding-left:30px;
	background:url(../images/icon_faq01.png) left 2px no-repeat;
	line-height:20px;
}
#faq li .answer{
	margin-top:20px;
	padding-left:30px;
	background:url(../images/icon_faq02.png) left 2px no-repeat;
	color:#333;
	line-height:20px;
}
#faq li .answer .caption{
	display:inline-block;
	margin-bottom:0.5em;
	font-size:120%;
	font-weight:bold;
}


/******************************
 #access
 交通アクセス
******************************/
#access .place{
	margin-bottom:0.5em;
	color:#339900;
	font-size:160%;
	font-weight:bold;
}
#gmap {
	width:100%;
	height:400px;
	border:1px solid #ccc;
}
#gmap .noScript {
	padding-top:180px;
	width:100%;
	color:#666;
	font-size:120%;
	font-weight:bold;
	line-height:20px;
	text-align:center;
}


/******************************
 #request, #contact
 お申込みフォーム、お問い合わせ
******************************/
#request .caution{
	margin-bottom:50px;
	padding:15px;
	border:10px solid #eee;
	-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.05), -2px 2px 5px rgba(0,0,0,0.05), 2px -2px 5px rgba(0,0,0,0.05), -2px -2px 5px rgba(0,0,0,0.05);
	-mebkit-box-shadow:2px 2px 5px rgba(0,0,0,0.05), -2px 2px 5px rgba(0,0,0,0.05), 2px -2px 5px rgba(0,0,0,0.05), -2px -2px 5px rgba(0,0,0,0.05);
	box-shadow:2px 2px 5px rgba(0,0,0,0.05), -2px 2px 5px rgba(0,0,0,0.05), 2px -2px 5px rgba(0,0,0,0.05), -2px -2px 5px rgba(0,0,0,0.05);
	font-size:90%;
	line-height:2em;
}
#request .caution span.em{
	color:#390;
	font-size:150%;
}
#request .caution .location{
	margin-top:20px;
}
#request .caution .location .phone{
	color:#666;
	font-size:200%;
}
#request form dl,
#contact form dl{
	border-top:1px solid #ccc;
}
#request form dt, #request form dd,
#contact form dt, #contact form dd{
	padding:15px 0;
	font-size:90%;
	line-height:30px;
}
#request form dt,
#contact form dt{
	float:left;
	width:140px;
	text-align:right;
}
#request form dd,
#contact form dd{
	padding-left:180px;
	border-top:1px solid #fff;
	border-bottom:1px solid #ccc;
}
#request form dt .nes,
#contact form dt .nes{
	display:inline-block;
	margin-right:-2em;
	margin-left:1em;
	color:#FF9933;
	font-size:80%;
}
#request form dd input[type=text], #request form dd select,
#contact form dd input[type=text]{
	height:30px;
}
#request form dd label,
#contact form dd label{
	margin-right:30px;
}
#request form dd .ex,
#contact form dd .ex{
	display:inline-block;
	margin-left:50px;
	color:#666;
	font-size:90%;
}
#request form dd .ex.br,
#contact form dd .ex.br{
	margin-top:0.5em;
	margin-left:0;
	line-height:1.5em;
}
#request form .btnArea,
#contact form .btnArea{
	padding-top:15px;
}
#request form .btnArea p,
#contact form .btnArea p{
	margin:0 auto;
}
#contact form textarea{
	width:350px;
	height:150px;
}
#request dd .err,
#contact dd .err{
	display:block;
	color:#f00;
	font-size:90%;
}

dl.sended{
	border-top:1px solid #ccc;
}
dl.sended dt, dl.sended dd{
	padding:10px 0;
	font-size:90%;
	line-height:1.7em;
}
dl.sended dt{
	float:left;
	width:140px;
	text-align:right;
}
dl.sended dd{
	padding-left:180px;
	min-height: 1.7em;
	border-top:1px solid #fff;
	border-bottom:1px solid #ccc;
}


/******************************
 #voice
 スクール生の声
******************************/
#voice article {
	margin-bottom:20px;
	padding:15px;
	border:1px solid #ccc;
	-moz-border-radius:4px;
	-o-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
}
#voice article:last-child {
	margin-bottom:0;
}
#voice article .image {
	cursor:pointer;
}
#voice article .customer {
	text-align:right;
}


/******************************
 #privacy
 個人情報保護方針
******************************/
#privacy h2{
	margin-bottom:0.5em;
	padding-bottom:0.2em;
	border-bottom:2px solid #ccc;
}
#privacy .textBox ul{
	margin-left:1em;
}



/******************************
 #trade
 特定商取引法に基づく表示
******************************/
#trade dl{
	font-size:80%;
	line-height:1.7em;
}
#trade dl dt{
	float:left;
	width:9em;
}
#trade dl dd{
	margin-bottom:15px;
	margin-left:10em;
	padding-left:1em;
	border-left:1px dotted #ccc;
}