@charset "utf-8";
/*リセット|基本設定
---------------------------------------*/
body { margin:0;padding:167px 0 0px 0;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,form,fieldset,input,textarea,th,td { margin:0;padding:0;}
h1, h2, h3, h4, h5, h6 {font-size:100%;font-weight:normal;}
ol,ul {list-style:none;}
table {border-collapse:collapse;border-spacing:0;width: 100%;}
caption, th {text-align:left;}
fieldset, img {border:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal;}
input, button, textarea, select, optgroup, option {font-size:100%;}

/*リンク
---------------------------------------*/
a {color: #333;}
a:link    {text-decoration:none;}
a:visited { }
a:hover   {text-decoration:underline;color: #FF9900;}
a:active  { }
.sideEvent a{color: #FF6600;}

/*追加必須
---------------------------------------*/
em {}
strong {}

/*hr不可視*/
hr {display:none;}

/*画像下揃え*/
img {vertical-align:bottom;}

/*clear*/
.clr {clear:both;}

/* clearfix */
.cf:after {visibility: hidden;display: block;font-size: 0;content: ".";clear: both;height: 0;}
* html .cf             { zoom: 1; } /* IE6 */
*:first-child+html .cf { zoom: 1; } /* IE7 */

@media print {}

/*調整用スタイル
---------------------------------------*/
/*マージン*/
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt25{margin-top:25px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}

.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}

.ml10{margin-left:10px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}

.mr10{margin-right:10px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}

.pr20{padding-right:20px;}
.pr15{padding-right:15px;}
.pr10{padding-right:10px;}
.pr5{padding-right:5px;}

.noMg{margin:0 !important;}
.noPg{padding:0 !important;}

/*フロート*/
.fltL{float:left;}
.fltR{float:right;}

/*アライン*/
.alignC{text-align: center;}
.alignL{text-align: left;}
.alignR{text-align: right;}

/*フォント*/
.large{ font-size:1.1em}
.small{ font-size:0.9em}
.fp16{font-size:16px}

/*画像透過*/
a.imgHover:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

/*boeder*/
hr.border{
	clear:both;
	display:block;
	height:1px;
	border-left:none;
	border-right:none;
	border-top:none;
	border-bottom:1px dotted #d9d9d9;
}

/*基本文字スタイル*/
body {
	color:#333;
	line-height:1;
	font-size:13px;
	font-family: Verdana, Arial, sans-serif;
	background: url(../images/header_bg.gif) repeat-x;
}
/*付け足し*/
* html body{
	overflow: hidden;
}
.txt {
	line-height:1.6;
}
.txt2 { 
	line-height:1.6;
	font-size:10px;
}
.txt3 {
	font-size:10px;
}
/*基本段落スタイル
p {
	line-height:1.4;
	margin: 0 0  0.75em 0;
}
*/

/*ヘッダー
---------------------------------------*/
#header {
	position:relative;
	width: 930px;
	height: 109px;
	margin: 0 auto;
}
		#logo {
			position: absolute;
			top: 0; left: 0;
			width: 700px;
			height: 97px;
			z-index: 0;
		}
		h1 {
			position:absolute;
			top:0.6em; left:0;
			z-index: 2;
			font-size:0.9em;
		}
		#headerContact {
			position: absolute;
			top: 42px; right: 0;
			height: 92px;
		}
		ul#headerSitemap {
			position: absolute;
			top: 0; right: 0;
			width: 240px;
			height: 25px;
			background: url(../images/header_linkbg.gif) no-repeat 0 0;
}
		#headerSitemap li {
color: #FFF;
background: url(../images/listmark01.gif) 0  no-repeat;
float: left;
font-size: 11px;
margin-top: 7px;
margin-left: 3px;
padding-left: 8px;
		}
		
		#headerSitemap li a {
			color:#FFF;
		}


		#headerContact li { float: left; }
/*navi*/
#navi {
width: 930px;
height: 50px;
margin:0 auto;
}
	#navi li {
		float:left;
	}
