@charset "utf-8";


/* ----------------------------------------------
	共通
---------------------------------------------- */
html{
	height:100%;
	font-size:10px;	/* 1rem = 10px */
}
body{
	height:100%;
	font-size:1.6rem;
	color:#333333;
}

a{
	color:#4d94a2;
	text-decoration:underline;
}
a:hover{
	color:#e388ab;
	text-decoration:none;
}
.rollover:hover {
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
}

button,input,textarea,
body{
	font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

i{
	display:inline-block;
	font-family:FontAwesome;
	font-style:normal;
	font-weight:normal;
}

/* -------------------------------------
	form初期設定
---------------------------------------- */
input[type="checkbox"],
input[type="radio"]{
	display:inline-block;
	margin:0 3px 0 0;
	vertical-align:middle;
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="email"],
input[type="password"]{
	border:1px solid #ccc;
	line-height:1.5;
	margin:0 0 3px 0;
	padding:5px 8px;
	max-width:100%;
}

textarea,
select{
	border:1px solid #ccc;
	line-height:1.5;
	margin:0 0 3px 0;
	padding:5px 8px;
}

textarea{
	resize:vertical;
}

label{
	display:inline-block;
	margin:0 0 0 0.2em;
	vertical-align:middle;
}

em,
strong{
	font-weight:bold;
}

del{
	text-decoration:line-through;
}

img {
	max-width: 100%;
}

b {
	font-weight: normal;
}

/* -------------------------------------
	汎用パーツ
---------------------------------------- */
.pc{
	 display:block;
}
.sp{
	display:none;
}
.tal {
	text-align:left;
}
.tar {
	text-align:right;
}
.tac {
	text-align:center;
}

.fl {
	float:left;
}

.fr {
	float:right;
}

.bold {
	font-weight: bold;
}

.clear {
	clear:both;
}

.underline {
	text-decoration: underline;
}

.inline_label label {
	margin-right:20px;
}

.attention {
	color:#da0000 ;
}

.caution {
	background:#ffd1d1;
}
.note {
	font-size:1.2rem;
}
.hide {
	display:none;
}
.show {
	display:block;
}

.bggray {
	background:#f4f4f4;
}



/* -------------------------------------
	item
---------------------------------------- */
.inner{
	padding: 0 30px;
}
.inner.-top{
	padding-top: 30px;
}
.inner.-bottom{
	padding-bottom: 30px;
}
.bese_table_area{
	margin-bottom: 20px;
}

.page_ttl{
	font-size: 2.4rem;
	text-align: center;
	color: #A67A48;
	margin-bottom: 30px;
}


.area{
	margin-bottom: 30px;
}





.copyright{
	font-size: 1.2rem;
	background: #71adb8;
	display: block;
	text-align: center;
	padding-top: 8px;
	padding-bottom: 6px;
	color: #fff;
}

/* base_table */
.base_table{
	width: 100%;
	border: 1px solid #e1e1e1;
}
.base_table th,
.base_table td{
	border-bottom: 1px dotted #e1e1e1;
	padding: 10px 15px;
}
.base_table tr:last-child th,
.base_table tr:last-child td{
	border-bottom: 0;
}


/* map */
.map_access_wrap{
}

.map{
	height: 330px;
	border: 1px solid #333;
}

.access .ttl{
	color: #4d7a82;
	font-weight: bold;
	margin-bottom: 6px;
}
.access dd{
	margin-bottom: 12px;
}
.tel a{
  color: #333;
  text-decoration: none;
}






.content.foot,
.content.foot .content_inner{
	background-color: #f3f3f3;
}


.foot_nav_wrap{
	padding-top: 12px;
}

.map_access_wrap.foot{
	margin-bottom: 30px;
}
.access_block .notes{
	font-size: 	1.2rem;
	color: #a31a30;
}

.blog_news{
	color: #4d7a82;
}
.blog_news .ttl{
	font-weight: bold;
}
.blog_news dt{
	border-top: 1px solid #8aa8ad;
	padding-top: 8px;
	margin-top: 8px;
	font-size: 1.4rem;
}
.blog_news dd:last-of-type{
	padding-bottom: 8px;
	border-bottom: 1px solid #8aa8ad;
}
.blog_news a{
	display: block;
	text-decoration: none;
}
.blog_news a:hover{
	text-decoration: underline;
}


.price .ttl{
	font-size: 2.2rem;
	border-bottom: 2px solid #aa999e;
	color: #aa999e;
	font-weight: bold;
	margin-bottom: 6px;
}

.price dd{
	font-size: 2rem;
	margin-bottom: 12px;
}
.price .name{
	display: inline-block;
	width: 400px;
}
.price .base_table{
	border: none;
}
.price .base_table th b{
	font-size: 2.1rem;
	display: inline-block;
	margin-right: 2px;
}
.price .base_table td{
	text-align: right;
	font-size: 1.8rem;
}
.price .base_table td b{
	font-size: 2.2rem;
	display: inline-block;
	margin-right: 2px;
}




.message{
	color: #a31a30;
	margin-bottom: 30px;
}
.message{
	text-align: center;
}
.message strong{
	border-bottom: 2px solid #a31a30;
	padding-bottom: 2px;
	margin-bottom: 8px;
	display: inline-block;
	font-weight: bold;
}


.transfer{
	color: #a31a30;
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 30px;
}

.footer-transfer{
	color: #a31a30;	
}

/* recruit */

.recruit_ttl:after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.57);
}
.recruit_ttl{
	position: relative;
	min-height: 280px;
	padding: 0 20px 20px 20px;
	background-image: url(../images/main05.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	margin-bottom: 40px;
}
.recruit_ttl p{
	position: relative;
	z-index: 10;
	padding-top: 60px;
	text-align: center;	
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: bold;
}







.logo_img{
	width: 88px;
	margin-bottom: 15px;
}




.link_site a{
	display: block;
	text-decoration: none;
	color: #555;
	font-weight: bold;
}
.link_site a:hover{
	color: #888;
}
.link_bnr,
.link_site_name{
	text-align: center;
	vertical-align: middle;
}







/* -------------------------------------
	必須マーク
---------------------------------------- */

.required_mark {
	display: inline-block;
	background:#fff;
	color:#da0000;
	border:solid 1px #da0000;
	font-size:1.0rem;
	padding:2px 5px ;
	text-align: center;
	border-radius: 4px;
	vertical-align: middle;
}

.required_cell ,
.required_cell {
	position: relative;
	padding-right:50px;
}

.required_cell .required_mark {
	position:absolute;
	right:8px;
	top:calc(50% - 10px);
}



.bnr_area{
	text-align: center;
	margin-bottom: 30px;
}
.bnr_area .ttl{
	font-weight: bold;
}
.bnr_area .url{
	margin-bottom: 10px;
}
.bnr_area ul{
	display: inline-block;
}
.bnr_area ul li{
	margin-right: 8px;	
	margin-bottom: 10px;
	text-align: left;
	display: inline-block;
}

/* -------------------------------------
	エラー文言
---------------------------------------- */

.error_area {
	background:#fcecec;
	border:solid 1px #da0000;
	padding:15px;
	color:#da0000;
	margin:20px 0;
}

.error_area .pre_message {
	font-size:1.6rem;
	font-weight: bold;
	margin:0 0 10px 0;
}

.error_area ul {
	margin:0 0 0 1em;
}

.error_area li {
	list-style: disc;
	line-height:1.4;
}

.inner_error {
	margin:5px 0 10px 0;
	color:#da0000;
	font-size:1.2rem;
}

.content_error {
	margin:10px 0 10px 1.5em;
}

.content_error li{
	color:#da0000;
	text-indent: 1em;
	font-weight: normal;
	font-size:1.4rem;
}

.content_error li:before{
	content:"\f071";
	font-family:FontAwesome;
	display: inline-block;
	margin:0 0.5em 0 -3.5em;
}


.message_block {
	background:#fffdec ;
	margin:20px 0;
	padding:20px ;
}
.message_block li {
	margin:0 0 10px 0 ;
}

.message_block li:first-child {
	margin:0  ;
}



/* -------------------------------------
	レイアウト初期設定
---------------------------------------- */
.container{
	min-height:100%;
	position:relative;
}

.content_inner {
	margin:auto;
	background-color: #fff;
}

/* -------------------------------------
	header
---------------------------------------- */
.header_inner{
	background-color: #fff;
}

/* -------------------------------------
	footer
---------------------------------------- */
.footer{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}

/* -------------------------------------
	content
---------------------------------------- */


.gnav .item{
	font-size: 	1.8rem;
}

.gnav .item a{
	display: block;
	text-decoration: none;
}

.concept{
	color: #A67A48;
	text-align: center;
	line-height: 1.8;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 20px;
}





.main_txt_blog_wrap{

}
.main_txt{
	color: #333;
}
.main_txt p{
	line-height: 1.6;
	margin-bottom: 12px;
}


.foot_nav a{
	text-decoration: none;
}


/* -------------------------------------
	パンくず
---------------------------------------- */
.breadcrumb{
}
.breadcrumb .inner{
	position:relative;
	width:960px;
	margin:0 auto;
}
.breadcrumb ol{
	padding:15px 0;
}
.breadcrumb ol li{
	float:left;
}
.breadcrumb ol li:before{
	font-family:FontAwesome , sans-serif;
	content:"\f105";
	margin:0 10px ;
}
.breadcrumb ol li:first-child:before{
	content:"";
	margin:0;
}
.breadcrumb ol li a{
	line-height:1.4;
}

/* -------------------------------------
	bxslider
---------------------------------------- */
.bx-wrapper{
	position: relative;
}
.bx-controls-direction{
	font-family: "FontAwesome";
}
.bx-prev,
.bx-next{
	font-size: 5rem;
	color: #333;
	text-decoration: none;
	position: absolute;
	top:calc(50% - 45px);
}
.bx-prev{
	display: none;
	left: -40px;
}
.bx-next{
	display: none;
	right: -40px;
}
.bx-viewport{
/* スライダーの親 */
	/*margin-bottom: 10px;*/
}
.bx-pager {
/* ページャーの親 */
display: none;
	text-align: center;
	letter-spacing: -.5em;
}
.bx-pager-item{
/* ページャーの各アイテム */
	display: inline-block;
	margin: 0 8px;
}
.bx-pager-link{
/* ページャーリンク部分（●になるところ） */
	text-indent: -9999px;
	display: block;
	width: 15px;
	height: 15px;
	text-decoration: none;
	background: #999;
	border-radius: 50%;
}
.bx-pager-link.active{
	background: #333;
}

/* -------------------------------------
	ページトップ
---------------------------------------- */
.pagetop{
	display:none;
	position:fixed;
	right:50px;
	bottom:50px;	
	z-index:5;
}
.pagetop a{
	background:#9cd1db;
	color:#fff;
	display:block;
	font-size:4rem;
	height:50px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
	width:50px;
}


/* -------------------------------------
	visual
---------------------------------------- */
.visual_area{
	position: relative;
	z-index: 1;
}
.visual{
	margin:0 auto;
	width:100%;	
}

/* -------------------------------------
	ellipsis
---------------------------------------- */
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* -------------------------------------
	Jquery
---------------------------------------- */
.hidden_area{
	display:none;
}



/* -------------------------------------
	モーダルボックス
---------------------------------------- */

.modalBoxContents {
	font-size:1.4rem;
	color:#333;
	text-align: left;
}

.modalBoxContents a {
	color:#da0000;
	text-decoration: underline;
}

.modalBoxContents .img_box {
	margin:0 20px 30px 0;
	float:left;
}

.modalBoxContents .img_box {
	overflow: hidden;
}

.popup_close_box {
	text-align: center;
	margin:30px 0 ;
}

.overLayer {
	 display:none;
	 background:#000;
	 opacity:0.7;
	 width:100%;
	 height:100%;
	 z-index:999;
	 position:fixed;
	 top:0;
	 left:0;
}

.modalBox {
	 background:#fff;
	 padding:30px;
	 width:920px;
	 height:80%;
	 border:solid 5px #004fa9;
	 border:solid 5px #999;
	 overflow:scroll;
	 z-index:2000;
	 position:fixed;
	 text-align: center;
}

.modalBox .close {
	 background:#2f2f2f;
	 width:30px;
	 height:30px;
	 line-height:30px;
	 color:#fff;
	 cursor:pointer;
	 text-align:center;
	 font-size:200%;
	 position:absolute;
	 top:0px;
	 right:0px;
}




.popup_close_btn.inline {
	background:#000;
	min-width:200px;
	line-height:40px;
}


.sns_area{
}
.sns_area a{
	display: inline-block;
	color: #657786;
	font-size: 1.8rem;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}
.sns_area a:hover{
	text-decoration: underline;
}
.sns_area .twitter{
	background-image: url(../images/ico_sns_tw.png);
}



.special_course_name{
	color: #da1515;
	font-weight: bold;
}

.price_attention_text{
	text-align: center;
	font-size: 1.6rem;
	padding-top: 20px;
}


/* -------------------------------------
	店舗引越し時のメッセージ
---------------------------------------- */

.news_message{
	background-color: #ffffa7;
	text-align: center;
	font-size: 1.8rem;
	padding: 20px 0;
	margin-top: 30px;
	margin-bottom: 60px;
	border-radius: 20px;
}

.news_message .message_text{
	padding: 0 0 16px 0;
}

.news_message .address_text{
	padding: 20px 0;
	margin: 0 0 16px 0;
	display: inline-block;
}




.extraordinary_message{
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	padding: 20px 0;
	margin-bottom: 30px;
	color: #a31a30;
}

.message_text.nomal{
	font-weight: normal;
}


/* -------------------------------------
	clearfix
---------------------------------------- */
div:before,div:after,
dl:before,dl:after,nav:before,nav:after,
section:before,section:after,
header:before,header:after,footer:before,footer:after,
ol:before,ol:after,ul:before,ul:after,	/* ←Flexのときは消す */
.cf:before,.cf:after{
	content:"";
	display:table;
}
nav:after,section:after,header:after,footer:after,
ol:after,ul:after,dl:after,div:after,	/* ←Flexのときは消す */
.cf:after{
	clear:both;
}
