@charset "UTF-8";
/* CSS Document */
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	.w960{
		padding: 10px;
	}
	.top_copy img{
		width: 200px;
	}
	.txt_box h3{
		bottom: 40px;
	}
	.bgimg02{
		background-position: right bottom;
	}
	.greeting_wrap .greeting_txt,.rec_wrap .rec_txt{
		width: 80%;
		max-width: 600px;
	}
	.greeting_wrap .greeting_txt p{
		min-height: 200px;
		text-shadow: 2px 2px 5px #fff;
	}
	.icon_flex div img{
		width: 165px;
		height: 165px;
	}
	
	footer{
		padding: 50px 10px 0;
	}
	.footer_in{
		padding-left: 10px;
		padding-right: 10px;
	}
	.subtitle{
		height: 300px;
	}
	.mailform{
		padding: 30px 10px;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	.merit{
		padding: 30px 15px;
	}
	.job{
		padding: 15px;
	}
	.rec_greeting{
		background-position: left;
	}
	.job table{
		width: 100%;
	}
	.job table th,.job table td{
		display: block;
		width: 100%;
	}
	.button_flow{
		display: block;
		width: 100%;
		max-width: 400px;
		margin-bottom: 0.5em;
	}
	.services_01,.services_02,.services_03,.services_04{
		background-repeat: no-repeat;
		background-position: bottom center ,top center;
		background-size: 100px, cover;
		padding: 10px 10px 120px;
		height: inherit;
	}
	.services_flex{
		flex-direction: column;
	}
	.services_flex div{
		width: 95%;
		max-width: 700px;
		margin: auto;
	}

}
@media (max-width: 750px){
	.tbpc{
		display: none !important;
	}
	.flexbox{
		display: block;
	}
	header h1{
		font-size: 2em;
	}
	header h1 img{
		width: 120px;
		padding-top: 5px;
	}
	.slider{
		height: 600px;
	}
	.top_copy h2{
		font-size: 1.5em;
	}
	.sp-slide img{
		width: 80%;
	}
	.txt_box h2{
		font-size: 1.5em;
	}
	.txt_box h3{
		font-size: 1em;
	}
	.contents_in{
		width: calc(100% - 20px);
		margin: auto;	
		padding: 20px 10px;
	}
	.bg_grad{
		background:linear-gradient(#fff 0% 25%, #333 25% 50%, #fff 50% 75%, #333 75% 100%);
	}
	.icon_flex{
		flex-wrap: wrap;
	}
	.icon_flex div{
		width: calc(100% / 2);
	}
	.icon_flex div img{
		margin: 40px auto 10px;
	}
	.icon_flex h4{
		font-size: 1.2em;
		margin-bottom: 10px;
	}

	/* 新着情報 ================================================== */
	.news{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.news h3{
		padding: 0.5em 0;
	}
	.greeting_wrap .greeting_txt,.rec_wrap .rec_txt{
		width: 100%;
		max-width: 600px;
		padding: 20px 10px;
	}
		/* フッター ================================================== */
	.footer_in{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.footer_in div{
		width: 100%;
		max-width: 300px;
		margin: auto;
	}
	.footer_in h2 img{
		display: block;
		padding: 0;
		width: 100%;
		margin: 0 auto 30px;
	}
	.footer_in p{
		padding: 1em;
		font-size: 0.9em;
		display: block;
		width: 100%;
	}
	.footer_in p.phone_buttom{
		font-size:2em;
		padding: 20px 0;
	}

	.sub_copy{
		top:45%;
	}
	.sub_copy h2{
		font-size: 1.5rem;
	}
	
	.picup{
		width: 100%;
		align-content: stretch;
		padding: 20px;
	}
	.button_wrap_tel{
		width: 95%;
		max-width: 500px;
	}
	.bg_in_w{
		padding: 10px;
	}
	#mailform{
		padding: 20px 10px;
	}
	
	
	.flow_wrap02,.flow_wrap03{
		width: calc(100% - 30px);
		margin: 0 auto 50px;
		padding: 0.5em;
	}
	.flow_wrap02 dl,.flow_wrap03 dl{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_wrap02 dt,.flow_wrap03 dt{
		width: 100%;
	}
	.flow_wrap02 dd,.flow_wrap03 dd{
		padding: 0.5em;
	}
	.button_flow{
		margin: 0.5em auto;
	}
	.gaiyou_flex{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.gaiyou th{
		width: inherit;
	}
	.bg_drone{
		background-size: 90%;
	}
	

}
@media (max-width: 450px){
	.slider{
		height: 450px;
	}
	.bgimg01{
		background-position: left 30% center;
	}
	.bgimg02{
		background-position: right 25% center;
	}
	
	.gaiyou{
		width: 100%;
		font-size: 0.9em;
	}
	.gaiyou th{
		padding: 8px 10px;
	}
	#mailform table td{
		padding: 0.5em;
	}
	#mailform .radio{
		padding: 0;
	}
	
}