/*付け足し2*/
div#headerArea {
	position: fixed !important;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 167px;
	background-color: #ffffff;
	z-index:1;
}
* html div#contentsArea{
	height: 100%;
	overflow: auto;
}
/*セカンドトップイメージ
------------------------------------*/
.secondimg{
	margin-bottom:20px;
}
.secondimg h2 {
	position: relative;
}
.secondimg h2 a.key_btn {
	position: absolute;
	top: 111px;left: 230px;
	display: block;
	width: 110px;
	height: 25px;
}
.secondimg h2 a.key_btn_ticket {
	position: absolute;
	top: 111px;left: 260px;
	display: block;
	width: 110px;
	height: 25px;
}
.secondimg h2 a.key_btn_nyumon {
	position: absolute;
	top: 111px;left: 210px;
	display: block;
	width: 110px;
	height: 25px;
}
.secondimg h2 a.key_btn_event {
	position: absolute;
	top: 111px;left: 20px;
	display: block;
	width: 110px;
	height: 25px;
}
/*全体構造
---------------------------------------*/
#wrapper {
}
#contents { 
padding: 20px 0 0 0; 
}
	.contentsInner {
		width: 930px;
		margin: 0 auto;
	}

	#mainL {
		float: left;
		width: 640px;
		margin: 0px 0;
	}

	#side {
float: right;
width: 250px;
padding: 10px 10px 20px 10px;
background: #f9f7ef;
/*
height: 1105px;
*/
	}

#footer {
clear: both;
height: 147px;
background: url(../images/footer_bg.gif) repeat-x 0 0;
}
	#footerInner {
width: 930px;
height: 147px;
margin: 0 auto;
background: url(../images/footerin_bg.gif) no-repeat 0px 0px;
}



/*フッター
---------------------------------------*/
#footertext {
height: 125px;
margin-top: 22px;
margin-left: 150px;
clear: both;
}


#footerInnerIn01 { 
padding-top: 15px; 
}
	#footerInnerIn01 li {
float: left;
color: #FFF;
background: url(../images/listmark01.gif) 0  no-repeat;
margin-left: 3px;
padding-left: 10px;
padding-right: 20px;
	}
	#footerInnerIn01 li a {
		color:#FFF;
	}
	
#footerInnerIn02 {
clear: both;
padding-top: 10px;
}

#footerInnerIn02 li {
color: #FFF;
line-height: 1.4em;
font-size: 0.9em;
}

#footerInnerIn02 p {
color: #FFF;
font-size: 0.75em;
padding-top: 5px;
}


#pageTop {
float: right;
width: 105px;
height: 22px;
}

/*メイン
---------------------------------------*/

	
	

/*新着情報*/
.news {
}

.newstable {
padding-left: 20px;
padding-top: 5px;
}

	.newstable th{
width: 100px;
height: 40px;
border-bottom: 1px dotted #CCC;
color: #ff6c20;
}

	.newstable td{
width: 500px;
height: 40px;
border-bottom: 1px dotted #CCC;
}


/*ポイント*/
.point{
margin-top: 30px;
margin-bottom: 50px;
}

.idxPointList dt{
	font-weight:bold;
	font-size:1.2em;
	margin-bottom:.75em;
}
.idxPointList dd{
	line-height:1.4;
	margin-bottom:40px;
}


/*topImage
---------------------------------------*/

#topImage {
margin-top: 20px;
}

#topImageInner {
width:930px;
margin:0 auto;
color:#FFF;
text-align:center;
}
/*jQueryスライダー用
---------------------------------------*/
.jquery-slider {
    overflow: hidden;
    position: relative;
}
.jquery-slider-element {
    overflow: hidden;
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.jquery-slider-control {
    overflow: hidden;
    position: absolute;
    text-align: center;
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    margin: 0;
    border: 1px solid #666;
    background: #fff;
    opacity: 0.33;
    cursor: pointer;
    border-radius: 12px;
    box-shadow: #666 0 0 2px;
    text-shadow: #fff 0 0 1px;
}
.jquery-slider-control:hover {
    opacity: 1;
}
.jquery-slider-control-prev {
    left: 5px;
    top: 5px;
	display:none;
}
.jquery-slider-control-next {
    right: 5px;
    top: 5px;
	display:none;
}
.jquery-slider-pages {
    overflow: visible;
    position: absolute;
    left: 5px;
    bottom: 5px;
    height: 20px;
    right: 5px;
}
.jquery-slider-page {
    overflow: hidden;
    position: relative;
    display: block;
    float: right;
    width: 12px;
    height: 12px;
    padding: 0;
    margin: 0;
    background: #999;
	cursor: pointer;
    opacity: 0.33;
    margin: 3px;
    border-radius: 6px;
    box-shadow: #333 0 0 2px;
}
.jquery-slider-page:hover {
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
}
.jquery-slider-page-current {
    opacity: 1;
}

#topImage {
margin-top: 20px;
}

