@charset "UTF-8";
/* CSS Document */
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	/* toppage　==================================================  */
	.slider{
		width: 100%;
	}
	.top_copy{
		width: calc(100% - 200px);
		text-align: center;
		left: 50%;
		top:50%;
		transform: translateY( -50%) translateX(-50%);
		background:rgba(255,255,255,0.45);
	}
	.taisaku{
		width: 90%;
	}
	.news{
		flex-direction: column;
		align-items: center;
	}
	.news h3{
		border-right: none;
		text-align: center;
		padding: 0;
	}
	.staff_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	.info_wrap_in,.info_wrap_in02{
		position: static;
		height: inherit;
		display: flex;
		align-items: center;
	}
	.info_txt,.info_txt02{
		position: static;
		height: inherit;
		width: 50%;
	}
	.info_txt_in,.info_txt_in02{
		padding: 20px;
		width:100%;
	}
	.info_txt_in02 img{
		display: block;
		max-width: 400px;
		margin: auto;
		padding: 10px;
	}
	
	.map{
		position: static;
		width: 50%;
		align-self: stretch;
		background: #cfe6dc;
	}
	.map iframe{
		vertical-align: middle;
	}


	/* リンクボタン　==================================================  */
	.button_wrap{
		width: 100%;
		max-width: 300px;
	}
	/* メニュー ================================================== */	
	.menu_flex01{
		padding: 0 1em;
		justify-content: space-between;
	}
	.menu_flex01 dl{
		width: calc(50% - 20px);
		margin: 0 10px 16px;
	}
	.menu_flex02 dl{
		width: calc(100% - 20px);
		margin: 0 10px 16px;
	}
	.flow_flex{
		flex-direction: column;
		margin: auto;
		width: 450px;
	}
	.flow_flex figure{
		text-align: center;
	}
	
	/* ビフォーアフター ================================================== */	
	.before_after .ba_img{
		height: 230px;
	}
	.before_after .ba_img img.ba01{
		height: 230px;
	}
	.before_after .ba_img img.after01{
		height: 220px;
	}

	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
}

@media (max-width: 750px){
	.pctb{
		display: none!important;
	}
	.header_wrap{
		display: block;
		position: relative;
	}
	.slide_wrap{
		margin: 0;
		padding: 50px 0 30px;
		width: 100%;
	}
	.slider{
		width: 100%;
		margin: 340px 0 0;
		height: 50vh;
	}
	.top_copy{
		margin: 0;
		width: calc(100%);
		top:70px;
		left: 0;
		transform: none;
	}
	.top_copy h2{
		font-size: 1.6em;
		margin-bottom: 20px;
	}
	.top_copy p{
		padding: 10px;
	}
	.taisaku{
		width: 100%;
	}
	/* トピックス　==================================================  */
	.news_wrap{
		flex-direction: column-reverse;
	}
	.news_img img{
		vertical-align: middle;
	}
	.info_wrap_in,.info_wrap_in02{
		flex-direction: column;
	}
	.info_txt,.info_txt02,.map{
		width: 100%;
	}
	.contents_in{
		padding: 10px;
	}
	.contact_wrap{
		flex-direction: column;
	}
	

	/* リンク　==================================================  */
	.contents_link{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.link_button{
		margin-bottom: 30px;
	}
	/* サブページタイトル ================================================== */
	.subtitle_wrap{
		padding: 70px 30px;
	}
	.sub_copy{
		width: 100%;
		margin: auto;
		text-align: center;
	}
	.sub_copy h2{
		text-align: center;
		font-size: 1.2em;
	}
	.breadcrumb{
		font-size: 0.8em;
	}
	/* メニュー ================================================== */
	.menu_flex01.menu_flex02{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin: auto;
	}
	.menu_flex01 dl,.menu_flex02 dl{
		width: 90%;
		max-width: 600px;
	}
	
	.flow_flex{
		width: 100%;
		max-width: 400px;
	}
	
	/* お客様の声================================================== */
	.voice_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.voice_in{
		margin: auto;
	}
	/* ビフォーアフター==================================================  */
	.before_after{
		flex-direction: column;
	}
	.before_after .ba_img {
		max-width: 350px;
		width: 100%;
	}
	.cases{
		align-items: center;
		justify-content: center;
	}
	.cases_img{
		width: calc(100% - 20px);
		max-width: 350px;
		margin-bottom: 20px;
	}
	
	/* メールフォーム ================================================== */
	#mailform{
		padding: 10px;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100%!important;
	}
	
	.reserve ul{
		padding: 1em;
	}

}
@media (max-width: 450px){
	.slider{
		width: 100%;
		margin: 300px 0 0;
		height: 50vh;
	}
	
	.top_copy img {
		width: 60%;
		margin-bottom: 15px;
	}
	.top_copy p{
		display: inline-block;
	}
	.taisaku ul{
		padding-left: 1em;
	}
	.cases{
		flex-direction: column;
	}
	.info_txt_in02 table th,.info_txt_in02 table td{
		display: block;
		width: 100%;
	}
	.info_txt_in02 table th{
		border-bottom: none;
	}
	.menu_flex01 dl,.menu_flex02 dl{
		width: 95%;
	}
	.menu_flex02 dd{
		margin-left: 0;
	}
	.photo_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.photo_flex div{
		max-width: 350px;
	}
	

}