@charset "utf-8";



/************************************************

	Font

************************************************/

body {
	font-family:"Hiragino Mincho ProN","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.4;
	color:#494943;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

/*--------------------

	link

--------------------*/

a:link,
a:visited {
	color: #333;
	text-decoration:none;
}

a:hover {
	color: #333;
}

/*#contents a:hover img {
    opacity: 0.7;
}*/
img{
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
/************************************************

	Layout

************************************************/

/*--------------------
	Container
--------------------*/
#container {
	text-align:center;
	position: relative;
	/*background: #0E1313;*/
}

/*--------------------
	Main Visual
--------------------*/
#mv_wrap {
	background: #0E1212;
	margin-top: 90px;
}
#mv {
    margin: 0 auto;
    width: 100%;
    position: relative;
    overflow: hidden;
}
#mv ul {
    width: 100%;
    overflow: hidden;
    position: relative;
}
#mv ul li {
    top: 0;
    left: 0;
    width: 100%;
    position: absolute;
}
#mv ul li img {
    width: 100%;
}
 #mv ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
#mv ul {
    display: inline-block;
    overflow: hidden;
}	
/*#main_visual {
	position: relative;
	left: 50%;
	width: 100%;
	margin: 95px 0 0 -50%;
	background-color: #0E1312; 
}

#main_visual img:first-child{
	position: absolute;
}*/

/*--------------------
	Header
--------------------*/
#header {
	background: url(../images/bg_header.png) left bottom repeat-x;
	color: #333;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 9999;
	height: 100px;
	text-align: left;
}
#header_inner {
	max-width: 1050px;
	margin: 0 auto;
	position: relative;
}
#header_txt {
	font-size: 12px;
	position: absolute;
	margin: 6px 0 6px 10px;
	font-weight: normal;
}
#logo img {
	float: left;
	margin: 39px 85px 15px 10px;
	width: 203px;
}
#gnav {
	position: absolute;
  	right: 10px;
}
#gnav li {
	float:left;
	list-style: none;
	margin: 51px 64px 0 0;
}
	#gnav li.otoriyose {
	margin: 37px 0 0 0;

	}
#h_right ul {
	position: absolute;
	right: 120px;
	top: 3px;
}
#h_right li {
	float: left;
	background: url(../images/ico_arrow01.png) left center no-repeat;
	background-size: 4px 5px;
	padding-left: 10px;
	margin-right: 20px;
}
	#h_right li img {
		vertical-align: middle;
	}
#sns-btn {
	position: absolute;
	right: 10px;
	top: 3px;
}
/*--------------------
	Page top
--------------------*/

.to_page_top{
		margin:0 auto;
		width:100%;
}

	.to_page_top p{
		text-align:right;
	}

/*--------------------
	breadcrumb
--------------------*/
#breadcrumb {
	padding: 0 10px;
	max-width: 1050px;
	margin: 0 auto;
}
#breadcrumb ul {
	margin: 10px 0 30px;
	font-size: 80%;
}
#breadcrumb li {
	float: left;
	margin-right: 5px;
}
#breadcrumb li a {
  margin-right: 5px;
  text-decoration: underline;
}
	#breadcrumb li a:hover {
	  text-decoration: none;
	}
/*--------------------
	totop
--------------------*/
#totop {
	position: fixed;
	z-index: 2;
	right: 20px;
	bottom: 50px;
}
/*--------------------
	Footer
--------------------*/
#footer {
	clear: both;
	background: #F0EEE8;
	padding-top: 5px;
	text-align: left;
	color: #FFF;
	border-top: 1px solid #E0DCD4;
	font-size: 80%;
}
#footer_inner {
	max-width: 1030px;
	padding: 0 10px;
	margin: 10px auto 30px;
}
	#footer_inner p {
		margin-bottom: 20px;
		width: 245px;
	}

#footer_inner ul {
	display: table;
}
	#footer_inner li {
		width: 240px;
		display: table-cell;
		padding-right: 23px;
	}
	#footer_inner li a {
		display: block;
		background: #FFF;
		padding: 5px 10px;
		box-sizing: border-box;
	}
	#footer_inner li span {
		display: block;
		padding: 5px 0 0;
		margin-top: 6px;
		text-align: center;
		border-top: 1px dotted #CCC;
	}
		#footer_inner li.last {
			padding-right: 0;
			border-right: none;
		}