#topImageInner {
	position:relative;
	z-index:0;
	width:930px;
	margin:0 auto;
	color:#FFF;
}

.headlineBtn {
	position:relative;
	z-index:1;
	width:140px;
	top:-90px;
	left:30px;
}

/*side
---------------------------------------*/
.sidebnr{ 
}

.event{
background-image: url(../images/evnet_bg1.gif);
height: 355px;
width: 250px;
margin-bottom: 10px;
}

.memo{
background: url(../images/memo_bg.gif);
height: 400px;
width: 251px;
margin-bottom: 10px;
}

.eventtext{
width: 140px;
font-size: 0.85em;
}

.eventtext a{
color: #ff6c20;
text-decoration: underline;
font-size: 1.1em;
}


.eventbox1{
padding-right: 10px;
padding-left: 15px;
position: relative;
top: 48px;
height: 90px;
width: 220px;
}

.eventbox2{
padding-right: 10px;
padding-left: 15px;
position: relative;
top: 55px;
height: 90px;
width: 220px;
}

.eventbox3{
padding-right: 10px;
padding-left: 15px;
position: relative;
top: 65px;
height: 90px;
width: 220px;
}

.dotpos{
clear: both;
}

.bnposi{
position: relative;
top: 30px;
left: 170px;
}

.textposi{
position: relative;
top: 40px;
left: 10px;
font-size: 16px;
color: #78611b;
font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

.imgposi{
position: relative;
top: 26px;
left: 130px;
border: 1px solid #FFF;
}

.pposi{
position: relative;
top: 30px;
font-size: 0.9em;
line-height: 1.6em;
padding-left: 10px;
padding-right: 10px;
}

/*サブページヘッダー
---------------------------------------*/
.subheading {
	width: 640px;
	height: 31px;
	margin-bottom: 20px;
}
.subheadingbg {
	width: 625px;
	height: 23px;
	margin-bottom: 20px;
	background: url(../images/campaign_header01.gif) no-repeat;
	font-size: 16px;
	font-weight: bold;
	padding: 8px 0 0 15px;
}
/*サブページside
---------------------------------------*/

#side01 {
	float: right;
	width: 250px;
	padding: 10px 10px 20px 10px;
	background: #f9f7ef;
/*
height: 545px;
*/
	}
	
.sidenavi01 {
}

.navibox1{
}
.navibox1 li.sidenaviList {
	position: relative;
	background: url(../images/side_navi_bg.gif) no-repeat;
	height: 35px;
	width: 250px;
	vertical-align: bottom;
}
.navibox1 li.sidenaviListLast {
	position: relative;
	background: url(../images/side_navi_footer.gif) no-repeat;
	height: 13px;
	width: 250px;
	vertical-align: bottom;
}
	.navibox1 li.sidenaviList a,
	.navibox1 li.sidenaviListLast a {
		position: absolute;
		top: 10px; left:47px;
	}

ul.sideEventInfo {}
	ul.sideEventInfo li.sideEventInfoTitle {
		height: 30px;
	}
		ul.sideEventInfo li {
			height: 99px;
			background: url(../images/sideevent_bg.jpg) no-repeat;
		}
			ul.sideEventInfo li p {
				padding: 10px 20px 9px 20px;
				font-size: 11px;
				line-height: 1.5;
			}
				ul.sideEventInfo li p a {
					display: block;
				}
	ul.sideEventInfo li.sideEventInfoFooter {
		height: 19px;
		background: url(../images/sideevent_footer.jpg) no-repeat;
	}

