@charset "utf-8";
/* CSS Document */

/*--　Base  --*/
.container {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
.pc{
	display: block;
}
.sp{
	display: none;
}

/*背景*/
.bg_white{
	background: #fff;
}

/*フォント*/
.mincho{
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

/*フォントカラー*/
.white{
	color: #fff;
}
.gray{
	color: #9fa0a0;
}
.red{
	color: #b7281e;
}

/*配置系*/
.center{ text-align: center; }
.right { text-align: right; }
.left  { text-align: left; }

.top   { vertical-align: top; }
.bottom{ vertical-align: bottom; }
.middle{ vertical-align: middle; }

.floatL{ float: left; }
.floatR{ float: right; }
.clear  { clear: both; }

/*マージン系*/
/* --- margin-top --- */
.mt0{ margin-top: 0; }
.mt10{ margin-top: 10px; }
.mt20{ margin-top: 20px; }
.mt30{ margin-top: 30px; }
.mt40{ margin-top: 40px; }
.mt50{ margin-top: 50px; }
.mt60{ margin-top: 60px; }
.mt70{ margin-top: 70px; }
.mt80{ margin-top: 80px; }
.mt90{ margin-top: 90px; }
.mt100{ margin-top: 100px; }


/* --- margin-bottom --- */
.mb0{ margin-bottom: 0; }
.mb10{ margin-bottom: 10px; }
.mb20{ margin-bottom: 20px; }
.mb30{ margin-bottom: 30px; }
.mb40{ margin-bottom: 40px; }
.mb50{ margin-bottom: 50px; }
.mb60{ margin-bottom: 60px; }
.mb70{ margin-bottom: 70px; }
.mb80{ margin-bottom: 80px; }
.mb90{ margin-bottom: 90px; }
.mb100{ margin-bottom: 100px; }


/* --- padding-top --- */
.pt0{ padding-top: 0; }
.pt10{ padding-top: 10px; }
.pt20{ padding-top: 20px; }
.pt30{ padding-top: 30px; }
.pt40{ padding-top: 40px; }
.pt50{ padding-top: 50px; }
.pt60{ padding-top: 60px; }
.pt70{ padding-top: 70px; }
.pt80{ padding-top: 80px; }
.pt90{ padding-top: 90px; }
.pt100{ padding-top: 100px; }


/* --- padding-bottom --- */
.pb0{ padding-bottom: 0; }
.pb10{ padding-bottom: 10px; }
.pb20{ padding-bottom: 20px; }
.pb30{ padding-bottom: 30px; }
.pb40{ padding-bottom: 40px; }
.pb50{ padding-bottom: 50px; }
.pb60{ padding-bottom: 60px; }
.pb70{ padding-bottom: 70px; }
.pb80{ padding-bottom: 80px; }
.pb90{ padding-bottom: 90px; }
.pb100{ padding-bottom: 100px; }

/*アンカー時のヘッダー部のマージン調整*/
*[anchorlink="true"] {
	margin-top: -50px !important;
	padding-top: 50px !important;
}

@media (max-width: 740px) {
.container {
	width: 96%;
	margin: 0 auto;
}
.pc{
	display: none;
}
.sp{
	display: block;
}

.mt30{ margin-top: 20px; }
.mt40{ margin-top: 20px; }
.mt50{ margin-top: 25px; }
.mt60{ margin-top: 30px; }
.mt70{ margin-top: 35px; }
.mt80{ margin-top: 40px; }
.mt90{ margin-top: 40px; }
.mt100{ margin-top: 40px; }

.mb30{ margin-bottom: 20px; }
.mb40{ margin-bottom: 20px; }
.mb50{ margin-bottom: 25px; }
.mb60{ margin-bottom: 30px; }
.mb70{ margin-bottom: 35px; }
.mb80{ margin-bottom: 40px; }
.mb90{ margin-bottom: 40px; }
.mb100{ margin-bottom: 40px; }

.pt30{ padding-top: 20px; }
.pt40{ padding-top: 20px; }
.pt50{ padding-top: 25px; }
.pt60{ padding-top: 30px; }
.pt70{ padding-top: 35px; }
.pt80{ padding-top: 40px; }
.pt90{ padding-top: 40px; }
.pt100{ padding-top: 40px; }

.pb30{ padding-bottom: 20px; }
.pb40{ padding-bottom: 20px; }
.pb50{ padding-bottom: 25px; }
.pb60{ padding-bottom: 30px; }
.pb70{ padding-bottom: 35px; }
.pb80{ padding-bottom: 40px; }
.pb90{ padding-bottom: 40px; }
.pb100{ padding-bottom: 40px; }

.floatL{ float: none; }
.floatR{ float: none; margin: 15px 0 0 0; }

*[anchorlink="true"] {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
}


/*--　header  --*/
header{
	padding: 10px 0;
	height: 100px;
}
header .container{
	position: relative;
}
header .container h1{
	position: absolute;
	top: 30px;
	left: 0;
	font-size: 12px;
}
header .container .logo{
	position: absolute;
	top: 10px;
	left: 390px;
}
header .container .tel{
	position: absolute;
	top: 0;
	right: 0;
}

@media (max-width: 740px) {
header{
	padding: 10px 0;
	height: 85px;
}
header .container .logo{
	position: absolute;
	top: 0;
	left: 10px;
}
}

/*--　gnav  --*/
nav{
	position: relative;
	background: #000;
	width: 100%;
	border-bottom: #464646 solid 1px;
}
nav.fixed {
    position: fixed;
    top: 0;
	z-index: 19999;
}
nav ul li{
	float: left;
	height: 60px;
}


/*--　mainvisual  --*/
.mainvisual{
	height: 490px;
	background-position: center top;
	background-size: cover;
}
.mainvisual .copy{
	width: 120px;
	margin: 0 auto;
	padding: 90px 0 0 0;
}


/*--　description  --*/
.description .bg_image{
	background: url(../images/img_sub.jpg) no-repeat right top;
	padding: 45px 0;
	height: 310px;	
}
.description .bg_image h3{
	margin: 0 0 25px 0;
}

@media (max-width: 740px) {
.description .bg_image{
	height: auto;
	background: none;
}
.description .bg_image h3 img{
	width: 100%;
	max-width: 485px;
}
}


/*--　menu  --*/
#menu .menu_title{
	background: url(../images/bg_menu.jpg) no-repeat  center top;
	background-size: cover;
	height: 260px;
	text-align: center;
	padding: 80px 0 0 0;
}
#menu p.setsumei{
	text-align: center;
	padding: 40px 0;
	font-size: 130%;
}
#menu dl dt {
	margin: 0 0 5px 0;
}
#menu dl dd {
	display:none;
	margin: 0 0 0 -30px;
}
#menu dl dd p.image{
	margin: 20px 0 0 30px;
}
#menu dl dd .menuBox{
	width: 300px;
	margin: 10px 0 0 30px;
	border-top: #323232 solid 1px;
	float: left;
}
#menu dl dd .menuBox p.name{
	width: 250px;
	padding: 5px 0;
	color: #fff;
	float: left;
	border-bottom: #323232 solid 1px;
}
#menu dl dd .menuBox p.name span{
	font-size: 80%;
}
#menu dl dd .menuBox p.name a{
	margin: 0 0 0 5px;
}
#menu dl dd .menuBox p.money{
	width: 50px;
	text-align: right;
	display: block;
	margin: 0;
	padding: 5px 0;
	color: #f6b877;
	float: right;
	border-bottom: #323232 solid 1px;
}