#footer_link {
	border-top: 1px solid #E0DCD4;
	max-width: 1030px;
	margin: 0 auto 30px;
	padding-top: 30px;
	text-align: center;
}
	#footer_link li {
		display: inline;
		padding: 0 20px;
	}
	#footer_link li a {
		background: url(../images/ico_arrow01.png) no-repeat left center;
		background-size: 5px 7px;
		padding-left: 12px;
	}
	#footer_link li a:hover {
		text-decoration: underline;
	}
#copy {
	padding: 15px 0;
	text-align: center;
	font-size: 80%;
	width: 100%;
	background: #181818;
	clear: both;
	letter-spacing: 0.2em;
}
/*--------------------
	Contents
--------------------*/
#contents {
	position: relative;
	width: 100%;
}
#contents_inner {
	clear: both;
	margin: 0 auto;
	max-width: 1050px;
	text-align: left;
	padding: 0 10px 30px;
}
/*#ttl {
	background: #0B0F0F;
	margin: 65px 0 0;  
}*/
#ttl {
	margin: 95px 0 0;
	/*background: #F9F8F6;
	border-bottom: 1px solid #EAE6DD;*/
	background: url(../images/bg01.png) left bottom repeat-x;
	padding: 20px;
	font-size: 200%;
	font-weight: normal;
	letter-spacing: 0.1em;
}

/*--------------------
	menu
--------------------*/
nav#nav_menu  {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
#nav_menu ul {
	float:left;
	left:50%;
	position:relative;
}
#nav_menu li {
	float:left;
	left:-50%;
	position:relative;
	margin-right: 10px;
}
	#nav_menu li:last-child {
		margin-right: 0;
	}
#nav_menu_tab {
	margin: 10px 20px 20px;
}
#nav_menu_tab ul {
	display: table;
	overflow: hidden;
	width: 100%;
	border-right: 1px solid #D7D1C6;
}
	#nav_menu_tab li {
		display: table-cell;
		text-align: center;
		width: 16%;
		box-sizing: border-box;
		border: 1px solid #D7D1C6;
		border-right: none;
		vertical-align: middle;
	}
		#nav_menu_tab li a {
			padding: 15px 5px;
			display: block;
		}
	#nav_menu_tab li:hover, #nav_menu_tab li.active {
		background: #AF1D36;
	}
	#nav_menu_tab li:hover a, #nav_menu_tab li.active a {
		color: #FFF;
	}
	#nav_menu_tab li:first-child, #nav_menu_tab li.active:first-child a {
		border-radius: 5px 0 0 5px;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
	}
	#nav_menu_tab li:last-child, #nav_menu_tab li.active:last-child a, #nav_menu_tab ul {
		border-radius: 0 5px 5px 0;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
	}

#tab02, #tab03, #tab04, #tab05,#tab06 {
	display: none;
}
.bx_menu {
	border-top: 1px solid #D7D1C6;
	margin-top: -1px;
	position: relative;
	padding: 40px 0;
}
.ttl_menu {
	border-bottom: 1px solid #333;
	text-align: center;
	margin: 0 0 50px 0;
	position: relative;
}
	.ttl_menu img {
		position: relative;
		top: 13px;
		text-align: center;
		width: 165px;
		height: auto;
		padding: 0 30px;
		background: #FFF;
	}
		.bx02 .ttl_menu img {
			background: #F7F6F2;
		}
	.ttl_food {
		margin: -15px 0 50px 0;
	}
		.ttl_food img {
			width: 140px;
			top: 18px;
		}
	.ttl_reisai img, .ttl_kanmi img {
		width: 65px;
	}
	.ttl_salad img, .ttl_lunch img {
		width: 88px;
	}
	.ttl_kodawari img, .ttl_shochu img {
		width: 219px;
	}
	.ttl_meshi img {
		width: 30px;
	}
	.ttl_drink img {
		width: 130px;
	}
	.ttl_course img {
		width: 155px;
	}
.ttl_motsu02 {
	max-width: 270px;
}
.txt_business01 {
	max-width: 240px;
}
.ttl_mentai02{
	max-width: 400px;
}
.ttl_shochu02 {
	max-width: 330px;
}