/*コース共通
------------------------------------*/
p.zyugyoTitle {
	color: #fff;
	font-weight: bold;
	background-color: #ff6c20;
	padding: 5px 0 5px 10px;
	margin-bottom: 20px;
}
p.zyugyoTitle2 {
	color: #fff;
	font-weight: bold;
	background-color: #ff6c20;
	padding: 5px 0 5px 10px;
	margin-bottom: 10px;
}
ul.zyugyouList li,
p.zyugyocourseTitle {
	background: url(../images/course_zyugyoIco.gif) no-repeat left top;
	padding: 0 0 0 20px;
}
p.zyugyocourseTitle_kiso {
	font-size: 14px;
	line-height: 0.3;
	font-weight: bold;
	padding: 5px 0 0 0;
}
p.zyugyocourseTitle_katei {
	font-size: 14px;
	line-height: 0.3;
	font-weight: bold;
	padding: 5px 0 0 0;
}
ul.zyugyouList li,
.courseMonth ul li {
	line-height: 1.6;
}
.zyugyoCourse01 {
	width: 420px;
}
.zyugyoCourse02 {
	width: 195px;
}
.zyugyoCourse03 {
	width: 310px;
}
.zyugyoCourse04 {
	width: 110px;
}
.zyugyoCourse05 {
	width: 173px;
}
p.zyugyocourseTitle {
	font-weight: bold;
	margin-bottom: 5px;
}
.courseWeek table th {
	width: 190px;
	padding-right: 35px;
}
.courseWeek table td {
	padding: 5px 0 0 0;
}
.courseWeekNyumon table th {
	width: 190px;
	padding-right: 35px;
}
.courseWeekNyumon table td {
	font-size: 10px;
	line-height: 1.6;
	font-weight: bold;
	padding: 5px 0 0 0;
}
.courseMonth p.nitteiTitle {
	color: #ff6c20;
	font-weight: bold;
	margin-bottom: 10px;
}
.courseMonth table thead th {
	color: #FFF;
	font-weight: bold;
	background-color: #ff6c20;
	padding: 5px 0;
}
.courseMonth table th,
.courseMonth table td {
	border-bottom: 1px solid #CCC;
}
.courseMonth table th {
	text-align: center;
}
.courseMonth table th.menyuNitteiTitle,
.courseMonth table th.menuSyubetsuTitle,
.courseMonth table th.menuOtokoWeek,
.courseMonth table td.menuSyubetsu {
	width: 100px;
}
.courseMonth table th.menuKondateTitle {
	width: 210px;
}
.courseMonth table td {
	padding: 10px;
}
.courseMonth table td.menuSyubetsu {
	text-align: center;
	background-color: #f9f7ef;
}
.courseMonth dd {
	display: list-item;
	list-style-type: disc;
	list-style-position: inside;
}
.courseMonthNyumon table th,
.courseMonthNyumon table td {
	border-bottom: 1px solid #CCC;	
}
.courseMonthNyumon table thead th {
	border-bottom: 1px solid #ff6c20;	
}
.courseMonthNyumon table th.courseMonthNyumonHead {
	width: 101px;
	height: 30px;
	border-left: 1px solid #FFF;
}
.courseMonthNyumon table td {
	text-align: center;
	padding: 10px;
}
.courseMonthNyumon table th.courseMonthNyumonTh {
	width: 80px;
	background-color: #f9f7ef;
	padding-left: 20px;
}
.courseMonthNyumon table td.courseMonthNyumonWeek {
	text-align: left;
	padding-left: 20px;
}
#tab1 li,
#tab2 li {
	float: left;
	width: 140px;
	font-weight: bold;
	color: #ff6c20;
	padding: 5px 0 5px 80px;
	cursor: pointer;
}
#tab1 li.select1,
#tab2 li.select2 {
	background: #ff6c20;
	color: #FFF;
}
.disnon {
  display: none;
}

