/*----------------------------------------------
	common
---------------------------------------------*/
@media screen and (max-width: 640px){
	.mab10 { margin-bottom: 10px!important ; }
	.mab20 { margin-bottom: 20px!important ; }
	.mab30 { margin-bottom: 30px!important ; }
	.mab40 { margin-bottom: 30px!important ; }
	.mab50 { margin-bottom: 30px!important ; }
}

/*list*/
@media screen and (max-width: 640px){
	.list_center li {
		margin: 0 0 10px;
	}
	.list_center li:last-child {
		margin-bottom: 0;
	}
}

/*table*/
@media screen and (max-width: 640px){
	.table_responsive th,
	.table_responsive td {
		display: block;
		float: left;
		width: 95.5%;
		padding: 2%;
		text-align: left;
	}
	.table_type01.table_responsive th,
	.table_type01.table_responsive td {
		border-bottom: none;
	}
	.table_type01.table_responsive tr:last-child td:last-child,
	.table_type01.table_responsive tr:last-child th:last-child {
		border-bottom: 1px solid #3366cc;
	}
	.table_type02.table_responsive th {
		border-bottom: none;
		padding-bottom: 0;
	}
	.table_anchor.table_type01 th {
		padding: 0;
		width: 100%;
		display: block;
	}	
	.table_anchor.table_type01 th a {
		padding: 12px;
	}
}

/*button*/
@media screen and (max-width: 640px){
	.btn_size01 a {
		padding: 10px;
	}
	.btn_wrap .btn_normal {
		display: block;
		padding-top: 15px;
		padding-bottom: 15px;
		width: 100%;
	}
	.btn_wrap a.btn_normal {
		padding-left: inherit;
		padding-right: inherit;
	}
	.btn_wrap li {
		display: block;
		margin: 20px 0 0;
		width: 100%;
	}
}
/*float*/
@media screen and (max-width: 640px){
	.img_left,
	.img_right {
		float: none;
		width: auto;
		margin: 0 auto 10px;
		text-align: center;
	}
	.img_left img,
	.img_right img {
		width: auto !important;
	}
	.box_left,
	.box_right {
		float: none;
		width: auto;
	}
	.box_left {
		margin-bottom: 10px;
	}
}

/*----------------------------------------------
	top
---------------------------------------------*/
/*top_main - slide*/
@media screen and (max-width: 640px){
	#top #top_main {
		padding-top: 0;
	}
	#top #top_main .block_slide {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}
	header .sup_nav{
		display: none;
	}
}

/*top_main - guide*/
@media screen and (max-width: 640px){
	#top #top_main .block_guide {
		width: 100%;
		float: none;
	}
}

/*main - banner*/
@media screen and (max-width: 640px){
	#top #main .top_banner {
		margin-bottom: 20px;
	}
	#top #main .top_banner > a {
		text-decoration: none;
	}
	#top #main .top_banner > a > div {
		width: 100%;
		max-width: 640px;
		margin: 0 auto;
	}
	#top #main .banner_photo {
		margin: 0 auto;
		float: none;
		width: 140px;
	}
	#top #main .banner_cont {
		width: auto;
		padding-top: 0;
	}
	#top #main .banner_title {
		margin-bottom: 5px;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	#top #main .banner_left,
	#top #main .banner_right {
		float: none;
	}
	#top #main .banner_left {
		margin-bottom: 10px !important;
	}
}

/*news*/
@media screen and (max-width: 640px){
	#top #main .block_news {
		width: 100%;
		float: none;
		margin-bottom: 20px;
		min-height: auto;
	}
	#main .block_news dl dt {
		float: none;
		width: auto;
		padding-bottom: 5px;
	}
	#main .block_news dl dd {
		width: auto;
		padding: 0 0 15px 20px;
	}
}

/*info_right*/
@media screen and (max-width: 640px){
	#top #main .block_info_right {
		width: 100%;
		float: none;
	}
}

/*access*/
@media screen and (max-width: 640px){
	#top #main .block_access .map_access {
		width: 100%;
	}
}

/*----------------------------------------------
	inner
---------------------------------------------*/
@media screen and (max-width: 640px){
	.inner #main .block_cont,
	.inner #main .block_side {
		width: 100%;
		float: none;
	}
	
	/*block_cont*/
	.inner #main .block_cont .block_cont_inner {
		padding: 20px;
	}
	
	/*block_side*/
	.inner #main .block_side {
		border: none;
		position: relative;
	}
	.inner #main .block_side .block_title {
		display: none;
	}
	.inner #main .block_side #snav ul {
		border: 2px solid #3366cc;
		border-radius: 8px;
		margin-bottom: 20px;
		position: relative;
	}
	.inner #main .block_side #snav ul:before {
		position: absolute;
		content: '';
		right: 3px;
		bottom: -20px;
		box-sizing: border-box;
		width: 10px;
		height: 10px;
		border: 10px solid transparent;
		border-top: 10px solid #3366cc;
		margin: auto;
	}
	.inner #main .block_side #snav li:first-child a {
		border-radius: 6px 6px 0 0;
	}
	.inner #main .block_side #snav li .snav_child {
		border: none;
		margin-bottom: 0;
	}
	.inner #main .block_side #snav li .snav_child a {
		border-radius: 0;
	}
	.inner #main .block_side #snav li .snav_child:before {
		width: 0;
		height: 0;
		border: none;
	}
	
	/*title*/
	.inner .page_title {
		position: relative;
		padding-right: 40px;
	}
	
	/*section*/
	.inenr .section {
		margin-bottom: 20px;
	}
}


/*----------------------------------------------
	contact -お問い合わせ-
---------------------------------------------*/
@media screen and (max-width: 640px){
	#contact .table_type01 th,
	#careform .table_type01 th {
		width: 95.5%;
	}
}

/*----------------------------------------------
	access -アクセス-
---------------------------------------------*/
@media screen and (max-width: 640px){
	#access .map_access {
		width: 100%;
		height: 200px;
	}
}


/*--------------------------------------------------
               murakami add
---------------------------------------------------*/

@media screen and (max-width: 640px){
.block_info_left{
    float: none;
}
    .sp-address{
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 406px){
 #top #main .block_news .block_title {
    padding: 15px 20px 25px 50px;
}   
}