.ico_menu {
	margin-right: 5px;
	width: 47px;
	height: auto;
	position: relative;
	top: -2px;
}
	.large .ico_menu {
		position: relative;
		top: -4px;
	}
.img_course {
	float: right;
	margin: -30px 0 0 0;
	width: 28%;
	max-width: 132px;
}
.img_course02 {
	float: right;
	margin: -30px 0 0 0;
	width: 28%;
	max-width: 230px;
}
.bnr_motsu, .bnr_otoriyose {
	max-width: 350px;
	float: right;
	margin-bottom: 30px;
}
/*--------------------
	philosophy
--------------------*/
.img_philosophy {
	float: right;
	margin-left: 20px;
	max-width: 320px;
}
.img_philosophy2 {
	float: left;
	margin-right: 20px;
	max-width: 320px;
}
img.txt_philosophy {
	max-width: 500px;
	width: 96%;
}
.bx_philosophy {
	background: url(../images/bg02.gif) 0 0 repeat;
	padding: 8px;
	text-align: center;
	margin-bottom: 20px;
}
.bx_philosophy .inner {
	padding: 20px 13px;
	border: 1px dotted #A8A896;
}
.bx_philosophy .inner h2 {
	font-weight: normal;
	font-size: 150%;
	color: #594F35;
	margin:  0 0 10px;
}

/*--------------------
	recruit
--------------------*/

.viewer {
	overflow: hidden;
	margin-bottom: 20px;
}
/*--------------------
	News
--------------------*/

dl.li_news {
	margin: 15px 0;
	overflow: hidden;
	width: 100%;
	font-size: 80%;
}
	dl.li_news dt {
		clear: both;
		float: left;
		padding: 13px 0 13px;
		width: 160px;
	}
	dl.li_news dd a {
		border-bottom: 1px dotted #DADADA;
		padding: 13px 0 13px;
		margin-left: 0;
		display: block;
	}
		dl.li_news dd a:hover {
			background: #F5F5F5;
		}
	dl.li_news dt img {
		margin-left: 10px;
		margin-bottom: 0;
		width: 60px;
	}
.date {
	text-align: right;
	font-size: 80%;
	color: #999;
	margin: 15px 0;
}
.pager {
	position: relative;
	overflow: hidden;
	font-size: 90%;
}
.pager ul {
	float:left;
	left:50%;
	position:relative;
}
.pager li {
	float:left;
	left:-50%;
	position:relative;

}
	.pager li.active {
		background: #FFF;
		margin: 20px 10px 20px 0;
		text-align: center;
		padding: 8px 13px;
		border: 1px solid #DDD;
		border-radius: 20px;
	}
	.pager li a {
		display: block;
		background: #AF1D36;
		margin: 20px 10px 20px 0;
		text-align: center;
		padding: 8px 13px;
		color: #FFF;
		border: 1px solid #DDD;
		border-radius: 20px;
	}
.btn_news {
	margin-bottom: 20px;
	float: right;
	max-width: 105px;	
}
/*--------------------
	Wrapper
--------------------*/
#wrapper{
}

/*--------------------
	main
--------------------*/
#main {
	float: left;
	width: 61%;
	max-width: 640px;
	margin: 30px 0;
}

/*--------------------
	sub
--------------------*/
#sub {
	float: right;
	width: 35%;
	max-width: 360px;
	margin: 30px 0 30px 0;
}

.fixed {
    position: fixed;
    top: 100px;
    width: 100%;
    z-index: 10000;
}
/************************************************

	Layout Block

************************************************/
/*--------------------
	list
--------------------*/
ul.li_mb25 li {
	margin-bottom: 25px;
}
ul.li_bnr4 {
	width: 100%;
	display: table;
	margin-bottom: 20px;
}
ul.li_bnr4 li {
	display: table-cell;
	padding-right: 9px; 
}
ul.li_bnr4 li span {
	font-size: 12px;
	text-align: center;
	display: block;
	padding: 7px 0;
}
	ul.li_bnr4 li a {
		display: block;
		border: 1px solid #E0DCD4;
		box-sizing: border-box;
	}
	ul.li_bnr4 li:last-child {
		max-width: 25%;
		padding-right: 0; 
	}
ul.li_column2 li {
	float: left;
	width: 49%;
}
ul.li_column2 li img {
	width: 100%;
	max-width: 510px;
}