.eventTxtTitle {
	color:  #ff6c20;
	font-weight: bold;
}
/*当学園について
------------------------------------*/
#about01{
}
/*
#about01 p{
line-height: 1.6em;
}
*/
#about02 p.aisatsuTxt {
	line-height: 1.5em;
	width: 455px;
	margin-bottom: 10px;
}

.sign{
	width: 300px;
	text-align: right;
	font-weight: bold;
}

#about03 table th,
#about04 table th {
	width: 80px;
	background: #f9f7ef;
	padding: 8px 0 8px 20px;
}

#about03 td,
#about04 td {
	padding-left: 20px;
}

.topline{ 
border-top: 1px solid #e0e0e0;
 }

.bothline{
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #e0e0e0;
 }

#map{
}

#map ul{
	margin-top: 30px;
	line-height: 1.6em;
	margin-bottom: 30px;
}

.mark{
	background: url(../images/listmark02.gif) no-repeat 0px 6px;
	padding-left: 15px;
}

.nonestyle{
	padding-left: 15px;
}


/*コースのご案内
------------------------------------*/
ul.curriculumNav li {
	position: relative;
	width: 640px;
	height: 90px;
}

	li.curriculumNav01 { background: url(../images/curriculum_course_navi01.gif) no-repeat; }
	li.curriculumNav02 { background: url(../images/curriculum_course_navi02.gif) no-repeat; }
	li.curriculumNav03 { background: url(../images/curriculum_course_navi03.gif) no-repeat; }
	li.curriculumNav04 { background: url(../images/curriculum_course_navi04.gif) no-repeat; }
	li.curriculumNav05 { background: url(../images/curriculum_course_navi05.gif) no-repeat; }
	li.curriculumNav06 { background: url(../images/curriculum_course_navi06.gif) no-repeat; }
	li.curriculumNav07 { background: url(../images/curriculum_course_navi07.gif) no-repeat; }
	li.curriculumNav08 { background: url(../images/curriculum_course_navi08.jpg) no-repeat; }
	li.curriculumNavEvent { background-color: #f9f7ef; }

	ul.curriculumNav li ul li {
		position:absolute;
	}
	
		ul.curriculumNav li ul li.curriculumNavPic {
			top: 10px; left: 10px;
		}
		ul.curriculumNav li ul li.curriculumNavTitle {
			top: 18px; left: 130px;
			width: 320px;
			font-size: 18px;
			font-weight: bold;
			color: #ff6c20;
		}
		
		ul.curriculumNav li ul li.curriculumNavTxt {
			top: 45px; left: 130px;
			width: 320px;
			font-size: 12px;
			line-height:1.5;
		}
		
		ul.curriculumNav li ul li.curriculumNavTime {
			top: 20px; right: 10px;
			text-align: right;
			width: 300px;
		}
		
		ul.curriculumNav li ul li.curriculumNavSyosai {
			top: 55px; left: 520px;
			width: 110px;
			height: 25px;
 		}
		
		ul.curriculumNav li ul li.curriculumNavSyosai a {
			display: block;
			width: 110px;
			height: 25px;
			background: url(../images/curriculum_course_syosaibtn.gif) no-repeat 0 0;
			text-indent: -9999px;
		}
		
		ul.curriculumNav li ul li.curriculumNavSyosai a:hover {
			background-position: 0 -25px;
		}
		

/*料金について
------------------------------------*/
.price th,
.price td {
	font-size: 12px;
	text-align: center;
	border-bottom: 1px solid #CCC;
}
.price th.blank {
	background-color: #fff;
}
.price td {
	width: 60px;
	padding: 5px 0;
}
.price th {
	color: #FFF;
	font-weight: bold;
	text-align: center;
	background-color: #ff6c20;
	border-left: 1px solid #fff;
	padding: 10px 0;
}
.price th.pricethl {
	color: #333;
	background-color: #e7e2ce;
	border-bottom: 1px solid #fff;
}
.price td.paintedtd {
	background-color: #f9f7ef;
}
.price th.gessyath{
	width: 270px;
}

/*料金について
------------------------------------*/
th.experiencethl {
	background-color: #f9f7ef;
	padding: 15px 0 15px 20px;
	color: #333;
	text-align: left;
}
td.experiencetd {
	width: 480px;
	padding: 15px 0 15px 20px;
	line-height: 1.6;
	text-align: left;
}
.experiebtn {
	width: 640px;
	height: 42px;
	background-color: #f9f7ef;
	text-align: center;
	padding: 15px 0px;
}

/*よくある質問について
------------------------------------*/
ul.faqarea {
	padding: 20px 15px 10px 15px;
	background-color: #f9f7ef;
}
ul.faqarea li {
	background: url(../images/faq_qicon.gif) no-repeat left center;
	height: 20px;
	line-height: 20px;
	padding: 0 0 0 30px;
	margin-bottom: 10px;
}
dl.ans dt {
	display: block;
	background: url(../images/faq_qicon.gif) no-repeat left center;
	height: 20px;
	line-height: 20px;
	padding: 0 0 0 30px;
	margin-left: 15px;
	margin-bottom: 10px;
}
dl.ans dd {
	background: url(../images/faq_aicon.gif) no-repeat left top;
	line-height: 1.6;
	padding: 0 0 10px 30px;
	margin-left: 15px;
	margin-bottom: 20px;
}


/*セカンドCSS追加120828*/
#privacy {
	margin:20px auto;
}