@media (max-width: 740px) {
#menu dl dt img {
	width: 100%;
}
#menu dl dd img.sp {
	width: 100%;
}
#menu dl dd {
	margin: 0;
}
#menu dl dd p.image{
	margin: 20px 0 10px 0;
}
#menu dl dd .menuBox{
	width: 100%;
	margin: 0;
	float: none;
}
#menu dl dd .menuBox p.name{
	width: 80%;
}
#menu dl dd .menuBox p.money{
	width: 20%;
}
}


/*--　course  --*/
#course .course_title{
	background: url(../images/bg_course.jpg) no-repeat  center top;
	background-size: cover;
	height: 260px;
	text-align: center;
	padding: 90px 0 0 0;
}
#course .w460{
	width: 460px;
}
#course hr.line{
	background-color: #323232;
	height: 1px;
	margin: 10px 0;
	border: none;
}
#course .menuBox .title{
	width: 32px;
	float: left;
}
#course .menuBox .text{
	width: 415px;
	float: right;
}
#course .menuBox .text ul li{
	margin: 0 0 3px 0;
	background: url(../images/icon_list.png) no-repeat left 50%;
	padding: 0 0 0 15px;
}
#course .menuBox .text ul li span{
	font-size: 80%;
}
@media (max-width: 740px) {
#course img{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}
#course .course_title img{
	width: inherit;
}
#course .menuBox{
	margin: 20px 0 0 0;
}
#course .w460{
	width: 100%;
}
#course .menuBox .title{
	width: 8%;
}
#course .menuBox .text{
	width: 90%;
}
}