ul.li_column2 li.last, ul.li_column2 li.last img, ul.li_column2 li:nth-child(2n), ul.li_column2 li:last-child img {
	float: right;
}

ul.li01 {
	display: table;
	table-layout:fixed;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	}
ul.li01 li {
	display: table-cell;
	vertical-align: middle;
}
.li02 li {
/*	list-style: disc outside;
	padding: 5px 0;
	margin-left: 30px;
*/
	padding: 5px 0 5px 20px;
	background: url(../images/ico_list02.png) left 10px no-repeat;
}
.dl01 dt, .dl02 dt {
	padding: 10px 5px;
	clear: both;
	float: left;
}
.dl01 dd, .dl02 dd {
	padding: 10px 0;
	width: 100%;
	background: url(../images/bg01.png) left bottom repeat-x;
	text-align: right;
}
.dl03 dt {
	padding: 5px 0 10px 20px;
	background: url(../images/ico_list02.png) left 10px no-repeat;
	color: #141F4E;
	font-size: 110%;
}
.dl03 dd {
	margin-bottom: 20px;
	font-size: 90%;
}
.dl03 dd:last-child {
	margin-bottom: 0;
}
.li04 li {
	padding: 10px 0;
	width: 100%;
	background: url(../images/bg01.png) left bottom repeat-x;
}
.dl02 dd {
	padding: 40px 0 10px;
}
	.dl01 dd span.nowrap, .dl02 dd span.nowrap {
		font-size: 100%;
		white-space: nowrap;
	}
	.dl01 dt span, .dl01 dd span, .dl02 dt span, .dl02 dd span {
		font-size: 80%;
	}
.li_column3 {
	width: 100%;
}
.li_column3 li {
	float: left;
	width: 32%;
	margin-right: 2%;
	list-style-type: none;
}
.li_column3 li:last-child {
	margin-right: 0;
}
.li03 li a {
	display: block;
	padding: 10px 10px 10px 30px;
	border-bottom: 1px solid #E8E4DE;
	background: url(../images/ico_arrow01.png) 10px center no-repeat;
	background-size: 6px auto;
}
	.li03 li a:hover {
		background: #FAF9F7 url(../images/ico_arrow01.png) 10px center no-repeat;
		background-size: 6px auto;
	}
/*--------------------
	ttl
--------------------*/
.ttl_store, .ttl_business {
	border-bottom: 1px solid #333;
	text-align: center;
	margin: 0 0 30px 0;
	position: relative;
}
	.ttl_store img {
		position: relative;
		top: 10px;
		text-align: center;
		width: 140px;
		height: 20px;
	}
	.ttl_business img {
		position: relative;
		top: 25px;
		text-align: center;
		width: 142px;
		height: 69px;
		padding: 0 20px;
		background: #FFF;
	}
.ttl01 {
	font-weight: normal;
	padding: 15px 0;
	border-bottom: 1px solid #DDD;
	border-top: 1px solid #DDD;
	text-align: center;
	font-size: 120%;
}
.ttl02 {
	font-weight: normal;
	font-size: 120%;
	color: #AE1D35;
}
.ttl03 {
	font-weight: normal;
	border-left: 5px solid #B6344B;
	padding: 3px 10px;
	font-size: 110%;
}
.ttl05 {
	font-weight: normal;
	font-size: 150%;
	color: #594F35;
	margin: 5px 0 20px;
}
.ttl06 {
	font-weight: normal;
	padding: 0 0 3px 10px;
	border-bottom: 1px solid #99942F;
	border-left: 3px solid #99942F;
	text-align: center;
	font-size: 110%;
	text-align: left;
	color: #99942F;
}
.ttl04 a {
	padding: 15px 10px 15px 30px;
	border: 1px solid;
	display: block;
	color: #AF1D36;
	background: url(../images/ico_arrow02.png) 10px center no-repeat;
	background: url(../images/ico_arrow01.png) 10px center no-repeat\9;
	background-size: 12px auto;
	border-radius: 3px;
	box-sizing: border-box;
}
	.ttl04 a:hover {
		background: #FAF9F7 url(../images/ico_arrow02.png) 10px center no-repeat;
		background-size: 12px auto;
	}