#privacy dt {
	font-size:1.1em;
}

#privacy dd {
	margin-bottom:2em;
	padding:1em 0 1em 1em;
	border-bottom:1px dotted #CCC;
}

#privacy ul {
	margin:10px auto;
	line-height:1.6;
}

#privacy li {
	list-style:inside disc;
}


.TitleStyle001 {
	font-weight:bold;
	font-size:1.1em;
	padding:0.2em 0 0.2em 0;
	border-bottom:1px dotted #ff6c20;
}

.TitleStyle001 a {
	color:#333;
}

.TitleStyle002 {
	padding:0.2em 0 0.2em 0.8em;
	background:url(../images/listmark02.gif) 0 55% no-repeat;
}

.sitemapList {
	margin:10px 0 20px 20px;
}

.sitemapList li {
	padding-left:0.8em;
	line-height:1.8;
	background:url(../images/listmark02.gif) 0 55% no-repeat;
}

.sitemapList a {
	color:#333;
}

#sitemapListL {
	float:left;
	width:300px;
}
#sitemapListR {
	float:right;
	width:300px;
}

.bold {
	font-size:0.85em;
	font-weight:bold;
}

.contactTable {
	width:620px;
	margin:0 auto;
}

.contactTable th {
	font-weight:bold;
	line-height:1.6;
}

.contactTable th,
.contactTable td {
	padding:10px;
	border-bottom:1px dotted #999;
}

#cTableHead {
	text-align:center;
}

.borderEnd {
	border:none !important;
}

.contactTable em {color:#F00;}

#formBtn {
	text-align:center;
}
#formBtn input {
	text-align:center;
}

.checkBtn {
	border:none;
	width:180px;
	height:40px;
	text-indent:-9999px;
	cursor:pointer;
	background:url(../images/check_btn.jpg) 0 0 no-repeat;
}
	.checkBtn:hover {
		opacity:0.8;
		filter: alpha(opacity=80);
	}

.inputTxt {
	width:300px;
}

.textarea {
	width:300px;
	height:100px;
}

/*タイムテーブル
------------------------------------*/
#timetable td {
	text-align: center;
	vertical-align: middle;
	border: solid 1px #ccc;
}
#timetable th {
	color: #fff;
	background-color: #ff6c20;
	text-align: center;
	border: solid 1px #fff;
}
#timetable th.blank {
	background-color: #fff;
	padding: 10px 0 10px 0;
}
table#timetable {
	font-size: 11px;
	line-height: 1.6;
}
table#timetable th.time {
	color: #fff;
	background-color: #ff6c20;
	padding: 45px 0 45px 0;
}
table#timetable th.week {
	width: 78px;
	padding: 15px 0 15px 0;
}