/*--　info  --*/
#info{
}
#info .info_title{
	background: url(../images/bg_info.jpg) no-repeat  center top;
	background-size: cover;
	height: 275px;
	text-align: center;
	padding: 45px 0 0 0;
}
#info dl.infoText{
	width: 50%;
	float: left;
	font-size: 15px;
}
#info dl.infoText dt{
	width: 20%;
	float: left;
	color: #c3bbb3;
	margin: 0 0 20px 0;
}
#info dl.infoText dd{
	width: 80%;
	float: left;
	color: #fff;
	margin: 0 0 20px 0;
}
#info dl.infoText dd.tel{
	font-size: 150%;
	line-height: 1.3;
	font-weight: bold;
}
#info dl.infoText dd.tel span{
	display: block;
	font-size: 60%;
	font-weight: normal;
}
#info dl.infoText dd a{
	font-size: 80%;
	background: #b7281e;
	padding: 5px 10px;
	margin: 0 0 0 10px;
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	color: #fff;
	text-decoration: none;
}

#info #map{
	width: 100%;
	height: 370px;
}
#info p.button{
	padding: 35px 0;
	text-align: center;
}
#info p.button a{
	width: 270px;
	display: block;
	padding: 15px 0;
	background: #b7281e;
	margin: 0 auto;
	color: #fff;
	text-decoration: none;
}
#info p.button a span{
	background: url(../images/icon_link.png) no-repeat left 50%;
	padding: 0 25px;
	line-height: 25px;
}

@media (max-width: 740px) {
#info .bx-controls-direction{
	display: none;
}
#info dl.infoText{
	width: 100%;
	float: none;
}
#info dl.infoText dt{
	width: 25%;
	margin: 0 0 10px 0;
}
#info dl.infoText dd{
	width: 75%;
	margin: 0 0 10px 0;
}
#info dl.infoText dd a{
	display: block;
	width: 40%;
	margin: 0;
}
#info dl.infoText dd.tel a{
	display: inline;
	background: none;
	width: 100%;
}
}


/*--　topics  --*/
#topics .facebook{
	width: 520px;
	float: left;
}
#topics .facebook .leftBox{
	width: 50px;
	float: left;
}
#topics .facebook .rightBox{
	width: 460px;
	float: right;
}
#topics .store{
	width: 420px;
	float: right;
}
#topics .store .leftBox{
	width: 45px;
	float: left;
}
#topics .store .rightBox{
	width: 358px;
	float: right;
}
#topics .store .rightBox .storename{
	font-size: 120%;
}

@media (max-width: 740px) {
#topics .facebook{
	width: 100%;
	float: none;
}
#topics .store{
	width: 100%;
	margin: 20px 0 0 0;
	float: none;
}
#topics .facebook .leftBox,
#topics .store .leftBox{
	width: 100%;
	float: none;
}
#topics .facebook .rightBox,
#topics .store .rightBox{
	width: 100%;
	margin: 15px 0 0 0;
	float: none;
}
#topics .store .rightBox img{
	width: 100%;
	max-width: 358px;
}
}

/*--　pagetop  --*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
}
.pagetop a {
    display: block;
}
@media (max-width: 740px) {
.pagetop {
	width: 40px;	
    bottom: 10px;
    right: 10px;
}
.pagetop img{
	width: 100%;
}
}

/*--　copyright  --*/
.copyright{
	padding: 15px 0;
}



.newsPage{
	padding: 50px 0;
}
.newsPage ul li{
	border-bottom: #aaa8a8 solid 1px;
	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
}
.newsPage ul li span{
	padding: 0 0 0 30px;
}

@media (max-width: 740px) {
.newsPage ul li{
	border-bottom: #aaa8a8 solid 1px;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
}
.newsPage ul li span{
	display: block;
}
}


.nextPage{
	padding: 50px 0;
}
.nextPage h2{
	font-size: 150%;
	border-bottom: #aaa8a8 solid 1px;
	margin: 0 0 40px 0;
	padding: 0 0 10px 0;
}
@media (max-width: 740px) {
.nextPage h2{
	font-size: 120%;
	margin: 0 0 30px 0;
	padding: 0 0 5px 0;
}
}