.ttl07 a {
	padding: 15px 10px 15px 15px;
	border: 1px solid;
	display: block;
	color: #666666;
	background: url(../images/ico_arrow01.png) 10px center no-repeat;
	background-size: 12px auto;
	background: #FFFFFF;
	border-radius: 3px;
	box-sizing: border-box;
}
	.ttl07 a:hover {
		background-size: 12px auto;
	}


.large { font-size: 120%;}
.small { font-size: 80%;}
.red { color: #D22C49;}
.gray { color: #999;}
/*--------------------
	box
--------------------*/
.bx_news {
	border: 15px solid #EEE;
	padding: 20px;
	box-sizing: border-box;
}
.bx01 {
	border: 1px dotted #CCC;
	padding: 20px;
}
.bx02 {
	background: url(../images/bg02.gif) 0 0 repeat;
	padding: 20px 20px 0;
	margin-bottom: 30px;
}
/*--------------------
	store
--------------------*/
/*.gmap_wrap {
	max-width: 100%;
	margin: 30px auto;
	padding: 4px;
	border: 1px solid #CCC;  
}*/
/*.gmap {
	position: relative;
	padding-bottom: 30%;
	height: 0;
	overflow: hidden;
	margin-bottom: 30px;
 }
.gmap iframe,
.gmap object,
.gmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}*/
#user_gmap {
	width: 100%;
	height: 300px;
	margin-bottom: 30px;
}


#pc_list {
  width: 100%;
  height: 45px;
  margin: 0;
  list-style-type: none;
  border-radius: 10px;
  box-shadow: 3px 3px 3px #aaa;
  border: 2px solid #000000;
}


#pc_list li {
  width: 12%;
  float: left;
  padding: 0;
  margin: 0;
  text-align: center;
}
#pc_list li a {
  width: auto;
  font-size: 18px;
  font-weight: bold;
  margin: 0;
  padding: 12px 0;
  text-decoration: none;
  display: block;
}
#pc_list li a:hover {
  text-decoration: underline;
}