/*生徒の声
------------------------------------*/
.starea {
	position: relative;
	width: 640px;
	height: 130px;
	background-color: #f9f7ef;
}
.starea dl dt {
	position: absolute;
	top: 20px; left: 130px;
	display: block;
	width: 490px;
	height: 20px;
	background: url(../images/voice_dot.gif) repeat-x;
}
.starea dl dd.stpic {
	position: absolute;
	top: 20px; left: 20px;
}
.starea dl dd.stvoice {
	position: absolute;
	top: 50px; left: 130px;
	width: 490px;
	height: 70px;
	font-size: 12px;
	line-height: 1.6;
}

/*一口メモバックナンバー
------------------------------------*/
.memoarea dl dt {
	display: block;
	height: 31px;
	padding: 0 0 0 20px;
	background: url(../images/memo_subheader.gif);
	line-height: 31px;
	font-weight: bold;
}
.memoarea dl dd.memopic {
	width: 108px;
	height: 98px;
	padding: 0 20px 0 0;
}
/*goodspage
------------------------------------*/
.goodsarea dl dt {
	display: block;
	height: 31px;
	padding: 0 0 0 20px;
	background: url(../images/memo_subheader.gif);
	line-height: 31px;
	font-weight: bold;
}
.goodsarea dl dd.memopic {
	width: 230px;
	height: 155px;
	padding: 0 20px 0 0;
}
/*サイトマップページ
------------------------------------*/
.sitemaptxt {
	line-height: 3;
}
.sitemaptxt ul li{
	line-height: 2.6;
}



/*130312献立PDF用追記
------------------------------------*/
span.btnSchedule {

	z-index:100;
	display:block;
	padding:1px;
	font-size:0.9em;
	border:1px solid #FF6C20;
	top:9px;
	right:0;
	_width:170px/*IE6*/;
}
span.btnSchedule a {
	display:block;
	padding:0 0.3em;
	height:18px;
	line-height:18px;
	color:#fff;
	text-align:center;
	background:#FF6C20;
	text-decoration:none;
}
span.btnSchedule a:hover {
	opacity:0.75; filter:alpha(opacity=75); -webkit-transition:opacity 0.3s ease; -moz-transition:opacity 0.3s ease; transition:opacity 0.3s ease;
}


/*140226コース料金追記
------------------------------------*/
#tbl-renew-price tbody th {
	color: #333;
	background-color: #e7e2ce;
	border-bottom: 1px solid #fff;
}

#tbl-renew-price tr.course-name td {text-align:center;}
#tbl-renew-price td.bgColor-td {background-color:#f9f7ef;}

a.contact {
  display: block;
  margin: 10px auto;
}

a.contact span {
  display: block;
  font-size: 13px;
}

a.contact:first-of-type {
  background: #e02f32;
  color: #fff;
  position: relative;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  -webkit-box-shadow: 0 3px 0 #b32628;
  box-shadow: 0 3px 0 #b32628;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  text-decoration: none;
  padding: 15px 10px 10px 10px;
  font-size: 20px;
  font-weight: bold;
}

a.contact:first-of-type:hover {
  background: #e34548;
  -webkit-box-shadow: 0 3px 0 #a9191c;
  box-shadow: 0 3px 0 #a9191c;
}

a.contact:first-of-type:active {
  top: 3px;
  -webkit-box-shadow: none;
  box-shadow: none;
}


.m2m {
  font-size: 15px;
  font-weight: bold;
}

.m2mt1 {
padding: 0.5em;/*文字周りの余白*/
color: #494949;/*文字色*/
background: #fffaf4;/*背景色*/
border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
font-size: 15px;
font-weight: bold;
line-height: 30px;
width: 100%;
}

.m2mt2{
position: relative;
background: #dfefff;
box-shadow: 0px 0px 0px 5px #dfefff;
border: dashed 2px white;
padding: 0.2em 0.5em;
color: #454545;
}

.m2mt2:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #a8d4ff;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #000000;
    background: #ffebe9;
    border-left: solid 2px #ff7d6e;
line-height: 20px;
}
.box2 p {
    margin: 0; 
    padding: 0;
}


.box1 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #000000;
    background: #ffebe9;
    border-top: solid 10px #ff7d6e;
line-height: 20px;
}
.box1 p {
    margin: 0; 
    padding: 0;
}

div.imagebox {
   border: 2px dashed #ffa500; /* 枠線 */
   background-color: #ffffe0;  /* 背景色 */
  width: 198px; /* 横幅 */
   float: left; /* 左に配置 */
   margin: 5px; /* 周囲の余白 */
}
p.image, p.caption {
   text-align: left; /* 中央寄せ */
   margin: 5px;        /* 余白・間隔 */
}
p.caption {
   font-size:90%;  /* 文字サイズ */
   color: #000000; /* 文字色 */
line-height: 15px;
}

.m2mline {
line-height: 20px;
}

.menu-rows {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* メニュー同士の横間隔 */
}

.menu-row {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;  /* 上下の写真同士のスペース */
}

/* 既存のCSS */
.menu-item {
    display: flex;
    align-items: flex-start;
}
.content-wrap {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
}
.menu-text {
    margin-left: 5px;  /* 画像とテキストの間隔 */ 
}
/* マウスオーバーテキスト設定 */
/* General style for hoverText */
/* スマホの場合、hoverTextを常に非表示に */
.is-mobile .hoverText {
  display: none !important;
}

.hoverText {
  display: none;
  position: absolute;
  top: 50%;  /* 縦位置を親要素の中心に */
  left: 50%;  /* 横位置を親要素の中心に */
  transform: translate(-50%, -50%);  /* 自身を中心に持ってくる */
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 5px;
  font-size: 10px;
  width: 60px;;  /* 幅は内容に応じて自動調整 */
  text-align: center;
}

.smallImageWrapper {
  position: relative;
}
.smallImageWrapper:hover .hoverText {
  display: block;
}



.hidden { display: none; }
.imageModal {
    position: fixed;
    top: 200px;
    left: 300px;
    width: 100%;
    height:100%;
    z-index: 100;  /* 追加 */
  pointer-events: none; /* 追加 */
}
.close-btn {
    position: absolute;
    left: 280px;
    font-size: 24px;
    cursor: pointer;
    background-color: rgba(255,255,255,0.6);
    z-index: 101;  /* 追加 */
}
.largeImage {
    width: 300px;
    height: auto;
    cursor: pointer;  /* 追加 */
}
.imageCaption {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 5px;
    font-size: 12px;
  width: 290px;  /* 画像の幅に合わせる */
  word-wrap: break-word;  /* 単語を折り返し */
  white-space: pre-line; /* 追加 */
}
.smallImage {
    cursor: pointer;  /* 追加 */
    /* 他のCSSプロパティ */
    height: 84px;
}
.largeImage, .imageCaption, .close-btn {
  pointer-events: auto; /* 追加 */
}
.date-range {
    margin-bottom: 5px; /* 日付と画像の間のスペース */
}
.spacer {
    height: 20px; /* これは日付と画像の間のスペースと同じ高さに設定します */
}
a.anchor{
    display: block;
    padding-top: 250px;
    margin-top: -250px;
}

.box26 {
    position: relative;
    margin: 2em 0 0 2em;
    padding: 1.0em 1em;
    border: solid 2px #FFBB00;
    border-radius: 8px;
    width: 80%;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -10px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 16px;
    background: #FFF;
    color: #FFBB00;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}

a.anchor2{
    display: block;
    padding-top: 250px;
    margin-top: -250px;
}


/* Media Queriesでスマホ対応 */
@media (max-width: 768px) {
    .menu-item {
        flex-direction: column;
        align-items: center;
        min-height: auto;
        overflow: hidden;  /* 追加 */
    }
    .txt2 {
        margin-left: 0; 
        margin-top: 5px;
        font-size: 0.8em;
    }
    .smallImage {
        width: 300px;  /* あるいは元のサイズの1.5倍 */
        height: 150px;
        object-fit: cover;  /* アスペクト比を維持 */
        max-width: 100%;  /* 追加 */
    }
}