/*--------------------
	button
--------------------*/
a.btn01, .tbl01 td a.btn01 {
	color: #FFF;
	font-size: 80%;
	padding: 5px 0;
	background: #B6344B;
	/*background: -moz-linear-gradient(
		top,
		#616161 0%,
		#3b3b3b 50%,
		#2e2e2e);
	background: -webkit-gradient(
		linear, left top, left bottom,
		from(#616161),
		color-stop(0.50, #3b3b3b),
		to(#2e2e2e));
	border: 1px solid #000000;*/
	-moz-border-radius: 12px;
	-webkit-border-radius: 12px;
	border-radius: 12px;
	white-space: nowrap;
	text-decoration: none;
	display: block;
	text-align: center;
}
a.btn02, a.btn02_tel, span.btn02_tel {
	color: #5c4734;
	padding: 34px 10px;
	background: -moz-linear-gradient(top,#FFFDF7 0%,#ede8dc);
	background: -webkit-gradient(linear, left top, left bottom,from(#FFFDF7),to(#ede8dc));
	/*IE8,9*/
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#FFFDF7, endcolorstr=#ede8dc))";
	zoom: 1;
	/*IE10*/
	background: linear-gradient(to bottom, #FFFDF7, #ede8dc);
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: 1px solid #E0DCD4;
	padding-left: 30px;
	font-size: 150%;
	font-weight: normal;
	display: block;
	text-align: center;
	white-space: nowrap;
}

a.btn02_tel, span.btn02_tel {
	font-family: Arial;
	font-size: 240%;
	padding: 24px 10px;
}
@media screen and (min-width: 641px) {
	a.btn02_tel.pc {
		display: block;
	}
	a.btn02_tel.sp {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	.btn02_tel.pc {
		display: none;
	}
	.btn02_tel.sp {
		display: block;
	}
}
	a.btn02_tel .tel {
		width: 35px;
		position: relative;
		top: -13px;
		left: -9px;
	}
	a.btn02 .arrow {
		position: relative;
		top: -13px;
		left: -15px;
		width: 12px;
	}
.blank {
	width: 18px;
	height: auto;
	top: -5px;
	position: relative;
	left: 5px;
}
/*--------------------
	txt
--------------------*/
.txt01 {
	line-height: 2.0em;
}
.clr01 {
	color: #99942F;
}
/*--------------------
	table
--------------------*/
.tbl01 th, .tbl01 td, .tbl02 th, .tbl02 td {
	border: 1px solid #DDD;
	vertical-align: middle;
	padding: 10px 10px;
	font-size: 85%;
	box-sizing: border-box;
}
.tbl02 td.align_top {
	vertical-align: top;
}
.tbl01 th {
	background: #575757;
	color: #FFF;
	text-align: center;
}
	.tbl01 tr:nth-child(odd) {
		background: #F2F2F2;
	}

.tbl02 th {
	background: #FFFFFF;
	color: #333;
	text-align: center;
	border-right: 1px solid #C53737;
	font-weight: normal;
}
.tbl02 td a, a.u_line {
	text-decoration: underline;
}
	.tbl02 td a:hover, a.u_line:hover {
		text-decoration: none;
	}
	.tbl02 tr:nth-child(odd), .tbl03 tr:nth-child(odd), .tbl02 td.bg_gray {
		background: #F2F2F2;
	}
.tbl02 .li_column3 li {
	float: left;
	margin-right: 2%;
	width: 32%;
}
	.tbl02 .li_column3 li:last-child {
		margin-right: 0;
	}
.tbl03 th , .tbl03 td {
	border-top: 1px dotted #CCC;
	padding: 10px;
	font-weight: normal;
	font-size: 85%;
	vertical-align: middle;
	box-sizing: border-box;
}
.tbl03 {
	border-bottom: 1px dotted #CCC;
}

.tbl04 th, .tbl04 td{
	border: 0;
	vertical-align: middle;
	padding: 10px 10px;
	box-sizing: border-box;
}


/*--------------------
	section
--------------------*/
.section {
	position: relative;
	/*clear:both;*/
}
.column2 {
	width: 48%;
}
.w100per {
	width: 100%;
}
.w60per {
	width: 60%;
	max-width: 600px;
}
.w38per {
	width: 38%;
}
.w70per {
	width: 70%;
}
.w29per {
	width: 29%;
	max-width: 300px;
}
.w10per {
	width: 10%;
}
.w12per {
	width: 12%;
}
.w15per {
	width: 15%;
}
.w18per {
	width: 18%;
}
.w20per {
	width: 20%;
}
.w25per {
	width: 25%;
}
.w200 {
	width: 200px;
}
nav ul.li_store {
	display: none;
}
/*floating image*/
.fl_l {
	float: left;
}
.fl_r {
	float: right;
}
.tac {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.right {
	text-align: right;
}
.block {
	display: block;
}
/*Margin*/
.mt0{	margin-top:0px; }
.mt10 {	margin-top:10px; }
.mt15 { margin-top:15px; }
.mt20 { margin-top:20px; }
.mt30 { margin-top:30px; }
.mt40 { margin-top:40px; }
.mt60 { margin-top:60px; }
.mb0 {	margin-bottom:0px; }
.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; }
.mb50 { margin-bottom:50px; }
.mb70 { margin-bottom:70px; }
.ml10 {	margin-left:10px; }
.ml20 {	margin-left:20px; }
.mr10 {	margin-right:10px; }
.mr20 {	margin-right:20px; }
.mr40 {	margin-right:40px; }

/*Padding*/
.pt0 {	padding-top:0px; }
.pt10 {	padding-top:10px; }
.pt30 {	padding-top:30px; }
.pb0 {	padding-bottom:0px; }
.pb10 {	padding-bottom:10px; }
.pb20 {	padding-bottom:20px; }
.pl10 {	padding-left:10px; }
.pl20 {	padding-left:20px; }
.pl30 {	padding-left:30px; }
.pr10 {	padding-right:10px; }
.pr20 {	padding-right:20px; }
.pr30 {	padding-right:30px; }
/************************************************
dl.li_news dt img
	Clear

************************************************/
.clear {
	clear: both;
}
#gnav ul,
#contents_inner,
#header_inner, #main, #mv ul,
#footer_inne, .clearfix{
	zoom:1;
}

#gnav ul:after,
#breadcrumb ul:after, #main:after,
#contents_inner:after,#mv ul:after,
#header_inner:after,
#footer_inner:after, .clearfix:after{
	content:''; display:block; clear:both; overflow:hidden;
}

#slide_menu {
	position: absolute;
	top: 0;
	right: -240px;
	width: 240px;
	height: 100%;
	background: #B6344B;
	z-index: 1;
}
#slide_menu a{
	color: #FFF;
}
#slide_menu, #button, .sp_block, #sp_nav_menu {
	display: none;
}

.pc{
	display:block;
}

/*SP(1050pxまで)
------------------------------------------------------------*/
@media screen and (max-width: 1050px) {
	#gnav li {
		float: left;
		list-style: none;
		margin: 51px 35px 0 0;
	}
}

/*SP(930pxまで)
------------------------------------------------------------*/
@media screen and (max-width: 930px) {
	#mv_wrap {
		margin: 55px 0 20px;
	}
	#nav_menu, ul.li_bnr4 li span {
		display: none;
	}
	ul.li_bnr4 li img.sp_bnr_top {
		position: relative;
		top: 1px;
		z-index: -1;
	}
	#sp_nav_menu {
		display: block;
	}
	#sp_nav_menu ul {
		display: table;
		width: 100%;
		border-right: 1px solid #D7D1C6;
		border-radius: 0 5px 0 0;
	}
	#sp_nav_menu li {
		display: table-cell;
		text-align: center;
		border: 1px solid #D7D1C6;
		border-right: none;
		vertical-align: middle;
		box-sizing: border-box;
		width: 20%;
		font-size: 90%;
		background: #F2EFEB;
	}
		#sp_nav_menu li.active {
			background: #FFF;
			border-bottom: none;
		}
		#sp_nav_menu li:first-child {
			border-radius: 5px 0 0 0;
		}
		#sp_nav_menu li:last-child {
			border-radius: 0 5px 0 0;
		}
		#sp_nav_menu li a {
			padding: 10px 3px;
			display: block;
		}
	.bx_menu {
		border-top: none;
		padding: 20px 0 0;
	}

	#header_txt, #gnav, #h_right {
		display: none;
	}
	#header {
		height: 55px;
		background: none;
	}
	#slide_menu {
		display: block;
		position: absolute;
		z-index: 2;
		top: 55px;
	}
		#slide_menu li a {
			display: block;
			padding: 10px;
			border-bottom: 1px solid #A0283E;
			border-top: 1px solid #CA3D56;
			margin: 0 5px;
		}
	#button {
		display: block;
		position: absolute;
		right: 10px;
		top: 5px;
		cursor: pointer;
		background: url(../images/btn_menu.png) 0 0 no-repeat;
		background-size: 45px auto;
		height: 0;
		width: 45px;
		padding-top: 45px;
		overflow: hidden;
	}
	.open #button {
		background: url(../images/btn_close.png) 0 0 no-repeat;
		background-size: 45px auto;
	}
	#logo {
		background: url(../images/bg_header.png) left bottom repeat-x;
		height: 60px;
	}
	#logo img {
		float: none;
		margin: 10px auto;
		width: 150px;
		text-align: center;
		padding-left: 5px;
	}
	.li02 li {
		background: url(../images/ico_list01.gif) left 10px no-repeat;
		-webkit-background-size: 12px 12px;
		-moz-background-size: 12px 12px;
		background-size: 12px 12px;
	}
	.dl03 dt {
		background: url(../images/ico_list01.gif) left 10px no-repeat;
		-webkit-background-size: 12px 12px;
		-moz-background-size: 12px 12px;
		background-size: 12px 12px;
	}

	/*#main_visual {
		margin: 55px 0 20px -50%;
	}*/
	/*ul.li_bnr3 li span {
		display: none;
	}*/
	#contents {
		margin-top: -30px;
	}
	#totop {
		width: 40px;
		bottom: 10px;
		right: 10px;
	}
	#copy {
		letter-spacing: 0;
	}

	#ttl {
		padding: 0 10px 10px 10px;
		font-size: 160%;
		letter-spacing: 0;
	}
	.img_course, .img_course02 {
		margin-top: 0;
	}
	#footer_inner li {
		padding-right: 0;
		vertical-align: top;
		background: #FFF;
		border-right: 1px solid #F0EEE8;
		box-sizing: border-box;
	}
}
/*SP(640pxまで)
------------------------------------------------------------*/
@media screen and (max-width: 640px) {
	.txt01 {
		line-height: 1.6em;
	}
	#contents_inner {
		padding: 0 10px 10px;
	}
	#nav_menu_tab {
		margin: 10px 0 20px;
		font-size: 70%;
	}
	.ttl03 {
		clear: both;
	}
	.tac_sp, .bnr_motsu, .bnr_otoriyose {
		text-align: center;
		float: none;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}
		.tac_sp .fl_r, .sp .fl_r, .sp .fl_l {
			float: none;
			margin-left: auto;
			margin-right: auto;
			width: 100%;
		}
	a.btn02, a.btn02_tel {
		font-size: 120%;
	}

	a.btn02_tel {
		font-family: Arial;
		font-size: 200%;
		padding: 20px 10px;
	}
	a.btn02 .arrow, a.btn02_tel .tel {
		top: -8px;
	}

	.w20per {width: 30%;}
	.sp_w100per {width: 100%;}
	.sp_mb20 {margin-bottom: 20px;}
	.sp_none {display: none;}
	.sp_block {display: block;}

	.tbl02 th, .tbl03 th {
		font-size: 70%;
	}
	.ttl_motsu02, .ttl_mentai02, .txt_business01 {
		margin-bottom: 20px;
	}
	.img_course {
		width: 40%;
	}
	.img_course02 {
		width: 50%;
	}
	.ttl_menu img {
		padding: 0 10px;
	}
	#breadcrumb ul {
		margin: 10px 0 20px;
	}
	dl.li_news dt {
		float: none;
		padding: 0;
		margin-top: 10px;
	}
	/*store*/
	nav ul.li_store {
		display: table;
		width: 100%;
		border-right: 1px solid #333;
	}
	.li_store li a {
		border: 1px solid #333;
		border-right: 0;
		display: block;
		padding: 10px 0;
		text-align: center;
		width: 20%;
		display: table-cell;
		vertical-align: middle;
        font-size: 85%;
	}
	.tbl01 td a.btn01 {
		display: none;
	}
	/*top*/
	ul.li_column2 {
		margin-bottom: 20px;
	}
	ul.li_column2 li {
		float: none;
		width: 100%;
		margin-bottom: 10px;
		text-align: center;
	}
	ul.li_column2 li.last, ul.li_column2 li.last img, ul.li_column2 li:last-child img {
		float: none;
		margin-bottom: 0;
	}
	ul.li_bnr4 li,
	#footer_inner li {
		float: left;
		margin: 0;
		width: 48%;
		max-width: initial;
	}
	ul.li_bnr4 li:first-child, ul.li_bnr4 li:nth-child(2), #footer_inner li:first-child, #footer_inner li:nth-child(2) {
		margin-bottom: 10px;
	}
	ul.li_bnr4 li:nth-child(2n),
	#footer_inner li:nth-child(2n) {
		float: right;
		padding-right: 0;
	}
		ul.li_bnr4 li img,
		#footer_inner li img {
			width: 100%;
		}
	ul.li_bnr4 li:last-child,
	#footer_inner li:last-child {
		width: 48%;
		max-width: initial;
	}
	#footer_inner li span {
		display: none;
	}

	#main {
		float: none;
		width: 100%;
		margin: 10px 0;
		max-width: 100%;
	}
	#sub {
		float: none;
		margin: 0 auto 20px;
		width: 100%;
		max-width: 100%;
		/*background: #F2F0E9;*/
		padding: 20px 0;
		text-align: center;
	}
	/*#sub li img {
		max-width: 200px;
	}*/
	
	#footer_link {
		border-top: none;
		max-width: 100%;
		border-top: 1px solid #E0DCD4;
		padding: 0;
		text-align: left;
	}
		#footer_link li {
			display: block;
			border-bottom: 1px solid #E0DCD4;
			padding: 0;
		}
		#footer_link li a {
			display: block;
			background: url(../images/ico_arrow01.png) no-repeat 10px center;
			background-size: 5px 7px;
			padding: 10px 10px 10px 20px;
		}
		#footer_link li a:hover {
			text-decoration: none;
		}
		
	.catch,
	.ttl01,
	.bx_philosophy {
		text-align: left;
	}
	
	.sp{
		display:block;
	}
	.pc{
		display:none;
	}
}